* [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).