packages: Add gamescope
This commit is contained in:
parent
1d630ebc57
commit
d60892df98
27
packages/applications/wayfire/firedecor/default.nix
Normal file
27
packages/applications/wayfire/firedecor/default.nix
Normal file
@ -0,0 +1,27 @@
|
||||
{
|
||||
lib, stdenv
|
||||
, fetchFromGitHub
|
||||
, wayfire, wf-config, librsvg, boost, wlroots, pango, wayland, libxkbcommon, systemd, libinput
|
||||
, meson, pkg-config, cmake, ninja
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "firedecor";
|
||||
version = "20220519";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "AhoyISki";
|
||||
repo = "Firedecor";
|
||||
rev = "0170c4df209f0226295a9e2aa3cae782d9861908";
|
||||
sha256 = "0a8vc4l3az14l8piwzqgfqsdv16kakcvcznvw6q1dgb2sf97zdlv";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ meson pkg-config cmake ninja ];
|
||||
|
||||
buildInputs = [ wayfire librsvg boost wf-config wlroots pango wayland libxkbcommon systemd libinput ];
|
||||
|
||||
patchPhase = ''
|
||||
sed -e "s|wayfire.get_variable(pkgconfig: 'plugindir')|'$out/usr/lib/wayfire'|" --in-place src/meson.build
|
||||
sed -e "s|wayfire.get_variable(pkgconfig: 'metadatadir')|'$out/usr/lib/wayfire'|" --in-place metadata/meson.build
|
||||
'';
|
||||
}
|
@ -10,6 +10,33 @@ let
|
||||
extraStartupArgs = "--enable-features=UseOzonePlatform --ozone-platform=wayland";
|
||||
#extraStartupArgs = "--enable-features=UseOzonePlatform --ozone-platform=wayland --enable-features=WebRTCPipeWireCapturer";
|
||||
};
|
||||
wf-config_0_8 = prev.wf-config.overrideAttrs (old: {
|
||||
version = "0.8-git";
|
||||
src = prev.fetchFromGitHub {
|
||||
owner = "wayfirewm";
|
||||
repo = "wf-config";
|
||||
rev = "e42a3870fb194842a505ad5a9671be1aebda0b0b";
|
||||
sha256 = "0n6i3hizbqixxjh33950ya8avwqil5k94jbgff1pimcbh9ahpgrr";
|
||||
};
|
||||
});
|
||||
wayfire-master = (prev.wayfireApplications-unwrapped.wayfire.overrideAttrs (old: {
|
||||
version = "0.8.0-20220526";
|
||||
src = prev.fetchgit {
|
||||
url = "https://github.com/WayfireWM/wayfire.git";
|
||||
rev = "5dbf0d0fd8ec46cf112f05fb63057f5b6d06b10d";
|
||||
sha256 = "sha256-ZeaNSlDHoiLnRlHKk14meDbrizIz+nm3iYl90vvo2Ps=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
buildInputs = (map
|
||||
# Override wlroots with wlroots_0_15
|
||||
(x: if (prev.lib.getName x) == "wlroots"
|
||||
then prev.wlroots_0_15
|
||||
else x
|
||||
) old.buildInputs) ++ [ prev.pango prev.libevdev prev.nlohmann_json ];
|
||||
})).override {
|
||||
wf-config = wf-config_0_8;
|
||||
};
|
||||
in {
|
||||
inherit discord-system-electron;
|
||||
|
||||
@ -69,4 +96,10 @@ in {
|
||||
zoom-vm = prev.callPackage scripts/zoom-vm {};
|
||||
|
||||
razer-cli = prev.callPackage tools/hardware/razer-cli {};
|
||||
|
||||
gamescope = prev.callPackage tools/games/gamescope {};
|
||||
|
||||
wayfire-firedecor = prev.callPackage applications/wayfire/firedecor {
|
||||
wayfire = wayfire-master;
|
||||
};
|
||||
}
|
||||
|
60
packages/tools/games/gamescope/default.nix
Normal file
60
packages/tools/games/gamescope/default.nix
Normal file
@ -0,0 +1,60 @@
|
||||
{ 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; [ ];
|
||||
};
|
||||
}
|
Loading…
Reference in New Issue
Block a user