gnu: Add cl-https-everywhere.
* gnu/packages/lisp-xyz.scm (cl-https-everywhere, sbcl-cl-https-everywhere): New variables.
This commit is contained in:
parent
2d55463053
commit
e31d48d8db
@ -19264,3 +19264,85 @@ Vernacular builds on Overlord and is inspired by Racket.")
|
|||||||
|
|
||||||
(define-public cl-vernacular
|
(define-public cl-vernacular
|
||||||
(sbcl-package->cl-source-package sbcl-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))
|
||||||
|
Loading…
Reference in New Issue
Block a user