commit:     4eeffbe6e9db5a88d4c1e7f6290e7d02e5e4f259
Author:     Takuya Wakazono <pastalian46 <AT> gmail <DOT> com>
AuthorDate: Thu Apr  3 14:48:21 2025 +0000
Commit:     David Roman <davidroman96 <AT> gmail <DOT> com>
CommitDate: Thu Apr  3 14:48:21 2025 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=4eeffbe6

net-misc/megasync: add 5.10.0.2

Reintroduce dolphin USE flag with Qt6 support.

Signed-off-by: Takuya Wakazono <pastalian46 <AT> gmail.com>

 net-misc/megasync/Manifest                         |   2 +
 .../files/megasync-5.10.0.2-link-zlib.patch        |  30 ++++
 net-misc/megasync/megasync-5.10.0.2.ebuild         | 171 +++++++++++++++++++++
 net-misc/megasync/metadata.xml                     |   1 +
 4 files changed, 204 insertions(+)

diff --git a/net-misc/megasync/Manifest b/net-misc/megasync/Manifest
index 3638fb5a9..9045549b1 100644
--- a/net-misc/megasync/Manifest
+++ b/net-misc/megasync/Manifest
@@ -1,4 +1,6 @@
+DIST megasync-5.10.0.2.tar.gz 25034295 BLAKE2B 
88a8952de4fac1bf77fea6e504abf9196aae4e68230e53ba31d033162923910b5f990e226786a43bf32b007f45fd7dfed5464ec629c1d60e66a3d32932a549d8
 SHA512 
66bfb57f24866ef15b3cb1e9a7844268744dd1f4df635e4bc8119f45aaca0e35001ab87e2ba53c1795697ddb2bf32507e711a9e9bd1ffbd0f304b3bbdb22ca17
 DIST megasync-5.8.0.2.tar.gz 23480049 BLAKE2B 
e1324a5cafb8056d5f2feac1de789afce35e86638c9985fd2f785c174d7594478f4861f120a0655cece5a84a45826863d3758b2d4e1cc5e4454550281a73dfb7
 SHA512 
0a6c6a1feb5908fce1969410ece944d9d663dae1ed37a22b69830d7c1825861f7b9d59d3c18802202306cf7e898b500d7b2fbc481263be5f2363b3cf2d63818e
 DIST megasync-5.9.0.3.tar.gz 24888074 BLAKE2B 
44278e7da30819654775dfe71059251c7846e4ebb972b4fefd30d327604ed6c1bd9d899976a56bca7d371e7314378e96e68d265f513f758a1157d87c1fc5a8f7
 SHA512 
3777c630c44c6042cceeb99a3757ce0d2d9ded9d768be843ce3b74fdaa0d5be89c8a3c341f4f0dc822d0799ac528c3d42eb33b88484eb07271a9917914fe7b8f
+DIST megasync-sdk-5.10.0.2.tar.gz 4133463 BLAKE2B 
3fd7d01cb44757199da2365e37ea516dd52b12c9df875c1229a79697ad5742e0411eef13ded9e69cd0445b6054c8fb480521080ff3de21985a8912f8f0183198
 SHA512 
8f9f865bdb6d58383cb4a87e46c1e5c73bd73fbe6b8b1a51c36c1252907eeaad388bfb4f45c9be076e5b01a91893d274a397794c7280302749548d17a5772132
 DIST megasync-sdk-5.8.0.2.tar.gz 4064275 BLAKE2B 
831823ba513202a972f90ba183958fe8db4012514239b908da4ce49558b194f31ba01e0ffe378fe8ce3ba8e857daa2347a4d4ae1fd0793dc8f4b1f769a49108a
 SHA512 
92a0b5a30b3839f657531dad6298d88c5e08204be28a23086ab3dd5a3f3b3ff83cd42a72df38a803afcddce855a1d2ecaeee82e7d5becae9510f25fc88e9c536
 DIST megasync-sdk-5.9.0.3.tar.gz 4118381 BLAKE2B 
d722d6fc871354d01e77a50fc0d071396463d3d9485f8197e7d75a9a5af05bac16c3b15111c2b328156d8467f87ab13f2585998c3cabda298cfcc7eb283684be
 SHA512 
f49162ea1c73a5e63408693ab770b454b7ba4252321ef3cd50b7fd2d22f2a27a7df68cbbf102b8bf5220bc313809c3737c1c32f766999f7348c63a60dc68de29

diff --git a/net-misc/megasync/files/megasync-5.10.0.2-link-zlib.patch 
b/net-misc/megasync/files/megasync-5.10.0.2-link-zlib.patch
new file mode 100644
index 000000000..6a833a1db
--- /dev/null
+++ b/net-misc/megasync/files/megasync-5.10.0.2-link-zlib.patch
@@ -0,0 +1,30 @@
+Add missing zlib links.
+```
+/usr/lib/gcc/x86_64-pc-linux-gnu/15/../../../../x86_64-pc-linux-gnu/bin/ld: 
src/MEGASync/mega/tools/gfxworker/liblibgfxworker.a(logger.cpp.o): undefined 
reference to symbol 'gzputs'
+```
+--- a/src/MEGASync/control/control.cmake
++++ b/src/MEGASync/control/control.cmake
+@@ -100,6 +100,9 @@ set(DESKTOP_APP_CONTROL_SOURCES
+     ${CMAKE_CURRENT_LIST_DIR}/UsersUpdateListener.cpp
+ )
+ 
++find_package(ZLIB REQUIRED)
++target_link_libraries(${ExecutableTarget} PRIVATE ZLIB::ZLIB)
++
+ target_sources(${ExecutableTarget}
+     PRIVATE
+     ${DESKTOP_APP_CONTROL_HEADERS}
+--- a/src/MEGASync/mega/tools/gfxworker/CMakeLists.txt
++++ b/src/MEGASync/mega/tools/gfxworker/CMakeLists.txt
+@@ -70,9 +70,11 @@ add_executable(gfxworker
+     src/main.cpp
+ )
+ 
++find_package(ZLIB REQUIRED)
+ target_link_libraries(gfxworker
+     PRIVATE
+     libgfxworker
++    ZLIB::ZLIB
+ )
+ 
+ # Adjust compilation flags for warnings and errors for gfxworker

diff --git a/net-misc/megasync/megasync-5.10.0.2.ebuild 
b/net-misc/megasync/megasync-5.10.0.2.ebuild
new file mode 100644
index 000000000..cd24082c4
--- /dev/null
+++ b/net-misc/megasync/megasync-5.10.0.2.ebuild
@@ -0,0 +1,171 @@
+# Copyright 2023-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake flag-o-matic qmake-utils xdg
+
+DESCRIPTION="The official Qt-based program for syncing your MEGA account in 
your PC"
+HOMEPAGE="
+       https://mega.io
+       https://github.com/meganz/MEGAsync
+"
+
+MEGA_SDK_REV="b28f39fd6d98d3d30bb1b6a52dd1941cbc7a4e90" # commit of 
src/MEGASync/mega submodule
+MEGA_TAG_SUFFIX="Win"
+SRC_URI="
+       
https://github.com/meganz/MEGAsync/archive/v${PV}_${MEGA_TAG_SUFFIX}.tar.gz -> 
${P}.tar.gz
+       https://github.com/meganz/sdk/archive/${MEGA_SDK_REV}.tar.gz -> 
${PN}-sdk-${PV}.tar.gz
+"
+S="${WORKDIR}"/MEGAsync-${PV}_${MEGA_TAG_SUFFIX}
+
+LICENSE="MEGA"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="dolphin mediainfo nautilus nemo thumbnail thunar"
+
+DEPEND="
+       dev-db/sqlite:3
+       dev-libs/crypto++:=
+       dev-libs/icu:=
+       dev-libs/libsodium:=
+       dev-libs/libuv:=
+       dev-libs/openssl:0=
+       dev-qt/qtconcurrent:5
+       dev-qt/qtcore:5
+       dev-qt/qtdbus:5
+       dev-qt/qtdeclarative:5
+       dev-qt/qtgui:5
+       dev-qt/qtnetwork:5
+       dev-qt/qtimageformats:5
+       dev-qt/qtsvg:5
+       dev-qt/qtwidgets:5
+       dev-qt/qtx11extras:5
+       net-dns/c-ares:=
+       net-misc/curl[ssl]
+       sys-libs/zlib
+       x11-libs/libxcb:=
+       dolphin? (
+               dev-qt/qtbase:6[network,widgets]
+               kde-apps/dolphin:6
+               kde-frameworks/kcoreaddons:6
+               kde-frameworks/kio:6
+               kde-frameworks/kwidgetsaddons:6
+       )
+       mediainfo? (
+               media-libs/libmediainfo
+               media-libs/libzen
+       )
+       nautilus? (
+               dev-libs/glib:2
+               >=gnome-base/nautilus-43
+       )
+       nemo? (
+               dev-libs/glib:2
+               gnome-extra/nemo
+       )
+       thumbnail? (
+               media-libs/freeimage
+               media-video/ffmpeg:=
+       )
+       thunar? (
+               dev-libs/glib:2
+               xfce-base/thunar:=
+       )
+"
+RDEPEND="
+       ${DEPEND}
+       dev-qt/qtquickcontrols:5
+       dev-qt/qtquickcontrols2:5
+"
+BDEPEND="
+       dev-qt/linguist-tools:5
+       virtual/pkgconfig
+       dolphin? ( kde-frameworks/extra-cmake-modules )
+"
+
+PATCHES=(
+       "${FILESDIR}/${PN}-4.10.0.0_ffmpeg6.patch"
+       "${FILESDIR}/${PN}-5.6.0.0-remove-clang-format.patch"
+       "${FILESDIR}/${PN}-5.7.0.0-disable-forced-options.patch"
+       "${FILESDIR}/${PN}-5.7.0.0-fix-install-dir.patch"
+       "${FILESDIR}/${PN}-5.7.0.0-rename-libcryptopp.patch"
+       "${FILESDIR}/${P}-link-zlib.patch"
+)
+
+BUILD_DIR_DOLPHIN="${S}_dolphin"
+
+dolphin_run() {
+       if use dolphin; then
+               cd "${S}/src/MEGAShellExtDolphin" || die
+               BUILD_DIR="${BUILD_DIR_DOLPHIN}" 
CMAKE_USE_DIR="${S}/src/MEGAShellExtDolphin" "$@"
+       fi
+}
+
+nemo_run() {
+       if use nemo; then
+               cd "${S}/src/MEGAShellExtNemo" || die
+               "$@"
+       fi
+}
+
+thunar_run() {
+       if use thunar; then
+               cd "${S}/src/MEGAShellExtThunar" || die
+               "$@"
+       fi
+}
+
+src_prepare() {
+       rmdir src/MEGASync/mega || die
+       mv "${WORKDIR}/sdk-${MEGA_SDK_REV}" src/MEGASync/mega || die
+
+       cmake_src_prepare
+}
+
+src_configure() {
+       # https://github.com/meganz/sdk/issues/2679
+       append-cppflags -DNDEBUG
+
+       local mycmakeargs=(
+               # build internal libs as static
+               -DBUILD_SHARED_LIBS=OFF
+               
-DCMAKE_MODULE_PATH="${S}/src/MEGASync/mega/cmake/modules/packages"
+               -DENABLE_DESKTOP_APP_TESTS=OFF
+               -DENABLE_DESKTOP_APP_WERROR=OFF
+               -DENABLE_DESKTOP_UPDATE_GEN=OFF
+               -DENABLE_DESIGN_TOKENS_IMPORTER=OFF
+               -DENABLE_ISOLATED_GFX=$(usex thumbnail)
+               -DENABLE_LINUX_EXT=$(usex nautilus)
+               -DUSE_FFMPEG=$(usex thumbnail)
+               -DUSE_FREEIMAGE=$(usex thumbnail)
+               -DUSE_MEDIAINFO=$(usex mediainfo)
+               -DUSE_PDFIUM=OFF
+               -DUSE_READLINE=OFF
+       )
+       cmake_src_configure
+
+       mycmakeargs=(
+               -DKF_VER=6
+               -DQt_VER=6
+       )
+       dolphin_run cmake_src_configure
+       nemo_run eqmake5 DEFINES=no_desktop
+       thunar_run eqmake5
+}
+
+src_compile() {
+       cmake_src_compile
+
+       dolphin_run cmake_src_compile
+       nemo_run emake
+       thunar_run emake
+}
+
+src_install() {
+       cmake_src_install
+
+       dolphin_run cmake_src_install
+       nemo_run emake INSTALL_ROOT="${D}" install
+       thunar_run emake INSTALL_ROOT="${D}" install
+}

diff --git a/net-misc/megasync/metadata.xml b/net-misc/megasync/metadata.xml
index 95ed64187..aa423a992 100644
--- a/net-misc/megasync/metadata.xml
+++ b/net-misc/megasync/metadata.xml
@@ -13,6 +13,7 @@
                <remote-id type="github">meganz/MEGAsync</remote-id>
        </upstream>
        <use>
+               <flag name='dolphin'>Build a plugin for Dolphin</flag>
                <flag name='mediainfo'>Use <pkg>media-libs/libmediainfo</pkg> 
to determine media properties</flag>
                <flag name='nautilus'>Build a plugin for nautilus</flag>
                <flag name='nemo'>Build a plugin for Nemo</flag>

Reply via email to