summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Sturmlechner <asturm@gentoo.org>2021-05-15 14:58:14 +0200
committerAndreas Sturmlechner <asturm@gentoo.org>2021-05-15 18:25:15 +0200
commit26984cfb5749d6fcd3858e46eeb7257d060fd372 (patch)
tree19f7d8319db83011d88a5aa57f8e18af7f6b412f
parentmedia-gfx/kuickshow: Fix build w/ >=kde-frameworks/kwindowsystem-5.82 (diff)
downloadgentoo-26984cfb5749d6fcd3858e46eeb7257d060fd372.tar.gz
gentoo-26984cfb5749d6fcd3858e46eeb7257d060fd372.tar.bz2
gentoo-26984cfb5749d6fcd3858e46eeb7257d060fd372.zip
games-strategy/freeciv: 2.6.4 version bump
Switch to gtk+-3 Fix BDEPEND/DEPEND Closes: https://bugs.gentoo.org/769164 Thanks-to: Patrice Levesque <gentoo.wayne@ptaff.ca> Package-Manager: Portage-3.0.13, Repoman-3.0.2 Closes: https://github.com/gentoo/gentoo/pull/20046 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
-rw-r--r--games-strategy/freeciv/Manifest1
-rw-r--r--games-strategy/freeciv/freeciv-2.6.4.ebuild182
2 files changed, 183 insertions, 0 deletions
diff --git a/games-strategy/freeciv/Manifest b/games-strategy/freeciv/Manifest
index f3cf2806868d..a42d00191c83 100644
--- a/games-strategy/freeciv/Manifest
+++ b/games-strategy/freeciv/Manifest
@@ -1 +1,2 @@
DIST freeciv-2.6.2.tar.bz2 52139007 BLAKE2B 5d30274f24786dcd0b29d4d85a45be47e791aedba7fbeeb28001e2c19d2acc1fa16b4ab88b779d0dbd318806e571a26c94f8a61b33c6d8df8e68d4fd90713302 SHA512 b11752f38027fcc8b092f323d4e76cf3c4c426bfcc811eb3a76daca075dc391d8179cd140abf1534abc56409344c53238b9fee2ee10d08a688e15671f3a70ef3
+DIST freeciv-2.6.4.tar.bz2 52087948 BLAKE2B 00392974707d9a11e626ac7855fcb27780492b7bead020f6849726ad39833d9ada288bad7245664f8446d0905f027dccc205ee6c943361ba9ba455c55c52cd04 SHA512 4dca3a09f4538ce865f5bfef2fa0cdd00b21e30d80bd24343a6d77564bb5239101254155295ccc18593af6f9a32b77ecb8d50c38d0710a37960372e9b1227221
diff --git a/games-strategy/freeciv/freeciv-2.6.4.ebuild b/games-strategy/freeciv/freeciv-2.6.4.ebuild
new file mode 100644
index 000000000000..93312c18dcb0
--- /dev/null
+++ b/games-strategy/freeciv/freeciv-2.6.4.ebuild
@@ -0,0 +1,182 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+MY_PV="${PV/_beta/-beta}"
+MY_PV="${MY_PV/_rc/-RC}"
+MY_P="${PN}-${MY_PV}"
+inherit desktop flag-o-matic qmake-utils xdg
+
+DESCRIPTION="Multiplayer strategy game (Civilization Clone)"
+HOMEPAGE="http://www.freeciv.org/"
+
+if [[ ${PV} != *_beta* ]] && [[ ${PV} != *_rc* ]] ; then
+ SRC_URI="mirror://sourceforge/freeciv/${MY_P}.tar.bz2"
+ KEYWORDS="~amd64 ~ppc64 ~x86"
+fi
+
+LICENSE="GPL-2+"
+SLOT="0"
+IUSE="aimodules auth dedicated +gtk ipv6 mapimg modpack mysql nls qt5 readline sdl +server +sound sqlite system-lua"
+
+RDEPEND="
+ app-arch/bzip2
+ app-arch/xz-utils
+ net-misc/curl
+ sys-libs/zlib
+ auth? (
+ !mysql? ( ( !sqlite? ( dev-db/mysql-connector-c:0= ) ) )
+ mysql? ( dev-db/mysql-connector-c:0= )
+ sqlite? ( dev-db/sqlite:3 )
+ )
+ dedicated? ( aimodules? ( dev-libs/libltdl:0 ) )
+ !dedicated? (
+ media-libs/libpng:0
+ gtk? ( x11-libs/gtk+:3 )
+ mapimg? ( media-gfx/imagemagick:= )
+ modpack? ( x11-libs/gtk+:3 )
+ nls? ( virtual/libintl )
+ qt5? (
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtwidgets:5
+ )
+ !sdl? ( !gtk? ( x11-libs/gtk+:3 ) )
+ 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]
+ )
+ )
+ readline? ( sys-libs/readline:0= )
+ system-lua? ( >=dev-lang/lua-5.3:= )
+"
+DEPEND="${RDEPEND}
+ !dedicated? ( x11-base/xorg-proto )
+"
+# postgres isn't yet really supported by upstream
+BDEPEND="
+ virtual/pkgconfig
+ !dedicated? ( nls? ( sys-devel/gettext ) )
+"
+
+S="${WORKDIR}/${MY_P}"
+
+pkg_setup() {
+ if use !dedicated && use !server ; then
+ ewarn "Disabling server USE flag will make it impossible to start local"
+ ewarn "games, but you will still be able to 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
+}
+
+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 gtk3 client!"
+ myclient=( gtk3 )
+ else
+ use sdl && myclient+=( sdl2 )
+ use gtk && myclient+=( gtk3 )
+ if use qt5 ; then
+ local -x MOCCMD=$(qt5_get_bindir)/moc
+ 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 "gtk3" "no")"
+ # disabling shared libs will break aimodules USE flag
+ --enable-shared
+ --localedir=/usr/share/locale
+ --with-appdatadir="${EPREFIX}"/usr/share/metainfo
+ $(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 || die
+ rm -f "${ED}"/usr/share/man/man6/freeciv-{client,gtk2,gtk3,modpack,qt,sdl,xaw}* || die
+ 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* || die
+ fi
+ rm -f "${ED}"/usr/share/man/man6/freeciv-xaw* || die
+ fi
+ find "${ED}" -name "freeciv-manual*" -delete || die
+
+ rm -f "${ED}/usr/$(get_libdir)"/*.a || die
+ find "${ED}" -type f -name "*.la" -delete || die
+}