From patchwork Fri May 8 10:37:11 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pierre Neidhardt X-Patchwork-Id: 21929 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 C68D627BBE3; Fri, 8 May 2020 11:38:15 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.9 required=5.0 tests=BAYES_00,MAILING_LIST_MULTI autolearn=unavailable autolearn_force=no version=3.4.2 Received: from lists.gnu.org (lists.gnu.org [IPv6:2001:470:142::17]) by mira.cbaines.net (Postfix) with ESMTP id 89F0527BBE1 for ; Fri, 8 May 2020 11:38:15 +0100 (BST) Received: from localhost ([::1]:58972 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jX0OV-0006sS-4c for patchwork@mira.cbaines.net; Fri, 08 May 2020 06:38:15 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:49414) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jX0OJ-0006hp-Eo for guix-patches@gnu.org; Fri, 08 May 2020 06:38:03 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:33115) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jX0OJ-0002rc-5c for guix-patches@gnu.org; Fri, 08 May 2020 06:38:03 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1jX0OJ-0003V8-3b for guix-patches@gnu.org; Fri, 08 May 2020 06:38:03 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#41135] [Patch v2 1/4] build: asdf-build-system: Use SBCL source in CL packages. References: <20200508064827.1270-1-mail@ambrevar.xyz> In-Reply-To: <20200508064827.1270-1-mail@ambrevar.xyz> Resent-From: Pierre Neidhardt Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Fri, 08 May 2020 10:38:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41135 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41135@debbugs.gnu.org Received: via spool by 41135-submit@debbugs.gnu.org id=B41135.158893427413423 (code B ref 41135); Fri, 08 May 2020 10:38:03 +0000 Received: (at 41135) by debbugs.gnu.org; 8 May 2020 10:37:54 +0000 Received: from localhost ([127.0.0.1]:44658 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jX0O9-0003UR-LY for submit@debbugs.gnu.org; Fri, 08 May 2020 06:37:54 -0400 Received: from relay4-d.mail.gandi.net ([217.70.183.196]:44293) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jX0Ns-0003TN-8q for 41135@debbugs.gnu.org; Fri, 08 May 2020 06:37:52 -0400 X-Originating-IP: 78.199.129.170 Received: from localhost.localdomain (moi44-1-78-199-129-170.fbx.proxad.net [78.199.129.170]) (Authenticated sender: mail@ambrevar.xyz) by relay4-d.mail.gandi.net (Postfix) with ESMTPSA id 61971E0004 for <41135@debbugs.gnu.org>; Fri, 8 May 2020 10:37:28 +0000 (UTC) From: Pierre Neidhardt Date: Fri, 8 May 2020 12:37:11 +0200 Message-Id: <20200508103714.17970-1-mail@ambrevar.xyz> X-Mailer: git-send-email 2.25.1 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 * guix/build/asdf-build-system.scm (copy-files-to-output): Don't attempt to reset timestamps on files without write access. (install): When parent SBCL package is in the inputs, use its source. This way we get possibly patched sources in CL packages as well (e.g. for FFI). This is also useful for sources that generate files on load-op, like cl-unicode. * guix/build-system/asdf.scm (package-with-build-system): Forward the SBCL parent as a native input so that it can be used in the install phase above. --- guix/build-system/asdf.scm | 5 +++- guix/build/asdf-build-system.scm | 40 +++++++++++++++++++++++++++----- 2 files changed, 38 insertions(+), 7 deletions(-) diff --git a/guix/build-system/asdf.scm b/guix/build-system/asdf.scm index f794bf006b..630b99e2bf 100644 --- a/guix/build-system/asdf.scm +++ b/guix/build-system/asdf.scm @@ -230,7 +230,10 @@ set up using CL source package conventions." ((#:phases phases) (list phases-transformer phases)))) (inputs (new-inputs package-inputs)) (propagated-inputs (new-propagated-inputs)) - (native-inputs (new-inputs package-native-inputs)) + (native-inputs (append (if target-is-source? + (list (list (package-name pkg) pkg)) + '()) + (new-inputs package-native-inputs))) (outputs (if target-is-source? '("out") (package-outputs pkg))))) diff --git a/guix/build/asdf-build-system.scm b/guix/build/asdf-build-system.scm index f3f4b49bcf..158d351d1a 100644 --- a/guix/build/asdf-build-system.scm +++ b/guix/build/asdf-build-system.scm @@ -85,7 +85,8 @@ valid." ;; files before compiling. (for-each (lambda (file) (let ((s (lstat file))) - (unless (eq? (stat:type s) 'symlink) + (unless (or (eq? (stat:type s) 'symlink) + (not (access? file W_OK))) (utime file 0 0 0 0)))) (find-files source #:directories? #t)) (copy-recursively source target #:keep-mtime? #t) @@ -97,12 +98,39 @@ valid." (find-files target "\\.asd$")) #t)) -(define* (install #:key outputs #:allow-other-keys) - "Copy and symlink all the source files." +(define* (install #:key inputs outputs #:allow-other-keys) + "Copy and symlink all the source files. +The source files are taken from the corresponding SBCL package if it's present +in the native-inputs." + ;; TODO: Use lisp-type instead of hardcoding SBCL. (define output (assoc-ref outputs "out")) - (copy-files-to-output output - (package-name->name+version - (strip-store-file-name output)))) + (define package-name + (package-name->name+version + (strip-store-file-name output))) + (define no-prefix-name (string-drop package-name (string-length "cl-"))) + (define sbcl-source (or (assoc-ref inputs (string-append "sbcl-" no-prefix-name)) + (assoc-ref inputs (string-append "sbcl-" package-name)))) + + (define (first-subdirectory directory) ; From gnu-build-system. + "Return the file name of the first sub-directory of DIRECTORY." + (match (scandir directory + (lambda (file) + (and (not (member file '("." ".."))) + (file-is-directory? (string-append directory "/" + file))))) + ((first . _) first))) + + (define source-directory + (if (and sbcl-source + (file-exists? + (string-append sbcl-source "/share/common-lisp/sbcl-source/"))) + (let ((source (string-append sbcl-source "/share/common-lisp/sbcl-source/"))) + (string-append source (first-subdirectory source))) + ".")) + (with-directory-excursion source-directory + (copy-files-to-output output + (package-name->name+version + (strip-store-file-name output))))) (define* (copy-source #:key outputs asd-system-name #:allow-other-keys) "Copy the source to the library output." From patchwork Fri May 8 10:37:12 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pierre Neidhardt X-Patchwork-Id: 21928 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 AA63927BBE3; Fri, 8 May 2020 11:38:10 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.9 required=5.0 tests=BAYES_00,MAILING_LIST_MULTI autolearn=unavailable autolearn_force=no version=3.4.2 Received: from lists.gnu.org (lists.gnu.org [IPv6:2001:470:142::17]) by mira.cbaines.net (Postfix) with ESMTP id 6BC4827BBE1 for ; Fri, 8 May 2020 11:38:10 +0100 (BST) Received: from localhost ([::1]:58590 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jX0OP-0006iy-W9 for patchwork@mira.cbaines.net; Fri, 08 May 2020 06:38:10 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:49402) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jX0OI-0006hc-Kn for guix-patches@gnu.org; Fri, 08 May 2020 06:38:02 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:33113) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jX0OI-0002oL-B9 for guix-patches@gnu.org; Fri, 08 May 2020 06:38:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1jX0OI-0003Up-93 for guix-patches@gnu.org; Fri, 08 May 2020 06:38:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#41135] [Patch v2 2/4] gnu: cl-dexador: Fix build with new sbcl-package->cl-source-package function. Resent-From: Pierre Neidhardt Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Fri, 08 May 2020 10:38:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41135 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41135@debbugs.gnu.org Received: via spool by 41135-submit@debbugs.gnu.org id=B41135.158893425813383 (code B ref 41135); Fri, 08 May 2020 10:38:02 +0000 Received: (at 41135) by debbugs.gnu.org; 8 May 2020 10:37:38 +0000 Received: from localhost ([127.0.0.1]:44654 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jX0Nu-0003Tm-2S for submit@debbugs.gnu.org; Fri, 08 May 2020 06:37:38 -0400 Received: from relay4-d.mail.gandi.net ([217.70.183.196]:32775) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jX0Ns-0003TO-77 for 41135@debbugs.gnu.org; Fri, 08 May 2020 06:37:37 -0400 X-Originating-IP: 78.199.129.170 Received: from localhost.localdomain (moi44-1-78-199-129-170.fbx.proxad.net [78.199.129.170]) (Authenticated sender: mail@ambrevar.xyz) by relay4-d.mail.gandi.net (Postfix) with ESMTPSA id EB6B3E0006 for <41135@debbugs.gnu.org>; Fri, 8 May 2020 10:37:29 +0000 (UTC) From: Pierre Neidhardt Date: Fri, 8 May 2020 12:37:12 +0200 Message-Id: <20200508103714.17970-2-mail@ambrevar.xyz> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200508103714.17970-1-mail@ambrevar.xyz> References: <20200508103714.17970-1-mail@ambrevar.xyz> 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/lisp-xyz.scm (cl-dexador)[arguments]: Remove 'reset-gzip-timestamps phase. --- gnu/packages/lisp-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 4f406ded66..6a199c32f9 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -5861,8 +5861,8 @@ neat APIs and connection-pooling. It is meant to supersede Drakma.") ;; asdf-build-system/source has its own phases and does not inherit ;; from asdf-build-system/sbcl phases. (modify-phases %standard-phases/source - (add-after 'unpack 'fix-permissions - (lambda _ (make-file-writable "t/data/test.gz") #t))))))) + ;; Already done in SBCL package. + (delete 'reset-gzip-timestamps)))))) (define-public ecl-dexador (sbcl-package->ecl-package sbcl-dexador)) From patchwork Fri May 8 10:37:13 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pierre Neidhardt X-Patchwork-Id: 21927 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 C83C227BBE3; Fri, 8 May 2020 11:38:09 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.9 required=5.0 tests=BAYES_00,MAILING_LIST_MULTI autolearn=unavailable autolearn_force=no version=3.4.2 Received: from lists.gnu.org (lists.gnu.org [IPv6:2001:470:142::17]) by mira.cbaines.net (Postfix) with ESMTP id 6504227BBE1 for ; Fri, 8 May 2020 11:38:09 +0100 (BST) Received: from localhost ([::1]:58570 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jX0OO-0006i6-TA for patchwork@mira.cbaines.net; Fri, 08 May 2020 06:38:08 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:49410) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jX0OJ-0006hi-1s for guix-patches@gnu.org; Fri, 08 May 2020 06:38:03 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:33114) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jX0OI-0002qH-Ox for guix-patches@gnu.org; Fri, 08 May 2020 06:38:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1jX0OI-0003V1-NH for guix-patches@gnu.org; Fri, 08 May 2020 06:38:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#41135] [Patch v2 3/4] gnu: cl-iolib: Propagate libfixposix or else it won't compile. Resent-From: Pierre Neidhardt Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Fri, 08 May 2020 10:38:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41135 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41135@debbugs.gnu.org Received: via spool by 41135-submit@debbugs.gnu.org id=B41135.158893425813391 (code B ref 41135); Fri, 08 May 2020 10:38:02 +0000 Received: (at 41135) by debbugs.gnu.org; 8 May 2020 10:37:38 +0000 Received: from localhost ([127.0.0.1]:44656 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jX0Nu-0003To-9s for submit@debbugs.gnu.org; Fri, 08 May 2020 06:37:38 -0400 Received: from relay4-d.mail.gandi.net ([217.70.183.196]:51411) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jX0Ns-0003TQ-A8 for 41135@debbugs.gnu.org; Fri, 08 May 2020 06:37:37 -0400 X-Originating-IP: 78.199.129.170 Received: from localhost.localdomain (moi44-1-78-199-129-170.fbx.proxad.net [78.199.129.170]) (Authenticated sender: mail@ambrevar.xyz) by relay4-d.mail.gandi.net (Postfix) with ESMTPSA id 6924DE0007 for <41135@debbugs.gnu.org>; Fri, 8 May 2020 10:37:30 +0000 (UTC) From: Pierre Neidhardt Date: Fri, 8 May 2020 12:37:13 +0200 Message-Id: <20200508103714.17970-3-mail@ambrevar.xyz> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200508103714.17970-1-mail@ambrevar.xyz> References: <20200508103714.17970-1-mail@ambrevar.xyz> 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/lisp-xyz.scm (cl-iolib)[propagated-inputs]: Add libfixposix. --- gnu/packages/lisp-xyz.scm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 6a199c32f9..f8685f8ce1 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -5562,7 +5562,13 @@ and @code{kqueue(2)}), a pathname library and file-system utilities.") ((#:asd-system-name _) "iolib"))))) (define-public cl-iolib - (sbcl-package->cl-source-package sbcl-iolib)) + (let ((parent (sbcl-package->cl-source-package sbcl-iolib))) + (package + (inherit parent) + (propagated-inputs + ;; Need header to compile. + `(("libfixposix" ,libfixposix) + ,@(package-propagated-inputs parent)))))) (define-public sbcl-ieee-floats (let ((commit "566b51a005e81ff618554b9b2f0b795d3b29398d")