From patchwork Mon Mar 20 22:07:26 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Josselin Poiret X-Patchwork-Id: 1368 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 B265B16F32; Mon, 20 Mar 2023 22:08:29 +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=0.2 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, FROM_SUSPICIOUS_NTLD,MAILING_LIST_MULTI,PDS_OTHER_BAD_TLD, RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,URIBL_BLOCKED autolearn=no 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 9EC8E16F13 for ; Mon, 20 Mar 2023 22:08:28 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1peNfg-0002i4-Hi; Mon, 20 Mar 2023 18:08:04 -0400 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 1peNfe-0002hu-VZ for guix-patches@gnu.org; Mon, 20 Mar 2023 18:08:03 -0400 Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1peNfe-0001Ve-N7 for guix-patches@gnu.org; Mon, 20 Mar 2023 18:08:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1peNfe-0007Ch-3I for guix-patches@gnu.org; Mon, 20 Mar 2023 18:08:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#62307] [PATCH core-updates 00/15] Update Hurd and fix build failures Resent-From: Josselin Poiret Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 20 Mar 2023 22:08:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 62307 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 62307@debbugs.gnu.org Cc: Josselin Poiret X-Debbugs-Original-To: guix-patches@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.167935006427665 (code B ref -1); Mon, 20 Mar 2023 22:08:01 +0000 Received: (at submit) by debbugs.gnu.org; 20 Mar 2023 22:07:44 +0000 Received: from localhost ([127.0.0.1]:56959 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1peNfM-0007C9-Au for submit@debbugs.gnu.org; Mon, 20 Mar 2023 18:07:44 -0400 Received: from lists.gnu.org ([209.51.188.17]:35104) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1peNfJ-0007Bz-T3 for submit@debbugs.gnu.org; Mon, 20 Mar 2023 18:07:42 -0400 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 1peNfJ-0002h8-HI for guix-patches@gnu.org; Mon, 20 Mar 2023 18:07:41 -0400 Received: from jpoiret.xyz ([206.189.101.64]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1peNfG-0001TV-Ir for guix-patches@gnu.org; Mon, 20 Mar 2023 18:07:41 -0400 Received: from authenticated-user (jpoiret.xyz [206.189.101.64]) by jpoiret.xyz (Postfix) with ESMTPA id 6B5D9185326; Mon, 20 Mar 2023 22:07:33 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jpoiret.xyz; s=dkim; t=1679350053; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=wwCY8b9jRanVKImGOmqR9c1uRGxUpbjkR6JeIlOxMV4=; b=OU2kt4tRskVBBA40iJgrI9Jn3h63e6jvR+aFFFhUbfFCGYePGSGc3mhzGydbH24qfpGbqh MHaSQqrKIiH2PN835QmPPe08bptrAhGIcrGdM1BAPHARrgGnkMdWGrUFUkNSxhCZuvhAwK R8afvGBQ+OCuXcR4p/gwD0tV9k+kqfKF+FrPYw/COA9phxaXwPYknn6ev1upiWqyki50Y7 PqQ4RFekTNIBuUr8HsJG5fjtcT9PAlOoYuSRNPgbIYxOGJls1QGKX17FniX/41PJ9MuBtc /D+0cwvR1HAa4NF4qd+TK7tXloo36bDMkwIYQoOAsG9/W4zq3X4TmP/W07dXWQ== Date: Mon, 20 Mar 2023 23:07:26 +0100 Message-Id: MIME-Version: 1.0 Authentication-Results: jpoiret.xyz; auth=pass smtp.auth=jpoiret@jpoiret.xyz smtp.mailfrom=dev@jpoiret.xyz X-Spamd-Bar: ++++ Received-SPF: pass client-ip=206.189.101.64; envelope-from=dev@jpoiret.xyz; helo=jpoiret.xyz X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action 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: , Reply-to: Josselin Poiret X-ACL-Warn: , Josselin Poiret via Guix-patches X-Patchwork-Original-From: Josselin Poiret via Guix-patches via From: Josselin Poiret 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 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