summary refs log tree commit diff
path: root/gnu/packages
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2014-11-12 20:44:20 +0100
committerLudovic Courtès <ludo@gnu.org>2014-11-12 23:56:28 +0100
commitbe05e643ae4d62dc25aa88b7fbdb0eae9cf10eb0 (patch)
treeacbd76ade7750ec0d932c59aaa2ec3246ed1d8a1 /gnu/packages
parent08dbc3b5503f6cbfcb5b131797a4deb55e91101b (diff)
downloadguix-be05e643ae4d62dc25aa88b7fbdb0eae9cf10eb0.tar.gz
gnu: windowmaker: Leave 'wmaker' unwrapped.
Fixes <http://bugs.gnu.org/18698>.
Reported by Mark H Weaver <mhw@netris.org>.

* gnu/packages/gnustep.scm (windowmaker)[arguments]: Add 'pre-configure'
  phase.  Change 'wrap' phase to wrap 'wmaker.inst', not 'wmaker'.
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/gnustep.scm30
1 files changed, 22 insertions, 8 deletions
diff --git a/gnu/packages/gnustep.scm b/gnu/packages/gnustep.scm
index 74c1ad9051..edd159d262 100644
--- a/gnu/packages/gnustep.scm
+++ b/gnu/packages/gnustep.scm
@@ -40,17 +40,31 @@
                 "1i3dw1yagsa3rs9x2na2ynqlgmbahayws0kz4vl00fla6550nns3"))))
     (build-system gnu-build-system)
     (arguments
-     '(#:phases (alist-cons-after
-                 'install 'wrap
+     '(#:phases (alist-cons-before
+                 'configure 'pre-configure
                  (lambda* (#:key outputs #:allow-other-keys)
+                   ;; 'wmaker' wants to invoke 'wmaker.inst' the first time,
+                   ;; and the 'wmsetbg', so make sure it uses the right ones.
+                   ;; We can't use a wrapper here because that would pollute
+                   ;; $PATH in the whole session.
                    (let* ((out (assoc-ref outputs "out"))
                           (bin (string-append out "/bin")))
-                     ;; 'wmaker' wants to invoke 'wmaker.inst' the first time,
-                     ;; which in turn wants to invoke 'wmmenugen' etc., so
-                     ;; make sure everything is in $PATH.
-                     (wrap-program (string-append bin "/wmaker")
-                                   `("PATH" ":" prefix (,bin)))))
-                 %standard-phases)))
+                     (substitute* "src/main.c"
+                       (("\"wmaker\\.inst")
+                        (string-append "\"" bin "/wmaker.inst")))
+                     (substitute* '("src/defaults.c" "WPrefs.app/Menu.c")
+                       (("\"wmsetbg")
+                        (string-append "\"" bin "/wmsetbg")))))
+                 (alist-cons-after
+                  'install 'wrap
+                  (lambda* (#:key outputs #:allow-other-keys)
+                    (let* ((out (assoc-ref outputs "out"))
+                           (bin (string-append out "/bin")))
+                      ;; In turn, 'wmaker.inst' wants to invoke 'wmmenugen'
+                      ;; etc., so make sure everything is in $PATH.
+                      (wrap-program (string-append bin "/wmaker.inst")
+                                    `("PATH" ":" prefix (,bin)))))
+                  %standard-phases))))
     (inputs
      `(("libxmu" ,libxmu)
        ("libxft" ,libxft)