guru/games-fps/etlegacy/etlegacy-2.82.0.ebuild
Lucio Sauer d6ae7d0c07
games-*/*: fix variable order
I manually went through some entries for `pkgcheck scan -c
VariableOrderCheck`.

Misc updates:
UnusedEclassesCheck
RESTRICT+=" .." -> RESTRICT=".."

Signed-off-by: Lucio Sauer <watermanpaint@posteo.net>
Signed-off-by: Julien Roy <julien@jroy.ca>
2024-05-13 18:18:20 -04:00

157 lines
4.0 KiB
Bash

# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake unpacker xdg
# We need the game files from the original enemy-territory release
ET_RELEASE="et260b"
DESCRIPTION="Wolfenstein: Enemy Territory 2.60b compatible client/server"
HOMEPAGE="https://www.etlegacy.com/"
SRC_URI="https://cdn.splashdamage.com/downloads/games/wet/${ET_RELEASE}.x86_full.zip"
S="${WORKDIR}/${P/_rc/rc}"
if [[ ${PV} = "9999" ]]; then
inherit git-r3
EGIT_REPO_URI="git://github.com/${PN}/${PN}.git"
else
SRC_URI+=" https://github.com/${PN}/${PN}/archive/v${PV/_rc/rc}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~amd64 ~x86"
fi
LICENSE="GPL-3 RTCW-ETEULA"
SLOT="0"
IUSE="autoupdate +curl dedicated +freetype +gettext ipv6 irc +lua omnibot +openal +opengl +png renderer2 renderer-gles +ssl +theora +vorbis"
#REQUIRED_USE="omnibot? ( x86 )"
RESTRICT="bindist mirror"
# TODO add debug use for CMAKE_BUILD_TYPE=debug
LUADEPEND="lua? ( >=dev-lang/lua-5.4:* )"
# * media-libs/glew | media-libs/glew:=
# * media-libs/libpng:= <
# * > media-libs/libogg
# * media-libs/openal <
# * sys-devel/gettext <
UIDEPEND="
media-libs/glew:=
media-libs/libsdl2[sound,video,X]
media-libs/libogg
media-libs/libjpeg-turbo:0
virtual/opengl
sys-libs/zlib:=[minizip]
curl? ( net-misc/curl )
freetype? ( media-libs/freetype )
gettext? ( sys-devel/gettext )
renderer-gles? ( media-libs/mesa[gles1] )
openal? ( media-libs/openal )
png? ( media-libs/libpng:0= )
ssl? ( dev-libs/openssl:0= )
theora? ( media-libs/libtheora )
vorbis? ( media-libs/libvorbis )
${LUADEPEND}
"
DEPEND="
dev-db/sqlite:3
dev-libs/cJSON
opengl? ( ${UIDEPEND} )
"
RDEPEND="${DEPEND}"
BDEPEND="$(unpacker_src_uri_depends)"
#QA_TEXTRELS="usr/share/games/etlegacy/legacy/omni-bot/omnibot_et.so"
src_unpack() {
if [[ "${PV}" = 9999 ]] ; then
git-r3_src_unpack
else
default
fi
mkdir et && cd et || die
unzip "${DISTDIR}"/${ET_RELEASE}.x86_full.zip
unpack_makeself ${ET_RELEASE}.x86_keygen_V03.run
}
src_prepare() {
cmake_src_prepare
# if [[ "${PV}" != 9999 ]] ; then
# sed -e "/^set(ETLEGACY_VERSION_MINOR/s@[[:digit:]]\+@$(ver_cut 2)@" \
# -i cmake/ETLVersion.cmake || die
# fi
sed -e 's@[-_]dirty@@' -i cmake/ETLVersion.cmake || die
}
src_configure() {
mycmakeargs=(
# path and build type
#-DCMAKE_BUILD_TYPE="Release"
-DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr"
-DINSTALL_DEFAULT_BASEDIR="/usr/share/${PN}"
-DINSTALL_DEFAULT_BINDIR="/usr/bin"
-DINSTALL_DEFAULT_MODDIR="/usr/share/${PN}"
-DCMAKE_LIBRARY_PATH="/usr/$(get_libdir)"
-DCMAKE_INCLUDE_PATH="/usr/include"
-DDOCDIR="${EPREFIX}/usr/share/doc/${PF}"
-DCROSS_COMPILE32="0"
# what to build
-DBUILD_CLIENT="$(usex opengl)"
-DBUILD_MOD="1"
-DBUILD_MOD_PK3="1"
-DBUILD_SERVER="$(usex dedicated)"
# no bundled libs
-DBUNDLED_LIBS="0"
-DBUNDLED_LIBS_DEFAULT="0"
#-DBUNDLED_SDL="0"
#-DBUNDLED_CURL="0"
#-DBUNDLED_JPEG="0"
#-DBUNDLED_LUA="0"
#-DBUNDLED_OGG_VORBIS="0"
#-DBUNDLED_GLEW="0"
#-DBUNDLED_FREETYPE="0"
# features
-DFEATURE_CURL="$(usex curl)"
-DFEATURE_SSL="$(usex ssl)"
-DFEATURE_OGG_VORBIS="$(usex vorbis)"
-DFEATURE_THEORA="$(usex theora)"
-DFEATURE_OPENAL="$(usex openal)"
-DFEATURE_FREETYPE="$(usex freetype)"
-DFEATURE_PNG="$(usex png)"
-DFEATURE_LUA="$(usex lua)"
-DFEATURE_IRC_CLIENT="$(usex irc)"
-DFEATURE_IPV6="$(usex ipv6)"
-DFEATURE_GETTEXT="$(usex gettext)"
-DFEATURE_ANTICHEAT="1"
-DFEATURE_AUTOUPDATE="$(usex autoupdate)"
# renderers
-DFEATURE_RENDERER2="$(usex renderer2 ON OFF)"
-DFEATURE_RENDERER_GLES="$(usex renderer-gles)"
-DFEATURE_OMNIBOT="$(usex omnibot)"
-DINSTALL_OMNIBOT="$(usex omnibot)"
-DINSTALL_GEOIP="0"
-DINSTALL_WOLFADMIN="0"
)
cmake_src_configure
}
src_install() {
cmake_src_install
local arch=$(uname -m || die "Failed to detect architecture")
insinto /usr/share/etlegacy/legacy
doins "${BUILD_DIR}"/legacy/ui.mp.${arch}.so
# Install the game files
insinto /usr/share/etlegacy/etmain
doins "${WORKDIR}"/et/etmain/pak[012].pk3
}