blob: b2c53a2a28391278034285b770b7df575201d709 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
|
# Copyright 1999-2020 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/libupnp-1.8.0
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}"
}
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 ! version_is_at_least 0.5.9999 ${ver}; 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 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
}
pkg_postinst() {
xdg_icon_cache_update
}
pkg_postrm() {
xdg_icon_cache_update
}
|