From patchwork Tue Nov 12 16:25:09 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Janneke Nieuwenhuizen X-Patchwork-Id: 2988 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 096A927BBEA; Tue, 12 Nov 2024 16:29:33 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-7.6 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_BLOCKED, RCVD_IN_VALIDITY_CERTIFIED,RCVD_IN_VALIDITY_RPBL,RCVD_IN_VALIDITY_SAFE, SPF_HELO_PASS,URIBL_BLOCKED,WEIRD_PORT autolearn=ham autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 65C0927BBE2 for ; Tue, 12 Nov 2024 16:29:31 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tAtlL-00038w-1d; Tue, 12 Nov 2024 11:29:07 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tAtlI-00038Y-2k for guix-patches@gnu.org; Tue, 12 Nov 2024 11:29:04 -0500 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tAtlH-0005c8-RD for guix-patches@gnu.org; Tue, 12 Nov 2024 11:29:03 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=debbugs.gnu.org; s=debbugs-gnu-org; h=MIME-Version:Date:From:To:In-Reply-To:References:Subject; bh=zqf5uapcuNIQvKTX4LaZ/r7GhYHl1V61Nl5cBeDDbEA=; b=TWWUcN6gyPLkbKZhcD/r3K571CuyJPNdOJ6De1/MgbGfypbBNonEBLCejslPSj1jEPsaUpu74gxW7HQ1KX+opHo/Umvn4Vx6eVFsdcuX66rYaoXFihDmZYxP+nRgiMgjVa0KGFAP+0icHj0bo0kCTfeMR8/nDYnINiwF6UmB1NRZwNfwp4ehIehg8j7vfeL4K3U8aMHMdD7HImnIhWG/pb4r53sy94f+uDCQVcJV/Ix/CrjYUEWa5CkC+uBatOOQvnpoIb/zuw5AuREq+KvrHQKFx+QVWx1jGM/TxbBCvALBqeEAs4Za3XFLVca3D0yNZasygpc8pSdcIkIoVixRHg==; Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1tAtlG-0000F5-Bu for guix-patches@gnu.org; Tue, 12 Nov 2024 11:29:02 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#74290] [PATCH v2 00/40] Add support for x86_64-gnu, aka the 64bit Hurd. References: In-Reply-To: Resent-From: Janneke Nieuwenhuizen Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 12 Nov 2024 16:29:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 74290 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 74290@debbugs.gnu.org Cc: Janneke Nieuwenhuizen Received: via spool by 74290-submit@debbugs.gnu.org id=B74290.1731428905857 (code B ref 74290); Tue, 12 Nov 2024 16:29:02 +0000 Received: (at 74290) by debbugs.gnu.org; 12 Nov 2024 16:28:25 +0000 Received: from localhost ([127.0.0.1]:39027 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tAtke-0000Dj-29 for submit@debbugs.gnu.org; Tue, 12 Nov 2024 11:28:24 -0500 Received: from eggs.gnu.org ([209.51.188.92]:34184) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tAtkc-0000DU-0f for 74290@debbugs.gnu.org; Tue, 12 Nov 2024 11:28:23 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tAtiP-0005HJ-RG; Tue, 12 Nov 2024 11:26:05 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:Date:Subject:To:From:in-reply-to: references; bh=zqf5uapcuNIQvKTX4LaZ/r7GhYHl1V61Nl5cBeDDbEA=; b=Y0AAUHM6s2BRJO K64RhfHoqTcVfR+jBY1Zb0HvmhFS11h5oqWd7I89+eGpHb7jet5C6/HpDTqxFuNTH3VJVy8L6ex1+ fZYzMtIMEP9v/WILQLRLjSukZys5NNHeoPbweLr0CaRnc5l2GLolMudguO7FN1a9LLrWwnGEKcQOj 0G2y5M18E54plvHqm4TUW7JV+pWgdIB6F+Ldp3Vp3UOG4RPyBulzVtEnJBg3/9HNomIMATRBx4BXj aQYyIOD+2fM8r8memWcke/ZLMOQrd0tIuPKmfsklUilt9tBdkfQT83IIxTIyx70AkUiYrWfI43IXJ r6Jqv4WwyXiLz0pS7PTw==; From: Janneke Nieuwenhuizen Date: Tue, 12 Nov 2024 17:25:09 +0100 Message-ID: X-Mailer: git-send-email 2.46.0 MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches From: "Janneke Nieuwenhuizen" 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 ). 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