Commit graph

145649 commits

Author SHA1 Message Date
Janneke Nieuwenhuizen
7e923dfb35
teams: Add hurd team.
* etc/teams.scm (hurd): New team.

Change-Id: Id3b4d8ac3eed8c7773a45d0fe8a17154c6427aa1
2024-12-03 14:26:05 +01:00
Janneke Nieuwenhuizen
58a134224e
gnu: bootstrap: bootstrap-%guile: Revert aarch64-linux hash.
This is a follow-up to commit
    4d9c5984fe
    gnu: bootstrap: Add support for x86_64-gnu, aka the 64bit Hurd.

where it was inadvertently changed.

Reported by fanquake via IRC.

* gnu/packages/bootstrap.scm (bootstrap-guile-hash)[aarch64-linux]: Revert to
1giy2aprjmn5fp9c4s9r125fljw4wv6ixy5739i5bffw4jgr0f9r.

Change-Id: I26176b192e43ebe05bbd575414a7173583c6d5b6
2024-12-03 10:57:11 +01:00
Ludovic Courtès
bb8a6f0ac4
gnu: gsl: Update to 2.8.
* gnu/packages/maths.scm (gsl): Update to 2.8.

Change-Id: I7a7af6af46b0be57a435a09460cb1237c65c6ff8
2024-12-03 10:45:38 +01:00
Ludovic Courtès
6fcafbae0c
gnu: gsl: Build with ‘-O2 -g’ unconditionally.
Fixes a regression introduced in
53bec65c51 that would cause gsl to be
built without optimizations and without debugging symbols (equivalent to
“-O0 -g0”).

* gnu/packages/maths.scm (gsl)[arguments]: Remove #:make-flags.

Change-Id: I5297e3602bffbb7655d655622cc3d7595f82b25a
2024-12-03 10:45:38 +01:00
Artyom Bologov
2ef05f033c
gnu: gsl: Add debug output.
* gnu/packages/maths.scm (gsl)[outputs]: Add "debug".

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-12-03 10:45:31 +01:00
Janneke Nieuwenhuizen
178c3115c4
gnu: m4: Fix build of tests on the 64bit Hurd.
* gnu/packages/m4.scm (m4)[arguments]: When building on the 64bit Hurd,
add CFLAGS to #:configure-flags.

Change-Id: Iab16194f4cd2911b4610dddd855064ddc4958dd9
2024-12-03 08:42:52 +01:00
Janneke Nieuwenhuizen
d9bb372453
gnu: diffutils: Skip some tests on the 64bit Hurd.
* gnu/packages/base.scm (diffutils)[arguments]: When building on the 64bit
Hurd, skip some tests.

Change-Id: Iab16194f4cd2911b4610dddd855064ddc4958dd9
2024-12-03 08:42:50 +01:00
Janneke Nieuwenhuizen
74f8ca11e0
gnu: grep: Skip a test on the 64bit Hurd.
* gnu/packages/base.scm (grep)[arguments]: When building on the 64bit
Hurd, skip the "stack-overflow" test.

Change-Id: Iab16194f4cd2911b4610dddd855064ddc4958dd9
2024-12-03 08:39:01 +01:00
Janneke Nieuwenhuizen
d54b6bc11a
gnu: coreutils: Skip some tests on the 64bit Hurd.
* gnu/packages/base.scm (coreutils)[arguments]: When building on the 64bit
Hurd, skip some tests.

Change-Id: If3c49971df03fb2b1e8dfae9b09d239fe5ec7a7e
2024-12-03 08:39:01 +01:00
Janneke Nieuwenhuizen
a41f2bdc19
gnu: commencement: gcc-final: Support the 64bit Hurd.
* gnu/packages/commencement.scm (gcc-final)[arguments]: When building for the
64bit Hurd, create a gcc wrapper in phase "create-stage-wrapper", use it
by adding STAGE_CC_WRAPPER to #:make-flags, and CC to #:configure-flags
to convince configure gmp that gcc and g++ work.

Change-Id: I939c03c6c0fd9698efc4b293e59cf576249e3b77
2024-12-03 08:39:01 +01:00
Janneke Nieuwenhuizen
265c54ed03
gnu: commencement: gcc-boot0: Support the 64bit Hurd.
Asking gcc to "--disable-shared" is overridden for libcc1 by the build system,
which lateron fails with

    install: cannot stat '.libs/libcc1.so.0.0.0': No such file or directory

because no shared libcc1.so.0.0.0 could actually be built.

* gnu/packages/commencement.scm (gcc-boot0)[arguments]: When building for the
64bit Hurd, add CC_FOR_BUILD to #:make-flags to convince gmp's configure that
gcc works.  Also, add phase "patch-libcc1-static" to avoid attempting a shared
libcc1.
2024-12-03 08:39:01 +01:00
Janneke Nieuwenhuizen
62130a7f4d
gnu: commencement: libstdc++-boot0: Support the 64bit Hurd.
* gnu/packages/commencement.scm (make-libstdc++-boot0)[arguments]: When
creating libstdc++-boot0 for the 64bit Hurd, add disable options similar to
libstdc++ to #:configure-flags.

Change-Id: I00636fa48e38823b00ede7dcbd0c1c23544d898c
2024-12-03 08:39:01 +01:00
Janneke Nieuwenhuizen
877b925df1
gnu: bootstrap: %bootstrap-gcc: Also wrap g++ for the 64bit Hurd.
* gnu/packages/bootstrap.scm (%bootstrap-gcc)[arguments] When building for
thee 64bit Hurd have the #:builder also wrap g++.

Co-authored-by: Efraim Flashner <efraim@flashner.co.il>

Change-Id: I2cdbc6837e1c451f108b309f2608240a7f57b82c
2024-12-03 08:39:01 +01:00
Janneke Nieuwenhuizen
1241699427
gnu: hurd: Add refcounts-assert patch.
See <https://logs.guix.gnu.org/hurd/2024-11-20.log#082237>.

* gnu/packages/patches/hurd-refcounts-assert.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/hurd.scm (hurd): Use it.

Change-Id: I51ee319f1b7e26a7ed0f4e9f69755aa596ea6877
2024-12-03 08:39:01 +01:00
Janneke Nieuwenhuizen
527fc6906d
gnu: commencement: kernel-headers-boot0: Support the 64bit Hurd.
* gnu/packages/commencement.scm (kernel-headers-boot0): Match using
target-hurd? rather than "i586-gnu".

Change-Id: I3c05f110674e55c97d6712202da9d9af6c1d953f
2024-12-03 08:39:01 +01:00
Janneke Nieuwenhuizen
a82e75d807
gnu: Use gcc-14, gcc-toolchain-14 on the 64bit Hurd.
This enables building packages in a 64bit childhurd.  It will not enable
offloading to a childhurd.

* guix/utils.scm (host-hurd?, host-x86-64, host-hurd64?): New procedures.
* gnu/packages/commencement.scm (gcc-toolchain): Use them to determine if the
host is a 64bit Hurd, and use gcc-toolchain-14.
* gnu/packages/gcc.scm (gcc): Likewise, to use gcc-14.

Change-Id: I55e43fdc61e3ea5fc13065fc7ca854b951c94930
2024-12-03 08:39:01 +01:00
Janneke Nieuwenhuizen
bd785af995
system: examples: Add devel-hurd64.tmpl.
This also updates comments and removes the comment about a very old
`bootstrap-profile' hack.

* gnu/system/examples/devel-hurd.tmpl (hurd-packages): New variable
(%hurd-devel-os): Use it.
* gnu/system/examples/devel-hurd64.tmpl: New file.

Change-Id: I54b6b0843f0dd635d89cca483ae43d23b20d21e8
2024-12-03 08:39:01 +01:00
Janneke Nieuwenhuizen
9e2eae54f9
system: examples: Add bare-hurd64.tmpl.
* gnu/system/examples/bare-hurd.tmpl: Update comments.
* gnu/system/examples/bare-hurd64.tmpl: New file.

Change-Id: I8d26afd19afaa8fb3558948b50b0efdc0f83f29c
2024-12-03 08:39:01 +01:00
Janneke Nieuwenhuizen
204fe1b1f0
gnu: bootstrap: %bootstrap-glibc: Also fix libm.so.
On the 64bit Hurd, glibc-2.39's libm.so is also a linker script.  This fixes
having it refer to

    /gnu/store/eee...-glibc-cross-x86_64-pc-gnu-2.39/lib/libm.so.6
    /gnu/store/eee...-glibc-cross-x86_64-pc-gnu-2.39/lib/libmvec.so.1

* gnu/packages/bootstrap.scm (%bootstrap-glibc)[arguments]: When building for
the 64bit Hurd, also substitute libm.so linker script.  Update the regexp to
also cater for libh[urduser] and libm[achuser].

Change-Id: I878e63d18f1012b6e186e90eb68cb97bec5ae94c
2024-12-03 08:39:01 +01:00
Janneke Nieuwenhuizen
baf4a33307
gnu: Add gdb-15.2, with support for the 64bit Hurd.
* gnu/packages/patches/gdb-hurd64.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/gdb.scm (gdb-15): Use it in new variable.
(gdb-minmal-15): New variable.
(gdb/pinned): When building for the 64bit Hurd, set #:configure-flags to
"--enable-targets=i586-pc-gnu,x86_64-pc-gnu".

Change-Id: I52d28092be6c415b8668bb5a77d41c87df841351
2024-12-03 08:39:01 +01:00
Janneke Nieuwenhuizen
f905df43ba
gnu: gettext: Fix cross-build shebangs.
This fixes running autopoint from a cross-built gettext[-minimal].

* gnu/packages/gettext.scm (gettext-minimal): When cross-building, add stage
"patch-cross-shebangs".

Change-Id: I5029a3be0b5cee3c173de66d8f0b027b02c3bc47
2024-12-03 08:39:01 +01:00
Janneke Nieuwenhuizen
be81d46472
gnu: commencement: libstdc++-boot0-gcc7: Replace by make-libstdc++-boot0.
* gnu/packages/commencement.scm (libstdc++-boot0-gcc7): Change variable to...
(make-libstdc++-boot0): ...this new procedure and update accordingly.
(gcc-boot0): Update accordingly, and cater for x86_64-gnu.

Change-Id: Ib0bc84e4dab90b080e5a01e6ab932f8be456c656
2024-12-03 08:39:01 +01:00
Janneke Nieuwenhuizen
013b1143a5
gnu: commencement: hurd-headers-boot0: Update to 0.9.git20240714.
* gnu/packages/commencement.scm (hurd-headers-boot0): Update to
0.9.git20240714.

Change-Id: Ib3edaa3adb9cfe4cb8c5a3af83cb2701ee9dda1b
2024-12-03 08:39:00 +01:00
Janneke Nieuwenhuizen
25daa817f3
gnu: commencement: mig-boot0: Update to 1.8+git20231217..
* gnu/packages/commencement.scm (mig-boot0): Update to 1.8+git20231217.

Change-Id: I591ff7cb84ac1e567d49f51eb40be19fa6b15f5b
2024-12-03 08:39:00 +01:00
Janneke Nieuwenhuizen
df35583970
gnu: commencement: gnumach-headers-boot0: Update to 1.8+git20240714.
* gnu/packages/commencement.scm (gnumach-headers-boot0): Update to
1.8+git20240714.

Change-Id: If30d7b4a688070d70741173c97a60284ca8299ef
2024-12-03 08:39:00 +01:00
Janneke Nieuwenhuizen
493e07bd00
gnu: m4: Fix build for the 64bit Hurd.
* gnu/packages/base.scm (grep)[arguments]: When building for the 64bit Hurd,
add patch-sigsegv.h stage.

Change-Id: I82993ebde268867348893556a9476faa5c4e9453
2024-12-03 08:39:00 +01:00
Janneke Nieuwenhuizen
c86448f38b
gnu: guile-fibers: Fix build for the 64bit Hurd.
* gnu/packages/guile-xyz.scm (guile-fibers)[arguments]: Also modify phases for
the 64bit Hurd.

Change-Id: I780f6a92418b49e5fe0d23eb1c90e155216f1428
2024-12-03 08:39:00 +01:00
Janneke Nieuwenhuizen
3d664f8301
gnu: grub: Fix build for the 64bit Hurd.
* gnu/packages/patches/grub-hurd64.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/bootloaders.scm (grub)[arguments]: When building for the 64bit
Hurd, use it in new "apply-hurd64-patch" stage.

Change-Id: I780f6a92418b49e5fe0d23eb1c90e155216f1428
2024-12-03 08:39:00 +01:00
Janneke Nieuwenhuizen
70ed0260b3
gnu: inetutils: Fix build for the 64bit Hurd.
* gnu/packages/patches/inetutils-hurd64.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/admin.scm (inetutils)[arguments]: When building for the 64bit
Hurd, use it in new "apply-hurd64-patch" stage.

Change-Id: I780f6a92418b49e5fe0d23eb1c90e155216f1428
2024-12-03 08:39:00 +01:00
Janneke Nieuwenhuizen
f21fb53a8d
gnu: hurd: Build fixes for the 64bit Hurd.
* gnu/packages/patches/hurd-64bit.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/hurd.scm (hurd)[source]: Use it.
[arguments]: When building for the 64bit Hurd, add "create-machine-symlink"
phase.  In phases "build-libdde-linux" and "install-goodies", do not assume
x86, rather use actual ARCH, and follow upstream's "amd64" symlinking voodoo.

Change-Id: If264a91b2433add13f9121c482f0abe67ae5f1e9
2024-12-03 08:39:00 +01:00
Janneke Nieuwenhuizen
de8196f571
gnu: rumpkernel: Support the 64bit Hurd.
* gnu/packages/hurd.scm (rumpkernel)[argument]: In stage "build", follow
Debian upstream to use -DPAE disable the DTRACE and ZFS builds.

Change-Id: I534da31eefb378c72b4896d64a51a73109e38aa6
2024-12-03 08:39:00 +01:00
Janneke Nieuwenhuizen
ba8fb8c2fb
gnu: rumpkernel: Update to f1ffd6405f225336e595a0f99f01095ed7438337.
* gnu/packages/hurd.scm (rumpkernel): Update to
f1ffd6405f225336e595a0f99f01095ed7438337.
[arguments]: In stage "build", add "-Wno-error=sign-compare" to CWARNFLAGS.

Change-Id: I8936377da726681b748cc010e1fbae3fb19dee05
2024-12-03 08:39:00 +01:00
Janneke Nieuwenhuizen
b331a07a46
gnu: netdde: Support the 64bit Hurd.
* gnu/packages/patches/netdde-csum.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/hurd.scm (netdde)[source]: Use it.
[arguments]: Do not assume x86, rather use actual ARCH in #:make-flags, and
follow upstream's "amd64" symlinking voodoo.

Change-Id: Ie825e56779dae2f489066569dc3c4405bac778c1
2024-12-03 08:39:00 +01:00
Janneke Nieuwenhuizen
c2a67e8743
gnu: netdde: Update to c0ef248dc7c5ccc1273e2a796f3ece30c5b645df.
* gnu/packages/hurd.scm (netdde): Update to
c0ef248dc7c5ccc1273e2a796f3ece30c5b645df.
(dde-sources): Update to b6c8526c703f3ba76294d9002f195c63897ec661.

Change-Id: Id03f5c5124f16e9ffd6a77cbb2507d274e0f325a
2024-12-03 08:39:00 +01:00
Janneke Nieuwenhuizen
36f9348675
gnu: libpciaccess: Support the 64bit Hurd.
* gnu/packages/patches/libpciaccess-hurd64.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/xorg.scm (libpciaccess) [arguments]: Use g-expressions.  When
building for the 64bit Hurd, use it in new "apply-hurd64-patch" phase.

Change-Id: I8936377da726681b748cc010e1fbae3fb19dee05
2024-12-03 08:39:00 +01:00
Janneke Nieuwenhuizen
5482403f35
gnu: pciutils: Support the 64bit Hurd.
* gnu/packages/patches/pciutils-hurd64.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/pciutils.scm (pciutils)[arguments]: Use g-expressions.  When
building for the 64bit Hurd, use it in new "apply-hurd64-patch" phase.

Change-Id: I8936377da726681b748cc010e1fbae3fb19dee05
2024-12-03 08:39:00 +01:00
Janneke Nieuwenhuizen
82e8ef994c
gnu: openssl-3.0: Support the 64bit Hurd.
* gnu/packages/patches/openssl-hurd64.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/tls.scm (openssl-3.0)[arguments]: When building for the 64bit
Hurd, use it in new "apply-hurd-patch" phase.  In #:configure-flags use
"hurd-x86_64" for the 64bit Hurd.

Change-Id: I8936377da726681b748cc010e1fbae3fb19dee05
2024-12-03 08:39:00 +01:00
Janneke Nieuwenhuizen
b371174536
gnu: libgpg-error: Support the 64bit Hurd.
* gnu/packages/patches/libgpg-error-hurd64.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/gnupg.scm (libgpg-error)[arguments]: Use it when building for
the 64bit Hurd.

Change-Id: Icabb7cd7bb5bcc771ccee5b8a7f57f52b9b58183
2024-12-03 08:39:00 +01:00
Janneke Nieuwenhuizen
de5239b675
system: image: Add hurd64 image types.
* gnu/system/hurd.scm (%hurd64-default-operating-system-kernel,
%hurd64-default-operating-system): New variables.
* gnu/system/images/hurd.scm (hurd64-disk-image, hurd64-image-type,
hurd64-qcow2-image-type, hurd64-barebones-disk-image,
hurd64-barebones-qcow2-image): New variables.

* gnu/system/images/hurd.scm (hurd64-barebones-os): New variable.
2024-12-03 08:39:00 +01:00
Janneke Nieuwenhuizen
4d9c5984fe
gnu: bootstrap: Add support for x86_64-gnu, aka the 64bit Hurd.
On commit:
    ec8a5ec15f
    gnu: make-bootstrap: Update gcc-static to gcc-14, for the 64bit Hurd.

Run:
    ./pre-inst-env guix build --target=x86_64-gnu bootstrap-tarballs

Producing:
    /gnu/store/w1n7bdpn88plcc49h7n0jriaj41sgwx8-bootstrap-tarballs-0/

With guix hash -r:
    15cb1xh7s2hhp8s0d81bjnw1759w9sh7ckc9n5jq2f3rqw6z76by

* gnu/packages/bootstrap.scm (%bootstrap-executables): Add entries for
x86_64-gnu.
(%bootstrap-guile-hash, %bootstrap-coreutils&co, %bootstrap-binutils,
%bootstrap-glibc, %bootstrap-gcc): Add entry for x86_64-gnu.
* guix/packages.scm (%supported-systems, %hurd-systems): Add x86_64-gnu.
(%cuirass-supported-systems): Remove x86_64-gnu.
* guix/utils.scm (target-64bit?): Add x86_64-gnu.
* m4/guix.m4: Add x86_64-gnu as a supported system.
* doc/guix.texi (GNU Distribution): Add x86_64-gnu.

Change-Id: I828159aedb3f66caba98e935083cc3682429f219
2024-12-03 08:38:00 +01:00
Janneke Nieuwenhuizen
ec8a5ec15f
gnu: make-bootstrap: Update gcc-static to gcc-14, for the 64bit Hurd.
* 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
2024-12-03 08:33:14 +01:00
Janneke Nieuwenhuizen
5ffbd2015c
gnu: glibc/hurd: Add patch for the 64bit Hurd, fixing "raise".
This fixes findutil's gnulib-tests's test-sigaction's raise call, by working
around an alleged gcc-14.2 optimization bug.  See
<https://lists.gnu.org/archive/html/bug-hurd/2024-11/msg00143.html>.

* gnu/packages/patches/glibc-hurd64-gcc-14.2-tls-bug.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/base.scm (glibc/hurd): Use it.

Change-Id: I11e683f521f34dedeb7f739a2545f5d1d866922a
2024-12-03 08:33:13 +01:00
Janneke Nieuwenhuizen
4d077bba89
gnu: gcc-14: Force libdir /lib instead of /lib64 for the 64bit Hurd.
* gnu/packages/gcc.scm (gcc-14)[arguments]: In stage "pre-x86-configure", also
patch "gcc/config/i386/t-gnu64".

Change-Id: Ib2607c5f315c49696596fdcbcbbcc2895b6a9775
2024-12-03 08:33:13 +01:00
Janneke Nieuwenhuizen
d6780d79d9
gnu: cross-base: Update %xgcc to gcc-14, to support the 64bit Hurd.
Gcc-14 adds support for the 64bit Hurd.

* gnu/packages/cross-base.scm (%xgcc): Bump to gcc-14.

Change-Id: Idf7696c50532aa4def2b2d37cdb5c70715125123
2024-12-03 08:33:13 +01:00
Janneke Nieuwenhuizen
47f2cabe37
gnu: guile-lzlib: Support [cross-]build with gcc-14 and the 64bit Hurd.
* gnu/packages/patches/guile-lzlib-hurd64.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/guile.scm (guile-lzlib)[arguments]: Use G-expressions.  When
building for the 64bit Hurd, or cross-compiling, use it in new
"apply-hurd64-patch" stage.

Change-Id: Id03f71baa80e2f4f967f54037ce7d9f1c5dc4bb6
2024-12-03 08:33:13 +01:00
Janneke Nieuwenhuizen
2d37f0e071
gnu: libssh: Fix [cross-]build with gcc-14 for 32bit.
* gnu/packages/ssh.scm (libssh)[arguments]: When cross-compiling to a
32bit host, add CFLAGS to #:configure-flags to disable a breaking warning.

Change-Id: Ibab7332af162aed38158a50e9b4fc288b4286922
2024-12-03 08:33:13 +01:00
Janneke Nieuwenhuizen
b2a9eb5c9e
gnu: libedit: Fix [cross-]build with gcc-14 for 32bit.
* gnu/packages/libedit.scm (libedit)[arguments]: When cross-compiling to a
32bit host, add CFLAGS to #:configure-flags to disable a breaking warning.

Change-Id: Ibab7332af162aed38158a50e9b4fc288b4286922
2024-12-03 08:33:13 +01:00
Janneke Nieuwenhuizen
883869970c
gnu: netdde: Fix build with gcc-14.
* gnu/packages/hurd.scm (netdde)[arguments]: Disable some warnings breaking
the build, using "WARNINGS=..." in #:make-flags.

Change-Id: I39f577c51eaa3d86abf80a54f7c172324cf56749
2024-12-03 08:33:13 +01:00
Janneke Nieuwenhuizen
ee8a9cdcf3
gnu: hurd: Fix build with gcc-14.
* gnu/packages/hurd.scm (hurd)[arguments]: In phase "build-libdde-linux",
disable some warnings breaking the build, using "WARNINGS=...".

Change-Id: Ib70926a90e1d37080c5b9dd333f19636cdae3013
2024-12-03 08:33:13 +01:00
Janneke Nieuwenhuizen
ef15b48379
gnu: texinfo-4: Fix [cross-]build with gcc-14 and the 64bit Hurd.
* gnu/packages/texinfo.scm (texinfo-4): When building for the 64bit Hurd, or
cross-compiling, add "-Wno-incompatible-pointer-types" to #:configure-flags.

Change-Id: Ia0503e3f5c7aa5354a949b69035a1be6f93ec85f
2024-12-03 08:33:13 +01:00