diff options
author | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 13:49:04 -0700 |
---|---|---|
committer | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 17:38:18 -0700 |
commit | 56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch) | |
tree | 3f91093cdb475e565ae857f1c5a7fd339e2d781e /games-fps/eduke32 | |
download | gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2 gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip |
proj/gentoo: Initial commit
This commit represents a new era for Gentoo:
Storing the gentoo-x86 tree in Git, as converted from CVS.
This commit is the start of the NEW history.
Any historical data is intended to be grafted onto this point.
Creation process:
1. Take final CVS checkout snapshot
2. Remove ALL ChangeLog* files
3. Transform all Manifests to thin
4. Remove empty Manifests
5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$
5.1. Do not touch files with -kb/-ko keyword flags.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests
X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project
X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration
X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn
X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts
X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration
X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging
X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'games-fps/eduke32')
-rw-r--r-- | games-fps/eduke32/Manifest | 6 | ||||
-rw-r--r-- | games-fps/eduke32/eduke32-20131119.4169.ebuild | 219 | ||||
-rw-r--r-- | games-fps/eduke32/files/eduke32-20131119.4169-QA.patch | 150 | ||||
-rw-r--r-- | games-fps/eduke32/metadata.xml | 25 |
4 files changed, 400 insertions, 0 deletions
diff --git a/games-fps/eduke32/Manifest b/games-fps/eduke32/Manifest new file mode 100644 index 000000000000..8a9e76b48018 --- /dev/null +++ b/games-fps/eduke32/Manifest @@ -0,0 +1,6 @@ +DIST duke3d_hrp_5.2.zip 709961560 SHA256 d5dc9ef4be517de1464e8ed886f2a6352402fdec2b9cf271d292a5aee82fae27 SHA512 6b80739082d01e879ee77c85d3702269a605bc5f5b9393ce2f391d50c2a14e8fd0cd274a7e3010636646c3b7725591f45f107503c04a84655621a197f5f3c69e WHIRLPOOL 03cbc7fe0b8f3f7d4eaf7e5df4d8c9537ffaa0e7a49d938f0138bf0a6c87a72ecfa30666a94ec228dc66da6e55a6632d08340edcb2c49d9c4aaa4031ab5f231c +DIST duke3d_mus_3.0.zip 129992841 SHA256 6dc9eb70ee1850519b55e547a399e3f7f03ddf60a6b16b0e205edd8a05bdda4a SHA512 9b782a2b6bb006a01e7ca2a8c395fcbe0884cc7648fce03f7760d67e67e4b03d73e31fff5964a604270ffddf09df69f306147dffd115efcd738de416939060cf WHIRLPOOL dec7613bf321a8392361ed414c3cba1909adf6106ae16fe04858549d8574d696f677ac90b0a8a7ab7cf6fb31b6263223b03434536f528c7f50c8b77fd7c059d2 +DIST duke3d_musopl_2.0.zip 266444907 SHA256 4f0afc46bfb5f38b1a1417a6145c0c548355cf4c4438e0330a9de704b139f1c3 SHA512 e9ae69727f84ff71bf9abffa283fda1fcaf56fd6ae6b865d12f138d64b0fca0d36fd9695b1e60a64716154055373eecd6499ebd8801a4ecb55ddc4722208eff7 WHIRLPOOL b69b76050f97785b54a1693b3f9eeb124b208cb785719c9c37a499a7af8f9cdd2362a7ce0cab81b17a3ab7f80744eadd0a286b45844dee6bf37e0f320d61148a +DIST duke3d_xxx_1.33.zip 26586453 SHA256 c31713e6400a175a1bfa3bd369d132f8a8abce8915c113549f98262b9a84b534 SHA512 4783d159610fc178e748446b7a5f9c13d90e1aca3cef34deb82e99655b7f4a254f1130e16dbcfad9013b95bc07161d5c5dccfcc552fbb7a88404b4b9cedbadbf WHIRLPOOL 1e7c8a06fd8ff558a8f5a5cc37093fe055555bdfd296194935c986978b4630c225a1f5da7d54e274bd8a5258a4b518ffc2456c79f515185bfb6e403488cad125 +DIST eduke32-icons.tar 102400 SHA256 efce5cddd9a55f07824f5739831b79cff2ea6e508f0b17b996316533af925842 SHA512 797f76cfc0e253ce3364e80f70b616fc004811c08519020727871addc90c7780b475ee7769398e13859f93893ccbb916bd4229a39f4c119169a69231e6fd411c WHIRLPOOL 9815abce63dcf8e865c61610f1b04915ced9b29c65cd831022f5b6f261bd55efc700b6fd5ee2741332023b85682b08d3a327998c57be33846dffdcb60eb1339b +DIST eduke32_src_20131119-4169.tar.xz 12228040 SHA256 1aaeadb7b8ac68d6a7e3b0cc568875df6a2b319cc7626c6a4d38cb69fa5f162e SHA512 6ab7babc18c80e111603b9b731f37963f3bfe2ee753a2e383d58a21e77ad5a561cf95f5392adcf76259e6ded2dcd5eb5d0fc484edf65ec6887a746c4f422f292 WHIRLPOOL 576e0f0e73b383fe221ef5db8b54889bf3e8271e361a0af41fd1a914d8a9be3711a9b536d668790013f8fcd0ea3c11b31b47bf333e685bbf853f48152e2fc194 diff --git a/games-fps/eduke32/eduke32-20131119.4169.ebuild b/games-fps/eduke32/eduke32-20131119.4169.ebuild new file mode 100644 index 000000000000..5563a2a93dae --- /dev/null +++ b/games-fps/eduke32/eduke32-20131119.4169.ebuild @@ -0,0 +1,219 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +# TODO/FIXME: +# lunatic broken +# lunatic? ( >=dev-lang/luajit-2.0.0_beta10:2 ) +# $(usex lunatic "LUNATIC=1" "LUNATIC=0") +# +# extras? ( games-fps/${PN}-extras ) + +EAPI=5 + +inherit eutils gnome2-utils games + +MY_PV=${PV%.*} +MY_BUILD=${PV#*.} + +# extensions +MY_HRP=5.2 +MY_SC55=3.0 +MY_OPL=2.0 +MY_XXX=1.33 + +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.xz + http://dev.gentoo.org/~hasufell/distfiles/eduke32-icons.tar + textures? ( http://www.duke4.org/files/nightfright/duke3d_hrp.zip -> duke3d_hrp_${MY_HRP}.zip ) + sc55-musicpack? ( http://www.duke4.org/files/nightfright/music/duke3d_mus.zip -> duke3d_mus_${MY_SC55}.zip ) + opl-musicpack? ( http://www.duke4.org/files/nightfright/music/duke3d_musopl.zip -> duke3d_musopl_${MY_OPL}.zip ) + offensive? ( http://www.duke4.org/files/nightfright/duke3d_xxx.zip -> duke3d_xxx_${MY_XXX}.zip )" + +LICENSE="GPL-2 BUILDLIC textures? ( hrp_art )" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="cdinstall debug demo gtk offensive +opengl opl-musicpack +png samples sc55-musicpack +server textures tools +vpx" +REQUIRED_USE="?? ( opl-musicpack sc55-musicpack )" + +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 + gtk? ( x11-libs/gtk+:2 ) + opengl? ( + virtual/glu + virtual/opengl + vpx? ( media-libs/libvpx ) + ) + png? ( media-libs/libpng:0= + sys-libs/zlib ) + " +DEPEND="${RDEPEND} + app-arch/unzip + app-arch/xz-utils + x86? ( dev-lang/nasm )" +PDEPEND="cdinstall? ( games-fps/duke3d-data ) + demo? ( games-fps/duke3d-demodata )" + +S=${WORKDIR}/${PN}_${MY_PV}-${MY_BUILD} + +src_unpack() { + unpack ${PN}_src_${MY_PV}-${MY_BUILD}.tar.xz eduke32-icons.tar + + if use textures; then + unzip -q "${DISTDIR}"/duke3d_hrp_${MY_HRP}.zip "hrp_readme.txt" \ + || die "unzip hrp readme" + if use offensive; then + unzip -q "${DISTDIR}"/duke3d_xxx_${MY_XXX}.zip "xxx_readme.txt" \ + || die "unzip xxx readme" + fi + fi + if use opl-musicpack; then + unzip -q "${DISTDIR}"/duke3d_musopl_${MY_OPL}.zip "readme.txt" \ + || die "unzip musopl readme" + mv readme.txt musopl_readme.txt || die "mv musopl_readme" + elif use sc55-musicpack; then + unzip -q "${DISTDIR}"/duke3d_mus_${MY_SC55}.zip "music_readme.txt" \ + || die "unzip mus readme" + fi +} + +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;" \ + source/common.c || die "sed common.c path update failed" + sed -i \ + -e "/OSD_SetLogFile/s;mapster32.log;${GAMES_LOGDIR}/mapster32.log;" \ + source/astub.c || die "sed astub.c path update failed" + sed -i \ + -e "/OSD_SetLogFile/s;${PN}.log;${GAMES_LOGDIR}/${PN}.log;" \ + source/game.c || die "sed game.c path update failed" +} + +src_compile() { + local MY_OPTS=( + AS=$(type -P nasm) + ARCH= + SYSARCH= + LTO=0 + PRETTY_OUTPUT=0 + RELEASE=1 + LUNATIC=0 + STRIP=touch + LINKED_GTK=1 + CPLUSPLUS=0 + SDL_TARGET=1 + F_JUMP_TABLES="" + $(usex gtk "WITHOUT_GTK=0" "WITHOUT_GTK=1") + $(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 opengl "$(usex vpx "USE_LIBVPX=1" "USE_LIBVPX=0")" "USE_LIBVPX=0") + ) + + emake ${MY_OPTS[@]} + + if use tools; then + emake -C build ${MY_OPTS[@]} + fi +} + +src_install() { + local ARGS + + newgamesbin ${PN} ${PN}.bin + dogamesbin 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 + + insinto "${GAMES_DATADIR}/${PN}" + # Install optional components + if use textures; then + newins "${DISTDIR}"/duke3d_hrp_${MY_HRP}.zip duke3d_hrp.zip + dodoc "${WORKDIR}"/hrp_readme.txt + ARGS+=" -g duke3d_hrp.zip" + + if use offensive; then + newins "${DISTDIR}"/duke3d_xxx_${MY_XXX}.zip duke3d_xxx.zip + dodoc "${WORKDIR}"/xxx_readme.txt + ARGS+=" -g duke3d_xxx.zip" + fi + fi + + if use opl-musicpack; then + newins "${DISTDIR}"/duke3d_musopl_${MY_OPL}.zip duke3d_musopl.zip + dodoc "${WORKDIR}"/musopl_readme.txt + ARGS+=" -g duke3d_musopl.zip" + elif use sc55-musicpack; then + newins "${DISTDIR}"/duke3d_mus_${MY_SC55}.zip duke3d_mus.zip + dodoc "${WORKDIR}"/music_readme.txt + ARGS+=" -g duke3d_mus.zip" + fi + + # Install game data + doins package/sdk/{SEHELP.HLP,STHELP.HLP,m32help.hlp,names.h,tiles.cfg} + use samples && 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 + + games_make_wrapper "${PN}" "${GAMES_BINDIR}/${PN}.bin ${ARGS}" + make_desktop_entry ${PN} EDuke32 ${PN} + make_desktop_entry mapster32 Mapster32 mapster32 + + dodoc build/buildlic.txt + + keepdir "${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 +} diff --git a/games-fps/eduke32/files/eduke32-20131119.4169-QA.patch b/games-fps/eduke32/files/eduke32-20131119.4169-QA.patch new file mode 100644 index 000000000000..38e9b36fa2b3 --- /dev/null +++ b/games-fps/eduke32/files/eduke32-20131119.4169-QA.patch @@ -0,0 +1,150 @@ +From: Julian Ospald <hasufell@gentoo.org> +Date: Sat Feb 2 01:16:21 UTC 2013 +Subject: build system + + respect CC/CXX etc and CFLAGS/CXXFLAGS/LDFLAGS + +--- eduke32_20130201-3453/Makefile ++++ eduke32_20130201-3453/Makefile +@@ -311,10 +311,10 @@ + endif + + COMPILER=$(CC) $(OURCONLYFLAGS) +-LINKER=$(L_CC) ++LINKER=$(L_CC) $(OURCFLAGS) $(OURCONLYFLAGS) + ifneq ($(CPLUSPLUS),0) + COMPILER=$(CXX) $(OURCXXFLAGS) +- LINKER=$(L_CXX) ++ LINKER=$(L_CXX) $(OURCXXFLAGS) + endif + + ifeq ($(PRETTY_OUTPUT),1) +--- eduke32_20130201-3453/Makefile.common ++++ eduke32_20130201-3453/Makefile.common +@@ -10,13 +10,14 @@ + + # Tools + CROSS= +-CC=$(CROSS)gcc +-CXX=$(CROSS)g++ +-AS=$(CROSS)nasm +-AR=$(CROSS)ar +-RC=$(CROSS)windres +-RANLIB=$(CROSS)ranlib +-STRIP=$(CROSS)strip ++CC ?= $(CROSS)gcc ++CXX ?= $(CROSS)g++ ++AS ?= $(CROSS)nasm ++AR ?= $(CROSS)ar ++RC ?= $(CROSS)windres ++RANLIB ?= $(CROSS)ranlib ++STRIP ?= $(CROSS)strip ++PKG_CONFIG ?= pkgconfig + + L_CC=$(CC) + L_CXX=$(CXX) +@@ -164,7 +165,6 @@ + # FORCEWARNINGS - 1 = do not disable any compiler warnings within the source + # KRANDDEBUG - 1 = include logging of krand() calls for debugging the demo system + # EFENCE - 1 = compile with Electric Fence for malloc() debugging +-# OPTLEVEL - 0..3 = GCC optimization strategy + # LTO - 1 = enable link-time optimization, for GCC 4.5 and up + # + CPLUSPLUS?=0 +@@ -178,13 +178,6 @@ + PROFILER?=0 + MUDFLAP?=0 + +-# Select the default optimization level for release and debug builds. +-ifeq ($(RELEASE),0) +- OPTLEVEL?=0 +-else +- OPTLEVEL?=2 +-endif +- + ifeq ($(RELEASE),0) + override STRIP= + endif +@@ -293,10 +286,9 @@ + + # compiler flags etc. + BASECFLAGS= +-BASECONLYFLAGS=-Wimplicit -Wdeclaration-after-statement +-BASECXXFLAGS= -fno-exceptions -fno-rtti -fpermissive -Wno-write-strings +-BASEASFLAGS=-s #-g +-BASELDFLAGS= ++BASECONLYFLAGS = $(CFLAGS) -std=gnu89 -Wimplicit -Wdeclaration-after-statement ++BASECXXFLAGS = $(CXXFLAGS) -fno-exceptions -fno-rtti -fpermissive -Wno-write-strings -Wno-narrowing ++BASELDFLAGS = $(LDFLAGS) + + + ifeq (1,$(strip $(shell expr $(GCC_MAJOR) \>= 4))) +@@ -330,19 +322,6 @@ + endif + + +-ifneq ($(RELEASE)$(DEBUGANYWAY),10) +- # debug build or DEBUGANYWAY=1 --> -g flag +- ifneq (0,$(CLANG)) +- debug=-g +- else ifeq ($(PLATFORM), WII) +- debug=-g +- else +- debug=-ggdb +- endif +-endif +- +-debug+= -O$(OPTLEVEL) +- + # See http://clang.llvm.org/docs/UsersManual.html#controlling-code-generation + # for a list of possible UBSan options. + # Clang 3.2 does only supports -fsanitize=address for the AddressSanitizer +@@ -458,7 +437,7 @@ + + #### Lunatic development + # LuaJIT standalone interpreter executable: +-LUAJIT:=luajit ++LUAJIT:=$(shell command -v luajit || command -v luajit-2 || command -v luajit-2.0) + # Options to "luajit -b" for synthesis. Since it runs on Linux, we need to tell + # the native LuaJIT to emit PE object files. + ifneq ($(SYNTHESIS),0) +@@ -487,7 +466,8 @@ + ifeq ($(PLATFORM),WINDOWS) + BASELIBS+= -lluajit + else +- BASELIBS+= -lluajit-5.1 ++ BASECOMMONFLAGS+= $(shell $(PKG_CONFIG) --cflags luajit 2>/dev/null || $(PKG_CONFIG) --cflags luajit-2.0) ++ BASELIBS+= $(shell $(PKG_CONFIG) --libs luajit 2>/dev/null || $(PKG_CONFIG) --libs luajit-2.0) + endif + endif + +--- eduke32_20130201-3453/build/Makefile ++++ eduke32_20130201-3453/build/Makefile +@@ -167,13 +167,15 @@ + OURCOMMONFLAGS+= $(BUILDCOMMONFLAGS) + + COMPILER=$(CC) $(OURCONLYFLAGS) +-LINKER=$(L_CC) ++LINKER=$(L_CC) $(OURCFLAGS) $(OURCONLYFLAGS) + ifneq ($(CPLUSPLUS),0) + COMPILER=$(CXX) $(OURCXXFLAGS) +- LINKER=$(L_CXX) ++ LINKER=$(L_CXX) $(OURCXXFLAGS) + endif + +-.SILENT: ++ifeq ($(PRETTY_OUTPUT),1) ++ .SILENT: ++endif + .PHONY: clean cleanutils veryclean all utils dxutils sdlutils printutils printsdlutils printdxutils enginelib editorlib + + # TARGETS +@@ -266,7 +268,7 @@ + if $(LINKER) -o $@ $^ $(OURLDFLAGS) $(UTILLIBS) -I$(SDLROOT)/include -I$(SDLROOT)/include/SDL; then $(ONESTEP_OK); else $(ONESTEP_FAILED); fi + arttool$(EXESUFFIX): $(OBJ)/arttool.$o $(UTILADDOBJS) + $(ONESTEP_STATUS) +- if $(L_CXX) -o $@ $^ $(OURLDFLAGS) $(STATICSTDCPP) $(STDCPPLIB) $(UTILLIBS); then $(ONESTEP_OK); else $(ONESTEP_FAILED); fi ++ if $(L_CXX) $(OURCXXFLAGS) -o $@ $^ $(OURLDFLAGS) $(STATICSTDCPP) $(STDCPPLIB) $(UTILLIBS); then $(ONESTEP_OK); else $(ONESTEP_FAILED); fi + givedepth$(EXESUFFIX): $(OBJ)/givedepth.$o $(UTILADDOBJS) + $(ONESTEP_STATUS) + if $(LINKER) -o $@ $^ $(OURLDFLAGS) $(UTILLIBS); then $(ONESTEP_OK); else $(ONESTEP_FAILED); fi diff --git a/games-fps/eduke32/metadata.xml b/games-fps/eduke32/metadata.xml new file mode 100644 index 000000000000..52cdfe8e7b49 --- /dev/null +++ b/games-fps/eduke32/metadata.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>games</herd> + <use> + <flag name="demo">Install <pkg>games-fps/duke3d-demodata</pkg> + as well</flag> + <flag name="gtk">Compile with gtk launcher</flag> + <flag name="offensive">Include optional XXX texture pack + (needs USE 'textures')</flag> + <flag name="opl-musicpack">Include optional OPL (AdLib) + music pack</flag> + <flag name="samples">Install samples</flag> + <flag name="sc55-musicpack">Include optional Roland SC-55 + music pack</flag> + <flag name="server">Compile with server support</flag> + <flag name="textures">Include optional high-resolution + textures (needs USE 'opengl')</flag> + <flag name="tools">Build several tools for modding and + development</flag> + <flag name="vpx">Enable support for WebM VP8 Codecs + (needs USE 'opengl')</flag> + </use> +</pkgmetadata> + |