summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 7d7f9c0a6cd692028b7395dc1caf0770f5e2ed9c (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
# Maintainer: matellush <matellu DOT sh AT proton DOT me>

pkgname=wheelwizard-flatpak
_pkgname=wheelwizard
_name=WheelWizard
_app_id=io.github.TeamWheelWizard.WheelWizard
pkgver=2.0.1
pkgrel=8
pkgdesc="${_name} – Mario Kart Mod Manager & Retro Rewind Auto Updater (for Flatpak Dolphin)"
arch=('x86_64' 'aarch64')
url="https://github.com/Team${_name}/${_name}"
license=('CC-BY-NC-SA-4.0')
_dotnet_ver=8.0
_dotnet_configuration=Release
_default_res=256
depends=('gcc-libs'
         'glibc'
	 'hicolor-icon-theme'
         'zlib')
makedepends=("dotnet-sdk-${_dotnet_ver}")
provides=(${_pkgname})
conflicts=(${_pkgname})

source=("${_name}-${pkgver}-${pkgrel}.tar.gz::${url}/archive/refs/tags/${pkgver}.tar.gz"
        "${_name}"
        "${_name}.desktop"
        "${_name}.png")
b2sums=('adab557e22eb376adcf3ed2424823c95f4425791176742b298964171361ad6fb0072d91d29a4ddd926eb48a9126f5e2dec8944e1193fcd961c8431d51c968aa2'
        '8d1e370a111b43363ff8646f52856ccb731e73a79dbf7e0067cdbc10315079bc4ab6e54028f0c1074c7c49340d05482c34ca9d998ddf48a70436a5ecdbb3b3ce'
        'b68c743ea85b8dc7280ca954751a399dc3066aaf0b31128ef328a04c998923dcce40a6fcf12bc329302a2bcbbbf4a940df15d52ff3aec678a0127aa1de3fe5f7'
        '0b67541aefd0806b07b9e6839a4e637322c531bdec0079f0a9c4227fa72ca4146d79649d0a9aaed1e209fdde6989ca42bd567e40598f8883954e202be0ab497d')

_arch() {
    if [ "${CARCH}" = 'aarch64' ]; then
        echo 'arm64'
    elif [ "${CARCH}" = 'x86_64' ]; then
        echo 'x64'
    fi
}

_dotnet_runtime_identifier() {
    echo "linux-$(_arch)"
}

prepare() {
    pushd "${_name}-${pkgver}"
    # Also authenticate flatpak installation using PolicyKit for users not in `wheel` for system Flatpak `install`
    sed -i 's/RunProcessWithProgressAsync("flatpak", "/RunProcessWithProgressAsync("pkexec", "flatpak --system /g' \
        'WheelWizard/Services/Settings/LinuxDolphinInstaller.cs'
    popd

    sed -i "s/^Icon=.*$/Icon=${_name}/g" "${_name}.desktop"
}

build() {
    pushd "${_name}-${pkgver}"
    # We intentionally leave out the runtime identifier here to keep the fallback auto updater
    dotnet publish \
        -c ${_dotnet_configuration} \
        /p:PublishSingleFile=true \
        /p:IncludeAllContentForSelfExtract=true \
        /p:IncludeNativeLibrariesForSelfExtract=true \
        /p:EnableCompressionInSingleFile=true \
        --self-contained true
    popd
}

package() {
    depends=('flatpak')

    pushd "${srcdir}/${_name}-${pkgver}"
    install -D -m0644 "LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
    install -D -m0755 "${_name}/bin/${_dotnet_configuration}/net${_dotnet_ver}/$(_dotnet_runtime_identifier)/publish/${_name}" \
        "${pkgdir}/usr/lib/${_name}"
    popd

    # Install wrapper script
    install -D -m0755 "${_name}" "${pkgdir}/usr/bin/${_name}"

    install -D -m0644 "${_name}.desktop" \
        "${pkgdir}/usr/share/applications/${_name}.desktop"
    install -D -m0644 "${_name}.png" \
        "${pkgdir}/usr/share/icons/hicolor/${_default_res}x${_default_res}/apps/${_name}.png"
}