games-fps/eduke32: initial import of scm version

This commit is contained in:
Julian Ospald 2016-02-25 15:01:55 +01:00
parent 2bb717ead6
commit 87e53be525
4 changed files with 371 additions and 0 deletions

71
licences/BUILDLIC Normal file
View File

@ -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)

76
licences/hrp_art Normal file
View File

@ -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.

View File

@ -1,4 +1,5 @@
( (
games-fps/eduke32[~scm]
games-rpg/valyriatear[~scm] games-rpg/valyriatear[~scm]
media-sound/pnmixer[~scm] media-sound/pnmixer[~scm]
x11-apps/terminator[~scm] x11-apps/terminator[~scm]

View File

@ -0,0 +1,223 @@
# Copyright 2016 Julian Ospald <hasufell@posteo.de>
# 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"
}