summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'games-fps')
-rw-r--r--games-fps/urbanterror/Manifest1
-rw-r--r--games-fps/urbanterror/files/urbanterror-4.3.4_p20180708-fix-build_system.patch94
-rw-r--r--games-fps/urbanterror/urbanterror-4.3.4_p20180708.ebuild169
3 files changed, 264 insertions, 0 deletions
diff --git a/games-fps/urbanterror/Manifest b/games-fps/urbanterror/Manifest
index d52c2c83a4bb..d5f6b196cf1e 100644
--- a/games-fps/urbanterror/Manifest
+++ b/games-fps/urbanterror/Manifest
@@ -1 +1,2 @@
DIST urbanterror-4.3.4_p20180627.tar.gz 10069715 BLAKE2B 179a952d51448af39636560e71c33dba8491fa195dd29d149f3d87d11ca2efff9a50041cdb585df9944361cfef8ac2b9efd2967cb6ffeeceb553fbc6aa17b218 SHA512 8eb314143fb336ff32d5b4a97075e54d5577570f1193c2220648ba7866373c8aa158015efebcb8325ade7964f4622baff8a30d89e889f64141d748bba28712ef
+DIST urbanterror-4.3.4_p20180708.tar.gz 6177724 BLAKE2B 36439a1facc83a6151f0f6f28351bd56c196822832abbbab885312a216593b65a359187560c962caf2923b69f5519b17fe901a88c03f61ac576b6998a51ab227 SHA512 97c36d9ebcb4b915d077bb944808f45e88e0f544e6d0261f1e97e5a4bb33f3fd4120cf73d9463ea8da16848e4acb18218afe4042f00d9f759e7481b3e7aecd58
diff --git a/games-fps/urbanterror/files/urbanterror-4.3.4_p20180708-fix-build_system.patch b/games-fps/urbanterror/files/urbanterror-4.3.4_p20180708-fix-build_system.patch
new file mode 100644
index 000000000000..fddd8df5bf37
--- /dev/null
+++ b/games-fps/urbanterror/files/urbanterror-4.3.4_p20180708-fix-build_system.patch
@@ -0,0 +1,94 @@
+Author: Nils Freydank <holgersson@posteo.de>
+Date: Fri Nov 17 20:30:00 2017 +0100
+
+Respect CFLAGS, CPPFLAGS etc. This patch is inspired
+by hasufell’s patch.
+
+Edit 2018-03-19: Now with server support!
+Edit 2018-09-01: Update to take Makefile changes into account.
+
+--- a/Makefile 2018-07-08 11:00:00.000000000 +0200
++++ b/Makefile 2018-09-01 11:00:00.000000001 +0200
+@@ -308,34 +308,33 @@
+ CLIENT_EXTRA_FILES=
+
+ ifneq (,$(findstring "$(PLATFORM)", "linux" "gnu_kfreebsd" "kfreebsd-gnu" "gnu"))
+- BASE_CFLAGS = -Wall -fno-strict-aliasing -Wimplicit -Wstrict-prototypes \
+- -pipe -DUSE_ICON -DARCH_STRING=\\\"$(ARCH)\\\"
++ BASE_CFLAGS = -DUSE_ICON -DARCH_STRING=\\\"$(ARCH)\\\"
+ CLIENT_CFLAGS += $(SDL_CFLAGS)
+
+- OPTIMIZEVM = -O3
+- OPTIMIZE = $(OPTIMIZEVM) -ffast-math
++ OPTIMIZEVM =
++ OPTIMIZE = $(OPTIMIZEVM)
+
+ ifeq ($(ARCH),x86_64)
+- OPTIMIZEVM = -O3
+- OPTIMIZE = $(OPTIMIZEVM) -ffast-math
++ OPTIMIZEVM =
++ OPTIMIZE = $(OPTIMIZEVM)
+ HAVE_VM_COMPILED = true
+ else
+ ifeq ($(ARCH),x86)
+- OPTIMIZEVM = -O3 -march=i586
+- OPTIMIZE = $(OPTIMIZEVM) -ffast-math
++ OPTIMIZEVM =
++ OPTIMIZE = $(OPTIMIZEVM)
+ HAVE_VM_COMPILED=true
+ else
+ ifeq ($(ARCH),ppc)
+- ALTIVEC_CFLAGS = -maltivec
++ ALTIVEC_CFLAGS =
+ HAVE_VM_COMPILED=true
+ endif
+ ifeq ($(ARCH),ppc64)
+- ALTIVEC_CFLAGS = -maltivec
++ ALTIVEC_CFLAGS =
+ HAVE_VM_COMPILED=true
+ endif
+ ifeq ($(ARCH),sparc)
+- OPTIMIZE += -mtune=ultrasparc3 -mv8plus
+- OPTIMIZEVM += -mtune=ultrasparc3 -mv8plus
++ OPTIMIZE +=
++ OPTIMIZEVM +=
+ HAVE_VM_COMPILED=true
+ endif
+ ifeq ($(ARCH),armv7l)
+@@ -1143,7 +1142,7 @@
+
+ define DO_CC
+ $(echo_cmd) "CC $<"
+-$(Q)$(CC) $(NOTSHLIBCFLAGS) $(CFLAGS) $(CLIENT_CFLAGS) $(OPTIMIZE) -o $@ -c $<
++$(Q)$(CC) $(NOTSHLIBCFLAGS) $(CFLAGS) $(CPPFLAGS) $(CLIENT_CFLAGS) $(OPTIMIZE) -o $@ -c $<
+ endef
+
+ define DO_CC_ALTIVEC
+@@ -1153,7 +1152,7 @@
+
+ define DO_REF_CC
+ $(echo_cmd) "REF_CC $<"
+-$(Q)$(CC) $(SHLIBCFLAGS) $(CFLAGS) $(CLIENT_CFLAGS) $(OPTIMIZE) -o $@ -c $<
++$(Q)$(CC) $(SHLIBCFLAGS) $(CFLAGS) $(CPPFLAGS) $(CLIENT_CFLAGS) $(OPTIMIZE) -o $@ -c $<
+ endef
+
+ define DO_REF_CC_ALTIVEC
+@@ -1171,7 +1170,7 @@
+
+ define DO_BOT_CC
+ $(echo_cmd) "BOT_CC $<"
+-$(Q)$(CC) $(NOTSHLIBCFLAGS) $(CFLAGS) $(BOTCFLAGS) $(OPTIMIZE) -DBOTLIB -o $@ -c $<
++$(Q)$(CC) $(NOTSHLIBCFLAGS) $(CFLAGS) $(CPPFLAGS) $(BOTCFLAGS) $(OPTIMIZE) -DBOTLIB -o $@ -c $<
+ endef
+
+ ifeq ($(GENERATE_DEPENDENCIES),1)
+@@ -1185,7 +1184,7 @@
+
+ define DO_DED_CC
+ $(echo_cmd) "DED_CC $<"
+-$(Q)$(CC) $(NOTSHLIBCFLAGS) -DDEDICATED $(CFLAGS) $(SERVER_CFLAGS) $(OPTIMIZE) -o $@ -c $<
++$(Q)$(CC) $(NOTSHLIBCFLAGS) -DDEDICATED $(CFLAGS) $(CPPFLAGS) $(SERVER_CFLAGS) $(OPTIMIZE) -o $@ -c $<
+ endef
+
+ define DO_WINDRES
+
diff --git a/games-fps/urbanterror/urbanterror-4.3.4_p20180708.ebuild b/games-fps/urbanterror/urbanterror-4.3.4_p20180708.ebuild
new file mode 100644
index 000000000000..2eed0405afcc
--- /dev/null
+++ b/games-fps/urbanterror/urbanterror-4.3.4_p20180708.ebuild
@@ -0,0 +1,169 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+inherit desktop flag-o-matic toolchain-funcs xdg-utils
+
+DESCRIPTION="Hollywood tactical shooter based on the ioquake3 engine"
+HOMEPAGE="https://urbanterror.info https://github.com/mickael9/ioq3"
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/mickael9/ioq3.git"
+ EGIT_BRANCH="urt"
+else
+ COMMIT_ID="167cb6b611ad27f30787a2fe204a7c65ec1fa18e"
+ SRC_URI="https://github.com/mickael9/ioq3/archive/${COMMIT_ID}.tar.gz -> ${P}.tar.gz"
+ S="${WORKDIR}/ioq3-${COMMIT_ID}"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="+altgamma +client +curl debug mumble openal +opus server +skeetshootmod voip vorbis"
+REQUIRED_USE="|| ( client server )
+ voip? ( opus )"
+
+DOCS=( ChangeLog README.md README.ioq3.md md4-readme.txt )
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-4.3.4_p20180708-fix-build_system.patch
+)
+
+RDEPEND="
+ client? (
+ media-libs/libsdl2:=[X,sound,joystick,opengl,video]
+ mumble? ( media-sound/mumble:= )
+ openal? ( media-libs/openal:= )
+ opus? ( media-libs/opusfile:= )
+ vorbis? ( media-libs/libvorbis:= )
+ )
+ curl? ( net-misc/curl )
+ ~games-fps/urbanterror-data-4.3.4
+ sys-libs/zlib:=[minizip]
+ virtual/jpeg:0
+"
+
+DEPEND="${RDEPEND}"
+
+pkg_pretend() {
+ if use client; then
+ if ! use openal && ! use opus && ! use vorbis; then
+ ewarn
+ ewarn "No sound implementation selected. Enable 'openal', 'opus' or 'vorbis' USE flag to get sound!"
+ fi
+ fi
+}
+
+src_configure() {
+ default
+
+ tc-export CC
+}
+
+src_compile() {
+ # Workaround for used zlib macro, which got renamed in Gentoo
+ # wrt bug #449510
+ append-cppflags "-DOF=_Z_OF"
+
+ local myemakeargs=(
+ ARCH=$(usex amd64 "x86_64" "i686" )
+ DEFAULT_BASEDIR="/usr/share/urbanterror"
+ BUILD_CLIENT=$(usex "client" 1 0)
+ BUILD_SERVER=$(usex "server" 1 0)
+ BUILD_BASEGAME=1
+ BUILD_MISSIONPACK=0
+ BUILD_GAME_SO=0
+ BUILD_GAME_QVM=0
+ BUILD_STANDALONE=1
+ SERVERBIN="Quake3-UrT-Ded"
+ CLIENTBIN="Quake3-UrT"
+ USE_RENDERER_DLOPEN=0
+ USE_YACC=0
+ BASEGAME="q3ut4"
+ BASEGAME_CFLAGS="${CFLAGS}"
+ USE_OPENAL=$(usex "openal" 1 0)
+ USE_OPENAL_DLOPEN=$(usex "openal" 1 0)
+ USE_CURL=$(usex "curl" 1 0)
+ USE_CURL_DLOPEN=$(usex "curl" 1 0)
+ USE_CODEC_VORBIS=$(usex "vorbis" 1 0)
+ USE_CODEC_OPUS=$(usex "opus" 1 0)
+ USE_MUMBLE=$(usex "mumble" 1 0)
+ USE_SKEETMOD=$(usex "skeetshootmod" 1 0)
+ USE_VOIP=$(usex "mumble" 1 0)
+ USE_INTERNAL_LIBS=0
+ USE_LOCAL_HEADERS=0
+ USE_ALTGAMMA=$(usex "altgamma" 1 0)
+ $(usex "debug" "debug" "release")
+ )
+ emake "${myemakeargs[@]}"
+}
+
+src_install() {
+ local myarch=$(usex amd64 "x86_64" "i386")
+ local myreleasetype=$(usex debug "debug" "release")
+
+ if use client; then
+ newbin build/${myreleasetype}-linux-${myarch}/Quake3-UrT.${myarch} ${PN}
+ # Shooter as defined in https://specifications.freedesktop.org/menu-spec/latest/apas02.html
+ make_desktop_entry ${PN} "UrbanTerror" ${PN}
+ fi
+
+ if use server && ! use client; then
+ # dedicated server only
+ newbin build/${myreleasetype}-linux-${myarch}/Quake3-UrT-Ded.${myarch} ${PN}-ded
+ fi
+
+ einstalldocs
+}
+
+pkg_postinst() {
+ use client && xdg_desktop_database_update
+
+ if [[ -z "${REPLACING_VERSIONS}" ]]; then
+ # ^this is a new installation, so:
+ if use openal; then
+ elog ""
+ elog "You might need to set:"
+ elog " seta s_useopenal \"1\""
+ elog "in your ~/.q3a/q3ut4/q3config.cfg for openal to work."
+ fi
+
+ if use altgamma; then
+ elog ""
+ elog "You might need to set:"
+ elog " seta r_altgamma \"1\""
+ elog "in your ~/.q3a/q3ut4/q3config.cfg for altgamma to work."
+ elog "Be aware that altgamme works on a global scale, so external"
+ elog "applications like redshift can cause trouble. Disabling"
+ elog "these while playing is a usable workaround."
+ fi
+
+ if ! use altgamma; then
+ elog ""
+ elog "If you are using a modesetting graphics driver you might"
+ elog "consider setting USE=\"altgamma\"."
+ elog "For details take a look at:"
+ elog "https://bugs.freedesktop.org/show_bug.cgi?id=27222"
+ fi
+
+ if ! use client; then
+ elog ""
+ elog "You disabled client support. You won't be able to connect"
+ elog "to any servers and play. If you want to do so, enable"
+ elog "USE=\"client\"."
+ fi
+
+ if use skeetshootmod; then
+ elog ""
+ elog "You might need to set:"
+ elog " seta sv_skeetshoot \"1\""
+ elog "in your ~/.q3a/q3ut4/q3config.cfg to use the skeetshoot mod."
+ fi
+ fi
+}
+
+pkg_postrm() {
+ use client && xdg_desktop_database_update
+}