commit:     78a67c840641da031427685a225c612b2b466644
Author:     Ada Ahmed <yretenai <AT> gmail <DOT> com>
AuthorDate: Mon Dec 30 13:41:42 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Dec 30 14:01:30 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=78a67c84

mail-mta/proton-mail-bridge: add 3.15.1

[sam: Regenerate dep tarball and add src_unpack for it.]

Closes: https://bugs.gentoo.org/947214
Signed-off-by: Ada Ahmed <yretenai <AT> gmail.com>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 mail-mta/proton-mail-bridge/Manifest               |   2 +
 .../proton-mail-bridge-3.15.1-gui_gentoo.patch     |  77 +++++++++++++
 .../proton-mail-bridge-3.15.1.ebuild               | 128 +++++++++++++++++++++
 3 files changed, 207 insertions(+)

diff --git a/mail-mta/proton-mail-bridge/Manifest 
b/mail-mta/proton-mail-bridge/Manifest
index d1b00586c041..3127b41edaa0 100644
--- a/mail-mta/proton-mail-bridge/Manifest
+++ b/mail-mta/proton-mail-bridge/Manifest
@@ -1,2 +1,4 @@
 DIST proton-mail-bridge-3.10.0-deps.tar.xz 246860004 BLAKE2B 
56000b5aeb30a1dbd4f35b2b3b309bd4ab80c1ace7a7261b303231c196b698afe38754a6e779ca4313acc1fec0e7136a1783c16625f26c041f0aa4c7baa77c19
 SHA512 
8f314727eb1796f7c69e777ce708f45a534e352becd89a51c90cb2c9cf5367f28d6f4b34d42dce85443aca66ed3bb89404e6add19486596044fd00810f8cb65f
 DIST proton-mail-bridge-3.10.0.tar.gz 5176242 BLAKE2B 
a319dab8a9b6b74afe1792ee61cd2c6d3e7e93a7459477cde0b5d796e19a67be2f45766decfdc9e1ba0827a969fbb1c95557d3a6b52d9340eeec5ecbc1b4b6c5
 SHA512 
65d07b15053fc9b67f4792a506b5e8c07896c166bcfe34751625c98f79ab01f00da29cdb029e5276c4624af7f787392347c7555c15edb4d05be1b0415f50bbd6
+DIST proton-mail-bridge-3.15.1-deps.tar.xz 7043648 BLAKE2B 
fcd6e87989f4571c3c3743af4cee6db752ef1a9a441503e777913deb50825e7544353090f0225568051fd0c9fd6732ce644d7b6aa01cddf664f93060a1232882
 SHA512 
d3d2449f8bc8fa6bae4699a27e6b4d089259a67e44c3694c25a869f433418196354d539e600416549404ba441002189e9e62d50f52b43d919a3f9fece33eb677
+DIST proton-mail-bridge-3.15.1.tar.gz 5422838 BLAKE2B 
8e6ac15b482a5d169d2dee3ab0fec2c99f291ca63db833e6650c92c3e9fab2cf0f68c8c23fc2f8d4d69040a22f3bfbd7854bb1ea6cd0a266e72e5e8b0049efb5
 SHA512 
96890c5ddf554da612d41275dd661611cb3e28f987d1fba984181c86b57bb15014fa6815f2925c17251842873993865a052173c1f7363d29c502e5676d2c32b4

diff --git 
a/mail-mta/proton-mail-bridge/files/proton-mail-bridge-3.15.1-gui_gentoo.patch 
b/mail-mta/proton-mail-bridge/files/proton-mail-bridge-3.15.1-gui_gentoo.patch
new file mode 100644
index 000000000000..8c2b4d1d8c4d
--- /dev/null
+++ 
b/mail-mta/proton-mail-bridge/files/proton-mail-bridge-3.15.1-gui_gentoo.patch
@@ -0,0 +1,77 @@
+diff --git a/internal/frontend/bridge-gui/BridgeSetup.cmake 
b/internal/frontend/bridge-gui/BridgeSetup.cmake
+index 7c6c634..6959892 100644
+--- a/internal/frontend/bridge-gui/BridgeSetup.cmake
++++ b/internal/frontend/bridge-gui/BridgeSetup.cmake
+@@ -44,7 +44,7 @@ if (NOT DEFINED BRIDGE_APP_VERSION)
+     endif()
+ endif()
+ 
+-
++if(0)
+ 
#****************************************************************************************************************************************************
+ # vcpkg, toolchain, and architecture
+ 
#****************************************************************************************************************************************************
+@@ -87,4 +87,5 @@ if  (WIN32)
+     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/internal/frontend/bridge-gui/bridge-gui/CMakeLists.txt 
b/internal/frontend/bridge-gui/bridge-gui/CMakeLists.txt
+index 93a9f49..ffe3a52 100644
+--- a/internal/frontend/bridge-gui/bridge-gui/CMakeLists.txt
++++ b/internal/frontend/bridge-gui/bridge-gui/CMakeLists.txt
+@@ -167,12 +167,9 @@ set_target_properties(bridge-gui PROPERTIES
+         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 @@ else()
+ endif()
+ 
+ include(Deploy${DEPLOY_OS}.cmake)
++endif()
+diff --git a/internal/frontend/bridge-gui/bridge-gui/main.cpp 
b/internal/frontend/bridge-gui/bridge-gui/main.cpp
+index 8c21436..c804410 100644
+--- a/internal/frontend/bridge-gui/bridge-gui/main.cpp
++++ b/internal/frontend/bridge-gui/bridge-gui/main.cpp
+@@ -51,7 +51,7 @@ QString const exeSuffix;
+ 
+ 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 --git a/internal/frontend/bridge-gui/bridgepp/CMakeLists.txt 
b/internal/frontend/bridge-gui/bridgepp/CMakeLists.txt
+index f4a0a55..17cab0e 100644
+--- a/internal/frontend/bridge-gui/bridgepp/CMakeLists.txt
++++ b/internal/frontend/bridge-gui/bridgepp/CMakeLists.txt
+@@ -164,6 +164,9 @@ target_link_libraries(bridgepp
+ 
+ target_precompile_headers(bridgepp PRIVATE Pch.h)
+ 
++install(TARGETS bridgepp)
++
++if(0)
+ 
#*****************************************************************************************************************************************************
+ # GoogleTest
+ 
#*****************************************************************************************************************************************************
+@@ -205,3 +208,4 @@ target_link_libraries(bridgepp-test
+ 
+ include(GoogleTest)
+ gtest_discover_tests(bridgepp-test)
++endif()

diff --git a/mail-mta/proton-mail-bridge/proton-mail-bridge-3.15.1.ebuild 
b/mail-mta/proton-mail-bridge/proton-mail-bridge-3.15.1.ebuild
new file mode 100644
index 000000000000..ac70539e3291
--- /dev/null
+++ b/mail-mta/proton-mail-bridge/proton-mail-bridge-3.15.1.ebuild
@@ -0,0 +1,128 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake desktop go-module systemd xdg-utils
+
+MY_PN="${PN/-mail/}"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Serves Proton Mail to IMAP/SMTP clients"
+HOMEPAGE="https://proton.me/mail/bridge 
https://github.com/ProtonMail/proton-bridge/";
+SRC_URI="https://github.com/ProtonMail/${MY_PN}/archive/refs/tags/v${PV}.tar.gz
 -> ${P}.tar.gz"
+SRC_URI+=" 
https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-deps.tar.xz";
+
+LICENSE="Apache-2.0 BSD BSD-2 GPL-3+ ISC LGPL-3+ MIT MPL-2.0 Unlicense"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="gui"
+
+# Quite a few tests require Internet access
+PROPERTIES="test_network"
+RESTRICT="test"
+
+RDEPEND="app-crypt/libsecret
+       gui? (
+               >=dev-libs/protobuf-21.12:=
+               >=dev-libs/sentry-native-0.6.5-r1
+               dev-qt/qtbase:6=[gui,icu,widgets]
+               dev-qt/qtdeclarative:6=[widgets]
+               dev-qt/qtsvg:6=
+               media-libs/mesa
+               net-libs/grpc:=
+       )
+"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-3.15.1-gui_gentoo.patch
+)
+
+S="${WORKDIR}"/${MY_P}
+
+src_unpack() {
+       default
+
+       if [[ -d "${WORKDIR}"/vendor ]] ; then
+               mv "${WORKDIR}"/vendor "${S}"/vendor || die
+       fi
+       go-env_set_compile_environment
+}
+
+src_prepare() {
+       xdg_environment_reset
+       default
+       if use gui; then
+               local PATCHES=()
+               BUILD_DIR="${WORKDIR}"/gui_build \
+                       
CMAKE_USE_DIR="${S}"/internal/frontend/bridge-gui/bridge-gui \
+                       cmake_src_prepare
+       fi
+}
+
+src_configure() {
+       if use gui; then
+               local mycmakeargs=(
+                       -DBRIDGE_APP_FULL_NAME="Proton Mail Bridge"
+                       -DBRIDGE_APP_VERSION="${PV}+git"
+                       -DBRIDGE_REPO_ROOT="${S}"
+                       -DBRIDGE_TAG="NOTAG"
+                       -DBRIDGE_VENDOR="Gentoo Linux"
+                       -DCMAKE_DISABLE_PRECOMPILE_HEADERS=OFF
+               )
+               BUILD_DIR="${WORKDIR}"/gui_build \
+                       
CMAKE_USE_DIR="${S}"/internal/frontend/bridge-gui/bridge-gui \
+                       cmake_src_configure
+       fi
+}
+
+src_compile() {
+       emake build-nogui
+
+       if use gui; then
+               BUILD_DIR="${WORKDIR}"/gui_build \
+                       
CMAKE_USE_DIR="${S}"/internal/frontend/bridge-gui/bridge-gui \
+                       cmake_src_compile
+       fi
+}
+
+src_test() {
+       emake test
+}
+
+src_install() {
+       exeinto /usr/bin
+       newexe bridge ${PN}
+
+       if use gui; then
+               BUILD_DIR="${WORKDIR}"/gui_build \
+                       
CMAKE_USE_DIR="${S}"/internal/frontend/bridge-gui/bridge-gui \
+                       cmake_src_install
+               mv "${ED}"/usr/bin/bridge-gui "${ED}"/usr/bin/${PN}-gui || die
+               newicon "${S}"/dist/bridge.svg ${PN}.svg
+               make_desktop_entry ${PN}-gui "Proton Mail Bridge" ${PN}.svg 
"Email;Network"
+       fi
+
+       systemd_newuserunit "${FILESDIR}"/${PN}.service-r1 ${PN}.service
+
+       einstalldocs
+}
+
+pkg_postinst() {
+       if [[ -n "${REPLACING_VERSIONS}" ]]; then
+               local oldver
+               for oldver in ${REPLACING_VERSIONS}; do
+                       if ver_test "${oldver}" -lt 3.2.0; then
+                               ewarn "Please note that since version 3.2.0, 
${PN} by default shares usage statistics with upstream."
+                               ewarn "For details, please see"
+                               ewarn
+                               ewarn " 
https://proton.me/support/share-usage-statistics";
+                               ewarn
+                               ewarn "This behaviour can be disabled through 
${PN}-gui, under Advanced Settings."
+                               ewarn
+                               break
+                       fi
+               done
+       fi
+}

Reply via email to