guix-commits
[Top][All Lists]
Advanced

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

30/40: gnu: arcan: Fix paths handling.


From: guix-commits
Subject: 30/40: gnu: arcan: Fix paths handling.
Date: Tue, 5 Sep 2023 20:02:23 -0400 (EDT)

apteryx pushed a commit to branch master
in repository guix.

commit 2b6b951f555ab07257256dcf53c841262f1e1b3e
Author: Ahmad Draidi <a.r.draidi@redscript.org>
AuthorDate: Thu Aug 10 22:16:35 2023 +0400

    gnu: arcan: Fix paths handling.
    
    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.
    
    Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
---
 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 c7d8a839a2..9d18f7a52a 100644
--- a/gnu/packages/arcan.scm
+++ b/gnu/packages/arcan.scm
@@ -83,6 +83,11 @@
                              "-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
@@ -98,30 +103,8 @@
            (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)



reply via email to

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