summaryrefslogtreecommitdiff
path: root/games-strategy/freeciv
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
committerV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
commit8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 (patch)
tree7681bbd4e8b05407772df40a4bf04cbbc8afc3fa /games-strategy/freeciv
parent30a9caf154332f12ca60756e1b75d2f0e3e1822d (diff)
gentoo resync : 14.07.2018
Diffstat (limited to 'games-strategy/freeciv')
-rw-r--r--games-strategy/freeciv/Manifest6
-rw-r--r--games-strategy/freeciv/files/freeciv-2.5.11-freetype_pkgconfig.patch229
-rw-r--r--games-strategy/freeciv/freeciv-2.5.11.ebuild183
-rw-r--r--games-strategy/freeciv/freeciv-2.6.0_beta3.ebuild186
-rw-r--r--games-strategy/freeciv/metadata.xml27
5 files changed, 631 insertions, 0 deletions
diff --git a/games-strategy/freeciv/Manifest b/games-strategy/freeciv/Manifest
new file mode 100644
index 000000000000..386f97068f47
--- /dev/null
+++ b/games-strategy/freeciv/Manifest
@@ -0,0 +1,6 @@
+AUX freeciv-2.5.11-freetype_pkgconfig.patch 7770 BLAKE2B 89ee785b4db49eebd2a17d24622728933f9a90c813ea7c5c448efc150d6c9fd1f51ade375e549a45190db08efedeca93ec3c287cff54cf3f7b842a9cd84a14ba SHA512 6aac048569b8b42768832292162dbafceb69b93f6f6419c24e6dedd3a60aee9e059624dbfbf843cea19b1a97370c7e8178ff5a10f199f94665dbabe75e3e81b1
+DIST freeciv-2.5.11.tar.bz2 40940090 BLAKE2B dfc1e714e1a3122335f555c2e57352726bda60dc0d1700b0d8ae937c85cba6beb0b2a6ffa6266b77437934ed85f1740f319c379a10c217161ee147f2339a50d3 SHA512 f5eac2fc2b7e09b9fd3b8b45145a5359f8216aef49050c692893d30584000c7db2f2a6e66ac19e67186e2653efaa0aa7656abefe2d2de25d123e9a52ce604456
+DIST freeciv-2.6.0-beta3.tar.bz2 51761039 BLAKE2B a01e1df80eaa7ab76416190d8c32941e443481b6f7460155f3180548919270bec5bf6efde698931c44d427e17c6347299c0674ed2fc59b5b3c6a8ee5b97c9cf0 SHA512 c8a49ab77d799a65d181632a565d92cd0f9c2cd9fbaa5ce963eddc9abca29ccb9567bc3f731ad80b3f3593dd807c3d702abbe378824e3adef655edb8100711f5
+EBUILD freeciv-2.5.11.ebuild 4569 BLAKE2B 06624aac60d9b6a6ce354f73d22513b429879b15f58d83990abacdb43cece5feff525cd8feaa853867bb0c8038d42b6e00c807c22d998eadd45d455344a63cec SHA512 50ea3f5c7851449554e42485e9b3e45c1483328d9b90c44ee23679a36ba10f7cd2fa84cfc041c2c4aaf9b03f66e53e53dd83d0e89719a3afbd91e221dd369ce3
+EBUILD freeciv-2.6.0_beta3.ebuild 4645 BLAKE2B c9bd80c89361bf855487e92303476fe1d450314baeb860571408a71d87e23c6fde27f6e856da8baccce2f1655007e890a69150e9bf8a227af554004660726648 SHA512 205479dc6f9cc89254e1c1bd80578549a2817d4a3b89b1139469fd5412c81468d8750ce2bd11d43d2bfdbda132d722c2dd49b4b2f2793ff2d17756c31ef2ff53
+MISC metadata.xml 1031 BLAKE2B 1421e4d2e504fbddc337b16cf2dc51af61957e954dc7c1752f537fd90ff1e3869b82c44635887dcd237eac274a5ca8b0d8c2b1cf92dd348a3301c804dd64142d SHA512 cbf6f0e418650f16f4b517895e6e03a9ffb3bdcd66563fab4ec067e6d4df79a1fb13d0cb9b7b314ad274839b430176405a3760e06a7d1f603f3464d1ff2bb201
diff --git a/games-strategy/freeciv/files/freeciv-2.5.11-freetype_pkgconfig.patch b/games-strategy/freeciv/files/freeciv-2.5.11-freetype_pkgconfig.patch
new file mode 100644
index 000000000000..b41411c8a164
--- /dev/null
+++ b/games-strategy/freeciv/files/freeciv-2.5.11-freetype_pkgconfig.patch
@@ -0,0 +1,229 @@
+From fe3eaf658c256a1ee1aac645c004625e9f345421 Mon Sep 17 00:00:00 2001
+From: Lars Wendler <polynomial-c@gentoo.org>
+Date: Wed, 16 May 2018 20:41:22 +0200
+Subject: [PATCH] Use pkg-config to find freetype
+
+As of freetype-2.9.1 the freetype-config script no longer gets installed
+by default.
+---
+ m4/freetype2.m4 | 194 -----------------------------------------------
+ m4/sdl-client.m4 | 2 +-
+ 2 files changed, 1 insertion(+), 195 deletions(-)
+ delete mode 100644 m4/freetype2.m4
+
+diff --git a/m4/freetype2.m4 b/m4/freetype2.m4
+deleted file mode 100644
+index 3d0ecb3554..0000000000
+--- a/m4/freetype2.m4
++++ /dev/null
+@@ -1,194 +0,0 @@
+-# Configure paths for FreeType2
+-# Marcelo Magallon 2001-10-26, based on gtk.m4 by Owen Taylor
+-#
+-# Copyright 2001, 2003, 2007, 2009 by
+-# David Turner, Robert Wilhelm, and Werner Lemberg.
+-#
+-# This file is part of the FreeType project, and may only be used, modified,
+-# and distributed under the terms of the FreeType project license,
+-# LICENSE.TXT. By continuing to use, modify, or distribute this file you
+-# indicate that you have read the license and understand and accept it
+-# fully.
+-#
+-# As a special exception to the FreeType project license, this file may be
+-# distributed as part of a program that contains a configuration script
+-# generated by Autoconf, under the same distribution terms as the rest of
+-# that program.
+-#
+-# serial 3
+-
+-# AC_CHECK_FT2([MINIMUM-VERSION [, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
+-# Test for FreeType 2, and define FT2_CFLAGS and FT2_LIBS.
+-# MINIMUM-VERSION is what libtool reports; the default is `7.0.1' (this is
+-# FreeType 2.0.4).
+-#
+-AC_DEFUN([AC_CHECK_FT2],
+- [# Get the cflags and libraries from the freetype-config script
+- #
+- AC_ARG_WITH([ft-prefix],
+- dnl don't quote AS_HELP_STRING!
+- AS_HELP_STRING([--with-ft-prefix=PREFIX],
+- [Prefix where FreeType is installed (optional)]),
+- [ft_config_prefix="$withval"],
+- [ft_config_prefix=""])
+-
+- AC_ARG_WITH([ft-exec-prefix],
+- dnl don't quote AS_HELP_STRING!
+- AS_HELP_STRING([--with-ft-exec-prefix=PREFIX],
+- [Exec prefix where FreeType is installed (optional)]),
+- [ft_config_exec_prefix="$withval"],
+- [ft_config_exec_prefix=""])
+-
+- AC_ARG_ENABLE([freetypetest],
+- dnl don't quote AS_HELP_STRING!
+- AS_HELP_STRING([--disable-freetypetest],
+- [Do not try to compile and run a test FreeType program]),
+- [],
+- [enable_fttest=yes])
+-
+- if test x$ft_config_exec_prefix != x ; then
+- ft_config_args="$ft_config_args --exec-prefix=$ft_config_exec_prefix"
+- if test x${FT2_CONFIG+set} != xset ; then
+- FT2_CONFIG=$ft_config_exec_prefix/bin/freetype-config
+- fi
+- fi
+-
+- if test x$ft_config_prefix != x ; then
+- ft_config_args="$ft_config_args --prefix=$ft_config_prefix"
+- if test x${FT2_CONFIG+set} != xset ; then
+- FT2_CONFIG=$ft_config_prefix/bin/freetype-config
+- fi
+- fi
+-
+- if test "x$FT2_CONFIG" = x ; then
+- AC_PATH_PROG([FT2_CONFIG], [freetype-config], [no])
+- fi
+-
+- min_ft_version=m4_if([$1], [], [7.0.1], [$1])
+- AC_MSG_CHECKING([for FreeType -- version >= $min_ft_version])
+- no_ft=""
+- if test "$FT2_CONFIG" = "no" ; then
+- no_ft=yes
+- else
+- FT2_CFLAGS=`$FT2_CONFIG $ft_config_args --cflags`
+- FT2_LIBS=`$FT2_CONFIG $ft_config_args --libs`
+- ft_config_major_version=`$FT2_CONFIG $ft_config_args --version | \
+- sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
+- ft_config_minor_version=`$FT2_CONFIG $ft_config_args --version | \
+- sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
+- ft_config_micro_version=`$FT2_CONFIG $ft_config_args --version | \
+- sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
+- ft_min_major_version=`echo $min_ft_version | \
+- sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
+- ft_min_minor_version=`echo $min_ft_version | \
+- sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
+- ft_min_micro_version=`echo $min_ft_version | \
+- sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
+- if test x$enable_fttest = xyes ; then
+- ft_config_is_lt=""
+- if test $ft_config_major_version -lt $ft_min_major_version ; then
+- ft_config_is_lt=yes
+- else
+- if test $ft_config_major_version -eq $ft_min_major_version ; then
+- if test $ft_config_minor_version -lt $ft_min_minor_version ; then
+- ft_config_is_lt=yes
+- else
+- if test $ft_config_minor_version -eq $ft_min_minor_version ; then
+- if test $ft_config_micro_version -lt $ft_min_micro_version ; then
+- ft_config_is_lt=yes
+- fi
+- fi
+- fi
+- fi
+- fi
+- if test x$ft_config_is_lt = xyes ; then
+- no_ft=yes
+- else
+- ac_save_CFLAGS="$CFLAGS"
+- ac_save_LIBS="$LIBS"
+- CFLAGS="$CFLAGS $FT2_CFLAGS"
+- LIBS="$FT2_LIBS $LIBS"
+-
+- #
+- # Sanity checks for the results of freetype-config to some extent.
+- #
+- AC_RUN_IFELSE([
+- AC_LANG_SOURCE([[
+-
+-#include <ft2build.h>
+-#include FT_FREETYPE_H
+-#include <stdio.h>
+-#include <stdlib.h>
+-
+-int
+-main()
+-{
+- FT_Library library;
+- FT_Error error;
+-
+- error = FT_Init_FreeType(&library);
+-
+- if (error)
+- return 1;
+- else
+- {
+- FT_Done_FreeType(library);
+- return 0;
+- }
+-}
+-
+- ]])
+- ],
+- [],
+- [no_ft=yes],
+- [echo $ECHO_N "cross compiling; assuming OK... $ECHO_C"])
+-
+- CFLAGS="$ac_save_CFLAGS"
+- LIBS="$ac_save_LIBS"
+- fi # test $ft_config_version -lt $ft_min_version
+- fi # test x$enable_fttest = xyes
+- fi # test "$FT2_CONFIG" = "no"
+-
+- if test x$no_ft = x ; then
+- AC_MSG_RESULT([yes])
+- m4_if([$2], [], [:], [$2])
+- else
+- AC_MSG_RESULT([no])
+- if test "$FT2_CONFIG" = "no" ; then
+- AC_MSG_WARN([
+-
+- The freetype-config script installed by FreeType 2 could not be found.
+- If FreeType 2 was installed in PREFIX, make sure PREFIX/bin is in
+- your path, or set the FT2_CONFIG environment variable to the
+- full path to freetype-config.
+- ])
+- else
+- if test x$ft_config_is_lt = xyes ; then
+- AC_MSG_WARN([
+-
+- Your installed version of the FreeType 2 library is too old.
+- If you have different versions of FreeType 2, make sure that
+- correct values for --with-ft-prefix or --with-ft-exec-prefix
+- are used, or set the FT2_CONFIG environment variable to the
+- full path to freetype-config.
+- ])
+- else
+- AC_MSG_WARN([
+-
+- The FreeType test program failed to run. If your system uses
+- shared libraries and they are installed outside the normal
+- system library path, make sure the variable LD_LIBRARY_PATH
+- (or whatever is appropriate for your system) is correctly set.
+- ])
+- fi
+- fi
+-
+- FT2_CFLAGS=""
+- FT2_LIBS=""
+- m4_if([$3], [], [:], [$3])
+- fi
+-
+- AC_SUBST([FT2_CFLAGS])
+- AC_SUBST([FT2_LIBS])])
+-
+-# end of freetype2.m4
+diff --git a/m4/sdl-client.m4 b/m4/sdl-client.m4
+index 095cd0b287..015d948d95 100644
+--- a/m4/sdl-client.m4
++++ b/m4/sdl-client.m4
+@@ -30,7 +30,7 @@ AC_DEFUN([FC_SDL_CLIENT],
+ missing_project="SDL_gfx"
+ fi
+ if test "x$sdl_h_found" = "xyes" ; then
+- AC_CHECK_FT2([2.1.3], [freetype_found="yes"], [freetype_found="no"])
++ PKG_CHECK_MODULES(FT2, freetype2 >= 7.0.1, [freetype_found="yes"], [freetype_found="no"])
+ if test "$freetype_found" = yes; then
+ gui_sdl_cflags="$gui_sdl_cflags $FT2_CFLAGS"
+ gui_sdl_libs="$gui_sdl_libs $FT2_LIBS"
+--
+2.17.0
+
diff --git a/games-strategy/freeciv/freeciv-2.5.11.ebuild b/games-strategy/freeciv/freeciv-2.5.11.ebuild
new file mode 100644
index 000000000000..149823db3192
--- /dev/null
+++ b/games-strategy/freeciv/freeciv-2.5.11.ebuild
@@ -0,0 +1,183 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit autotools eutils flag-o-matic gnome2-utils
+
+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 ~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-base/xorg-proto
+ nls? ( sys-devel/gettext )
+ )"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-2.5.11-freetype_pkgconfig.patch"
+)
+
+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
+}
+
+src_prepare() {
+ default
+
+ eautoreconf
+
+ # 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 mydatabase myeconfargs
+
+ 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+=" mysql"
+ use sqlite && mydatabase+=" sqlite3"
+ fi
+ else
+ mydatabase=no
+ fi
+
+ if use dedicated ; then
+ myclient="no"
+ myeconfargs+=( --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"
+ if use qt5 ; then
+ myclient+=" qt"
+ append-cxxflags -std=c++11
+ fi
+ fi
+ myeconfargs+=( $(use_enable server) --without-ggz-client )
+ fi
+
+ myeconfargs+=(
+ --enable-aimodules="$(usex aimodules "yes" "no")"
+ --enable-client="${myclient}"
+ --enable-fcdb="${mydatabase}"
+ --enable-fcmp="$(usex modpack "gtk2" "no")"
+ # disabling shared libs will break aimodules USE flag
+ --enable-shared
+ --localedir=/usr/share/locale
+ $(use_enable ipv6)
+ $(use_enable mapimg)
+ $(use_enable nls)
+ $(use_enable sound sdl-mixer)
+ $(use_enable system-lua sys-lua)
+ $(use_with readline)
+ )
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+
+ if use dedicated ; then
+ rm -rf "${ED%/}/usr/share/pixmaps"
+ rm -f "${ED%/}"/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
+ docinto html
+ dodoc manual*.html
+ fi
+ if use sdl ; then
+ make_desktop_entry freeciv-sdl "Freeciv (SDL)" freeciv-client
+ else
+ rm -f "${ED%/}"/usr/share/man/man6/freeciv-sdl*
+ fi
+ rm -f "${ED%/}"/usr/share/man/man6/freeciv-xaw*
+ fi
+ find "${ED}" -name "freeciv-manual*" -delete
+
+ rm -f "${ED%/}/usr/$(get_libdir)"/*.a
+ prune_libtool_files
+}
+
+pkg_preinst() {
+ gnome2_icon_savelist
+}
+
+pkg_postinst() {
+ gnome2_icon_cache_update
+}
+
+pkg_postrm() {
+ gnome2_icon_cache_update
+}
diff --git a/games-strategy/freeciv/freeciv-2.6.0_beta3.ebuild b/games-strategy/freeciv/freeciv-2.6.0_beta3.ebuild
new file mode 100644
index 000000000000..ceb9ae038ec1
--- /dev/null
+++ b/games-strategy/freeciv/freeciv-2.6.0_beta3.ebuild
@@ -0,0 +1,186 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit flag-o-matic gnome2-utils ltprune xdg-utils
+
+DESCRIPTION="multiplayer strategy game (Civilization Clone)"
+HOMEPAGE="http://www.freeciv.org/"
+SRC_URI="mirror://sourceforge/freeciv/${P/_/-}.tar.bz2"
+
+LICENSE="GPL-2+"
+SLOT="0"
+[[ ${PV} != *_beta* ]] || [[ ${PV} != *_rc* ]] || \
+KEYWORDS="~amd64 ~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/libsdl2[video]
+ media-libs/sdl2-gfx
+ media-libs/sdl2-image[png]
+ media-libs/sdl2-ttf
+ )
+ server? ( aimodules? ( sys-devel/libtool:2 ) )
+ sound? (
+ media-libs/libsdl2[sound]
+ media-libs/sdl2-mixer[vorbis]
+ )
+ !sdl? ( !gtk? ( x11-libs/gtk+:2 ) )
+ )
+ system-lua? ( >=dev-lang/lua-5.3 )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ !dedicated? (
+ x11-base/xorg-proto
+ nls? ( sys-devel/gettext )
+ )"
+
+S="${WORKDIR}/${P/_/-}"
+
+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
+}
+
+src_prepare() {
+ default
+
+ # 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 mydatabase myeconfargs
+
+ 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+=" mysql"
+ use sqlite && mydatabase+=" sqlite3"
+ fi
+ else
+ mydatabase=no
+ fi
+
+ if use dedicated ; then
+ myclient="no"
+ myeconfargs+=(
+ --enable-server
+ --enable-freeciv-manual=html
+ )
+ 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+=" sdl2"
+ use gtk && myclient+=" gtk2"
+ if use qt5 ; then
+ myclient+=" qt"
+ append-cxxflags -std=c++11
+ fi
+ fi
+ myeconfargs+=(
+ $(use_enable server)
+ $(use_enable server freeciv-manual html )
+ )
+ fi
+
+ myeconfargs+=(
+ --enable-aimodules="$(usex aimodules "yes" "no")"
+ --enable-client="${myclient}"
+ --enable-fcdb="${mydatabase}"
+ --enable-fcmp="$(usex modpack "gtk2" "no")"
+ # disabling shared libs will break aimodules USE flag
+ --enable-shared
+ --localedir=/usr/share/locale
+ $(use_enable ipv6)
+ $(use_enable mapimg)
+ $(use_enable nls)
+ $(use_enable sound sdl-mixer)
+ $(use_enable system-lua sys-lua)
+ $(use_with readline)
+ )
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+
+ if use dedicated ; then
+ rm -rf "${ED%/}/usr/share/pixmaps"
+ rm -f "${ED%/}"/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
+ docinto html
+ dodoc classic*.html
+ fi
+ if use sdl ; then
+ make_desktop_entry freeciv-sdl "Freeciv (SDL)" freeciv-client
+ else
+ rm -f "${ED%/}"/usr/share/man/man6/freeciv-sdl*
+ fi
+ rm -f "${ED%/}"/usr/share/man/man6/freeciv-xaw*
+ fi
+ find "${ED}" -name "freeciv-manual*" -delete
+
+ rm -f "${ED%/}/usr/$(get_libdir)"/*.a
+ prune_libtool_files
+}
+
+pkg_preinst() {
+ gnome2_icon_savelist
+}
+
+pkg_postinst() {
+ gnome2_icon_cache_update
+}
+
+pkg_postrm() {
+ gnome2_icon_cache_update
+}
diff --git a/games-strategy/freeciv/metadata.xml b/games-strategy/freeciv/metadata.xml
new file mode 100644
index 000000000000..6a23f56ccce9
--- /dev/null
+++ b/games-strategy/freeciv/metadata.xml
@@ -0,0 +1,27 @@
+<?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="aimodules">Support for dynamically loadable AI
+ modules (server-side)</flag>
+ <flag name="auth">Add authentication capability via
+ mysql, postgres or sqlite3</flag>
+ <flag name="mapimg">Additional mag image toolkit
+ via <pkg>media-gfx/imagemagick</pkg></flag>
+ <flag name="modpack">Build the freeciv-modpack-program
+ to download/install mods</flag>
+ <flag name="server">Enable server support. Disabling this
+ will also make it impossible to start local games.</flag>
+ <flag name="sound">Add support for sound provided by
+ <pkg>media-libs/sdl-mixer</pkg></flag>
+ <flag name="system-lua">Use <pkg>dev-lang/lua</pkg> instead of
+ the bundled liblua</flag>
+ </use>
+ <upstream>
+ <remote-id type="sourceforge">freeciv</remote-id>
+ </upstream>
+</pkgmetadata>