Andreas Enge <andr...@enge.fr> writes:

> Hello,
>
> when installing xfce, there is a collision with xfce4-session for the file
> startxfce4.
>
> The reason is the following:
>        (alist-replace
>         'install
>         (lambda* (#:key outputs #:allow-other-keys)
>           (let* ((out  (assoc-ref outputs "out"))
>                  (bin  (string-append out "/bin"))
>                  (prog (string-append bin "/startxfce4")))
>             (mkdir-p bin)
>             (symlink (string-append
>                       (assoc-ref %build-inputs "xfce4-session")
>                       "/bin/startxfce4")
>                      prog)
>             (wrap-program prog
>               ;; For xfce4-panel plugins.
>               `("X_XFCE4_LIB_DIRS" = ,(list (getenv "X_XFCE4_LIB_DIRS"))))))
>     (propagated-inputs
>      ...
>        ("xfce4-session"        ,xfce4-session)
>
> So if I understand correctly, the startxfce4 of xfce will end up being a
> wrapped version of the one in xfce4-session. However, if both are installed,
> could it not be possible that the non-wrapped version ends up in the profile?
When only the ‘xfce’ package is installed, the wrapped version is used.
I don’t know what will happen when both ‘xfce’ and ‘xfce4-session’ are
installed to a profile.

This package was introduced before the ‘etc/profile’ where enviroment
variables from search-paths are set.  So, the wrapper is redundant now.

Here is the patch to remove it:

>From 6f6ba4e8c347770b279e9344ba49bf305cd41da8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= <iyzs...@gmail.com>
Date: Mon, 29 Feb 2016 14:57:56 +0800
Subject: [PATCH] gnu: xfce: Don't wrap 'startxfce4'.

The necessary environment variables are set by 'etc/profile' now.

* gnu/packages/xfce.scm (xfce)[build-system]: Use 'trivial-build-system'.
[arguments]: Simplify.
---
 gnu/packages/xfce.scm | 27 +++------------------------
 1 file changed, 3 insertions(+), 24 deletions(-)

diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm
index 0729b1a..b627396 100644
--- a/gnu/packages/xfce.scm
+++ b/gnu/packages/xfce.scm
@@ -24,7 +24,7 @@
   #:use-module (guix download)
   #:use-module (guix utils)
   #:use-module (guix build-system gnu)
-  #:use-module (guix build-system glib-or-gtk)
+  #:use-module (guix build-system trivial)
   #:use-module (gnu packages)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages glib)
@@ -690,29 +690,8 @@ on your desktop.")
     (name "xfce")
     (version (package-version xfce4-session))
     (source #f)
-    (build-system glib-or-gtk-build-system)
-    (arguments
-     '(#:modules ((guix build gnu-build-system)
-                  (guix build glib-or-gtk-build-system)
-                  (guix build utils)
-                  (srfi srfi-26))
-       #:phases
-       (alist-replace
-        'install
-        (lambda* (#:key outputs #:allow-other-keys)
-          (let* ((out  (assoc-ref outputs "out"))
-                 (bin  (string-append out "/bin"))
-                 (prog (string-append bin "/startxfce4")))
-            (mkdir-p bin)
-            (symlink (string-append
-                      (assoc-ref %build-inputs "xfce4-session")
-                      "/bin/startxfce4")
-                     prog)
-            (wrap-program prog
-              ;; For xfce4-panel plugins.
-              `("X_XFCE4_LIB_DIRS" = ,(list (getenv "X_XFCE4_LIB_DIRS"))))))
-        (map (cut assq <> %standard-phases)
-             '(set-paths install glib-or-gtk-wrap)))))
+    (build-system trivial-build-system)
+    (arguments '(#:builder (mkdir %output)))
     (propagated-inputs
      `(("exo"                  ,exo)
        ("garcon"               ,garcon)
-- 
2.6.3

Reply via email to