Files
extra/openarena/PKGBUILD
2025-06-22 20:39:04 -05:00

85 lines
4.2 KiB
Bash

# Maintainer: Jesus E. <heckyel@riseup.net>
pkgname=openarena
pkgver=0.8.8
pkgrel=3
pkgdesc="A free and libre multiplayer first person shooter"
arch=('i686' 'x86_64')
url='https://openarena.ws/'
license=('GPL-2')
depends=('sdl' 'libvorbis' 'curl' 'libxmp' 'glu' 'openal')
makedepends=('make' 'grep' 'zip')
groups=('games')
source=("https://repo.hyperbola.info:50000/sources/${pkgname}/${pkgname}-engine-${pkgver}.tar.gz"{,.sig}
"https://repo.hyperbola.info:50000/sources/${pkgname}/${pkgname}-gamecode-${pkgver}.tar.gz"{,.sig}
"https://repo.hyperbola.info:50000/sources/${pkgname}/${pkgname}-data.7z"{,.sig}
"openarena-runner.sh"
"openarena.png"
"openarena-server.png"
"openarena.desktop"
"openarena-server.desktop")
sha512sums=('921893aa253a86074a7a2ee9ea525535fde9cd865be9c02f784dce59bf591aa0c6abdf8d6f13e87b922b1b470d8c801fdc7893ff194e547f4a72cc8b75c2f679'
'SKIP'
'77b9661ba0275eb8eebbfd762b2248fe00454abb62f7b369bea841a0fc08854d0d1e334e7671479005fa61c0d2fb4ad2065b561b4aff47b451e12cd562fb5c48'
'SKIP'
'a33131e31e2cc63e424806d32bba0a65058911c028cdd350daa39ae0de1d8e9f1f98bde40e2c25b435e51f56cb673e64404341a4de04004d0d6c517ef8bf6af8'
'SKIP'
'43d0db8024b23d873894aaab0f299f796655576d978e4682debdf62a7aeee12291171d39f1343ef0ce7a4284b671e97b5c134815ce2f7ac224a52be2797726c0'
'ef68f8eb6251c3424464702ff894a6b88b473a3f4c1512af613125f5e5a7124f268490a9f6042095ff5bb807817e1f302c80d21987a2ed178e680f993d70b6f1'
'9e8c860fe8e9a6fefa9839907df6e74f11564daaa2bf12b4c261dec34d65917e7110a41aa7777f16d3842c8371b9e960468d75c439d8b815454feeb8c01ed6e6'
'5acd934f451559ad68b76a4de4b132b9ead9542dd078df7c7489ce2b2774557d81c6405622e8090ced2ace5f05165af1ed5dee8674d3fef725cd633727c92538'
'426734a1517802b00b062006fcac4e321b4bf2fa8f3a3f7670a11ae62cf6cdd417bd158d0d613c0017e44e5a9528d72ef77e383a4fda2b230f0cc0f8ef9185d1')
validpgpkeys=('C92BAA713B8D53D3CAE63FC9E6974752F9704456') # André Silva
# enumerate build-architecture
buildarch=$(uname -m)
if [[ $CARCH = "i686" ]]; then
buildarch="x86"
fi
build() {
cd "${srcdir}/${pkgname}-engine-${pkgver}"
make USE_MUMBLE=0 USE_VOIP=0
cd "${srcdir}/${pkgname}-gamecode-${pkgver}"
make USE_MUMBLE=0 USE_VOIP=0
cp "./build/release-linux-$buildarch/oax/vm/"{cgame,qagame,ui}.qvm "${srcdir}/${pkgname}-data/pak0/vm"
cp "./build/release-linux-$buildarch/missionpack/vm/"{cgame,qagame,ui}.qvm "${srcdir}/${pkgname}-data/mp-pak0/vm"
cd "${srcdir}/${pkgname}-data"
./buildpk3nix.sh
./buildmppk3nx.sh
}
package() {
# create directories
install -dm755 "${pkgdir}/usr/games" "${pkgdir}/usr/share/games/" "$pkgdir"/usr/share/pixmaps/ "$pkgdir"/usr/share/applications/
# copy data
install -d "${pkgdir}/usr/share/games/openarena"
install -d "${pkgdir}/usr/share/games/openarena/"{baseoa,missionpack}
cp "${srcdir}/${pkgname}-data/"pak*.pk3 "${pkgdir}/usr/share/games/openarena/baseoa"
cp "${srcdir}/${pkgname}-data/"mp-pak*.pk3 "${pkgdir}/usr/share/games/openarena/missionpack"
find "${pkgdir}/usr/share/games/openarena" -type f -exec chmod 644 {} \;
find "${pkgdir}/usr/share/games/openarena" -type d -exec chmod 755 {} \;
# copy compiled executables
install -Dm 755 "${srcdir}"/${pkgname}-engine-${pkgver}/build/release-linux-$buildarch/o*.$buildarch "${pkgdir}/usr/share/games/openarena"
# create application-shortcuts
install -Dm 644 "${srcdir}"/openarena{,-server}.png "$pkgdir"/usr/share/pixmaps/
install -Dm 644 "${srcdir}"/openarena{,-server}.desktop "$pkgdir"/usr/share/applications/
# create bash-script for symbolic links
install -Dm 755 "${srcdir}"/openarena-runner.sh "$pkgdir"/usr/share/games/openarena/openarena-runner.sh
# create symbolic links
ln -s /usr/share/games/openarena/openarena-runner.sh "${pkgdir}/usr/games/openarena"
ln -s /usr/share/games/openarena/openarena-runner.sh "${pkgdir}/usr/games/openarena-server"
ln -s /usr/share/games/openarena/openarena-runner.sh "${pkgdir}/usr/games/oa_ded"
# licenses
install -Dm 644 "${srcdir}/${pkgname}-engine-${pkgver}/COPYING.txt" -t "${pkgdir}/usr/share/licenses/$pkgname"
install -Dm 644 "${srcdir}/${pkgname}-data/COPYING" "${pkgdir}/usr/share/licenses/$pkgname/COPYING-data"
}