* [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
* [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).