This is for the release branch.
Should we also use a graft for the master branch? It would be even
better if we could add a binutils-next package that users could install,
in my opinion.
* gnu/packages/patches/binutils-CVE-2021-45078.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/base.scm (binutils)[source]: Use it.
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
And reinstate tests on non-x86 architectures, as the past problems now appear
to be resolved.
* gnu/packages/base.scm (binutils-gold): Inherit from binutils-next.
[tests?]: Remove argument.
[inputs]: Remove gcc:lib, which is already included implicitly.
This allows creating wrappers for other linkers than "ld", such as "ld.gold".
* gnu/packages/base.scm (make-ld-wrapper): New variable.
[linker]: New argument. Update doc.
<ld>: Use LINKER to derive the linker source.
‘coreutils-gnulib-tests.patch’ is applied in the gnulib version shipped
with 3.8.
* gnu/packages/base.scm (diffutils): Update to 3.8.
[source]: Do not apply coreutils-gnulib-tests.patch.
Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
diffutils has a race condition in its signal processing code which is easy to
trigger on powerpc64le-linux. More often than not, it causes the ‘colors’
test to fail and therefore the build of the package fails as well.
Add the patch proposed in Debian bug 922552 which fixes the problem.
* gnu/packages/patches/diffutils-fix-signal-processing.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/base.scm (diffutils)[source]: Use it.
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Fixes <https://issues.guix.gnu.org/50830>.
Reported by podiki on #guix.
Previously, glibc 2.33 would look for
/gnu/store/...-glibc-2.33/etc/localtime instead of /etc/localtime.
* gnu/packages/base.scm (glibc)[arguments]: Remove #:make-flags.
[phases]: In 'pre-configure', modify 'inet/Makefile' instead of
'sunrpc/Makefile' since this is where these bits are in 2.33.
(glibc-2.31)[arguments]: Add 'set-etc-rpc-installation-directory'
phase.
(glibc-2.30): Inherit from GLIBC-2.31.
* gnu/tests/base.scm (run-basic-test)["libc honors /etc/localtime"]: New
test.
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
This change had no effect already in glibc 2.29, which has proper
versioning.
* gnu/packages/base.scm (glibc)[arguments]: Remove obsolete
'nscd/nscd_stat.c' 'substitute*' statement.
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
* gnu/packages/patches/binutils-2.37-file-descriptor-leak.patch: New file.
* gnu/packages/local.mk (dist_patch_DATA): Add it.
* gnu/packages/base.scm (binutils)[source]: Use it.
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.
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.
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>
Fixes <https://bugs.gnu.org/49459>.
* gnu/packages/patches/coreutils-gnulib-tests.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/base.scm (coreutils)[source]: Use it.
Fixes <https://bugs.gnu.org/49417>.
Reported by Maxime Devos <maximedevos@telenet.be>.
* gnu/packages/patches/glibc-cross-objcopy.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/base.scm (glibc)[source]: Use it.
Fixes <https://bugs.gnu.org/49113>.
Reported by Maxime Devos <maximedevos@telenet.be>.
Previously, the cross-compiled libc.so linker script would read:
OUTPUT_FORMAT(elf64-little)
instead of:
OUTPUT_FORMAT(elf64-littleaarch64)
This is because glibc 2.33 runs "objdump -f" instead of
"aarch64-linux-gnu-objdump -f" to determine the output format.
* gnu/packages/patches/glibc-cross-objdump.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/base.scm (glibc)[source]: Use it.
This test fails on filesystems where tail detects that it cannot use
inotify safely. See https://issues.guix.gnu.org/47935 for more details.
* gnu/packages/base.scm (coreutils)[phases]: Disable
inotify-dir-recreate tests, quote Hurd substitute* call to reduce
rebuilds.
Fixes: <https://bugs.gnu.org/41498>.
* gnu/packages/base.scm (sed)[arguments]: New field. This adds a
snippet, equivalent to the patch submitted upstream, which fixes an
issue that prevents sed from building on SELinux-enabled kernels.
Adjusted by Efraim Flashner to apply to master.
This should avoid some problems, such as "not a dynamic executable" errors.
* gnu/packages/patches/glibc-ldd-powerpc.patch: New patch.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/base.scm: (glibc)[native-inputs]: Add it.
[arguments]: When building for powerpc* apply it.
* gnu/packages/commencement.scm (glibc-final-with-bootstrap-bash,
glibc-final)[native-inputs]: Add patch conditionally.
This patch has been adjusted to apply to master.
Signed-off-by: Chris Marusich <cmmarusich@gmail.com>
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
* gnu/packages/base.scm (make-glibc-utf8-locales): Add keyword parameters
locales and name with the old values as default.
[name]: Use name parameter.
[arguments]: Use locales parameter.
Co-authored-by: Efraim Flashner <efraim@flashner.co.il>
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
* gnu/packages/patches/glibc-dl-cache.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/base.scm (glibc)[source]: Remove 'snippet' and 'modules'.
[arguments]: In 'pre-configure' phase, substitute @STORE_DIRECTORY@ in
'elf/dl-cache.c'.
* gnu/packages/base.scm (coreutils)[arguments]: When compiling for the Hurd,
remove hanging "timeout-group" test. Remove tests "shred-passes", "l-chunk"
and "stats" from XFAIL_TESTS, they pass now.
Fixes: <https://bugs.gnu.org/41498>.
* gnu/packages/base.scm (sed)[origin][snippet]: New field. This adds a
snippet, equivalent to the patch submitted upstream, which fixes an
issue that prevents sed from building on SELinux-enabled kernels.
The upgrade to Make 4.3 and Coreutils 8.30 introduced test failures that
this commit addresses.
* gnu/packages/base.scm (coreutils-8.30): New variable.
* gnu/packages/linux.scm (proot)[native-inputs]: Add COREUTILS-8.30 and
GNU-MAKE-4.2.
The sparse03.at test apparently freezes the Hurd; messages
on the console:
165: listing sparse files bigger than 2^33
ext2fs: device:hd0s1: warning: bit already cleared for block 245780
ext2fs: device:hd0s1: warning: bit already cleared for block 245781
ext2fs: device:hd0s1: warning: bit already cleared for block 245782
...
ext2fs: BUG: unexpected fault on disk image ... err 0xa
ext2fs: disk-pager.c:98: fault_handler: Assertion 'err' failed.
the other tests just fail.
* gnu/packages/base.scm (tar)[arguments]: When compiling for the Hurd,
skip `sparse' and failing tests.
This reverts commit 67cbfeae30, which is
not longer necessary now that the 'ld.so' linker script of the cross
glibc contains "libhurduser.so libmachuser.so".
Until now cross-compilation would fail with:
i586-pc-gnu-ld: src/copy.o: undefined reference to symbol 'file_chauthor'
i586-pc-gnu-ld: /gnu/store/…-glibc-cross-i586-pc-gnu-2.29/lib/libhurduser.so.0.3: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
* gnu/packages/base.scm (coreutils)[arguments]: When 'hurd-target?', add
#:configure-flags.
* gnu/packages/base.scm (gnu-make-4.2): New public variable.
* gnu/packages/java.scm (openjdk9, openjdk10, openjdk11,
openjdk12)[native-inputs]: Add it.
* gnu/packages/patches/glibc-hurd-signal-sa-siginfo.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/base.scm (glibc): Use it.
* gnu/packages/base.scm (coreutils): Improve description and state that there
is no shell included.
Signed-off-by: Mathieu Othacehe <m.othacehe@gmail.com>
* gnu/packages/linux.scm (libcap)[supported-systems]: Remove the Hurd.
* gnu/packages/base.scm (coreutils)[inputs]: Include libcap only for supported
systems. Fixes building on the Hurd.
Fix coreutils cross-compilation for aarch64 that was broken by 8.32
update. The following error occured:
src/ls.c: In function 'print_dir':
src/ls.c:3026:24: error: 'SYS_getdents' undeclared (first use in this function); did you mean 'SYS_getdents64'?
if (syscall (SYS_getdents, dirfd (dirp), NULL, 0) == -1
^~~~~~~~~~~~
SYS_getdents64
* gnu/packages/patches/coreutils-ls.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/base.scm (coreutils): Apply it.
Fixes <https://bugs.gnu.org/30756>.
Initially reported by Julien Lepiller <julien@lepiller.eu>.
* gnu/packages/base.scm (make-gcc-libc): Remove
'treat-glibc-as-system-header' phase from 'arguments'.
* gnu/packages/commencement.scm (gcc-final): Likewise.
* gnu/packages/gcc.scm (gcc-4.7)[arguments]: Add "include/c++" to
'CPLUS_INCLUDE_PATH'.
(gcc-6)[native-search-paths]: Remove.
* gnu/packages/make-bootstrap.scm (gcc-for-bootstrap): Remove
'native-search-paths' and 'arguments'.
* gnu/packages/patches/python-2.7-search-paths.patch,
gnu/packages/patches/python-3-search-paths.patch: Replace "CPATH" with
"C_INCLUDE_PATH".
* guix/build-system/cmake.scm (lower): When not cross-compiling, move
INPUTS from the 'host-inputs' field to the 'build-inputs' field of the
bag, right after NATIVE-INPUTS.
* guix/build-system/glib-or-gtk.scm (lower): Likewise.
* guix/build-system/gnu.scm (lower): Likewise.
* guix/build-system/meson.scm (lower): Likewise.
* gnu/packages/patches/glibc-CVE-2019-19126.patch: New file.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.
* gnu/packages/base.scm (glibc): Update to 2.30.
[source](patches): Adjust for 2.30.
(glibc-2.29): New public variable.
Until now the following wouldn't build:
--8<---------------cut here---------------start------------->8---
(use-modules (gnu packages commencement)
(gnu packages gcc)
(gnu packages base))
(make-gcc-libc gcc-9 glibc-2.27)
--8<---------------cut here---------------end--------------->8---
* gnu/packages/base.scm (make-gcc-libc)[phases]: Add environment
variables to place the target libc on the system header search path.
[make-flags]: Remove unncessary FLAGS_FOR_TARGET.
[native-inputs]: Construct in a way that doesn't require emptying
inputs.
* gnu/packages/base.scm (glibc-utf8-locales)[inputs]: Move to ...
[native-inputs]: ... here, in order to fix cross-compilation.
* gnu/packages/commencement.scm (glibc-utf8-locales-final)[inputs]: Move to ...
[native-inputs]: ... here, in order to fix cross-compilation.
* gnu/packages/base.scm (make-gcc-libc): Make public.
* gnu/packages/commencement.scm (make-gcc-toolchain): Add 'libc'
optional argument to specify using a non-default glibc package, also
make public.
The patch for glibc 2.28 and earlier replaces the same content, but the context
in the patch is different enough to fail to merge.
* gnu/packages/base.scm (make-glibc-locales)[source]: Add patch.
* gnu/packages/patches/glibc-locales.patch: Adjust for glibc 2.29 and move old
file...
* gnu/packages/patches/glibc-locales-2.28.patch: ...here.
* gnu/local.mk (dist_patch_DATA): Add it.
The 'glibc-supported-locales.patch' was updated for glibc 2.29, breaking
compatibility with 2.27. Add a 2.27-specific supported locales patch.
* gnu/packages/patches/glibc-2.27-supported-locales.patch: New file.
* gnu/packages/base.scm (glibc-2.27)[source](patches): Use
'glibc-2.27-supported-locales.patch' instead.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.
Fixes <https://bugs.gnu.org/36076>.
Reported by Jack Hill <jackhill@jackhill.us>
and Giovanni Biscuolo <g@xelera.eu>
* gnu/build/locale.scm (locale->name+codeset): New file.
* gnu/packages/base.scm (make-glibc-locales): Add #:modules
and #:imported-modules. Add a 'symlink-normalized-codesets' phase.
* gnu/packages/base.scm (make-gcc-libc): New procedure, returns a gcc
that targets a specified libc.
(gcc-glibc-2.26, gcc-glibc-2.27): New public variables.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>