Gentoo Archives: gentoo-commits

From: "Michał Górny" <mgorny@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: net-p2p/retroshare/
Date: Sat, 09 Jun 2018 21:15:52
Message-Id: 1528578936.c1d3bf0747652395bfc75312a3639e9e07a4fc3f.mgorny@gentoo
1 commit: c1d3bf0747652395bfc75312a3639e9e07a4fc3f
2 Author: Gioacchino Mazzurco <gio <AT> eigenlab <DOT> org>
3 AuthorDate: Mon Apr 23 08:53:16 2018 +0000
4 Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
5 CommitDate: Sat Jun 9 21:15:36 2018 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c1d3bf07
7
8 net-p2p/retroshare update development ebuild
9
10 Development version of retroshare expose qmake flags that permit easier
11 build customization without crufty patching, improve development ebuild
12 to take advantage of that and have a cleaner ebuild.
13
14 Removed VoIP and feedreader plugins are not maintained.
15
16 For future stable versions this ebuild should be used as reference
17 and not the older ones.
18
19 Development version depends on rapidjson.
20
21 Closes: https://github.com/gentoo/gentoo/pull/8115
22
23 net-p2p/retroshare/metadata.xml | 16 +--
24 net-p2p/retroshare/retroshare-0.6.9999.ebuild | 134 ++++++++++----------------
25 2 files changed, 61 insertions(+), 89 deletions(-)
26
27 diff --git a/net-p2p/retroshare/metadata.xml b/net-p2p/retroshare/metadata.xml
28 index d634614148a..6f5d194f45d 100644
29 --- a/net-p2p/retroshare/metadata.xml
30 +++ b/net-p2p/retroshare/metadata.xml
31 @@ -14,24 +14,26 @@
32 <name>Sergey Popov</name>
33 </maintainer>
34 <longdescription lang="en">
35 - RetroShare is a Open Source cross-platform, Friend-2-Friend and
36 + RetroShare is a Free and Open Source cross-platform, Friend-2-Friend
37 secure decentralised communication platform.
38 - It lets you to securely chat and share files with your friends
39 - and family, using a web-of-trust to authenticate peers and OpenSSL
40 + It lets you to securely chat and share files with your friends, family
41 + and even unknown people using PGP to authenticate peers and OpenSSL
42 to encrypt all communication.
43 - RetroShare provides filesharing, chat, messages, forums and
44 - channels
45 + RetroShare provides filesharing, chat, mails, forums and channels.
46 </longdescription>
47 <use>
48 <flag name="cli">Enables the CLI version of RetroShare</flag>
49 + <flag name="control-socket">Enables API via Unix socket support</flag>
50 <flag name="feedreader">Enables the Feedreader plugin</flag>
51 <flag name="gnome-keyring">Enables potentially insecure autologin capability via Gnome Keyring</flag>
52 <flag name="gui">Enables the GUI version of RetroShare</flag>
53 + <flag name="settings-api">Enables settings control via API</flag>
54 + <flag name="sqlcipher">Enables GXS database encryption via SQLCipher</flag>
55 <flag name="voip">Enables VOIP plugin</flag>
56 + <flag name="webui">Enables Web interface and API support</flag>
57 </use>
58 <upstream>
59 - <bugs-to>https://sourceforge.net/p/retroshare/bugs</bugs-to>
60 - <remote-id type="sourceforge">retroshare</remote-id>
61 + <bugs-to>https://github.com/RetroShare/RetroShare/issues</bugs-to>
62 <remote-id type="github">RetroShare/RetroShare</remote-id>
63 </upstream>
64 </pkgmetadata>
65
66 diff --git a/net-p2p/retroshare/retroshare-0.6.9999.ebuild b/net-p2p/retroshare/retroshare-0.6.9999.ebuild
67 index 2a62dc7dc3d..0db2373b5c2 100644
68 --- a/net-p2p/retroshare/retroshare-0.6.9999.ebuild
69 +++ b/net-p2p/retroshare/retroshare-0.6.9999.ebuild
70 @@ -1,4 +1,4 @@
71 -# Copyright 1999-2017 Gentoo Foundation
72 +# Copyright 1999-2018 Gentoo Foundation
73 # Distributed under the terms of the GNU General Public License v2
74
75 EAPI=6
76 @@ -10,135 +10,105 @@ DESCRIPTION="P2P private sharing application"
77 HOMEPAGE="http://retroshare.net"
78
79 # pegmarkdown can also be used with MIT
80 -LICENSE="GPL-2 GPL-3 Apache-2.0 LGPL-2.1"
81 +LICENSE="AGPL-3 GPL-2 GPL-3 Apache-2.0 LGPL-2.1"
82 SLOT="0"
83 KEYWORDS=""
84
85 -IUSE="cli feedreader gnome-keyring +gui voip"
86 +IUSE="cli control-socket gnome-keyring +gui settings-api +sqlcipher +webui"
87 REQUIRED_USE="
88 || ( cli gui )
89 - feedreader? ( gui )
90 - voip? ( gui )"
91 + settings-api? ( || ( control-socket webui ) )"
92
93 RDEPEND="
94 app-arch/bzip2
95 - dev-db/sqlcipher
96 - dev-libs/openssl:0
97 - dev-qt/qtcore:5
98 - dev-qt/qtmultimedia:5
99 - dev-qt/qtnetwork:5
100 - dev-qt/qtprintsupport:5
101 - dev-qt/qtscript:5
102 - dev-qt/qtxml:5
103 - net-libs/libmicrohttpd
104 - net-libs/libupnp:0
105 + dev-libs/openssl:0=
106 + >=dev-libs/rapidjson-1.1.0
107 + net-libs/libupnp:0=
108 sys-libs/zlib
109 + control-socket? ( dev-qt/qtnetwork:5 )
110 gnome-keyring? ( gnome-base/libgnome-keyring )
111 - feedreader? (
112 - dev-libs/libxml2
113 - dev-libs/libxslt
114 - net-misc/curl
115 - )
116 gui? (
117 - dev-qt/designer:5
118 + dev-qt/qtcore:5
119 + dev-qt/qtmultimedia:5
120 + dev-qt/qtnetwork:5
121 + dev-qt/qtprintsupport:5
122 + dev-qt/qtscript:5
123 + dev-qt/qtxml:5
124 dev-qt/qtgui:5
125 dev-qt/qtwidgets:5
126 dev-qt/qtx11extras:5
127 x11-libs/libX11
128 x11-libs/libXScrnSaver
129 )
130 - voip? (
131 - media-libs/opencv[-qt4(-)]
132 - media-libs/speex
133 - virtual/ffmpeg[encode]
134 - )"
135 -DEPEND="${RDEPEND}
136 - virtual/pkgconfig"
137 -
138 -src_prepare() {
139 - local dir
140 -
141 - sed -i \
142 - -e "s|/usr/lib/retroshare/extensions6/|/usr/$(get_libdir)/${PN}/extensions6/|" \
143 - libretroshare/src/rsserver/rsinit.cc \
144 - || die "sed on libretroshare/src/rsserver/rsinit.cc failed"
145 + settings-api? ( dev-qt/qtcore:5 )
146 + sqlcipher? ( dev-db/sqlcipher )
147 + !sqlcipher? ( dev-db/sqlite:3 )
148 + webui? ( net-libs/libmicrohttpd )"
149
150 - rs_src_dirs="libbitdht/src openpgpsdk/src libresapi/src libretroshare/src supportlibs/pegmarkdown"
151 - use cli && rs_src_dirs="${rs_src_dirs} retroshare-nogui/src"
152 - use feedreader && rs_src_dirs="${rs_src_dirs} plugins/FeedReader"
153 - use gui && rs_src_dirs="${rs_src_dirs} retroshare-gui/src"
154 - use voip && rs_src_dirs="${rs_src_dirs} plugins/VOIP"
155 -
156 - # Force linking to sqlcipher ONLY
157 - sed -i \
158 - -e '/isEmpty(SQLCIPHER_OK) {/aerror(libsqlcipher not found)' \
159 - retroshare-gui/src/retroshare-gui.pro \
160 - retroshare-nogui/src/retroshare-nogui.pro || die 'sed on retroshare-gui/src/retroshare-gui.pro failed'
161 -
162 - # Avoid openpgpsdk false dependency on qtgui
163 - sed -i '2iQT -= gui' openpgpsdk/src/openpgpsdk.pro || die
164 -
165 - eapply_user
166 -}
167 +DEPEND="${RDEPEND}
168 + gui? ( dev-qt/designer:5 )
169 + dev-qt/qtcore:5
170 + virtual/pkgconfig
171 +"
172
173 src_configure() {
174 - for dir in ${rs_src_dirs} ; do
175 - pushd "${S}/${dir}" >/dev/null || die
176 - eqmake5 $(use gnome-keyring && echo CONFIG+=rs_autologin)
177 - popd >/dev/null || die
178 - done
179 -}
180 + local qConfigs=()
181
182 -src_compile() {
183 - local dir
184 -
185 - for dir in ${rs_src_dirs} ; do
186 - emake -C "${dir}"
187 - done
188 + qConfigs+=( $(usex cli '' 'no_')retroshare_nogui )
189 + qConfigs+=( $(usex control-socket '' 'no_')libresapilocalserver )
190 + qConfigs+=( $(usex gnome-keyring '' 'no_')rs_autologin )
191 + qConfigs+=( $(usex gui '' 'no_')retroshare_gui )
192 + qConfigs+=( $(usex settings-api '' 'no_')libresapi_settings )
193 + qConfigs+=( $(usex sqlcipher '' 'no_')sqlcipher )
194 + qConfigs+=( $(usex webui '' 'no_')libresapihttpserver )
195
196 - unset rs_src_dirs
197 + eqmake5 CONFIG+="${qConfigs[*]}"
198 }
199
200 src_install() {
201 - local i
202 - local extension_dir="/usr/$(get_libdir)/${PN}/extensions6/"
203 -
204 use cli && dobin retroshare-nogui/src/retroshare-nogui
205 use gui && dobin retroshare-gui/src/retroshare
206
207 - exeinto "${extension_dir}"
208 - use feedreader && doexe plugins/FeedReader/*.so*
209 - use voip && doexe plugins/VOIP/*.so*
210 -
211 insinto /usr/share/retroshare
212 doins libbitdht/src/bitdht/bdboot.txt
213
214 - doins -r libresapi/src/webui
215 + use webui && doins -r libresapi/src/webui
216
217 dodoc README.md
218 make_desktop_entry retroshare
219 +
220 for i in 24 48 64 128 ; do
221 doicon -s ${i} "data/${i}x${i}/apps/retroshare.png"
222 done
223 }
224
225 +pkg_pretend() {
226 + if ! use sqlcipher; then
227 + ewarn "You have disabled GXS database encryption, ${PN} will use SQLite"
228 + ewarn "instead of SQLCipher for GXS databases."
229 + ewarn "Builds using SQLite and builds using SQLCipher have incompatible"
230 + ewarn "database format, so you will need to manually delete GXS"
231 + ewarn "database (loosing all your GXS data and identities) when you"
232 + ewarn "toggle sqlcipher USE flag."
233 + fi
234 +}
235 +
236 pkg_preinst() {
237 local ver
238 for ver in ${REPLACING_VERSIONS}; do
239 if ! version_is_at_least 0.5.9999 ${ver}; then
240 - elog "You are upgrading from Retroshare 0.5.* to ${PV}"
241 - elog "Version 0.6.* is backward-incompatible with 0.5 branch"
242 - elog "and clients with 0.6.* can not connect to clients that have 0.5.*"
243 - elog "It's recommended to drop all your configuration and either"
244 - elog "generate a new certificate or import existing from a backup"
245 + ewarn "You are upgrading from Retroshare 0.5.* to ${PV}"
246 + ewarn "Version 0.6.* is backward-incompatible with 0.5 branch"
247 + ewarn "and clients with 0.6.* can not connect to clients that have 0.5.*"
248 + ewarn "It's recommended to drop all your configuration and either"
249 + ewarn "generate a new certificate or import existing from a backup"
250 break
251 fi
252 - if version_is_at_least 0.6.0 ${ver}; then
253 - elog "Main executable was renamed upstream from RetroShare06 to retroshare"
254 + if version_is_at_least 0.6.0 ${ver} && ! version_is_at_least 0.6.4 ${ver}; then
255 + elog "Main executable has been renamed upstream from RetroShare06 to retroshare"
256 break
257 fi
258 done
259 - gnome2_icon_savelist
260 }
261
262 pkg_postinst() {