nongnu: Add gamescope.
* nongnu/packages/game-client.scm (gamescope): New variable.
This commit is contained in:
parent
ab09d9ba5f
commit
e6307d73ca
|
@ -10,6 +10,7 @@
|
||||||
;;; Copyright © 2023 Timo Wilken <guix@twilken.net>
|
;;; Copyright © 2023 Timo Wilken <guix@twilken.net>
|
||||||
;;; Copyright © 2022 Samuel Culpepper <sculpepper@newstore.com>
|
;;; Copyright © 2022 Samuel Culpepper <sculpepper@newstore.com>
|
||||||
;;; Copyright © 2024 aurtzy <aurtzy@gmail.com>
|
;;; Copyright © 2024 aurtzy <aurtzy@gmail.com>
|
||||||
|
;;; Copyright © 2022 Demis Balbach <db@minikn.xyz>
|
||||||
|
|
||||||
(define-module (nongnu packages game-client)
|
(define-module (nongnu packages game-client)
|
||||||
#:use-module ((guix licenses) #:prefix license:)
|
#:use-module ((guix licenses) #:prefix license:)
|
||||||
|
@ -21,12 +22,14 @@
|
||||||
#:use-module (guix build-system gnu)
|
#:use-module (guix build-system gnu)
|
||||||
#:use-module (guix build-system meson)
|
#:use-module (guix build-system meson)
|
||||||
#:use-module (guix build-system python)
|
#:use-module (guix build-system python)
|
||||||
|
#:use-module (gnu packages admin)
|
||||||
#:use-module (gnu packages audio)
|
#:use-module (gnu packages audio)
|
||||||
#:use-module (gnu packages base)
|
#:use-module (gnu packages base)
|
||||||
#:use-module (gnu packages bash)
|
#:use-module (gnu packages bash)
|
||||||
#:use-module (gnu packages certs)
|
#:use-module (gnu packages certs)
|
||||||
#:use-module (gnu packages cmake)
|
#:use-module (gnu packages cmake)
|
||||||
#:use-module (gnu packages compression)
|
#:use-module (gnu packages compression)
|
||||||
|
#:use-module (gnu packages commencement)
|
||||||
#:use-module (gnu packages curl)
|
#:use-module (gnu packages curl)
|
||||||
#:use-module (gnu packages elf)
|
#:use-module (gnu packages elf)
|
||||||
#:use-module (gnu packages file)
|
#:use-module (gnu packages file)
|
||||||
|
@ -46,6 +49,7 @@
|
||||||
#:use-module (gnu packages llvm)
|
#:use-module (gnu packages llvm)
|
||||||
#:use-module (gnu packages logging)
|
#:use-module (gnu packages logging)
|
||||||
#:use-module (gnu packages lsof)
|
#:use-module (gnu packages lsof)
|
||||||
|
#:use-module (gnu packages maths)
|
||||||
#:use-module (nongnu packages nvidia)
|
#:use-module (nongnu packages nvidia)
|
||||||
#:use-module (gnu packages pciutils)
|
#:use-module (gnu packages pciutils)
|
||||||
#:use-module (gnu packages pkg-config)
|
#:use-module (gnu packages pkg-config)
|
||||||
|
@ -53,9 +57,12 @@
|
||||||
#:use-module (gnu packages python)
|
#:use-module (gnu packages python)
|
||||||
#:use-module (gnu packages python-web)
|
#:use-module (gnu packages python-web)
|
||||||
#:use-module (gnu packages python-xyz)
|
#:use-module (gnu packages python-xyz)
|
||||||
|
#:use-module (gnu packages sdl)
|
||||||
|
#:use-module (gnu packages stb)
|
||||||
#:use-module (gnu packages toolkits)
|
#:use-module (gnu packages toolkits)
|
||||||
#:use-module (gnu packages video)
|
#:use-module (gnu packages video)
|
||||||
#:use-module (gnu packages vulkan)
|
#:use-module (gnu packages vulkan)
|
||||||
|
#:use-module (gnu packages wm)
|
||||||
#:use-module (gnu packages xdisorg)
|
#:use-module (gnu packages xdisorg)
|
||||||
#:use-module (gnu packages xorg)
|
#:use-module (gnu packages xorg)
|
||||||
#:use-module (nonguix build-system chromium-binary)
|
#:use-module (nonguix build-system chromium-binary)
|
||||||
|
@ -116,6 +123,119 @@ window decorations for them. It aims to provide multiple backends that
|
||||||
implements the decoration drawing.")
|
implements the decoration drawing.")
|
||||||
(license license:expat)))
|
(license license:expat)))
|
||||||
|
|
||||||
|
(define-public gamescope
|
||||||
|
;; Use older than 3.14.3 due to a bug:
|
||||||
|
;; https://github.com/ValveSoftware/gamescope/issues/1218
|
||||||
|
(let ((version "3.14.2")
|
||||||
|
(revision "0")
|
||||||
|
(commit "d0d23c4c3010c81add1bd90cbe478ce4a386e28d"))
|
||||||
|
(package
|
||||||
|
(name "gamescope")
|
||||||
|
(version (git-version version revision commit))
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method git-fetch)
|
||||||
|
(uri (git-reference
|
||||||
|
(url "https://github.com/ValveSoftware/gamescope")
|
||||||
|
(commit commit)
|
||||||
|
(recursive? #t)))
|
||||||
|
(sha256
|
||||||
|
(base32 "1sw2br3g16mird7jc7idbcxf5xxjmiyr6hjw3966s0nsv6bn8vb2"))
|
||||||
|
(file-name (git-file-name name version))))
|
||||||
|
(build-system meson-build-system)
|
||||||
|
(arguments
|
||||||
|
(list
|
||||||
|
#:modules '((guix build meson-build-system)
|
||||||
|
(guix build utils)
|
||||||
|
(nonguix build mesa-utils))
|
||||||
|
#:imported-modules `(,@%meson-build-system-modules
|
||||||
|
(guix build utils)
|
||||||
|
(nonguix build mesa-utils))
|
||||||
|
#:phases
|
||||||
|
#~(modify-phases %standard-phases
|
||||||
|
(add-after 'unpack 'patch-subprojects
|
||||||
|
(lambda _
|
||||||
|
;; glm
|
||||||
|
(invoke
|
||||||
|
#+(file-append unzip "/bin/unzip")
|
||||||
|
#+(origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri
|
||||||
|
"https://wrapdb.mesonbuild.com/v2/glm_0.9.9.8-2/get_patch")
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"0gfqg3j1kfhycg7bygdxxfhp1qarzxqlrk4j9sz893d2sgya2c6r")))
|
||||||
|
"-d"
|
||||||
|
"subprojects/packagefiles/")
|
||||||
|
(copy-recursively "subprojects/packagefiles/glm-0.9.9.8"
|
||||||
|
"subprojects/packagefiles/glm")
|
||||||
|
;; stb
|
||||||
|
(patch-wrap-file
|
||||||
|
"stb"
|
||||||
|
#+(directory-union "stb" (list stb-image
|
||||||
|
stb-image-write
|
||||||
|
stb-image-resize)))
|
||||||
|
(substitute* "subprojects/stb/meson.build"
|
||||||
|
(("include_directories\\('\\.'\\)")
|
||||||
|
(string-append "include_directories('./include')")))
|
||||||
|
;; libdisplay-info
|
||||||
|
(substitute* "src/meson.build"
|
||||||
|
;; Allow newer versions
|
||||||
|
(("(version: \\['>= 0\\.0\\.0'), '< 0\\.2\\.0'(\\])"
|
||||||
|
_ left-part right-part)
|
||||||
|
(string-append left-part right-part)))
|
||||||
|
;; hwdata:pnp
|
||||||
|
(substitute* "meson.build"
|
||||||
|
(("warning\\('Building without hwdata pnp id support\\.'\\)")
|
||||||
|
(string-append
|
||||||
|
"add_project_arguments("
|
||||||
|
"'-DHWDATA_PNP_IDS=\"" #$hwdata:pnp "/share/hwdata\"',"
|
||||||
|
"language: 'cpp'"
|
||||||
|
")"))))))))
|
||||||
|
(native-inputs
|
||||||
|
(list cmake
|
||||||
|
pkg-config
|
||||||
|
python-3))
|
||||||
|
(inputs
|
||||||
|
(list clang
|
||||||
|
eudev
|
||||||
|
gcc-toolchain-12
|
||||||
|
glm
|
||||||
|
glslang
|
||||||
|
libdecor
|
||||||
|
libdisplay-info
|
||||||
|
libdrm
|
||||||
|
libinput
|
||||||
|
libseat
|
||||||
|
libx11
|
||||||
|
libxcomposite
|
||||||
|
libxcursor
|
||||||
|
libxdamage
|
||||||
|
libxext
|
||||||
|
libxkbcommon
|
||||||
|
libxmu
|
||||||
|
libxres
|
||||||
|
libxt
|
||||||
|
libxtst
|
||||||
|
libxxf86vm
|
||||||
|
;; openvr ;does not build when included
|
||||||
|
pipewire
|
||||||
|
pixman
|
||||||
|
sdl2
|
||||||
|
vulkan-headers/newer
|
||||||
|
vulkan-loader
|
||||||
|
wayland
|
||||||
|
wayland-protocols
|
||||||
|
xcb-util-wm
|
||||||
|
xorg-server-xwayland))
|
||||||
|
(home-page "https://github.com/ValveSoftware/gamescope")
|
||||||
|
(synopsis "Session compositing window manager")
|
||||||
|
(description "Gamescope is a Wayland compositor for running games,
|
||||||
|
formerly known as steamcompmgr. It is designed for use in embedded sessions
|
||||||
|
and as a nested compositor on top of a regular desktop environment through
|
||||||
|
sandboxed Xwayland sessions.")
|
||||||
|
(license license:gpl3+))))
|
||||||
|
|
||||||
(define heroic-client
|
(define heroic-client
|
||||||
(package
|
(package
|
||||||
(name "heroic-client")
|
(name "heroic-client")
|
||||||
|
|
Loading…
Reference in New Issue
Block a user