diff options
Diffstat (limited to 'mail-mta/proton-mail-bridge/files')
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 |