From patchwork Thu Jun 23 19:56:49 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Efraim Flashner X-Patchwork-Id: 40275 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 5F4A027BBEA; Thu, 23 Jun 2022 20:58:16 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.9 required=5.0 tests=BAYES_00,MAILING_LIST_MULTI, SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable 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 24F5A27BBE9 for ; Thu, 23 Jun 2022 20:58:16 +0100 (BST) Received: from localhost ([::1]:41884 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1o4Sxz-0001vE-B0 for patchwork@mira.cbaines.net; Thu, 23 Jun 2022 15:58:15 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37354) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o4Sxm-0001tp-H2 for guix-patches@gnu.org; Thu, 23 Jun 2022 15:58:02 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:46066) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1o4Sxm-0008PC-7t for guix-patches@gnu.org; Thu, 23 Jun 2022 15:58:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1o4Sxm-0005JQ-7K for guix-patches@gnu.org; Thu, 23 Jun 2022 15:58:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#56175] [PATCH 1/4] Revert "gnu: ldc-bootstrap-0.17: Add support for aarch64-linux." Resent-From: Efraim Flashner Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 23 Jun 2022 19:58:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 56175 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 56175@debbugs.gnu.org Cc: Efraim Flashner Received: via spool by 56175-submit@debbugs.gnu.org id=B56175.165601427320404 (code B ref 56175); Thu, 23 Jun 2022 19:58:02 +0000 Received: (at 56175) by debbugs.gnu.org; 23 Jun 2022 19:57:53 +0000 Received: from localhost ([127.0.0.1]:39963 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o4SxO-0005Io-8q for submit@debbugs.gnu.org; Thu, 23 Jun 2022 15:57:53 -0400 Received: from flashner.co.il ([178.62.234.194]:57676) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o4SxL-0005IX-Gw for 56175@debbugs.gnu.org; Thu, 23 Jun 2022 15:57:36 -0400 Received: from localhost (unknown [141.226.14.191]) by flashner.co.il (Postfix) with ESMTPSA id 2C9834016D; Thu, 23 Jun 2022 19:57:29 +0000 (UTC) From: Efraim Flashner Date: Thu, 23 Jun 2022 22:56:49 +0300 Message-Id: X-Mailer: git-send-email 2.36.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" X-getmail-retrieved-from-mailbox: Patches This reverts commit 4f6ed3d2f8531ce1b75dc79365ce67587d8cb7e1. While this does allow building ldc on aarch64, it isn't actually helpful. --- gnu/packages/dlang.scm | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/gnu/packages/dlang.scm b/gnu/packages/dlang.scm index 75e2155c83..403fcbbd6b 100644 --- a/gnu/packages/dlang.scm +++ b/gnu/packages/dlang.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2017 Ricardo Wurmus ;;; Copyright © 2017, 2019 Tobias Geerinckx-Rice ;;; Copyright © 2020 Guy Fleury Iteriteka -;;; Copyright © 2021, 2022 Efraim Flashner +;;; Copyright © 2021 Efraim Flashner ;;; Copyright © 2021 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. @@ -103,17 +103,13 @@ (define ldc-bootstrap-0.17 (sha256 (base32 "1q6hm4fkrcwys83x0p4kfg9xrc1b9g2qicqif2zy5z4nsfsb5vgs")))) (build-system cmake-build-system) - (supported-systems '("x86_64-linux" "i686-linux" - "armhf-linux" "aarch64-linux")) + (supported-systems '("x86_64-linux" "i686-linux" "armhf-linux")) (properties ;; Some of the tests take a very long time on ARMv7. See ;; . `((max-silent-time . ,(* 3600 3)))) (arguments `(#:tests? #f ;requires obsolete python-lit test dependency - ,@(if (target-aarch64?) - '(#:system "armhf-linux") - '()) #:phases (modify-phases %standard-phases (add-after 'unpack 'unpack-submodule-sources From patchwork Thu Jun 23 19:56:50 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Efraim Flashner X-Patchwork-Id: 40276 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 352B827BBEA; Thu, 23 Jun 2022 21:00:12 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.9 required=5.0 tests=BAYES_00,MAILING_LIST_MULTI, SPF_HELO_PASS autolearn=unavailable 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 C213E27BBE9 for ; Thu, 23 Jun 2022 21:00:11 +0100 (BST) Received: from localhost ([::1]:42120 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1o4Szq-00028o-UE for patchwork@mira.cbaines.net; Thu, 23 Jun 2022 16:00:10 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37598) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o4Szi-000272-Eq for guix-patches@gnu.org; Thu, 23 Jun 2022 16:00:02 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:46073) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1o4Szi-0000BB-5g for guix-patches@gnu.org; Thu, 23 Jun 2022 16:00:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1o4Szi-0005N1-4V for guix-patches@gnu.org; Thu, 23 Jun 2022 16:00:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#56175] [PATCH 2/4] gnu: Add gdmd. Resent-From: Efraim Flashner Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 23 Jun 2022 20:00:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 56175 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 56175@debbugs.gnu.org Cc: Efraim Flashner , Esther Flashner Received: via spool by 56175-submit@debbugs.gnu.org id=B56175.165601437720569 (code B ref 56175); Thu, 23 Jun 2022 20:00:02 +0000 Received: (at 56175) by debbugs.gnu.org; 23 Jun 2022 19:59:37 +0000 Received: from localhost ([127.0.0.1]:39967 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o4SzJ-0005Lh-AM for submit@debbugs.gnu.org; Thu, 23 Jun 2022 15:59:37 -0400 Received: from flashner.co.il ([178.62.234.194]:57682) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o4Sz4-0005LF-Gl for 56175@debbugs.gnu.org; Thu, 23 Jun 2022 15:59:36 -0400 Received: from localhost (unknown [141.226.14.191]) by flashner.co.il (Postfix) with ESMTPSA id 8E2694016D; Thu, 23 Jun 2022 19:59:16 +0000 (UTC) From: Efraim Flashner Date: Thu, 23 Jun 2022 22:56:50 +0300 Message-Id: <05854af00eb9719e90a0f326d8d7ad53de19c110.1656013840.git.efraim@flashner.co.il> X-Mailer: git-send-email 2.36.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" X-getmail-retrieved-from-mailbox: Patches From: Esther Flashner * gnu/packages/dlang.scm (gdmd): New variable. Co-authored-by: Efraim Flashner --- gnu/packages/dlang.scm | 45 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 44 insertions(+), 1 deletion(-) diff --git a/gnu/packages/dlang.scm b/gnu/packages/dlang.scm index 403fcbbd6b..43f24d4033 100644 --- a/gnu/packages/dlang.scm +++ b/gnu/packages/dlang.scm @@ -5,8 +5,9 @@ ;;; Copyright © 2017 Ricardo Wurmus ;;; Copyright © 2017, 2019 Tobias Geerinckx-Rice ;;; Copyright © 2020 Guy Fleury Iteriteka -;;; Copyright © 2021 Efraim Flashner +;;; Copyright © 2021, 2022 Efraim Flashner ;;; Copyright © 2021 Maxim Cournoyer +;;; Copyright © 2022 Esther Flashner ;;; ;;; This file is part of GNU Guix. ;;; @@ -28,19 +29,23 @@ (define-module (gnu packages dlang) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix git-download) + #:use-module (guix gexp) #:use-module (guix utils) #:use-module ((guix build utils) #:hide (delete which)) #:use-module (guix build-system gnu) #:use-module (guix build-system cmake) + #:use-module (guix build-system copy) #:use-module (gnu packages) #:use-module (gnu packages base) #:use-module (gnu packages check) #:use-module (gnu packages compression) #:use-module (gnu packages curl) + #:use-module (gnu packages gcc) #:use-module (gnu packages gdb) #:use-module (gnu packages libedit) #:use-module (gnu packages llvm) #:use-module (gnu packages ninja) + #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages python-xyz) @@ -86,6 +91,44 @@ (define-public rdmd and freshness without requiring additional information from the user.") (license license:boost1.0))) +(define-public gdmd + (let ((commit "ff2c97a47408fb71c18a2d453294d18808a97cc5") + (revision "1")) + (package + (name "gdmd") + (version (git-version "0.1.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/D-Programming-GDC/gdmd") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0pd70clk70069xcjysaas7zszzmigrcw1zl2xxv8kzdg7y7xrzvm")))) + (build-system copy-build-system) + (arguments + (list + #:install-plan + #~'(("dmd-script" "bin/gdmd") + ("dmd-script.1" "share/man/man1/gdmd.1")) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'adjust-gdc-location + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "dmd-script" + (("my \\$gdc_dir.*") + (string-append "my $gdc_dir = \"" + (dirname (search-input-file inputs "/bin/gdc")) + "\";\n")))))))) + (inputs + (list gdc-10 perl)) + (home-page "https://github.com/D-Programming-GDC/gdmd") + (synopsis "DMD-like wrapper for GDC") + (description "This package provides a DMD-like wrapper for the +@acronym{GNU D Compiler,GDC}.") + (license license:gpl3+)))) + ;;; The 0.17.6 version is the last release to support being bootstrapped ;;; without a D compiler (requiring only a C++ compiler). ;;; TODO: Bootstrap ldc from GDC (the D frontend for GCC). From patchwork Thu Jun 23 19:56:51 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Efraim Flashner X-Patchwork-Id: 40277 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 EE0A327BBEA; Thu, 23 Jun 2022 21:00:40 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.9 required=5.0 tests=BAYES_00,MAILING_LIST_MULTI, SPF_HELO_PASS autolearn=unavailable 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 B8E0E27BBE9 for ; Thu, 23 Jun 2022 21:00:40 +0100 (BST) Received: from localhost ([::1]:42344 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1o4T0J-0002IE-So for patchwork@mira.cbaines.net; Thu, 23 Jun 2022 16:00:39 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37600) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o4Szj-00028R-6U for guix-patches@gnu.org; Thu, 23 Jun 2022 16:00:03 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:46074) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1o4Szi-0000CE-Sa for guix-patches@gnu.org; Thu, 23 Jun 2022 16:00:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1o4Szi-0005NA-Q2 for guix-patches@gnu.org; Thu, 23 Jun 2022 16:00:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#56175] [PATCH 3/4] gnu: ldc-bootstrap-1.27: Build with gdmd. Resent-From: Efraim Flashner Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 23 Jun 2022 20:00:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 56175 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 56175@debbugs.gnu.org Cc: Efraim Flashner , Esther Flashner Received: via spool by 56175-submit@debbugs.gnu.org id=B56175.165601439820603 (code B ref 56175); Thu, 23 Jun 2022 20:00:02 +0000 Received: (at 56175) by debbugs.gnu.org; 23 Jun 2022 19:59:58 +0000 Received: from localhost ([127.0.0.1]:39970 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o4Szd-0005MF-QC for submit@debbugs.gnu.org; Thu, 23 Jun 2022 15:59:57 -0400 Received: from flashner.co.il ([178.62.234.194]:57690) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o4Szb-0005M0-Do for 56175@debbugs.gnu.org; Thu, 23 Jun 2022 15:59:55 -0400 Received: from localhost (unknown [141.226.14.191]) by flashner.co.il (Postfix) with ESMTPSA id 718E94016D; Thu, 23 Jun 2022 19:59:49 +0000 (UTC) From: Efraim Flashner Date: Thu, 23 Jun 2022 22:56:51 +0300 Message-Id: <4f23fd3ff907e0a65cb46bdac4359a958341884b.1656013840.git.efraim@flashner.co.il> X-Mailer: git-send-email 2.36.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" X-getmail-retrieved-from-mailbox: Patches From: Esther Flashner * gnu/packages/dlang.scm (ldc-bootstrap-1.27)[native-inputs]: Replace ldc-bootstrap-1.24 with gdmd. [supported-systems]: Mark all systems supported. Co-authored-by: Efraim Flashner --- gnu/packages/dlang.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/dlang.scm b/gnu/packages/dlang.scm index 43f24d4033..514919a75b 100644 --- a/gnu/packages/dlang.scm +++ b/gnu/packages/dlang.scm @@ -317,7 +317,8 @@ (define ldc-bootstrap-1.27 (fold alist-replace (package-native-inputs ldc-bootstrap-1.24) '("ldc" "llvm") - `((,ldc-bootstrap-1.24) (,llvm-11)))))) + `((,gdmd) (,llvm-11)))) + (supported-systems %supported-systems))) (define-public ldc (package From patchwork Thu Jun 23 19:56:52 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Efraim Flashner X-Patchwork-Id: 40278 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 A32A027BBEA; Thu, 23 Jun 2022 21:01:33 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.9 required=5.0 tests=BAYES_00,MAILING_LIST_MULTI, SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable 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 ED76927BBE9 for ; Thu, 23 Jun 2022 21:01:32 +0100 (BST) Received: from localhost ([::1]:42612 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1o4T1A-0002ZM-4i for patchwork@mira.cbaines.net; Thu, 23 Jun 2022 16:01:32 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37836) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o4T0i-0002Xc-5u for guix-patches@gnu.org; Thu, 23 Jun 2022 16:01:04 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:46078) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1o4T0g-0000da-Ck for guix-patches@gnu.org; Thu, 23 Jun 2022 16:01:03 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1o4T0g-0005Q7-94 for guix-patches@gnu.org; Thu, 23 Jun 2022 16:01:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#56175] [PATCH 4/4] gnu: Remove unneeded ldc bootstrap packages. Resent-From: Efraim Flashner Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 23 Jun 2022 20:01:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 56175 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 56175@debbugs.gnu.org Cc: Efraim Flashner Received: via spool by 56175-submit@debbugs.gnu.org id=B56175.165601443020787 (code B ref 56175); Thu, 23 Jun 2022 20:01:02 +0000 Received: (at 56175) by debbugs.gnu.org; 23 Jun 2022 20:00:30 +0000 Received: from localhost ([127.0.0.1]:39975 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o4T0A-0005PD-1Q for submit@debbugs.gnu.org; Thu, 23 Jun 2022 16:00:30 -0400 Received: from flashner.co.il ([178.62.234.194]:57694) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o4T08-0005Oy-4M for 56175@debbugs.gnu.org; Thu, 23 Jun 2022 16:00:28 -0400 Received: from localhost (unknown [141.226.14.191]) by flashner.co.il (Postfix) with ESMTPSA id 42D7E4016D; Thu, 23 Jun 2022 20:00:22 +0000 (UTC) From: Efraim Flashner Date: Thu, 23 Jun 2022 22:56:52 +0300 Message-Id: <44bde1070a56447137768cce5a8185a8b70e44b6.1656013840.git.efraim@flashner.co.il> X-Mailer: git-send-email 2.36.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" X-getmail-retrieved-from-mailbox: Patches * gnu/packages/dlang.scm (ldc-bootstrap-0.17, ldc-bootstrap-1.12, ldc-bootstrap-1.24): Remove packages. (ldc-bootstrap-1.27): Rename to ldc-bootstrap. Absorb inherited package adjustments. (ldc): Adjust to ldc-bootstrap-1.27 renaming. --- gnu/packages/dlang.scm | 207 +++++++++-------------------------------- 1 file changed, 44 insertions(+), 163 deletions(-) diff --git a/gnu/packages/dlang.scm b/gnu/packages/dlang.scm index 514919a75b..cc7abacd29 100644 --- a/gnu/packages/dlang.scm +++ b/gnu/packages/dlang.scm @@ -129,99 +129,71 @@ (define-public gdmd @acronym{GNU D Compiler,GDC}.") (license license:gpl3+)))) -;;; The 0.17.6 version is the last release to support being bootstrapped -;;; without a D compiler (requiring only a C++ compiler). -;;; TODO: Bootstrap ldc from GDC (the D frontend for GCC). -(define ldc-bootstrap-0.17 +;; We use GDC, the D frontend for GCC, to bootstrap ldc. We then use +;; ldc to bootstrap itself so that no reference remains to GDC. +(define ldc-bootstrap (package (name "ldc") - (version "0.17.6") + (version "1.27.1") (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/ldc-developers/ldc") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) + (method url-fetch) + (uri (string-append "https://github.com/ldc-developers/ldc/releases" + "/download/v" version "/ldc-" version "-src.tar.gz")) (sha256 - (base32 "1q6hm4fkrcwys83x0p4kfg9xrc1b9g2qicqif2zy5z4nsfsb5vgs")))) + (base32 "1775001ba6n8w46ln530kb5r66vs935ingnppgddq8wqnc0gbj4k")))) (build-system cmake-build-system) - (supported-systems '("x86_64-linux" "i686-linux" "armhf-linux")) - (properties - ;; Some of the tests take a very long time on ARMv7. See - ;; . - `((max-silent-time . ,(* 3600 3)))) (arguments - `(#:tests? #f ;requires obsolete python-lit test dependency + `(#:tests? #f ;skip in the bootstrap + #:build-type "Release" + #:configure-flags + (list "-GNinja") + #:make-flags ;used as build targets + (list "all") #:phases (modify-phases %standard-phases - (add-after 'unpack 'unpack-submodule-sources - (lambda* (#:key inputs #:allow-other-keys) - (let ((unpack (lambda (input target) - (let ((source (assoc-ref inputs input))) - ;; Git checkouts are directories as long as - ;; there are no patches; tarballs otherwise. - (if (file-is-directory? source) - (copy-recursively source target) - (with-directory-excursion target - (invoke "tar" "xvf" source - "--strip-components=1"))))))) - (unpack "phobos-src" "runtime/phobos") - (unpack "druntime-src" "runtime/druntime") - (unpack "dmd-testsuite-src" "tests/d2/dmd-testsuite")))) - (add-after 'unpack-submodule-sources 'patch-paths + (add-after 'unpack 'patch-paths (lambda* (#:key inputs #:allow-other-keys) (substitute* "runtime/phobos/std/process.d" (("/bin/sh") (which "sh")) - (("echo") (which "echo"))) - (substitute* "runtime/phobos/std/datetime.d" - (("/usr/share/zoneinfo/") - (string-append (assoc-ref inputs "tzdata") "/share/zoneinfo")) - (("tzName == \"[+]VERSION\"") - "(tzName == \"+VERSION\" || \ -std.algorithm.endsWith(tzName, \"/leapseconds\"))"))))))) + (("echo") (which "echo"))))) + (replace 'build + ;; Building with Make would result in "make: *** [Makefile:166: + ;; all] Error 2". + (lambda* (#:key make-flags parallel-tests? #:allow-other-keys) + (let ((job-count (number->string (or (and parallel-tests? + (parallel-job-count)) + 1)))) + (apply invoke "cmake" "--build" "." "-j" job-count + "--target" make-flags)))) + (replace 'install + (lambda _ + (invoke "cmake" "--install" ".")))))) (inputs `(("libconfig" ,libconfig) ("libedit" ,libedit) ("tzdata" ,tzdata) ("zlib" ,zlib))) (native-inputs - `(("llvm" ,llvm-6) + ;; Importing (gnu packages commencement) would introduce a cycle. + `(("ld-gold-wrapper" ,(module-ref (resolve-interface + '(gnu packages commencement)) + 'ld-gold-wrapper)) + ("llvm" ,llvm-11) + ("ldc" ,gdmd) + ("ninja" ,ninja) ("python-wrapper" ,python-wrapper) - ("unzip" ,unzip) - ("phobos-src" - ,(origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/ldc-developers/phobos") - (commit (string-append "ldc-v" version)))) - (file-name (git-file-name "phobos" version)) - (sha256 - (base32 "15jzs38wanks2jfp2izzl7zqrp4c8ai54ppsgm8ws86p3sbbkmj8")))) - ("druntime-src" - ,(origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/ldc-developers/druntime") - (commit (string-append "ldc-v" version)))) - (file-name (git-file-name "druntime" version)) - (sha256 - (base32 "00wr2kiggwnd8h7by51fhj1xc65hv1ysip5gbgdbkfar58p2d0bb")))) - ("dmd-testsuite-src" - ,(origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/ldc-developers/dmd-testsuite") - (commit (string-append "ldc-v" version)))) - (file-name (git-file-name "dmd-testsuite" version)) - (sha256 - (base32 "1d1c0979wbippldrkjf7szyj4n87hxz8dwqg1r5b3aai37g9kcky")))))) + ("unzip" ,unzip))) (home-page "http://wiki.dlang.org/LDC") (synopsis "LLVM-based compiler for the D programming language") (description "LDC is an LLVM compiler for the D programming language. It is based on the latest DMD compiler that was written in C and is used for bootstrapping more recent compilers written in D.") + (properties + ;; Some of the tests take a very long time on ARMv7. See + ;; . + `((max-silent-time . ,(* 3600 3)))) ;; Most of the code is released under BSD-3, except for code originally ;; written for GDC, which is released under GPLv2+, and the DMD frontend, ;; which is released under the "Boost Software License version 1.0". @@ -229,102 +201,11 @@ (define ldc-bootstrap-0.17 license:gpl2+ license:boost1.0)))) -;;; This is the last version that supports being built with 32 bit machines -;;; from 0.17. -(define ldc-bootstrap-1.12 - (package - (inherit ldc-bootstrap-0.17) - (version "1.12.0") - (source - (origin - (method url-fetch) - ;; The official release include the matching source code releases of - ;; phobos, druntime and dmd-testsuite. - (uri (string-append "https://github.com/ldc-developers/ldc/releases" - "/download/v" version "/ldc-" version "-src.tar.gz")) - (sha256 - (base32 "1fdma1w8j37wkr0pqdar11slkk36qymamxnk6d9k8ybhjmxaaawm")))) - (arguments - (substitute-keyword-arguments (package-arguments ldc-bootstrap-0.17) - ((#:build-type _ #f) "Release") - ((#:configure-flags _ #f) - `(list "-GNinja")) - ((#:make-flags _ #f) ;used as build targets - `(list "all")) - ((#:tests? _) #f) - ((#:phases phases) - `(modify-phases ,phases - (delete 'unpack-submodule-sources) - (replace 'patch-paths - (lambda* (#:key inputs #:allow-other-keys) - (substitute* '("runtime/phobos/std/process.d") - (("/bin/sh") (which "sh")) - (("echo") (which "echo"))))) - (replace 'build - ;; Building with Make would result in "make: *** [Makefile:166: - ;; all] Error 2". - (lambda* (#:key make-flags parallel-tests? #:allow-other-keys) - (let ((job-count (number->string (or (and parallel-tests? - (parallel-job-count)) - 1)))) - (apply invoke "cmake" "--build" "." "-j" job-count - "--target" make-flags)))) - (replace 'install - (lambda _ - (invoke "cmake" "--install" "."))))))) - (native-inputs - ;; Importing (gnu packages commencement) would introduce a cycle. - `(("ld-gold-wrapper" ,(module-ref (resolve-interface - '(gnu packages commencement)) - 'ld-gold-wrapper)) - ("llvm" ,llvm-6) - ("ldc" ,ldc-bootstrap-0.17) - ("ninja" ,ninja) - ("python-wrapper" ,python-wrapper) - ("unzip" ,unzip))))) - -;;; For 32 bits systems, 1.12 cannot build 1.27 directly, so we need another -;;; hop. -(define ldc-bootstrap-1.24 - (package - (inherit ldc-bootstrap-1.12) - (version "1.24.0") - (source - (origin - (method url-fetch) - (uri (string-append "https://github.com/ldc-developers/ldc/releases" - "/download/v" version "/ldc-" version "-src.tar.gz")) - (sha256 - (base32 "0g5svf55i0kq55q49awmwqj9qi1n907cyrn1vjdjgs8nx6nn35gx")))) - (native-inputs - (fold alist-replace - (package-native-inputs ldc-bootstrap-1.12) - '("ldc" "llvm") - `((,ldc-bootstrap-1.12) (,llvm-11)))))) - -(define ldc-bootstrap-1.27 - (package - (inherit ldc-bootstrap-1.24) - (version "1.27.1") - (source - (origin - (method url-fetch) - (uri (string-append "https://github.com/ldc-developers/ldc/releases" - "/download/v" version "/ldc-" version "-src.tar.gz")) - (sha256 - (base32 "1775001ba6n8w46ln530kb5r66vs935ingnppgddq8wqnc0gbj4k")))) - (native-inputs - (fold alist-replace - (package-native-inputs ldc-bootstrap-1.24) - '("ldc" "llvm") - `((,gdmd) (,llvm-11)))) - (supported-systems %supported-systems))) - (define-public ldc (package - (inherit ldc-bootstrap-1.27) + (inherit ldc-bootstrap) (arguments - (substitute-keyword-arguments (package-arguments ldc-bootstrap-1.27) + (substitute-keyword-arguments (package-arguments ldc-bootstrap) ((#:make-flags _ #f) '(list "all" ;; Also build the test runner binaries. @@ -458,8 +339,8 @@ (define (gnu-triplet->clang-arch system) "-E" "dmd-testsuite|lit-tests|ldc2-unittest"))))))))) (native-inputs (append (delete "llvm" - (alist-replace "ldc" (list ldc-bootstrap-1.27) - (package-native-inputs ldc-bootstrap-1.27))) + (alist-replace "ldc" (list ldc-bootstrap) + (package-native-inputs ldc-bootstrap))) `(("clang" ,clang-11) ;propagates llvm and clang-runtime ("python-lit" ,python-lit))))))