games-strategy/freeciv: Bump to version 2.6.2
authorLars Wendler <polynomial-c@gentoo.org>
Wed, 19 Feb 2020 12:48:29 +0000 (13:48 +0100)
committerLars Wendler <polynomial-c@gentoo.org>
Wed, 19 Feb 2020 12:49:37 +0000 (13:49 +0100)
Package-Manager: Portage-2.3.89, Repoman-2.3.20
Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
games-strategy/freeciv/Manifest
games-strategy/freeciv/freeciv-2.6.2.ebuild [new file with mode: 0644]

index 430823d3ab452790779944035ee615ec46eed8cb..75bf4a2b6891cc1fa1faa9b5cd4d935e36b862c0 100644 (file)
@@ -2,3 +2,4 @@ DIST freeciv-2.5.11.tar.bz2 40940090 BLAKE2B dfc1e714e1a3122335f555c2e57352726bd
 DIST freeciv-2.5.12.tar.bz2 40983794 BLAKE2B 53c5f9833684bef20a80c891bb001b2e03c819ba57c0989463b854fda7fe2cffe16d292e8f13f8bf8253aee0691c8ad1cb6f19522c5aae69b48165d26a0c3665 SHA512 bc0de8f2e63779ab0ac57b9a1dfd6ab30b4ad973c9ed1704ae7c1575ec63a695e65016f45abf5ad44b9d3818211aa351b74492783a4155cf19357b7f1dd2554d
 DIST freeciv-2.6.0.tar.bz2 51912466 BLAKE2B 180fa8900af6763ecae9190ce24799a77b8504d98081e48600c16c19e814b2ff1ef01ce6a41cb1a1739f848895e1551ba158f0357602f758e76b9ee6e0104a36 SHA512 658f05ed32a2045eeeadd1e12f88df927378f8032292e709af78f24c2dbc6019ba45ce67e4fe24001a9e70756c68126a313607a81e7009270ad255d7c9fe75d8
 DIST freeciv-2.6.1.tar.bz2 51915573 BLAKE2B 160df7f59a5d2ab8090132df5c690ee96ce6811ad0644341ba07b10000bc2e4c30ef4e60ead57d17a7d0f722e42c204d839264830c7b423ccc393b7e7b30c30b SHA512 44145eaea96d5ab4f18e843102209d0f88a626af37365cf91b5e592bcac45f2692a7e21e9b3454a3ee4b9099212f5826a4687931bb37dabbb7dedad059df1cb4
+DIST freeciv-2.6.2.tar.bz2 52139007 BLAKE2B 5d30274f24786dcd0b29d4d85a45be47e791aedba7fbeeb28001e2c19d2acc1fa16b4ab88b779d0dbd318806e571a26c94f8a61b33c6d8df8e68d4fd90713302 SHA512 b11752f38027fcc8b092f323d4e76cf3c4c426bfcc811eb3a76daca075dc391d8179cd140abf1534abc56409344c53238b9fee2ee10d08a688e15671f3a70ef3
diff --git a/games-strategy/freeciv/freeciv-2.6.2.ebuild b/games-strategy/freeciv/freeciv-2.6.2.ebuild
new file mode 100644 (file)
index 0000000..dfdabbc
--- /dev/null
@@ -0,0 +1,185 @@
+# Copyright 1999-2020 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 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 ~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"
+
+# postgres isn't yet really supported by upstream
+BDEPEND="
+       virtual/pkgconfig
+       !dedicated? (
+               x11-base/xorg-proto
+               nls? ( sys-devel/gettext )
+       )
+"
+DEPEND="
+       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+: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? ( !gtk? ( x11-libs/gtk+:2 ) )
+               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:= )
+"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${MY_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
+               --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
+               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
+       find "${ED}" -type f -name "*.la" -delete || die
+}