1 # Copyright 1999-2018 Gentoo Foundation
2 # Distributed under the terms of the GNU General Public License v2
6 inherit desktop flag-o-matic gnome2-utils toolchain-funcs versionator
8 # 2.5.0 requires several patches
9 COMMIT="8b4533e85fdc0665889ff285e1521432084ee784"
11 # UFO:AI v2.5.0 was uploaded to SourceForge as 2.5
12 DIST_VERSION=$(get_version_component_range 1-2)
14 # Install game data here
15 DATADIR="/usr/share/${PN}"
17 DESCRIPTION="UFO: Alien Invasion - X-COM inspired strategy game"
18 HOMEPAGE="https://ufoai.org/"
20 https://dev.gentoo.org/~chewi/distfiles/${PN}-code-${COMMIT}.zip
21 mirror://sourceforge/${PN}/${PN}-${DIST_VERSION}-data.tar
22 editor? ( mirror://sourceforge/${PN}/${PN}-${DIST_VERSION}-mappack.tar.bz2 )
25 # https://ufoai.org/licenses/
26 LICENSE="GPL-2 GPL-3 public-domain CC-BY-3.0 CC-BY-SA-3.0 MIT"
28 KEYWORDS="~amd64 ~x86"
29 IUSE="+client cpu_flags_x86_sse debug editor server"
30 REQUIRED_USE="|| ( client editor server )"
39 media-libs/libsdl2[joystick,opengl,sound,threads,video]
54 media-libs/libsdl2[joystick,opengl,sound,threads,video]
62 x11-libs/gtksourceview:2.0
66 media-libs/libsdl2[threads]
77 S="${WORKDIR}/${PN}-code-${COMMIT}"
78 PATCHES=( "${FILESDIR}"/${P}-install.patch )
81 use editor && unpack ${PN}-${DIST_VERSION}-mappack.tar.bz2
82 unpack ${PN}-code-${COMMIT}.zip
84 unpack ${PN}-${DIST_VERSION}-data.tar
90 # Make the build system a bit happier, will be fixed upstream
91 mkdir -p base/{maps,models} contrib/installer/mojosetup/scripts || die
95 # Avoid noise, will be present in 2.6
96 append-cxxflags -Wno-expansion-to-defined
98 # The configure script of UFO:AI is hand crafted and a bit special
99 # econf does not work: "invalid option --build=x86_64-pc-linux-gnu"
101 --prefix="${EPREFIX}"/usr
102 --datadir="${EPREFIX}${DATADIR}"
103 --libdir="${EPREFIX}"/usr/$(get_libdir)/${PN}
104 --localedir="${EPREFIX}"/usr/share/locale
105 --disable-dependency-tracking
111 $(use_enable cpu_flags_x86_sse sse)
112 $(use_enable !debug release)
113 $(use_enable server ufoded)
114 $(use_enable client ufo)
115 $(use_enable editor uforadiant)
116 $(use_enable editor ufo2map)
119 if use client || use server; then
120 config+=( --enable-game )
122 config+=( --disable-game )
125 echo ./configure "${config[@]}"
127 CC=$(tc-getCC) CXX=$(tc-getCXX) \
128 ./configure "${config[@]}" || die "configure failed"
136 newicon -s 32 src/ports/linux/ufo.png ${PN}.png
137 emake install Q= DESTDIR="${D}"
141 make_desktop_entry ufo "UFO: Alien Invasion" ${PN}
145 doman debian/ufoded.6
146 make_desktop_entry ufoded "UFO: Alien Invasion Server" ${PN} "Game;StrategyGame" "Terminal=true"
150 doman debian/ufo{2map,radiant}.6
151 make_desktop_entry uforadiant "UFO: Alien Invasion Map editor" ${PN}
153 # Install map editor data (without the binary)
154 rm radiant/uforadiant || die
158 # Install map sources
159 insinto "${DATADIR}"/base/maps
160 doins -r "${WORKDIR}"/${PN}-${DIST_VERSION}-mappack/*
164 pkg_preinst() { gnome2_icon_savelist; }
165 pkg_postinst() { gnome2_icon_cache_update; }
166 pkg_postrm() { gnome2_icon_cache_update; }