diff options
author | Ben Kohler <bkohler@gentoo.org> | 2021-02-03 12:12:20 -0600 |
---|---|---|
committer | Ben Kohler <bkohler@gentoo.org> | 2021-02-03 12:18:02 -0600 |
commit | 3ca02924dcb7e13bc34a84b4ebeea876357ea8be (patch) | |
tree | 7a8bbfb10855dad23e9777eccbfe3908bb7c5a44 /net-p2p | |
parent | app-crypt/certbot-nginx: 1.12.0 bump 1.11.0 stable amd64/x86 with cleanup (diff) | |
download | gentoo-3ca02924dcb7e13bc34a84b4ebeea876357ea8be.tar.gz gentoo-3ca02924dcb7e13bc34a84b4ebeea876357ea8be.tar.bz2 gentoo-3ca02924dcb7e13bc34a84b4ebeea876357ea8be.zip |
net-p2p/retroshare: switch to miniupnpc & fix EAPI=7 conversion
Bug: https://bugs.gentoo.org/761885
Package-Manager: Portage-3.0.14, Repoman-3.0.2
Signed-off-by: Ben Kohler <bkohler@gentoo.org>
Diffstat (limited to 'net-p2p')
-rw-r--r-- | net-p2p/retroshare/retroshare-0.6.5-r1.ebuild | 153 |
1 files changed, 153 insertions, 0 deletions
diff --git a/net-p2p/retroshare/retroshare-0.6.5-r1.ebuild b/net-p2p/retroshare/retroshare-0.6.5-r1.ebuild new file mode 100644 index 000000000000..717d55dae57e --- /dev/null +++ b/net-p2p/retroshare/retroshare-0.6.5-r1.ebuild @@ -0,0 +1,153 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit desktop eutils qmake-utils xdg-utils + +DESCRIPTION="P2P private sharing application" +HOMEPAGE="https://retroshare.cc" +SRC_URI="https://github.com/RetroShare/RetroShare/releases/download/v${PV}/RetroShare-v${PV}-source-with-submodules.tar.gz -> ${P}.tar.gz" + +# pegmarkdown can also be used with MIT +LICENSE="AGPL-3 GPL-2 GPL-3 Apache-2.0 LGPL-3" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="cli control-socket gnome-keyring +gui +jsonapi service +sqlcipher webui +xapian" + +REQUIRED_USE=" + || ( cli gui service ) + service? ( jsonapi )" + +RDEPEND=" + app-arch/bzip2 + dev-libs/openssl:0= + >=dev-libs/rapidjson-1.1.0 + net-libs/miniupnpc:= + sys-libs/zlib + control-socket? ( dev-qt/qtnetwork:5 ) + gnome-keyring? ( app-crypt/libsecret ) + gui? ( + 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 + ) + service? ( dev-qt/qtcore:5 ) + sqlcipher? ( dev-db/sqlcipher ) + !sqlcipher? ( dev-db/sqlite:3 ) + webui? ( net-libs/libmicrohttpd ) + xapian? ( dev-libs/xapian )" + +DEPEND="${RDEPEND} + dev-qt/qtcore:5 + gui? ( dev-qt/designer:5 )" + +BDEPEND="dev-util/cmake + virtual/pkgconfig + jsonapi? ( + || ( + >=app-doc/doxygen-1.8.17 + <app-doc/doxygen-1.8.16 + ) + )" + +PATCHES=( "${FILESDIR}/${P}-qt-5.15.patch" ) + +S="${WORKDIR}"/RetroShare + +src_prepare() { + # CRLF endings break patch... + edos2unix retroshare-gui/src/gui/elastic/elnode.h + default +} + +src_configure() { + local qConfigs=() + + 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 jsonapi '' 'no_')rs_jsonapi ) + qConfigs+=( $(usex service '' 'no_')retroshare_service ) + qConfigs+=( $(usex sqlcipher '' 'no_')sqlcipher ) + qConfigs+=( $(usex webui '' 'no_')libresapihttpserver ) + qConfigs+=( $(usex xapian '' 'no_')rs_deep_search ) + + eqmake5 CONFIG+="${qConfigs[*]}" \ + RS_MAJOR_VERSION=$(ver_cut 1) RS_MINOR_VERSION=$(ver_cut 2) \ + RS_MINI_VERSION=$(ver_cut 3) RS_EXTRA_VERSION="-gentoo-${PR}" + RS_UPNP_LIB=miniupnpc +} + +src_compile() { + use jsonapi && { + nonfatal emake || + elog "Due to a bug in RetroShare-v0.6.5 build system when JSON API is enabled, failure at first emake is normal" + } + + emake +} + +src_install() { + use cli && dobin retroshare-nogui/src/retroshare-nogui + use gui && dobin retroshare-gui/src/retroshare + use service && dobin retroshare-service/src/retroshare-service + + insinto /usr/share/retroshare + doins libbitdht/src/bitdht/bdboot.txt + + 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 ver_test ${ver} -lt 0.5.9999; then + 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 ver_test ${ver} -ge 0.6.0 && ver_test ${ver} -lt 0.6.4; then + elog "Main executable has been renamed upstream from RetroShare06 to retroshare" + break + fi + done +} + +pkg_postinst() { + xdg_icon_cache_update +} + +pkg_postrm() { + xdg_icon_cache_update +} |