Install this version:
emerge -a =games-fps/darkplaces-20140513-r2
If this version is masked, you can unmask it using the autounmask tool or standard emerge options:
autounmask =games-fps/darkplaces-20140513-r2
Or alternatively:
emerge --autounmask-write -a =games-fps/darkplaces-20140513-r2
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit desktop flag-o-matic toolchain-funcs wrapper unpacker
# Latest versions are in http://icculus.org/twilight/darkplaces/files/
MY_PV="${PV/_beta/beta}"
MY_ENGINE="${PN}engine${MY_PV}.zip"
# Different Quake 1 engines expect the lights in different directories
# http://www.fuhquake.net/download.html and http://www.kgbsyndicate.com/romi/
MY_LIGHTS="fuhquake-lits.rar"
DESCRIPTION="Enhanced engine for iD Software's Quake 1"
HOMEPAGE="http://icculus.org/twilight/darkplaces/"
SRC_URI="http://icculus.org/twilight/${PN}/files/${MY_ENGINE}
lights? (
http://www.fuhquake.net/files/extras/${MY_LIGHTS}
http://www.kgbsyndicate.com/romi/id1.pk3 )"
S="${WORKDIR}/${PN}"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="alsa cdinstall cdsound debug dedicated demo lights opengl oss sdl textures"
UIRDEPEND="
virtual/jpeg:0
media-libs/libogg
media-libs/libvorbis
virtual/opengl
alsa? ( media-libs/alsa-lib )
sdl? ( media-libs/libsdl[joystick] )
x11-libs/libX11
x11-libs/libXpm
x11-libs/libXxf86dga
x11-libs/libXxf86vm
"
UIDEPEND="
x11-base/xorg-proto
"
RDEPEND="
net-misc/curl
cdinstall? ( games-fps/quake1-data )
demo? ( games-fps/quake1-demodata )
textures? ( >=games-fps/quake1-textures-20050820 )
opengl? ( ${UIRDEPEND} )
!opengl? ( sdl? ( ${UIRDEPEND} ) )
!opengl? ( !sdl? ( !dedicated? ( ${UIRDEPEND} ) ) )
"
DEPEND="lights? ( || (
app-arch/unrar
app-arch/rar ) )
opengl? (
${UIRDEPEND}
${UIDEPEND} )
!opengl? ( sdl? (
${UIRDEPEND}
${UIDEPEND} ) )
!opengl? ( !sdl? ( !dedicated? (
${UIRDEPEND}
${UIDEPEND} ) ) )
"
BDEPEND="
app-arch/unzip
virtual/pkgconfig
"
PATCHES=("${FILESDIR}"/${P}-gcc-11.patch)
dir="/usr/share/quake1"
opengl_client() {
use opengl || ( ! use dedicated && ! use sdl )
}
src_unpack() {
if use lights ; then
unpack "${MY_LIGHTS}"
unpack_zip "${DISTDIR}"/id1.pk3
mv *.lit maps/ || die
mv ReadMe.txt rtlights.txt
fi
unpack "${MY_ENGINE}"
unpack ./${PN}*.zip
}
src_prepare() {
default
rm "${WORKDIR}"/README-SDL.txt
cd "${S}"
rm mingw_note.txt
strip-flags
# Only additional CFLAGS optimization is the -march flag
local march=$(get-flag -march)
sed -i \
-e "s:-lasound:$($(tc-getPKG_CONFIG) --libs alsa):" \
-e "/^CPUOPTIMIZATIONS/d" \
-e '/^OPTIM_RELEASE/s/=.*/=$(CFLAGS)/' \
-e '/^OPTIM_DEBUG/s/=.*/=$(CFLAGS)/' \
-e '/^LDFLAGS_DEBUG/s/$/ $(LDFLAGS)/' \
-e '/^LDFLAGS_RELEASE/s/$/ $(LDFLAGS)/' \
-e "s:strip:true:" \
makefile.inc || die
if ! use cdsound ; then
# Turn the CD accesses off
sed -i \
-e "s:/dev/cdrom:/dev/null:" \
cd_linux.c || die
sed -i \
-e 's:COM_CheckParm("-nocdaudio"):1:' \
cd_shared.c || die
fi
}
src_compile() {
local opts="DP_FS_BASEDIR=\"${dir}\" DP_LINK_TO_LIBJPEG=1"
# Protect against people choosing a strip implementation
# bug #739194
unset STRIP
# Strict aliasing violations (bug #858740), but they seem to be fixed in git.
# Check on next release (>20140513) / snapshot.
append-flags -fno-strict-aliasing
filter-lto
tc-export CC
# Preferred sound is alsa
local sound_api="NULL"
use oss && sound_api="OSS"
use alsa && sound_api="ALSA"
opts="${opts} DP_SOUND_API=${sound_api}"
local type="release"
use debug && type="debug"
# Only compile a maximum of 1 client
if use sdl ; then
emake ${opts} "sdl-${type}"
elif opengl_client ; then
emake ${opts} "cl-${type}"
fi
if use dedicated ; then
emake ${opts} "sv-${type}"
fi
}
src_install() {
if opengl_client || use sdl ; then
local type=glx
use sdl && type=sdl
# darkplaces executable is needed, even just for demo
newbin "${PN}-${type}" ${PN}
newicon darkplaces72x72.png ${PN}.png
if use demo ; then
# Install command-line for demo, even if not desktop entry
make_wrapper ${PN}-demo "${PN} -game demo"
fi
if use demo && ! use cdinstall ; then
make_desktop_entry ${PN}-demo "Dark Places (Demo)"
else
# Full version takes precedence over demo
make_desktop_entry ${PN} "Dark Places"
fi
fi
if use dedicated ; then
newbin ${PN}-dedicated ${PN}-ded
fi
dodoc *.txt ChangeLog todo "${WORKDIR}"/*.txt
if use lights ; then
insinto "${dir}"/id1
doins -r "${WORKDIR}"/{cubemaps,maps}
if use demo ; then
# Set up symlinks, for the demo levels to include the lights
local d
for d in cubemaps maps ; do
dosym "${dir}/id1/${d}" "${dir}/demo/${d}"
done
fi
fi
}
pkg_postinst() {
if ! use cdinstall && ! use demo ; then
elog "Place pak0.pak and pak1.pak in ${dir}/id1"
fi
if use sdl && ! use alsa ; then
ewarn "Select opengl with alsa, instead of sdl USE flag, for better audio latency."
fi
}
Manage flags for this package:
euse -i <flag> -p games-fps/darkplaces |
euse -E <flag> -p games-fps/darkplaces |
euse -D <flag> -p games-fps/darkplaces
lights? ( || ( app-arch/unrar app-arch/rar ) ) opengl? ( virtual/jpeg:0 media-libs/libogg media-libs/libvorbis virtual/opengl alsa? ( media-libs/alsa-lib ) sdl? ( media-libs/libsdl[joystick] ) x11-libs/libX11 x11-libs/libXpm x11-libs/libXxf86dga x11-libs/libXxf86vm x11-base/xorg-proto ) !opengl? ( sdl? ( ) ) !opengl? ( !sdl? ( !dedicated? ( ) ) )
net-misc/curl cdinstall? ( games-fps/quake1-data ) demo? ( games-fps/quake1-demodata ) textures? ( >=games-fps/quake1-textures-20050820 ) opengl? ( virtual/jpeg:0 media-libs/libogg media-libs/libvorbis virtual/opengl alsa? ( media-libs/alsa-lib ) sdl? ( media-libs/libsdl[joystick] ) x11-libs/libX11 x11-libs/libXpm x11-libs/libXxf86dga x11-libs/libXxf86vm ) !opengl? ( sdl? ( ) ) !opengl? ( !sdl? ( !dedicated? ( ) ) )
app-arch/unzip virtual/pkgconfig
| Type | File | Size | Source URLs |
|---|---|---|---|
| DIST | fuhquake-lits.rar | 8388829 bytes | http://www.fuhquake.net/files/extras/fuhquake-lits.rar |
| DIST | id1.pk3 | 350470 bytes | http://www.kgbsyndicate.com/romi/id1.pk3 |