[PATCH 0/6] Update and rework arcan

  • Done
  • quality assurance status badge
Details
2 participants
  • Ahmad Draidi
  • Maxim Cournoyer
Owner
unassigned
Submitted by
Ahmad Draidi
Severity
normal
A
A
Ahmad Draidi wrote on 1 Jul 2023 00:01
(address . guix-patches@gnu.org)(name . Ahmad Draidi)(address . a.r.draidi@redscript.org)
cover.1688161433.git.a.r.draidi@redscript.org
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
A
A
Ahmad Draidi wrote on 1 Jul 2023 00:07
[PATCH 1/6] gnu: arcan: Update to 0.6.2.1.
(address . 64387@debbugs.gnu.org)(name . Ahmad Draidi)(address . a.r.draidi@redscript.org)
e45fce46ffceb9755cf1f4813290ab1125d57c53.1688161433.git.a.r.draidi@redscript.org
* 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(-)

Toggle diff (175 lines)
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
A
A
Ahmad Draidi wrote on 1 Jul 2023 00:07
[PATCH 2/6] gnu: arcan: Build all features.
(address . 64387@debbugs.gnu.org)(name . Ahmad Draidi)(address . a.r.draidi@redscript.org)
8574825bcdb9d85ea62771a7671b8dc2d4c57c18.1688161433.git.a.r.draidi@redscript.org
* 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(-)

Toggle diff (29 lines)
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
A
A
Ahmad Draidi wrote on 1 Jul 2023 00:07
[PATCH 3/6] gnu: arcan: Fix paths handling.
(address . 64387@debbugs.gnu.org)(name . Ahmad Draidi)(address . a.r.draidi@redscript.org)
88537d4db68bd306c1f3efae8b6ed52290ca66e2.1688161433.git.a.r.draidi@redscript.org
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(-)

Toggle diff (49 lines)
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
A
A
Ahmad Draidi wrote on 1 Jul 2023 00:07
[PATCH 4/6] gnu: arcan: Use new style arguments.
(address . 64387@debbugs.gnu.org)(name . Ahmad Draidi)(address . a.r.draidi@redscript.org)
cfd88ac6f8eaba3be76a658b1e7b47fa89d54373.1688161433.git.a.r.draidi@redscript.org
* gnu/packages/arcan.scm (arcan)[arguments]: Use new style arguments.
---
gnu/packages/arcan.scm | 50 ++++++++++++++++++++----------------------
1 file changed, 24 insertions(+), 26 deletions(-)

Toggle diff (63 lines)
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
A
A
Ahmad Draidi wrote on 1 Jul 2023 00:07
[PATCH 5/6] gnu: arcan: Restyle format.
(address . 64387@debbugs.gnu.org)(name . Ahmad Draidi)(address . a.r.draidi@redscript.org)
c61ccac10120874e089e9275d90720e996abb450.1688161433.git.a.r.draidi@redscript.org
* 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(-)

Toggle diff (216 lines)
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
A
A
Ahmad Draidi wrote on 1 Jul 2023 00:07
[PATCH 6/6] gnu: Remove arcan-wayland.
(address . 64387@debbugs.gnu.org)(name . Ahmad Draidi)(address . a.r.draidi@redscript.org)
25d18f87d518a85e6f62050e2f58f322b3827265.1688161433.git.a.r.draidi@redscript.org
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(-)

Toggle diff (42 lines)
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
A
A
Ahmad Draidi wrote on 10 Aug 2023 20:16
[PATCH v2 0/6] Update and rework arcan
(address . 64387@debbugs.gnu.org)(name . Ahmad Draidi)(address . a.r.draidi@redscript.org)
cover.1691691397.git.a.r.draidi@redscript.org
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
A
A
Ahmad Draidi wrote on 10 Aug 2023 20:16
[PATCH v2 1/6] gnu: arcan: Update to 0.6.2.1.
(address . 64387@debbugs.gnu.org)(name . Ahmad Draidi)(address . a.r.draidi@redscript.org)
61b6ea7a9d903a772585da35c18d30014055d634.1691691398.git.a.r.draidi@redscript.org
* 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(-)

Toggle diff (175 lines)
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
A
A
Ahmad Draidi wrote on 10 Aug 2023 20:16
[PATCH v2 2/6] gnu: arcan: Build all features.
(address . 64387@debbugs.gnu.org)(name . Ahmad Draidi)(address . a.r.draidi@redscript.org)
13349fbed96787c12e76cfa5804fe24641546937.1691691398.git.a.r.draidi@redscript.org
* 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(-)

Toggle diff (29 lines)
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
A
A
Ahmad Draidi wrote on 10 Aug 2023 20:16
[PATCH v2 3/6] gnu: arcan: Fix paths handling.
(address . 64387@debbugs.gnu.org)(name . Ahmad Draidi)(address . a.r.draidi@redscript.org)
ae43b41bceaa57b5e613635329210f3ee08e2fcf.1691691398.git.a.r.draidi@redscript.org
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(-)

Toggle diff (49 lines)
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
A
A
Ahmad Draidi wrote on 10 Aug 2023 20:16
[PATCH v2 4/6] gnu: arcan: Use new style arguments.
(address . 64387@debbugs.gnu.org)(name . Ahmad Draidi)(address . a.r.draidi@redscript.org)
667739ec06929fa054cae6c439d3567fd3e9a9da.1691691398.git.a.r.draidi@redscript.org
* gnu/packages/arcan.scm (arcan)[arguments]: Use new style arguments.
---
gnu/packages/arcan.scm | 50 ++++++++++++++++++++----------------------
1 file changed, 24 insertions(+), 26 deletions(-)

Toggle diff (63 lines)
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
A
A
Ahmad Draidi wrote on 10 Aug 2023 20:16
[PATCH v2 6/6] gnu: arcan-wayland: Deprecate in favor of "arcan".
(address . 64387@debbugs.gnu.org)(name . Ahmad Draidi)(address . a.r.draidi@redscript.org)
b39ca0c79e3dcba81739cd93cacebf1c50f0b054.1691691398.git.a.r.draidi@redscript.org
* 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(-)

Toggle diff (43 lines)
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
A
A
Ahmad Draidi wrote on 10 Aug 2023 20:16
[PATCH v2 5/6] gnu: arcan: Restyle format.
(address . 64387@debbugs.gnu.org)(name . Ahmad Draidi)(address . a.r.draidi@redscript.org)
9fdea3fa7c68a55e26ac21d73941c8bc8f07c687.1691691398.git.a.r.draidi@redscript.org
* 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(-)

Toggle diff (216 lines)
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
M
M
Maxim Cournoyer wrote on 6 Sep 2023 02:40
Re: bug#64387: [PATCH 0/6] Update and rework arcan
(name . Ahmad Draidi)(address . a.r.draidi@redscript.org)
87msy0f82l.fsf_-_@gmail.com
Hi Ahmad!

Well crafted! I've installed the series.

--
Thanks,
Maxim
Closed
?
Your comment

This issue is archived.

To comment on this conversation send an email to 64387@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 64387
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch