From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <gentoo-commits+bounces-1029115-garchives=archives.gentoo.org@lists.gentoo.org>
Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80])
	(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
	(No client certificate requested)
	by finch.gentoo.org (Postfix) with ESMTPS id 57A69138334
	for <garchives@archives.gentoo.org>; Sat,  9 Jun 2018 21:15:52 +0000 (UTC)
Received: from pigeon.gentoo.org (localhost [127.0.0.1])
	by pigeon.gentoo.org (Postfix) with SMTP id 739CEE087B;
	Sat,  9 Jun 2018 21:15:50 +0000 (UTC)
Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183])
	(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
	(No client certificate requested)
	by pigeon.gentoo.org (Postfix) with ESMTPS id 33FFCE087B
	for <gentoo-commits@lists.gentoo.org>; Sat,  9 Jun 2018 21:15:49 +0000 (UTC)
Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52])
	(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
	(No client certificate requested)
	by smtp.gentoo.org (Postfix) with ESMTPS id 95670335C9E
	for <gentoo-commits@lists.gentoo.org>; Sat,  9 Jun 2018 21:15:47 +0000 (UTC)
Received: from localhost.localdomain (localhost [IPv6:::1])
	by oystercatcher.gentoo.org (Postfix) with ESMTP id 3C6F62C5
	for <gentoo-commits@lists.gentoo.org>; Sat,  9 Jun 2018 21:15:45 +0000 (UTC)
From: "Michał Górny" <mgorny@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Content-Transfer-Encoding: 8bit
Content-type: text/plain; charset=UTF-8
Reply-To: gentoo-dev@lists.gentoo.org, "Michał Górny" <mgorny@gentoo.org>
Message-ID: <1528578936.c1d3bf0747652395bfc75312a3639e9e07a4fc3f.mgorny@gentoo>
Subject: [gentoo-commits] repo/gentoo:master commit in: net-p2p/retroshare/
X-VCS-Repository: repo/gentoo
X-VCS-Files: net-p2p/retroshare/metadata.xml net-p2p/retroshare/retroshare-0.6.9999.ebuild
X-VCS-Directories: net-p2p/retroshare/
X-VCS-Committer: mgorny
X-VCS-Committer-Name: Michał Górny
X-VCS-Revision: c1d3bf0747652395bfc75312a3639e9e07a4fc3f
X-VCS-Branch: master
Date: Sat,  9 Jun 2018 21:15:45 +0000 (UTC)
Precedence: bulk
List-Post: <mailto:gentoo-commits@lists.gentoo.org>
List-Help: <mailto:gentoo-commits+help@lists.gentoo.org>
List-Unsubscribe: <mailto:gentoo-commits+unsubscribe@lists.gentoo.org>
List-Subscribe: <mailto:gentoo-commits+subscribe@lists.gentoo.org>
List-Id: Gentoo Linux mail <gentoo-commits.gentoo.org>
X-BeenThere: gentoo-commits@lists.gentoo.org
X-Archives-Salt: 475595ea-dc03-439e-a201-294ca3ae6d23
X-Archives-Hash: 7e5f5eb7a9844b5f5cc1c7b8a910df34

commit:     c1d3bf0747652395bfc75312a3639e9e07a4fc3f
Author:     Gioacchino Mazzurco <gio <AT> eigenlab <DOT> org>
AuthorDate: Mon Apr 23 08:53:16 2018 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Jun  9 21:15:36 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c1d3bf07

net-p2p/retroshare update development ebuild

Development version of retroshare expose qmake flags that permit easier
build customization without crufty patching, improve development ebuild
to take advantage of that and have a cleaner ebuild.

Removed VoIP and feedreader plugins are not maintained.

For future stable versions this ebuild should be used as reference
and not the older ones.

Development version depends on rapidjson.

Closes: https://github.com/gentoo/gentoo/pull/8115

 net-p2p/retroshare/metadata.xml               |  16 +--
 net-p2p/retroshare/retroshare-0.6.9999.ebuild | 134 ++++++++++----------------
 2 files changed, 61 insertions(+), 89 deletions(-)

diff --git a/net-p2p/retroshare/metadata.xml b/net-p2p/retroshare/metadata.xml
index d634614148a..6f5d194f45d 100644
--- a/net-p2p/retroshare/metadata.xml
+++ b/net-p2p/retroshare/metadata.xml
@@ -14,24 +14,26 @@
 		<name>Sergey Popov</name>
 	</maintainer>
 	<longdescription lang="en">
-		RetroShare is a Open Source cross-platform, Friend-2-Friend and
+		RetroShare is a Free and Open Source cross-platform, Friend-2-Friend
 		secure decentralised communication platform.
-		It lets you to securely chat and share files with your friends
-		and family, using a web-of-trust to authenticate peers and OpenSSL
+		It lets you to securely chat and share files with your friends, family
+		and even unknown people using PGP to authenticate peers and OpenSSL
 		to encrypt all communication.
-		RetroShare provides filesharing, chat, messages, forums and
-		channels
+		RetroShare provides filesharing, chat, mails, forums and channels.
 	</longdescription>
 	<use>
 		<flag name="cli">Enables the CLI version of RetroShare</flag>
+		<flag name="control-socket">Enables API via Unix socket support</flag>
 		<flag name="feedreader">Enables the Feedreader plugin</flag>
 		<flag name="gnome-keyring">Enables potentially insecure autologin capability via Gnome Keyring</flag>
 		<flag name="gui">Enables the GUI version of RetroShare</flag>
+		<flag name="settings-api">Enables settings control via API</flag>
+		<flag name="sqlcipher">Enables GXS database encryption via SQLCipher</flag>
 		<flag name="voip">Enables VOIP plugin</flag>
+		<flag name="webui">Enables Web interface and API support</flag>
 	</use>
 	<upstream>
-		<bugs-to>https://sourceforge.net/p/retroshare/bugs</bugs-to>
-		<remote-id type="sourceforge">retroshare</remote-id>
+		<bugs-to>https://github.com/RetroShare/RetroShare/issues</bugs-to>
 		<remote-id type="github">RetroShare/RetroShare</remote-id>
 	</upstream>
 </pkgmetadata>

diff --git a/net-p2p/retroshare/retroshare-0.6.9999.ebuild b/net-p2p/retroshare/retroshare-0.6.9999.ebuild
index 2a62dc7dc3d..0db2373b5c2 100644
--- a/net-p2p/retroshare/retroshare-0.6.9999.ebuild
+++ b/net-p2p/retroshare/retroshare-0.6.9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=6
@@ -10,135 +10,105 @@ DESCRIPTION="P2P private sharing application"
 HOMEPAGE="http://retroshare.net"
 
 # pegmarkdown can also be used with MIT
-LICENSE="GPL-2 GPL-3 Apache-2.0 LGPL-2.1"
+LICENSE="AGPL-3 GPL-2 GPL-3 Apache-2.0 LGPL-2.1"
 SLOT="0"
 KEYWORDS=""
 
-IUSE="cli feedreader gnome-keyring +gui voip"
+IUSE="cli control-socket gnome-keyring +gui settings-api +sqlcipher +webui"
 REQUIRED_USE="
 	|| ( cli gui )
-	feedreader? ( gui )
-	voip? ( gui )"
+	settings-api? ( || ( control-socket webui ) )"
 
 RDEPEND="
 	app-arch/bzip2
-	dev-db/sqlcipher
-	dev-libs/openssl:0
-	dev-qt/qtcore:5
-	dev-qt/qtmultimedia:5
-	dev-qt/qtnetwork:5
-	dev-qt/qtprintsupport:5
-	dev-qt/qtscript:5
-	dev-qt/qtxml:5
-	net-libs/libmicrohttpd
-	net-libs/libupnp:0
+	dev-libs/openssl:0=
+	>=dev-libs/rapidjson-1.1.0
+	net-libs/libupnp:0=
 	sys-libs/zlib
+	control-socket? ( dev-qt/qtnetwork:5 )
 	gnome-keyring? ( gnome-base/libgnome-keyring )
-	feedreader? (
-		dev-libs/libxml2
-		dev-libs/libxslt
-		net-misc/curl
-	)
 	gui? (
-		dev-qt/designer:5
+		dev-qt/qtcore:5
+		dev-qt/qtmultimedia:5
+		dev-qt/qtnetwork:5
+		dev-qt/qtprintsupport:5
+		dev-qt/qtscript:5
+		dev-qt/qtxml:5
 		dev-qt/qtgui:5
 		dev-qt/qtwidgets:5
 		dev-qt/qtx11extras:5
 		x11-libs/libX11
 		x11-libs/libXScrnSaver
 	)
-	voip? (
-		media-libs/opencv[-qt4(-)]
-		media-libs/speex
-		virtual/ffmpeg[encode]
-	)"
-DEPEND="${RDEPEND}
-	virtual/pkgconfig"
-
-src_prepare() {
-	local dir
-
-	sed -i \
-		-e "s|/usr/lib/retroshare/extensions6/|/usr/$(get_libdir)/${PN}/extensions6/|" \
-		libretroshare/src/rsserver/rsinit.cc \
-		|| die "sed on libretroshare/src/rsserver/rsinit.cc failed"
+	settings-api? ( dev-qt/qtcore:5 )
+	sqlcipher? ( dev-db/sqlcipher )
+	!sqlcipher? ( dev-db/sqlite:3 )
+	webui? ( net-libs/libmicrohttpd )"
 
-	rs_src_dirs="libbitdht/src openpgpsdk/src libresapi/src libretroshare/src supportlibs/pegmarkdown"
-	use cli && rs_src_dirs="${rs_src_dirs} retroshare-nogui/src"
-	use feedreader && rs_src_dirs="${rs_src_dirs} plugins/FeedReader"
-	use gui && rs_src_dirs="${rs_src_dirs} retroshare-gui/src"
-	use voip && rs_src_dirs="${rs_src_dirs} plugins/VOIP"
-
-	# Force linking to sqlcipher ONLY
-	sed -i \
-		-e '/isEmpty(SQLCIPHER_OK) {/aerror(libsqlcipher not found)' \
-		retroshare-gui/src/retroshare-gui.pro \
-		retroshare-nogui/src/retroshare-nogui.pro || die 'sed on retroshare-gui/src/retroshare-gui.pro failed'
-
-	# Avoid openpgpsdk false dependency on qtgui
-	sed -i '2iQT -= gui' openpgpsdk/src/openpgpsdk.pro || die
-
-	eapply_user
-}
+DEPEND="${RDEPEND}
+	gui? ( dev-qt/designer:5 )
+	dev-qt/qtcore:5
+	virtual/pkgconfig
+"
 
 src_configure() {
-	for dir in ${rs_src_dirs} ; do
-		pushd "${S}/${dir}" >/dev/null || die
-		eqmake5 $(use gnome-keyring && echo CONFIG+=rs_autologin)
-		popd >/dev/null || die
-	done
-}
+	local qConfigs=()
 
-src_compile() {
-	local dir
-
-	for dir in ${rs_src_dirs} ; do
-		emake -C "${dir}"
-	done
+	qConfigs+=( $(usex cli '' 'no_')retroshare_nogui )
+	qConfigs+=( $(usex control-socket '' 'no_')libresapilocalserver )
+	qConfigs+=( $(usex gnome-keyring '' 'no_')rs_autologin )
+	qConfigs+=( $(usex gui '' 'no_')retroshare_gui )
+	qConfigs+=( $(usex settings-api '' 'no_')libresapi_settings )
+	qConfigs+=( $(usex sqlcipher '' 'no_')sqlcipher )
+	qConfigs+=( $(usex webui '' 'no_')libresapihttpserver )
 
-	unset rs_src_dirs
+	eqmake5 CONFIG+="${qConfigs[*]}"
 }
 
 src_install() {
-	local i
-	local extension_dir="/usr/$(get_libdir)/${PN}/extensions6/"
-
 	use cli && dobin retroshare-nogui/src/retroshare-nogui
 	use gui && dobin retroshare-gui/src/retroshare
 
-	exeinto "${extension_dir}"
-	use feedreader && doexe plugins/FeedReader/*.so*
-	use voip && doexe plugins/VOIP/*.so*
-
 	insinto /usr/share/retroshare
 	doins libbitdht/src/bitdht/bdboot.txt
 
-	doins -r libresapi/src/webui
+	use webui && doins -r libresapi/src/webui
 
 	dodoc README.md
 	make_desktop_entry retroshare
+
 	for i in 24 48 64 128 ; do
 		doicon -s ${i} "data/${i}x${i}/apps/retroshare.png"
 	done
 }
 
+pkg_pretend() {
+	if ! use sqlcipher; then
+		ewarn "You have disabled GXS database encryption, ${PN} will use SQLite"
+		ewarn "instead of SQLCipher for GXS databases."
+		ewarn "Builds using SQLite and builds using SQLCipher have incompatible"
+		ewarn "database format, so you will need to manually delete GXS"
+		ewarn "database (loosing all your GXS data and identities) when you"
+		ewarn "toggle sqlcipher USE flag."
+	fi
+}
+
 pkg_preinst() {
 	local ver
 	for ver in ${REPLACING_VERSIONS}; do
 		if ! version_is_at_least 0.5.9999 ${ver}; then
-			elog "You are upgrading from Retroshare 0.5.* to ${PV}"
-			elog "Version 0.6.* is backward-incompatible with 0.5 branch"
-			elog "and clients with 0.6.* can not connect to clients that have 0.5.*"
-			elog "It's recommended to drop all your configuration and either"
-			elog "generate a new certificate or import existing from a backup"
+			ewarn "You are upgrading from Retroshare 0.5.* to ${PV}"
+			ewarn "Version 0.6.* is backward-incompatible with 0.5 branch"
+			ewarn "and clients with 0.6.* can not connect to clients that have 0.5.*"
+			ewarn "It's recommended to drop all your configuration and either"
+			ewarn "generate a new certificate or import existing from a backup"
 			break
 		fi
-		if version_is_at_least 0.6.0 ${ver}; then
-			elog "Main executable was renamed upstream from RetroShare06 to retroshare"
+		if version_is_at_least 0.6.0 ${ver} && ! version_is_at_least 0.6.4 ${ver}; then
+			elog "Main executable has been renamed upstream from RetroShare06 to retroshare"
 			break
 		fi
 	done
-	gnome2_icon_savelist
 }
 
 pkg_postinst() {