Package Details: ioquake3-git 20180304.gd28e667e-1

Git Clone URL: (read-only, click to copy)
Package Base: ioquake3-git
Description: The de-facto OSS Quake 3 distribution. You need the retail/demo .pk3 files to play.
Upstream URL:
Licenses: GPL
Conflicts: ioquake3-svn, quake3, quake3-icculus-svn, quake3-svn
Provides: ioquake3, quake3
Replaces: ioquake3-svn, quake3-icculus-svn
Submitter: Slash
Maintainer: Slash
Last Packager: Slash
Votes: 71
Popularity: 0.073609
First Submitted: 2013-01-22 00:31
Last Updated: 2020-12-23 03:13

Latest Comments

« First ‹ Previous 1 2 3 4 5

hoschi commented on 2011-11-05 17:45


As far as I can see the PKGBUILD is using to old executable run-file from ID-Software to extract the launch-scripts. The ftp-mirror is down (still at time of writing this), see:
change mirror please to:
The official ftp-server of ID-Software is also down! The link above leads to a university-sever in germany, so it "should" be save.

Don't use the ioquake3-1.36-1! Bots won't work with newer glibc on x86_64!
1.36-1 released in April 2009 (> 22-Apr-2009 11:55 189 )
Instead use this PKGBUILD ioquake3-svn! Yeah bleeding edge is fine for everyone, but without an new release this is the only solution.
The Red Hat people discoverd this bug in 2009, it occurs here on archlinux since some days. Two years later *lol*

Quake3 uses strcpy() in a wrong why, strings may not overlap! It is fixed in svn by using memmove() instead. The other part is that strcpy shouldn't be used, because is dangerous itself (doesn't check length), instead everyone should use strncpy() nowadays. Of course the codebase of quake3 itself is old.

For the lazy people:
# Contributor: Slash <demodevil5[at]yahoo[dot]com>

pkgdesc="The de-facto OSS Quake 3 distribution. You need the retail/demo .pk3 files to play."
arch=('i686' 'x86_64')
depends=('sdl' 'openal')
makedepends=('nasm' 'subversion')
conflicts=('quake3' 'quake3-icculus-svn' 'quake3-svn')
source=('quake3.install' 'quake3.desktop' 'quake3.launcher' 'quake3ded.launcher' \


build() {
cd $startdir/src

# Be sure to have a ~/.subversion. If it doesn't exist, touch it.
touch ~/.subversion/

# Checkout Files
svn co $_svntrunk --config-dir ./ -r $_revnumber $_svnmod
cd $_svnmod

msg "SVN checkout done or server timeout"
msg "Starting make..."

# Copy files to build directory
mkdir ../$_svnmod-build
cp -r * ../$_svnmod-build
cd ../$_svnmod-build

# Modify Makefile to correct install path
/bin/sed -i "s:/usr/local/games/quake3:$startdir/pkg/opt/quake3:" Makefile

# Compile ioQuake3
make || return 1

# Install Files
make copyfiles || return 1

# Extract Patch Files
cd $startdir/src/
chmod +x $startdir/src/
$startdir/src/ --tar xf

# Modify Launcher Scripts
if [ "$CARCH" = "x86_64" ]; then
# x86_64 Systems
/bin/sed -i "s:IOQ3_BINARY:ioquake3.x86_64:" \
/bin/sed -i "s:IOQ3_BINARY:ioq3ded.x86_64:" \
# i686 Systems
/bin/sed -i "s:IOQ3_BINARY:ioquake3.i386:" \
/bin/sed -i "s:IOQ3_BINARY:ioq3ded.i386:" \

# Install Quake 3 Patch Files
install -m 644 $startdir/src/baseq3/*.pk3 \

# Install Quake 3 Expansion Pack Patch Files
install -m 644 $startdir/src/missionpack/*.pk3 \

# Install Launcher (Client)
install -D -m 755 $startdir/src/quake3.launcher \

# Install Launcher (Server)
install -D -m 755 $startdir/src/quake3ded.launcher \

# Install Desktop File
install -D -m 644 $startdir/src/quake3.desktop \

# Install Icon File
install -D -m 644 $startdir/src/quake3-build/misc/quake3.png \

OttoA commented on 2010-06-07 11:26

I modified the package to use exec to run binaries. This makes it easier to use the PID of the run script.