diff mbox series

[bug#64387,v2,3/6] gnu: arcan: Fix paths handling.

Message ID ae43b41bceaa57b5e613635329210f3ee08e2fcf.1691691398.git.a.r.draidi@redscript.org
State New
Headers show
Series Update and rework arcan | expand

Commit Message

Ahmad Draidi Aug. 10, 2023, 6:16 p.m. UTC
This patch removes the wrapper and the propagated environment variables
(through 'native-search-paths') and instead patches the paths inside the
source code. This fixes path handling, which seems to be broken now. It
also allows us to use 'setuid', which is required for some features, and
lets the app use its internal path handling criteria, which some dependent
apps expect.

* gnu/packages/arcan.scm (arcan): Fix paths handling.
[arguments]: Add 'patch-paths' phase. Remove 'wrap-program' phase.
[native-search-paths]: Remove.
---
 gnu/packages/arcan.scm | 27 +++++----------------------
 1 file changed, 5 insertions(+), 22 deletions(-)
diff mbox series

Patch

diff --git a/gnu/packages/arcan.scm b/gnu/packages/arcan.scm
index cfd72f6e55..159c6d2190 100644
--- a/gnu/packages/arcan.scm
+++ b/gnu/packages/arcan.scm
@@ -79,6 +79,11 @@  (define-public arcan
                              "-DDISTR_TAG='Guix'")
          #:phases
          (modify-phases %standard-phases
+           (add-after 'unpack 'patch-paths
+             (lambda* (#:key outputs #:allow-other-keys)
+               (substitute* "src/platform/posix/paths.c"
+                 (("/usr/local")
+                  (assoc-ref outputs "out")))))
            ;; Normally, it tries to fetch patched openal with git
            ;; but copying files manually in the right place seems to work too.
            (add-after 'unpack 'prepare-static-openal
@@ -94,30 +99,8 @@  (define-public arcan
            (add-before 'configure 'chdir
              (lambda _
                (chdir "src")
-               #t))
-           (add-after 'install 'wrap-program
-             (lambda* (#:key outputs #:allow-other-keys)
-               (let ((out (assoc-ref outputs "out")))
-                 (wrap-program (string-append out "/bin/arcan")
-                   `("ARCAN_RESOURCEPATH" ":" suffix
-                     (,(string-append out "/share/arcan/resources")))
-                   `("ARCAN_STATEBASEPATH" ":" =
-                     ("$HOME/.arcan/resources/savestates"))
-                   `("ARCAN_STATEPATH" ":" =
-                     ("$HOME/.arcan/resources/savestates"))
-                   `("ARCAN_BINPATH" ":" =
-                     (,(string-append out "/bin/arcan_frameserver")))))
                #t)))
          #:tests? #f))
-      (native-search-paths
-       (list (search-path-specification
-              (variable "ARCAN_APPLBASEPATH")
-              (separator #f)
-              (files '("share/arcan/appl")))
-             (search-path-specification
-              (variable "ARCAN_SCRIPTPATH")
-              (separator #f)
-              (files '("share/arcan/scripts")))))
       (inputs
        `(("bash-minimal" ,bash-minimal)
          ("espeak" ,espeak)