unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#62307] [PATCH core-updates 00/15] Update Hurd and fix build failures
@ 2023-03-20 22:07 Josselin Poiret via Guix-patches via
  2023-03-20 22:10 ` [bug#62307] [PATCH core-updates 01/15] gnu: glibc/fix-for-hurd-cross: Add new variant Josselin Poiret via Guix-patches via
                   ` (15 more replies)
  0 siblings, 16 replies; 43+ messages in thread
From: Josselin Poiret via Guix-patches via @ 2023-03-20 22:07 UTC (permalink / raw)
  To: 62307; +Cc: Josselin Poiret

Hello everyone,

Someone convinced me to have a look at Hurd on core-updates, since it was not
building.  The reason was a newer libc, as well as a newer gcc which turned
warnings into errors.  I figured the best way to resolve this would be to update
our Hurd packages, but it's not as simple as it sounds!

gnumach, mig, hurd and glibc are quite coupled, and even though they have git
tags now, it doesn't mean those tags actually build!  I had to pick some tag
from August for Hurd, since anything newer would require some patches for glibc,
and also pick gnumach and mig versions around that time.  We also need some
patches for glibc (only when cross-building) and gcc (for cross and native).
For the latter, I added some kludge to only modify the derivation if we're
building for the Hurd, so that it doesn't cause rebuilds.  I think it works
fine, but please do tell me if it still causes rebuilds elsewhere.

I've also tried cleaning up the packages, so that building Hurd could be
possible on non-x86 architectures.  We had quite a lot of hacks, like building a
32-bit mig that we would then run to generate headers.  Now, we should be using
proper cross tools everywhere, even mig.

I've fixed a couple of things as well so that I could build the basic disk image
using `guix system image -t hurd-raw gnu/system/examples/bare-hurd.tmpl` (fixes
to u-boot and opensbi will be sent separately, needed for qemu-minimal).  It
boots up to early userspace, but then the image is unable to set the passive
translators for /servers/exec and /servers/socket/1, the setxattr call fails
with ENOTSUP.  I guess this will be left as an exercise for the reader...

Best,

Josselin Poiret (15):
  gnu: glibc/fix-for-hurd-cross: Add new variant.
  gnu-build-system: Sneak fixed glibc when cross-building for Hurd.
  gcc-11: Patch libstdc++ libpthread issue for Hurd only.
  cross-base: Factor out cross-mig.
  cross-base: Add cross arguments to hurd derivatives.
  cross-base: Removed useless inputs to xhurd-core-headers.
  mig: Update to 1.8+git20220827.
  gnumach: Update to 1.8+git20220827.
  hurd: Update to 91a51672ff4cfe1f1a0712b4c542ded3081c825b.
  hurd: Remove useless glibc/hurd-headers input.
  gnumach, hurd-headers, hurd: Switch to using cross-mig.
  hurd: Update DDE and use libdde_linux26.
  mig/32-bit: Remove.
  system: hurd: Use shepherd-0.8 in the package list.
  system: pam: Only add linux-pam reference if on Linux.

 gnu/local.mk                                  |  10 +-
 gnu/packages/base.scm                         |  13 +-
 gnu/packages/commencement.scm                 |  10 +-
 gnu/packages/cross-base.scm                   | 128 ++-
 gnu/packages/gcc.scm                          |  32 +
 gnu/packages/hurd.scm                         | 294 +++---
 .../gcc-11-libstdc++-hurd-libpthread.patch    |  62 ++
 ...-hurd-add-freestanding-for-configure.patch |  87 ++
 ...bc-hurd-add-freestanding-to-cppflags.patch |  72 ++
 ...ng-const_mach_port_name_array_t-type.patch |  32 +
 ...rd-add-without-rump-configure-option.patch |  82 ++
 gnu/packages/patches/hurd-cross.patch         |  33 -
 ...f-read-write-and-readables-methods-2.patch | 155 +++
 ...-of-read-write-and-readables-methods.patch | 891 ++++++++++++++++++
 gnu/packages/patches/hurd-xattr.patch         |  53 --
 ...ig-generate-cpu.h-with-ffreestanding.patch |  37 +
 gnu/system/hurd.scm                           |   2 +-
 gnu/system/pam.scm                            |  16 +-
 guix/build-system/gnu.scm                     |  48 +-
 19 files changed, 1760 insertions(+), 297 deletions(-)
 create mode 100644 gnu/packages/patches/gcc-11-libstdc++-hurd-libpthread.patch
 create mode 100644 gnu/packages/patches/glibc-hurd-add-freestanding-for-configure.patch
 create mode 100644 gnu/packages/patches/glibc-hurd-add-freestanding-to-cppflags.patch
 create mode 100644 gnu/packages/patches/gnumach-add-missing-const_mach_port_name_array_t-type.patch
 create mode 100644 gnu/packages/patches/hurd-add-without-rump-configure-option.patch
 delete mode 100644 gnu/packages/patches/hurd-cross.patch
 create mode 100644 gnu/packages/patches/hurd-fix-types-of-read-write-and-readables-methods-2.patch
 create mode 100644 gnu/packages/patches/hurd-fix-types-of-read-write-and-readables-methods.patch
 delete mode 100644 gnu/packages/patches/hurd-xattr.patch
 create mode 100644 gnu/packages/patches/mig-generate-cpu.h-with-ffreestanding.patch


base-commit: bfe569e84b539c505e1e432d8ceea91e1481e904
-- 
2.39.2





^ permalink raw reply	[flat|nested] 43+ messages in thread

end of thread, other threads:[~2023-03-30 10:49 UTC | newest]

Thread overview: 43+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-03-20 22:07 [bug#62307] [PATCH core-updates 00/15] Update Hurd and fix build failures Josselin Poiret via Guix-patches via
2023-03-20 22:10 ` [bug#62307] [PATCH core-updates 01/15] gnu: glibc/fix-for-hurd-cross: Add new variant Josselin Poiret via Guix-patches via
2023-03-22 14:54   ` [bug#62307] [PATCH core-updates 00/15] Update Hurd and fix build failures Ludovic Courtès
2023-03-28 14:28     ` [bug#62307] [PATCH core-updates v2 00/20] " Ludovic Courtès
2023-03-28 14:28       ` [bug#62307] [PATCH core-updates v2 01/20] gnu: glibc: Work around broken GNU Mach header detection Ludovic Courtès
2023-03-28 14:28       ` [bug#62307] [PATCH core-updates v2 02/20] gnu: cross-base: Use gexps for 'cross-gcc-arguments' Ludovic Courtès
2023-03-28 14:28       ` [bug#62307] [PATCH core-updates v2 03/20] gnu: gcc@11: Patch libpthread on GNU/Hurd Ludovic Courtès
2023-03-28 14:28       ` [bug#62307] [PATCH core-updates v2 04/20] gnu: cross-base: Factor out cross-mig Ludovic Courtès
2023-03-28 14:28       ` [bug#62307] [PATCH core-updates v2 05/20] gnu: cross-base: Add cross arguments to hurd derivatives Ludovic Courtès
2023-03-28 14:28       ` [bug#62307] [PATCH core-updates v2 06/20] gnu: cross-base: Removed useless inputs to xhurd-core-headers Ludovic Courtès
2023-03-28 14:28       ` [bug#62307] [PATCH core-updates v2 07/20] gnu: mig: Update to 1.8+git20220827 Ludovic Courtès
2023-03-28 14:28       ` [bug#62307] [PATCH core-updates v2 08/20] gnu: gnumach: " Ludovic Courtès
2023-03-28 14:28       ` [bug#62307] [PATCH core-updates v2 09/20] gnu: hurd: Update to 3ff7053 Ludovic Courtès
2023-03-28 14:28       ` [bug#62307] [PATCH core-updates v2 10/20] gnu: hurd: Remove useless glibc/hurd-headers input Ludovic Courtès
2023-03-28 14:28       ` [bug#62307] [PATCH core-updates v2 11/20] gnu: gnumach, hurd-headers, hurd: Switch to using cross-mig Ludovic Courtès
2023-03-28 14:28       ` [bug#62307] [PATCH core-updates v2 12/20] gnu: hurd: Update DDE and use libdde_linux26 Ludovic Courtès
2023-03-28 14:28       ` [bug#62307] [PATCH core-updates v2 13/20] gnu: mig/32-bit: Remove Ludovic Courtès
2023-03-28 14:28       ` [bug#62307] [PATCH core-updates v2 14/20] system: hurd: Use shepherd-0.8 in the package list Ludovic Courtès
2023-03-28 14:28       ` [bug#62307] [PATCH core-updates v2 15/20] gnu: linux-pam: Switch to gexps Ludovic Courtès
2023-03-28 14:28       ` [bug#62307] [PATCH core-updates v2 16/20] gnu: linux-pam: Allow compilation on GNU/Hurd Ludovic Courtès
2023-03-28 14:28       ` [bug#62307] [PATCH core-updates v2 17/20] gnu: guile-static: Switch to gexps Ludovic Courtès
2023-03-28 14:28       ` [bug#62307] [PATCH core-updates v2 18/20] gnu: guile: " Ludovic Courtès
2023-03-28 14:28       ` [bug#62307] [PATCH core-updates v2 19/20] gnu: guile-readline: " Ludovic Courtès
2023-03-28 14:28       ` [bug#62307] [PATCH core-updates v2 20/20] gnu: guile: Fix 'posix_spawn' usage for GNU/Hurd Ludovic Courtès
2023-03-28 17:07       ` [bug#62307] [PATCH core-updates v2 00/20] Update Hurd and fix build failures Josselin Poiret via Guix-patches via
2023-03-30 10:48         ` bug#62307: " Ludovic Courtès
2023-03-20 22:10 ` [bug#62307] [PATCH core-updates 02/15] gnu-build-system: Sneak fixed glibc when cross-building for Hurd Josselin Poiret via Guix-patches via
2023-03-20 22:10 ` [bug#62307] [PATCH core-updates 03/15] gcc-11: Patch libstdc++ libpthread issue for Hurd only Josselin Poiret via Guix-patches via
2023-03-22 16:28   ` [bug#62307] [PATCH core-updates 00/15] Update Hurd and fix build failures Ludovic Courtès
2023-03-20 22:10 ` [bug#62307] [PATCH core-updates 04/15] cross-base: Factor out cross-mig Josselin Poiret via Guix-patches via
2023-03-20 22:10 ` [bug#62307] [PATCH core-updates 05/15] cross-base: Add cross arguments to hurd derivatives Josselin Poiret via Guix-patches via
2023-03-20 22:10 ` [bug#62307] [PATCH core-updates 06/15] cross-base: Removed useless inputs to xhurd-core-headers Josselin Poiret via Guix-patches via
2023-03-20 22:10 ` [bug#62307] [PATCH core-updates 07/15] mig: Update to 1.8+git20220827 Josselin Poiret via Guix-patches via
2023-03-20 22:10 ` [bug#62307] [PATCH core-updates 08/15] gnumach: " Josselin Poiret via Guix-patches via
2023-03-20 22:10 ` [bug#62307] [PATCH core-updates 09/15] hurd: Update to 91a51672ff4cfe1f1a0712b4c542ded3081c825b Josselin Poiret via Guix-patches via
2023-03-20 22:10 ` [bug#62307] [PATCH core-updates 10/15] hurd: Remove useless glibc/hurd-headers input Josselin Poiret via Guix-patches via
2023-03-20 22:10 ` [bug#62307] [PATCH core-updates 11/15] gnumach, hurd-headers, hurd: Switch to using cross-mig Josselin Poiret via Guix-patches via
2023-03-20 22:10 ` [bug#62307] [PATCH core-updates 11/15] gnumach, " Josselin Poiret via Guix-patches via
2023-03-20 22:10 ` [bug#62307] [PATCH core-updates 12/15] hurd: Update DDE and use libdde_linux26 Josselin Poiret via Guix-patches via
2023-03-20 22:10 ` [bug#62307] [PATCH core-updates 13/15] mig/32-bit: Remove Josselin Poiret via Guix-patches via
2023-03-20 22:10 ` [bug#62307] [PATCH core-updates 14/15] system: hurd: Use shepherd-0.8 in the package list Josselin Poiret via Guix-patches via
2023-03-20 22:10 ` [bug#62307] [PATCH core-updates 15/15] system: pam: Only add linux-pam reference if on Linux Josselin Poiret via Guix-patches via
2023-03-22 16:30   ` [bug#62307] [PATCH core-updates 00/15] Update Hurd and fix build failures Ludovic Courtès

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).