blob: db2935b7fe4421c381cc3e9a5890e79bb7faa576 (
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
118
119
120
121
122
123
124
125
126
127
128
129
130
|
# Maintainer: FML128 <fml128@fml128.ch>
_pkgname=gamescope
pkgname=gamescope-fml
pkgver=3.14.16
pkgrel=1
pkgdesc='SteamOS session compositing window manager with added patches'
arch=(x86_64)
url=https://github.com/ValveSoftware/gamescope
license=(BSD)
conflicts=(gamescope)
provides=(gamescope)
depends=(
gcc-libs
glibc
glm
hwdata
libavif
libcap.so
libdecor
libdisplay-info.so
libdrm
libliftoff.so
libinput
libpipewire-0.3.so
libx11
libxcb
libxcomposite
libxdamage
libxext
libxfixes
libxkbcommon
libxmu
libxrender
libxres
libxtst
libxxf86vm
openvr
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
)
source=(
git+https://github.com/ValveSoftware/gamescope.git#tag=${pkgver}
git+https://github.com/nothings/stb.git#commit=af1a5bc352164740c1cc1354942b1c6b72eacb8a
git+https://github.com/Joshua-Ashton/reshade.git
git+https://github.com/Joshua-Ashton/GamescopeShaders.git#tag=v0.1
git+https://github.com/KhronosGroup/SPIRV-Headers.git
720p.patch
disable-steam-touch-click-atom.patch
external-rotation.patch
panel-type.patch
)
sha256sums=('e9bb0560dcf6e9ba3a6b0a47b005609d9efea80d4fcb064b0aa4f60681338f4a'
'e39e0c91b297bfd707afcda84ecdc15a08c22e2ad4c347fc3533b1ed98fb3f85'
'SKIP'
'03726f2fb44ae79e6a398e8f9aaaf8054800dda9b8298726157522fe5f7296b1'
'SKIP'
'63a9c78d2871b5f53e037b43929a9db5fac1d464a0026d0d0b207227bbd9dcd5'
'b12682ccaf9e0fd25bfed37c16f79d79ce418564b73b2ed1e4a81b2b03dc43cf'
'86f0832f00f5c4f75df8bd5d2a434a31ae4879b59dbee63239d4035b75c56b02'
'5b09480791d07f76df4da2fafc54336ad6806d3eaaf57ab81c651ebd3b56ff51')
prepare() {
cd "$srcdir/$_pkgname"
for src in "${source[@]}"; do
src="${src%%::*}"
src="${src##*/}"
[[ $src = *.patch ]] || continue
echo "Applying patch $src..."
git apply "../$src"
done
# meson subprojects download
meson subprojects download
git submodule init src/reshade
git config submodule.src/reshade.url ../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
# Use Arch provided libdisplay-info, do use other subprojects as is
rm -rf subprojects/libdisplay-info
}
pkgver() {
cd gamescope
git describe --tags | sed 's/-//'
}
build() {
arch-meson gamescope build \
-Dforce_fallback_for=stb,wlroots \
-Dpipewire=enabled \
-Denable_gamescope=true \
-Denable_gamescope_wsi_layer=true \
-Denable_openvr_support=true
meson compile -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
DESTDIR="${pkgdir}" meson install -C build \
--skip-subprojects
install -Dm 644 gamescope/LICENSE -t "${pkgdir}"/usr/share/licenses/gamescope/
}
|