summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: cf3f6c3d1df6e952ed521b73f0daca4a60521288 (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
# Maintainer: Lili1228 <aur at lili dot lgbt>
pkgname=86box
_pkgname=86Box
pkgver=5.3
pkgrel=2
pkgdesc='An emulator for classic IBM PC clones'
arch=('x86_64' 'aarch64') # use 5.1-2 for pentium4 and armv7h
url='https://86box.net/'
license=('GPL-2.0-or-later' 'CC-BY-4.0')
depends=('fluidsynth' 'hicolor-icon-theme' 'libserialport' 'libslirp' 'openal' 'qt6-base' 'rtmidi' 'sdl2' # explicit
'freetype2' 'gcc-libs' 'glib2' 'glibc' 'libevdev' 'libglvnd' 'libpng' 'libsndfile' 'libx11' 'libxcb' 'libxext' 'libxi' 'libxkbcommon-x11' 'libxkbcommon' 'wayland' 'zlib') # implicit 
makedepends=('cmake>=3.21' 'extra-cmake-modules' 'ninja' 'qt6-tools' 'vde2' 'vulkan-headers')
optdepends=(
    '86box-roms: ROM files'
    'discord-game-sdk: Discord Rich Presence'
    'ghostscript: Printing with Generic PostScript Printer'
    'libpcap: Networking not limited to TCP/IP'
)
options=('!buildflags')
source=(
    "${pkgname}_$pkgver.tgz::https://github.com/${_pkgname}/${_pkgname}/archive/refs/tags/v${pkgver}.tar.gz"
    "${pkgname}_assets_$pkgver.tgz::https://github.com/${_pkgname}/assets/archive/refs/tags/v${pkgver}.tar.gz"
	0092ce15de3efac108b961882f870a8c05e8c38f.patch
)
sha512sums=(
	120fbf7544cc91dd9f7b75027cd6219084aa71e97e8ef2ad105ac8ccc7bea2a9290c2d124461da0192c3000c0459fe65c1fd361342de33b06c80616592f52f84
	51899a76b87daf057e9f2178fe73e14f527a758dce4e355cdfb6e3158f5cf670764713c9cce717e7e91bafc414da05ae6880a8405933bb421d0a658a81dabc5d
	c4bd507283bdd9b5628fde4d2dab90b5459d1353cf8babbf18bcd3780c884ac2b83aa9f403d413fbd4bd348c61c7f690c6d019e306ec45efd7b8387eafc3bf70
)

prepare() {
	cd "$srcdir/$_pkgname-$pkgver"
	patch -p1 < ../0092ce15de3efac108b961882f870a8c05e8c38f.patch
}

build() {
    LDFLAGS='-z now -z shstk' cmake -S"$_pkgname-$pkgver" -Bbuild --preset regular --toolchain "cmake/flags-gcc-${CARCH}.cmake" -DCMAKE_INSTALL_PREFIX=/usr -DUSE_QT6=on
    cmake --build build
}

package() {
    DESTDIR="${pkgdir}" cmake --build "${srcdir}/build" --target install
    for i in 48x48 64x64 72x72 96x96 128x128 192x192 256x256 512x512; do
        install -Dm644 "$srcdir/$_pkgname-$pkgver/src/unix/assets/$i/net.86box.86Box.png" -t "$pkgdir/usr/share/icons/hicolor/$i/apps"
    done
    install -Dm644 "$srcdir/$_pkgname-$pkgver/src/unix/assets/net.86box.86Box.desktop" "$pkgdir/usr/share/applications/net.86box.86Box.desktop"
    install -d "$pkgdir/usr/share/86Box/assets"
    cp -a "$srcdir/assets-${pkgver}/sounds" "$pkgdir/usr/share/86Box/assets"
}