PGKBUILD does build <--delme
Maintainer: Sefa Eyeoglu contact@scrumplex.net <--delme
_pkgname=gamescope pkgname=${_pkgname}-git pkgver=3.14.0.r6.g9e46c89 pkgrel=1 pkgdesc="Micro-compositor formerly known as steamcompmgr" arch=(x86_64) url="https://github.com/ValveSoftware/gamescope" license=("custom:BSD-2-Clause") depends=( # gamescope "libxcomposite" "libxtst" "libxres" "sdl2" "pipewire" "libxmu" "glm" "benchmark" # wlroots "libdrm" "libxkbcommon" "libinput" "pixman" "xorg-xwayland" "xcb-util-renderutil" "xcb-util-wm" "xcb-util-errors" "seatd" ) makedepends=("git" "meson" "ninja" "vulkan-headers" "glslang" "wayland-protocols" "cmake" )
gs_handle_newer_wlroot.patch
provides=($_pkgname "steamcompmgr")
conflicts=($_pkgname "steamcompmgr")
source=( "$_pkgname::git+https://github.com/ValveSoftware/gamescope.git"
"git+https://gitlab.freedesktop.org/wlroots/wlroots.git"
"git+https://gitlab.freedesktop.org/emersion/libliftoff.git"
"git+https://gitlab.freedesktop.org/emersion/libdisplay-info.git"
"git+https://github.com/ValveSoftware/openvr.git"
"git+https://github.com/Joshua-Ashton/vkroots.git"
"git+https://github.com/nothings/stb.git"
)
sha512sums=( 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' )
options=(!strip)
pkgver() {
cd "$srcdir/$_pkgname"
git describe --long --tags | sed 's/([^-]*-g)/r\1/;s/-/./g'
}
prepare() { cd "$srcdir/$_pkgname"
for src in "${source[@]}"; do
src="${src%%::*}"
src="${src##*/}"
[[ $src = *.patch && -z "$(echo $src)" ]] || continue
echo "Applying patch $src..."
git apply "../$src"
done
#git add *
#git am -3 --rerere-autoupdate $srcdir/revert-nvidia-breaking-commit.patch
git checkout 04eb72b5f519c2ed1b13edf843754583b92bf8d6
git submodule init
git config submodule.subprojects/wlroots.url "$srcdir/wlroots"
git config submodule.subprojects/libliftoff.url "$srcdir/libliftoff"
git config submodule.subprojects/libdisplay-info.url "$srcdir/libdisplay-info"
git config submodule.subprojects/openvr.url "$srcdir/openvr"
git config submodule.subprojects/vkroots.url "$srcdir/vkroots"
git -c protocol.file.allow=always submodule update
# make stb.wrap use our local clone
sed -i "s|https://github.com/nothings/stb.git|$srcdir/stb|" "subprojects/stb.wrap"
meson subprojects download
}
build() { cd "${_pkgname}"
params2=($CXXFLAGS) FLAGS="" for flag in ${params2[@]}; do if [[ -z $(echo " $flag" | grep -E "[-]fomit-frame-pointer|[-]fno-omit-frame-pointer|-O|-fuse-ld") && -n '$FLAGS' ]]; then FLAGS="$FLAGS $flag" echo "if branch: $flag" elif [[ -z $(echo " $flag" | grep -E "[-]fomit-frame-pointer|[-]fno-omit-frame-pointer|-O|-fuse-ld") ]]; then FLAGS="$flag" echo "elif branch: $flag" fi done export CFLAGS="-g2 -fno-semantic-interposition -falign-functions=32 -falign-jumps -falign-loops -falign-labels -Wno-maybe-uninitialized -march=native -Wno-uninitialized -fno-common -fno-semantic-interposition -falign-functions=32 -fweb -ftree-slp-vectorize -fivopts -ftree-vectorize -fno-plt -ftree-slp-vectorize -ftree-vectorize -fmerge-all-constants -ffast-math -mrecip=all -fno-common -fno-semantic-interposition -ftree-vectorize -fmerge-all-constants -fmerge-all-constants -fgcse-sm -fgcse-las -fgcse-after-reload -fdevirtualize-speculatively --param=vect-max-layout-candidates=8192 --param=sra-max-propagations=1024 --param=max-stores-to-track=1048576 --param=max-stores-to-sink=16 --param=max-stores-to-merge=8192 --param=max-store-chains-to-track=65536 --param=max-reload-search-insns=512 --param=max-hoist-depth=0 --param=max-gcse-memory=8000000 --param=loop-invariant-max-bbs-in-loop=100000 --param=max-cse-insns=10000 --param=max-dse-active-local-stores=5000 --param=max-cselib-memory-locations=5000 --param=max-cse-path-length=10000 --param=max-inline-insns-recursive=300 --param=loop-max-datarefs-for-datadeps=200000 --param=iv-max-considered-uses=50000 --param=max-peeled-insns=64 --param=iv-always-prune-cand-set-bound=100 --param=ira-max-conflict-table-size=80000 --param=ira-consider-dup-in-all-alts=1 --param=ipa-max-param-expr-ops=512 --param=ipa-max-loop-predicates=320 --param=ipa-max-agg-items=3200 --param=ipa-max-aa-steps=250000 --param=ipa-jump-function-lookups=32768 --param=dse-max-alias-queries-per-store=20480 --param=dse-max-object-size=2048 --param=max-tail-merge-iterations=10 --param=max-tail-merge-comparisons=1000 --param=loop-versioning-max-inner-insns=100 --param=loop-versioning-max-outer-insns=64" export CXXFLAGS="-fstrict-enums -g2 -fno-semantic-interposition -falign-functions=32 -falign-jumps -falign-loops -Wno-maybe-uninitialized -march=native -Wno-uninitialized -fno-common -fno-semantic-interposition -falign-functions=32 -fweb -ftree-slp-vectorize -fivopts -ftree-vectorize -fno-plt -ftree-slp-vectorize -ftree-vectorize -fmerge-all-constants -ffast-math -mrecip=all -fvisibility-inlines-hidden -fno-common -fno-semantic-interposition -ftree-vectorize -fmerge-all-constants -fmerge-all-constants -fgcse-sm -fgcse-las -fgcse-after-reload -fdevirtualize-speculatively --param=vect-max-layout-candidates=8192 --param=sra-max-propagations=1024 --param=max-stores-to-track=1048576 --param=max-stores-to-sink=16 --param=max-stores-to-merge=8192 --param=max-store-chains-to-track=65536 --param=max-reload-search-insns=512 --param=max-hoist-depth=0 --param=max-gcse-memory=8000000 --param=loop-invariant-max-bbs-in-loop=100000 --param=max-cse-insns=10000 --param=max-dse-active-local-stores=5000 --param=max-cselib-memory-locations=5000 --param=max-cse-path-length=10000 --param=max-inline-insns-recursive=300 --param=loop-max-datarefs-for-datadeps=200000 --param=iv-max-considered-uses=50000 --param=max-peeled-insns=64 --param=iv-always-prune-cand-set-bound=100 --param=ira-max-conflict-table-size=80000 --param=ira-consider-dup-in-all-alts=1 --param=ipa-max-param-expr-ops=512 --param=ipa-max-loop-predicates=320 --param=ipa-max-agg-items=3200 --param=ipa-max-aa-steps=250000 --param=ipa-jump-function-lookups=32768 --param=dse-max-alias-queries-per-store=20480 --param=dse-max-object-size=2048 --param=max-tail-merge-iterations=10 --param=max-tail-merge-comparisons=1000 --param=loop-versioning-max-inner-insns=100 --param=loop-versioning-max-outer-insns=64"
unset FLAGS params3=($LDFLAGS) FLAGS2="" for flag in ${params3[@]}; do if [[ -z $(echo " $flag" | grep -E "[-]fuse-ld|[-]fno-omit-frame-pointer|-fomit-frame-pointer|-fuse-ld" ) && -n '$FLAGS2' ]]; then FLAGS2="$FLAGS2 $flag" echo "if branch: $flag" elif [[ -z $(echo " $flag" | grep -E "[-]fuse-ld|[-]fno-omit-frame-pointer|-fomit-frame-pointer|-fuse-ld") ]]; then FLAGS2="$flag" echo "elif branch: $flag" fi done echo "FLAGS: ${FLAGS[@]}" export LDFLAGS="-lrt "
sed -i "s/if get_option[(]'enable_openvr_support'[)]/if false/" "$srcdir/$_pkgname/meson.build"
arch-meson "$srcdir/$_pkgname" build \
--buildtype release \
--force-fallback-for=wlroots,libliftoff,stb \
-Dpipewire=enabled \
-Dwlroots:backends=drm,libinput,x11 \
-Dwlroots:renderers=gles2,vulkan \
-Db_pch=false \
-Dcpp_args="$CXXFLAGS" \
-Db_lto=true
sed -i "s/if get_option[(]'enable_openvr_support'[)]/if false/" "$srcdir/$_pkgname/meson.build"
cd "$srcdir/$_pkgname"
ninja -C build
}
package() { cd "${_pkgname}"
meson install -C build --skip-subprojects --destdir "$pkgdir"
cd "$srcdir/$_pkgname"
install -Dm644 "LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
install -Dm644 "README.md" "${pkgdir}/usr/share/doc/${_pkgname}/README.md"
}
Pinned Comments
Scrumplex commented on 2022-06-14 10:44 (UTC)
Please do not flag this package as out-of-date if it still builds fine and isn't missing any dependencies or anything