public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: games-strategy/freeciv/files/, games-strategy/freeciv/
@ 2020-06-14 17:00 Lars Wendler
  0 siblings, 0 replies; 4+ messages in thread
From: Lars Wendler @ 2020-06-14 17:00 UTC (permalink / raw
  To: gentoo-commits

commit:     16538e4c1056d7b60eeaa695a0c2139db8a65858
Author:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
AuthorDate: Sun Jun 14 17:00:34 2020 +0000
Commit:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Sun Jun 14 17:00:42 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=16538e4c

games-strategy/freeciv: Fixed build against qt-5.15

Closes: https://bugs.gentoo.org/728254
Package-Manager: Portage-2.3.100, Repoman-2.3.22
Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org>

 .../freeciv/files/freeciv-2.6.2-qt515.patch        | 39 ++++++++++++++++++++++
 games-strategy/freeciv/freeciv-2.6.2.ebuild        |  4 +++
 2 files changed, 43 insertions(+)

diff --git a/games-strategy/freeciv/files/freeciv-2.6.2-qt515.patch b/games-strategy/freeciv/files/freeciv-2.6.2-qt515.patch
new file mode 100644
index 00000000000..db5e657a585
--- /dev/null
+++ b/games-strategy/freeciv/files/freeciv-2.6.2-qt515.patch
@@ -0,0 +1,39 @@
+From 87f4abf81d530b825d0af772d95fd1ea78503e64 Mon Sep 17 00:00:00 2001
+From: Marko Lindqvist <cazfi74@gmail.com>
+Date: Tue, 7 Apr 2020 13:22:14 +0300
+Subject: [PATCH] Include <QPainterPath> where needed
+
+This fixes Qt-client build on OpenEmbedded
+
+See hrm Bug #868060
+
+Signed-off-by: Marko Lindqvist <cazfi74@gmail.com>
+---
+ client/gui-qt/canvas.cpp  | 1 +
+ client/gui-qt/dialogs.cpp | 1 +
+ 2 files changed, 2 insertions(+)
+
+diff --git a/client/gui-qt/canvas.cpp b/client/gui-qt/canvas.cpp
+index 24291bc183..00fa1b8f52 100644
+--- a/client/gui-qt/canvas.cpp
++++ b/client/gui-qt/canvas.cpp
+@@ -18,6 +18,7 @@
+ // Qt
+ #include <QFontMetrics>
+ #include <QPainter>
++#include <QPainterPath>
+ 
+ // qt-client
+ #include "canvas.h"
+diff --git a/client/gui-qt/dialogs.cpp b/client/gui-qt/dialogs.cpp
+index e0f9de31d4..4b3254c496 100644
+--- a/client/gui-qt/dialogs.cpp
++++ b/client/gui-qt/dialogs.cpp
+@@ -24,6 +24,7 @@
+ #include <QMessageBox>
+ #include <QMouseEvent>
+ #include <QPainter>
++#include <QPainterPath>
+ #include <QRadioButton>
+ #include <QRect>
+ #include <QSignalMapper>

diff --git a/games-strategy/freeciv/freeciv-2.6.2.ebuild b/games-strategy/freeciv/freeciv-2.6.2.ebuild
index e8166766834..2b5d791692c 100644
--- a/games-strategy/freeciv/freeciv-2.6.2.ebuild
+++ b/games-strategy/freeciv/freeciv-2.6.2.ebuild
@@ -70,6 +70,10 @@ RDEPEND="${DEPEND}"
 
 S="${WORKDIR}/${MY_P}"
 
+PATCHES=(
+	"${FILESDIR}/${P}-qt515.patch" #728254
+)
+
 pkg_setup() {
 	if use !dedicated && use !server ; then
 		ewarn "Disabling server USE flag will make it impossible"


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: games-strategy/freeciv/files/, games-strategy/freeciv/
@ 2023-06-30  7:18 Sam James
  0 siblings, 0 replies; 4+ messages in thread
From: Sam James @ 2023-06-30  7:18 UTC (permalink / raw
  To: gentoo-commits

commit:     08e5f37bdc8170cba7357f6c5d14ab7b300e572a
Author:     Matt Jolly <Matt.Jolly <AT> footclan <DOT> ninja>
AuthorDate: Sun Jun 11 07:07:00 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Jun 30 07:17:44 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=08e5f37b

games-strategy/freeciv: add 3.1.0_beta2, 9999

Switch to meson build; it'll be the default next version anyway
and it's better than autotools (controversial opinion, I know).

Signed-off-by: Matt Jolly <Matt.Jolly <AT> footclan.ninja>
Closes: https://github.com/gentoo/gentoo/pull/31381
Signed-off-by: Sam James <sam <AT> gentoo.org>

 games-strategy/freeciv/Manifest                    |   1 +
 .../files/freeciv-3.1.0_beta2-lua-search.patch     |  21 +++
 games-strategy/freeciv/freeciv-3.1.0_beta2.ebuild  | 198 +++++++++++++++++++++
 games-strategy/freeciv/freeciv-9999.ebuild         | 194 ++++++++++++++++++++
 games-strategy/freeciv/metadata.xml                |  11 +-
 5 files changed, 423 insertions(+), 2 deletions(-)

diff --git a/games-strategy/freeciv/Manifest b/games-strategy/freeciv/Manifest
index 68270362a7df..07b520312249 100644
--- a/games-strategy/freeciv/Manifest
+++ b/games-strategy/freeciv/Manifest
@@ -1 +1,2 @@
 DIST freeciv-3.0.1.tar.xz 33528292 BLAKE2B e19cae8a02aa4b9afc2895560aa7a8d6135a63a0e757c348a75e72522448a026874f8f0120448b38ca2fee0ecc42dd04d80345d9877554168ad07ca2a20e5dcc SHA512 0f28aa7eb6adc2c4fe2af31265965ec30b4ea4f12121c4240ca896070f4ea574db58f02240e74822b9d498e112bcdb7036bb69f3d0b33cea5fec724e9e47da34
+DIST freeciv-3.1.0_beta2.tar.gz 127527752 BLAKE2B 457e01787e2dccb4862de5519a4ea51bcfe240c0948e2cd97b09ae6d4e2c27d4196329326cd7c0489ce1e37dbc548f4f31fcd7c5f57b15b53b49dd6e54fef032 SHA512 2b15134454bf7ca885287985bb6d17a31f6cbfdec87fa8e6fd7fce000a2bfc1fa888dd7a2e244df4460d08011e87876800190a9fa8ea825789eec0e434348920

diff --git a/games-strategy/freeciv/files/freeciv-3.1.0_beta2-lua-search.patch b/games-strategy/freeciv/files/freeciv-3.1.0_beta2-lua-search.patch
new file mode 100644
index 000000000000..e7c8123f9985
--- /dev/null
+++ b/games-strategy/freeciv/files/freeciv-3.1.0_beta2-lua-search.patch
@@ -0,0 +1,21 @@
+This patches meson.build to enable it to find lua in any of its
+many wonderous hiding places. It also bumps the meson version so that
+there's a ton less boilerplate to do so.
+--- a/meson.build
++++ b/meson.build
+@@ -1,5 +1,5 @@
+ 
+-project('freeciv', ['c', 'cpp'], meson_version: '>= 0.57.0')
++project('freeciv', ['c', 'cpp'], meson_version: '>= 0.60.0')
+ 
+ if not get_option('ack_experimental')
+   error('Autotools are still the only fully supported way to build freeciv.\nSet configure option "ack_experimental" to true if you really want to do experimental meson build.\n' +
+@@ -436,7 +436,7 @@ endif
+ icu_dep = dependency('icu-uc')
+ 
+ syslua = get_option('syslua')
+-lua_dep_tmp = dependency('lua-5.4', required:false)
++lua_dep_tmp = dependency('lua-5.4', 'lua-54', 'lua54', 'lua5.4', required:false)
+ 
+ if syslua != 'false' and lua_dep_tmp.found()
+   lua_inc_path = []

diff --git a/games-strategy/freeciv/freeciv-3.1.0_beta2.ebuild b/games-strategy/freeciv/freeciv-3.1.0_beta2.ebuild
new file mode 100644
index 000000000000..bf93bfe2a9ee
--- /dev/null
+++ b/games-strategy/freeciv/freeciv-3.1.0_beta2.ebuild
@@ -0,0 +1,198 @@
+# Copyright 1999-2023 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="http://www.freeciv.org/"
+
+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"
+	KEYWORDS="~amd64 ~ppc64 ~x86"
+	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 +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 ) )
+	qt5?  ( !qt6 )
+	qt6?  ( !qt5 )
+"
+
+RDEPEND="
+	app-arch/bzip2
+	app-arch/xz-utils
+	app-arch/zstd:=
+	dev-db/sqlite:3
+	dev-libs/icu:=
+	net-misc/curl
+	sys-devel/libtool
+	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 )
+"
+
+PATCHES=(
+	"${FILESDIR}"/${P}-lua-search.patch
+)
+
+pkg_setup() {
+	use system-lua && lua-single_pkg_setup
+}
+
+src_configure() {
+	local myclient=() emesonargs=() myfcmp=()
+
+	# Upstream considers meson "experimental" until 3.2.0 according to their roadmap
+	emesonargs+=( -Dack_experimental=true )
+
+	# meson build drops the ability to _not_ build a server in favour
+	# of optionally replacing the server binary the freeciv-web backend
+	emesonargs+=(
+		$(meson_use web-server freeciv-web)
+	)
+
+	# 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() {
+
+	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
+	fi
+	# 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.
+	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
+	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
+	find "${ED}" -name "freeciv-manual*" -delete || die
+
+	rm -f "${ED}/usr/$(get_libdir)"/*.a || die
+	find "${ED}" -type f -name "*.la" -delete || die
+	meson_src_install
+}
+
+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-9999.ebuild b/games-strategy/freeciv/freeciv-9999.ebuild
new file mode 100644
index 000000000000..0b65cd815449
--- /dev/null
+++ b/games-strategy/freeciv/freeciv-9999.ebuild
@@ -0,0 +1,194 @@
+# Copyright 1999-2023 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="http://www.freeciv.org/"
+
+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"
+	KEYWORDS="~amd64 ~ppc64 ~x86"
+	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 +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 ) )
+	qt5?  ( !qt6 )
+	qt6?  ( !qt5 )
+"
+
+RDEPEND="
+	app-arch/bzip2
+	app-arch/xz-utils
+	app-arch/zstd:=
+	dev-db/sqlite:3
+	dev-libs/icu:=
+	net-misc/curl
+	sys-devel/libtool
+	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
+}
+
+src_configure() {
+	local myclient=() emesonargs=() myfcmp=()
+
+	# Upstream considers meson "experimental" until 3.2.0 according to their roadmap
+	emesonargs+=( -Dack_experimental=true )
+
+	# meson build drops the ability to _not_ build a server in favour
+	# of optionally replacing the server binary the freeciv-web backend
+	emesonargs+=(
+		$(meson_use web-server freeciv-web)
+	)
+
+	# 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() {
+
+	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
+	fi
+	# 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.
+	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
+	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
+	find "${ED}" -name "freeciv-manual*" -delete || die
+
+	rm -f "${ED}/usr/$(get_libdir)"/*.a || die
+	find "${ED}" -type f -name "*.la" -delete || die
+	meson_src_install
+}
+
+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 35c7dccc5b31..1c8e7e53bd9e 100644
--- a/games-strategy/freeciv/metadata.xml
+++ b/games-strategy/freeciv/metadata.xml
@@ -9,19 +9,26 @@
 		<flag name="aimodules">Support for dynamically loadable AI
 			modules (server-side)</flag>
 		<flag name="auth">Add authentication capability via
-			mysql, postgres or sqlite3</flag>
+			mysql, postgres, or sqlite3</flag>
+		<flag name="gtk3">Build the gtk3 client</flag>
+		<flag name="gtk4">Build the gtk4 client</flag>
+		<flag name="json">Add support for JSON via
+			<pkg>dev-libs/jansson</pkg></flag>
 		<flag name="mapimg">Additional mag image toolkit
 			via <pkg>media-gfx/imagemagick</pkg></flag>
 		<flag name="modpack">Build the freeciv-modpack-program
 			to download/install mods</flag>
+		<flag name="rule-editor">Build ruleset editor</flag>
 		<flag name="server">Enable server support. Disabling this
 			will also make it impossible to start local games.</flag>
 		<flag name="sound">Add support for sound provided by
 			<pkg>media-libs/sdl-mixer</pkg></flag>
 		<flag name="system-lua">Use <pkg>dev-lang/lua</pkg> instead of
 			the bundled liblua</flag>
+		<flag name="web-server">Build the freeciv-web server in place
+			of the freeciv server</flag>
 	</use>
 	<upstream>
-		<remote-id type="sourceforge">freeciv</remote-id>
+		<remote-id type="github">freeciv/freeciv</remote-id>
 	</upstream>
 </pkgmetadata>


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: games-strategy/freeciv/files/, games-strategy/freeciv/
@ 2024-02-10 21:15 Matt Jolly
  0 siblings, 0 replies; 4+ messages in thread
From: Matt Jolly @ 2024-02-10 21:15 UTC (permalink / raw
  To: gentoo-commits

commit:     1f5db9b248ebbb86b90e49a4bf6e15a5175d9fe3
Author:     Matt Jolly <Matt.Jolly <AT> footclan <DOT> ninja>
AuthorDate: Sun Dec 17 19:21:12 2023 +0000
Commit:     Matt Jolly <kangie <AT> gentoo <DOT> org>
CommitDate: Sat Feb 10 21:15:00 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1f5db9b2

games-strategy/freeciv: add 3.1.0_beta4

Closes: https://bugs.gentoo.org/913868
Closes: https://bugs.gentoo.org/909397
Signed-off-by: Matt Jolly <Matt.Jolly <AT> footclan.ninja>
Signed-off-by: Matt Jolly <kangie <AT> gentoo.org>

 games-strategy/freeciv/Manifest                    |  1 +
 ...-3.1.0_beta4-fix-manpage-install-location.patch | 34 ++++++++++++
 ...eciv-9999.ebuild => freeciv-3.1.0_beta4.ebuild} | 63 ++++++++++++++--------
 games-strategy/freeciv/freeciv-9999.ebuild         | 63 ++++++++++++++--------
 games-strategy/freeciv/metadata.xml                |  2 +
 5 files changed, 121 insertions(+), 42 deletions(-)

diff --git a/games-strategy/freeciv/Manifest b/games-strategy/freeciv/Manifest
index 07b520312249..eb1adb9d824b 100644
--- a/games-strategy/freeciv/Manifest
+++ b/games-strategy/freeciv/Manifest
@@ -1,2 +1,3 @@
 DIST freeciv-3.0.1.tar.xz 33528292 BLAKE2B e19cae8a02aa4b9afc2895560aa7a8d6135a63a0e757c348a75e72522448a026874f8f0120448b38ca2fee0ecc42dd04d80345d9877554168ad07ca2a20e5dcc SHA512 0f28aa7eb6adc2c4fe2af31265965ec30b4ea4f12121c4240ca896070f4ea574db58f02240e74822b9d498e112bcdb7036bb69f3d0b33cea5fec724e9e47da34
 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/files/freeciv-3.1.0_beta4-fix-manpage-install-location.patch b/games-strategy/freeciv/files/freeciv-3.1.0_beta4-fix-manpage-install-location.patch
new file mode 100644
index 000000000000..744d46749741
--- /dev/null
+++ b/games-strategy/freeciv/files/freeciv-3.1.0_beta4-fix-manpage-install-location.patch
@@ -0,0 +1,34 @@
+From 4518545bd37c6665db51ccd2da7c15bcceb1c0f8 Mon Sep 17 00:00:00 2001
+From: Matt Jolly <Matt.Jolly@footclan.ninja>
+Date: Sat, 10 Feb 2024 17:57:38 +1000
+Subject: [PATCH] When using meson we should still install 'man 6' pages to
+ ${mandir}/man6
+
+---
+ meson.build | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index 099e526..5ec0e79 100644
+--- a/meson.build
++++ b/meson.build
+@@ -2892,14 +2892,14 @@ endforeach
+ foreach manp : man_pages
+   install_data(
+     join_paths(b_root, manp + '.6'),
+-    install_dir : get_option('mandir')
++    install_dir : join_paths(get_option('mandir'), 'man6')
+     )
+ endforeach
+ 
+ foreach manp : man_links
+   install_data(
+     join_paths('doc/man/', manp + '.6'),
+-    install_dir : get_option('mandir')
++    install_dir : join_paths(get_option('mandir'), 'man6')
+     )
+ endforeach
+ 
+-- 
+2.43.0
+

diff --git a/games-strategy/freeciv/freeciv-9999.ebuild b/games-strategy/freeciv/freeciv-3.1.0_beta4.ebuild
similarity index 76%
copy from games-strategy/freeciv/freeciv-9999.ebuild
copy to games-strategy/freeciv/freeciv-3.1.0_beta4.ebuild
index fd6bf4d53f31..0b5e2c809016 100644
--- a/games-strategy/freeciv/freeciv-9999.ebuild
+++ b/games-strategy/freeciv/freeciv-3.1.0_beta4.ebuild
@@ -8,7 +8,7 @@ LUA_COMPAT=( lua5-4 )
 inherit desktop lua-single meson xdg
 
 DESCRIPTION="Multiplayer strategy game (Civilization Clone)"
-HOMEPAGE="https://www.freeciv.org/"
+HOMEPAGE="https://www.freeciv.org/ https://github.com/freeciv/freeciv/"
 
 if [[ ${PV} == 9999 ]] ; then
 	inherit git-r3
@@ -16,19 +16,22 @@ if [[ ${PV} == 9999 ]] ; then
 else
 	MY_PV="R${PV//./_}"
 	SRC_URI="https://github.com/freeciv/freeciv/archive/refs/tags/${MY_PV}.tar.gz -> ${P}.tar.gz"
-	KEYWORDS="~amd64 ~ppc64 ~x86"
+	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 +sound +system-lua web-server"
+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 )
 "
@@ -37,10 +40,10 @@ RDEPEND="
 	app-arch/bzip2
 	app-arch/xz-utils
 	app-arch/zstd:=
+	dev-build/libtool
 	dev-db/sqlite:3
 	dev-libs/icu:=
 	net-misc/curl
-	dev-build/libtool
 	sys-libs/zlib
 	!dedicated? (
 		media-libs/libpng
@@ -87,17 +90,31 @@ 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 )
 
-	# meson build drops the ability to _not_ build a server in favour
-	# of optionally replacing the server binary the freeciv-web backend
-	emesonargs+=(
-		$(meson_use web-server freeciv-web)
-	)
+	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.
@@ -156,31 +173,35 @@ src_configure() {
 
 src_install() {
 
-	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
-	fi
+	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
-	if use sdl ; then
-		make_desktop_entry freeciv-sdl "Freeciv (SDL)" freeciv-client
+
+	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
-		rm -f "${ED}"/usr/share/man/man6/freeciv-sdl* || die
+		# 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
-	rm -f "${ED}"/usr/share/man/man6/freeciv-xaw* || die
-	find "${ED}" -name "freeciv-manual*" -delete || die
 
-	rm -f "${ED}/usr/$(get_libdir)"/*.a || die
-	find "${ED}" -type f -name "*.la" -delete || die
-	meson_src_install
 }
 
 pkg_postinst() {

diff --git a/games-strategy/freeciv/freeciv-9999.ebuild b/games-strategy/freeciv/freeciv-9999.ebuild
index fd6bf4d53f31..0b5e2c809016 100644
--- a/games-strategy/freeciv/freeciv-9999.ebuild
+++ b/games-strategy/freeciv/freeciv-9999.ebuild
@@ -8,7 +8,7 @@ LUA_COMPAT=( lua5-4 )
 inherit desktop lua-single meson xdg
 
 DESCRIPTION="Multiplayer strategy game (Civilization Clone)"
-HOMEPAGE="https://www.freeciv.org/"
+HOMEPAGE="https://www.freeciv.org/ https://github.com/freeciv/freeciv/"
 
 if [[ ${PV} == 9999 ]] ; then
 	inherit git-r3
@@ -16,19 +16,22 @@ if [[ ${PV} == 9999 ]] ; then
 else
 	MY_PV="R${PV//./_}"
 	SRC_URI="https://github.com/freeciv/freeciv/archive/refs/tags/${MY_PV}.tar.gz -> ${P}.tar.gz"
-	KEYWORDS="~amd64 ~ppc64 ~x86"
+	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 +sound +system-lua web-server"
+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 )
 "
@@ -37,10 +40,10 @@ RDEPEND="
 	app-arch/bzip2
 	app-arch/xz-utils
 	app-arch/zstd:=
+	dev-build/libtool
 	dev-db/sqlite:3
 	dev-libs/icu:=
 	net-misc/curl
-	dev-build/libtool
 	sys-libs/zlib
 	!dedicated? (
 		media-libs/libpng
@@ -87,17 +90,31 @@ 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 )
 
-	# meson build drops the ability to _not_ build a server in favour
-	# of optionally replacing the server binary the freeciv-web backend
-	emesonargs+=(
-		$(meson_use web-server freeciv-web)
-	)
+	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.
@@ -156,31 +173,35 @@ src_configure() {
 
 src_install() {
 
-	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
-	fi
+	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
-	if use sdl ; then
-		make_desktop_entry freeciv-sdl "Freeciv (SDL)" freeciv-client
+
+	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
-		rm -f "${ED}"/usr/share/man/man6/freeciv-sdl* || die
+		# 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
-	rm -f "${ED}"/usr/share/man/man6/freeciv-xaw* || die
-	find "${ED}" -name "freeciv-manual*" -delete || die
 
-	rm -f "${ED}/usr/$(get_libdir)"/*.a || die
-	find "${ED}" -type f -name "*.la" -delete || die
-	meson_src_install
 }
 
 pkg_postinst() {

diff --git a/games-strategy/freeciv/metadata.xml b/games-strategy/freeciv/metadata.xml
index 1c8e7e53bd9e..2131b4947957 100644
--- a/games-strategy/freeciv/metadata.xml
+++ b/games-strategy/freeciv/metadata.xml
@@ -29,6 +29,8 @@
 			of the freeciv server</flag>
 	</use>
 	<upstream>
+		<bugs-to>https://osdn.net/projects/freeciv/ticket/</bugs-to>
 		<remote-id type="github">freeciv/freeciv</remote-id>
+		<remote-id type="sourceforge">freeciv</remote-id>
 	</upstream>
 </pkgmetadata>


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: games-strategy/freeciv/files/, games-strategy/freeciv/
@ 2024-09-25  8:31 Ionen Wolkens
  0 siblings, 0 replies; 4+ messages in thread
From: Ionen Wolkens @ 2024-09-25  8:31 UTC (permalink / raw
  To: gentoo-commits

commit:     d86d629461e6a7440aa942de7410ef1b30c07500
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Wed Sep 25 08:20:39 2024 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Wed Sep 25 08:30:45 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d86d6294

games-strategy/freeciv: drop 3.1.0

Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 games-strategy/freeciv/Manifest                    |   1 -
 .../freeciv/files/freeciv-3.1.0-qt6.patch          |  24 ---
 ...-3.1.0_beta4-fix-manpage-install-location.patch |  34 ----
 games-strategy/freeciv/freeciv-3.1.0.ebuild        | 216 ---------------------
 4 files changed, 275 deletions(-)

diff --git a/games-strategy/freeciv/Manifest b/games-strategy/freeciv/Manifest
index f6921ed2dbf9..6ec01692617b 100644
--- a/games-strategy/freeciv/Manifest
+++ b/games-strategy/freeciv/Manifest
@@ -1,2 +1 @@
-DIST freeciv-3.1.0.tar.gz 127748997 BLAKE2B 75b3d1341d8ab09af244f07f3df5b1817571c4958a4296f37f35a105fe5a8e3d2e8d2e0dc7eb1d1aaf3d4a4c6574ba75355595134dc5a255535bc14c604bb99f SHA512 514d796a54466790a5ce0f2abb6fd8cb9c124a2f19ab33d48ce7a7f0d8d92096b54352a5d3655da852cdbd807baf4969467e04b82f687347bdff92e09f7aad86
 DIST freeciv-3.1.2.tar.gz 127861796 BLAKE2B ab9c1b8ce2f54725505a21570bbadc906cde34db5e6796fd469556a6ee3bf9e0e05387a2da323f4fd18596e5c5fcb9c4448293f3fd989dfcc9251fe7626300a1 SHA512 6be7e3e3bf78d3606476a51a6c0115d3ef0fe0fa1f446496152873d624c9b7c074d7fb63fe23318a9b4ae2c2ce9acb52d19c0f08c060a64c65b1034df9521340

diff --git a/games-strategy/freeciv/files/freeciv-3.1.0-qt6.patch b/games-strategy/freeciv/files/freeciv-3.1.0-qt6.patch
deleted file mode 100644
index 9aa363a11e02..000000000000
--- a/games-strategy/freeciv/files/freeciv-3.1.0-qt6.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 8da1d4c91dff53db6d903730855ed6a02252e53d Mon Sep 17 00:00:00 2001
-From: Marko Lindqvist <cazfi74@gmail.com>
-Date: Wed, 17 Apr 2024 07:02:20 +0300
-Subject: [PATCH] Qt: Add Q_OBJECT for fc_shortcut_popup
-
-See RM #462
-
-Signed-off-by: Marko Lindqvist <cazfi74@gmail.com>
----
- client/gui-qt/shortcuts.h | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/client/gui-qt/shortcuts.h b/client/gui-qt/shortcuts.h
-index 7574ce4f8e..9d02d1c3f6 100644
---- a/client/gui-qt/shortcuts.h
-+++ b/client/gui-qt/shortcuts.h
-@@ -155,6 +155,7 @@ class line_edit : public QLineEdit
- **************************************************************************/
- class fc_shortcut_popup : public QDialog
- {
-+  Q_OBJECT
- public:
-   fc_shortcut_popup(QWidget *parent);
-   void run(fc_shortcut *s);

diff --git a/games-strategy/freeciv/files/freeciv-3.1.0_beta4-fix-manpage-install-location.patch b/games-strategy/freeciv/files/freeciv-3.1.0_beta4-fix-manpage-install-location.patch
deleted file mode 100644
index 744d46749741..000000000000
--- a/games-strategy/freeciv/files/freeciv-3.1.0_beta4-fix-manpage-install-location.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 4518545bd37c6665db51ccd2da7c15bcceb1c0f8 Mon Sep 17 00:00:00 2001
-From: Matt Jolly <Matt.Jolly@footclan.ninja>
-Date: Sat, 10 Feb 2024 17:57:38 +1000
-Subject: [PATCH] When using meson we should still install 'man 6' pages to
- ${mandir}/man6
-
----
- meson.build | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/meson.build b/meson.build
-index 099e526..5ec0e79 100644
---- a/meson.build
-+++ b/meson.build
-@@ -2892,14 +2892,14 @@ endforeach
- foreach manp : man_pages
-   install_data(
-     join_paths(b_root, manp + '.6'),
--    install_dir : get_option('mandir')
-+    install_dir : join_paths(get_option('mandir'), 'man6')
-     )
- endforeach
- 
- foreach manp : man_links
-   install_data(
-     join_paths('doc/man/', manp + '.6'),
--    install_dir : get_option('mandir')
-+    install_dir : join_paths(get_option('mandir'), 'man6')
-     )
- endforeach
- 
--- 
-2.43.0
-

diff --git a/games-strategy/freeciv/freeciv-3.1.0.ebuild b/games-strategy/freeciv/freeciv-3.1.0.ebuild
deleted file mode 100644
index 17f914cff915..000000000000
--- a/games-strategy/freeciv/freeciv-3.1.0.ebuild
+++ /dev/null
@@ -1,216 +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
-	"${FILESDIR}"/${P}-qt6.patch # from git master
-)
-
-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
-}


^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2024-09-25  8:31 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-09-25  8:31 [gentoo-commits] repo/gentoo:master commit in: games-strategy/freeciv/files/, games-strategy/freeciv/ Ionen Wolkens
  -- strict thread matches above, loose matches on Subject: below --
2024-02-10 21:15 Matt Jolly
2023-06-30  7:18 Sam James
2020-06-14 17:00 Lars Wendler

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox