1 # Copyright 1999-2019 Gentoo Authors
2 # Distributed under the terms of the GNU General Public License v2
8 DESCRIPTION="Serves ProtonMail to IMAP/SMTP clients"
9 HOMEPAGE="https://protonmail.com/bridge/"
10 SRC_URI="https://protonmail.com/download/${P/-bin/}-1.x86_64.rpm"
12 RESTRICT="bindist mirror"
14 LICENSE="MIT protonmail-bridge-EULA"
23 media-sound/pulseaudio[glib]
35 BDEPEND="dev-util/patchelf"
42 # Some bogus files got into package.
43 rm -rf usr/lib/.build-id
45 # Bug #660366. To workaround preserving libs, set RUNPATH and rm unused libs
46 cd "${S}/usr/lib/protonmail/bridge" || die
47 patchelf --set-rpath '$ORIGIN/lib' protonmail-bridge || die "patchelf failed"
48 patchelf --set-rpath '$ORIGIN' lib/libicui18n.so.56 || die "patchelf failed"
49 patchelf --set-rpath '$ORIGIN' lib/libicuuc.so.56 || die "patchelf failed"
51 rm "lib/libQt53DCore.so.5" || die
52 rm "lib/libQt53DExtras.so.5" || die
53 rm "lib/libQt53DInput.so.5" || die
54 rm "lib/libQt53DLogic.so.5" || die
55 rm "lib/libQt53DQuick.so.5" || die
56 rm "lib/libQt53DQuickExtras.so.5" || die
57 rm "lib/libQt53DQuickInput.so.5" || die
58 rm "lib/libQt53DQuickRender.so.5" || die
59 rm "lib/libQt53DRender.so.5" || die
60 rm "lib/libQt5Concurrent.so.5" || die
61 rm "lib/libQt5Gamepad.so.5" || die
62 rm "lib/libQt5QuickParticles.so.5" || die
63 rm "plugins/audio/libqtaudio_alsa.so" || die
64 rm "plugins/audio/libqtmedia_pulse.so" || die
65 rm "plugins/bearer/libqconnmanbearer.so" || die
66 rm "plugins/bearer/libqgenericbearer.so" || die
67 rm "plugins/bearer/libqnmbearer.so" || die
68 rm "plugins/canbus/libqtpeakcanbus.so" || die
69 rm "plugins/canbus/libqtsocketcanbus.so" || die
70 rm "plugins/canbus/libqttinycanbus.so" || die
71 rm "plugins/designer/libqquickwidget.so" || die
72 rm "plugins/designer/libqwebengineview.so" || die
73 rm "plugins/egldeviceintegrations/libqeglfs-emu-integration.so" || die
74 rm "plugins/egldeviceintegrations/libqeglfs-x11-integration.so" || die
75 rm "plugins/gamepads/libevdevgamepad.so" || die
76 rm "plugins/generic/libqevdevkeyboardplugin.so" || die
77 rm "plugins/generic/libqevdevmouseplugin.so" || die
78 rm "plugins/generic/libqevdevtabletplugin.so" || die
79 rm "plugins/generic/libqevdevtouchplugin.so" || die
80 rm "plugins/generic/libqtuiotouchplugin.so" || die
81 rm "plugins/geometryloaders/libdefaultgeometryloader.so" || die
82 rm "plugins/geometryloaders/libgltfgeometryloader.so" || die
83 rm "plugins/geoservices/libqtgeoservices_esri.so" || die
84 rm "plugins/geoservices/libqtgeoservices_itemsoverlay.so" || die
85 rm "plugins/geoservices/libqtgeoservices_mapbox.so" || die
86 rm "plugins/geoservices/libqtgeoservices_mapboxgl.so" || die
87 rm "plugins/geoservices/libqtgeoservices_nokia.so" || die
88 rm "plugins/geoservices/libqtgeoservices_osm.so" || die
89 rm "plugins/iconengines/libqsvgicon.so" || die
90 rm "plugins/mediaservice/libgstaudiodecoder.so" || die
91 rm "plugins/mediaservice/libgstcamerabin.so" || die
92 rm "plugins/mediaservice/libgstmediacapture.so" || die
93 rm "plugins/mediaservice/libgstmediaplayer.so" || die
94 rm "plugins/platforminputcontexts/libibusplatforminputcontextplugin.so" || die
95 rm "plugins/platforminputcontexts/libqtvirtualkeyboardplugin.so" || die
96 rm "plugins/platforms/libqeglfs.so" || die
97 rm "plugins/platforms/libqlinuxfb.so" || die
98 rm "plugins/platforms/libqminimal.so" || die
99 rm "plugins/platforms/libqminimalegl.so" || die
100 rm "plugins/platforms/libqoffscreen.so" || die
101 rm "plugins/platforms/libqvnc.so" || die
102 rm "plugins/platformthemes/libqgtk3.so" || die
103 rm "plugins/playlistformats/libqtmultimedia_m3u.so" || die
104 rm "plugins/position/libqtposition_geoclue.so" || die
105 rm "plugins/position/libqtposition_positionpoll.so" || die
106 rm "plugins/printsupport/libcupsprintersupport.so" || die
107 rm "plugins/qmltooling/libqmldbg_inspector.so" || die
108 rm "plugins/qmltooling/libqmldbg_local.so" || die
109 rm "plugins/qmltooling/libqmldbg_messages.so" || die
110 rm "plugins/qmltooling/libqmldbg_native.so" || die
111 rm "plugins/qmltooling/libqmldbg_nativedebugger.so" || die
112 rm "plugins/qmltooling/libqmldbg_profiler.so" || die
113 rm "plugins/qmltooling/libqmldbg_quickprofiler.so" || die
114 rm "plugins/qmltooling/libqmldbg_server.so" || die
115 rm "plugins/qmltooling/libqmldbg_tcp.so" || die
116 rm "plugins/renderplugins/libscene2d.so" || die
117 rm "plugins/sceneparsers/libassimpsceneimport.so" || die
118 rm "plugins/sceneparsers/libgltfsceneexport.so" || die
119 rm "plugins/sceneparsers/libgltfsceneimport.so" || die
120 rm "plugins/sensorgestures/libqtsensorgestures_plugin.so" || die
121 rm "plugins/sensorgestures/libqtsensorgestures_shakeplugin.so" || die
122 rm "plugins/sensors/libqtsensors_generic.so" || die
123 rm "plugins/sensors/libqtsensors_iio-sensor-proxy.so" || die
124 rm "plugins/sensors/libqtsensors_linuxsys.so" || die
125 rm "plugins/sqldrivers/libqsqlite.so" || die
126 rm "plugins/sqldrivers/libqsqlmysql.so" || die
127 rm "plugins/sqldrivers/libqsqlpsql.so" || die
128 rm "plugins/xcbglintegrations/libqxcb-egl-integration.so" || die
129 rm "qml/Qt/labs/calendar/libqtlabscalendarplugin.so" || die
130 rm "qml/Qt/labs/folderlistmodel/libqmlfolderlistmodelplugin.so" || die
131 rm "qml/Qt/labs/platform/libqtlabsplatformplugin.so" || die
132 rm "qml/Qt/labs/settings/libqmlsettingsplugin.so" || die
133 rm "qml/Qt/labs/sharedimage/libsharedimageplugin.so" || die
134 rm "qml/Qt3D/Animation/libquick3danimationplugin.so" || die
135 rm "qml/Qt3D/Core/libquick3dcoreplugin.so" || die
136 rm "qml/Qt3D/Extras/libquick3dextrasplugin.so" || die
137 rm "qml/Qt3D/Input/libquick3dinputplugin.so" || die
138 rm "qml/Qt3D/Logic/libquick3dlogicplugin.so" || die
139 rm "qml/Qt3D/Render/libquick3drenderplugin.so" || die
140 rm "qml/QtBluetooth/libdeclarative_bluetooth.so" || die
141 rm "qml/QtCanvas3D/libqtcanvas3d.so" || die
142 rm "qml/QtGamepad/libdeclarative_gamepad.so" || die
143 rm "qml/QtLocation/libdeclarative_location.so" || die
144 rm "qml/QtMultimedia/libdeclarative_multimedia.so" || die
145 rm "qml/QtNfc/libdeclarative_nfc.so" || die
146 rm "qml/QtPositioning/libdeclarative_positioning.so" || die
147 rm "qml/QtQml/Models.2/libmodelsplugin.so" || die
148 rm "qml/QtQml/StateMachine/libqtqmlstatemachine.so" || die
149 rm "qml/QtQuick/Controls.2/Material/libqtquickcontrols2materialstyleplugin.so" || die
150 rm "qml/QtQuick/Controls.2/Universal/libqtquickcontrols2universalstyleplugin.so" || die
151 rm "qml/QtQuick/Controls/Styles/Flat/libqtquickextrasflatplugin.so" || die
152 rm "qml/QtQuick/Controls/libqtquickcontrolsplugin.so" || die
153 rm "qml/QtQuick/Dialogs/Private/libdialogsprivateplugin.so" || die
154 rm "qml/QtQuick/Dialogs/libdialogplugin.so" || die
155 rm "qml/QtQuick/Extras/libqtquickextrasplugin.so" || die
156 rm "qml/QtQuick/LocalStorage/libqmllocalstorageplugin.so" || die
157 rm "qml/QtQuick/Particles.2/libparticlesplugin.so" || die
158 rm "qml/QtQuick/PrivateWidgets/libwidgetsplugin.so" || die
159 rm "qml/QtQuick/Scene2D/libqtquickscene2dplugin.so" || die
160 rm "qml/QtQuick/Scene3D/libqtquickscene3dplugin.so" || die
161 rm "qml/QtQuick/XmlListModel/libqmlxmllistmodelplugin.so" || die
162 rm "qml/QtScxml/libdeclarative_scxml.so" || die
163 rm "qml/QtSensors/libdeclarative_sensors.so" || die
164 rm "qml/QtTest/libqmltestplugin.so" || die
165 rm "qml/QtWebChannel/libdeclarative_webchannel.so" || die
166 rm "qml/QtWebEngine/libqtwebengineplugin.so" || die
167 rm "qml/QtWebSockets/libdeclarative_qmlwebsockets.so" || die
168 rm "qml/QtWebView/libdeclarative_webview.so" || die
169 rm "lib/libQt5MultimediaGstTools.so.5" || die
170 rm "lib/libQt5OpenGL.so.5" || die
171 rm "lib/libQt5QuickWidgets.so.5" || die
172 rm "lib/libQt5EglFsKmsSupport.so.5" || die
173 rm "plugins/position/libqtposition_serialnmea.so" || die
174 rm "plugins/webview/libqtwebview_webengine.so" || die
175 rm "plugins/egldeviceintegrations/libqeglfs-kms-egldevice-integration.so" || die
176 rm "plugins/texttospeech/libqtexttospeech_speechd.so" || die
177 rm "plugins/canbus/libqtpassthrucanbus.so" || die
178 rm "qml/QtQuick/Shapes/libqmlshapesplugin.so" || die
179 rm "qml/QtQuick/Controls.2/Fusion/libqtquickcontrols2fusionstyleplugin.so" || die
180 rm "qml/QtQuick/Controls.2/Imagine/libqtquickcontrols2imaginestyleplugin.so" || die
181 rm "qml/QtQml/RemoteObjects/libqtqmlremoteobjects.so" || die
182 rm "qml/Qt/labs/location/liblocationlabsplugin.so" || die
188 # Using doins -r would strip executable bits from all binaries
189 cp -pPR usr "${D}"/ || die "Failed to copy files"
191 dosym "protonmail-bridge" "/usr/bin/${PN}"
193 insinto /etc/revdep-rebuild
194 newins - "50-${PN}" <<-EOF
195 SEARCH_DIRS_MASK="/usr/lib*/protonmail/bridge"