summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: edd85f6cacfac53041abfb5fc2617050f05d6888 (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
# Maintainer: etonedemid <etonedemid@proton.me>
pkgname=cold-start
pkgver=1.5.0
pkgrel=1
pkgdesc="Top-down twin-stick shooter with wave-based combat — Nintendo Switch homebrew, also playable on PC"
arch=('x86_64')
url="https://github.com/etonedemid/cold-start-nx"
license=('MIT')
depends=('sdl2' 'sdl2_image' 'sdl2_ttf' 'sdl2_mixer' 'enet')
makedepends=('cmake' 'ninja' 'pkgconf')
optdepends=('miniupnpc: UPnP support for hosting servers')
source=("$pkgname-$pkgver.tar.gz::https://github.com/etonedemid/cold-start-nx/archive/refs/tags/v$pkgver.tar.gz")
sha256sums=('6880cd77f8bc0195f75c17a98b4f90288759359cff4a916762af0b67e392c872')

build() {
    cmake -S "cold-start-nx-$pkgver" \
          -B build \
          -G Ninja \
          -DCMAKE_BUILD_TYPE=Release \
          -DCMAKE_INSTALL_PREFIX=/usr \
          -DPLATFORM_PC=1
    cmake --build build
}

package() {
    # Binary
    install -Dm755 build/cold_start "$pkgdir/opt/cold-start/cold_start"

    # Assets (romfs — loaded relative to working directory)
    cp -r "cold-start-nx-$pkgver/romfs" "$pkgdir/opt/cold-start/romfs"

    # Default config
    install -Dm644 "cold-start-nx-$pkgver/build-pc/config.txt" \
        "$pkgdir/opt/cold-start/config.txt" 2>/dev/null || true

    # Wrapper script
    install -dm755 "$pkgdir/usr/bin"
    cat > "$pkgdir/usr/bin/cold-start" << 'EOF'
#!/bin/sh
cd /opt/cold-start
exec ./cold_start "$@"
EOF
    chmod 755 "$pkgdir/usr/bin/cold-start"

    # Icon
    install -Dm644 "cold-start-nx-$pkgver/icon.png" \
        "$pkgdir/usr/share/icons/hicolor/256x256/apps/cold-start.png"

    # Desktop entry
    install -Dm644 /dev/stdin "$pkgdir/usr/share/applications/cold-start.desktop" << 'DESKTOP'
[Desktop Entry]
Name=Cold Start
Comment=Top-down twin-stick shooter — wave survival
Exec=/usr/bin/cold-start
Icon=cold-start
Terminal=false
Type=Application
Categories=Game;ActionGame;
Keywords=shooter;arcade;waves;switch;homebrew;
DESKTOP

    # License
    install -Dm644 "cold-start-nx-$pkgver/LICENSE" \
        "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}