summaryrefslogtreecommitdiff
path: root/gui-wm
diff options
context:
space:
mode:
Diffstat (limited to 'gui-wm')
-rw-r--r--gui-wm/gamescope/Manifest1
-rw-r--r--gui-wm/gamescope/gamescope-3.14.18.ebuild141
2 files changed, 142 insertions, 0 deletions
diff --git a/gui-wm/gamescope/Manifest b/gui-wm/gamescope/Manifest
index 7fbb3b58d062..1f2c9fad8b57 100644
--- a/gui-wm/gamescope/Manifest
+++ b/gui-wm/gamescope/Manifest
@@ -1,3 +1,4 @@
DIST gamescope-3.14.14.tar.gz 512146 BLAKE2B 908c8e02a55c454d4442c135769b59287568121c60e4e7a95266e09b42cdd78db5676dd691d0c58a2430d046de93947d2ef8b54ed93ea6820240ab7a21599ac4 SHA512 dfafa32ac736c50bf146bffbbe8288827047ae87a6f0d55038f5bd6705096133f384d940dfa5adf2bdd70991bd6469f4a083eb88273df447d253676cb3f2726c
+DIST gamescope-3.14.18.tar.gz 520343 BLAKE2B 098dc152980c62a7386528378a5c0ad48923324dead15a2ed4be77d34a711065388c96edf8c9707ff13e595b82ca5f5463b489a9b521960f9be3eb744948cc6f SHA512 9b6774665b29fd84884ec057f66218e1e1810bc099d6a2e100a814fbc6250f8de9857b53e75400044b3cd77a958d6f03fcf9b8e65cb4a42e769ad0f9cda7394b
DIST reshade-9fdbea6892f9959fdc18095d035976c574b268b7.tar.gz 1543894 BLAKE2B 5e2b643ffbbda3ad078deb075a6fada1d0a560c6d865b7febee6a8eaade83ec90db3c5a8f4130d27b6dfaa8ee7b899edd214c23c947678eed28fb8e7165d9bd2 SHA512 4565d094e1c2d53d5073b4976874665d38dcf7ca86e982e569cc76923eaa9187fa32a4385fc577a3a867d2917596e6377e5a023a34bc2d389ff899d5b69764fb
DIST wlroots-a5c9826e6d7d8b504b07d1c02425e6f62b020791.tar.gz 620424 BLAKE2B 83630b77983009a36fa4f168bbe2eceb73f634f9dd149cc5e6b18fbf647245a32a5d31dc3fbd0d1bed1d0dafc4cbb2fcea3ee4b4f5660a35ca37eff4679b80a2 SHA512 6857ded750fda91d55e53edfc270eb4e7bf44d7330d17c8fcd13c248c71abba685f34260d1e6d20cdb302a8d4f9158fb43421943cca74630fd780a4048aed07b
diff --git a/gui-wm/gamescope/gamescope-3.14.18.ebuild b/gui-wm/gamescope/gamescope-3.14.18.ebuild
new file mode 100644
index 000000000000..98242c90c0f8
--- /dev/null
+++ b/gui-wm/gamescope/gamescope-3.14.18.ebuild
@@ -0,0 +1,141 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit fcaps meson
+
+RESHADE_COMMIT="9fdbea6892f9959fdc18095d035976c574b268b7"
+WLROOTS_COMMIT="a5c9826e6d7d8b504b07d1c02425e6f62b020791"
+MY_PV=$(ver_rs 3 -)
+MY_PV="${MY_PV//_/-}"
+
+DESCRIPTION="Efficient micro-compositor for running games"
+HOMEPAGE="https://github.com/ValveSoftware/gamescope"
+if [[ ${PV} == "9999" ]]; then
+ EGIT_REPO_URI="https://github.com/ValveSoftware/${PN}.git"
+ # Prevent wlroots and other submodule from being pull
+ # Not messing with system packages
+ EGIT_SUBMODULES=( src/reshade )
+ inherit git-r3
+else
+ 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
+ https://github.com/Joshua-Ashton/wlroots/archive/${WLROOTS_COMMIT}.tar.gz -> wlroots-${WLROOTS_COMMIT}.tar.gz
+ "
+ KEYWORDS="~amd64"
+fi
+
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+LICENSE="BSD-2"
+SLOT="0"
+IUSE="pipewire +wsi-layer"
+
+# For when wlroots 0.18 is released.
+# =gui-libs/wlroots-0.18*[X,libinput(+)]
+
+RDEPEND="
+ =dev-libs/libliftoff-0.5*
+ >=dev-libs/wayland-1.21
+ gui-libs/libdecor
+ >=media-libs/libavif-1.0.0:=
+ >=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/libXcursor
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXi
+ 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 )
+
+ >=dev-libs/libinput-1.14.0:=
+ media-libs/libglvnd
+ media-libs/mesa[egl(+),gles2(+)]
+ sys-auth/seatd:=
+ virtual/libudev
+ x11-base/xwayland
+ x11-libs/libxcb:=
+ >=x11-libs/pixman-0.42.0
+ x11-libs/xcb-util-wm
+"
+DEPEND="
+ ${RDEPEND}
+ >=dev-libs/wayland-protocols-1.34
+ >=dev-libs/stb-20240201-r1
+ dev-util/vulkan-headers
+ media-libs/glm
+ dev-util/spirv-headers
+ wsi-layer? ( >=media-libs/vkroots-0_p20240430 )
+"
+BDEPEND="
+ dev-util/glslang
+ dev-util/wayland-scanner
+ virtual/pkgconfig
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-deprecated-stb.patch
+)
+
+FILECAPS=(
+ cap_sys_nice usr/bin/${PN}
+)
+
+src_prepare() {
+ default
+
+ # ReShade is bundled as a git submodule, but it references an unofficial
+ # fork, so we cannot unbundle it. Symlink to its extracted sources.
+ # For 9999, use the bundled submodule.
+ if [[ ${PV} != "9999" ]]; then
+ rmdir src/reshade || die
+ ln -snfT ../../reshade-${RESHADE_COMMIT} src/reshade || die
+ fi
+
+ # 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.
+ # For 9999, this submodule is not included.
+ mkdir -p thirdparty/SPIRV-Headers/include || die
+ ln -snf "${ESYSROOT}"/usr/include/spirv thirdparty/SPIRV-Headers/include/ || die
+
+ # Until wlroots 0.18 is released.
+ rmdir subprojects/wlroots || die
+ ln -snfT ../../wlroots-${WLROOTS_COMMIT} subprojects/wlroots || 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)
+
+ -Dwlroots:xcb-errors=disabled
+ -Dwlroots:examples=false
+ -Dwlroots:renderers=gles2,vulkan
+ -Dwlroots:xwayland=enabled
+ -Dwlroots:backends=libinput
+ -Dwlroots:session=enabled
+ )
+ meson_src_configure
+}
+
+src_install() {
+ meson_src_install --skip-subprojects
+}