You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/net-p2p/retroshare/retroshare-0.6.6.ebuild

123 lines
3.4 KiB

# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit desktop qmake-utils xdg
DESCRIPTION="P2P private sharing application"
HOMEPAGE="https://retroshare.cc"
SRC_URI="http://download.opensuse.org/repositories/network:/retroshare/Debian_Testing/retroshare-common_${PV}.orig.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/RetroShare"
LICENSE="AGPL-3 Apache-2.0 CC-BY-SA-4.0 GPL-2 GPL-3 LGPL-3"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="autologin cli +gui +jsonapi libupnp +miniupnp +service +sqlcipher"
REQUIRED_USE="
|| ( gui service )
?? ( libupnp miniupnp )
service? ( || ( cli jsonapi ) )"
RDEPEND="
app-arch/bzip2
dev-libs/openssl:0=
>=dev-libs/rapidjson-1.1.0
sys-libs/zlib
autologin? ( 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
)
libupnp? ( net-libs/libupnp:= )
miniupnp? ( net-libs/miniupnpc:= )
service? ( dev-qt/qtcore:5 )
sqlcipher? ( dev-db/sqlcipher )
!sqlcipher? ( dev-db/sqlite:3 )"
DEPEND="${RDEPEND}
dev-qt/qtcore:5
gui? ( dev-qt/designer:5 )"
BDEPEND="dev-util/cmake
virtual/pkgconfig
jsonapi? ( app-doc/doxygen )"
PATCHES=( "${FILESDIR}/${P}-fix-cxx17-compilation.patch" )
src_configure() {
local qconfigs=(
$(usex cli '' 'no_')rs_service_terminal_login
$(usex autologin '' 'no_')rs_autologin
$(usex gui '' 'no_')retroshare_gui
$(usex jsonapi '' 'no_')rs_jsonapi
$(usex service '' 'no_')retroshare_service
$(usex sqlcipher '' 'no_')sqlcipher
)
local qupnplibs="none"
use miniupnp && qupnplibs="miniupnpc"
use libupnp && qupnplibs="upnp ixml"
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="${qupnplibs}"
}
src_install() {
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
dodoc README.asciidoc
if use gui; then
make_desktop_entry retroshare
for i in 24 48 64 128 ; do
doicon -s ${i} "data/${i}x${i}/apps/retroshare.png"
done
fi
}
pkg_preinst() {
xdg_pkg_preinst
if ! use sqlcipher && ! has_version "net-p2p/retroshare[-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
if [[ ${REPLACING_VERSIONS} ]]; then
if ver_test ${REPLACING_VERSIONS} -lt 0.6; 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 ${REPLACING_VERSIONS} -ge 0.6.0 && ver_test ${REPLACING_VERSIONS} -lt 0.6.4; then
elog "Main executable has been renamed upstream from RetroShare06 to retroshare"
break
fi
fi
}