summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 96047ba456f034665012e6aa8b08600ad4c52abd (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
131
132
133
134
135
136
137
138
139
140
141
# Maintainer: detiam <dehe_tian@outlook.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-nvidia
_pkgname=gamescope
pkgver=3.16.23
pkgrel=1
pkgdesc='SteamOS session compositing window manager (NVIDIA patch)'
arch=(x86_64)
url=https://github.com/sharkautarch/gamescope/tree/nvidia-fix
license=(
  'BSD-2-Clause'
  'BSD-3-Clause'
  'LicenseRef-Reshade')
install="$_pkgname.install"
depends=(
  'libpipewire'
  'libcap'
  'libxcomposite'
  'libxdamage'
  'libxkbcommon'
  'libxmu'
  'libxtst'
  'libinput'
  'libxres'
  'libxxf86vm'
  'luajit'
  'lcms2'
  'libei'
  'libxi'
  'libavif'
  'libdecor'
  'openvr'
  'libdisplay-info'
  'seatd' # wlroots deps
  'xcb-util-errors' # wlroots deps
  'xcb-util-wm' # wlroots deps
  'sdl2'
  'vulkan-icd-loader'
  'xorg-xwayland')
optdepends=(
  'mangohud: for option "--mangoapp"')
makedepends=(
  'git'
  'glslang'
  'meson'
  'cmake'
  'ninja'
  'updpkgsrcs'
  'vulkan-headers'
  'wayland-protocols')
provides=("$_pkgname")
conflicts=("$_pkgname")
commit=f8b33d38c5acc35825c7966b208222770c4a623e
source=(
  "$_pkgname::git+https://github.com/ValveSoftware/gamescope.git#commit=$commit"
  "1335.patch"
  "1908.patch"
  "subprojects|glm::git+https://github.com/g-truc/glm.git#commit=0af55ccecd98d4e5a8d1fad7de25ba429d60e863"
  "subprojects|stb::git+https://github.com/nothings/stb.git#commit=5736b15f7ea0ffb08dd38af21067c314d6a3aae9")

prepare() {
  for patch in "${source[@]}"; do
    patch="${patch%%::*}"
    patch="${patch##*/}"
    if [[ $patch == *.patch ]]; then
      msg2 "Applying $patch"
      patch --no-backup-if-mismatch -d "$_pkgname" -Np1 -i "$srcdir/$patch"
    fi
  done

  cd $_pkgname

  msg2 'Retrieving git build dependencies...'
  local outmsg='first loop'
  # I need the loop for resolve submodules of a submodule
  while true; do
    outmsg=$( { eval "$(updpkgsrcs echoGitCMDForSubModule force)" 1>/dev/null; } 2>&1 )
    if [[ -z $outmsg ]]; then # no new git submodule checked out
      updpkgsrcs updateBuildScriptForSubModule || exit $?
      break
    fi
  done; unset outmsg

  msg2 'Retrieving meson build dependencies...'
  # glm
  sed -i "s#^url =.*#url = file://$srcdir/subprojects|glm#" subprojects/glm.wrap
  # stb
  sed -i "s#^url =.*#url = file://$srcdir/subprojects|stb#" subprojects/stb.wrap
  meson subprojects download stb glm

  # temporary fix
  msg2 'Applying temporary fix for wlroots'
  curl -L https://gist.github.com/Billli11/d9e45819b87dbe82469fe2492492aff7/raw/1b3cd4aa948f0a184b063d6e6839d833b871bd81/diff.patch | \
    patch -d "subprojects/wlroots" -Np1
}

#pkgver() {
#  git -C "$_pkgname" describe --tags | sed 's/-//'
#}

build() {
  arch-meson "$_pkgname" build \
    --wrap-mode=nodownload \
    --auto-features=enabled \
    -Dbenchmark=disabled \
    -Dpipewire=enabled
  meson compile -C build
}

package() {
  DESTDIR="$pkgdir" meson install -C build --skip-subprojects
  install -Dm 644 "$_pkgname/LICENSE" -t "$pkgdir/usr/share/licenses/$_pkgname/"
}

# Auto generated by 'updpkgsrcs', do not edit.
source+=('thirdparty|SPIRV-Headers::git+https://github.com/KhronosGroup/SPIRV-Headers/#commit=d790ced752b5bfc06b6988baadef6eb2d16bdf96'
         'subprojects|vkroots::git+https://github.com/Joshua-Ashton/vkroots#commit=5106d8a0df95de66cc58dc1ea37e69c99afc9540'
         'subprojects|openvr::git+https://github.com/ValveSoftware/openvr.git#commit=ff87f683f41fe26cc9353dd9d9d7028357fd8e1a'
         'src|reshade::git+https://github.com/Joshua-Ashton/reshade#commit=696b14cd6006ae9ca174e6164450619ace043283'
         'subprojects|libdisplay-info::git+https://gitlab.freedesktop.org/emersion/libdisplay-info#commit=47a5590e9c4eb35d67651b8c05a55f1a48259329'
         'subprojects|libliftoff::git+https://gitlab.freedesktop.org/emersion/libliftoff.git#commit=8b08dc1c14fd019cc90ddabe34ad16596b0691f4'
         'subprojects|wlroots::git+https://github.com/Joshua-Ashton/wlroots.git#commit=54e844748029d4874e14d0c086d50092c04c8899') # End

sha512sums=('b31e2b0c3a500d3b02b83b2f713bc86fee2beec88b1d3be662c9a0f9256a7b28c25e6b2212607d75771f926e3516a7c36eb29f8437da32e52b5d042e8b6b1535'
            '69472f0f6feb124f55780ce05d2954b7efdc25a117c174dc2c1e194b23ff507efea59925517f31d2efab8a9d1f49356947aa0085dc67746d01f9f0d6c69e4d39'
            '42f3b58fc115993d82953df08e0595015e935df01e8bea0b66340698215b644bea2aabf845d353d717c23bebba236db6d548c82ac60322358089f95d8c27a09b'
            '16c0f045f0d0e223278d9cf3267a297eb33c30c773e67c5e863fb435cb24ff76cc886152e42f20dd759cd001398c8fb0bdfa2d7b1515a9ee0ac96c1741fa6eaa'
            '53ff8f7a4ae987b84398bf6b35bccb5aec5337d4e57660f599776eb62f692aa40be671e2c456f24de16c07d27272431b807ca3fd4a97d297bb2a8f35c3df665f'
            '65490f89498b351e737eb79fe498dd428af84ad85e28f41fdf1f62d31dc90f29836be5f3eb754f58353dca63a9ffa858073a97fea0a69cf0e07185fb62b6adc0'
            '0a6fc80fd713c86117fab40e1b92ba8953bb8e68c4ac933fa8f6c04a4b10edba6ebb19cfc74d560c6007d5bcb3ca9d4de63d6cae800f1d426a97ff25f0b7f0fc'
            '8665c797ca979b7df07f730ee9ec58d6eb8f9c9b2689d371ce0ae9a8d6d2d83cb5e034f15e4785e11f1387eaaf06bb929766a80198cfee670bea62d23968e58b'
            '5629b847abdab649a205470e9128ffc104231f5cf248bbeb01fe555429f24206760c3aea8139d8b18e41ce5f423fd177515eb21f31b2d9b0a2fd19dfe20062ea'
            '76c398291bc3a201b03a42d299a320f08c04b48a273973182cf2f3ed5c433768b6f5998ec9420ccb4b911ee8c5357a4a2a620c92337532fd75f15ae974273727'
            'f947f3a52f0d6aa4b2762f646cf785cea90c299d7116692120ebe2fc703ea79f52bc98d71631a07a87695addf2d8fd0e7c39d6690e0b18148c8652cf155cf17f'
            '1763e46e12876222fa76effb566c0088eff8f0e484814fc9bc6bbd7fcb55ee6d5d739cc20040dd1eb29bfd7ba133967cf796659df5a4726108d2d6858d26a5b9')

# vim: ts=2 sw=2 et: