Merge pull request #219548 from Scrumplex/gamescope-3.11.52

gamescope: 3.11.49 -> 3.11.52-beta6
This commit is contained in:
superherointj 2023-03-13 19:19:28 -03:00 committed by GitHub
commit 9e91539bb4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 117 additions and 8 deletions

View File

@ -1,11 +1,13 @@
{ stdenv
, fetchFromGitHub
, fetchpatch
, meson
, pkg-config
, ninja
, xorg
, libdrm
, vulkan-loader
, vulkan-headers
, wayland
, wayland-protocols
, libxkbcommon
@ -18,15 +20,25 @@
, seatd
, xwayland
, glslang
, hwdata
, openvr
, stb
, wlroots
, libliftoff
, libdisplay-info
, lib
, makeBinaryWrapper
}:
let
pname = "gamescope";
version = "3.11.49";
version = "3.11.52-beta6";
vkroots = fetchFromGitHub {
owner = "Joshua-Ashton";
repo = "vkroots";
rev = "26757103dde8133bab432d172b8841df6bb48155";
sha256 = "sha256-eet+FMRO2aBQJcCPOKNKGuQv5oDIrgdVPRO00c5gkL0=";
};
in
stdenv.mkDerivation {
inherit pname version;
@ -35,10 +47,37 @@ stdenv.mkDerivation {
owner = "Plagman";
repo = "gamescope";
rev = "refs/tags/${version}";
hash = "sha256-GRq/b013wFRHzFz2YCulJRtcwzX/dhJKd8dkATSLug0=";
hash = "sha256-2gn6VQfmwwl86mmnRh+J1uxSIpA5x/Papq578seJ3n8=";
};
patches = [ ./use-pkgconfig.patch ];
patches = [
./use-pkgconfig.patch
# https://github.com/Plagman/gamescope/pull/811
(fetchpatch {
name = "fix-openvr-dependency-name.patch";
url = "https://github.com/Plagman/gamescope/commit/557e56badec7d4c56263d3463ca9cdb195e368d7.patch";
sha256 = "sha256-9Y1tJ24EsdtZEOCEA30+FJBrdzXX+Nj3nTb5kgcPfBE=";
})
# https://github.com/Plagman/gamescope/pull/813
(fetchpatch {
name = "fix-openvr-include.patch";
url = "https://github.com/Plagman/gamescope/commit/1331b9f81ea4b3ae692a832ed85a464c3fd4c5e9.patch";
sha256 = "sha256-wDtFpM/nMcqSbIpR7K5Tyf0845r3l4kQHfwll1VL4Mc=";
})
# https://github.com/Plagman/gamescope/pull/812
(fetchpatch {
name = "bump-libdisplay-info-maximum-version.patch";
url = "https://github.com/Plagman/gamescope/commit/b430c5b9a05951755051fd4e41ce20496705fbbc.patch";
sha256 = "sha256-YHtwudMUHiE8i3ZbiC9gkSjrlS0/7ydjmJsY1a8ZI2E=";
})
# https://github.com/Plagman/gamescope/pull/824
(fetchpatch {
name = "update-libdisplay-info-pkgconfig-filename.patch";
url = "https://github.com/Plagman/gamescope/commit/5a672f09aa07c7c5d674789f3c685c8173e7a2cf.patch";
sha256 = "sha256-7NX54WIsJDvZT3C58N2FQasV9PJyKkJrLGYS1r4f+kc=";
})
];
nativeBuildInputs = [
meson
@ -56,9 +95,11 @@ stdenv.mkDerivation {
xorg.libXtst
xorg.libXres
xorg.libXi
xorg.libXmu
libdrm
libliftoff
vulkan-loader
vulkan-headers
glslang
SDL2
wayland
@ -73,8 +114,17 @@ stdenv.mkDerivation {
pipewire
libcap
stb
hwdata
openvr
vkroots
libdisplay-info
];
postUnpack = ''
rm -rf source/subprojects/vkroots
ln -s ${vkroots} source/subprojects/vkroots
'';
# --debug-layers flag expects these in the path
postInstall = ''
wrapProgram "$out/bin/gamescope" \
@ -85,7 +135,7 @@ stdenv.mkDerivation {
description = "SteamOS session compositing window manager";
homepage = "https://github.com/Plagman/gamescope";
license = licenses.bsd2;
maintainers = with maintainers; [ nrdxp zhaofengli ];
maintainers = with maintainers; [ nrdxp pedrohlc Scrumplex zhaofengli ];
platforms = platforms.linux;
};
}

View File

@ -5,14 +5,14 @@
stdenv.mkDerivation rec {
pname = "libliftoff";
version = "0.3.0";
version = "0.4.1";
src = fetchFromGitLab {
domain = "gitlab.freedesktop.org";
owner = "emersion";
repo = pname;
rev = "v${version}";
sha256 = "sha256-MbXDUkAA9gY6Qb6Ok33MNuqIfb4bPIEHd1IVH/UmH10=";
sha256 = "sha256-NPwhsd6IOQ0XxNQQNdaaM4kmwoLftokV86WYhoa5csY=";
};
nativeBuildInputs = [ meson pkg-config ninja ];
@ -30,6 +30,6 @@ stdenv.mkDerivation rec {
changelog = "https://github.com/emersion/libliftoff/releases/tag/v${version}";
license = licenses.mit;
platforms = platforms.linux;
maintainers = with maintainers; [ primeos ];
maintainers = with maintainers; [ pedrohlc primeos Scrumplex ];
};
}

View File

@ -0,0 +1,55 @@
{ lib
, stdenv
, cmake
, libGL
, jsoncpp
, fetchFromGitHub
, fetchpatch2
}:
stdenv.mkDerivation rec {
pname = "openvr";
version = "1.23.8";
src = fetchFromGitHub {
owner = "ValveSoftware";
repo = pname;
rev = "v${version}";
hash = "sha256-ZdL1HDRSpPykbV3M0CjCZkOt7XlF7Z7OAhOey2ALeHg=";
};
patches = [
# https://github.com/ValveSoftware/openvr/pull/594
(fetchpatch2 {
name = "use-correct-CPP11-definition-for-vsprintf_s.patch";
url = "https://github.com/ValveSoftware/openvr/commit/0fa21ba17748efcca1816536e27bdca70141b074.patch";
sha256 = "sha256-0sPNDx5qKqCzN35FfArbgJ0cTztQp+SMLsXICxneLx4=";
})
# https://github.com/ValveSoftware/openvr/pull/1716
(fetchpatch2 {
name = "add-ability-to-build-with-system-installed-jsoncpp.patch";
url = "https://github.com/ValveSoftware/openvr/commit/54a58e479f4d63e62e9118637cd92a2013a4fb95.patch";
sha256 = "sha256-aMojjbNjLvsGev0JaBx5sWuMv01sy2tG/S++I1NUi7U=";
})
];
postUnpack = ''
# Move in-tree jsoncpp out to complement the patch above
# fetchpatch2 is not able to handle these renames
mkdir source/thirdparty
mv source/src/json source/thirdparty/jsoncpp
'';
nativeBuildInputs = [ cmake ];
buildInputs = [ jsoncpp libGL ];
cmakeFlags = [ "-DUSE_SYSTEM_JSONCPP=ON" "-DBUILD_SHARED=1" ];
meta = with lib;{
homepage = "https://github.com/ValveSoftware/openvr";
description = "An API and runtime that allows access to VR hardware from multiple vendors without requiring that applications have specific knowledge of the hardware they are targeting";
license = licenses.bsd3;
maintainers = with maintainers; [ pedrohlc Scrumplex ];
platforms = platforms.unix;
};
}

View File

@ -1459,7 +1459,9 @@ with pkgs;
libgamemode32 = pkgsi686Linux.gamemode.lib;
};
gamescope = callPackage ../applications/window-managers/gamescope { };
gamescope = callPackage ../applications/window-managers/gamescope {
wlroots = wlroots_0_16;
};
gay = callPackage ../tools/misc/gay { };
@ -22830,6 +22832,8 @@ with pkgs;
openvdb = callPackage ../development/libraries/openvdb { };
openvr = callPackage ../development/libraries/openvr { };
inherit (callPackages ../development/libraries/libressl { })
libressl_3_4
libressl_3_5