From: "Takuya Wakazono" <pastalian46@gmail.com>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/proj/guru:dev commit in: net-misc/megasync/files/, net-misc/megasync/
Date: Thu, 02 Jan 2025 13:47:33 +0000 (UTC) [thread overview]
Message-ID: <1735825619.9b0b966ecd05b7244a0c6d5c2cb34f0770452e50.pastalian46@gentoo> (raw)
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
+}
next reply other threads:[~2025-01-02 13:47 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-01-02 13:47 Takuya Wakazono [this message]
-- strict thread matches above, loose matches on Subject: below --
2025-03-05 14:23 [gentoo-commits] repo/proj/guru:dev commit in: net-misc/megasync/files/, net-misc/megasync/ Takuya Wakazono
2025-02-06 13:04 Takuya Wakazono
2024-10-03 16:08 Takuya Wakazono
2024-07-12 17:56 Takuya Wakazono
2023-11-23 6:09 Takuya Wakazono
2023-11-07 14:03 Takuya Wakazono
2021-05-24 10:38 Samuel Bernardo
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1735825619.9b0b966ecd05b7244a0c6d5c2cb34f0770452e50.pastalian46@gentoo \
--to=pastalian46@gmail.com \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox