From patchwork Thu Feb 6 14:36:32 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Efraim Flashner X-Patchwork-Id: 38324 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 0409627BBEA; Thu, 6 Feb 2025 14:37:32 +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=-8.6 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_BLOCKED, RCVD_IN_MSPIKE_H2,RCVD_IN_VALIDITY_CERTIFIED,RCVD_IN_VALIDITY_RPBL, RCVD_IN_VALIDITY_SAFE,SPF_HELO_PASS,URIBL_BLOCKED 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 AEF7027BBE2 for ; Thu, 6 Feb 2025 14:37:31 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tg305-0001cm-1R; Thu, 06 Feb 2025 09:37:05 -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 1tg302-0001cF-Vd for guix-patches@gnu.org; Thu, 06 Feb 2025 09:37:03 -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 1tg302-0003hh-Mk for guix-patches@gnu.org; Thu, 06 Feb 2025 09:37:02 -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:References:In-Reply-To:Date:From:To:Subject; bh=5tHtbVIk5Izlr6TjfopNjldJhJ43W+pK2BUqRAz6/Z8=; b=FNajoa5D0Yuys0B4O8NLM1WGF2H4vUKB6EtFroJ1ZN/X+LYIdnpEu3pIdOYrlZsjMJVjqTRB1/fHE+qJth09AnRB3if9T8NI9tMEJWf0cY+lNQJ4g9GPf5lb3TC7UmPpR4YJjQsfxVqaj2lP3lvlIVeALYBYao99v+hwKOZfquIY5N+98eE26MmaNI9JAAwmkDnQqbtFcFBxWcNyrIb5DpUp+JFn5ZVKpOHP+WPEbJQFVgJ03BJzcAMkmEQ2Lm/HuIHulJiAO6uoEe3k8SsLspeb6eyz4rTINxAbrgqBYvEduk5tAwF7pMoIuLij0UbkU56DiDP9a4k4DFPYsq35GA==; Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1tg302-0005xV-GZ for guix-patches@gnu.org; Thu, 06 Feb 2025 09:37:02 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#76098] [PATCH 1/4] Makefile.am: Add riscv64-linux as a supported-system. Resent-From: Efraim Flashner Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 06 Feb 2025 14:37:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 76098 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 76098@debbugs.gnu.org Cc: Efraim Flashner Received: via spool by 76098-submit@debbugs.gnu.org id=B76098.173885261822877 (code B ref 76098); Thu, 06 Feb 2025 14:37:02 +0000 Received: (at 76098) by debbugs.gnu.org; 6 Feb 2025 14:36:58 +0000 Received: from localhost ([127.0.0.1]:55062 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tg2zx-0005wu-K4 for submit@debbugs.gnu.org; Thu, 06 Feb 2025 09:36:58 -0500 Received: from mail-wm1-x334.google.com ([2a00:1450:4864:20::334]:51575) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1tg2zu-0005wS-E2 for 76098@debbugs.gnu.org; Thu, 06 Feb 2025 09:36:55 -0500 Received: by mail-wm1-x334.google.com with SMTP id 5b1f17b1804b1-436249df846so6680765e9.3 for <76098@debbugs.gnu.org>; Thu, 06 Feb 2025 06:36:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1738852608; x=1739457408; darn=debbugs.gnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:from:to:cc:subject:date :message-id:reply-to; bh=5tHtbVIk5Izlr6TjfopNjldJhJ43W+pK2BUqRAz6/Z8=; b=gmtHjxcN0im059br8Tim5cPVev4vMwd2tJmGkpziBw5lQP/kLJytTtgAQyfgAK1mPl WWIfrCAnaRKzL5IkFgT4lu2dToOz8OfWQjNl8lRp4tiNJxcXLJt7ZwJ6WhU6ppP5MmID RsGw/G6CUmKLxvh30KrfvMQmcgRNez7Od6C9bwKh0OAt4kubK+cuALX2ofTATQvJwQz3 cQncNftsOp9uH5Ol0SEnmA9fIMHCa6fZ6fyvoJ7wxlIKAUwUl/BlDYBsQOzIGuwQlAPP xPPufVtFk89RGLo2KNN1TkboLVsIOKzxRlgB24cIa6R4cbb07kwAKHmYD1krcWkes3Hz d7CQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738852608; x=1739457408; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=5tHtbVIk5Izlr6TjfopNjldJhJ43W+pK2BUqRAz6/Z8=; b=rZLfelTUc0WSYNBet/MlSO4ARx8tYUUvu+OYQiJY4v2iKFQOOkFDMuQcR8i4CqQC10 Y/OLB4TyrpeE0jVYx9uSq+2GvM2g0hPIiALGyxB9n27au+5QSDVIrw6w6QKWThzA/yO2 svokrEzXaCoyVTyt6u0wgIk8ZM+KWj2pwO6I6/OuvsV3Gb3RME/BBeZGJTkHwzDguzRK jhp4aVmGkhwHhRpyEUDsRPokFQ75l5caWTIAXXRWuf1cVlO8Sbgv2nmC6sWvhMcLULMw D/Z0uNulp5LtwH0mZUg4YbwHf6CH1u5SBTrkpDmyayGaH94iMHGUdSF7wWMSe+Xidrc3 xgNA== X-Gm-Message-State: AOJu0Yy/xFMPTo1bUVqbxpWR3qykMBBEgsX+3itAwBh8RAY7Wp64uplb FPBdeqRQiA2LM+YZmTQpYKYmR0fcF77Q4MKU+rBB4avDjVT6AU2cFsoalPMt X-Gm-Gg: ASbGnctW3PAh+yxuaRsDZUFRkyM29gW1Jg8oXMVNrxL5GiVYKaK2UhTR9TF2d73cbHX B+IkNQsmInSSqfTAamdJpSAELHGG8md5wt/t//l2VrMsy2lX+KSHBwtwebf75KCArTCZpjQy+D3 W9cwfwM7I8SNIrHGemqxPjNh660sEv0ihVdsdzPwRRdQJrl+yycywiT9BXr5bEYlymSOSsgZ9h5 M8IerazCsyj5DhzJQ8wXvV+tQ0kHH5n5a7Nl8FSp3hn0XEaEh2MIrukNZ1wfytbrSgmSOapYfnP f8bzxh4OxGza9WUPTTDv X-Google-Smtp-Source: AGHT+IGaZrOJ9lJHsoKlqfDbxXEPMEQAWUBObPQKuY7YseS8yXI7aWdIAOpJWtKU2JAL9mKweRGS+g== X-Received: by 2002:a05:600c:3111:b0:431:5aea:95f with SMTP id 5b1f17b1804b1-4390d43ddddmr72035195e9.16.1738852607464; Thu, 06 Feb 2025 06:36:47 -0800 (PST) Received: from localhost ([141.226.10.168]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-38dbde0fb31sm1900430f8f.65.2025.02.06.06.36.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Feb 2025 06:36:47 -0800 (PST) From: Efraim Flashner Date: Thu, 6 Feb 2025 16:36:32 +0200 Message-ID: X-Mailer: git-send-email 2.47.1 In-Reply-To: References: 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 * Makefile.am (SUPPORTED_SYSTEMS): Add riscv64-linux. Change-Id: Ie8a18500b73b39f0702af64a5c9cb988ffd77250 --- Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile.am b/Makefile.am index de884548188..ad8bb907515 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1070,7 +1070,7 @@ SOURCE_TARBALLS = \ # Systems supported by Guix. SUPPORTED_SYSTEMS ?= x86_64-linux i686-linux armhf-linux aarch64-linux \ - powerpc64le-linux + powerpc64le-linux riscv64-linux # Guix binary tarballs. BINARY_TARBALLS = \ From patchwork Thu Feb 6 14:36:33 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Efraim Flashner X-Patchwork-Id: 38323 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 05BF027BBEA; Thu, 6 Feb 2025 14:37:11 +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=-8.6 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_BLOCKED, RCVD_IN_MSPIKE_H2,RCVD_IN_VALIDITY_CERTIFIED,RCVD_IN_VALIDITY_RPBL, RCVD_IN_VALIDITY_SAFE,SPF_HELO_PASS,URIBL_BLOCKED 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 4708C27BBE2 for ; Thu, 6 Feb 2025 14:37:10 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tg305-0001cu-VA; Thu, 06 Feb 2025 09:37:05 -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 1tg303-0001cO-FX for guix-patches@gnu.org; Thu, 06 Feb 2025 09:37:03 -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 1tg303-0003hr-72 for guix-patches@gnu.org; Thu, 06 Feb 2025 09:37: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:References:In-Reply-To:Date:From:To:Subject; bh=xNPusilf4pIxukM9UEIM6/SOVhzlFhpc/QMlVAkhKKg=; b=YiZ3SUp9U6wxhikpEzXr05ZPmM3a/eA3DbZTRG3oVZyHubY6C3Oa+EZIqXfisEa6m0DqUqKZi97wV5JlVrOmtog8L9REsod2T5NLgxzRH7onrH2aL+e5RHjpwT/M/kd+2/78K8iU8k+uh9ba0i1PUk4zAO8+rGqOQApoHiaPlu5mTNJY1VYhnJNY6vMljTzwUZwi6BX3upDYc5urdimIAZN1ycmqI9+jVnxns8WjtegSHmbzsNnJeqnn3r3FUyOlDpiZlBdyOeC7If+VlgMYUoZs48t6iyxYIH7V5lxcvbOrw31yGQbVJlWTdBQNMTtMqsP2R3U2sW+vxogJXx3xHA==; Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1tg303-0005xd-2l for guix-patches@gnu.org; Thu, 06 Feb 2025 09:37:03 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#76098] [PATCH 2/4] etc: manifests/release: Adjust for changes in Guix. Resent-From: Efraim Flashner Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 06 Feb 2025 14:37:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 76098 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 76098@debbugs.gnu.org Cc: Efraim Flashner Received: via spool by 76098-submit@debbugs.gnu.org id=B76098.173885262122893 (code B ref 76098); Thu, 06 Feb 2025 14:37:03 +0000 Received: (at 76098) by debbugs.gnu.org; 6 Feb 2025 14:37:01 +0000 Received: from localhost ([127.0.0.1]:55065 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tg300-0005x9-6v for submit@debbugs.gnu.org; Thu, 06 Feb 2025 09:37:01 -0500 Received: from mail-wr1-x42b.google.com ([2a00:1450:4864:20::42b]:59791) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1tg2zw-0005wZ-BZ for 76098@debbugs.gnu.org; Thu, 06 Feb 2025 09:36:57 -0500 Received: by mail-wr1-x42b.google.com with SMTP id ffacd0b85a97d-38db0146117so453263f8f.3 for <76098@debbugs.gnu.org>; Thu, 06 Feb 2025 06:36:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1738852610; x=1739457410; darn=debbugs.gnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:from:to:cc:subject:date :message-id:reply-to; bh=xNPusilf4pIxukM9UEIM6/SOVhzlFhpc/QMlVAkhKKg=; b=Ew/Wt1ly2COtCGu08S3HgeBC4AnE9OQUEJfbIx2S1gFVZcqt6AdTGT5j/1hLYtWS3e fEJPOP2qieZ17O0u0+eLKd8mto9XCrtDoVi2OAfaQLtmmTjogb8z6ZNkdHqo5twVgn8c VjwnFH9+fD0U3GzHiBs8y2Z5ytxHCR97GPJqzhbpy2+7QOQp+RcUsi416yreynBrI1Hk jQC0lL2l2RfwCPVS5c8ysz27BAtLIa6dKpL0XaRkbXulXQ2KEUk4agbO/N9GcPF3pjhk vzzOYkXyf2U5NE7ASdrakfaiu4xGqEjrObfVx7GK5H6fH4OgynTCPbdXwCiWnI2AMbOM xx1w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738852610; x=1739457410; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=xNPusilf4pIxukM9UEIM6/SOVhzlFhpc/QMlVAkhKKg=; b=p8LVHablLkMOr7TdYoZfUZD2FzS5aVRc/zRXjHyLiIre/0pJ4vz2f3LTuixOMLg6P8 1fN3CjgSJZrhQSxk3QMHSYQckjK30TjdrLA/vNlo8ZISJRv2HYmPIcJzYX0aRw8nV6i1 tn3MT/PRHWgGDTDhPZMUy+MaPa8pvP0sndpfNWJUl65pl6cpRbRffEtS7NgmNQphHn+7 +URGHbGZo8rNjjKX7YiU9Zt9U1eDC7xcAIPPczIwzIbIS1WslFIU6tANoOF3JEZS23xr qJRFmh/gKuUiiERBZQLkxr+YgJPxe2FAQPog9pjqHoEHD/83Q45iKoEXB1uAvar+GRWp RSQA== X-Gm-Message-State: AOJu0YzsRlM7Y9bZfwRrB38gmHm+nhywbzae6BIyUYBTwbDvnYDSK1Ce viOegJ6Vv9TnGCKmX8SVeh4t6ZCZixWST/ja3rly5rzSTJ5NoBS7jHSKNcVF X-Gm-Gg: ASbGncv9HNIIr3LMNXLpDNdokchsxfvdwo7H004RQkl17BW2H9P50lHVRI2DN5RdCd9 RfzLEDjZ/SNBpbLdWE2HkWbjfXFKII12LdA5nGa3OBN5LHxbHGzjBJgXAkCYaUpDWs1NgyzcC8E F2s+dUWwXYjKth0p01AwAv3HGIKgJCM1Y6uS4h5i5VcjR79LItfWF7wsFsbhCxafunsmoIVuffa tJggnIp0yn2Bz0MXNvyPU0UPJWuxAVt508J9Mc/N/jQ5a5bGhTCGMr+nTseDMUjfHaf7Ack33Ej IeaME4KfyirXs9GHjSEV X-Google-Smtp-Source: AGHT+IG/6oufWDECBGQLQ31jLruTEo5Xc/1cpWPk/NIRrAGneb7a4fO6vulV0XPQLNLq9ti/QSK+ZA== X-Received: by 2002:a5d:47a8:0:b0:38a:88a0:2234 with SMTP id ffacd0b85a97d-38db4860dd7mr4378101f8f.4.1738852609832; Thu, 06 Feb 2025 06:36:49 -0800 (PST) Received: from localhost ([141.226.10.168]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-38dbde1dcc7sm1866405f8f.88.2025.02.06.06.36.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Feb 2025 06:36:49 -0800 (PST) From: Efraim Flashner Date: Thu, 6 Feb 2025 16:36:33 +0200 Message-ID: X-Mailer: git-send-email 2.47.1 In-Reply-To: References: 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 * etc/manifests/release.scm (%base-packages): Replace with %base-packages from (gnu system). (%system-packages): Adjust the packages which are depended upon by the installer. Add a set of extra packages which we expect to have available. (%packages-to-cross-build): Add zstd and git-minimal. (%cross-manifest): Add riscv64-linux-gnu as a target. Change-Id: I5806fff6bc38d14859f6d7163719841620e28d09 --- etc/manifests/release.scm | 51 +++++++++++++++++++-------------------- 1 file changed, 25 insertions(+), 26 deletions(-) diff --git a/etc/manifests/release.scm b/etc/manifests/release.scm index b003f216fff..d5d86d273e7 100644 --- a/etc/manifests/release.scm +++ b/etc/manifests/release.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2020-2022, 2024 Ludovic Courtès ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen ;;; Copyright © 2023 Andreas Enge +;;; Copyright © 2025 Efraim Flashner ;;; ;;; This file is part of GNU Guix. ;;; @@ -26,6 +27,7 @@ (guix profiles) ((guix platform) #:select (targets)) ((gnu services xorg) #:select (%default-xorg-modules)) + ((gnu system) #:prefix gnu-system: #:select (%base-packages)) (guix utils) (guix gexp) (srfi srfi-1) @@ -47,9 +49,9 @@ (define* (package->manifest-entry* package system (define %base-packages ;; Packages that must be substitutable on all the platforms Guix supports. - (map specification->package - '("bootstrap-tarballs" "gcc-toolchain" "nss-certs" - "openssh" "emacs" "vim" "python" "guile" "guix"))) + ;; Use the %base-packages from (gnu system) since they are included by default + ;; in the packages field of the operating system configuration. + gnu-system:%base-packages) (define %base-packages/armhf ;; The guix package doesn't build natively on armhf due to Guile memory @@ -67,14 +69,17 @@ (define %base-packages/hurd (define %system-packages ;; Key packages proposed by the Guix System installer. (append (map specification->package - '("xorg-server" "xfce" "gnome" "mate" "enlightenment" - "openbox" "awesome" "i3-wm" "ratpoison" + '("gnome" "xfce" "mate" "enlightenment" + "openbox" "awesome" + "i3-wm" "i3status" "dmenu" "st" + "ratpoison" "xterm" "emacs" "emacs-exwm" "emacs-desktop-environment" - "xlockmore" "slock" "libreoffice" - "connman" "network-manager" "network-manager-applet" - "openssh" "ntp" "tor" - "linux-libre" "grub-hybrid" - "icecat")) + "openssh" "tor" "ntp" "gpm" + "connman" "network-manager" "wpa-supplicant" "isc-dhcp" "cups" + "linux-libre" "grub-hybrid")) + ;; Additional key packages we want to make sure are available + (map specification->package + '("emacs" "icecat" "libreoffice" "vim")) %default-xorg-modules)) (define %packages-to-cross-build @@ -84,11 +89,12 @@ (define %packages-to-cross-build (append (list (@ (gnu packages guile) guile-3.0/pinned)) (map specification->package '("coreutils" "grep" "sed" "findutils" "diffutils" "patch" - "gawk" "gettext" "gzip" "xz" + "gawk" "gettext" "gzip" "xz" "zstd" "git-minimal" "hello" "zlib")))) (define %packages-to-cross-build-for-mingw - ;; Many things don't build for MinGW. Restrict to what's known to work. + ;; Many things don't build for MinGW. Restrict to what's known to work + ;; to test that the cross-compiler itself works. (map specification->package '("hello"))) (define %cross-bootstrap-targets @@ -107,14 +113,10 @@ (define %base-manifest (manifest (append-map (lambda (system) (map (cut package->manifest-entry* <> system) - (cond ((string=? system "i586-gnu") + (cond ((target-hurd? system) %base-packages/hurd) - ((string=? system "armhf-linux") + ((target-arm32? system) %base-packages/armhf) - ((string=? system "powerpc64le-linux") - ;; FIXME: Drop 'bootstrap-tarballs' until - ;; is fixed. - (drop %base-packages 1)) (else %base-packages)))) %cuirass-supported-systems))) @@ -123,7 +125,7 @@ (define %system-manifest (manifest (append-map (lambda (system) ;; Some of %SYSTEM-PACKAGES are currently unsupported on some - ;; systems--e.g., GNOME on non-x86_64, due to Rust. Filter + ;; systems--e.g., GNOME on 32-bit, due to Rust. Filter ;; them out. (filter-map (lambda (package) (and (supported-package? package system) @@ -131,6 +133,8 @@ (define %system-manifest %system-packages)) '("x86_64-linux" "i686-linux")))) ;Guix System +;; As per the Guix Survey of 2024 we only worry about cross compiling from +;; x86_64-linux (98% of users) and not from others (aarch64 with 19%). (define %cross-manifest (manifest (append-map (lambda (target) @@ -153,12 +157,7 @@ (define %cross-manifest ;; Ignore bare-metal targets. "avr" "or1k-elf" - "xtensa-ath9k-elf" - - ;; XXX: Important bits like libsigsegv and libffi don't - ;; support RISCV at the moment, so don't require RISCV - ;; support. - "riscv64-linux-gnu"))))) + "xtensa-ath9k-elf"))))) (define %cross-bootstrap-manifest (manifest @@ -168,7 +167,7 @@ (define %cross-bootstrap-manifest "x86_64-linux" #:target target)) %cross-bootstrap-targets))) -;; Return the union of all three manifests. +;; Return the union of all four manifests. (concatenate-manifests (list %base-manifest %system-manifest %cross-manifest From patchwork Thu Feb 6 14:36:34 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Efraim Flashner X-Patchwork-Id: 38325 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 0EBD327BBEA; Thu, 6 Feb 2025 14:38:42 +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=-8.6 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_BLOCKED, RCVD_IN_MSPIKE_H2,RCVD_IN_VALIDITY_CERTIFIED,RCVD_IN_VALIDITY_RPBL, RCVD_IN_VALIDITY_SAFE,SPF_HELO_PASS,URIBL_BLOCKED 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 CF90927BBE2 for ; Thu, 6 Feb 2025 14:38:40 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tg31E-0001xP-A3; Thu, 06 Feb 2025 09:38:16 -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 1tg310-0001qe-MO for guix-patches@gnu.org; Thu, 06 Feb 2025 09:38:03 -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 1tg310-0003vT-DK for guix-patches@gnu.org; Thu, 06 Feb 2025 09:38:02 -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:References:In-Reply-To:Date:From:To:Subject; bh=yOyeH1DM3H8omt7buJ7p70Hz0Wxi2Yh5TURHjKi2Xd0=; b=mZmUUKPQne6wz+NPzb8Ec8UuUaZRmABwMsRUHN8hy2Mbau58pw8fk2FRMgFxU2GX6YiFeC0PWONsLVlF15WOD3xDc27/wMvvJBk6liBHkImxSrFWxo3upFN4CfhpP6njU3ZLfiS+mUTmY4iPWFVhK5JKDUCx11UKp/C/e5AXRvmqYp28/dLRvu4ZOO4rjmOsuUGc1fzberjyfA0gLikIxvbEvX06SiNwvjiLiAgH+ybsBm5T5DPQJwvBSNlNyxg7MGW5MInd5MzXX21rYldJf27fXJPkalQQv+VpgH7IE4p9wXge9PvJck7gfNQAjNGgHI6kJmvNih4vuemFAKvy3g==; Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1tg310-0005zZ-49 for guix-patches@gnu.org; Thu, 06 Feb 2025 09:38:02 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#76098] [PATCH 3/4] etc: Add installer manifest. Resent-From: Efraim Flashner Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 06 Feb 2025 14:38:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 76098 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 76098@debbugs.gnu.org Cc: Efraim Flashner Received: via spool by 76098-submit@debbugs.gnu.org id=B76098.173885262522931 (code B ref 76098); Thu, 06 Feb 2025 14:38:02 +0000 Received: (at 76098) by debbugs.gnu.org; 6 Feb 2025 14:37:05 +0000 Received: from localhost ([127.0.0.1]:55070 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tg304-0005xl-DU for submit@debbugs.gnu.org; Thu, 06 Feb 2025 09:37:05 -0500 Received: from mail-wm1-x32a.google.com ([2a00:1450:4864:20::32a]:48544) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1tg2zz-0005wc-3u for 76098@debbugs.gnu.org; Thu, 06 Feb 2025 09:36:59 -0500 Received: by mail-wm1-x32a.google.com with SMTP id 5b1f17b1804b1-436ce2ab251so6520975e9.1 for <76098@debbugs.gnu.org>; Thu, 06 Feb 2025 06:36:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1738852613; x=1739457413; darn=debbugs.gnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:from:to:cc:subject:date :message-id:reply-to; bh=yOyeH1DM3H8omt7buJ7p70Hz0Wxi2Yh5TURHjKi2Xd0=; b=I+TxbBvHNdImFkDhzvvDCbI4vgjo+EoI6OqrtFQgwGHDnRbcqZz4HzXIyf+SIAQKR+ gADMJFy1s0OAJiWO3ly/YlyYKktB618gj4WuJKMXRRa3lB/9malVmR+YUZeua+h5eYGs 7PShClEWFA7zKYKxWsWG9smAYqWZO0TB/s4vJm1z2F5kFw/9fDdR8AZi1zs2Zno+dOQq J1tfpLSLaICLju6Ai8ThvqbVt32gN4whRb+Abax0wI0eV1f7x1GbvuiTjJvXSuQGhteC HpN1aIRiu3jSxiDIMzvG5NqIGnRK7Q9/6Skov0FXJI2Lq1swPzrba7rNEQ/OkogcX61T cBng== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738852613; x=1739457413; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=yOyeH1DM3H8omt7buJ7p70Hz0Wxi2Yh5TURHjKi2Xd0=; b=VdSwXb9RDCqOaAcNT3qeI2A+zjUFWZE0BhY9FfeRKybCU8v1fLq4rhuH8flcxUM2Ud ga5NqvLyIEPH9E6U1/8u2DR8jv4tFS8vhMxbDwNpzFUs58oSSyu2GGAB35c8YBqBXC3k noUL0TyGhfQRp5wgfKU6d+BqvFI00K1mwN86lLsocRNmp2izN1dZsfuG5izLmwaH/db8 xirenTkDNi9tilSMxVbHr/RTWCy89fLMVSZHb2G24ZGy2OE+AEgegdFe1BI+jE198cod xMPO/lDiuwM2ySTb+rMVf/Jum+4lDLCFCE5zu52XLA32OxWe+KWXnZM/tz0Bd4ZWaLVr dQcw== X-Gm-Message-State: AOJu0YxQTWDpUMZ+C4sHBb+vgtRsdQ4vTXIcodRewiCDSe1yR/aN7WFP mRtrnUiIJaCRrMyhKEUwI/no4Um+jlXnhNBV0Rhhm+ID6l00xtHFoed9Qwet X-Gm-Gg: ASbGncvVSHP20ZmsMhr0yJED1fktcIVRaykxlbXGtm4QCCY+iFQQ0AKsuAFdl0YJut5 6Sk/VS/7HqNPsP3hLR/FCBlzG5ynpyEW/nxdL76RkNNwzgM4Ic7pDOGBW4BHhS2va0qBUllj9xt OaBo5zn/jGmWDV9Y6qkVbQeFQZbnRoJRyx/2glGeTac7JLvIH4L3st+mQwIqcZsk+8vpHq3Rt9B lbPzO2wdqAGjuRhgs0KgZtnA75DqzbSRpKF3KcqJOMPydLOqOSZgwzClMozz7kcUsauAZxktrYj S2DF+RgmQxniQ1eCTztG X-Google-Smtp-Source: AGHT+IHZ86JnwyPIyFRIzd8FtqxCz8RHWSNu2+vyK3wTw0Q2PUHuwE89/2awiE34on/z+LSghos08A== X-Received: by 2002:a05:600c:1c91:b0:434:fbda:1f44 with SMTP id 5b1f17b1804b1-4390d56141dmr52023105e9.19.1738852612665; Thu, 06 Feb 2025 06:36:52 -0800 (PST) Received: from localhost ([141.226.10.168]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4391dcae84csm20957185e9.19.2025.02.06.06.36.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Feb 2025 06:36:51 -0800 (PST) From: Efraim Flashner Date: Thu, 6 Feb 2025 16:36:34 +0200 Message-ID: <136a425368c9707e3097f7c57adb809d24a6689c.1738851574.git.efraim@flashner.co.il> X-Mailer: git-send-email 2.47.1 In-Reply-To: References: 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 * etc/manifests/installer.scm: New file. * Makefile.am (GUIX_SYSTEM_SUPPORTED_SYSTEMS): Rename to GUIX_SYSTEM_INSTALLER_SYSTEMS. (assert-binaries-available): Check for substitutes using the installer manifest. Change-Id: I5c15e6916583bcd56e535733f284f3a735d7600b --- Makefile.am | 13 +++-- etc/manifests/installer.scm | 112 ++++++++++++++++++++++++++++++++++++ 2 files changed, 119 insertions(+), 6 deletions(-) create mode 100644 etc/manifests/installer.scm diff --git a/Makefile.am b/Makefile.am index ad8bb907515..f2a5bcf5f7b 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1076,8 +1076,9 @@ SUPPORTED_SYSTEMS ?= x86_64-linux i686-linux armhf-linux aarch64-linux \ BINARY_TARBALLS = \ $(foreach system,$(SUPPORTED_SYSTEMS),guix-binary.$(system).tar.xz) -# Systems supported by Guix System. -GUIX_SYSTEM_SUPPORTED_SYSTEMS ?= x86_64-linux i686-linux +# Systems supported by the Guix System installer. +# A Hurd install happens from a Linux installer image. +GUIX_SYSTEM_INSTALLER_SYSTEMS ?= x86_64-linux i686-linux # Systems for which we build Guix VMs. GUIX_SYSTEM_VM_SYSTEMS ?= x86_64-linux @@ -1138,10 +1139,10 @@ release: dist-with-updated-version all # Build 'current-guix' to speed things up for the next step. $(top_builddir)/pre-inst-env guix build \ -e '((@ (gnu packages package-management) current-guix))' \ - $(call system_flags,$(GUIX_SYSTEM_SUPPORTED_SYSTEMS)) \ + $(call system_flags,$(GUIX_SYSTEM_INSTALLER_SYSTEMS)) \ -v1 --no-grafts --fallback # Generate the ISO installation images. - for system in $(GUIX_SYSTEM_SUPPORTED_SYSTEMS) ; do \ + for system in $(GUIX_SYSTEM_INSTALLER_SYSTEMS) ; do \ GUIX_DISPLAYED_VERSION="`git describe --match=v* | sed -'es/^v//'`" ; \ image=`$(top_builddir)/pre-inst-env \ guix system image -t iso9660 \ @@ -1205,11 +1206,11 @@ assert-no-store-file-names: exit 1 ; \ fi -# Make sure important substitutes are available. Check only the primary +# Make sure installer substitutes are available. Check only the primary # server so that '--display-missing' doesn't print two lists. assert-binaries-available: $(GOBJECTS) $(AM_V_at)$(top_builddir)/pre-inst-env \ - guix weather -m "$(top_srcdir)/etc/manifests/release.scm" \ + guix weather -m "$(top_srcdir)/etc/manifests/installer.scm" \ --substitute-urls="https://ci.guix.gnu.org" \ --display-missing diff --git a/etc/manifests/installer.scm b/etc/manifests/installer.scm new file mode 100644 index 00000000000..264cb4bab8e --- /dev/null +++ b/etc/manifests/installer.scm @@ -0,0 +1,112 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2020, 2021 Ludovic Courtès +;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen +;;; Copyright © 2025 Efraim Flashner +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +;;; This file returns a manifest containing packages which are needed by the +;;; installer. + +(use-modules (gnu packages) + (guix packages) + (guix profiles) + ((guix platform) #:select (targets)) + ((gnu services xorg) #:select (%default-xorg-modules)) + ((gnu system) #:select (%base-packages %base-packages-linux)) + (guix utils) + (guix gexp) + (srfi srfi-1) + (srfi srfi-26)) + +(define* (package->manifest-entry* package system + #:key target) + "Return a manifest entry for PACKAGE on SYSTEM, optionally cross-compiled to +TARGET." + (manifest-entry + (inherit (package->manifest-entry package)) + (name (string-append (package-name package) "." system + (if target + (string-append "." target) + "'"))) + (item (with-parameters ((%current-system system) + (%current-target-system target)) + package)))) + +(define %guix-system-installer-systems + ;; Only the systems listed in GUIX_SYSTEM_INSTALLER_SYSTEMS + '("x86_64-linux" "i686-linux" + ;; These would be installed from their Linux counterparts: + ;"x86_64-gnu" "i586-gnu" + ;; Not actually for the installer, but needs the same packages anyway. + "aarch64-linux")) + +(define %base-packages/hurd + ;; Remove the packages from %base-packages-linux and some of the packages + ;; from the other package sets. + (fold delete %base-packages + (append (map specification->package + '("e2fsprogs" "kbd" "iproute2" "iw" "wireless-tools")) + %base-packages-linux))) + +(define %system-packages + ;; Key packages proposed by the Guix System installer. + (append (map specification->package + '("gnome" "xfce" "mate" "enlightenment" + "openbox" "awesome" + "i3-wm" "i3status" "dmenu" "st" + "ratpoison" "xterm" + "emacs" "emacs-exwm" "emacs-desktop-environment" + "openssh" "tor" "ntp" "gpm" + "connman" "network-manager" "wpa-supplicant" "isc-dhcp" "cups" + "linux-libre" "grub-hybrid")) + %default-xorg-modules)) + + +;;; +;;; Manifests. +;;; + +(define %base-manifest + (manifest + (append-map (lambda (system) + (map (cut package->manifest-entry* <> system) + (cond ((target-hurd? system) + %base-packages/hurd) + (else + %base-packages)))) + %guix-system-installer-systems))) + +(define %system-manifest + (manifest + (cons + ;; linux-libre-arm64-generic is the commonly used kernel on aarch64-linux. + (package->manifest-entry* (@ (gnu packages linux) + linux-libre-arm64-generic) + "aarch64-linux") + (append-map (lambda (system) + ;; Some of %SYSTEM-PACKAGES are currently unsupported on some + ;; systems--e.g., GNOME on 32-bit, due to Rust. Filter + ;; them out. + (filter-map (lambda (package) + (and (supported-package? package system) + (package->manifest-entry* package system))) + %system-packages)) + %guix-system-installer-systems)))) + +;; Return the union of all installer manifests. +(concatenate-manifests (list %base-manifest + %system-manifest)) From patchwork Thu Feb 6 14:36:35 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Efraim Flashner X-Patchwork-Id: 38326 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 C1C4127BBEA; Thu, 6 Feb 2025 14:38:55 +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=-8.6 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_BLOCKED, RCVD_IN_MSPIKE_H2,RCVD_IN_VALIDITY_CERTIFIED,RCVD_IN_VALIDITY_RPBL, RCVD_IN_VALIDITY_SAFE,SPF_HELO_PASS,URIBL_BLOCKED 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 1277E27BBE2 for ; Thu, 6 Feb 2025 14:38:55 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tg313-0001r4-0W; Thu, 06 Feb 2025 09:38:05 -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 1tg311-0001qf-3g for guix-patches@gnu.org; Thu, 06 Feb 2025 09:38:03 -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 1tg310-0003vZ-R2 for guix-patches@gnu.org; Thu, 06 Feb 2025 09:38:02 -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:References:In-Reply-To:Date:From:To:Subject; bh=1Be5NKkEplXq1/YenNSxxTkmCZmurvySSlgHAEb9cOs=; b=d5y1eJ6ovNdY9GfOfPCKd6NWKzvStwr2CG7XTpyhRi19VaaBrnGwQx0quvy4Z8inffgf902mFsIDCOftfV2CdlnNDuwi0x/gUR4KOG96R7FxS/DuO+16NxdJ/KU3TRRSx73ze/x49Mz3RUs0lT9p8dcEYn6DY2lwI1PzQnUXxCJejGufbzIixA7iTB77x8UAYm5tDrz8FEC2BbF9TFVWpFi2ZAJRAApFyM8E9W3Z4GwMKf71xE3j9z7taj7i5z8XkcIcO3pOYGD3xEXEE+SIGRF8QcT+UMJspAPMpY2Zf0BhKswbBZkEPS3cb3IvvHjnJuwVu35GbFbONnY96MtluQ==; Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1tg310-0005zg-Ls for guix-patches@gnu.org; Thu, 06 Feb 2025 09:38:02 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#76098] [PATCH 4/4] etc: Add cross-compile manifest. Resent-From: Efraim Flashner Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 06 Feb 2025 14:38:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 76098 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 76098@debbugs.gnu.org Cc: Efraim Flashner Received: via spool by 76098-submit@debbugs.gnu.org id=B76098.173885262622940 (code B ref 76098); Thu, 06 Feb 2025 14:38:02 +0000 Received: (at 76098) by debbugs.gnu.org; 6 Feb 2025 14:37:06 +0000 Received: from localhost ([127.0.0.1]:55072 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tg305-0005xo-9U for submit@debbugs.gnu.org; Thu, 06 Feb 2025 09:37:06 -0500 Received: from mail-wr1-x435.google.com ([2a00:1450:4864:20::435]:48393) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1tg301-0005wk-7k for 76098@debbugs.gnu.org; Thu, 06 Feb 2025 09:37:02 -0500 Received: by mail-wr1-x435.google.com with SMTP id ffacd0b85a97d-38db8f8786fso508278f8f.1 for <76098@debbugs.gnu.org>; Thu, 06 Feb 2025 06:37:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1738852615; x=1739457415; darn=debbugs.gnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:from:to:cc:subject:date :message-id:reply-to; bh=1Be5NKkEplXq1/YenNSxxTkmCZmurvySSlgHAEb9cOs=; b=ddxYAexgufuzxFIEWsoB4cdRbEkzYQuMtaJ0y/2jOKB4kt/MxK+BCjqZco8Ia6FjzU w6t7tVgnKv51XYh6LU2S+aupUjcG1wLqv8X8nfhaqXoiwtPEJYVH+79NSzhQvOI9hZ3y +8Ne4NENvgKCStjKQOcc2r773Vol9JKWnnO6nR6ZWXcoGxMGal4zXlMWPfzhmyscVlVU oYK5i57SLejmvKUPuqab3itR6MHJH0IldV/NMrt3i7D+5VcCpZ5UjApy/svmIpuCpPu4 NTF5UmTbmSGWi+NTz75Bn2SsU0IntHGmZDQkyQpuk5duSCD/kMmTQwmaMHWKqZsEU6Uw boVQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738852615; x=1739457415; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=1Be5NKkEplXq1/YenNSxxTkmCZmurvySSlgHAEb9cOs=; b=TdAtNNm8BpHYuEc1KWRdKkgR2oZbu9dclGyvKW1J5SgNCpJSzooRK2Uwr3CSJXNeFD qU5KaOxhpjlNEvHCBGsjXY/APjus0Nn+D3YatghqytwsyXdPhbGnDVGcqqxK8XN4M4tD j1lu5f7gsskwsUVP9UkChpVPS54/feg2IZ3PNUAxwGCr8Pt/1owr9yAFNNtFo8EItAC0 ocj//P8OFnwhBknhYce8buYj2MRvFS3GrLn3kFKdvjj6osmy0FO7OfZssmfHmc51Zgwz H68Fq2fYX9Z/J//K3ZEdX4Q4pMyVJnTQf7JpJR2xdL5yJi3XeUqZ/E+f6PpFq15MxLWB /XIw== X-Gm-Message-State: AOJu0YxO6/O+hpN21Oods2DAiMYFau/lcxUsRuxr6mKJw0td73LZTP5O RYpgNfCyYVz66lHyxU5Ec+5LCsxmQqg9v9wXtsk2NI4ljXtq7IlLZtTOhgYg X-Gm-Gg: ASbGncs7YqOdRU1jDlPq899FEA+pdXdiOw7ZPjJtHSF83MKgh6qMkgzvbl4Sbkk7jNI Jh+7YQcUqsvvkZije+3vH25gdDzJQIhYO+4RYvUceSwPPrl72ik6KFQ8Vw274uxdBblZP/prmIY AFijdJWR2c007TfsIeJYnSGwa9HjACAdnCAZE/PlDt/moMsysrdHUUKE2EWwjMNxL/efF4O2y0q /03BlK0fVS1aFzejfCSld9zU9gSUMXmNbc370aq3Z3Dc5phWxxJDG4zklDx1TsrqbPSPKgVNkaY xYcywZx3ZfEPgXqex9Gn X-Google-Smtp-Source: AGHT+IEaYQlfbV+sukLxZZ4bOYiOCrNUfgxI3vn4rc2llGbV/rJcGrnKi6FJCImj+feOThiRa3PpUw== X-Received: by 2002:a5d:59af:0:b0:385:fa20:658b with SMTP id ffacd0b85a97d-38db4880938mr5573832f8f.24.1738852614652; Thu, 06 Feb 2025 06:36:54 -0800 (PST) Received: from localhost ([141.226.10.168]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4391dfc8917sm20645435e9.30.2025.02.06.06.36.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Feb 2025 06:36:54 -0800 (PST) From: Efraim Flashner Date: Thu, 6 Feb 2025 16:36:35 +0200 Message-ID: <1a5c694d0b22eaf82b823d7264fae1c6c2ecfb60.1738851574.git.efraim@flashner.co.il> X-Mailer: git-send-email 2.47.1 In-Reply-To: References: 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 * etc/manifests/cross-compile.scm: New file. Change-Id: I63ac4014617e8d716c508a04c6da553e36a99fec --- etc/manifests/cross-compile.scm | 167 ++++++++++++++++++++++++++++++++ 1 file changed, 167 insertions(+) create mode 100644 etc/manifests/cross-compile.scm diff --git a/etc/manifests/cross-compile.scm b/etc/manifests/cross-compile.scm new file mode 100644 index 00000000000..8754f325564 --- /dev/null +++ b/etc/manifests/cross-compile.scm @@ -0,0 +1,167 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2020-2022, 2024 Ludovic Courtès +;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen +;;; Copyright © 2023 Andreas Enge +;;; Copyright © 2025 Efraim Flashner +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +;;; This file returns a manifest containing packages which should all cross-compile. +;;; We use the packages included by default in an OS configuration since that is +;;; (probably) the most likely install method for some architectures. + +(use-modules (gnu packages) + (guix packages) + (guix profiles) + (guix platform) + ((gnu services xorg) #:select (%default-xorg-modules)) + ((gnu system) #:prefix gnu-system: + #:select (%base-packages %base-packages-linux)) + (guix utils) + (guix gexp) + (srfi srfi-1) + (srfi srfi-26)) + +(define* (package->manifest-entry* package system + #:key target) + "Return a manifest entry for PACKAGE on SYSTEM, optionally cross-compiled to +TARGET." + (manifest-entry + (inherit (package->manifest-entry package)) + (name (string-append (package-name package) "." system + (if target + (string-append "." target) + "'"))) + (item (with-parameters ((%current-system system) + (%current-target-system target)) + package)))) + +(define %base-packages + ;; Packages that must be substitutable on all the platforms Guix supports. + ;; Use the %base-packages from (gnu system) since they are included by default + ;; in the packages field of the operating system configuration. + gnu-system:%base-packages) + +(define %base-packages/hurd + ;; Remove the packages from %base-packages-linux and some of the packages + ;; from the other package sets. + (fold delete %base-packages + (append (map specification->package + '("e2fsprogs" "kbd" "iproute2" "iw" "wireless-tools")) + %base-packages-linux))) + +(define %system-packages + ;; Key packages proposed by the Guix System installer. + (map specification->package + '("guix" "openssh" "tor" "ntp" "gpm" + "connman" "network-manager" "wpa-supplicant" "isc-dhcp" "cups" + "linux-libre" "grub-hybrid"))) + +(define %system-gui-packages + ;; Key packages proposed by the Guix System installer. + (append (map specification->package + '("enlightenment" + ;; build system `python' does not support cross builds + ;"gnome" "xfce" "mate" "openbox" + "awesome" + "i3-wm" "i3status" "dmenu" "st" + "ratpoison" "xterm" + ;; build system `emacs' does not support cross builds + ;"emacs-exwm" "emacs-desktop-environment" + "emacs")) + %default-xorg-modules)) + +(define %packages-to-cross-build + ;; Packages that must be cross-buildable from x86_64-linux. + ;; FIXME: Add (@ (gnu packages gcc) gcc) when + ;; is fixed. + (append (list (@ (gnu packages guile) guile-3.0/pinned)) + (map specification->package + '("coreutils" "grep" "sed" "findutils" "diffutils" "patch" + "gawk" "gettext" "gzip" "xz" "zstd" + "hello" "zlib")))) + +(define %packages-to-cross-build-for-mingw + ;; Many things don't build for MinGW. Restrict to what's known to work + ;; to test that the cross-compiler itself works. + (map specification->package '("hello"))) + + +;;; +;;; Manifests. +;;; + +;; As per the Guix Survey of 2024 we only worry about cross compiling from +;; x86_64-linux (98% of users) and not from others (aarch64 with 19%). +(define %cross-manifest + (manifest + (append-map (lambda (target) + (map (cut package->manifest-entry* <> "x86_64-linux" + #:target target) + (if (target-mingw? target) + %packages-to-cross-build-for-mingw + %packages-to-cross-build))) + (fold delete (targets) + '(;; Disable cross-compilation to self: + "x86_64-linux-gnu" + + ;; mips64el commonly targets a different architecture + ;; revision than we targeted in Guix. + "mips64el-linux-gnu" + + ;; Ignore bare-metal targets. + "avr" + "or1k-elf" + "xtensa-ath9k-elf"))))) + +(define %cross-system + (manifest + (cons* + ;; Include a couple of extra kernels that are commonly used: + (package->manifest-entry* (@ (gnu packages linux) + linux-libre-arm64-generic) + "x86_64-linux" + #:target "aarch64-linux-gnu") + (package->manifest-entry* (@ (gnu packages linux) + linux-libre-arm-generic) + "x86_64-linux" + #:target "arm-linux-gnueabihf") + (package->manifest-entry* (@ (gnu packages linux) + linux-libre-riscv64-generic) + "x86_64-linux" + #:target "riscv64-linux-gnu") + (append-map (lambda (target) + (map (cut package->manifest-entry* <> "x86_64-linux" + #:target target) + (cond + ;; With a graphical environment: + ((or (target-x86-32? target) + (target-aarch64? target)) + (append %base-packages + %system-packages + %system-gui-packages)) + (else (append %base-packages %system-packages))))) + (fold delete (map platform-system->target (systems)) + '(;; Disable cross-compilation to self: + "x86_64-linux-gnu" + + ;; Ignore obsolete systems, as in (gnu ci). + "mips64el-linux-gnu" + "powerpc-linux-gnu")))))) + +;; Return the union of all the manifests. +(concatenate-manifests (list %cross-manifest + %cross-system))