summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Jolly <Matt.Jolly@footclan.ninja>2023-12-18 05:33:43 +1000
committerMatt Jolly <kangie@gentoo.org>2024-02-11 07:15:11 +1000
commit24750791aaf556f3c73166243f0c5417df1c71a8 (patch)
tree2600617ab7a0d858af42a161e5f681965ae7c400 /games-strategy
parentgames-strategy/freeciv: add 3.1.0_beta4 (diff)
downloadgentoo-24750791aaf556f3c73166243f0c5417df1c71a8.tar.gz
gentoo-24750791aaf556f3c73166243f0c5417df1c71a8.tar.bz2
gentoo-24750791aaf556f3c73166243f0c5417df1c71a8.zip
games-strategy/freeciv: add 3.0.10
- gtk client -> gtk3.22 client - drop ipv6 use - remove superfluous sed Closes: https://bugs.gentoo.org/872353 Bug: https://bugs.gentoo.org/863848 Signed-off-by: Matt Jolly <Matt.Jolly@footclan.ninja> Signed-off-by: Matt Jolly <kangie@gentoo.org>
Diffstat (limited to 'games-strategy')
-rw-r--r--games-strategy/freeciv/Manifest1
-rw-r--r--games-strategy/freeciv/freeciv-3.0.10.ebuild193
2 files changed, 194 insertions, 0 deletions
diff --git a/games-strategy/freeciv/Manifest b/games-strategy/freeciv/Manifest
index eb1adb9d824b..b1ce9b6f02ea 100644
--- a/games-strategy/freeciv/Manifest
+++ b/games-strategy/freeciv/Manifest
@@ -1,3 +1,4 @@
DIST freeciv-3.0.1.tar.xz 33528292 BLAKE2B e19cae8a02aa4b9afc2895560aa7a8d6135a63a0e757c348a75e72522448a026874f8f0120448b38ca2fee0ecc42dd04d80345d9877554168ad07ca2a20e5dcc SHA512 0f28aa7eb6adc2c4fe2af31265965ec30b4ea4f12121c4240ca896070f4ea574db58f02240e74822b9d498e112bcdb7036bb69f3d0b33cea5fec724e9e47da34
+DIST freeciv-3.0.10.tar.xz 43433812 BLAKE2B c529b2039e38070fef4758f4d316cfe952dcce4d4a773e70da22f2a3948f0506be493b4af20529d80749b47954bdd87a7aca8efb72c5502fefb2c103977f4e12 SHA512 4082e94deeda8d9b90f04137d6e7dfd39ff7232225a910f47519a464db553891e42289c1d7738f9ee0d9a16db143669bf8c4c5ce9492a4455ccd99906c956192
DIST freeciv-3.1.0_beta2.tar.gz 127527752 BLAKE2B 457e01787e2dccb4862de5519a4ea51bcfe240c0948e2cd97b09ae6d4e2c27d4196329326cd7c0489ce1e37dbc548f4f31fcd7c5f57b15b53b49dd6e54fef032 SHA512 2b15134454bf7ca885287985bb6d17a31f6cbfdec87fa8e6fd7fce000a2bfc1fa888dd7a2e244df4460d08011e87876800190a9fa8ea825789eec0e434348920
DIST freeciv-3.1.0_beta4.tar.gz 127725084 BLAKE2B f92c0aa75a47c165f808c761dc8e0a7cc76cafa722ef8d968ad69f379f2945774c811407f234df7ef22327c93dc2ec7b7765d0666bda249c573f57be3d03891a SHA512 b6864730583fe6dc17818813080132d6fa44c2adf8033a827b9a209f309c69e58bda41b8263a86006042a2e5f8bf99037e9d1d813a15ff1b9d48ec69b395f139
diff --git a/games-strategy/freeciv/freeciv-3.0.10.ebuild b/games-strategy/freeciv/freeciv-3.0.10.ebuild
new file mode 100644
index 000000000000..624a5bb44ac6
--- /dev/null
+++ b/games-strategy/freeciv/freeciv-3.0.10.ebuild
@@ -0,0 +1,193 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LUA_COMPAT=( lua5-3 )
+
+inherit desktop lua-single qmake-utils xdg
+
+MY_PV="${PV/_beta/-beta}"
+MY_PV="${MY_PV/_rc/-RC}"
+MY_P="${PN}-${MY_PV}"
+
+DESCRIPTION="Multiplayer strategy game (Civilization Clone)"
+HOMEPAGE="https://www.freeciv.org/"
+
+if [[ ${PV} != *_beta* ]] && [[ ${PV} != *_rc* ]] ; then
+ SRC_URI="mirror://sourceforge/freeciv/${MY_P}.tar.xz"
+ KEYWORDS="~amd64 ~ppc64 ~x86"
+fi
+
+LICENSE="GPL-2+"
+SLOT="0"
+IUSE="aimodules auth dedicated +gtk mapimg modpack mysql nls qt5 readline sdl +server +sound sqlite +system-lua"
+
+REQUIRED_USE="
+ system-lua? ( ${LUA_REQUIRED_USE} )
+ dedicated? ( !gtk !mapimg !modpack !nls !qt5 !sdl !sound )
+ !dedicated? ( || ( gtk qt5 sdl ) )
+"
+
+# postgres isn't yet really supported by upstream
+RDEPEND="
+ app-arch/bzip2
+ app-arch/xz-utils
+ dev-libs/icu:=
+ net-misc/curl
+ sys-libs/zlib
+ auth? (
+ app-arch/zstd:=
+ dev-libs/openssl:=
+ !mysql? ( ( !sqlite? ( dev-db/mysql-connector-c:= ) ) )
+ mysql? ( dev-db/mysql-connector-c:= )
+ sqlite? ( dev-db/sqlite:3 )
+ )
+ aimodules? ( dev-libs/libltdl )
+ !dedicated? (
+ media-libs/libpng
+ 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? ( dev-build/libtool ) )
+ sound? (
+ media-libs/libsdl2[sound]
+ media-libs/sdl2-mixer[vorbis]
+ )
+ )
+ readline? ( sys-libs/readline:= )
+ system-lua? ( ${LUA_DEPS} )
+"
+DEPEND="${RDEPEND}
+ !dedicated? ( x11-base/xorg-proto )
+"
+# Calls gzip during build
+BDEPEND="
+ app-arch/gzip
+ 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
+
+ use system-lua && lua-single_pkg_setup
+}
+
+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 )
+ # Since all gtk3 in gentoo is >= 3.22 we can use the better client
+ use gtk && myclient+=( gtk3.22 )
+ if use qt5 ; then
+ local -x MOCCMD=$(qt5_get_bindir)/moc
+ myclient+=( qt )
+ 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")"
+ --enable-ipv6
+ # disabling shared libs will break aimodules USE flag
+ --enable-shared
+ --localedir=/usr/share/locale
+ --with-appdatadir="${EPREFIX}"/usr/share/metainfo
+ $(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 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...
+ # freeciv-manual only supports one ruleset argument at a time.
+ elog "Generating html manual..."
+ for RULESET in alien civ1 civ2 civ2civ3 classic experimental multiplayer sandbox
+ do
+ ./tools/freeciv-manual -r ${RULESET} || die
+ docinto html/rulesets/${RULESET}
+ dodoc ${RULESET}*.html
+ done
+ fi
+
+ find "${ED}" -name "freeciv-manual*" -delete || die
+
+ if use dedicated ; then
+ elog "Tidying up dedicated server installation..."
+ find "${ED}"/usr/share/man/man6/ \
+ -not \( -name 'freeciv.6' -o -name 'freeciv-ruledit.6' \
+ -o -name 'freeciv-ruleup.6' -o -name 'freeciv-server.6' \) -mindepth 1 -delete || die
+ else
+ # sdl client needs some special handling
+ if use sdl ; then
+ make_desktop_entry freeciv-sdl "Freeciv (SDL)" freeciv-client
+ else
+ rm "${ED}"/usr/share/man/man6/freeciv-sdl2.6 || die
+ fi
+
+ rm -f "${ED}"/usr/share/man/man6/freeciv-xaw.6 || die
+ fi
+
+ find "${ED}" -type f -name "*.la" -delete || die
+}