From d684b080797d1c00bf231379dbdde3732de2775b Mon Sep 17 00:00:00 2001 From: Kolan Sh Date: Mon, 19 Mar 2018 14:43:47 +0300 Subject: [PATCH] UrbanTerror 4.3.3 with -DOF=_Z_OF fix added (need for server build). --- games-fps/urbanterror/Manifest | 4 +- .../urbanterror-4.3-fix-build_system.patch | 73 ++++++++ ...urbanterror-4.3.3_p20180218-fix-loop.patch | 59 ++++++ .../urbanterror/urbanterror-4.3.2.ebuild | 154 ---------------- .../urbanterror-4.3.3_p20180218.ebuild | 168 ++++++++++++++++++ 5 files changed, 301 insertions(+), 157 deletions(-) create mode 100644 games-fps/urbanterror/files/urbanterror-4.3-fix-build_system.patch create mode 100644 games-fps/urbanterror/files/urbanterror-4.3.3_p20180218-fix-loop.patch delete mode 100644 games-fps/urbanterror/urbanterror-4.3.2.ebuild create mode 100644 games-fps/urbanterror/urbanterror-4.3.3_p20180218.ebuild diff --git a/games-fps/urbanterror/Manifest b/games-fps/urbanterror/Manifest index fcee583e..48912a5d 100644 --- a/games-fps/urbanterror/Manifest +++ b/games-fps/urbanterror/Manifest @@ -1,3 +1 @@ -DIST UrbanTerror432_full.zip 1469432087 SHA256 74dee1566fa6cd0eb26d866149a1b6ad7e8f18a653693f02790c05ef7ce352a4 SHA512 6611fd9c6309a95e479015764b082934f072a17394764491d8b025ab0eb977954807cc942ca5bd54bc9cfa512850e0f4d3994c94e91eb27eeffbde805a749d2a WHIRLPOOL bf96a9d9bcddf20cde906dd7358e6125ecd88e9f418227477d5e7fc1ea1a9218de4ff663f9ceee985f8470540b249b6703d4c51f6c3a25a5bd954232cf8641bd -DIST urbanterror-4.3.2.tar.gz 11775787 SHA256 811acb0dcb903509c56cdc056b3d2a66e4359b23ba4a68f56f0ea1452109cefb SHA512 eec497ce91ec891be5e675fcc46306b7b4a7a2ec52ba76c0deb90fc8c894105c44cb8eabb77d985d564fc1233361d50917e571925e0e1645045cd6c5a5fbb9b4 WHIRLPOOL 5f3912e4d0cd01dc28e7656f6b281b90fa9982c6ac89027dab68f171a9c9631ad0760c5f63b285a58a2beacce696370c144c000d1394b7515c6cc7456eba06ff -DIST urbanterror.svg 1560 SHA256 52e9baeef448ca71fb3b549c29e9ba53c70dbe40f1e5920207881dcaa5671ac3 SHA512 7a8c1fd48949fed31b6051d9cd3d325e5b3a50a4e9b7e1e32552dba0f64cc20c59443a43bb8144500660913d78e719c4015e12e93b480f3e6a50c6566f816557 WHIRLPOOL 90e6e92b496b9bd1e275f6345d20e711305f4003eab6a28712092575f78471e63f01d97fd34baa0c832557791c2c714eeca13a1eda499deca95e354a06e24d55 +DIST urbanterror-4.3.3_p20180218.tar.gz 10069644 SHA256 2f97ba0bd1fdd0a953f5888c9d385102f206336de417aa3cccff5884af52ce60 SHA512 e7f433b9971f5992efedee96123fe7c7665b6c7fa4a516df281e1f3635a9d56a653310e38f326a8e53640ed0a7d8e3bf6b44c08d70b8378d1ccdd75c05b31dc8 WHIRLPOOL 3b2cd8b46f611d2d8b61a8befae003fa795d3cea9650f0a72d83453ac84e7c58bb890a1b5f59b3bcf8c6cf21a0ef1e627db854155470dd026fe4a9b48cfd69c0 diff --git a/games-fps/urbanterror/files/urbanterror-4.3-fix-build_system.patch b/games-fps/urbanterror/files/urbanterror-4.3-fix-build_system.patch new file mode 100644 index 00000000..b7a24a1b --- /dev/null +++ b/games-fps/urbanterror/files/urbanterror-4.3-fix-build_system.patch @@ -0,0 +1,73 @@ +Author: Nils Freydank +Date: Fri Nov 17 20:30:00 2017 +0100 + +Respect CFLAGS, CPPFLAGS etc. This patch is inspired +by hasufell’s patch. + +--- a/Makefile 2017-03-31 11:08:58.419210817 +0200 ++++ b/Makefile 2017-11-17 20:30:00.000000000 +0100 +@@ -223,7 +223,7 @@ + ifndef USE_ALTGAMMA + # Clearskies - X11-based gamma for Linux + USE_ALTGAMMA=1 +-endif ++ endif + + ifndef USE_SKEETMOD + USE_SKEETMOD=0 +@@ -306,34 +306,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) +- BASE_CFLAGS += -maltivec ++ BASE_CFLAGS += + HAVE_VM_COMPILED=true + endif + ifeq ($(ARCH),ppc64) +- BASE_CFLAGS += -maltivec ++ BASE_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) +@@ -1124,7 +1123,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_REF_CC + diff --git a/games-fps/urbanterror/files/urbanterror-4.3.3_p20180218-fix-loop.patch b/games-fps/urbanterror/files/urbanterror-4.3.3_p20180218-fix-loop.patch new file mode 100644 index 00000000..c34ebe84 --- /dev/null +++ b/games-fps/urbanterror/files/urbanterror-4.3.3_p20180218-fix-loop.patch @@ -0,0 +1,59 @@ +Author: Nils Freydank +Date: Wed Mar 14 21:00:00 2017 +0100 + +Imported patch written by Tom Murphy via github.com: + +https://github.com/ioquake/ioq3/pull/356 + +diff --git a/code/sys/con_tty.c b/code/sys/con_tty.c +index 2c2b595cf..58f178ade 100644 +--- a/code/sys/con_tty.c ++++ b/code/sys/con_tty.c +@@ -73,20 +73,6 @@ static int hist_current = -1, hist_count = 0; + #define TTY_CONSOLE_PROMPT "]" + #endif + +-/* +-================== +-CON_FlushIn +- +-Flush stdin, I suspect some terminals are sending a LOT of shit +-FIXME relevant? +-================== +-*/ +-static void CON_FlushIn( void ) +-{ +- char key; +- while (read(STDIN_FILENO, &key, 1)!=-1); +-} +- + /* + ================== + CON_Back +@@ -441,7 +427,7 @@ char *CON_Input( void ) + TTY_con = *history; + CON_Show(); + } +- CON_FlushIn(); ++ tcflush(STDIN_FILENO, TCIFLUSH); + return NULL; + break; + case 'B': +@@ -455,7 +441,7 @@ char *CON_Input( void ) + Field_Clear(&TTY_con); + } + CON_Show(); +- CON_FlushIn(); ++ tcflush(STDIN_FILENO, TCIFLUSH); + return NULL; + break; + case 'C': +@@ -467,7 +453,7 @@ char *CON_Input( void ) + } + } + Com_DPrintf("droping ISCTL sequence: %d, TTY_erase: %d\n", key, TTY_erase); +- CON_FlushIn(); ++ tcflush(STDIN_FILENO, TCIFLUSH); + return NULL; + } + if (TTY_con.cursor >= sizeof(text) - 1) diff --git a/games-fps/urbanterror/urbanterror-4.3.2.ebuild b/games-fps/urbanterror/urbanterror-4.3.2.ebuild deleted file mode 100644 index c98a8838..00000000 --- a/games-fps/urbanterror/urbanterror-4.3.2.ebuild +++ /dev/null @@ -1,154 +0,0 @@ -# Copyright 1999-2016 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ - -EAPI=5 -inherit check-reqs eutils gnome2-utils pax-utils games - -ENGINE_PV=${PV} -FULL_P=UrbanTerror432_full -UPDATE_PV=${PV:0:3}.${FULL_P#*full} -DESCRIPTION="Hollywood tactical shooter based on the ioquake3 engine" -HOMEPAGE="http://www.urbanterror.info/home/" -SRC_URI="http://up.barbatos.fr/urt/${FULL_P}.zip - https://github.com/Barbatos/ioq3-for-UrbanTerror-4/archive/release-${ENGINE_PV}.tar.gz -> ${PN}-${ENGINE_PV}.tar.gz - https://upload.wikimedia.org/wikipedia/commons/5/56/Urbanterror.svg -> ${PN}.svg" - -# fetch updates -if [[ ${FULL_P#*full} != ${PV#*.} ]] ; then - UPDATE_I=${UPDATE_PV:5:2} - while [[ ${UPDATE_I} -lt ${PV:5:2} ]] ; do - SRC_URI="${SRC_URI} http://up.barbatos.fr/urt/UrbanTerror-${PV:0:5}${UPDATE_I}-to-${PV:0:5}$(( ${UPDATE_I} + 1)).zip" - UPDATE_I=$(( ${UPDATE_I} + 1)) - done -fi -unset UPDATE_I - -LICENSE="GPL-2 Q3AEULA-20000111 urbanterror-4.2-maps" -SLOT="0" -KEYWORDS="amd64 x86" -IUSE="altgamma client +curl debug dedicated mumble openal pax_kernel opus server smp voip vorbis" -RESTRICT="mirror" - -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/libogg - media-libs/libvorbis - ) - ) - curl? ( net-misc/curl ) - ~games-fps/urbanterror-data-4.3.2 - sys-libs/zlib[minizip] - virtual/jpeg:0 -" - -DEPEND="${RDEPEND}" - -S=${WORKDIR}/ioq3-for-UrbanTerror-4-release-${ENGINE_PV} -S_DATA=${WORKDIR}/UrbanTerror43 - -CHECKREQS_DISK_BUILD="3300M" -CHECKREQS_DISK_USR="1550M" - -pkg_pretend() { - check-reqs_pkg_pretend - - if ! use dedicated ; then - if ! use sdl && ! use openal ; then - ewarn - ewarn "Sound support disabled. Enable 'sdl' or 'openal' useflag." - ewarn - fi - fi -} - -src_unpack() { - local UPDATE_I - default - # apply updates - if [[ ${FULL_P#*full} != ${PV##*.} ]] ; then - UPDATE_I=${UPDATE_PV:5:2} - while [[ ${UPDATE_I} -lt ${PV:5:2} ]] ; do - cp -dRpf \ - "${WORKDIR}"/UrbanTerror-${PV:0:5}${UPDATE_I}-to-${PV:0:5}$((${UPDATE_I} + 1))/* \ - "${S_DATA}"/ || die - UPDATE_I=$(( ${UPDATE_I} + 1)) - done - fi -} - -src_compile() { - buildit() { use $1 && echo 1 || echo 0 ; } - nobuildit() { use $1 && echo 0 || echo 1 ; } - - emake \ - ARCH=$(usex amd64 "x86_64" "i386") \ - DEFAULT_BASEDIR="${GAMES_DATADIR}/${PN}" \ - BUILD_CLIENT=$(nobuildit dedicated) \ - BUILD_CLIENT_SMP=$(usex smp "$(nobuildit dedicated)" "0") \ - BUILD_SERVER=$(usex dedicated "1" "$(buildit server)") \ - USE_OPENAL=$(buildit openal) \ - USE_OPENAL_DLOPEN=0 \ - USE_CURL=$(buildit curl) \ - USE_CURL_DLOPEN=0 \ - USE_CODEC_VORBIS=$(buildit vorbis) \ - USE_ALTGAMMA=$(buildit altgamma) \ - USE_LOCAL_HEADERS=0 \ - Q="" \ - $(usex debug "debug" "release") -} - -src_install() { - local my_arch=$(usex amd64 "x86_64" "i386") - - dodoc ChangeLog README md4-readme.txt - dodoc "${S_DATA}"/q3ut4/readme43.txt - insinto "${GAMES_DATADIR}"/${PN}/q3ut4 - doins "${S_DATA}"/q3ut4/*.pk3 - - if use !dedicated ; then - newgamesbin build/$(usex debug "debug" "release")-linux-${my_arch}/Quake3-UrT$(usex smp "-smp" "").${my_arch} ${PN} - doicon -s scalable "${DISTDIR}"/${PN}.svg - make_desktop_entry ${PN} "UrbanTerror" - fi - - if use dedicated || use server ; then - newgamesbin build/$(usex debug "debug" "release")-linux-${my_arch}/Quake3-UrT-Ded.${my_arch} ${PN}-dedicated - docinto examples - dodoc "${S_DATA}"/q3ut4/{server_example.cfg,mapcycle_example.txt} - fi - - prepgamesdirs - - if use pax_kernel; then - pax-mark m "${D}""${GAMES_BINDIR}"/${PN} || die - fi - -} - -pkg_preinst() { - games_pkg_preinst - use dedicated || gnome2_icon_savelist -} - -pkg_postinst() { - games_pkg_postinst - use dedicated || gnome2_icon_cache_update - - if use openal && ! use dedicated ; then - einfo - elog "You might need to set:" - elog " seta s_useopenal \"1\"" - elog "in your ~/.q3a/q3ut4/q3config.cfg for openal to work." - einfo - fi -} - -pkg_postrm() { - use dedicated || gnome2_icon_cache_update -} diff --git a/games-fps/urbanterror/urbanterror-4.3.3_p20180218.ebuild b/games-fps/urbanterror/urbanterror-4.3.3_p20180218.ebuild new file mode 100644 index 00000000..dc028053 --- /dev/null +++ b/games-fps/urbanterror/urbanterror-4.3.3_p20180218.ebuild @@ -0,0 +1,168 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="6" +inherit eapi7-ver flag-o-matic toolchain-funcs xdg-utils + +DESCRIPTION="Hollywood tactical shooter based on the ioquake3 engine" +HOMEPAGE="http://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="d93f05de38a6cae60fbf0f073aace64b3adc7aaf" + 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-fix-build_system.patch + "${FILESDIR}"/${PN}-4.3.3_p20180218-fix-loop.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.3 + 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" + append-cflags "-DOF=_Z_OF" + + local my_arch=$(usex amd64 "x86_64" "i386") + + emake \ + ARCH=${my_arch} \ + 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") +} + +src_install() { + local my_arch=$(usex amd64 "x86_64" "i386") + + if use client; then + newbin build/$(usex debug "debug" "release")-linux-${my_arch}/Quake3-UrT.${my_arch} ${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/$(usex debug "debug" "release")-linux-${my_arch}/Quake3-UrT-Ded.${my_arch} ${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 +}