summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--games-strategy/freeciv/Manifest1
-rw-r--r--games-strategy/freeciv/freeciv-2.5.1.ebuild178
2 files changed, 179 insertions, 0 deletions
diff --git a/games-strategy/freeciv/Manifest b/games-strategy/freeciv/Manifest
index e10ca61e156a..02605447a62f 100644
--- a/games-strategy/freeciv/Manifest
+++ b/games-strategy/freeciv/Manifest
@@ -1,2 +1,3 @@
DIST freeciv-2.4.4.tar.bz2 38847925 SHA256 8307fc9d69571b031ccc465e8029d8a7ea3dbef4e3651f2de07356aba931e2a3 SHA512 3f2ff619b21c36748a98bda98c923ec9ea71faf18cac77d8b247e4a79c4a8f41c9b399e648a0a51fe54738de3276081c31ded98f769104812125d304716796a7 WHIRLPOOL 0eb8374ad2d7174dab8971c39c0ce7f14e72c1c7a64dfa8461a054a53d2b659af71197bad7c65e65e3e5da4fd5552bfb10aa2fa8b9870c9b1fbd7e03c58c9c00
DIST freeciv-2.5.0.tar.bz2 40323793 SHA256 bd9f7523ea79b8d2806d0c1844a9f48506ccd18276330580319913c43051210b SHA512 f03bafdca47da0677ad81ed945afe79bbd01ae871b95e6bdaf6249acb8420e78e3210dd60f520d960ec127e1d443f45c11fcc484b49b6bb59cab5904e51fc651 WHIRLPOOL 1a9768837b40c6c19ff6138d07074d96d75d2cecdb671180659d9380beb7c996fcb0be2fb343166fe46e92cc2c2e7495be2683f62440540cea3072f34e928391
+DIST freeciv-2.5.1.tar.bz2 40686265 SHA256 4e420a9ad91aa7966039ec3b63501725c8261a4ff734d56fe801414fae772696 SHA512 c0f5df3df7bab9ad8e9e7ce75ea90a539ca7e6aafb0af2b57a3d30b095e30f3b093e66bd8b92524e0e19919e0f5d4b822946219bf270e6071102db56290119b8 WHIRLPOOL 1773d56801316afae6ab470b1b1fdf71b42bd42ff0f7ede62b28c5ef7abcd0af36887401937a028b4a9a2e19f994389ef5f63c0395545ebcb367ff2089e2fd55
diff --git a/games-strategy/freeciv/freeciv-2.5.1.ebuild b/games-strategy/freeciv/freeciv-2.5.1.ebuild
new file mode 100644
index 000000000000..1b4d6aa918f0
--- /dev/null
+++ b/games-strategy/freeciv/freeciv-2.5.1.ebuild
@@ -0,0 +1,178 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils gnome2-utils games
+
+DESCRIPTION="multiplayer strategy game (Civilization Clone)"
+HOMEPAGE="http://www.freeciv.org/"
+SRC_URI="mirror://sourceforge/freeciv/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
+IUSE="auth aimodules dedicated +gtk ipv6 mapimg modpack mysql nls qt5 readline sdl +server +sound sqlite system-lua"
+
+# postgres isn't yet really supported by upstream
+RDEPEND="app-arch/bzip2
+ app-arch/xz-utils
+ net-misc/curl
+ sys-libs/zlib
+ auth? (
+ mysql? ( virtual/mysql )
+ sqlite? ( dev-db/sqlite:3 )
+ !mysql? ( ( !sqlite? ( virtual/mysql ) ) )
+ )
+ readline? ( sys-libs/readline:0 )
+ dedicated? ( aimodules? ( dev-libs/libltdl:0 ) )
+ !dedicated? (
+ media-libs/libpng:0
+ gtk? ( x11-libs/gtk+:2 )
+ mapimg? ( media-gfx/imagemagick )
+ modpack? ( x11-libs/gtk+:2 )
+ nls? ( virtual/libintl )
+ qt5? (
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtwidgets:5
+ )
+ sdl? (
+ media-libs/libsdl[video]
+ media-libs/sdl-gfx
+ media-libs/sdl-image[png]
+ media-libs/sdl-ttf
+ )
+ server? ( aimodules? ( sys-devel/libtool:2 ) )
+ sound? (
+ media-libs/libsdl[sound]
+ media-libs/sdl-mixer[vorbis]
+ )
+ !sdl? ( !gtk? ( x11-libs/gtk+:2 ) )
+ )
+ system-lua? ( >=dev-lang/lua-5.2 )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ !dedicated? (
+ x11-proto/xextproto
+ nls? ( sys-devel/gettext )
+ )"
+
+pkg_setup() {
+ if use !dedicated && use !server ; then
+ ewarn "Disabling server USE flag will make it impossible"
+ ewarn "to start local games, but you will still be able to"
+ ewarn "join multiplayer games."
+ fi
+ games_pkg_setup
+}
+
+src_prepare() {
+
+ # install the .desktop in /usr/share/applications
+ # install the icons in /usr/share/pixmaps
+ sed -i \
+ -e 's:^.*\(desktopfiledir = \).*:\1/usr/share/applications:' \
+ -e 's:^\(icon[0-9]*dir = \)$(prefix)\(.*\):\1/usr\2:' \
+ -e 's:^\(icon[0-9]*dir = \)$(datadir)\(.*\):\1/usr/share\2:' \
+ client/Makefile.in \
+ server/Makefile.in \
+ tools/Makefile.in \
+ data/icons/Makefile.in || die
+ sed -i -e 's/=SDL/=X-SDL/' bootstrap/freeciv-sdl.desktop.in || die
+}
+
+src_configure() {
+ local myclient myopts mydatabase
+
+ if use auth ; then
+ if use !mysql && use !sqlite ; then
+ einfo "No database backend chosen, defaulting"
+ einfo "to mysql!"
+ mydatabase=mysql
+ else
+ use mysql && mydatabase="${mydatabase} mysql"
+ use sqlite && mydatabase="${mydatabase} sqlite3"
+ fi
+ else
+ mydatabase=no
+ fi
+
+ if use dedicated ; then
+ myclient="no"
+ myopts="--enable-server"
+ else
+ if use !sdl && use !gtk && ! use qt5 ; then
+ einfo "No client backend given, defaulting to"
+ einfo "gtk2 client!"
+ myclient="gtk2"
+ else
+ use sdl && myclient+=" sdl"
+ use gtk && myclient+=" gtk2"
+ use qt5 && myclient+=" qt"
+ fi
+ myopts="$(use_enable server) --without-ggz-client"
+ fi
+
+ # disabling shared libs will break aimodules USE flag
+ egamesconf \
+ --docdir="/usr/share/doc/${P}" \
+ --localedir=/usr/share/locale \
+ $(use_enable ipv6) \
+ $(use_enable mapimg) \
+ --enable-aimodules="$(usex aimodules "yes" "no")" \
+ --enable-shared \
+ --enable-fcdb="${mydatabase}" \
+ $(use_enable nls) \
+ $(use_with readline) \
+ $(use_enable sound sdl-mixer) \
+ --enable-fcmp="$(usex modpack "gtk2" "no")" \
+ $(use_enable system-lua sys-lua) \
+ ${myopts} \
+ --enable-client="${myclient}"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ if use dedicated ; then
+ rm -rf "${D}/usr/share/pixmaps"
+ rm -f "${D}"/usr/share/man/man6/freeciv-{client,gtk2,gtk3,modpack,qt,sdl,xaw}*
+ else
+ if use server ; then
+ # Create and install the html manual. It can't be done for dedicated
+ # servers, because the 'freeciv-manual' tool is then not built. Also
+ # delete freeciv-manual from the GAMES_BINDIR, because it's useless.
+ # Note: to have it localized, it should be ran from _postinst, or
+ # something like that, but then it's a PITA to avoid orphan files...
+ ./tools/freeciv-manual || die
+ dohtml manual*.html
+ fi
+ if use sdl ; then
+ make_desktop_entry freeciv-sdl "Freeciv (SDL)" freeciv-client
+ else
+ rm -f "${D}"/usr/share/man/man6/freeciv-sdl*
+ fi
+ rm -f "${D}"/usr/share/man/man6/freeciv-xaw*
+ fi
+ find "${D}" -name "freeciv-manual*" -delete
+
+ rm -f "${D}$(games_get_libdir)"/*.a
+ prune_libtool_files
+
+ prepgamesdirs
+}
+
+pkg_preinst() {
+ games_pkg_preinst
+ gnome2_icon_savelist
+}
+
+pkg_postinst() {
+ games_pkg_postinst
+ gnome2_icon_cache_update
+}
+
+pkg_postrm() {
+ gnome2_icon_cache_update
+}