summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: f9216d3909c6be9da88b245a044b4b0441a7f865 (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
# Maintainer: aquova <austinbricker at protonmail dot com>

pkgname=smw
pkgver=0.1
pkgrel=2
pkgdesc='A reverse engineered implementation of Super Mario World'
url='https://github.com/snesrev/smw'
arch=("x86_64")
license=("MIT")
depends=('python' 'sdl2')
install="$pkgname.install"
source=(
    "${url}/archive/refs/tags/v${pkgver}.zip"
    "local://smw.sfc"
    "$pkgname.desktop"
)
sha1sums=(
    'ffb75a8cd022a63a03d237190668ed487ac6e76d'
    '6b47bb75d16514b6a476aa0c73a683a2a4c18765'
    '4bea5fee7fb18d20a59b94ff8a632bcd0ddf272a'
)

build() {
    cp $srcdir/smw.sfc $srcdir/smw-${pkgver}
    cd $srcdir/smw-${pkgver}
    make -j$(nproc)
}

package() {
    install -Dm644 $srcdir/smw.desktop -t $pkgdir/usr/share/applications
    mkdir -p $pkgdir/opt/$pkgname
    cd $srcdir/smw-${pkgver}
    install -Dm755 smw $pkgdir/opt/$pkgname
    install -Dm644 smw.ini $pkgdir/opt/$pkgname
    install -Dm644 smw_assets.dat $pkgdir/opt/$pkgname

    # The game doesn't use the XDG spec, and will only save the game in the local directory
    # Thus, we need to make a world writable folder until the developer allows
    mkdir $pkgdir/opt/$pkgname/saves
    chmod a+w $pkgdir/opt/$pkgname/saves

    echo "#!/usr/bin/env bash
    cd /opt/${pkgname}
    ./smw" > $pkgname.sh
    install -Dm755 $pkgname.sh $pkgdir/usr/bin/smw
}