Fixesguix/guix#712
* gnu/packages/patches/qtlocation-5.15.8-mapboxgl-gcc13.patch: New patch.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/qt.scm (qtlocation-5)[source]:
<patches>: use it.
<snippet>: unvendor rapidjson and protozero.
[inputs]: Add rapidjson and protozero.
Change-Id: I57b32863ae905d26539b43296cea8c1a18f91170
* gnu/packages/patches/kwayland-5-fix-build.patch: New patch.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/kde-frameworks.scm (kwayland-5): Use It.
Change-Id: Ida72b1bdcacd59c112d1dceda669627e3bbe7110
With the introduction of GCC 14 as the default compiler, compilation of
libstdc++ of all previous versions would fail due to a different
signature for ‘__cxa_call_terminate’ (a builtin in GCC 14). This fixes it.
* gnu/packages/patches/gcc-libstdc++-newer-gcc.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/gcc.scm (gcc-7, gcc-8, gcc-9, gcc-10)
(gcc-11, gcc-12, gcc-13): Use it.
Change-Id: I84dc26e46d56259d7d610f19b0521fa9c5499d5e
* gnu/packages/patches/gdbm-lockwait-test.patch: New patch.
* gnu/packages/dbm.scm (gdbm): Add it.
* gnu/local.mk: Register it.
Change-Id: I991df13d66ad3cf1b567ee3b3d337215c70be2c6
With glibc-2.41 several gnulib tests are failing on the Hurd in multiple core packages
- test-once1
- test-pthread_sigmask1
- test-symlink/test-symlinkat
This adds the relevant patches from glibc upstream or the version from the
debian glibc adapted for glibc 2.41.
* gnu/packages/patches/glibc-hurd-2.41-pthread-once.patch: New patch.
* gnu/packages/patches/glibc-hurd-2.41-pthread-sigmask.patch: New patch.
* gnu/packages/patches/glibc-hurd-2.41-symlink.patch: New patch.
* gnu/packages/base.scm (glibc/hurd): Add them.
* gnu/local.mk : Register them.
Change-Id: I90ec984757da54ebbc7cb7817de00f2876f4a81a
* gnu/packages/gettext.scm (gettext-minimal)[arguments]: Remove phase
adding a patch for gnulib when building for armhf-linux.
Change-Id: Ifd7f73dffa259c731f1cb8a5bdb36b78abcbb1b4
This was reported by yelninei on IRC.
* gnu/packages/commencement.scm (diffutils-boot0)[arguments]: Inherit
package arguments from diffutils.
Change-Id: Ie438ad47c7262a6df62f6d26c31f78f1338f4bdd
* gnu/packages/commencement.scm (file)[arguments]: Don't disable
dependency-tracking when building on aarch64-linux.
Change-Id: I14c4b3f60af63427153dfd381400709f09f247ec
* gnu/packages/commencement.scm (findutils-boot0)[arguments]: Don't
disable dependency-tracking when building on aarch64-linux.
Change-Id: Ib6338d8adab7dcfffeb7b0aabfb4f74ee3819119
* gnu/packages/commencement.scm (diffutils-boot0)[arguments]: Don't
disable dependency-tracking when building on aarch64-linux.
Change-Id: I98a445411d472eb78abb55a28733c2f77ac5fd3e
* gnu/packages/hurd.scm (rumpkernel): Add -Wno-error=implicit-function-declaration
for the HOST_CC
Change-Id: I4e86cd9900b56a904190e217c21bcfa279c12a5a
Fixes <https://issues.guix.gnu.org/75658>.
Fixes a bug whereby Gash sub-shells would randomly crash, typically when
running ‘configure’ scripts, with:
ERROR: In procedure fdopen:
ERROR: In procedure scm_fdes_to_port: Bad file descriptor
The effect is that ‘configure’ would sometimes make wrong guesses,
eventually leading to build failures.
* gnu/packages/shells.scm (gash): Update to 0.3.1.
Change-Id: I5fd48a651601b3c28fbed88dbffaefdef987f1cd
After the "hack" introduced for <https://issues.guix.gnu.org/42392>, all GCCs
are built with the current GCC's libstdc++ headers. This results in subtly
broken C++ headers in older versions, which aren't necessarily compatible with
libstdc++s from other versions.
For example, this test case works with GCC 11:
$ guix shell --container --emulate-fhs --pure -e '(@ (gnu packages gcc) gcc)' binutils -- sh -c 'echo -e "#include <cmath>\nint main() { return std::isnan(0); }" | g++ -x c++ -; echo $?'
0
but fails with GCC 9:
$ guix shell --container --emulate-fhs --pure -e '(@ (gnu packages gcc) gcc-9)' binutils -- sh -c 'echo -e "#include <cmath>\nint main() { return std::isnan(0); }" | g++ -x c++ -; echo $?'
In file included from /gnu/store/gkh2rljdrnj24q1q7baa6bhb119251w4-profile/include/c++/cmath:45,
from <stdin>:1:
<stdin>: In function 'int main()':
<stdin>:2:26: error: '__builtin_isnan' is not a member of 'std'; did you mean '__builtin_isnan'?
<built-in>: note: '__builtin_isnan' declared here
1
This specific error can be traced back to the GCC build, where GCC 10 and 11
are configured with:
checking for ISO C99 support in <math.h> for C++11... yes
but GCC 9 is configured with:
checking for ISO C99 support in <math.h> for C++11... no
The configure check fails due to errors like these due to the mismatched
libstdc++:
configure:17817: checking for ISO C99 support in <math.h> for C++11
[…]
In file included from /gnu/store/y3kk0ybf7hqwndl8xpm61r4a5b3lhwix-libstdc++-11.4.0/include/cmath:41,
from /gnu/store/y3kk0ybf7hqwndl8xpm61r4a5b3lhwix-libstdc++-11.4.0/include/math.h:36,
from conftest.cpp:41:
/gnu/store/y3kk0ybf7hqwndl8xpm61r4a5b3lhwix-libstdc++-11.4.0/include/bits/c++config.h:491:18: error: missing binary operator before token "("
491 | #if __has_builtin(__builtin_is_constant_evaluated)
| ^
Updating libstdc++ to reference each GCC works around this.
* gnu/packages/gcc.scm (libstdc++, libstdc++-headers): Remove variables.
(make-libstdc++-headers): New procedure.
(gcc-6)[native-inputs]: Use it with `this-package'.
Change-Id: Ie05878c83860c4ccc29d66b916d11613e367e142
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Modified-by: Ludovic Courtès <ludo@gnu.org>
A nice feature of offload builds is that Guix will throttle the start of
new jobs based on the overload-threshold. There is no equivalent for
local builds, so one must either run builds in serial (--max-jobs=1) and
endure single-threaded builds or run concurrent builds and watch the
system overload as it runs multiple multi-threaded builds.
From a benchmark comparing the compilation of concurrent Folly builds,
the "max-load" option reduced the overall time by 8.3%. Memory use also
drops considerably since we are only running 1/4 of the processes at any
time.
* guix/build/gnu-build-system.scm (build, check): Set max load.
Change-Id: I97f1e3e59880b6ed23faed2038eb5279415e9c95
Signed-off-by: Ludovic Courtès <ludo@gnu.org>