diff options
author | Jonathan Brielmaier <jonathan.brielmaier@web.de> | 2021-06-06 11:13:35 +0200 |
---|---|---|
committer | Jonathan Brielmaier <jonathan.brielmaier@web.de> | 2021-06-06 11:26:20 +0200 |
commit | db8ea15ba0bea3ec48d733baf8b430aa5d655535 (patch) | |
tree | 2c7d881b0e6b927ef264bb03fd2b3e191e5b48d3 /gnu | |
parent | b65c02e2d35af6fbe1d1810d6c69cfab194e13e2 (diff) | |
download | guix-db8ea15ba0bea3ec48d733baf8b430aa5d655535.tar.gz |
gnu: icedove-wayland: Refactor as a wrapper around icedove.
This saves us a full build of icedove-wayland analogue to chromium-wayland. * gnu/packages/gnuzilla.scm (icedove-wayland)[inputs]: Add bash and icedove. [arguments]: Copy the binary over and wrap it for Wayland. As well as the desktop-file and the license file.
Diffstat (limited to 'gnu')
-rw-r--r-- | gnu/packages/gnuzilla.scm | 49 |
1 files changed, 32 insertions, 17 deletions
diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm index ab4c9ac193..c63809c20c 100644 --- a/gnu/packages/gnuzilla.scm +++ b/gnu/packages/gnuzilla.scm @@ -1618,25 +1618,40 @@ Thunderbird. It supports email, news feeds, chat, calendar and contacts.") (license license:mpl2.0))) (define-public icedove/wayland - (package/inherit icedove + (package + (inherit icedove) (name "icedove-wayland") + (native-inputs '()) + (inputs + `(("bash" ,bash-minimal) + ("icedove" ,icedove))) + (build-system trivial-build-system) (arguments - (substitute-keyword-arguments (package-arguments icedove) - ((#:phases phases) - `(modify-phases ,phases - (replace 'wrap-program - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (lib (string-append out "/lib")) - (gtk (assoc-ref inputs "gtk+")) - (gtk-share (string-append gtk "/share")) - (pulseaudio (assoc-ref inputs "pulseaudio")) - (pulseaudio-lib (string-append pulseaudio "/lib"))) - (wrap-program (car (find-files lib "^icedove$")) - `("MOZ_ENABLE_WAYLAND" = ("1")) - `("XDG_DATA_DIRS" prefix (,gtk-share)) - `("LD_LIBRARY_PATH" prefix (,pulseaudio-lib))) - #t))))))))) + '(#:modules ((guix build utils)) + #:builder + (begin + (use-modules (guix build utils)) + (let* ((bash (assoc-ref %build-inputs "bash")) + (icedove (assoc-ref %build-inputs "icedove")) + (out (assoc-ref %outputs "out")) + (exe (string-append out "/bin/icedove"))) + (mkdir-p (dirname exe)) + + (call-with-output-file exe + (lambda (port) + (format port "#!~a + MOZ_ENABLE_WAYLAND=1 exec ~a $@" + (string-append bash "/bin/bash") + (string-append icedove "/bin/icedove")))) + (chmod exe #o555) + + ;; Provide the manual and .desktop file. + (copy-recursively (string-append icedove "/share") + (string-append out "/share")) + (substitute* (string-append + out "/share/applications/icedove.desktop") + ((icedove) out)) + #t)))))) (define-public firefox-decrypt (package |