| Version | EAPI | Keywords | Slot |
|---|---|---|---|
| 1.5.9 | 8 | ~amd64 | 0 |
# Copyright 2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DESCRIPTION="Hexen II: Hammer of Thyrion - A cross-platform port of Hexen II"
HOMEPAGE="http://uhexen2.sourceforge.net/"
SRC_URI="https://github.com/sezero/uhexen2/archive/refs/tags/${P}.tar.gz"
S="${WORKDIR}/${PN}-${P}"
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="~amd64"
# gamecode
IUSE="
+soft +opengl
+alsa oss wav flac
+vorbis opus mikmod +modplug xmp umx timidity wildmidi +mad mpg123 tremor
+client server utils world
demo debug"
REQUIRED_USE="
|| ( soft opengl )
^^ ( mad mpg123 )
^^ ( vorbis tremor )
^^ ( mikmod modplug xmp umx )"
DEPEND="
media-libs/libglvnd
media-libs/libsdl
mad? ( media-libs/libmad )
mpg123? ( media-sound/mpg123 )
vorbis? ( media-libs/libogg media-libs/libvorbis )
tremor? ( media-libs/libogg media-libs/tremor )
flac? ( media-libs/flac )
opus? ( media-libs/libogg media-libs/opus media-libs/opusfile )
mikmod? ( media-libs/libmikmod )
modplug? ( media-libs/libmodplug )
xmp? ( media-libs/libxmp )
timidity? ( media-libs/libtimidity )
wildmidi? ( media-sound/wildmidi )
"
RDEPEND="${DEPEND}"
BDIR="${WORKDIR}/build"
src_compile() {
local myemakeopts=(
USE_ALSA=$(usex alsa)
USE_OSS=$(usex oss)
USE_MIDI=$(usex timidity yes $(usex wildmidi yes no))
### Enable/Disable codecs for streaming music support
USE_CODEC_WAVE=$(usex wav)
USE_CODEC_FLAC=$(usex flac)
USE_CODEC_MP3=$(usex mpg123 yes $(usex mad yes no))
USE_CODEC_VORBIS=$(usex vorbis yes $(usex tremor yes no))
USE_CODEC_OPUS=$(usex opus)
# either mikmod, or xmp
USE_CODEC_MIKMOD=$(usex mikmod)
USE_CODEC_XMP=$(usex xmp)
USE_CODEC_UMX=$(usex umx)
USE_CODEC_MODPLUG=$(usex modplug)
# Midi
USE_CODEC_TIMIDITY=$(usex timidity)
USE_CODEC_WILDMIDI=$(usex wildmidi)
# which library to use for mp3 decoding: mad or mpg123
MP3LIB=$(usex mad mad $(usex mpg123 mpg123))
# which library to use for ogg decoding: vorbis or tremor
VORBISLIB=$(usex vorbis vorbis $(usex tremor tremor))
DEMO=$(usex demo)
DEBUG=$(usex debug)
)
mkdir -p ${BDIR}/bin
mkdir -p ${BDIR}/share/uhexen2/bin
if use client; then
pushd "${S}/engine/hexen2"
if use soft; then
emake h2 "${myemakeopts[@]}"
cp hexen2 "${BDIR}/bin/uhexen2"
if use opengl; then
# We need to clean since some created objects
# use different code for opengl
emake localclean
fi
fi
if use opengl; then
emake glh2 "${myemakeopts[@]}"
cp glhexen2 "${BDIR}/bin/uglhexen2"
fi
popd
if use world; then
pushd "${S}/engine/hexenworld/client"
if use soft; then
emake hw "${myemakeopts[@]}"
cp hwcl "${BDIR}/bin/uhexenworld"
if use opengl; then
# We need to clean since some created objects
# use different code for opengl
emake localclean
fi
fi
if use opengl; then
emake glhw "${myemakeopts[@]}"
cp glhwcl "${BDIR}/bin/uglhexenworld"
fi
popd
fi
fi
if use server; then
pushd "${S}/engine/server"
emake
cp h2ded "${BDIR}/bin/uhexen2server"
popd
if use world; then
pushd "${S}/engine/hexenworld/server"
emake
cp hwsv "${BDIR}/bin/uhexenworldserver"
popd
fi
fi
if use utils; then
pushd "${S}/utils"
cd bspinfo
emake
cp bspinfo "${BDIR}/share/uhexen2/bin/"
cd ../hcc
emake
cp hcc "${BDIR}/share/uhexen2/bin/"
cd ../dcc
emake
cp dhcc "${BDIR}/share/uhexen2/bin/"
cd ../genmodel
emake
cp genmodel "${BDIR}/share/uhexen2/bin/"
cd ../jsh2colour
emake
cp jsh2colour "${BDIR}/share/uhexen2/bin/"
cd ../light
emake
cp light "${BDIR}/share/uhexen2/bin/"
cd ../pak
emake
cp paklist pakx "${BDIR}/share/uhexen2/bin/"
cd ../qbsp
emake
cp qbsp "${BDIR}/share/uhexen2/bin/"
cd ../qfiles
emake
cp qfiles "${BDIR}/share/uhexen2/bin/"
cd ../vis
emake
cp vis "${BDIR}/share/uhexen2/bin/"
cd ../texutils/bsp2wal
emake
cp bsp2wal "${BDIR}/share/uhexen2/bin/"
cd ../lmp2pcx
emake
cp lmp2pcx "${BDIR}/share/uhexen2/bin/"
popd
if use world; then
pushd "${S}/hw_utils"
cd hwmaster
emake
cp hwmaster "${BDIR}/share/uhexen2/bin/"
cd ../hwmquery
emake
cp hwmquery "${BDIR}/share/uhexen2/bin/"
cd ../hwrcon
emake
cp hwterm "${BDIR}/share/uhexen2/bin/"
popd
fi
fi
}
src_install() {
if use client; then
if use soft; then
dobin "${BDIR}/bin/uhexen2"
fi
if use opengl; then
dobin "${BDIR}/bin/uglhexen2"
fi
if use world; then
if use soft; then
dobin "${BDIR}/bin/uhexenworld"
fi
if use opengl; then
dobin "${BDIR}/bin/uglhexenworld"
fi
fi
fi
if use server; then
dobin "${BDIR}/bin/uhexen2server"
if use world; then
dobin "${BDIR}/bin/uhexenworldserver"
fi
fi
if use utils; then
insinto "/usr/share/uhexen2"
doins -r "${BDIR}/share/uhexen2"
fi
}
media-libs/libglvnd media-libs/libsdl mad? ( media-libs/libmad ) mpg123? ( media-sound/mpg123 ) vorbis? ( media-libs/libogg media-libs/libvorbis ) tremor? ( media-libs/libogg media-libs/tremor ) flac? ( media-libs/flac ) opus? ( media-libs/libogg media-libs/opus media-libs/opusfile ) mikmod? ( media-libs/libmikmod ) modplug? ( media-libs/libmodplug ) xmp? ( media-libs/libxmp ) timidity? ( media-libs/libtimidity ) wildmidi? ( media-sound/wildmidi )
media-libs/libglvnd media-libs/libsdl mad? ( media-libs/libmad ) mpg123? ( media-sound/mpg123 ) vorbis? ( media-libs/libogg media-libs/libvorbis ) tremor? ( media-libs/libogg media-libs/tremor ) flac? ( media-libs/flac ) opus? ( media-libs/libogg media-libs/opus media-libs/opusfile ) mikmod? ( media-libs/libmikmod ) modplug? ( media-libs/libmodplug ) xmp? ( media-libs/libxmp ) timidity? ( media-libs/libtimidity ) wildmidi? ( media-sound/wildmidi )
| Type | File | Size | Source URLs |
|---|---|---|---|
| DIST | uhexen2-1.5.9.tar.gz | 17677089 bytes | https://github.com/sezero/uhexen2/archive/refs/tags/uhexen2-1.5.9.tar.gz |