* [bug#74290] [PATCH 00/31] Add support for x86_64-gnu, aka the 64bit Hurd.
@ 2024-11-10 10:32 Janneke Nieuwenhuizen
2024-11-10 10:37 ` [bug#74290] [PATCH 01/31] gnu: mig: Update to v1.8+git20231217 Janneke Nieuwenhuizen
` (32 more replies)
0 siblings, 33 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2024-11-10 10:32 UTC (permalink / raw)
To: 74290; +Cc: Jan (janneke) Nieuwenhuizen
From: "Jan (janneke) Nieuwenhuizen" <janneke@gnu.org>
Hi,
Lo and behold, the 64bit Hurd boots! Again, thanks to the help from the
kind folks over at libera #hurd and their excellent work. Do something like:
--8<---------------cut here---------------start------------->8---
./pre-inst-env guix system image --image-type=hurd64-qcow2 \
gnu/system/examples/bare-hurd.tmpl
--8<---------------cut here---------------end--------------->8---
producing something like: /gnu/store/...-disk-image.
Run the image in QEMU:
--8<---------------cut here---------------start------------->8---
guix shell qemu@7 -- qemu-system-x86_64 \
--machine q35 \
-m 4096 \
--enable-kvm \
--device rtl8139,netdev=net0 \
--netdev user,id=net0,hostfwd=tcp:0.0.0.0:11022-:2222 \
--snapshot \
--hda /gnu/store/...-disk-image
--8<---------------cut here---------------end--------------->8---
and login
--8<---------------cut here---------------start------------->8---
11:03:20 janneke@dundal:~/src/guix/hurd-team
$ ssh -p 11022 root@localhost
Last login: Sun Nov 10 10:09:00 2024 from 10.0.2.2
This is the GNU Hurd. Welcome.
root@guixygnu ~# uname -a
GNU guixygnu 0.9 GNU-Mach 1.8/Hurd-0.9 x86_64 GNU
--8<---------------cut here---------------end--------------->8---
Most notably, besides the expected updates, this series adds an indirection
for gcc and gcc-toolchain, (current-gcc) and (current-gcc-toolchain)
respectively, as the 64bit Hurd needs gcc-14. We may also want to think about
image names hurd64-qcow2 etc. and their defaults, vs hurd-qcow2/hurd32-qcow2.
We'll probably also want a 64bit childhurd service, etc, etc...
This series builds on/waits for #73927, which I intend to rebase and push
later this weekend if there are no further comments. And I guess that the
pending blog post will also need an update :)
For your hacking convenience I have reset and updated the `hurd-team' branch.
Greetings,
Janneke
Janneke Nieuwenhuizen (31):
gnu: mig: Update to v1.8+git20231217.
gnu: gnumach: Update to v1.8+git20240714.
gnu: hurd: Update to v0.9.git20240714.
gnu: gcc: Add indirections current-gcc, current-gcc-toolchain.
gnu: Add basic support for x86_64-pc-gnu target, aka 64bit Hurd.
gnu: cross-libc: Support cross-building for the 64bit Hurd.
gnu: bash-minimal: Fix build for 64bit Hurd.
gnu: elfutils: Fix build for 64bit Hurd.
gnu: grep: Fix build for the 64bit Hurd.
gnu: patch: Fix build for the 64bit Hurd.
gnu: libxcrypt: Support the 64bit Hurd.
gnu: libstdc++: Support the 64bit Hurd.
gnu: gcc-13, gcc-14: Support being used as parent for gcc-static.
DRAFT gnu: bootstrap: Add support for x86_64-gnu, aka the 64bit Hurd.
system: image: Add hurd64 image types.
gnu: Add libgpg-error-1.50.
gnu: libgcrypt: Use libgpg-error-1.50 for the 64bit Hurd.
gnu: perl: Support cross-building for the 64bit Hurd.
gnu: openssl-3.0: Support the 64bit Hurd.
gnu: pciutils: Support the 64bit Hurd.
gnu: libpciaccess: Support the 64bit Hurd.
gnu: netdde: Update to c0ef248dc7c5ccc1273e2a796f3ece30c5b645df.
gnu: netdde: Support the 64bit Hurd.
gnu: rumpkernel: Update to f1ffd6405f225336e595a0f99f01095ed7438337.
gnu: rumpkernel: Support the 64bit Hurd.
gnu: hurd: Build fixes for the 64bit Hurd.
gnu: git-minimal: Support the 64bit Hurd.
gnu: inetutils: Fix build for the 64bit Hurd.
gnu: grub: Fix build for the 64bit Hurd.
gnu: guile-fibers: Fix build for the 64bit Hurd.
system: hurd: Use 64bit gnumach for the 64bit Hurd.
doc/guix.texi | 9 +-
gnu/ci.scm | 4 +-
gnu/local.mk | 9 +
gnu/packages/admin.scm | 14 +-
gnu/packages/avr.scm | 7 +-
gnu/packages/base.scm | 74 ++++---
gnu/packages/bash.scm | 9 +
gnu/packages/benchmark.scm | 6 +-
gnu/packages/bootloaders.scm | 10 +-
gnu/packages/bootstrap.scm | 46 ++++-
gnu/packages/c.scm | 4 +-
gnu/packages/chicken.scm | 7 +-
gnu/packages/commencement.scm | 35 ++--
gnu/packages/containers.scm | 5 +-
gnu/packages/cross-base.scm | 27 +--
gnu/packages/crypto.scm | 15 ++
gnu/packages/dlang.scm | 3 +-
gnu/packages/elf.scm | 6 +-
gnu/packages/engineering.scm | 4 +-
gnu/packages/gawk.scm | 3 +-
gnu/packages/gcc.scm | 69 ++++---
gnu/packages/gnupg.scm | 19 +-
gnu/packages/golang.scm | 3 +-
gnu/packages/guile-xyz.scm | 2 +-
gnu/packages/hurd.scm | 187 ++++++++++++------
gnu/packages/julia-xyz.scm | 3 +-
gnu/packages/lisp.scm | 3 +-
gnu/packages/llvm.scm | 7 +-
gnu/packages/make-bootstrap.scm | 60 +++---
gnu/packages/mpi.scm | 3 +-
gnu/packages/parallel.scm | 5 +-
gnu/packages/patches/gnumach-version.patch | 23 +++
gnu/packages/patches/grub-hurd64.patch | 32 +++
gnu/packages/patches/hurd-64bit.patch | 56 ++++++
gnu/packages/patches/inetutils-hurd64.patch | 65 ++++++
.../patches/libpciaccess-hurd64.patch | 58 ++++++
gnu/packages/patches/libxcrypt-hurd64.patch | 38 ++++
gnu/packages/patches/netdde-csum.patch | 18 ++
gnu/packages/patches/openssl-hurd64.patch | 99 ++++++++++
gnu/packages/patches/pciutils-hurd64.patch | 31 +++
gnu/packages/pciutils.scm | 25 ++-
gnu/packages/perl.scm | 20 +-
gnu/packages/rocm.scm | 3 +-
gnu/packages/tls.scm | 9 +
gnu/packages/version-control.scm | 8 +-
gnu/packages/xorg.scm | 23 ++-
gnu/system.scm | 1 -
gnu/system/hurd.scm | 11 +-
gnu/system/images/hurd.scm | 47 ++++-
guix/packages.scm | 8 +-
guix/platforms/x86.scm | 11 +-
guix/utils.scm | 15 +-
m4/guix.m4 | 12 +-
53 files changed, 1025 insertions(+), 246 deletions(-)
create mode 100644 gnu/packages/patches/gnumach-version.patch
create mode 100644 gnu/packages/patches/grub-hurd64.patch
create mode 100644 gnu/packages/patches/hurd-64bit.patch
create mode 100644 gnu/packages/patches/inetutils-hurd64.patch
create mode 100644 gnu/packages/patches/libpciaccess-hurd64.patch
create mode 100644 gnu/packages/patches/libxcrypt-hurd64.patch
create mode 100644 gnu/packages/patches/netdde-csum.patch
create mode 100644 gnu/packages/patches/openssl-hurd64.patch
create mode 100644 gnu/packages/patches/pciutils-hurd64.patch
base-commit: 7105e7125882be35e334448eafd6d81b37b627f0
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
^ permalink raw reply [flat|nested] 78+ messages in thread
* [bug#74290] [PATCH 01/31] gnu: mig: Update to v1.8+git20231217.
2024-11-10 10:32 [bug#74290] [PATCH 00/31] Add support for x86_64-gnu, aka the 64bit Hurd Janneke Nieuwenhuizen
@ 2024-11-10 10:37 ` Janneke Nieuwenhuizen
2024-11-10 10:37 ` [bug#74290] [PATCH 02/31] gnu: gnumach: Update to v1.8+git20240714 Janneke Nieuwenhuizen
` (31 subsequent siblings)
32 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2024-11-10 10:37 UTC (permalink / raw)
To: 74290
* gnu/packages/hurd.scm (mig): Update to v1.8+git20231217.
Change-Id: I0e531ecc7fdcfbefe2e0e24d7b2fb5e0fe8a3ae2
---
gnu/packages/hurd.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm
index 9c1681f236..0a7db31e1c 100644
--- a/gnu/packages/hurd.scm
+++ b/gnu/packages/hurd.scm
@@ -93,7 +93,7 @@ (define-public gnumach-headers
(define-public mig
(package
(name "mig")
- (version "1.8+git20230520")
+ (version "1.8+git20231217")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -102,7 +102,7 @@ (define-public mig
(file-name (git-file-name name version))
(sha256
(base32
- "10r0fdjqjzqsy6ajb21rifvhw0wpjvrw6a1zdyliqlzqny5k0qlz"))))
+ "1mx7w5vzw5ws0zplm1y6s679jb1g2hjkiwl3dlk5lxys0dxs5g4g"))))
(build-system gnu-build-system)
;; Flex is needed both at build and run time.
(inputs (list gnumach-headers flex))
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [bug#74290] [PATCH 02/31] gnu: gnumach: Update to v1.8+git20240714.
2024-11-10 10:32 [bug#74290] [PATCH 00/31] Add support for x86_64-gnu, aka the 64bit Hurd Janneke Nieuwenhuizen
2024-11-10 10:37 ` [bug#74290] [PATCH 01/31] gnu: mig: Update to v1.8+git20231217 Janneke Nieuwenhuizen
@ 2024-11-10 10:37 ` Janneke Nieuwenhuizen
2024-11-10 11:45 ` janneke
2024-11-10 10:37 ` [bug#74290] [PATCH 03/31] gnu: hurd: Update to v0.9.git20240714 Janneke Nieuwenhuizen
` (30 subsequent siblings)
32 siblings, 1 reply; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2024-11-10 10:37 UTC (permalink / raw)
To: 74290
* gnu/packages/patches/gnumach-version.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/hurd.scm (gnumach-headers): Update to v1.8+git20240714 and use
it.
Change-Id: I147c64021c2ee79dfc4cd4fd9a29529eef8890c5
---
gnu/local.mk | 1 +
gnu/packages/hurd.scm | 9 ++++-----
gnu/packages/patches/gnumach-version.patch | 23 ++++++++++++++++++++++
3 files changed, 28 insertions(+), 5 deletions(-)
create mode 100644 gnu/packages/patches/gnumach-version.patch
diff --git a/gnu/local.mk b/gnu/local.mk
index 2c810117eb..4d3ee9ea35 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1459,6 +1459,7 @@ dist_patch_DATA = \
%D%/packages/patches/gnome-session-support-elogind.patch \
%D%/packages/patches/gnome-tweaks-search-paths.patch \
%D%/packages/patches/gnulib-bootstrap.patch \
+ %D%/packages/patches/gnumach-version.patch \
%D%/packages/patches/gnupg-default-pinentry.patch \
%D%/packages/patches/gnupg-1-build-with-gcc10.patch \
%D%/packages/patches/gnutls-skip-trust-store-test.patch \
diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm
index 0a7db31e1c..28f39cc448 100644
--- a/gnu/packages/hurd.scm
+++ b/gnu/packages/hurd.scm
@@ -57,21 +57,20 @@ (define (hurd-source-url version)
version ".tar.gz"))
(define-public gnumach-headers
- (let ((revision "0")
- (commit "2556fdece900d67529d5eda01f1bdaae4ffe96b0"))
+ (let ((commit "v1.8+git20240714"))
(package
(name "gnumach-headers")
- (version (git-version "1.8" revision commit))
+ (version (string-drop commit 1))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.savannah.gnu.org/git/hurd/gnumach.git")
(commit commit)))
+ (patches (search-patches "gnumach-version.patch"))
(file-name (git-file-name "gnumach" version))
(sha256
- (base32
- "1lzsbix0l4jhab38pvwnmk7ip1lsn7m5smhnrciqajsqnadsnlzs"))))
+ (base32 "0ykav1kx0bgxcxw04bpcsh5s4531fzdkahjgrlsfs2h3w3vfkga0"))))
(build-system gnu-build-system)
(arguments
`(#:phases
diff --git a/gnu/packages/patches/gnumach-version.patch b/gnu/packages/patches/gnumach-version.patch
new file mode 100644
index 0000000000..aec3c86a16
--- /dev/null
+++ b/gnu/packages/patches/gnumach-version.patch
@@ -0,0 +1,23 @@
+Upstream-status: Taken from Debian upstream:
+ <https://salsa.debian.org/hurd-team/gnumach/-/raw/master/debian/patches/12_version_suffix.patch>
+
+Index: gnumach/configure.ac
+===================================================================
+--- gnumach.orig/configure.ac
++++ gnumach/configure.ac
+@@ -19,6 +19,7 @@ AC_PREREQ([2.57])
+ m4_include([version.m4])
+ AC_INIT([AC_PACKAGE_NAME], [AC_PACKAGE_VERSION], [AC_PACKAGE_BUGREPORT],
+ [AC_PACKAGE_TARNAME])
++AC_SUBST([PACKAGE_VERSION_SUFFIX])
+ AC_CONFIG_SRCDIR([kern/ipc_kobject.c])
+
+ if test -z "${CFLAGS+set}"; then
+Index: gnumach/version.c.in
+===================================================================
+--- gnumach.orig/version.c.in
++++ gnumach/version.c.in
+@@ -1,2 +1,2 @@
+ /* @configure_input@ */
+-const char version[] = "@PACKAGE_NAME@ @PACKAGE_VERSION@";
++const char version[] = "@PACKAGE_NAME@ @PACKAGE_VERSION@@PACKAGE_VERSION_SUFFIX@";
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [bug#74290] [PATCH 03/31] gnu: hurd: Update to v0.9.git20240714.
2024-11-10 10:32 [bug#74290] [PATCH 00/31] Add support for x86_64-gnu, aka the 64bit Hurd Janneke Nieuwenhuizen
2024-11-10 10:37 ` [bug#74290] [PATCH 01/31] gnu: mig: Update to v1.8+git20231217 Janneke Nieuwenhuizen
2024-11-10 10:37 ` [bug#74290] [PATCH 02/31] gnu: gnumach: Update to v1.8+git20240714 Janneke Nieuwenhuizen
@ 2024-11-10 10:37 ` Janneke Nieuwenhuizen
2024-11-10 10:38 ` [bug#74290] [PATCH 04/31] gnu: gcc: Add indirections current-gcc, current-gcc-toolchain Janneke Nieuwenhuizen
` (29 subsequent siblings)
32 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2024-11-10 10:37 UTC (permalink / raw)
To: 74290
* gnu/packages/hurd.scm (hurd-headers): Update to v0.9.git20240714.
(hurd)[arguments]: Remove rumpdisk build hack from "prepare-addons" stage.
Instead, when cross-compiling, add stage "fixup-cross-configure" to enable
rumpdisk.
* gnu/system.scm (hurd-multiboot-modules): Remove
"--x-xattr-translator-records" option that has been removed and is now the
default.
Change-Id: I4609b5a959c1ece98e2fe1aedbb1d31d6edadcca
---
gnu/packages/hurd.scm | 12 +++++++++---
gnu/system.scm | 1 -
2 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm
index 28f39cc448..06fae1bd3b 100644
--- a/gnu/packages/hurd.scm
+++ b/gnu/packages/hurd.scm
@@ -132,7 +132,7 @@ (define-public mig
(define-public hurd-headers
(let ((revision "3")
- (commit "v0.9.git20231217"))
+ (commit "v0.9.git20240714"))
(package
(name "hurd-headers")
(version (string-drop commit 1))
@@ -143,7 +143,7 @@ (define-public hurd-headers
(commit commit)))
(sha256
(base32
- "1d138kzhil6s5gf9di8grpz1iziakyfv037wkc8s7qyd61imm31d"))
+ "0wvzil3llmrjg7ymwqs86d11bm5fl771jwncv7kk679lsvqca0ll"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(native-inputs
@@ -336,7 +336,7 @@ (define-public hurd
;; Makefile. libdde_linux26 is built later in its own phase.
(substitute* "Makefile"
(("libbpf ")
- "libbpf libmachdevdde libddekit rumpdisk"))))
+ "libbpf libmachdevdde libddekit "))))
(add-after 'unpack 'find-tirpc
(lambda* (#:key inputs #:allow-other-keys)
(for-each (lambda (var)
@@ -362,6 +362,12 @@ (define-public hurd
(("#include <rpc/pmap_prot.h>" m)
(string-append "#include <rpc/types.h>\n#include <rpc/xdr.h>\n" m)))
#t))
+ ,@(if (%current-target-system)
+ '((add-after 'configure 'fixup-cross-configure
+ (lambda _
+ (substitute* "config.make"
+ (("HAVE_LIBRUMP = no") "HAVE_LIBRUMP = yes")))))
+ '())
(add-before 'build 'pre-build
(lambda _
;; Don't change the ownership of any file at this time.
diff --git a/gnu/system.scm b/gnu/system.scm
index 533a4154d6..6e1ebbcc9c 100644
--- a/gnu/system.scm
+++ b/gnu/system.scm
@@ -1534,7 +1534,6 @@ (define (hurd-multiboot-modules os)
"--multiboot-command-line='${kernel-command-line}'"
"--exec-server-task='${exec-task}'"
"--store-type=typed"
- "--x-xattr-translator-records"
"'${root}'"
"'$(fs-task=task-create)'"))
(target (%current-target-system))
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [bug#74290] [PATCH 04/31] gnu: gcc: Add indirections current-gcc, current-gcc-toolchain.
2024-11-10 10:32 [bug#74290] [PATCH 00/31] Add support for x86_64-gnu, aka the 64bit Hurd Janneke Nieuwenhuizen
` (2 preceding siblings ...)
2024-11-10 10:37 ` [bug#74290] [PATCH 03/31] gnu: hurd: Update to v0.9.git20240714 Janneke Nieuwenhuizen
@ 2024-11-10 10:38 ` Janneke Nieuwenhuizen
2024-11-10 10:38 ` [bug#74290] [PATCH 05/31] gnu: Add basic support for x86_64-pc-gnu target, aka 64bit Hurd Janneke Nieuwenhuizen
` (28 subsequent siblings)
32 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2024-11-10 10:38 UTC (permalink / raw)
To: 74290
Cc: Andreas Enge, Efraim Flashner, Ekaitz Zarraga,
Guillaume Le Vaillant, Katherine Cox-Buday, Ludovic Courtès,
Munyoki Kilyungi, Sharlatan Hellseher, Simon Tournier,
Vagrant Cascadian, jgart
Throughout: use (current-gcc) and (current-gcc-toolchain) instead of gcc and
gcc-toolchain.
* gnu/packages/gcc.scm (current-gcc): New procedure.
(gcc): Deprecate.
* gnu/packages/commencement.scm (current-gcc-toolchain): New procedure.
(gcc-toolchain): Deprecate.
Change-Id: I538897e53e2c9956abdc53c67621bb52cbd78a50
---
gnu/packages/avr.scm | 7 ++++---
gnu/packages/benchmark.scm | 6 ++++--
gnu/packages/bootloaders.scm | 2 +-
gnu/packages/bootstrap.scm | 4 ++--
gnu/packages/c.scm | 4 ++--
gnu/packages/chicken.scm | 7 ++++---
gnu/packages/commencement.scm | 33 +++++++++++++++++++--------------
gnu/packages/containers.scm | 5 +++--
gnu/packages/cross-base.scm | 4 ++--
gnu/packages/dlang.scm | 3 ++-
gnu/packages/engineering.scm | 4 ++--
gnu/packages/gawk.scm | 3 ++-
gnu/packages/gcc.scm | 21 ++++++++++++++-------
gnu/packages/golang.scm | 3 ++-
gnu/packages/julia-xyz.scm | 3 ++-
gnu/packages/lisp.scm | 3 ++-
gnu/packages/llvm.scm | 7 ++++---
gnu/packages/make-bootstrap.scm | 20 ++++++++++----------
gnu/packages/mpi.scm | 3 ++-
gnu/packages/parallel.scm | 5 +++--
gnu/packages/rocm.scm | 3 ++-
21 files changed, 88 insertions(+), 62 deletions(-)
diff --git a/gnu/packages/avr.scm b/gnu/packages/avr.scm
index 6042c1bd55..00dc124aa9 100644
--- a/gnu/packages/avr.scm
+++ b/gnu/packages/avr.scm
@@ -5,6 +5,7 @@
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2020 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -53,7 +54,7 @@ (define make-avr-binutils
(inherit (cross-binutils "avr"))
(name "avr-binutils"))))
-(define* (make-avr-gcc/implementation #:key (xgcc gcc))
+(define* (make-avr-gcc/implementation #:key (xgcc (current-gcc)))
"Return a XGCC-base cross-compiler for the AVR target."
(let ((xgcc (cross-gcc "avr" #:xgcc xgcc #:xbinutils (make-avr-binutils))))
(package
@@ -96,7 +97,7 @@ (define* (make-avr-gcc/implementation #:key (xgcc gcc))
(variable "CROSS_LIBRARY_PATH")
(files '("avr/lib")))))
(native-inputs
- `(("gcc" ,gcc)
+ `(("gcc" ,(current-gcc))
,@(package-native-inputs xgcc))))))
(define make-avr-gcc
@@ -136,7 +137,7 @@ (define* (make-avr-libc/implementation #:key
(define make-avr-libc
(memoize make-avr-libc/implementation))
-(define* (make-avr-toolchain/implementation #:key (xgcc gcc))
+(define* (make-avr-toolchain/implementation #:key (xgcc (current-gcc)))
(let ((avr-binutils (make-avr-binutils))
(avr-libc (make-avr-libc #:xgcc (cross-gcc "avr" #:xgcc xgcc)))
(avr-gcc (make-avr-gcc #:xgcc xgcc)))
diff --git a/gnu/packages/benchmark.scm b/gnu/packages/benchmark.scm
index 326bbc99b4..c802e105ed 100644
--- a/gnu/packages/benchmark.scm
+++ b/gnu/packages/benchmark.scm
@@ -13,6 +13,7 @@
;;; Copyright © 2021 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2022 Tomasz Jeneralczyk <tj@schwi.pl>
;;; Copyright © 2024 Nicolas Graves <ngraves@ngraves.fr>
+;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -75,8 +76,8 @@ (define-module (gnu packages benchmark)
;; Lazily resolve the gcc-toolchain to avoid a circular dependency.
(define gcc-toolchain*
- (delay (module-ref (resolve-interface '(gnu packages commencement))
- 'gcc-toolchain)))
+ (delay ((module-ref (resolve-interface '(gnu packages commencement))
+ 'current-gcc-toolchain))))
(define-public fio
(package
@@ -379,6 +380,7 @@ (define-public phoronix-test-suite
(list bash
coreutils
(force gcc-toolchain*)
+ gcc-toolchain*
gnu-make
gzip
php
diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm
index fcc1088fd6..8ae9621e5b 100644
--- a/gnu/packages/bootloaders.scm
+++ b/gnu/packages/bootloaders.scm
@@ -1707,7 +1707,7 @@ (define u-boot-ts-mx6
(add-before 'build 'adjust-for-current-gcc
(lambda _
(let ((gcc-major-version #$(version-major
- (package-version gcc))))
+ (package-version (current-gcc)))))
(copy-file "include/linux/compiler-gcc6.h"
(string-append "include/linux/compiler-gcc"
gcc-major-version ".h")))
diff --git a/gnu/packages/bootstrap.scm b/gnu/packages/bootstrap.scm
index 3743abf9fe..c4640b62e1 100644
--- a/gnu/packages/bootstrap.scm
+++ b/gnu/packages/bootstrap.scm
@@ -2,7 +2,7 @@
;;; Copyright © 2012-2020, 2024 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015, 2018, 2019 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2017, 2020, 2024 Efraim Flashner <efraim@flashner.co.il>
-;;; Copyright © 2018, 2020, 2022 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2018, 2020, 2022, 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2019 Carl Dong <contact@carldong.me>
;;; Copyright © 2019 Léo Le Bouter <lle-bout@zaclys.net>
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
@@ -311,7 +311,7 @@ (define* (glibc-dynamic-linker
gnu-triplet->nix-system)
(%current-system))))
"Return the name of Glibc's dynamic linker for SYSTEM."
- ;; See the 'SYSDEP_KNOWN_INTERPRETER_NAMES' cpp macro in libc.
+ ;; See the appropriate 'shlib-versions' file in libc.
(let ((platform (false-if-platform-not-found
(lookup-platform-by-system system))))
(cond
diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm
index 13fdb99424..f52a7c603e 100644
--- a/gnu/packages/c.scm
+++ b/gnu/packages/c.scm
@@ -6,7 +6,7 @@
;;; Copyright © 2019, 2020, 2022-2024 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2019, 2021 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2019 Andreas Enge <andreas@enge.fr>
-;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2020, 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2020, 2021 Marius Bakke <marius@gnu.org>
;;; Copyright © 2020 Katherine Cox-Buday <cox.katherine.e@gmail.com>
;;; Copyright © 2020, 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
@@ -178,7 +178,7 @@ (define-public cproc
(string-append "--with-ld=" #$(ld-for-target))
(string-append "--with-gcc-libdir=" gcc-lib))))))))
(inputs `(("qbe" ,qbe)
- ("gcc:lib" ,gcc "lib")))
+ ("gcc:lib" ,(current-gcc) "lib")))
(supported-systems (list "x86_64-linux" "aarch64-linux"))
(synopsis "Simple C11 compiler backed by QBE")
(description "@code{cproc} is a C compiler using QBE as a backend,
diff --git a/gnu/packages/chicken.scm b/gnu/packages/chicken.scm
index 3743ae3e2a..64fd3cb86b 100644
--- a/gnu/packages/chicken.scm
+++ b/gnu/packages/chicken.scm
@@ -2,6 +2,7 @@
;;; Copyright © 2020 Ekaitz Zarraga <ekaitz@elenq.tech>
;;; Copyright © 2020 Evan Hanson <evhan@foldling.org>
;;; Copyright © 2020 raingloom <raingloom@riseup.net>
+;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -69,9 +70,9 @@ (define-public chicken
(files (list "var/lib/chicken/11")))))
;; Reference gcc-toolchain lazily to avoid circular module dependency
;; problems.
- (propagated-inputs (list (module-ref (resolve-interface
- '(gnu packages commencement))
- 'gcc-toolchain)))
+ (propagated-inputs (list ((module-ref (resolve-interface
+ '(gnu packages commencement))
+ 'current-gcc-toolchain))))
(home-page "https://www.call-cc.org/")
(synopsis "R5RS Scheme implementation that compiles native code via C")
(description
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index ce40f0cea6..2b43759dac 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -73,7 +73,8 @@ (define-module (gnu packages commencement)
#:use-module (guix utils)
#:use-module (srfi srfi-1)
#:use-module (ice-9 vlist)
- #:use-module (ice-9 match))
+ #:use-module (ice-9 match)
+ #:export (current-gcc-toolchain))
;;; Commentary:
;;;
@@ -908,7 +909,7 @@ (define gcc-core-mesboot0
;; with gcc-2.95.3, binutils (2.14.0, 2.20.1a) and glibc-2.2.5 we found a
;; GNU toolchain triplet "that works".
(package
- (inherit gcc)
+ (inherit (current-gcc))
(name "gcc-core-mesboot0")
(version "2.95.3")
(source (origin
@@ -2319,19 +2320,19 @@ (define libstdc++-boot0-gcc7
(define gcc-boot0
(package
- (inherit gcc)
+ (inherit (current-gcc))
(name "gcc-cross-boot0")
- (outputs (delete "debug" (package-outputs gcc)))
+ (outputs (delete "debug" (package-outputs (current-gcc))))
(source
(bootstrap-origin
(origin
- (inherit (package-source gcc))
+ (inherit (package-source (current-gcc)))
(snippet
#~(begin
;; XXX: The GCC test suite contains files with non-ASCII file
;; names, which cannot be repacked by BOOTSTRAP-ORIGIN. Nor
;; can it be deleted from Guile, so resort to this evil hack.
- #$(origin-snippet (package-source gcc))
+ #$(origin-snippet (package-source (current-gcc)))
(system* #$(file-append (let-system system
;; 'coreutils-boot0' is Linux-only.
(if (target-hurd? system)
@@ -2348,7 +2349,7 @@ (define gcc-boot0
(ice-9 regex)
(srfi srfi-1)
(srfi srfi-26))
- (substitute-keyword-arguments (package-arguments gcc)
+ (substitute-keyword-arguments (package-arguments (current-gcc))
((#:configure-flags flags)
#~(append (list #$(string-append "--target=" (boot-triplet))
@@ -2436,7 +2437,7 @@ (define gcc-boot0
(with-directory-excursion
(string-append out "/lib/gcc/"
#$(boot-triplet)
- "/" #$(package-version gcc))
+ "/" #$(package-version (current-gcc)))
(symlink "libgcc.a" "libgcc_eh.a"))))))))))
(inputs `(("gmp-source" ,(bootstrap-origin (package-source gmp-6.0)))
@@ -2951,7 +2952,7 @@ (define/system-dependent glibc-final-with-bootstrap-bash
(define (cross-gcc-wrapper gcc binutils glibc bash)
"Return a wrapper for the pseudo-cross toolchain GCC/BINUTILS/GLIBC
that makes it available under the native tool names."
- (package (inherit gcc)
+ (package (inherit (current-gcc))
(name (string-append (package-name gcc) "-wrapped"))
(source #f)
(build-system trivial-build-system)
@@ -3218,7 +3219,7 @@ (define gcc-final
(srfi srfi-26)
,@%default-gnu-modules)
- (substitute-keyword-arguments (package-arguments gcc)
+ (substitute-keyword-arguments (package-arguments (current-gcc))
((#:make-flags flags)
;; Since $LIBRARY_PATH is not honored, add the relevant flags.
#~(let ((zlib (assoc-ref %build-inputs "zlib")))
@@ -3541,8 +3542,8 @@ (define* (make-gcc-toolchain gcc
(let ((gcc (if libc (make-gcc-libc gcc libc) gcc))
(libc (if libc libc glibc-final)))
(package
- (name (string-append (package-name gcc) "-toolchain"))
- (version (package-version gcc))
+ (name (string-append (package-name (current-gcc)) "-toolchain"))
+ (version (package-version (current-gcc)))
(source #f)
(build-system trivial-build-system)
(arguments
@@ -3639,13 +3640,17 @@ (define-public gcc-toolchain-14
(make-gcc-toolchain gcc-14))
;; The default GCC
-(define-public gcc-toolchain
+(define (current-gcc-toolchain)
+ "The current default gcc-toolchain version."
gcc-toolchain-11)
+(define-public gcc-toolchain
+ (deprecated-package "gcc-toolchain" gcc-toolchain-11))
+
(define-public gcc-toolchain-aka-gcc
;; It's natural for users to try "guix install gcc". This package
;; automatically "redirects" them to 'gcc-toolchain'.
- (deprecated-package "gcc" gcc-toolchain))
+ (deprecated-package "gcc" (current-gcc-toolchain)))
(define-public gdc-toolchain-10
diff --git a/gnu/packages/containers.scm b/gnu/packages/containers.scm
index d32bc2704a..78304cebbc 100644
--- a/gnu/packages/containers.scm
+++ b/gnu/packages/containers.scm
@@ -8,6 +8,7 @@
;;; Copyright © 2024 Tomas Volf <~@wolfsden.cz>
;;; Copyright © 2024 Foundation Devices, Inc. <hello@foundation.xyz>
;;; Copyright © 2024 Jean-Pierre De Jesus DIAZ <jean@foundation.xyz>
+;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -533,7 +534,7 @@ (define-public podman
(,(string-append #$catatonit "/bin")
,(string-append #$conmon "/bin")
,(string-append #$crun "/bin")
- ,(string-append #$gcc "/bin") ; cpp
+ ,(string-append #$(current-gcc) "/bin") ; cpp
,(string-append #$iptables "/sbin")
,(string-append #$passt "/bin")
,(string-append #$procps "/bin") ; ps
@@ -667,7 +668,7 @@ (define-public buildah
(,(string-append #$output "/_guix")))
`("PATH" suffix
(,(string-append #$crun "/bin")
- ,(string-append #$gcc "/bin") ; cpp
+ ,(string-append #$(current-gcc) "/bin") ; cpp
,(string-append #$passt "/bin")
"/run/privileged/bin")))))
(add-after 'install 'install-completions
diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm
index cecc21083e..9c701efae8 100644
--- a/gnu/packages/cross-base.scm
+++ b/gnu/packages/cross-base.scm
@@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013-2018, 2020, 2023-2024 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015, 2018 Mark H Weaver <mhw@netris.org>
-;;; Copyright © 2016, 2019, 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2016, 2019, 2023, 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2016 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019, 2020, 2021 Marius Bakke <marius@gnu.org>
@@ -61,7 +61,7 @@ (define-syntax %xgcc
;;
;; Note: This is a macro so that we do not refer to 'gcc' from the top
;; level, which would lead to circular-dependency issues.
- (identifier-syntax gcc))
+ (identifier-syntax (current-gcc)))
(define %gcc-include-paths
;; Environment variables for header search paths.
diff --git a/gnu/packages/dlang.scm b/gnu/packages/dlang.scm
index 8bf0ee685e..654d5b2281 100644
--- a/gnu/packages/dlang.scm
+++ b/gnu/packages/dlang.scm
@@ -9,6 +9,7 @@
;;; Copyright © 2021, 2024 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2022 ( <paren@disroot.org>
;;; Copyright © 2022 Esther Flashner <esther@flashner.co.il>
+;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -426,7 +427,7 @@ (define dmd-bootstrap
(build-system gnu-build-system)
(arguments
(list
- #:disallowed-references (list (gexp-input (canonical-package gcc)
+ #:disallowed-references (list (gexp-input (canonical-package (current-gcc))
"lib"))
;; Disable tests, as gdmd cannot cope with some arguments used such as
;; '-conf'.
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index 6f449f0c39..07f3edd4dd 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -2336,8 +2336,8 @@ (define-public freehdl
coreutils
;; Lazily resolve the gcc-toolchain to avoid a circular dependency.
- (module-ref (resolve-interface '(gnu packages commencement))
- 'gcc-toolchain)
+ ((module-ref (resolve-interface '(gnu packages commencement))
+ 'current-gcc-toolchain))
guile-2.2
perl
diff --git a/gnu/packages/gawk.scm b/gnu/packages/gawk.scm
index 6a77a692f5..a8b8369d7b 100644
--- a/gnu/packages/gawk.scm
+++ b/gnu/packages/gawk.scm
@@ -4,6 +4,7 @@
;;; Copyright © 2018, 2022-2024 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2021, 2022 Marius Bakke <marius@gnu.org>
;;; Copyright © 2022 Paul A. Patience <paul@apatience.com>
+;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -227,7 +228,7 @@ (define-public cppawk
(inputs
(list coreutils ; For dirname, mktemp, printf, rm
gawk-mpfr ; Default variant, but supports others
- gcc ; For cpp
+ (current-gcc) ; For cpp
sed))
(home-page "https://www.kylheku.com/cgit/cppawk/")
(synopsis "Wrapper script that adds C preprocessing to Awk")
diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index c9e475b676..3b5d05b9a9 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -17,6 +17,7 @@
;;; Copyright © 2023 Bruno Victal <mirai@makinata.eu>
;;; Copyright © 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2024 Nguyễn Gia Phong <mcsinyx@disroot.org>
+;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -57,7 +58,8 @@ (define-module (gnu packages gcc)
#:use-module (guix utils)
#:use-module (srfi srfi-1)
#:use-module (ice-9 match)
- #:use-module (ice-9 regex))
+ #:use-module (ice-9 regex)
+ #:export (current-gcc))
(define %gcc-infrastructure
;; Base URL for GCC's infrastructure.
@@ -857,7 +859,12 @@ (define-public gcc-14
;; Note: When changing the default gcc version, update
;; the gcc-toolchain-* definitions.
-(define-public gcc gcc-11)
+(define (current-gcc)
+ "The current default gcc version."
+ gcc-11)
+
+(define-public gcc
+ (deprecated-package "gcc" gcc-11))
\f
;;;
@@ -868,7 +875,7 @@ (define-public gcc-2.95
;; Note: 'gcc-core-mesboot0' in commencement.scm provides 2.95 as well, but
;; with additional tricks to support compilation with TinyCC and Mes-libc.
(package
- (inherit gcc)
+ (inherit (current-gcc))
(version "2.95.3")
(source (origin
(method url-fetch)
@@ -1045,7 +1052,7 @@ (define-public (make-libstdc++ gcc)
(define libstdc++
;; Libstdc++ matching the default GCC.
- (make-libstdc++ gcc))
+ (make-libstdc++ (current-gcc)))
(define libstdc++-headers
;; XXX: This package is for internal use to work around
@@ -1100,7 +1107,7 @@ (define (make-libiberty gcc)
(synopsis "Collection of subroutines used by various GNU programs")))
(define-public libiberty
- (make-libiberty gcc))
+ (make-libiberty (current-gcc)))
(define* (custom-gcc gcc name languages
#:optional
@@ -1157,7 +1164,7 @@ (define-public gfortran-13
(define-public gfortran
(hidden-package
- (custom-gcc gcc
+ (custom-gcc (current-gcc)
"gfortran" '("fortran")
%generic-search-paths)))
@@ -1186,7 +1193,7 @@ (define-public gdc-11
;;; Alias tracking the latest GDC version.
(define-public gdc
(hidden-package
- (custom-gcc gcc "gdc" '("d")
+ (custom-gcc (current-gcc) "gdc" '("d")
%generic-search-paths)))
(define-public (make-libgccjit gcc)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 00dde61f2c..27e0db9cb1 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -47,6 +47,7 @@
;;; Copyright © 2024 Greg Hogan <code@greghogan.com>
;;; Copyright © 2024 Brennan Vincent <brennan@umanwizard.com>
;;; Copyright © 2024 André Batista <nandre@riseup.net>
+;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -253,7 +254,7 @@ (define-public go-1.4
(inputs
`(("tzdata" ,tzdata)
("pcre" ,pcre)
- ("gcc:lib" ,(canonical-package gcc) "lib")))
+ ("gcc:lib" ,(canonical-package (current-gcc)) "lib")))
(native-inputs
(list pkg-config which net-base perl))
diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
index 77385ee6e0..3860da608e 100644
--- a/gnu/packages/julia-xyz.scm
+++ b/gnu/packages/julia-xyz.scm
@@ -6,6 +6,7 @@
;;; Copyright © 2021 jgart <jgart@dismail.de>
;;; Copyright © 2023 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2024 Spencer King <spencer.king@geneoscopy.com>
+;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -5170,7 +5171,7 @@ (define-public julia-quadmath
(propagated-inputs
(list julia-requires))
(inputs
- `(("gcc:lib" ,gcc "lib")))
+ `(("gcc:lib" ,(current-gcc) "lib")))
(native-inputs
(list julia-specialfunctions))
(home-page "https://github.com/JuliaMath/Quadmath.jl")
diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 6c16d8ab71..8dc3208327 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -29,6 +29,7 @@
;;; Copyright © 2024 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2024 bigbug <bigbookofbug@proton.me>
;;; Copyright © 2024 Ashish SHUKLA <ashish.is@lostca.se>
+;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -388,7 +389,7 @@ (define-public clasp-cl
(base32 "10jjhcid6qp64gx29iyy5rqqijwy8hrvx66f0xabdj8w3007ky39"))))
(build-system gnu-build-system)
(inputs
- (list boost clang-15 fmt `(,gcc "lib") gmp libelf libunwind llvm-15))
+ (list boost clang-15 fmt `(,(current-gcc) "lib") gmp libelf libunwind llvm-15))
(native-inputs
(list binutils-gold ninja pkg-config sbcl))
(arguments
diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm
index 9f851a478e..cd2ad311a0 100644
--- a/gnu/packages/llvm.scm
+++ b/gnu/packages/llvm.scm
@@ -27,6 +27,7 @@
;;; Copyright © 2022 Zhu Zihao <all_but_last@163.com>
;;; Copyright © 2023 Hilton Chain <hako@ultrarare.space>
;;; Copyright © 2023, 2024 Zheng Junjie <873216071@qq.com>
+;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -89,8 +90,8 @@ (define-module (gnu packages llvm)
;; Lazily resolve the gcc-toolchain to avoid a circular dependency.
(define gcc-toolchain*
- (delay (module-ref (resolve-interface '(gnu packages commencement))
- 'gcc-toolchain)))
+ (delay ((module-ref (resolve-interface '(gnu packages commencement))
+ 'current-gcc-toolchain))))
(define* (system->llvm-target #:optional
(system (or (and=> (%current-target-system)
@@ -250,7 +251,7 @@ (define* (clang-from-llvm llvm clang-runtime
(native-inputs (package-native-inputs llvm))
(inputs
`(("libxml2" ,libxml2)
- ("gcc-lib" ,gcc "lib")
+ ("gcc-lib" ,(current-gcc) "lib")
,@(package-inputs llvm)
,@(if tools-extra
`(("clang-tools-extra" ,tools-extra))
diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm
index edc536bff4..c6293b9a38 100644
--- a/gnu/packages/make-bootstrap.scm
+++ b/gnu/packages/make-bootstrap.scm
@@ -3,7 +3,7 @@
;;; Copyright © 2017, 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2019 Mark H Weaver <mhw@netris.org>
-;;; Copyright © 2018, 2019, 2021, 2022, 2023 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2018, 2019, 2021, 2022, 2023, 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2019, 2020, 2022 Marius Bakke <marius@gnu.org>
;;; Copyright © 2020 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2021 Pierre Langlois <pierre.langlois@gmx.com>
@@ -108,13 +108,13 @@ (define gcc-for-bootstrap
(mlambdaq (glibc)
"Return a variant of GCC that uses the bootstrap variant of GLIBC."
(package
- (inherit gcc)
+ (inherit (current-gcc))
(outputs '("out")) ;all in one so libgcc_s is easily found
(inputs
`( ;; Distinguish the name so we can refer to it below.
("bootstrap-libc" ,(glibc-for-bootstrap glibc))
("libc:static" ,(glibc-for-bootstrap glibc) "static")
- ,@(package-inputs gcc))))))
+ ,@(package-inputs (current-gcc)))))))
(define (package-with-relocatable-glibc p)
"Return a variant of P that uses the libc as defined by
@@ -153,7 +153,7 @@ (define (package-with-relocatable-glibc p)
(cons (search-path-specification
(variable "CROSS_CPLUS_INCLUDE_PATH")
(files '("include")))
- (package-search-paths gcc)))))
+ (package-search-paths (current-gcc))))))
("cross-binutils" ,(cross-binutils target))
,@(%final-inputs)))
`(("libc" ,(glibc-for-bootstrap glibc))
@@ -481,11 +481,11 @@ (define (%glibc-stripped)
(define %gcc-static
;; A statically-linked GCC, with stripped-down functionality.
(package-with-relocatable-glibc
- (package (inherit gcc)
+ (package (inherit (current-gcc))
(name "gcc-static")
(outputs '("out")) ; all in one
(arguments
- (substitute-keyword-arguments (package-arguments gcc)
+ (substitute-keyword-arguments (package-arguments (current-gcc))
((#:modules modules %default-gnu-modules)
`((srfi srfi-1)
(srfi srfi-26)
@@ -536,7 +536,7 @@ (define %gcc-static
(inputs
`(("zlib:static" ,zlib "static")
("isl:static" ,isl "static")
- ,@(package-inputs gcc)))
+ ,@(package-inputs (current-gcc))))
(native-inputs
(if (%current-target-system)
`(;; When doing a Canadian cross, we need GMP/MPFR/MPC both
@@ -549,13 +549,13 @@ (define %gcc-static
("gmp-native" ,gmp)
("mpfr-native" ,mpfr)
("mpc-native" ,mpc)
- ,@(package-native-inputs gcc))
- (package-native-inputs gcc))))))
+ ,@(package-native-inputs (current-gcc)))
+ (package-native-inputs (current-gcc)))))))
(define %gcc-stripped
;; The subset of GCC files needed for bootstrap.
(package
- (inherit gcc)
+ (inherit (current-gcc))
(name "gcc-stripped")
(build-system trivial-build-system)
(source #f)
diff --git a/gnu/packages/mpi.scm b/gnu/packages/mpi.scm
index bc1fd797d6..e956167137 100644
--- a/gnu/packages/mpi.scm
+++ b/gnu/packages/mpi.scm
@@ -9,6 +9,7 @@
;;; Copyright © 2018 Paul Garlick <pgarlick@tourbillion-technology.com>
;;; Copyright © 2019, 2021 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2024 Romain Garbage <romain.garbage@inria.fr>
+;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -378,7 +379,7 @@ (define-public openmpi-5
"ompi/tools/ompi_info/param.c")
(("_ABSOLUTE") "")))))
- #:disallowed-references (list (canonical-package gcc))))))
+ #:disallowed-references (list (canonical-package (current-gcc)))))))
(define-public openmpi-c++
(package/inherit openmpi
diff --git a/gnu/packages/parallel.scm b/gnu/packages/parallel.scm
index 85f8a114c3..c0e3f44bcd 100644
--- a/gnu/packages/parallel.scm
+++ b/gnu/packages/parallel.scm
@@ -15,6 +15,7 @@
;;; Copyright © 2024 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2024 David Elsing <david.elsing@posteo.net>
;;; Copyright © 2024 Romain Garbage <romain.garbage@inria.fr>
+;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -665,7 +666,7 @@ (define-public openpmix
;; Don't keep a reference to GCC.
#:disallowed-references (and (not (%current-target-system))
- (list (canonical-package gcc)))
+ (list (canonical-package (current-gcc))))
#:phases
#~(modify-phases %standard-phases
@@ -737,7 +738,7 @@ (define-public prrte
(string-append "prte_launch_agent = \""
#$output "/bin/prted\";\n"))))))
- #:disallowed-references (list (canonical-package gcc))))
+ #:disallowed-references (list (canonical-package (current-gcc)))))
(inputs (list libevent
`(,hwloc "lib")
openpmix))
diff --git a/gnu/packages/rocm.scm b/gnu/packages/rocm.scm
index e883371928..2f315e3985 100644
--- a/gnu/packages/rocm.scm
+++ b/gnu/packages/rocm.scm
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2021 Lars-Dominik Braun <lars@6xq.net>
;;; Copyright © 2022, 2023 John Kehayias <john.kehayias@protonmail.com>
+;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This program is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
@@ -131,7 +132,7 @@ (define-public roct-thunk-interface
(build-system cmake-build-system)
(arguments `(#:tests? #f)) ; Not sure how to run tests.
(inputs (list libdrm numactl))
- (native-inputs (list `(,gcc "lib") pkg-config))
+ (native-inputs (list `(,(current-gcc) "lib") pkg-config))
(home-page "https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface")
(synopsis "Radeon Open Compute Thunk Interface")
(description "User-mode API interfaces used to interact with the ROCk
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [bug#74290] [PATCH 05/31] gnu: Add basic support for x86_64-pc-gnu target, aka 64bit Hurd.
2024-11-10 10:32 [bug#74290] [PATCH 00/31] Add support for x86_64-gnu, aka the 64bit Hurd Janneke Nieuwenhuizen
` (3 preceding siblings ...)
2024-11-10 10:38 ` [bug#74290] [PATCH 04/31] gnu: gcc: Add indirections current-gcc, current-gcc-toolchain Janneke Nieuwenhuizen
@ 2024-11-10 10:38 ` Janneke Nieuwenhuizen
2024-11-10 10:38 ` [bug#74290] [PATCH 06/31] gnu: cross-libc: Support cross-building for the " Janneke Nieuwenhuizen
` (27 subsequent siblings)
32 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2024-11-10 10:38 UTC (permalink / raw)
To: 74290
Cc: Andreas Enge, Christopher Baines, Efraim Flashner, Ekaitz Zarraga,
Josselin Poiret, Ludovic Courtès, Mathieu Othacehe,
Simon Tournier, Tobias Geerinckx-Rice
* gnu/packages/bootstrap.scm (glibc-dynamic-linker): Update comment on where
to find shared linker name.
* guix/platforms/x86.scm (x86_64-gnu): New exported variable.
* guix/utils.scm (target-hurd64? system-hurd64?): New procedures.
* gnu/packages/gcc.scm: (current-gcc): Use target-hurd64? in new procedure to
select gcc-14 on 64bit Hurd.
(libstdc++): Change to procedure.
(libstdc++-headers): Update accordingly.
* gnu/packages/commencement.scm (current-gcc-toolchain): Likewise, to select
gcc-toolchain-14 on 64bit Hurd.
* gnu/packages/cross-base.scm (%xgcc): Use current-gcc.
(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):
Capture (current-gcc) before resetting %current-target-system.
[native-inputs]: Move final-inputs before cross-packages.
(%glibc-stripped): Likewise.
(%gcc-static): Change to procedure.
(%gcc-stripped): Likewise, update accordingly.
(%gcc-bootstrap-tarball): Likewise, update accordingly.
* gnu/ci.scm (%core-packages): Update accordingly.
* gnu/packages/patches/gcc-14-cross-without-bootstrap.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/cross-base.scm (cross-gcc)[origin]: Use it when
cross-building gcc >= 14.
Change-Id: I4ae189e7e5188ced91744b89fe9d753b6a1fca78
---
gnu/ci.scm | 4 ++--
gnu/packages/commencement.scm | 6 +++--
gnu/packages/cross-base.scm | 6 ++---
gnu/packages/gcc.scm | 32 +++++++++++++-------------
gnu/packages/make-bootstrap.scm | 40 +++++++++++++++++++++------------
guix/platforms/x86.scm | 11 ++++++++-
guix/utils.scm | 15 ++++++++++++-
7 files changed, 76 insertions(+), 38 deletions(-)
diff --git a/gnu/ci.scm b/gnu/ci.scm
index 4e282d197f..e7e839d968 100644
--- a/gnu/ci.scm
+++ b/gnu/ci.scm
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012-2024 Ludovic Courtès <ludo@gnu.org>
-;;; Copyright © 2017, 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2017, 2020, 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2018, 2019 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2020 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2020, 2021 Mathieu Othacehe <othacehe@gnu.org>
@@ -146,7 +146,7 @@ (define %core-packages
%bootstrap-binaries-tarball
%binutils-bootstrap-tarball
(%glibc-bootstrap-tarball)
- %gcc-bootstrap-tarball
+ (%gcc-bootstrap-tarball)
%guile-bootstrap-tarball
%bootstrap-tarballs))
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index 2b43759dac..682deb89cf 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -3642,10 +3642,12 @@ (define-public gcc-toolchain-14
;; The default GCC
(define (current-gcc-toolchain)
"The current default gcc-toolchain version."
- gcc-toolchain-11)
+ (if (target-hurd64?)
+ gcc-toolchain-14
+ gcc-toolchain-11))
(define-public gcc-toolchain
- (deprecated-package "gcc-toolchain" gcc-toolchain-11))
+ (deprecated-package "gcc-toolchain" (current-gcc-toolchain)))
(define-public gcc-toolchain-aka-gcc
;; It's natural for users to try "guix install gcc". This package
diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm
index 9c701efae8..7b32a6b64e 100644
--- a/gnu/packages/cross-base.scm
+++ b/gnu/packages/cross-base.scm
@@ -641,9 +641,9 @@ (define* (cross-kernel-headers* target
("hurd-headers" ,xhurd-headers)
("hurd-minimal" ,xhurd-minimal)))))
- (match target
- ((or "i586-pc-gnu" "i586-gnu") xhurd-core-headers)
- (_ xlinux-headers)))
+ (if (target-hurd? target)
+ xhurd-core-headers
+ xlinux-headers))
(define* (cross-libc . args)
(if (or (= (length args) 1) (contains-keyword? args))
diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index 3b5d05b9a9..fc3746fb05 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -861,10 +861,12 @@ (define-public gcc-14
;; the gcc-toolchain-* definitions.
(define (current-gcc)
"The current default gcc version."
- gcc-11)
+ (if (target-hurd64?)
+ gcc-14
+ gcc-11))
(define-public gcc
- (deprecated-package "gcc" gcc-11))
+ (deprecated-package "gcc" (current-gcc)))
\f
;;;
@@ -903,15 +905,15 @@ (define-public gcc-2.95
(outputs '("out"))
(arguments
(let ((matching-system
- (match (%current-system)
- ;; This package predates our 64-bit architectures.
- ;; Force a 32-bit build targeting a similar architecture.
- ("aarch64-linux"
- "armhf-linux")
- ("x86_64-linux"
- "i686-linux")
- (_
- (%current-system)))))
+ (match (%current-system)
+ ;; This package predates our 64-bit architectures.
+ ;; Force a 32-bit build targeting a similar architecture.
+ ("aarch64-linux"
+ "armhf-linux")
+ ("x86_64-linux"
+ "i686-linux")
+ (_
+ (%current-system)))))
(list #:system matching-system
#:configure-flags #~'("--disable-werror")
@@ -1050,8 +1052,8 @@ (define-public (make-libstdc++ gcc)
(propagated-inputs '())
(synopsis "GNU C++ standard library")))
-(define libstdc++
- ;; Libstdc++ matching the default GCC.
+(define (current-libstdc++)
+ ;; Libstdc++ matching the CURRENT-GCC.
(make-libstdc++ (current-gcc)))
(define libstdc++-headers
@@ -1061,7 +1063,7 @@ (define libstdc++-headers
;; is right under include/c++ and not under
;; include/c++/x86_64-unknown-linux-gnu (aka. GPLUSPLUS_TOOL_INCLUDE_DIR).
(package
- (inherit libstdc++)
+ (inherit (current-libstdc++))
(name "libstdc++-headers")
(outputs '("out"))
(build-system trivial-build-system)
@@ -1072,7 +1074,7 @@ (define libstdc++-headers
(mkdir (string-append out "/include"))
(symlink (string-append libstdc++ "/include")
(string-append out "/include/c++")))))
- (inputs `(("libstdc++" ,libstdc++)))
+ (inputs `(("libstdc++" ,(current-libstdc++))))
(synopsis "Headers of GNU libstdc++")))
(define-public libstdc++-4.9
diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm
index c6293b9a38..18281198ba 100644
--- a/gnu/packages/make-bootstrap.scm
+++ b/gnu/packages/make-bootstrap.scm
@@ -124,8 +124,11 @@ (define (package-with-relocatable-glibc p)
(glibc-for-bootstrap
;; `cross-libc' already returns a cross libc, so clear
;; %CURRENT-TARGET-SYSTEM.
- (parameterize ((%current-target-system #f))
- (cross-libc target))))
+ (let ((xgcc (cross-gcc target #:xgcc (current-gcc))))
+ (parameterize ((%current-target-system #f))
+ (cross-libc target #:xgcc xgcc
+ #:xheaders (cross-kernel-headers
+ target #:xgcc xgcc))))))
;; Standard inputs with the above libc and corresponding GCC.
@@ -145,7 +148,10 @@ (define (package-with-relocatable-glibc p)
target
#:xbinutils (cross-binutils target)
#:libc (cross-bootstrap-libc target))))
- `(("cross-gcc" ,(package
+ `(,@(%final-inputs)
+ ;; As versions for gcc and cross-gcc can differ, make sure to have
+ ;; cross-gcc behind gcc in CPLUS_INCLUDE_PATH.
+ ("cross-gcc" ,(package
(inherit xgcc)
(search-paths
;; Ensure the cross libc headers appears on the
@@ -154,8 +160,7 @@ (define (package-with-relocatable-glibc p)
(variable "CROSS_CPLUS_INCLUDE_PATH")
(files '("include")))
(package-search-paths (current-gcc))))))
- ("cross-binutils" ,(cross-binutils target))
- ,@(%final-inputs)))
+ ("cross-binutils" ,(cross-binutils target))))
`(("libc" ,(glibc-for-bootstrap glibc))
("libc:static" ,(glibc-for-bootstrap glibc) "static")
("gcc" ,(gcc-for-bootstrap glibc))
@@ -446,7 +451,8 @@ (define (%glibc-stripped)
;; GNU libc's essential shared libraries, dynamic linker, and headers,
;; with all references to store directories stripped. As a result,
;; libc.so is unusable and need to be patched for proper relocation.
- (let ((glibc (glibc-for-bootstrap glibc)))
+ (let ((glibc (glibc-for-bootstrap glibc))
+ (gcc (current-gcc)))
(package (inherit glibc)
(name "glibc-stripped")
(build-system trivial-build-system)
@@ -463,8 +469,13 @@ (define (%glibc-stripped)
`(("libc" ,(let ((target (%current-target-system)))
(if target
(glibc-for-bootstrap
- (parameterize ((%current-target-system #f))
- (cross-libc target)))
+ (let* ((xgcc (cross-gcc target #:xgcc gcc))
+ (xheaders (cross-kernel-headers target
+ #:xgcc xgcc)))
+ (parameterize ((%current-target-system #f))
+ (cross-libc target
+ #:xgcc xgcc
+ #:xheaders xheaders))))
glibc)))))
(inputs
`(("kernel-headers"
@@ -478,11 +489,12 @@ (define (%glibc-stripped)
;; Only one output.
(outputs '("out")))))
-(define %gcc-static
+(define (%gcc-static)
;; A statically-linked GCC, with stripped-down functionality.
(package-with-relocatable-glibc
(package (inherit (current-gcc))
(name "gcc-static")
+ (source (package-source (current-gcc)))
(outputs '("out")) ; all in one
(arguments
(substitute-keyword-arguments (package-arguments (current-gcc))
@@ -552,7 +564,7 @@ (define %gcc-static
,@(package-native-inputs (current-gcc)))
(package-native-inputs (current-gcc)))))))
-(define %gcc-stripped
+(define (%gcc-stripped)
;; The subset of GCC files needed for bootstrap.
(package
(inherit (current-gcc))
@@ -575,7 +587,7 @@ (define %gcc-stripped
(libdir (string-append out "/lib"))
(includedir (string-append out "/include"))
(libexecdir (string-append out "/libexec"))
- (gcc #$%gcc-static))
+ (gcc #$(%gcc-static)))
(copy-recursively (string-append gcc "/bin") bindir)
(for-each remove-store-references
(find-files bindir ".*"))
@@ -813,9 +825,9 @@ (define (%glibc-bootstrap-tarball)
;; A tarball with GNU libc's shared libraries, dynamic linker, and headers.
(tarball-package (%glibc-stripped)))
-(define %gcc-bootstrap-tarball
+(define (%gcc-bootstrap-tarball)
;; A tarball with a dynamic-linked GCC and its headers.
- (tarball-package %gcc-stripped))
+ (tarball-package (%gcc-stripped)))
(define %guile-bootstrap-tarball
;; A tarball with the statically-linked, relocatable Guile.
@@ -856,7 +868,7 @@ (define %bootstrap-tarballs
((or "i686-linux" "x86_64-linux")
(list %linux-libre-headers-bootstrap-tarball))
(_
- (list %gcc-bootstrap-tarball
+ (list (%gcc-bootstrap-tarball)
%binutils-bootstrap-tarball
(%glibc-bootstrap-tarball)
%bootstrap-binaries-tarball)))))
diff --git a/guix/platforms/x86.scm b/guix/platforms/x86.scm
index 0c8fc7296c..5617e6dd68 100644
--- a/guix/platforms/x86.scm
+++ b/guix/platforms/x86.scm
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2022 Mathieu Othacehe <othacehe@gnu.org>
;;; Copyright © 2023, 2024 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -25,7 +26,8 @@ (define-module (guix platforms x86)
x86_64-linux-x32
i686-mingw
x86_64-mingw
- i586-gnu))
+ i586-gnu
+ x86_64-gnu))
(define i686-linux
(platform
@@ -71,3 +73,10 @@ (define i586-gnu
(system "i586-gnu")
(rust-target "i686-unknown-hurd-gnu")
(glibc-dynamic-linker "/lib/ld.so.1")))
+
+(define x86_64-gnu
+ (platform
+ (target "x86_64-pc-gnu")
+ (system "x86_64-gnu")
+ (rust-target "x86_64-unknown-hurd-gnu")
+ (glibc-dynamic-linker "/lib/ld-x86-64.so.1")))
diff --git a/guix/utils.scm b/guix/utils.scm
index f161cb4ef3..e100c03365 100644
--- a/guix/utils.scm
+++ b/guix/utils.scm
@@ -17,7 +17,7 @@
;;; Copyright © 2022 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
;;; Copyright © 2022 Antero Mejr <antero@mailbox.org>
;;; Copyright © 2023 Philip McGrath <philip@philipmcgrath.com>
-;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2023, 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2023 Foundation Devices, Inc. <hello@foundationdevices.com>
;;; Copyright © 2024 Herman Rimm <herman@rimm.ee>
@@ -94,6 +94,8 @@ (define-module (guix utils)
target-linux?
target-hurd?
system-hurd?
+ target-hurd64?
+ system-hurd64?
target-mingw?
target-x86-32?
target-x86-64?
@@ -716,6 +718,17 @@ (define* (system-hurd?)
"Is the current system the GNU(/Hurd) system?"
(and=> (%current-system) target-hurd?))
+(define* (target-hurd64? #:optional (target (or (%current-target-system)
+ (%current-system))))
+ "Does TARGET represent the 64bit GNU(/Hurd) system?"
+ (and (target-hurd?)
+ (target-64bit? target)))
+
+(define* (system-hurd64?)
+ "Is the current system the 64bit GNU(/Hurd) system?"
+ (and (system-hurd?)
+ (target-64bit? (%current-system))))
+
(define* (target-mingw? #:optional (target (%current-target-system)))
"Is the operating system of TARGET Windows?"
(and target
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [bug#74290] [PATCH 06/31] gnu: cross-libc: Support cross-building for the 64bit Hurd.
2024-11-10 10:32 [bug#74290] [PATCH 00/31] Add support for x86_64-gnu, aka the 64bit Hurd Janneke Nieuwenhuizen
` (4 preceding siblings ...)
2024-11-10 10:38 ` [bug#74290] [PATCH 05/31] gnu: Add basic support for x86_64-pc-gnu target, aka 64bit Hurd Janneke Nieuwenhuizen
@ 2024-11-10 10:38 ` Janneke Nieuwenhuizen
2024-11-10 10:38 ` [bug#74290] [PATCH 07/31] gnu: bash-minimal: Fix build for " Janneke Nieuwenhuizen
` (26 subsequent siblings)
32 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2024-11-10 10:38 UTC (permalink / raw)
To: 74290; +Cc: Andreas Enge, Ludovic Courtès
* gnu/packages/base.scm (glibc)[arguments]: When building for the Hurd, in
phase "create-machine-symlink", do not assume CPU is i386, also cater for
x86_64.
* gnu/packages/cross-base.scm (cross-libc*)[arguments]: Likewise.
Change-Id: Ib009b7bd301b543b8629382330cca9d963b7a812
---
gnu/packages/base.scm | 18 ++++++++++++------
gnu/packages/cross-base.scm | 17 +++++++++++------
2 files changed, 23 insertions(+), 12 deletions(-)
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index 4e8121ae2c..02ef71f20d 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -1079,7 +1079,7 @@ (define-public glibc
(string-append locale "/C.UTF-8")))))
,@(if (target-hurd?)
- '((add-after 'install 'augment-libc.so
+ `((add-after 'install 'augment-libc.so
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(substitute* (string-append out "/lib/libc.so")
@@ -1088,11 +1088,17 @@ (define-public glibc
" libmachuser.so libhurduser.so"))))))
(add-after 'install 'create-machine-symlink
(lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out"))
- (cpu "i386"))
- (symlink cpu
- (string-append out
- "/include/mach/machine"))))))
+ (let* ((out (assoc-ref outputs "out"))
+ (cpu ,(match (or (%current-target-system)
+ (%current-system))
+ ((? target-x86-32?)
+ "i386")
+ ((? target-x86-64?)
+ "x86_64")))
+ (machine (string-append
+ out "/include/mach/machine")))
+ (unless (file-exists? machine)
+ (symlink cpu machine))))))
'()))))
(inputs `(("static-bash" ,static-bash)))
diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm
index 7b32a6b64e..3827e87aec 100644
--- a/gnu/packages/cross-base.scm
+++ b/gnu/packages/cross-base.scm
@@ -738,7 +738,7 @@ (define* (cross-libc* target
(delete 'install-utf8-c-locale)
,@(if (target-hurd? target)
- '((add-after 'install 'augment-libc.so
+ `((add-after 'install 'augment-libc.so
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(substitute* (string-append out "/lib/libc.so")
@@ -747,11 +747,16 @@ (define* (cross-libc* target
" libmachuser.so libhurduser.so"))))))
(add-after 'install 'create-machine-symlink
(lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out"))
- (cpu "i386"))
- (symlink cpu
- (string-append out
- "/include/mach/machine"))))))
+ (let* ((out (assoc-ref outputs "out"))
+ (cpu ,(match target
+ ((? target-x86-32?)
+ "i386")
+ ((? target-x86-64?)
+ "x86_64")))
+ (machine (string-append
+ out "/include/mach/machine")))
+ (unless (file-exists? machine)
+ (symlink cpu machine))))))
'())))))
;; Shadow the native "kernel-headers" because glibc's recipe expects the
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [bug#74290] [PATCH 07/31] gnu: bash-minimal: Fix build for 64bit Hurd.
2024-11-10 10:32 [bug#74290] [PATCH 00/31] Add support for x86_64-gnu, aka the 64bit Hurd Janneke Nieuwenhuizen
` (5 preceding siblings ...)
2024-11-10 10:38 ` [bug#74290] [PATCH 06/31] gnu: cross-libc: Support cross-building for the " Janneke Nieuwenhuizen
@ 2024-11-10 10:38 ` Janneke Nieuwenhuizen
2024-11-10 10:38 ` [bug#74290] [PATCH 08/31] gnu: elfutils: " Janneke Nieuwenhuizen
` (25 subsequent siblings)
32 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2024-11-10 10:38 UTC (permalink / raw)
To: 74290
* gnu/packages/bash-minimal.scm (bash)[arguments]: When building with gcc >=
14 use "CFLAGS=-Wno-implicit-function-declaration".
Change-Id: I3fd2da7a1d9011b155084dceadbad649dbb2a1b9
---
gnu/packages/bash.scm | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/gnu/packages/bash.scm b/gnu/packages/bash.scm
index 93641a78d5..1a3b014ad7 100644
--- a/gnu/packages/bash.scm
+++ b/gnu/packages/bash.scm
@@ -8,6 +8,7 @@
;;; Copyright © 2020 Zhu Zihao <all_but_last@163.com>
;;; Copyright © 2021 Marius Bakke <marius@gnu.org>
;;; Copyright © 2024 Oleg Pykhalov <go.wigust@gmail.com>
+;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -30,6 +31,7 @@ (define-module (gnu packages bash)
#:use-module (gnu packages base)
#:use-module (gnu packages bootstrap)
#:use-module (gnu packages compression)
+ #:use-module (gnu packages gcc)
#:use-module (gnu packages elf)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages readline)
@@ -251,6 +253,13 @@ (define-public bash-minimal
;; modules and related code.
"ac_cv_func_dlopen=no"
+ ,@(if (version>=? (package-version (current-gcc)) "14")
+ ;; gcc-14 implictly uses -Wimplicit-function-declaration
+ ;; which together with -Werror causes:
+ ;; ./enable.def:492:11: error: implicit declaration of function ‘dlclose’;
+ '("CFLAGS=-Wno-implicit-function-declaration")
+ '())
+
,@(if (%current-target-system)
'("bash_cv_job_control_missing=no"
"bash_cv_getcwd_malloc=yes")
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [bug#74290] [PATCH 08/31] gnu: elfutils: Fix build for 64bit Hurd.
2024-11-10 10:32 [bug#74290] [PATCH 00/31] Add support for x86_64-gnu, aka the 64bit Hurd Janneke Nieuwenhuizen
` (6 preceding siblings ...)
2024-11-10 10:38 ` [bug#74290] [PATCH 07/31] gnu: bash-minimal: Fix build for " Janneke Nieuwenhuizen
@ 2024-11-10 10:38 ` Janneke Nieuwenhuizen
2024-11-10 10:38 ` [bug#74290] [PATCH 09/31] gnu: grep: Fix build for the " Janneke Nieuwenhuizen
` (24 subsequent siblings)
32 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2024-11-10 10:38 UTC (permalink / raw)
To: 74290
* gnu/packages/elf.scm (elfutils)[arguments]: When building for a 64bit Hurd,
set #:make-flags.
Change-Id: I00abf360a7de5b1f78c1e912f0dcf27c62c1af68
---
gnu/packages/elf.scm | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/elf.scm b/gnu/packages/elf.scm
index 119f8d13dd..81a753a483 100644
--- a/gnu/packages/elf.scm
+++ b/gnu/packages/elf.scm
@@ -10,7 +10,7 @@
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
;;; Copyright © 2021 Leo Le Bouter <lle-bout@zaclys.net>
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
-;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2023, 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -86,6 +86,10 @@ (define-public elfutils
"--disable-libdebuginfod"
"--disable-debuginfod")
+ ,@(if (target-hurd64?)
+ '(#:make-flags '("core-file_no_Werror=yes"))
+ '())
+
;; Disable tests on MIPS and PowerPC (without changing
;; the arguments list on other systems).
,@(if (any (cute string-prefix? <> (or (%current-target-system)
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [bug#74290] [PATCH 09/31] gnu: grep: Fix build for the 64bit Hurd.
2024-11-10 10:32 [bug#74290] [PATCH 00/31] Add support for x86_64-gnu, aka the 64bit Hurd Janneke Nieuwenhuizen
` (7 preceding siblings ...)
2024-11-10 10:38 ` [bug#74290] [PATCH 08/31] gnu: elfutils: " Janneke Nieuwenhuizen
@ 2024-11-10 10:38 ` Janneke Nieuwenhuizen
2024-11-10 10:38 ` [bug#74290] [PATCH 10/31] gnu: patch: " Janneke Nieuwenhuizen
` (23 subsequent siblings)
32 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2024-11-10 10:38 UTC (permalink / raw)
To: 74290; +Cc: Andreas Enge, Ludovic Courtès
* gnu/packages/base.scm (grep)[arguments]: When building for the 64bit Hurd,
add patch-sigsegv.h stage.
Change-Id: I795a591ef8282ee5b760fec43bd4ad849007f602
---
gnu/packages/base.scm | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index 02ef71f20d..010be631d7 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -154,6 +154,13 @@ (define-public grep
(string-append bin "/fgrep"))
(("^exec grep")
(string-append "exec " bin "/grep"))))))
+ #$@(if (target-hurd64?)
+ #~((add-after 'unpack 'patch-sigsegv
+ (lambda _
+ ;; Stack overflow recovery does not compile
+ (substitute* "lib/sigsegv.in.h"
+ (("__GNU__") "__XGNU__")))))
+ #~())
#$@(if (system-hurd?)
#~((add-before 'check 'skip-test
(lambda _
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [bug#74290] [PATCH 10/31] gnu: patch: Fix build for the 64bit Hurd.
2024-11-10 10:32 [bug#74290] [PATCH 00/31] Add support for x86_64-gnu, aka the 64bit Hurd Janneke Nieuwenhuizen
` (8 preceding siblings ...)
2024-11-10 10:38 ` [bug#74290] [PATCH 09/31] gnu: grep: Fix build for the " Janneke Nieuwenhuizen
@ 2024-11-10 10:38 ` Janneke Nieuwenhuizen
2024-11-10 10:38 ` [bug#74290] [PATCH 11/31] gnu: libxcrypt: Support " Janneke Nieuwenhuizen
` (22 subsequent siblings)
32 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2024-11-10 10:38 UTC (permalink / raw)
To: 74290; +Cc: Andreas Enge, Ludovic Courtès
* gnu/packages/base.scm (patch)[arguments]: When building for the 64bit Hurd,
set #:configure-flags.
Change-Id: I795a591ef8282ee5b760fec43bd4ad849007f602
---
gnu/packages/base.scm | 49 ++++++++++++++++++++++++-------------------
1 file changed, 28 insertions(+), 21 deletions(-)
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index 010be631d7..83f8c0d9e9 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -339,27 +339,34 @@ (define-public patch
"1bk38169c0xh01b0q0zmnrjqz8k9byz3arp4q7q66sn6xwf94nvz"))
(patches (search-patches "patch-hurd-path-max.patch"))))
(arguments
- (substitute-keyword-arguments (package-arguments base)
- ((#:phases phases '%standard-phases)
- #~(modify-phases #$phases
- (add-after 'unpack 'copy-gnulib-sources
- (lambda _
- ;; XXX: We copy the source instead of using 'gnulib' as a
- ;; native input to avoid introducing a dependency cycle.
- (copy-recursively #+gnulib "gnulib")
- (setenv "GNULIB_SRCDIR"
- (string-append (getcwd) "/gnulib/src/gnulib"))))
- (add-after 'copy-gnulib-sources 'update-bootstrap-script
- (lambda _
- (copy-file "gnulib/src/gnulib/build-aux/bootstrap"
- "bootstrap")))
- (add-after 'unpack 'patch-configure.ac
- (lambda _
- (substitute* "configure.ac"
- ;; The gnulib-provided git-version-gen script has a plain
- ;; shebang of #!/bin/sh; avoid using it.
- (("build-aux/git-version-gen" all)
- (string-append "sh " all)))))))))
+ (let ((arguments
+ (substitute-keyword-arguments (package-arguments base)
+ ((#:phases phases '%standard-phases)
+ #~(modify-phases #$phases
+ (add-after 'unpack 'copy-gnulib-sources
+ (lambda _
+ ;; XXX: We copy the source instead of using 'gnulib' as a
+ ;; native input to avoid introducing a dependency cycle.
+ (copy-recursively #+gnulib "gnulib")
+ (setenv "GNULIB_SRCDIR"
+ (string-append (getcwd) "/gnulib/src/gnulib"))))
+ (add-after 'copy-gnulib-sources 'update-bootstrap-script
+ (lambda _
+ (copy-file "gnulib/src/gnulib/build-aux/bootstrap"
+ "bootstrap")))
+ (add-after 'unpack 'patch-configure.ac
+ (lambda _
+ (substitute* "configure.ac"
+ ;; The gnulib-provided git-version-gen script has a plain
+ ;; shebang of #!/bin/sh; avoid using it.
+ (("build-aux/git-version-gen" all)
+ (string-append "sh " all))))))))))
+ (if (target-hurd64?)
+ (substitute-keyword-arguments arguments
+ ((#:configure-flags flags '())
+ #~(list "--disable-threads"
+ "gl_cv_func_working_mktime=yes")))
+ arguments)))
(native-inputs (list autoconf automake bison ed))
(properties '()))))
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [bug#74290] [PATCH 11/31] gnu: libxcrypt: Support the 64bit Hurd.
2024-11-10 10:32 [bug#74290] [PATCH 00/31] Add support for x86_64-gnu, aka the 64bit Hurd Janneke Nieuwenhuizen
` (9 preceding siblings ...)
2024-11-10 10:38 ` [bug#74290] [PATCH 10/31] gnu: patch: " Janneke Nieuwenhuizen
@ 2024-11-10 10:38 ` Janneke Nieuwenhuizen
2024-11-10 10:38 ` [bug#74290] [PATCH 12/31] gnu: libstdc++: " Janneke Nieuwenhuizen
` (21 subsequent siblings)
32 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2024-11-10 10:38 UTC (permalink / raw)
To: 74290
* gnu/packages/patches/libxcrypt-hurd64.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/crypto.scm (libxcrypt)[arguments]: When building for the 64bit
Hurd, use it in new phase `apply-patch'.
Change-Id: I795a591ef8282ee5b760fec43bd4ad849007f602
---
gnu/local.mk | 1 +
gnu/packages/crypto.scm | 15 ++++++++
gnu/packages/patches/libxcrypt-hurd64.patch | 38 +++++++++++++++++++++
3 files changed, 54 insertions(+)
create mode 100644 gnu/packages/patches/libxcrypt-hurd64.patch
diff --git a/gnu/local.mk b/gnu/local.mk
index 4d3ee9ea35..4b9fa95658 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1725,6 +1725,7 @@ dist_patch_DATA = \
%D%/packages/patches/libvpx-CVE-2016-2818.patch \
%D%/packages/patches/libvpx-CVE-2023-5217.patch \
%D%/packages/patches/libvpx-CVE-2023-44488.patch \
+ %D%/packages/patches/libxcrypt-hurd64.patch \
%D%/packages/patches/libxml2-xpath0-Add-option-xpath0.patch \
%D%/packages/patches/libwpd-gcc-compat.patch \
%D%/packages/patches/libxslt-generated-ids.patch \
diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm
index 2a298c4caf..94a98bb0ad 100644
--- a/gnu/packages/crypto.scm
+++ b/gnu/packages/crypto.scm
@@ -27,6 +27,7 @@
;;; Copyright © 2022 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
;;; Copyright © 2023 Ivan Vilata-i-Balaguer <ivan@selidor.net>
;;; Copyright © 2023 Foundation Devices, Inc. <hello@foundationdevices.com>
+;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1661,6 +1662,20 @@ (define-public libxcrypt
(build-system gnu-build-system)
(native-inputs
(list perl))
+ (arguments
+ (if (target-hurd64?)
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'apply-patch
+ (lambda _
+ (let ((patch-file
+ #$(local-file
+ (search-patch
+ "libxcrypt-hurd64.patch"))))
+ (invoke "patch" "--force" "-p1" "-i"
+ patch-file))))))
+ '()))
(synopsis
"Extended crypt library for descrypt, md5crypt, bcrypt, and others")
(description
diff --git a/gnu/packages/patches/libxcrypt-hurd64.patch b/gnu/packages/patches/libxcrypt-hurd64.patch
new file mode 100644
index 0000000000..9fc3018539
--- /dev/null
+++ b/gnu/packages/patches/libxcrypt-hurd64.patch
@@ -0,0 +1,38 @@
+Upstream-status: Taken from upstream:
+ <https://github.com/besser82/libxcrypt/commit/b2c1da2e1ce2d3e72f511f5bc94a6ffa68b70917>
+
+From b2c1da2e1ce2d3e72f511f5bc94a6ffa68b70917 Mon Sep 17 00:00:00 2001
+From: Samuel Thibault <samuel.thibault@ens-lyon.org>
+Date: Sun, 14 Jul 2024 13:13:07 +0200
+Subject: [PATCH] Add binary compatibility for x86_64 GNU/Hurd
+Content-Transfer-Encoding: 8bit
+Content-Type: text/plain; charset=UTF-8
+
+
+diff --git a/lib/libcrypt.map.in b/lib/libcrypt.map.in
+index 88ea911..a56b7bf 100644
+--- a/lib/libcrypt.map.in
++++ b/lib/libcrypt.map.in
+@@ -43,5 +43,5 @@ fcrypt - GLIBC_2.0
+ %chain GLIBC_2.0 GLIBC_2.2 GLIBC_2.2.1 GLIBC_2.2.2 GLIBC_2.2.5 GLIBC_2.2.6
+ %chain GLIBC_2.3 GLIBC_2.4 GLIBC_2.12 GLIBC_2.16 GLIBC_2.17 GLIBC_2.18
+ %chain GLIBC_2.21 GLIBC_2.27 GLIBC_2.29 GLIBC_2.32 GLIBC_2.33 GLIBC_2.35
+-%chain GLIBC_2.36
++%chain GLIBC_2.36 GLIBC_2.38
+ %chain OW_CRYPT_1.0 XCRYPT_2.0 XCRYPT_4.3 XCRYPT_4.4
+diff --git a/lib/libcrypt.minver b/lib/libcrypt.minver
+index 8478077..c5a5bf2 100644
+--- a/lib/libcrypt.minver
++++ b/lib/libcrypt.minver
+@@ -51,6 +51,7 @@
+ #VERSION SYSTEM CPU_FAMILY PREPROCESSOR_CHECK
+
+ # GNU Hurd
++GLIBC_2.38 gnu x86_64
+ GLIBC_2.2.6 gnu i[3-9]86
+ ERROR gnu .
+
+--
+Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
+Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
+
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [bug#74290] [PATCH 12/31] gnu: libstdc++: Support the 64bit Hurd.
2024-11-10 10:32 [bug#74290] [PATCH 00/31] Add support for x86_64-gnu, aka the 64bit Hurd Janneke Nieuwenhuizen
` (10 preceding siblings ...)
2024-11-10 10:38 ` [bug#74290] [PATCH 11/31] gnu: libxcrypt: Support " Janneke Nieuwenhuizen
@ 2024-11-10 10:38 ` Janneke Nieuwenhuizen
2024-11-10 10:38 ` [bug#74290] [PATCH 13/31] gnu: gcc-13, gcc-14: Support being used as parent for gcc-static Janneke Nieuwenhuizen
` (20 subsequent siblings)
32 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2024-11-10 10:38 UTC (permalink / raw)
To: 74290; +Cc: Andreas Enge, Ludovic Courtès
* gnu/packages/gcc.scm (make-libstdc++)[arguments]: When building for the
64bit Hurd, add stage patch-hurd64.
Change-Id: I795a591ef8282ee5b760fec43bd4ad849007f602
---
gnu/packages/gcc.scm | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index fc3746fb05..850a14cb1c 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -1033,7 +1033,15 @@ (define-public (make-libstdc++ gcc)
(("/lib64") "/lib")))))
(add-before 'configure 'chdir
(lambda _
- (chdir "libstdc++-v3"))))
+ (chdir "libstdc++-v3")))
+ #$@(let ((version (package-version gcc)))
+ (if (target-hurd64?)
+ #~((add-after 'unpack 'patch-hurd64
+ (lambda _
+ (substitute* "libstdc++-v3/src/c++20/tzdb.cc"
+ (("#if ! defined _GLIBCXX_ZONEINFO_DIR")
+ "#if __GNU__ || ! defined _GLIBCXX_ZONEINFO_DIR")))))
+ '())))
#:configure-flags '`("--disable-libstdcxx-pch"
,(string-append "--with-gxx-include-dir="
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [bug#74290] [PATCH 13/31] gnu: gcc-13, gcc-14: Support being used as parent for gcc-static.
2024-11-10 10:32 [bug#74290] [PATCH 00/31] Add support for x86_64-gnu, aka the 64bit Hurd Janneke Nieuwenhuizen
` (11 preceding siblings ...)
2024-11-10 10:38 ` [bug#74290] [PATCH 12/31] gnu: libstdc++: " Janneke Nieuwenhuizen
@ 2024-11-10 10:38 ` Janneke Nieuwenhuizen
2024-11-10 10:38 ` [bug#74290] [PATCH 14/31] DRAFT gnu: bootstrap: Add support for x86_64-gnu, aka the 64bit Hurd Janneke Nieuwenhuizen
` (19 subsequent siblings)
32 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2024-11-10 10:38 UTC (permalink / raw)
To: 74290; +Cc: Andreas Enge, Ludovic Courtès
* gnu/packages/gcc.scm (gcc-13)[arguments]: Use quasiquote instead of
g-expressions.
(gcc-14)[arguments]: Likewise.
Change-Id: I22269b31d49868effe967d46247b189ed9a9d394
---
gnu/packages/gcc.scm | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index 850a14cb1c..befbbda027 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -811,10 +811,10 @@ (define-public gcc-13
(snippet gcc-canadian-cross-objdump-snippet)))
(arguments
(substitute-keyword-arguments (package-arguments gcc-11)
- ((#:phases phases #~%standard-phases)
+ ((#:phases phases '%standard-phases)
(if (target-hurd?)
- #~(modify-phases #$phases
- (delete 'patch-hurd-libpthread))
+ `(modify-phases ,phases
+ (delete 'patch-hurd-libpthread))
phases))))
(properties
`((compiler-cpu-architectures
@@ -841,8 +841,8 @@ (define-public gcc-14
(modules '((guix build utils)))
(snippet gcc-canadian-cross-objdump-snippet)))
(arguments (substitute-keyword-arguments (package-arguments gcc-13)
- ((#:phases phases #~%standard-phases)
- #~(modify-phases #$phases
+ ((#:phases phases '%standard-phases)
+ `(modify-phases ,phases
(add-before 'configure 'pre-x86-configure
(lambda _
(substitute* "gcc/config/i386/t-linux64"
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [bug#74290] [PATCH 14/31] DRAFT gnu: bootstrap: Add support for x86_64-gnu, aka the 64bit Hurd.
2024-11-10 10:32 [bug#74290] [PATCH 00/31] Add support for x86_64-gnu, aka the 64bit Hurd Janneke Nieuwenhuizen
` (12 preceding siblings ...)
2024-11-10 10:38 ` [bug#74290] [PATCH 13/31] gnu: gcc-13, gcc-14: Support being used as parent for gcc-static Janneke Nieuwenhuizen
@ 2024-11-10 10:38 ` Janneke Nieuwenhuizen
2024-11-11 18:05 ` janneke
2024-11-10 10:38 ` [bug#74290] [PATCH 15/31] system: image: Add hurd64 image types Janneke Nieuwenhuizen
` (18 subsequent siblings)
32 siblings, 1 reply; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2024-11-10 10:38 UTC (permalink / raw)
To: 74290
Cc: Andreas Enge, Christopher Baines, Josselin Poiret,
Ludovic Courtès, Mathieu Othacehe, Maxim Cournoyer,
Simon Tournier, Tobias Geerinckx-Rice
XXX TODO:
v Boot a 64bit hurd and guix build hello,
o Push the commit below,
o Re-check the bootstrap-tarballs build/hash,
o Update this commit message with new commit hash,
o Push it with remainder of hurd-team branch,
o Update blog post.
On commit:
7a8acd375aa807b7d4386ed8052aa743261c42ce
gnu: gcc-13, gcc-14: Support being used as parent for gcc-static.
Run:
./pre-inst-env guix build --target=x86_64-gnu bootstrap-tarballs
Producing:
/gnu/store/sm23f2g91k554w2clcm9l9airwn9gqmz-bootstrap-tarballs-0
With guix hash -r:
1v9ld86vw76drrxlqf0b930644mgj6mgxqak9ybx4h0xsiczxisw
* 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: Ic0e09d5b3b035aec27c7274e57cccedee9c0611c
---
doc/guix.texi | 9 +++++++-
gnu/packages/bootstrap.scm | 42 ++++++++++++++++++++++++++++++++++----
guix/packages.scm | 8 +++++---
m4/guix.m4 | 12 ++++++++---
4 files changed, 60 insertions(+), 11 deletions(-)
diff --git a/doc/guix.texi b/doc/guix.texi
index 187bae6898..73692d73d6 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -36,7 +36,7 @@
Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Efraim Flashner@*
Copyright @copyright{} 2016 John Darrington@*
Copyright @copyright{} 2016, 2017 Nikita Gillmann@*
-Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Jan Nieuwenhuizen@*
+Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024 Janneke Nieuwenhuizen@*
Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021 Julien Lepiller@*
Copyright @copyright{} 2016 Alex ter Weele@*
Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021 Christopher Baines@*
@@ -637,6 +637,13 @@ GNU Distribution
(@pxref{transparent-emulation-qemu, @code{hurd-vm-service-type}}).
@xref{Contributing}, on how to help!
+@item x86_64-gnu
+@uref{https://hurd.gnu.org, GNU/Hurd} on the @code{x86_64} Intel/AMD
+64-bit architecture.
+
+This configuration is even more experimental and under heavy upstream
+development.
+
@item mips64el-linux (unsupported)
little-endian 64-bit MIPS processors, specifically the Loongson series,
n32 ABI, and Linux-Libre kernel. This configuration is no longer fully
diff --git a/gnu/packages/bootstrap.scm b/gnu/packages/bootstrap.scm
index c4640b62e1..eb6a4f1917 100644
--- a/gnu/packages/bootstrap.scm
+++ b/gnu/packages/bootstrap.scm
@@ -118,13 +118,22 @@ (define %bootstrap-executables
,(base32 "0i9kxdi17bm5gxfi2xzm0y73p3ii0cqxli1sbljm6rh2fjgyn90k")))
("i586-gnu"
("bash"
- ,(base32 "1as8649aqaibahhhrvkj10ci8shpi4hq5n7gnik8rhhy0dc1jarg"))
+ ,(base32 "0nb8ga2j7a4kf6j7pnavq8zf68mj8mhqh26nwkilz1ykj86vg9ml"))
("mkdir"
- ,(base32 "1snqgpfrl00hfn82lm29jqylzjsfb9jd6ha74dp12phwb8fpbmb9"))
+ ,(base32 "0ldsx9pwan40fx2hf4s9d10sfkhvkljvl20hksvm4192p7jb4shp"))
("tar"
- ,(base32 "0nq2c1zb3wv5bf7kd83sziaashydazrn7xgq6kijlk0zj2syzc2m"))
+ ,(base32 "1z6kfvpwhy14vc52i61v1vzzk3gzxka3db5rlg1jsq6kli35s2ab"))
("xz"
- ,(base32 "033rhpk6zrpxpd6ffjyg5y2zwq9x9cnq0zljb7k8jlncbalsayq5")))
+ ,(base32 "1f7g40sk5a6k6qf65k58vlybnnmhyyzczdxy60m3jgcsp674wfcr")))
+ ("x86_64-gnu"
+ ("bash"
+ ,(base32 "0l0dnighcipvdfbk14q834n57q859i2b9ssiq4bnbh0jpxvvqp1l"))
+ ("mkdir"
+ ,(base32 "1nd17k8pwwi7zsqi685w4rn1p2cvfcalrzdhfgwpsk1ilxnmdvsq"))
+ ("tar"
+ ,(base32 "0lf94y22ngmxdwhsp0cvj33m23p33r999xnlrff0s1yvlf20w3ks"))
+ ("xz"
+ ,(base32 "145aq65rx7w0qk1sw9239888id5ri60ha0xp1kyp6ir3pvizh6by")))
("mips64el-linux"
("bash"
,(base32 "1aw046dhda240k9pb9iaj5aqkm23gkvxa9j82n4k7fk87nbrixw6"))
@@ -165,6 +174,7 @@ (define (bootstrap-executable-file-name system program)
(match system
("powerpc64le-linux" (string-append system "/20210106/" program))
("i586-gnu" (string-append system "/20200326/" program))
+ ("x86_64-gnu" (string-append system "/20241110/" program))
("powerpc-linux" (string-append system "/20200923/bin/" program))
("riscv64-linux" (string-append system "/20210725/bin/" program))
(_ (string-append system "/" program
@@ -366,6 +376,8 @@ (define (bootstrap-guile-url-path system)
"/20150101/guile-2.0.11.tar.xz")
("i586-gnu"
"/20200326/guile-static-stripped-2.0.14-i586-pc-gnu.tar.xz")
+ ("x86_64-gnu"
+ "/20241110/guile-static-stripped-3.0.9-x86_64-pc-gnu.tar.xz")
("powerpc64le-linux"
"/20210106/guile-static-stripped-2.0.14-powerpc64le-linux-gnu.tar.xz")
("riscv64-linux"
@@ -390,6 +402,8 @@ (define (bootstrap-guile-hash system)
(base32 "1giy2aprjmn5fp9c4s9r125fljw4wv6ixy5739i5bffw4jgr0f9r"))
("i586-gnu"
(base32 "0wgqpsmvg25rnqn49ap7kwd2qxccd8dr4lllzp7i3rjvgav27vac"))
+ ("x86_64-gnu"
+ (base32 "0fgasmbidp584ibr5fbirmp3wr8qchv84a50i4bichysp00gg26p"))
("powerpc-linux"
(base32 "1by2p7s27fbyjzfkcw8h65h4kkqh7d23kv4sgg5jppjn2qx7swq4"))
("riscv64-linux"
@@ -598,6 +612,8 @@ (define %bootstrap-coreutils&co
"/20210106/static-binaries-0-powerpc64le-linux-gnu.tar.xz")
("i586-gnu"
"/20200326/static-binaries-0-i586-pc-gnu.tar.xz")
+ ("x86_64-gnu"
+ "/20241110/static-binaries-0-x86_64-pc-gnu.tar.xz")
("powerpc-linux"
"/20200923/static-binaries.tar.xz")
("riscv64-linux"
@@ -625,6 +641,9 @@ (define %bootstrap-coreutils&co
("i586-gnu"
(base32
"17kllqnf3fg79gzy9ansgi801c46yh9c23h4d923plvb0nfm1cfn"))
+ ("x86_64-gnu"
+ (base32
+ "118s161df8hgrdfph2w5spnrms02rh1dk7mzfvx1k1prvgngpm9p"))
("powerpc-linux"
(base32
"0kspxy0yczan2vlih6aa9hailr2inz000fqa0gn5x9d1fxxa5y8m"))
@@ -681,6 +700,8 @@ (define %bootstrap-binutils
"/20210106/binutils-static-stripped-2.34-powerpc64le-linux-gnu.tar.xz")
("i586-gnu"
"/20200326/binutils-static-stripped-2.34-i586-pc-gnu.tar.xz")
+ ("x86_64-gnu"
+ "/20241110/binutils-static-stripped-2.41-x86_64-pc-gnu.tar.xz")
("powerpc-linux"
"/20200923/binutils-2.35.1.tar.xz")
("riscv64-linux"
@@ -711,6 +732,9 @@ (define %bootstrap-binutils
("i586-gnu"
(base32
"11kykv1kmqc5wln57rs4klaqa13hm952smkc57qcsyss21kfjprs"))
+ ("x86_64-gnu"
+ (base32
+ "07r74sa7341frhf5a7h1p3pklsrmfpfrf5s8dxm3yz2kqzhish48"))
("powerpc-linux"
(base32
"0asbg1c4avkrvh057mx0942xwddd136jni382zqsxzn79ls42yq8"))
@@ -771,6 +795,8 @@ (define %bootstrap-glibc
"/20210106/glibc-stripped-2.31-powerpc64le-linux-gnu.tar.xz")
("i586-gnu"
"/20240816/glibc-stripped-2.39-i586-pc-gnu.tar.xz")
+ ("x86_64-gnu"
+ "/20241110/glibc-stripped-2.39-x86_64-pc-gnu.tar.xz")
("powerpc-linux"
"/20200923/glibc-2.32.tar.xz")
("riscv64-linux"
@@ -801,6 +827,9 @@ (define %bootstrap-glibc
("i586-gnu"
(base32
"0x2x6w611k6v9qdabacawamw2475p04hm3s0q95xcg063wjq4ig2"))
+ ("x86_64-gnu"
+ (base32
+ "1dcgrnlxbsdic0xmmrjbr8gl6ra5y2xbj8f8jr6y0zvpdyi12ldd"))
("powerpc-linux"
(base32
"0smmssyjrlk5cvx49586smmk81gkwff0i6r91n4rir4jm6ba25sb"))
@@ -877,6 +906,8 @@ (define %bootstrap-gcc
"/20210106/gcc-stripped-5.5.0-powerpc64le-linux-gnu.tar.xz")
("i586-gnu"
"/20200326/gcc-stripped-5.5.0-i586-pc-gnu.tar.xz")
+ ("x86_64-gnu"
+ "/20241110/gcc-stripped-14.2.0-x86_64-pc-gnu.tar.xz")
("powerpc-linux"
"/20200923/gcc-5.5.0.tar.xz")
("riscv64-linux"
@@ -907,6 +938,9 @@ (define %bootstrap-gcc
("i586-gnu"
(base32
"1j2zc58wzil71a34h7c70sd68dmqvcscrw3rmn2whq79vd70zvv5"))
+ ("x86_64-gnu"
+ (base32
+ "0vqvjvw6xi16lihiqz4mhisfwx3dgs15y60q07ksdkgvi1wdli2w"))
("powerpc-linux"
(base32
"1p7df3yixhm87dw5sccc6yn1i9db1r9hnmsg87wq5xi4rfmirq7w"))
diff --git a/guix/packages.scm b/guix/packages.scm
index f373136d22..403217d711 100644
--- a/guix/packages.scm
+++ b/guix/packages.scm
@@ -10,6 +10,7 @@
;;; Copyright © 2022 Maxime Devos <maximedevos@telenet.be>
;;; Copyright © 2022 jgart <jgart@dismail.de>
;;; Copyright © 2023 Simon Tournier <zimon.toutoune@gmail.com>
+;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -419,7 +420,7 @@ (define %32bit-supported-systems
(define %64bit-supported-systems
;; This is the list of 64-bit system types that are supported.
'("x86_64-linux" "mips64el-linux" "aarch64-linux" "powerpc64le-linux"
- "riscv64-linux"))
+ "riscv64-linux" "x86_64-gnu"))
(define %supported-systems
;; This is the list of system types that are supported. By default, we
@@ -428,14 +429,15 @@ (define %supported-systems
(define %hurd-systems
;; The GNU/Hurd systems for which support is being developed.
- '("i586-gnu"))
+ '("i586-gnu" "x86_64-gnu"))
(define %cuirass-supported-systems
;; This is the list of system types for which build machines are available.
;;
;; XXX: MIPS is unavailable in CI:
;; <https://lists.gnu.org/archive/html/guix-devel/2017-03/msg00790.html>.
- (fold delete %supported-systems '("mips64el-linux" "powerpc-linux" "riscv64-linux")))
+ (fold delete %supported-systems '("mips64el-linux" "powerpc-linux"
+ "riscv64-linux" "x86_64-gnu")))
(define (maybe-add-input-labels inputs)
"Add labels to INPUTS unless it already has them."
diff --git a/m4/guix.m4 b/m4/guix.m4
index b93daba5c3..8c2757a8b7 100644
--- a/m4/guix.m4
+++ b/m4/guix.m4
@@ -3,6 +3,7 @@ dnl Copyright © 2012, 2013, 2014, 2015, 2016, 2018, 2019, 2020, 2021 Ludovic Co
dnl Copyright © 2014 Mark H Weaver <mhw@netris.org>
dnl Copyright © 2017, 2020, 2021, 2023 Efraim Flashner <efraim@flashner.co.il>
dnl Copyright © 2021 Chris Marusich <cmmarusich@gmail.com>
+dnl Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
dnl
dnl This file is part of GNU Guix.
dnl
@@ -61,8 +62,13 @@ AC_DEFUN([GUIX_SYSTEM_TYPE], [
linux-musl*)
guix_system="$machine_name-linux";;
gnu*)
- # Always use i586 for GNU/Hurd.
- guix_system="i586-gnu";;
+ case "$machine_name" in
+ i386|i486|i586|i686)
+ # Always use i586 for 32bit GNU/Hurd.
+ guix_system="i586-gnu";;
+ *)
+ guix_system="$machine_name-gnu";;
+ esac;;
*)
# Strip the version number from names such as `gnu0.3',
# `darwin10.2.0', etc.
@@ -91,7 +97,7 @@ courageous and port the GNU System distribution to it (see
# Currently only Linux-based systems are supported, and only on some
# platforms.
case "$guix_system" in
- x86_64-linux|i686-linux|armhf-linux|aarch64-linux|powerpc64le-linux|riscv64-linux|i586-gnu)
+ x86_64-linux|i686-linux|armhf-linux|aarch64-linux|powerpc64le-linux|riscv64-linux|i586-gnu|x86_64-gnu)
;;
mips64el-linux|powerpc-linux)
AC_MSG_WARN([building Guix on `$guix_system', which is not supported])
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [bug#74290] [PATCH 15/31] system: image: Add hurd64 image types.
2024-11-10 10:32 [bug#74290] [PATCH 00/31] Add support for x86_64-gnu, aka the 64bit Hurd Janneke Nieuwenhuizen
` (13 preceding siblings ...)
2024-11-10 10:38 ` [bug#74290] [PATCH 14/31] DRAFT gnu: bootstrap: Add support for x86_64-gnu, aka the 64bit Hurd Janneke Nieuwenhuizen
@ 2024-11-10 10:38 ` Janneke Nieuwenhuizen
2024-11-10 10:38 ` [bug#74290] [PATCH 16/31] gnu: Add libgpg-error-1.50 Janneke Nieuwenhuizen
` (17 subsequent siblings)
32 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2024-11-10 10:38 UTC (permalink / raw)
To: 74290
* 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.
Change-Id: I68834a4c5c18b0e154d06082824008d13ca52214
---
gnu/system/images/hurd.scm | 47 ++++++++++++++++++++++++++++++++++++--
1 file changed, 45 insertions(+), 2 deletions(-)
diff --git a/gnu/system/images/hurd.scm b/gnu/system/images/hurd.scm
index 01c422a54f..75f255ed94 100644
--- a/gnu/system/images/hurd.scm
+++ b/gnu/system/images/hurd.scm
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2020 Mathieu Othacehe <m.othacehe@gmail.com>
-;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2020, 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -36,7 +36,13 @@ (define-module (gnu system images hurd)
hurd-image-type
hurd-qcow2-image-type
hurd-barebones-disk-image
- hurd-barebones-qcow2-image))
+ hurd-barebones-qcow2-image
+
+ hurd64-disk-image
+ hurd6-image-type
+ hurd64-qcow2-image-type
+ hurd64-barebones-disk-image
+ hurd64-barebones-qcow2-image))
(define hurd-barebones-os
(operating-system
@@ -115,5 +121,42 @@ (define hurd-barebones-qcow2-image
#:type hurd-qcow2-image-type))
(name 'hurd-barebones.qcow2)))
+\f
+;;;
+;;; 64bit Hurd
+;;;
+(define hurd64-disk-image
+ (image
+ (inherit hurd-disk-image)
+ (platform x86_64-gnu)))
+
+(define hurd64-image-type
+ (image-type
+ (name 'hurd64-raw)
+ (constructor (cut image-with-os hurd64-disk-image <>))))
+
+(define hurd64-qcow2-image-type
+ (image-type
+ (name 'hurd64-qcow2)
+ (constructor (lambda (os)
+ (image
+ (inherit hurd64-disk-image)
+ (format 'compressed-qcow2)
+ (operating-system os))))))
+
+(define hurd64-barebones-disk-image
+ (image
+ (inherit
+ (os+platform->image hurd-barebones-os x86_64-gnu
+ #:type hurd64-image-type))
+ (name 'hurd64-barebones-disk-image)))
+
+(define hurd64-barebones-qcow2-image
+ (image
+ (inherit
+ (os+platform->image hurd-barebones-os x86_64-gnu
+ #:type hurd64-qcow2-image-type))
+ (name 'hurd64-barebones.qcow2)))
+
;; Return the default image.
hurd-barebones-qcow2-image
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [bug#74290] [PATCH 16/31] gnu: Add libgpg-error-1.50.
2024-11-10 10:32 [bug#74290] [PATCH 00/31] Add support for x86_64-gnu, aka the 64bit Hurd Janneke Nieuwenhuizen
` (14 preceding siblings ...)
2024-11-10 10:38 ` [bug#74290] [PATCH 15/31] system: image: Add hurd64 image types Janneke Nieuwenhuizen
@ 2024-11-10 10:38 ` Janneke Nieuwenhuizen
2024-11-10 10:38 ` [bug#74290] [PATCH 17/31] gnu: libgcrypt: Use libgpg-error-1.50 for the 64bit Hurd Janneke Nieuwenhuizen
` (16 subsequent siblings)
32 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2024-11-10 10:38 UTC (permalink / raw)
To: 74290
* gnu/packages/gnupg.scm (libgpg-error-1.50): New variable.
Change-Id: Ia34c0f339f331420d76b2c840205f29e511d1dcc
---
gnu/packages/gnupg.scm | 15 ++++++++++++++-
1 file changed, 14 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm
index 2e97c2244a..a4863542f2 100644
--- a/gnu/packages/gnupg.scm
+++ b/gnu/packages/gnupg.scm
@@ -22,7 +22,7 @@
;;; Copyright © 2021 Nikita Domnitskii <nikita@domnitskii.me>
;;; Copyright © 2021 Aleksandr Vityazev <avityazev@posteo.org>
;;; Copyright © 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
-;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2023, 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2024 Zheng Junjie <873216071@qq.com>
;;;
;;; This file is part of GNU Guix.
@@ -164,6 +164,19 @@ (define-public libgpg-error
(properties '((ftp-server . "ftp.gnupg.org")
(ftp-directory . "/gcrypt/libgpg-error")))))
+(define-public libgpg-error-1.50
+ (package
+ (inherit libgpg-error)
+ (version "1.50")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnupg/libgpg-error/libgpg-error-"
+ version ".tar.bz2"))
+ (sha256
+ (base32
+ "02p2jgz95688ib28sl4aa624cj0liz73anwcl92f8cx6w14m6h39"))))))
+
(define-public libgcrypt
(package
(name "libgcrypt")
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [bug#74290] [PATCH 17/31] gnu: libgcrypt: Use libgpg-error-1.50 for the 64bit Hurd.
2024-11-10 10:32 [bug#74290] [PATCH 00/31] Add support for x86_64-gnu, aka the 64bit Hurd Janneke Nieuwenhuizen
` (15 preceding siblings ...)
2024-11-10 10:38 ` [bug#74290] [PATCH 16/31] gnu: Add libgpg-error-1.50 Janneke Nieuwenhuizen
@ 2024-11-10 10:38 ` Janneke Nieuwenhuizen
2024-11-10 10:38 ` [bug#74290] [PATCH 18/31] gnu: perl: Support cross-building " Janneke Nieuwenhuizen
` (15 subsequent siblings)
32 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2024-11-10 10:38 UTC (permalink / raw)
To: 74290
* gnu/packages/gnupg.scm (libgcrypt)[propagated-inputs]: When building for the
64bit Hurd, use libgcrypt-1.50.
Change-Id: I608d283a4a307527d5b09a81fa1a53cec5d6bb76
---
gnu/packages/gnupg.scm | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm
index a4863542f2..6c6efff026 100644
--- a/gnu/packages/gnupg.scm
+++ b/gnu/packages/gnupg.scm
@@ -190,7 +190,9 @@ (define-public libgcrypt
"1pp9zyx02bzgzjzldxf0mx9kp3530xgaaqcz4n2cv100ddaaw57g"))))
(build-system gnu-build-system)
(propagated-inputs
- `(("libgpg-error-host" ,libgpg-error)))
+ `(("libgpg-error-host" ,(if (target-hurd64?)
+ libgpg-error-1.50
+ libgpg-error))))
(native-inputs
;; Needed here for the 'gpg-error' program.
`(("libgpg-error-native" ,libgpg-error)))
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [bug#74290] [PATCH 18/31] gnu: perl: Support cross-building for the 64bit Hurd.
2024-11-10 10:32 [bug#74290] [PATCH 00/31] Add support for x86_64-gnu, aka the 64bit Hurd Janneke Nieuwenhuizen
` (16 preceding siblings ...)
2024-11-10 10:38 ` [bug#74290] [PATCH 17/31] gnu: libgcrypt: Use libgpg-error-1.50 for the 64bit Hurd Janneke Nieuwenhuizen
@ 2024-11-10 10:38 ` Janneke Nieuwenhuizen
2024-11-10 10:38 ` [bug#74290] [PATCH 19/31] gnu: openssl-3.0: Support " Janneke Nieuwenhuizen
` (14 subsequent siblings)
32 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2024-11-10 10:38 UTC (permalink / raw)
To: 74290
* gnu/packages/cross-base.scm (perl)[native-inputs]: When cross-building for
the 64bit Hurd, use perl-cross-1.6.
Change-Id: I4a77f51a6757ad4aed9bcca8f9bbbf2cbd162e15
---
gnu/packages/perl.scm | 20 ++++++++++++--------
1 file changed, 12 insertions(+), 8 deletions(-)
diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index faaac13bf1..2ea7c49419 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -248,14 +248,18 @@ (define-public perl
(native-inputs
(if (%current-target-system)
`(("perl-cross"
- ,(origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/arsv/perl-cross")
- (commit "1.4")))
- (file-name (git-file-name "perl-cross" "1.4"))
- (sha256
- (base32 "1ydjvlhrk06ccyj4bm8by7xk90krsll2k380mc3x1mhfrc7r9gzy")))))
+ ,(let ((version (if (target-hurd64?) "1.6" "1.4"))
+ (hash
+ (if (target-hurd64?)
+ "0s06lkx5b79r9cn6pm5p6d4jbdjq7wg7rjr75nw5xdhw1z3wnl2d"
+ "1ydjvlhrk06ccyj4bm8by7xk90krsll2k380mc3x1mhfrc7r9gzy")))
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/arsv/perl-cross")
+ (commit version)))
+ (file-name (git-file-name "perl-cross" version))
+ (sha256 (base32 hash))))))
'()))
(native-search-paths (list (search-path-specification
(variable "PERL5LIB")
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [bug#74290] [PATCH 19/31] gnu: openssl-3.0: Support the 64bit Hurd.
2024-11-10 10:32 [bug#74290] [PATCH 00/31] Add support for x86_64-gnu, aka the 64bit Hurd Janneke Nieuwenhuizen
` (17 preceding siblings ...)
2024-11-10 10:38 ` [bug#74290] [PATCH 18/31] gnu: perl: Support cross-building " Janneke Nieuwenhuizen
@ 2024-11-10 10:38 ` Janneke Nieuwenhuizen
2024-11-10 10:38 ` [bug#74290] [PATCH 20/31] gnu: pciutils: " Janneke Nieuwenhuizen
` (13 subsequent siblings)
32 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2024-11-10 10:38 UTC (permalink / raw)
To: 74290
* 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.
Change-Id: I8936377da726681b748cc010e1fbae3fb19dee05
---
gnu/local.mk | 1 +
gnu/packages/patches/openssl-hurd64.patch | 99 +++++++++++++++++++++++
gnu/packages/tls.scm | 9 +++
3 files changed, 109 insertions(+)
create mode 100644 gnu/packages/patches/openssl-hurd64.patch
diff --git a/gnu/local.mk b/gnu/local.mk
index 4b9fa95658..576f60579e 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1891,6 +1891,7 @@ dist_patch_DATA = \
%D%/packages/patches/opensles-add-license-file.patch \
%D%/packages/patches/openssl-1.1-c-rehash-in.patch \
%D%/packages/patches/openssl-3.0-c-rehash-in.patch \
+ %D%/packages/patches/openssl-hurd64.patch \
%D%/packages/patches/opentaxsolver-file-browser-fix.patch \
%D%/packages/patches/open-zwave-hidapi.patch \
%D%/packages/patches/orangeduck-mpc-fix-pkg-config.patch \
diff --git a/gnu/packages/patches/openssl-hurd64.patch b/gnu/packages/patches/openssl-hurd64.patch
new file mode 100644
index 0000000000..372fda834a
--- /dev/null
+++ b/gnu/packages/patches/openssl-hurd64.patch
@@ -0,0 +1,99 @@
+Upstream-status: Taken from upstream:
+
+<https://github.com/openssl/openssl/commit/7c729851d169f30d9e0c0ad6e7c1cf6cefb37935>.
+
+From 795699363be8f717e36802c3ac503011b74ad752 Mon Sep 17 00:00:00 2001
+From: Janneke Nieuwenhuizen <janneke@gnu.org>
+Date: Thu, 7 Nov 2024 14:08:05 +0100
+Subject: [PATCH] Add support for the 64bit Hurd.
+Content-Transfer-Encoding: 8bit
+Content-Type: text/plain; charset=UTF-8
+
+Taken from <https://salsa.debian.org/debian/openssl>.
+---
+ Configurations/10-main.conf | 45 ++++++++++++++++++++++++++++++++-----
+ util/perl/OpenSSL/config.pm | 3 ++-
+ 2 files changed, 41 insertions(+), 7 deletions(-)
+
+diff --git a/Configurations/10-main.conf b/Configurations/10-main.conf
+index b578a3c2a8..740460ebd3 100644
+--- a/Configurations/10-main.conf
++++ b/Configurations/10-main.conf
+@@ -1685,20 +1685,53 @@ my %targets = (
+ },
+
+ ##### GNU Hurd
+- "hurd-x86" => {
++ "hurd-generic32" => {
+ inherit_from => [ "BASE_unix" ],
+ CC => "gcc",
+- CFLAGS => "-O3 -fomit-frame-pointer -Wall",
++ CXX => "g++",
++ CFLAGS => picker(default => "-Wall",
++ debug => "-O0 -g",
++ release => "-O3"),
++ CXXFLAGS => picker(default => "-Wall",
++ debug => "-O0 -g",
++ release => "-O3"),
+ cflags => threads("-pthread"),
+- lib_cppflags => "-DL_ENDIAN",
++ cxxflags => combine("-std=c++11", threads("-pthread")),
+ ex_libs => add("-ldl", threads("-pthread")),
+- bn_ops => "BN_LLONG",
+- asm_arch => 'x86',
+- perlasm_scheme => 'elf',
++ bn_ops => "BN_LLONG RC4_CHAR",
+ thread_scheme => "pthreads",
+ dso_scheme => "dlfcn",
+ shared_target => "linux-shared",
+ shared_cflag => "-fPIC",
++ shared_ldflag => sub { $disabled{pinshared} ? () : "-Wl,-znodelete" },
++ },
++
++ "hurd-generic64" => {
++ inherit_from => [ "hurd-generic32" ],
++ bn_ops => "SIXTY_FOUR_BIT_LONG RC4_CHAR",
++ },
++
++ #### X86 / X86_64 targets
++ "hurd-x86" => {
++ inherit_from => [ "hurd-generic32" ],
++ CFLAGS => add(picker(release => "-fomit-frame-pointer")),
++ cflags => add("-m32"),
++ cxxflags => add("-m32"),
++ lib_cppflags => add("-DL_ENDIAN"),
++ bn_ops => "BN_LLONG",
++ asm_arch => 'x86',
++ perlasm_scheme => 'elf',
++ },
++
++ "hurd-x86_64" => {
++ inherit_from => [ "hurd-generic64" ],
++ cflags => add("-m64"),
++ cxxflags => add("-m64"),
++ lib_cppflags => add("-DL_ENDIAN"),
++ bn_ops => "SIXTY_FOUR_BIT_LONG",
++ asm_arch => 'x86_64',
++ perlasm_scheme => 'elf',
++ multilib => "64",
+ },
+
+ ##### VxWorks for various targets
+diff --git a/util/perl/OpenSSL/config.pm b/util/perl/OpenSSL/config.pm
+index 2f1edcafb6..707db71537 100755
+--- a/util/perl/OpenSSL/config.pm
++++ b/util/perl/OpenSSL/config.pm
+@@ -92,7 +92,8 @@ my $guess_patterns = [
+ [ 'IRIX64:.*', 'mips4-sgi-irix64' ],
+ [ 'Linux:[2-9]\..*', '${MACHINE}-whatever-linux2' ],
+ [ 'Linux:1\..*', '${MACHINE}-whatever-linux1' ],
+- [ 'GNU.*', 'hurd-x86' ],
++ [ 'GNU:.*86-AT386', 'hurd-x86' ],
++ [ 'GNU:.*86_64-AT386', 'hurd-x86_64' ],
+ [ 'LynxOS:.*', '${MACHINE}-lynx-lynxos' ],
+ # BSD/OS always says 386
+ [ 'BSD\/OS:4\..*', 'i486-whatever-bsdi4' ],
+--
+Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
+Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
+
diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm
index 1a1ce0d215..261a063090 100644
--- a/gnu/packages/tls.scm
+++ b/gnu/packages/tls.scm
@@ -589,6 +589,15 @@ (define-public openssl-3.0
"/bin/perl"))))
#$@(if (target-hurd?)
#~((delete 'patch-configure))
+ #~())
+ #$@(if (target-hurd64?)
+ #~((add-after 'unpack 'apply-hurd-patch
+ (lambda _
+ (let ((patch-file
+ #$(local-file
+ (search-patch "openssl-hurd64.patch"))))
+ (invoke "patch" "--force" "-p1" "-i"
+ patch-file)))))
#~())))
((#:configure-flags flags #~'())
(if (system-hurd?)
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [bug#74290] [PATCH 20/31] gnu: pciutils: Support the 64bit Hurd.
2024-11-10 10:32 [bug#74290] [PATCH 00/31] Add support for x86_64-gnu, aka the 64bit Hurd Janneke Nieuwenhuizen
` (18 preceding siblings ...)
2024-11-10 10:38 ` [bug#74290] [PATCH 19/31] gnu: openssl-3.0: Support " Janneke Nieuwenhuizen
@ 2024-11-10 10:38 ` Janneke Nieuwenhuizen
2024-11-10 10:38 ` [bug#74290] [PATCH 21/31] gnu: libpciaccess: " Janneke Nieuwenhuizen
` (12 subsequent siblings)
32 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2024-11-10 10:38 UTC (permalink / raw)
To: 74290
* 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
---
gnu/local.mk | 1 +
gnu/packages/patches/pciutils-hurd64.patch | 31 ++++++++++++++++++++++
gnu/packages/pciutils.scm | 25 +++++++++++------
3 files changed, 49 insertions(+), 8 deletions(-)
create mode 100644 gnu/packages/patches/pciutils-hurd64.patch
diff --git a/gnu/local.mk b/gnu/local.mk
index 576f60579e..ad18f62eb6 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1906,6 +1906,7 @@ dist_patch_DATA = \
%D%/packages/patches/pam-krb5-CVE-2020-10595.patch \
%D%/packages/patches/pango-skip-libthai-test.patch \
%D%/packages/patches/password-store-tree-compat.patch \
+ %D%/packages/patches/pciutils-hurd64.patch \
%D%/packages/patches/pdfpc-build-with-vala-0.56.patch \
%D%/packages/patches/petri-foo-0.1.87-fix-recent-file-not-exist.patch \
%D%/packages/patches/plasma-framework-fix-KF5PlasmaMacros.cmake.patch \
diff --git a/gnu/packages/patches/pciutils-hurd64.patch b/gnu/packages/patches/pciutils-hurd64.patch
new file mode 100644
index 0000000000..316f12e131
--- /dev/null
+++ b/gnu/packages/patches/pciutils-hurd64.patch
@@ -0,0 +1,31 @@
+Upstream-status: Not presented upstream.
+
+--- pciutils-3.8.0/lib/hurd.c.orig 2024-11-07 15:09:20.728973822 +0100
++++ pciutils-3.8.0/lib/hurd.c 2024-11-07 15:05:08.524682813 +0100
+@@ -213,7 +213,7 @@
+ hurd_read(struct pci_dev *d, int pos, byte * buf, int len)
+ {
+ int err;
+- size_t nread;
++ mach_msg_type_number_t nread;
+ char *data;
+ mach_port_t device_port = device_port_lookup(d);
+
+@@ -266,7 +266,7 @@
+ mach_port_t device_port = device_port_lookup(d);
+ struct pci_bar regions[6];
+ char *buf = (char *) ®ions;
+- size_t size = sizeof(regions);
++ mach_msg_type_number_t size = sizeof(regions);
+
+ int err = pci_get_dev_regions(device_port, &buf, &size);
+ if (err)
+@@ -305,7 +305,7 @@
+ struct pci_xrom_bar rom;
+ mach_port_t device_port = device_port_lookup(d);
+ char *buf = (char *) &rom;
+- size_t size = sizeof(rom);
++ mach_msg_type_number_t size = sizeof(rom);
+
+ int err = pci_get_dev_rom(device_port, &buf, &size);
+ if (err)
diff --git a/gnu/packages/pciutils.scm b/gnu/packages/pciutils.scm
index d2a352eb6b..08f1634113 100644
--- a/gnu/packages/pciutils.scm
+++ b/gnu/packages/pciutils.scm
@@ -3,7 +3,7 @@
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
-;;; Copyright © 2020, 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2020, 2023, 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2022 Brendan Tildesley <mail@brendan.scot>
;;; Copyright © 2022 Marius Bakke <marius@gnu.org>
;;;
@@ -81,25 +81,34 @@ (define-public pciutils
"01aglgw9ds9qiswcbi2lx90lswncikrlyv8mmp4haix8542bvvci"))))
(build-system gnu-build-system)
(arguments
- `(#:phases
- (modify-phases %standard-phases
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
(add-after 'unpack 'unbundle-pci.ids
(lambda* (#:key native-inputs inputs #:allow-other-keys)
(copy-file (search-input-file (or native-inputs inputs)
"share/hwdata/pci.ids")
"pci.ids")))
+ #$@(if (target-hurd64?)
+ #~((add-after 'unpack 'apply-hurd64-patch
+ (lambda _
+ (let ((patch-file
+ #$(local-file
+ (search-patch "pciutils-hurd64.patch"))))
+ (invoke "patch" "--force" "-p1" "-i" patch-file)))))
+ #~())
(replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
;; There's no 'configure' script, just a raw makefile.
(substitute* "Makefile"
- ,@(if (%current-target-system)
- `((("^CROSS_COMPILE=.*$")
+ #$@(if (%current-target-system)
+ #~((("^CROSS_COMPILE=.*$")
(string-append "CROSS_COMPILE="
- ,(%current-target-system) "-"
+ #$(%current-target-system) "-"
"\n"))
(("^HOST=.*$")
(string-append "HOST="
- ,(gnu-triplet->nix-system
+ #$(gnu-triplet->nix-system
(%current-target-system)) "\n"))
;; Disable 'install' strip option, that would fail when
;; we are cross-compiling.
@@ -139,7 +148,7 @@ (define-public pciutils
(invoke "make" "install" "install-lib"))))
;; Make sure programs have an RPATH so they can find libpciutils.so.
- #:make-flags (list ,(string-append "CC="
+ #:make-flags #~(list #$(string-append "CC="
(if (%current-target-system)
(cc-for-target)
"gcc"))
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [bug#74290] [PATCH 21/31] gnu: libpciaccess: Support the 64bit Hurd.
2024-11-10 10:32 [bug#74290] [PATCH 00/31] Add support for x86_64-gnu, aka the 64bit Hurd Janneke Nieuwenhuizen
` (19 preceding siblings ...)
2024-11-10 10:38 ` [bug#74290] [PATCH 20/31] gnu: pciutils: " Janneke Nieuwenhuizen
@ 2024-11-10 10:38 ` Janneke Nieuwenhuizen
2024-11-10 10:38 ` [bug#74290] [PATCH 22/31] gnu: netdde: Update to c0ef248dc7c5ccc1273e2a796f3ece30c5b645df Janneke Nieuwenhuizen
` (11 subsequent siblings)
32 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2024-11-10 10:38 UTC (permalink / raw)
To: 74290
* 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
---
gnu/local.mk | 1 +
.../patches/libpciaccess-hurd64.patch | 58 +++++++++++++++++++
gnu/packages/xorg.scm | 23 +++++---
3 files changed, 75 insertions(+), 7 deletions(-)
create mode 100644 gnu/packages/patches/libpciaccess-hurd64.patch
diff --git a/gnu/local.mk b/gnu/local.mk
index ad18f62eb6..1e81c16979 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1701,6 +1701,7 @@ dist_patch_DATA = \
%D%/packages/patches/libmpeg2-global-symbol-test.patch \
%D%/packages/patches/libmygpo-qt-fix-qt-5.11.patch \
%D%/packages/patches/libmygpo-qt-missing-qt5-modules.patch \
+ %D%/packages/patches/libpciaccess-hurd64.patch \
%D%/packages/patches/libphonenumber-reproducible-build.patch \
%D%/packages/patches/libqalculate-3.8.0-libcurl-ssl-fix.patch \
%D%/packages/patches/libquicktime-ffmpeg.patch \
diff --git a/gnu/packages/patches/libpciaccess-hurd64.patch b/gnu/packages/patches/libpciaccess-hurd64.patch
new file mode 100644
index 0000000000..f7e11059b1
--- /dev/null
+++ b/gnu/packages/patches/libpciaccess-hurd64.patch
@@ -0,0 +1,58 @@
+Upstream-status: Taken from upstream:
+
+<https://gitlab.freedesktop.org/xorg/lib/libpciaccess/-/commit/6cd5a4afbb70868c7746de8d50dea59e02e9acf2>.
+
+From 6cd5a4afbb70868c7746de8d50dea59e02e9acf2 Mon Sep 17 00:00:00 2001
+From: Flavio Cruz <flaviocruz@gmail.com>
+Date: Wed, 28 Jun 2023 01:02:34 -0400
+Subject: [PATCH] Fix compilation warnings when building against hurd-amd64.
+Content-Transfer-Encoding: 8bit
+Content-Type: text/plain; charset=UTF-8
+
+Passes mach_msg_type_number_t instead of size_t which have different
+sizes. Example warning:
+
+/hurd_pci.c:101:53: warning: passing argument 3 of 'pci_get_dev_regions' from incompatible pointer type [-Wincompatible-pointer-types]
+ 101 | err = pci_get_dev_regions(d->device_port, &buf, &size);
+ | ^~~~~
+ | |
+ | size_t * {aka long unsigned int *}
+---
+ src/hurd_pci.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/hurd_pci.c b/src/hurd_pci.c
+index 8653e1b..9ac3813 100644
+--- a/src/hurd_pci.c
++++ b/src/hurd_pci.c
+@@ -82,7 +82,7 @@ pci_device_hurd_probe(struct pci_device *dev)
+ struct pci_bar regions[6];
+ struct pci_xrom_bar rom;
+ struct pci_device_private *d;
+- size_t size;
++ mach_msg_type_number_t size;
+ char *buf;
+
+ /* Many of the fields were filled in during initial device enumeration.
+@@ -323,7 +323,7 @@ pciclient_cfg_read(mach_port_t device_port, int reg, char *buf,
+ size_t * nbytes)
+ {
+ int err;
+- size_t nread;
++ mach_msg_type_number_t nread;
+ char *data;
+
+ data = buf;
+@@ -473,7 +473,7 @@ simple_readdir(mach_port_t port, uint32_t *first_entry)
+ {
+ char *data;
+ int nentries = 0;
+- vm_size_t size;
++ mach_msg_type_number_t size;
+
+ dir_readdir (port, &data, &size, *first_entry, 1, 0, &nentries);
+
+--
+Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
+Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
+
diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
index 0de08a4ad1..b106a604a7 100644
--- a/gnu/packages/xorg.scm
+++ b/gnu/packages/xorg.scm
@@ -36,7 +36,7 @@
;;; Copyright © 2021 Lu Hui <luhux76@gmail.com>
;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com>
;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
-;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2023, 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2023, 2024 John Kehayias <john.kehayias@protonmail.com>
;;; Copyright © 2023, 2024 Kaelyn Takata <kaelyn.alexi@protonmail.com>
;;;
@@ -1157,16 +1157,17 @@ (define-public libpciaccess
"12glp4w1kgvmqn89lk19cgr6jccd3awxra4dxisp7pagi06rsk11"))))
(build-system gnu-build-system)
(arguments
- '(;; Make sure libpciaccess can read compressed 'pci.ids' files as
- ;; provided by pciutils.
- #:configure-flags
- (list "--with-zlib"
+ (list
+ ;; Make sure libpciaccess can read compressed 'pci.ids' files as
+ ;; provided by pciutils.
+ #:configure-flags
+ #~(list "--with-zlib"
(string-append "--with-pciids-path="
(assoc-ref %build-inputs "pciutils")
"/share/hwdata"))
#:phases
- (modify-phases %standard-phases
+ #~(modify-phases %standard-phases
(add-after 'install 'add-L-zlib
(lambda* (#:key inputs outputs #:allow-other-keys)
;; Provide '-LZLIB/lib' next to '-lz' in the .la file.
@@ -1175,7 +1176,15 @@ (define-public libpciaccess
(substitute* (string-append out "/lib/libpciaccess.la")
(("-lz")
(string-append "-L" zlib "/lib -lz")))
- #t))))))
+ #t)))
+ #$@(if (target-hurd64?)
+ #~((add-after 'unpack 'apply-hurd64-patch
+ (lambda _
+ (let ((patch-file
+ #$(local-file
+ (search-patch "libpciaccess-hurd64.patch"))))
+ (invoke "patch" "--force" "-p1" "-i" patch-file)))))
+ #~()))))
(inputs
(list zlib pciutils)) ;for 'pci.ids.gz'
(native-inputs
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [bug#74290] [PATCH 22/31] gnu: netdde: Update to c0ef248dc7c5ccc1273e2a796f3ece30c5b645df.
2024-11-10 10:32 [bug#74290] [PATCH 00/31] Add support for x86_64-gnu, aka the 64bit Hurd Janneke Nieuwenhuizen
` (20 preceding siblings ...)
2024-11-10 10:38 ` [bug#74290] [PATCH 21/31] gnu: libpciaccess: " Janneke Nieuwenhuizen
@ 2024-11-10 10:38 ` Janneke Nieuwenhuizen
2024-11-10 10:38 ` [bug#74290] [PATCH 23/31] gnu: netdde: Support the 64bit Hurd Janneke Nieuwenhuizen
` (10 subsequent siblings)
32 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2024-11-10 10:38 UTC (permalink / raw)
To: 74290
* gnu/packages/hurd.scm (netdde): Update to
c0ef248dc7c5ccc1273e2a796f3ece30c5b645df.
(dde-sources): Update to b6c8526c703f3ba76294d9002f195c63897ec661.
Change-Id: Id03f5c5124f16e9ffd6a77cbb2507d274e0f325a
---
gnu/packages/hurd.scm | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm
index 06fae1bd3b..f9d8b28b8c 100644
--- a/gnu/packages/hurd.scm
+++ b/gnu/packages/hurd.scm
@@ -294,7 +294,7 @@ (define unifont
(define dde-sources
;; This is the current tip of the dde branch
- (let ((commit "066797b576ebf8364ad157f50bef2a655597deeb"))
+ (let ((commit "b6c8526c703f3ba76294d9002f195c63897ec661"))
(origin
(method git-fetch)
(uri (git-reference
@@ -302,7 +302,7 @@ (define dde-sources
(commit commit)))
(sha256
(base32
- "19f2awlfnar5gyhi0w5zawla5brzck2s88iv0f20022pd1l5v9hl"))
+ "0k1ilj8ghli8x43xaksbc4y419pqh0w16k374914c07svq419bbr"))
(file-name (git-file-name "dde" (string-take commit 7))))))
(define %import-from-dde
@@ -561,8 +561,8 @@ (define-public hurd
(license gpl2+)))
(define-public netdde
- (let ((commit "e67c284ac113d939b10b4578334f27dab29d5b08")
- (revision "2"))
+ (let ((commit "c0ef248dc7c5ccc1273e2a796f3ece30c5b645df")
+ (revision "3"))
(package
(name "netdde")
;; The version prefix corresponds to the version of Linux from which the
@@ -576,7 +576,7 @@ (define-public netdde
(patches (list (search-patch "netdde-build-fix.patch")))
(sha256
(base32
- "0vnkls7sr7srzib5mnw6gybzl5qa8c5a4zf3h08w6gdr7zqbndh0"))
+ "070fpmd4nvn3mp8dj9w4if63iwz7j2m0h6ywq888znw70wlrc6sh"))
(file-name (git-file-name name commit))))
(build-system gnu-build-system)
(arguments
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [bug#74290] [PATCH 23/31] gnu: netdde: Support the 64bit Hurd.
2024-11-10 10:32 [bug#74290] [PATCH 00/31] Add support for x86_64-gnu, aka the 64bit Hurd Janneke Nieuwenhuizen
` (21 preceding siblings ...)
2024-11-10 10:38 ` [bug#74290] [PATCH 22/31] gnu: netdde: Update to c0ef248dc7c5ccc1273e2a796f3ece30c5b645df Janneke Nieuwenhuizen
@ 2024-11-10 10:38 ` Janneke Nieuwenhuizen
2024-11-10 10:38 ` [bug#74290] [PATCH 24/31] gnu: rumpkernel: Update to f1ffd6405f225336e595a0f99f01095ed7438337 Janneke Nieuwenhuizen
` (9 subsequent siblings)
32 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2024-11-10 10:38 UTC (permalink / raw)
To: 74290
* 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,
disable -Wstrict-prototypes and -Wint-conversion, and follow upstream's
"amd64" symlinking voodoo.
Change-Id: Ie825e56779dae2f489066569dc3c4405bac778c1
---
gnu/local.mk | 1 +
gnu/packages/hurd.scm | 22 ++++++++++++++++++++--
gnu/packages/patches/netdde-csum.patch | 18 ++++++++++++++++++
3 files changed, 39 insertions(+), 2 deletions(-)
create mode 100644 gnu/packages/patches/netdde-csum.patch
diff --git a/gnu/local.mk b/gnu/local.mk
index 1e81c16979..9a4715df86 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1816,6 +1816,7 @@ dist_patch_DATA = \
%D%/packages/patches/ncftp-reproducible.patch \
%D%/packages/patches/netcdf-date-time.patch \
%D%/packages/patches/netdde-build-fix.patch \
+ %D%/packages/patches/netdde-csum.patch \
%D%/packages/patches/netpbm-CVE-2017-2586.patch \
%D%/packages/patches/netpbm-CVE-2017-2587.patch \
%D%/packages/patches/netsurf-message-timestamp.patch \
diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm
index f9d8b28b8c..973564ee33 100644
--- a/gnu/packages/hurd.scm
+++ b/gnu/packages/hurd.scm
@@ -573,7 +573,8 @@ (define-public netdde
(uri (git-reference
(url "https://git.savannah.gnu.org/git/hurd/incubator.git")
(commit commit)))
- (patches (list (search-patch "netdde-build-fix.patch")))
+ (patches (search-patches "netdde-build-fix.patch"
+ "netdde-csum.patch"))
(sha256
(base32
"070fpmd4nvn3mp8dj9w4if63iwz7j2m0h6ywq888znw70wlrc6sh"))
@@ -586,7 +587,13 @@ (define-public netdde
(search-input-file %build-inputs "/bin/bash"))
"PKGDIR=libdde_linux26"
(string-append "CC=" ,(cc-for-target))
- "ARCH=x86")
+ (let ((arch ,(match (or (%current-target-system)
+ (%current-system))
+ ((? target-x86-32?)
+ "x86")
+ ((? target-x86-64?)
+ "amd64"))))
+ (string-append "ARCH=" arch)))
#:configure-flags
,#~(list (string-append "LDFLAGS=-Wl,-rpath=" #$output "/lib"))
#:phases
@@ -604,8 +611,19 @@ (define-public netdde
(("/bin/bash") (which "bash")))))
(add-after 'patch-generated-file-shebangs 'build-libdde-linux26
(lambda* (#:key make-flags #:allow-other-keys)
+ (when ,(target-hurd64?)
+ (let ((dir "libdde_linux26/build/include"))
+ (mkdir-p (string-append dir "/x86"))
+ (format #t "symlink ~a -> ~a\n"
+ (string-append dir "/x86/amd64") "x86")
+ (symlink "x86" (string-append dir "/amd64"))
+ (format #t "symlink ~a -> ~a\n"
+ (string-append dir "/amd64/asm-x86_64") "asm-x86")
+ (symlink "asm-x86" (string-append dir "/amd64/asm-x86_64"))))
(with-directory-excursion "libdde_linux26"
(apply invoke "make"
+ (string-append "WARNINGS=-Wno-strict-prototypes"
+ " -Wno-int-conversion")
(delete "PKGDIR=libdde_linux26" make-flags)))))
(add-after 'build-libdde-linux26 'convert
(lambda* (#:key make-flags #:allow-other-keys)
diff --git a/gnu/packages/patches/netdde-csum.patch b/gnu/packages/patches/netdde-csum.patch
new file mode 100644
index 0000000000..4fdd004898
--- /dev/null
+++ b/gnu/packages/patches/netdde-csum.patch
@@ -0,0 +1,18 @@
+Upstream-status: Taken from debian.
+
+<https://salsa.debian.org/hurd-team/netdde/raw/master/debian/patches/csum>.
+
+---
+ linux/drivers/net/vmxnet3/vmxnet3_drv.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/linux/drivers/net/vmxnet3/vmxnet3_drv.c
++++ b/linux/drivers/net/vmxnet3/vmxnet3_drv.c
+@@ -25,6 +25,7 @@
+ */
+
+ #include "vmxnet3_int.h"
++#include <net/ip6_checksum.h>
+
+ char vmxnet3_driver_name[] = "vmxnet3";
+ #define VMXNET3_DRIVER_DESC "VMware vmxnet3 virtual NIC driver"
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [bug#74290] [PATCH 24/31] gnu: rumpkernel: Update to f1ffd6405f225336e595a0f99f01095ed7438337.
2024-11-10 10:32 [bug#74290] [PATCH 00/31] Add support for x86_64-gnu, aka the 64bit Hurd Janneke Nieuwenhuizen
` (22 preceding siblings ...)
2024-11-10 10:38 ` [bug#74290] [PATCH 23/31] gnu: netdde: Support the 64bit Hurd Janneke Nieuwenhuizen
@ 2024-11-10 10:38 ` Janneke Nieuwenhuizen
2024-11-10 10:38 ` [bug#74290] [PATCH 25/31] gnu: rumpkernel: Support the 64bit Hurd Janneke Nieuwenhuizen
` (8 subsequent siblings)
32 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2024-11-10 10:38 UTC (permalink / raw)
To: 74290
* gnu/packages/hurd.scm (rumpkernel): Update to
f1ffd6405f225336e595a0f99f01095ed7438337.
[arguments]: In stage "build", add "-Wno-error=sign-compare" to CWARNFLAGS.
Change-Id: I8936377da726681b748cc010e1fbae3fb19dee05
---
gnu/packages/hurd.scm | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm
index 973564ee33..b156fcea4c 100644
--- a/gnu/packages/hurd.scm
+++ b/gnu/packages/hurd.scm
@@ -665,8 +665,8 @@ (define-public netdde
(license gpl2))))
(define-public rumpkernel
- (let ((commit "81043d42fabda9baed7ac9ca36e3f3f5ed11ba81")
- (revision "3"))
+ (let ((commit "f1ffd6405f225336e595a0f99f01095ed7438337")
+ (revision "0"))
(package
(name "rumpkernel")
(version (git-version "0-20211031" revision commit))
@@ -680,7 +680,7 @@ (define-public rumpkernel
(commit commit)))
(sha256
(base32
- "0fv0k52qqcg3nq9012hibgsamvsd7mnvn2ikdasmzjhsp8qh5q3r"))
+ "1ygn3ysji06ik3k44sf906fjpdmabznkspw70llldbk2zkrcdw7i"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
@@ -800,7 +800,8 @@ (define-public rumpkernel
" -Wno-error=stack-protector"
" -Wno-error=array-parameter"
" -Wno-error=array-bounds"
- " -Wno-error=stringop-overflow")
+ " -Wno-error=stringop-overflow"
+ " -Wno-error=sign-compare")
"-V" "LIBCRTBEGIN="
"-V" "LIBCRTEND="
"-V" "LIBCRT0="
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [bug#74290] [PATCH 25/31] gnu: rumpkernel: Support the 64bit Hurd.
2024-11-10 10:32 [bug#74290] [PATCH 00/31] Add support for x86_64-gnu, aka the 64bit Hurd Janneke Nieuwenhuizen
` (23 preceding siblings ...)
2024-11-10 10:38 ` [bug#74290] [PATCH 24/31] gnu: rumpkernel: Update to f1ffd6405f225336e595a0f99f01095ed7438337 Janneke Nieuwenhuizen
@ 2024-11-10 10:38 ` Janneke Nieuwenhuizen
2024-11-10 10:38 ` [bug#74290] [PATCH 26/31] gnu: hurd: Build fixes for " Janneke Nieuwenhuizen
` (7 subsequent siblings)
32 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2024-11-10 10:38 UTC (permalink / raw)
To: 74290
* gnu/packages/hurd.scm (rumpkernel)[argument]: In stage "build", follow
Debian upstream to use -DPAE disable the DTRACE and ZFS builds.
Change-Id: I534da31eefb378c72b4896d64a51a73109e38aa6
---
gnu/packages/hurd.scm | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm
index b156fcea4c..d29ec22cd7 100644
--- a/gnu/packages/hurd.scm
+++ b/gnu/packages/hurd.scm
@@ -781,6 +781,9 @@ (define-public rumpkernel
"-V" "MKBINUTILS=no"
"-V" "MKGDB=no"
"-V" "MKGROFF=no"
+ "-V" "MKDTRACE=no"
+ "-V" "MKZFS=no"
+
"-V" (string-append "TOPRUMP=" toprump)
"-V" "BUILDRUMP_CPPFLAGS=-Wno-error=stringop-overread"
"-V" "RUMPUSER_EXTERNAL_DPLIBS=pthread"
@@ -791,7 +794,8 @@ (define-public rumpkernel
" -DRUMP_REGISTER_T=int"
" -DRUMPUSER_CONFIG=yes"
" -DNO_PCI_MSI_MSIX=yes"
- " -DNUSB_DMA=1")
+ " -DNUSB_DMA=1"
+ " -DPAE")
"-V" (string-append
"CWARNFLAGS="
" -Wno-error=maybe-uninitialized"
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [bug#74290] [PATCH 26/31] gnu: hurd: Build fixes for the 64bit Hurd.
2024-11-10 10:32 [bug#74290] [PATCH 00/31] Add support for x86_64-gnu, aka the 64bit Hurd Janneke Nieuwenhuizen
` (24 preceding siblings ...)
2024-11-10 10:38 ` [bug#74290] [PATCH 25/31] gnu: rumpkernel: Support the 64bit Hurd Janneke Nieuwenhuizen
@ 2024-11-10 10:38 ` Janneke Nieuwenhuizen
2024-11-10 10:38 ` [bug#74290] [PATCH 27/31] gnu: git-minimal: Support " Janneke Nieuwenhuizen
` (6 subsequent siblings)
32 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2024-11-10 10:38 UTC (permalink / raw)
To: 74290
* 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, disable -Wstrict-prototypes and -Wint-conversion,
and follow upstream's "amd64" symlinking voodoo.
Change-Id: If264a91b2433add13f9121c482f0abe67ae5f1e9
---
gnu/local.mk | 1 +
gnu/packages/hurd.scm | 115 +++++++++++++++++---------
gnu/packages/patches/hurd-64bit.patch | 56 +++++++++++++
3 files changed, 131 insertions(+), 41 deletions(-)
create mode 100644 gnu/packages/patches/hurd-64bit.patch
diff --git a/gnu/local.mk b/gnu/local.mk
index 9a4715df86..cf0de3d92e 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1545,6 +1545,7 @@ dist_patch_DATA = \
%D%/packages/patches/htslib-for-stringtie.patch \
%D%/packages/patches/hubbub-sort-entities.patch \
%D%/packages/patches/hueplusplus-mbedtls.patch \
+ %D%/packages/patches/hurd-64bit.patch \
%D%/packages/patches/hurd-rumpdisk-no-hd.patch \
%D%/packages/patches/hurd-startup.patch \
%D%/packages/patches/hwloc-1-test-btrfs.patch \
diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm
index d29ec22cd7..7aed0ebe1d 100644
--- a/gnu/packages/hurd.scm
+++ b/gnu/packages/hurd.scm
@@ -317,7 +317,8 @@ (define-public hurd
(source (origin
(inherit (package-source hurd-headers))
(patches (search-patches "hurd-rumpdisk-no-hd.patch"
- "hurd-startup.patch"))))
+ "hurd-startup.patch"
+ "hurd-64bit.patch"))))
(version (package-version hurd-headers))
(arguments
`(#:tests? #f ;no "check" target
@@ -467,48 +468,80 @@ (define-public hurd
(find-files (string-append out "/libexec")))
#t)))
(add-after 'build 'build-libdde-linux
- (lambda* (#:key inputs native-inputs #:allow-other-keys)
- (invoke (string-append (assoc-ref (or native-inputs inputs) "make")
- "/bin/make")
- ;; XXX There can be a race condition because subdirs
- ;; aren't interdependent targets in the Makefile.
- "-j1" "-C" "libdde_linux26"
- (string-append "SHELL="
- (assoc-ref (or native-inputs inputs) "bash")
- "/bin/bash")
- (string-append "CC="
- ,(cc-for-target))
- "ARCH=x86")))
+ (lambda* (#:key inputs native-inputs #:allow-other-keys)
+ (let ((arch ,(match (or (%current-target-system)
+ (%current-system))
+ ((? target-x86-32?)
+ "x86")
+ ((? target-x86-64?)
+ "amd64"))))
+ (when ,(target-hurd64?)
+ (let ((dir "libdde_linux26/build/include"))
+ (mkdir-p (string-append dir "/x86"))
+ (format #t "symlink ~a -> ~a\n"
+ (string-append dir "/x86/amd64") "x86")
+ (symlink "x86" (string-append dir "/amd64"))
+ (format #t "symlink ~a -> ~a\n"
+ (string-append dir "/amd64/asm-x86_64") "asm-x86")
+ (symlink "asm-x86" (string-append dir "/amd64/asm-x86_64"))))
+ (invoke (string-append (assoc-ref (or native-inputs inputs) "make")
+ "/bin/make")
+ ;; XXX There can be a race condition because subdirs
+ ;; aren't interdependent targets in the Makefile.
+ "-j1" "-C" "libdde_linux26"
+ (string-append "SHELL="
+ (assoc-ref (or native-inputs inputs) "bash")
+ "/bin/bash")
+ (string-append "CC="
+ ,(cc-for-target))
+ (string-append "WARNINGS=-Wno-int-conversion"
+ " -Wno-strict-prototypes")
+ (string-append "ARCH=" arch)))))
(add-after 'install 'install-goodies
- (lambda* (#:key inputs native-inputs outputs #:allow-other-keys)
- ;; Install additional goodies.
- ;; TODO: Build & install *.msgids for rpctrace.
- (let* ((out (assoc-ref outputs "out"))
- (datadir (string-append out "/share/hurd")))
- ;; Install libdde_linux26.
- (invoke (string-append (assoc-ref (or native-inputs inputs) "make")
- "/bin/make")
- "-C" "libdde_linux26" "install"
- (string-append "SHELL="
- (assoc-ref (or native-inputs inputs) "bash")
- "/bin/bash")
- (string-append "INSTALLDIR="
- out
- "/share/libdde_linux26/build/include")
- "ARCH=x86")
- ;; Install the fancy UTF-8 motd.
- (mkdir-p (string-append out "/etc"))
- (copy-file "console/motd.UTF8"
- (string-append out "/etc/motd"))
+ (lambda* (#:key inputs native-inputs outputs #:allow-other-keys)
+ ;; Install additional goodies.
+ ;; TODO: Build & install *.msgids for rpctrace.
+ (let* ((out (assoc-ref outputs "out"))
+ (datadir (string-append out "/share/hurd"))
+ (arch ,(match (or (%current-target-system)
+ (%current-system))
+ ((? target-x86-32?)
+ "x86")
+ ((? target-x86-64?)
+ "amd64")))
+ (dir (string-append out "/share/libdde_linux26/build/include")))
+ (mkdir-p dir)
+ (when ,(target-hurd64?)
+ (mkdir-p (string-append dir "/amd64"))
+ (format #t "symlink ~a -> ~a\n"
+ (string-append dir "/amd64/asm-x86_64")
+ "x86")
+ (symlink "x86" (string-append dir "/amd46")))
+ (invoke (string-append (assoc-ref (or native-inputs inputs) "make")
+ "/bin/make")
+ "-C" "libdde_linux26" "install"
+ (string-append "SHELL="
+ (assoc-ref (or native-inputs inputs) "bash")
+ "/bin/bash")
+ (string-append "INSTALLDIR=" dir)
+ (string-append "ARCH=" arch))
+ (when ,(target-hurd64?)
+ (format #t "symlink ~a -> ~a\n"
+ (string-append dir "/amd64/asm-x86_64")
+ "asm-x86")
+ (symlink "asm-x86" (string-append dir "/amd64/asm-x86_64")))
+ ;; Install the fancy UTF-8 motd.
+ (mkdir-p (string-append out "/etc"))
+ (copy-file "console/motd.UTF8"
+ (string-append out "/etc/motd"))
- ;; Install the BDF font for use by the console client.
- (copy-file (assoc-ref inputs "unifont")
- "unifont.gz")
- (invoke "gunzip" "unifont.gz")
- (mkdir-p datadir)
- (copy-file "unifont"
- (string-append datadir "/vga-system.bdf"))
- #t))))
+ ;; Install the BDF font for use by the console client.
+ (copy-file (assoc-ref inputs "unifont")
+ "unifont.gz")
+ (invoke "gunzip" "unifont.gz")
+ (mkdir-p datadir)
+ (copy-file "unifont"
+ (string-append datadir "/vga-system.bdf"))))))
#:configure-flags
,#~(list (string-append "LDFLAGS=-Wl,-rpath="
#$output "/lib")
diff --git a/gnu/packages/patches/hurd-64bit.patch b/gnu/packages/patches/hurd-64bit.patch
new file mode 100644
index 0000000000..643550ad68
--- /dev/null
+++ b/gnu/packages/patches/hurd-64bit.patch
@@ -0,0 +1,56 @@
+Upstream-status: Taken from upstream:
+ <https://git.savannah.gnu.org/cgit/hurd/hurd.git/commit/?id=d494333e7607ea03819adcfb69d89f8248ec2044>.
+
+From d494333e7607ea03819adcfb69d89f8248ec2044 Mon Sep 17 00:00:00 2001
+From: Flavio Cruz <flaviocruz@gmail.com>
+Date: Sun, 21 Jul 2024 17:20:55 -0400
+Subject: [PATCH] nfsd: fix -Werror=incompatible-pointer-types issues for
+ x86_64
+Content-Transfer-Encoding: 8bit
+Content-Type: text/plain; charset=UTF-8
+
+Message-ID: <3pmgbk2myx4phdb6wcso54solmybulrvbytols5md3nri2p2qp@xjmfmpvwjp6t>
+---
+ nfsd/cache.c | 2 +-
+ nfsd/ops.c | 4 ++--
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/nfsd/cache.c b/nfsd/cache.c
+index cd5524af..864739c0 100644
+--- a/nfsd/cache.c
++++ b/nfsd/cache.c
+@@ -387,7 +387,7 @@ create_cached_handle (int fs, struct cache_handle *credc, file_t userport)
+ struct cache_handle *c;
+ int hash;
+ char *bp = fhandle.array + sizeof (int);
+- size_t handlelen = NFS2_FHSIZE - sizeof (int);
++ mach_msg_type_number_t handlelen = NFS2_FHSIZE - sizeof (int);
+ mach_port_t newport, ref;
+
+ /* Authenticate USERPORT so that we can call file_getfh on it. */
+diff --git a/nfsd/ops.c b/nfsd/ops.c
+index 463a9c87..64e94b93 100644
+--- a/nfsd/ops.c
++++ b/nfsd/ops.c
+@@ -292,7 +292,7 @@ op_write (struct cache_handle *c,
+ off_t offset;
+ size_t count;
+ error_t err;
+- mach_msg_type_number_t amt;
++ vm_size_t amt;
+ char *bp;
+ struct stat st;
+
+@@ -583,7 +583,7 @@ op_readdir (struct cache_handle *c,
+ error_t err;
+ char *buf;
+ struct dirent *dp;
+- size_t bufsize;
++ mach_msg_type_number_t bufsize;
+ int nentries;
+ int i;
+ int *replystart;
+--
+Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
+Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
+
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [bug#74290] [PATCH 27/31] gnu: git-minimal: Support the 64bit Hurd.
2024-11-10 10:32 [bug#74290] [PATCH 00/31] Add support for x86_64-gnu, aka the 64bit Hurd Janneke Nieuwenhuizen
` (25 preceding siblings ...)
2024-11-10 10:38 ` [bug#74290] [PATCH 26/31] gnu: hurd: Build fixes for " Janneke Nieuwenhuizen
@ 2024-11-10 10:38 ` Janneke Nieuwenhuizen
2024-11-10 10:38 ` [bug#74290] [PATCH 28/31] gnu: inetutils: Fix build for " Janneke Nieuwenhuizen
` (5 subsequent siblings)
32 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2024-11-10 10:38 UTC (permalink / raw)
To: 74290
* gnu/packages/version-control.scm (git-minimal)[arguments]: When using gcc >=
14, use "-Wno-implicit-function-declaration" in #:make-flags.
Use target-hurd? instead of comparing with "i586-pc-gnu" in "use-host-uname_S"
phase.
Change-Id: Ib9836be8a1e389a82c8a89adf22aaeac0d85bd14
---
gnu/packages/version-control.scm | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index 6bd37fee82..136d52af51 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -111,6 +111,7 @@ (define-module (gnu packages version-control)
#:use-module (gnu packages file)
#:use-module (gnu packages flex)
#:use-module (gnu packages freedesktop)
+ #:use-module (gnu packages gcc)
#:use-module (gnu packages gettext)
#:use-module (gnu packages gl)
#:use-module (gnu packages glib)
@@ -292,7 +293,10 @@ (define-public git-minimal
;; By default 'make install' creates hard links for
;; things in 'libexec/git-core', which leads to huge
;; nars; see <https://bugs.gnu.org/21949>.
- "NO_INSTALL_HARDLINKS=indeed")
+ "NO_INSTALL_HARDLINKS=indeed"
+ #$@(if (version>=? (package-version (current-gcc)) "14")
+ #~("-Wno-implicit-function-declaration")
+ #~()))
#:phases
#~(modify-phases %standard-phases
#$@(if (%current-target-system)
@@ -301,7 +305,7 @@ (define-public git-minimal
(lambda _
(substitute* "config.mak.uname"
(("uname_S := .*" all)
- (if (equal? #$(%current-target-system) "i586-pc-gnu")
+ (if #$(target-hurd?)
"uname_S := GNU\n"
all))))))
;; We do not have a full bash when cross-compiling.
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [bug#74290] [PATCH 28/31] gnu: inetutils: Fix build for the 64bit Hurd.
2024-11-10 10:32 [bug#74290] [PATCH 00/31] Add support for x86_64-gnu, aka the 64bit Hurd Janneke Nieuwenhuizen
` (26 preceding siblings ...)
2024-11-10 10:38 ` [bug#74290] [PATCH 27/31] gnu: git-minimal: Support " Janneke Nieuwenhuizen
@ 2024-11-10 10:38 ` Janneke Nieuwenhuizen
2024-11-10 10:38 ` [bug#74290] [PATCH 29/31] gnu: grub: " Janneke Nieuwenhuizen
` (4 subsequent siblings)
32 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2024-11-10 10:38 UTC (permalink / raw)
To: 74290
* 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
---
gnu/local.mk | 1 +
gnu/packages/admin.scm | 14 ++++-
gnu/packages/patches/inetutils-hurd64.patch | 65 +++++++++++++++++++++
3 files changed, 78 insertions(+), 2 deletions(-)
create mode 100644 gnu/packages/patches/inetutils-hurd64.patch
diff --git a/gnu/local.mk b/gnu/local.mk
index cf0de3d92e..6a46241e5f 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1568,6 +1568,7 @@ dist_patch_DATA = \
%D%/packages/patches/ilmbase-fix-tests.patch \
%D%/packages/patches/instead-use-games-path.patch \
%D%/packages/patches/intltool-perl-compatibility.patch \
+ %D%/packages/patches/inetutils-hurd64.patch \
%D%/packages/patches/irrlicht-use-system-libs.patch \
%D%/packages/patches/irrlicht-link-against-needed-libs.patch \
%D%/packages/patches/isl-0.11.1-aarch64-support.patch \
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index db9aea31a5..f0dde60d6a 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -31,7 +31,7 @@
;;; Copyright © 2019, 2021, 2022 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2019, 2020, 2021 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
-;;; Copyright © 2020, 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2020, 2023, 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2020, 2021, 2022 Michael Rohleder <mike@rohleder.de>
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2020 Morgan Smith <Morgan.J.Smith@outlook.com>
@@ -1000,7 +1000,17 @@ (define-public inetutils
"\\\""))
;; On some systems, 'libls.sh' may fail with an error such as:
;; "Failed to tell switch -a apart from -A".
- #:parallel-tests? #f))
+ #:parallel-tests? #f
+ #:phases (if (target-hurd64?)
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'apply-hurd64-patch
+ (lambda _
+ (let ((patch
+ #$(local-file
+ (search-patch
+ "inetutils-hurd64.patch"))))
+ (invoke "patch" "--force" "-p1" "-i" patch)))))
+ #~%standard-phases)))
(inputs
(list coreutils
shadow ;for login (used in telnetd and rlogind)
diff --git a/gnu/packages/patches/inetutils-hurd64.patch b/gnu/packages/patches/inetutils-hurd64.patch
new file mode 100644
index 0000000000..3fb238bcdc
--- /dev/null
+++ b/gnu/packages/patches/inetutils-hurd64.patch
@@ -0,0 +1,65 @@
+Upstream-status: Not presented upstream.
+
+From 0804e655a7abfd22dc3a053f03fab8f811405f84 Mon Sep 17 00:00:00 2001
+From: Janneke Nieuwenhuizen <janneke@gnu.org>
+Date: Fri, 8 Nov 2024 11:07:56 +0100
+Subject: [PATCH] ifconfig hurd: Build fix for the 64bit HUrd.
+Content-Transfer-Encoding: 8bit
+Content-Type: text/plain; charset=UTF-8
+
+* ifconfig/system/hurd.c (check_driving): Use mach_msg_type_number_t
+instead of size_t for file_get_fs_options.
+---
+ ifconfig/system/hurd.c | 12 +++++++-----
+ 1 file changed, 7 insertions(+), 5 deletions(-)
+
+diff --git a/ifconfig/system/hurd.c b/ifconfig/system/hurd.c
+index 70b2ed27..86fe6375 100644
+--- a/ifconfig/system/hurd.c
++++ b/ifconfig/system/hurd.c
+@@ -47,7 +47,7 @@ check_driving (const char *name)
+ error_t err;
+
+ char *argz = 0, *new_argz = 0;
+- size_t argz_len = 0;
++ mach_msg_type_number_t argz_len = 0;
+ char *entry = 0;
+ const char *socket = _SERVERS_SOCKET "/2";
+
+@@ -106,7 +106,9 @@ check_driving (const char *name)
+ new_argz = malloc (argz_len);
+ memcpy (new_argz, argz, argz_len);
+
+- err = argz_insert (&new_argz, &argz_len, new_argz, name);
++ size_t new_argz_len = 0;
++
++ err = argz_insert (&new_argz, &new_argz_len, new_argz, name);
+ if (err)
+ {
+ error (0, err, "Could not prepend name %s to '%s' for %s", name,
+@@ -114,7 +116,7 @@ check_driving (const char *name)
+ goto out;
+ }
+
+- err = argz_insert (&new_argz, &argz_len, new_argz, "-i");
++ err = argz_insert (&new_argz, &new_argz_len, new_argz, "-i");
+ if (err)
+ {
+ argz_stringify (new_argz, argz_len, ' ');
+@@ -122,10 +124,10 @@ check_driving (const char *name)
+ goto out;
+ }
+
+- err = fsys_set_options (fsys, new_argz, argz_len, 1);
++ err = fsys_set_options (fsys, new_argz, new_argz_len, 1);
+ if (err)
+ {
+- argz_stringify (new_argz, argz_len, ' ');
++ argz_stringify (new_argz, new_argz_len, ' ');
+ error (0, err, "Could not make pfinet %s drive %s with '%s'", socket,
+ name, new_argz);
+ goto out;
+--
+Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
+Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
+
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [bug#74290] [PATCH 29/31] gnu: grub: Fix build for the 64bit Hurd.
2024-11-10 10:32 [bug#74290] [PATCH 00/31] Add support for x86_64-gnu, aka the 64bit Hurd Janneke Nieuwenhuizen
` (27 preceding siblings ...)
2024-11-10 10:38 ` [bug#74290] [PATCH 28/31] gnu: inetutils: Fix build for " Janneke Nieuwenhuizen
@ 2024-11-10 10:38 ` Janneke Nieuwenhuizen
2024-11-10 10:38 ` [bug#74290] [PATCH 30/31] gnu: guile-fibers: " Janneke Nieuwenhuizen
` (3 subsequent siblings)
32 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2024-11-10 10:38 UTC (permalink / raw)
To: 74290; +Cc: Efraim Flashner, Vagrant Cascadian
* 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
---
gnu/local.mk | 1 +
gnu/packages/bootloaders.scm | 8 +++++++
gnu/packages/patches/grub-hurd64.patch | 32 ++++++++++++++++++++++++++
3 files changed, 41 insertions(+)
create mode 100644 gnu/packages/patches/grub-hurd64.patch
diff --git a/gnu/local.mk b/gnu/local.mk
index 6a46241e5f..11955c7a49 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1487,6 +1487,7 @@ dist_patch_DATA = \
%D%/packages/patches/gromacs-tinyxml2.patch \
%D%/packages/patches/groovy-add-exceptionutilsgenerator.patch \
%D%/packages/patches/grub-efi-fat-serial-number.patch \
+ %D%/packages/patches/grub-hurd64.patch \
%D%/packages/patches/grub-setup-root.patch \
%D%/packages/patches/guile-1.8-cpp-4.5.patch \
%D%/packages/patches/guile-2.2-skip-oom-test.patch \
diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm
index 8ae9621e5b..781000af1b 100644
--- a/gnu/packages/bootloaders.scm
+++ b/gnu/packages/bootloaders.scm
@@ -192,6 +192,14 @@ (define-public grub
(setenv "BUILD_FREETYPE_CFLAGS"
(string-append "-I" freetype
"/include/freetype2"))))))
+ #$@(if (target-hurd64?)
+ #~((add-after 'unpack 'apply-hurd64-patch
+ (lambda _
+ (let ((patch
+ #$(local-file
+ (search-patch "grub-hurd64.patch"))))
+ (invoke "patch" "--force" "-p1" "-i" patch)))))
+ #~())
(add-before 'check 'disable-flaky-test
(lambda _
;; This test is unreliable. For more information, see:
diff --git a/gnu/packages/patches/grub-hurd64.patch b/gnu/packages/patches/grub-hurd64.patch
new file mode 100644
index 0000000000..d5acd99eb8
--- /dev/null
+++ b/gnu/packages/patches/grub-hurd64.patch
@@ -0,0 +1,32 @@
+Upstream-status: Not presented upstream.
+
+From a4eb7d1f2cbd02132a9f5512f1294182576d4653 Mon Sep 17 00:00:00 2001
+From: Janneke Nieuwenhuizen <janneke@gnu.org>
+Date: Fri, 8 Nov 2024 11:47:49 +0100
+Subject: [PATCH] osdep/hurd: Support the 64bit Hurd.
+Content-Transfer-Encoding: 8bit
+Content-Type: text/plain; charset=UTF-8
+
+* grub-core/osdep/hurd/getroot.c (grub_util_find_hurd_root_device):
+Use mach_msg_type_number_t instead of size_t.
+---
+ grub-core/osdep/hurd/getroot.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/grub-core/osdep/hurd/getroot.c b/grub-core/osdep/hurd/getroot.c
+index 0efefdab4..b849700e6 100644
+--- a/grub-core/osdep/hurd/getroot.c
++++ b/grub-core/osdep/hurd/getroot.c
+@@ -58,7 +58,7 @@ grub_util_find_hurd_root_device (const char *path)
+ file_t file;
+ error_t err;
+ char *argz = NULL, *name = NULL, *ret;
+- size_t argz_len = 0;
++ mach_msg_type_number_t argz_len = 0;
+ int i;
+
+ file = file_name_lookup (path, 0, 0);
+--
+Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
+Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
+
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [bug#74290] [PATCH 30/31] gnu: guile-fibers: Fix build for the 64bit Hurd.
2024-11-10 10:32 [bug#74290] [PATCH 00/31] Add support for x86_64-gnu, aka the 64bit Hurd Janneke Nieuwenhuizen
` (28 preceding siblings ...)
2024-11-10 10:38 ` [bug#74290] [PATCH 29/31] gnu: grub: " Janneke Nieuwenhuizen
@ 2024-11-10 10:38 ` Janneke Nieuwenhuizen
2024-11-10 10:38 ` [bug#74290] [PATCH 31/31] system: hurd: Use 64bit gnumach " Janneke Nieuwenhuizen
` (2 subsequent siblings)
32 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2024-11-10 10:38 UTC (permalink / raw)
To: 74290
* gnu/packages/guile-xyz.scm (guile-fibers)[arguments]: Also modify phases for
the 64bit Hurd.
Change-Id: I780f6a92418b49e5fe0d23eb1c90e155216f1428
---
gnu/packages/guile-xyz.scm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm
index ea192c2c03..a874ab908d 100644
--- a/gnu/packages/guile-xyz.scm
+++ b/gnu/packages/guile-xyz.scm
@@ -855,7 +855,7 @@ (define-public guile-fibers
(list #:make-flags
#~(list "GUILE_AUTO_COMPILE=0")
#:phases
- (if (target-x86-64?)
+ (if (and (target-x86-64?) (not (target-hurd?)))
#~%standard-phases
#~(modify-phases %standard-phases
(add-before 'check 'disable-some-tests
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [bug#74290] [PATCH 31/31] system: hurd: Use 64bit gnumach for the 64bit Hurd.
2024-11-10 10:32 [bug#74290] [PATCH 00/31] Add support for x86_64-gnu, aka the 64bit Hurd Janneke Nieuwenhuizen
` (29 preceding siblings ...)
2024-11-10 10:38 ` [bug#74290] [PATCH 30/31] gnu: guile-fibers: " Janneke Nieuwenhuizen
@ 2024-11-10 10:38 ` Janneke Nieuwenhuizen
2024-11-10 14:40 ` janneke
2024-11-10 14:15 ` [bug#74290] [PATCH 00/31] Add support for x86_64-gnu, aka " janneke
2024-11-12 16:25 ` [bug#74290] [PATCH v2 00/40] " Janneke Nieuwenhuizen
32 siblings, 1 reply; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2024-11-10 10:38 UTC (permalink / raw)
To: 74290
* gnu/system/hurd.scm (%hurd-default-operating-system-kernel): Use
actual (%current-target-system) to specify (%current-system) instead of using
hardcoded "i686-linux".
Change-Id: Ifc179bce221b1a54461860c24ba400cf6932ec86
---
gnu/system/hurd.scm | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/gnu/system/hurd.scm b/gnu/system/hurd.scm
index 9a351529e8..58e41959f4 100644
--- a/gnu/system/hurd.scm
+++ b/gnu/system/hurd.scm
@@ -18,6 +18,7 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu system hurd)
+ #:use-module (ice-9 match)
#:use-module (guix gexp)
#:use-module (guix profiles)
#:use-module (guix utils)
@@ -64,9 +65,13 @@ (define %hurd-default-operating-system-kernel
(if (system-hurd?)
gnumach
;; A cross-built GNUmach does not work
- (with-parameters ((%current-system "i686-linux")
- (%current-target-system #f))
- gnumach)))
+ (let ((system (match (%current-system)
+ ((? target-x86-32?) "i686-linux")
+ ((? target-x86-64?) "x86_64-linux")
+ (_ "i686-linux"))))
+ (with-parameters ((%current-system system)
+ (%current-target-system #f))
+ gnumach))))
(define %base-packages/hurd
;; Note: the Shepherd comes before the Hurd, not just because its duty is to
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [bug#74290] [PATCH 02/31] gnu: gnumach: Update to v1.8+git20240714.
2024-11-10 10:37 ` [bug#74290] [PATCH 02/31] gnu: gnumach: Update to v1.8+git20240714 Janneke Nieuwenhuizen
@ 2024-11-10 11:45 ` janneke
0 siblings, 0 replies; 78+ messages in thread
From: janneke @ 2024-11-10 11:45 UTC (permalink / raw)
To: 74290
[-- Attachment #1: Type: text/plain, Size: 973 bytes --]
Janneke Nieuwenhuizen writes:
> * gnu/packages/patches/gnumach-version.patch: New file.
> * gnu/local.mk (dist_patch_DATA): Register it.
> * gnu/packages/hurd.scm (gnumach-headers): Update to v1.8+git20240714 and use
> it.
Err, this needs
--8<---------------cut here---------------start------------->8---
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index 682deb89cf..a000cbfdc5 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -2640,6 +2640,7 @@ (define gnumach-headers-boot0
(source
(origin
(inherit (package-source gnumach-headers))
+ (patches '())
(method
(git-fetch-from-tarball
(origin
--8<---------------cut here---------------end--------------->8---
in order for `guix build --system=x86_64-gnu' (checking bootstrap
hashes) not to hang.
Oops, caused by a last minute adding of "nice cosmetic" version number
patch from Debian.
Janneke
[-- Attachment #2: 0001-squash-gnu-gnumach-Update-to-v1.8-git20240714.patch --]
[-- Type: text/x-patch, Size: 1247 bytes --]
From efb58c8deb6693aaa9dcec6d616289d36c3967b3 Mon Sep 17 00:00:00 2001
Message-ID: <efb58c8deb6693aaa9dcec6d616289d36c3967b3.1731238981.git.janneke@gnu.org>
From: Janneke Nieuwenhuizen <janneke@gnu.org>
Date: Sun, 10 Nov 2024 12:31:13 +0100
Subject: [PATCH] squash! gnu: gnumach: Update to v1.8+git20240714.
Content-Transfer-Encoding: 8bit
Content-Type: text/plain; charset=UTF-8
* gnu/packages/commencement.scm (gnumach-headers-boot0)[origin]: Reset
patches.
Change-Id: I5186c6c0e4f8df6ea55a74943b919bd13530d4d3
---
gnu/packages/commencement.scm | 1 +
1 file changed, 1 insertion(+)
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index 682deb89cf..a000cbfdc5 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -2640,6 +2640,7 @@ (define gnumach-headers-boot0
(source
(origin
(inherit (package-source gnumach-headers))
+ (patches '())
(method
(git-fetch-from-tarball
(origin
base-commit: 52f615e031e134f37d20b5bda18e24391c6654c0
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
[-- Attachment #3: Type: text/plain, Size: 164 bytes --]
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [bug#74290] [PATCH 00/31] Add support for x86_64-gnu, aka the 64bit Hurd.
2024-11-10 10:32 [bug#74290] [PATCH 00/31] Add support for x86_64-gnu, aka the 64bit Hurd Janneke Nieuwenhuizen
` (30 preceding siblings ...)
2024-11-10 10:38 ` [bug#74290] [PATCH 31/31] system: hurd: Use 64bit gnumach " Janneke Nieuwenhuizen
@ 2024-11-10 14:15 ` janneke
2024-11-12 1:17 ` Maxim Cournoyer
2024-11-12 16:25 ` [bug#74290] [PATCH v2 00/40] " Janneke Nieuwenhuizen
32 siblings, 1 reply; 78+ messages in thread
From: janneke @ 2024-11-10 14:15 UTC (permalink / raw)
To: 74290
Cc: Vagrant Cascadian, Josselin Poiret, Tobias Geerinckx-Rice,
Sharlatan Hellseher, Maxim Cournoyer, Ekaitz Zarraga,
Simon Tournier, Guillaume Le Vaillant, Mathieu Othacehe,
Ludovic Courtès, Katherine Cox-Buday, Efraim Flashner,
Munyoki Kilyungi, Andreas Enge, jgart, Christopher Baines
Janneke Nieuwenhuizen writes:
From running etc/teams.scm by hand I found that you should have been
CC'd on this patch series, sorry. Working from a backup laptop that
missed the ../etc/git/gitconfig teams include.
> Hi,
>
> Lo and behold, the 64bit Hurd boots! Again, thanks to the help from the
> kind folks over at libera #hurd and their excellent work. Do something like:
>
> ./pre-inst-env guix system image --image-type=hurd64-qcow2 \
> gnu/system/examples/bare-hurd.tmpl
>
>
> producing something like: /gnu/store/...-disk-image.
>
> Run the image in QEMU:
>
> guix shell qemu@7 -- qemu-system-x86_64 \
> --machine q35 \
> -m 4096 \
> --enable-kvm \
> --device rtl8139,netdev=net0 \
> --netdev user,id=net0,hostfwd=tcp:0.0.0.0:11022-:2222 \
> --snapshot \
> --hda /gnu/store/...-disk-image
>
>
> and login
>
> 11:03:20 janneke@dundal:~/src/guix/hurd-team
> $ ssh -p 11022 root@localhost
> Last login: Sun Nov 10 10:09:00 2024 from 10.0.2.2
>
>
> This is the GNU Hurd. Welcome.
>
> root@guixygnu ~# uname -a
> GNU guixygnu 0.9 GNU-Mach 1.8/Hurd-0.9 x86_64 GNU
>
> Most notably, besides the expected updates, this series adds an indirection
> for gcc and gcc-toolchain, (current-gcc) and (current-gcc-toolchain)
> respectively, as the 64bit Hurd needs gcc-14. We may also want to think about
> image names hurd64-qcow2 etc. and their defaults, vs hurd-qcow2/hurd32-qcow2.
> We'll probably also want a 64bit childhurd service, etc, etc...
>
> This series builds on/waits for #73927, which I intend to rebase and push
> later this weekend if there are no further comments. And I guess that the
> pending blog post will also need an update :)
>
> For your hacking convenience I have reset and updated the `hurd-team' branch.
>
> Greetings,
> Janneke
>
> Janneke Nieuwenhuizen (31):
> gnu: mig: Update to v1.8+git20231217.
> gnu: gnumach: Update to v1.8+git20240714.
> gnu: hurd: Update to v0.9.git20240714.
> gnu: gcc: Add indirections current-gcc, current-gcc-toolchain.
> gnu: Add basic support for x86_64-pc-gnu target, aka 64bit Hurd.
> gnu: cross-libc: Support cross-building for the 64bit Hurd.
> gnu: bash-minimal: Fix build for 64bit Hurd.
> gnu: elfutils: Fix build for 64bit Hurd.
> gnu: grep: Fix build for the 64bit Hurd.
> gnu: patch: Fix build for the 64bit Hurd.
> gnu: libxcrypt: Support the 64bit Hurd.
> gnu: libstdc++: Support the 64bit Hurd.
> gnu: gcc-13, gcc-14: Support being used as parent for gcc-static.
> DRAFT gnu: bootstrap: Add support for x86_64-gnu, aka the 64bit Hurd.
> system: image: Add hurd64 image types.
> gnu: Add libgpg-error-1.50.
> gnu: libgcrypt: Use libgpg-error-1.50 for the 64bit Hurd.
> gnu: perl: Support cross-building for the 64bit Hurd.
> gnu: openssl-3.0: Support the 64bit Hurd.
> gnu: pciutils: Support the 64bit Hurd.
> gnu: libpciaccess: Support the 64bit Hurd.
> gnu: netdde: Update to c0ef248dc7c5ccc1273e2a796f3ece30c5b645df.
> gnu: netdde: Support the 64bit Hurd.
> gnu: rumpkernel: Update to f1ffd6405f225336e595a0f99f01095ed7438337.
> gnu: rumpkernel: Support the 64bit Hurd.
> gnu: hurd: Build fixes for the 64bit Hurd.
> gnu: git-minimal: Support the 64bit Hurd.
> gnu: inetutils: Fix build for the 64bit Hurd.
> gnu: grub: Fix build for the 64bit Hurd.
> gnu: guile-fibers: Fix build for the 64bit Hurd.
> system: hurd: Use 64bit gnumach for the 64bit Hurd.
>
> doc/guix.texi | 9 +-
> gnu/ci.scm | 4 +-
> gnu/local.mk | 9 +
> gnu/packages/admin.scm | 14 +-
> gnu/packages/avr.scm | 7 +-
> gnu/packages/base.scm | 74 ++++---
> gnu/packages/bash.scm | 9 +
> gnu/packages/benchmark.scm | 6 +-
> gnu/packages/bootloaders.scm | 10 +-
> gnu/packages/bootstrap.scm | 46 ++++-
> gnu/packages/c.scm | 4 +-
> gnu/packages/chicken.scm | 7 +-
> gnu/packages/commencement.scm | 35 ++--
> gnu/packages/containers.scm | 5 +-
> gnu/packages/cross-base.scm | 27 +--
> gnu/packages/crypto.scm | 15 ++
> gnu/packages/dlang.scm | 3 +-
> gnu/packages/elf.scm | 6 +-
> gnu/packages/engineering.scm | 4 +-
> gnu/packages/gawk.scm | 3 +-
> gnu/packages/gcc.scm | 69 ++++---
> gnu/packages/gnupg.scm | 19 +-
> gnu/packages/golang.scm | 3 +-
> gnu/packages/guile-xyz.scm | 2 +-
> gnu/packages/hurd.scm | 187 ++++++++++++------
> gnu/packages/julia-xyz.scm | 3 +-
> gnu/packages/lisp.scm | 3 +-
> gnu/packages/llvm.scm | 7 +-
> gnu/packages/make-bootstrap.scm | 60 +++---
> gnu/packages/mpi.scm | 3 +-
> gnu/packages/parallel.scm | 5 +-
> gnu/packages/patches/gnumach-version.patch | 23 +++
> gnu/packages/patches/grub-hurd64.patch | 32 +++
> gnu/packages/patches/hurd-64bit.patch | 56 ++++++
> gnu/packages/patches/inetutils-hurd64.patch | 65 ++++++
> .../patches/libpciaccess-hurd64.patch | 58 ++++++
> gnu/packages/patches/libxcrypt-hurd64.patch | 38 ++++
> gnu/packages/patches/netdde-csum.patch | 18 ++
> gnu/packages/patches/openssl-hurd64.patch | 99 ++++++++++
> gnu/packages/patches/pciutils-hurd64.patch | 31 +++
> gnu/packages/pciutils.scm | 25 ++-
> gnu/packages/perl.scm | 20 +-
> gnu/packages/rocm.scm | 3 +-
> gnu/packages/tls.scm | 9 +
> gnu/packages/version-control.scm | 8 +-
> gnu/packages/xorg.scm | 23 ++-
> gnu/system.scm | 1 -
> gnu/system/hurd.scm | 11 +-
> gnu/system/images/hurd.scm | 47 ++++-
> guix/packages.scm | 8 +-
> guix/platforms/x86.scm | 11 +-
> guix/utils.scm | 15 +-
> m4/guix.m4 | 12 +-
> 53 files changed, 1025 insertions(+), 246 deletions(-)
> create mode 100644 gnu/packages/patches/gnumach-version.patch
> create mode 100644 gnu/packages/patches/grub-hurd64.patch
> create mode 100644 gnu/packages/patches/hurd-64bit.patch
> create mode 100644 gnu/packages/patches/inetutils-hurd64.patch
> create mode 100644 gnu/packages/patches/libpciaccess-hurd64.patch
> create mode 100644 gnu/packages/patches/libxcrypt-hurd64.patch
> create mode 100644 gnu/packages/patches/netdde-csum.patch
> create mode 100644 gnu/packages/patches/openssl-hurd64.patch
> create mode 100644 gnu/packages/patches/pciutils-hurd64.patch
>
>
> base-commit: 7105e7125882be35e334448eafd6d81b37b627f0
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
^ permalink raw reply [flat|nested] 78+ messages in thread
* [bug#74290] [PATCH 31/31] system: hurd: Use 64bit gnumach for the 64bit Hurd.
2024-11-10 10:38 ` [bug#74290] [PATCH 31/31] system: hurd: Use 64bit gnumach " Janneke Nieuwenhuizen
@ 2024-11-10 14:40 ` janneke
0 siblings, 0 replies; 78+ messages in thread
From: janneke @ 2024-11-10 14:40 UTC (permalink / raw)
To: 74290
Janneke Nieuwenhuizen writes:
> * gnu/system/hurd.scm (%hurd-default-operating-system-kernel): Use
> actual (%current-target-system) to specify (%current-system) instead of using
> hardcoded "i686-linux".
>
> Change-Id: Ifc179bce221b1a54461860c24ba400cf6932ec86
> ---
> gnu/system/hurd.scm | 11 ++++++++---
> 1 file changed, 8 insertions(+), 3 deletions(-)
>
> diff --git a/gnu/system/hurd.scm b/gnu/system/hurd.scm
> index 9a351529e8..58e41959f4 100644
> --- a/gnu/system/hurd.scm
> +++ b/gnu/system/hurd.scm
> @@ -18,6 +18,7 @@
> ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
>
> (define-module (gnu system hurd)
> + #:use-module (ice-9 match)
> #:use-module (guix gexp)
> #:use-module (guix profiles)
> #:use-module (guix utils)
> @@ -64,9 +65,13 @@ (define %hurd-default-operating-system-kernel
> (if (system-hurd?)
> gnumach
> ;; A cross-built GNUmach does not work
> - (with-parameters ((%current-system "i686-linux")
> - (%current-target-system #f))
> - gnumach)))
> + (let ((system (match (%current-system)
> + ((? target-x86-32?) "i686-linux")
> + ((? target-x86-64?) "x86_64-linux")
> + (_ "i686-linux"))))
> + (with-parameters ((%current-system system)
> + (%current-target-system #f))
> + gnumach))))
This is obviously wrong; the idea was to do something like
--8<---------------cut here---------------start------------->8---
(let ((system (match (or (%current-target-system)
(%current-system))
((? target-x86-32?) "i686-linux")
((? target-x86-64?) "x86_64-linux")
(_ "i686-linux"))))
(with-parameters ((%current-system system)
(%current-target-system #f))
gnumach))))
--8<---------------cut here---------------end--------------->8---
...but as %hurd-default-operating-system-kernel is a variable that is
evaluated at toplevel/too early, this also doesn't work. Ideas?
Janneke
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
^ permalink raw reply [flat|nested] 78+ messages in thread
* [bug#74290] [PATCH 14/31] DRAFT gnu: bootstrap: Add support for x86_64-gnu, aka the 64bit Hurd.
2024-11-10 10:38 ` [bug#74290] [PATCH 14/31] DRAFT gnu: bootstrap: Add support for x86_64-gnu, aka the 64bit Hurd Janneke Nieuwenhuizen
@ 2024-11-11 18:05 ` janneke
0 siblings, 0 replies; 78+ messages in thread
From: janneke @ 2024-11-11 18:05 UTC (permalink / raw)
To: 74290
[-- Attachment #1: Type: text/plain, Size: 1538 bytes --]
Janneke Nieuwenhuizen writes:
Oops! This inadvertedly changed i586-gnu-pc hashes:
> diff --git a/gnu/packages/bootstrap.scm b/gnu/packages/bootstrap.scm
> index c4640b62e1..eb6a4f1917 100644
> --- a/gnu/packages/bootstrap.scm
> +++ b/gnu/packages/bootstrap.scm
> @@ -118,13 +118,22 @@ (define %bootstrap-executables
> ,(base32 "0i9kxdi17bm5gxfi2xzm0y73p3ii0cqxli1sbljm6rh2fjgyn90k")))
> ("i586-gnu"
> ("bash"
> - ,(base32 "1as8649aqaibahhhrvkj10ci8shpi4hq5n7gnik8rhhy0dc1jarg"))
> + ,(base32 "0nb8ga2j7a4kf6j7pnavq8zf68mj8mhqh26nwkilz1ykj86vg9ml"))
> ("mkdir"
> - ,(base32 "1snqgpfrl00hfn82lm29jqylzjsfb9jd6ha74dp12phwb8fpbmb9"))
> + ,(base32 "0ldsx9pwan40fx2hf4s9d10sfkhvkljvl20hksvm4192p7jb4shp"))
> ("tar"
> - ,(base32 "0nq2c1zb3wv5bf7kd83sziaashydazrn7xgq6kijlk0zj2syzc2m"))
> + ,(base32 "1z6kfvpwhy14vc52i61v1vzzk3gzxka3db5rlg1jsq6kli35s2ab"))
> ("xz"
> - ,(base32 "033rhpk6zrpxpd6ffjyg5y2zwq9x9cnq0zljb7k8jlncbalsayq5")))
> + ,(base32 "1f7g40sk5a6k6qf65k58vlybnnmhyyzczdxy60m3jgcsp674wfcr")))
and did not use "-r" in guix hash -r (I thought that meant "recursive"):
> + ("x86_64-gnu"
> + ("bash"
> + ,(base32 "0l0dnighcipvdfbk14q834n57q859i2b9ssiq4bnbh0jpxvvqp1l"))
> + ("mkdir"
> + ,(base32 "1nd17k8pwwi7zsqi685w4rn1p2cvfcalrzdhfgwpsk1ilxnmdvsq"))
> + ("tar"
> + ,(base32 "0lf94y22ngmxdwhsp0cvj33m23p33r999xnlrff0s1yvlf20w3ks"))
> + ("xz"
> + ,(base32 "145aq65rx7w0qk1sw9239888id5ri60ha0xp1kyp6ir3pvizh6by")))
[-- Attachment #2: 0001-squash-DRAFT-gnu-bootstrap-Add-support-for-x86_64-gn.patch --]
[-- Type: text/x-patch, Size: 9069 bytes --]
From 59a6dcd5f4ca63aa17c83366fc5b74cf4c93d61d Mon Sep 17 00:00:00 2001
Message-ID: <59a6dcd5f4ca63aa17c83366fc5b74cf4c93d61d.1731348265.git.janneke@gnu.org>
From: Janneke Nieuwenhuizen <janneke@gnu.org>
Date: Mon, 11 Nov 2024 08:27:41 +0100
Subject: [PATCH] squash! DRAFT gnu: bootstrap: Add support for x86_64-gnu, aka
the 64bit Hurd.
Content-Transfer-Encoding: 8bit
Content-Type: text/plain; charset=UTF-8
Oops: Leave i586-pc-gnu alone and use guix hash -r.
Change-Id: Id96715cee07572cd0635594d3b1aa6756fa8a822
---
gnu/packages/bootstrap.scm | 38 +++++++++++++++++++-------------------
1 file changed, 19 insertions(+), 19 deletions(-)
diff --git a/gnu/packages/bootstrap.scm b/gnu/packages/bootstrap.scm
index eb6a4f1917..066eef5cc8 100644
--- a/gnu/packages/bootstrap.scm
+++ b/gnu/packages/bootstrap.scm
@@ -118,22 +118,22 @@ (define %bootstrap-executables
,(base32 "0i9kxdi17bm5gxfi2xzm0y73p3ii0cqxli1sbljm6rh2fjgyn90k")))
("i586-gnu"
("bash"
- ,(base32 "0nb8ga2j7a4kf6j7pnavq8zf68mj8mhqh26nwkilz1ykj86vg9ml"))
+ ,(base32 "1as8649aqaibahhhrvkj10ci8shpi4hq5n7gnik8rhhy0dc1jarg"))
("mkdir"
- ,(base32 "0ldsx9pwan40fx2hf4s9d10sfkhvkljvl20hksvm4192p7jb4shp"))
+ ,(base32 "1snqgpfrl00hfn82lm29jqylzjsfb9jd6ha74dp12phwb8fpbmb9"))
("tar"
- ,(base32 "1z6kfvpwhy14vc52i61v1vzzk3gzxka3db5rlg1jsq6kli35s2ab"))
+ ,(base32 "0nq2c1zb3wv5bf7kd83sziaashydazrn7xgq6kijlk0zj2syzc2m"))
("xz"
- ,(base32 "1f7g40sk5a6k6qf65k58vlybnnmhyyzczdxy60m3jgcsp674wfcr")))
+ ,(base32 "033rhpk6zrpxpd6ffjyg5y2zwq9x9cnq0zljb7k8jlncbalsayq5")))
("x86_64-gnu"
("bash"
- ,(base32 "0l0dnighcipvdfbk14q834n57q859i2b9ssiq4bnbh0jpxvvqp1l"))
+ ,(base32 "1ib1kk1larki3dm46lhl756856zpjwhhlnzkgdyh9f1yf6wm431y"))
("mkdir"
- ,(base32 "1nd17k8pwwi7zsqi685w4rn1p2cvfcalrzdhfgwpsk1ilxnmdvsq"))
+ ,(base32 "15cnckq4qj1nlmgqy9vq3qa3kcbfm1pc2z38pscxix11j4aqswsm"))
("tar"
- ,(base32 "0lf94y22ngmxdwhsp0cvj33m23p33r999xnlrff0s1yvlf20w3ks"))
+ ,(base32 "1m8v7ddmn42wym2kl9mf7csnwsw6c3jdglg7d7kp7yaa16h5fbck"))
("xz"
- ,(base32 "145aq65rx7w0qk1sw9239888id5ri60ha0xp1kyp6ir3pvizh6by")))
+ ,(base32 "16cnr7vr0zawrwcnhshms3v5kyzb2vz1rp4kxmx507cs6rivd05b")))
("mips64el-linux"
("bash"
,(base32 "1aw046dhda240k9pb9iaj5aqkm23gkvxa9j82n4k7fk87nbrixw6"))
@@ -174,7 +174,7 @@ (define (bootstrap-executable-file-name system program)
(match system
("powerpc64le-linux" (string-append system "/20210106/" program))
("i586-gnu" (string-append system "/20200326/" program))
- ("x86_64-gnu" (string-append system "/20241110/" program))
+ ("x86_64-gnu" (string-append system "/20241111/" program))
("powerpc-linux" (string-append system "/20200923/bin/" program))
("riscv64-linux" (string-append system "/20210725/bin/" program))
(_ (string-append system "/" program
@@ -377,7 +377,7 @@ (define (bootstrap-guile-url-path system)
("i586-gnu"
"/20200326/guile-static-stripped-2.0.14-i586-pc-gnu.tar.xz")
("x86_64-gnu"
- "/20241110/guile-static-stripped-3.0.9-x86_64-pc-gnu.tar.xz")
+ "/20241111/guile-static-stripped-3.0.9-x86_64-pc-gnu.tar.xz")
("powerpc64le-linux"
"/20210106/guile-static-stripped-2.0.14-powerpc64le-linux-gnu.tar.xz")
("riscv64-linux"
@@ -403,7 +403,7 @@ (define (bootstrap-guile-hash system)
("i586-gnu"
(base32 "0wgqpsmvg25rnqn49ap7kwd2qxccd8dr4lllzp7i3rjvgav27vac"))
("x86_64-gnu"
- (base32 "0fgasmbidp584ibr5fbirmp3wr8qchv84a50i4bichysp00gg26p"))
+ (base32 "0s2r8pwy8jcp1m8qdyiwvnv6f4wmcjq9a8g8jcbm974dd63ym2y3"))
("powerpc-linux"
(base32 "1by2p7s27fbyjzfkcw8h65h4kkqh7d23kv4sgg5jppjn2qx7swq4"))
("riscv64-linux"
@@ -613,7 +613,7 @@ (define %bootstrap-coreutils&co
("i586-gnu"
"/20200326/static-binaries-0-i586-pc-gnu.tar.xz")
("x86_64-gnu"
- "/20241110/static-binaries-0-x86_64-pc-gnu.tar.xz")
+ "/20241111/static-binaries-0-x86_64-pc-gnu.tar.xz")
("powerpc-linux"
"/20200923/static-binaries.tar.xz")
("riscv64-linux"
@@ -643,7 +643,7 @@ (define %bootstrap-coreutils&co
"17kllqnf3fg79gzy9ansgi801c46yh9c23h4d923plvb0nfm1cfn"))
("x86_64-gnu"
(base32
- "118s161df8hgrdfph2w5spnrms02rh1dk7mzfvx1k1prvgngpm9p"))
+ "05lacv0zx80798wmri6d7aag5vkpfm7q0xsrp1fm0vldwdm1v39v"))
("powerpc-linux"
(base32
"0kspxy0yczan2vlih6aa9hailr2inz000fqa0gn5x9d1fxxa5y8m"))
@@ -701,7 +701,7 @@ (define %bootstrap-binutils
("i586-gnu"
"/20200326/binutils-static-stripped-2.34-i586-pc-gnu.tar.xz")
("x86_64-gnu"
- "/20241110/binutils-static-stripped-2.41-x86_64-pc-gnu.tar.xz")
+ "/20241111/binutils-static-stripped-2.41-x86_64-pc-gnu.tar.xz")
("powerpc-linux"
"/20200923/binutils-2.35.1.tar.xz")
("riscv64-linux"
@@ -734,7 +734,7 @@ (define %bootstrap-binutils
"11kykv1kmqc5wln57rs4klaqa13hm952smkc57qcsyss21kfjprs"))
("x86_64-gnu"
(base32
- "07r74sa7341frhf5a7h1p3pklsrmfpfrf5s8dxm3yz2kqzhish48"))
+ "0rzdn8357g4gias3k29bc6nhwv23bx029r83k7y4lfnq6w86b1wz"))
("powerpc-linux"
(base32
"0asbg1c4avkrvh057mx0942xwddd136jni382zqsxzn79ls42yq8"))
@@ -796,7 +796,7 @@ (define %bootstrap-glibc
("i586-gnu"
"/20240816/glibc-stripped-2.39-i586-pc-gnu.tar.xz")
("x86_64-gnu"
- "/20241110/glibc-stripped-2.39-x86_64-pc-gnu.tar.xz")
+ "/20241111/glibc-stripped-2.39-x86_64-pc-gnu.tar.xz")
("powerpc-linux"
"/20200923/glibc-2.32.tar.xz")
("riscv64-linux"
@@ -829,7 +829,7 @@ (define %bootstrap-glibc
"0x2x6w611k6v9qdabacawamw2475p04hm3s0q95xcg063wjq4ig2"))
("x86_64-gnu"
(base32
- "1dcgrnlxbsdic0xmmrjbr8gl6ra5y2xbj8f8jr6y0zvpdyi12ldd"))
+ "0fbmh8aa7lva4xm6a8n49pfsgw4gzai00c4ylvggvgryscm65qr7"))
("powerpc-linux"
(base32
"0smmssyjrlk5cvx49586smmk81gkwff0i6r91n4rir4jm6ba25sb"))
@@ -907,7 +907,7 @@ (define %bootstrap-gcc
("i586-gnu"
"/20200326/gcc-stripped-5.5.0-i586-pc-gnu.tar.xz")
("x86_64-gnu"
- "/20241110/gcc-stripped-14.2.0-x86_64-pc-gnu.tar.xz")
+ "/20241111/gcc-stripped-14.2.0-x86_64-pc-gnu.tar.xz")
("powerpc-linux"
"/20200923/gcc-5.5.0.tar.xz")
("riscv64-linux"
@@ -940,7 +940,7 @@ (define %bootstrap-gcc
"1j2zc58wzil71a34h7c70sd68dmqvcscrw3rmn2whq79vd70zvv5"))
("x86_64-gnu"
(base32
- "0vqvjvw6xi16lihiqz4mhisfwx3dgs15y60q07ksdkgvi1wdli2w"))
+ "1z9fiwrmknz8x3kcw0p6hdqq176bi43dg4andk40sid0vh34qc0n"))
("powerpc-linux"
(base32
"1p7df3yixhm87dw5sccc6yn1i9db1r9hnmsg87wq5xi4rfmirq7w"))
base-commit: bf9b13cd1c109adbc372e15d9f17bf1ebe580446
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
[-- Attachment #3: Type: text/plain, Size: 164 bytes --]
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [bug#74290] [PATCH 00/31] Add support for x86_64-gnu, aka the 64bit Hurd.
2024-11-10 14:15 ` [bug#74290] [PATCH 00/31] Add support for x86_64-gnu, aka " janneke
@ 2024-11-12 1:17 ` Maxim Cournoyer
0 siblings, 0 replies; 78+ messages in thread
From: Maxim Cournoyer @ 2024-11-12 1:17 UTC (permalink / raw)
To: janneke
Cc: 74290, Josselin Poiret, Tobias Geerinckx-Rice,
Sharlatan Hellseher, Vagrant Cascadian, Ekaitz Zarraga,
Simon Tournier, Guillaume Le Vaillant, Mathieu Othacehe,
Ludovic Courtès, Katherine Cox-Buday, Efraim Flashner,
Munyoki Kilyungi, Andreas Enge, jgart, Christopher Baines
Hi Janneke!
<janneke@gnu.org> writes:
> Janneke Nieuwenhuizen writes:
>
> From running etc/teams.scm by hand I found that you should have been
> CC'd on this patch series, sorry. Working from a backup laptop that
> missed the ../etc/git/gitconfig teams include.
No worries. Note that the git configuration should self-heal/update
itself on every 'make' invocation, IIRC.
--
Thanks,
Maxim
^ permalink raw reply [flat|nested] 78+ messages in thread
* [bug#74290] [PATCH v2 00/40] Add support for x86_64-gnu, aka the 64bit Hurd.
2024-11-10 10:32 [bug#74290] [PATCH 00/31] Add support for x86_64-gnu, aka the 64bit Hurd Janneke Nieuwenhuizen
` (31 preceding siblings ...)
2024-11-10 14:15 ` [bug#74290] [PATCH 00/31] Add support for x86_64-gnu, aka " janneke
@ 2024-11-12 16:25 ` Janneke Nieuwenhuizen
2024-11-12 16:25 ` [bug#74290] [PATCH v2 01/40] gnu: gnumach: Update to v1.8+git20240714 Janneke Nieuwenhuizen
` (39 more replies)
32 siblings, 40 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2024-11-12 16:25 UTC (permalink / raw)
To: 74290; +Cc: Janneke Nieuwenhuizen
From: "Janneke Nieuwenhuizen" <janneke@gnu.org>
New in V2:
Add 64bit native compilation/development support:
* commencement: update of gnumach-headers-boot0, mig-boot0, hurd-headers-boot0,
* more 64bit Hurd/gcc-14 build fixes: m4, texinfo-4, flex,
* cross build fix: gettext-[minimal],
* rebased on latest master (NOTE: u-boot-tools tests must be disabled in
order to build a VM, see <https://issues.guix.gnu.org/74270>).
Fixes:
* guile-static now actually has (convinced libtool to create) a static guile,
* guile-static-stripped-tarball is now packaged in a guile v3 bag,
* binutils-static now actually has (convinced libtool to create) static binaries,
* the hashes for bin/{bash,mkdir,tar,xz} now use guix hash _-r_,
* the 32bit childhurd uses a 32bit gnumach again (and boots),
* gnumach-headers-boot0 resets patches, resolving native i586-pc-gnu builds hanging,
* a new bare-hurd64.tmpl (and devel-hurd64.tmpl) now work around this
terrible "cannot-cross-build-gnumach-so-let's-guess-an-arch" issue,
using NOIDE needed for the 64bit hurd to boot, and with better suggestions,
This is about the extent of what it can do right now:
--8<---------------cut here---------------start------------->8---
15:07:14 janneke@dundal:~/var/geert
$ ssh root@childhurd1
This is the GNU Hurd. Welcome.
root@guixygnu64 ~# uname -a
GNU guixygnu64 0.9 GNU-Mach 1.8/Hurd-0.9 x86_64 GNU
root@guixygnu64 ~# guix shell --bootstrap -D --expression='(@@ (gnu packages commencement) gnu-make-boot0)'
hint: Consider passing the `--check' option once to make sure your shell does not
clobber environment variables.
substitute: updating substitutes from 'http://dezyne.org:8181'... 100.0%
substitute: updating substitutes from 'https://bordeaux.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
The following derivations will be built:
/gnu/store/w8y6ksif8m5x5340nc1f7chdmnidhsza-profile.drv
/gnu/store/8kqnvyf9i8qgizq69314xa576fj4idy5-gcc-bootstrap-0.drv
/gnu/store/kxi3vim4rl018vrg8gqchn84vda33dwy-bash.drv
/gnu/store/mx6bmgkli4m404d9mzl4is9nsgycibw4-gcc-stripped-14.2.0-x86_64-pc-gnu.tar.xz.drv
/gnu/store/mydw2x1m3nwxl2yz8p7kgr043mgzn1vd-tar.drv
/gnu/store/ps0shilnqwpm40886dnqg4bkazw8pq7i-glibc-bootstrap-0.drv
/gnu/store/fyk1fklwccp9m0g4x10rsgi6bw2nz3y5-glibc-stripped-2.39-x86_64-pc-gnu.tar.xz.drv
/gnu/store/q4y6c1xk2vzfm5qff4kxw6skakkdz5mx-module-import-compiled.drv
/gnu/store/z8bbhrwjlcrb1why3ahz1dk4x1xnwf0j-guile-bootstrap-2.0.drv
/gnu/store/av844016j5sh8zy7y4h4wxkrs10a2rwd-guile-static-stripped-3.0.9-x86_64-pc-gnu.tar.xz.drv
/gnu/store/rs264sapynb56fapyrklb5plsn0gsk49-xz.drv
/gnu/store/zw7x3ln4wl3b0hvrzgjjvywx5bdiffaz-mkdir.drv
/gnu/store/8llks4si3nqiw0n6sb3nc70nhpnfzw9j-module-import-compiled.drv
/gnu/store/h0i9912383rhczlxca6pv5d6w9np9ici-bootstrap-binaries-0.drv
/gnu/store/pllyzbxxbg249x6ckn4hb67g3q4v7xk5-static-binaries-0-x86_64-pc-gnu.tar.xz.drv
/gnu/store/pa9pzpm6blxiasz5wz98lxdbvlz1a2wn-binutils-bootstrap-0.drv
/gnu/store/6cg3h8i0mrsizrg1y06gnj491ydhdj9v-binutils-static-stripped-2.41-x86_64-pc-gnu.tar.xz.drv
building /gnu/store/kxi3vim4rl018vrg8gqchn84vda33dwy-bash.drv...
building /gnu/store/6cg3h8i0mrsizrg1y06gnj491ydhdj9v-binutils-static-stripped-2.41-x86_64-pc-gnu.tar.xz.drv...
building /gnu/store/mx6bmgkli4m404d9mzl4is9nsgycibw4-gcc-stripped-14.2.0-x86_64-pc-gnu.tar.xz.drv...
building /gnu/store/fyk1fklwccp9m0g4x10rsgi6bw2nz3y5-glibc-stripped-2.39-x86_64-pc-gnu.tar.xz.drv...
building /gnu/store/av844016j5sh8zy7y4h4wxkrs10a2rwd-guile-static-stripped-3.0.9-x86_64-pc-gnu.tar.xz.drv...
building /gnu/store/zw7x3ln4wl3b0hvrzgjjvywx5bdiffaz-mkdir.drv...
building /gnu/store/pllyzbxxbg249x6ckn4hb67g3q4v7xk5-static-binaries-0-x86_64-pc-gnu.tar.xz.drv...
building /gnu/store/mydw2x1m3nwxl2yz8p7kgr043mgzn1vd-tar.drv...
building /gnu/store/rs264sapynb56fapyrklb5plsn0gsk49-xz.drv...
building /gnu/store/z8bbhrwjlcrb1why3ahz1dk4x1xnwf0j-guile-bootstrap-2.0.drv...
building /gnu/store/8llks4si3nqiw0n6sb3nc70nhpnfzw9j-module-import-compiled.drv...
building /gnu/store/q4y6c1xk2vzfm5qff4kxw6skakkdz5mx-module-import-compiled.drv...
building /gnu/store/pa9pzpm6blxiasz5wz98lxdbvlz1a2wn-binutils-bootstrap-0.drv...
building /gnu/store/h0i9912383rhczlxca6pv5d6w9np9ici-bootstrap-binaries-0.drv...
building /gnu/store/ps0shilnqwpm40886dnqg4bkazw8pq7i-glibc-bootstrap-0.drv...
building /gnu/store/8kqnvyf9i8qgizq69314xa576fj4idy5-gcc-bootstrap-0.drv...
building profile with 4 packages...
bash-5.1#
--8<---------------cut here---------------end--------------->8---
Reset and updated the hurd-team branch.
Greetings,
Janneke
Janneke Nieuwenhuizen (40):
gnu: gnumach: Update to v1.8+git20240714.
gnu: mig: Update to 1.8+git20231217.
gnu: hurd: Update to 0.9.git20240714.
gnu: gcc: Add indirections current-gcc, current-gcc-toolchain.
gnu: Add basic support for x86_64-pc-gnu target, aka 64bit Hurd.
gnu: cross-libc: Support cross-building for the 64bit Hurd.
gnu: bash-minimal: Fix build for 64bit Hurd.
gnu: elfutils: Fix build for 64bit Hurd.
gnu: grep: Fix build for the 64bit Hurd.
gnu: patch: Fix build for the 64bit Hurd.
gnu: libxcrypt: Support the 64bit Hurd.
gnu: libstdc++: Support the 64bit Hurd.
gnu: gcc-13, gcc-14: Support being used as parent for gcc-static.
DRAFT gnu: bootstrap: Add support for x86_64-gnu, aka the 64bit Hurd.
system: image: Add hurd64 image types.
gnu: Add libgpg-error-1.50.
gnu: libgcrypt: Use libgpg-error-1.50 for the 64bit Hurd.
gnu: perl: Support cross-building for the 64bit Hurd.
gnu: openssl-3.0: Support the 64bit Hurd.
gnu: pciutils: Support the 64bit Hurd.
gnu: libpciaccess: Support the 64bit Hurd.
gnu: netdde: Update to c0ef248dc7c5ccc1273e2a796f3ece30c5b645df.
gnu: netdde: Support the 64bit Hurd.
gnu: rumpkernel: Update to f1ffd6405f225336e595a0f99f01095ed7438337.
gnu: rumpkernel: Support the 64bit Hurd.
gnu: hurd: Build fixes for the 64bit Hurd.
gnu: git-minimal: Support the 64bit Hurd.
gnu: inetutils: Fix build for the 64bit Hurd.
gnu: grub: Fix build for the 64bit Hurd.
gnu: guile-fibers: Fix build for the 64bit Hurd.
gnu: m4: Fix build for the 64bit Hurd.
gnu: commencement: gnumach-headers-boot0: Update to 1.8+git20240714.
gnu: commencement: mig-boot0: Update to 1.8+git20231217..
gnu: commencement: hurd-headers-boot0: Update to 0.9.git20240714.
gnu: commencement: libstdc++-boot0-gcc7: Replace by
make-libstdc++-boot0.
gnu: gettext: Fix cross-build shebangs.
gnu: texinfo-4: Fix build for the 64bit Hurd.
gnu: flex: Fix build for the 64bit Hurd.
system: examples: Add bare-hurd64.tmpl.
system: examples: Add devel-hurd64.tmpl.
doc/guix.texi | 9 +-
gnu/ci.scm | 4 +-
gnu/local.mk | 9 +
gnu/packages/admin.scm | 14 +-
gnu/packages/avr.scm | 7 +-
gnu/packages/base.scm | 74 ++++---
gnu/packages/bash.scm | 9 +
gnu/packages/benchmark.scm | 6 +-
gnu/packages/bootloaders.scm | 10 +-
gnu/packages/bootstrap.scm | 41 +++-
gnu/packages/c.scm | 4 +-
gnu/packages/chicken.scm | 7 +-
gnu/packages/commencement.scm | 55 +++---
gnu/packages/containers.scm | 5 +-
gnu/packages/cross-base.scm | 27 +--
gnu/packages/crypto.scm | 15 ++
gnu/packages/dlang.scm | 3 +-
gnu/packages/elf.scm | 6 +-
gnu/packages/engineering.scm | 4 +-
gnu/packages/flex.scm | 8 +
gnu/packages/gawk.scm | 3 +-
gnu/packages/gcc.scm | 69 ++++---
gnu/packages/gettext.scm | 16 +-
gnu/packages/gnupg.scm | 19 +-
gnu/packages/golang.scm | 3 +-
gnu/packages/guile-xyz.scm | 2 +-
gnu/packages/hurd.scm | 187 ++++++++++++------
gnu/packages/julia-xyz.scm | 3 +-
gnu/packages/lisp.scm | 3 +-
gnu/packages/llvm.scm | 7 +-
gnu/packages/m4.scm | 9 +-
gnu/packages/make-bootstrap.scm | 76 ++++---
gnu/packages/mpi.scm | 3 +-
gnu/packages/parallel.scm | 5 +-
gnu/packages/patches/gnumach-version.patch | 23 +++
gnu/packages/patches/grub-hurd64.patch | 32 +++
gnu/packages/patches/hurd-64bit.patch | 56 ++++++
gnu/packages/patches/inetutils-hurd64.patch | 65 ++++++
.../patches/libpciaccess-hurd64.patch | 58 ++++++
gnu/packages/patches/libxcrypt-hurd64.patch | 38 ++++
gnu/packages/patches/netdde-csum.patch | 18 ++
gnu/packages/patches/openssl-hurd64.patch | 99 ++++++++++
gnu/packages/patches/pciutils-hurd64.patch | 31 +++
gnu/packages/pciutils.scm | 25 ++-
gnu/packages/perl.scm | 20 +-
gnu/packages/rocm.scm | 3 +-
gnu/packages/texinfo.scm | 50 ++---
gnu/packages/tls.scm | 9 +
gnu/packages/version-control.scm | 8 +-
gnu/packages/xorg.scm | 23 ++-
gnu/system.scm | 1 -
gnu/system/examples/bare-hurd.tmpl | 21 +-
gnu/system/examples/bare-hurd64.tmpl | 70 +++++++
gnu/system/examples/devel-hurd.tmpl | 70 +++----
gnu/system/examples/devel-hurd64.tmpl | 65 ++++++
gnu/system/hurd.scm | 17 ++
gnu/system/images/hurd.scm | 72 ++++++-
guix/packages.scm | 8 +-
guix/platforms/x86.scm | 11 +-
guix/utils.scm | 15 +-
m4/guix.m4 | 12 +-
61 files changed, 1312 insertions(+), 330 deletions(-)
create mode 100644 gnu/packages/patches/gnumach-version.patch
create mode 100644 gnu/packages/patches/grub-hurd64.patch
create mode 100644 gnu/packages/patches/hurd-64bit.patch
create mode 100644 gnu/packages/patches/inetutils-hurd64.patch
create mode 100644 gnu/packages/patches/libpciaccess-hurd64.patch
create mode 100644 gnu/packages/patches/libxcrypt-hurd64.patch
create mode 100644 gnu/packages/patches/netdde-csum.patch
create mode 100644 gnu/packages/patches/openssl-hurd64.patch
create mode 100644 gnu/packages/patches/pciutils-hurd64.patch
create mode 100644 gnu/system/examples/bare-hurd64.tmpl
create mode 100644 gnu/system/examples/devel-hurd64.tmpl
base-commit: b10ce47d8be5b6c15987f4e1d93b3bd71b1eb220
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
^ permalink raw reply [flat|nested] 78+ messages in thread
* [bug#74290] [PATCH v2 01/40] gnu: gnumach: Update to v1.8+git20240714.
2024-11-12 16:25 ` [bug#74290] [PATCH v2 00/40] " Janneke Nieuwenhuizen
@ 2024-11-12 16:25 ` Janneke Nieuwenhuizen
2024-11-12 16:25 ` [bug#74290] [PATCH v2 02/40] gnu: mig: Update to 1.8+git20231217 Janneke Nieuwenhuizen
` (38 subsequent siblings)
39 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2024-11-12 16:25 UTC (permalink / raw)
To: 74290; +Cc: Andreas Enge, Efraim Flashner, Ekaitz Zarraga,
Ludovic Courtès
* gnu/packages/patches/gnumach-version.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/hurd.scm (gnumach-headers): Update to v1.8+git20240714 and use
it.
* gnu/packages/commencement.scm (gnumach-headers-boot0)[origin]: Reset
patches.
Change-Id: I147c64021c2ee79dfc4cd4fd9a29529eef8890c5
---
gnu/local.mk | 1 +
gnu/packages/commencement.scm | 1 +
gnu/packages/hurd.scm | 9 ++++-----
gnu/packages/patches/gnumach-version.patch | 23 ++++++++++++++++++++++
4 files changed, 29 insertions(+), 5 deletions(-)
create mode 100644 gnu/packages/patches/gnumach-version.patch
diff --git a/gnu/local.mk b/gnu/local.mk
index 1f48fddc9e..2bd857e7ac 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1460,6 +1460,7 @@ dist_patch_DATA = \
%D%/packages/patches/gnome-session-support-elogind.patch \
%D%/packages/patches/gnome-tweaks-search-paths.patch \
%D%/packages/patches/gnulib-bootstrap.patch \
+ %D%/packages/patches/gnumach-version.patch \
%D%/packages/patches/gnupg-default-pinentry.patch \
%D%/packages/patches/gnupg-1-build-with-gcc10.patch \
%D%/packages/patches/gnutls-skip-trust-store-test.patch \
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index ce40f0cea6..1cfaaae1e7 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -2639,6 +2639,7 @@ (define gnumach-headers-boot0
(source
(origin
(inherit (package-source gnumach-headers))
+ (patches '())
(method
(git-fetch-from-tarball
(origin
diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm
index 9c1681f236..a22d0cadce 100644
--- a/gnu/packages/hurd.scm
+++ b/gnu/packages/hurd.scm
@@ -57,21 +57,20 @@ (define (hurd-source-url version)
version ".tar.gz"))
(define-public gnumach-headers
- (let ((revision "0")
- (commit "2556fdece900d67529d5eda01f1bdaae4ffe96b0"))
+ (let ((commit "v1.8+git20240714"))
(package
(name "gnumach-headers")
- (version (git-version "1.8" revision commit))
+ (version (string-drop commit 1))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.savannah.gnu.org/git/hurd/gnumach.git")
(commit commit)))
+ (patches (search-patches "gnumach-version.patch"))
(file-name (git-file-name "gnumach" version))
(sha256
- (base32
- "1lzsbix0l4jhab38pvwnmk7ip1lsn7m5smhnrciqajsqnadsnlzs"))))
+ (base32 "0ykav1kx0bgxcxw04bpcsh5s4531fzdkahjgrlsfs2h3w3vfkga0"))))
(build-system gnu-build-system)
(arguments
`(#:phases
diff --git a/gnu/packages/patches/gnumach-version.patch b/gnu/packages/patches/gnumach-version.patch
new file mode 100644
index 0000000000..aec3c86a16
--- /dev/null
+++ b/gnu/packages/patches/gnumach-version.patch
@@ -0,0 +1,23 @@
+Upstream-status: Taken from Debian upstream:
+ <https://salsa.debian.org/hurd-team/gnumach/-/raw/master/debian/patches/12_version_suffix.patch>
+
+Index: gnumach/configure.ac
+===================================================================
+--- gnumach.orig/configure.ac
++++ gnumach/configure.ac
+@@ -19,6 +19,7 @@ AC_PREREQ([2.57])
+ m4_include([version.m4])
+ AC_INIT([AC_PACKAGE_NAME], [AC_PACKAGE_VERSION], [AC_PACKAGE_BUGREPORT],
+ [AC_PACKAGE_TARNAME])
++AC_SUBST([PACKAGE_VERSION_SUFFIX])
+ AC_CONFIG_SRCDIR([kern/ipc_kobject.c])
+
+ if test -z "${CFLAGS+set}"; then
+Index: gnumach/version.c.in
+===================================================================
+--- gnumach.orig/version.c.in
++++ gnumach/version.c.in
+@@ -1,2 +1,2 @@
+ /* @configure_input@ */
+-const char version[] = "@PACKAGE_NAME@ @PACKAGE_VERSION@";
++const char version[] = "@PACKAGE_NAME@ @PACKAGE_VERSION@@PACKAGE_VERSION_SUFFIX@";
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [bug#74290] [PATCH v2 02/40] gnu: mig: Update to 1.8+git20231217.
2024-11-12 16:25 ` [bug#74290] [PATCH v2 00/40] " Janneke Nieuwenhuizen
2024-11-12 16:25 ` [bug#74290] [PATCH v2 01/40] gnu: gnumach: Update to v1.8+git20240714 Janneke Nieuwenhuizen
@ 2024-11-12 16:25 ` Janneke Nieuwenhuizen
2024-11-12 16:25 ` [bug#74290] [PATCH v2 03/40] gnu: hurd: Update to 0.9.git20240714 Janneke Nieuwenhuizen
` (37 subsequent siblings)
39 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2024-11-12 16:25 UTC (permalink / raw)
To: 74290
* gnu/packages/hurd.scm (mig): Update to 1.8+git20231217.
Change-Id: I0e531ecc7fdcfbefe2e0e24d7b2fb5e0fe8a3ae2
---
gnu/packages/hurd.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm
index a22d0cadce..28f39cc448 100644
--- a/gnu/packages/hurd.scm
+++ b/gnu/packages/hurd.scm
@@ -92,7 +92,7 @@ (define-public gnumach-headers
(define-public mig
(package
(name "mig")
- (version "1.8+git20230520")
+ (version "1.8+git20231217")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -101,7 +101,7 @@ (define-public mig
(file-name (git-file-name name version))
(sha256
(base32
- "10r0fdjqjzqsy6ajb21rifvhw0wpjvrw6a1zdyliqlzqny5k0qlz"))))
+ "1mx7w5vzw5ws0zplm1y6s679jb1g2hjkiwl3dlk5lxys0dxs5g4g"))))
(build-system gnu-build-system)
;; Flex is needed both at build and run time.
(inputs (list gnumach-headers flex))
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [bug#74290] [PATCH v2 03/40] gnu: hurd: Update to 0.9.git20240714.
2024-11-12 16:25 ` [bug#74290] [PATCH v2 00/40] " Janneke Nieuwenhuizen
2024-11-12 16:25 ` [bug#74290] [PATCH v2 01/40] gnu: gnumach: Update to v1.8+git20240714 Janneke Nieuwenhuizen
2024-11-12 16:25 ` [bug#74290] [PATCH v2 02/40] gnu: mig: Update to 1.8+git20231217 Janneke Nieuwenhuizen
@ 2024-11-12 16:25 ` Janneke Nieuwenhuizen
2024-11-12 16:25 ` [bug#74290] [PATCH v2 04/40] gnu: gcc: Add indirections current-gcc, current-gcc-toolchain Janneke Nieuwenhuizen
` (36 subsequent siblings)
39 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2024-11-12 16:25 UTC (permalink / raw)
To: 74290
* gnu/packages/hurd.scm (hurd-headers): Update to 0.9.git20240714.
(hurd)[arguments]: Remove rumpdisk build hack from "prepare-addons" stage.
Instead, when cross-compiling, add stage "fixup-cross-configure" to enable
rumpdisk.
* gnu/system.scm (hurd-multiboot-modules): Remove
"--x-xattr-translator-records" option that has been removed and is now the
default.
Change-Id: I4609b5a959c1ece98e2fe1aedbb1d31d6edadcca
---
gnu/packages/hurd.scm | 12 +++++++++---
gnu/system.scm | 1 -
2 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm
index 28f39cc448..06fae1bd3b 100644
--- a/gnu/packages/hurd.scm
+++ b/gnu/packages/hurd.scm
@@ -132,7 +132,7 @@ (define-public mig
(define-public hurd-headers
(let ((revision "3")
- (commit "v0.9.git20231217"))
+ (commit "v0.9.git20240714"))
(package
(name "hurd-headers")
(version (string-drop commit 1))
@@ -143,7 +143,7 @@ (define-public hurd-headers
(commit commit)))
(sha256
(base32
- "1d138kzhil6s5gf9di8grpz1iziakyfv037wkc8s7qyd61imm31d"))
+ "0wvzil3llmrjg7ymwqs86d11bm5fl771jwncv7kk679lsvqca0ll"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(native-inputs
@@ -336,7 +336,7 @@ (define-public hurd
;; Makefile. libdde_linux26 is built later in its own phase.
(substitute* "Makefile"
(("libbpf ")
- "libbpf libmachdevdde libddekit rumpdisk"))))
+ "libbpf libmachdevdde libddekit "))))
(add-after 'unpack 'find-tirpc
(lambda* (#:key inputs #:allow-other-keys)
(for-each (lambda (var)
@@ -362,6 +362,12 @@ (define-public hurd
(("#include <rpc/pmap_prot.h>" m)
(string-append "#include <rpc/types.h>\n#include <rpc/xdr.h>\n" m)))
#t))
+ ,@(if (%current-target-system)
+ '((add-after 'configure 'fixup-cross-configure
+ (lambda _
+ (substitute* "config.make"
+ (("HAVE_LIBRUMP = no") "HAVE_LIBRUMP = yes")))))
+ '())
(add-before 'build 'pre-build
(lambda _
;; Don't change the ownership of any file at this time.
diff --git a/gnu/system.scm b/gnu/system.scm
index 074cd04a0e..dfcb8fb279 100644
--- a/gnu/system.scm
+++ b/gnu/system.scm
@@ -1539,7 +1539,6 @@ (define (hurd-multiboot-modules os)
"--multiboot-command-line='${kernel-command-line}'"
"--exec-server-task='${exec-task}'"
"--store-type=typed"
- "--x-xattr-translator-records"
"'${root}'"
"'$(fs-task=task-create)'"))
(target (%current-target-system))
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [bug#74290] [PATCH v2 04/40] gnu: gcc: Add indirections current-gcc, current-gcc-toolchain.
2024-11-12 16:25 ` [bug#74290] [PATCH v2 00/40] " Janneke Nieuwenhuizen
` (2 preceding siblings ...)
2024-11-12 16:25 ` [bug#74290] [PATCH v2 03/40] gnu: hurd: Update to 0.9.git20240714 Janneke Nieuwenhuizen
@ 2024-11-12 16:25 ` Janneke Nieuwenhuizen
2024-11-12 16:25 ` [bug#74290] [PATCH v2 05/40] gnu: Add basic support for x86_64-pc-gnu target, aka 64bit Hurd Janneke Nieuwenhuizen
` (35 subsequent siblings)
39 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2024-11-12 16:25 UTC (permalink / raw)
To: 74290
Cc: Andreas Enge, Efraim Flashner, Ekaitz Zarraga,
Guillaume Le Vaillant, Katherine Cox-Buday, Ludovic Courtès,
Munyoki Kilyungi, Sharlatan Hellseher, Simon Tournier,
Vagrant Cascadian, jgart
Throughout: use (current-gcc) and (current-gcc-toolchain) instead of gcc and
gcc-toolchain.
* gnu/packages/gcc.scm (current-gcc): New procedure.
(gcc): Deprecate.
* gnu/packages/commencement.scm (current-gcc-toolchain): New procedure.
(gcc-toolchain): Deprecate.
Change-Id: I538897e53e2c9956abdc53c67621bb52cbd78a50
---
gnu/packages/avr.scm | 7 ++++---
gnu/packages/benchmark.scm | 6 ++++--
gnu/packages/bootloaders.scm | 2 +-
gnu/packages/bootstrap.scm | 4 ++--
gnu/packages/c.scm | 4 ++--
gnu/packages/chicken.scm | 7 ++++---
gnu/packages/commencement.scm | 33 +++++++++++++++++++--------------
gnu/packages/containers.scm | 5 +++--
gnu/packages/cross-base.scm | 4 ++--
gnu/packages/dlang.scm | 3 ++-
gnu/packages/engineering.scm | 4 ++--
gnu/packages/gawk.scm | 3 ++-
gnu/packages/gcc.scm | 21 ++++++++++++++-------
gnu/packages/golang.scm | 3 ++-
gnu/packages/julia-xyz.scm | 3 ++-
gnu/packages/lisp.scm | 3 ++-
gnu/packages/llvm.scm | 7 ++++---
gnu/packages/make-bootstrap.scm | 20 ++++++++++----------
gnu/packages/mpi.scm | 3 ++-
gnu/packages/parallel.scm | 5 +++--
gnu/packages/rocm.scm | 3 ++-
21 files changed, 88 insertions(+), 62 deletions(-)
diff --git a/gnu/packages/avr.scm b/gnu/packages/avr.scm
index 6042c1bd55..00dc124aa9 100644
--- a/gnu/packages/avr.scm
+++ b/gnu/packages/avr.scm
@@ -5,6 +5,7 @@
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2020 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -53,7 +54,7 @@ (define make-avr-binutils
(inherit (cross-binutils "avr"))
(name "avr-binutils"))))
-(define* (make-avr-gcc/implementation #:key (xgcc gcc))
+(define* (make-avr-gcc/implementation #:key (xgcc (current-gcc)))
"Return a XGCC-base cross-compiler for the AVR target."
(let ((xgcc (cross-gcc "avr" #:xgcc xgcc #:xbinutils (make-avr-binutils))))
(package
@@ -96,7 +97,7 @@ (define* (make-avr-gcc/implementation #:key (xgcc gcc))
(variable "CROSS_LIBRARY_PATH")
(files '("avr/lib")))))
(native-inputs
- `(("gcc" ,gcc)
+ `(("gcc" ,(current-gcc))
,@(package-native-inputs xgcc))))))
(define make-avr-gcc
@@ -136,7 +137,7 @@ (define* (make-avr-libc/implementation #:key
(define make-avr-libc
(memoize make-avr-libc/implementation))
-(define* (make-avr-toolchain/implementation #:key (xgcc gcc))
+(define* (make-avr-toolchain/implementation #:key (xgcc (current-gcc)))
(let ((avr-binutils (make-avr-binutils))
(avr-libc (make-avr-libc #:xgcc (cross-gcc "avr" #:xgcc xgcc)))
(avr-gcc (make-avr-gcc #:xgcc xgcc)))
diff --git a/gnu/packages/benchmark.scm b/gnu/packages/benchmark.scm
index 326bbc99b4..c802e105ed 100644
--- a/gnu/packages/benchmark.scm
+++ b/gnu/packages/benchmark.scm
@@ -13,6 +13,7 @@
;;; Copyright © 2021 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2022 Tomasz Jeneralczyk <tj@schwi.pl>
;;; Copyright © 2024 Nicolas Graves <ngraves@ngraves.fr>
+;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -75,8 +76,8 @@ (define-module (gnu packages benchmark)
;; Lazily resolve the gcc-toolchain to avoid a circular dependency.
(define gcc-toolchain*
- (delay (module-ref (resolve-interface '(gnu packages commencement))
- 'gcc-toolchain)))
+ (delay ((module-ref (resolve-interface '(gnu packages commencement))
+ 'current-gcc-toolchain))))
(define-public fio
(package
@@ -379,6 +380,7 @@ (define-public phoronix-test-suite
(list bash
coreutils
(force gcc-toolchain*)
+ gcc-toolchain*
gnu-make
gzip
php
diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm
index 52a077ecea..e188553910 100644
--- a/gnu/packages/bootloaders.scm
+++ b/gnu/packages/bootloaders.scm
@@ -1710,7 +1710,7 @@ (define u-boot-ts-mx6
(add-before 'build 'adjust-for-current-gcc
(lambda _
(let ((gcc-major-version #$(version-major
- (package-version gcc))))
+ (package-version (current-gcc)))))
(copy-file "include/linux/compiler-gcc6.h"
(string-append "include/linux/compiler-gcc"
gcc-major-version ".h")))
diff --git a/gnu/packages/bootstrap.scm b/gnu/packages/bootstrap.scm
index 3743abf9fe..c4640b62e1 100644
--- a/gnu/packages/bootstrap.scm
+++ b/gnu/packages/bootstrap.scm
@@ -2,7 +2,7 @@
;;; Copyright © 2012-2020, 2024 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015, 2018, 2019 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2017, 2020, 2024 Efraim Flashner <efraim@flashner.co.il>
-;;; Copyright © 2018, 2020, 2022 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2018, 2020, 2022, 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2019 Carl Dong <contact@carldong.me>
;;; Copyright © 2019 Léo Le Bouter <lle-bout@zaclys.net>
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
@@ -311,7 +311,7 @@ (define* (glibc-dynamic-linker
gnu-triplet->nix-system)
(%current-system))))
"Return the name of Glibc's dynamic linker for SYSTEM."
- ;; See the 'SYSDEP_KNOWN_INTERPRETER_NAMES' cpp macro in libc.
+ ;; See the appropriate 'shlib-versions' file in libc.
(let ((platform (false-if-platform-not-found
(lookup-platform-by-system system))))
(cond
diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm
index 13fdb99424..f52a7c603e 100644
--- a/gnu/packages/c.scm
+++ b/gnu/packages/c.scm
@@ -6,7 +6,7 @@
;;; Copyright © 2019, 2020, 2022-2024 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2019, 2021 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2019 Andreas Enge <andreas@enge.fr>
-;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2020, 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2020, 2021 Marius Bakke <marius@gnu.org>
;;; Copyright © 2020 Katherine Cox-Buday <cox.katherine.e@gmail.com>
;;; Copyright © 2020, 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
@@ -178,7 +178,7 @@ (define-public cproc
(string-append "--with-ld=" #$(ld-for-target))
(string-append "--with-gcc-libdir=" gcc-lib))))))))
(inputs `(("qbe" ,qbe)
- ("gcc:lib" ,gcc "lib")))
+ ("gcc:lib" ,(current-gcc) "lib")))
(supported-systems (list "x86_64-linux" "aarch64-linux"))
(synopsis "Simple C11 compiler backed by QBE")
(description "@code{cproc} is a C compiler using QBE as a backend,
diff --git a/gnu/packages/chicken.scm b/gnu/packages/chicken.scm
index a499c5d9ee..02674577ed 100644
--- a/gnu/packages/chicken.scm
+++ b/gnu/packages/chicken.scm
@@ -2,6 +2,7 @@
;;; Copyright © 2020 Ekaitz Zarraga <ekaitz@elenq.tech>
;;; Copyright © 2020 Evan Hanson <evhan@foldling.org>
;;; Copyright © 2020 raingloom <raingloom@riseup.net>
+;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -69,9 +70,9 @@ (define-public chicken
(files (list "var/lib/chicken/11")))))
;; Reference gcc-toolchain lazily to avoid circular module dependency
;; problems.
- (propagated-inputs (list (module-ref (resolve-interface
- '(gnu packages commencement))
- 'gcc-toolchain)))
+ (propagated-inputs (list ((module-ref (resolve-interface
+ '(gnu packages commencement))
+ 'current-gcc-toolchain))))
(home-page "https://www.call-cc.org/")
(synopsis "R5RS Scheme implementation that compiles native code via C")
(description
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index 1cfaaae1e7..70641267a8 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -73,7 +73,8 @@ (define-module (gnu packages commencement)
#:use-module (guix utils)
#:use-module (srfi srfi-1)
#:use-module (ice-9 vlist)
- #:use-module (ice-9 match))
+ #:use-module (ice-9 match)
+ #:export (current-gcc-toolchain))
;;; Commentary:
;;;
@@ -908,7 +909,7 @@ (define gcc-core-mesboot0
;; with gcc-2.95.3, binutils (2.14.0, 2.20.1a) and glibc-2.2.5 we found a
;; GNU toolchain triplet "that works".
(package
- (inherit gcc)
+ (inherit (current-gcc))
(name "gcc-core-mesboot0")
(version "2.95.3")
(source (origin
@@ -2319,19 +2320,19 @@ (define libstdc++-boot0-gcc7
(define gcc-boot0
(package
- (inherit gcc)
+ (inherit (current-gcc))
(name "gcc-cross-boot0")
- (outputs (delete "debug" (package-outputs gcc)))
+ (outputs (delete "debug" (package-outputs (current-gcc))))
(source
(bootstrap-origin
(origin
- (inherit (package-source gcc))
+ (inherit (package-source (current-gcc)))
(snippet
#~(begin
;; XXX: The GCC test suite contains files with non-ASCII file
;; names, which cannot be repacked by BOOTSTRAP-ORIGIN. Nor
;; can it be deleted from Guile, so resort to this evil hack.
- #$(origin-snippet (package-source gcc))
+ #$(origin-snippet (package-source (current-gcc)))
(system* #$(file-append (let-system system
;; 'coreutils-boot0' is Linux-only.
(if (target-hurd? system)
@@ -2348,7 +2349,7 @@ (define gcc-boot0
(ice-9 regex)
(srfi srfi-1)
(srfi srfi-26))
- (substitute-keyword-arguments (package-arguments gcc)
+ (substitute-keyword-arguments (package-arguments (current-gcc))
((#:configure-flags flags)
#~(append (list #$(string-append "--target=" (boot-triplet))
@@ -2436,7 +2437,7 @@ (define gcc-boot0
(with-directory-excursion
(string-append out "/lib/gcc/"
#$(boot-triplet)
- "/" #$(package-version gcc))
+ "/" #$(package-version (current-gcc)))
(symlink "libgcc.a" "libgcc_eh.a"))))))))))
(inputs `(("gmp-source" ,(bootstrap-origin (package-source gmp-6.0)))
@@ -2952,7 +2953,7 @@ (define/system-dependent glibc-final-with-bootstrap-bash
(define (cross-gcc-wrapper gcc binutils glibc bash)
"Return a wrapper for the pseudo-cross toolchain GCC/BINUTILS/GLIBC
that makes it available under the native tool names."
- (package (inherit gcc)
+ (package (inherit (current-gcc))
(name (string-append (package-name gcc) "-wrapped"))
(source #f)
(build-system trivial-build-system)
@@ -3219,7 +3220,7 @@ (define gcc-final
(srfi srfi-26)
,@%default-gnu-modules)
- (substitute-keyword-arguments (package-arguments gcc)
+ (substitute-keyword-arguments (package-arguments (current-gcc))
((#:make-flags flags)
;; Since $LIBRARY_PATH is not honored, add the relevant flags.
#~(let ((zlib (assoc-ref %build-inputs "zlib")))
@@ -3542,8 +3543,8 @@ (define* (make-gcc-toolchain gcc
(let ((gcc (if libc (make-gcc-libc gcc libc) gcc))
(libc (if libc libc glibc-final)))
(package
- (name (string-append (package-name gcc) "-toolchain"))
- (version (package-version gcc))
+ (name (string-append (package-name (current-gcc)) "-toolchain"))
+ (version (package-version (current-gcc)))
(source #f)
(build-system trivial-build-system)
(arguments
@@ -3640,13 +3641,17 @@ (define-public gcc-toolchain-14
(make-gcc-toolchain gcc-14))
;; The default GCC
-(define-public gcc-toolchain
+(define (current-gcc-toolchain)
+ "The current default gcc-toolchain version."
gcc-toolchain-11)
+(define-public gcc-toolchain
+ (deprecated-package "gcc-toolchain" gcc-toolchain-11))
+
(define-public gcc-toolchain-aka-gcc
;; It's natural for users to try "guix install gcc". This package
;; automatically "redirects" them to 'gcc-toolchain'.
- (deprecated-package "gcc" gcc-toolchain))
+ (deprecated-package "gcc" (current-gcc-toolchain)))
(define-public gdc-toolchain-10
diff --git a/gnu/packages/containers.scm b/gnu/packages/containers.scm
index adae2f5bfc..80b9c6e03d 100644
--- a/gnu/packages/containers.scm
+++ b/gnu/packages/containers.scm
@@ -8,6 +8,7 @@
;;; Copyright © 2024 Tomas Volf <~@wolfsden.cz>
;;; Copyright © 2024 Foundation Devices, Inc. <hello@foundation.xyz>
;;; Copyright © 2024 Jean-Pierre De Jesus DIAZ <jean@foundation.xyz>
+;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -533,7 +534,7 @@ (define-public podman
(,(string-append #$catatonit "/bin")
,(string-append #$conmon "/bin")
,(string-append #$crun "/bin")
- ,(string-append #$gcc "/bin") ; cpp
+ ,(string-append #$(current-gcc) "/bin") ; cpp
,(string-append #$iptables "/sbin")
,(string-append #$passt "/bin")
,(string-append #$procps "/bin") ; ps
@@ -667,7 +668,7 @@ (define-public buildah
(,(string-append #$output "/_guix")))
`("PATH" suffix
(,(string-append #$crun "/bin")
- ,(string-append #$gcc "/bin") ; cpp
+ ,(string-append #$(current-gcc) "/bin") ; cpp
,(string-append #$passt "/bin")
"/run/privileged/bin")))))
(add-after 'install 'install-completions
diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm
index cecc21083e..9c701efae8 100644
--- a/gnu/packages/cross-base.scm
+++ b/gnu/packages/cross-base.scm
@@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013-2018, 2020, 2023-2024 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015, 2018 Mark H Weaver <mhw@netris.org>
-;;; Copyright © 2016, 2019, 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2016, 2019, 2023, 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2016 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019, 2020, 2021 Marius Bakke <marius@gnu.org>
@@ -61,7 +61,7 @@ (define-syntax %xgcc
;;
;; Note: This is a macro so that we do not refer to 'gcc' from the top
;; level, which would lead to circular-dependency issues.
- (identifier-syntax gcc))
+ (identifier-syntax (current-gcc)))
(define %gcc-include-paths
;; Environment variables for header search paths.
diff --git a/gnu/packages/dlang.scm b/gnu/packages/dlang.scm
index 8bf0ee685e..654d5b2281 100644
--- a/gnu/packages/dlang.scm
+++ b/gnu/packages/dlang.scm
@@ -9,6 +9,7 @@
;;; Copyright © 2021, 2024 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2022 ( <paren@disroot.org>
;;; Copyright © 2022 Esther Flashner <esther@flashner.co.il>
+;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -426,7 +427,7 @@ (define dmd-bootstrap
(build-system gnu-build-system)
(arguments
(list
- #:disallowed-references (list (gexp-input (canonical-package gcc)
+ #:disallowed-references (list (gexp-input (canonical-package (current-gcc))
"lib"))
;; Disable tests, as gdmd cannot cope with some arguments used such as
;; '-conf'.
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index 3ceeb4425a..5abca92ebf 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -2340,8 +2340,8 @@ (define-public freehdl
coreutils
;; Lazily resolve the gcc-toolchain to avoid a circular dependency.
- (module-ref (resolve-interface '(gnu packages commencement))
- 'gcc-toolchain)
+ ((module-ref (resolve-interface '(gnu packages commencement))
+ 'current-gcc-toolchain))
guile-2.2
perl
diff --git a/gnu/packages/gawk.scm b/gnu/packages/gawk.scm
index 6a77a692f5..a8b8369d7b 100644
--- a/gnu/packages/gawk.scm
+++ b/gnu/packages/gawk.scm
@@ -4,6 +4,7 @@
;;; Copyright © 2018, 2022-2024 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2021, 2022 Marius Bakke <marius@gnu.org>
;;; Copyright © 2022 Paul A. Patience <paul@apatience.com>
+;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -227,7 +228,7 @@ (define-public cppawk
(inputs
(list coreutils ; For dirname, mktemp, printf, rm
gawk-mpfr ; Default variant, but supports others
- gcc ; For cpp
+ (current-gcc) ; For cpp
sed))
(home-page "https://www.kylheku.com/cgit/cppawk/")
(synopsis "Wrapper script that adds C preprocessing to Awk")
diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index c9e475b676..3b5d05b9a9 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -17,6 +17,7 @@
;;; Copyright © 2023 Bruno Victal <mirai@makinata.eu>
;;; Copyright © 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2024 Nguyễn Gia Phong <mcsinyx@disroot.org>
+;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -57,7 +58,8 @@ (define-module (gnu packages gcc)
#:use-module (guix utils)
#:use-module (srfi srfi-1)
#:use-module (ice-9 match)
- #:use-module (ice-9 regex))
+ #:use-module (ice-9 regex)
+ #:export (current-gcc))
(define %gcc-infrastructure
;; Base URL for GCC's infrastructure.
@@ -857,7 +859,12 @@ (define-public gcc-14
;; Note: When changing the default gcc version, update
;; the gcc-toolchain-* definitions.
-(define-public gcc gcc-11)
+(define (current-gcc)
+ "The current default gcc version."
+ gcc-11)
+
+(define-public gcc
+ (deprecated-package "gcc" gcc-11))
\f
;;;
@@ -868,7 +875,7 @@ (define-public gcc-2.95
;; Note: 'gcc-core-mesboot0' in commencement.scm provides 2.95 as well, but
;; with additional tricks to support compilation with TinyCC and Mes-libc.
(package
- (inherit gcc)
+ (inherit (current-gcc))
(version "2.95.3")
(source (origin
(method url-fetch)
@@ -1045,7 +1052,7 @@ (define-public (make-libstdc++ gcc)
(define libstdc++
;; Libstdc++ matching the default GCC.
- (make-libstdc++ gcc))
+ (make-libstdc++ (current-gcc)))
(define libstdc++-headers
;; XXX: This package is for internal use to work around
@@ -1100,7 +1107,7 @@ (define (make-libiberty gcc)
(synopsis "Collection of subroutines used by various GNU programs")))
(define-public libiberty
- (make-libiberty gcc))
+ (make-libiberty (current-gcc)))
(define* (custom-gcc gcc name languages
#:optional
@@ -1157,7 +1164,7 @@ (define-public gfortran-13
(define-public gfortran
(hidden-package
- (custom-gcc gcc
+ (custom-gcc (current-gcc)
"gfortran" '("fortran")
%generic-search-paths)))
@@ -1186,7 +1193,7 @@ (define-public gdc-11
;;; Alias tracking the latest GDC version.
(define-public gdc
(hidden-package
- (custom-gcc gcc "gdc" '("d")
+ (custom-gcc (current-gcc) "gdc" '("d")
%generic-search-paths)))
(define-public (make-libgccjit gcc)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 894e878cf2..244e85f17c 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -47,6 +47,7 @@
;;; Copyright © 2024 Greg Hogan <code@greghogan.com>
;;; Copyright © 2024 Brennan Vincent <brennan@umanwizard.com>
;;; Copyright © 2024 André Batista <nandre@riseup.net>
+;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -253,7 +254,7 @@ (define-public go-1.4
(inputs
`(("tzdata" ,tzdata)
("pcre" ,pcre)
- ("gcc:lib" ,(canonical-package gcc) "lib")))
+ ("gcc:lib" ,(canonical-package (current-gcc)) "lib")))
(native-inputs
(list pkg-config which net-base perl))
diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
index 77385ee6e0..3860da608e 100644
--- a/gnu/packages/julia-xyz.scm
+++ b/gnu/packages/julia-xyz.scm
@@ -6,6 +6,7 @@
;;; Copyright © 2021 jgart <jgart@dismail.de>
;;; Copyright © 2023 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2024 Spencer King <spencer.king@geneoscopy.com>
+;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -5170,7 +5171,7 @@ (define-public julia-quadmath
(propagated-inputs
(list julia-requires))
(inputs
- `(("gcc:lib" ,gcc "lib")))
+ `(("gcc:lib" ,(current-gcc) "lib")))
(native-inputs
(list julia-specialfunctions))
(home-page "https://github.com/JuliaMath/Quadmath.jl")
diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 6c16d8ab71..8dc3208327 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -29,6 +29,7 @@
;;; Copyright © 2024 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2024 bigbug <bigbookofbug@proton.me>
;;; Copyright © 2024 Ashish SHUKLA <ashish.is@lostca.se>
+;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -388,7 +389,7 @@ (define-public clasp-cl
(base32 "10jjhcid6qp64gx29iyy5rqqijwy8hrvx66f0xabdj8w3007ky39"))))
(build-system gnu-build-system)
(inputs
- (list boost clang-15 fmt `(,gcc "lib") gmp libelf libunwind llvm-15))
+ (list boost clang-15 fmt `(,(current-gcc) "lib") gmp libelf libunwind llvm-15))
(native-inputs
(list binutils-gold ninja pkg-config sbcl))
(arguments
diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm
index c6566a3339..1d4a7f5277 100644
--- a/gnu/packages/llvm.scm
+++ b/gnu/packages/llvm.scm
@@ -27,6 +27,7 @@
;;; Copyright © 2022 Zhu Zihao <all_but_last@163.com>
;;; Copyright © 2023 Hilton Chain <hako@ultrarare.space>
;;; Copyright © 2023, 2024 Zheng Junjie <873216071@qq.com>
+;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -89,8 +90,8 @@ (define-module (gnu packages llvm)
;; Lazily resolve the gcc-toolchain to avoid a circular dependency.
(define gcc-toolchain*
- (delay (module-ref (resolve-interface '(gnu packages commencement))
- 'gcc-toolchain)))
+ (delay ((module-ref (resolve-interface '(gnu packages commencement))
+ 'current-gcc-toolchain))))
(define* (system->llvm-target #:optional
(system (or (and=> (%current-target-system)
@@ -250,7 +251,7 @@ (define* (clang-from-llvm llvm clang-runtime
(native-inputs (package-native-inputs llvm))
(inputs
`(("libxml2" ,libxml2)
- ("gcc-lib" ,gcc "lib")
+ ("gcc-lib" ,(current-gcc) "lib")
,@(package-inputs llvm)
,@(if tools-extra
`(("clang-tools-extra" ,tools-extra))
diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm
index edc536bff4..c6293b9a38 100644
--- a/gnu/packages/make-bootstrap.scm
+++ b/gnu/packages/make-bootstrap.scm
@@ -3,7 +3,7 @@
;;; Copyright © 2017, 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2019 Mark H Weaver <mhw@netris.org>
-;;; Copyright © 2018, 2019, 2021, 2022, 2023 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2018, 2019, 2021, 2022, 2023, 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2019, 2020, 2022 Marius Bakke <marius@gnu.org>
;;; Copyright © 2020 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2021 Pierre Langlois <pierre.langlois@gmx.com>
@@ -108,13 +108,13 @@ (define gcc-for-bootstrap
(mlambdaq (glibc)
"Return a variant of GCC that uses the bootstrap variant of GLIBC."
(package
- (inherit gcc)
+ (inherit (current-gcc))
(outputs '("out")) ;all in one so libgcc_s is easily found
(inputs
`( ;; Distinguish the name so we can refer to it below.
("bootstrap-libc" ,(glibc-for-bootstrap glibc))
("libc:static" ,(glibc-for-bootstrap glibc) "static")
- ,@(package-inputs gcc))))))
+ ,@(package-inputs (current-gcc)))))))
(define (package-with-relocatable-glibc p)
"Return a variant of P that uses the libc as defined by
@@ -153,7 +153,7 @@ (define (package-with-relocatable-glibc p)
(cons (search-path-specification
(variable "CROSS_CPLUS_INCLUDE_PATH")
(files '("include")))
- (package-search-paths gcc)))))
+ (package-search-paths (current-gcc))))))
("cross-binutils" ,(cross-binutils target))
,@(%final-inputs)))
`(("libc" ,(glibc-for-bootstrap glibc))
@@ -481,11 +481,11 @@ (define (%glibc-stripped)
(define %gcc-static
;; A statically-linked GCC, with stripped-down functionality.
(package-with-relocatable-glibc
- (package (inherit gcc)
+ (package (inherit (current-gcc))
(name "gcc-static")
(outputs '("out")) ; all in one
(arguments
- (substitute-keyword-arguments (package-arguments gcc)
+ (substitute-keyword-arguments (package-arguments (current-gcc))
((#:modules modules %default-gnu-modules)
`((srfi srfi-1)
(srfi srfi-26)
@@ -536,7 +536,7 @@ (define %gcc-static
(inputs
`(("zlib:static" ,zlib "static")
("isl:static" ,isl "static")
- ,@(package-inputs gcc)))
+ ,@(package-inputs (current-gcc))))
(native-inputs
(if (%current-target-system)
`(;; When doing a Canadian cross, we need GMP/MPFR/MPC both
@@ -549,13 +549,13 @@ (define %gcc-static
("gmp-native" ,gmp)
("mpfr-native" ,mpfr)
("mpc-native" ,mpc)
- ,@(package-native-inputs gcc))
- (package-native-inputs gcc))))))
+ ,@(package-native-inputs (current-gcc)))
+ (package-native-inputs (current-gcc)))))))
(define %gcc-stripped
;; The subset of GCC files needed for bootstrap.
(package
- (inherit gcc)
+ (inherit (current-gcc))
(name "gcc-stripped")
(build-system trivial-build-system)
(source #f)
diff --git a/gnu/packages/mpi.scm b/gnu/packages/mpi.scm
index bc1fd797d6..e956167137 100644
--- a/gnu/packages/mpi.scm
+++ b/gnu/packages/mpi.scm
@@ -9,6 +9,7 @@
;;; Copyright © 2018 Paul Garlick <pgarlick@tourbillion-technology.com>
;;; Copyright © 2019, 2021 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2024 Romain Garbage <romain.garbage@inria.fr>
+;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -378,7 +379,7 @@ (define-public openmpi-5
"ompi/tools/ompi_info/param.c")
(("_ABSOLUTE") "")))))
- #:disallowed-references (list (canonical-package gcc))))))
+ #:disallowed-references (list (canonical-package (current-gcc)))))))
(define-public openmpi-c++
(package/inherit openmpi
diff --git a/gnu/packages/parallel.scm b/gnu/packages/parallel.scm
index 7459a6a02c..e13bf04277 100644
--- a/gnu/packages/parallel.scm
+++ b/gnu/packages/parallel.scm
@@ -15,6 +15,7 @@
;;; Copyright © 2024 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2024 David Elsing <david.elsing@posteo.net>
;;; Copyright © 2024 Romain Garbage <romain.garbage@inria.fr>
+;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -666,7 +667,7 @@ (define-public openpmix
;; Don't keep a reference to GCC.
#:disallowed-references (and (not (%current-target-system))
- (list (canonical-package gcc)))
+ (list (canonical-package (current-gcc))))
#:phases
#~(modify-phases %standard-phases
@@ -738,7 +739,7 @@ (define-public prrte
(string-append "prte_launch_agent = \""
#$output "/bin/prted\";\n"))))))
- #:disallowed-references (list (canonical-package gcc))))
+ #:disallowed-references (list (canonical-package (current-gcc)))))
(inputs (list libevent
`(,hwloc "lib")
openpmix))
diff --git a/gnu/packages/rocm.scm b/gnu/packages/rocm.scm
index e883371928..2f315e3985 100644
--- a/gnu/packages/rocm.scm
+++ b/gnu/packages/rocm.scm
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2021 Lars-Dominik Braun <lars@6xq.net>
;;; Copyright © 2022, 2023 John Kehayias <john.kehayias@protonmail.com>
+;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This program is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
@@ -131,7 +132,7 @@ (define-public roct-thunk-interface
(build-system cmake-build-system)
(arguments `(#:tests? #f)) ; Not sure how to run tests.
(inputs (list libdrm numactl))
- (native-inputs (list `(,gcc "lib") pkg-config))
+ (native-inputs (list `(,(current-gcc) "lib") pkg-config))
(home-page "https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface")
(synopsis "Radeon Open Compute Thunk Interface")
(description "User-mode API interfaces used to interact with the ROCk
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [bug#74290] [PATCH v2 05/40] gnu: Add basic support for x86_64-pc-gnu target, aka 64bit Hurd.
2024-11-12 16:25 ` [bug#74290] [PATCH v2 00/40] " Janneke Nieuwenhuizen
` (3 preceding siblings ...)
2024-11-12 16:25 ` [bug#74290] [PATCH v2 04/40] gnu: gcc: Add indirections current-gcc, current-gcc-toolchain Janneke Nieuwenhuizen
@ 2024-11-12 16:25 ` Janneke Nieuwenhuizen
2024-11-12 16:25 ` [bug#74290] [PATCH v2 06/40] gnu: cross-libc: Support cross-building for the " Janneke Nieuwenhuizen
` (34 subsequent siblings)
39 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2024-11-12 16:25 UTC (permalink / raw)
To: 74290
Cc: Andreas Enge, Christopher Baines, Efraim Flashner, Ekaitz Zarraga,
Josselin Poiret, Ludovic Courtès, Mathieu Othacehe,
Simon Tournier, Tobias Geerinckx-Rice
* 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.
* guix/platforms/x86.scm (x86_64-gnu): New exported variable.
* guix/utils.scm (target-hurd64? system-hurd64?): New procedures.
* gnu/packages/gcc.scm: (current-gcc): Use target-hurd64? in new procedure to
select gcc-14 on 64bit Hurd.
(libstdc++): Change to procedure.
(libstdc++-headers): Update accordingly.
* gnu/packages/commencement.scm (current-gcc-toolchain): Likewise, to select
gcc-toolchain-14 on 64bit Hurd.
* gnu/packages/cross-base.scm (%xgcc): Use current-gcc.
(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):
Capture (current-gcc) before resetting %current-target-system.
[native-inputs]: Move final-inputs before cross-packages.
(%glibc-stripped): Likewise.
(%gcc-static): Change to procedure.
(%gcc-stripped): Likewise, update accordingly.
(%gcc-bootstrap-tarball): Likewise, update accordingly.
(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.
(%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.
* gnu/ci.scm (%core-packages): Update accordingly.
* gnu/packages/patches/gcc-14-cross-without-bootstrap.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/cross-base.scm (cross-gcc)[origin]: Use it when
cross-building gcc >= 14.
Change-Id: I4ae189e7e5188ced91744b89fe9d753b6a1fca78
---
gnu/ci.scm | 4 +--
gnu/packages/bootstrap.scm | 3 +-
gnu/packages/commencement.scm | 6 ++--
gnu/packages/cross-base.scm | 6 ++--
gnu/packages/gcc.scm | 32 ++++++++++---------
gnu/packages/make-bootstrap.scm | 56 ++++++++++++++++++++++-----------
guix/platforms/x86.scm | 11 ++++++-
guix/utils.scm | 15 ++++++++-
8 files changed, 90 insertions(+), 43 deletions(-)
diff --git a/gnu/ci.scm b/gnu/ci.scm
index 4e282d197f..e7e839d968 100644
--- a/gnu/ci.scm
+++ b/gnu/ci.scm
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012-2024 Ludovic Courtès <ludo@gnu.org>
-;;; Copyright © 2017, 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2017, 2020, 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2018, 2019 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2020 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2020, 2021 Mathieu Othacehe <othacehe@gnu.org>
@@ -146,7 +146,7 @@ (define %core-packages
%bootstrap-binaries-tarball
%binutils-bootstrap-tarball
(%glibc-bootstrap-tarball)
- %gcc-bootstrap-tarball
+ (%gcc-bootstrap-tarball)
%guile-bootstrap-tarball
%bootstrap-tarballs))
diff --git a/gnu/packages/bootstrap.scm b/gnu/packages/bootstrap.scm
index c4640b62e1..234d001fc1 100644
--- a/gnu/packages/bootstrap.scm
+++ b/gnu/packages/bootstrap.scm
@@ -558,7 +558,8 @@ (define* (make-raw-bag name
(name name)
(system system)
(build-inputs inputs)
- (build (cond ((target-riscv64?)
+ (build (cond ((or (target-riscv64?)
+ (target-hurd64?))
raw-build-guile3)
(else raw-build)))))
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index 70641267a8..a000cbfdc5 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -3643,10 +3643,12 @@ (define-public gcc-toolchain-14
;; The default GCC
(define (current-gcc-toolchain)
"The current default gcc-toolchain version."
- gcc-toolchain-11)
+ (if (target-hurd64?)
+ gcc-toolchain-14
+ gcc-toolchain-11))
(define-public gcc-toolchain
- (deprecated-package "gcc-toolchain" gcc-toolchain-11))
+ (deprecated-package "gcc-toolchain" (current-gcc-toolchain)))
(define-public gcc-toolchain-aka-gcc
;; It's natural for users to try "guix install gcc". This package
diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm
index 9c701efae8..7b32a6b64e 100644
--- a/gnu/packages/cross-base.scm
+++ b/gnu/packages/cross-base.scm
@@ -641,9 +641,9 @@ (define* (cross-kernel-headers* target
("hurd-headers" ,xhurd-headers)
("hurd-minimal" ,xhurd-minimal)))))
- (match target
- ((or "i586-pc-gnu" "i586-gnu") xhurd-core-headers)
- (_ xlinux-headers)))
+ (if (target-hurd? target)
+ xhurd-core-headers
+ xlinux-headers))
(define* (cross-libc . args)
(if (or (= (length args) 1) (contains-keyword? args))
diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index 3b5d05b9a9..fc3746fb05 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -861,10 +861,12 @@ (define-public gcc-14
;; the gcc-toolchain-* definitions.
(define (current-gcc)
"The current default gcc version."
- gcc-11)
+ (if (target-hurd64?)
+ gcc-14
+ gcc-11))
(define-public gcc
- (deprecated-package "gcc" gcc-11))
+ (deprecated-package "gcc" (current-gcc)))
\f
;;;
@@ -903,15 +905,15 @@ (define-public gcc-2.95
(outputs '("out"))
(arguments
(let ((matching-system
- (match (%current-system)
- ;; This package predates our 64-bit architectures.
- ;; Force a 32-bit build targeting a similar architecture.
- ("aarch64-linux"
- "armhf-linux")
- ("x86_64-linux"
- "i686-linux")
- (_
- (%current-system)))))
+ (match (%current-system)
+ ;; This package predates our 64-bit architectures.
+ ;; Force a 32-bit build targeting a similar architecture.
+ ("aarch64-linux"
+ "armhf-linux")
+ ("x86_64-linux"
+ "i686-linux")
+ (_
+ (%current-system)))))
(list #:system matching-system
#:configure-flags #~'("--disable-werror")
@@ -1050,8 +1052,8 @@ (define-public (make-libstdc++ gcc)
(propagated-inputs '())
(synopsis "GNU C++ standard library")))
-(define libstdc++
- ;; Libstdc++ matching the default GCC.
+(define (current-libstdc++)
+ ;; Libstdc++ matching the CURRENT-GCC.
(make-libstdc++ (current-gcc)))
(define libstdc++-headers
@@ -1061,7 +1063,7 @@ (define libstdc++-headers
;; is right under include/c++ and not under
;; include/c++/x86_64-unknown-linux-gnu (aka. GPLUSPLUS_TOOL_INCLUDE_DIR).
(package
- (inherit libstdc++)
+ (inherit (current-libstdc++))
(name "libstdc++-headers")
(outputs '("out"))
(build-system trivial-build-system)
@@ -1072,7 +1074,7 @@ (define libstdc++-headers
(mkdir (string-append out "/include"))
(symlink (string-append libstdc++ "/include")
(string-append out "/include/c++")))))
- (inputs `(("libstdc++" ,libstdc++)))
+ (inputs `(("libstdc++" ,(current-libstdc++))))
(synopsis "Headers of GNU libstdc++")))
(define-public libstdc++-4.9
diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm
index c6293b9a38..f4165178fe 100644
--- a/gnu/packages/make-bootstrap.scm
+++ b/gnu/packages/make-bootstrap.scm
@@ -124,8 +124,11 @@ (define (package-with-relocatable-glibc p)
(glibc-for-bootstrap
;; `cross-libc' already returns a cross libc, so clear
;; %CURRENT-TARGET-SYSTEM.
- (parameterize ((%current-target-system #f))
- (cross-libc target))))
+ (let ((xgcc (cross-gcc target #:xgcc (current-gcc))))
+ (parameterize ((%current-target-system #f))
+ (cross-libc target #:xgcc xgcc
+ #:xheaders (cross-kernel-headers
+ target #:xgcc xgcc))))))
;; Standard inputs with the above libc and corresponding GCC.
@@ -145,7 +148,10 @@ (define (package-with-relocatable-glibc p)
target
#:xbinutils (cross-binutils target)
#:libc (cross-bootstrap-libc target))))
- `(("cross-gcc" ,(package
+ `(,@(%final-inputs)
+ ;; As versions for gcc and cross-gcc can differ, make sure to have
+ ;; cross-gcc behind gcc in CPLUS_INCLUDE_PATH.
+ ("cross-gcc" ,(package
(inherit xgcc)
(search-paths
;; Ensure the cross libc headers appears on the
@@ -154,8 +160,7 @@ (define (package-with-relocatable-glibc p)
(variable "CROSS_CPLUS_INCLUDE_PATH")
(files '("include")))
(package-search-paths (current-gcc))))))
- ("cross-binutils" ,(cross-binutils target))
- ,@(%final-inputs)))
+ ("cross-binutils" ,(cross-binutils target))))
`(("libc" ,(glibc-for-bootstrap glibc))
("libc:static" ,(glibc-for-bootstrap glibc) "static")
("gcc" ,(gcc-for-bootstrap glibc))
@@ -395,10 +400,15 @@ (define %binutils-static
((#:configure-flags flags _ ...)
flags)))
#:make-flags
- (match (memq #:make-flags (package-arguments binutils))
- ((#:make-flags flags _ ...)
- flags)
- (_ #~'()))
+ #~(append
+ #$(if (target-hurd64?)
+ #~'("lt_cv_prog_compiler_static_works=yes"
+ "lt_cv_prog_compiler_static_works_CXX=yes")
+ #~'())
+ #$(match (memq #:make-flags (package-arguments binutils))
+ ((#:make-flags flags _ ...)
+ flags)
+ (_ #~'())))
#:strip-flags #~'("--strip-all")
#:phases
#~(modify-phases %standard-phases
@@ -446,7 +456,8 @@ (define (%glibc-stripped)
;; GNU libc's essential shared libraries, dynamic linker, and headers,
;; with all references to store directories stripped. As a result,
;; libc.so is unusable and need to be patched for proper relocation.
- (let ((glibc (glibc-for-bootstrap glibc)))
+ (let ((glibc (glibc-for-bootstrap glibc))
+ (gcc (current-gcc)))
(package (inherit glibc)
(name "glibc-stripped")
(build-system trivial-build-system)
@@ -463,8 +474,13 @@ (define (%glibc-stripped)
`(("libc" ,(let ((target (%current-target-system)))
(if target
(glibc-for-bootstrap
- (parameterize ((%current-target-system #f))
- (cross-libc target)))
+ (let* ((xgcc (cross-gcc target #:xgcc gcc))
+ (xheaders (cross-kernel-headers target
+ #:xgcc xgcc)))
+ (parameterize ((%current-target-system #f))
+ (cross-libc target
+ #:xgcc xgcc
+ #:xheaders xheaders))))
glibc)))))
(inputs
`(("kernel-headers"
@@ -478,11 +494,12 @@ (define (%glibc-stripped)
;; Only one output.
(outputs '("out")))))
-(define %gcc-static
+(define (%gcc-static)
;; A statically-linked GCC, with stripped-down functionality.
(package-with-relocatable-glibc
(package (inherit (current-gcc))
(name "gcc-static")
+ (source (package-source (current-gcc)))
(outputs '("out")) ; all in one
(arguments
(substitute-keyword-arguments (package-arguments (current-gcc))
@@ -552,7 +569,7 @@ (define %gcc-static
,@(package-native-inputs (current-gcc)))
(package-native-inputs (current-gcc)))))))
-(define %gcc-stripped
+(define (%gcc-stripped)
;; The subset of GCC files needed for bootstrap.
(package
(inherit (current-gcc))
@@ -575,7 +592,7 @@ (define %gcc-stripped
(libdir (string-append out "/lib"))
(includedir (string-append out "/include"))
(libexecdir (string-append out "/libexec"))
- (gcc #$%gcc-static))
+ (gcc #$(%gcc-static)))
(copy-recursively (string-append gcc "/bin") bindir)
(for-each remove-store-references
(find-files bindir ".*"))
@@ -642,6 +659,9 @@ (define* (make-guile-static guile patches)
#$@(if (target-hurd?)
#~("--disable-jit")
+ #~())
+ #$@(if (target-hurd64?)
+ #~("lt_cv_prog_compiler_static_works=yes")
#~())))
((#:phases phases '%standard-phases)
#~(modify-phases #$phases
@@ -813,9 +833,9 @@ (define (%glibc-bootstrap-tarball)
;; A tarball with GNU libc's shared libraries, dynamic linker, and headers.
(tarball-package (%glibc-stripped)))
-(define %gcc-bootstrap-tarball
+(define (%gcc-bootstrap-tarball)
;; A tarball with a dynamic-linked GCC and its headers.
- (tarball-package %gcc-stripped))
+ (tarball-package (%gcc-stripped)))
(define %guile-bootstrap-tarball
;; A tarball with the statically-linked, relocatable Guile.
@@ -856,7 +876,7 @@ (define %bootstrap-tarballs
((or "i686-linux" "x86_64-linux")
(list %linux-libre-headers-bootstrap-tarball))
(_
- (list %gcc-bootstrap-tarball
+ (list (%gcc-bootstrap-tarball)
%binutils-bootstrap-tarball
(%glibc-bootstrap-tarball)
%bootstrap-binaries-tarball)))))
diff --git a/guix/platforms/x86.scm b/guix/platforms/x86.scm
index 0c8fc7296c..5617e6dd68 100644
--- a/guix/platforms/x86.scm
+++ b/guix/platforms/x86.scm
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2022 Mathieu Othacehe <othacehe@gnu.org>
;;; Copyright © 2023, 2024 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -25,7 +26,8 @@ (define-module (guix platforms x86)
x86_64-linux-x32
i686-mingw
x86_64-mingw
- i586-gnu))
+ i586-gnu
+ x86_64-gnu))
(define i686-linux
(platform
@@ -71,3 +73,10 @@ (define i586-gnu
(system "i586-gnu")
(rust-target "i686-unknown-hurd-gnu")
(glibc-dynamic-linker "/lib/ld.so.1")))
+
+(define x86_64-gnu
+ (platform
+ (target "x86_64-pc-gnu")
+ (system "x86_64-gnu")
+ (rust-target "x86_64-unknown-hurd-gnu")
+ (glibc-dynamic-linker "/lib/ld-x86-64.so.1")))
diff --git a/guix/utils.scm b/guix/utils.scm
index f161cb4ef3..e100c03365 100644
--- a/guix/utils.scm
+++ b/guix/utils.scm
@@ -17,7 +17,7 @@
;;; Copyright © 2022 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
;;; Copyright © 2022 Antero Mejr <antero@mailbox.org>
;;; Copyright © 2023 Philip McGrath <philip@philipmcgrath.com>
-;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2023, 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2023 Foundation Devices, Inc. <hello@foundationdevices.com>
;;; Copyright © 2024 Herman Rimm <herman@rimm.ee>
@@ -94,6 +94,8 @@ (define-module (guix utils)
target-linux?
target-hurd?
system-hurd?
+ target-hurd64?
+ system-hurd64?
target-mingw?
target-x86-32?
target-x86-64?
@@ -716,6 +718,17 @@ (define* (system-hurd?)
"Is the current system the GNU(/Hurd) system?"
(and=> (%current-system) target-hurd?))
+(define* (target-hurd64? #:optional (target (or (%current-target-system)
+ (%current-system))))
+ "Does TARGET represent the 64bit GNU(/Hurd) system?"
+ (and (target-hurd?)
+ (target-64bit? target)))
+
+(define* (system-hurd64?)
+ "Is the current system the 64bit GNU(/Hurd) system?"
+ (and (system-hurd?)
+ (target-64bit? (%current-system))))
+
(define* (target-mingw? #:optional (target (%current-target-system)))
"Is the operating system of TARGET Windows?"
(and target
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [bug#74290] [PATCH v2 06/40] gnu: cross-libc: Support cross-building for the 64bit Hurd.
2024-11-12 16:25 ` [bug#74290] [PATCH v2 00/40] " Janneke Nieuwenhuizen
` (4 preceding siblings ...)
2024-11-12 16:25 ` [bug#74290] [PATCH v2 05/40] gnu: Add basic support for x86_64-pc-gnu target, aka 64bit Hurd Janneke Nieuwenhuizen
@ 2024-11-12 16:25 ` Janneke Nieuwenhuizen
2024-11-12 16:25 ` [bug#74290] [PATCH v2 07/40] gnu: bash-minimal: Fix build for " Janneke Nieuwenhuizen
` (33 subsequent siblings)
39 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2024-11-12 16:25 UTC (permalink / raw)
To: 74290; +Cc: Andreas Enge, Ludovic Courtès
* gnu/packages/base.scm (glibc)[arguments]: When building for the Hurd, in
phase "create-machine-symlink", do not assume CPU is i386, also cater for
x86_64.
* gnu/packages/cross-base.scm (cross-libc*)[arguments]: Likewise.
Change-Id: Ib009b7bd301b543b8629382330cca9d963b7a812
---
gnu/packages/base.scm | 18 ++++++++++++------
gnu/packages/cross-base.scm | 17 +++++++++++------
2 files changed, 23 insertions(+), 12 deletions(-)
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index 4e8121ae2c..02ef71f20d 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -1079,7 +1079,7 @@ (define-public glibc
(string-append locale "/C.UTF-8")))))
,@(if (target-hurd?)
- '((add-after 'install 'augment-libc.so
+ `((add-after 'install 'augment-libc.so
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(substitute* (string-append out "/lib/libc.so")
@@ -1088,11 +1088,17 @@ (define-public glibc
" libmachuser.so libhurduser.so"))))))
(add-after 'install 'create-machine-symlink
(lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out"))
- (cpu "i386"))
- (symlink cpu
- (string-append out
- "/include/mach/machine"))))))
+ (let* ((out (assoc-ref outputs "out"))
+ (cpu ,(match (or (%current-target-system)
+ (%current-system))
+ ((? target-x86-32?)
+ "i386")
+ ((? target-x86-64?)
+ "x86_64")))
+ (machine (string-append
+ out "/include/mach/machine")))
+ (unless (file-exists? machine)
+ (symlink cpu machine))))))
'()))))
(inputs `(("static-bash" ,static-bash)))
diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm
index 7b32a6b64e..3827e87aec 100644
--- a/gnu/packages/cross-base.scm
+++ b/gnu/packages/cross-base.scm
@@ -738,7 +738,7 @@ (define* (cross-libc* target
(delete 'install-utf8-c-locale)
,@(if (target-hurd? target)
- '((add-after 'install 'augment-libc.so
+ `((add-after 'install 'augment-libc.so
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(substitute* (string-append out "/lib/libc.so")
@@ -747,11 +747,16 @@ (define* (cross-libc* target
" libmachuser.so libhurduser.so"))))))
(add-after 'install 'create-machine-symlink
(lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out"))
- (cpu "i386"))
- (symlink cpu
- (string-append out
- "/include/mach/machine"))))))
+ (let* ((out (assoc-ref outputs "out"))
+ (cpu ,(match target
+ ((? target-x86-32?)
+ "i386")
+ ((? target-x86-64?)
+ "x86_64")))
+ (machine (string-append
+ out "/include/mach/machine")))
+ (unless (file-exists? machine)
+ (symlink cpu machine))))))
'())))))
;; Shadow the native "kernel-headers" because glibc's recipe expects the
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [bug#74290] [PATCH v2 07/40] gnu: bash-minimal: Fix build for 64bit Hurd.
2024-11-12 16:25 ` [bug#74290] [PATCH v2 00/40] " Janneke Nieuwenhuizen
` (5 preceding siblings ...)
2024-11-12 16:25 ` [bug#74290] [PATCH v2 06/40] gnu: cross-libc: Support cross-building for the " Janneke Nieuwenhuizen
@ 2024-11-12 16:25 ` Janneke Nieuwenhuizen
2024-11-12 16:25 ` [bug#74290] [PATCH v2 08/40] gnu: elfutils: " Janneke Nieuwenhuizen
` (32 subsequent siblings)
39 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2024-11-12 16:25 UTC (permalink / raw)
To: 74290
* gnu/packages/bash-minimal.scm (bash)[arguments]: When building with gcc >=
14 use "CFLAGS=-Wno-implicit-function-declaration".
Change-Id: I3fd2da7a1d9011b155084dceadbad649dbb2a1b9
---
gnu/packages/bash.scm | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/gnu/packages/bash.scm b/gnu/packages/bash.scm
index 93641a78d5..1a3b014ad7 100644
--- a/gnu/packages/bash.scm
+++ b/gnu/packages/bash.scm
@@ -8,6 +8,7 @@
;;; Copyright © 2020 Zhu Zihao <all_but_last@163.com>
;;; Copyright © 2021 Marius Bakke <marius@gnu.org>
;;; Copyright © 2024 Oleg Pykhalov <go.wigust@gmail.com>
+;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -30,6 +31,7 @@ (define-module (gnu packages bash)
#:use-module (gnu packages base)
#:use-module (gnu packages bootstrap)
#:use-module (gnu packages compression)
+ #:use-module (gnu packages gcc)
#:use-module (gnu packages elf)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages readline)
@@ -251,6 +253,13 @@ (define-public bash-minimal
;; modules and related code.
"ac_cv_func_dlopen=no"
+ ,@(if (version>=? (package-version (current-gcc)) "14")
+ ;; gcc-14 implictly uses -Wimplicit-function-declaration
+ ;; which together with -Werror causes:
+ ;; ./enable.def:492:11: error: implicit declaration of function ‘dlclose’;
+ '("CFLAGS=-Wno-implicit-function-declaration")
+ '())
+
,@(if (%current-target-system)
'("bash_cv_job_control_missing=no"
"bash_cv_getcwd_malloc=yes")
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [bug#74290] [PATCH v2 08/40] gnu: elfutils: Fix build for 64bit Hurd.
2024-11-12 16:25 ` [bug#74290] [PATCH v2 00/40] " Janneke Nieuwenhuizen
` (6 preceding siblings ...)
2024-11-12 16:25 ` [bug#74290] [PATCH v2 07/40] gnu: bash-minimal: Fix build for " Janneke Nieuwenhuizen
@ 2024-11-12 16:25 ` Janneke Nieuwenhuizen
2024-11-12 16:25 ` [bug#74290] [PATCH v2 09/40] gnu: grep: Fix build for the " Janneke Nieuwenhuizen
` (31 subsequent siblings)
39 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2024-11-12 16:25 UTC (permalink / raw)
To: 74290
* gnu/packages/elf.scm (elfutils)[arguments]: When building for a 64bit Hurd,
set #:make-flags.
Change-Id: I00abf360a7de5b1f78c1e912f0dcf27c62c1af68
---
gnu/packages/elf.scm | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/elf.scm b/gnu/packages/elf.scm
index 119f8d13dd..81a753a483 100644
--- a/gnu/packages/elf.scm
+++ b/gnu/packages/elf.scm
@@ -10,7 +10,7 @@
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
;;; Copyright © 2021 Leo Le Bouter <lle-bout@zaclys.net>
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
-;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2023, 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -86,6 +86,10 @@ (define-public elfutils
"--disable-libdebuginfod"
"--disable-debuginfod")
+ ,@(if (target-hurd64?)
+ '(#:make-flags '("core-file_no_Werror=yes"))
+ '())
+
;; Disable tests on MIPS and PowerPC (without changing
;; the arguments list on other systems).
,@(if (any (cute string-prefix? <> (or (%current-target-system)
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [bug#74290] [PATCH v2 09/40] gnu: grep: Fix build for the 64bit Hurd.
2024-11-12 16:25 ` [bug#74290] [PATCH v2 00/40] " Janneke Nieuwenhuizen
` (7 preceding siblings ...)
2024-11-12 16:25 ` [bug#74290] [PATCH v2 08/40] gnu: elfutils: " Janneke Nieuwenhuizen
@ 2024-11-12 16:25 ` Janneke Nieuwenhuizen
2024-11-12 16:25 ` [bug#74290] [PATCH v2 10/40] gnu: patch: " Janneke Nieuwenhuizen
` (30 subsequent siblings)
39 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2024-11-12 16:25 UTC (permalink / raw)
To: 74290; +Cc: Andreas Enge, Ludovic Courtès
* gnu/packages/base.scm (grep)[arguments]: When building for the 64bit Hurd,
add patch-sigsegv.h stage.
Change-Id: I795a591ef8282ee5b760fec43bd4ad849007f602
---
gnu/packages/base.scm | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index 02ef71f20d..010be631d7 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -154,6 +154,13 @@ (define-public grep
(string-append bin "/fgrep"))
(("^exec grep")
(string-append "exec " bin "/grep"))))))
+ #$@(if (target-hurd64?)
+ #~((add-after 'unpack 'patch-sigsegv
+ (lambda _
+ ;; Stack overflow recovery does not compile
+ (substitute* "lib/sigsegv.in.h"
+ (("__GNU__") "__XGNU__")))))
+ #~())
#$@(if (system-hurd?)
#~((add-before 'check 'skip-test
(lambda _
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [bug#74290] [PATCH v2 10/40] gnu: patch: Fix build for the 64bit Hurd.
2024-11-12 16:25 ` [bug#74290] [PATCH v2 00/40] " Janneke Nieuwenhuizen
` (8 preceding siblings ...)
2024-11-12 16:25 ` [bug#74290] [PATCH v2 09/40] gnu: grep: Fix build for the " Janneke Nieuwenhuizen
@ 2024-11-12 16:25 ` Janneke Nieuwenhuizen
2024-11-12 16:25 ` [bug#74290] [PATCH v2 11/40] gnu: libxcrypt: Support " Janneke Nieuwenhuizen
` (29 subsequent siblings)
39 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2024-11-12 16:25 UTC (permalink / raw)
To: 74290; +Cc: Andreas Enge, Ludovic Courtès
* gnu/packages/base.scm (patch)[arguments]: When building for the 64bit Hurd,
set #:configure-flags.
Change-Id: I795a591ef8282ee5b760fec43bd4ad849007f602
---
gnu/packages/base.scm | 49 ++++++++++++++++++++++++-------------------
1 file changed, 28 insertions(+), 21 deletions(-)
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index 010be631d7..83f8c0d9e9 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -339,27 +339,34 @@ (define-public patch
"1bk38169c0xh01b0q0zmnrjqz8k9byz3arp4q7q66sn6xwf94nvz"))
(patches (search-patches "patch-hurd-path-max.patch"))))
(arguments
- (substitute-keyword-arguments (package-arguments base)
- ((#:phases phases '%standard-phases)
- #~(modify-phases #$phases
- (add-after 'unpack 'copy-gnulib-sources
- (lambda _
- ;; XXX: We copy the source instead of using 'gnulib' as a
- ;; native input to avoid introducing a dependency cycle.
- (copy-recursively #+gnulib "gnulib")
- (setenv "GNULIB_SRCDIR"
- (string-append (getcwd) "/gnulib/src/gnulib"))))
- (add-after 'copy-gnulib-sources 'update-bootstrap-script
- (lambda _
- (copy-file "gnulib/src/gnulib/build-aux/bootstrap"
- "bootstrap")))
- (add-after 'unpack 'patch-configure.ac
- (lambda _
- (substitute* "configure.ac"
- ;; The gnulib-provided git-version-gen script has a plain
- ;; shebang of #!/bin/sh; avoid using it.
- (("build-aux/git-version-gen" all)
- (string-append "sh " all)))))))))
+ (let ((arguments
+ (substitute-keyword-arguments (package-arguments base)
+ ((#:phases phases '%standard-phases)
+ #~(modify-phases #$phases
+ (add-after 'unpack 'copy-gnulib-sources
+ (lambda _
+ ;; XXX: We copy the source instead of using 'gnulib' as a
+ ;; native input to avoid introducing a dependency cycle.
+ (copy-recursively #+gnulib "gnulib")
+ (setenv "GNULIB_SRCDIR"
+ (string-append (getcwd) "/gnulib/src/gnulib"))))
+ (add-after 'copy-gnulib-sources 'update-bootstrap-script
+ (lambda _
+ (copy-file "gnulib/src/gnulib/build-aux/bootstrap"
+ "bootstrap")))
+ (add-after 'unpack 'patch-configure.ac
+ (lambda _
+ (substitute* "configure.ac"
+ ;; The gnulib-provided git-version-gen script has a plain
+ ;; shebang of #!/bin/sh; avoid using it.
+ (("build-aux/git-version-gen" all)
+ (string-append "sh " all))))))))))
+ (if (target-hurd64?)
+ (substitute-keyword-arguments arguments
+ ((#:configure-flags flags '())
+ #~(list "--disable-threads"
+ "gl_cv_func_working_mktime=yes")))
+ arguments)))
(native-inputs (list autoconf automake bison ed))
(properties '()))))
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [bug#74290] [PATCH v2 11/40] gnu: libxcrypt: Support the 64bit Hurd.
2024-11-12 16:25 ` [bug#74290] [PATCH v2 00/40] " Janneke Nieuwenhuizen
` (9 preceding siblings ...)
2024-11-12 16:25 ` [bug#74290] [PATCH v2 10/40] gnu: patch: " Janneke Nieuwenhuizen
@ 2024-11-12 16:25 ` Janneke Nieuwenhuizen
2024-11-12 16:25 ` [bug#74290] [PATCH v2 12/40] gnu: libstdc++: " Janneke Nieuwenhuizen
` (28 subsequent siblings)
39 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2024-11-12 16:25 UTC (permalink / raw)
To: 74290
* gnu/packages/patches/libxcrypt-hurd64.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/crypto.scm (libxcrypt)[arguments]: When building for the 64bit
Hurd, use it in new phase `apply-patch'.
Change-Id: I795a591ef8282ee5b760fec43bd4ad849007f602
---
gnu/local.mk | 1 +
gnu/packages/crypto.scm | 15 ++++++++
gnu/packages/patches/libxcrypt-hurd64.patch | 38 +++++++++++++++++++++
3 files changed, 54 insertions(+)
create mode 100644 gnu/packages/patches/libxcrypt-hurd64.patch
diff --git a/gnu/local.mk b/gnu/local.mk
index 2bd857e7ac..c952e090ec 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1727,6 +1727,7 @@ dist_patch_DATA = \
%D%/packages/patches/libvpx-CVE-2016-2818.patch \
%D%/packages/patches/libvpx-CVE-2023-5217.patch \
%D%/packages/patches/libvpx-CVE-2023-44488.patch \
+ %D%/packages/patches/libxcrypt-hurd64.patch \
%D%/packages/patches/libxml2-xpath0-Add-option-xpath0.patch \
%D%/packages/patches/libwpd-gcc-compat.patch \
%D%/packages/patches/libxslt-generated-ids.patch \
diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm
index 2a298c4caf..94a98bb0ad 100644
--- a/gnu/packages/crypto.scm
+++ b/gnu/packages/crypto.scm
@@ -27,6 +27,7 @@
;;; Copyright © 2022 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
;;; Copyright © 2023 Ivan Vilata-i-Balaguer <ivan@selidor.net>
;;; Copyright © 2023 Foundation Devices, Inc. <hello@foundationdevices.com>
+;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1661,6 +1662,20 @@ (define-public libxcrypt
(build-system gnu-build-system)
(native-inputs
(list perl))
+ (arguments
+ (if (target-hurd64?)
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'apply-patch
+ (lambda _
+ (let ((patch-file
+ #$(local-file
+ (search-patch
+ "libxcrypt-hurd64.patch"))))
+ (invoke "patch" "--force" "-p1" "-i"
+ patch-file))))))
+ '()))
(synopsis
"Extended crypt library for descrypt, md5crypt, bcrypt, and others")
(description
diff --git a/gnu/packages/patches/libxcrypt-hurd64.patch b/gnu/packages/patches/libxcrypt-hurd64.patch
new file mode 100644
index 0000000000..9fc3018539
--- /dev/null
+++ b/gnu/packages/patches/libxcrypt-hurd64.patch
@@ -0,0 +1,38 @@
+Upstream-status: Taken from upstream:
+ <https://github.com/besser82/libxcrypt/commit/b2c1da2e1ce2d3e72f511f5bc94a6ffa68b70917>
+
+From b2c1da2e1ce2d3e72f511f5bc94a6ffa68b70917 Mon Sep 17 00:00:00 2001
+From: Samuel Thibault <samuel.thibault@ens-lyon.org>
+Date: Sun, 14 Jul 2024 13:13:07 +0200
+Subject: [PATCH] Add binary compatibility for x86_64 GNU/Hurd
+Content-Transfer-Encoding: 8bit
+Content-Type: text/plain; charset=UTF-8
+
+
+diff --git a/lib/libcrypt.map.in b/lib/libcrypt.map.in
+index 88ea911..a56b7bf 100644
+--- a/lib/libcrypt.map.in
++++ b/lib/libcrypt.map.in
+@@ -43,5 +43,5 @@ fcrypt - GLIBC_2.0
+ %chain GLIBC_2.0 GLIBC_2.2 GLIBC_2.2.1 GLIBC_2.2.2 GLIBC_2.2.5 GLIBC_2.2.6
+ %chain GLIBC_2.3 GLIBC_2.4 GLIBC_2.12 GLIBC_2.16 GLIBC_2.17 GLIBC_2.18
+ %chain GLIBC_2.21 GLIBC_2.27 GLIBC_2.29 GLIBC_2.32 GLIBC_2.33 GLIBC_2.35
+-%chain GLIBC_2.36
++%chain GLIBC_2.36 GLIBC_2.38
+ %chain OW_CRYPT_1.0 XCRYPT_2.0 XCRYPT_4.3 XCRYPT_4.4
+diff --git a/lib/libcrypt.minver b/lib/libcrypt.minver
+index 8478077..c5a5bf2 100644
+--- a/lib/libcrypt.minver
++++ b/lib/libcrypt.minver
+@@ -51,6 +51,7 @@
+ #VERSION SYSTEM CPU_FAMILY PREPROCESSOR_CHECK
+
+ # GNU Hurd
++GLIBC_2.38 gnu x86_64
+ GLIBC_2.2.6 gnu i[3-9]86
+ ERROR gnu .
+
+--
+Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
+Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
+
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [bug#74290] [PATCH v2 12/40] gnu: libstdc++: Support the 64bit Hurd.
2024-11-12 16:25 ` [bug#74290] [PATCH v2 00/40] " Janneke Nieuwenhuizen
` (10 preceding siblings ...)
2024-11-12 16:25 ` [bug#74290] [PATCH v2 11/40] gnu: libxcrypt: Support " Janneke Nieuwenhuizen
@ 2024-11-12 16:25 ` Janneke Nieuwenhuizen
2024-11-12 16:25 ` [bug#74290] [PATCH v2 13/40] gnu: gcc-13, gcc-14: Support being used as parent for gcc-static Janneke Nieuwenhuizen
` (27 subsequent siblings)
39 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2024-11-12 16:25 UTC (permalink / raw)
To: 74290; +Cc: Andreas Enge, Ludovic Courtès
* gnu/packages/gcc.scm (make-libstdc++)[arguments]: When building for the
64bit Hurd, add stage patch-hurd64.
Change-Id: I795a591ef8282ee5b760fec43bd4ad849007f602
---
gnu/packages/gcc.scm | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index fc3746fb05..850a14cb1c 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -1033,7 +1033,15 @@ (define-public (make-libstdc++ gcc)
(("/lib64") "/lib")))))
(add-before 'configure 'chdir
(lambda _
- (chdir "libstdc++-v3"))))
+ (chdir "libstdc++-v3")))
+ #$@(let ((version (package-version gcc)))
+ (if (target-hurd64?)
+ #~((add-after 'unpack 'patch-hurd64
+ (lambda _
+ (substitute* "libstdc++-v3/src/c++20/tzdb.cc"
+ (("#if ! defined _GLIBCXX_ZONEINFO_DIR")
+ "#if __GNU__ || ! defined _GLIBCXX_ZONEINFO_DIR")))))
+ '())))
#:configure-flags '`("--disable-libstdcxx-pch"
,(string-append "--with-gxx-include-dir="
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [bug#74290] [PATCH v2 13/40] gnu: gcc-13, gcc-14: Support being used as parent for gcc-static.
2024-11-12 16:25 ` [bug#74290] [PATCH v2 00/40] " Janneke Nieuwenhuizen
` (11 preceding siblings ...)
2024-11-12 16:25 ` [bug#74290] [PATCH v2 12/40] gnu: libstdc++: " Janneke Nieuwenhuizen
@ 2024-11-12 16:25 ` Janneke Nieuwenhuizen
2024-11-12 16:25 ` [bug#74290] [PATCH v2 14/40] DRAFT gnu: bootstrap: Add support for x86_64-gnu, aka the 64bit Hurd Janneke Nieuwenhuizen
` (26 subsequent siblings)
39 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2024-11-12 16:25 UTC (permalink / raw)
To: 74290; +Cc: Andreas Enge, Ludovic Courtès
* gnu/packages/gcc.scm (gcc-13)[arguments]: Use quasiquote instead of
g-expressions.
(gcc-14)[arguments]: Likewise.
Change-Id: I22269b31d49868effe967d46247b189ed9a9d394
---
gnu/packages/gcc.scm | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index 850a14cb1c..befbbda027 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -811,10 +811,10 @@ (define-public gcc-13
(snippet gcc-canadian-cross-objdump-snippet)))
(arguments
(substitute-keyword-arguments (package-arguments gcc-11)
- ((#:phases phases #~%standard-phases)
+ ((#:phases phases '%standard-phases)
(if (target-hurd?)
- #~(modify-phases #$phases
- (delete 'patch-hurd-libpthread))
+ `(modify-phases ,phases
+ (delete 'patch-hurd-libpthread))
phases))))
(properties
`((compiler-cpu-architectures
@@ -841,8 +841,8 @@ (define-public gcc-14
(modules '((guix build utils)))
(snippet gcc-canadian-cross-objdump-snippet)))
(arguments (substitute-keyword-arguments (package-arguments gcc-13)
- ((#:phases phases #~%standard-phases)
- #~(modify-phases #$phases
+ ((#:phases phases '%standard-phases)
+ `(modify-phases ,phases
(add-before 'configure 'pre-x86-configure
(lambda _
(substitute* "gcc/config/i386/t-linux64"
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [bug#74290] [PATCH v2 14/40] DRAFT gnu: bootstrap: Add support for x86_64-gnu, aka the 64bit Hurd.
2024-11-12 16:25 ` [bug#74290] [PATCH v2 00/40] " Janneke Nieuwenhuizen
` (12 preceding siblings ...)
2024-11-12 16:25 ` [bug#74290] [PATCH v2 13/40] gnu: gcc-13, gcc-14: Support being used as parent for gcc-static Janneke Nieuwenhuizen
@ 2024-11-12 16:25 ` Janneke Nieuwenhuizen
2024-11-12 16:25 ` [bug#74290] [PATCH v2 15/40] system: image: Add hurd64 image types Janneke Nieuwenhuizen
` (25 subsequent siblings)
39 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2024-11-12 16:25 UTC (permalink / raw)
To: 74290
Cc: Andreas Enge, Christopher Baines, Josselin Poiret,
Ludovic Courtès, Mathieu Othacehe, Maxim Cournoyer,
Simon Tournier, Tobias Geerinckx-Rice
XXX TODO:
v Boot a 64bit hurd, and
o Guix build hello,
o Push the commit below,
o Re-check the bootstrap-tarballs build/hash,
o Update this commit message with new commit hash,
o Push it with remainder of hurd-team branch,
o Update blog post.
On commit:
b4c0b38776c048869626bed8aefd4efb042cea11
gnu: gcc-13, gcc-14: Support being used as parent for gcc-static.
Run:
./pre-inst-env guix build --target=x86_64-gnu bootstrap-tarballs
Producing:
/gnu/store/46ndf3vaic6cfk7a486saaa8xxnqfpxk-bootstrap-tarballs-0/
With guix hash -r:
1w9sp8dhgpawf88qd89ykrgyrpfxr9qxxqwpbpd893rnn4cp16v2
* 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: Id96715cee07572cd0635594d3b1aa6756fa8a822
---
doc/guix.texi | 9 ++++++++-
gnu/packages/bootstrap.scm | 34 ++++++++++++++++++++++++++++++++++
guix/packages.scm | 8 +++++---
m4/guix.m4 | 12 +++++++++---
4 files changed, 56 insertions(+), 7 deletions(-)
diff --git a/doc/guix.texi b/doc/guix.texi
index 8f65387e92..0f5e11a305 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -36,7 +36,7 @@
Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Efraim Flashner@*
Copyright @copyright{} 2016 John Darrington@*
Copyright @copyright{} 2016, 2017 Nikita Gillmann@*
-Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Jan Nieuwenhuizen@*
+Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024 Janneke Nieuwenhuizen@*
Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021 Julien Lepiller@*
Copyright @copyright{} 2016 Alex ter Weele@*
Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021 Christopher Baines@*
@@ -639,6 +639,13 @@ GNU Distribution
(@pxref{transparent-emulation-qemu, @code{hurd-vm-service-type}}).
@xref{Contributing}, on how to help!
+@item x86_64-gnu
+@uref{https://hurd.gnu.org, GNU/Hurd} on the @code{x86_64} Intel/AMD
+64-bit architecture.
+
+This configuration is even more experimental and under heavy upstream
+development.
+
@item mips64el-linux (unsupported)
little-endian 64-bit MIPS processors, specifically the Loongson series,
n32 ABI, and Linux-Libre kernel. This configuration is no longer fully
diff --git a/gnu/packages/bootstrap.scm b/gnu/packages/bootstrap.scm
index 234d001fc1..3efb21eab3 100644
--- a/gnu/packages/bootstrap.scm
+++ b/gnu/packages/bootstrap.scm
@@ -125,6 +125,15 @@ (define %bootstrap-executables
,(base32 "0nq2c1zb3wv5bf7kd83sziaashydazrn7xgq6kijlk0zj2syzc2m"))
("xz"
,(base32 "033rhpk6zrpxpd6ffjyg5y2zwq9x9cnq0zljb7k8jlncbalsayq5")))
+ ("x86_64-gnu"
+ ("bash"
+ ,(base32 "1ib1kk1larki3dm46lhl756856zpjwhhlnzkgdyh9f1yf6wm431y"))
+ ("mkdir"
+ ,(base32 "15cnckq4qj1nlmgqy9vq3qa3kcbfm1pc2z38pscxix11j4aqswsm"))
+ ("tar"
+ ,(base32 "1m8v7ddmn42wym2kl9mf7csnwsw6c3jdglg7d7kp7yaa16h5fbck"))
+ ("xz"
+ ,(base32 "16cnr7vr0zawrwcnhshms3v5kyzb2vz1rp4kxmx507cs6rivd05b")))
("mips64el-linux"
("bash"
,(base32 "1aw046dhda240k9pb9iaj5aqkm23gkvxa9j82n4k7fk87nbrixw6"))
@@ -165,6 +174,7 @@ (define (bootstrap-executable-file-name system program)
(match system
("powerpc64le-linux" (string-append system "/20210106/" program))
("i586-gnu" (string-append system "/20200326/" program))
+ ("x86_64-gnu" (string-append system "/20241112/" program))
("powerpc-linux" (string-append system "/20200923/bin/" program))
("riscv64-linux" (string-append system "/20210725/bin/" program))
(_ (string-append system "/" program
@@ -366,6 +376,8 @@ (define (bootstrap-guile-url-path system)
"/20150101/guile-2.0.11.tar.xz")
("i586-gnu"
"/20200326/guile-static-stripped-2.0.14-i586-pc-gnu.tar.xz")
+ ("x86_64-gnu"
+ "/20241112/guile-static-stripped-3.0.9-x86_64-pc-gnu.tar.xz")
("powerpc64le-linux"
"/20210106/guile-static-stripped-2.0.14-powerpc64le-linux-gnu.tar.xz")
("riscv64-linux"
@@ -390,6 +402,8 @@ (define (bootstrap-guile-hash system)
(base32 "1giy2aprjmn5fp9c4s9r125fljw4wv6ixy5739i5bffw4jgr0f9r"))
("i586-gnu"
(base32 "0wgqpsmvg25rnqn49ap7kwd2qxccd8dr4lllzp7i3rjvgav27vac"))
+ ("x86_64-gnu"
+ (base32 "06a26dd1r6svcxi6wk9xcdc8ldnxm0p51cnq1klghbc4djarmg6v"))
("powerpc-linux"
(base32 "1by2p7s27fbyjzfkcw8h65h4kkqh7d23kv4sgg5jppjn2qx7swq4"))
("riscv64-linux"
@@ -599,6 +613,8 @@ (define %bootstrap-coreutils&co
"/20210106/static-binaries-0-powerpc64le-linux-gnu.tar.xz")
("i586-gnu"
"/20200326/static-binaries-0-i586-pc-gnu.tar.xz")
+ ("x86_64-gnu"
+ "/20241112/static-binaries-0-x86_64-pc-gnu.tar.xz")
("powerpc-linux"
"/20200923/static-binaries.tar.xz")
("riscv64-linux"
@@ -626,6 +642,9 @@ (define %bootstrap-coreutils&co
("i586-gnu"
(base32
"17kllqnf3fg79gzy9ansgi801c46yh9c23h4d923plvb0nfm1cfn"))
+ ("x86_64-gnu"
+ (base32
+ "118s161df8hgrdfph2w5spnrms02rh1dk7mzfvx1k1prvgngpm9p"))
("powerpc-linux"
(base32
"0kspxy0yczan2vlih6aa9hailr2inz000fqa0gn5x9d1fxxa5y8m"))
@@ -682,6 +701,8 @@ (define %bootstrap-binutils
"/20210106/binutils-static-stripped-2.34-powerpc64le-linux-gnu.tar.xz")
("i586-gnu"
"/20200326/binutils-static-stripped-2.34-i586-pc-gnu.tar.xz")
+ ("x86_64-gnu"
+ "/20241112/binutils-static-stripped-2.41-x86_64-pc-gnu.tar.xz")
("powerpc-linux"
"/20200923/binutils-2.35.1.tar.xz")
("riscv64-linux"
@@ -712,6 +733,9 @@ (define %bootstrap-binutils
("i586-gnu"
(base32
"11kykv1kmqc5wln57rs4klaqa13hm952smkc57qcsyss21kfjprs"))
+ ("x86_64-gnu"
+ (base32
+ "1nibcgqqkqvpqs9636an2ikiybz0mn6vqhl57hvfs6cxfylm5c5x"))
("powerpc-linux"
(base32
"0asbg1c4avkrvh057mx0942xwddd136jni382zqsxzn79ls42yq8"))
@@ -772,6 +796,8 @@ (define %bootstrap-glibc
"/20210106/glibc-stripped-2.31-powerpc64le-linux-gnu.tar.xz")
("i586-gnu"
"/20240816/glibc-stripped-2.39-i586-pc-gnu.tar.xz")
+ ("x86_64-gnu"
+ "/20241112/glibc-stripped-2.39-x86_64-pc-gnu.tar.xz")
("powerpc-linux"
"/20200923/glibc-2.32.tar.xz")
("riscv64-linux"
@@ -802,6 +828,9 @@ (define %bootstrap-glibc
("i586-gnu"
(base32
"0x2x6w611k6v9qdabacawamw2475p04hm3s0q95xcg063wjq4ig2"))
+ ("x86_64-gnu"
+ (base32
+ "1dcgrnlxbsdic0xmmrjbr8gl6ra5y2xbj8f8jr6y0zvpdyi12ldd"))
("powerpc-linux"
(base32
"0smmssyjrlk5cvx49586smmk81gkwff0i6r91n4rir4jm6ba25sb"))
@@ -878,6 +907,8 @@ (define %bootstrap-gcc
"/20210106/gcc-stripped-5.5.0-powerpc64le-linux-gnu.tar.xz")
("i586-gnu"
"/20200326/gcc-stripped-5.5.0-i586-pc-gnu.tar.xz")
+ ("x86_64-gnu"
+ "/20241112/gcc-stripped-14.2.0-x86_64-pc-gnu.tar.xz")
("powerpc-linux"
"/20200923/gcc-5.5.0.tar.xz")
("riscv64-linux"
@@ -908,6 +939,9 @@ (define %bootstrap-gcc
("i586-gnu"
(base32
"1j2zc58wzil71a34h7c70sd68dmqvcscrw3rmn2whq79vd70zvv5"))
+ ("x86_64-gnu"
+ (base32
+ "0vqvjvw6xi16lihiqz4mhisfwx3dgs15y60q07ksdkgvi1wdli2w"))
("powerpc-linux"
(base32
"1p7df3yixhm87dw5sccc6yn1i9db1r9hnmsg87wq5xi4rfmirq7w"))
diff --git a/guix/packages.scm b/guix/packages.scm
index f373136d22..403217d711 100644
--- a/guix/packages.scm
+++ b/guix/packages.scm
@@ -10,6 +10,7 @@
;;; Copyright © 2022 Maxime Devos <maximedevos@telenet.be>
;;; Copyright © 2022 jgart <jgart@dismail.de>
;;; Copyright © 2023 Simon Tournier <zimon.toutoune@gmail.com>
+;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -419,7 +420,7 @@ (define %32bit-supported-systems
(define %64bit-supported-systems
;; This is the list of 64-bit system types that are supported.
'("x86_64-linux" "mips64el-linux" "aarch64-linux" "powerpc64le-linux"
- "riscv64-linux"))
+ "riscv64-linux" "x86_64-gnu"))
(define %supported-systems
;; This is the list of system types that are supported. By default, we
@@ -428,14 +429,15 @@ (define %supported-systems
(define %hurd-systems
;; The GNU/Hurd systems for which support is being developed.
- '("i586-gnu"))
+ '("i586-gnu" "x86_64-gnu"))
(define %cuirass-supported-systems
;; This is the list of system types for which build machines are available.
;;
;; XXX: MIPS is unavailable in CI:
;; <https://lists.gnu.org/archive/html/guix-devel/2017-03/msg00790.html>.
- (fold delete %supported-systems '("mips64el-linux" "powerpc-linux" "riscv64-linux")))
+ (fold delete %supported-systems '("mips64el-linux" "powerpc-linux"
+ "riscv64-linux" "x86_64-gnu")))
(define (maybe-add-input-labels inputs)
"Add labels to INPUTS unless it already has them."
diff --git a/m4/guix.m4 b/m4/guix.m4
index b93daba5c3..8c2757a8b7 100644
--- a/m4/guix.m4
+++ b/m4/guix.m4
@@ -3,6 +3,7 @@ dnl Copyright © 2012, 2013, 2014, 2015, 2016, 2018, 2019, 2020, 2021 Ludovic Co
dnl Copyright © 2014 Mark H Weaver <mhw@netris.org>
dnl Copyright © 2017, 2020, 2021, 2023 Efraim Flashner <efraim@flashner.co.il>
dnl Copyright © 2021 Chris Marusich <cmmarusich@gmail.com>
+dnl Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
dnl
dnl This file is part of GNU Guix.
dnl
@@ -61,8 +62,13 @@ AC_DEFUN([GUIX_SYSTEM_TYPE], [
linux-musl*)
guix_system="$machine_name-linux";;
gnu*)
- # Always use i586 for GNU/Hurd.
- guix_system="i586-gnu";;
+ case "$machine_name" in
+ i386|i486|i586|i686)
+ # Always use i586 for 32bit GNU/Hurd.
+ guix_system="i586-gnu";;
+ *)
+ guix_system="$machine_name-gnu";;
+ esac;;
*)
# Strip the version number from names such as `gnu0.3',
# `darwin10.2.0', etc.
@@ -91,7 +97,7 @@ courageous and port the GNU System distribution to it (see
# Currently only Linux-based systems are supported, and only on some
# platforms.
case "$guix_system" in
- x86_64-linux|i686-linux|armhf-linux|aarch64-linux|powerpc64le-linux|riscv64-linux|i586-gnu)
+ x86_64-linux|i686-linux|armhf-linux|aarch64-linux|powerpc64le-linux|riscv64-linux|i586-gnu|x86_64-gnu)
;;
mips64el-linux|powerpc-linux)
AC_MSG_WARN([building Guix on `$guix_system', which is not supported])
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [bug#74290] [PATCH v2 15/40] system: image: Add hurd64 image types.
2024-11-12 16:25 ` [bug#74290] [PATCH v2 00/40] " Janneke Nieuwenhuizen
` (13 preceding siblings ...)
2024-11-12 16:25 ` [bug#74290] [PATCH v2 14/40] DRAFT gnu: bootstrap: Add support for x86_64-gnu, aka the 64bit Hurd Janneke Nieuwenhuizen
@ 2024-11-12 16:25 ` Janneke Nieuwenhuizen
2024-11-12 16:25 ` [bug#74290] [PATCH v2 16/40] gnu: Add libgpg-error-1.50 Janneke Nieuwenhuizen
` (24 subsequent siblings)
39 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2024-11-12 16:25 UTC (permalink / raw)
To: 74290
* 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.
---
gnu/system/hurd.scm | 17 +++++++++
gnu/system/images/hurd.scm | 72 ++++++++++++++++++++++++++++++++++++--
2 files changed, 87 insertions(+), 2 deletions(-)
diff --git a/gnu/system/hurd.scm b/gnu/system/hurd.scm
index 9a351529e8..6263d3de71 100644
--- a/gnu/system/hurd.scm
+++ b/gnu/system/hurd.scm
@@ -18,6 +18,7 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu system hurd)
+ #:use-module (ice-9 match)
#:use-module (guix gexp)
#:use-module (guix profiles)
#:use-module (guix utils)
@@ -51,6 +52,8 @@ (define-module (gnu system hurd)
%desktop-services/hurd
%hurd-default-operating-system
%hurd-default-operating-system-kernel
+ %hurd64-default-operating-system
+ %hurd64-default-operating-system-kernel
%setuid-programs/hurd))
;;; Commentary:
@@ -68,6 +71,14 @@ (define %hurd-default-operating-system-kernel
(%current-target-system #f))
gnumach)))
+(define %hurd64-default-operating-system-kernel
+ (if (system-hurd?)
+ gnumach
+ ;; A cross-built GNUmach does not work
+ (with-parameters ((%current-system "x86_64-linux")
+ (%current-target-system #f))
+ gnumach)))
+
(define %base-packages/hurd
;; Note: the Shepherd comes before the Hurd, not just because its duty is to
;; shepherd the herd, but also because we want its 'halt' and 'reboot'
@@ -142,3 +153,9 @@ (define %hurd-default-operating-system
(essential-services (hurd-default-essential-services this-operating-system))
(privileged-programs '())
(setuid-programs %setuid-programs/hurd)))
+
+(define %hurd64-default-operating-system
+ (operating-system
+ (inherit %hurd-default-operating-system)
+ (kernel %hurd64-default-operating-system-kernel)))
+
diff --git a/gnu/system/images/hurd.scm b/gnu/system/images/hurd.scm
index 01c422a54f..67815aeb9b 100644
--- a/gnu/system/images/hurd.scm
+++ b/gnu/system/images/hurd.scm
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2020 Mathieu Othacehe <m.othacehe@gmail.com>
-;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2020, 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -36,7 +36,14 @@ (define-module (gnu system images hurd)
hurd-image-type
hurd-qcow2-image-type
hurd-barebones-disk-image
- hurd-barebones-qcow2-image))
+ hurd-barebones-qcow2-image
+
+ hurd64-barebones-os
+ hurd64-disk-image
+ hurd6-image-type
+ hurd64-qcow2-image-type
+ hurd64-barebones-disk-image
+ hurd64-barebones-qcow2-image))
(define hurd-barebones-os
(operating-system
@@ -62,6 +69,30 @@ (define hurd-barebones-os
(password-authentication? #t)))
%base-services+qemu-networking/hurd))))
+(define hurd64-barebones-os
+ (operating-system
+ (inherit %hurd64-default-operating-system)
+ (bootloader (bootloader-configuration
+ (bootloader grub-minimal-bootloader)
+ (targets '("/dev/sdX"))))
+ (file-systems (cons (file-system
+ (device (file-system-label "my-root"))
+ (mount-point "/")
+ (type "ext2"))
+ %base-file-systems))
+ (host-name "guixygnu")
+ (timezone "Europe/Amsterdam")
+ (packages (cons openssh-sans-x %base-packages/hurd))
+ (services (cons (service openssh-service-type
+ (openssh-configuration
+ (openssh openssh-sans-x)
+ (use-pam? #f)
+ (port-number 2222)
+ (permit-root-login #t)
+ (allow-empty-passwords? #t)
+ (password-authentication? #t)))
+ %base-services+qemu-networking/hurd))))
+
(define hurd-initialize-root-partition
#~(lambda* (#:rest args)
(apply initialize-root-partition
@@ -115,5 +146,42 @@ (define hurd-barebones-qcow2-image
#:type hurd-qcow2-image-type))
(name 'hurd-barebones.qcow2)))
+\f
+;;;
+;;; 64bit Hurd
+;;;
+(define hurd64-disk-image
+ (image
+ (inherit hurd-disk-image)
+ (platform x86_64-gnu)))
+
+(define hurd64-image-type
+ (image-type
+ (name 'hurd64-raw)
+ (constructor (cut image-with-os hurd64-disk-image <>))))
+
+(define hurd64-qcow2-image-type
+ (image-type
+ (name 'hurd64-qcow2)
+ (constructor (lambda (os)
+ (image
+ (inherit hurd64-disk-image)
+ (format 'compressed-qcow2)
+ (operating-system os))))))
+
+(define hurd64-barebones-disk-image
+ (image
+ (inherit
+ (os+platform->image hurd64-barebones-os x86_64-gnu
+ #:type hurd64-image-type))
+ (name 'hurd64-barebones-disk-image)))
+
+(define hurd64-barebones-qcow2-image
+ (image
+ (inherit
+ (os+platform->image hurd64-barebones-os x86_64-gnu
+ #:type hurd64-qcow2-image-type))
+ (name 'hurd64-barebones.qcow2)))
+
;; Return the default image.
hurd-barebones-qcow2-image
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [bug#74290] [PATCH v2 16/40] gnu: Add libgpg-error-1.50.
2024-11-12 16:25 ` [bug#74290] [PATCH v2 00/40] " Janneke Nieuwenhuizen
` (14 preceding siblings ...)
2024-11-12 16:25 ` [bug#74290] [PATCH v2 15/40] system: image: Add hurd64 image types Janneke Nieuwenhuizen
@ 2024-11-12 16:25 ` Janneke Nieuwenhuizen
2024-11-12 16:25 ` [bug#74290] [PATCH v2 17/40] gnu: libgcrypt: Use libgpg-error-1.50 for the 64bit Hurd Janneke Nieuwenhuizen
` (23 subsequent siblings)
39 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2024-11-12 16:25 UTC (permalink / raw)
To: 74290
* gnu/packages/gnupg.scm (libgpg-error-1.50): New variable.
Change-Id: Ia34c0f339f331420d76b2c840205f29e511d1dcc
---
gnu/packages/gnupg.scm | 15 ++++++++++++++-
1 file changed, 14 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm
index 2e97c2244a..a4863542f2 100644
--- a/gnu/packages/gnupg.scm
+++ b/gnu/packages/gnupg.scm
@@ -22,7 +22,7 @@
;;; Copyright © 2021 Nikita Domnitskii <nikita@domnitskii.me>
;;; Copyright © 2021 Aleksandr Vityazev <avityazev@posteo.org>
;;; Copyright © 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
-;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2023, 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2024 Zheng Junjie <873216071@qq.com>
;;;
;;; This file is part of GNU Guix.
@@ -164,6 +164,19 @@ (define-public libgpg-error
(properties '((ftp-server . "ftp.gnupg.org")
(ftp-directory . "/gcrypt/libgpg-error")))))
+(define-public libgpg-error-1.50
+ (package
+ (inherit libgpg-error)
+ (version "1.50")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnupg/libgpg-error/libgpg-error-"
+ version ".tar.bz2"))
+ (sha256
+ (base32
+ "02p2jgz95688ib28sl4aa624cj0liz73anwcl92f8cx6w14m6h39"))))))
+
(define-public libgcrypt
(package
(name "libgcrypt")
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [bug#74290] [PATCH v2 17/40] gnu: libgcrypt: Use libgpg-error-1.50 for the 64bit Hurd.
2024-11-12 16:25 ` [bug#74290] [PATCH v2 00/40] " Janneke Nieuwenhuizen
` (15 preceding siblings ...)
2024-11-12 16:25 ` [bug#74290] [PATCH v2 16/40] gnu: Add libgpg-error-1.50 Janneke Nieuwenhuizen
@ 2024-11-12 16:25 ` Janneke Nieuwenhuizen
2024-11-12 16:25 ` [bug#74290] [PATCH v2 18/40] gnu: perl: Support cross-building " Janneke Nieuwenhuizen
` (22 subsequent siblings)
39 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2024-11-12 16:25 UTC (permalink / raw)
To: 74290
* gnu/packages/gnupg.scm (libgcrypt)[propagated-inputs]: When building for the
64bit Hurd, use libgcrypt-1.50.
Change-Id: I608d283a4a307527d5b09a81fa1a53cec5d6bb76
---
gnu/packages/gnupg.scm | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm
index a4863542f2..6c6efff026 100644
--- a/gnu/packages/gnupg.scm
+++ b/gnu/packages/gnupg.scm
@@ -190,7 +190,9 @@ (define-public libgcrypt
"1pp9zyx02bzgzjzldxf0mx9kp3530xgaaqcz4n2cv100ddaaw57g"))))
(build-system gnu-build-system)
(propagated-inputs
- `(("libgpg-error-host" ,libgpg-error)))
+ `(("libgpg-error-host" ,(if (target-hurd64?)
+ libgpg-error-1.50
+ libgpg-error))))
(native-inputs
;; Needed here for the 'gpg-error' program.
`(("libgpg-error-native" ,libgpg-error)))
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [bug#74290] [PATCH v2 18/40] gnu: perl: Support cross-building for the 64bit Hurd.
2024-11-12 16:25 ` [bug#74290] [PATCH v2 00/40] " Janneke Nieuwenhuizen
` (16 preceding siblings ...)
2024-11-12 16:25 ` [bug#74290] [PATCH v2 17/40] gnu: libgcrypt: Use libgpg-error-1.50 for the 64bit Hurd Janneke Nieuwenhuizen
@ 2024-11-12 16:25 ` Janneke Nieuwenhuizen
2024-11-12 16:25 ` [bug#74290] [PATCH v2 19/40] gnu: openssl-3.0: Support " Janneke Nieuwenhuizen
` (21 subsequent siblings)
39 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2024-11-12 16:25 UTC (permalink / raw)
To: 74290
* gnu/packages/cross-base.scm (perl)[native-inputs]: When cross-building for
the 64bit Hurd, use perl-cross-1.6.
Change-Id: I4a77f51a6757ad4aed9bcca8f9bbbf2cbd162e15
---
gnu/packages/perl.scm | 20 ++++++++++++--------
1 file changed, 12 insertions(+), 8 deletions(-)
diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index faaac13bf1..2ea7c49419 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -248,14 +248,18 @@ (define-public perl
(native-inputs
(if (%current-target-system)
`(("perl-cross"
- ,(origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/arsv/perl-cross")
- (commit "1.4")))
- (file-name (git-file-name "perl-cross" "1.4"))
- (sha256
- (base32 "1ydjvlhrk06ccyj4bm8by7xk90krsll2k380mc3x1mhfrc7r9gzy")))))
+ ,(let ((version (if (target-hurd64?) "1.6" "1.4"))
+ (hash
+ (if (target-hurd64?)
+ "0s06lkx5b79r9cn6pm5p6d4jbdjq7wg7rjr75nw5xdhw1z3wnl2d"
+ "1ydjvlhrk06ccyj4bm8by7xk90krsll2k380mc3x1mhfrc7r9gzy")))
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/arsv/perl-cross")
+ (commit version)))
+ (file-name (git-file-name "perl-cross" version))
+ (sha256 (base32 hash))))))
'()))
(native-search-paths (list (search-path-specification
(variable "PERL5LIB")
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [bug#74290] [PATCH v2 19/40] gnu: openssl-3.0: Support the 64bit Hurd.
2024-11-12 16:25 ` [bug#74290] [PATCH v2 00/40] " Janneke Nieuwenhuizen
` (17 preceding siblings ...)
2024-11-12 16:25 ` [bug#74290] [PATCH v2 18/40] gnu: perl: Support cross-building " Janneke Nieuwenhuizen
@ 2024-11-12 16:25 ` Janneke Nieuwenhuizen
2024-11-12 16:25 ` [bug#74290] [PATCH v2 20/40] gnu: pciutils: " Janneke Nieuwenhuizen
` (20 subsequent siblings)
39 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2024-11-12 16:25 UTC (permalink / raw)
To: 74290
* 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.
Change-Id: I8936377da726681b748cc010e1fbae3fb19dee05
---
gnu/local.mk | 1 +
gnu/packages/patches/openssl-hurd64.patch | 99 +++++++++++++++++++++++
gnu/packages/tls.scm | 9 +++
3 files changed, 109 insertions(+)
create mode 100644 gnu/packages/patches/openssl-hurd64.patch
diff --git a/gnu/local.mk b/gnu/local.mk
index c952e090ec..a7e5e903e3 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1893,6 +1893,7 @@ dist_patch_DATA = \
%D%/packages/patches/opensles-add-license-file.patch \
%D%/packages/patches/openssl-1.1-c-rehash-in.patch \
%D%/packages/patches/openssl-3.0-c-rehash-in.patch \
+ %D%/packages/patches/openssl-hurd64.patch \
%D%/packages/patches/opentaxsolver-file-browser-fix.patch \
%D%/packages/patches/open-zwave-hidapi.patch \
%D%/packages/patches/orangeduck-mpc-fix-pkg-config.patch \
diff --git a/gnu/packages/patches/openssl-hurd64.patch b/gnu/packages/patches/openssl-hurd64.patch
new file mode 100644
index 0000000000..372fda834a
--- /dev/null
+++ b/gnu/packages/patches/openssl-hurd64.patch
@@ -0,0 +1,99 @@
+Upstream-status: Taken from upstream:
+
+<https://github.com/openssl/openssl/commit/7c729851d169f30d9e0c0ad6e7c1cf6cefb37935>.
+
+From 795699363be8f717e36802c3ac503011b74ad752 Mon Sep 17 00:00:00 2001
+From: Janneke Nieuwenhuizen <janneke@gnu.org>
+Date: Thu, 7 Nov 2024 14:08:05 +0100
+Subject: [PATCH] Add support for the 64bit Hurd.
+Content-Transfer-Encoding: 8bit
+Content-Type: text/plain; charset=UTF-8
+
+Taken from <https://salsa.debian.org/debian/openssl>.
+---
+ Configurations/10-main.conf | 45 ++++++++++++++++++++++++++++++++-----
+ util/perl/OpenSSL/config.pm | 3 ++-
+ 2 files changed, 41 insertions(+), 7 deletions(-)
+
+diff --git a/Configurations/10-main.conf b/Configurations/10-main.conf
+index b578a3c2a8..740460ebd3 100644
+--- a/Configurations/10-main.conf
++++ b/Configurations/10-main.conf
+@@ -1685,20 +1685,53 @@ my %targets = (
+ },
+
+ ##### GNU Hurd
+- "hurd-x86" => {
++ "hurd-generic32" => {
+ inherit_from => [ "BASE_unix" ],
+ CC => "gcc",
+- CFLAGS => "-O3 -fomit-frame-pointer -Wall",
++ CXX => "g++",
++ CFLAGS => picker(default => "-Wall",
++ debug => "-O0 -g",
++ release => "-O3"),
++ CXXFLAGS => picker(default => "-Wall",
++ debug => "-O0 -g",
++ release => "-O3"),
+ cflags => threads("-pthread"),
+- lib_cppflags => "-DL_ENDIAN",
++ cxxflags => combine("-std=c++11", threads("-pthread")),
+ ex_libs => add("-ldl", threads("-pthread")),
+- bn_ops => "BN_LLONG",
+- asm_arch => 'x86',
+- perlasm_scheme => 'elf',
++ bn_ops => "BN_LLONG RC4_CHAR",
+ thread_scheme => "pthreads",
+ dso_scheme => "dlfcn",
+ shared_target => "linux-shared",
+ shared_cflag => "-fPIC",
++ shared_ldflag => sub { $disabled{pinshared} ? () : "-Wl,-znodelete" },
++ },
++
++ "hurd-generic64" => {
++ inherit_from => [ "hurd-generic32" ],
++ bn_ops => "SIXTY_FOUR_BIT_LONG RC4_CHAR",
++ },
++
++ #### X86 / X86_64 targets
++ "hurd-x86" => {
++ inherit_from => [ "hurd-generic32" ],
++ CFLAGS => add(picker(release => "-fomit-frame-pointer")),
++ cflags => add("-m32"),
++ cxxflags => add("-m32"),
++ lib_cppflags => add("-DL_ENDIAN"),
++ bn_ops => "BN_LLONG",
++ asm_arch => 'x86',
++ perlasm_scheme => 'elf',
++ },
++
++ "hurd-x86_64" => {
++ inherit_from => [ "hurd-generic64" ],
++ cflags => add("-m64"),
++ cxxflags => add("-m64"),
++ lib_cppflags => add("-DL_ENDIAN"),
++ bn_ops => "SIXTY_FOUR_BIT_LONG",
++ asm_arch => 'x86_64',
++ perlasm_scheme => 'elf',
++ multilib => "64",
+ },
+
+ ##### VxWorks for various targets
+diff --git a/util/perl/OpenSSL/config.pm b/util/perl/OpenSSL/config.pm
+index 2f1edcafb6..707db71537 100755
+--- a/util/perl/OpenSSL/config.pm
++++ b/util/perl/OpenSSL/config.pm
+@@ -92,7 +92,8 @@ my $guess_patterns = [
+ [ 'IRIX64:.*', 'mips4-sgi-irix64' ],
+ [ 'Linux:[2-9]\..*', '${MACHINE}-whatever-linux2' ],
+ [ 'Linux:1\..*', '${MACHINE}-whatever-linux1' ],
+- [ 'GNU.*', 'hurd-x86' ],
++ [ 'GNU:.*86-AT386', 'hurd-x86' ],
++ [ 'GNU:.*86_64-AT386', 'hurd-x86_64' ],
+ [ 'LynxOS:.*', '${MACHINE}-lynx-lynxos' ],
+ # BSD/OS always says 386
+ [ 'BSD\/OS:4\..*', 'i486-whatever-bsdi4' ],
+--
+Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
+Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
+
diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm
index 43806e24da..fab88518ce 100644
--- a/gnu/packages/tls.scm
+++ b/gnu/packages/tls.scm
@@ -589,6 +589,15 @@ (define-public openssl-3.0
"/bin/perl"))))
#$@(if (target-hurd?)
#~((delete 'patch-configure))
+ #~())
+ #$@(if (target-hurd64?)
+ #~((add-after 'unpack 'apply-hurd-patch
+ (lambda _
+ (let ((patch-file
+ #$(local-file
+ (search-patch "openssl-hurd64.patch"))))
+ (invoke "patch" "--force" "-p1" "-i"
+ patch-file)))))
#~())))
((#:configure-flags flags #~'())
(if (system-hurd?)
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [bug#74290] [PATCH v2 20/40] gnu: pciutils: Support the 64bit Hurd.
2024-11-12 16:25 ` [bug#74290] [PATCH v2 00/40] " Janneke Nieuwenhuizen
` (18 preceding siblings ...)
2024-11-12 16:25 ` [bug#74290] [PATCH v2 19/40] gnu: openssl-3.0: Support " Janneke Nieuwenhuizen
@ 2024-11-12 16:25 ` Janneke Nieuwenhuizen
2024-11-12 16:25 ` [bug#74290] [PATCH v2 21/40] gnu: libpciaccess: " Janneke Nieuwenhuizen
` (19 subsequent siblings)
39 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2024-11-12 16:25 UTC (permalink / raw)
To: 74290
* 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
---
gnu/local.mk | 1 +
gnu/packages/patches/pciutils-hurd64.patch | 31 ++++++++++++++++++++++
gnu/packages/pciutils.scm | 25 +++++++++++------
3 files changed, 49 insertions(+), 8 deletions(-)
create mode 100644 gnu/packages/patches/pciutils-hurd64.patch
diff --git a/gnu/local.mk b/gnu/local.mk
index a7e5e903e3..34023909a1 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1908,6 +1908,7 @@ dist_patch_DATA = \
%D%/packages/patches/pam-krb5-CVE-2020-10595.patch \
%D%/packages/patches/pango-skip-libthai-test.patch \
%D%/packages/patches/password-store-tree-compat.patch \
+ %D%/packages/patches/pciutils-hurd64.patch \
%D%/packages/patches/pdfpc-build-with-vala-0.56.patch \
%D%/packages/patches/petri-foo-0.1.87-fix-recent-file-not-exist.patch \
%D%/packages/patches/plasma-framework-fix-KF5PlasmaMacros.cmake.patch \
diff --git a/gnu/packages/patches/pciutils-hurd64.patch b/gnu/packages/patches/pciutils-hurd64.patch
new file mode 100644
index 0000000000..316f12e131
--- /dev/null
+++ b/gnu/packages/patches/pciutils-hurd64.patch
@@ -0,0 +1,31 @@
+Upstream-status: Not presented upstream.
+
+--- pciutils-3.8.0/lib/hurd.c.orig 2024-11-07 15:09:20.728973822 +0100
++++ pciutils-3.8.0/lib/hurd.c 2024-11-07 15:05:08.524682813 +0100
+@@ -213,7 +213,7 @@
+ hurd_read(struct pci_dev *d, int pos, byte * buf, int len)
+ {
+ int err;
+- size_t nread;
++ mach_msg_type_number_t nread;
+ char *data;
+ mach_port_t device_port = device_port_lookup(d);
+
+@@ -266,7 +266,7 @@
+ mach_port_t device_port = device_port_lookup(d);
+ struct pci_bar regions[6];
+ char *buf = (char *) ®ions;
+- size_t size = sizeof(regions);
++ mach_msg_type_number_t size = sizeof(regions);
+
+ int err = pci_get_dev_regions(device_port, &buf, &size);
+ if (err)
+@@ -305,7 +305,7 @@
+ struct pci_xrom_bar rom;
+ mach_port_t device_port = device_port_lookup(d);
+ char *buf = (char *) &rom;
+- size_t size = sizeof(rom);
++ mach_msg_type_number_t size = sizeof(rom);
+
+ int err = pci_get_dev_rom(device_port, &buf, &size);
+ if (err)
diff --git a/gnu/packages/pciutils.scm b/gnu/packages/pciutils.scm
index d2a352eb6b..08f1634113 100644
--- a/gnu/packages/pciutils.scm
+++ b/gnu/packages/pciutils.scm
@@ -3,7 +3,7 @@
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
-;;; Copyright © 2020, 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2020, 2023, 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2022 Brendan Tildesley <mail@brendan.scot>
;;; Copyright © 2022 Marius Bakke <marius@gnu.org>
;;;
@@ -81,25 +81,34 @@ (define-public pciutils
"01aglgw9ds9qiswcbi2lx90lswncikrlyv8mmp4haix8542bvvci"))))
(build-system gnu-build-system)
(arguments
- `(#:phases
- (modify-phases %standard-phases
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
(add-after 'unpack 'unbundle-pci.ids
(lambda* (#:key native-inputs inputs #:allow-other-keys)
(copy-file (search-input-file (or native-inputs inputs)
"share/hwdata/pci.ids")
"pci.ids")))
+ #$@(if (target-hurd64?)
+ #~((add-after 'unpack 'apply-hurd64-patch
+ (lambda _
+ (let ((patch-file
+ #$(local-file
+ (search-patch "pciutils-hurd64.patch"))))
+ (invoke "patch" "--force" "-p1" "-i" patch-file)))))
+ #~())
(replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
;; There's no 'configure' script, just a raw makefile.
(substitute* "Makefile"
- ,@(if (%current-target-system)
- `((("^CROSS_COMPILE=.*$")
+ #$@(if (%current-target-system)
+ #~((("^CROSS_COMPILE=.*$")
(string-append "CROSS_COMPILE="
- ,(%current-target-system) "-"
+ #$(%current-target-system) "-"
"\n"))
(("^HOST=.*$")
(string-append "HOST="
- ,(gnu-triplet->nix-system
+ #$(gnu-triplet->nix-system
(%current-target-system)) "\n"))
;; Disable 'install' strip option, that would fail when
;; we are cross-compiling.
@@ -139,7 +148,7 @@ (define-public pciutils
(invoke "make" "install" "install-lib"))))
;; Make sure programs have an RPATH so they can find libpciutils.so.
- #:make-flags (list ,(string-append "CC="
+ #:make-flags #~(list #$(string-append "CC="
(if (%current-target-system)
(cc-for-target)
"gcc"))
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [bug#74290] [PATCH v2 21/40] gnu: libpciaccess: Support the 64bit Hurd.
2024-11-12 16:25 ` [bug#74290] [PATCH v2 00/40] " Janneke Nieuwenhuizen
` (19 preceding siblings ...)
2024-11-12 16:25 ` [bug#74290] [PATCH v2 20/40] gnu: pciutils: " Janneke Nieuwenhuizen
@ 2024-11-12 16:25 ` Janneke Nieuwenhuizen
2024-11-12 16:25 ` [bug#74290] [PATCH v2 22/40] gnu: netdde: Update to c0ef248dc7c5ccc1273e2a796f3ece30c5b645df Janneke Nieuwenhuizen
` (18 subsequent siblings)
39 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2024-11-12 16:25 UTC (permalink / raw)
To: 74290
* 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
---
gnu/local.mk | 1 +
.../patches/libpciaccess-hurd64.patch | 58 +++++++++++++++++++
gnu/packages/xorg.scm | 23 +++++---
3 files changed, 75 insertions(+), 7 deletions(-)
create mode 100644 gnu/packages/patches/libpciaccess-hurd64.patch
diff --git a/gnu/local.mk b/gnu/local.mk
index 34023909a1..8c4f052b75 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1703,6 +1703,7 @@ dist_patch_DATA = \
%D%/packages/patches/libmpeg2-global-symbol-test.patch \
%D%/packages/patches/libmygpo-qt-fix-qt-5.11.patch \
%D%/packages/patches/libmygpo-qt-missing-qt5-modules.patch \
+ %D%/packages/patches/libpciaccess-hurd64.patch \
%D%/packages/patches/libphonenumber-reproducible-build.patch \
%D%/packages/patches/libqalculate-3.8.0-libcurl-ssl-fix.patch \
%D%/packages/patches/libquicktime-ffmpeg.patch \
diff --git a/gnu/packages/patches/libpciaccess-hurd64.patch b/gnu/packages/patches/libpciaccess-hurd64.patch
new file mode 100644
index 0000000000..f7e11059b1
--- /dev/null
+++ b/gnu/packages/patches/libpciaccess-hurd64.patch
@@ -0,0 +1,58 @@
+Upstream-status: Taken from upstream:
+
+<https://gitlab.freedesktop.org/xorg/lib/libpciaccess/-/commit/6cd5a4afbb70868c7746de8d50dea59e02e9acf2>.
+
+From 6cd5a4afbb70868c7746de8d50dea59e02e9acf2 Mon Sep 17 00:00:00 2001
+From: Flavio Cruz <flaviocruz@gmail.com>
+Date: Wed, 28 Jun 2023 01:02:34 -0400
+Subject: [PATCH] Fix compilation warnings when building against hurd-amd64.
+Content-Transfer-Encoding: 8bit
+Content-Type: text/plain; charset=UTF-8
+
+Passes mach_msg_type_number_t instead of size_t which have different
+sizes. Example warning:
+
+/hurd_pci.c:101:53: warning: passing argument 3 of 'pci_get_dev_regions' from incompatible pointer type [-Wincompatible-pointer-types]
+ 101 | err = pci_get_dev_regions(d->device_port, &buf, &size);
+ | ^~~~~
+ | |
+ | size_t * {aka long unsigned int *}
+---
+ src/hurd_pci.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/hurd_pci.c b/src/hurd_pci.c
+index 8653e1b..9ac3813 100644
+--- a/src/hurd_pci.c
++++ b/src/hurd_pci.c
+@@ -82,7 +82,7 @@ pci_device_hurd_probe(struct pci_device *dev)
+ struct pci_bar regions[6];
+ struct pci_xrom_bar rom;
+ struct pci_device_private *d;
+- size_t size;
++ mach_msg_type_number_t size;
+ char *buf;
+
+ /* Many of the fields were filled in during initial device enumeration.
+@@ -323,7 +323,7 @@ pciclient_cfg_read(mach_port_t device_port, int reg, char *buf,
+ size_t * nbytes)
+ {
+ int err;
+- size_t nread;
++ mach_msg_type_number_t nread;
+ char *data;
+
+ data = buf;
+@@ -473,7 +473,7 @@ simple_readdir(mach_port_t port, uint32_t *first_entry)
+ {
+ char *data;
+ int nentries = 0;
+- vm_size_t size;
++ mach_msg_type_number_t size;
+
+ dir_readdir (port, &data, &size, *first_entry, 1, 0, &nentries);
+
+--
+Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
+Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
+
diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
index 0de08a4ad1..b106a604a7 100644
--- a/gnu/packages/xorg.scm
+++ b/gnu/packages/xorg.scm
@@ -36,7 +36,7 @@
;;; Copyright © 2021 Lu Hui <luhux76@gmail.com>
;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com>
;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
-;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2023, 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2023, 2024 John Kehayias <john.kehayias@protonmail.com>
;;; Copyright © 2023, 2024 Kaelyn Takata <kaelyn.alexi@protonmail.com>
;;;
@@ -1157,16 +1157,17 @@ (define-public libpciaccess
"12glp4w1kgvmqn89lk19cgr6jccd3awxra4dxisp7pagi06rsk11"))))
(build-system gnu-build-system)
(arguments
- '(;; Make sure libpciaccess can read compressed 'pci.ids' files as
- ;; provided by pciutils.
- #:configure-flags
- (list "--with-zlib"
+ (list
+ ;; Make sure libpciaccess can read compressed 'pci.ids' files as
+ ;; provided by pciutils.
+ #:configure-flags
+ #~(list "--with-zlib"
(string-append "--with-pciids-path="
(assoc-ref %build-inputs "pciutils")
"/share/hwdata"))
#:phases
- (modify-phases %standard-phases
+ #~(modify-phases %standard-phases
(add-after 'install 'add-L-zlib
(lambda* (#:key inputs outputs #:allow-other-keys)
;; Provide '-LZLIB/lib' next to '-lz' in the .la file.
@@ -1175,7 +1176,15 @@ (define-public libpciaccess
(substitute* (string-append out "/lib/libpciaccess.la")
(("-lz")
(string-append "-L" zlib "/lib -lz")))
- #t))))))
+ #t)))
+ #$@(if (target-hurd64?)
+ #~((add-after 'unpack 'apply-hurd64-patch
+ (lambda _
+ (let ((patch-file
+ #$(local-file
+ (search-patch "libpciaccess-hurd64.patch"))))
+ (invoke "patch" "--force" "-p1" "-i" patch-file)))))
+ #~()))))
(inputs
(list zlib pciutils)) ;for 'pci.ids.gz'
(native-inputs
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [bug#74290] [PATCH v2 22/40] gnu: netdde: Update to c0ef248dc7c5ccc1273e2a796f3ece30c5b645df.
2024-11-12 16:25 ` [bug#74290] [PATCH v2 00/40] " Janneke Nieuwenhuizen
` (20 preceding siblings ...)
2024-11-12 16:25 ` [bug#74290] [PATCH v2 21/40] gnu: libpciaccess: " Janneke Nieuwenhuizen
@ 2024-11-12 16:25 ` Janneke Nieuwenhuizen
2024-11-12 16:25 ` [bug#74290] [PATCH v2 23/40] gnu: netdde: Support the 64bit Hurd Janneke Nieuwenhuizen
` (17 subsequent siblings)
39 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2024-11-12 16:25 UTC (permalink / raw)
To: 74290
* gnu/packages/hurd.scm (netdde): Update to
c0ef248dc7c5ccc1273e2a796f3ece30c5b645df.
(dde-sources): Update to b6c8526c703f3ba76294d9002f195c63897ec661.
Change-Id: Id03f5c5124f16e9ffd6a77cbb2507d274e0f325a
---
gnu/packages/hurd.scm | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm
index 06fae1bd3b..f9d8b28b8c 100644
--- a/gnu/packages/hurd.scm
+++ b/gnu/packages/hurd.scm
@@ -294,7 +294,7 @@ (define unifont
(define dde-sources
;; This is the current tip of the dde branch
- (let ((commit "066797b576ebf8364ad157f50bef2a655597deeb"))
+ (let ((commit "b6c8526c703f3ba76294d9002f195c63897ec661"))
(origin
(method git-fetch)
(uri (git-reference
@@ -302,7 +302,7 @@ (define dde-sources
(commit commit)))
(sha256
(base32
- "19f2awlfnar5gyhi0w5zawla5brzck2s88iv0f20022pd1l5v9hl"))
+ "0k1ilj8ghli8x43xaksbc4y419pqh0w16k374914c07svq419bbr"))
(file-name (git-file-name "dde" (string-take commit 7))))))
(define %import-from-dde
@@ -561,8 +561,8 @@ (define-public hurd
(license gpl2+)))
(define-public netdde
- (let ((commit "e67c284ac113d939b10b4578334f27dab29d5b08")
- (revision "2"))
+ (let ((commit "c0ef248dc7c5ccc1273e2a796f3ece30c5b645df")
+ (revision "3"))
(package
(name "netdde")
;; The version prefix corresponds to the version of Linux from which the
@@ -576,7 +576,7 @@ (define-public netdde
(patches (list (search-patch "netdde-build-fix.patch")))
(sha256
(base32
- "0vnkls7sr7srzib5mnw6gybzl5qa8c5a4zf3h08w6gdr7zqbndh0"))
+ "070fpmd4nvn3mp8dj9w4if63iwz7j2m0h6ywq888znw70wlrc6sh"))
(file-name (git-file-name name commit))))
(build-system gnu-build-system)
(arguments
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [bug#74290] [PATCH v2 23/40] gnu: netdde: Support the 64bit Hurd.
2024-11-12 16:25 ` [bug#74290] [PATCH v2 00/40] " Janneke Nieuwenhuizen
` (21 preceding siblings ...)
2024-11-12 16:25 ` [bug#74290] [PATCH v2 22/40] gnu: netdde: Update to c0ef248dc7c5ccc1273e2a796f3ece30c5b645df Janneke Nieuwenhuizen
@ 2024-11-12 16:25 ` Janneke Nieuwenhuizen
2024-11-12 16:25 ` [bug#74290] [PATCH v2 24/40] gnu: rumpkernel: Update to f1ffd6405f225336e595a0f99f01095ed7438337 Janneke Nieuwenhuizen
` (16 subsequent siblings)
39 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2024-11-12 16:25 UTC (permalink / raw)
To: 74290
* 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,
disable -Wstrict-prototypes and -Wint-conversion, and follow upstream's
"amd64" symlinking voodoo.
Change-Id: Ie825e56779dae2f489066569dc3c4405bac778c1
---
gnu/local.mk | 1 +
gnu/packages/hurd.scm | 22 ++++++++++++++++++++--
gnu/packages/patches/netdde-csum.patch | 18 ++++++++++++++++++
3 files changed, 39 insertions(+), 2 deletions(-)
create mode 100644 gnu/packages/patches/netdde-csum.patch
diff --git a/gnu/local.mk b/gnu/local.mk
index 8c4f052b75..073a95a556 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1818,6 +1818,7 @@ dist_patch_DATA = \
%D%/packages/patches/ncftp-reproducible.patch \
%D%/packages/patches/netcdf-date-time.patch \
%D%/packages/patches/netdde-build-fix.patch \
+ %D%/packages/patches/netdde-csum.patch \
%D%/packages/patches/netpbm-CVE-2017-2586.patch \
%D%/packages/patches/netpbm-CVE-2017-2587.patch \
%D%/packages/patches/netsurf-message-timestamp.patch \
diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm
index f9d8b28b8c..973564ee33 100644
--- a/gnu/packages/hurd.scm
+++ b/gnu/packages/hurd.scm
@@ -573,7 +573,8 @@ (define-public netdde
(uri (git-reference
(url "https://git.savannah.gnu.org/git/hurd/incubator.git")
(commit commit)))
- (patches (list (search-patch "netdde-build-fix.patch")))
+ (patches (search-patches "netdde-build-fix.patch"
+ "netdde-csum.patch"))
(sha256
(base32
"070fpmd4nvn3mp8dj9w4if63iwz7j2m0h6ywq888znw70wlrc6sh"))
@@ -586,7 +587,13 @@ (define-public netdde
(search-input-file %build-inputs "/bin/bash"))
"PKGDIR=libdde_linux26"
(string-append "CC=" ,(cc-for-target))
- "ARCH=x86")
+ (let ((arch ,(match (or (%current-target-system)
+ (%current-system))
+ ((? target-x86-32?)
+ "x86")
+ ((? target-x86-64?)
+ "amd64"))))
+ (string-append "ARCH=" arch)))
#:configure-flags
,#~(list (string-append "LDFLAGS=-Wl,-rpath=" #$output "/lib"))
#:phases
@@ -604,8 +611,19 @@ (define-public netdde
(("/bin/bash") (which "bash")))))
(add-after 'patch-generated-file-shebangs 'build-libdde-linux26
(lambda* (#:key make-flags #:allow-other-keys)
+ (when ,(target-hurd64?)
+ (let ((dir "libdde_linux26/build/include"))
+ (mkdir-p (string-append dir "/x86"))
+ (format #t "symlink ~a -> ~a\n"
+ (string-append dir "/x86/amd64") "x86")
+ (symlink "x86" (string-append dir "/amd64"))
+ (format #t "symlink ~a -> ~a\n"
+ (string-append dir "/amd64/asm-x86_64") "asm-x86")
+ (symlink "asm-x86" (string-append dir "/amd64/asm-x86_64"))))
(with-directory-excursion "libdde_linux26"
(apply invoke "make"
+ (string-append "WARNINGS=-Wno-strict-prototypes"
+ " -Wno-int-conversion")
(delete "PKGDIR=libdde_linux26" make-flags)))))
(add-after 'build-libdde-linux26 'convert
(lambda* (#:key make-flags #:allow-other-keys)
diff --git a/gnu/packages/patches/netdde-csum.patch b/gnu/packages/patches/netdde-csum.patch
new file mode 100644
index 0000000000..4fdd004898
--- /dev/null
+++ b/gnu/packages/patches/netdde-csum.patch
@@ -0,0 +1,18 @@
+Upstream-status: Taken from debian.
+
+<https://salsa.debian.org/hurd-team/netdde/raw/master/debian/patches/csum>.
+
+---
+ linux/drivers/net/vmxnet3/vmxnet3_drv.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/linux/drivers/net/vmxnet3/vmxnet3_drv.c
++++ b/linux/drivers/net/vmxnet3/vmxnet3_drv.c
+@@ -25,6 +25,7 @@
+ */
+
+ #include "vmxnet3_int.h"
++#include <net/ip6_checksum.h>
+
+ char vmxnet3_driver_name[] = "vmxnet3";
+ #define VMXNET3_DRIVER_DESC "VMware vmxnet3 virtual NIC driver"
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [bug#74290] [PATCH v2 24/40] gnu: rumpkernel: Update to f1ffd6405f225336e595a0f99f01095ed7438337.
2024-11-12 16:25 ` [bug#74290] [PATCH v2 00/40] " Janneke Nieuwenhuizen
` (22 preceding siblings ...)
2024-11-12 16:25 ` [bug#74290] [PATCH v2 23/40] gnu: netdde: Support the 64bit Hurd Janneke Nieuwenhuizen
@ 2024-11-12 16:25 ` Janneke Nieuwenhuizen
2024-11-12 16:25 ` [bug#74290] [PATCH v2 25/40] gnu: rumpkernel: Support the 64bit Hurd Janneke Nieuwenhuizen
` (15 subsequent siblings)
39 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2024-11-12 16:25 UTC (permalink / raw)
To: 74290
* gnu/packages/hurd.scm (rumpkernel): Update to
f1ffd6405f225336e595a0f99f01095ed7438337.
[arguments]: In stage "build", add "-Wno-error=sign-compare" to CWARNFLAGS.
Change-Id: I8936377da726681b748cc010e1fbae3fb19dee05
---
gnu/packages/hurd.scm | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm
index 973564ee33..b156fcea4c 100644
--- a/gnu/packages/hurd.scm
+++ b/gnu/packages/hurd.scm
@@ -665,8 +665,8 @@ (define-public netdde
(license gpl2))))
(define-public rumpkernel
- (let ((commit "81043d42fabda9baed7ac9ca36e3f3f5ed11ba81")
- (revision "3"))
+ (let ((commit "f1ffd6405f225336e595a0f99f01095ed7438337")
+ (revision "0"))
(package
(name "rumpkernel")
(version (git-version "0-20211031" revision commit))
@@ -680,7 +680,7 @@ (define-public rumpkernel
(commit commit)))
(sha256
(base32
- "0fv0k52qqcg3nq9012hibgsamvsd7mnvn2ikdasmzjhsp8qh5q3r"))
+ "1ygn3ysji06ik3k44sf906fjpdmabznkspw70llldbk2zkrcdw7i"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
@@ -800,7 +800,8 @@ (define-public rumpkernel
" -Wno-error=stack-protector"
" -Wno-error=array-parameter"
" -Wno-error=array-bounds"
- " -Wno-error=stringop-overflow")
+ " -Wno-error=stringop-overflow"
+ " -Wno-error=sign-compare")
"-V" "LIBCRTBEGIN="
"-V" "LIBCRTEND="
"-V" "LIBCRT0="
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [bug#74290] [PATCH v2 25/40] gnu: rumpkernel: Support the 64bit Hurd.
2024-11-12 16:25 ` [bug#74290] [PATCH v2 00/40] " Janneke Nieuwenhuizen
` (23 preceding siblings ...)
2024-11-12 16:25 ` [bug#74290] [PATCH v2 24/40] gnu: rumpkernel: Update to f1ffd6405f225336e595a0f99f01095ed7438337 Janneke Nieuwenhuizen
@ 2024-11-12 16:25 ` Janneke Nieuwenhuizen
2024-11-12 16:25 ` [bug#74290] [PATCH v2 26/40] gnu: hurd: Build fixes for " Janneke Nieuwenhuizen
` (14 subsequent siblings)
39 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2024-11-12 16:25 UTC (permalink / raw)
To: 74290
* gnu/packages/hurd.scm (rumpkernel)[argument]: In stage "build", follow
Debian upstream to use -DPAE disable the DTRACE and ZFS builds.
Change-Id: I534da31eefb378c72b4896d64a51a73109e38aa6
---
gnu/packages/hurd.scm | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm
index b156fcea4c..d29ec22cd7 100644
--- a/gnu/packages/hurd.scm
+++ b/gnu/packages/hurd.scm
@@ -781,6 +781,9 @@ (define-public rumpkernel
"-V" "MKBINUTILS=no"
"-V" "MKGDB=no"
"-V" "MKGROFF=no"
+ "-V" "MKDTRACE=no"
+ "-V" "MKZFS=no"
+
"-V" (string-append "TOPRUMP=" toprump)
"-V" "BUILDRUMP_CPPFLAGS=-Wno-error=stringop-overread"
"-V" "RUMPUSER_EXTERNAL_DPLIBS=pthread"
@@ -791,7 +794,8 @@ (define-public rumpkernel
" -DRUMP_REGISTER_T=int"
" -DRUMPUSER_CONFIG=yes"
" -DNO_PCI_MSI_MSIX=yes"
- " -DNUSB_DMA=1")
+ " -DNUSB_DMA=1"
+ " -DPAE")
"-V" (string-append
"CWARNFLAGS="
" -Wno-error=maybe-uninitialized"
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [bug#74290] [PATCH v2 26/40] gnu: hurd: Build fixes for the 64bit Hurd.
2024-11-12 16:25 ` [bug#74290] [PATCH v2 00/40] " Janneke Nieuwenhuizen
` (24 preceding siblings ...)
2024-11-12 16:25 ` [bug#74290] [PATCH v2 25/40] gnu: rumpkernel: Support the 64bit Hurd Janneke Nieuwenhuizen
@ 2024-11-12 16:25 ` Janneke Nieuwenhuizen
2024-11-12 16:25 ` [bug#74290] [PATCH v2 27/40] gnu: git-minimal: Support " Janneke Nieuwenhuizen
` (13 subsequent siblings)
39 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2024-11-12 16:25 UTC (permalink / raw)
To: 74290
* 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, disable -Wstrict-prototypes and -Wint-conversion,
and follow upstream's "amd64" symlinking voodoo.
Change-Id: If264a91b2433add13f9121c482f0abe67ae5f1e9
---
gnu/local.mk | 1 +
gnu/packages/hurd.scm | 115 +++++++++++++++++---------
gnu/packages/patches/hurd-64bit.patch | 56 +++++++++++++
3 files changed, 131 insertions(+), 41 deletions(-)
create mode 100644 gnu/packages/patches/hurd-64bit.patch
diff --git a/gnu/local.mk b/gnu/local.mk
index 073a95a556..948fc4ba73 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1546,6 +1546,7 @@ dist_patch_DATA = \
%D%/packages/patches/htslib-for-stringtie.patch \
%D%/packages/patches/hubbub-sort-entities.patch \
%D%/packages/patches/hueplusplus-mbedtls.patch \
+ %D%/packages/patches/hurd-64bit.patch \
%D%/packages/patches/hurd-rumpdisk-no-hd.patch \
%D%/packages/patches/hurd-startup.patch \
%D%/packages/patches/hwloc-1-test-btrfs.patch \
diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm
index d29ec22cd7..7aed0ebe1d 100644
--- a/gnu/packages/hurd.scm
+++ b/gnu/packages/hurd.scm
@@ -317,7 +317,8 @@ (define-public hurd
(source (origin
(inherit (package-source hurd-headers))
(patches (search-patches "hurd-rumpdisk-no-hd.patch"
- "hurd-startup.patch"))))
+ "hurd-startup.patch"
+ "hurd-64bit.patch"))))
(version (package-version hurd-headers))
(arguments
`(#:tests? #f ;no "check" target
@@ -467,48 +468,80 @@ (define-public hurd
(find-files (string-append out "/libexec")))
#t)))
(add-after 'build 'build-libdde-linux
- (lambda* (#:key inputs native-inputs #:allow-other-keys)
- (invoke (string-append (assoc-ref (or native-inputs inputs) "make")
- "/bin/make")
- ;; XXX There can be a race condition because subdirs
- ;; aren't interdependent targets in the Makefile.
- "-j1" "-C" "libdde_linux26"
- (string-append "SHELL="
- (assoc-ref (or native-inputs inputs) "bash")
- "/bin/bash")
- (string-append "CC="
- ,(cc-for-target))
- "ARCH=x86")))
+ (lambda* (#:key inputs native-inputs #:allow-other-keys)
+ (let ((arch ,(match (or (%current-target-system)
+ (%current-system))
+ ((? target-x86-32?)
+ "x86")
+ ((? target-x86-64?)
+ "amd64"))))
+ (when ,(target-hurd64?)
+ (let ((dir "libdde_linux26/build/include"))
+ (mkdir-p (string-append dir "/x86"))
+ (format #t "symlink ~a -> ~a\n"
+ (string-append dir "/x86/amd64") "x86")
+ (symlink "x86" (string-append dir "/amd64"))
+ (format #t "symlink ~a -> ~a\n"
+ (string-append dir "/amd64/asm-x86_64") "asm-x86")
+ (symlink "asm-x86" (string-append dir "/amd64/asm-x86_64"))))
+ (invoke (string-append (assoc-ref (or native-inputs inputs) "make")
+ "/bin/make")
+ ;; XXX There can be a race condition because subdirs
+ ;; aren't interdependent targets in the Makefile.
+ "-j1" "-C" "libdde_linux26"
+ (string-append "SHELL="
+ (assoc-ref (or native-inputs inputs) "bash")
+ "/bin/bash")
+ (string-append "CC="
+ ,(cc-for-target))
+ (string-append "WARNINGS=-Wno-int-conversion"
+ " -Wno-strict-prototypes")
+ (string-append "ARCH=" arch)))))
(add-after 'install 'install-goodies
- (lambda* (#:key inputs native-inputs outputs #:allow-other-keys)
- ;; Install additional goodies.
- ;; TODO: Build & install *.msgids for rpctrace.
- (let* ((out (assoc-ref outputs "out"))
- (datadir (string-append out "/share/hurd")))
- ;; Install libdde_linux26.
- (invoke (string-append (assoc-ref (or native-inputs inputs) "make")
- "/bin/make")
- "-C" "libdde_linux26" "install"
- (string-append "SHELL="
- (assoc-ref (or native-inputs inputs) "bash")
- "/bin/bash")
- (string-append "INSTALLDIR="
- out
- "/share/libdde_linux26/build/include")
- "ARCH=x86")
- ;; Install the fancy UTF-8 motd.
- (mkdir-p (string-append out "/etc"))
- (copy-file "console/motd.UTF8"
- (string-append out "/etc/motd"))
+ (lambda* (#:key inputs native-inputs outputs #:allow-other-keys)
+ ;; Install additional goodies.
+ ;; TODO: Build & install *.msgids for rpctrace.
+ (let* ((out (assoc-ref outputs "out"))
+ (datadir (string-append out "/share/hurd"))
+ (arch ,(match (or (%current-target-system)
+ (%current-system))
+ ((? target-x86-32?)
+ "x86")
+ ((? target-x86-64?)
+ "amd64")))
+ (dir (string-append out "/share/libdde_linux26/build/include")))
+ (mkdir-p dir)
+ (when ,(target-hurd64?)
+ (mkdir-p (string-append dir "/amd64"))
+ (format #t "symlink ~a -> ~a\n"
+ (string-append dir "/amd64/asm-x86_64")
+ "x86")
+ (symlink "x86" (string-append dir "/amd46")))
+ (invoke (string-append (assoc-ref (or native-inputs inputs) "make")
+ "/bin/make")
+ "-C" "libdde_linux26" "install"
+ (string-append "SHELL="
+ (assoc-ref (or native-inputs inputs) "bash")
+ "/bin/bash")
+ (string-append "INSTALLDIR=" dir)
+ (string-append "ARCH=" arch))
+ (when ,(target-hurd64?)
+ (format #t "symlink ~a -> ~a\n"
+ (string-append dir "/amd64/asm-x86_64")
+ "asm-x86")
+ (symlink "asm-x86" (string-append dir "/amd64/asm-x86_64")))
+ ;; Install the fancy UTF-8 motd.
+ (mkdir-p (string-append out "/etc"))
+ (copy-file "console/motd.UTF8"
+ (string-append out "/etc/motd"))
- ;; Install the BDF font for use by the console client.
- (copy-file (assoc-ref inputs "unifont")
- "unifont.gz")
- (invoke "gunzip" "unifont.gz")
- (mkdir-p datadir)
- (copy-file "unifont"
- (string-append datadir "/vga-system.bdf"))
- #t))))
+ ;; Install the BDF font for use by the console client.
+ (copy-file (assoc-ref inputs "unifont")
+ "unifont.gz")
+ (invoke "gunzip" "unifont.gz")
+ (mkdir-p datadir)
+ (copy-file "unifont"
+ (string-append datadir "/vga-system.bdf"))))))
#:configure-flags
,#~(list (string-append "LDFLAGS=-Wl,-rpath="
#$output "/lib")
diff --git a/gnu/packages/patches/hurd-64bit.patch b/gnu/packages/patches/hurd-64bit.patch
new file mode 100644
index 0000000000..643550ad68
--- /dev/null
+++ b/gnu/packages/patches/hurd-64bit.patch
@@ -0,0 +1,56 @@
+Upstream-status: Taken from upstream:
+ <https://git.savannah.gnu.org/cgit/hurd/hurd.git/commit/?id=d494333e7607ea03819adcfb69d89f8248ec2044>.
+
+From d494333e7607ea03819adcfb69d89f8248ec2044 Mon Sep 17 00:00:00 2001
+From: Flavio Cruz <flaviocruz@gmail.com>
+Date: Sun, 21 Jul 2024 17:20:55 -0400
+Subject: [PATCH] nfsd: fix -Werror=incompatible-pointer-types issues for
+ x86_64
+Content-Transfer-Encoding: 8bit
+Content-Type: text/plain; charset=UTF-8
+
+Message-ID: <3pmgbk2myx4phdb6wcso54solmybulrvbytols5md3nri2p2qp@xjmfmpvwjp6t>
+---
+ nfsd/cache.c | 2 +-
+ nfsd/ops.c | 4 ++--
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/nfsd/cache.c b/nfsd/cache.c
+index cd5524af..864739c0 100644
+--- a/nfsd/cache.c
++++ b/nfsd/cache.c
+@@ -387,7 +387,7 @@ create_cached_handle (int fs, struct cache_handle *credc, file_t userport)
+ struct cache_handle *c;
+ int hash;
+ char *bp = fhandle.array + sizeof (int);
+- size_t handlelen = NFS2_FHSIZE - sizeof (int);
++ mach_msg_type_number_t handlelen = NFS2_FHSIZE - sizeof (int);
+ mach_port_t newport, ref;
+
+ /* Authenticate USERPORT so that we can call file_getfh on it. */
+diff --git a/nfsd/ops.c b/nfsd/ops.c
+index 463a9c87..64e94b93 100644
+--- a/nfsd/ops.c
++++ b/nfsd/ops.c
+@@ -292,7 +292,7 @@ op_write (struct cache_handle *c,
+ off_t offset;
+ size_t count;
+ error_t err;
+- mach_msg_type_number_t amt;
++ vm_size_t amt;
+ char *bp;
+ struct stat st;
+
+@@ -583,7 +583,7 @@ op_readdir (struct cache_handle *c,
+ error_t err;
+ char *buf;
+ struct dirent *dp;
+- size_t bufsize;
++ mach_msg_type_number_t bufsize;
+ int nentries;
+ int i;
+ int *replystart;
+--
+Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
+Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
+
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [bug#74290] [PATCH v2 27/40] gnu: git-minimal: Support the 64bit Hurd.
2024-11-12 16:25 ` [bug#74290] [PATCH v2 00/40] " Janneke Nieuwenhuizen
` (25 preceding siblings ...)
2024-11-12 16:25 ` [bug#74290] [PATCH v2 26/40] gnu: hurd: Build fixes for " Janneke Nieuwenhuizen
@ 2024-11-12 16:25 ` Janneke Nieuwenhuizen
2024-11-12 16:25 ` [bug#74290] [PATCH v2 28/40] gnu: inetutils: Fix build for " Janneke Nieuwenhuizen
` (12 subsequent siblings)
39 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2024-11-12 16:25 UTC (permalink / raw)
To: 74290
* gnu/packages/version-control.scm (git-minimal)[arguments]: When using gcc >=
14, use "-Wno-implicit-function-declaration" in #:make-flags.
Use target-hurd? instead of comparing with "i586-pc-gnu" in "use-host-uname_S"
phase.
Change-Id: Ib9836be8a1e389a82c8a89adf22aaeac0d85bd14
---
gnu/packages/version-control.scm | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index c892a83a98..325b7ca8d8 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -113,6 +113,7 @@ (define-module (gnu packages version-control)
#:use-module (gnu packages flex)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages gawk)
+ #:use-module (gnu packages gcc)
#:use-module (gnu packages gettext)
#:use-module (gnu packages gl)
#:use-module (gnu packages glib)
@@ -296,7 +297,10 @@ (define-public git-minimal
;; By default 'make install' creates hard links for
;; things in 'libexec/git-core', which leads to huge
;; nars; see <https://bugs.gnu.org/21949>.
- "NO_INSTALL_HARDLINKS=indeed")
+ "NO_INSTALL_HARDLINKS=indeed"
+ #$@(if (version>=? (package-version (current-gcc)) "14")
+ #~("-Wno-implicit-function-declaration")
+ #~()))
#:phases
#~(modify-phases %standard-phases
#$@(if (%current-target-system)
@@ -305,7 +309,7 @@ (define-public git-minimal
(lambda _
(substitute* "config.mak.uname"
(("uname_S := .*" all)
- (if (equal? #$(%current-target-system) "i586-pc-gnu")
+ (if #$(target-hurd?)
"uname_S := GNU\n"
all))))))
;; We do not have a full bash when cross-compiling.
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [bug#74290] [PATCH v2 28/40] gnu: inetutils: Fix build for the 64bit Hurd.
2024-11-12 16:25 ` [bug#74290] [PATCH v2 00/40] " Janneke Nieuwenhuizen
` (26 preceding siblings ...)
2024-11-12 16:25 ` [bug#74290] [PATCH v2 27/40] gnu: git-minimal: Support " Janneke Nieuwenhuizen
@ 2024-11-12 16:25 ` Janneke Nieuwenhuizen
2024-11-12 16:25 ` [bug#74290] [PATCH v2 29/40] gnu: grub: " Janneke Nieuwenhuizen
` (11 subsequent siblings)
39 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2024-11-12 16:25 UTC (permalink / raw)
To: 74290; +Cc: Ricardo Wurmus
* 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
---
gnu/local.mk | 1 +
gnu/packages/admin.scm | 14 ++++-
gnu/packages/patches/inetutils-hurd64.patch | 65 +++++++++++++++++++++
3 files changed, 78 insertions(+), 2 deletions(-)
create mode 100644 gnu/packages/patches/inetutils-hurd64.patch
diff --git a/gnu/local.mk b/gnu/local.mk
index 948fc4ba73..0759555494 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1570,6 +1570,7 @@ dist_patch_DATA = \
%D%/packages/patches/indent-CVE-2024-0911.patch \
%D%/packages/patches/instead-use-games-path.patch \
%D%/packages/patches/intltool-perl-compatibility.patch \
+ %D%/packages/patches/inetutils-hurd64.patch \
%D%/packages/patches/irrlicht-use-system-libs.patch \
%D%/packages/patches/irrlicht-link-against-needed-libs.patch \
%D%/packages/patches/isl-0.11.1-aarch64-support.patch \
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index 9c765b51a9..311d613b68 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -31,7 +31,7 @@
;;; Copyright © 2019, 2021, 2022 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2019, 2020, 2021 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
-;;; Copyright © 2020, 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2020, 2023, 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2020, 2021, 2022 Michael Rohleder <mike@rohleder.de>
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2020 Morgan Smith <Morgan.J.Smith@outlook.com>
@@ -1044,7 +1044,17 @@ (define-public inetutils
"\\\""))
;; On some systems, 'libls.sh' may fail with an error such as:
;; "Failed to tell switch -a apart from -A".
- #:parallel-tests? #f))
+ #:parallel-tests? #f
+ #:phases (if (target-hurd64?)
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'apply-hurd64-patch
+ (lambda _
+ (let ((patch
+ #$(local-file
+ (search-patch
+ "inetutils-hurd64.patch"))))
+ (invoke "patch" "--force" "-p1" "-i" patch)))))
+ #~%standard-phases)))
(inputs
(list coreutils
shadow ;for login (used in telnetd and rlogind)
diff --git a/gnu/packages/patches/inetutils-hurd64.patch b/gnu/packages/patches/inetutils-hurd64.patch
new file mode 100644
index 0000000000..3fb238bcdc
--- /dev/null
+++ b/gnu/packages/patches/inetutils-hurd64.patch
@@ -0,0 +1,65 @@
+Upstream-status: Not presented upstream.
+
+From 0804e655a7abfd22dc3a053f03fab8f811405f84 Mon Sep 17 00:00:00 2001
+From: Janneke Nieuwenhuizen <janneke@gnu.org>
+Date: Fri, 8 Nov 2024 11:07:56 +0100
+Subject: [PATCH] ifconfig hurd: Build fix for the 64bit HUrd.
+Content-Transfer-Encoding: 8bit
+Content-Type: text/plain; charset=UTF-8
+
+* ifconfig/system/hurd.c (check_driving): Use mach_msg_type_number_t
+instead of size_t for file_get_fs_options.
+---
+ ifconfig/system/hurd.c | 12 +++++++-----
+ 1 file changed, 7 insertions(+), 5 deletions(-)
+
+diff --git a/ifconfig/system/hurd.c b/ifconfig/system/hurd.c
+index 70b2ed27..86fe6375 100644
+--- a/ifconfig/system/hurd.c
++++ b/ifconfig/system/hurd.c
+@@ -47,7 +47,7 @@ check_driving (const char *name)
+ error_t err;
+
+ char *argz = 0, *new_argz = 0;
+- size_t argz_len = 0;
++ mach_msg_type_number_t argz_len = 0;
+ char *entry = 0;
+ const char *socket = _SERVERS_SOCKET "/2";
+
+@@ -106,7 +106,9 @@ check_driving (const char *name)
+ new_argz = malloc (argz_len);
+ memcpy (new_argz, argz, argz_len);
+
+- err = argz_insert (&new_argz, &argz_len, new_argz, name);
++ size_t new_argz_len = 0;
++
++ err = argz_insert (&new_argz, &new_argz_len, new_argz, name);
+ if (err)
+ {
+ error (0, err, "Could not prepend name %s to '%s' for %s", name,
+@@ -114,7 +116,7 @@ check_driving (const char *name)
+ goto out;
+ }
+
+- err = argz_insert (&new_argz, &argz_len, new_argz, "-i");
++ err = argz_insert (&new_argz, &new_argz_len, new_argz, "-i");
+ if (err)
+ {
+ argz_stringify (new_argz, argz_len, ' ');
+@@ -122,10 +124,10 @@ check_driving (const char *name)
+ goto out;
+ }
+
+- err = fsys_set_options (fsys, new_argz, argz_len, 1);
++ err = fsys_set_options (fsys, new_argz, new_argz_len, 1);
+ if (err)
+ {
+- argz_stringify (new_argz, argz_len, ' ');
++ argz_stringify (new_argz, new_argz_len, ' ');
+ error (0, err, "Could not make pfinet %s drive %s with '%s'", socket,
+ name, new_argz);
+ goto out;
+--
+Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
+Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
+
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [bug#74290] [PATCH v2 29/40] gnu: grub: Fix build for the 64bit Hurd.
2024-11-12 16:25 ` [bug#74290] [PATCH v2 00/40] " Janneke Nieuwenhuizen
` (27 preceding siblings ...)
2024-11-12 16:25 ` [bug#74290] [PATCH v2 28/40] gnu: inetutils: Fix build for " Janneke Nieuwenhuizen
@ 2024-11-12 16:25 ` Janneke Nieuwenhuizen
2024-11-12 16:25 ` [bug#74290] [PATCH v2 30/40] gnu: guile-fibers: " Janneke Nieuwenhuizen
` (10 subsequent siblings)
39 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2024-11-12 16:25 UTC (permalink / raw)
To: 74290; +Cc: Efraim Flashner, Vagrant Cascadian
* 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
---
gnu/local.mk | 1 +
gnu/packages/bootloaders.scm | 8 +++++++
gnu/packages/patches/grub-hurd64.patch | 32 ++++++++++++++++++++++++++
3 files changed, 41 insertions(+)
create mode 100644 gnu/packages/patches/grub-hurd64.patch
diff --git a/gnu/local.mk b/gnu/local.mk
index 0759555494..2b8a8d7065 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1488,6 +1488,7 @@ dist_patch_DATA = \
%D%/packages/patches/gromacs-tinyxml2.patch \
%D%/packages/patches/groovy-add-exceptionutilsgenerator.patch \
%D%/packages/patches/grub-efi-fat-serial-number.patch \
+ %D%/packages/patches/grub-hurd64.patch \
%D%/packages/patches/grub-setup-root.patch \
%D%/packages/patches/guile-1.8-cpp-4.5.patch \
%D%/packages/patches/guile-2.2-skip-oom-test.patch \
diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm
index e188553910..caec26edc7 100644
--- a/gnu/packages/bootloaders.scm
+++ b/gnu/packages/bootloaders.scm
@@ -192,6 +192,14 @@ (define-public grub
(setenv "BUILD_FREETYPE_CFLAGS"
(string-append "-I" freetype
"/include/freetype2"))))))
+ #$@(if (target-hurd64?)
+ #~((add-after 'unpack 'apply-hurd64-patch
+ (lambda _
+ (let ((patch
+ #$(local-file
+ (search-patch "grub-hurd64.patch"))))
+ (invoke "patch" "--force" "-p1" "-i" patch)))))
+ #~())
(add-before 'check 'disable-flaky-test
(lambda _
;; This test is unreliable. For more information, see:
diff --git a/gnu/packages/patches/grub-hurd64.patch b/gnu/packages/patches/grub-hurd64.patch
new file mode 100644
index 0000000000..d5acd99eb8
--- /dev/null
+++ b/gnu/packages/patches/grub-hurd64.patch
@@ -0,0 +1,32 @@
+Upstream-status: Not presented upstream.
+
+From a4eb7d1f2cbd02132a9f5512f1294182576d4653 Mon Sep 17 00:00:00 2001
+From: Janneke Nieuwenhuizen <janneke@gnu.org>
+Date: Fri, 8 Nov 2024 11:47:49 +0100
+Subject: [PATCH] osdep/hurd: Support the 64bit Hurd.
+Content-Transfer-Encoding: 8bit
+Content-Type: text/plain; charset=UTF-8
+
+* grub-core/osdep/hurd/getroot.c (grub_util_find_hurd_root_device):
+Use mach_msg_type_number_t instead of size_t.
+---
+ grub-core/osdep/hurd/getroot.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/grub-core/osdep/hurd/getroot.c b/grub-core/osdep/hurd/getroot.c
+index 0efefdab4..b849700e6 100644
+--- a/grub-core/osdep/hurd/getroot.c
++++ b/grub-core/osdep/hurd/getroot.c
+@@ -58,7 +58,7 @@ grub_util_find_hurd_root_device (const char *path)
+ file_t file;
+ error_t err;
+ char *argz = NULL, *name = NULL, *ret;
+- size_t argz_len = 0;
++ mach_msg_type_number_t argz_len = 0;
+ int i;
+
+ file = file_name_lookup (path, 0, 0);
+--
+Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
+Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
+
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [bug#74290] [PATCH v2 30/40] gnu: guile-fibers: Fix build for the 64bit Hurd.
2024-11-12 16:25 ` [bug#74290] [PATCH v2 00/40] " Janneke Nieuwenhuizen
` (28 preceding siblings ...)
2024-11-12 16:25 ` [bug#74290] [PATCH v2 29/40] gnu: grub: " Janneke Nieuwenhuizen
@ 2024-11-12 16:25 ` Janneke Nieuwenhuizen
2024-11-12 16:25 ` [bug#74290] [PATCH v2 31/40] gnu: m4: " Janneke Nieuwenhuizen
` (9 subsequent siblings)
39 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2024-11-12 16:25 UTC (permalink / raw)
To: 74290
* gnu/packages/guile-xyz.scm (guile-fibers)[arguments]: Also modify phases for
the 64bit Hurd.
Change-Id: I780f6a92418b49e5fe0d23eb1c90e155216f1428
---
gnu/packages/guile-xyz.scm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm
index ea192c2c03..a874ab908d 100644
--- a/gnu/packages/guile-xyz.scm
+++ b/gnu/packages/guile-xyz.scm
@@ -855,7 +855,7 @@ (define-public guile-fibers
(list #:make-flags
#~(list "GUILE_AUTO_COMPILE=0")
#:phases
- (if (target-x86-64?)
+ (if (and (target-x86-64?) (not (target-hurd?)))
#~%standard-phases
#~(modify-phases %standard-phases
(add-before 'check 'disable-some-tests
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [bug#74290] [PATCH v2 31/40] gnu: m4: Fix build for the 64bit Hurd.
2024-11-12 16:25 ` [bug#74290] [PATCH v2 00/40] " Janneke Nieuwenhuizen
` (29 preceding siblings ...)
2024-11-12 16:25 ` [bug#74290] [PATCH v2 30/40] gnu: guile-fibers: " Janneke Nieuwenhuizen
@ 2024-11-12 16:25 ` Janneke Nieuwenhuizen
2024-11-12 16:25 ` [bug#74290] [PATCH v2 32/40] gnu: commencement: gnumach-headers-boot0: Update to 1.8+git20240714 Janneke Nieuwenhuizen
` (8 subsequent siblings)
39 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2024-11-12 16:25 UTC (permalink / raw)
To: 74290
* gnu/packages/base.scm (grep)[arguments]: When building for the 64bit Hurd,
add patch-sigsegv.h stage.
Change-Id: I82993ebde268867348893556a9476faa5c4e9453
---
gnu/packages/m4.scm | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/m4.scm b/gnu/packages/m4.scm
index 39b50b6800..081304db34 100644
--- a/gnu/packages/m4.scm
+++ b/gnu/packages/m4.scm
@@ -2,7 +2,7 @@
;;; Copyright © 2012, 2013, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2022 Marius Bakke <marius@gnu.org>
-;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2023, 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -64,6 +64,13 @@ (define-public m4
(("(^| )main *\\(.*" all)
(string-append all "{\n exit (77);//"))))))
'())
+ ,@(if (target-hurd64?)
+ '((add-after 'unpack 'patch-sigsegv
+ (lambda _
+ ;; Stack overflow recovery does not compile
+ (substitute* "lib/sigsegv.in.h"
+ (("__GNU__") "__XGNU__")))))
+ '())
(add-after 'unpack 'configure-shell
(lambda* (#:key native-inputs inputs #:allow-other-keys)
(let ((/bin/sh (search-input-file (or native-inputs inputs)
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [bug#74290] [PATCH v2 32/40] gnu: commencement: gnumach-headers-boot0: Update to 1.8+git20240714.
2024-11-12 16:25 ` [bug#74290] [PATCH v2 00/40] " Janneke Nieuwenhuizen
` (30 preceding siblings ...)
2024-11-12 16:25 ` [bug#74290] [PATCH v2 31/40] gnu: m4: " Janneke Nieuwenhuizen
@ 2024-11-12 16:25 ` Janneke Nieuwenhuizen
2024-11-12 16:25 ` [bug#74290] [PATCH v2 33/40] gnu: commencement: mig-boot0: Update to 1.8+git20231217 Janneke Nieuwenhuizen
` (7 subsequent siblings)
39 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2024-11-12 16:25 UTC (permalink / raw)
To: 74290; +Cc: Andreas Enge, Efraim Flashner, Ekaitz Zarraga,
Ludovic Courtès
* gnu/packages/commencement.scm (gnumach-headers-boot0): Update to
1.8+git20240714.
Change-Id: If30d7b4a688070d70741173c97a60284ca8299ef
---
gnu/packages/commencement.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index a000cbfdc5..a8d48fbb93 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -2636,7 +2636,7 @@ (define gnumach-headers-boot0
(package
(inherit gnumach-headers)
(name "gnumach-headers-boot0")
- (version "1.8+git20230410")
+ (version "1.8+git20240714")
(source
(origin
(inherit (package-source gnumach-headers))
@@ -2650,7 +2650,7 @@ (define gnumach-headers-boot0
"gnumach-" version ".tar.gz"))
(sha256
(base32
- "1s09256g2ny46idrn8frzs7r51la9ni45bmglmswlsmz9ii7dpi4")))))))
+ "1bnw5vdbq91zjxklx23qvim40fb0yw1qdxhn9n37jdfypm6q3xir")))))))
(native-inputs (list autoconf-boot0 automake-boot0 texinfo-boot0))
(arguments
(substitute-keyword-arguments (package-arguments gnumach-headers)
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [bug#74290] [PATCH v2 33/40] gnu: commencement: mig-boot0: Update to 1.8+git20231217..
2024-11-12 16:25 ` [bug#74290] [PATCH v2 00/40] " Janneke Nieuwenhuizen
` (31 preceding siblings ...)
2024-11-12 16:25 ` [bug#74290] [PATCH v2 32/40] gnu: commencement: gnumach-headers-boot0: Update to 1.8+git20240714 Janneke Nieuwenhuizen
@ 2024-11-12 16:25 ` Janneke Nieuwenhuizen
2024-11-12 16:25 ` [bug#74290] [PATCH v2 34/40] gnu: commencement: hurd-headers-boot0: Update to 0.9.git20240714 Janneke Nieuwenhuizen
` (6 subsequent siblings)
39 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2024-11-12 16:25 UTC (permalink / raw)
To: 74290; +Cc: Andreas Enge, Efraim Flashner, Ekaitz Zarraga,
Ludovic Courtès
* gnu/packages/commencement.scm (mig-boot0): Update to 1.8+git20231217.
Change-Id: I591ff7cb84ac1e567d49f51eb40be19fa6b15f5b
---
gnu/packages/commencement.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index a8d48fbb93..faa4c903e4 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -2671,7 +2671,7 @@ (define mig-boot0
(package
(inherit mig)
(name "mig-boot0")
- (version "1.8+git20230520")
+ (version "1.8+git20231217")
(source
(origin
(inherit (package-source mig))
@@ -2684,7 +2684,7 @@ (define mig-boot0
"mig-" version ".tar.gz"))
(sha256
(base32
- "1l1vfm4wap5yxylv91wssgpy7fnq22wp3akgd5nv995kychfa9jy")))))))
+ "18vz3ifrhhlvrdmlv70h63wl0kh5w8jcpsjx9yscsw9yazm1lzs7")))))))
(native-inputs (list autoconf-boot0 automake-boot0 bison-boot0 flex-boot0
gnumach-headers-boot0))
(inputs (list flex-boot0 gnumach-headers-boot0))
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [bug#74290] [PATCH v2 34/40] gnu: commencement: hurd-headers-boot0: Update to 0.9.git20240714.
2024-11-12 16:25 ` [bug#74290] [PATCH v2 00/40] " Janneke Nieuwenhuizen
` (32 preceding siblings ...)
2024-11-12 16:25 ` [bug#74290] [PATCH v2 33/40] gnu: commencement: mig-boot0: Update to 1.8+git20231217 Janneke Nieuwenhuizen
@ 2024-11-12 16:25 ` Janneke Nieuwenhuizen
2024-11-12 16:25 ` [bug#74290] [PATCH v2 35/40] gnu: commencement: libstdc++-boot0-gcc7: Replace by make-libstdc++-boot0 Janneke Nieuwenhuizen
` (5 subsequent siblings)
39 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2024-11-12 16:25 UTC (permalink / raw)
To: 74290; +Cc: Andreas Enge, Efraim Flashner, Ekaitz Zarraga,
Ludovic Courtès
* gnu/packages/commencement.scm (hurd-headers-boot0): Update to
0.9.git20240714.
Change-Id: Ib3edaa3adb9cfe4cb8c5a3af83cb2701ee9dda1b
---
gnu/packages/commencement.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index faa4c903e4..aad3f523b5 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -2700,7 +2700,7 @@ (define hurd-headers-boot0
(package
(inherit hurd-headers)
(name "hurd-headers-boot0")
- (version "0.9.git20230520")
+ (version "0.9.git20240714")
(source
(origin
(inherit (package-source hurd-headers))
@@ -2713,7 +2713,7 @@ (define hurd-headers-boot0
"hurd-v" version ".tar.gz"))
(sha256
(base32
- "0ybmx7bhy21zv1if2hfdspn13zn68vki1na72sw2jj87gj8przna")))))))
+ "0wcihffclwijjamx4cjbr8i92yg780538ipg2z208ahg96jjrmgq")))))))
(native-inputs
(list autoconf-boot0 automake-boot0 mig-boot0))
(inputs '()))))
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [bug#74290] [PATCH v2 35/40] gnu: commencement: libstdc++-boot0-gcc7: Replace by make-libstdc++-boot0.
2024-11-12 16:25 ` [bug#74290] [PATCH v2 00/40] " Janneke Nieuwenhuizen
` (33 preceding siblings ...)
2024-11-12 16:25 ` [bug#74290] [PATCH v2 34/40] gnu: commencement: hurd-headers-boot0: Update to 0.9.git20240714 Janneke Nieuwenhuizen
@ 2024-11-12 16:25 ` Janneke Nieuwenhuizen
2024-11-12 16:25 ` [bug#74290] [PATCH v2 36/40] gnu: gettext: Fix cross-build shebangs Janneke Nieuwenhuizen
` (4 subsequent siblings)
39 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2024-11-12 16:25 UTC (permalink / raw)
To: 74290; +Cc: Andreas Enge, Efraim Flashner, Ekaitz Zarraga,
Ludovic Courtès
* 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
---
gnu/packages/commencement.scm | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index aad3f523b5..b2558c0d54 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -2274,9 +2274,9 @@ (define libstdc++-boot0
(inputs (%boot0-inputs))
(native-inputs '()))))
-(define libstdc++-boot0-gcc7
+(define (make-libstdc++-boot0 gcc)
;; GCC >= 7 is needed by architectures which use C++-14 features.
- (let ((lib (make-libstdc++ gcc-7)))
+ (let ((lib (make-libstdc++ gcc)))
(package
(inherit lib)
(source (bootstrap-origin (package-source lib)))
@@ -2447,7 +2447,8 @@ (define gcc-boot0
;; The libstdc++ that libcc1 links against.
("libstdc++" ,(match (%current-system)
- ("riscv64-linux" libstdc++-boot0-gcc7)
+ ("riscv64-linux" (make-libstdc++-boot0 gcc-7))
+ ("x86_64-gnu" (make-libstdc++-boot0 gcc-14))
(_ libstdc++-boot0)))
;; Call it differently so that the builder can check whether
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [bug#74290] [PATCH v2 36/40] gnu: gettext: Fix cross-build shebangs.
2024-11-12 16:25 ` [bug#74290] [PATCH v2 00/40] " Janneke Nieuwenhuizen
` (34 preceding siblings ...)
2024-11-12 16:25 ` [bug#74290] [PATCH v2 35/40] gnu: commencement: libstdc++-boot0-gcc7: Replace by make-libstdc++-boot0 Janneke Nieuwenhuizen
@ 2024-11-12 16:25 ` Janneke Nieuwenhuizen
2024-11-12 16:25 ` [bug#74290] [PATCH v2 37/40] gnu: texinfo-4: Fix build for the 64bit Hurd Janneke Nieuwenhuizen
` (3 subsequent siblings)
39 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2024-11-12 16:25 UTC (permalink / raw)
To: 74290
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
---
gnu/packages/gettext.scm | 16 ++++++++++++++--
1 file changed, 14 insertions(+), 2 deletions(-)
diff --git a/gnu/packages/gettext.scm b/gnu/packages/gettext.scm
index cabe4f3be9..7862c296bd 100644
--- a/gnu/packages/gettext.scm
+++ b/gnu/packages/gettext.scm
@@ -9,7 +9,7 @@
;;; Copyright © 2017 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Miguel <rosen644835@gmail.com>
-;;; Copyright © 2020, 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2020, 2023, 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2020 EuAndreh <eu@euandre.org>
;;; Copyright © 2022, 2024 gemmaro <gemmaro.dev@gmail.com>
;;; Copyright © 2023 Maxim Cournoyer maxim.cournoyer@gmail.com>
@@ -130,7 +130,19 @@ (define-public gettext-minimal
((" test-tls\\$\\(EXEEXT\\) ") " ")))
'())
- #t)))))
+ #t))))
+ #$@(if (%current-target-system)
+ #~((add-after 'install 'patch-cross-shebangs
+ (lambda _
+ (let ((path (list (string-append #$bash-minimal "/bin"))))
+ (define (patch-cross-shebang file)
+ (patch-shebang file path))
+ (with-directory-excursion
+ (string-append #$output "/bin")
+ (for-each
+ patch-cross-shebang
+ '("autopoint" "gettext.sh" "gettextize")))))))
+ '()))
;; When tests fail, we want to know the details.
#:make-flags #~'("VERBOSE=yes")))
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [bug#74290] [PATCH v2 37/40] gnu: texinfo-4: Fix build for the 64bit Hurd.
2024-11-12 16:25 ` [bug#74290] [PATCH v2 00/40] " Janneke Nieuwenhuizen
` (35 preceding siblings ...)
2024-11-12 16:25 ` [bug#74290] [PATCH v2 36/40] gnu: gettext: Fix cross-build shebangs Janneke Nieuwenhuizen
@ 2024-11-12 16:25 ` Janneke Nieuwenhuizen
2024-11-12 16:25 ` [bug#74290] [PATCH v2 38/40] gnu: flex: " Janneke Nieuwenhuizen
` (2 subsequent siblings)
39 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2024-11-12 16:25 UTC (permalink / raw)
To: 74290
* gnu/packages/texinfo.scm (texinfo-4): When building for the 64bit Hurd, add
"-Wno-incompatible-pointer-types" to #:configure-flags.
Change-Id: Ia0503e3f5c7aa5354a949b69035a1be6f93ec85f
---
gnu/packages/texinfo.scm | 50 ++++++++++++++++++++++------------------
1 file changed, 27 insertions(+), 23 deletions(-)
diff --git a/gnu/packages/texinfo.scm b/gnu/packages/texinfo.scm
index 81afdaf7a7..c0a35b6ffa 100644
--- a/gnu/packages/texinfo.scm
+++ b/gnu/packages/texinfo.scm
@@ -7,7 +7,7 @@
;;; Copyright © 2019 Pierre-Moana Levesque <pierre.moana.levesque@gmail.com>
;;; Copyright © 2019, 2020 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
-;;; Copyright © 2020, 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2020, 2023, 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
;;; Copyright © 2022 ( <paren@disroot.org>
;;;
@@ -165,31 +165,35 @@ (define-public texinfo-4
(modify-inputs (package-native-inputs texinfo)
(prepend automake)))
(arguments
- (substitute-keyword-arguments (package-arguments texinfo)
- ((#:phases phases)
- `(modify-phases ,phases
- (add-after 'unpack 'fix-configure
- (lambda* (#:key inputs native-inputs #:allow-other-keys)
- ;; Replace outdated config.sub and config.guess.
- (with-directory-excursion "build-aux"
- (for-each
- (lambda (file)
- (install-file (string-append
- (assoc-ref
- (or native-inputs inputs) "automake")
- "/share/automake-"
- ,(version-major+minor
- (package-version automake))
- "/" file) "."))
- '("config.sub" "config.guess")))
- #t))
- ;; Build native version of tools before running 'build phase.
- ,@(if (%current-target-system)
- `((add-before 'build 'make-native-gnu-lib
+ (append
+ (substitute-keyword-arguments (package-arguments texinfo)
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (add-after 'unpack 'fix-configure
+ (lambda* (#:key inputs native-inputs #:allow-other-keys)
+ ;; Replace outdated config.sub and config.guess.
+ (with-directory-excursion "build-aux"
+ (for-each
+ (lambda (file)
+ (install-file (string-append
+ (assoc-ref
+ (or native-inputs inputs) "automake")
+ "/share/automake-"
+ ,(version-major+minor
+ (package-version automake))
+ "/" file) "."))
+ '("config.sub" "config.guess")))
+ #t))
+ ;; Build native version of tools before running 'build phase.
+ ,@(if (%current-target-system)
+ `((add-before 'build 'make-native-gnu-lib
(lambda* (#:key inputs #:allow-other-keys)
(invoke "make" "-C" "tools/gnulib/lib")
#t)))
- '())))))))
+ '()))))
+ (if (target-hurd64?)
+ (list #:configure-flags ''("CFLAGS=-Wno-incompatible-pointer-types"))
+ '())))))
(define-public info-reader
;; The idea of this package is to have the standalone Info reader without
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [bug#74290] [PATCH v2 38/40] gnu: flex: Fix build for the 64bit Hurd.
2024-11-12 16:25 ` [bug#74290] [PATCH v2 00/40] " Janneke Nieuwenhuizen
` (36 preceding siblings ...)
2024-11-12 16:25 ` [bug#74290] [PATCH v2 37/40] gnu: texinfo-4: Fix build for the 64bit Hurd Janneke Nieuwenhuizen
@ 2024-11-12 16:25 ` Janneke Nieuwenhuizen
2024-11-12 16:25 ` [bug#74290] [PATCH v2 39/40] system: examples: Add bare-hurd64.tmpl Janneke Nieuwenhuizen
2024-11-12 16:25 ` [bug#74290] [PATCH v2 40/40] system: examples: Add devel-hurd64.tmpl Janneke Nieuwenhuizen
39 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2024-11-12 16:25 UTC (permalink / raw)
To: 74290
* gnu/packages/flex.scm (flex): When building for the 64bit Hurd, add
"-Wno-int-conversion "-Wno-implicit-function-declaration" to #:configure-flags.
Change-Id: Ia0503e3f5c7aa5354a949b69035a1be6f93ec85f
---
gnu/packages/flex.scm | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/gnu/packages/flex.scm b/gnu/packages/flex.scm
index 7972675971..cf2dfe9ec9 100644
--- a/gnu/packages/flex.scm
+++ b/gnu/packages/flex.scm
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -22,6 +23,7 @@ (define-module (gnu packages flex)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
+ #:use-module (guix gexp)
#:use-module (guix utils)
#:use-module (gnu packages)
#:use-module (gnu packages m4)
@@ -53,6 +55,12 @@ (define-public flex
((#:tests? _ #f) #f)))
(inputs (alist-delete "flex" (package-inputs bison))))))
`(("bison" ,bison-for-tests))))
+ (arguments
+ (if (target-hurd64?)
+ (list #:configure-flags
+ #~'(#$(string-append "CFLAGS=-Wno-int-conversion"
+ " -Wno-implicit-function-declaration")))
+ '()))
;; m4 is not present in PATH when cross-building
(native-inputs
(list help2man m4))
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [bug#74290] [PATCH v2 39/40] system: examples: Add bare-hurd64.tmpl.
2024-11-12 16:25 ` [bug#74290] [PATCH v2 00/40] " Janneke Nieuwenhuizen
` (37 preceding siblings ...)
2024-11-12 16:25 ` [bug#74290] [PATCH v2 38/40] gnu: flex: " Janneke Nieuwenhuizen
@ 2024-11-12 16:25 ` Janneke Nieuwenhuizen
2024-11-12 16:25 ` [bug#74290] [PATCH v2 40/40] system: examples: Add devel-hurd64.tmpl Janneke Nieuwenhuizen
39 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2024-11-12 16:25 UTC (permalink / raw)
To: 74290
* gnu/system/examples/bare-hurd.tmpl: Update comments.
* gnu/system/examples/bare-hurd64.tmpl: New file.
Change-Id: I8d26afd19afaa8fb3558948b50b0efdc0f83f29c
---
gnu/system/examples/bare-hurd.tmpl | 21 +++++----
gnu/system/examples/bare-hurd64.tmpl | 70 ++++++++++++++++++++++++++++
2 files changed, 82 insertions(+), 9 deletions(-)
create mode 100644 gnu/system/examples/bare-hurd64.tmpl
diff --git a/gnu/system/examples/bare-hurd.tmpl b/gnu/system/examples/bare-hurd.tmpl
index 68c6d3c166..9bfa776769 100644
--- a/gnu/system/examples/bare-hurd.tmpl
+++ b/gnu/system/examples/bare-hurd.tmpl
@@ -3,23 +3,26 @@
;; This is an operating system configuration template
;; for a "bare bones" QEMU setup, with no X11 display server.
-;; To build a disk image for a virtual machine, do
+;; To build a disk image for a virtual machine, do:
;;
-;; ./pre-inst-env guix system image --image-type=hurd-raw \
+;; ./pre-inst-env guix system image --image-type=hurd-qcow2 \
;; gnu/system/examples/bare-hurd.tmpl
;;
-;; You may run it like so
+;; You may run it like so:
;;
-;; guix shell qemu -- qemu-system-i386 -enable-kvm -m 2048 \
-;; -device rtl8139,netdev=net0 -netdev user,id=net0,hostfwd=tcp:127.0.0.1:10022-:2222 \
-;; -snapshot -hda <the-image>
+;; guix shell qemu -- qemu-system-i386 -m 2048 \
+;; --enable-kvm \
+;; --device e1000,netdev=net0 \
+;; --netdev user,id=net0,hostfwd=tcp:127.0.0.1:10022-:2222 \
+;; --snapshot
+;; --hda /gnu/store/...-disk-image
;;
-;; and use it like
+;; and use it like:
;;
;; ssh -p 10022 root@localhost
;; guix build -e '(@@ (gnu packages commencement) gnu-make-boot0)'
;;
-;; or even (if you use --image-size=3G)
+;; or even, if you build the image with at least --image-size=3G:
;;
;; guix build hello
@@ -34,7 +37,7 @@
(bootloader grub-minimal-bootloader)
(targets '("/dev/sdX"))))
(file-systems (cons (file-system
- (device (file-system-label "my-root"))
+ (device (file-system-label "hurd"))
(mount-point "/")
(type "ext2"))
%base-file-systems))
diff --git a/gnu/system/examples/bare-hurd64.tmpl b/gnu/system/examples/bare-hurd64.tmpl
new file mode 100644
index 0000000000..89811e458a
--- /dev/null
+++ b/gnu/system/examples/bare-hurd64.tmpl
@@ -0,0 +1,70 @@
+;; -*-scheme-*-
+
+;; This is an operating system configuration template
+;; for a "bare bones" QEMU setup, with no X11 display server.
+
+;; To build a disk image for a virtual machine, do:
+;;
+;; ./pre-inst-env guix system image --image-type=hurd64-qcow2 \
+;; gnu/system/examples/bare-hurd64.tmpl
+;;
+;; You may run it like so:
+;;
+;; guix shell qemu@7 -- qemu-system-x86_64 -m 2048 \
+;; --machine q35 \
+;; --enable-kvm \
+;; --device e1000,netdev=net0 \
+;; --netdev user,id=net0,hostfwd=tcp:127.0.0.1:10022-:2222 \
+;; --snapshot
+;; --hda /gnu/store/...-disk-image
+;;
+;; and use it like:
+;;
+;; ssh -p 10022 root@localhost
+;; guix build -e '(@@ (gnu packages commencement) gnu-make-boot0)'
+;;
+;; or even, if you build the image with at least --image-size=3G:
+;;
+;; guix build hello
+
+(use-modules (gnu) (gnu system hurd) (guix utils))
+(use-service-modules ssh)
+(use-package-modules ssh)
+
+(define %hurd64-os
+ (operating-system
+ (inherit %hurd64-default-operating-system)
+ (bootloader (bootloader-configuration
+ (bootloader grub-minimal-bootloader)
+ (targets '("/dev/sdX"))))
+ (kernel-arguments '("noide")) ;use rumpdisk
+ (file-systems (cons (file-system
+ (device (file-system-label "hurd"))
+ (mount-point "/")
+ (type "ext2"))
+ %base-file-systems))
+ (host-name "guixygnu64")
+ (timezone "Europe/Amsterdam")
+ (users (cons (user-account
+ (name "guix")
+ (comment "Anonymous Hurd Hacker")
+ (group "users")
+ (supplementary-groups '("wheel")))
+ %base-user-accounts))
+ (packages (cons openssh-sans-x %base-packages/hurd))
+ (services (cons (service openssh-service-type
+ (openssh-configuration
+ (openssh openssh-sans-x)
+ (port-number 2222)
+ (permit-root-login #t)
+ (allow-empty-passwords? #t)
+ (password-authentication? #t)))
+ ;; For installing on a real (non-QEMU) machine, use:
+ ;; (static-networking-service-type
+ ;; (list %loopback-static-networking
+ ;; (static-networking
+ ;; ...)))
+ ;; %base-services/hurd
+ %base-services+qemu-networking/hurd))))
+
+%hurd64-os
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [bug#74290] [PATCH v2 40/40] system: examples: Add devel-hurd64.tmpl.
2024-11-12 16:25 ` [bug#74290] [PATCH v2 00/40] " Janneke Nieuwenhuizen
` (38 preceding siblings ...)
2024-11-12 16:25 ` [bug#74290] [PATCH v2 39/40] system: examples: Add bare-hurd64.tmpl Janneke Nieuwenhuizen
@ 2024-11-12 16:25 ` Janneke Nieuwenhuizen
39 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2024-11-12 16:25 UTC (permalink / raw)
To: 74290
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
---
gnu/system/examples/devel-hurd.tmpl | 70 +++++++++++----------------
gnu/system/examples/devel-hurd64.tmpl | 65 +++++++++++++++++++++++++
2 files changed, 93 insertions(+), 42 deletions(-)
create mode 100644 gnu/system/examples/devel-hurd64.tmpl
diff --git a/gnu/system/examples/devel-hurd.tmpl b/gnu/system/examples/devel-hurd.tmpl
index 3dca0706d1..066bdfe9d8 100644
--- a/gnu/system/examples/devel-hurd.tmpl
+++ b/gnu/system/examples/devel-hurd.tmpl
@@ -3,7 +3,7 @@
;; This is an operating system configuration template for a "bare bones
;; development" setup, with no X11 display server.
-;; To build a disk image for a virtual machine, do
+;; To build a disk image for a virtual machine, do something like:
;;
;; ./pre-inst-env guix system image --image-type=hurd-qcow2 --image-size=6G \
;; --no-offload gnu/system/examples/devel-hurd.tmpl
@@ -11,41 +11,38 @@
;; You may run it like so
;;
;; cp /gnu/store/.../disk-image devel-hurd.img
-;; guix shell qemu -- qemu-system-i386 -enable-kvm -m 4096 \
-;; -device rtl8139,netdev=net0 \
-;; -netdev user,id=net0,hostfwd=tcp:127.0.0.1:10022-:2222 \
-;; -hda devel-hurd.img
-;;
-;; and use it like
+;; guix shell qemu -- qemu-system-i386 -m 4096 \
+;; --enable-kvm \
+;; --device e1000,netdev=net0 \
+;; --netdev user,id=net0,hostfwd=tcp:127.0.0.1:10022-:2222 \
+;; --hda devel-hurd.img
;;
;; ssh -p 10022 root@localhost
;; guix build -e '(@@ (gnu packages commencement) gnu-make-boot0)'
;;
-;; or even (if you use --image-size=3G)
+;; or even:
;;
;; guix build hello
;;
-;; Building Guix, do something like:
+;; For Guix hacking, do something like:
;;
-;; GUIX_PROFILE=/run/current-system/bootstrap-profile
-;; source $GUIX_PROFILE/etc/profile
+;; guix shell --boostrap -D guix
;; mkdir -p ~/src/guix
;; cd src/guix
;; git clone https://git.savannah.gnu.org/git/guix.git master
;; cd master
;; ./bootstrap
-;; ./configure --with-courage
+;; ./configure
;; make
+(include "bare-hurd.tmpl")
+
(use-modules (srfi srfi-1)
(ice-9 match)
- (gnu)
(gnu system hurd)
- (gnu system locale)
(guix packages)
- (guix store)
- (guix utils))
-(use-service-modules ssh virtualization)
+ (guix store))
+
(use-package-modules base compression file gawk gdb hurd less m4
package-management ssh version-control)
@@ -64,23 +61,23 @@
;; These are not essential and do not build yet.
'("graphviz" "guile-avahi" "po4a"))))
+(define hurd-packages
+ (filter-map input->package
+ (fold alist-delete (package-direct-inputs hurd)
+ ;; These are not essential, rumpkernel is very big.
+ '("dde-sources" "parted" "rumpkernel" "util-linux"
+ "texinfo"))))
+
(define %hurd-devel-os
(operating-system
- (inherit %hurd-vm-operating-system)
- (host-name "guixydevel")
+ (inherit %hurd-os)
+ (bootloader (bootloader-configuration
+ (bootloader grub-minimal-bootloader)
+ (targets '("/dev/sdX"))
+ (timeout 0)))
(timezone "Europe/Berlin")
- (file-systems (cons (file-system
- (device (file-system-label "hurd"))
- (mount-point "/")
- (type "ext2"))
- %base-file-systems))
(swap-devices (list (swap-space
(target "/swapfile"))))
- (users (cons (user-account
- (name "guix")
- (group "users")
- (supplementary-groups '("wheel")))
- %base-user-accounts))
(packages (cons*
gdb-minimal
git-minimal
@@ -89,18 +86,7 @@
openssh-sans-x
(append
guix-packages
- %base-packages/hurd)))
- (services (cons*
- (modify-services (operating-system-user-services
- %hurd-vm-operating-system)
- (openssh-service-type
- config =>
- ;; Set wide open
- (openssh-configuration
- (openssh openssh-sans-x)
- (port-number 2222)
- (permit-root-login #t)
- (allow-empty-passwords? #t)
- (password-authentication? #t))))))))
+ hurd-packages
+ %base-packages/hurd)))))
%hurd-devel-os
diff --git a/gnu/system/examples/devel-hurd64.tmpl b/gnu/system/examples/devel-hurd64.tmpl
new file mode 100644
index 0000000000..ebc9fe8138
--- /dev/null
+++ b/gnu/system/examples/devel-hurd64.tmpl
@@ -0,0 +1,65 @@
+;; -*-scheme-*-
+
+;; This is an operating system configuration template
+;; for a "bare bones" QEMU setup, with no X11 display server.
+
+;; To build a disk image for a virtual machine, do:
+;;
+;; ./pre-inst-env guix system image --image-type=hurd-qcow2 --image-size=6G \
+;; --no-offload gnu/system/examples/devel-hurd64.tmpl
+;;
+;; You may run it like so:
+;;
+;; cp /gnu/store/.../disk-image devel-hurd.img
+;; guix shell qemu@7 -- qemu-system-x86_64 -m 4096 \
+;; --machine q35 \
+;; --enable-kvm \
+;; --device e1000,netdev=net0 \
+;; --netdev user,id=net0,hostfwd=tcp:127.0.0.1:10022-:2222 \
+;; --hda devel-hurd.img
+;;
+;; and use it like:
+;;
+;; ssh -p 10022 root@localhost
+;; guix build -e '(@@ (gnu packages commencement) gnu-make-boot0)'
+;;
+;; or even:
+;;
+;; guix build hello
+;;
+;; For Guix hacking, do something like:
+;;
+;; guix shell --boostrap -D guix
+;; mkdir -p ~/src/guix
+;; cd src/guix
+;; git clone git clone git://git.savannah.gnu.org/guix
+;; cd master
+;; ./bootstrap
+;; ./configure
+;; make
+
+(include "devel-hurd.tmpl")
+(include "bare-hurd64.tmpl")
+
+(define %hurd64-devel-os
+ (operating-system
+ (inherit %hurd64-os)
+ (bootloader (bootloader-configuration
+ (bootloader grub-minimal-bootloader)
+ (targets '("/dev/sdX"))
+ (timeout 0)))
+ (timezone "Europe/Berlin")
+ (swap-devices (list (swap-space
+ (target "/swapfile"))))
+ (packages (cons*
+ gdb-minimal
+ git-minimal
+ gnu-make
+ m4
+ openssh-sans-x
+ (append
+ guix-packages
+ hurd-packages
+ %base-packages/hurd)))))
+
+%hurd64-devel-os
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
^ permalink raw reply related [flat|nested] 78+ messages in thread
end of thread, other threads:[~2024-11-12 17:35 UTC | newest]
Thread overview: 78+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-11-10 10:32 [bug#74290] [PATCH 00/31] Add support for x86_64-gnu, aka the 64bit Hurd Janneke Nieuwenhuizen
2024-11-10 10:37 ` [bug#74290] [PATCH 01/31] gnu: mig: Update to v1.8+git20231217 Janneke Nieuwenhuizen
2024-11-10 10:37 ` [bug#74290] [PATCH 02/31] gnu: gnumach: Update to v1.8+git20240714 Janneke Nieuwenhuizen
2024-11-10 11:45 ` janneke
2024-11-10 10:37 ` [bug#74290] [PATCH 03/31] gnu: hurd: Update to v0.9.git20240714 Janneke Nieuwenhuizen
2024-11-10 10:38 ` [bug#74290] [PATCH 04/31] gnu: gcc: Add indirections current-gcc, current-gcc-toolchain Janneke Nieuwenhuizen
2024-11-10 10:38 ` [bug#74290] [PATCH 05/31] gnu: Add basic support for x86_64-pc-gnu target, aka 64bit Hurd Janneke Nieuwenhuizen
2024-11-10 10:38 ` [bug#74290] [PATCH 06/31] gnu: cross-libc: Support cross-building for the " Janneke Nieuwenhuizen
2024-11-10 10:38 ` [bug#74290] [PATCH 07/31] gnu: bash-minimal: Fix build for " Janneke Nieuwenhuizen
2024-11-10 10:38 ` [bug#74290] [PATCH 08/31] gnu: elfutils: " Janneke Nieuwenhuizen
2024-11-10 10:38 ` [bug#74290] [PATCH 09/31] gnu: grep: Fix build for the " Janneke Nieuwenhuizen
2024-11-10 10:38 ` [bug#74290] [PATCH 10/31] gnu: patch: " Janneke Nieuwenhuizen
2024-11-10 10:38 ` [bug#74290] [PATCH 11/31] gnu: libxcrypt: Support " Janneke Nieuwenhuizen
2024-11-10 10:38 ` [bug#74290] [PATCH 12/31] gnu: libstdc++: " Janneke Nieuwenhuizen
2024-11-10 10:38 ` [bug#74290] [PATCH 13/31] gnu: gcc-13, gcc-14: Support being used as parent for gcc-static Janneke Nieuwenhuizen
2024-11-10 10:38 ` [bug#74290] [PATCH 14/31] DRAFT gnu: bootstrap: Add support for x86_64-gnu, aka the 64bit Hurd Janneke Nieuwenhuizen
2024-11-11 18:05 ` janneke
2024-11-10 10:38 ` [bug#74290] [PATCH 15/31] system: image: Add hurd64 image types Janneke Nieuwenhuizen
2024-11-10 10:38 ` [bug#74290] [PATCH 16/31] gnu: Add libgpg-error-1.50 Janneke Nieuwenhuizen
2024-11-10 10:38 ` [bug#74290] [PATCH 17/31] gnu: libgcrypt: Use libgpg-error-1.50 for the 64bit Hurd Janneke Nieuwenhuizen
2024-11-10 10:38 ` [bug#74290] [PATCH 18/31] gnu: perl: Support cross-building " Janneke Nieuwenhuizen
2024-11-10 10:38 ` [bug#74290] [PATCH 19/31] gnu: openssl-3.0: Support " Janneke Nieuwenhuizen
2024-11-10 10:38 ` [bug#74290] [PATCH 20/31] gnu: pciutils: " Janneke Nieuwenhuizen
2024-11-10 10:38 ` [bug#74290] [PATCH 21/31] gnu: libpciaccess: " Janneke Nieuwenhuizen
2024-11-10 10:38 ` [bug#74290] [PATCH 22/31] gnu: netdde: Update to c0ef248dc7c5ccc1273e2a796f3ece30c5b645df Janneke Nieuwenhuizen
2024-11-10 10:38 ` [bug#74290] [PATCH 23/31] gnu: netdde: Support the 64bit Hurd Janneke Nieuwenhuizen
2024-11-10 10:38 ` [bug#74290] [PATCH 24/31] gnu: rumpkernel: Update to f1ffd6405f225336e595a0f99f01095ed7438337 Janneke Nieuwenhuizen
2024-11-10 10:38 ` [bug#74290] [PATCH 25/31] gnu: rumpkernel: Support the 64bit Hurd Janneke Nieuwenhuizen
2024-11-10 10:38 ` [bug#74290] [PATCH 26/31] gnu: hurd: Build fixes for " Janneke Nieuwenhuizen
2024-11-10 10:38 ` [bug#74290] [PATCH 27/31] gnu: git-minimal: Support " Janneke Nieuwenhuizen
2024-11-10 10:38 ` [bug#74290] [PATCH 28/31] gnu: inetutils: Fix build for " Janneke Nieuwenhuizen
2024-11-10 10:38 ` [bug#74290] [PATCH 29/31] gnu: grub: " Janneke Nieuwenhuizen
2024-11-10 10:38 ` [bug#74290] [PATCH 30/31] gnu: guile-fibers: " Janneke Nieuwenhuizen
2024-11-10 10:38 ` [bug#74290] [PATCH 31/31] system: hurd: Use 64bit gnumach " Janneke Nieuwenhuizen
2024-11-10 14:40 ` janneke
2024-11-10 14:15 ` [bug#74290] [PATCH 00/31] Add support for x86_64-gnu, aka " janneke
2024-11-12 1:17 ` Maxim Cournoyer
2024-11-12 16:25 ` [bug#74290] [PATCH v2 00/40] " Janneke Nieuwenhuizen
2024-11-12 16:25 ` [bug#74290] [PATCH v2 01/40] gnu: gnumach: Update to v1.8+git20240714 Janneke Nieuwenhuizen
2024-11-12 16:25 ` [bug#74290] [PATCH v2 02/40] gnu: mig: Update to 1.8+git20231217 Janneke Nieuwenhuizen
2024-11-12 16:25 ` [bug#74290] [PATCH v2 03/40] gnu: hurd: Update to 0.9.git20240714 Janneke Nieuwenhuizen
2024-11-12 16:25 ` [bug#74290] [PATCH v2 04/40] gnu: gcc: Add indirections current-gcc, current-gcc-toolchain Janneke Nieuwenhuizen
2024-11-12 16:25 ` [bug#74290] [PATCH v2 05/40] gnu: Add basic support for x86_64-pc-gnu target, aka 64bit Hurd Janneke Nieuwenhuizen
2024-11-12 16:25 ` [bug#74290] [PATCH v2 06/40] gnu: cross-libc: Support cross-building for the " Janneke Nieuwenhuizen
2024-11-12 16:25 ` [bug#74290] [PATCH v2 07/40] gnu: bash-minimal: Fix build for " Janneke Nieuwenhuizen
2024-11-12 16:25 ` [bug#74290] [PATCH v2 08/40] gnu: elfutils: " Janneke Nieuwenhuizen
2024-11-12 16:25 ` [bug#74290] [PATCH v2 09/40] gnu: grep: Fix build for the " Janneke Nieuwenhuizen
2024-11-12 16:25 ` [bug#74290] [PATCH v2 10/40] gnu: patch: " Janneke Nieuwenhuizen
2024-11-12 16:25 ` [bug#74290] [PATCH v2 11/40] gnu: libxcrypt: Support " Janneke Nieuwenhuizen
2024-11-12 16:25 ` [bug#74290] [PATCH v2 12/40] gnu: libstdc++: " Janneke Nieuwenhuizen
2024-11-12 16:25 ` [bug#74290] [PATCH v2 13/40] gnu: gcc-13, gcc-14: Support being used as parent for gcc-static Janneke Nieuwenhuizen
2024-11-12 16:25 ` [bug#74290] [PATCH v2 14/40] DRAFT gnu: bootstrap: Add support for x86_64-gnu, aka the 64bit Hurd Janneke Nieuwenhuizen
2024-11-12 16:25 ` [bug#74290] [PATCH v2 15/40] system: image: Add hurd64 image types Janneke Nieuwenhuizen
2024-11-12 16:25 ` [bug#74290] [PATCH v2 16/40] gnu: Add libgpg-error-1.50 Janneke Nieuwenhuizen
2024-11-12 16:25 ` [bug#74290] [PATCH v2 17/40] gnu: libgcrypt: Use libgpg-error-1.50 for the 64bit Hurd Janneke Nieuwenhuizen
2024-11-12 16:25 ` [bug#74290] [PATCH v2 18/40] gnu: perl: Support cross-building " Janneke Nieuwenhuizen
2024-11-12 16:25 ` [bug#74290] [PATCH v2 19/40] gnu: openssl-3.0: Support " Janneke Nieuwenhuizen
2024-11-12 16:25 ` [bug#74290] [PATCH v2 20/40] gnu: pciutils: " Janneke Nieuwenhuizen
2024-11-12 16:25 ` [bug#74290] [PATCH v2 21/40] gnu: libpciaccess: " Janneke Nieuwenhuizen
2024-11-12 16:25 ` [bug#74290] [PATCH v2 22/40] gnu: netdde: Update to c0ef248dc7c5ccc1273e2a796f3ece30c5b645df Janneke Nieuwenhuizen
2024-11-12 16:25 ` [bug#74290] [PATCH v2 23/40] gnu: netdde: Support the 64bit Hurd Janneke Nieuwenhuizen
2024-11-12 16:25 ` [bug#74290] [PATCH v2 24/40] gnu: rumpkernel: Update to f1ffd6405f225336e595a0f99f01095ed7438337 Janneke Nieuwenhuizen
2024-11-12 16:25 ` [bug#74290] [PATCH v2 25/40] gnu: rumpkernel: Support the 64bit Hurd Janneke Nieuwenhuizen
2024-11-12 16:25 ` [bug#74290] [PATCH v2 26/40] gnu: hurd: Build fixes for " Janneke Nieuwenhuizen
2024-11-12 16:25 ` [bug#74290] [PATCH v2 27/40] gnu: git-minimal: Support " Janneke Nieuwenhuizen
2024-11-12 16:25 ` [bug#74290] [PATCH v2 28/40] gnu: inetutils: Fix build for " Janneke Nieuwenhuizen
2024-11-12 16:25 ` [bug#74290] [PATCH v2 29/40] gnu: grub: " Janneke Nieuwenhuizen
2024-11-12 16:25 ` [bug#74290] [PATCH v2 30/40] gnu: guile-fibers: " Janneke Nieuwenhuizen
2024-11-12 16:25 ` [bug#74290] [PATCH v2 31/40] gnu: m4: " Janneke Nieuwenhuizen
2024-11-12 16:25 ` [bug#74290] [PATCH v2 32/40] gnu: commencement: gnumach-headers-boot0: Update to 1.8+git20240714 Janneke Nieuwenhuizen
2024-11-12 16:25 ` [bug#74290] [PATCH v2 33/40] gnu: commencement: mig-boot0: Update to 1.8+git20231217 Janneke Nieuwenhuizen
2024-11-12 16:25 ` [bug#74290] [PATCH v2 34/40] gnu: commencement: hurd-headers-boot0: Update to 0.9.git20240714 Janneke Nieuwenhuizen
2024-11-12 16:25 ` [bug#74290] [PATCH v2 35/40] gnu: commencement: libstdc++-boot0-gcc7: Replace by make-libstdc++-boot0 Janneke Nieuwenhuizen
2024-11-12 16:25 ` [bug#74290] [PATCH v2 36/40] gnu: gettext: Fix cross-build shebangs Janneke Nieuwenhuizen
2024-11-12 16:25 ` [bug#74290] [PATCH v2 37/40] gnu: texinfo-4: Fix build for the 64bit Hurd Janneke Nieuwenhuizen
2024-11-12 16:25 ` [bug#74290] [PATCH v2 38/40] gnu: flex: " Janneke Nieuwenhuizen
2024-11-12 16:25 ` [bug#74290] [PATCH v2 39/40] system: examples: Add bare-hurd64.tmpl Janneke Nieuwenhuizen
2024-11-12 16:25 ` [bug#74290] [PATCH v2 40/40] system: examples: Add devel-hurd64.tmpl Janneke Nieuwenhuizen
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).