~ruther/guix-local

b4173865 — Ludovic Courtès 1 year, 5 months ago
gnu: gash: Update to 0.3.1.

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
gnu: gdbm: Update to 1.25.

* gnu/packages/dbm.scm (gdbm): Update to 1.25.

Change-Id: I94771e420cf5752d45d1c3a98f688b9f45ab4be2
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
gnu: diffutils: Update to 3.12.

* gnu/packages/base.scm (diffutils): Update to 3.12.
[arguments]<#:configure-flags>: When cross-compiling,
add "ac_cv_func_strcasecmp=yes"
"gl_cv_func_strcasecmp_works=yes".

Change-Id: Icf49303e794479a0561e894ab88427c826d56cf3
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
c4a100f3 — Leo Nikkilä 1 year, 9 months ago
gnu: gcc-6: Use libstdc++ headers appropriate for each GCC.

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>
gnu: gzip: Update to 1.14.

* gnu/packages/compression.scm (gzip): Update to 1.14.

Change-Id: Iabb0a315b6123666dd803fc1c15ec10949184f99
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
build-system/gnu: Limit load average.

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>
e239958b — Andreas Enge 1 year, 7 months ago
gnu: mpfr: Update to 4.2.2.

* gnu/packages/multiprecision.scm (mpfr): Update to 4.2.2.

Change-Id: I07df931b5e8be7f4d90cb3b30685f026ac6c6276
1dff4c2e — Ludovic Courtès 1 year, 7 months ago
gnu: gash-utils-boot: Use a gexp.

* gnu/packages/commencement.scm (gash-utils-boot)[arguments]: Use #:modules
instead of a non-top-level ‘use-modules’.  Turn #:phases into a gexp.
Use ‘search-input-file’ in ‘make-echo’ phase.
[inputs, native-inputs]: Remove labels.

Change-Id: Ib0eaa8a9ba4272b423fdb34a0eaf56b3a93ac7d4
cf46fefb — Ludovic Courtès 1 year, 7 months ago
gnu: gash-boot: Shorten symlinks.

* gnu/packages/commencement.scm (gash-boot)[arguments]: Shorten
symlinks created in ‘install-symlinks’.

Change-Id: I1300b31db615ab5fd9674c5a2d2aca1b7f600fcd
6610c6cb — Ludovic Courtès 1 year, 7 months ago
gnu: gash-boot: Remove input labels.

* gnu/packages/commencement.scm (gash-boot)[arguments]: Use #:modules
instead of a non-top-level ‘use-modules’.  Turn #:phases into a gexp.
[inputs, native-inputs]: Remove labels.

Change-Id: I1e18b3ef76bb681494f76dded0dbd3b88cb9c462
87f0ad60 — Ludovic Courtès 1 year, 7 months ago
gnu: bootar: Remove input label.

* gnu/packages/commencement.scm (bootar)[arguments]: Use
‘search-input-file’ and use gexps.  Remove non-top-level ‘use-modules’
from #:phases and pass #:modules instead.
[inputs]: Remove label.

Change-Id: Idb962dc5f886ec13ef10b90ea6b4d1292b412312
4ead5333 — Ludovic Courtès 1 year, 7 months ago
gnu-bootstrap: Use ‘search-input-file’.

* guix/build/gnu-bootstrap.scm (bootstrap-configure)
(bootstrap-install): Use ‘search-input-file’ instead of ‘assoc-ref’.

Change-Id: I8cd876d099a346b55b5e06b3a220f712dd504791
c57975b0 — Ludovic Courtès 1 year, 7 months ago
build-system/gnu: Use ‘search-input-file’ instead of input labels.

* guix/build/gnu-build-system.scm (configure): Use ‘search-input-file’
instead of ‘assoc-ref’ when looking for bash.
* gnu/packages/commencement.scm (%boot-gash-inputs): Update comment.

Change-Id: Ie95e95cfeb9f004fd304ff2af471ea5840af2b2e
df94888e — Maxim Cournoyer 2 years ago
utils: Set $0 to basename of command in `wrap-program'.

* guix/build/utils.scm (wrap-program): Set the value of the -a option of
`exec' in the wrapper to ${0##*/} instead of $0, to use its base name instead
of the complete file name.

Fixes: https://issues.guix.gnu.org/73405
Change-Id: Iec5984d4d934c8df88a90ff653947f7d07413ae4
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
84a7b735 — Collin J. Doering 1 year, 11 months ago
gnu: coreutils: Skip ‘cp/reflink-auto.sh’ as it can fail on Btrfs.

* gnu/packages/base.scm (coreutils): Similarly to
Nix (https://github.com/NixOS/nixpkgs/pull/190211), disable
tests/cp/reflink-auto.sh test as it can fail on Btrfs.  This was
discovered by the cuirass.genenetwork.org build farm.

Change-Id: If1cc3d516c5807e580ec64ab93670e30090581a7
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
e6d83b16 — Nicolas Graves 1 year, 7 months ago
gnu: minizip: Remove phase 'remove-crypt-h.

During the update of glibc from 2.35 to 2.39, the crypt.h header has
been removed from glibc's include path.  Packages depending on this
header from minizip have no access to it anymore.  Remove this phase.

* gnu/packages/compression.scm (minizip)[arguments]{phases}:
Delete 'remove-crypt-h phase.

Change-Id: I645f3f2e2aac821faa02dd4642071a983185cabf
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
gnu: perl-io-socket-ssl: Update to 2.089.

* gnu/packages/web.scm (perl-io-socket-ssl): Update to 2.089.

Change-Id: I6c9331a509607f87ef07bc272b375ce133d59075
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
gnu: perl-net-ssleay: Update to 1.94.

* gnu/packages/patches/perl-net-ssleay-colon-parsing.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/base.scm (perl-net-ssleay): Update to 1.94.
[source](origin): Add patch.

Change-Id: Ie4b8bc713618fb72e86c07860fab30e47b96dc76
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
gnu: guile: Add GUILE_EXTENSIONS_PATH to native-search-paths.

* gnu/packages/guile.scm (guile-3.0)[native-search-paths]: Add
GUILE_EXTENSIONS_PATH.

Change-Id: Ia80f6b8467cdc4ba76b4c3e58451c78d5a55cb15
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2f8c2eeb — Zheng Junjie 1 year, 8 months ago
gnu: c-ares: Update to 1.34.4.

* gnu/packages/adns.scm (c-ares): Update to 1.34.4.
[source]: Update url.
(c-ares-for-node-lts): Simplifies it.

Change-Id: I4af1ea6d76e7efcfcfc772408f63f92cce7c28df
Next