aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Brielmaier <jonathan.brielmaier@web.de>2021-06-06 11:13:35 +0200
committerJonathan Brielmaier <jonathan.brielmaier@web.de>2021-06-06 11:26:20 +0200
commitdb8ea15ba0bea3ec48d733baf8b430aa5d655535 (patch)
tree2c7d881b0e6b927ef264bb03fd2b3e191e5b48d3
parentb65c02e2d35af6fbe1d1810d6c69cfab194e13e2 (diff)
downloadguix-db8ea15ba0bea3ec48d733baf8b430aa5d655535.tar
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.
-rw-r--r--gnu/packages/gnuzilla.scm49
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