From 87e53be525761162ca1c59e3fda2623ad3ca55e6 Mon Sep 17 00:00:00 2001 From: Julian Ospald Date: Thu, 25 Feb 2016 15:01:55 +0100 Subject: [PATCH] games-fps/eduke32: initial import of scm version --- licences/BUILDLIC | 71 ++++++ licences/hrp_art | 76 ++++++ metadata/repository_mask.conf | 1 + .../games-fps/eduke32/eduke32-scm.exheres-0 | 223 ++++++++++++++++++ 4 files changed, 371 insertions(+) create mode 100644 licences/BUILDLIC create mode 100644 licences/hrp_art create mode 100644 packages/games-fps/eduke32/eduke32-scm.exheres-0 diff --git a/licences/BUILDLIC b/licences/BUILDLIC new file mode 100644 index 00000000..2751ea10 --- /dev/null +++ b/licences/BUILDLIC @@ -0,0 +1,71 @@ +BUILD SOURCE CODE LICENSE TERMS: 06/20/2000 + +[1] I give you permission to make modifications to my Build source and + distribute it, BUT: + +[2] Any derivative works based on my Build source may be distributed ONLY + through the INTERNET. + +[3] Distribution of any derivative works MUST be done completely FREE of + charge - no commercial exploitation whatsoever. + +[4] Anything you distribute which uses a part of my Build Engine source + code MUST include: + + [A] The following message somewhere in the archive: + + // "Build Engine & Tools" Copyright (c) 1993-1997 Ken Silverman + // Ken Silverman's official web site: "http://www.advsys.net/ken" + // See the included license file "BUILDLIC.TXT" for license info. + + [B] This text file "BUILDLIC.TXT" along with it. + + [C] Any source files that you modify must include this message as well: + + // This file has been modified from Ken Silverman's original release + +[5] The use of the Build Engine for commercial purposes will require an + appropriate license arrangement with me. Contact information is + on my web site. + +[6] I take no responsibility for damage to your system. + +[7] Technical support: Before contacting me with questions, please read + and do ALL of the following! + + [A] Look through ALL of my text files. There are 7 of them (including this + one). I like to think that I wrote them for a reason. You will find + many of your answers in the history section of BUILD.TXT and + BUILD2.TXT (they're located inside SRC.ZIP). + + [B] If that doesn't satisfy you, then try going to: + + "http://www.advsys.net/ken/buildsrc" + + where I will maintain a Build Source Code FAQ (or perhaps I might + just provide a link to a good FAQ). + + [C] I am willing to respond to questions, but ONLY if they come at a rate + that I can handle. + + PLEASE TRY TO AVOID ASKING DUPLICATE QUESTIONS! + + As my line of defense, I will post my current policy about + answering Build source questions (right below the E-mail address + on my web site.) You can check there to see if I'm getting + overloaded with questions or not. + + If I'm too busy, it might say something like this: + + I'm too busy to answer Build source questions right now. + Sorry, but don't expect a reply from me any time soon. + + If I'm open for Build source questions, please state your question + clearly and don't include any unsolicited attachments unless + they're really small (like less than 50k). Assume that I have + a 28.8k modem. Also, don't leave out important details just + to make your question appear shorter - making me guess what + you're asking doesn't save me time! + +---------------------------------------------------------------------------- +-Ken S. (official web site: http://www.advsys.net/ken) diff --git a/licences/hrp_art b/licences/hrp_art new file mode 100644 index 00000000..eb8dc3c2 --- /dev/null +++ b/licences/hrp_art @@ -0,0 +1,76 @@ +High Resolution Pack Art License + +This Work is provided under the terms of this License. +The Work is protected by copyright and/or other applicable law. Any use of the +Work other than as authorized under this license is prohibited by law. + +BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE +BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED +TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN +CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS. + + +Definitions: +------------ + +"Adaptation" means a work based upon the Work, or upon the Work and other +pre-existing works, such as a translation, modification, derivative work, +arrangement or other alterations of an artistic work, or phonogram or +performance and includes cinematographic adaptations or any other form in +which the Work may be recast, transformed, or adapted including in any form +recognizably derived from the original. + +"Distribute" means to make available to the public the original and copies of +the Work or Adaptation, as appropriate, through any transfer of ownership. + +"Licensor" means the individual, individuals, entity or entities that offer(s) +the Work under the terms of this License. + +"Author" means, in the case of a literary or artistic work, the individual, +individuals, entity or entities who created the Work or if no individual or +entity can be identified, the publisher. + +"Work" means the artistic and/or musical content offered under the terms of +this License including without limitation any production in the literary, +scientific and artistic domain, whatever may be the mode or form of its +expression including digital form. + +"You" means an individual or entity exercising rights under this License who +has not previously violated the terms of this License with respect to the Work, +or who has received express permission from the Licensor to exercise rights +under this License despite a previous violation. + +"Reproduce" means to make copies of the Work by any means. + + +Terms: +------ + +You are free to copy, alter, distribute, reproduce and transmit this Work, +subject to the following conditions: + +1. You may not use this Work or anything contained in this Work for commercial + purposes. + +2. You must attribute this Work in the manner specified by the authors or + licensor. + +3. Any likenesses, characters, sounds, phrases or references specific to + Duke Nukem, 3D Realms Entertainment, or Apogee Software Ltd. appear in this + Work courtesy of 3D Realms Entertainment and are the exclusive property of + 3D Realms Entertainment, and are provided only to be used with a legally + acquired copy of Duke Nukem 3D. You may not alter, transform, build upon or + adapt any portion of this Work specifically related to or derived from the + Duke Nukem intellectual property, including likenesses, characters, sounds, + phrases or references for any purpose other than use with a legally acquired + copy of Duke Nukem 3D. + +4. Any works based upon altered, transformed, or copied parts of this Work must + be distributed under a license identical or similar to this one. + +5. For any reuse or distribution of this Work, you must make clear to others + the license terms of this Work. + +6. The producers and/or authors of this Work explicity reject any liability for + any damages resulting from use or misuse of this Work by any Licensee or + other third party. diff --git a/metadata/repository_mask.conf b/metadata/repository_mask.conf index 38a0deda..81ff6fbf 100644 --- a/metadata/repository_mask.conf +++ b/metadata/repository_mask.conf @@ -1,4 +1,5 @@ ( + games-fps/eduke32[~scm] games-rpg/valyriatear[~scm] media-sound/pnmixer[~scm] x11-apps/terminator[~scm] diff --git a/packages/games-fps/eduke32/eduke32-scm.exheres-0 b/packages/games-fps/eduke32/eduke32-scm.exheres-0 new file mode 100644 index 00000000..ac8388d4 --- /dev/null +++ b/packages/games-fps/eduke32/eduke32-scm.exheres-0 @@ -0,0 +1,223 @@ +# Copyright 2016 Julian Ospald +# Distributed under the terms of the GNU General Public License v2 + +# 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 + +SCM_SVN_RAW_URI=1 +SCM_REPOSITORY="http://svn.eduke32.com/eduke32/polymer/eduke32" + +require gtk-icon-cache scm-svn + +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/" +DOWNLOADS="http://dev.gentoo.org/~hasufell/distfiles/eduke32-icons.tar + hires-textures? ( mirror://gentoo/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 )" + +LICENCES="GPL-2 BUILDLIC hires-textures? ( hrp_art )" +SLOT="0" +PLATFORMS="~amd64" +MYOPTIONS=" + offensive [[ requires = hires-textures + description = [ Include optional XXX texture pack ] ]] + hires-textures [[ description = [ Include optional high-resolution + textures ] ]] + tools [[ description = [ Build several tools for modding and + development ] ]] + vpx [[ description = [ Enable support for WebM VP8 Codecs ] ]] + ( opl-musicpack sc55-musicpack ) [[ number-selected = at-most-one ]] +" + +DEPENDENCIES=" + build: + virtual/unzip + build+run: + media-libs/SDL:0[X] + media-libs/SDL_mixer:0[midi] + media-libs/flac + media-libs/libogg + media-libs/libpng:= + media-libs/libvorbis + sys-libs/zlib + x11-dri/glu + x11-dri/mesa + x11-libs/gtk+:2 + vpx? ( media-libs/libvpx ) + suggestion: + games-fps/duke3d-data [[ description = [ Install data portion via + GOG installer ] ]] +" + +src_unpack() { + unpack eduke32-icons.tar + scm_src_unpack + + if option hires-textures; then + edo unzip -q "${FETCHEDDIR}"/duke3d_hrp_${MY_HRP}.zip "hrp_readme.txt" + if option offensive; then + edo unzip -q "${FETCHEDDIR}"/duke3d_xxx_${MY_XXX}.zip "xxx_readme.txt" + fi + fi + if option opl-musicpack; then + edo unzip -q "${FETCHEDDIR}"/duke3d_musopl_${MY_OPL}.zip "readme.txt" + edo mv readme.txt musopl_readme.txt + elif option sc55-musicpack; then + edo unzip -q "${FETCHEDDIR}"/duke3d_mus_${MY_SC55}.zip "music_readme.txt" + fi +} + +src_prepare() { + edo sed -i \ + -e "s;/usr/local/share/games/${PN};/usr/share/duke3d;" \ + source/common.c + edo sed -i \ + -e "/OSD_SetLogFile/s;mapster32.log;~/.mapster32.log;" \ + source/astub.c + edo sed -i \ + -e "/OSD_SetLogFile/s;${PN}.log;~/.${PN}.log;" \ + source/game.c + edo sed -i \ + -e "s|pkg-config|${PKG_CONFIG}|" \ + Makefile +} + +src_compile() { + local MY_OPTS=( + AR=${AR} + AS=${AS} + CC=${CC} + CXX=${CXX} + RANLIB=${RANLIB} + STRIP=touch + + ARCH= + CPLUSPLUS=0 + DEBUGANYWAY=0 + F_JUMP_TABLES="" + LINKED_GTK=1 + LTO=0 + LUNATIC=0 + NETCODE=1 + NOASM=1 + POLYMER=1 + PRETTY_OUTPUT=0 + RELEASE=1 + SDL_TARGET=1 + SYSARCH= + USE_LIBPNG=1 + USE_OPENGL=1 + WITHOUT_GTK=0 + + $(usex vpx "USE_LIBVPX=1" "USE_LIBVPX=0") + ) + + emake ${MY_OPTS[@]} + emake ${MY_OPTS[@]} $(option tools "utils" "") +} + +src_install() { + local ARGS + + newbin ${PN} ${PN}.bin + dobin mapster32 + + if option tools; then + dobin {arttool,bsuite,cacheinfo,generateicon,givedepth,kextract,kgroup,kmd2tool,md2tool,mkpalette,transpal,unpackssi,wad2art,wad2map} + dodoc build/doc/*.txt + fi + + insinto "/usr/share/${PN}" + # Install optional components + if option hires-textures; then + newins "${FETCHEDDIR}"/duke3d_hrp_${MY_HRP}.zip duke3d_hrp.zip + dodoc "${WORKBASE}"/hrp_readme.txt + ARGS+=" -g duke3d_hrp.zip" + + if option offensive; then + newins "${FETCHEDDIR}"/duke3d_xxx_${MY_XXX}.zip duke3d_xxx.zip + dodoc "${WORKBASE}"/xxx_readme.txt + ARGS+=" -g duke3d_xxx.zip" + fi + fi + + if option opl-musicpack; then + newins "${FETCHEDDIR}"/duke3d_musopl_${MY_OPL}.zip duke3d_musopl.zip + dodoc "${WORKBASE}"/musopl_readme.txt + ARGS+=" -g duke3d_musopl.zip" + elif option sc55-musicpack; then + newins "${FETCHEDDIR}"/duke3d_mus_${MY_SC55}.zip duke3d_mus.zip + dodoc "${WORKBASE}"/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} + + local i + for i in 16 32 128 256 ; do + insinto /usr/share/icons/hicolor/${i}x${i}/apps + newins "${WORKBASE}"/${PN}_${i}x${i}x32.png ${PN}.png + newins "${WORKBASE}"/mapster32_${i}x${i}x32.png mapster32.png + done + + herebin ${PN} << EOF +#!/bin/sh +exec /usr/bin/eduke32.bin ${ARGS} "\$@" +EOF + + insinto /usr/share/applications + hereins ${PN}.desktop << EOF +[Desktop Entry] +Name=EDuke32 +Type=Application +Comment=${SUMMARY} +Exec=${PN} +TryExec=${PN} +Icon=${PN} +Categories=Game;ActionGame; +EOF + + hereins mapster32.desktop << EOF +[Desktop Entry] +Name=Mapster32 +Type=Application +Comment=${SUMMARY} +Exec=mapster32 +TryExec=mapster32 +Icon=mapster32 +Categories=Game;ActionGame; +EOF + + dodoc build/buildlic.txt + + keepdir /var/log/eduke32 +} + +pkg_postinst() { + gtk-icon-cache_pkg_postinst + + einfo + elog "${PN} reads data files from /usr/share/duke3d" + elog "make sure the game files are there (either copied or linked)." + einfo + elog "Logs are written to ~/.eduke32.log and ~/.mapster32.log" +} +