summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 0cde92a74e47d596d6d47028172253dfb6c865e3 (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
# Maintainer: Fabio 'Lolix' Loli <lolix@disroot.org> -> https://github.com/FabioLolix

pkgname=q2rtx
pkgver=1.7.0
pkgrel=2
pkgdesc="NVIDIA’s implementation of RTX ray-tracing in Quake II "
arch=(x86_64)
url="https://github.com/NVIDIA/Q2RTX"
license=(GPL2 custom)
depends=(gcc-libs libssh2 vulkan-icd-loader sndio)
makedepends=(git cmake openal libglvnd python pipewire alsa-lib libpulse jack portaudio)
optdepends=(q2rtx-data)
conflicts=(quake2rtx)
replaces=(quake2rtx)
options=(!lto)
source=("git+https://github.com/NVIDIA/Q2RTX.git#tag=v${pkgver}"
        "git+https://github.com/madler/zlib.git"
        "git+https://github.com/curl/curl.git"
        "git+https://github.com/libsdl-org/SDL.git"
        "git+https://github.com/nothings/stb.git"
        "git+https://github.com/syoyo/tinyobjloader-c.git"
        "git+https://github.com/KhronosGroup/Vulkan-Headers.git"
        "git+https://github.com/KhronosGroup/glslang.git"
        "git+https://github.com/kcat/openal-soft.git"
        q2rtx.sh
        "https://github.com/NVIDIA/Q2RTX/releases/download/v${pkgver}/q2rtx-${pkgver}-linux.tar.gz")
sha256sums=('SKIP'
            'SKIP'
            'SKIP'
            'SKIP'
            'SKIP'
            'SKIP'
            'SKIP'
            'SKIP'
            'SKIP'
            '495e7ced4b818d7d91c7daedd8e74ab641383be25623b12800f64f499c808ad8'
            '7309ad2f2d062275c651a5c0fc0552427682215a8099472e4778cb61517290f3')

prepare() {
  cd Q2RTX
  git submodule init
  git config submodule.extern/zlib.url "${srcdir}/zlib"
  git config submodule.extern/curl.url "${srcdir}/curl"
  git config submodule.extern/SDL2.url "${srcdir}/SDL"
  git config submodule.extern/stb.url "${srcdir}/stb"
  git config submodule.extern/tinyobjloader-c.url "${srcdir}/tinyobjloader-c"
  git config submodule.extern/Vulkan-Headers.url "${srcdir}/Vulkan-Headers"
  git config submodule.extern/glslang.url "${srcdir}/glslang"
  git -c protocol.file.allow=always submodule update

  [[ -d build ]] || mkdir build
}

build() {
  cd Q2RTX/build
  cmake .. -Wno-dev \
    -DCMAKE_BUILD_TYPE=None \
    -DCONFIG_BUILD_GLSLANG=ON \
    -DVIDEO_RPI:BOOL=OFF \
    -DVIDEO_VIVANTE:BOOL=OFF \
    -DVIDEO_WAYLAND:BOOL=OFF \
    -DVIDEO_WAYLAND_QT_TOUCH:BOOL=OFF \
    -DCMAKE_INSTALL_PREFIX=/usr

  make
}

package() {
  install -Dm755 q2rtx.sh "${pkgdir}/usr/bin/q2rtx"

  cd Q2RTX
  install -d "${pkgdir}/usr/share/q2rtx/bin"
  cp q2rtx{,ded} "${pkgdir}/usr/share/q2rtx/bin/"
  cp -r baseq2 "${pkgdir}/usr/share/q2rtx/bin/"

  install -D license.txt -t "${pkgdir}/usr/share/licenses/${pkgname}"
  install -D notice.txt -t "${pkgdir}/usr/share/licenses/${pkgname}"
  install -Dm755 setup/find-retail-paks.sh "${pkgdir}/usr/bin/q2rtx-find-retail-paks"
  install -Dm644 setup/q2rtx.png -t "${pkgdir}/usr/share/pixmaps/"
  install -Dm644 setup/q2rtx.desktop -t "${pkgdir}/usr/share/applications/"

  cd "${srcdir}/q2rtx"
  cp -r baseq2/players "${pkgdir}/usr/share/q2rtx/bin/baseq2"
  #install baseq2/*.pak "${pkgdir}/usr/share/q2rtx/bin/baseq2"
  #install baseq2/*.pkz "${pkgdir}/usr/share/q2rtx/bin/baseq2"
}