Subject: Re: [bug#40980] gnu: xfe: Fix configuration and icons. (v3)

From: Raghav Gururajan <[email-masked]>
Date: Fri, 1 May 2020 10:41:29 -0400

Hi Danny!

> > * gnu/packages/disk.scm (xfe): Fix configuration and icons.  
> 
> Please mention the phases and arguments you changed.
> 
> >       (origin
> >         (method url-fetch)
> >         (uri
> > -        (string-append "https://sourceforge.net/projects/xfe/files/xfe/"
> > -                       version
> > -                       "/xfe-" version ".tar.gz"))
> > +        (string-append "https://sourceforge.net/projects/" name "/files/"
> > name
> > +                       "/" version "/" name "-" version ".tar.gz"))  
> 
> Please don't do that without a good reason because it makes us unable to
> rename our package later.
> 
> > -         (add-after 'unpack 'patch-xferc-path
> > +         (add-after 'unpack 'patch-xfe-paths  
> 
> Please mention this in the commit log.
> 
> > -       #:make-flags
> > -       (let ((out (assoc-ref %outputs "out")))
> > -         (list (string-append "BASH_COMPLETION_DIR=" out
> > -                              "/share/bash-completion/completions")))))  
> 
> Please mention the removal of make-flags in the commit log.

Please find the revised patch attached with this email.

Regards,
RG.
>From 18ead96ab6498f2e197ca967e0e55a4c84cbb8f9 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <[email-masked]>
Date: Fri, 1 May 2020 10:29:06 -0400
Subject: [PATCH] gnu: xfe: Fix configuration and icons.

In patch-phase, added paths to datadir, xferc and icons;
to patch the respective and load them correctly.
Changed name of patch-phase to fit above changes.
Removed bash-completion make-flag, as the directory does not exist.

* gnu/packages/disk.scm (xfe): Fix configuration and icons.
---
 gnu/packages/disk.scm | 35 +++++++++++++++++++++++------------
 1 file changed, 23 insertions(+), 12 deletions(-)

diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm
index b7d3b9d954..41429b73cc 100644
--- a/gnu/packages/disk.scm
+++ b/gnu/packages/disk.scm
@@ -918,8 +918,7 @@ since they are better handled by external tools.")
        (method url-fetch)
        (uri
         (string-append "https://sourceforge.net/projects/xfe/files/xfe/"
-                       version
-                       "/xfe-" version ".tar.gz"))
+                       version "/xfe-" version ".tar.gz"))
        (sha256
         (base32 "1fl51k5jm2vrfc2g66agbikzirmp0yb0lqhmsssixfb4mky3hpzs"))))
     (build-system gnu-build-system)
@@ -937,20 +936,32 @@ since they are better handled by external tools.")
     (arguments
      `(#:phases
        (modify-phases %standard-phases
-         (add-after 'unpack 'patch-xferc-path
+         (add-after 'unpack 'patch-xfe-paths
            (lambda* (#:key outputs #:allow-other-keys)
-             (let* ((out     (assoc-ref outputs "out"))
-                    (xferc   (string-append out "/share/xfe/xferc")))
+             (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))
-               #t))))
-       #:make-flags
-       (let ((out (assoc-ref %outputs "out")))
-         (list (string-append "BASH_COMPLETION_DIR=" out
-                              "/share/bash-completion/completions")))))
+                 (("/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
 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/")
-    (license license:gpl2+)))
+    (license license:gpl2+)))
\ No newline at end of file
-- 
2.26.2