diff options
Diffstat (limited to 'gui-wm/gamescope')
-rw-r--r-- | gui-wm/gamescope/Manifest | 3 | ||||
-rw-r--r-- | gui-wm/gamescope/gamescope-3.15.0.ebuild | 149 |
2 files changed, 152 insertions, 0 deletions
diff --git a/gui-wm/gamescope/Manifest b/gui-wm/gamescope/Manifest index 45f93aca117b..236157d0a0a7 100644 --- a/gui-wm/gamescope/Manifest +++ b/gui-wm/gamescope/Manifest @@ -1,8 +1,11 @@ AUX gamescope-deprecated-stb.patch 634 BLAKE2B 33bd10dc41f9fdbbec12ea0bdec1cf8af8fc9bc499324f5f2f329c72273109fd82495a0f3d3ffb2954ee91eb106f7e36479716af6e8d2cfd76ef58c9074003d3 SHA512 56aceec2552868749a21c9ca06ac6b41da3bd901692b376e5691155c58861f941dbd5359f1e22bbe54fd14e061cd586fe06d0109a8a45a0ecf6049ea3a79663b DIST gamescope-3.14.22.tar.gz 536052 BLAKE2B f0d8efbaa02c70c810e59b4bc18e46a01205ccfb190a50796a22aefd19689f796406ff4eafd8974ea805843d08fbf14dabf0441fe83cbcc14ad219a04de1f67a SHA512 7c11f8df21f1938a605b9648187f4a115b89397a1dfb11066af3ffa9fed05b95d9656c5e0794ff8c3f9eddaf05602369e0e5bac803b7655f21135a01cd073ab3 +DIST gamescope-3.15.0.tar.gz 569885 BLAKE2B 64db0d7366f0d0e11daef7909fa5800016f87799f8d35db837f6e2e1e6721b20cd808c71cf0249730d9808760da11ea64a4df7b7961d3981495ddce076fc2b77 SHA512 bb194bffe6783c3e0e22dceba8e38d066d5f1517408a03a5659cca66ca165dd50d0bd5b143e75cc70797db240fd361c1fc08ccffec8efb99c3819c86b5288a2f DIST libliftoff-0.5.0.tar.gz 39076 BLAKE2B a5c35c734a5ba4049661ce336401bd88d393001d7c49786d486146998d39530c364f7752b53968f5ab48f5eb774fa9c4245087bdb016f459a729991377023f61 SHA512 ce808f6a087f1f629cfebef95bfc7e216a09fb409b96b3c9f6b84d9d986ce50c5d7bf5b45c68e8baa99566b3627d754c269855b6f4ec3be63ae7b9f5109d5f08 DIST reshade-696b14cd6006ae9ca174e6164450619ace043283.tar.gz 1684777 BLAKE2B 3b2fcd1ed53dd6a8c459cf716697eec8a21f6fd9c25e4f6baa752e4226eaf35837e0f1595eef065a064bb0d76b1b067f643cd14ef896875448c99f57e10e6fb9 SHA512 7fe1fe07622efd90bd94e1755019ca47657acd07137669e00b97bf70017a58c1f699e3dec1c720caafd1296275c7a25fd2f4d6e478cebbdf48bd69f985a00cdf DIST vkroots-5106d8a0df95de66cc58dc1ea37e69c99afc9540.tar.gz 352651 BLAKE2B bc6c7a4f5b4f810c4d87a6cef46e73adb292bc22ae9a40666a6c7c8ab0cbc1973af405b32a5c7a3d38623c92e5d41e8472dabb744fcf31cf29118b9684dcfc32 SHA512 726e65dd0bb322d537e985ba2e504c68ef1b474574f11a5b102edcb8a7b74a6d86dea132c3b11417399a00beff9163e7aad413a389cf6073ec44d5ce6175ffc5 +DIST wlroots-4bc5333a2cbba0b0b88559f281dbde04b849e6ef.tar.gz 629328 BLAKE2B c48ff80616a82529ea0b503204557a41be8f8ad8fb60d0f5ae155a237d97117f3551f7992957a03c08fec6374e2087483052712a173fd422c5236f619a16bc64 SHA512 60731f5ce90e061d674168d42c2d4e02766f85b8b1566611022fc930feb181d16906ac23e92f999c90fa6b48c769279520de12a9abeae20c5553b6ccdd31427e DIST wlroots-a5c9826e6d7d8b504b07d1c02425e6f62b020791.tar.gz 620424 BLAKE2B 83630b77983009a36fa4f168bbe2eceb73f634f9dd149cc5e6b18fbf647245a32a5d31dc3fbd0d1bed1d0dafc4cbb2fcea3ee4b4f5660a35ca37eff4679b80a2 SHA512 6857ded750fda91d55e53edfc270eb4e7bf44d7330d17c8fcd13c248c71abba685f34260d1e6d20cdb302a8d4f9158fb43421943cca74630fd780a4048aed07b EBUILD gamescope-3.14.22.ebuild 4195 BLAKE2B acd5ab83aa863b7a374b74757d43c279ba19ec74c08a80c60afaf651e941209832ff61be1fd13e4e8b857c3b16b715a36c7b6a73e7257c7622c6ef5d5ffec9dc SHA512 a9d8e010542a70d15fac1ca9aedd934b52d64d384cf27a9812725d3e096845ab1175d8c51dc48dae5dd1a30b77b856ca75915c95502919c8b660e963e850ed36 +EBUILD gamescope-3.15.0.ebuild 4194 BLAKE2B b8b5d1e4d6019ad88532100054bcbd711e9d4e858697740d1a620958dba67b1b56b41e289f9f3e4b2c716d156e629b91d7763f2d254380b561bf0da8bc2aee0f SHA512 b198b27666383e93d39dfe27d6331a33a82b37086b1b8e49b4dbd359e5e41da59f2b07efeb6c1c490f684f60792e1b817f941d198c05945510b53bc03c73aba0 MISC metadata.xml 571 BLAKE2B 43906c35ed17ecb23361a342b4f935f39efa62db4ef2f4185bb49dca701304efa735e8785d6960cf9f0ce8ffd6a7b78f40cd7d7aaa843a914f220e988a122dec SHA512 ad4e74f9fdc00121e9c5fb5ed79d5cc3d271b4ff4c653f5791ebd26810a9c833a4e5d80e8a69cebb4c753caadc6284e1afa1ad826040e8fb3560985400c6b25f diff --git a/gui-wm/gamescope/gamescope-3.15.0.ebuild b/gui-wm/gamescope/gamescope-3.15.0.ebuild new file mode 100644 index 000000000000..8e2b5db23194 --- /dev/null +++ b/gui-wm/gamescope/gamescope-3.15.0.ebuild @@ -0,0 +1,149 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit fcaps meson + +MY_PV=$(ver_rs 3 -) +MY_PV="${MY_PV//_/-}" + +DESCRIPTION="Efficient micro-compositor for running games" +HOMEPAGE="https://github.com/ValveSoftware/gamescope" +EGIT_SUBMODULES=( src/reshade subprojects/{libliftoff,vkroots,wlroots} ) + +if [[ ${PV} == "9999" ]]; then + EGIT_REPO_URI="https://github.com/ValveSoftware/${PN}.git" + inherit git-r3 +else + RESHADE_COMMIT="696b14cd6006ae9ca174e6164450619ace043283" + LIBLIFTOFF_COMMIT="0.5.0" # Upstream points at this release. + VKROOTS_COMMIT="5106d8a0df95de66cc58dc1ea37e69c99afc9540" + WLROOTS_COMMIT="4bc5333a2cbba0b0b88559f281dbde04b849e6ef" + SRC_URI=" + https://github.com/ValveSoftware/${PN}/archive/refs/tags/${MY_PV}.tar.gz -> ${P}.tar.gz + https://gitlab.freedesktop.org/emersion/libliftoff/-/releases/v${LIBLIFTOFF_COMMIT}/downloads/libliftoff-${LIBLIFTOFF_COMMIT}.tar.gz + https://github.com/Joshua-Ashton/reshade/archive/${RESHADE_COMMIT}.tar.gz -> reshade-${RESHADE_COMMIT}.tar.gz + https://github.com/Joshua-Ashton/vkroots/archive/${VKROOTS_COMMIT}.tar.gz -> vkroots-${VKROOTS_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="avif libei pipewire +sdl +wsi-layer" + +RDEPEND=" + >=dev-libs/wayland-1.21 + gui-libs/libdecor + <media-libs/libdisplay-info-0.3:= + 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 + avif? ( >=media-libs/libavif-1.0.0:= ) + libei? ( dev-libs/libei ) + pipewire? ( >=media-video/pipewire-0.3:= ) + sdl? ( media-libs/libsdl2[video,vulkan] ) + wsi-layer? ( x11-libs/libxcb ) +" +# For bundled wlroots. +RDEPEND+=" + >=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. Upstream have requested that we do not + # unbundle libliftoff, vkroots, or wlroots. Symlink to the extracted sources + # when not using the git submodules in 9999. + if [[ ${PV} != "9999" ]]; then + local dir name commit + for dir in "${EGIT_SUBMODULES[@]}"; do + rmdir "${dir}" || die + name=${dir##*/} + commit=${name^^}_COMMIT + ln -snfT "../../${name}-${!commit}" "${dir}" || die + done + 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 +} + +src_configure() { + # Disabling DRM backend is currently broken. + # https://github.com/ValveSoftware/gamescope/issues/1347 + local emesonargs=( + $(meson_feature pipewire) + -Ddrm_backend=enabled + $(meson_feature sdl sdl2_backend) + $(meson_feature avif avif_screenshots) + $(meson_feature libei input_emulation) + $(meson_use wsi-layer enable_gamescope_wsi_layer) + -Denable_openvr_support=false + -Dbenchmark=disabled + + -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 +} |