commit:     9b0b966ecd05b7244a0c6d5c2cb34f0770452e50
Author:     Takuya Wakazono <pastalian46 <AT> gmail <DOT> com>
AuthorDate: Thu Jan  2 12:00:35 2025 +0000
Commit:     Takuya Wakazono <pastalian46 <AT> gmail <DOT> com>
CommitDate: Thu Jan  2 13:46:59 2025 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=9b0b966e

net-misc/megasync: add 5.7.0.0

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

 net-misc/megasync/Manifest                         |   2 +
 .../megasync-5.7.0.0-disable-forced-options.patch  |  11 ++
 .../files/megasync-5.7.0.0-fix-install-dir.patch   |  27 ++++
 .../files/megasync-5.7.0.0-link-zlib.patch         |  30 +++++
 .../megasync-5.7.0.0-rename-libcryptopp.patch      |  11 ++
 net-misc/megasync/megasync-5.7.0.0.ebuild          | 147 +++++++++++++++++++++
 6 files changed, 228 insertions(+)

diff --git a/net-misc/megasync/Manifest b/net-misc/megasync/Manifest
index 8bb3a95e6..8d9c87330 100644
--- a/net-misc/megasync/Manifest
+++ b/net-misc/megasync/Manifest
@@ -1,4 +1,6 @@
 DIST megasync-5.6.0.0.tar.gz 24712966 BLAKE2B 
644e2ccbb2d7e60e9b15278d0e75c46ed102bab436e33a46dfac5068d9e527f4d9e1fbf109f286200b07d02efc08a986c0c263f4ce588fa286dcfc5eb73310d2
 SHA512 
49105e145cb3af2628044eb0161efdb4c2b75d844d955fe65b54171d77b887e0b77c543911a9a39501fe2200f43fbcdf3f0f1b78fe5868fa8a1968e7e9e02aca
 DIST megasync-5.6.1.0.tar.gz 24712997 BLAKE2B 
0e1a80c3c4f934f0b9274beba0883a72ab41bb9dc71284109cf2dd17660adc30ace4e82258ff403d1f95e5edab3aedf309632c2e172b0c727bdfedf06379d09e
 SHA512 
f62b8890eefd4b0f66eeaf99e98a04369da36daea1b3011888c16408578a6e10f3bbe5d584b18a249776ceff9184b77506a809fd1bba95b8f6671a8bf10a1dc1
+DIST megasync-5.7.0.0.tar.gz 23204780 BLAKE2B 
5d17808e366e2d3f538168d0580b2a68d077e95d45346f377eb5172d10d06db948fa021e3d1dc39b0d4967cba5b540a843028a571457adea53adcf9770e4e190
 SHA512 
b7db94bd372d9fd94fa987dc8a370129f23bcb2ff885862544e1a154de71af12459e8af7cbc25fecde5f3c074c81eac079d53dcdcef90e3f0ae8638bced7c868
 DIST megasync-sdk-5.6.0.0.tar.gz 4231209 BLAKE2B 
47e2bfe98879101c295e98556c21189a9e0223ed98c21558c6270534d0f58270e41a44eef7a2889caeb1c3256fd00e5d10c51c53c58c96e48efe29b56bb54d06
 SHA512 
4cf7bd84421a4399fe4269bac16916b5164755f2241c19a78b1c371dac342332c6e7e440942bac31370eeb840a6a71645fd26e1c98a8ff095a1ab8d10ca694e8
 DIST megasync-sdk-5.6.1.0.tar.gz 4231187 BLAKE2B 
4e0640281b451d9de18f63be3cca832717fe3ea387d91ace63a7db9d63ea51dfdd54342912885b3a7bde475b93beb524c9a44da9d2106d157df4a6b13b470104
 SHA512 
f630c3232e3b7b5ac5d9fab0f2d3c8ea6acbd98bb27fdc948d150e91b9edf5ffda575a52544fe5af0e6a023fa53ffe3dc1632e06c823956928e7edb0637f2932
+DIST megasync-sdk-5.7.0.0.tar.gz 4042090 BLAKE2B 
326688d633dfd08a160a799a426d29c84515d5971a7b6644ee7624b9ffd092e21f2f0e3f31a55bdfb766623bea60a9867c3c412a4ccd08b629391abdd0056dba
 SHA512 
9c0562f072c00d42b9e53e66f123990dac76ec0dccef6b32985468da75d79105e9e6ed2aad084f8110bc1d89efed21488bf71303872bbd876cd5260fac7caf7e

diff --git 
a/net-misc/megasync/files/megasync-5.7.0.0-disable-forced-options.patch 
b/net-misc/megasync/files/megasync-5.7.0.0-disable-forced-options.patch
new file mode 100644
index 000000000..8fcccf701
--- /dev/null
+++ b/net-misc/megasync/files/megasync-5.7.0.0-disable-forced-options.patch
@@ -0,0 +1,11 @@
+Disable forced options to reduce graphics-related dependencies.
+--- a/cmake/modules/desktopapp_options.cmake
++++ b/cmake/modules/desktopapp_options.cmake
+@@ -27,7 +27,6 @@ if (ENABLE_DESKTOP_APP)
+     set(USE_LIBUV ON) # Used by the Qt Desktop App: Includes the library and 
turns on internal web and ftp server functionality in the SDK.
+     set(ENABLE_LOG_PERFORMANCE ON)
+     set(ENABLE_QT_BINDINGS ON)
+-    set(ENABLE_ISOLATED_GFX ON)
+ endif()
+ 
+ include(sdklib_options)

diff --git a/net-misc/megasync/files/megasync-5.7.0.0-fix-install-dir.patch 
b/net-misc/megasync/files/megasync-5.7.0.0-fix-install-dir.patch
new file mode 100644
index 000000000..558e3660f
--- /dev/null
+++ b/net-misc/megasync/files/megasync-5.7.0.0-fix-install-dir.patch
@@ -0,0 +1,27 @@
+--- a/cmake/modules/desktopapp_configuration.cmake
++++ b/cmake/modules/desktopapp_configuration.cmake
+@@ -29,8 +29,6 @@ if(UNIX AND NOT APPLE)
+     # Note: using cmake --install --prefix /some/prefix will keep the RPATH 
as configured above.
+     #       Used for building packages: in which install dir is a path 
construction folder that will not be there in packages
+ 
+-    set(CMAKE_INSTALL_LIBDIR "opt/megasync/lib") # override default "lib" 
from GNUInstallDirs
+-    set(CMAKE_INSTALL_BINDIR "usr/bin") # override default "bin" from 
GNUInstallDirs
+ 
+     # Override CMAKE_INSTALL_PREFIX
+     if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) # In consecutive runs it 
will always be undef/false
+--- a/src/MEGASync/CMakeLists.txt
++++ b/src/MEGASync/CMakeLists.txt
+@@ -142,13 +142,6 @@ if (UNIX AND NOT APPLE)
+ 
+     set(vcpkg_lib_folder 
"${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/$<$<CONFIG:Debug>:debug/>lib/")
+ 
+-    install(DIRECTORY "${vcpkg_lib_folder}"
+-        TYPE LIB # In CMAKE_INSTALL_LIBDIR directory
+-        FILES_MATCHING
+-        PATTERN "*.so*"
+-        PATTERN "manual-link" EXCLUDE
+-        PATTERN "pkgconfig" EXCLUDE
+-    )
+ 
+     if(DEPLOY_QT_LIBRARIES)
+         include(desktopapp_deploy_qt)

diff --git a/net-misc/megasync/files/megasync-5.7.0.0-link-zlib.patch 
b/net-misc/megasync/files/megasync-5.7.0.0-link-zlib.patch
new file mode 100644
index 000000000..66231b5cc
--- /dev/null
+++ b/net-misc/megasync/files/megasync-5.7.0.0-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
+@@ -71,6 +71,9 @@ set(DESKTOP_APP_CONTROL_SOURCES
+     control/StatsEventHandler.cpp
+ )
+ 
++find_package(ZLIB REQUIRED)
++target_link_libraries(MEGAsync PRIVATE ZLIB::ZLIB)
++
+ target_sources(MEGAsync
+     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/files/megasync-5.7.0.0-rename-libcryptopp.patch 
b/net-misc/megasync/files/megasync-5.7.0.0-rename-libcryptopp.patch
new file mode 100644
index 000000000..4bb2ffd4b
--- /dev/null
+++ b/net-misc/megasync/files/megasync-5.7.0.0-rename-libcryptopp.patch
@@ -0,0 +1,11 @@
+--- a/src/MEGASync/mega/cmake/modules/sdklib_libraries.cmake
++++ b/src/MEGASync/mega/cmake/modules/sdklib_libraries.cmake
+@@ -95,7 +95,7 @@ macro(load_sdklib_libraries)
+ 
+         find_package(PkgConfig REQUIRED) # For libraries loaded using 
pkg-config
+ 
+-        pkg_check_modules(cryptopp REQUIRED IMPORTED_TARGET libcrypto++)
++        pkg_check_modules(cryptopp REQUIRED IMPORTED_TARGET libcryptopp)
+         target_link_libraries(SDKlib PUBLIC PkgConfig::cryptopp) # TODO: 
Private for SDK core
+ 
+         pkg_check_modules(sodium REQUIRED IMPORTED_TARGET libsodium)

diff --git a/net-misc/megasync/megasync-5.7.0.0.ebuild 
b/net-misc/megasync/megasync-5.7.0.0.ebuild
new file mode 100644
index 000000000..f9664b2b8
--- /dev/null
+++ b/net-misc/megasync/megasync-5.7.0.0.ebuild
@@ -0,0 +1,147 @@
+# 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="81f2d1cde975859ff264c66b808cfa855f79ae82" # 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="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:=
+       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
+"
+
+PATCHES=(
+       "${FILESDIR}/${PN}-4.10.0.0_ffmpeg6.patch"
+       "${FILESDIR}/${PN}-5.6.0.0-remove-clang-format.patch"
+       "${FILESDIR}/${P}-disable-forced-options.patch"
+       "${FILESDIR}/${P}-fix-install-dir.patch"
+       "${FILESDIR}/${P}-link-zlib.patch"
+       "${FILESDIR}/${P}-rename-libcryptopp.patch"
+)
+
+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_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
+
+       unset mycmakeargs
+       nemo_run eqmake5 DEFINES=no_desktop
+       thunar_run eqmake5
+}
+
+src_compile() {
+       cmake_src_compile
+
+       nemo_run emake
+       thunar_run emake
+}
+
+src_install() {
+       cmake_src_install
+
+       nemo_run emake INSTALL_ROOT="${D}" install
+       thunar_run emake INSTALL_ROOT="${D}" install
+}

Reply via email to