summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 4971b4e185f11026c9255751d436c7e593a1009a (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
# Maintainer: Joaquín Aramendía <samsagax at gmail dot com>
# Co-Maintainer: Matthew Anderson <ruinairas1992 at gmail dot com>
# Contributor: Maxime Gauduin <alucryd@archlinux.org>
# Contributor: Giancarlo Razzolini <grazzolini@archlinux.org>
# Contributor: Samuel "scrufulufugus" Monson <smonson@irbash.net>
# Contributor: PedroHLC <root@pedrohlc.com>

_pkgname=gamescope
pkgname=gamescope-plus
pkgver=3.15.13.plus1
pkgrel=1
pkgdesc='SteamOS session compositing window manager with added patches'
arch=(x86_64)
url=https://github.com/ChimeraOS/gamescope
license=(BSD-2-Clause)
conflicts=(gamescope)
provides=(gamescope)
depends=(
  gcc-libs
  glibc
  glm
  lcms2
  libavif
  libdecor
  libcap.so
  libglvnd
  libdrm
  libinput
  libpipewire-0.3.so
  libpixman-1.so
  libseat.so
  libudev.so
  libx11
  libxcb
  libxcomposite
  libxcursor
  libxdamage
  libxext
  libxfixes
  libxkbcommon.so
  libxmu
  libxrender
  libxres
  libxtst
  libxxf86vm
  luajit
  opengl-driver
  sdl2
  vulkan-icd-loader
  wayland
  xcb-util-errors
  xcb-util-renderutil
  xcb-util-wm
  xorg-server-xwayland
)

makedepends=(
  cmake
  benchmark
  git
  glslang
  meson
  ninja
  vulkan-headers
  wayland-protocols
)

source=("git+https://github.com/ChimeraOS/gamescope.git#commit=${pkgver}"
        "git+https://gitlab.freedesktop.org/emersion/libdisplay-info.git"
        "git+https://github.com/Joshua-Ashton/reshade.git"
        "git+https://github.com/Joshua-Ashton/wlroots.git"
        "git+https://github.com/ValveSoftware/openvr.git"
        "git+https://gitlab.freedesktop.org/emersion/libliftoff.git"
        "git+https://github.com/KhronosGroup/SPIRV-Headers.git"
        "git+https://github.com/Joshua-Ashton/GamescopeShaders.git#tag=v0.1"
        # FIXME Upstream gamescope is just selecting master branch at build time, so we are arbitrarily snapshotting a
        #       revision when bumping the version here such that the build is reproducible.
        "git+https://github.com/nothings/stb.git#commit=af1a5bc352164740c1cc1354942b1c6b72eacb8a")

b2sums=('SKIP'
        'SKIP'
        'SKIP'
        'SKIP'
        'SKIP'
        'SKIP'
        'SKIP'
        'SKIP'
        'SKIP')

prepare() {
  cd "$srcdir/$_pkgname"

  # git submodules
  git submodule init
  git config submodule.src/reshade.url "$srcdir/reshade"
  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.thirdparty/SPIRV-Headers.url "$srcdir/SPIRV-Headers"
  git -c protocol.file.allow=always submodule update

  # meson submodules
  rm -rf subprojects/stb
  git clone "$srcdir/stb" subprojects/stb
  cp -av subprojects/packagefiles/stb/* subprojects/stb/ # patch from the .wrap we elided
}

build() {
  cd "$srcdir/$_pkgname"

  export LDFLAGS="$LDFLAGS -lrt"
  arch-meson --buildtype release --prefix /usr build
  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

  cd "$srcdir/$_pkgname"
  meson install -C build --skip-subprojects --destdir="${pkgdir}"
  install -Dm 644 LICENSE -t "${pkgdir}"/usr/share/licenses/gamescope-plus/
}

# vim: ts=2 sw=2 et: