diff options
author | brent s | 2016-04-06 04:18:24 -0400 |
---|---|---|
committer | brent s | 2016-04-06 04:18:24 -0400 |
commit | d90aa32541d4a0816237dd089824d539cdca8b48 (patch) | |
tree | 0312fc65e1c0e14a3c2344f5e0262d712edcecd3 /PKGBUILD | |
download | aur-d90aa32541d4a0816237dd089824d539cdca8b48.tar.gz |
adding gitignore, updating to sha512sums
Diffstat (limited to 'PKGBUILD')
-rw-r--r-- | PKGBUILD | 213 |
1 files changed, 213 insertions, 0 deletions
diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..11ebdb4575bb --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,213 @@ +# Maintainer: brent s. <bts[at]square-r00t[dot]net> +validpgpkeys=('7482 31EB CBD8 08A1 4F5E 85D2 8C00 4C2F 9348 1F6B') +# Thanks to Slash's ioquake3-git package (https://aur.archlinux.org/packages/ioquake3-git) +# for install files and desktop icon, and general guidance (I owe you a beer!). + +pkgname=spearmint-git +_pkgname=spearmint +pkgver=1 +pkgrel=1 +_ioq3v1='1.36' +_ioq3v2='1.32-9' + +## What games do you want to build in support for? +## baseq3 should at the LEAST be enabled. +## See https://github.com/zturtleman/spearmint-patch-data.git +## and https://github.com/zturtleman/spearmint/wiki ("Engine Feature Support"). +## "missionpack" is Q3:Team Arena +_games=("baseq3" + "missionpack") + +pkgdesc="An improved ioquake3-based Quake 3: Arena client (note: requires pak files from original CD) - Git master:HEAD" +url="http://spearmint.pw" +license=("GPL3") +arch=('i686' 'x86_64') +depends=('sdl2') +makedepends=('sdl2') +conflicts=('spearmint' 'quake3' 'ioquake3' 'ioquake3-git') +provides=('quake3' 'ioquake3' 'spearmint' 'ioquake3-git') +install=spearmint.install +source=("${_pkgname}-engine::git+https://github.com/zturtleman/spearmint.git" + "${_pkgname}-game::git+https://github.com/zturtleman/mint-arena.git" + "${_pkgname}-patch::git+https://github.com/zturtleman/spearmint-patch-data.git" + "Makefile.local" + "spearmint.desktop" + "spearmint.service" + "spearmint.launcher" + "spearmint-server.launcher" + "http://ioquake3.org/files/${_ioq3v1}/data/ioquake3-q3a-${_ioq3v2}.run") +sha512sums=('SKIP' + 'SKIP' + 'SKIP' + '7a5db71f2c9d8630f9cfbe8f345e076344e05791f5ef47f7c2abc232f0c5b4c3d344dba7c4b7defd94e88d1bc77ef55c68c89b53480c61e688cb410f5a1c6d4c' + '0c192c23cc180181f5edee12cd085e78f0cdd2d6e8f18dbd27532b76c36f2b0e731b764119a0a44df90411f94d3b7475bd40ae0d9b8f5bb3867442f93172746b' + 'fd75d6633015057c49fdb1cd29dfa16b8b30fd49df2deb0bbbb9da1a5e84179672ee7fee5df6dc57b0e4b6931ab5200f9e6ada5127e57aec5bf29b3e1b020073' + '894a0b07399ea7fcf60c97516e5cf19740693192e896e687fba0aeedee675684d94968e69dc927bdb4a44b4298c82d5b4bdca0cc86e707c21cb44f4f9876aea9' + 'c7611bf35ace821dcf5829e729c1b0e2f2cc858f2e8ffb491c94990b72990148a8700c1797d715ee2002b3acc10c599d69fa6bc0059c0f9117f64707b6745445' + '2ff6eff394119697b1c0a76f9c6d70cec21f90aecd89b72f6459661d04821a799a9c70d80f390b2ae7822d5830e247033a79022cd6d3d1754f7780fadd2d418b') + +prepare() { + + if [[ "${CARCH}" == 'i686' ]]; + then + _ARCH='x86' + _MKARCH='i86pc' + elif [[ "${CARCH}" == 'x86_64' ]]; + then + _ARCH=${CARCH} + _MKARCH='amd64' + fi + + # soooo $pkgdir, if i recall correctly, isn't available in prepare(). which is kind of stoopit. + # so i guess we cross our fingers. + sed -i \ + -e "s@%%_MKARCH%%@${_MKARCH}@g" \ + -e "s@%%_ARCH%%@${_ARCH}@g" \ + -e "s@%%_SRCDIR%%@${pkgdir}@g" ${srcdir}/Makefile.local + + cp ${srcdir}/Makefile.local ${srcdir}/${_pkgname}-engine/. + cp ${srcdir}/Makefile.local ${srcdir}/${_pkgname}-game/. + mkdir ${srcdir}/${_pkgname}-engine/tmp + mkdir ${srcdir}/${_pkgname}-game/tmp + + cd ${srcdir} + mkdir paks + chmod 700 ioquake3-q3a-${_ioq3v2}.run + ./ioquake3-q3a-${_ioq3v2}.run --tar xfC ${srcdir}/paks/. + install -d -m 750 ${srcdir}/${_pkgname}/{baseq3,missionpack} + tar -C ${srcdir}/${_pkgname}/baseq3 -xf ${srcdir}/paks/idpatchpk3s.tar + tar -C ${srcdir}/${_pkgname}/missionpack -xf ${srcdir}/paks/idtapatchpk3s.tar + cd ${srcdir} + # don't need this anymore. + rm -rf ${srcdir}/paks + + +} + +build() { + + if [[ "${CARCH}" == 'i686' ]]; + then + _ARCH='x86' + elif [[ "${CARCH}" == 'x86_64' ]]; + then + _ARCH=${CARCH} + fi + + ## ENGINE ## + cd ${srcdir}/${_pkgname}-engine + make + + cd build/release-linux-${_ARCH} + if [ ! -f "${_pkgname}-server" ]; + then + if [[ "${CARCH}" == 'i686' ]]; + then + rm -f ${_pkgname}{,-server}_x86_64 + elif [[ "${CARCH}" == 'x86_64' ]]; + then + rm -rf ${_pkgname}{,-server}_x86 + fi + fi + + + ## GAME ## + cd ${srcdir}/${_pkgname}-game + make + + ## PATCH ## + # does not require any building. + +} + +package() { + if [[ "${CARCH}" == 'i686' ]]; + then + _ARCH='x86' + elif [[ "${CARCH}" == 'x86_64' ]]; + then + _ARCH=${CARCH} + fi + + ## Base dirs ## + install -d -m 755 ${pkgdir}/usr/bin + install -d -m 755 ${pkgdir}/usr/share/doc/${_pkgname} + install -d -m 750 ${pkgdir}/opt/quake3/{baseq3,missionpack,settings} + + ## ENGINE ## + install -m 750 ${srcdir}/${_pkgname}-engine/build/release-linux-${_ARCH}/${_pkgname}_${_ARCH} ${pkgdir}/opt/quake3/${_pkgname} + install -m 750 ${srcdir}/${_pkgname}-engine/build/release-linux-${_ARCH}/${_pkgname}-server_${_ARCH} ${pkgdir}/opt/quake3/${_pkgname}-server + install -m 750 ${srcdir}/${_pkgname}-engine/build/release-linux-${_ARCH}/mint-renderer-opengl1_${_ARCH}.so ${pkgdir}/opt/quake3/ + install -m 750 ${srcdir}/${_pkgname}-engine/build/release-linux-${_ARCH}/mint-renderer-opengl2_${_ARCH}.so ${pkgdir}/opt/quake3/ + # docs + install -m 644 ${srcdir}/${_pkgname}-engine/id-readme.txt ${pkgdir}/usr/share/doc/${_pkgname}/ + install -m 644 ${srcdir}/${_pkgname}-engine/md4-readme.txt ${pkgdir}/usr/share/doc/${_pkgname}/ + install -m 644 ${srcdir}/${_pkgname}-engine/opengl2-readme.md ${pkgdir}/usr/share/doc/${_pkgname}/ + install -m 644 ${srcdir}/${_pkgname}-engine/README.md ${pkgdir}/usr/share/doc/${_pkgname}/README.engine + install -m 644 ${srcdir}/${_pkgname}-engine/voip-readme.txt ${pkgdir}/usr/share/doc/${_pkgname}/ + # icons, etc. + for i in ${srcdir}/${_pkgname}-engine/misc/*.{svg,png,ico}; + do + install -D -m 644 ${i} ${pkgdir}/usr/share/pixmaps/$(basename ${i}) + done + + ## GAME ## + cd ${srcdir}/${_pkgname}-game/build/release-linux-${_ARCH} + for i in tools/{lburg,cpp,rcc,etc,asm} baseq3/{,vm,common,ui,game,cgame} missionpack/{,vm,qcommon,q3ui,ui,game,cgame}; + do + install -d -m 750 ${pkgdir}/opt/quake3/${i} + done + for i in baseq3 tools missionpack; + do + for f in $(find ${i} -type f); + do + install -D -m 640 ${f} ${pkgdir}/opt/quake3/${f} + done + for x in $(find ${i} -type f -executable); + do + chmod 750 ${pkgdir}/opt/quake3/${x} + done + done + + ## PATCH ## + cd ${srcdir}/${_pkgname}-patch + for g in ${_games}; + do + for i in $(find ${g} -type d); + do + install -d -m 750 ${pkgdir}/opt/quake3/${i} + done + for i in $(find ${g} -type f); + do + # TODO: should this be in .pk3 (zip) format? + install -D -m 640 ${srcdir}/${_pkgname}-patch/${i} ${pkgdir}/opt/quake3/${i} + done + done + + # PK3 PAKs from demo + install -m 640 ${srcdir}/${_pkgname}/baseq3/* ${pkgdir}/opt/quake3/baseq3/ + install -m 640 ${srcdir}/${_pkgname}/missionpack/* ${pkgdir}/opt/quake3/missionpack/ + if [[ -d "${srcdir}/${_pkgname}/settings}" ]]; + then + install -m 640 ${srcdir}/${_pkgname}/settings/* ${pkgdir}/opt/quake3/settings/ + else + install -d -m 750 ${pkgdir}/opt/quake3/settings + fi + + cd ${pkgdir}/usr/bin + ln -sf /opt/quake3/${_pkgname}.launcher ${_pkgname} + ln -sf /opt/quake3/${_pkgname}-server.launcher ${_pkgname}-server + ln -sf /opt/quake3/${_pkgname}.launcher quake3 + ln -sf /opt/quake3/${_pkgname}-server.launcher q3ded + ln -sf /opt/quake3/${_pkgname}.launcher ioquake3 + ln -sf /opt/quake3${_pkgname}-server.launcher ioq3ded + cd ${pkgdir}/opt/quake3 + ln -sf ${_pkgname} ioquake3 + ln -sf ${_pkgname}-server ioq3ded + + install -D -m 644 ${srcdir}/spearmint.service ${pkgdir}/usr/lib/systemd/system/spearmint.service + install -D -m 644 ${srcdir}/spearmint.desktop ${pkgdir}/usr/share/applications/spearmint.desktop + install -m 750 ${srcdir}/${_pkgname}.launcher ${pkgdir}/opt/quake3/ + install -m 750 ${srcdir}/${_pkgname}-server.launcher ${pkgdir}/opt/quake3/ + +} |