summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorbrent s2016-04-03 03:12:10 -0400
committerbrent s2016-04-03 03:12:10 -0400
commit85aaaf0630259cf8bb493544054d103306b5eca9 (patch)
tree9e06963c8054633da93905170b8a4d7a3cb7ed31
downloadaur-85aaaf0630259cf8bb493544054d103306b5eca9.tar.gz
initial commit - 0.2
-rw-r--r--.SRCINFO28
-rw-r--r--PKGBUILD85
-rw-r--r--spearmint.desktop12
-rw-r--r--spearmint.install25
-rw-r--r--spearmint.service22
-rw-r--r--spearmint.svg105
6 files changed, 277 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..f7b4263bd023
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,28 @@
+# Generated by mksrcinfo v8
+# Sun Apr 3 07:12:10 UTC 2016
+pkgbase = spearmint
+ pkgdesc = An improved ioquake3-based Quake 3: Arena client (note: requires pak files from original CD)
+ pkgver = 0.2
+ pkgrel = 2
+ url = http://spearmint.pw
+ install = spearmint.install
+ arch = i686
+ arch = x86_64
+ license = GPL3
+ depends = sdl2
+ provides = quake3
+ provides = ioquake3
+ conflicts = quake3
+ conflicts = ioquake3
+ conflicts = ioquake3-git
+ source = spearmint.tar.xz::https://github.com/zturtleman/spearmint/releases/download/release-0.2/spearmint-0.2-linux.tar.xz
+ source = https://raw.githubusercontent.com/zturtleman/spearmint/master/misc/spearmint.svg
+ source = spearmint.desktop
+ source = spearmint.service
+ sha256sums = 40100f4e321a51661155ba78ae4432debb0e5454390be163595f78e4f27baeab
+ sha256sums = 51d2af17f344a5a38800b4a82d7be44ae79f2f4ab30201535b468b945ea69122
+ sha256sums = 38c570ee9372f84d6a617e63c97d5b57ded6641fef442133dd68d9eb6d7ab615
+ sha256sums = 179efb08accebc7be70e6656f79599049c74f0a4c5a0bae3b526fb70416a9aa6
+
+pkgname = spearmint
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..dc287cf4a251
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,85 @@
+# Maintainer: brent s. <bts[at]square-r00t[dot]net>
+# 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
+pkgver=0.2
+pkgrel=2
+pkgdesc="An improved ioquake3-based Quake 3: Arena client (note: requires pak files from original CD)"
+url="http://spearmint.pw"
+license=("GPL3")
+arch=('i686' 'x86_64')
+depends=('sdl2')
+conflicts=('quake3' 'ioquake3' 'ioquake3-git')
+provides=('quake3' 'ioquake3')
+install=spearmint.install
+source=("${pkgname}.tar.xz::https://github.com/zturtleman/${pkgname}/releases/download/release-${pkgver}/${pkgname}-${pkgver}-linux.tar.xz"
+ "https://raw.githubusercontent.com/zturtleman/${pkgname}/master/misc/${pkgname}.svg"
+ "spearmint.desktop"
+ "spearmint.service")
+sha256sums=("40100f4e321a51661155ba78ae4432debb0e5454390be163595f78e4f27baeab"
+ "51d2af17f344a5a38800b4a82d7be44ae79f2f4ab30201535b468b945ea69122"
+ "38c570ee9372f84d6a617e63c97d5b57ded6641fef442133dd68d9eb6d7ab615"
+ "179efb08accebc7be70e6656f79599049c74f0a4c5a0bae3b526fb70416a9aa6")
+
+build() {
+ cd ${srcdir}
+ mv "${pkgname}-${pkgver}-linux" ${pkgname}
+ cd ${pkgname}
+
+ if [[ "${CARCH}" == 'i686' ]];
+ then
+ rm -f ${pkgname}{,-server}_x86_64
+ mv ${pkgname}_x86 ${pkgname}
+ mv ${pkgname}-server_x86 ${pkgname}-server
+ _ARCH='x86'
+ elif [[ "${CARCH}" == 'x86_64' ]];
+ then
+ rm -rf ${pkgname}{,-server}_x86
+ mv ${pkgname}_x86_64 ${pkgname}
+ mv ${pkgname}-server_x86_64 ${pkgname}-server
+ _ARCH=${CARCH}
+ fi
+
+ mv ${pkgname}-${pkgver}-readme.txt readme.txt
+}
+
+package() {
+ cd ${srcdir}/${pkgname}
+ if [[ "${CARCH}" == 'i686' ]];
+ then
+ _ARCH='x86'
+ elif [[ "${CARCH}" == 'x86_64' ]];
+ then
+ _ARCH=${CARCH}
+ fi
+
+ 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}
+ install -m 750 ${srcdir}/${pkgname}/${pkgname} ${pkgdir}/opt/quake3/
+ install -m 750 ${srcdir}/${pkgname}/${pkgname}-server ${pkgdir}/opt/quake3/
+ install -m 750 ${srcdir}/${pkgname}/mint-renderer-opengl*_${_ARCH}.so ${pkgdir}/opt/quake3/
+ install -m 640 ${srcdir}/${pkgname}/baseq3/* ${pkgdir}/opt/quake3/baseq3/
+ install -m 640 ${srcdir}/${pkgname}/missionpack/* ${pkgdir}/opt/quake3/missionpack/
+ install -m 640 ${srcdir}/${pkgname}/settings/* ${pkgdir}/opt/quake3/settings/
+ install -m 644 ${srcdir}/${pkgname}/*.txt ${pkgdir}/usr/share/doc/${pkgname}/
+ # unneeded since we have the license tracked by pacman
+ rm ${pkgdir}/usr/share/doc/${pkgname}/COPYING.txt
+
+ cd ${pkgdir}/usr/bin
+ ln -sf /opt/quake3/${pkgname}-server ${pkgname}
+ ln -sf /opt/quake3/ioq3ded ${pkgname}-server
+ ln -sf ${pkgname} quake3
+ ln -sf ${pkgname}-server q3ded
+ ln -s ${pkgname} ioquake3
+ ln -s ${pkgname}-server ioq3ded
+ cd ${srcdir}/${pkgname}
+
+ 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 -D -m 644 ${srcdir}/${pkgname}.svg ${pkgdir}/usr/share/pixmaps/spearmint.svg
+
+}
diff --git a/spearmint.desktop b/spearmint.desktop
new file mode 100644
index 000000000000..e8519f1e8499
--- /dev/null
+++ b/spearmint.desktop
@@ -0,0 +1,12 @@
+[Desktop Entry]
+Encoding=UTF-8
+Name=Quake III: Arena (Spearmint)
+GenericName=Spearmint
+Comment=ioQuake3 - Quake III Open Source Engine (with Spearmint modifications)
+Exec=/usr/bin/spearmint
+Icon=/usr/share/pixmaps/spearmint.png
+StartupNotify=true
+Terminal=false
+Type=Application
+Categories=Qt;KDE;GNOME;Application;Game;
+
diff --git a/spearmint.install b/spearmint.install
new file mode 100644
index 000000000000..3904d6ba7414
--- /dev/null
+++ b/spearmint.install
@@ -0,0 +1,25 @@
+post_install() {
+ groupadd -f games
+ useradd -r -s /sbin/nologin -c "Spearmint Daemon user" -M -d /opt/quake3 -g games spearmint > /dev/null 2>&1
+
+ echo '!!!'
+ echo '!!! To play Spearmint with the Retail Version of Quake III: Arena,'
+ echo '!!! move the pak0.pk3 file from the original game CD to /opt/quake3/baseq3/'
+ echo '!!!'
+ echo '!!!'
+ echo '!!! When you have the .pk3 file(s) installed, you can run the game via: quake3'
+ echo '!!! See https://github.com/zturtleman/spearmint/wiki for more documentation.'
+ echo '!!!'
+}
+
+post_upgrade() {
+ post_install ${1}
+}
+
+post_remove() {
+ userdel -rf spearmint > /dev/null 2>&1
+ if egrep -q '^games:.*:$' /etc/group;
+ then
+ groupdel games
+ fi
+}
diff --git a/spearmint.service b/spearmint.service
new file mode 100644
index 000000000000..83c531852d84
--- /dev/null
+++ b/spearmint.service
@@ -0,0 +1,22 @@
+[Unit]
+Description=This service spawns an ioquake3 (Spearmint) dedicated server with sane defaults
+# However, these defaults may not apply to all use cases.
+# See comments below for further details
+
+[Service]
+User=spearmint
+ExecStart=$(which q3ded) +set dedicated 2
+Restart=on-abort
+# there are several options to tweak the server's performance:
+# net_port defines the UDP-port used for connections to the server
+# fs_game should be the mod you want to play. Not necessary for vanilla-q3/FFA
+# dedicated 0 is non-dedicted an not available with ioq3ded, 1 is LAN, 2 is Internet
+# sv_pure 1 prevents clients from using their own pk3-files
+# com_hunkmegs defaults to 56, should be 128/192/256 on a modern system(?)
+# rate 25000 defines the rate in which client & server communicate
+# snaps 40 defines gamestate-snapshots client & server exchange in secs
+# cl_maxpackets 125 max amount of FPS being counted on the server-side
+
+[Install]
+WantedBy=multi-user.target
+
diff --git a/spearmint.svg b/spearmint.svg
new file mode 100644
index 000000000000..470c840ee01f
--- /dev/null
+++ b/spearmint.svg
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="1024"
+ height="1024"
+ id="svg2"
+ version="1.1"
+ inkscape:version="0.48.3.1 r9886"
+ sodipodi:docname="spearmint_icon.svg">
+ <defs
+ id="defs4">
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3025-7"
+ id="linearGradient3031-4"
+ x1="188.57143"
+ y1="688.07648"
+ x2="987.14288"
+ y2="168.07646"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.59873694,0,0,0.59873694,297.37016,143.09113)" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient3025-7">
+ <stop
+ style="stop-color:#4e9a06;stop-opacity:1;"
+ offset="0"
+ id="stop3027-7" />
+ <stop
+ style="stop-color:#4e9a06;stop-opacity:0;"
+ offset="1"
+ id="stop3029-3" />
+ </linearGradient>
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.7"
+ inkscape:cx="782.76749"
+ inkscape:cy="513.52888"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:window-width="1920"
+ inkscape:window-height="993"
+ inkscape:window-x="0"
+ inkscape:window-y="27"
+ inkscape:window-maximized="1" />
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(0,-28.362183)">
+ <rect
+ style="fill:#eeeeec;fill-opacity:1;stroke:#2e3436;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect3178"
+ width="997.64111"
+ height="997.64111"
+ x="13.179454"
+ y="41.541637"
+ ry="263.64294" />
+ <path
+ style="fill:#4e9a06;fill-opacity:1;stroke:#2e3436;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ d="M 512 13.1875 L 512 512 L 1010.8125 512 L 1010.8125 276.8125 C 1010.8125 130.75431 893.24569 13.1875 747.1875 13.1875 L 512 13.1875 z M 512 512 L 13.1875 512 L 13.1875 747.1875 C 13.1875 893.24569 130.75431 1010.8125 276.8125 1010.8125 L 512 1010.8125 L 512 512 z "
+ transform="translate(0,28.362183)"
+ id="rect3178-4" />
+ <g
+ inkscape:label="Layer 1"
+ id="layer1-5"
+ transform="matrix(4.5778762,0,0,4.5778762,455.12887,-9.0510728)"
+ style="fill:#73d216">
+ <path
+ sodipodi:nodetypes="ccccccccccc"
+ inkscape:connector-curvature="0"
+ id="path4262"
+ d="m 25.957183,41.594163 c -7.740369,-12.20204 2.972126,-23.314574 14.138351,-16.97324 9.804333,5.351421 31.806208,22.766039 43.985891,36.91104 l 22.306005,5.399724 7.58532,12.727922 c -7.02745,-0.72793 -10.15493,-0.7291 -16.021917,-1.216798 5.554077,12.062425 -5.841501,23.284359 -20.297652,17.801666 l 0.25713,17.741953 -9.513801,-6.81394 -9.77093,-25.712973 C 46.58443,69.207581 29.551735,47.593492 25.957183,41.594163 z"
+ style="fill:#73d216;fill-opacity:1;stroke:none" />
+ </g>
+ </g>
+</svg>