blob: e960723f4c0d506815b6bbd24807c15d196f5cd6 (
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
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
|
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=6
inherit eutils gnome2-utils multilib qmake-utils git-r3
MY_PV="${PV/_rc/.RC}"
MY_PV="${MY_PV/_pre/$'\x7e'}" # bug #557276
DESCRIPTION="P2P private sharing application"
HOMEPAGE="http://retroshare.sourceforge.net"
SRC_URI=""
EGIT_REPO_URI="https://github.com/RetroShare/RetroShare.git"
# pegmarkdown can also be used with MIT
LICENSE="GPL-2 GPL-3 Apache-2.0 LGPL-2.1"
SLOT="0"
KEYWORDS=""
IUSE="cli feedreader libressl qt4 +qt5 voip +sqlcipher"
REQUIRED_USE="|| ( cli qt5 qt4 )
feedreader? ( || ( qt5 qt4 ) )
voip? ( || ( qt5 qt4 ) )
qt4? ( !qt5 )
qt5? ( !qt4 )
"
RDEPEND="
app-arch/bzip2
sqlcipher? (
dev-db/sqlcipher
)
!libressl? ( dev-libs/openssl:0[static-libs(+)?] )
libressl? ( dev-libs/libressl[static-libs(+)?] )
gnome-base/libgnome-keyring
net-libs/libmicrohttpd
net-libs/libupnp
sys-libs/zlib
cli? (
dev-libs/protobuf
net-libs/libssh[server]
)
feedreader? (
dev-libs/libxml2
dev-libs/libxslt
net-misc/curl
)
qt5? (
x11-libs/libX11
x11-libs/libXScrnSaver
dev-qt/designer:5
dev-qt/qtcore:5
dev-qt/qtgui:5
dev-qt/qtmultimedia:5
dev-qt/qtnetwork:5
dev-qt/qtprintsupport:5
dev-qt/qtscript:5
dev-qt/qtwidgets:5
dev-qt/qtx11extras:5
dev-qt/qtxml:5
)
qt4? (
x11-libs/libX11
x11-libs/libXScrnSaver
dev-qt/designer:4
dev-qt/qtcore:4
dev-qt/qtgui:4
dev-qt/qtmultimedia:4
dev-qt/qtscript:4
)
voip? (
media-libs/opencv
media-libs/speex
)"
DEPEND="${RDEPEND}
qt5? ( dev-qt/qtcore:5 )
qt4? ( dev-qt/qtcore:4 )
virtual/pkgconfig"
PATCHES=(
"${FILESDIR}/hidden_service.patch"
"${FILESDIR}/cflags.patch"
"${FILESDIR}/disable_key_array_redraw.patch"
"${FILESDIR}/clang.patch"
)
src_prepare() {
default
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"
rs_src_dirs="libbitdht/src openpgpsdk/src libretroshare/src libresapi/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 qt5 && rs_src_dirs="${rs_src_dirs} retroshare-gui/src"
use qt4 && 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'
#regenerate translations in case developers just forgot to do so
local use_qt4
use qt4 && use_qt4="1"
if [ use_qt4 == "1" ]; then
qtchooser -run-tool=lupdate -qt=4 retroshare-gui/src/retroshare-gui.pro
qtchooser -run-tool=lrelease -qt=4 retroshare-gui/src/retroshare-gui.pro
else
qtchooser -run-tool=lupdate -qt=5 retroshare-gui/src/retroshare-gui.pro
qtchooser -run-tool=lrelease -qt=5 retroshare-gui/src/retroshare-gui.pro
fi
epatch_user
}
src_configure() {
local conf_add="release no-debug c++11"
use sqlcipher || conf_add="${conf_add} no_sqlcipher"
for dir in ${rs_src_dirs} ; do
pushd "${S}/${dir}" 2>/dev/null || die
use qt5 && eqmake5 CONFIG+="${conf_add}"
use qt4 && eqmake4 CONFIG+="${conf_add}"
popd 2>/dev/null || die
done
sed "s/= gcc/= ${CC}/g" -i supportlibs/pegmarkdown/Makefile
}
src_compile() {
local dir
for dir in ${rs_src_dirs} ; do
emake -C "${dir}"
done
unset rs_src_dirs
}
src_install() {
local i
local extension_dir="/usr/$(get_libdir)/${PN}/extensions6/"
use cli && dobin retroshare-nogui/src/retroshare-nogui
use qt5 && dobin retroshare-gui/src/retroshare
use qt4 && 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
insinto /usr/share/retroshare/webui
doins libresapi/src/webui-src/*
make_desktop_entry RetroShare
for i in 24 48 64 ; do
doicon -s ${i} "data/${i}x${i}/apps/${PN}.png"
done
doicon -s 128 "data/${PN}.xpm"
}
pkg_preinst() {
if [[ "${REPLACING_VERSIONS}" = "0.5*" ]]; 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"
fi
gnome2_icon_savelist
}
pkg_postinst() {
gnome2_icon_cache_update
}
pkg_postrm() {
gnome2_icon_cache_update
}
|