guix-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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


From: Ahmad Draidi
Subject: [bug#64387] [PATCH 3/6] gnu: arcan: Fix paths handling.
Date: Sat, 1 Jul 2023 02:07:08 +0400

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 --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)
-- 
2.40.1






reply via email to

[Prev in Thread] Current Thread [Next in Thread]