guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

branch master updated: gnu: icedove-wayland: Refactor as a wrapper aroun


From: guix-commits
Subject: branch master updated: gnu: icedove-wayland: Refactor as a wrapper around icedove.
Date: Sun, 06 Jun 2021 06:00:11 -0400

This is an automated email from the git hooks/post-receive script.

jonsger pushed a commit to branch master
in repository guix.

The following commit(s) were added to refs/heads/master by this push:
     new db8ea15  gnu: icedove-wayland: Refactor as a wrapper around icedove.
db8ea15 is described below

commit db8ea15ba0bea3ec48d733baf8b430aa5d655535
Author: Jonathan Brielmaier <jonathan.brielmaier@web.de>
AuthorDate: Sun Jun 6 11:13:35 2021 +0200

    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.
---
 gnu/packages/gnuzilla.scm | 49 +++++++++++++++++++++++++++++++----------------
 1 file changed, 32 insertions(+), 17 deletions(-)

diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm
index ab4c9ac..c63809c 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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]