summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikoli <nikoli@lavabit.com>2010-06-18 21:02:10 +0400
committerNikoli <nikoli@lavabit.com>2010-06-18 21:04:52 +0400
commit788ec833f8622cb296d4b5207407c1ee38299f32 (patch)
treee56b6452012ecab8f6675dcb3b88eb1d7c85fa61 /games-fps
parent[games-arcade/ultrastardx] initial ultrastardx-9999.ebuild (diff)
downloadgamerlay-788ec833f8622cb296d4b5207407c1ee38299f32.tar.gz
gamerlay-788ec833f8622cb296d4b5207407c1ee38299f32.tar.bz2
gamerlay-788ec833f8622cb296d4b5207407c1ee38299f32.zip
xonotic initial ebuild
Diffstat (limited to 'games-fps')
-rw-r--r--games-fps/xonotic/ChangeLog10
-rw-r--r--games-fps/xonotic/Manifest3
-rw-r--r--games-fps/xonotic/metadata.xml12
-rw-r--r--games-fps/xonotic/xonotic-9999.ebuild273
4 files changed, 298 insertions, 0 deletions
diff --git a/games-fps/xonotic/ChangeLog b/games-fps/xonotic/ChangeLog
new file mode 100644
index 0000000..74dc896
--- /dev/null
+++ b/games-fps/xonotic/ChangeLog
@@ -0,0 +1,10 @@
+# ChangeLog for games-fps/xonotic
+# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
+# $Header: $
+
+*xonotic-9999 (18 Jun 2010)
+
+ 18 Jun 2010; Nikoli <nikoli@lavabit.com> +xonotic-9999.ebuild,
+ +metadata.xml:
+ xonotic initial ebuild
+
diff --git a/games-fps/xonotic/Manifest b/games-fps/xonotic/Manifest
new file mode 100644
index 0000000..eb20b00
--- /dev/null
+++ b/games-fps/xonotic/Manifest
@@ -0,0 +1,3 @@
+EBUILD xonotic-9999.ebuild 6014 RMD160 5891a6ec26bd6f53df0ee83dafad684bd7d998df SHA1 4d345ed6949fc4a0428c9197acfa4e38bbc92b91 SHA256 8b2f9f44f700b5de7c4ead74d9d931f02bf8baa767b79aa655786403d0f5c7d0
+MISC ChangeLog 255 RMD160 342e9c199969559fe1b1a6f890fea1e5b24a43dd SHA1 ce24f3c64f7f14b8ff536c20b0d2260571ede49d SHA256 b76eabfbabe8b7fa63af34930d04ac884054cad71e00c1edd46bcceb242c25f1
+MISC metadata.xml 328 RMD160 c9a2ca482764130c8dc652b4be738d01f9cba4dc SHA1 f550b5afab2dd44ee6151c2d406208a018e73d19 SHA256 32d1d058d941314aa0097412ca00f5ff8e51ce484d11169ca070b67f4643a095
diff --git a/games-fps/xonotic/metadata.xml b/games-fps/xonotic/metadata.xml
new file mode 100644
index 0000000..dd02719
--- /dev/null
+++ b/games-fps/xonotic/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>games</herd>
+ <maintainer>
+ <email>nikoli@lavabit.com</email>
+ <name>Nikoli</name>
+ </maintainer>
+ <use>
+ <flag name="zip">Compress resources dirs in zip archives.</flag>
+ </use>
+</pkgmetadata>
diff --git a/games-fps/xonotic/xonotic-9999.ebuild b/games-fps/xonotic/xonotic-9999.ebuild
new file mode 100644
index 0000000..376a3d5
--- /dev/null
+++ b/games-fps/xonotic/xonotic-9999.ebuild
@@ -0,0 +1,273 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI="2"
+
+inherit eutils games toolchain-funcs check-reqs git
+
+MY_PN="${PN^}"
+DESCRIPTION="Fork of Nexuiz, Deathmatch FPS based on DarkPlaces, an advanced Quake 1 engine"
+HOMEPAGE="http://www.xonotic.org/"
+BASE_URI="git://git.${PN}.org/${PN}/"
+EGIT_REPO_URI="${BASE_URI}${PN}.git"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS=""
+IUSE="alsa debug dedicated opengl sdl +zip"
+
+UIRDEPEND="
+ media-libs/libogg
+ media-libs/libtheora
+ media-libs/libvorbis
+ media-libs/libmodplug
+ x11-libs/libX11
+ x11-libs/libXau
+ x11-libs/libXdmcp
+ x11-libs/libXext
+ x11-libs/libXxf86dga
+ x11-libs/libXxf86vm
+ virtual/opengl
+ media-libs/freetype:2
+ alsa? ( media-libs/alsa-lib )
+ sdl? ( media-libs/libsdl[X,audio,joystick,opengl,video,alsa?] )
+ "
+UIDEPEND="
+ x11-proto/xextproto
+ x11-proto/xf86dgaproto
+ x11-proto/xf86vidmodeproto
+ x11-proto/xproto
+ "
+RDEPEND="
+ sys-libs/zlib
+ media-libs/jpeg
+ media-libs/libpng
+ net-misc/curl
+ opengl? ( ${UIRDEPEND} )
+ !dedicated? ( !opengl? ( ${UIRDEPEND} ) )
+ "
+DEPEND="${RDEPEND}
+ zip? ( app-arch/p7zip )
+ opengl? ( ${UIDEPEND} )
+ !dedicated? ( !opengl? ( ${UIDEPEND} ) )
+ "
+
+pkg_setup() {
+ ewarn "You need 1,5 Gb diskspace for distfiles."
+ if use dedicated && use !opengl; then
+ CHECKREQS_DISK_BUILD="1500"
+ else
+ if use zip; then
+ CHECKREQS_DISK_BUILD="2650"
+ CHECKREQS_DISK_USR="910"
+ else
+ CHECKREQS_DISK_BUILD="4800"
+ CHECKREQS_DISK_USR="2400"
+ fi
+ fi
+ check_reqs
+}
+
+git_pk3_unpack() {
+ EGIT_REPO_URI="${BASE_URI}xonotic-${1}.pk3dir.git"
+ EGIT_PROJECT="${PN}-${1}.pk3dir"
+ S+="/data/${PN}-${1}.pk3dir"
+ git_fetch
+ S="${WORKDIR}/${P}"
+}
+
+src_unpack() {
+ # root
+ git_src_unpack
+
+ # Engine
+ EGIT_REPO_URI="${BASE_URI}darkplaces.git"
+ EGIT_PROJECT="darkplaces"
+ S+="/darkplaces"
+ # comment next line if you prefer unstable
+ EGIT_BRANCH="div0-stable" \
+ git_fetch
+ S="${WORKDIR}/${P}"
+
+ # QC compiler
+ EGIT_REPO_URI="git://github.com/Blub/qclib.git"
+ EGIT_PROJECT="qclib"
+ S+="/fteqcc"
+ git_fetch
+ S="${WORKDIR}/${P}"
+
+ # Data
+ git_pk3_unpack data
+ git_pk3_unpack maps
+ # needed only for client
+ if use opengl || use !dedicated; then
+ git_pk3_unpack music
+ git_pk3_unpack nexcompat
+ else
+ rm -rf "${S}/data/font-dejavu.pk3dir" || die "rm failed"
+ fi
+}
+
+src_prepare() {
+ # for darkplaces and fteqcc
+ tc-export CC
+
+ # Engine
+ pushd darkplaces
+ sed -i \
+ -e "/^EXE_/s:darkplaces:${PN}:" \
+ -e "s:-O3:${CFLAGS}:" \
+ -e "/-lm/s:$: ${LDFLAGS}:" \
+ -e '/^STRIP/s/strip/true/' \
+ makefile.inc || die "sed failed"
+
+ if use !alsa; then
+ sed -e "/DEFAULT_SNDAPI/s:ALSA:OSS:" \
+ -i makefile || die "sed failed"
+ fi
+
+ # rebranding, suddenly it works fine
+ for i in nexuiz.*; do
+ mv -v "${i}" "${i/nexuiz/${PN}}" || die "mv failed"
+ done
+ sed -i \
+ -e "s/nexuiz/${PN}/g" \
+ -e "s/Nexuiz/${PN^}/g" \
+ -e "s/NEXUIZ/${PN^^}/g" \
+ $(find -type f ! -name '*makefile*') || die "sed failed"
+ popd
+
+ # QC compiler
+ pushd fteqcc
+ sed -i \
+ -e '/^CC/d' \
+ -e "s: -O3 : :g" \
+ -e "s: -s : :g" \
+ -e 's/-o fteqcc.bin/$(LDFLAGS) -o fteqcc.bin/' \
+ Makefile || die "sed failed"
+ popd
+
+ # Data
+ if use dedicated && use !opengl; then
+ pushd data
+ rm -rf \
+ xonotic-data.pk3dir/gfx \
+ xonotic-data.pk3dir/particles \
+ xonotic-data.pk3dir/sound/cyberparcour01/rocket.txt \
+ xonotic-data.pk3dir/textures \
+ xonotic-maps.pk3dir/textures \
+ || die "rm failed"
+ rm -f \
+ $(find -type f -name '*.jpg') \
+ $(find -type f -name '*.png' ! -name 'sky??.png') \
+ $(find -type f -name '*.svg') \
+ $(find -type f -name '*.tga') \
+ $(find -type f -name '*.wav') \
+ $(find -type f -name '*.ogg') \
+ $(find -type f -name '*.ase') \
+ $(find -type f -name '*.map') \
+ $(find -type f -name '*.zym') \
+ $(find -type f -name '*.obj') \
+ $(find -type f -name '*.blend') \
+ || die "rm failed"
+ find -type d \
+ -exec rmdir '{}' &>/dev/null \;
+ sed -i \
+ -e '/^qc-recursive:/s/menu.dat//' \
+ xonotic-data.pk3dir/Makefile || die "sed failed"
+ popd
+ fi
+}
+
+src_compile() {
+ # Engine
+ pushd darkplaces
+ if use debug; then
+ ENGINEOPTS="debug"
+ else
+ ENGINEOPTS="release"
+ fi
+ ENGINEOPTS+=" DP_LINK_TO_LIBJPEG=1 DP_FS_BASEDIR=${GAMES_DATADIR}/${PN}"
+
+ if use opengl || ! use dedicated; then
+ emake cl-${ENGINEOPTS} || die "emake cl-${ENGINEOPTS} failed"
+ if use sdl; then
+ emake sdl-${ENGINEOPTS} || die "emake sdl-${ENGINEOPTS} failed"
+ fi
+ fi
+
+ if use dedicated; then
+ emake sv-${ENGINEOPTS} || die "emake sv-${ENGINEOPTS} failed"
+ fi
+ popd
+
+ # QC compiler
+ pushd fteqcc
+ emake BASE_CFLAGS="${CFLAGS} -Wall" || die "emake fteqcc failed"
+ popd
+
+ # Data
+ pushd data/xonotic-data.pk3dir
+ emake \
+ FTEQCC="${S}/fteqcc/fteqcc.bin" \
+ FTEQCCFLAGS_WATERMARK='' \
+ || die "emake data.pk3 failed"
+ popd
+}
+
+src_install() {
+ # Engine & docs
+ pushd darkplaces
+ if use opengl || use !dedicated; then
+ dogamesbin ${PN}-glx || die "dogamesbin glx failed"
+ newicon ../misc/logos/${PN}_icon.svg ${PN}.svg
+ make_desktop_entry ${PN}-glx "${MY_PN} (GLX)"
+
+ if use sdl; then
+ dogamesbin ${PN}-sdl || die "dogamesbin sdl failed"
+ make_desktop_entry ${PN}-sdl "${MY_PN} (SDL)"
+ dosym ${PN}-sdl "${GAMES_BINDIR}"/${PN}
+ else
+ dosym ${PN}-glx "${GAMES_BINDIR}"/${PN}
+ fi
+ fi
+
+ if use dedicated; then
+ dogamesbin ${PN}-dedicated || die "dogamesbin dedicated failed"
+ fi
+ popd
+
+ dodoc Docs/*.txt
+ dohtml -r readme.html Docs
+
+ insinto "${GAMES_DATADIR}/${PN}"
+
+ if use dedicated; then
+ doins -r server || die "doins server failed"
+ fi
+
+ # Data
+ cd data
+ rm -rf \
+ $(find -name '.git*') \
+ $(find -type d -name '.svn') \
+ $(find -type d -name 'qcsrc') \
+ $(find -type f -name '*.sh') \
+ $(find -type f -name '*.pl') \
+ $(find -type f -name 'Makefile') \
+ || die "rm failed"
+ if use zip; then
+ for d in *.pk3dir; do
+ pushd "${d}"
+ a="${d#xonotic-}"
+ 7za a -tzip -mx=9 "../${a%dir}" . || die "zip failed"
+ popd
+ rm -rf "${d}" || die "rm failed"
+ done
+ fi
+ insinto "${GAMES_DATADIR}/${PN}/data"
+ doins -r . || die "doins data failed"
+
+ prepgamesdirs
+}