Package Details: ioquake3-git 20180304.gd28e667e-1

Git Clone URL: https://aur.archlinux.org/ioquake3-git.git (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: http://ioquake3.org/
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.108663
First Submitted: 2013-01-22 00:31
Last Updated: 2020-12-23 03:13

Latest Comments

« First ‹ Previous 1 2 3 4 5 Next › Last »

samlt commented on 2013-12-17 20:06

hello,

Here is a patch to make use of pacman VCS support for the sources:

diff --git a/ioquake3-git/PKGBUILD b/ioquake3-git/PKGBUILD
index 8006222..162a214 100644
--- a/ioquake3-git/PKGBUILD
+++ b/ioquake3-git/PKGBUILD
@@ -1,7 +1,7 @@
# Contributor: Slash <demodevil5[at]yahoo[dot]com>

pkgname=ioquake3-git
-pkgver=20130121
+pkgver=20131217.g90331bb
pkgrel=1
pkgdesc="The de-facto OSS Quake 3 distribution. You need the retail/demo .pk3 files to play."
url="http://ioquake3.org/"
@@ -13,34 +13,27 @@ conflicts=('quake3' 'quake3-icculus-svn' 'quake3-svn' 'ioquake3-svn')
provides=('quake3' 'ioquake3')
replaces=('quake3-icculus-svn' 'ioquake3-svn')
install=quake3.install
-source=('quake3.desktop' 'quake3.launcher' 'quake3ded.launcher' \
-'http://ftp.gwdg.de/pub/misc/ftp.idsoftware.com/idstuff/quake3/linux/linuxq3apoint-1.32b-3.x86.run')
+source=('quake3.desktop'
+ 'quake3.launcher'
+ 'quake3ded.launcher'
+ 'http://ftp.gwdg.de/pub/misc/ftp.idsoftware.com/idstuff/quake3/linux/linuxq3apoint-1.32b-3.x86.run'
+ 'git://github.com/ioquake/ioq3.git')
md5sums=('9eca51e2b3ee3e0100944cba436a2a4c'
'ea5d99df80b41269523b34229fdf854d'
'ea5d99df80b41269523b34229fdf854d'
- 'c71fdddccb20e8fc393d846e9c61d685')
+ 'c71fdddccb20e8fc393d846e9c61d685'
+ 'SKIP')

-_gitroot=git://github.com/ioquake/ioq3.git
-_gitname=quake3
+_gitname=ioq3

-build() {
- cd $srcdir
-
- msg "Connecting to GIT server...."
-
- if [[ -d "$_gitname" ]]; then
- cd "$_gitname" && git pull origin
- msg "The local files are updated."
- else
- git clone "$_gitroot" "$_gitname"
- fi
+pkgver() {
+ cd "$srcdir/$_gitname"
+ git log -1 --format="%cd.g%h" --date=short | sed 's/-//g'
+}

- msg "GIT checkout done or server timeout"
- msg "Starting build..."

- rm -rf "$srcdir/$_gitname-build"
- git clone "$srcdir/$_gitname" "$srcdir/$_gitname-build"
- cd "$srcdir/$_gitname-build"
+build() {
+ cd "$srcdir/$_gitname"

# Modify Makefile to correct install path
/bin/sed -i "s:/usr/local/games/quake3:$pkgdir/opt/quake3:" Makefile
@@ -50,15 +43,15 @@ build() {
}

package() {
- cd "$srcdir/$_gitname-build"
+ cd "$srcdir/$_gitname"

# Install Files
make copyfiles || return 1

# Extract Patch Files
- cd $srcdir
- chmod +x $srcdir/linuxq3apoint-1.32b-3.x86.run
- $srcdir/linuxq3apoint-1.32b-3.x86.run --tar xf
+ cd "$srcdir"
+ chmod +x "$srcdir/linuxq3apoint-1.32b-3.x86.run"
+ "$srcdir/linuxq3apoint-1.32b-3.x86.run" --tar xf

# Modify Launcher Scripts
if [ "$CARCH" = "x86_64" ]; then
@@ -100,6 +93,6 @@ package() {
$pkgdir/usr/share/applications/quake3.desktop

# Install Icon File
- install -D -m 644 $srcdir/quake3-build/misc/quake3.png \
- $pkgdir/usr/share/pixmaps/quake3.png
+ install -D -m 644 "$srcdir/$_gitname/misc/quake3.png" \
+ "$pkgdir/usr/share/pixmaps/quake3.png"
}



Also, not that $srcdir et $pkgdir may point to a directory containing spaces, so they should be quoted:
(applies on top of the previous one):

iff --git a/ioquake3-git/PKGBUILD b/ioquake3-git/PKGBUILD
index 162a214..075785c 100644
--- a/ioquake3-git/PKGBUILD
+++ b/ioquake3-git/PKGBUILD
@@ -59,40 +59,41 @@ package() {
# x86_64 Systems
#
/bin/sed -i "s:IOQ3_BINARY:ioquake3.x86_64:" \
- $srcdir/quake3.launcher
+ "$srcdir/quake3.launcher"
/bin/sed -i "s:IOQ3_BINARY:ioq3ded.x86_64:" \
- $srcdir/quake3ded.launcher
+ "$srcdir/quake3ded.launcher"
else
#
# i686 Systems
#
/bin/sed -i "s:IOQ3_BINARY:ioquake3.i386:" \
- $srcdir/quake3.launcher
+ "$srcdir/quake3.launcher"
/bin/sed -i "s:IOQ3_BINARY:ioq3ded.i386:" \
- $srcdir/quake3ded.launcher
+ "$srcdir/quake3ded.launcher"
fi

# Install Quake 3 Patch Files
- install -m 644 $srcdir/baseq3/*.pk3 \
- $pkgdir/opt/quake3/baseq3/
+ install -m 644 "$srcdir"/baseq3/*.pk3 \
+ "$pkgdir/opt/quake3/baseq3/"

# Install Quake 3 Expansion Pack Patch Files
- install -m 644 $srcdir/missionpack/*.pk3 \
- $pkgdir/opt/quake3/missionpack/
+ install -m 644 "$srcdir"/missionpack/*.pk3 \
+ "$pkgdir/opt/quake3/missionpack/"

# Install Launcher (Client)
- install -D -m 755 $srcdir/quake3.launcher \
- $pkgdir/usr/bin/quake3
+ install -D -m 755 "$srcdir/quake3.launcher" \
+ "$pkgdir/usr/bin/quake3"

# Install Launcher (Server)
- install -D -m 755 $srcdir/quake3ded.launcher \
- $pkgdir/usr/bin/quake3ded
+ install -D -m 755 "$srcdir/quake3ded.launcher" \
+ "$pkgdir/usr/bin/quake3ded"

# Install Desktop File
- install -D -m 644 $srcdir/quake3.desktop \
- $pkgdir/usr/share/applications/quake3.desktop
+ install -D -m 644 "$srcdir/quake3.desktop" \
+ "$pkgdir/usr/share/applications/quake3.desktop"

# Install Icon File
install -D -m 644 "$srcdir/$_gitname/misc/quake3.png" \
"$pkgdir/usr/share/pixmaps/quake3.png"
}
+

alucryd commented on 2013-02-16 23:07

merging into git version

Slash commented on 2013-01-22 00:31

@omer666: Yes, they switched to github. I created a new PKGBUILD, ioquake3-git, available here: https://aur.archlinux.org/packages/ioquake3-git/

omer666 commented on 2013-01-14 12:26

Hasn't ioquake3 abandonned SVN ?
http://ioquake3.org/2013/01/01/happy-new-year-ioquake3-and-github/
https://github.com/ioquake/ioq3

SVN has been last updated 12 days ago, whereas github has been updated 6 hours ago.

That's not a request, just a comment.

andreyv commented on 2012-07-28 06:29

You're right, sorry.

Slash commented on 2012-07-27 23:07

That is how VCS PKGBUILDs work. makepkg pulls the latest version and automatically updates pkgver when it's run. Please see: https://wiki.archlinux.org/index.php/Arch_CVS_%26_SVN_PKGBUILD_guidelines

andreyv commented on 2012-07-27 12:16

Why is this package locked to a specific SVN revision? If one installs ioquake3-_svn_, he/she wants the latest SVN trunk, not a random outdated revision.

hoschi commented on 2012-07-14 16:38

Security update required:
http://ioquake3.org/2012/06/14/cve-2012-3345-symlink-attack-in-ioquake3-r1773/

>= r2253

Slash commented on 2011-11-05 20:32

Thanks, I updated the PKGBUILD with the working mirror, made the modifications suggested by OttoA, and modernized the PKGBUILD (it had not been updated since 2007).

hoschi commented on 2011-11-05 17:47

Hello!

1.
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 musicbrainz.org is down (still at time of writing this), see:
http://blog.musicbrainz.org/?p=1111#comments
change mirror please to:
http://ftp.gwdg.de/pub/misc/ftp.idsoftware.com/idstuff/quake3/linux/linuxq3apoint-1.32b-3.x86.run
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.

2.
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 (ioquake3-1.36.tar.bz..> 22-Apr-2009 11:55 189 )
Instead use this PKGBUILD ioquake3-svn! Yeah bleeding edge is not fine for everyone, but without an new official release this is the only solution (or patching itself).
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 way, 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.

https://bugzilla.redhat.com/show_bug.cgi?id=526338
https://bugzilla.icculus.org/show_bug.cgi?id=4331


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

pkgname=ioquake3-svn
pkgver=2196
pkgrel=1
pkgdesc="The de-facto OSS Quake 3 distribution. You need the retail/demo .pk3 files to play."
url="http://ioquake3.org/"
license='GPL'
arch=('i686' 'x86_64')
depends=('sdl' 'openal')
makedepends=('nasm' 'subversion')
conflicts=('quake3' 'quake3-icculus-svn' 'quake3-svn')
provides=('quake3')
replaces=('quake3-icculus-svn')
install=quake3.install
source=('quake3.install' 'quake3.desktop' 'quake3.launcher' 'quake3ded.launcher' \
'http://ftp.gwdg.de/pub/misc/ftp.idsoftware.com/idstuff/quake3/linux/linuxq3apoint-1.32b-3.x86.run')
md5sums=('a4363cd27cba4027bd309bee6e48aaf2'
'9eca51e2b3ee3e0100944cba436a2a4c'
'37dbc85b482ee5c5b5063a31482bd083'
'37dbc85b482ee5c5b5063a31482bd083'
'c71fdddccb20e8fc393d846e9c61d685')

_svntrunk=svn://svn.icculus.org/quake3/trunk
_svnmod=quake3
_revnumber=$pkgver

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/linuxq3apoint-1.32b-3.x86.run
$startdir/src/linuxq3apoint-1.32b-3.x86.run --tar xf

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

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

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

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

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

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

# Install Icon File
install -D -m 644 $startdir/src/quake3-build/misc/quake3.png \
$startdir/pkg/usr/share/pixmaps/quake3.png
}