From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id wtNRJCJAyl8hPgAA0tVLHw (envelope-from ) for ; Fri, 04 Dec 2020 13:56:50 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0 with LMTPS id iDmNHyJAyl81fgAA1q6Kng (envelope-from ) for ; Fri, 04 Dec 2020 13:56:50 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id D99059404CF for ; Fri, 4 Dec 2020 13:56:49 +0000 (UTC) Received: from localhost ([::1]:39884 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1klBZo-0001I4-Mi for larch@yhetil.org; Fri, 04 Dec 2020 08:56:48 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:45144) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1klBX7-0007H5-VQ for bug-guix@gnu.org; Fri, 04 Dec 2020 08:54:01 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:60096) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1klBX7-0001q4-MA for bug-guix@gnu.org; Fri, 04 Dec 2020 08:54:01 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1klBX7-0006W1-Kf for bug-guix@gnu.org; Fri, 04 Dec 2020 08:54:01 -0500 X-Loop: help-debbugs@gnu.org Subject: bug#45017: asdf-build-system packages have priority over user ones Resent-From: Guillaume Le Vaillant Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Fri, 04 Dec 2020 13:54:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 45017 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: Pierre Neidhardt Received: via spool by 45017-submit@debbugs.gnu.org id=B45017.160709001225007 (code B ref 45017); Fri, 04 Dec 2020 13:54:01 +0000 Received: (at 45017) by debbugs.gnu.org; 4 Dec 2020 13:53:32 +0000 Received: from localhost ([127.0.0.1]:43409 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1klBWU-0006V7-Bh for submit@debbugs.gnu.org; Fri, 04 Dec 2020 08:53:32 -0500 Received: from mout01.posteo.de ([185.67.36.65]:47291) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1klBWQ-0006Us-R9 for 45017@debbugs.gnu.org; Fri, 04 Dec 2020 08:53:20 -0500 Received: from submission (posteo.de [89.146.220.130]) by mout01.posteo.de (Postfix) with ESMTPS id 1C98F160064 for <45017@debbugs.gnu.org>; Fri, 4 Dec 2020 14:53:12 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1607089992; bh=bosYDKfVAt/jomCSJrm0EEr8Xrnndl9qvaYsvaL4Sdk=; h=From:To:Cc:Subject:Date:From; b=efuiFm9NvmlJ6EmVRNCy7fX8yjQMAI/ciqjHWnzjewqorsZExEb0Dt7Mdc1bHlXK/ iQUgrvo3ntyBO4mDFp12Rd4PF8npXqXbWHXZluGOgZBTiMRAYhtjkTKhAAOh5kY4Nv /bW097jn4+nwDo1syDXk5ZQOKBrRtduO+VptOrEjUKGsf7Ow/yOnhTpK/3rNkL4baG Wt51z6ptEjgsEPNMOdX5P6+U0/i4lOxG/yUMxKg3CifOwqo8eSoyqT1QFoLvYcxSXS t2LarS6UrIjk/BnvLmR7wHuToelSkGnf4fW5BAAcnOLOhbc/Hc5MLX1v020lRBFsyj nmPeBLhYtSkVA== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4CnZ0k29WZz6tmq; Fri, 4 Dec 2020 14:53:10 +0100 (CET) References: <87wnxzmdiy.fsf@ambrevar.xyz> <87im9j2j06.fsf@yamatai> <87360nm5b1.fsf@ambrevar.xyz> <87ft4n2cax.fsf@yamatai> <87k0tyuf6y.fsf@ambrevar.xyz> <871rg6szo9.fsf@yamatai> <87blf9u4bf.fsf@ambrevar.xyz> User-agent: mu4e 1.4.13; emacs 27.1 From: Guillaume Le Vaillant In-reply-to: <87blf9u4bf.fsf@ambrevar.xyz> Date: Fri, 04 Dec 2020 14:53:08 +0100 Message-ID: <87y2idsmnv.fsf@yamatai> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="==-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-guix@gnu.org List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: 45017@debbugs.gnu.org Errors-To: bug-guix-bounces+larch=yhetil.org@gnu.org Sender: "bug-Guix" X-Migadu-Flow: FLOW_IN X-Migadu-Spam-Score: -2.79 Authentication-Results: aspmx1.migadu.com; dkim=fail (headers rsa verify failed) header.d=posteo.net header.s=2017 header.b=efuiFm9N; dmarc=fail reason="SPF not aligned (strict)" header.from=posteo.net (policy=none); spf=pass (aspmx1.migadu.com: domain of bug-guix-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=bug-guix-bounces@gnu.org X-Migadu-Queue-Id: D99059404CF X-Spam-Score: -2.79 X-Migadu-Scanner: ns3122888.ip-94-23-21.eu X-TUID: Z0FdpiUIa6Cz --==-=-= Content-Type: multipart/mixed; boundary="=-=-=" --=-=-= Content-Type: text/plain Pierre Neidhardt skribis: > Guillaume Le Vaillant writes: > >> SBCL and ECL are patched to use our cl-asdf because it is necessary to >> build the sbcl-* and ecl-* packages. Also patching ABCL, CCL, and Clisp >> sounds like a good idea. At least all the compilers would use the same >> version of ASDF, and hopefully behave in the same way when looking for >> configuration files. > > Yup, that'd be neat :) Patches for CCL and Clisp attached. ABCL fails to build with ASDF 3.3.4 and I have not seen an obvious error message in the logs, so this one will need more investigation... > Related to this, I've noticed another issue with SBCL packages: when an > SBCL package has a dependency that's updated in ~/common-lisp, > (asdf:load-system ...) tries to recompile it in its folder, which fails > since /gnu/store is read-only. > > Example: > > - Apply the above patch or edit > ~/.config/common-lisp/source-registry.conf > to make sure ~/common-lisp is loaded before system packages. > > - Install sbcl-cl-cookie. > > - Check out https://github.com/fukamachi/quri: > git clone https://github.com/fukamachi/quri ~/common-lisp/quri > > - Now run > > --8<---------------cut here---------------start------------->8--- > $ sbcl > * (asdf:load-system :cl-cookie) > WARNING: System definition file #P"/gnu/store/81cwmspx3366vdjs6v20rnd8a0xyr6in-sbcl-cl-fad-0.7.6/share/common-lisp/sbcl/cl-fad/cl-fad.asd" contains definition for system "cl-fad-test". Please only define "cl-fad" and secondary systems with a name starting with "cl-fad/" (e.g. "cl-fad/test") in that file. > > debugger invoked on a SB-INT:SIMPLE-FILE-ERROR in thread > #: > Error opening #P"/gnu/store/22q4ydm0pagi4irz0clssgkhkyh115j8-sbcl-cl-cookie-0.9.10-1.cea55ae/lib/common-lisp/sbcl/cl-cookie/src/cl-cookie-tmpGHU3ALSV.fasl": > > Read-only file system > --8<---------------cut here---------------end--------------->8--- > > Not sure what to do about this. > > I'm guessing that Common Lisp development is not practical with Guix' > SBCL packages and I should just stick to the CL packages. > > Thoughts? The Lisp systems of sbcl-* and ecl-* packages installed in a profile are supposed to be already compiled and immutable, so recompiling them anyway would require tweaking the ASDF configuration from inside SBCL to remove the output translations for these systems. When doing development, it might be more convenient to just use the sources or source packages of every system that has to be recompiled. --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0002-gnu-ccl-Use-system-ASDF-instead-of-bundled-one.patch Content-Transfer-Encoding: quoted-printable From=205ce14232fafef61fdd5f9412c50dbfbb90f0d03e Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Fri, 4 Dec 2020 10:29:34 +0100 Subject: [PATCH 2/4] gnu: ccl: Use system ASDF instead of bundled one. * gnu/packages/lisp.scm (ccl)[native-inputs]: Add cl-asdf. [arguments]: Add 'replace-asdf' phase. [native-search-paths]: Add XDG_CONFIG_DIRS and XDG_DATA_DIRS. =2D-- gnu/packages/lisp.scm | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 0038cb0dca..2a8c59546e 100644 =2D-- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -603,7 +603,8 @@ statistical profiler, a code coverage tool, and many ot= her extensions.") "0x4bjx6cxsjvxyagijhlvmc7jkyxifdvz5q5zvz37028va65243c") (_ "15l7cfa4a7jkfwdzsfm4q3n22jnb57imxahpql3h77xin57v1gbz"))= )))))) (native-inputs =2D `(("m4" ,m4))) + `(("cl-asdf" ,cl-asdf) + ("m4" ,m4))) (arguments `(#:tests? #f ;no 'check' target #:modules ((ice-9 match) @@ -615,6 +616,17 @@ statistical profiler, a code coverage tool, and many o= ther extensions.") (add-after 'unpack 'unpack-image (lambda* (#:key inputs #:allow-other-keys) (invoke "tar" "xzvf" (assoc-ref inputs "ccl-bootstrap")))) + (add-after 'unpack 'replace-asdf + ;; Use system ASDF instead of bundled one. + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((cl-asdf (assoc-ref inputs "cl-asdf")) + (guix-asdf (string-append + cl-asdf + "/share/common-lisp/source/asdf/asdf.lisp"= )) + (out (string-append (assoc-ref outputs "out"))) + (contrib-asdf "tools/asdf.lisp")) + (delete-file contrib-asdf) + (copy-file guix-asdf contrib-asdf)))) (delete 'configure) (add-before 'build 'pre-build ;; Enter the source directory for the current platform's lisp @@ -678,6 +690,13 @@ statistical profiler, a code coverage tool, and many o= ther extensions.") "exec -a \"$0\" " libdir kernel " \"$@\"\n")))) (chmod wrapper #o755)) #t))))) + (native-search-paths + (list (search-path-specification + (variable "XDG_DATA_DIRS") + (files '("share"))) + (search-path-specification + (variable "XDG_CONFIG_DIRS") + (files '("etc"))))) (supported-systems '("i686-linux" "x86_64-linux" "armhf-linux")) (home-page "https://ccl.clozure.com/") (synopsis "Common Lisp implementation") =2D-=20 2.29.2 --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0003-gnu-clisp-Use-system-ASDF-instead-of-bundled-one.patch Content-Transfer-Encoding: quoted-printable From=2015c7a20030a7e7643af7948982791074e4c358be Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Fri, 4 Dec 2020 10:48:41 +0100 Subject: [PATCH 3/4] gnu: clisp: Use system ASDF instead of bundled one. * gnu/packages/lisp.scm (clisp)[native-inputs]: Add cl-asdf. [arguments]: Add 'replace-asdf' phase. [native-search-paths]: Add XDG_CONFIG_DIRS and XDG_DATA_DIRS. =2D-- gnu/packages/lisp.scm | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 2a8c59546e..07d54747cb 100644 =2D-- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -322,6 +322,8 @@ supporting ASDF, Sockets, Gray streams, MOP, and other = useful components.") (sha256 (base32 "0k2dmgl0miz3767iks4p0mvp6xw0ysyxhjpklyh11j010rmh6hqb")))) (build-system gnu-build-system) + (native-inputs + `(("cl-asdf" ,cl-asdf))) (inputs `(("libffcall" ,libffcall) ("ncurses" ,ncurses) ("readline" ,readline) @@ -356,7 +358,25 @@ supporting ASDF, Sockets, Gray streams, MOP, and other= useful components.") (("/bin/sh") "sh")) (substitute* '("src/clisp-link.in") (("/bin/pwd") "pwd")) =2D #t))))) + #t)) + (add-after 'unpack 'replace-asdf + ;; Use system ASDF instead of bundled one. + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((cl-asdf (assoc-ref inputs "cl-asdf")) + (guix-asdf (string-append + cl-asdf + "/share/common-lisp/source/asdf/asdf.lisp"= )) + (out (string-append (assoc-ref outputs "out"))) + (contrib-asdf "modules/asdf/asdf.lisp")) + (delete-file contrib-asdf) + (copy-file guix-asdf contrib-asdf))))))) + (native-search-paths + (list (search-path-specification + (variable "XDG_DATA_DIRS") + (files '("share"))) + (search-path-specification + (variable "XDG_CONFIG_DIRS") + (files '("etc"))))) (home-page "https://clisp.sourceforge.io/") (synopsis "A Common Lisp implementation") (description =2D-=20 2.29.2 --=-=-=-- --==-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iIUEAREKAC0WIQTLxZxm7Ce5cXlAaz5r6CCK3yH+PwUCX8o/RA8cZ2x2QHBvc3Rl by5uZXQACgkQa+ggit8h/j+4jQD/eU9QBTkS74UZ/tBs4a7jjBcFP7e7Wq2lZJkE LerqxAIA/iex2+Wa83D30T9woxkcDwpjJqheZIPYRK75rrG8ZpYm =bgpt -----END PGP SIGNATURE----- --==-=-=--