games-strategy/freeciv: Bump to version 2.5.12 and 2.6.1
authorLars Wendler <polynomial-c@gentoo.org>
Sat, 28 Dec 2019 11:53:02 +0000 (12:53 +0100)
committerLars Wendler <polynomial-c@gentoo.org>
Sat, 28 Dec 2019 11:53:11 +0000 (12:53 +0100)
Package-Manager: Portage-2.3.84, Repoman-2.3.20
Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
games-strategy/freeciv/Manifest
games-strategy/freeciv/freeciv-2.5.12.ebuild [new file with mode: 0644]
games-strategy/freeciv/freeciv-2.6.1.ebuild [new file with mode: 0644]

index b5c5d316432e0df8936bfef6e21793e1c268fb28..430823d3ab452790779944035ee615ec46eed8cb 100644 (file)
@@ -1,2 +1,4 @@
 DIST freeciv-2.5.11.tar.bz2 40940090 BLAKE2B dfc1e714e1a3122335f555c2e57352726bda60dc0d1700b0d8ae937c85cba6beb0b2a6ffa6266b77437934ed85f1740f319c379a10c217161ee147f2339a50d3 SHA512 f5eac2fc2b7e09b9fd3b8b45145a5359f8216aef49050c692893d30584000c7db2f2a6e66ac19e67186e2653efaa0aa7656abefe2d2de25d123e9a52ce604456
+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
diff --git a/games-strategy/freeciv/freeciv-2.5.12.ebuild b/games-strategy/freeciv/freeciv-2.5.12.ebuild
new file mode 100644 (file)
index 0000000..bbb7332
--- /dev/null
@@ -0,0 +1,179 @@
+# Copyright 1999-2019 Gentoo Authors
+# 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? ( dev-db/mysql-connector-c:0= )
+               sqlite? ( dev-db/sqlite:3 )
+               !mysql? ( ( !sqlite? ( dev-db/mysql-connector-c:0= ) ) )
+       )
+       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 )
+       )"
+
+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.1.ebuild b/games-strategy/freeciv/freeciv-2.6.1.ebuild
new file mode 100644 (file)
index 0000000..764443f
--- /dev/null
@@ -0,0 +1,184 @@
+# Copyright 1999-2019 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
+               $(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}" -name "*.la" -delete || die
+}