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