diff --git a/net-p2p/retroshare/files/retroshare-0.6.7_fix-old-rapidjson.patch b/net-p2p/retroshare/files/retroshare-0.6.7_fix-old-rapidjson.patch new file mode 100644 index 0000000000000..90c973c534939 --- /dev/null +++ b/net-p2p/retroshare/files/retroshare-0.6.7_fix-old-rapidjson.patch @@ -0,0 +1,24 @@ +This fixes a c23 issue in the rapidjson library: + + error: assignment of read-only member 'rapidjson::GenericStringRef::length' + +This was fixed upstream in 2016 and this patch combines two commit from PR +https://github.com/Tencent/rapidjson/pull/719 +We are using OpenBuildService as the tarball source and it bundles libraries that old. + +For Gentoo details see https://bugs.gentoo.org/945721 +--- a/supportlibs/rapidjson/include/rapidjson/document.h ++++ b/supportlibs/rapidjson/include/rapidjson/document.h +@@ -316,10 +316,10 @@ + + GenericStringRef(const GenericStringRef& rhs) : s(rhs.s), length(rhs.length) {} + +- GenericStringRef& operator=(const GenericStringRef& rhs) { s = rhs.s; length = rhs.length; } +- + //! implicit conversion to plain CharType pointer + operator const Ch *() const { return s; } ++ //! Copy assignment operator not permitted - immutable type ++ GenericStringRef& operator=(const GenericStringRef& rhs) /* = delete */; + + const Ch* const s; //!< plain CharType pointer + const SizeType length; //!< length of the string (excluding the trailing NULL terminator) diff --git a/net-p2p/retroshare/retroshare-0.6.7-r3.ebuild b/net-p2p/retroshare/retroshare-0.6.7-r3.ebuild new file mode 100644 index 0000000000000..a9cec116ed376 --- /dev/null +++ b/net-p2p/retroshare/retroshare-0.6.7-r3.ebuild @@ -0,0 +1,136 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit flag-o-matic desktop qmake-utils xdg + +DESCRIPTION="Friend to Friend secure communication and sharing application" +HOMEPAGE="https://retroshare.cc" +SRC_URI="https://download.opensuse.org/repositories/network:/retroshare/Debian_Testing/retroshare-common_${PV}.orig.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/RetroShare" +# NOTE: GitHub releases/archive is impractical to build so we use the OBS repo +# but they squash point releases and include 3rd party libraries in the tarball + +LICENSE="AGPL-3 Apache-2.0 CC-BY-SA-4.0 GPL-2 GPL-3 LGPL-3" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="cli +gui +jsonapi keyring libupnp +miniupnp plugins +service +sqlcipher" + +REQUIRED_USE=" + || ( gui service ) + ?? ( libupnp miniupnp ) + plugins? ( gui ) + service? ( || ( cli jsonapi ) ) +" +RDEPEND=" + app-arch/bzip2 + dev-libs/openssl:0= + sys-libs/zlib + gui? ( + dev-qt/qtcore:5 + dev-qt/qtgui:5 + dev-qt/qtmultimedia:5 + dev-qt/qtnetwork:5 + dev-qt/qtprintsupport:5 + dev-qt/qtwidgets:5 + dev-qt/qtx11extras:5 + dev-qt/qtxml:5 + x11-libs/libX11 + x11-libs/libXScrnSaver + ) + keyring? ( app-crypt/libsecret ) + libupnp? ( net-libs/libupnp:= ) + miniupnp? ( net-libs/miniupnpc:= ) + plugins? ( + media-libs/speex + media-libs/speexdsp +