From 48e7f15d37baf7167041b2ab0e2a19a703e5c99f Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Mon, 1 Apr 2024 08:13:46 +0100 Subject: gentoo auto-resync : 01:04:2024 - 08:13:46 --- games-strategy/Manifest.gz | Bin 8093 -> 8090 bytes games-strategy/freeciv/Manifest | 8 +- games-strategy/freeciv/freeciv-3.0.10.ebuild | 193 ------------------- games-strategy/freeciv/freeciv-3.1.0.ebuild | 215 ++++++++++++++++++++++ games-strategy/freeciv/freeciv-3.1.0_beta4.ebuild | 215 ---------------------- games-strategy/freeciv/metadata.xml | 4 - 6 files changed, 218 insertions(+), 417 deletions(-) delete mode 100644 games-strategy/freeciv/freeciv-3.0.10.ebuild create mode 100644 games-strategy/freeciv/freeciv-3.1.0.ebuild delete mode 100644 games-strategy/freeciv/freeciv-3.1.0_beta4.ebuild (limited to 'games-strategy') diff --git a/games-strategy/Manifest.gz b/games-strategy/Manifest.gz index 107196a726af..f041af0568cd 100644 Binary files a/games-strategy/Manifest.gz and b/games-strategy/Manifest.gz differ diff --git a/games-strategy/freeciv/Manifest b/games-strategy/freeciv/Manifest index a49cf5f8d655..cf9feb381029 100644 --- a/games-strategy/freeciv/Manifest +++ b/games-strategy/freeciv/Manifest @@ -1,7 +1,5 @@ AUX freeciv-3.1.0_beta4-fix-manpage-install-location.patch 882 BLAKE2B 7cbe60cf4753af0331541786679b80d8d14a95a8fb99d57b1c17c0e9690001aac2b8bc205a9225c755ca5c3ffc577af992a7bd6aaf2f37d6aa37be6d5b8460ed SHA512 e2f652a05368a885531e47421dfde993fac54850092db07834399d91c393c51e35f6662c9cd79d55bd470dbc81f211a2b393cd96768a6874c3b7b680de2ac366 -DIST freeciv-3.0.10.tar.xz 43433812 BLAKE2B c529b2039e38070fef4758f4d316cfe952dcce4d4a773e70da22f2a3948f0506be493b4af20529d80749b47954bdd87a7aca8efb72c5502fefb2c103977f4e12 SHA512 4082e94deeda8d9b90f04137d6e7dfd39ff7232225a910f47519a464db553891e42289c1d7738f9ee0d9a16db143669bf8c4c5ce9492a4455ccd99906c956192 -DIST freeciv-3.1.0_beta4.tar.gz 127725084 BLAKE2B f92c0aa75a47c165f808c761dc8e0a7cc76cafa722ef8d968ad69f379f2945774c811407f234df7ef22327c93dc2ec7b7765d0666bda249c573f57be3d03891a SHA512 b6864730583fe6dc17818813080132d6fa44c2adf8033a827b9a209f309c69e58bda41b8263a86006042a2e5f8bf99037e9d1d813a15ff1b9d48ec69b395f139 -EBUILD freeciv-3.0.10.ebuild 4969 BLAKE2B 4dd1aea15cbb2c636cc9d231e4ef50005a289f9f204aeff6fb3ac892f5f132e03ad72de00040285cb98f0cc65c85b515183f4de54ac1ae36a3737dc19f2372f3 SHA512 0d02f019e777bc8d1838e2bb0ae638e9e7d9ff6e34c0b332ea4b4156fe65bd9e71b518c3a210259e94e07a6a3c6c6a66c7a4ebbac0faebe55ad8483919af22db -EBUILD freeciv-3.1.0_beta4.ebuild 5920 BLAKE2B a097b6afc92267c174981f2efca3c2525700f17d8267b412d66ec7c0ebd4b0a1888ba2f9d3d0ae38badde732ae884d4927c3e1a188d0ede052a02b85aa501199 SHA512 842200f491bbba8a9721e2eba8192f45d8d6a559000782c98a8bb16d5b0fd16ba5ee9a465be6974835c7ed153f3768a3bb681a502ee7bed8c0659daa49d5ae68 +DIST freeciv-3.1.0.tar.gz 127748997 BLAKE2B 75b3d1341d8ab09af244f07f3df5b1817571c4958a4296f37f35a105fe5a8e3d2e8d2e0dc7eb1d1aaf3d4a4c6574ba75355595134dc5a255535bc14c604bb99f SHA512 514d796a54466790a5ce0f2abb6fd8cb9c124a2f19ab33d48ce7a7f0d8d92096b54352a5d3655da852cdbd807baf4969467e04b82f687347bdff92e09f7aad86 +EBUILD freeciv-3.1.0.ebuild 5920 BLAKE2B a097b6afc92267c174981f2efca3c2525700f17d8267b412d66ec7c0ebd4b0a1888ba2f9d3d0ae38badde732ae884d4927c3e1a188d0ede052a02b85aa501199 SHA512 842200f491bbba8a9721e2eba8192f45d8d6a559000782c98a8bb16d5b0fd16ba5ee9a465be6974835c7ed153f3768a3bb681a502ee7bed8c0659daa49d5ae68 EBUILD freeciv-9999.ebuild 5920 BLAKE2B a097b6afc92267c174981f2efca3c2525700f17d8267b412d66ec7c0ebd4b0a1888ba2f9d3d0ae38badde732ae884d4927c3e1a188d0ede052a02b85aa501199 SHA512 842200f491bbba8a9721e2eba8192f45d8d6a559000782c98a8bb16d5b0fd16ba5ee9a465be6974835c7ed153f3768a3bb681a502ee7bed8c0659daa49d5ae68 -MISC metadata.xml 1483 BLAKE2B 461882e444ee7c79299eb07a6d3ae55e48c2fa6589cc63fe9b6b0695a9c636c29a59f9da0e4bb904327b8ab31e12d67fcbd154a87d7b48c5aacf0ce89974e37d SHA512 24ea301ae8a7bc4aa54bb2d453406a76c220b5de51d6921e1fa71aa47e95a2194c1081c78c5daa5430e8ac2e18da2c21511c64a438c929c996cf12f17c705dae +MISC metadata.xml 1298 BLAKE2B c744a6fa5ab5345aeafa4bea7edc493beee1ded63cc2d9d26fe7e883dd81d4de6cec288a8ceb49567f2bdfe2fcd647ab9231055429244c14d8b05978dc13ad7a SHA512 767b482284030363aeaf521b13511fe10f69db940b411fe637a4f9d00324172b3b3e1426e74fa575cb414eb1a038fca87ab473237804699879975448f9ca0f1f diff --git a/games-strategy/freeciv/freeciv-3.0.10.ebuild b/games-strategy/freeciv/freeciv-3.0.10.ebuild deleted file mode 100644 index 624a5bb44ac6..000000000000 --- a/games-strategy/freeciv/freeciv-3.0.10.ebuild +++ /dev/null @@ -1,193 +0,0 @@ -# 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 -} diff --git a/games-strategy/freeciv/freeciv-3.1.0.ebuild b/games-strategy/freeciv/freeciv-3.1.0.ebuild new file mode 100644 index 000000000000..0b5e2c809016 --- /dev/null +++ b/games-strategy/freeciv/freeciv-3.1.0.ebuild @@ -0,0 +1,215 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LUA_COMPAT=( lua5-4 ) + +inherit desktop lua-single meson xdg + +DESCRIPTION="Multiplayer strategy game (Civilization Clone)" +HOMEPAGE="https://www.freeciv.org/ https://github.com/freeciv/freeciv/" + +if [[ ${PV} == 9999 ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/freeciv/freeciv/" +else + MY_PV="R${PV//./_}" + SRC_URI="https://github.com/freeciv/freeciv/archive/refs/tags/${MY_PV}.tar.gz -> ${P}.tar.gz" + if [[ ${PV} != *_beta* ]]; then + KEYWORDS="~amd64 ~ppc64 ~x86" + fi + MY_P="${PN}-${MY_PV}" + S="${WORKDIR}/${MY_P}" +fi + +LICENSE="GPL-2+" +SLOT="0" +IUSE="dedicated gtk3 gtk4 json mapimg modpack mysql nls +qt5 qt6 readline rule-editor sdl +server +sound +system-lua web-server" + +# I'm pretty sure that you can't build both qt flavours at the same time +REQUIRED_USE=" + system-lua? ( ${LUA_REQUIRED_USE} ) + !dedicated? ( || ( gtk3 gtk4 qt5 qt6 sdl ) ) + dedicated? ( !gtk3 !gtk4 !mapimg !nls !qt5 !qt6 !sdl !sound ) + qt5? ( !qt6 ) + qt6? ( !qt5 ) +" + +RDEPEND=" + app-arch/bzip2 + app-arch/xz-utils + app-arch/zstd:= + dev-build/libtool + dev-db/sqlite:3 + dev-libs/icu:= + net-misc/curl + sys-libs/zlib + !dedicated? ( + media-libs/libpng + gtk3? ( x11-libs/gtk+:3 ) + gtk4? ( gui-libs/gtk:4 ) + mapimg? ( media-gfx/imagemagick:= ) + nls? ( virtual/libintl ) + qt5? ( + dev-qt/qtcore:5 + dev-qt/qtgui:5 + dev-qt/qtwidgets:5 + ) + qt6? ( + dev-qt/qtbase:6[gui,widgets] + ) + sdl? ( + media-libs/libsdl2[video] + media-libs/sdl2-gfx + media-libs/sdl2-image[png] + media-libs/sdl2-ttf + ) + sound? ( + media-libs/libsdl2[sound] + media-libs/sdl2-mixer[vorbis] + ) + ) + json? ( dev-libs/jansson:= ) + 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 + nls? ( sys-devel/gettext ) +" + +pkg_setup() { + use system-lua && lua-single_pkg_setup +} + +PATCHES=( + "${FILESDIR}"/${PN}-3.1.0_beta4-fix-manpage-install-location.patch +) + +src_prepare() { + # Upstream's meson.build is not very friendly to our needs + sed -i -e "s:doc/freeciv:doc/${PF}:" meson.build || die + sed -i -e "/custom_target('gzip_ChangeLog/,+6d" meson.build || die + default +} + +src_configure() { + # Docs here: https://github.com/freeciv/freeciv/blob/main/doc/INSTALL.meson + local myclient=() emesonargs=() myfcmp=() + + # Upstream considers meson "experimental" until 3.2.0 according to their roadmap + emesonargs+=( -Dack_experimental=true ) + + if use dedicated || use server ; then + emesonargs+=( -Dserver=enabled ) + elif use web-server; then + emesonargs+=( -Dserver=freeciv-web ) + else + emesonargs+=( -Dserver=disabled ) + fi + + # Select any client backends that we want enabled; dedicated server shouldn't build a UI + # for sanity we'll build the modpack bin with the same UIs as the client. + # 'fcmp' = freeciv modpack (client) - gtk3, qt, cli, gtk4 + freeciv_enable_ui() { + local flag=$1 + local client_name=${2:-${flag}} + local fcmp_name=${3:-${client_name}} + + if use ${flag} ; then + myclient+=( ${client_name} ) + use modpack && myfcmp+=( ${fcmp_name} ) + fi + } + + if ! use dedicated ; then + # there's no SDL modpack backend; rather than incidentally pull in GTK3 (as is default) + # let's explicitly set the backend to CLI + freeciv_enable_ui sdl sdl2 cli + freeciv_enable_ui gtk3 gtk3.22 gtk3 + freeciv_enable_ui gtk4 + freeciv_enable_ui qt5 qt + freeciv_enable_ui qt6 qt + use qt5 && emesonargs+=( -Dqtver=qt5 ) + use qt6 && emesonargs+=( -Dqtver=qt6 ) + else + if use modpack ; then + myfcmp+=( cli ) + fi + fi + + # the client and fpmc arrays are now populated (or not for dedicated); let's add them to emesonargs + emesonargs+=( + -Dclients=$(echo ${myclient[*]} | sed 's/ /,/g') + -Dfcmp=$(echo ${myfcmp[*]} | sed 's/ /,/g') + ) + + # If we're building a live ebuild, we want to include the git revision in the version string + if [[ ${PV} == 9999 ]] ; then + emesonargs+=( -Dgitrev=true ) + fi + + # Anything that can be trivially set by meson_use goes here + emesonargs+=( + $(meson_use json json-protocol) + $(meson_use mapimg mwand) + $(meson_use nls) + $(meson_use readline) + $(meson_use rule-editor ruledit) + $(meson_use sound audio) + $(meson_use system-lua syslua) + ) + + meson_src_configure +} + +src_install() { + + meson_src_install + # Create and install the html manual and then cleanup the tool because it's useless. + # TODO: for proper localisation this should be run during postinst but + # that would require a lot of work 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 + $(find "${WORKDIR}" -type d -maxdepth 1 -mindepth 1 -iname '*-build')/freeciv-manual -r ${RULESET} || die + docinto html/rulesets/${RULESET} + dodoc ${RULESET}*.html + done + + find "${ED}" -name "freeciv-manual*" -delete || die "Failed to remove freeciv-manual" + + 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 + fi + +} + +pkg_postinst() { + if [[ -z ${REPLACING_VERSIONS} ]]; then + einfo "There are a number of supported authentication backends." + einfo "sqlite3 is the default, however dedicated servers may wish to" + einfo "use another supported backend; please consult the documentation" + einfo "to configure freeciv for a particular backend:" + einfo "https://github.com/freeciv/freeciv/blob/main/doc/README.fcdb" + fi +} diff --git a/games-strategy/freeciv/freeciv-3.1.0_beta4.ebuild b/games-strategy/freeciv/freeciv-3.1.0_beta4.ebuild deleted file mode 100644 index 0b5e2c809016..000000000000 --- a/games-strategy/freeciv/freeciv-3.1.0_beta4.ebuild +++ /dev/null @@ -1,215 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -LUA_COMPAT=( lua5-4 ) - -inherit desktop lua-single meson xdg - -DESCRIPTION="Multiplayer strategy game (Civilization Clone)" -HOMEPAGE="https://www.freeciv.org/ https://github.com/freeciv/freeciv/" - -if [[ ${PV} == 9999 ]] ; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/freeciv/freeciv/" -else - MY_PV="R${PV//./_}" - SRC_URI="https://github.com/freeciv/freeciv/archive/refs/tags/${MY_PV}.tar.gz -> ${P}.tar.gz" - if [[ ${PV} != *_beta* ]]; then - KEYWORDS="~amd64 ~ppc64 ~x86" - fi - MY_P="${PN}-${MY_PV}" - S="${WORKDIR}/${MY_P}" -fi - -LICENSE="GPL-2+" -SLOT="0" -IUSE="dedicated gtk3 gtk4 json mapimg modpack mysql nls +qt5 qt6 readline rule-editor sdl +server +sound +system-lua web-server" - -# I'm pretty sure that you can't build both qt flavours at the same time -REQUIRED_USE=" - system-lua? ( ${LUA_REQUIRED_USE} ) - !dedicated? ( || ( gtk3 gtk4 qt5 qt6 sdl ) ) - dedicated? ( !gtk3 !gtk4 !mapimg !nls !qt5 !qt6 !sdl !sound ) - qt5? ( !qt6 ) - qt6? ( !qt5 ) -" - -RDEPEND=" - app-arch/bzip2 - app-arch/xz-utils - app-arch/zstd:= - dev-build/libtool - dev-db/sqlite:3 - dev-libs/icu:= - net-misc/curl - sys-libs/zlib - !dedicated? ( - media-libs/libpng - gtk3? ( x11-libs/gtk+:3 ) - gtk4? ( gui-libs/gtk:4 ) - mapimg? ( media-gfx/imagemagick:= ) - nls? ( virtual/libintl ) - qt5? ( - dev-qt/qtcore:5 - dev-qt/qtgui:5 - dev-qt/qtwidgets:5 - ) - qt6? ( - dev-qt/qtbase:6[gui,widgets] - ) - sdl? ( - media-libs/libsdl2[video] - media-libs/sdl2-gfx - media-libs/sdl2-image[png] - media-libs/sdl2-ttf - ) - sound? ( - media-libs/libsdl2[sound] - media-libs/sdl2-mixer[vorbis] - ) - ) - json? ( dev-libs/jansson:= ) - 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 - nls? ( sys-devel/gettext ) -" - -pkg_setup() { - use system-lua && lua-single_pkg_setup -} - -PATCHES=( - "${FILESDIR}"/${PN}-3.1.0_beta4-fix-manpage-install-location.patch -) - -src_prepare() { - # Upstream's meson.build is not very friendly to our needs - sed -i -e "s:doc/freeciv:doc/${PF}:" meson.build || die - sed -i -e "/custom_target('gzip_ChangeLog/,+6d" meson.build || die - default -} - -src_configure() { - # Docs here: https://github.com/freeciv/freeciv/blob/main/doc/INSTALL.meson - local myclient=() emesonargs=() myfcmp=() - - # Upstream considers meson "experimental" until 3.2.0 according to their roadmap - emesonargs+=( -Dack_experimental=true ) - - if use dedicated || use server ; then - emesonargs+=( -Dserver=enabled ) - elif use web-server; then - emesonargs+=( -Dserver=freeciv-web ) - else - emesonargs+=( -Dserver=disabled ) - fi - - # Select any client backends that we want enabled; dedicated server shouldn't build a UI - # for sanity we'll build the modpack bin with the same UIs as the client. - # 'fcmp' = freeciv modpack (client) - gtk3, qt, cli, gtk4 - freeciv_enable_ui() { - local flag=$1 - local client_name=${2:-${flag}} - local fcmp_name=${3:-${client_name}} - - if use ${flag} ; then - myclient+=( ${client_name} ) - use modpack && myfcmp+=( ${fcmp_name} ) - fi - } - - if ! use dedicated ; then - # there's no SDL modpack backend; rather than incidentally pull in GTK3 (as is default) - # let's explicitly set the backend to CLI - freeciv_enable_ui sdl sdl2 cli - freeciv_enable_ui gtk3 gtk3.22 gtk3 - freeciv_enable_ui gtk4 - freeciv_enable_ui qt5 qt - freeciv_enable_ui qt6 qt - use qt5 && emesonargs+=( -Dqtver=qt5 ) - use qt6 && emesonargs+=( -Dqtver=qt6 ) - else - if use modpack ; then - myfcmp+=( cli ) - fi - fi - - # the client and fpmc arrays are now populated (or not for dedicated); let's add them to emesonargs - emesonargs+=( - -Dclients=$(echo ${myclient[*]} | sed 's/ /,/g') - -Dfcmp=$(echo ${myfcmp[*]} | sed 's/ /,/g') - ) - - # If we're building a live ebuild, we want to include the git revision in the version string - if [[ ${PV} == 9999 ]] ; then - emesonargs+=( -Dgitrev=true ) - fi - - # Anything that can be trivially set by meson_use goes here - emesonargs+=( - $(meson_use json json-protocol) - $(meson_use mapimg mwand) - $(meson_use nls) - $(meson_use readline) - $(meson_use rule-editor ruledit) - $(meson_use sound audio) - $(meson_use system-lua syslua) - ) - - meson_src_configure -} - -src_install() { - - meson_src_install - # Create and install the html manual and then cleanup the tool because it's useless. - # TODO: for proper localisation this should be run during postinst but - # that would require a lot of work 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 - $(find "${WORKDIR}" -type d -maxdepth 1 -mindepth 1 -iname '*-build')/freeciv-manual -r ${RULESET} || die - docinto html/rulesets/${RULESET} - dodoc ${RULESET}*.html - done - - find "${ED}" -name "freeciv-manual*" -delete || die "Failed to remove freeciv-manual" - - 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 - fi - -} - -pkg_postinst() { - if [[ -z ${REPLACING_VERSIONS} ]]; then - einfo "There are a number of supported authentication backends." - einfo "sqlite3 is the default, however dedicated servers may wish to" - einfo "use another supported backend; please consult the documentation" - einfo "to configure freeciv for a particular backend:" - einfo "https://github.com/freeciv/freeciv/blob/main/doc/README.fcdb" - fi -} diff --git a/games-strategy/freeciv/metadata.xml b/games-strategy/freeciv/metadata.xml index 2131b4947957..9a51d4a95eeb 100644 --- a/games-strategy/freeciv/metadata.xml +++ b/games-strategy/freeciv/metadata.xml @@ -6,10 +6,6 @@ Gentoo Games Project - Support for dynamically loadable AI - modules (server-side) - Add authentication capability via - mysql, postgres, or sqlite3 Build the gtk3 client Build the gtk4 client Add support for JSON via -- cgit v1.2.3