diff options
Diffstat (limited to 'games-fps')
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 +} |