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/ufoai | |
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/ufoai')
-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 | 16 | ||||
-rw-r--r-- | games-strategy/ufoai/ufoai-2.5.0_p20180603.ebuild | 166 |
4 files changed, 222 insertions, 0 deletions
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/ufoai/metadata.xml b/games-strategy/ufoai/metadata.xml new file mode 100644 index 000000000000..916e44355c73 --- /dev/null +++ b/games-strategy/ufoai/metadata.xml @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>games@gentoo.org</email> + <name>Gentoo Games Project</name> + </maintainer> + <use> + <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> + </upstream> +</pkgmetadata> 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; } |