* [bug#51914] [PATCH 0/2] Fix asdf-build-system on non-package inputs @ 2021-11-17 8:29 Pierre Neidhardt 2021-11-17 8:33 ` [bug#51914] [PATCH 1/2] build-system/asdf: Don't fail in sbcl-package->cl-source-package " Pierre Neidhardt [not found] ` <handler.51914.B.16371377731213.ack@debbugs.gnu.org> 0 siblings, 2 replies; 9+ messages in thread From: Pierre Neidhardt @ 2021-11-17 8:29 UTC (permalink / raw) To: 51914 cl-https-everywhere failed to build because sbcl-cl-https-everywhere had a non-package input. This should now be fixed. This patchset adds the cl-https-everywhere package as well as a proof-of-work. Pierre Neidhardt (2): build-system/asdf: Don't fail in sbcl-package->cl-source-package on non-package inputs. gnu: Add cl-https-everywhere. gnu/packages/lisp-xyz.scm | 82 ++++++++++++++++++++++++++++++++++++++ guix/build-system/asdf.scm | 3 +- 2 files changed, 84 insertions(+), 1 deletion(-) base-commit: eb4edd7fde2e596bc2ec36ee773873722df46234 -- 2.32.0 ^ permalink raw reply [flat|nested] 9+ messages in thread
* [bug#51914] [PATCH 1/2] build-system/asdf: Don't fail in sbcl-package->cl-source-package on non-package inputs. 2021-11-17 8:29 [bug#51914] [PATCH 0/2] Fix asdf-build-system on non-package inputs Pierre Neidhardt @ 2021-11-17 8:33 ` Pierre Neidhardt [not found] ` <handler.51914.B.16371377731213.ack@debbugs.gnu.org> 1 sibling, 0 replies; 9+ messages in thread From: Pierre Neidhardt @ 2021-11-17 8:33 UTC (permalink / raw) To: 51914 Inputs can be non-packages, for instance (origin ...). sbcl-package->cl-source-package used to fail if such inputs were present in the parent sbcl-* package. * guix/build-system/asdf.scm (package-with-build-system): Fix 'has-from-build-system?' function. --- guix/build-system/asdf.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/guix/build-system/asdf.scm b/guix/build-system/asdf.scm index b4e40ee8c2..538812d620 100644 --- a/guix/build-system/asdf.scm +++ b/guix/build-system/asdf.scm @@ -162,7 +162,8 @@ (define (transform-package-name name) name)) (define (has-from-build-system? pkg) - (eq? from-build-system (package-build-system pkg))) + (when (package? pkg) + (eq? from-build-system (package-build-system pkg)))) (define (find-input-package pkg) (let* ((name (package-name pkg)) -- 2.32.0 ^ permalink raw reply related [flat|nested] 9+ messages in thread
[parent not found: <handler.51914.B.16371377731213.ack@debbugs.gnu.org>]
* [bug#51914] Acknowledgement ([PATCH 0/2] Fix asdf-build-system on non-package inputs) [not found] ` <handler.51914.B.16371377731213.ack@debbugs.gnu.org> @ 2021-11-17 8:38 ` Pierre Neidhardt 2021-11-17 9:01 ` Pierre Neidhardt 2021-11-17 10:56 ` Guillaume Le Vaillant 0 siblings, 2 replies; 9+ messages in thread From: Pierre Neidhardt @ 2021-11-17 8:38 UTC (permalink / raw) To: 51914; +Cc: Guillaume Le Vaillant [-- Attachment #1: Type: text/plain, Size: 30 bytes --] Guillaume, what do you think? [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 511 bytes --] ^ permalink raw reply [flat|nested] 9+ messages in thread
* [bug#51914] Acknowledgement ([PATCH 0/2] Fix asdf-build-system on non-package inputs) 2021-11-17 8:38 ` [bug#51914] Acknowledgement ([PATCH 0/2] Fix asdf-build-system on non-package inputs) Pierre Neidhardt @ 2021-11-17 9:01 ` Pierre Neidhardt 2021-11-17 10:36 ` zimoun 2021-11-17 10:56 ` Guillaume Le Vaillant 1 sibling, 1 reply; 9+ messages in thread From: Pierre Neidhardt @ 2021-11-17 9:01 UTC (permalink / raw) To: 51914 [-- Attachment #1.1: Type: text/plain, Size: 62 bytes --] `git send-email` failed to send the second patch, here it is. [-- Attachment #1.2: signature.asc --] [-- Type: application/pgp-signature, Size: 511 bytes --] [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: 0002-gnu-Add-cl-https-everywhere.patch --] [-- Type: text/x-patch, Size: 4674 bytes --] From 5b737d764f27124272a56aaeb64231836a16a667 Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt <mail@ambrevar.xyz> Date: Tue, 16 Nov 2021 11:53:02 +0100 Subject: [PATCH 2/2] gnu: Add cl-https-everywhere. * gnu/packages/lisp-xyz.scm (cl-https-everywhere, sbcl-cl-https-everywhere): New variables. --- gnu/packages/lisp-xyz.scm | 82 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 4b17c173c9..da1a08edd7 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -19264,3 +19264,85 @@ (define-public sbcl-vernacular (define-public cl-vernacular (sbcl-package->cl-source-package sbcl-vernacular)) + +(define-public sbcl-cl-https-everywhere + ;; No release. + (let ((commit "cbcc73b985a5b1c0ce0d4ec38bc982a0538d4bd8")) + (package + (name "sbcl-cl-https-everywhere") + (version (git-version "0.0.0" "1" commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ruricolist/cl-https-everywhere/") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1wcvx1icwym1ncd6wl1wxzkyyndrm796caalbklvjd4a2cbl3xxi")))) + (build-system asdf-build-system/sbcl) + (inputs + `(("alexandria" ,sbcl-alexandria) + ("global-vars" ,sbcl-global-vars) + ("parenscript" ,sbcl-parenscript) + ("cl-markdown" ,sbcl-cl-markdown) + ("cl-tld" ,sbcl-cl-tld) + ("fxml" ,sbcl-fxml) + ("overlord" ,sbcl-overlord) + ("ppcre" ,sbcl-cl-ppcre) + ("serapeum" ,sbcl-serapeum) + ("trivial-gray-streams" ,sbcl-trivial-gray-streams) + ("vernacular" ,sbcl-vernacular))) + (native-inputs + `(("fiveam" ,sbcl-fiveam) + ("https-everywhere" + ,(let ((commit "78d3425aef62d79da2c63c0fcd89ae9837af9a09")) + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/EFForg/https-everywhere") + (commit commit))) + (file-name (git-file-name "https-everywhere" + (git-version "2021.7.13" "1" commit))) + (sha256 + (base32 + "1bx5895lbsddx449mcvvss4dlvi07xsh4d2qnajsdvais6fpckh8"))))))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'link-https-everywhere-repo + (lambda* (#:key inputs #:allow-other-keys) + (let ((https-everywhere (assoc-ref inputs "https-everywhere"))) + (symlink https-everywhere "https-everywhere")))) + (add-after 'unpack 'fix-overlord-build + ;; Upstream bugs? See + ;; https://github.com/ruricolist/cl-https-everywhere/issues/1. + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (rulesets.xml (string-append out "/share/common-lisp/" (%lisp-type) + "/cl-https-everywhere/rulesets.xml"))) + (substitute* "build.lisp" + (("\\(depends-on https-everywhere-version\\)") "") + ;; Don't rebuild the rulesets just because the timestamp is epoch. + (("\\(vernacular:require-default :cl-https-everywhere/rulesets-file \"rulesets.xml\"\\)") + (format #f "(if (uiop:file-exists-p ~s) + (compile-rulesets ~s) + (vernacular:require-default :cl-https-everywhere/rulesets-file \"rulesets.xml\"))" + rulesets.xml + rulesets.xml)) + (("\\(uiop:parse-unix-namestring \"https-everywhere/src/chrome/content/rules/\\*\\.xml\")") + "\"https-everywhere/src/chrome/content/rules/*.xml\"") + (("\\(out temp :external-format :utf-8\\)") + "(out temp :external-format :utf-8 :if-exists :supersede)"))) + #t))))) + (home-page "https://github.com/ruricolist/cl-https-everywhere/") + (synopsis "Use HTTPS Everywhere rules from Lisp") + (description + "CL-HTTPS-EVERYWHERE parses HTTPS Everywhere rulesets and makes them +available for use in Lisp programs.") + (license (list license:expat + ;; For the ruleset + license:gpl2+))))) + +(define-public cl-https-everywhere + (sbcl-package->cl-source-package sbcl-cl-https-everywhere)) -- 2.32.0 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* [bug#51914] Acknowledgement ([PATCH 0/2] Fix asdf-build-system on non-package inputs) 2021-11-17 9:01 ` Pierre Neidhardt @ 2021-11-17 10:36 ` zimoun 0 siblings, 0 replies; 9+ messages in thread From: zimoun @ 2021-11-17 10:36 UTC (permalink / raw) To: Pierre Neidhardt; +Cc: 51914 Hi Pierre, On Wed, 17 Nov 2021 at 10:01, Pierre Neidhardt <mail@ambrevar.xyz> wrote: > + ("https-everywhere" > + ,(let ((commit "78d3425aef62d79da2c63c0fcd89ae9837af9a09")) > + (origin > + (method git-fetch) > + (uri (git-reference > + (url "https://github.com/EFForg/https-everywhere") > + (commit commit))) > + (file-name (git-file-name "https-everywhere" > + (git-version "2021.7.13" "1" commit))) Commit 78d3425aef62d79da2c63c0fcd89ae9837af9a09 the most recent on master. Is tag 2021.7.13 (commit 79252541) not enough? Which is the last release if I understand correctly? Cheers, simon ^ permalink raw reply [flat|nested] 9+ messages in thread
* [bug#51914] Acknowledgement ([PATCH 0/2] Fix asdf-build-system on non-package inputs) 2021-11-17 8:38 ` [bug#51914] Acknowledgement ([PATCH 0/2] Fix asdf-build-system on non-package inputs) Pierre Neidhardt 2021-11-17 9:01 ` Pierre Neidhardt @ 2021-11-17 10:56 ` Guillaume Le Vaillant 2021-11-17 12:40 ` Pierre Neidhardt 1 sibling, 1 reply; 9+ messages in thread From: Guillaume Le Vaillant @ 2021-11-17 10:56 UTC (permalink / raw) To: Pierre Neidhardt; +Cc: 51914 [-- Attachment #1: Type: text/plain, Size: 774 bytes --] Pierre Neidhardt <mail@ambrevar.xyz> skribis: > diff --git a/guix/build-system/asdf.scm b/guix/build-system/asdf.scm > index b4e40ee8c2..538812d620 100644 > --- a/guix/build-system/asdf.scm > +++ b/guix/build-system/asdf.scm > @@ -162,7 +162,8 @@ (define (transform-package-name name) > name)) > > (define (has-from-build-system? pkg) > - (eq? from-build-system (package-build-system pkg))) > + (when (package? pkg) > + (eq? from-build-system (package-build-system pkg)))) > > (define (find-input-package pkg) > (let* ((name (package-name pkg)) Maybe use "(and (package? pkg) (eq? ...))" instead of "(when ...)" so that the function returns #f instead of returning nothing when pkg is not a package. Otherwise LGTM. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 247 bytes --] ^ permalink raw reply [flat|nested] 9+ messages in thread
* [bug#51914] Acknowledgement ([PATCH 0/2] Fix asdf-build-system on non-package inputs) 2021-11-17 10:56 ` Guillaume Le Vaillant @ 2021-11-17 12:40 ` Pierre Neidhardt 2021-11-18 7:57 ` Pierre Neidhardt 0 siblings, 1 reply; 9+ messages in thread From: Pierre Neidhardt @ 2021-11-17 12:40 UTC (permalink / raw) To: Guillaume Le Vaillant; +Cc: 51914 [-- Attachment #1.1: Type: text/plain, Size: 50 bytes --] Thank you both for the feedback. See v2 attached. [-- Attachment #1.2: signature.asc --] [-- Type: application/pgp-signature, Size: 511 bytes --] [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: 0001-build-system-asdf-Don-t-fail-in-sbcl-package-cl-sour.patch --] [-- Type: text/x-patch, Size: 1125 bytes --] From 7386f42a115b29a1603ca6f3887f29fbb927c2bb Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt <mail@ambrevar.xyz> Date: Wed, 17 Nov 2021 09:09:42 +0100 Subject: [v2 1/2] build-system/asdf: Don't fail in sbcl-package->cl-source-package on non-package inputs. Inputs can be non-packages, for instance (origin ...). sbcl-package->cl-source-package used to fail if such inputs were present in the parent sbcl-* package. * guix/build-system/asdf.scm (package-with-build-system): Fix 'has-from-build-system?' function. --- guix/build-system/asdf.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/guix/build-system/asdf.scm b/guix/build-system/asdf.scm index b4e40ee8c2..4edf6857b5 100644 --- a/guix/build-system/asdf.scm +++ b/guix/build-system/asdf.scm @@ -162,7 +162,8 @@ (define (transform-package-name name) name)) (define (has-from-build-system? pkg) - (eq? from-build-system (package-build-system pkg))) + (and (package? pkg) + (eq? from-build-system (package-build-system pkg)))) (define (find-input-package pkg) (let* ((name (package-name pkg)) -- 2.32.0 [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #3: 0002-gnu-Add-cl-https-everywhere.patch --] [-- Type: text/x-patch, Size: 4628 bytes --] From ba935720720aeeaa0f885d04c9879cee43d44c43 Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt <mail@ambrevar.xyz> Date: Tue, 16 Nov 2021 11:53:02 +0100 Subject: [v2 2/2] gnu: Add cl-https-everywhere. * gnu/packages/lisp-xyz.scm (cl-https-everywhere, sbcl-cl-https-everywhere): New variables. --- gnu/packages/lisp-xyz.scm | 82 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 4b17c173c9..f9907e84f6 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -19264,3 +19264,85 @@ (define-public sbcl-vernacular (define-public cl-vernacular (sbcl-package->cl-source-package sbcl-vernacular)) + +(define-public sbcl-cl-https-everywhere + ;; No release. + ;; Don't forget to update the https-everywhere input. + (let ((commit "cbcc73b985a5b1c0ce0d4ec38bc982a0538d4bd8")) + (package + (name "sbcl-cl-https-everywhere") + (version (git-version "0.0.0" "1" commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ruricolist/cl-https-everywhere/") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1wcvx1icwym1ncd6wl1wxzkyyndrm796caalbklvjd4a2cbl3xxi")))) + (build-system asdf-build-system/sbcl) + (inputs + `(("alexandria" ,sbcl-alexandria) + ("global-vars" ,sbcl-global-vars) + ("parenscript" ,sbcl-parenscript) + ("cl-markdown" ,sbcl-cl-markdown) + ("cl-tld" ,sbcl-cl-tld) + ("fxml" ,sbcl-fxml) + ("overlord" ,sbcl-overlord) + ("ppcre" ,sbcl-cl-ppcre) + ("serapeum" ,sbcl-serapeum) + ("trivial-gray-streams" ,sbcl-trivial-gray-streams) + ("vernacular" ,sbcl-vernacular))) + (native-inputs + `(("fiveam" ,sbcl-fiveam) + ("https-everywhere" + ,(let ((version "2021.7.13")) + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/EFForg/https-everywhere") + (commit version))) + (file-name (git-file-name "https-everywhere" version)) + (sha256 + (base32 + "1k5gj29imhxf47sv3d8rxyrgr6k65scp2fm040va3nfshayslzia"))))))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'link-https-everywhere-repo + (lambda* (#:key inputs #:allow-other-keys) + (let ((https-everywhere (assoc-ref inputs "https-everywhere"))) + (symlink https-everywhere "https-everywhere")))) + (add-after 'unpack 'fix-overlord-build + ;; Upstream bugs? See + ;; https://github.com/ruricolist/cl-https-everywhere/issues/1. + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (rulesets.xml (string-append out "/share/common-lisp/" (%lisp-type) + "/cl-https-everywhere/rulesets.xml"))) + (substitute* "build.lisp" + (("\\(depends-on https-everywhere-version\\)") "") + ;; Don't rebuild the rulesets just because the timestamp is epoch. + (("\\(vernacular:require-default :cl-https-everywhere/rulesets-file \"rulesets.xml\"\\)") + (format #f "(if (uiop:file-exists-p ~s) + (compile-rulesets ~s) + (vernacular:require-default :cl-https-everywhere/rulesets-file \"rulesets.xml\"))" + rulesets.xml + rulesets.xml)) + (("\\(uiop:parse-unix-namestring \"https-everywhere/src/chrome/content/rules/\\*\\.xml\")") + "\"https-everywhere/src/chrome/content/rules/*.xml\"") + (("\\(out temp :external-format :utf-8\\)") + "(out temp :external-format :utf-8 :if-exists :supersede)"))) + #t))))) + (home-page "https://github.com/ruricolist/cl-https-everywhere/") + (synopsis "Use HTTPS Everywhere rules from Lisp") + (description + "CL-HTTPS-EVERYWHERE parses HTTPS Everywhere rulesets and makes them +available for use in Lisp programs.") + (license (list license:expat + ;; For the ruleset + license:gpl2+))))) + +(define-public cl-https-everywhere + (sbcl-package->cl-source-package sbcl-cl-https-everywhere)) -- 2.32.0 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* [bug#51914] Acknowledgement ([PATCH 0/2] Fix asdf-build-system on non-package inputs) 2021-11-17 12:40 ` Pierre Neidhardt @ 2021-11-18 7:57 ` Pierre Neidhardt 2021-11-18 10:06 ` Guillaume Le Vaillant 0 siblings, 1 reply; 9+ messages in thread From: Pierre Neidhardt @ 2021-11-18 7:57 UTC (permalink / raw) To: Guillaume Le Vaillant; +Cc: 51914 [-- Attachment #1: Type: text/plain, Size: 40 bytes --] OK to merge then? On master or staging? [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 511 bytes --] ^ permalink raw reply [flat|nested] 9+ messages in thread
* [bug#51914] Acknowledgement ([PATCH 0/2] Fix asdf-build-system on non-package inputs) 2021-11-18 7:57 ` Pierre Neidhardt @ 2021-11-18 10:06 ` Guillaume Le Vaillant 0 siblings, 0 replies; 9+ messages in thread From: Guillaume Le Vaillant @ 2021-11-18 10:06 UTC (permalink / raw) To: Pierre Neidhardt; +Cc: 51914 [-- Attachment #1: Type: text/plain, Size: 128 bytes --] Pierre Neidhardt <mail@ambrevar.xyz> skribis: > OK to merge then? > On master or staging? It think it should be OK on master. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 247 bytes --] ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2021-11-18 10:08 UTC | newest] Thread overview: 9+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2021-11-17 8:29 [bug#51914] [PATCH 0/2] Fix asdf-build-system on non-package inputs Pierre Neidhardt 2021-11-17 8:33 ` [bug#51914] [PATCH 1/2] build-system/asdf: Don't fail in sbcl-package->cl-source-package " Pierre Neidhardt [not found] ` <handler.51914.B.16371377731213.ack@debbugs.gnu.org> 2021-11-17 8:38 ` [bug#51914] Acknowledgement ([PATCH 0/2] Fix asdf-build-system on non-package inputs) Pierre Neidhardt 2021-11-17 9:01 ` Pierre Neidhardt 2021-11-17 10:36 ` zimoun 2021-11-17 10:56 ` Guillaume Le Vaillant 2021-11-17 12:40 ` Pierre Neidhardt 2021-11-18 7:57 ` Pierre Neidhardt 2021-11-18 10:06 ` Guillaume Le Vaillant
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/guix.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).