diff --git a/gui-wm/gamescope/Manifest b/gui-wm/gamescope/Manifest new file mode 100644 index 0000000..5216033 --- /dev/null +++ b/gui-wm/gamescope/Manifest @@ -0,0 +1,2 @@ +DIST gamescope-3.13.8.tar.gz 476534 BLAKE2B 33ecb51ec7e2d0f730a932c163387dad5a7194d152fe35700df3b311f886845de85fb218791a3af32f6ee7f77f8e4647bf5efc5dba2bf86b225f75972a827136 SHA512 392beb0587efb275ce02e91ddf88345ab1088c8e364b83ff4da8fb2d3884f2d7f13ccd6b695e16bfce1a48a5566fba0d1de4f9bb02140bd8d01ac2256afdeb2b +DIST reshade-9fdbea6892f9959fdc18095d035976c574b268b7.tar.gz 1543894 BLAKE2B 5e2b643ffbbda3ad078deb075a6fada1d0a560c6d865b7febee6a8eaade83ec90db3c5a8f4130d27b6dfaa8ee7b899edd214c23c947678eed28fb8e7165d9bd2 SHA512 4565d094e1c2d53d5073b4976874665d38dcf7ca86e982e569cc76923eaa9187fa32a4385fc577a3a867d2917596e6377e5a023a34bc2d389ff899d5b69764fb diff --git a/gui-wm/gamescope/gamescope-3.13.8.ebuild b/gui-wm/gamescope/gamescope-3.13.8.ebuild new file mode 100644 index 0000000..15625aa --- /dev/null +++ b/gui-wm/gamescope/gamescope-3.13.8.ebuild @@ -0,0 +1,94 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit fcaps meson + +RESHADE_COMMIT="9fdbea6892f9959fdc18095d035976c574b268b7" +MY_PV=$(ver_rs 3 -) +MY_PV="${MY_PV//_/-}" + +DESCRIPTION="Efficient micro-compositor for running games" +HOMEPAGE="https://github.com/ValveSoftware/gamescope" +SRC_URI="https://github.com/ValveSoftware/${PN}/archive/refs/tags/${MY_PV}.tar.gz -> ${P}.tar.gz + https://github.com/Joshua-Ashton/reshade/archive/${RESHADE_COMMIT}.tar.gz -> reshade-${RESHADE_COMMIT}.tar.gz" +KEYWORDS="~amd64" +LICENSE="BSD-2" +SLOT="0" +IUSE="pipewire +wsi-layer" + +RDEPEND=" + =dev-libs/libliftoff-0.4* + >=dev-libs/wayland-1.21 + >=dev-libs/wayland-protocols-1.17 + =gui-libs/wlroots-0.16*[X,libinput(+)] + >=media-libs/libdisplay-info-0.1.1 + media-libs/libsdl2[video,vulkan] + media-libs/vulkan-loader + sys-apps/hwdata + sys-libs/libcap + >=x11-libs/libdrm-2.4.109 + x11-libs/libX11 + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libxkbcommon + x11-libs/libXmu + x11-libs/libXrender + x11-libs/libXres + x11-libs/libXtst + x11-libs/libXxf86vm + pipewire? ( >=media-video/pipewire-0.3:= ) + wsi-layer? ( x11-libs/libxcb ) +" +DEPEND=" + ${RDEPEND} + dev-libs/stb + dev-util/vulkan-headers + media-libs/glm + dev-util/spirv-headers + wsi-layer? ( >=media-libs/vkroots-0_p20231108 ) +" +BDEPEND=" + dev-util/glslang + dev-util/wayland-scanner + virtual/pkgconfig +" + +S="${WORKDIR}/${PN}-${MY_PV}" + +FILECAPS=( + cap_sys_nice usr/bin/${PN} +) + +src_prepare() { + default + + # Normally wraps stb with Meson. Upstream does not ship a pkg-config file so + # we don't install one. Work around this using symlinks. + mkdir subprojects/stb || die + ln -sn "${ESYSROOT}"/usr/include/stb/* "${S}"/subprojects/packagefiles/stb/* subprojects/stb/ || die + + # ReShade is bundled as a git submodule, but it references an unofficial + # fork, so we cannot unbundle it. Symlink to its extracted sources. + rmdir src/reshade || die + ln -snfT ../../reshade-${RESHADE_COMMIT} src/reshade || die + + # SPIRV-Headers is required by ReShade. It is bundled as a git submodule but + # not wrapped with Meson, so we can symlink to our system-wide headers. + mkdir thirdparty/SPIRV-Headers/include || die + ln -snf "${ESYSROOT}"/usr/include/spirv thirdparty/SPIRV-Headers/include/ || die +} + +src_configure() { + local emesonargs=( + --force-fallback-for= + -Dbenchmark=disabled + -Denable_openvr_support=false + $(meson_feature pipewire) + $(meson_use wsi-layer enable_gamescope_wsi_layer) + ) + meson_src_configure +} diff --git a/gui-wm/gamescope/metadata.xml b/gui-wm/gamescope/metadata.xml new file mode 100644 index 0000000..cc17110 --- /dev/null +++ b/gui-wm/gamescope/metadata.xml @@ -0,0 +1,15 @@ + + + + + chewi@gentoo.org + James Le Cuirot + + + ValveSoftware/gamescope + + + Enable screen capture via PipeWire + Enable the WSI layer (required for HDR) + +