Merge branch 'master' into 'master'
nongnu: Add steamos-modeswitch-inhibitor; steamos-compositor-plus. See merge request nonguix/nonguix!262
This commit is contained in:
commit
e92b084b2b
|
@ -44,12 +44,14 @@
|
|||
#:use-module (guix packages)
|
||||
#:use-module (guix records)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system trivial)
|
||||
#:use-module (guix transformations)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages audio)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages certs)
|
||||
|
@ -72,12 +74,15 @@
|
|||
#:use-module (gnu packages logging)
|
||||
#:use-module (nongnu packages nvidia)
|
||||
#:use-module (gnu packages pciutils)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages pulseaudio)
|
||||
#: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 toolkits)
|
||||
#:use-module (gnu packages video)
|
||||
#:use-module (gnu packages xorg)
|
||||
#:use-module (nonguix utils))
|
||||
|
||||
(define-record-type* <nonguix-container>
|
||||
|
@ -736,3 +741,163 @@ all games will be installed."))))
|
|||
(description "ProtonUp-ng is a CLI program and API to automate the installation
|
||||
and update of GloriousEggroll's Proton-GE.")
|
||||
(license license:gpl3)))
|
||||
|
||||
(define-public steamos-modeswitch-inhibitor
|
||||
(package
|
||||
(name "steamos-modeswitch-inhibitor")
|
||||
(version "1.10")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
(string-append
|
||||
"http://repo.steampowered.com/steamos/pool/main/s/steamos-modeswitch-inhibitor/steamos-modeswitch-inhibitor_"
|
||||
version
|
||||
".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1lskfb4l87s3naz2gmc22q0xzvlhblywf5z8lsiqnkrrxnpbbwj7"))))
|
||||
(native-inputs
|
||||
(list autoconf
|
||||
automake
|
||||
pkg-config))
|
||||
(inputs
|
||||
(list libxxf86vm
|
||||
libx11
|
||||
libxrender
|
||||
libxrandr))
|
||||
(build-system gnu-build-system)
|
||||
(home-page "http://repo.steampowered.com/steamos/pool/main/s/steamos-modeswitch-inhibitor/")
|
||||
(synopsis "SteamOS Mode Switch Inhibitor")
|
||||
(description "Shared library which fakes any mode switch attempts to prevent full screen apps from changing resolution.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public steamos-compositor-plus
|
||||
(let ((commit "e4b99dd5f56a388aa24fe3055d0e983cb3d5d32a")
|
||||
(revision "0")
|
||||
(version "1.3.0"))
|
||||
(package
|
||||
(name "steamos-compositor-plus")
|
||||
(version (git-version version revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/ChimeraOS/steamos-compositor-plus")
|
||||
(commit commit)))
|
||||
(sha256
|
||||
(base32 "0rqckj05389djc4ahzfy98p3z0p884gbbl94lbm06za72bhnidr5"))
|
||||
(file-name (git-file-name name version))))
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases
|
||||
%standard-phases
|
||||
(add-after 'patch-source-shebangs 'copy-scripts
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(bin (string-append out "/bin"))
|
||||
(share (string-append out "/share"))
|
||||
(src (string-append share "/steamos-compositor-plus/bin"))
|
||||
(scripts (string-append bin "/scripts")))
|
||||
(mkdir-p scripts)
|
||||
(copy-recursively "./usr/share" share)
|
||||
(copy-recursively "./usr/bin" bin)
|
||||
(find-files src (lambda (file stat)
|
||||
(symlink file (string-append scripts "/" (basename file))))))))
|
||||
(add-after 'copy-scripts 'patch-bin
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(share (string-append out "/share"))
|
||||
(src (string-append share "/steamos-compositor-plus/bin"))
|
||||
(bin (string-append out "/bin"))
|
||||
(aplay (string-append (assoc-ref inputs "alsa-utils") "/bin/aplay"))
|
||||
(pamixer (string-append (assoc-ref inputs "pamixer") "/bin/pamixer"))
|
||||
(udevadm (string-append (assoc-ref inputs "eudev") "/bin/udevadm"))
|
||||
(xset (string-append (assoc-ref inputs "xset") "/bin/xset"))
|
||||
(xrandr (string-append (assoc-ref inputs "xrandr") "/bin/xrandr"))
|
||||
(xinput (string-append (assoc-ref inputs "xinput") "/bin/xinput"))
|
||||
(grep (string-append (assoc-ref inputs "grep") "/bin/grep"))
|
||||
(steam (string-append (assoc-ref inputs "steam") "/bin/steam"))
|
||||
(modeswitch-inhibitor (string-append
|
||||
(assoc-ref inputs "steamos-modeswitch-inhibitor")
|
||||
"/lib/libmodeswitch_inhibitor.so")))
|
||||
(substitute* "./usr/bin/steamos-session"
|
||||
;; No need to export scripts to PATH.
|
||||
(("export.+\\{PATH\\}" line) (string-append "#" line))
|
||||
(("\"steam ") (string-append "\"" steam " "))
|
||||
(("export.+so" line) (string-append "export" " " "LD_PRELOAD=" modeswitch-inhibitor))
|
||||
(("set_hd_mode.sh") (string-append bin "/scripts/set_hd_mode.sh"))
|
||||
(("loadargb_cursor") (string-append bin "/loadargb_cursor"))
|
||||
(("cp") "ln -s")
|
||||
(("/usr/share/icons/steam/arrow.png")
|
||||
(string-append share "/icons/steam/arrow.png"))
|
||||
(("/usr/share/pixmaps/steam-bootstrapper.jpg")
|
||||
(string-append share "/pixmaps/steam-bootstrapper.jpg"))
|
||||
(("steamcompmgr") (string-append bin "/steamcompmgr"))
|
||||
(("steam-browser.desktop") (string-append share "/applications/steam-browser.desktop"))
|
||||
(("xset") xset))
|
||||
(substitute* (string-append src "/set_hd_mode.sh")
|
||||
(("xrandr") xrandr)
|
||||
(("egrep") "grep -E")
|
||||
(("grep") grep)
|
||||
(("xinput") xinput)
|
||||
(("udevadm") udevadm))
|
||||
(substitute* (string-append src "/screen_toggle.sh")
|
||||
(("xrandr") xrandr))
|
||||
(substitute* (string-append src "/brightness_up.sh")
|
||||
(("xrandr") xrandr))
|
||||
(substitute* (string-append src "/brightness_down.sh")
|
||||
(("xrandr") xrandr))
|
||||
(substitute* (string-append src "/audio_volup.sh")
|
||||
(("aplay") aplay)
|
||||
(("pamixer") pamixer))
|
||||
(substitute* (string-append src "/audio_voldown.sh")
|
||||
(("aplay") aplay)
|
||||
(("pamixer") pamixer))
|
||||
(substitute* (string-append src "/audio_mute.sh")
|
||||
(("aplay") aplay)
|
||||
(("pamixer") pamixer))
|
||||
(substitute* (string-append share "/xsessions/steamos.desktop")
|
||||
(("steamos-session") (string-append bin "/steamos-session")))
|
||||
(substitute* (string-append share "/applications/steam-browser.desktop")
|
||||
(("steam ") (string-append steam " "))))))
|
||||
(add-after 'patch-bin 'copy-bin
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(bin (string-append out "/bin")))
|
||||
(install-file "./usr/bin/steamos-session" bin)
|
||||
(chmod (string-append bin "/steamos-session") #o555)))))))
|
||||
(native-inputs
|
||||
(list autoconf
|
||||
automake
|
||||
pkg-config))
|
||||
(propagated-inputs
|
||||
(list xinit
|
||||
xorg-server))
|
||||
(inputs
|
||||
(list alsa-utils
|
||||
eudev
|
||||
grep
|
||||
libxxf86vm
|
||||
libx11
|
||||
libxrender
|
||||
libxcomposite
|
||||
libgudev
|
||||
glu
|
||||
pamixer
|
||||
sdl-image
|
||||
steam
|
||||
xinput
|
||||
xset
|
||||
xrandr
|
||||
steamos-modeswitch-inhibitor))
|
||||
(build-system gnu-build-system)
|
||||
(home-page "https://github.com/ChimeraOS/steamos-compositor-plus")
|
||||
(synopsis "Compositor used by SteamOS 2.x with some added tweaks and fixes")
|
||||
(description "This is a fork of the SteamOS compositor, currently based on
|
||||
version 1.35. It includes out of the box 4k (3840x2160) support, allows adjusting
|
||||
resolution/refresh rate through a configuration file, hides the annoying color
|
||||
flashing on startup of Proton games and adds a fix for games that start in
|
||||
the background, including Dead Cells, The Count Lucanor, most Feral games
|
||||
and probably others.")
|
||||
(license license:gpl3+))))
|
||||
|
|
Loading…
Reference in New Issue
Block a user