1 # Copyright 1999-2020 Gentoo Authors
2 # Distributed under the terms of the GNU General Public License v2
5 inherit autotools eutils flag-o-matic gnome2-utils ltprune
7 DESCRIPTION="multiplayer strategy game (Civilization Clone)"
8 HOMEPAGE="http://www.freeciv.org/"
9 SRC_URI="mirror://sourceforge/freeciv/${P}.tar.bz2"
13 KEYWORDS="~amd64 ~ppc64 ~x86"
14 IUSE="auth aimodules dedicated +gtk ipv6 mapimg modpack mysql nls qt5 readline sdl +server +sound sqlite system-lua"
16 # postgres isn't yet really supported by upstream
17 RDEPEND="app-arch/bzip2
22 mysql? ( dev-db/mysql-connector-c:0= )
23 sqlite? ( dev-db/sqlite:3 )
24 !mysql? ( ( !sqlite? ( dev-db/mysql-connector-c:0= ) ) )
26 readline? ( sys-libs/readline:0= )
27 dedicated? ( aimodules? ( dev-libs/libltdl:0 ) )
30 gtk? ( x11-libs/gtk+:2 )
31 mapimg? ( media-gfx/imagemagick:= )
32 modpack? ( x11-libs/gtk+:2 )
33 nls? ( virtual/libintl )
40 media-libs/libsdl[video]
42 media-libs/sdl-image[png]
45 server? ( aimodules? ( sys-devel/libtool:2 ) )
47 media-libs/libsdl[sound]
48 media-libs/sdl-mixer[vorbis]
50 !sdl? ( !gtk? ( x11-libs/gtk+:2 ) )
52 system-lua? ( >=dev-lang/lua-5.2 )"
57 nls? ( sys-devel/gettext )
61 if use !dedicated && use !server ; then
62 ewarn "Disabling server USE flag will make it impossible"
63 ewarn "to start local games, but you will still be able to"
64 ewarn "join multiplayer games."
73 # install the .desktop in /usr/share/applications
74 # install the icons in /usr/share/pixmaps
76 -e 's:^.*\(desktopfiledir = \).*:\1/usr/share/applications:' \
77 -e 's:^\(icon[0-9]*dir = \)$(prefix)\(.*\):\1/usr\2:' \
78 -e 's:^\(icon[0-9]*dir = \)$(datadir)\(.*\):\1/usr/share\2:' \
82 data/icons/Makefile.in || die
83 sed -i -e 's/=SDL/=X-SDL/' bootstrap/freeciv-sdl.desktop.in || die
87 local myclient mydatabase myeconfargs
90 if ! use mysql && ! use sqlite ; then
91 einfo "No database backend chosen, defaulting"
95 use mysql && mydatabase+=" mysql"
96 use sqlite && mydatabase+=" sqlite3"
102 if use dedicated ; then
104 myeconfargs+=( --enable-server )
106 if use !sdl && use !gtk && ! use qt5 ; then
107 einfo "No client backend given, defaulting to"
111 use sdl && myclient+=" sdl"
112 use gtk && myclient+=" gtk2"
115 append-cxxflags -std=c++11
118 myeconfargs+=( $(use_enable server) --without-ggz-client )
122 --enable-aimodules="$(usex aimodules "yes" "no")"
123 --enable-client="${myclient}"
124 --enable-fcdb="${mydatabase}"
125 --enable-fcmp="$(usex modpack "gtk2" "no")"
126 # disabling shared libs will break aimodules USE flag
128 --localedir=/usr/share/locale
132 $(use_enable sound sdl-mixer)
133 $(use_enable system-lua sys-lua)
136 econf "${myeconfargs[@]}"
142 if use dedicated ; then
143 rm -rf "${ED%/}/usr/share/pixmaps"
144 rm -f "${ED%/}"/usr/share/man/man6/freeciv-{client,gtk2,gtk3,modpack,qt,sdl,xaw}*
147 # Create and install the html manual. It can't be done for dedicated
148 # servers, because the 'freeciv-manual' tool is then not built. Also
149 # delete freeciv-manual from the GAMES_BINDIR, because it's useless.
150 # Note: to have it localized, it should be ran from _postinst, or
151 # something like that, but then it's a PITA to avoid orphan files...
152 ./tools/freeciv-manual || die
157 make_desktop_entry freeciv-sdl "Freeciv (SDL)" freeciv-client
159 rm -f "${ED%/}"/usr/share/man/man6/freeciv-sdl*
161 rm -f "${ED%/}"/usr/share/man/man6/freeciv-xaw*
163 find "${ED}" -name "freeciv-manual*" -delete
165 rm -f "${ED%/}/usr/$(get_libdir)"/*.a
174 gnome2_icon_cache_update
178 gnome2_icon_cache_update