unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#64387] [PATCH 0/6] Update and rework arcan
@ 2023-06-30 22:01 Ahmad Draidi via Guix-patches via
  2023-06-30 22:07 ` [bug#64387] [PATCH 1/6] gnu: arcan: Update to 0.6.2.1 Ahmad Draidi via Guix-patches via
                   ` (6 more replies)
  0 siblings, 7 replies; 15+ messages in thread
From: Ahmad Draidi via Guix-patches via @ 2023-06-30 22:01 UTC (permalink / raw)
  To: 64387; +Cc: Ahmad Draidi

Hello Guix,

Since the Arcan project is under heavy development, sometimes major changes
have to be performed to the packaging from one version to another.

This patch series updates arcan to 0.6.2.1, builds the package with all
features (which have changed), fixes arcan paths handling for Guix,
switches to new style arguments, reformats the package since we removed
a level of parentheses, and finally, it removes the arcan-wayland package,
which was previously a separate package upstream.

Let me know if you have any comments.

Thanks,
Ahmad


Ahmad Draidi (6):
  gnu: arcan: Update to 0.6.2.1.
  gnu: arcan: Build all features.
  gnu: arcan: Fix paths handling.
  gnu: arcan: Use new style arguments.
  gnu: arcan: Restyle format.
  gnu: Remove arcan-wayland.

 gnu/packages/arcan.scm | 255 ++++++++++++++++++-----------------------
 1 file changed, 109 insertions(+), 146 deletions(-)


base-commit: ac86174e22fcd762893bd4515786b1376af9397b
-- 
2.40.1





^ permalink raw reply	[flat|nested] 15+ messages in thread

* [bug#64387] [PATCH 1/6] gnu: arcan: Update to 0.6.2.1.
  2023-06-30 22:01 [bug#64387] [PATCH 0/6] Update and rework arcan Ahmad Draidi via Guix-patches via
@ 2023-06-30 22:07 ` Ahmad Draidi via Guix-patches via
  2023-06-30 22:07 ` [bug#64387] [PATCH 2/6] gnu: arcan: Build all features Ahmad Draidi via Guix-patches via
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 15+ messages in thread
From: Ahmad Draidi via Guix-patches via @ 2023-06-30 22:07 UTC (permalink / raw)
  To: 64387; +Cc: Ahmad Draidi

* gnu/packages/arcan.scm (arcan): Update to 0.6.2.1.
[use-modules]: Remove no longer used package imports and add ones for
new dependencies. Add '(guix gexp)' for snippet.
[source]: Use version instead of commit, and add snippet to remove some
bundled packages.
[arguments]: Remove 'fix-cmake-paths' phase since it's no longer needed.
[inputs]: Remove apr, glib, glu, lzip, pcre.  Add bash-minimal, espeak,
gumbo-parser, jbig2dec, libjpeg-turbo, libseccomp, libvnc, mupdf, openjpeg,
sdl2, wayland, wayland-protocols, xcb-util, xcb-util-wm, zlib. Replace
ffmpeg-4 with ffmpeg. Change luajit label to fix lint. Update vendored
openal to 0.6.2. Sort inputs by name.
[description]: Change description to closely match upstream for accuracy.
[license]: Add new and missing licenses.
---
 gnu/packages/arcan.scm | 77 +++++++++++++++++++++++++-----------------
 1 file changed, 46 insertions(+), 31 deletions(-)

diff --git a/gnu/packages/arcan.scm b/gnu/packages/arcan.scm
index 7483777ff0..f4eecb3364 100644
--- a/gnu/packages/arcan.scm
+++ b/gnu/packages/arcan.scm
@@ -1,6 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2019 L  p R n  d n <guix@lprndn.info>
 ;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
+;;; Copyright © 2023 Ahmad Draidi <a.r.draidi@redscript.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -20,50 +21,58 @@
 (define-module (gnu packages arcan)
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
+  #:use-module (guix gexp)
   #:use-module (guix git-download)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix utils)
-  #:use-module (gnu packages apr)
   #:use-module (gnu packages audio)
   #:use-module (gnu packages autotools)
+  #:use-module (gnu packages bash)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages databases)
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages gl)
-  #:use-module (gnu packages glib)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages image)
   #:use-module (gnu packages libusb)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages lua)
   #:use-module (gnu packages ocr)
-  #:use-module (gnu packages pcre)
+  #:use-module (gnu packages pdf)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages ruby)
   #:use-module (gnu packages sdl)
+  #:use-module (gnu packages speech)
   #:use-module (gnu packages sqlite)
   #:use-module (gnu packages tls)
   #:use-module (gnu packages video)
+  #:use-module (gnu packages vnc)
+  #:use-module (gnu packages web)
   #:use-module (gnu packages xdisorg)
   #:use-module (gnu packages xorg)
   #:use-module (srfi srfi-1))
 
 (define-public arcan
-  (let ((commit "b4dd1fbd1938492ff4b269189d3c8524be7450a9")
-        (revision "1"))
     (package
       (name "arcan")
-      (version (git-version "0.5.5.2" revision commit))
+      (version "0.6.2.1")
       (source (origin
                 (method git-fetch)
                 (file-name (git-file-name name version))
                 (uri (git-reference
                       (url "https://github.com/letoram/arcan")
-                      (commit commit)))
+                      (commit version)))
                 (sha256
-                 (base32 "1pd0avlzc2rig1hd37zbhc7r2s6fjzdhshfg9l9cfzibl7caclyw"))))
+                 (base32 "14wwb7mgq8ab39dfprps7hzdz7a37r3cl8dc5q6m1r8n5daxyzgc"))
+                (modules '((guix build utils)))
+                (snippet
+                 ;; Remove some bundled packages
+                 #~(begin
+                     (delete-file-recursively "external/git")
+                     (delete-file-recursively "external/lua")
+                     (delete-file-recursively "external/sqlite")))))
       (build-system cmake-build-system)
       (arguments
        `(#:configure-flags '("-DCMAKE_C_FLAGS=-fcommon"
@@ -73,15 +82,6 @@ (define-public arcan
                              "-DSHMIF_TUI_ACCEL=on")
          #:phases
          (modify-phases %standard-phases
-           (add-after 'unpack 'fix-cmake-paths
-             (lambda* (#:key inputs #:allow-other-keys)
-               (substitute* "src/platform/cmake/modules/FindGBMKMS.cmake"
-                 (("/usr/local/include/libdrm")
-                  (search-input-directory inputs "include/libdrm")))
-               (substitute* "src/platform/cmake/modules/FindAPR.cmake"
-                 (("/usr/local/apr/include/apr-1")
-                  (search-input-directory inputs "include/apr-1")))
-               #t))
            ;; 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
@@ -122,34 +122,44 @@ (define-public arcan
               (separator #f)
               (files '("share/arcan/scripts")))))
       (inputs
-       `(("apr" ,apr)
-         ("ffmpeg" ,ffmpeg-4)
+       `(("bash-minimal" ,bash-minimal)
+         ("espeak" ,espeak)
+         ("ffmpeg" ,ffmpeg)
          ("freetype" ,freetype)
-         ("glib" ,glib)
-         ("glu" ,glu)
+         ("gumbo-parser" ,gumbo-parser)
          ("harfbuzz" ,harfbuzz)
+         ("jbig2dec" ,jbig2dec)
+         ("leptonica" ,leptonica)
          ("libdrm" ,libdrm)
+         ("libjpeg-turbo" ,libjpeg-turbo)
+         ("libseccomp" ,libseccomp)
          ("libusb" ,libusb)
+         ("libvnc" ,libvnc)
          ("libxkbcommon" ,libxkbcommon)
-         ("lua" ,luajit)
-         ("lzip" ,lzip)
+         ("luajit" ,luajit)
+         ("mupdf" ,mupdf)
          ("openal" ,openal)
-         ("pcre" ,pcre)
+         ("openjpeg" ,openjpeg)
+         ("sdl2" ,sdl2)
          ("sqlite" ,sqlite)
          ("tesseract-ocr" ,tesseract-ocr)
-         ("leptonica" ,leptonica)
          ("vlc" ,vlc)
+         ("wayland" ,wayland)
+         ("wayland-protocols" ,wayland-protocols)
+         ("xcb-util" ,xcb-util)
+         ("xcb-util-wm" ,xcb-util-wm)
+         ("zlib" ,zlib)
          ;;  To build arcan_lwa, we need a patched version of openal.
          ;; https://github.com/letoram/arcan/wiki/packaging
          ("arcan-openal" ,(origin
                             (method git-fetch)
-                            (file-name "arcan-openal-0.5.4")
+                            (file-name "arcan-openal-0.6.2")
                             (uri (git-reference
                                   (url "https://github.com/letoram/openal")
-                                  (commit "1c7302c580964fee9ee9e1d89ff56d24f934bdef")))
+                                  (commit "0.6.2")))
                             (sha256
                              (base32
-                              "0dcxcnqjkyyqdr2yk84mprvkncy5g172kfs6vc4zrkklsbkr8yi2"))))))
+                              "0vg3fda47q2dk1n43ijcc64q39z044pa8h6scmfyi22g6r6bfw2z"))))))
       (native-inputs
        (list pkg-config ruby))               ; For documentation and testing
       (home-page "https://arcan-fe.com")
@@ -157,13 +167,18 @@ (define-public arcan
       (description "Arcan is a development framework for creating virtually
 anything from user interfaces for specialized embedded applications
 all the way to full-blown desktop environments.  At its heart lies a multimedia
-engine programmable using Lua.")
+engine with a Lua scripting interface.")
       ;; https://github.com/letoram/arcan/blob/master/COPYING
-      (license (list license:gpl2+
+      (license (list license:asl2.0
+                     license:bsd-3
+                     license:cc-by3.0
+                     license:expat
+                     license:gpl2+
                      license:lgpl2.0
                      license:lgpl2.0+
                      license:public-domain
-                     license:bsd-3)))))
+                     license:silofl1.1
+                     license:zlib))))
 
 (define-public arcan-sdl
   (package
-- 
2.40.1





^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [bug#64387] [PATCH 2/6] gnu: arcan: Build all features.
  2023-06-30 22:01 [bug#64387] [PATCH 0/6] Update and rework arcan Ahmad Draidi via Guix-patches via
  2023-06-30 22:07 ` [bug#64387] [PATCH 1/6] gnu: arcan: Update to 0.6.2.1 Ahmad Draidi via Guix-patches via
@ 2023-06-30 22:07 ` Ahmad Draidi via Guix-patches via
  2023-06-30 22:07 ` [bug#64387] [PATCH 3/6] gnu: arcan: Fix paths handling Ahmad Draidi via Guix-patches via
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 15+ messages in thread
From: Ahmad Draidi via Guix-patches via @ 2023-06-30 22:07 UTC (permalink / raw)
  To: 64387; +Cc: Ahmad Draidi

* gnu/packages/arcan.scm (arcan): Build all features.
[arguments]: Use #:configure-flags "-DBUILD_PRESET=everything" to build all
features, and "-DDISTR_TAG='Guix'" to tag the builds.
[synopsis]: Remove '(egl-dri)' since it indicates a specific feature.
---
 gnu/packages/arcan.scm | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/arcan.scm b/gnu/packages/arcan.scm
index f4eecb3364..cfd72f6e55 100644
--- a/gnu/packages/arcan.scm
+++ b/gnu/packages/arcan.scm
@@ -75,11 +75,8 @@ (define-public arcan
                      (delete-file-recursively "external/sqlite")))))
       (build-system cmake-build-system)
       (arguments
-       `(#:configure-flags '("-DCMAKE_C_FLAGS=-fcommon"
-                             "-DVIDEO_PLATFORM=egl-dri" "-DBUILTIN_LUA=off"
-                             "-DSTATIC_OPENAL=off""-DENABLE_LWA=on"
-                             "-DSTATIC_SQLITE3=off" "-DSTATIC_FREETYPE=off"
-                             "-DSHMIF_TUI_ACCEL=on")
+       `(#:configure-flags '("-DBUILD_PRESET=everything"
+                             "-DDISTR_TAG='Guix'")
          #:phases
          (modify-phases %standard-phases
            ;; Normally, it tries to fetch patched openal with git
@@ -163,7 +160,7 @@ (define-public arcan
       (native-inputs
        (list pkg-config ruby))               ; For documentation and testing
       (home-page "https://arcan-fe.com")
-      (synopsis "Display server, multimedia framework and game engine (egl-dri)")
+      (synopsis "Display server, multimedia framework and game engine")
       (description "Arcan is a development framework for creating virtually
 anything from user interfaces for specialized embedded applications
 all the way to full-blown desktop environments.  At its heart lies a multimedia
-- 
2.40.1





^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [bug#64387] [PATCH 3/6] gnu: arcan: Fix paths handling.
  2023-06-30 22:01 [bug#64387] [PATCH 0/6] Update and rework arcan Ahmad Draidi via Guix-patches via
  2023-06-30 22:07 ` [bug#64387] [PATCH 1/6] gnu: arcan: Update to 0.6.2.1 Ahmad Draidi via Guix-patches via
  2023-06-30 22:07 ` [bug#64387] [PATCH 2/6] gnu: arcan: Build all features Ahmad Draidi via Guix-patches via
@ 2023-06-30 22:07 ` Ahmad Draidi via Guix-patches via
  2023-06-30 22:07 ` [bug#64387] [PATCH 4/6] gnu: arcan: Use new style arguments Ahmad Draidi via Guix-patches via
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 15+ messages in thread
From: Ahmad Draidi via Guix-patches via @ 2023-06-30 22:07 UTC (permalink / raw)
  To: 64387; +Cc: Ahmad Draidi

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





^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [bug#64387] [PATCH 4/6] gnu: arcan: Use new style arguments.
  2023-06-30 22:01 [bug#64387] [PATCH 0/6] Update and rework arcan Ahmad Draidi via Guix-patches via
                   ` (2 preceding siblings ...)
  2023-06-30 22:07 ` [bug#64387] [PATCH 3/6] gnu: arcan: Fix paths handling Ahmad Draidi via Guix-patches via
@ 2023-06-30 22:07 ` Ahmad Draidi via Guix-patches via
  2023-06-30 22:07 ` [bug#64387] [PATCH 5/6] gnu: arcan: Restyle format Ahmad Draidi via Guix-patches via
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 15+ messages in thread
From: Ahmad Draidi via Guix-patches via @ 2023-06-30 22:07 UTC (permalink / raw)
  To: 64387; +Cc: Ahmad Draidi

* gnu/packages/arcan.scm (arcan)[arguments]: Use new style arguments.
---
 gnu/packages/arcan.scm | 50 ++++++++++++++++++++----------------------
 1 file changed, 24 insertions(+), 26 deletions(-)

diff --git a/gnu/packages/arcan.scm b/gnu/packages/arcan.scm
index 159c6d2190..9c6092bb9e 100644
--- a/gnu/packages/arcan.scm
+++ b/gnu/packages/arcan.scm
@@ -75,32 +75,30 @@ (define-public arcan
                      (delete-file-recursively "external/sqlite")))))
       (build-system cmake-build-system)
       (arguments
-       `(#:configure-flags '("-DBUILD_PRESET=everything"
-                             "-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
-             (lambda* (#:key inputs #:allow-other-keys)
-               (let ((arcan-openal (assoc-ref inputs "arcan-openal")))
-                 (copy-recursively arcan-openal "external/git/openal"))
-               #t))
-           (add-after 'prepare-static-openal 'generate-man
-             (lambda _
-               (with-directory-excursion "doc"
-                 (invoke "ruby" "docgen.rb" "mangen"))
-               #t))
-           (add-before 'configure 'chdir
-             (lambda _
-               (chdir "src")
-               #t)))
-         #:tests? #f))
+       (list #:configure-flags #~'("-DBUILD_PRESET=everything"
+                                   "-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
+                            (lambda* (#:key inputs #:allow-other-keys)
+                              (let ((arcan-openal (assoc-ref inputs
+                                                             "arcan-openal")))
+                                (copy-recursively arcan-openal
+                                                  "external/git/openal")) #t))
+                          (add-after 'prepare-static-openal 'generate-man
+                            (lambda _
+                              (with-directory-excursion "doc"
+                                (invoke "ruby" "docgen.rb" "mangen")) #t))
+                          (add-before 'configure 'chdir
+                            (lambda _
+                              (chdir "src") #t)))
+             #:tests? #f))
       (inputs
        `(("bash-minimal" ,bash-minimal)
          ("espeak" ,espeak)
-- 
2.40.1





^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [bug#64387] [PATCH 5/6] gnu: arcan: Restyle format.
  2023-06-30 22:01 [bug#64387] [PATCH 0/6] Update and rework arcan Ahmad Draidi via Guix-patches via
                   ` (3 preceding siblings ...)
  2023-06-30 22:07 ` [bug#64387] [PATCH 4/6] gnu: arcan: Use new style arguments Ahmad Draidi via Guix-patches via
@ 2023-06-30 22:07 ` Ahmad Draidi via Guix-patches via
  2023-06-30 22:07 ` [bug#64387] [PATCH 6/6] gnu: Remove arcan-wayland Ahmad Draidi via Guix-patches via
  2023-08-10 18:16 ` [bug#64387] [PATCH v2 0/6] Update and rework arcan Ahmad Draidi via Guix-patches via
  6 siblings, 0 replies; 15+ messages in thread
From: Ahmad Draidi via Guix-patches via @ 2023-06-30 22:07 UTC (permalink / raw)
  To: 64387; +Cc: Ahmad Draidi

* gnu/packages/arcan.scm (arcan): Run 'guix style' over the package and
manually break some long lines.
---
 gnu/packages/arcan.scm | 200 +++++++++++++++++++++--------------------
 1 file changed, 101 insertions(+), 99 deletions(-)

diff --git a/gnu/packages/arcan.scm b/gnu/packages/arcan.scm
index 9c6092bb9e..05d2f58fc2 100644
--- a/gnu/packages/arcan.scm
+++ b/gnu/packages/arcan.scm
@@ -55,108 +55,110 @@ (define-module (gnu packages arcan)
   #:use-module (srfi srfi-1))
 
 (define-public arcan
-    (package
-      (name "arcan")
-      (version "0.6.2.1")
-      (source (origin
-                (method git-fetch)
-                (file-name (git-file-name name version))
-                (uri (git-reference
-                      (url "https://github.com/letoram/arcan")
-                      (commit version)))
-                (sha256
-                 (base32 "14wwb7mgq8ab39dfprps7hzdz7a37r3cl8dc5q6m1r8n5daxyzgc"))
-                (modules '((guix build utils)))
-                (snippet
-                 ;; Remove some bundled packages
-                 #~(begin
-                     (delete-file-recursively "external/git")
-                     (delete-file-recursively "external/lua")
-                     (delete-file-recursively "external/sqlite")))))
-      (build-system cmake-build-system)
-      (arguments
-       (list #:configure-flags #~'("-DBUILD_PRESET=everything"
-                                   "-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
-                            (lambda* (#:key inputs #:allow-other-keys)
-                              (let ((arcan-openal (assoc-ref inputs
-                                                             "arcan-openal")))
-                                (copy-recursively arcan-openal
-                                                  "external/git/openal")) #t))
-                          (add-after 'prepare-static-openal 'generate-man
-                            (lambda _
-                              (with-directory-excursion "doc"
-                                (invoke "ruby" "docgen.rb" "mangen")) #t))
-                          (add-before 'configure 'chdir
-                            (lambda _
-                              (chdir "src") #t)))
-             #:tests? #f))
-      (inputs
-       `(("bash-minimal" ,bash-minimal)
-         ("espeak" ,espeak)
-         ("ffmpeg" ,ffmpeg)
-         ("freetype" ,freetype)
-         ("gumbo-parser" ,gumbo-parser)
-         ("harfbuzz" ,harfbuzz)
-         ("jbig2dec" ,jbig2dec)
-         ("leptonica" ,leptonica)
-         ("libdrm" ,libdrm)
-         ("libjpeg-turbo" ,libjpeg-turbo)
-         ("libseccomp" ,libseccomp)
-         ("libusb" ,libusb)
-         ("libvnc" ,libvnc)
-         ("libxkbcommon" ,libxkbcommon)
-         ("luajit" ,luajit)
-         ("mupdf" ,mupdf)
-         ("openal" ,openal)
-         ("openjpeg" ,openjpeg)
-         ("sdl2" ,sdl2)
-         ("sqlite" ,sqlite)
-         ("tesseract-ocr" ,tesseract-ocr)
-         ("vlc" ,vlc)
-         ("wayland" ,wayland)
-         ("wayland-protocols" ,wayland-protocols)
-         ("xcb-util" ,xcb-util)
-         ("xcb-util-wm" ,xcb-util-wm)
-         ("zlib" ,zlib)
-         ;;  To build arcan_lwa, we need a patched version of openal.
-         ;; https://github.com/letoram/arcan/wiki/packaging
-         ("arcan-openal" ,(origin
-                            (method git-fetch)
-                            (file-name "arcan-openal-0.6.2")
-                            (uri (git-reference
-                                  (url "https://github.com/letoram/openal")
-                                  (commit "0.6.2")))
-                            (sha256
-                             (base32
-                              "0vg3fda47q2dk1n43ijcc64q39z044pa8h6scmfyi22g6r6bfw2z"))))))
-      (native-inputs
-       (list pkg-config ruby))               ; For documentation and testing
-      (home-page "https://arcan-fe.com")
-      (synopsis "Display server, multimedia framework and game engine")
-      (description "Arcan is a development framework for creating virtually
+  (package
+    (name "arcan")
+    (version "0.6.2.1")
+    (source (origin
+              (method git-fetch)
+              (file-name (git-file-name name version))
+              (uri (git-reference
+                    (url "https://github.com/letoram/arcan")
+                    (commit version)))
+              (sha256
+               (base32
+                "14wwb7mgq8ab39dfprps7hzdz7a37r3cl8dc5q6m1r8n5daxyzgc"))
+              (modules '((guix build utils)))
+              (snippet
+               ;; Remove some bundled packages
+               #~(begin
+                   (delete-file-recursively "external/git")
+                   (delete-file-recursively "external/lua")
+                   (delete-file-recursively "external/sqlite")))))
+    (build-system cmake-build-system)
+    (arguments
+     (list #:configure-flags #~'("-DBUILD_PRESET=everything"
+                                 "-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
+                          (lambda* (#:key inputs #:allow-other-keys)
+                            (let ((arcan-openal (assoc-ref inputs
+                                                           "arcan-openal")))
+                              (copy-recursively arcan-openal
+                                                "external/git/openal")) #t))
+                        (add-after 'prepare-static-openal 'generate-man
+                          (lambda _
+                            (with-directory-excursion "doc"
+                              (invoke "ruby" "docgen.rb" "mangen")) #t))
+                        (add-before 'configure 'chdir
+                          (lambda _
+                            (chdir "src") #t)))
+           #:tests? #f))
+    (inputs `(("bash-minimal" ,bash-minimal)
+              ("espeak" ,espeak)
+              ("ffmpeg" ,ffmpeg)
+              ("freetype" ,freetype)
+              ("gumbo-parser" ,gumbo-parser)
+              ("harfbuzz" ,harfbuzz)
+              ("jbig2dec" ,jbig2dec)
+              ("leptonica" ,leptonica)
+              ("libdrm" ,libdrm)
+              ("libjpeg-turbo" ,libjpeg-turbo)
+              ("libseccomp" ,libseccomp)
+              ("libusb" ,libusb)
+              ("libvnc" ,libvnc)
+              ("libxkbcommon" ,libxkbcommon)
+              ("luajit" ,luajit)
+              ("mupdf" ,mupdf)
+              ("openal" ,openal)
+              ("openjpeg" ,openjpeg)
+              ("sdl2" ,sdl2)
+              ("sqlite" ,sqlite)
+              ("tesseract-ocr" ,tesseract-ocr)
+              ("vlc" ,vlc)
+              ("wayland" ,wayland)
+              ("wayland-protocols" ,wayland-protocols)
+              ("xcb-util" ,xcb-util)
+              ("xcb-util-wm" ,xcb-util-wm)
+              ("zlib" ,zlib)
+              ;; To build arcan_lwa, we need a patched version of openal.
+              ;; https://github.com/letoram/arcan/wiki/packaging
+              ("arcan-openal"
+               ,(origin
+                  (method git-fetch)
+                  (file-name "arcan-openal-0.6.2")
+                  (uri (git-reference (url
+                                       "https://github.com/letoram/openal")
+                                      (commit "0.6.2")))
+                  (sha256
+                   (base32
+                    "0vg3fda47q2dk1n43ijcc64q39z044pa8h6scmfyi22g6r6bfw2z"))))))
+    (native-inputs (list pkg-config ruby)) ;For documentation and testing
+    (home-page "https://arcan-fe.com")
+    (synopsis "Display server, multimedia framework and game engine")
+    (description
+     "Arcan is a development framework for creating virtually
 anything from user interfaces for specialized embedded applications
 all the way to full-blown desktop environments.  At its heart lies a multimedia
 engine with a Lua scripting interface.")
-      ;; https://github.com/letoram/arcan/blob/master/COPYING
-      (license (list license:asl2.0
-                     license:bsd-3
-                     license:cc-by3.0
-                     license:expat
-                     license:gpl2+
-                     license:lgpl2.0
-                     license:lgpl2.0+
-                     license:public-domain
-                     license:silofl1.1
-                     license:zlib))))
+    ;; https://github.com/letoram/arcan/blob/master/COPYING
+    (license (list license:asl2.0
+                   license:bsd-3
+                   license:cc-by3.0
+                   license:expat
+                   license:gpl2+
+                   license:lgpl2.0
+                   license:lgpl2.0+
+                   license:public-domain
+                   license:silofl1.1
+                   license:zlib))))
 
 (define-public arcan-sdl
   (package
-- 
2.40.1





^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [bug#64387] [PATCH 6/6] gnu: Remove arcan-wayland.
  2023-06-30 22:01 [bug#64387] [PATCH 0/6] Update and rework arcan Ahmad Draidi via Guix-patches via
                   ` (4 preceding siblings ...)
  2023-06-30 22:07 ` [bug#64387] [PATCH 5/6] gnu: arcan: Restyle format Ahmad Draidi via Guix-patches via
@ 2023-06-30 22:07 ` Ahmad Draidi via Guix-patches via
  2023-08-10 18:16 ` [bug#64387] [PATCH v2 0/6] Update and rework arcan Ahmad Draidi via Guix-patches via
  6 siblings, 0 replies; 15+ messages in thread
From: Ahmad Draidi via Guix-patches via @ 2023-06-30 22:07 UTC (permalink / raw)
  To: 64387; +Cc: Ahmad Draidi

This package has been merged into arcan in upstream.

* gnu/packages/arcan.scm (arcan-wayland): Remove variable.
---
 gnu/packages/arcan.scm | 32 --------------------------------
 1 file changed, 32 deletions(-)

diff --git a/gnu/packages/arcan.scm b/gnu/packages/arcan.scm
index 05d2f58fc2..53a1f75411 100644
--- a/gnu/packages/arcan.scm
+++ b/gnu/packages/arcan.scm
@@ -235,35 +235,3 @@ (define-public xarcan
  to map Xlib/Xcb/X clients to a running arcan instance.  It allows running an X session
 as a window under Arcan.")
       (license license:expat))))
-
-(define-public arcan-wayland
-  (package
-    (inherit arcan)
-    (name "arcan-wayland")
-    (native-inputs
-     (list pkg-config))
-    (inputs
-     (list arcan
-           libseccomp
-           libxkbcommon
-           mesa
-           wayland
-           wayland-protocols))
-    (arguments
-     `(#:tests? #f
-       #:phases
-       (modify-phases %standard-phases
-         (add-before 'configure 'chdir
-           (lambda _
-             (chdir "src/tools/waybridge")
-             #t))
-         (add-after 'unpack 'fix-cmake-find-shmif
-           (lambda* (#:key inputs #:allow-other-keys)
-             (substitute* "src/platform/cmake/modules/Findarcan_shmif.cmake"
-               (("/usr/local") (assoc-ref inputs "arcan")))
-             #t)))))
-    (synopsis "Wayland protocol service for Arcan")
-    (description "Arcan-wayland (waybridge) bridges Wayland connections
-with an Arcan connection point.  It allows Wayland compatible clients
-to connect and render using Arcan.")
-    (license license:bsd-3)))
-- 
2.40.1





^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [bug#64387] [PATCH v2 0/6] Update and rework arcan
  2023-06-30 22:01 [bug#64387] [PATCH 0/6] Update and rework arcan Ahmad Draidi via Guix-patches via
                   ` (5 preceding siblings ...)
  2023-06-30 22:07 ` [bug#64387] [PATCH 6/6] gnu: Remove arcan-wayland Ahmad Draidi via Guix-patches via
@ 2023-08-10 18:16 ` Ahmad Draidi via Guix-patches via
  2023-08-10 18:16   ` [bug#64387] [PATCH v2 1/6] gnu: arcan: Update to 0.6.2.1 Ahmad Draidi via Guix-patches via
                     ` (5 more replies)
  6 siblings, 6 replies; 15+ messages in thread
From: Ahmad Draidi via Guix-patches via @ 2023-08-10 18:16 UTC (permalink / raw)
  To: 64387
  Cc: Ahmad Draidi, paren, guix, ludo, othacehe, rg, rekado,
	zimon.toutoune, me, jgart

Hello Guix,

Version 2 of this patch series deprecates "arcan-wayland" with an alias
to "arcan"instead of removing it.

Ahmad Draidi (6):
  gnu: arcan: Update to 0.6.2.1.
  gnu: arcan: Build all features.
  gnu: arcan: Fix paths handling.
  gnu: arcan: Use new style arguments.
  gnu: arcan: Restyle format.
  gnu: arcan-wayland: Deprecate in favor of "arcan".

 gnu/packages/arcan.scm | 255 ++++++++++++++++++-----------------------
 1 file changed, 111 insertions(+), 144 deletions(-)


base-commit: b2c28de020483a52f0a4f118ea40da17c2c9e5a2
-- 
2.41.0





^ permalink raw reply	[flat|nested] 15+ messages in thread

* [bug#64387] [PATCH v2 1/6] gnu: arcan: Update to 0.6.2.1.
  2023-08-10 18:16 ` [bug#64387] [PATCH v2 0/6] Update and rework arcan Ahmad Draidi via Guix-patches via
@ 2023-08-10 18:16   ` Ahmad Draidi via Guix-patches via
  2023-08-10 18:16   ` [bug#64387] [PATCH v2 2/6] gnu: arcan: Build all features Ahmad Draidi via Guix-patches via
                     ` (4 subsequent siblings)
  5 siblings, 0 replies; 15+ messages in thread
From: Ahmad Draidi via Guix-patches via @ 2023-08-10 18:16 UTC (permalink / raw)
  To: 64387
  Cc: Ahmad Draidi, paren, guix, ludo, othacehe, rg, rekado,
	zimon.toutoune, me, jgart

* gnu/packages/arcan.scm (arcan): Update to 0.6.2.1.
[use-modules]: Remove no longer used package imports and add ones for
new dependencies. Add '(guix gexp)' for snippet.
[source]: Use version instead of commit, and add snippet to remove some
bundled packages.
[arguments]: Remove 'fix-cmake-paths' phase since it's no longer needed.
[inputs]: Remove apr, glib, glu, lzip, pcre.  Add bash-minimal, espeak,
gumbo-parser, jbig2dec, libjpeg-turbo, libseccomp, libvnc, mupdf, openjpeg,
sdl2, wayland, wayland-protocols, xcb-util, xcb-util-wm, zlib. Replace
ffmpeg-4 with ffmpeg. Change luajit label to fix lint. Update vendored
openal to 0.6.2. Sort inputs by name.
[description]: Change description to closely match upstream for accuracy.
[license]: Add new and missing licenses.
---
 gnu/packages/arcan.scm | 77 +++++++++++++++++++++++++-----------------
 1 file changed, 46 insertions(+), 31 deletions(-)

diff --git a/gnu/packages/arcan.scm b/gnu/packages/arcan.scm
index 7483777ff0..f4eecb3364 100644
--- a/gnu/packages/arcan.scm
+++ b/gnu/packages/arcan.scm
@@ -1,6 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2019 L  p R n  d n <guix@lprndn.info>
 ;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
+;;; Copyright © 2023 Ahmad Draidi <a.r.draidi@redscript.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -20,50 +21,58 @@
 (define-module (gnu packages arcan)
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
+  #:use-module (guix gexp)
   #:use-module (guix git-download)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix utils)
-  #:use-module (gnu packages apr)
   #:use-module (gnu packages audio)
   #:use-module (gnu packages autotools)
+  #:use-module (gnu packages bash)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages databases)
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages gl)
-  #:use-module (gnu packages glib)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages image)
   #:use-module (gnu packages libusb)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages lua)
   #:use-module (gnu packages ocr)
-  #:use-module (gnu packages pcre)
+  #:use-module (gnu packages pdf)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages ruby)
   #:use-module (gnu packages sdl)
+  #:use-module (gnu packages speech)
   #:use-module (gnu packages sqlite)
   #:use-module (gnu packages tls)
   #:use-module (gnu packages video)
+  #:use-module (gnu packages vnc)
+  #:use-module (gnu packages web)
   #:use-module (gnu packages xdisorg)
   #:use-module (gnu packages xorg)
   #:use-module (srfi srfi-1))
 
 (define-public arcan
-  (let ((commit "b4dd1fbd1938492ff4b269189d3c8524be7450a9")
-        (revision "1"))
     (package
       (name "arcan")
-      (version (git-version "0.5.5.2" revision commit))
+      (version "0.6.2.1")
       (source (origin
                 (method git-fetch)
                 (file-name (git-file-name name version))
                 (uri (git-reference
                       (url "https://github.com/letoram/arcan")
-                      (commit commit)))
+                      (commit version)))
                 (sha256
-                 (base32 "1pd0avlzc2rig1hd37zbhc7r2s6fjzdhshfg9l9cfzibl7caclyw"))))
+                 (base32 "14wwb7mgq8ab39dfprps7hzdz7a37r3cl8dc5q6m1r8n5daxyzgc"))
+                (modules '((guix build utils)))
+                (snippet
+                 ;; Remove some bundled packages
+                 #~(begin
+                     (delete-file-recursively "external/git")
+                     (delete-file-recursively "external/lua")
+                     (delete-file-recursively "external/sqlite")))))
       (build-system cmake-build-system)
       (arguments
        `(#:configure-flags '("-DCMAKE_C_FLAGS=-fcommon"
@@ -73,15 +82,6 @@ (define-public arcan
                              "-DSHMIF_TUI_ACCEL=on")
          #:phases
          (modify-phases %standard-phases
-           (add-after 'unpack 'fix-cmake-paths
-             (lambda* (#:key inputs #:allow-other-keys)
-               (substitute* "src/platform/cmake/modules/FindGBMKMS.cmake"
-                 (("/usr/local/include/libdrm")
-                  (search-input-directory inputs "include/libdrm")))
-               (substitute* "src/platform/cmake/modules/FindAPR.cmake"
-                 (("/usr/local/apr/include/apr-1")
-                  (search-input-directory inputs "include/apr-1")))
-               #t))
            ;; 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
@@ -122,34 +122,44 @@ (define-public arcan
               (separator #f)
               (files '("share/arcan/scripts")))))
       (inputs
-       `(("apr" ,apr)
-         ("ffmpeg" ,ffmpeg-4)
+       `(("bash-minimal" ,bash-minimal)
+         ("espeak" ,espeak)
+         ("ffmpeg" ,ffmpeg)
          ("freetype" ,freetype)
-         ("glib" ,glib)
-         ("glu" ,glu)
+         ("gumbo-parser" ,gumbo-parser)
          ("harfbuzz" ,harfbuzz)
+         ("jbig2dec" ,jbig2dec)
+         ("leptonica" ,leptonica)
          ("libdrm" ,libdrm)
+         ("libjpeg-turbo" ,libjpeg-turbo)
+         ("libseccomp" ,libseccomp)
          ("libusb" ,libusb)
+         ("libvnc" ,libvnc)
          ("libxkbcommon" ,libxkbcommon)
-         ("lua" ,luajit)
-         ("lzip" ,lzip)
+         ("luajit" ,luajit)
+         ("mupdf" ,mupdf)
          ("openal" ,openal)
-         ("pcre" ,pcre)
+         ("openjpeg" ,openjpeg)
+         ("sdl2" ,sdl2)
          ("sqlite" ,sqlite)
          ("tesseract-ocr" ,tesseract-ocr)
-         ("leptonica" ,leptonica)
          ("vlc" ,vlc)
+         ("wayland" ,wayland)
+         ("wayland-protocols" ,wayland-protocols)
+         ("xcb-util" ,xcb-util)
+         ("xcb-util-wm" ,xcb-util-wm)
+         ("zlib" ,zlib)
          ;;  To build arcan_lwa, we need a patched version of openal.
          ;; https://github.com/letoram/arcan/wiki/packaging
          ("arcan-openal" ,(origin
                             (method git-fetch)
-                            (file-name "arcan-openal-0.5.4")
+                            (file-name "arcan-openal-0.6.2")
                             (uri (git-reference
                                   (url "https://github.com/letoram/openal")
-                                  (commit "1c7302c580964fee9ee9e1d89ff56d24f934bdef")))
+                                  (commit "0.6.2")))
                             (sha256
                              (base32
-                              "0dcxcnqjkyyqdr2yk84mprvkncy5g172kfs6vc4zrkklsbkr8yi2"))))))
+                              "0vg3fda47q2dk1n43ijcc64q39z044pa8h6scmfyi22g6r6bfw2z"))))))
       (native-inputs
        (list pkg-config ruby))               ; For documentation and testing
       (home-page "https://arcan-fe.com")
@@ -157,13 +167,18 @@ (define-public arcan
       (description "Arcan is a development framework for creating virtually
 anything from user interfaces for specialized embedded applications
 all the way to full-blown desktop environments.  At its heart lies a multimedia
-engine programmable using Lua.")
+engine with a Lua scripting interface.")
       ;; https://github.com/letoram/arcan/blob/master/COPYING
-      (license (list license:gpl2+
+      (license (list license:asl2.0
+                     license:bsd-3
+                     license:cc-by3.0
+                     license:expat
+                     license:gpl2+
                      license:lgpl2.0
                      license:lgpl2.0+
                      license:public-domain
-                     license:bsd-3)))))
+                     license:silofl1.1
+                     license:zlib))))
 
 (define-public arcan-sdl
   (package
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [bug#64387] [PATCH v2 2/6] gnu: arcan: Build all features.
  2023-08-10 18:16 ` [bug#64387] [PATCH v2 0/6] Update and rework arcan Ahmad Draidi via Guix-patches via
  2023-08-10 18:16   ` [bug#64387] [PATCH v2 1/6] gnu: arcan: Update to 0.6.2.1 Ahmad Draidi via Guix-patches via
@ 2023-08-10 18:16   ` Ahmad Draidi via Guix-patches via
  2023-08-10 18:16   ` [bug#64387] [PATCH v2 3/6] gnu: arcan: Fix paths handling Ahmad Draidi via Guix-patches via
                     ` (3 subsequent siblings)
  5 siblings, 0 replies; 15+ messages in thread
From: Ahmad Draidi via Guix-patches via @ 2023-08-10 18:16 UTC (permalink / raw)
  To: 64387
  Cc: Ahmad Draidi, paren, guix, ludo, othacehe, rg, rekado,
	zimon.toutoune, me, jgart

* gnu/packages/arcan.scm (arcan): Build all features.
[arguments]: Use #:configure-flags "-DBUILD_PRESET=everything" to build all
features, and "-DDISTR_TAG='Guix'" to tag the builds.
[synopsis]: Remove '(egl-dri)' since it indicates a specific feature.
---
 gnu/packages/arcan.scm | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/arcan.scm b/gnu/packages/arcan.scm
index f4eecb3364..cfd72f6e55 100644
--- a/gnu/packages/arcan.scm
+++ b/gnu/packages/arcan.scm
@@ -75,11 +75,8 @@ (define-public arcan
                      (delete-file-recursively "external/sqlite")))))
       (build-system cmake-build-system)
       (arguments
-       `(#:configure-flags '("-DCMAKE_C_FLAGS=-fcommon"
-                             "-DVIDEO_PLATFORM=egl-dri" "-DBUILTIN_LUA=off"
-                             "-DSTATIC_OPENAL=off""-DENABLE_LWA=on"
-                             "-DSTATIC_SQLITE3=off" "-DSTATIC_FREETYPE=off"
-                             "-DSHMIF_TUI_ACCEL=on")
+       `(#:configure-flags '("-DBUILD_PRESET=everything"
+                             "-DDISTR_TAG='Guix'")
          #:phases
          (modify-phases %standard-phases
            ;; Normally, it tries to fetch patched openal with git
@@ -163,7 +160,7 @@ (define-public arcan
       (native-inputs
        (list pkg-config ruby))               ; For documentation and testing
       (home-page "https://arcan-fe.com")
-      (synopsis "Display server, multimedia framework and game engine (egl-dri)")
+      (synopsis "Display server, multimedia framework and game engine")
       (description "Arcan is a development framework for creating virtually
 anything from user interfaces for specialized embedded applications
 all the way to full-blown desktop environments.  At its heart lies a multimedia
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [bug#64387] [PATCH v2 3/6] gnu: arcan: Fix paths handling.
  2023-08-10 18:16 ` [bug#64387] [PATCH v2 0/6] Update and rework arcan Ahmad Draidi via Guix-patches via
  2023-08-10 18:16   ` [bug#64387] [PATCH v2 1/6] gnu: arcan: Update to 0.6.2.1 Ahmad Draidi via Guix-patches via
  2023-08-10 18:16   ` [bug#64387] [PATCH v2 2/6] gnu: arcan: Build all features Ahmad Draidi via Guix-patches via
@ 2023-08-10 18:16   ` Ahmad Draidi via Guix-patches via
  2023-08-10 18:16   ` [bug#64387] [PATCH v2 4/6] gnu: arcan: Use new style arguments Ahmad Draidi via Guix-patches via
                     ` (2 subsequent siblings)
  5 siblings, 0 replies; 15+ messages in thread
From: Ahmad Draidi via Guix-patches via @ 2023-08-10 18:16 UTC (permalink / raw)
  To: 64387
  Cc: Ahmad Draidi, paren, guix, ludo, othacehe, rg, rekado,
	zimon.toutoune, me, jgart

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.41.0





^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [bug#64387] [PATCH v2 4/6] gnu: arcan: Use new style arguments.
  2023-08-10 18:16 ` [bug#64387] [PATCH v2 0/6] Update and rework arcan Ahmad Draidi via Guix-patches via
                     ` (2 preceding siblings ...)
  2023-08-10 18:16   ` [bug#64387] [PATCH v2 3/6] gnu: arcan: Fix paths handling Ahmad Draidi via Guix-patches via
@ 2023-08-10 18:16   ` Ahmad Draidi via Guix-patches via
  2023-08-10 18:16   ` [bug#64387] [PATCH v2 5/6] gnu: arcan: Restyle format Ahmad Draidi via Guix-patches via
  2023-08-10 18:16   ` [bug#64387] [PATCH v2 6/6] gnu: arcan-wayland: Deprecate in favor of "arcan" Ahmad Draidi via Guix-patches via
  5 siblings, 0 replies; 15+ messages in thread
From: Ahmad Draidi via Guix-patches via @ 2023-08-10 18:16 UTC (permalink / raw)
  To: 64387
  Cc: Ahmad Draidi, paren, guix, ludo, othacehe, rg, rekado,
	zimon.toutoune, me, jgart

* gnu/packages/arcan.scm (arcan)[arguments]: Use new style arguments.
---
 gnu/packages/arcan.scm | 50 ++++++++++++++++++++----------------------
 1 file changed, 24 insertions(+), 26 deletions(-)

diff --git a/gnu/packages/arcan.scm b/gnu/packages/arcan.scm
index 159c6d2190..9c6092bb9e 100644
--- a/gnu/packages/arcan.scm
+++ b/gnu/packages/arcan.scm
@@ -75,32 +75,30 @@ (define-public arcan
                      (delete-file-recursively "external/sqlite")))))
       (build-system cmake-build-system)
       (arguments
-       `(#:configure-flags '("-DBUILD_PRESET=everything"
-                             "-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
-             (lambda* (#:key inputs #:allow-other-keys)
-               (let ((arcan-openal (assoc-ref inputs "arcan-openal")))
-                 (copy-recursively arcan-openal "external/git/openal"))
-               #t))
-           (add-after 'prepare-static-openal 'generate-man
-             (lambda _
-               (with-directory-excursion "doc"
-                 (invoke "ruby" "docgen.rb" "mangen"))
-               #t))
-           (add-before 'configure 'chdir
-             (lambda _
-               (chdir "src")
-               #t)))
-         #:tests? #f))
+       (list #:configure-flags #~'("-DBUILD_PRESET=everything"
+                                   "-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
+                            (lambda* (#:key inputs #:allow-other-keys)
+                              (let ((arcan-openal (assoc-ref inputs
+                                                             "arcan-openal")))
+                                (copy-recursively arcan-openal
+                                                  "external/git/openal")) #t))
+                          (add-after 'prepare-static-openal 'generate-man
+                            (lambda _
+                              (with-directory-excursion "doc"
+                                (invoke "ruby" "docgen.rb" "mangen")) #t))
+                          (add-before 'configure 'chdir
+                            (lambda _
+                              (chdir "src") #t)))
+             #:tests? #f))
       (inputs
        `(("bash-minimal" ,bash-minimal)
          ("espeak" ,espeak)
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [bug#64387] [PATCH v2 5/6] gnu: arcan: Restyle format.
  2023-08-10 18:16 ` [bug#64387] [PATCH v2 0/6] Update and rework arcan Ahmad Draidi via Guix-patches via
                     ` (3 preceding siblings ...)
  2023-08-10 18:16   ` [bug#64387] [PATCH v2 4/6] gnu: arcan: Use new style arguments Ahmad Draidi via Guix-patches via
@ 2023-08-10 18:16   ` Ahmad Draidi via Guix-patches via
  2023-08-10 18:16   ` [bug#64387] [PATCH v2 6/6] gnu: arcan-wayland: Deprecate in favor of "arcan" Ahmad Draidi via Guix-patches via
  5 siblings, 0 replies; 15+ messages in thread
From: Ahmad Draidi via Guix-patches via @ 2023-08-10 18:16 UTC (permalink / raw)
  To: 64387
  Cc: Ahmad Draidi, paren, guix, ludo, othacehe, rg, rekado,
	zimon.toutoune, me, jgart

* gnu/packages/arcan.scm (arcan): Run 'guix style' over the package and
manually break some long lines.
---
 gnu/packages/arcan.scm | 200 +++++++++++++++++++++--------------------
 1 file changed, 101 insertions(+), 99 deletions(-)

diff --git a/gnu/packages/arcan.scm b/gnu/packages/arcan.scm
index 9c6092bb9e..05d2f58fc2 100644
--- a/gnu/packages/arcan.scm
+++ b/gnu/packages/arcan.scm
@@ -55,108 +55,110 @@ (define-module (gnu packages arcan)
   #:use-module (srfi srfi-1))
 
 (define-public arcan
-    (package
-      (name "arcan")
-      (version "0.6.2.1")
-      (source (origin
-                (method git-fetch)
-                (file-name (git-file-name name version))
-                (uri (git-reference
-                      (url "https://github.com/letoram/arcan")
-                      (commit version)))
-                (sha256
-                 (base32 "14wwb7mgq8ab39dfprps7hzdz7a37r3cl8dc5q6m1r8n5daxyzgc"))
-                (modules '((guix build utils)))
-                (snippet
-                 ;; Remove some bundled packages
-                 #~(begin
-                     (delete-file-recursively "external/git")
-                     (delete-file-recursively "external/lua")
-                     (delete-file-recursively "external/sqlite")))))
-      (build-system cmake-build-system)
-      (arguments
-       (list #:configure-flags #~'("-DBUILD_PRESET=everything"
-                                   "-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
-                            (lambda* (#:key inputs #:allow-other-keys)
-                              (let ((arcan-openal (assoc-ref inputs
-                                                             "arcan-openal")))
-                                (copy-recursively arcan-openal
-                                                  "external/git/openal")) #t))
-                          (add-after 'prepare-static-openal 'generate-man
-                            (lambda _
-                              (with-directory-excursion "doc"
-                                (invoke "ruby" "docgen.rb" "mangen")) #t))
-                          (add-before 'configure 'chdir
-                            (lambda _
-                              (chdir "src") #t)))
-             #:tests? #f))
-      (inputs
-       `(("bash-minimal" ,bash-minimal)
-         ("espeak" ,espeak)
-         ("ffmpeg" ,ffmpeg)
-         ("freetype" ,freetype)
-         ("gumbo-parser" ,gumbo-parser)
-         ("harfbuzz" ,harfbuzz)
-         ("jbig2dec" ,jbig2dec)
-         ("leptonica" ,leptonica)
-         ("libdrm" ,libdrm)
-         ("libjpeg-turbo" ,libjpeg-turbo)
-         ("libseccomp" ,libseccomp)
-         ("libusb" ,libusb)
-         ("libvnc" ,libvnc)
-         ("libxkbcommon" ,libxkbcommon)
-         ("luajit" ,luajit)
-         ("mupdf" ,mupdf)
-         ("openal" ,openal)
-         ("openjpeg" ,openjpeg)
-         ("sdl2" ,sdl2)
-         ("sqlite" ,sqlite)
-         ("tesseract-ocr" ,tesseract-ocr)
-         ("vlc" ,vlc)
-         ("wayland" ,wayland)
-         ("wayland-protocols" ,wayland-protocols)
-         ("xcb-util" ,xcb-util)
-         ("xcb-util-wm" ,xcb-util-wm)
-         ("zlib" ,zlib)
-         ;;  To build arcan_lwa, we need a patched version of openal.
-         ;; https://github.com/letoram/arcan/wiki/packaging
-         ("arcan-openal" ,(origin
-                            (method git-fetch)
-                            (file-name "arcan-openal-0.6.2")
-                            (uri (git-reference
-                                  (url "https://github.com/letoram/openal")
-                                  (commit "0.6.2")))
-                            (sha256
-                             (base32
-                              "0vg3fda47q2dk1n43ijcc64q39z044pa8h6scmfyi22g6r6bfw2z"))))))
-      (native-inputs
-       (list pkg-config ruby))               ; For documentation and testing
-      (home-page "https://arcan-fe.com")
-      (synopsis "Display server, multimedia framework and game engine")
-      (description "Arcan is a development framework for creating virtually
+  (package
+    (name "arcan")
+    (version "0.6.2.1")
+    (source (origin
+              (method git-fetch)
+              (file-name (git-file-name name version))
+              (uri (git-reference
+                    (url "https://github.com/letoram/arcan")
+                    (commit version)))
+              (sha256
+               (base32
+                "14wwb7mgq8ab39dfprps7hzdz7a37r3cl8dc5q6m1r8n5daxyzgc"))
+              (modules '((guix build utils)))
+              (snippet
+               ;; Remove some bundled packages
+               #~(begin
+                   (delete-file-recursively "external/git")
+                   (delete-file-recursively "external/lua")
+                   (delete-file-recursively "external/sqlite")))))
+    (build-system cmake-build-system)
+    (arguments
+     (list #:configure-flags #~'("-DBUILD_PRESET=everything"
+                                 "-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
+                          (lambda* (#:key inputs #:allow-other-keys)
+                            (let ((arcan-openal (assoc-ref inputs
+                                                           "arcan-openal")))
+                              (copy-recursively arcan-openal
+                                                "external/git/openal")) #t))
+                        (add-after 'prepare-static-openal 'generate-man
+                          (lambda _
+                            (with-directory-excursion "doc"
+                              (invoke "ruby" "docgen.rb" "mangen")) #t))
+                        (add-before 'configure 'chdir
+                          (lambda _
+                            (chdir "src") #t)))
+           #:tests? #f))
+    (inputs `(("bash-minimal" ,bash-minimal)
+              ("espeak" ,espeak)
+              ("ffmpeg" ,ffmpeg)
+              ("freetype" ,freetype)
+              ("gumbo-parser" ,gumbo-parser)
+              ("harfbuzz" ,harfbuzz)
+              ("jbig2dec" ,jbig2dec)
+              ("leptonica" ,leptonica)
+              ("libdrm" ,libdrm)
+              ("libjpeg-turbo" ,libjpeg-turbo)
+              ("libseccomp" ,libseccomp)
+              ("libusb" ,libusb)
+              ("libvnc" ,libvnc)
+              ("libxkbcommon" ,libxkbcommon)
+              ("luajit" ,luajit)
+              ("mupdf" ,mupdf)
+              ("openal" ,openal)
+              ("openjpeg" ,openjpeg)
+              ("sdl2" ,sdl2)
+              ("sqlite" ,sqlite)
+              ("tesseract-ocr" ,tesseract-ocr)
+              ("vlc" ,vlc)
+              ("wayland" ,wayland)
+              ("wayland-protocols" ,wayland-protocols)
+              ("xcb-util" ,xcb-util)
+              ("xcb-util-wm" ,xcb-util-wm)
+              ("zlib" ,zlib)
+              ;; To build arcan_lwa, we need a patched version of openal.
+              ;; https://github.com/letoram/arcan/wiki/packaging
+              ("arcan-openal"
+               ,(origin
+                  (method git-fetch)
+                  (file-name "arcan-openal-0.6.2")
+                  (uri (git-reference (url
+                                       "https://github.com/letoram/openal")
+                                      (commit "0.6.2")))
+                  (sha256
+                   (base32
+                    "0vg3fda47q2dk1n43ijcc64q39z044pa8h6scmfyi22g6r6bfw2z"))))))
+    (native-inputs (list pkg-config ruby)) ;For documentation and testing
+    (home-page "https://arcan-fe.com")
+    (synopsis "Display server, multimedia framework and game engine")
+    (description
+     "Arcan is a development framework for creating virtually
 anything from user interfaces for specialized embedded applications
 all the way to full-blown desktop environments.  At its heart lies a multimedia
 engine with a Lua scripting interface.")
-      ;; https://github.com/letoram/arcan/blob/master/COPYING
-      (license (list license:asl2.0
-                     license:bsd-3
-                     license:cc-by3.0
-                     license:expat
-                     license:gpl2+
-                     license:lgpl2.0
-                     license:lgpl2.0+
-                     license:public-domain
-                     license:silofl1.1
-                     license:zlib))))
+    ;; https://github.com/letoram/arcan/blob/master/COPYING
+    (license (list license:asl2.0
+                   license:bsd-3
+                   license:cc-by3.0
+                   license:expat
+                   license:gpl2+
+                   license:lgpl2.0
+                   license:lgpl2.0+
+                   license:public-domain
+                   license:silofl1.1
+                   license:zlib))))
 
 (define-public arcan-sdl
   (package
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [bug#64387] [PATCH v2 6/6] gnu: arcan-wayland: Deprecate in favor of "arcan".
  2023-08-10 18:16 ` [bug#64387] [PATCH v2 0/6] Update and rework arcan Ahmad Draidi via Guix-patches via
                     ` (4 preceding siblings ...)
  2023-08-10 18:16   ` [bug#64387] [PATCH v2 5/6] gnu: arcan: Restyle format Ahmad Draidi via Guix-patches via
@ 2023-08-10 18:16   ` Ahmad Draidi via Guix-patches via
  2023-09-06  0:40     ` bug#64387: [PATCH 0/6] Update and rework arcan Maxim Cournoyer
  5 siblings, 1 reply; 15+ messages in thread
From: Ahmad Draidi via Guix-patches via @ 2023-08-10 18:16 UTC (permalink / raw)
  To: 64387
  Cc: Ahmad Draidi, paren, guix, ludo, othacehe, rg, rekado,
	zimon.toutoune, me, jgart

* gnu/packages/arcan.scm (arcan-wayland): Rewrite as a deprecated
alias for "arcan".
---
 gnu/packages/arcan.scm | 32 ++------------------------------
 1 file changed, 2 insertions(+), 30 deletions(-)

diff --git a/gnu/packages/arcan.scm b/gnu/packages/arcan.scm
index 05d2f58fc2..c2a1071e96 100644
--- a/gnu/packages/arcan.scm
+++ b/gnu/packages/arcan.scm
@@ -236,34 +236,6 @@ (define-public xarcan
 as a window under Arcan.")
       (license license:expat))))
 
+;; Package was merged into arcan in upstream
 (define-public arcan-wayland
-  (package
-    (inherit arcan)
-    (name "arcan-wayland")
-    (native-inputs
-     (list pkg-config))
-    (inputs
-     (list arcan
-           libseccomp
-           libxkbcommon
-           mesa
-           wayland
-           wayland-protocols))
-    (arguments
-     `(#:tests? #f
-       #:phases
-       (modify-phases %standard-phases
-         (add-before 'configure 'chdir
-           (lambda _
-             (chdir "src/tools/waybridge")
-             #t))
-         (add-after 'unpack 'fix-cmake-find-shmif
-           (lambda* (#:key inputs #:allow-other-keys)
-             (substitute* "src/platform/cmake/modules/Findarcan_shmif.cmake"
-               (("/usr/local") (assoc-ref inputs "arcan")))
-             #t)))))
-    (synopsis "Wayland protocol service for Arcan")
-    (description "Arcan-wayland (waybridge) bridges Wayland connections
-with an Arcan connection point.  It allows Wayland compatible clients
-to connect and render using Arcan.")
-    (license license:bsd-3)))
+  (deprecated-package "arcan-wayland" arcan))
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 15+ messages in thread

* bug#64387: [PATCH 0/6] Update and rework arcan
  2023-08-10 18:16   ` [bug#64387] [PATCH v2 6/6] gnu: arcan-wayland: Deprecate in favor of "arcan" Ahmad Draidi via Guix-patches via
@ 2023-09-06  0:40     ` Maxim Cournoyer
  0 siblings, 0 replies; 15+ messages in thread
From: Maxim Cournoyer @ 2023-09-06  0:40 UTC (permalink / raw)
  To: Ahmad Draidi
  Cc: me, zimon.toutoune, paren, ludo, 64387-done, rekado, rg, jgart,
	othacehe, guix

Hi Ahmad!

Well crafted!  I've installed the series.

-- 
Thanks,
Maxim




^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2023-09-06  0:41 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-06-30 22:01 [bug#64387] [PATCH 0/6] Update and rework arcan Ahmad Draidi via Guix-patches via
2023-06-30 22:07 ` [bug#64387] [PATCH 1/6] gnu: arcan: Update to 0.6.2.1 Ahmad Draidi via Guix-patches via
2023-06-30 22:07 ` [bug#64387] [PATCH 2/6] gnu: arcan: Build all features Ahmad Draidi via Guix-patches via
2023-06-30 22:07 ` [bug#64387] [PATCH 3/6] gnu: arcan: Fix paths handling Ahmad Draidi via Guix-patches via
2023-06-30 22:07 ` [bug#64387] [PATCH 4/6] gnu: arcan: Use new style arguments Ahmad Draidi via Guix-patches via
2023-06-30 22:07 ` [bug#64387] [PATCH 5/6] gnu: arcan: Restyle format Ahmad Draidi via Guix-patches via
2023-06-30 22:07 ` [bug#64387] [PATCH 6/6] gnu: Remove arcan-wayland Ahmad Draidi via Guix-patches via
2023-08-10 18:16 ` [bug#64387] [PATCH v2 0/6] Update and rework arcan Ahmad Draidi via Guix-patches via
2023-08-10 18:16   ` [bug#64387] [PATCH v2 1/6] gnu: arcan: Update to 0.6.2.1 Ahmad Draidi via Guix-patches via
2023-08-10 18:16   ` [bug#64387] [PATCH v2 2/6] gnu: arcan: Build all features Ahmad Draidi via Guix-patches via
2023-08-10 18:16   ` [bug#64387] [PATCH v2 3/6] gnu: arcan: Fix paths handling Ahmad Draidi via Guix-patches via
2023-08-10 18:16   ` [bug#64387] [PATCH v2 4/6] gnu: arcan: Use new style arguments Ahmad Draidi via Guix-patches via
2023-08-10 18:16   ` [bug#64387] [PATCH v2 5/6] gnu: arcan: Restyle format Ahmad Draidi via Guix-patches via
2023-08-10 18:16   ` [bug#64387] [PATCH v2 6/6] gnu: arcan-wayland: Deprecate in favor of "arcan" Ahmad Draidi via Guix-patches via
2023-09-06  0:40     ` bug#64387: [PATCH 0/6] Update and rework arcan Maxim Cournoyer

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).