This allows "./pre-inst-env guix build hello --target=x86_64-w64-mingw32"
to succeed. The binary can be run successfully under wine.
* gnu/packages/patches/binutils-mingw-w64-timestamp.patch:
Update to the current version in Debian.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
Commit 87961fc965 inadvertently modified the
patch set for glibc-2.31. This change restores the original patch set.
Fixes: <https://bugs.gnu.org/49516>.
* gnu/packages/base.scm (glibc-2.31) [source]: Use the same patches as glibc,
but replace glibc-hurd-clock_gettime_monotonic.patch with
glibc-2.31-hurd-clock_gettime_monotonic.patch, and add
glibc-hurd-signal-sa-siginfo.patch.
* gnu/packages/patches/glibc-2.31-hurd-clock_gettime_monotonic.patch: Add it.
* gnu/packages/patches/glibc-hurd-signal-sa-siginfo.patch: Add it.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.
* gnu/packages/tex.scm (biber): Update to 2.16.
[source]: Remove 'patches'.
[inputs]: Add 'perl-io-string', 'perl-parse-recdescent', and
'perl-unicode-collate' (upstream appears to have fixed the issue
initially mentioned as a comment: recent issue was closed after
telling user to use perl-unicode-collate 1.29, which is the one
available; see <https://github.com/plk/biber/issues/378>.)
* gnu/packages/patches/biber-fix-encoding-write.patch,
gnu/packages/patches/biber-sortinithash.patch: Remove.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
texlive-latex-pdftexcmds moved to a different directory in TeX Live 2021.
* gnu/packages/tex.scm (texlive-latex-pdftexcmds): Update hash and paths.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Use version 20210325 for the tarballs, which is the latest one available on
the historical releases repository. And use subversion tag 2021.3 which is
the latest one available as well.
TeX Live dropped support for using the system’s poppler library after the
2020 version. Quoting from `m4/kpse-xpdf-flags.m4`:
# Support for our semi-homegrown libs/xpdf library. This is derived
# from xpdf source code, but xpdf does not distribute it as a library.
# It is used by pdftex (and nothing else) to read PDF images.
# Other engines use the semi-homegrown pplib library (q.v.) for that.
# The well-known poppler library is also originally derived from xpdf
# source code, but has been greatly revised and extended. TL used to
# (sort of) support poppler as the system xpdf, but after the TL 2020
# release we dropped this, because we switched XeTeX to use pplib, and
# nothing else used poppler. (No engines ever used poppler to generate
# their PDF output).
#
# poppler is aggressively developed, with requirements for new compilers
# and language versions. That's fine for them, but since we don't need
# anything new, it has become too time-consuming and problematic to
# continue to support it in the TL sources, when we don't have any
# requirement for it.
Therefore the main change in this commit is making the texlive-bin package
use the embedded pplib and xpdf libraries.
Another noteworthy change is to texlive-latex-l3packages, which now needs
to ship a few pre-generated files that cannot be reproduced during the
build process (the comments in the package definition have more details).
* guix/build-system/texlive.scm (%texlive-tag): Set to “texlive-2021.3”.
(%texlive-revision): Set to 59745.
* gnu/packages/tex.scm (hyph-utf8-scripts, texlive-docstrip,
texlive-unicode-data texlive-hyphen-base, texlive-metafont, texlive-cm,
texlive-courier, texlive-lm, texlive-knuth-lib, texlive-tex-plain,
texlive-hyphen-finnish, texlive-hyphen-german, texlive-hyph-utf8,
texlive-dehyph-exptl, texlive-kpathsea, texlive-latex-fancyvrb,
texlive-graphics-def, texlive-latex-graphics, texlive-hyperref,
texlive-oberdiek, texlive-latex-tools, texlive-latex-l3kernel,
texlive-l3build, texlive-luaotfload, texlive-latex-amsmath, texlive-amscls,
texlive-babel, texlive-generic-babel-german, texlive-babel-swedish,
texlive-psnfss, texlive-latex-draftwatermark, texlive-latex-etoc,
texlive-etoolbox, texlive-latex-polyglossia, texlive-tex-texinfo,
texlive-latex-bookmark, texlive-latex-cmap, texlive-latex-fancyhdr,
texlive-latex-kvoptions, texlive-latex-eso-pic, texlive-latex-multirow,
texlive-latex-parskip, texlive-latex-pdfpages, texlive-metapost,
texlive-latex-acmart, texlive-latex-preview, texlive-latex-acronym,
texlive-pdftex, texlive-latex-media9, texlive-latex-ocgx2,
texlive-latex-ms, texlive-latex-pgf, texlive-latex-pgf-generic,
texlive-latex-koma-script, texlive-generic-ltxcmds, texlive-bibtex,
texlive-context-base, texlive-context, texlive-beamer, texlive-pstricks,
texlive-tools, texlive-latex-xkeyval, texlive-csquotes, texlive-biblatex,
texlive-todonotes, texlive-microtype, texlive-caption, texlive-fontaxes,
texlive-cabin, texlive-newtx, texlive-xcharter, texlive-adjustbox,
texlive-tcolorbox): Update hash.
(texlive-extra-src, texlive-texmf-src): Update version to
“20210325”. Update hash.
(texlive-bin)[source]: Update version to “20210325”. Update hash. Preserve
‘libs/pplib’ and ‘libs/xpdf’.
[inputs]: Update hash for ‘texlive-scripts’. Remove ‘poppler’.
[arguments]: Remove “--with-system-poppler” and “--with-system-xpdf” from
‘#:configure-flags’. Remove build phase ‘use-code-for-new-poppler’.
(texlive-hyphen-schoolfinnish): Add public variable.
(texlive-hyphen-macedonian): Add 8bit patterns. Update hash.
(texlive-latex-base)[template]: Update hash.
[arguments]: Set ‘LUAINPUTS’ environment variable in build phase.
[native-inputs]: Update hash for ‘texlive-luatexconfig’.
[propagated-inputs]: Add ‘texlive-hyphen-schoolfinnish’,
‘texlive-latex-l3kernel’ and ‘texlive-latex-l3packages’.
(texlive-latex-l3packages)[source]: Use ‘texlive-origin’. Update hash. Add
generated files.
[arguments]: Adjust paths for ‘TEXINPUTS’ environment variable. Add build
phase ‘copy-generated-files’.
(texlive-texmf, texlive): Update version to “20210325”.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
The package texlive-latex-base in TeX Live 2021 will depend on
texlive-latex-l3kernel and texlive-latex-l3packages. Therefore we need to
remove their build dependency on texlive-latex-base to avoid a circular
dependency.
l3kernel and l3packages don’t need LaTeX during build, just IniTeX.
So to make them use it, modify texlive-build-system to allow disabling
the #:texlive-latex-base and #:tex-format parameters, and also add
a #:tex-engine parameter.
We also need to add texlive-docstrip as a native input, which was
previously provided by texlive-latex-base.
* gnu/packages/tex.scm (texlive-latex-l3kernel,
texlive-latex-l3packages)[arguments]: Add ‘#:tex-engine’, ‘#:tex-format’
and ‘#:texlive-latex-base’ parameters.
[native-inputs]: Add ‘texlive-docstrip’.
* guix/build-system/texlive.scm (lower)[build-inputs]: Don’t add
‘texlive-latex-base’ if its keyword parameter is false.
(texlive-build): Add ‘tex-engine’ keyword parameter.
[builder]: If a ‘tex-engine’ parameter was passed, use it. Otherwise, use
‘tex-format’ as the engine.
* guix/build/texlive-build-system.scm (compile-with-latex): Add ‘engine’
parameter. If the ‘format’ parameter is false, add “-ini” option to the
command line.
(build): Add ‘tex-engine’ parameter. Pass it down to ‘compile-with-latex’.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Fixes <https://issues.guix.gnu.org/48552>.
* gnu/packages/build-tools.scm (meson): Update to 0.59.0, which includes a
reproduceability fix for builds that link against multiple LLVM libraries.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* gnu/packages/patches/ghostscript-no-header-creationdate.patch: Disable
writing "xmp:ModifyDate" and "xmp:CreateDate" if GS_GENERATE_UUIDS is set to
"0" or "no".
This is a followup to c823b95825, fixing
tests for sed and diffutils on armhf-linux.
* gnu/packages/base.scm (sed)[source]: Add
"coreutils-gnulib-tests.patch".
(diffutils)[source]: Likewise.
* gnu/packages/commencement.scm (diffutils-boot0)[source]: New field.
Thanks to Guillem Jover <guillem@debian.org> on the OFTC's #debian-dpkg
channel for helping with troubleshooting.
Letting GNU Tar recursively walk the complete files hierarchy side-steps the
risks associated with providing a list of file names:
1. Duplicated files in the archive (recorded as hard links by GNU Tar)
2. Missing parent directories.
The above would cause dpkg to malfunction, for example by aborting early and
skipping triggers when there were missing parent directories.
* guix/scripts/pack.scm (self-contained-tarball/builder): Do not call
POPULATE-SINGLE-PROFILE-DIRECTORY, which creates extraneous files such as
/root. Instead, call POPULATE-STORE and INSTALL-DATABASE-AND-GC-ROOTS
individually to more precisely generate the file system. Replace the list of
files by the current directory, "." and streamline the way options are passed.
* gnu/system/file-systems.scm (reduce-directories): Remove procedure.
* tests/file-systems.scm ("reduce-directories"): Remove test.
Upstream fixed those tests, no need to tweak them anymore.
* gnu/packages/backup.scm (rsnapshot)[arguments]: Remove modifications
to tests done in 'check' phase.
* gnu/packages/bittorrent.scm (transmission-remote-gtk): New variable.
* gnu/packages/patches/transmission-remote-gtk-fix-appstream.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
Co-authored-by: Leo Famulari <leo@famulari.name>
* gnu/package/crypto.scm: (libolm)[source][snippet]: Delete
"gradle-wrapper.jar". It is a bundled compiled (!) version of gradle.
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
* gnu/packages/game-development.scm (python-pygame-sdl2): New variable.
Reuse package definition from previous python2-pygame-sdl2, with the
following additions:
[source]: Also drop “gen3” in snippet.
[arguments]: Drop #:python.
[native-inputs]: Use ‘python-cython’ instead of ‘python2-cython’.
(python2-pygame-sdl2): Define in terms of python-pygame-sdl2.
* gnu/packages/game-development.scm (renpy)[#:modules]: Add SRFI-1.
[#:imported-modules]: Likewise.
[#:phases]<fix-commands>: Search for ‘python2’ and ‘xdg-open’ in inputs.
<start-xserver>: Search for ‘xorg-server’ in native-inputs.
<install>: Search for ‘python2’ in inputs.
<wrap>: Search for python dependencies in inputs.
[inputs]: Add python2, drop python2-pygame (already propagated by
python2-renpy). Move xorg-server from here…
[native-inputs]: … to here.
[propagated-inputs]: Empty.
* gnu/packages/game-development.scm (python2-renpy)[#:phases]<fix-commands>:
Search for ‘xdg-open’ in inputs.
<set-build-vars>: Search for ‘cython’ in native-inputs.
[native-inputs]: Move ‘xdg-utils’ from here…
[inputs]: … to here.
These sources are written in Ren'py (the language) and thus not particularly
useful before renpy itself is built. In particular, they serve no purpose
when installed without prior compilation.
* gnu/packages/game-development.scm (python2-renpy)[#:phases]<install>:
Drop installed "common" folder.
(renpy)[#:phases]<install>: Adjust comment accordingly.
For more information about these configuration options, read
<https://www.kernel.org/doc/Documentation/cpu-freq/governors.txt> or the
document 'Documentation/admin-guide/pm/cpufreq.rst' in the linux-libre
source distribution.
* gnu/packages/aux-files/linux-libre/4.14-arm.conf,
gnu/packages/aux-files/linux-libre/4.14-i686.conf,
gnu/packages/aux-files/linux-libre/4.14-x86_64.conf,
gnu/packages/aux-files/linux-libre/4.19-arm.conf,
gnu/packages/aux-files/linux-libre/4.19-arm64.conf,
gnu/packages/aux-files/linux-libre/4.19-i686.conf,
gnu/packages/aux-files/linux-libre/4.19-x86_64.conf,
gnu/packages/aux-files/linux-libre/4.9-i686.conf,
gnu/packages/aux-files/linux-libre/4.9-x86_64.conf,
gnu/packages/aux-files/linux-libre/5.10-i686.conf,
gnu/packages/aux-files/linux-libre/5.10-x86_64.conf,
gnu/packages/aux-files/linux-libre/5.12-i686.conf,
gnu/packages/aux-files/linux-libre/5.12-x86_64.conf,
gnu/packages/aux-files/linux-libre/5.13-i686.conf,
gnu/packages/aux-files/linux-libre/5.13-x86_64.conf,
gnu/packages/aux-files/linux-libre/5.4-arm.conf,
gnu/packages/aux-files/linux-libre/5.4-arm64.conf,
gnu/packages/aux-files/linux-libre/5.4-i686.conf,
gnu/packages/aux-files/linux-libre/5.4-x86_64.conf: Unset
'CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE' and set
'CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL=y'.
* gnu/packages/linux.scm (fuse)[inputs]: Add bash-minimal.
[arguments]: Refer to it rather than to the native build bash.
Do not return #t from phases.
The current configure script is too old to find the cross-compiler
and support variables passed as arguments. Also, config.guess and
config.sub are too old to recognise powerpc64 and aarch64. Solve
this by regenerating the 'configure' script and replacing
'config.guess' and 'config.sub'.
* gnu/packages/elf.scm
(libelf)[arguments]<#:phases>{configure}: Remove phase.
(libelf)[arguments]<#:phases>{delete-configure}: Regenerate
the configure script and replace 'config.guess' and 'config.sub'.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
Otherwise, "tzdata" won't be found when cross-compiling
and string-append will complain about types. Alternatively,
"tzdata" could be moved from 'native-inputs' to 'inputs'.
* gnu/packages/glib.scm (glib)[arguments]<#:phases>{pre-check}:
Look up "tzdata" in 'native-inputs', not 'inputs'.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
During the build, a native python should be used as these
scripts will be invoked during the build, but when installed,
they should be a python for the system we're compiling for.
* gnu/packages/glib.scm
(glib)[arguments]<#:phases>{patch-python-references}: Look up
"python" in 'native-inputs', not 'inputs'.
(glib)[inputs]{python,python-wrapper,bash-minimal}: New inputs.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
By computing this value outside the build code, new targets
can be added without causing rebuilds for other targets.
* gnu/packages/tls.scm
(target->openssl-target): New procedure.
(openssl)[arguments]<#:phases>{set-cross-compile}: Use it.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
There does not seem to be any reason to only move man3 pages.
So, move all man pages to a separate output for documentation.
* gnu/packages/tls.scm
(openssl)[arguments]<#:phases>{move-extra-documentation}: Move
all man pages, not only man3.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
* gnu/packages/tls.scm
(openssl)[arguments]<#:phases>{move-extra-documentation}: Use
'rename-file' instead of 'copy-recursively' and
'delete-file-recursively'.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
This doesn't fix anything broken, just for simplifying
the code a little while we're rebuilding the world anyway.
IMHO this makes the code a little more readable.
* gnu/packages/tls.scm (openssl)[arguments]<#:phases>: Don't refer
to the association list 'outputs', use #$output, #$output:doc
and #$output:static instead.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
This allows using this-package-native-input later.
* gnu/packages/tls.scm
(openssl)[arguments]<#:phases>: Make this a G-expression.
(openssl-1.0)[arguments]<#:phases>: Likewise.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
"sitecustomize.py" is a native input, so look it up
in 'native-inputs', not 'inputs'.
* gnu/packages/python.scm (customize-site): Look up "sizecustomize.py"
in 'native-inputs', not 'inputs'.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
TODO: inform upstream about the cross-compilation error.
* gnu/packages/gnupg.scm
(libgpg-error)[arguments]{fix-gen-lock-obj.sh}: Prevent generated
header files from being sprinkled with ‘\c’.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
* gnu/packages/gpg.scm
(libgpgerror)[arguments]<#:phases>{cross-symlinks}: Only
link to src/syscfg/lock-obj-pub.linux-gnu.h if the package
is being compiled for a Linux target. Do not link either
if the architecture is unknown, as the headers vary with
the architecture.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
The time zone database is architecture-independent,
so trying to cross-compile it is pointless!
* gnu/packages/base.scm
(tzdata)[arguments]<#:target>: Set to #f.
(tzdata)[allowed-references]: Only include the "out" output itself,
to make sure no (architecture-dependent) binaries are installed.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
net-base is pure data, so cross-compiling is pointless.
* gnu/packages/admin.scm
(net-base)[arguments]<#:target>: Set to #f.
(net-base)[arguments]<#:allowed-references>: Disallow all
references.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
It behaves similarily to the other target-...? procedures.
The usage of hurd-triplet? / target-hurd? in libgc appears
incorrect to me, as (%current-system) is normally never false.
* gnu/packages/hurd.scm (hurd-triplet?): Move to ...
* guix/util.scm (target-hurd?): ... here, let its argument
default to (%current-target-system) or (%current-system),
and write a docstring.
* gnu/packages/hurd.scm
(hurd-target?, hurd-system?): Use target-hurd? instead of
hurd-triplet?.
* gnu/packages/bdw-gc.scm (libgc): Likewise.
* gnu/packages/cross-base.scm
(cross-libc)[arguments]<#:configure-flags>: Likewise.
(cross-libc)[arguments]<#:phases>: Likewise.
(cross-libc)[arguments]<#:native-inputs>: Likewise.
* gnu/packages/make-boostrap.scm
(%glibc-stripped)[inputs]: Likewise.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
* gnu/packages/text-editors.scm (mg)[arguments]: Use cc-for-target.
Add phase to substitute pkg-config with the target's pkg-config.
Remote #t return from phases.