diff options
author | James Le Cuirot <chewi@gentoo.org> | 2018-06-05 23:24:18 +0100 |
---|---|---|
committer | James Le Cuirot <chewi@gentoo.org> | 2018-06-06 21:36:28 +0100 |
commit | 43d65c90b2161ef8205f0aaa3dfd3b9bd034f257 (patch) | |
tree | 77c2260366e418c9db636bfa99e4ed256173867f /games-strategy | |
parent | media-libs/libepoxy: 1.5.2 tested on ~amd64-fbsd (diff) | |
download | gentoo-43d65c90b2161ef8205f0aaa3dfd3b9bd034f257.tar.gz gentoo-43d65c90b2161ef8205f0aaa3dfd3b9bd034f257.tar.bz2 gentoo-43d65c90b2161ef8205f0aaa3dfd3b9bd034f257.zip |
games-strategy/ufoai: Rename from ufo-ai and bump to 2.5.0_p20180603
The rename and bump could not be done separately in a safe
manner. Upstream has requested this rename for consistency. They also
kindly provided an ebuild, which I fixed up.
Closes: https://bugs.gentoo.org/515660
Package-Manager: Portage-2.3.40, Repoman-2.3.9
Diffstat (limited to 'games-strategy')
-rw-r--r-- | games-strategy/ufo-ai/Manifest | 3 | ||||
-rw-r--r-- | games-strategy/ufo-ai/files/ufo-ai-2.4-anon.patch | 17 | ||||
-rw-r--r-- | games-strategy/ufo-ai/files/ufo-ai-2.4-locale.patch | 15 | ||||
-rw-r--r-- | games-strategy/ufo-ai/files/ufo-ai-2.4-mathlib.patch | 29 | ||||
-rw-r--r-- | games-strategy/ufo-ai/ufo-ai-2.4.ebuild | 118 | ||||
-rw-r--r-- | games-strategy/ufoai/Manifest | 3 | ||||
-rw-r--r-- | games-strategy/ufoai/files/ufoai-2.5.0_p20180603-install.patch | 37 | ||||
-rw-r--r-- | games-strategy/ufoai/metadata.xml (renamed from games-strategy/ufo-ai/metadata.xml) | 4 | ||||
-rw-r--r-- | games-strategy/ufoai/ufoai-2.5.0_p20180603.ebuild | 166 |
9 files changed, 209 insertions, 183 deletions
diff --git a/games-strategy/ufo-ai/Manifest b/games-strategy/ufo-ai/Manifest deleted file mode 100644 index a8aad92cd1ba..000000000000 --- a/games-strategy/ufo-ai/Manifest +++ /dev/null @@ -1,3 +0,0 @@ -DIST 1maps.pk3 242016 BLAKE2B 8b30fd8d8bcb4f59b1626feb00e71d7a2360ab19a7aade746778f3cf668ae670cb4c61f35847f49df677ac6a8948e496c37da980db5a1c780128c6c75c0d9e15 SHA512 9615b365e590dceb82362e7cd683980e15401a3b5a2b359a33c7ed2a4c51e5328efb352618cc48f46971a2ced1717276b5270ca6bf6d2bc7fc2b2238030eb3ae -DIST ufoai-2.4-data.tar 937062400 BLAKE2B a364058fb06501a93edc23a721849005bdab996b4dab572a102900579db4cfc819d905431f85bd6a3eddc5295996cea8de42b394821f72564fe3bef72a2a4a88 SHA512 471eab2f62cad144fe9966317d48c408fba19de0c33cf7414918b502c723b722af38a025f808848698d9a06ffc10fb0faac145dd01dcd3d321547c87da1c6246 -DIST ufoai-2.4-source.tar.bz2 16875353 BLAKE2B 67da8274733810eeece2fce69d49685433dfca766e8f8e03717f9828cfdd3b0f002c4b0d0402b667b1262a9d1deaeadf4c31e47eb0fe7fab0d3b62ec6715d9d3 SHA512 3f9d0df7392f50c201464c81e42435f860df97d5d7a2ef53bb9a05d2b2fc645a1130baaf16fc34818b88bb07b8cf83283f7479d685cbd3caf80ea7522e13c56f diff --git a/games-strategy/ufo-ai/files/ufo-ai-2.4-anon.patch b/games-strategy/ufo-ai/files/ufo-ai-2.4-anon.patch deleted file mode 100644 index 53f07261bb7e..000000000000 --- a/games-strategy/ufo-ai/files/ufo-ai-2.4-anon.patch +++ /dev/null @@ -1,17 +0,0 @@ ---- src/tools/radiant/radiant/camera/CameraSettings.h.old 2014-10-22 08:30:35.690248415 +0200 -+++ src/tools/radiant/radiant/camera/CameraSettings.h 2014-10-22 08:31:12.329900302 +0200 -@@ -16,13 +16,13 @@ - const std::string RKEY_ENABLE_FARCLIP = "user/ui/camera/enableCubicClipping"; - const std::string RKEY_DRAWMODE = "user/ui/camera/drawMode"; - const std::string RKEY_SOLID_SELECTION_BOXES = "user/ui/xyview/solidSelectionBoxes"; -+} - - enum CameraDrawMode - { - drawWire, drawSolid, drawTexture - }; - --} - /* greebo: This is the home of all the camera settings. As this class derives - * from a RegistryKeyObserver, it can be connected to the according registry keys - * and gets notified if any of the observed keys are changed.*/ diff --git a/games-strategy/ufo-ai/files/ufo-ai-2.4-locale.patch b/games-strategy/ufo-ai/files/ufo-ai-2.4-locale.patch deleted file mode 100644 index 632e0d4fdc0d..000000000000 --- a/games-strategy/ufo-ai/files/ufo-ai-2.4-locale.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff -urN ufoai-2.4-source.old//src/client/cl_main.c ufoai-2.4-source/src/client/cl_main.c ---- ufoai-2.4-source.old//src/client/cl_main.c 2012-05-01 10:59:51.720868619 +0200 -+++ ufoai-2.4-source/src/client/cl_main.c 2012-05-01 11:00:57.235869759 +0200 -@@ -1180,7 +1180,11 @@ - if (fs_i18ndir->string[0] != '\0') - Q_strncpyz(languagePath, fs_i18ndir->string, sizeof(languagePath)); - else -+#ifdef LOCALEDIR -+ Q_strncpyz(languagePath, LOCALEDIR, sizeof(languagePath)); -+#else - Com_sprintf(languagePath, sizeof(languagePath), "%s/"BASEDIRNAME"/i18n/", FS_GetCwd()); -+#endif - Com_DPrintf(DEBUG_CLIENT, "...using mo files from %s\n", languagePath); - bindtextdomain(TEXT_DOMAIN, languagePath); - bind_textdomain_codeset(TEXT_DOMAIN, "UTF-8"); diff --git a/games-strategy/ufo-ai/files/ufo-ai-2.4-mathlib.patch b/games-strategy/ufo-ai/files/ufo-ai-2.4-mathlib.patch deleted file mode 100644 index 72fd81038fb6..000000000000 --- a/games-strategy/ufo-ai/files/ufo-ai-2.4-mathlib.patch +++ /dev/null @@ -1,29 +0,0 @@ -http://bugs.gentoo.org/509928 - -src/common/common.c:261: error: undefined reference to 'sincos' -src/shared/mathlib.c:476: error: undefined reference to '__acosf_finite' -[ ... snip ... ] -collect2: error: ld returned 1 exit status - ---- build/modules/ufo.mk -+++ build/modules/ufo.mk -@@ -9,7 +9,7 @@ - $(TARGET)_LINKER := $(CC) - $(TARGET)_FILE := $(TARGET)$(EXE_EXT) - $(TARGET)_CFLAGS += -DCOMPILE_UFO $(BFD_CFLAGS) $(SDL_CFLAGS) $(SDL_TTF_CFLAGS) $(SDL_MIXER_CFLAGS) $(CURL_CFLAGS) $(THEORA_CFLAGS) $(XVID_CFLAGS) $(VORBIS_CFLAGS) $(OGG_CFLAGS) $(MXML_CFLAGS) --$(TARGET)_LDFLAGS += -lpng -ljpeg $(BFD_LIBS) $(INTL_LIBS) $(SDL_TTF_LIBS) $(SDL_MIXER_LIBS) $(OPENGL_LIBS) $(SDL_LIBS) $(CURL_LIBS) $(THEORA_LIBS) $(XVID_LIBS) $(VORBIS_LIBS) $(OGG_LIBS) $(MXML_LIBS) $(SO_LIBS) -lz -+$(TARGET)_LDFLAGS += -lpng -ljpeg $(BFD_LIBS) $(INTL_LIBS) $(SDL_TTF_LIBS) $(SDL_MIXER_LIBS) $(OPENGL_LIBS) $(SDL_LIBS) $(CURL_LIBS) $(THEORA_LIBS) $(XVID_LIBS) $(VORBIS_LIBS) $(OGG_LIBS) $(MXML_LIBS) $(SO_LIBS) -lz -lm - - $(TARGET)_SRCS = \ - client/cl_console.c \ ---- build/modules/testall.mk -+++ build/modules/testall.mk -@@ -9,7 +9,7 @@ - $(TARGET)_LINKER := $(CC) - $(TARGET)_FILE := $(TARGET)$(EXE_EXT) - $(TARGET)_CFLAGS += -DCOMPILE_UFO -DHARD_LINKED_GAME -DCOMPILE_UNITTESTS $(BFD_CFLAGS) $(SDL_CFLAGS) $(CURL_CFLAGS) $(OGG_CFLAGS) $(MXML_CFLAGS) --$(TARGET)_LDFLAGS += -lcunit -lpng -ljpeg $(BFD_LIBS) $(INTL_LIBS) $(SDL_TTF_LIBS) $(SDL_MIXER_LIBS) $(OPENGL_LIBS) $(SDL_LIBS) $(CURL_LIBS) $(THEORA_LIBS) $(XVID_LIBS) $(VORBIS_LIBS) $(OGG_LIBS) $(MXML_LIBS) $(SO_LIBS) -lz -+$(TARGET)_LDFLAGS += -lcunit -lpng -ljpeg $(BFD_LIBS) $(INTL_LIBS) $(SDL_TTF_LIBS) $(SDL_MIXER_LIBS) $(OPENGL_LIBS) $(SDL_LIBS) $(CURL_LIBS) $(THEORA_LIBS) $(XVID_LIBS) $(VORBIS_LIBS) $(OGG_LIBS) $(MXML_LIBS) $(SO_LIBS) -lz -lm - - $(TARGET)_SRCS = \ - tests/test_all.c \ diff --git a/games-strategy/ufo-ai/ufo-ai-2.4.ebuild b/games-strategy/ufo-ai/ufo-ai-2.4.ebuild deleted file mode 100644 index 57907a66571c..000000000000 --- a/games-strategy/ufo-ai/ufo-ai-2.4.ebuild +++ /dev/null @@ -1,118 +0,0 @@ -# Copyright 1999-2015 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=5 -inherit eutils flag-o-matic games - -MY_P=${P/o-a/oa} - -DESCRIPTION="UFO: Alien Invasion - X-COM inspired strategy game" -HOMEPAGE="http://ufoai.sourceforge.net/" -SRC_URI="mirror://sourceforge/ufoai/${MY_P}-source.tar.bz2 - mirror://sourceforge/ufoai/${MY_P}-data.tar - http://mattn.ninex.info/1maps.pk3" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="debug dedicated editor" - -# Dependencies and more instructions can be found here: -# http://ufoai.ninex.info/wiki/index.php/Compile_for_Linux -DEPEND="!dedicated? ( - virtual/opengl - virtual/glu - media-libs/libsdl - media-libs/sdl-image[jpeg,png] - media-libs/sdl-ttf - media-libs/sdl-mixer - virtual/jpeg - media-libs/libpng:0 - media-libs/libogg - media-libs/libvorbis - x11-proto/xf86vidmodeproto - ) - net-misc/curl - sys-devel/gettext - sys-libs/zlib - editor? ( - dev-libs/libxml2 - virtual/jpeg - media-libs/openal - x11-libs/gtkglext - x11-libs/gtksourceview:2.0 - )" - -S=${WORKDIR}/${MY_P}-source - -src_prepare() { - if has_version '>=sys-libs/zlib-1.2.5.1-r1' ; then - sed -i -e '1i#define OF(x) x' src/common/ioapi.h || die - fi - - # don't try to use the system mini-xml - sed -i -e '/mxml/d' configure || die - - epatch \ - "${FILESDIR}"/${P}-mathlib.patch \ - "${FILESDIR}"/${P}-anon.patch \ - "${FILESDIR}"/${P}-locale.patch - - cp "${DISTDIR}"/1maps.pk3 "${WORKDIR}"/base/ || die - mv "${WORKDIR}"/base/ "${S}"/ || die -} - -src_configure() { - # they are special and provide hand batched configure file - local myconf=" - --disable-dependency-tracking - $(use_enable !debug release) - $(use_enable editor ufo2map) - $(use_enable editor uforadiant) - --enable-ufoded - --bindir="${GAMES_BINDIR}" - --libdir="$(games_get_libdir)" - --datadir="${GAMES_DATADIR}/${PN/-}" - --localedir="${EPREFIX}/usr/share/locale/" - --prefix="${GAMES_PREFIX}" - " - echo "./configure ${myconf}" - ./configure ${myconf} || die -} - -src_compile() { - emake - emake lang - - if use editor; then - emake uforadiant - fi -} - -src_install() { - newicon src/ports/linux/ufo.png ${PN}.png - dobin ufoded - make_desktop_entry ufoded "UFO: Alien Invasion Server" ${PN} - if ! use dedicated; then - dobin ufo - make_desktop_entry ufo "UFO: Alien Invasion" ${PN} - fi - - if use editor; then - dobin ufo2map ufomodel - fi - - # install data - insinto "${GAMES_DATADIR}"/${PN/-} - doins -r base - rm -rf "${ED}/${GAMES_DATADIR}/${PN/-}/base/game.so" - dogameslib base/game.so - - # move translations where they belong - dodir "${GAMES_DATADIR_BASE}/locale" - mv "${ED}/${GAMES_DATADIR}/${PN/-}/base/i18n/"* \ - "${ED}/${GAMES_DATADIR_BASE}/locale/" || die - rm -rf "${ED}/${GAMES_DATADIR}/${PN/-}/base/i18n/" || die - - prepgamesdirs -} diff --git a/games-strategy/ufoai/Manifest b/games-strategy/ufoai/Manifest new file mode 100644 index 000000000000..2ee133e7a40b --- /dev/null +++ b/games-strategy/ufoai/Manifest @@ -0,0 +1,3 @@ +DIST ufoai-2.5-data.tar 1277143040 BLAKE2B 20795ec6ebc976087f28fd0e912190bd9094494cc1b206bcc8e1956dec148cb7ab96f244db22e4836b91c0ecfae794cd206296e898015453d8ad6625d4e4ab32 SHA512 9a7be359c82cd633db657c8619cb488b5d41b9f93cd10bdeffd5896d8a1ba3bb828b5969acd14c2a69abb3f53f18113af4ca19435aea80ded94d8df68b11deec +DIST ufoai-2.5-mappack.tar.bz2 12200150 BLAKE2B d20f96f74a4b71a4ff55e4e3f81380ee35a71c6e34d35e6300487c916f2d836e240428e8f8529cca13d46ccd5440e7f59d5bfe5f451a2cd84469f8f1e85dc796 SHA512 0f44cc3d99ceb80f91e5df0f7cbd57ce3170f5635feb082c002ab9a0f4f81216b05c346c698475c33e88f97032186f4620bad71d02bfa95ecb5c5d4f68c71994 +DIST ufoai-code-8b4533e85fdc0665889ff285e1521432084ee784.zip 33194032 BLAKE2B caebfe5ca0eaa6376659d4aa69132c29aa4af870135a769af3541bd919164d79ab9dfe8007a40bb95507a443f6f1d968bb85b1befe8b6999f9033a0d74d7a7fb SHA512 825ca6f8ac76a3a60746ac1be4406445dd18bab80372c21c2ddfcf4d999db8549614df41386e94197013bb7b4b342ac6d9be8c969b5e1be79e8ee25cf45719c6 diff --git a/games-strategy/ufoai/files/ufoai-2.5.0_p20180603-install.patch b/games-strategy/ufoai/files/ufoai-2.5.0_p20180603-install.patch new file mode 100644 index 000000000000..5c92f433e279 --- /dev/null +++ b/games-strategy/ufoai/files/ufoai-2.5.0_p20180603-install.patch @@ -0,0 +1,37 @@ +* Prevent stripping +* Prevent installation of useless wrappers +* Install binaries to the right locations + +Chewi +2018/06/05 + +diff -Naur a/Makefile b/Makefile +--- a/Makefile 2018-06-03 21:55:40.000000000 +0100 ++++ b/Makefile 2018-06-05 22:29:08.666944853 +0100 +@@ -33,8 +33,8 @@ + CONFIGURE_PREFIX ?= + + INSTALL ?= install +-INSTALL_PROGRAM ?= $(INSTALL) -m 755 -s +-INSTALL_SCRIPT ?= $(INSTALL) -m 755 ++INSTALL_PROGRAM ?= $(INSTALL) -m 755 ++INSTALL_SCRIPT ?= true + INSTALL_DIR ?= $(INSTALL) -d + INSTALL_MAN ?= $(INSTALL) -m 444 + INSTALL_DATA ?= $(INSTALL) -m 444 +@@ -162,8 +162,13 @@ + + install-$(1): $($(1)_FILE) + @echo 'Install $$<' +- $(Q)$(INSTALL_DIR) $(DESTDIR)$(PKGDATADIR)/$(dir $($(1)_FILE)) +- $(Q)$(INSTALL_PROGRAM) $$< $(DESTDIR)$(PKGDATADIR)/$$< ++ $(Q)$(INSTALL_DIR) $(DESTDIR)$(PKGBINDIR)/ ++ $(Q)$(INSTALL_PROGRAM) $$< $(DESTDIR)$(PKGBINDIR)/ ++ ++install-game: $(game_FILE) ++ @echo 'Install $$<' ++ $(Q)$(INSTALL_DIR) $(DESTDIR)$(PKGLIBDIR)/ ++ $(Q)$(INSTALL_PROGRAM) $$< $(DESTDIR)$(PKGLIBDIR)/$(notdir $(game_FILE)) + + uninstall-$(1): + @echo 'Uninstall $($(1)_FILE)' diff --git a/games-strategy/ufo-ai/metadata.xml b/games-strategy/ufoai/metadata.xml index 21d773f531ac..916e44355c73 100644 --- a/games-strategy/ufo-ai/metadata.xml +++ b/games-strategy/ufoai/metadata.xml @@ -6,7 +6,9 @@ <name>Gentoo Games Project</name> </maintainer> <use> - <flag name="editor">Build map editor</flag> + <flag name="client">Build the main game client</flag> + <flag name="editor">Build the map editor and compiler</flag> + <flag name="server">Build the dedicated server</flag> </use> <upstream> <remote-id type="sourceforge">ufoai</remote-id> diff --git a/games-strategy/ufoai/ufoai-2.5.0_p20180603.ebuild b/games-strategy/ufoai/ufoai-2.5.0_p20180603.ebuild new file mode 100644 index 000000000000..4377af8d986e --- /dev/null +++ b/games-strategy/ufoai/ufoai-2.5.0_p20180603.ebuild @@ -0,0 +1,166 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit desktop flag-o-matic gnome2-utils toolchain-funcs versionator + +# 2.5.0 requires several patches +COMMIT="8b4533e85fdc0665889ff285e1521432084ee784" + +# UFO:AI v2.5.0 was uploaded to SourceForge as 2.5 +DIST_VERSION=$(get_version_component_range 1-2) + +# Install game data here +DATADIR="/usr/share/${PN}" + +DESCRIPTION="UFO: Alien Invasion - X-COM inspired strategy game" +HOMEPAGE="https://ufoai.org/" +SRC_URI=" + https://sourceforge.net/code-snapshots/git/${PN:0:1}/${PN:0:2}/${PN}/code.git/${PN}-code-${COMMIT}.zip + mirror://sourceforge/${PN}/${PN}-${DIST_VERSION}-data.tar + editor? ( mirror://sourceforge/${PN}/${PN}-${DIST_VERSION}-mappack.tar.bz2 ) +" + +# https://ufoai.org/licenses/ +LICENSE="GPL-2 GPL-3 public-domain CC-BY-3.0 CC-BY-SA-3.0 MIT" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="+client cpu_flags_x86_sse debug editor server" +REQUIRED_USE="|| ( client editor server )" + +RDEPEND=" + net-misc/curl + sys-libs/zlib + + client? ( + media-libs/libogg + media-libs/libpng:0= + media-libs/libsdl2[joystick,opengl,sound,threads,video] + media-libs/libtheora + media-libs/libvorbis + media-libs/sdl2-mixer + media-libs/sdl2-ttf + media-libs/xvid + virtual/jpeg:0 + virtual/opengl + ) + + editor? ( + dev-libs/glib:2 + dev-libs/libxml2:2 + media-libs/libogg + media-libs/libpng:0= + media-libs/libsdl2[joystick,opengl,sound,threads,video] + media-libs/libvorbis + media-libs/openal + virtual/glu + virtual/jpeg:0 + x11-libs/gdk-pixbuf:2 + x11-libs/gtk+:2 + x11-libs/gtkglext + x11-libs/gtksourceview:2.0 + ) + + server? ( + media-libs/libsdl2[threads] + ) +" + +DEPEND=" + ${RDEPEND} + app-arch/unzip + sys-devel/gettext + virtual/pkgconfig +" + +S="${WORKDIR}/${PN}-code-${COMMIT}" +PATCHES=( "${FILESDIR}"/${P}-install.patch ) + +src_unpack() { + use editor && unpack ${PN}-${DIST_VERSION}-mappack.tar.bz2 + unpack ${PN}-code-${COMMIT}.zip + cd "${S}" || die + unpack ${PN}-${DIST_VERSION}-data.tar +} + +src_prepare() { + default + + # Make the build system a bit happier, will be fixed upstream + mkdir -p base/{maps,models} contrib/installer/mojosetup/scripts || die +} + +src_configure() { + # Avoid noise, will be present in 2.6 + append-cxxflags -Wno-expansion-to-defined + + # The configure script of UFO:AI is hand crafted and a bit special + # econf does not work: "invalid option --build=x86_64-pc-linux-gnu" + local config=( + --prefix="${EPREFIX}"/usr + --datadir="${EPREFIX}${DATADIR}" + --libdir="${EPREFIX}"/usr/$(get_libdir)/${PN} + --localedir="${EPREFIX}"/usr/share/locale + --disable-dependency-tracking + --disable-paranoid + --disable-memory + --disable-testall + --disable-ufomodel + --disable-ufoslicer + $(use_enable cpu_flags_x86_sse sse) + $(use_enable !debug release) + $(use_enable server ufoded) + $(use_enable client ufo) + $(use_enable editor uforadiant) + $(use_enable editor ufo2map) + ) + + if use client || use server; then + config+=( --enable-game ) + else + config+=( --disable-game ) + fi + + echo ./configure "${config[@]}" + + CC=$(tc-getCC) CXX=$(tc-getCXX) \ + ./configure "${config[@]}" || die "configure failed" +} + +src_compile() { + emake all lang Q= +} + +src_install() { + newicon -s 32 src/ports/linux/ufo.png ${PN}.png + emake install Q= DESTDIR="${D}" + + if use client; then + doman debian/ufo.6 + make_desktop_entry ufo "UFO: Alien Invasion" ${PN} + fi + + if use server; then + doman debian/ufoded.6 + make_desktop_entry ufoded "UFO: Alien Invasion Server" ${PN} "Game;StrategyGame" "Terminal=true" + fi + + if use editor; then + doman debian/ufo{2map,radiant}.6 + make_desktop_entry uforadiant "UFO: Alien Invasion Map editor" ${PN} + + # Install map editor data (without the binary) + rm radiant/uforadiant || die + insinto "${DATADIR}" + doins -r radiant + + # Install map sources + insinto "${DATADIR}"/base/maps + doins -r "${WORKDIR}"/${PN}-${DIST_VERSION}-mappack/* + fi +} + +pkg_preinst() { gnome2_icon_savelist; } +pkg_postinst() { gnome2_icon_cache_update; } +pkg_postrm() { gnome2_icon_cache_update; } |