From e49a4d5a43b67789d8b402bad0310afe22fb4f36 Mon Sep 17 00:00:00 2001 From: "Nils \"holgersson\" Freydank" Date: Fri, 31 Mar 2017 14:26:37 +0200 Subject: [PATCH] [games-fps/urbanterror{,-data}] New ebuild using the main ioQ3 engine. --- games-fps/urbanterror-data/Manifest | 4 + games-fps/urbanterror-data/metadata.xml | 16 +++ .../urbanterror-data-4.3.2.ebuild | 64 +++++++++ .../urbanterror-9999-respect_CFLAGS.patch | 53 +++++++ games-fps/urbanterror/metadata.xml | 26 ++++ games-fps/urbanterror/urbanterror-9999.ebuild | 130 ++++++++++++++++++ 6 files changed, 293 insertions(+) create mode 100644 games-fps/urbanterror-data/Manifest create mode 100644 games-fps/urbanterror-data/metadata.xml create mode 100644 games-fps/urbanterror-data/urbanterror-data-4.3.2.ebuild create mode 100644 games-fps/urbanterror/files/urbanterror-9999-respect_CFLAGS.patch create mode 100644 games-fps/urbanterror/metadata.xml create mode 100644 games-fps/urbanterror/urbanterror-9999.ebuild diff --git a/games-fps/urbanterror-data/Manifest b/games-fps/urbanterror-data/Manifest new file mode 100644 index 0000000..02a1718 --- /dev/null +++ b/games-fps/urbanterror-data/Manifest @@ -0,0 +1,4 @@ +DIST UrbanTerror-4.3.0-to-4.3.1.zip 7495315 SHA256 943fbae28a32f8f7a15eba62eadad646f4640d8d1814e3fb14fac0c50bb513e0 SHA512 f05564babadff73793778926411bc7914bfef4a5f7dfc1003c36e8a549c568ab520adcff8a38e7dd905238738d242aa865e7c6d7db36ed6d592b144e497ed823 WHIRLPOOL b262f51ca35455c013ae5f61e87d5c13a1ac9c5f98eba588398f8ad1db02a9aa505531a08d680770822d57c9df244a532be3ee2cc2dfb224afa8119d5eb5ec45 +DIST UrbanTerror-4.3.1-to-4.3.2.zip 15305498 SHA256 519d212c8766470c2970c75f19e99477a8c2546ca4de78bc28dedce8d2fcabb5 SHA512 cb24939fffef9310c6ca8496d0d4f3be8656685e749ff1d6589fd193990be67ac70494b61ef6a12dd1f6995a78d451b9f09098e03970e82e1e3153ec3f89792c WHIRLPOOL d58d949075a9228d832a67507c30942133a2024c131c0127a263ab1b5a5550576f361565ab8df6ef8b8f3e5f898496fa84b0d845cc47d22f491a04bf88b2623d +DIST UrbanTerror43_full.zip 1491207564 SHA256 60360806aea9bd383d8a95b8586fe8d8690626b130e907f8727845fd192531bc SHA512 397aa5ba7f869049844d52a9dec234d020b856e16ba3ff295d97775e4e1d48730aecfba3992baf7d55c643c0073ceda32ada18d1473dadd55f561f27a8b9c4ed WHIRLPOOL 52782d0d6668589c5353a7e73ae6dd4ec02a02361532c36889a4b5f3c53d740bece8d9f421c6faeb9c720e6b68dbbccf1758cb39f7b82239a6517c7b0451c4a2 +DIST urbanterror-data.svg 1592 SHA256 0d7eb12a8fe8380e0d89199621414dd56ecdfe8a8b99eec5b95d925294521de9 SHA512 ff789b35d9b1a2282485495b0d1918c7169906aeac094e7a33c7d77cd51d4787733400e1b9851ce19b38e886508d5fdd09f6cfc96b37a5b41bd0cf403e456b98 WHIRLPOOL 281413cfeb881466c2d8b882d0aa4dcf19013630a462775345c69e78a0cb86c7efed14f5d22b453c89648da682ab5e98e3579a1c975994a8e90b9fb22c37892c diff --git a/games-fps/urbanterror-data/metadata.xml b/games-fps/urbanterror-data/metadata.xml new file mode 100644 index 0000000..135c067 --- /dev/null +++ b/games-fps/urbanterror-data/metadata.xml @@ -0,0 +1,16 @@ + + + + + holgersson@posteo.de + holgersson + + + games@gentoo.org + Gentoo Games Project + + + proxy-maint@gentoo.org + Proxy Maintainers + + diff --git a/games-fps/urbanterror-data/urbanterror-data-4.3.2.ebuild b/games-fps/urbanterror-data/urbanterror-data-4.3.2.ebuild new file mode 100644 index 0000000..91fde02 --- /dev/null +++ b/games-fps/urbanterror-data/urbanterror-data-4.3.2.ebuild @@ -0,0 +1,64 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +inherit check-reqs eutils + +ENGINE_PV=${PV} + +MY_PN=UrbanTerror +MY_PV=43_full + +DESCRIPTION="Data files for UrbanTerror" +HOMEPAGE="http://www.urbanterror.info/home/" +SRC_URI="https://up.barbatos.fr/urt/${MY_PN}${MY_PV}.zip + https://upload.wikimedia.org/wikipedia/commons/5/56/Urbanterror.svg -> ${PN}.svg" + +# fetch updates recursively for |4.3.x-4.3.0| +if [[ "${PV}" != "4.3.0" ]]; then + MY_CTR=0 + while [[ "${MY_CTR}" -lt "${PV/4.3./}" ]]; do + SRC_URI="${SRC_URI} https://up.barbatos.fr/urt/${MY_PN}-4.3.${MY_CTR}-to-4.3.$(( ${MY_CTR} + 1 )).zip" + MY_CTR=$(( ${MY_CTR} + 1 )) + done +fi +unset MY_CTR + +LICENSE="Q3AEULA-20000111 urbanterror-4.2-maps" +SLOT="0" +KEYWORDS="~amd64 ~x86" +RESTRICT="mirror" +DEPEND="app-arch/unzip" + +S="${WORKDIR}/${MY_PN}43" + +CHECKREQS_DISK_BUILD="3300M" +CHECKREQS_DISK_USR="1400M" + +src_prepare() { + default + local MY_CTR + # apply updates we fetched before + # again recursively for |4.3.x - 4.3.0| + if [[ "${PV}" != "4.3.0" ]]; then + MY_CTR=0 + while [[ "${MY_CTR}" -lt "${PV/4.3./}" ]]; do + cp -dfpr \ + "${WORKDIR}"/${MY_PN}-4.3.${MY_CTR}-to-4.3.$(( ${MY_CTR} + 1 ))/* "${S}" + MY_CTR=$(( ${MY_CTR} + 1 )) + done + fi +} + +src_install() { + newicon -s scalable "${DISTDIR}"/${PN}.svg urbanterror.svg + insinto /usr/share/urbanterror/q3ut4 + doins q3ut4/*.pk3 + # These files are *essential* for startup + newins q3ut4/server_example.cfg server.cfg + newins q3ut4/autoexec_example.cfg autoexec.cfg + + dodoc q3ut4/readme43.txt + docinto examples + dodoc q3ut4/{server_example.cfg,mapcycle_example.txt} +} diff --git a/games-fps/urbanterror/files/urbanterror-9999-respect_CFLAGS.patch b/games-fps/urbanterror/files/urbanterror-9999-respect_CFLAGS.patch new file mode 100644 index 0000000..cac29cd --- /dev/null +++ b/games-fps/urbanterror/files/urbanterror-9999-respect_CFLAGS.patch @@ -0,0 +1,53 @@ +Author: holgersson +Date: Fri Mar 31 12:13:00 2017 +0200 + +Respect CFLAGS - inspired by hasufell’s patch + +--- a/Makefile 2017-03-31 11:08:58.419210817 +0200 ++++ b/Makefile 2017-03-31 12:06:52.559412054 +0200 +@@ -290,34 +290,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) diff --git a/games-fps/urbanterror/metadata.xml b/games-fps/urbanterror/metadata.xml new file mode 100644 index 0000000..3d75b87 --- /dev/null +++ b/games-fps/urbanterror/metadata.xml @@ -0,0 +1,26 @@ + + + + + holgersson@posteo.de + holgersson + + + games@gentoo.org + Gentoo Games Project + + + proxy-maint@gentoo.org + Proxy Maintainers + + + Clearskies - X11-based gamma for Linux + Build only server target - dedicated to hosting a server + Use opus as sound codec + Use Mumble for in-game VoIP (currently not supported by upstream) + Build server target + + + Barbatos/ioq3-for-UrbanTerror-4 + + diff --git a/games-fps/urbanterror/urbanterror-9999.ebuild b/games-fps/urbanterror/urbanterror-9999.ebuild new file mode 100644 index 0000000..b630cba --- /dev/null +++ b/games-fps/urbanterror/urbanterror-9999.ebuild @@ -0,0 +1,130 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +inherit git-r3 + +# TODO: +# unbundle zlib +# set LICENSE only for the engine or for game-data, too in *this* ebuild? +# fix USE="-altgamma" + +DESCRIPTION="Hollywood tactical shooter based on the ioquake3 engine" +HOMEPAGE="http://urbanterror.info" +EGIT_REPO_URI="https://github.com/holgersson32644/ioq3.git" +EGIT_BRANCH="urt" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="" +IUSE="+altgamma +curl debug dedicated mumble openal +opus server +sdl vorbis" +PATCHES=( + "${FILESDIR}"/${P}-respect_CFLAGS.patch +) +RDEPEND=" + !dedicated? ( + virtual/opengl + curl? ( net-misc/curl ) + openal? ( media-libs/openal ) + sdl? ( media-libs/libsdl[X,sound,joystick,opengl,video] ) + !sdl? ( x11-libs/libX11 + x11-libs/libXext + x11-libs/libXxf86dga + x11-libs/libXxf86vm ) + vorbis? ( media-libs/libogg + media-libs/libvorbis ) + opus? ( media-libs/opusfile ) + mumble? ( media-sound/mumble ) + ) + ~games-fps/urbanterror-data-4.3.2" +DEPEND="${RDEPEND} + dedicated? ( curl? ( net-misc/curl ) ) + " + +pkg_pretend() { + if ! use dedicated ; then + if ! use openal && ! use opus && ! use vorbis ; then + ewarn + ewarn "Sound support disabled. Enable 'openal' or 'opus' or 'vorbis' useflag." + ewarn + fi + 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="/usr/share/urbanterror" \ + BUILD_CLIENT=$(nobuildit dedicated) \ + BUILD_SERVER=$(usex dedicated "1" "$(buildit server)") \ + 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_SDL=$(buildit sdl) \ + USE_SDL_DLOPEN=$(buildit sdl) \ + USE_OPENAL=$(buildit openal) \ + USE_OPENAL_DLOPEN=0 \ + USE_CURL=$(buildit curl) \ + USE_CURL_DLOPEN=0 \ + USE_CODEC_VORBIS=$(buildit vorbis) \ + USE_CODEC_OPUS=$(buildit opus) \ + USE_MUMBLE=$(buildit mumble) \ + USE_VOIP=0 \ + USE_INTERNAL_LIBS=0 \ + USE_INTERNAL_ZLIB=1 \ + USE_LOCAL_HEADERS=0 \ + USE_ALTGAMMA=1 +} + +src_install() { + local my_arch=$(usex amd64 "x86_64" "i386") + # docs from ioq3, not from UrbanTerror ZIP file + dodoc ChangeLog README.md README.ioq3.md md4-readme.txt + + if use !dedicated ; 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} Games;Shooter + fi + + if use dedicated || use server ; then + newbin build/$(usex debug "debug" "release")-linux-${my_arch}/Quake3-UrT-Ded.${my_arch} ${PN}-dedicated + fi +} +pkg_preinst() { + use dedicated || gnome2_icon_savelist +} + +pkg_postinst() { + use dedicated || gnome2_icon_cache_update + if [[ -z "${REPLACING_VERSIONS}" ]]; then + # This is a new installation + 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 + if use altgamma ; then + einfo + elog "You might need to set:" + elog " seta r_altgamma \"1\"" + elog "in your ~/.q3a/q3ut4/q3config.cfg for altgamma to work." + fi + fi +} + +pkg_postrm() { + use dedicated || gnome2_icon_cache_update +}