summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSisiutl <sisiutl@egregore.fun>2024-10-28 09:27:09 +0100
committerSisiutl <sisiutl@egregore.fun>2024-10-28 09:27:09 +0100
commit04eb087d9271487fd0f71fcb3cab3c731eeee740 (patch)
treedf5403ae6c7fafc76ec5f40dea9fefd348078cbd
parent44ba423e914b085e7de45afc1150c3062933682a (diff)
palemoon extensions
-rw-r--r--sigils/packages/palemoon-extensions.scm59
1 files changed, 59 insertions, 0 deletions
diff --git a/sigils/packages/palemoon-extensions.scm b/sigils/packages/palemoon-extensions.scm
new file mode 100644
index 0000000..3c68d85
--- /dev/null
+++ b/sigils/packages/palemoon-extensions.scm
@@ -0,0 +1,59 @@
+(define-module (sigils packages palemoon-extensions)
+ #:use-module (guix packages)
+ #:use-module (guix git-download)
+ #:use-module (guix gexp)
+ #:use-module (guix build-system copy)
+ #:use-module (guix build-system trivial)
+ #:use-module ((guix licenses) #:prefix license:))
+
+(define* (make-browser-extension pkg
+ #:optional (pkg-output "out")
+ #:key
+ (browser-name "palemoon")
+ (moz-app-id "{8de7fcbb-c55c-4fbe-bfc5-fc555c87dbc4}"))
+ "Create an extension from package PKG and return a package that,
+when installed, will make the extension contained in PKG available as a
+browser extension. PKG-OUTPUT specifies which output of PKG to use."
+ (package
+ (inherit pkg)
+ (location (package-location pkg))
+ (name (string-append (package-name pkg) "-" browser-name))
+ (inputs '())
+ (native-inputs '())
+ (outputs '("out"))
+ (build-system trivial-build-system)
+ (arguments
+ (list
+ #:modules '((guix build utils))
+ #:builder
+ #~(begin
+ (use-modules (guix build utils))
+ (let* ((addon-id #$(assq-ref (package-properties pkg) 'addon-id))
+ (search-dir (format #f "~a/lib/~a/extensions/~a" #$output #$browser-name #$moz-app-id)))
+ ;; It should work for Palemoon too!
+ (mkdir-p search-dir)
+ (symlink (in-vicinity (ungexp pkg pkg-output) addon-id)
+ (in-vicinity search-dir addon-id))))))))
+
+(define-public ematrix
+ (package
+ (name "ematrix")
+ (version "5.1.0")
+ (home-page "https://gitlab.com/vannilla/ematrix")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0wgy4nhmym62pcw8rikfiyfjw7ifzf173wz8kky3k8w79h2bzfxp"))))
+ (build-system copy-build-system)
+ (properties '((addon-id . "ematrix@vannilla.org")))
+ (arguments `(#:install-plan '(("." ,(assq-ref properties 'addon-id)))))
+ (synopsis "Fork of uMatrix, a browser extension to black/white list requests.")
+ (description "eMatrix is a fork of uMatrix for XPI browsers.")
+ (license license:gpl3)))
+
+(define-public ematrix/palemoon
+ (make-browser-extension ematrix))