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() {

Reply via email to