1 # Copyright 1999-2018 Gentoo Foundation
2 # Distributed under the terms of the GNU General Public License v2
5 inherit flag-o-matic gnome2-utils ltprune xdg-utils
7 DESCRIPTION="multiplayer strategy game (Civilization Clone)"
8 HOMEPAGE="http://www.freeciv.org/"
9 SRC_URI="mirror://sourceforge/freeciv/${P/_/-}.tar.bz2"
13 [[ ${PV} != *_beta* ]] || [[ ${PV} != *_rc* ]] || \
14 KEYWORDS="~amd64 ~ppc64 ~x86"
15 IUSE="auth aimodules dedicated +gtk ipv6 mapimg modpack mysql nls qt5 readline sdl +server +sound sqlite system-lua"
17 # postgres isn't yet really supported by upstream
18 RDEPEND="app-arch/bzip2
23 mysql? ( virtual/mysql )
24 sqlite? ( dev-db/sqlite:3 )
25 !mysql? ( ( !sqlite? ( virtual/mysql ) ) )
27 readline? ( sys-libs/readline:0= )
28 dedicated? ( aimodules? ( dev-libs/libltdl:0 ) )
31 gtk? ( x11-libs/gtk+:2 )
32 mapimg? ( media-gfx/imagemagick:= )
33 modpack? ( x11-libs/gtk+:2 )
34 nls? ( virtual/libintl )
41 media-libs/libsdl2[video]
43 media-libs/sdl2-image[png]
46 server? ( aimodules? ( sys-devel/libtool:2 ) )
48 media-libs/libsdl2[sound]
49 media-libs/sdl2-mixer[vorbis]
51 !sdl? ( !gtk? ( x11-libs/gtk+:2 ) )
53 system-lua? ( >=dev-lang/lua-5.3 )"
58 nls? ( sys-devel/gettext )
61 S="${WORKDIR}/${P/_/-}"
64 if use !dedicated && use !server ; then
65 ewarn "Disabling server USE flag will make it impossible"
66 ewarn "to start local games, but you will still be able to"
67 ewarn "join multiplayer games."
74 # install the .desktop in /usr/share/applications
75 # install the icons in /usr/share/pixmaps
77 -e 's:^.*\(desktopfiledir = \).*:\1/usr/share/applications:' \
78 -e 's:^\(icon[0-9]*dir = \)$(prefix)\(.*\):\1/usr\2:' \
79 -e 's:^\(icon[0-9]*dir = \)$(datadir)\(.*\):\1/usr/share\2:' \
83 data/icons/Makefile.in || die
84 sed -i -e 's/=SDL/=X-SDL/' bootstrap/freeciv-sdl.desktop.in || die
88 local myclient mydatabase myeconfargs
91 if ! use mysql && ! use sqlite ; then
92 einfo "No database backend chosen, defaulting"
96 use mysql && mydatabase+=" mysql"
97 use sqlite && mydatabase+=" sqlite3"
103 if use dedicated ; then
107 --enable-freeciv-manual=html
110 if use !sdl && use !gtk && ! use qt5 ; then
111 einfo "No client backend given, defaulting to"
115 use sdl && myclient+=" sdl2"
116 use gtk && myclient+=" gtk2"
119 append-cxxflags -std=c++11
124 $(use_enable server freeciv-manual html )
129 --enable-aimodules="$(usex aimodules "yes" "no")"
130 --enable-client="${myclient}"
131 --enable-fcdb="${mydatabase}"
132 --enable-fcmp="$(usex modpack "gtk2" "no")"
133 # disabling shared libs will break aimodules USE flag
135 --localedir=/usr/share/locale
139 $(use_enable sound sdl-mixer)
140 $(use_enable system-lua sys-lua)
143 econf "${myeconfargs[@]}"
149 if use dedicated ; then
150 rm -rf "${ED%/}/usr/share/pixmaps"
151 rm -f "${ED%/}"/usr/share/man/man6/freeciv-{client,gtk2,gtk3,modpack,qt,sdl,xaw}*
154 # Create and install the html manual. It can't be done for dedicated
155 # servers, because the 'freeciv-manual' tool is then not built. Also
156 # delete freeciv-manual from the GAMES_BINDIR, because it's useless.
157 # Note: to have it localized, it should be ran from _postinst, or
158 # something like that, but then it's a PITA to avoid orphan files...
159 ./tools/freeciv-manual || die
164 make_desktop_entry freeciv-sdl "Freeciv (SDL)" freeciv-client
166 rm -f "${ED%/}"/usr/share/man/man6/freeciv-sdl*
168 rm -f "${ED%/}"/usr/share/man/man6/freeciv-xaw*
170 find "${ED}" -name "freeciv-manual*" -delete
172 rm -f "${ED%/}/usr/$(get_libdir)"/*.a
181 gnome2_icon_cache_update
185 gnome2_icon_cache_update