summaryrefslogtreecommitdiff
path: root/sigils/packages/palemoon-extensions.scm
blob: 3c68d85439fe3e05e1811b35bdb33b838129bfd5 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
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))