diff mbox series

[bug#41083] gnu: xfe: Fix hard-coded fhs directories.

Message ID 20200505113651.2211d734.raghavgururajan@disroot.org
State Accepted
Headers show
Series [bug#41083] gnu: xfe: Fix hard-coded fhs directories. | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch fail View Laminar job

Commit Message

Raghav Gururajan May 5, 2020, 3:36 p.m. UTC
Hello Nicolas!

> This indentation is unusual. I think it would be clearer to write
> 
>   (let* ((sh (string-append (assoc-ref inputs "bash")
>                             "/bin/sh"))))
> 
> I suggest the following simplification, however:
> 
>   (let* ((bash (assoc-ref inputs "bash"))
>          (coreutils (assoc-ref inputs "coreutils"))
>          (findutils (assoc-ref inputs "findutils"))
>          (file (assoc-ref inputs "file")))
>    ...)
> 
> See below for the consequences of this modification.

Thanks! I used this.

> `substitute*' accepts a list of files as its first argument. Please
> consider using the following, assuming you applied the simplification
> above.
> 
>   (with-directory-excursion "src"
>    (substitute* '("FilePanel.cpp" "help.h" "SearchPanel.cpp" ...)
>     (("/bin/sh" file) (string-append bash file))
>     (("/usr(/bin/du)" _ file) (string-append coreutils file))
>     ...))

Thanks! I used this.

> > +                 ((out
> > +                   (assoc-ref outputs "out"))  
> 
> These should be on the same line.

My new patch somehow has correct indentation.

> Wouldn't it be simpler to replace "/(usr|opt)(/local)?" with `out' in
> all files?

Thanks! I used this. But the above would conflict with "/usr/bin". So I used
"/(usr|opt)(/local)?/share".

> >      (description"XFE (X File Explorer) is a file manager for X.  It is
> > based on  
>                 ^^^^^^
>            missing space here

Fixed!

> Could you send an updated patch?

Please find updated patch attached with this email.

Regards,
RG.
diff mbox series

Patch

From e7032ff0032bbdbaefa8505f9f882fc6df58adaf Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Tue, 5 May 2020 11:22:01 -0400
Subject: [PATCH] gnu: xfe: Fix hard-coded fhs directories.

* gnu/packages/disk.scm (xfe):
[arguments]: Remove phase 'patch-xfe-paths.
[arguments]: Add phases 'patch-bin-dirs and 'patch-share-dirs.
[inputs]: Add bash, coreutils, file and findutils.
---
 gnu/packages/disk.scm | 66 +++++++++++++++++++++++++------------------
 1 file changed, 38 insertions(+), 28 deletions(-)

diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm
index 484126a3ea..e018df33fb 100644
--- a/gnu/packages/disk.scm
+++ b/gnu/packages/disk.scm
@@ -48,6 +48,7 @@ 
   #:use-module (gnu packages documentation)
   #:use-module (gnu packages elf)
   #:use-module (gnu packages file-systems)
+  #:use-module (gnu packages file)
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages glib)
@@ -940,45 +941,54 @@  since they are better handled by external tools.")
        (sha256
         (base32 "1fl51k5jm2vrfc2g66agbikzirmp0yb0lqhmsssixfb4mky3hpzs"))))
     (build-system gnu-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-bin-dirs
+           (lambda* (#:key inputs #:allow-other-keys)
+             (let*
+                 ((bash (assoc-ref inputs "bash"))
+                  (coreutils (assoc-ref inputs "coreutils"))
+                  (findutils (assoc-ref inputs "findutils"))
+                  (file-prog (assoc-ref inputs "file")))
+               (with-directory-excursion "src"
+                 (substitute* '("FilePanel.cpp" "help.h" "SearchPanel.cpp"
+                                "startupnotification.cpp" "xfeutils.cpp")
+                   (("/bin/sh" file) (string-append bash file))
+                   (("/bin/ls" file) (string-append coreutils file))
+                   (("/usr(/bin/du)" _ file) (string-append coreutils file))
+                   (("/usr(/bin/sort)" _ file) (string-append coreutils file))
+                   (("/usr(/bin/cut)" _ file) (string-append coreutils file))
+                   (("/usr(/bin/xargs)" _ file) (string-append findutils file))
+                   (("/usr(/bin/file)" _ file) (string-append file-prog file))))
+               #t)))
+         (add-after 'unpack 'patch-share-dirs
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let*
+                 ((out (assoc-ref outputs "out"))
+                  (share (string-append out "/share")))
+               (with-directory-excursion "src"
+                 (substitute* '("foxhacks.cpp" "help.h" "xfedefs.h"
+                                "XFileExplorer.cpp")
+                   (("/(usr|opt)(/local)?/share") share)))
+               #t))))))
     (native-inputs
      `(("intltool" ,intltool)
        ("pkg-config" ,pkg-config)))
     (inputs
-     `(("fox" ,fox)
+     `(("bash" ,bash)
+       ("coreutils" ,coreutils)
+       ("file" ,file)
+       ("findutils" ,findutils)
+       ("fox" ,fox)
        ("freetype" ,freetype)
        ("x11" ,libx11)
        ("xcb" ,libxcb)
        ("xcb-util" ,xcb-util)
        ("xft" ,libxft)
        ("xrandr" ,libxrandr)))
-    (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'patch-xfe-paths
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let*
-                 ((out     (assoc-ref outputs "out"))
-                  (share   (string-append out "/share"))
-                  (xferc   (string-append out "/share/xfe/xferc"))
-                  (xfe-theme   (string-append out "/share/xfe/icons/xfe-theme")))
-               ;; Correct path for xfe registry.
-               (substitute* "src/foxhacks.cpp"
-                 (("/etc:/usr/share:/usr/local/share") share))
-               ;; Correct path for xfe configuration.
-               (substitute* "src/XFileExplorer.cpp"
-                 (("/usr/share/xfe/xferc") xferc)
-                 (("/usr/local/share/xfe/xferc") xferc)
-                 (("/opt/local/share/xfe/xferc") xferc))
-               ;; Correct path for xfe icons.
-               (substitute* "src/xfedefs.h"
-                 (((string-append
-                    "~/.config/xfe/icons/xfe-theme:"
-                    "/usr/local/share/xfe/icons/xfe-theme:"
-                    "/usr/share/xfe/icons/xfe-theme"))
-                  xfe-theme))
-               #t))))))
     (synopsis "File Manager for X-Based Graphical Systems")
-    (description"XFE (X File Explorer) is a file manager for X.  It is based on
+    (description "XFE (X File Explorer) is a file manager for X.  It is based on
 the popular but discontinued, X Win Commander.  It aims to be the file manager
 of choice for all light thinking Unix addicts!")
     (home-page "http://roland65.free.fr/xfe/")
-- 
2.26.2