summaryrefslogtreecommitdiff
path: root/mail-mta/proton-mail-bridge/files
diff options
context:
space:
mode:
Diffstat (limited to 'mail-mta/proton-mail-bridge/files')
-rw-r--r--mail-mta/proton-mail-bridge/files/proton-mail-bridge-3.14.0-gui.patch73
-rw-r--r--mail-mta/proton-mail-bridge/files/proton-mail-bridge-3.14.0-qt6.8.patch149
-rw-r--r--mail-mta/proton-mail-bridge/files/proton-mail-bridge.service-r117
3 files changed, 239 insertions, 0 deletions
diff --git a/mail-mta/proton-mail-bridge/files/proton-mail-bridge-3.14.0-gui.patch b/mail-mta/proton-mail-bridge/files/proton-mail-bridge-3.14.0-gui.patch
new file mode 100644
index 00000000..2e131a3e
--- /dev/null
+++ b/mail-mta/proton-mail-bridge/files/proton-mail-bridge-3.14.0-gui.patch
@@ -0,0 +1,73 @@
+diff '--color=auto' -Nur a/internal/frontend/bridge-gui/bridge-gui/CMakeLists.txt b/internal/frontend/bridge-gui/bridge-gui/CMakeLists.txt
+--- a/internal/frontend/bridge-gui/bridge-gui/CMakeLists.txt 2024-09-25 09:47:40.000000000 +0100
++++ b/internal/frontend/bridge-gui/bridge-gui/CMakeLists.txt 2024-12-05 00:59:21.824976820 +0000
+@@ -167,12 +167,9 @@
+ WIN32_EXECUTABLE TRUE
+ MACOSX_BUNDLE TRUE)
+
+-install(TARGETS bridge-gui
+- RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}"
+- BUNDLE DESTINATION "${CMAKE_INSTALL_PREFIX}"
+- LIBRARY DESTINATION "${CMAKE_INSTALL_PREFIX}"
+- )
++install(TARGETS bridge-gui)
+
++if(0)
+ qt_generate_deploy_app_script(
+ TARGET bridge-gui
+ FILENAME_VARIABLE deploy_script
+@@ -187,3 +184,4 @@
+ endif()
+
+ include(Deploy${DEPLOY_OS}.cmake)
++endif()
+diff '--color=auto' -Nur a/internal/frontend/bridge-gui/bridge-gui/main.cpp b/internal/frontend/bridge-gui/bridge-gui/main.cpp
+--- a/internal/frontend/bridge-gui/bridge-gui/main.cpp 2024-09-25 09:47:40.000000000 +0100
++++ b/internal/frontend/bridge-gui/bridge-gui/main.cpp 2024-12-05 01:00:05.767976494 +0000
+@@ -51,7 +51,7 @@
+
+ QString const bridgeLock = "bridge-v3.lock"; ///< The file name used for the bridge-gui lock file.
+ QString const bridgeGUILock = "bridge-v3-gui.lock"; ///< The file name used for the bridge-gui lock file.
+-QString const exeName = "bridge" + exeSuffix; ///< The bridge executable file name.*
++QString const exeName = "proton-mail-bridge" + exeSuffix; ///< The bridge executable file name.*
+ qint64 constexpr grpcServiceConfigWaitDelayMs = 180000; ///< The wait delay for the gRPC config file in milliseconds.
+ QString const waitFlag = "--wait"; ///< The wait command-line flag.
+ QString const orphanInstanceException = "An orphan instance of bridge is already running. Please terminate it and relaunch the application.";
+diff '--color=auto' -Nur a/internal/frontend/bridge-gui/bridgepp/CMakeLists.txt b/internal/frontend/bridge-gui/bridgepp/CMakeLists.txt
+--- a/internal/frontend/bridge-gui/bridgepp/CMakeLists.txt 2024-09-25 09:47:40.000000000 +0100
++++ b/internal/frontend/bridge-gui/bridgepp/CMakeLists.txt 2024-12-05 01:01:46.241975749 +0000
+@@ -164,6 +164,10 @@
+
+ target_precompile_headers(bridgepp PRIVATE Pch.h)
+
++install(TARGETS bridgepp)
++
++if(0)
++
+ #*****************************************************************************************************************************************************
+ # GoogleTest
+ #*****************************************************************************************************************************************************
+@@ -205,3 +209,4 @@
+
+ include(GoogleTest)
+ gtest_discover_tests(bridgepp-test)
++endif()
+diff '--color=auto' -Nur a/internal/frontend/bridge-gui/BridgeSetup.cmake b/internal/frontend/bridge-gui/BridgeSetup.cmake
+--- a/internal/frontend/bridge-gui/BridgeSetup.cmake 2024-09-25 09:47:40.000000000 +0100
++++ b/internal/frontend/bridge-gui/BridgeSetup.cmake 2024-12-05 01:03:38.578974915 +0000
+@@ -45,6 +45,7 @@
+ endif()
+
+
++if(0)
+ #****************************************************************************************************************************************************
+ # vcpkg, toolchain, and architecture
+ #****************************************************************************************************************************************************
+@@ -87,4 +88,5 @@
+ set(VCPKG_TARGET_TRIPLET x64-windows)
+ endif()
+
+-set(CMAKE_TOOLCHAIN_FILE "${VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake" CACHE STRING "toolchain")
+\ No newline at end of file
++set(CMAKE_TOOLCHAIN_FILE "${VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake" CACHE STRING "toolchain")
++endif()
diff --git a/mail-mta/proton-mail-bridge/files/proton-mail-bridge-3.14.0-qt6.8.patch b/mail-mta/proton-mail-bridge/files/proton-mail-bridge-3.14.0-qt6.8.patch
new file mode 100644
index 00000000..f75c3ce6
--- /dev/null
+++ b/mail-mta/proton-mail-bridge/files/proton-mail-bridge-3.14.0-qt6.8.patch
@@ -0,0 +1,149 @@
+diff --git a/internal/frontend/bridge-gui/bridge-gui/qml/Banner.qml b/internal/frontend/bridge-gui/bridge-gui/qml/Banner.qml
+index f3affdc9..88d3a48a 100644
+--- a/internal/frontend/bridge-gui/bridge-gui/qml/Banner.qml
++++ b/internal/frontend/bridge-gui/bridge-gui/qml/Banner.qml
+@@ -28,7 +28,7 @@ Popup {
+ implicitWidth: 600 // contentLayout.implicitWidth + contentLayout.anchors.leftMargin + contentLayout.anchors.rightMargin
+ leftMargin: (mainWindow.width - root.implicitWidth) / 2
+ modal: false
+- popupType: ApplicationWindow.PopupType.Banner
++ popupPrio: ApplicationWindow.PopupPriority.Banner
+ shouldShow: notification ? (notification.active && !notification.dismissed) : false
+ topMargin: 37
+
+diff --git a/internal/frontend/bridge-gui/bridge-gui/qml/BugReport/QuestionItem.qml b/internal/frontend/bridge-gui/bridge-gui/qml/BugReport/QuestionItem.qml
+index 9cf37cc1..2e0ca39c 100644
+--- a/internal/frontend/bridge-gui/bridge-gui/qml/BugReport/QuestionItem.qml
++++ b/internal/frontend/bridge-gui/bridge-gui/qml/BugReport/QuestionItem.qml
+@@ -13,6 +13,7 @@
+ import QtQuick
+ import QtQuick.Layouts
+ import QtQuick.Controls
++import QtQuick.Controls.impl
+ import Proton
+
+ Item {
+diff --git a/internal/frontend/bridge-gui/bridge-gui/qml/Proton/ApplicationWindow.qml b/internal/frontend/bridge-gui/bridge-gui/qml/Proton/ApplicationWindow.qml
+index ef23ede5..72207896 100644
+--- a/internal/frontend/bridge-gui/bridge-gui/qml/Proton/ApplicationWindow.qml
++++ b/internal/frontend/bridge-gui/bridge-gui/qml/Proton/ApplicationWindow.qml
+@@ -21,7 +21,7 @@ T.ApplicationWindow {
+ id: root
+
+ // popup priority based on types
+- enum PopupType {
++ enum PopupPriority {
+ Banner,
+ Dialog
+ }
+@@ -78,10 +78,10 @@ T.ApplicationWindow {
+ topmost = obj;
+ break;
+ }
+- if (topmost && (topmost.popupType > obj.popupType)) {
++ if (topmost && (topmost.popupPrio > obj.popupPrio)) {
+ continue;
+ }
+- if (topmost && (topmost.popupType === obj.popupType) && (topmost.occurred > obj.occurred)) {
++ if (topmost && (topmost.popupPrio === obj.popupPrio) && (topmost.occurred > obj.occurred)) {
+ continue;
+ }
+ topmost = obj;
+diff --git a/internal/frontend/bridge-gui/bridge-gui/qml/Proton/Dialog.qml b/internal/frontend/bridge-gui/bridge-gui/qml/Proton/Dialog.qml
+index f1ab61a0..30e7a99d 100644
+--- a/internal/frontend/bridge-gui/bridge-gui/qml/Proton/Dialog.qml
++++ b/internal/frontend/bridge-gui/bridge-gui/qml/Proton/Dialog.qml
+@@ -21,7 +21,7 @@ T.Dialog {
+
+ property ColorScheme colorScheme
+ readonly property var occurred: shouldShow ? new Date() : undefined
+- readonly property int popupType: ApplicationWindow.PopupType.Dialog
++ readonly property int popupPrio: ApplicationWindow.PopupPriority.Dialog
+ property bool shouldShow: false
+
+ function close() {
+diff --git a/internal/frontend/bridge-gui/bridge-gui/qml/Proton/InfoTooltip.qml b/internal/frontend/bridge-gui/bridge-gui/qml/Proton/InfoTooltip.qml
+index 281e93e8..0ec6bf26 100644
+--- a/internal/frontend/bridge-gui/bridge-gui/qml/Proton/InfoTooltip.qml
++++ b/internal/frontend/bridge-gui/bridge-gui/qml/Proton/InfoTooltip.qml
+@@ -16,6 +16,7 @@
+ // along with Proton Mail Bridge. If not, see <https://www.gnu.org/licenses/>.
+ import QtQuick
+ import QtQuick.Controls
++import QtQuick.Controls.impl
+ import QtQuick.Layouts
+
+ ColorImage {
+diff --git a/internal/frontend/bridge-gui/bridge-gui/qml/Proton/LinkLabel.qml b/internal/frontend/bridge-gui/bridge-gui/qml/Proton/LinkLabel.qml
+index 30871f21..af9b40d2 100644
+--- a/internal/frontend/bridge-gui/bridge-gui/qml/Proton/LinkLabel.qml
++++ b/internal/frontend/bridge-gui/bridge-gui/qml/Proton/LinkLabel.qml
+@@ -12,6 +12,7 @@
+ // along with Proton Mail Bridge. If not, see <https://www.gnu.org/licenses/>.
+ import QtQuick
+ import QtQuick.Controls
++import QtQuick.Controls.impl
+ import QtQuick.Layouts
+
+ RowLayout {
+diff --git a/internal/frontend/bridge-gui/bridge-gui/qml/Proton/Popup.qml b/internal/frontend/bridge-gui/bridge-gui/qml/Proton/Popup.qml
+index 68c3af7c..78fa29c1 100644
+--- a/internal/frontend/bridge-gui/bridge-gui/qml/Proton/Popup.qml
++++ b/internal/frontend/bridge-gui/bridge-gui/qml/Proton/Popup.qml
+@@ -21,7 +21,7 @@ T.Popup {
+
+ property ColorScheme colorScheme
+ readonly property var occurred: shouldShow ? new Date() : undefined
+- property int popupType: ApplicationWindow.PopupType.Banner
++ property int popupPrio: ApplicationWindow.PopupPriority.Banner
+ property bool shouldShow: false
+
+ function close() {
+diff --git a/internal/frontend/bridge-gui/bridge-gui/qml/SetupWizard/ClientConfigCertInstall.qml b/internal/frontend/bridge-gui/bridge-gui/qml/SetupWizard/ClientConfigCertInstall.qml
+index 1ac498b0..9790afe9 100644
+--- a/internal/frontend/bridge-gui/bridge-gui/qml/SetupWizard/ClientConfigCertInstall.qml
++++ b/internal/frontend/bridge-gui/bridge-gui/qml/SetupWizard/ClientConfigCertInstall.qml
+@@ -15,6 +15,7 @@ import QtQml
+ import QtQuick
+ import QtQuick.Layouts
+ import QtQuick.Controls
++import QtQuick.Controls.impl
+
+ Item {
+ id: root
+diff --git a/internal/frontend/bridge-gui/bridge-gui/qml/SetupWizard/ClientConfigParameters.qml b/internal/frontend/bridge-gui/bridge-gui/qml/SetupWizard/ClientConfigParameters.qml
+index 52e3fec2..2a4c7d39 100644
+--- a/internal/frontend/bridge-gui/bridge-gui/qml/SetupWizard/ClientConfigParameters.qml
++++ b/internal/frontend/bridge-gui/bridge-gui/qml/SetupWizard/ClientConfigParameters.qml
+@@ -14,6 +14,7 @@ import QtQml
+ import QtQuick
+ import QtQuick.Layouts
+ import QtQuick.Controls
++import QtQuick.Controls.impl
+ import ".."
+
+ Rectangle {
+diff --git a/internal/frontend/bridge-gui/bridge-gui/qml/SetupWizard/ClientListItem.qml b/internal/frontend/bridge-gui/bridge-gui/qml/SetupWizard/ClientListItem.qml
+index 3e781d16..30e9307e 100644
+--- a/internal/frontend/bridge-gui/bridge-gui/qml/SetupWizard/ClientListItem.qml
++++ b/internal/frontend/bridge-gui/bridge-gui/qml/SetupWizard/ClientListItem.qml
+@@ -14,6 +14,7 @@ import QtQml
+ import QtQuick
+ import QtQuick.Layouts
+ import QtQuick.Controls
++import QtQuick.Controls.impl
+
+ Rectangle {
+ id: root
+diff --git a/internal/frontend/bridge-gui/bridge-gui/qml/SetupWizard/Login.qml b/internal/frontend/bridge-gui/bridge-gui/qml/SetupWizard/Login.qml
+index 20eba753..2f1a86a9 100644
+--- a/internal/frontend/bridge-gui/bridge-gui/qml/SetupWizard/Login.qml
++++ b/internal/frontend/bridge-gui/bridge-gui/qml/SetupWizard/Login.qml
+@@ -14,6 +14,7 @@ import QtQml
+ import QtQuick
+ import QtQuick.Layouts
+ import QtQuick.Controls
++import QtQuick.Controls.impl
+
+ FocusScope {
+ id: root
diff --git a/mail-mta/proton-mail-bridge/files/proton-mail-bridge.service-r1 b/mail-mta/proton-mail-bridge/files/proton-mail-bridge.service-r1
new file mode 100644
index 00000000..8dd89802
--- /dev/null
+++ b/mail-mta/proton-mail-bridge/files/proton-mail-bridge.service-r1
@@ -0,0 +1,17 @@
+[Unit]
+Description=Proton Mail IMAP/SMTP bridge
+Documentation=https://proton.me/mail/bridge/
+
+[Service]
+ExecStart=/usr/bin/proton-mail-bridge --noninteractive
+Restart=on-failure
+
+# Hardening
+ProtectSystem=full
+PrivateTmp=true
+SystemCallArchitectures=native
+MemoryDenyWriteExecute=true
+NoNewPrivileges=true
+
+[Install]
+WantedBy=default.target