summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Le Cuirot <chewi@gentoo.org>2018-06-05 23:24:18 +0100
committerJames Le Cuirot <chewi@gentoo.org>2018-06-06 21:36:28 +0100
commit43d65c90b2161ef8205f0aaa3dfd3b9bd034f257 (patch)
tree77c2260366e418c9db636bfa99e4ed256173867f /games-strategy/ufoai
parentmedia-libs/libepoxy: 1.5.2 tested on ~amd64-fbsd (diff)
downloadgentoo-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/Manifest3
-rw-r--r--games-strategy/ufoai/files/ufoai-2.5.0_p20180603-install.patch37
-rw-r--r--games-strategy/ufoai/metadata.xml16
-rw-r--r--games-strategy/ufoai/ufoai-2.5.0_p20180603.ebuild166
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; }