diff options
Diffstat (limited to 'net-p2p/retroshare')
-rw-r--r-- | net-p2p/retroshare/metadata.xml | 16 | ||||
-rw-r--r-- | 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 d634614148a0..6f5d194f45d1 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 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() { |