Followup to 2c51202a2a.
The issue has been resolved with glibc-2.40
(see glibc commit 0b716305dfb48c2d13ed4f7d06c082b90c1d226f).
* gnu/packages/make-bootstrap.scm (glibc-for-bootstrap)[arguments]: Remove
'apply-libm-patch on i686.
* gnu/packages/patches/glibc-2.39-fmod-libm-a.patch: Delete file.
* gnu/local.mk (dist_patch_DATA): Remove it.
Change-Id: If6c44497ff54390688345083ca6e8cebecc71ee9
Signed-off-by: Andreas Enge <andreas@enge.fr>
gnu/packages/make-bootstrap.scm (%glibc-stripped)[inputs]: When target
loongarch64, Use linux-libre-headers-5.19.17.
Change-Id: I4b2b9168aa3716445d1b88b4db3dcf4ad038a45d
This partially reverts commit ec8a5ec15f.
This part accidentally triggered a world rebuild for non-x86 architectures.
Change-Id: Id2f9bcbcda8dc86ea407e9a7857a854dc1a742b5
* gnu/packages/make-bootstrap.scm (%gcc-static): Use gcc-14. Update to use
G-Expressions.
[inputs]: Remove libstdc++ and libstdc++-headers.
(%gcc-stripped): Use gcc-14.
[inputs, native-inputs]: Clear fields.
Change-Id: I4e6d779cb457b256d80d1882f182b72a6f7d2be2
* gnu/packages/bootstrap.scm (glibc-dynamic-linker): Update comment on where
to find shared linker name.
(make-raw-bag): Also use raw-build-guile3 when building for the 64bit Hurd.
* gnu/packages/cross-base.scm (cross-kernel-headers*): Use target-hurd?
instead of custom "i586..." matching to also use xhurd-core-headers for
target-hurd64.
* gnu/packages/make-bootstrap.scm (package-with-relocatable-glibc)
[native-inputs]: Move final-inputs before cross-packages.
(%binutils-static)[arguments]: When building for the 64bit Hurd, add
"lt_cv_prog_compiler_static_works=yes", "lt_cv_prog_compiler_static_works_CXX=yes"
to #:make-flags to convince to actually link the binaries statically.
(make-guile-static)[arguments]: When building for the 64bit Hurd, add
"lt_cv_prog_compiler_static_works=yes" to #:configure-flags to convince
libtool to actually link guile statically.
* guix/platforms/x86.scm (x86_64-gnu): New exported variable.
* guix/utils.scm (target-hurd64? system-hurd64?): New procedures.
If anything is ‘useless in an initrd’ it better be XML support. As of
Guile 3.0.9, removing it saves 1418K bytes uncompressed, or 3% of the
total static Guile size.
* gnu/packages/make-bootstrap.scm (%guile-static-initrd): Remove sxml/.
Change-Id: I592dec18c422500eca50663256586ca92df1ac37
Previously, ‘guix build bootstrap-tarballs --target=aarch64-linux-gnu’
or similar would construct a cross-libc where ‘%current-target-system’
is set. This would lead to a failure in the
‘add-cross-binutils-to-PATH’ phase, which assumes that
‘%current-target-system’ is #f; indeed, ‘cross-libc’ already returns a
cross libc and so ‘%current-target-system’ must be set to #f.
* gnu/packages/make-bootstrap.scm (%glibc-stripped)[inputs]: Move libc to…
[native-inputs]: … here.
Change-Id: Ifbf5e519ba3198940f4de4a36075d5302e923172
The ‘%static-inputs’ list is used by ‘bootstrap-tarballs’ for systems
other than x86_64-linux and i686-linux.
* gnu/packages/make-bootstrap.scm (%static-inputs): Pass
‘--disable-perl-regexp’ and remove ‘--enable-perl-regexp’ for grep.
Change-Id: Id9cc8c026eee5031b00c1824624fe6da205d55eb
* gnu/packages/patches/glibc-2.39-bootstrap-system.patch: New patch.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/make-bootstrap.scm (glibc-for-bootstrap): Use it for glibc 2.39.
Change-Id: I96761a0bc011af13d861bfece32d96db160f7686
This is the result of applying ‘guix style -S arguments’ and making
small adjustments.
* gnu/packages/base.scm (binutils)[arguments]: Use gexps.
(binutils-2.33, binutils-gold): Likewise.
* gnu/packages/commencement.scm (binutils-mesboot0, binutils-mesboot1)
(binutils-boot0, binutils-final): Likewise.
* gnu/packages/cross-base.scm (cross-binutils*): Adjust accordingly.
* gnu/packages/embedded.scm (make-propeller-binutils): Use gexps.
* gnu/packages/make-bootstrap.scm (%binutils-static): Use gexps.
Change-Id: I59cbe29760784b09e6d4e80beca9153cb9b495a7
Until now users would have to cargo cult or inspect the private
%default-modules variable of (guix build-systems gnu) to discover which
modules to include when extending the used modules via the #:modules argument.
The renaming was automated via the command:
$ git grep -l %gnu-build-system-modules
| xargs sed 's/%gnu-build-system-modules/%default-gnu-imported-modules/' -i
* guix/build-system/gnu.scm (%gnu-build-system-modules): Rename to...
(%default-gnu-imported-modules): ... this.
(%default-modules): Rename to...
(%default-gnu-modules): ... this. Export.
(dist-package, gnu-build, gnu-cross-build): Adjust accordingly.
Change-Id: Idef307fff13cb76f3182d782b26e1cd3a5c757ee
Fixes a regression introduced in
4eda203420, which inadvertently commented
out those #:configure-flags.
* gnu/packages/make-bootstrap.scm (%static-inputs)[tar]: Reinstate
'gl_cv_func_working_mktime=yes' configure flag.
Fixes a regression introduced in
0e480ca7b6 whereby '%guile-static-3.0'
would fail to build with "undefined reference" errors at link time.
Fixes <https://issues.guix.gnu.org/61080>.
Reported by Hilton Chain <hako@ultrarare.space>.
* gnu/packages/make-bootstrap.scm (make-guile-static): Pass 'AR' and
'RANLIB' as #:configure-flags.
* gnu/packages/make-bootstrap.scm (%guile-static-stripped): Use
guile-3.0-latest, currently at 3.0.8. This resolves a segfault in the Guix
System Linux initrd when running Guile 3.0.7 on a Cortex A9 CPU (NXP i.MX6
Quad).
If this commit gives a deja vu, you are not dreaming; see commit
3e3a37b2bc.
* gnu/packages/base.scm (binutils): Update to 2.38.
[source](patches): Remove obsolete.
[arguments]: Add #:make-flags.
[properties]: New field.
(binutils+documentation): New variable.
(binutils-gold): Inherit from BINUTILS+DOCUMENTATION.
* gnu/packages/make-bootstrap.scm (%binutils-static)[arguments]: Inherit
#:make-flags.
* gnu/packages/patches/binutils-2.37-file-descriptor-leak.patch,
gnu/packages/patches/binutils-CVE-2021-45078.patch: Delete files.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.
* gnu/packages/make-bootstrap.scm (%binutils-static-stripped)[inputs]:
Remove.
[arguments]: Turn #:builder into a gexp.
(%mes-minimal-stripped)[inputs]: Remove.
[arguments]: Turn #:builder into a gexp.
(make-guile-static-stripped): Likewise.
The tests were disabled because gawk’s extension mechanism doesn’t work
when it’s built statically, and some tests fail because of that.
Another alternative is to disable the extension mechanism during
configuration time, which causes the testsuite to pass again.
* gnu/packages/make-bootstrap.scm (%static-inputs)[gawk]<#:tests?>: Remove.
<#:configure-flags>: Add.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Previously, linking would fail due to the '-fno-common' default in GCC 10:
ld: /gnu/store/…-glibc-2.33-static/lib/libc.a(getopt.o): in function `_getopt_internal_r':
(.text+0x6e0): multiple definition of `_getopt_internal_r'; support/libsupport.a(getopt.o):/tmp/guix-build-gawk-5.1.0.drv-0/gawk-5.1.0/support/getopt.c:404: first defined here
ld: /gnu/store/…-glibc-2.33-static/lib/libc.a(getopt.o): in function `_getopt_internal':
Reported by Thiago Jung Bauermann <bauermann@kolabnow.com>.
* gnu/packages/make-bootstrap.scm (%static-inputs) <gawk>: Remove
getopt.o from libsupport.a.
Support for static NSS broke in glibc 2.33, meaning that 'getpw' &
co. would always fail. This patch backports the upstream fix to
reinstate it.
Reported by Marius Bakke.
* gnu/packages/patches/glibc-static-nss.patch: New file.
* gnu/packages/make-bootstrap.scm (glibc-for-bootstrap): Use it.
* gnu/local.mk (dist_patch_DATA): Add it.
Fixes <https://issues.guix.gnu.org/49515>.
* gnu/packages/mes.scm (mescc-tools-0.5.2): Remove.
(mescc-tools): Update to 1.2.0. Use 'git-fetch'.
* gnu/packages/make-bootstrap.scm (%mescc-tools-static): Inherit from
MESCC-TOOLS rather than MESCC-TOOLS-0.5.2.
(%mes-minimal): Inherit from MES rather than MES-0.19.
[arguments]: Remove 'delete-file-recursively' for /mes/scaffold.
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/make-bootstrap.scm (gcc-for-bootstrap)[Inherit]: Inherit
from gcc-7.
[inputs]: Use package-inputs from gcc-7.
(package-with-relocatable-glibc)[native-inputs]: Have cross-gcc use
gcc-7.
(%gcc-static)[inherit]: Inherit from gcc-7.
[arguments]: Use package-arguments from gcc-7.
[inputs]: Replace isl-0.18 with isl. Use package-inputs from gcc-7.
[native-inputs]: Use package-native-inputs from gcc-7.
(%gcc-stripped)[inherit]: Inherit from gcc-7.