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 © 2022 Samuel Culpepper <sculpepper@newstore.com>
|
||||
;;; Copyright © 2024 aurtzy <aurtzy@gmail.com>
|
||||
;;; Copyright © 2022 Demis Balbach <db@minikn.xyz>
|
||||
|
||||
(define-module (nongnu packages game-client)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
|
@ -21,12 +22,14 @@
|
|||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system meson)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (gnu packages admin)
|
||||
#:use-module (gnu packages audio)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages certs)
|
||||
#:use-module (gnu packages cmake)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages commencement)
|
||||
#:use-module (gnu packages curl)
|
||||
#:use-module (gnu packages elf)
|
||||
#:use-module (gnu packages file)
|
||||
|
@ -46,6 +49,7 @@
|
|||
#:use-module (gnu packages llvm)
|
||||
#:use-module (gnu packages logging)
|
||||
#:use-module (gnu packages lsof)
|
||||
#:use-module (gnu packages maths)
|
||||
#:use-module (nongnu packages nvidia)
|
||||
#:use-module (gnu packages pciutils)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
|
@ -53,9 +57,12 @@
|
|||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages python-web)
|
||||
#: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 video)
|
||||
#:use-module (gnu packages vulkan)
|
||||
#:use-module (gnu packages wm)
|
||||
#:use-module (gnu packages xdisorg)
|
||||
#:use-module (gnu packages xorg)
|
||||
#: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.")
|
||||
(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
|
||||
(package
|
||||
(name "heroic-client")
|
||||
|
|
Loading…
Reference in New Issue
Block a user