From c1d3bf0747652395bfc75312a3639e9e07a4fc3f Mon Sep 17 00:00:00 2001 From: Gioacchino Mazzurco Date: Mon, 23 Apr 2018 10:53:16 +0200 Subject: 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(-) (limited to 'net-p2p/retroshare') diff --git a/net-p2p/retroshare/metadata.xml b/net-p2p/retroshare/metadata.xml index d634614148a0..6f5d194f45d1 100644 --- a/net-p2p/retroshare/metadata.xml +++ b/net-p2p/retroshare/metadata.xml @@ -14,24 +14,26 @@ Sergey Popov - 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. Enables the CLI version of RetroShare + Enables API via Unix socket support Enables the Feedreader plugin Enables potentially insecure autologin capability via Gnome Keyring Enables the GUI version of RetroShare + Enables settings control via API + Enables GXS database encryption via SQLCipher Enables VOIP plugin + Enables Web interface and API support - https://sourceforge.net/p/retroshare/bugs - retroshare + https://github.com/RetroShare/RetroShare/issues RetroShare/RetroShare diff --git a/net-p2p/retroshare/retroshare-0.6.9999.ebuild b/net-p2p/retroshare/retroshare-0.6.9999.ebuild index 2a62dc7dc3dc..0db2373b5c22 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() { -- cgit v1.2.3-65-gdbad