61 lines
1.8 KiB
Nix
61 lines
1.8 KiB
Nix
|
{ lib, stdenv, fetchFromGitHub, meson, pkgconfig, libdrm, xorg
|
||
|
, wayland, wayland-protocols, libxkbcommon, libcap
|
||
|
, SDL2, mesa, libinput, pixman, xcbutilerrors, xcbutilwm, glslang
|
||
|
, ninja, makeWrapper, xwayland, libuuid, xcbutilrenderutil
|
||
|
, pipewire, stb, writeText, wlroots, vulkan-loader, vulkan-headers }:
|
||
|
|
||
|
let
|
||
|
stbpc = writeText "stbpc" ''
|
||
|
prefix=${stb}
|
||
|
includedir=''${prefix}/include/stb
|
||
|
Cflags: -I''${includedir}
|
||
|
Name: stb
|
||
|
Version: ${stb.version}
|
||
|
Description: stb
|
||
|
'';
|
||
|
stb_ = stb.overrideAttrs (oldAttrs: rec {
|
||
|
installPhase = ''
|
||
|
${oldAttrs.installPhase}
|
||
|
install -Dm644 ${stbpc} $out/lib/pkgconfig/stb.pc
|
||
|
'';
|
||
|
});
|
||
|
in stdenv.mkDerivation rec {
|
||
|
pname = "gamescope";
|
||
|
version = "3.9.1";
|
||
|
|
||
|
src = fetchFromGitHub {
|
||
|
owner = "Plagman";
|
||
|
repo = "gamescope";
|
||
|
rev = version;
|
||
|
sha256 = "05a1sj1fl9wpb9jys515m96958cxmgim8i7zc5mn44rjijkfbfcb";
|
||
|
fetchSubmodules = true;
|
||
|
};
|
||
|
|
||
|
preConfigure = ''
|
||
|
substituteInPlace meson.build \
|
||
|
--replace "'examples=false'" "'examples=false', 'logind-provider=systemd', 'libseat=disabled'"
|
||
|
'';
|
||
|
|
||
|
postInstall = ''
|
||
|
wrapProgram $out/bin/gamescope \
|
||
|
--prefix PATH : "${lib.makeBinPath [ xwayland ]}"
|
||
|
'';
|
||
|
|
||
|
buildInputs = with xorg; [
|
||
|
libX11 libXdamage libXcomposite libXrender libXext libXxf86vm
|
||
|
libXtst libdrm vulkan-loader wayland wayland-protocols
|
||
|
libxkbcommon libcap SDL2 mesa libinput pixman xcbutilerrors
|
||
|
xcbutilwm libXi libXres libuuid xcbutilrenderutil xwayland
|
||
|
pipewire wlroots
|
||
|
];
|
||
|
nativeBuildInputs = [ meson pkgconfig glslang ninja makeWrapper stb_ ];
|
||
|
|
||
|
meta = with lib; {
|
||
|
description = "The micro-compositor formerly known as steamcompmgr";
|
||
|
license = licenses.bsd2;
|
||
|
homepage = src.meta.homepage;
|
||
|
platforms = platforms.linux;
|
||
|
maintainers = with maintainers; [ ];
|
||
|
};
|
||
|
}
|