blob: bf025f42c146fd46e64e73727f5d7dcd302c1da7 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
|
_pkgname=gamescope
pkgname=${_pkgname}-sk
pkgver=3.14.1
pkgrel=1
pkgdesc='SteamOS session compositing window manager'
arch=(x86_64)
url=https://github.com/ValveSoftware/gamescope
license=(BSD)
depends=(
gcc-libs
glibc
glm
hwdata
libavif
libcap.so
libdisplay-info.so
libdrm
libliftoff.so
libinput
libpipewire-0.3.so
libvulkan.so
libx11
libxcb
libxcomposite
libxdamage
libxext
libxfixes
libxkbcommon
libxmu
libxrender
libxres
libxtst
libxxf86vm
seatd
sdl2
vulkan-icd-loader
wayland
xcb-util-wm
xcb-util-errors
xorg-server-xwayland
)
makedepends=(
benchmark
cmake
git
glslang
meson
ninja
vulkan-headers
wayland-protocols
)
_tag=6ed7472419b6310f27ccf7af846fea656467f731
# _branch="wayland-backend"
source=("git+https://github.com/3003n/gamescope.git#commit=${_tag}"
"git+https://github.com/nothings/stb.git#commit=af1a5bc352164740c1cc1354942b1c6b72eacb8a"
"git+https://github.com/Joshua-Ashton/GamescopeShaders.git#tag=v0.1"
"git+https://github.com/Joshua-Ashton/reshade.git"
"git+https://github.com/KhronosGroup/SPIRV-Headers.git"
)
b2sums=('SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP')
provides=("$_pkgname")
conflicts=("$_pkgname")
prepare() {
cd $_pkgname
# This really should be a pacman feature...
for src in "${source[@]}"; do
src="${src%%::*}"
src="${src##*/}"
[[ $src = *.patch ]] || continue
echo "Applying patch $src..."
git apply "../$src"
done
meson subprojects download
git submodule init src/reshade
git config submodule.src/reshade.url "$srcdir/reshade"
git submodule init thirdparty/SPIRV-Headers
git config submodule.thirdparty/SPIRV-Headers.url ../SPIRV-Headers
git -c protocol.file.allow=always submodule update
# make stb.wrap use our local clone
rm -rf subprojects/stb
git clone "$srcdir/stb" subprojects/stb
cp -av subprojects/packagefiles/stb/* subprojects/stb/ # patch from the .wrap we elided
}
pkgver() {
cd $_pkgname
git describe --long --tags | sed 's/\([^-]*-g\)/r\1/;s/-/./g'
}
build() {
export LDFLAGS="$LDFLAGS -lrt"
arch-meson gamescope build \
-Dforce_fallback_for=stb,libliftoff,wlroots \
-Dpipewire=enabled \
-Dwlroots:backends=drm,libinput,x11 \
-Dwlroots:renderers=gles2,vulkan
ninja -C build
}
package() {
install -d "$pkgdir"/usr/share/gamescope/reshade
cp -r "$srcdir"/GamescopeShaders/* "$pkgdir"/usr/share/gamescope/reshade/
chmod -R 655 "$pkgdir"/usr/share/gamescope
meson install -C build --skip-subprojects --destdir="${pkgdir}"
cd "$srcdir/$_pkgname"
install -Dm 644 LICENSE -t "${pkgdir}/usr/share/licenses/$pkgname/"
}
|