summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'games-fps/eduke32/eduke32-20130201.3453.ebuild')
-rw-r--r--games-fps/eduke32/eduke32-20130201.3453.ebuild152
1 files changed, 152 insertions, 0 deletions
diff --git a/games-fps/eduke32/eduke32-20130201.3453.ebuild b/games-fps/eduke32/eduke32-20130201.3453.ebuild
new file mode 100644
index 000000000000..5bb2a18e2124
--- /dev/null
+++ b/games-fps/eduke32/eduke32-20130201.3453.ebuild
@@ -0,0 +1,152 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/games-fps/eduke32/eduke32-20130201.3453.ebuild,v 1.1 2013/02/02 18:36:55 hasufell Exp $
+
+# TODO/FIXME:
+# lunatic broken
+# lunatic? ( >=dev-lang/luajit-2.0.0_beta10:2 )
+# $(usex lunatic "LUNATIC=1" "LUNATIC=0")
+#
+# extras? ( games-fps/${PN}-extras )
+#
+# clang does not build
+
+EAPI=5
+
+inherit eutils gnome2-utils games
+
+MY_PV=${PV%.*}
+MY_BUILD=${PV#*.}
+
+DESCRIPTION="Port of Duke Nukem 3D for SDL"
+HOMEPAGE="http://www.eduke32.com/ http://hrp.duke4.net/"
+SRC_URI="http://dukeworld.duke4.net/eduke32/synthesis/${MY_PV}-${MY_BUILD}/${PN}_src_${MY_PV}-${MY_BUILD}.tar.bz2
+ http://dev.gentoo.org/~hasufell/distfiles/eduke32-icons.tar"
+
+LICENSE="GPL-2 BUILDLIC"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="cdinstall debug demo +opengl +png +server tools +vpx"
+REQUIRED_USE="vpx? ( opengl )"
+
+RDEPEND="media-libs/flac
+ media-libs/libogg
+ media-libs/libsdl[X,joystick,opengl?,video]
+ media-libs/libvorbis
+ media-libs/sdl-mixer[timidity]
+ sys-libs/zlib
+ x11-libs/gtk+:2
+ opengl? ( virtual/glu
+ virtual/opengl )
+ png? ( media-libs/libpng:0
+ sys-libs/zlib )
+ vpx? ( media-libs/libvpx )"
+DEPEND="${RDEPEND}
+ x86? ( dev-lang/nasm )"
+PDEPEND="cdinstall? ( games-fps/duke3d-data )
+ demo? ( games-fps/duke3d-demodata )"
+
+S=${WORKDIR}/${PN}_${MY_PV}-${MY_BUILD}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-QA.patch
+
+ # Point eduke32 to data files in shared duke3d folder.
+ # Multiple search paths can be defined, so that with the default configuration as of
+ # the 20130128 release, this adds /usr/share/games/duke3d in ADDITION to
+ # /usr/share/games/eduke32 so that eduke32 and duke3d's base data can be kept separate.
+ # also redirect log file so it's not always written in $PWD
+ sed -i \
+ -e "s;/usr/local/share/games/${PN};${GAMES_DATADIR}/duke3d;" \
+ -e "s;mapster32.log;${GAMES_LOGDIR}/mapster32.log;" \
+ source/astub.c || die "sed astub.c path update failed"
+ sed -i \
+ -e "s;/usr/local/share/games/${PN};${GAMES_DATADIR}/duke3d;" \
+ -e "s;${PN}.log;${GAMES_LOGDIR}/${PN}.log;" \
+ source/game.c || die "sed game.c path update failed"
+}
+
+src_compile() {
+ local MY_OPTS=(
+ ARCH=
+ LTO=0
+ PRETTY_OUTPUT=0
+ RELEASE=1
+ LUNATIC=0
+ STRIP=touch
+ LINKED_GTK=1
+ CPLUSPLUS=0
+ $(usex debug "DEBUGANYWAY=1" "DEBUGANYWAY=0")
+ $(usex x86 "NOASM=0" "NOASM=1")
+ $(usex server "NETCODE=1" "NETCODE=0")
+ $(usex opengl "USE_OPENGL=1 POLYMER=1" "USE_OPENGL=0 POLYMER=0")
+ $(usex png "USE_LIBPNG=1" "USE_LIBPNG=0")
+ $(usex vpx "USE_LIBVPX=1" "USE_LIBVPX=0")
+ )
+
+ emake ${MY_OPTS[@]}
+
+ if use tools; then
+ emake -C build ${MY_OPTS[@]}
+ fi
+}
+
+src_install() {
+ dogamesbin ${PN} mapster32
+
+ insinto "${GAMES_DATADIR}/${PN}"
+ doins package/{SEHELP.HLP,STHELP.HLP,m32help.hlp,names.h,tiles.cfg}
+ doins -r package/samples
+
+ local i
+ for i in 16 32 128 256 ; do
+ newicon -s ${i} "${WORKDIR}"/${PN}_${i}x${i}x32.png ${PN}.png
+ newicon -s ${i} "${WORKDIR}"/mapster32_${i}x${i}x32.png mapster32.png
+ done
+
+ make_desktop_entry ${PN} EDuke32 ${PN}
+ make_desktop_entry mapster32 Mapster32 mapster32
+
+ if use tools; then
+ dobin build/{arttool,bsuite,cacheinfo,generateicon,givedepth,kextract,kgroup,kmd2tool,md2tool,mkpalette,transpal,unpackssi,wad2art,wad2map}
+ dodoc build/doc/*.txt
+ fi
+
+ dodoc build/buildlic.txt
+
+ dodir "${GAMES_LOGDIR}"
+
+ prepgamesdirs
+
+}
+
+pkg_preinst() {
+ games_pkg_preinst
+ gnome2_icon_savelist
+}
+
+pkg_postinst() {
+ games_pkg_postinst
+ gnome2_icon_cache_update
+
+ use cdinstall || use demo || {
+ elog "Note: You must also install the game data files, either manually or with"
+ elog "games-fps/duke3d-demodata or games-fps/duke3d-data before playing."
+ }
+
+ einfo
+ elog "${PN} reads data files from ${GAMES_DATADIR}/duke3d"
+ einfo
+
+ [[ -e ${ROOT}/${GAMES_LOGDIR} ]] || mkdir -p "${ROOT}/${GAMES_LOGDIR}"
+ touch "${ROOT}/${GAMES_LOGDIR}"/${PN}.log
+ touch "${ROOT}/${GAMES_LOGDIR}"/mapster32.log
+ chown ${GAMES_USER}:${GAMES_GROUP} "${ROOT}/${GAMES_LOGDIR}"/${PN}.log
+ chown ${GAMES_USER}:${GAMES_GROUP} "${ROOT}/${GAMES_LOGDIR}"/mapster32.log
+ chmod g+w "${ROOT}/${GAMES_LOGDIR}"/${PN}.log
+ chmod g+w "${ROOT}/${GAMES_LOGDIR}"/mapster32.log
+}
+
+pkg_postrm() {
+ gnome2_icon_cache_update
+}