summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGioacchino Mazzurco <gio@eigenlab.org>2018-04-23 10:53:16 +0200
committerMichał Górny <mgorny@gentoo.org>2018-06-09 23:15:36 +0200
commitc1d3bf0747652395bfc75312a3639e9e07a4fc3f (patch)
treeb6968d1755c7585ff73963d4df31325d6f9285fa /net-p2p/retroshare
parentsci-biology/rebase: Bump to latest release (diff)
downloadgentoo-c1d3bf0747652395bfc75312a3639e9e07a4fc3f.tar.gz
gentoo-c1d3bf0747652395bfc75312a3639e9e07a4fc3f.tar.bz2
gentoo-c1d3bf0747652395bfc75312a3639e9e07a4fc3f.zip
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
Diffstat (limited to 'net-p2p/retroshare')
-rw-r--r--net-p2p/retroshare/metadata.xml16
-rw-r--r--net-p2p/retroshare/retroshare-0.6.9999.ebuild134
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() {