~ruther/guix-local

962cbb24c5a9beea5c6bda0e7662bead7cb2c4ca — Leo Famulari 9 years ago 8cac5bc
gnu: windowmaker: Use modify-phases syntax.

* gnu/packages/gnustep.scm (windowmaker)[arguments]: Use modify-phases.
1 files changed, 30 insertions(+), 31 deletions(-)

M gnu/packages/gnustep.scm
M gnu/packages/gnustep.scm => gnu/packages/gnustep.scm +30 -31
@@ 46,37 46,36 @@
                "12p8kljqgx5hnic0zvs5mxwp7kg21sb6qjagb2qw8ydvf5amrgwx"))))
    (build-system gnu-build-system)
    (arguments
     '(#: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")))
                     (substitute* "src/main.c"
                       (("\"wmaker\\.inst")
                        (string-append "\"" bin "/wmaker.inst")))
                     (substitute* '("src/defaults.c" "WPrefs.app/Menu.c")
                       (("\"wmsetbg")
                        (string-append "\"" bin "/wmsetbg")))
                     ;; Add enough cells to the command character array to
                     ;; allow passing our large path to the wmsetbg binary.
                     ;; The path to wmsetbg in Guix requires 67 extra characters.
                     (substitute* "src/defaults.c"
                       (("len = strlen\\(text\\) \\+ 40;")
                        (string-append "len = strlen(text) + 107;")))))
                 (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))))
     '(#:phases
       (modify-phases %standard-phases
         (add-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")))
               (substitute* "src/main.c"
                 (("\"wmaker\\.inst")
                  (string-append "\"" bin "/wmaker.inst")))
               (substitute* '("src/defaults.c" "WPrefs.app/Menu.c")
                 (("\"wmsetbg")
                  (string-append "\"" bin "/wmsetbg")))
               ;; Add enough cells to the command character array to
               ;; allow passing our large path to the wmsetbg binary.
               ;; The path to wmsetbg in Guix requires 67 extra characters.
               (substitute* "src/defaults.c"
                 (("len = strlen\\(text\\) \\+ 40;")
                  (string-append "len = strlen(text) + 107;"))))))
         (add-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)))))))))
    (inputs
     `(("libxmu" ,libxmu)
       ("libxft" ,libxft)