From patchwork Fri May 8 17:42:59 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pierre Neidhardt X-Patchwork-Id: 21936 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 81B3B27BBE4; Fri, 8 May 2020 18:44:12 +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, RCVD_IN_MSPIKE_H2 autolearn=unavailable autolearn_force=no version=3.4.2 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTP id C0AE727BBE1 for ; Fri, 8 May 2020 18:44:11 +0100 (BST) Received: from localhost ([::1]:35710 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jX72h-0003Sv-Ao for patchwork@mira.cbaines.net; Fri, 08 May 2020 13:44:11 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:50560) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jX72Y-0003Qj-Su for guix-patches@gnu.org; Fri, 08 May 2020 13:44:02 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:34716) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jX72Y-0001Jq-Iu for guix-patches@gnu.org; Fri, 08 May 2020 13:44:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1jX72Y-0008E9-HK for guix-patches@gnu.org; Fri, 08 May 2020 13:44:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#41135] [Patch v3 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 17:44: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.158895980131550 (code B ref 41135); Fri, 08 May 2020 17:44:02 +0000 Received: (at 41135) by debbugs.gnu.org; 8 May 2020 17:43:21 +0000 Received: from localhost ([127.0.0.1]:46258 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jX71s-0008Cn-Hl for submit@debbugs.gnu.org; Fri, 08 May 2020 13:43:20 -0400 Received: from relay3-d.mail.gandi.net ([217.70.183.195]:40079) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jX71q-0008CL-KZ for 41135@debbugs.gnu.org; Fri, 08 May 2020 13:43:19 -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 relay3-d.mail.gandi.net (Postfix) with ESMTPSA id C598360006 for <41135@debbugs.gnu.org>; Fri, 8 May 2020 17:43:11 +0000 (UTC) From: Pierre Neidhardt Date: Fri, 8 May 2020 19:42:59 +0200 Message-Id: <20200508174302.21921-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 | 54 ++++++++++++++++++++++++++++---- 2 files changed, 52 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..25dd031962 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,53 @@ 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 compile package (e.g. SBCL) +if it's present in the native-inputs." (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 pkgname) + (if (string-index pkgname #\-) + (string-drop pkgname (1+ (string-index pkgname #\-))) + pkgname)) + (define parent + (match (assoc package-name inputs + (lambda (key alist-car) + (let* ((alt-key (no-prefix key)) + (alist-car (no-prefix alist-car))) + (or (string=? alist-car key) + (string=? alist-car alt-key))))) + (#f #f) + (p (cdr p)))) + (define parent-name + (and parent + (package-name->name+version (strip-store-file-name parent)))) + (define parent-source + (and parent + (string-append parent "/share/common-lisp/" + (string-take parent-name + (string-index parent-name #\-)) + "-source"))) + + (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 parent-source + (file-exists? parent-source)) + (string-append parent-source "/" (first-subdirectory parent-source)) + ".")) + + (with-directory-excursion source-directory + (copy-files-to-output output package-name))) (define* (copy-source #:key outputs asd-system-name #:allow-other-keys) "Copy the source to the library output." From patchwork Fri May 8 17:43:00 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pierre Neidhardt X-Patchwork-Id: 21938 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 5AE6927BBE3; Fri, 8 May 2020 18:44:19 +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, RCVD_IN_MSPIKE_H2 autolearn=unavailable autolearn_force=no version=3.4.2 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTP id 1C2B527BBE1 for ; Fri, 8 May 2020 18:44:19 +0100 (BST) Received: from localhost ([::1]:36444 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jX72o-0003nO-LK for patchwork@mira.cbaines.net; Fri, 08 May 2020 13:44:18 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:50564) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jX72Z-0003Rc-RT for guix-patches@gnu.org; Fri, 08 May 2020 13:44:03 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:34718) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jX72Z-0001Jz-EW for guix-patches@gnu.org; Fri, 08 May 2020 13:44:03 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1jX72Z-0008EO-Cr for guix-patches@gnu.org; Fri, 08 May 2020 13:44:03 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#41135] [Patch v3 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 17:44: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.158895980431572 (code B ref 41135); Fri, 08 May 2020 17:44:03 +0000 Received: (at 41135) by debbugs.gnu.org; 8 May 2020 17:43:24 +0000 Received: from localhost ([127.0.0.1]:46262 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jX71w-0008D5-6w for submit@debbugs.gnu.org; Fri, 08 May 2020 13:43:24 -0400 Received: from relay3-d.mail.gandi.net ([217.70.183.195]:60241) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jX71q-0008CM-KZ for 41135@debbugs.gnu.org; Fri, 08 May 2020 13:43:19 -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 relay3-d.mail.gandi.net (Postfix) with ESMTPSA id 691C460002 for <41135@debbugs.gnu.org>; Fri, 8 May 2020 17:43:12 +0000 (UTC) From: Pierre Neidhardt Date: Fri, 8 May 2020 19:43:00 +0200 Message-Id: <20200508174302.21921-2-mail@ambrevar.xyz> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200508174302.21921-1-mail@ambrevar.xyz> References: <20200508174302.21921-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 17:43:01 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pierre Neidhardt X-Patchwork-Id: 21937 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 AF24727BBE1; Fri, 8 May 2020 18:44:12 +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, RCVD_IN_MSPIKE_H2 autolearn=unavailable autolearn_force=no version=3.4.2 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTP id 174BA27BBE3 for ; Fri, 8 May 2020 18:44:12 +0100 (BST) Received: from localhost ([::1]:35740 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jX72h-0003U0-KH for patchwork@mira.cbaines.net; Fri, 08 May 2020 13:44:11 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:50562) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jX72Z-0003R5-GJ for guix-patches@gnu.org; Fri, 08 May 2020 13:44:03 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:34717) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jX72Z-0001Jw-1O for guix-patches@gnu.org; Fri, 08 May 2020 13:44:03 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1jX72Y-0008EG-W9 for guix-patches@gnu.org; Fri, 08 May 2020 13:44:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#41135] [Patch v3 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 17:44: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.158895980431566 (code B ref 41135); Fri, 08 May 2020 17:44:02 +0000 Received: (at 41135) by debbugs.gnu.org; 8 May 2020 17:43:24 +0000 Received: from localhost ([127.0.0.1]:46260 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jX71w-0008D2-0c for submit@debbugs.gnu.org; Fri, 08 May 2020 13:43:24 -0400 Received: from relay3-d.mail.gandi.net ([217.70.183.195]:50917) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jX71q-0008CO-NN for 41135@debbugs.gnu.org; Fri, 08 May 2020 13:43:19 -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 relay3-d.mail.gandi.net (Postfix) with ESMTPSA id DC73C60007 for <41135@debbugs.gnu.org>; Fri, 8 May 2020 17:43:12 +0000 (UTC) From: Pierre Neidhardt Date: Fri, 8 May 2020 19:43:01 +0200 Message-Id: <20200508174302.21921-3-mail@ambrevar.xyz> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200508174302.21921-1-mail@ambrevar.xyz> References: <20200508174302.21921-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") From patchwork Sat May 9 08:50:29 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pierre Neidhardt X-Patchwork-Id: 21945 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 F26A027BBE1; Sat, 9 May 2020 09:51:12 +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, RCVD_IN_MSPIKE_H2,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.2 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTP id 692FC27BBE3 for ; Sat, 9 May 2020 09:51:10 +0100 (BST) Received: from localhost ([::1]:41618 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jXLCP-0004tq-Q7 for patchwork@mira.cbaines.net; Sat, 09 May 2020 04:51:09 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:50020) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jXLCJ-0004rs-G5 for guix-patches@gnu.org; Sat, 09 May 2020 04:51:03 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:35224) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jXLCJ-0000Ip-6q for guix-patches@gnu.org; Sat, 09 May 2020 04:51:03 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1jXLCI-0002Cf-3F for guix-patches@gnu.org; Sat, 09 May 2020 04:51:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#41135] [Patch v3 4/4] gnu: cl-cffi-gtk-gobject: Fix build with new Resent-From: Pierre Neidhardt Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 09 May 2020 08:51: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.15890142438432 (code B ref 41135); Sat, 09 May 2020 08:51:02 +0000 Received: (at 41135) by debbugs.gnu.org; 9 May 2020 08:50:43 +0000 Received: from localhost ([127.0.0.1]:46770 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jXLBy-0002Bv-6I for submit@debbugs.gnu.org; Sat, 09 May 2020 04:50:43 -0400 Received: from relay5-d.mail.gandi.net ([217.70.183.197]:57369) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jXLBv-0002BZ-CC for 41135@debbugs.gnu.org; Sat, 09 May 2020 04:50:40 -0400 X-Originating-IP: 78.199.129.170 Received: from mimimi (moi44-1-78-199-129-170.fbx.proxad.net [78.199.129.170]) (Authenticated sender: mail@ambrevar.xyz) by relay5-d.mail.gandi.net (Postfix) with ESMTPSA id D465A1C0003 for <41135@debbugs.gnu.org>; Sat, 9 May 2020 08:50:30 +0000 (UTC) From: Pierre Neidhardt References: <20200508064827.1270-1-mail@ambrevar.xyz> <20200508174302.21921-1-mail@ambrevar.xyz> Date: Sat, 09 May 2020 10:50:29 +0200 In-Reply-To: <20200508174302.21921-1-mail@ambrevar.xyz> (Pierre Neidhardt's message of "Fri, 8 May 2020 19:42:59 +0200") Message-ID: <87eertsd9m.fsf_-_@ambrevar.xyz> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) 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 (sbcl-cl-cffi-gtk-boot0)[inputs]: Add all inputs. [arguments]: Patch whole source. (sbcl-cl-cffi-gtk-glib)[inputs]: Remove glib. (sbcl-cl-cffi-gtk-glib)[arguments]: Reuse boot0 source. (sbcl-cl-cffi-gtk-gobject)[inputs]: Remove glib. (sbcl-cl-cffi-gtk-gobject)[arguments]: Reuse boot0 source. (sbcl-cl-cffi-gtk-gio)[inputs]: Remove glib. (sbcl-cl-cffi-gtk-gio)[arguments]: Reuse boot0 source. (sbcl-cl-cffi-gtk-cairo)[inputs]: Remove cairo. (sbcl-cl-cffi-gtk-cairo)[arguments]: Reuse boot0 source. (sbcl-cl-cffi-gtk-pango)[inputs]: Remove pango. (sbcl-cl-cffi-gtk-pango)[arguments]: Reuse boot0 source. (sbcl-cl-cffi-gtk-gdk-pixbuf)[inputs]: Remove gdk-pixbuf. (sbcl-cl-cffi-gtk-gdk-pixbuf)[arguments]: Reuse boot0 source. (sbcl-cl-cffi-gtk-gdk-gdk)[inputs]: Remove gtk+. (sbcl-cl-cffi-gtk-gdk-gdk)[arguments]: Reuse boot0 source. (sbcl-cl-cffi-gtk)[arguments]: Reuse boot0 source. --- gnu/packages/lisp-xyz.scm | 341 ++++++++++++++++++-------------------- 1 file changed, 165 insertions(+), 176 deletions(-) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index f8685f8ce1..a5e5548fbf 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -2876,7 +2876,41 @@ Lisp implementations.") (inputs `(("iterate" ,sbcl-iterate) ("cffi" ,sbcl-cffi) - ("trivial-features" ,sbcl-trivial-features))) + ("trivial-features" ,sbcl-trivial-features) + ("glib" ,glib) + ("cairo" ,cairo) + ("pango" ,pango) + ("gdk-pixbuf" ,gdk-pixbuf) + ("gtk" ,gtk+))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-paths + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "glib/glib.init.lisp" + (("libglib|libgthread" all) + (string-append (assoc-ref inputs "glib") "/lib/" all))) + (substitute* "gobject/gobject.init.lisp" + (("libgobject" all) + (string-append (assoc-ref inputs "glib") "/lib/" all))) + (substitute* "gio/gio.init.lisp" + (("libgio" all) + (string-append (assoc-ref inputs "glib") "/lib/" all))) + (substitute* "cairo/cairo.init.lisp" + (("libcairo" all) + (string-append (assoc-ref inputs "cairo") "/lib/" all))) + (substitute* "pango/pango.init.lisp" + (("libpango" all) + (string-append (assoc-ref inputs "pango") "/lib/" all))) + (substitute* "gdk-pixbuf/gdk-pixbuf.init.lisp" + (("libgdk_pixbuf" all) + (string-append (assoc-ref inputs "gdk-pixbuf") "/lib/" all))) + (substitute* "gdk/gdk.init.lisp" + (("libgdk" all) + (string-append (assoc-ref inputs "gtk") "/lib/" all))) + (substitute* "gdk/gdk.package.lisp" + (("libgtk" all) + (string-append (assoc-ref inputs "gtk") "/lib/" all)))))))) (home-page "https://github.com/Ferada/cl-cffi-gtk/") (synopsis "Common Lisp binding for GTK+3") (description @@ -2889,192 +2923,155 @@ is a library for creating graphical user interfaces.") (inherit sbcl-cl-cffi-gtk-boot0) (name "sbcl-cl-cffi-gtk-glib") (inputs - `(("glib" ,glib) - ("bordeaux-threads" ,sbcl-bordeaux-threads) + `(("bordeaux-threads" ,sbcl-bordeaux-threads) ,@(package-inputs sbcl-cl-cffi-gtk-boot0))) (arguments - `(#:asd-file "glib/cl-cffi-gtk-glib.asd" - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-paths - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "glib/glib.init.lisp" - (("libglib|libgthread" all) - (string-append (assoc-ref inputs "glib") "/lib/" all)))))))))) + (substitute-keyword-arguments (package-arguments sbcl-cl-cffi-gtk-boot0) + ((#:asd-file _ "") "glib/cl-cffi-gtk-glib.asd"))))) (define-public sbcl-cl-cffi-gtk-gobject (package (inherit sbcl-cl-cffi-gtk-boot0) (name "sbcl-cl-cffi-gtk-gobject") (inputs - `(("glib" ,glib) - ("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib) + `(("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib) ("trivial-garbage" ,sbcl-trivial-garbage) ("bordeaux-threads" ,sbcl-bordeaux-threads) ("closer-mop" ,sbcl-closer-mop) ,@(package-inputs sbcl-cl-cffi-gtk-boot0))) (arguments - `(#:asd-file "gobject/cl-cffi-gtk-gobject.asd" - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-paths - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "gobject/gobject.init.lisp" - (("libgobject" all) (string-append - (assoc-ref inputs "glib") "/lib/" all))))) - (add-after 'install 'link-source - ;; Since source is particularly heavy (16MiB+), let's reuse it - ;; across the different components of cl-ffi-gtk. - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib") - "/share/common-lisp/sbcl-source/" - "cl-cffi-gtk-glib")) - (out-source (string-append (assoc-ref outputs "out") - "/share/common-lisp/sbcl-source/" - "cl-cffi-gtk-gobject"))) - (delete-file-recursively out-source) - (symlink glib-source out-source) - #t)))))))) + (substitute-keyword-arguments (package-arguments sbcl-cl-cffi-gtk-boot0) + ((#:asd-file _ "") "gobject/cl-cffi-gtk-gobject.asd") + ((#:phases phases) + `(modify-phases ,phases + (add-after 'install 'link-source + ;; Since source is particularly heavy (16MiB+), let's reuse it + ;; across the different components of cl-ffi-gtk. + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib") + "/share/common-lisp/sbcl-source/" + "cl-cffi-gtk-glib")) + (out-source (string-append (assoc-ref outputs "out") + "/share/common-lisp/sbcl-source/" + "cl-cffi-gtk-gobject"))) + (delete-file-recursively out-source) + (symlink glib-source out-source) + #t))))))))) (define-public sbcl-cl-cffi-gtk-gio (package (inherit sbcl-cl-cffi-gtk-boot0) (name "sbcl-cl-cffi-gtk-gio") (inputs - `(("glib" ,glib) - ("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib) + `(("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib) ("cl-cffi-gtk-gobject" ,sbcl-cl-cffi-gtk-gobject) ,@(package-inputs sbcl-cl-cffi-gtk-boot0))) (arguments - `(#:asd-file "gio/cl-cffi-gtk-gio.asd" - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-paths - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "gio/gio.init.lisp" - (("libgio" all) - (string-append - (assoc-ref inputs "glib") "/lib/" all))))) - (add-after 'install 'link-source - ;; Since source is particularly heavy (16MiB+), let's reuse it - ;; across the different components of cl-ffi-gtk. - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib") - "/share/common-lisp/sbcl-source/" - "cl-cffi-gtk-glib")) - (out-source (string-append (assoc-ref outputs "out") - "/share/common-lisp/sbcl-source/" - "cl-cffi-gtk-gio"))) - (delete-file-recursively out-source) - (symlink glib-source out-source) - #t)))))))) + (substitute-keyword-arguments (package-arguments sbcl-cl-cffi-gtk-boot0) + ((#:asd-file _ "") "gio/cl-cffi-gtk-gio.asd") + ((#:phases phases) + `(modify-phases ,phases + (add-after 'install 'link-source + ;; Since source is particularly heavy (16MiB+), let's reuse it + ;; across the different components of cl-ffi-gtk. + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib") + "/share/common-lisp/sbcl-source/" + "cl-cffi-gtk-glib")) + (out-source (string-append (assoc-ref outputs "out") + "/share/common-lisp/sbcl-source/" + "cl-cffi-gtk-gio"))) + (delete-file-recursively out-source) + (symlink glib-source out-source) + #t))))))))) (define-public sbcl-cl-cffi-gtk-cairo (package (inherit sbcl-cl-cffi-gtk-boot0) (name "sbcl-cl-cffi-gtk-cairo") (inputs - `(("cairo" ,cairo) - ("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib) + `(("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib) ,@(package-inputs sbcl-cl-cffi-gtk-boot0))) (arguments - `(#:asd-file "cairo/cl-cffi-gtk-cairo.asd" - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-paths - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "cairo/cairo.init.lisp" - (("libcairo" all) - (string-append - (assoc-ref inputs "cairo") "/lib/" all))))) - (add-after 'install 'link-source - ;; Since source is particularly heavy (16MiB+), let's reuse it - ;; across the different components of cl-ffi-gtk. - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib") - "/share/common-lisp/sbcl-source/" - "cl-cffi-gtk-glib")) - (out-source (string-append (assoc-ref outputs "out") - "/share/common-lisp/sbcl-source/" - "cl-cffi-gtk-cairo"))) - (delete-file-recursively out-source) - (symlink glib-source out-source) - #t)))))))) + (substitute-keyword-arguments (package-arguments sbcl-cl-cffi-gtk-boot0) + ((#:asd-file _ "") "cairo/cl-cffi-gtk-cairo.asd") + ((#:phases phases) + `(modify-phases ,phases + (add-after 'install 'link-source + ;; Since source is particularly heavy (16MiB+), let's reuse it + ;; across the different components of cl-ffi-gtk. + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib") + "/share/common-lisp/sbcl-source/" + "cl-cffi-gtk-glib")) + (out-source (string-append (assoc-ref outputs "out") + "/share/common-lisp/sbcl-source/" + "cl-cffi-gtk-cairo"))) + (delete-file-recursively out-source) + (symlink glib-source out-source) + #t))))))))) (define-public sbcl-cl-cffi-gtk-pango (package (inherit sbcl-cl-cffi-gtk-boot0) (name "sbcl-cl-cffi-gtk-pango") (inputs - `(("pango" ,pango) - ("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib) + `(("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib) ("cl-cffi-gtk-gobject" ,sbcl-cl-cffi-gtk-gobject) ("cl-cffi-gtk-cairo" ,sbcl-cl-cffi-gtk-cairo) ,@(package-inputs sbcl-cl-cffi-gtk-boot0))) (arguments - `(#:asd-file "pango/cl-cffi-gtk-pango.asd" - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-paths - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "pango/pango.init.lisp" - (("libpango" all) - (string-append - (assoc-ref inputs "pango") "/lib/" all))))) - (add-after 'install 'link-source - ;; Since source is particularly heavy (16MiB+), let's reuse it - ;; across the different components of cl-ffi-gtk. - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib") - "/share/common-lisp/sbcl-source/" - "cl-cffi-gtk-glib")) - (out-source (string-append (assoc-ref outputs "out") - "/share/common-lisp/sbcl-source/" - "cl-cffi-gtk-pango"))) - (delete-file-recursively out-source) - (symlink glib-source out-source) - #t)))))))) + (substitute-keyword-arguments (package-arguments sbcl-cl-cffi-gtk-boot0) + ((#:asd-file _ "") "pango/cl-cffi-gtk-pango.asd") + ((#:phases phases) + `(modify-phases ,phases + (add-after 'install 'link-source + ;; Since source is particularly heavy (16MiB+), let's reuse it + ;; across the different components of cl-ffi-gtk. + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib") + "/share/common-lisp/sbcl-source/" + "cl-cffi-gtk-glib")) + (out-source (string-append (assoc-ref outputs "out") + "/share/common-lisp/sbcl-source/" + "cl-cffi-gtk-pango"))) + (delete-file-recursively out-source) + (symlink glib-source out-source) + #t))))))))) (define-public sbcl-cl-cffi-gtk-gdk-pixbuf (package (inherit sbcl-cl-cffi-gtk-boot0) (name "sbcl-cl-cffi-gtk-gdk-pixbuf") (inputs - `(("gdk-pixbuf" ,gdk-pixbuf) - ("cl-cffi-gtk-gobject" ,sbcl-cl-cffi-gtk-gobject) + `(("cl-cffi-gtk-gobject" ,sbcl-cl-cffi-gtk-gobject) ("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib) ,@(package-inputs sbcl-cl-cffi-gtk-boot0))) (arguments - `(#:asd-file "gdk-pixbuf/cl-cffi-gtk-gdk-pixbuf.asd" - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-paths - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "gdk-pixbuf/gdk-pixbuf.init.lisp" - (("libgdk_pixbuf" all) - (string-append - (assoc-ref inputs "gdk-pixbuf") "/lib/" all))))) - (add-after 'install 'link-source - ;; Since source is particularly heavy (16MiB+), let's reuse it - ;; across the different components of cl-ffi-gtk. - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib") - "/share/common-lisp/sbcl-source/" - "cl-cffi-gtk-glib")) - (out-source (string-append (assoc-ref outputs "out") - "/share/common-lisp/sbcl-source/" - "cl-cffi-gtk-gdk-pixbuf"))) - (delete-file-recursively out-source) - (symlink glib-source out-source) - #t)))))))) + (substitute-keyword-arguments (package-arguments sbcl-cl-cffi-gtk-boot0) + ((#:asd-file _ "") "gdk-pixbuf/cl-cffi-gtk-gdk-pixbuf.asd") + ((#:phases phases) + `(modify-phases ,phases + (add-after 'install 'link-source + ;; Since source is particularly heavy (16MiB+), let's reuse it + ;; across the different components of cl-ffi-gtk. + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib") + "/share/common-lisp/sbcl-source/" + "cl-cffi-gtk-glib")) + (out-source (string-append (assoc-ref outputs "out") + "/share/common-lisp/sbcl-source/" + "cl-cffi-gtk-gdk-pixbuf"))) + (delete-file-recursively out-source) + (symlink glib-source out-source) + #t))))))))) (define-public sbcl-cl-cffi-gtk-gdk (package (inherit sbcl-cl-cffi-gtk-boot0) (name "sbcl-cl-cffi-gtk-gdk") (inputs - `(("gtk" ,gtk+) - ("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib) + `(("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib) ("cl-cffi-gtk-gobject" ,sbcl-cl-cffi-gtk-gobject) ("cl-cffi-gtk-gio" ,sbcl-cl-cffi-gtk-gio) ("cl-cffi-gtk-gdk-pixbuf" ,sbcl-cl-cffi-gtk-gdk-pixbuf) @@ -3082,32 +3079,23 @@ is a library for creating graphical user interfaces.") ("cl-cffi-gtk-pango" ,sbcl-cl-cffi-gtk-pango) ,@(package-inputs sbcl-cl-cffi-gtk-boot0))) (arguments - `(#:asd-file "gdk/cl-cffi-gtk-gdk.asd" - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-paths - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "gdk/gdk.init.lisp" - (("libgdk" all) - (string-append - (assoc-ref inputs "gtk") "/lib/" all))) - (substitute* "gdk/gdk.package.lisp" - (("libgtk" all) - (string-append - (assoc-ref inputs "gtk") "/lib/" all))))) - (add-after 'install 'link-source - ;; Since source is particularly heavy (16MiB+), let's reuse it - ;; across the different components of cl-ffi-gtk. - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib") - "/share/common-lisp/sbcl-source/" - "cl-cffi-gtk-glib")) - (out-source (string-append (assoc-ref outputs "out") - "/share/common-lisp/sbcl-source/" - "cl-cffi-gtk-gdk"))) - (delete-file-recursively out-source) - (symlink glib-source out-source) - #t)))))))) + (substitute-keyword-arguments (package-arguments sbcl-cl-cffi-gtk-boot0) + ((#:asd-file _ "") "gdk/cl-cffi-gtk-gdk.asd") + ((#:phases phases) + `(modify-phases ,phases + (add-after 'install 'link-source + ;; Since source is particularly heavy (16MiB+), let's reuse it + ;; across the different components of cl-ffi-gtk. + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib") + "/share/common-lisp/sbcl-source/" + "cl-cffi-gtk-glib")) + (out-source (string-append (assoc-ref outputs "out") + "/share/common-lisp/sbcl-source/" + "cl-cffi-gtk-gdk"))) + (delete-file-recursively out-source) + (symlink glib-source out-source) + #t))))))))) (define-public sbcl-cl-cffi-gtk (package @@ -3122,26 +3110,27 @@ is a library for creating graphical user interfaces.") (native-inputs `(("fiveam" ,sbcl-fiveam))) (arguments - `(#:asd-file "gtk/cl-cffi-gtk.asd" - #:test-asd-file "test/cl-cffi-gtk-test.asd" + (substitute-keyword-arguments (package-arguments sbcl-cl-cffi-gtk-boot0) + ((#:asd-file _ "") "gtk/cl-cffi-gtk.asd") + ((#:test-asd-file _ "") "test/cl-cffi-gtk-test.asd") ;; TODO: Tests fail with memory fault. ;; See https://github.com/Ferada/cl-cffi-gtk/issues/24. - #:tests? #f - #:phases - (modify-phases %standard-phases - (add-after 'install 'link-source - ;; Since source is particularly heavy (16MiB+), let's reuse it - ;; across the different components of cl-ffi-gtk. - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib") - "/share/common-lisp/sbcl-source/" - "cl-cffi-gtk-glib")) - (out-source (string-append (assoc-ref outputs "out") - "/share/common-lisp/sbcl-source/" - "cl-cffi-gtk"))) - (delete-file-recursively out-source) - (symlink glib-source out-source) - #t)))))))) + ((#:tests? _ #f) #f) + ((#:phases phases) + `(modify-phases ,phases + (add-after 'install 'link-source + ;; Since source is particularly heavy (16MiB+), let's reuse it + ;; across the different components of cl-ffi-gtk. + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib") + "/share/common-lisp/sbcl-source/" + "cl-cffi-gtk-glib")) + (out-source (string-append (assoc-ref outputs "out") + "/share/common-lisp/sbcl-source/" + "cl-cffi-gtk"))) + (delete-file-recursively out-source) + (symlink glib-source out-source) + #t))))))))) (define-public cl-cffi-gtk (sbcl-package->cl-source-package sbcl-cl-cffi-gtk))