Package: guix-patches;
Reported by: dan <i <at> dan.games>
Date: Sun, 21 Apr 2024 08:21:03 UTC
Severity: normal
Tags: patch
To reply to this bug, email your comments to 70493 AT debbugs.gnu.org.
Toggle the display of automated, internal messages from the tracker.
View this report as an mbox folder, status mbox, maintainer mbox
guix-patches <at> gnu.org
:bug#70493
; Package guix-patches
.
(Sun, 21 Apr 2024 08:21:03 GMT) Full text and rfc822 format available.dan <i <at> dan.games>
:guix-patches <at> gnu.org
.
(Sun, 21 Apr 2024 08:21:03 GMT) Full text and rfc822 format available.Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: dan <i <at> dan.games> To: guix-patches <at> gnu.org Subject: [PATCH 0/4] gnu: Add gamescope. Date: Sun, 21 Apr 2024 16:19:42 +0800
This patch series added gamescope, the micro-compositor for running games, and a few its dependencies. Noted that the latest gamescope release is 3.14.4, but it depends on the latest version of wayland-protocols. Besides, I noticed that libavif is updated in https://issues.guix.gnu.org/70395, but this is a patch series trying to update some KDE packages, and since a lot of packages depends on libavif, it would take some time for this update to landed in master. In the meantime, i added a new package libavif-1.0. dan (4): gnu: Add libliftoff. gnu: Add vkroots. gnu: Add libavif-1.0. gnu: Add gamescope. gnu/packages/freedesktop.scm | 23 ++++++++ gnu/packages/image.scm | 14 +++++ gnu/packages/vulkan.scm | 36 ++++++++++++ gnu/packages/wm.scm | 110 +++++++++++++++++++++++++++++++++++ 4 files changed, 183 insertions(+) base-commit: 38b88d710ea13ba024aed0543bc2862772cdb645 -- 2.41.0
guix-patches <at> gnu.org
:bug#70493
; Package guix-patches
.
(Sun, 21 Apr 2024 08:31:01 GMT) Full text and rfc822 format available.Message #8 received at 70493 <at> debbugs.gnu.org (full text, mbox):
From: dan <i <at> dan.games> To: 70493 <at> debbugs.gnu.org Cc: john.kehayias <at> protonmail.com Subject: [PATCH 1/4] gnu: Add libliftoff. Date: Sun, 21 Apr 2024 16:29:29 +0800
* gnu/packages/freedesktop.scm (libliftoff): New variable. Change-Id: Ia66bb09db6b09c63fbc6223f58d6a0ebf6f4c546 --- gnu/packages/freedesktop.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index 339297c087..d0c14e8077 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -35,6 +35,7 @@ ;;; Copyright © 2023 Alex Devaure <ajadevaure <at> gmail.com> ;;; Copyright © 2023 Bruno Victal <mirai <at> makinata.eu> ;;; Copyright © 2024 Zheng Junjie <873216071 <at> qq.com> +;;; Copyright © 2024 dan <i <at> dan.games> ;;; ;;; This file is part of GNU Guix. ;;; @@ -3234,3 +3235,25 @@ (define-public waypipe "Waypipe is a proxy for Wayland clients, with the aim of supporting behavior like @samp{ssh -X}.") (license license:expat))) + +(define-public libliftoff + (package + (name "libliftoff") + (version "0.4.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.freedesktop.org/emersion/libliftoff") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 (base32 "1ikjp638d655ycaqkdnzhb12d29kkbb3a46lqhbhsfc8vsqj3z1l")))) + (build-system meson-build-system) + (inputs (list libdrm)) + (native-inputs (list pkg-config)) + (home-page "https://gitlab.freedesktop.org/emersion/libliftoff") + (synopsis "Lightweight KMS plane library") + (description "libliftoff eases the use of KMS planes from userspace +without standing in your way. Users create \"virtual planes\" called layers, +set KMS properties on them, and libliftoff will pick hardware planes for these +layers if possible.") + (license license:expat))) -- 2.41.0
guix-patches <at> gnu.org
:bug#70493
; Package guix-patches
.
(Sun, 21 Apr 2024 08:31:02 GMT) Full text and rfc822 format available.Message #11 received at 70493 <at> debbugs.gnu.org (full text, mbox):
From: dan <i <at> dan.games> To: 70493 <at> debbugs.gnu.org Cc: john.kehayias <at> protonmail.com Subject: [PATCH 2/4] gnu: Add vkroots. Date: Sun, 21 Apr 2024 16:29:30 +0800
* gnu/packages/vulkan.scm (vkroots): New variable. Change-Id: I57dfea58254c9bcf001d2052156f2c17dde109c4 --- gnu/packages/vulkan.scm | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm index 23d0c72ee3..f3c6e619a8 100644 --- a/gnu/packages/vulkan.scm +++ b/gnu/packages/vulkan.scm @@ -32,6 +32,7 @@ (define-module (gnu packages vulkan) #:use-module (guix gexp) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) + #:use-module (guix build-system meson) #:use-module (gnu packages) #:use-module (gnu packages autotools) #:use-module (gnu packages bison) @@ -634,3 +635,38 @@ (define-public vulkan-utility-libraries (synopsis "Utility libraries for Vulkan developers") (description "Utility libraries for Vulkan developers.") (license license:asl2.0))) + +(define-public vkroots + (let ((commit "d5ef31abc7cb5c69aee4bcb67b10dd543c1ff7ac") + (revision "0")) + (package + (name "vkroots") + (version (git-version "0.0.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Joshua-Ashton/vkroots") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0g2mh8l0xzxzr4yjyafzv76n7jk9043dcbf5mpqwpwmjx88m5nc0")))) + (build-system meson-build-system) + (arguments (list #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'patch-vulkan + (lambda _ + (substitute* "gen/make_vkroots" + (("\\.\\.") (getcwd))))) + (add-before 'install 'gen-vkroots + (lambda _ + (invoke "python3" + "../source/gen/make_vkroots" + "-x" + (string-append + #$(this-package-native-input "vulkan-headers") + "/share/vulkan/registry/vk.xml"))))))) + (native-inputs (list python vulkan-headers)) + (home-page "https://github.com/Joshua-Ashton/vkroots") + (synopsis "Simple method of making Vulkan layers") + (description "vkroots is a framework for writing Vulkan layers that +takes all the complexity away from you.") + (license license:expat)))) -- 2.41.0
guix-patches <at> gnu.org
:bug#70493
; Package guix-patches
.
(Sun, 21 Apr 2024 08:31:04 GMT) Full text and rfc822 format available.Message #14 received at 70493 <at> debbugs.gnu.org (full text, mbox):
From: dan <i <at> dan.games> To: 70493 <at> debbugs.gnu.org Cc: john.kehayias <at> protonmail.com Subject: [PATCH 3/4] gnu: Add libavif-1.0. Date: Sun, 21 Apr 2024 16:29:31 +0800
* gnu/packages/image.scm (libavif-1.0): New variable. Change-Id: Ie3c9dc1964ea0d0a97cde4e8802f8dd1308f0e0b --- gnu/packages/image.scm | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index fae45363ad..5ed2acda8c 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -39,6 +39,7 @@ ;;; Copyright © 2023-2024 Nicolas Goaziou <mail <at> nicolasgoaziou.fr> ;;; Copyright © 2023 Artyom V. Poptsov <poptsov.artyom <at> gmail.com> ;;; Copyright © 2024 chris <chris <at> bumblehead.com> +;;; Copyright © 2024 dan <i <at> dan.games> ;;; ;;; This file is part of GNU Guix. ;;; @@ -2544,6 +2545,19 @@ (define-public libavif (home-page "https://github.com/AOMediaCodec/libavif") (license (list license:bsd-2)))) +(define-public libavif-1.0 + (package + (inherit libavif) + (version "1.0.4") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/AOMediaCodec/libavif") + (commit (string-append "v" version)))) + (file-name (git-file-name (package-name libavif) version)) + (sha256 + (base32 "0k72q7yvfdn92wkslyifw14319nm981a8r3kd84i4ylxmrkgi0zm")))))) + (define-public libheif (package (name "libheif") -- 2.41.0
guix-patches <at> gnu.org
:bug#70493
; Package guix-patches
.
(Sun, 21 Apr 2024 08:31:06 GMT) Full text and rfc822 format available.Message #17 received at 70493 <at> debbugs.gnu.org (full text, mbox):
From: dan <i <at> dan.games> To: 70493 <at> debbugs.gnu.org Cc: john.kehayias <at> protonmail.com Subject: [PATCH 4/4] gnu: Add gamescope. Date: Sun, 21 Apr 2024 16:29:32 +0800
* gnu/packages/wm.scm (%gamescope-version): New variable. (reshade-for-gamescope): New variable. (gamescope): New variable. Change-Id: If86bc6127144854189f8fa66415f32bc80a26d6b --- gnu/packages/wm.scm | 110 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 110 insertions(+) diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index 2eecc0ed2a..8d816e2e28 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -70,6 +70,7 @@ ;;; Copyright © 2024 Ahmad Draidi <a.r.draidi <at> redscript.org> ;;; Copyright © 2024 chris <chris <at> bumblehead.com> ;;; Copyright © 2024 Erik Eduardo Alonso Hernández <erik <at> erikeduardo.xyz> +;;; Copyright © 2024 dan <i <at> dan.games> ;;; ;;; This file is part of GNU Guix. ;;; @@ -105,6 +106,7 @@ (define-module (gnu packages wm) #:use-module (guix utils) #:use-module (gnu packages) #:use-module (gnu packages bash) + #:use-module (gnu packages benchmark) #:use-module (gnu packages admin) #:use-module (gnu packages autotools) #:use-module (gnu packages base) @@ -142,6 +144,7 @@ (define-module (gnu packages wm) #:use-module (gnu packages logging) #:use-module (gnu packages lua) #:use-module (gnu packages man) + #:use-module (gnu packages maths) #:use-module (gnu packages mpd) #:use-module (gnu packages pciutils) #:use-module (gnu packages music) @@ -155,12 +158,15 @@ (define-module (gnu packages wm) #:use-module (gnu packages python-crypto) #:use-module (gnu packages python-xyz) #:use-module (gnu packages readline) + #:use-module (gnu packages sdl) #:use-module (gnu packages serialization) #:use-module (gnu packages sphinx) + #:use-module (gnu packages stb) #:use-module (gnu packages suckless) #:use-module (gnu packages texinfo) #:use-module (gnu packages textutils) #:use-module (gnu packages time) + #:use-module (gnu packages vulkan) #:use-module (gnu packages web) #:use-module (gnu packages xdisorg) #:use-module (gnu packages xml) @@ -3856,3 +3862,107 @@ (define-public yambar-wayland for short) for X11 and Wayland, that goes to great lengths to be both CPU and battery efficient---polling is only done when absolutely necessary.") (license license:expat))) + +(define %gamescope-version "3.14.2") + +(define reshade-for-gamescope + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Joshua-Ashton/reshade") + (commit "9fdbea6892f9959fdc18095d035976c574b268b7"))) + (file-name (git-file-name "reshade-for-gamescope" %gamescope-version)) + (sha256 + (base32 "1par0ay973l0bvlz0fsg3v1fxgrnn888yc0hx3ikkyc0jbbf59bg")))) + +(define-public gamescope + (package + (name "gamescope") + (version %gamescope-version) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ValveSoftware/gamescope") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0x7gh1rr2ismqfkaa4wm7025acjpgmims41iwzdcps5pg8nxmmhh")))) + (build-system meson-build-system) + (arguments + (list #:configure-flags #~(list "-Dpipewire=enabled" + "-Denable_openvr_support=false" + "-Dforce_fallback_for=[]" + (string-append "-Dc_args=-DHWDATA_PNP_IDS=\"" + #$(this-package-native-input "hwdata") + "/share/hwdata/pnp.ids\"")) + #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'patch-deps + (lambda _ + (substitute* "src/reshade_effect_manager.cpp" + (("/usr") #$output)) + (substitute* "src/meson.build" + ;; patch stb + (("dependency\\('stb'\\)") + (format #f "declare_dependency(include_directories: ['~a'])" + (string-join + '#$(map (lambda (label) (this-package-native-input label)) + (list "stb-image" + "stb-image-resize" + "stb-image-write")) + "','"))) + ;; patch libdisplay-info + (("< 0.2.0") + (string-append "<= " #$(package-version (this-package-input "libdisplay-info")))) + (("reshade/") (string-append #$reshade-for-gamescope "/")) + (("../thirdparty/SPIRV-Headers") #$(this-package-native-input "spirv-headers")))))))) + (inputs + (list glm + libavif-1.0 + libcap + libdisplay-info + libdrm + libinput + libliftoff + libx11 + libxcomposite + libxcursor + libxdamage + libxext + libxkbcommon + libxmu + libxrender + libxres + libxt + libxtst + pipewire + sdl2 + vulkan-loader + wayland + wlroots)) + (native-inputs + (list benchmark + ;; Lazily resolve the gcc-toolchain-12 to avoid a circular dependency. + (module-ref (resolve-interface '(gnu packages commencement)) + 'gcc-toolchain-12) + glslang + `(,hwdata "pnp") + pkg-config + stb-image + stb-image-resize + stb-image-write + spirv-headers + vkroots + vulkan-headers + wayland-protocols)) + (home-page "https://github.com/ValveSoftware/gamescope") + (synopsis "Micro-compositor for running games") + (description + "gamescope is a micro-compositor for running games. Its goal is to +provide an isolated compositor that is tailored towards gaming and supports +many gaming-centric features such as: +@itemize +@item Spoofing resolutions. +@item Upscaling. +@item Limiting framerates. +@end itemize") + (license license:bsd-2))) -- 2.41.0
i <at> dan.games, guix-patches <at> gnu.org
:bug#70493
; Package guix-patches
.
(Sun, 11 May 2025 22:48:02 GMT) Full text and rfc822 format available.Message #20 received at 70493 <at> debbugs.gnu.org (full text, mbox):
From: aurtzy <aurtzy <at> gmail.com> To: 70493 <at> debbugs.gnu.org Cc: aurtzy <aurtzy <at> gmail.com>, Demis Balbach <db <at> minikn.xyz>, dan <i <at> dan.games> Subject: [PATCH v2] gnu: Add gamescope. Date: Sun, 11 May 2025 18:40:39 -0400
From: dan <i <at> dan.games> * gnu/packages/wm.scm (%gamescope-version, libliftoff-for-gamescope, reshade-for-gamescope, vkroots-for-gamescope, wlroots-for-gamescope, gamescope): New variables. Change-Id: If86bc6127144854189f8fa66415f32bc80a26d6b Co-authored-by: aurtzy <aurtzy <at> gmail.com> Co-authored-by: Demis Balbach <db <at> minikn.xyz> --- Hey, (Coming from: <https://gitlab.com/nonguix/nonguix/-/merge_requests/452>) Sorry about the long delay! Finally got around to looking at this again. I've attached a v2 with our patches combined in addition to any updates since then, with all notable changes from v1 listed below. This depends on a pending patch to add stb-image-resize [1]. Changes from dan's v1: - Update gamescope version to 3.16.4. - Drop libavif-1.0 patch; we can use libavif which is updated, now. - Convert libliftoff and vkroots patches to libliftoff-for-gamescope and vkroots-for-gamescope due to upstream relying on unstable features and strongly recommending against using different versions [2]. Also subject wlroots to this treatment. - Use origin snippet to add pinned submodule/dependency sources. - Remove HWDATA_PNP_IDS configure flag, since (IIUC) hwdata outputs have since been merged into the default "out" output which made pkgconfig able to automatically find hwdata files. - Add a 'patch-loader-path phase to fix an error when starting gamescope due to "Failed to load vulkan module" (related issue [3]). - Add a 'patch-version phase that patches in version number instead of trying to execute git to infer version from tag. - Opt for patching stb via wrap file instead of meson.build which should (probably) be less brittle. - Drop libdisplay-info patch, since versions up to 0.3.0 are accepted now. - Use gcc instead of gcc-toolchain (toolchain version doesn't seem to be needed?). Also use newer version (gcc-14) since gamescope 3.16.4 would fail to build without at least gcc-13. - Include various additional inputs that are searched for during the build. Related side note: I've managed to get gamescope with the "nice" capability working with the following services (some personal config stuff omitted so it can work for others; source here [4]), although I'm still trying to figure out if anything can be done about removing a hack that's currently needed: #+begin_src scheme ;; gamescopereaper needs to be available in PATH. (list (simple-service 'name profile-service-type (list gamescope)) (simple-service 'name privileged-program-service-type (list (privileged-program (program (file-append gamescope "/bin/gamescope")) (capabilities "cap_sys_nice=eip")))) ;; HACK: Using privileges causes gamescope to not inherit ;; environment, so it fails an attempt to search for needed ;; vulkan files. Conveniently provide them at this location, ;; which gamescope searches by default. (simple-service 'name etc-service-type `(("vulkan" ,(file-append mesa "/share/vulkan"))))) #+end_src [1] https://issues.guix.gnu.org/78294 [2] https://github.com/ValveSoftware/gamescope/commit/7741cd587fa2274989f3307a3c6f23ab08e98460 [3] https://issues.guix.gnu.org/71109 [4] https://github.com/aurtzy/guix-config/blob/54eeb0a1587a90b4c59ae88e96c1609ba6cebeba/modules/my-guix/mods/entertainment.scm#L70 Cheers, aurtzy gnu/packages/wm.scm | 182 +++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 181 insertions(+), 1 deletion(-) diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index 66dd5f2035..6d01066570 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -81,6 +81,8 @@ ;;; Copyright © 2025 Tomáš Čech <sleep_walker <at> gnu.org> ;;; Copyright © 2025 Ricardo Wurmus <rekado <at> elephly.net> ;;; Copyright © 2025 Junker <dk <at> junkeria.club> +;;; Copyright © 2022 Demis Balbach <db <at> minikn.xyz> +;;; Copyright © 2025 aurtzy <aurtzy <at> gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -117,6 +119,7 @@ (define-module (gnu packages wm) #:use-module (guix utils) #:use-module (gnu packages) #:use-module (gnu packages bash) + #:use-module (gnu packages benchmark) #:use-module (gnu packages admin) #:use-module (gnu packages autotools) #:use-module (gnu packages base) @@ -179,8 +182,10 @@ (define-module (gnu packages wm) #:use-module (gnu packages qt) #:use-module (gnu packages readline) #:use-module (gnu packages regex) + #:use-module (gnu packages sdl) #:use-module (gnu packages serialization) #:use-module (gnu packages sphinx) + #:use-module (gnu packages stb) #:use-module (gnu packages suckless) #:use-module (gnu packages texinfo) #:use-module (gnu packages textutils) @@ -189,7 +194,8 @@ (define-module (gnu packages wm) #:use-module (gnu packages web) #:use-module (gnu packages xdisorg) #:use-module (gnu packages xml) - #:use-module (gnu packages xorg)) + #:use-module (gnu packages xorg) + #:use-module (srfi srfi-26)) (define-public bspwm (package @@ -4419,3 +4425,177 @@ (define-public scenefx "A drop-in replacement for the wlroots scene API that allows wayland compositors to render surfaces with eye-candy effects.") (license license:expat))) + +;; Upstream strongly recommends using some of its pinned dependencies due to +;; relying on unstable features; these should be checked when updating +;; gamescope. See: +;; <https://github.com/ValveSoftware/gamescope/commit/7741cd587fa2274989f3307a3c6f23ab08e98460> +(define %gamescope-version "3.16.4") + +(define libliftoff-for-gamescope + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.freedesktop.org/emersion/libliftoff.git") + (commit "8b08dc1c14fd019cc90ddabe34ad16596b0691f4"))) + (file-name (git-file-name "libliftoff-for-gamescope" %gamescope-version)) + (sha256 (base32 "163g8ndsbma7acy2k9mrnvlpb7yi4431hgkx1gygkafgwpq1ii1x")))) + +(define reshade-for-gamescope + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Joshua-Ashton/reshade") + (commit "696b14cd6006ae9ca174e6164450619ace043283"))) + (file-name (git-file-name "reshade-for-gamescope" %gamescope-version)) + (sha256 + (base32 "1zvhf3pgd8bhn8bynrsh725xn1dszsf05j8c9g6zabgv7vnz04a5")))) + +(define vkroots-for-gamescope + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Joshua-Ashton/vkroots") + (commit "5106d8a0df95de66cc58dc1ea37e69c99afc9540"))) + (file-name (git-file-name "vkroots-for-gamescope" %gamescope-version)) + (sha256 (base32 "0hrp0xqq93552ipw2bmryixgm1aywnz49xagsx5rwzg2d0hwa0aa")))) + +(define wlroots-for-gamescope + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Joshua-Ashton/wlroots.git") + (commit "4bc5333a2cbba0b0b88559f281dbde04b849e6ef"))) + (file-name (git-file-name "wlroots-for-gamescope" %gamescope-version)) + (sha256 (base32 "14m9j9qkaphzm3g36im43b6h92rh3xyjh7j46vw9w2qm602ndwcf")))) + +(define-public gamescope + (package + (name "gamescope") + (version %gamescope-version) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ValveSoftware/gamescope") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "09h7046vwqn0w3kv1zaij4h3rcrvs1r2qlm0vva3mk3gg44fnhjl")) + (modules '((guix build utils) + (ice-9 match))) + (snippet + #~(begin + ;; Add some dependencies to source tree where they're expected. + (for-each (match-lambda + ((source dest) + (copy-recursively source dest))) + '((#$libliftoff-for-gamescope "subprojects/libliftoff") + (#$reshade-for-gamescope "src/reshade") + (#$vkroots-for-gamescope "subprojects/vkroots") + (#$wlroots-for-gamescope "subprojects/wlroots"))))))) + (build-system meson-build-system) + (arguments + (list + #:configure-flags #~(list "-Dpipewire=enabled" + "-Denable_openvr_support=false") + #:modules '((guix build meson-build-system) + (guix build utils) + (srfi srfi-26)) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-usr-dir + (lambda _ + (substitute* "src/reshade_effect_manager.cpp" + (("/usr") #$output)))) + (add-after 'unpack 'patch-loader-path + ;; "Failed to load vulkan module" error occurs without this patch. + ;; Related issue: https://issues.guix.gnu.org/71109 + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "src/rendervulkan.cpp" + (("dlopen\\( \"libvulkan\\.so") + (string-append "dlopen( \"" + (search-input-file + inputs "/lib/libvulkan.so")))))) + (add-after 'unpack 'patch-version + (lambda _ + (substitute* "src/meson.build" + (("^vcs_tag = .*$") + (string-append + "vcs_tag = '" #$(package-version this-package) "'\n"))))) + (add-after 'unpack 'patch-stb + (lambda _ + (let ((stb-files-dir #+(directory-union + "stb" + (map (cut this-package-native-input <>) + (list "stb-image" + "stb-image-write" + "stb-image-resize"))))) + (copy-recursively (string-append stb-files-dir "/include") + "subprojects/stb")) + (copy-recursively "subprojects/packagefiles/stb" + "subprojects/stb") + (call-with-output-file "subprojects/stb.wrap" + (cut format <> "\ +[wrap-file] +directory = stb +")))) + (add-after 'unpack 'patch-spirv-headers + (lambda _ + (substitute* "src/meson.build" + (("../thirdparty/SPIRV-Headers") + #$(this-package-native-input "spirv-headers")))))))) + (native-inputs (list gcc-14 + glslang + pkg-config + python-3 + spirv-headers + stb-image + stb-image-write + stb-image-resize + vulkan-headers)) + (inputs (list benchmark + glm + hwdata + lcms + libavif + libdecor + libdisplay-info + libdrm + libei + libinput + libseat + libx11 + libxcomposite + libxcursor + libxdamage + libxext + libxkbcommon + libxmu + libxrender + libxres + libxt + libxtst + libxxf86vm + luajit + pipewire + pixman + sdl2 + vulkan-loader + xcb-util-wm + xcb-util-errors + xorg-server-xwayland + wayland + wayland-protocols)) + (home-page "https://github.com/ValveSoftware/gamescope") + (synopsis "Micro-compositor for running games") + (description + "gamescope is a micro-compositor for running games. Its goal is to +provide an isolated compositor that is tailored towards gaming and supports +many gaming-centric features such as: +@itemize +@item Spoofing resolutions. +@item Upscaling. +@item Limiting framerates. +@end itemize") + (license license:bsd-2))) base-commit: 8635dad843d299497bd46e036266a8b2a2abff11 -- 2.49.0
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.