public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
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
+}


             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