commit:     7daf37974524787248820666a836689a2141e402
Author:     Takuya Wakazono <pastalian46 <AT> gmail <DOT> com>
AuthorDate: Fri Nov  3 03:34:32 2023 +0000
Commit:     Takuya Wakazono <pastalian46 <AT> gmail <DOT> com>
CommitDate: Fri Nov  3 03:36:31 2023 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=7daf3797

net-misc/megasync: add 4.10.0.0

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

 net-misc/megasync/Manifest                         |   2 +
 .../megasync/files/megasync-4.10.0.0_ffmpeg6.patch |  27 ++++
 net-misc/megasync/megasync-4.10.0.0.ebuild         | 147 +++++++++++++++++++++
 3 files changed, 176 insertions(+)

diff --git a/net-misc/megasync/Manifest b/net-misc/megasync/Manifest
index 84ee837620..0230088c95 100644
--- a/net-misc/megasync/Manifest
+++ b/net-misc/megasync/Manifest
@@ -1,4 +1,6 @@
+DIST megasync-4.10.0.0.tar.gz 20254658 BLAKE2B 
c36a715ec4da883f5f8b9bf2f9f223b0701ba7b74399cba448bbf93dbc210bc2b3ff4b538af0eba08ea8a92f0134749fa2eeb3eba00b1de6cfad5d42117d2ab8
 SHA512 
3f37c39dd0552e64f802cebb63f275a8cbc2b445aad1f74576b732022563f79c8264257494f7778d6fec6dff98f06cc7276022edc6e6279bd6e683fdcfcddb94
 DIST megasync-4.3.8.0.tar.gz 16019709 BLAKE2B 
493ac0df0e8ca5c6617e493b5b3d81e45cedf2212a83ec9f5f6c07eee6fdf1d749b3735e10082b89f376f261ebfb825a3a7c457b8aa3be64702cddca34558558
 SHA512 
597b1d4a5a806514449b55e8bf81688b3c6d275372ebb56a45841b2f4c7caf8d9db363cf627fa0b6b84f4c662dc8cf87179b4478cd50b7b7efa1e23a9dca3389
 DIST megasync-4.5.0.0.tar.gz 16162074 BLAKE2B 
9ad09b61614992fc48572c168bb3b9692145289b945c01e371babe78a3b75bcc20a842f524279f6db35f8d93c914e9ba68ee5d187614b5041638813cb304531e
 SHA512 
f0c78d741be4a9ee9411be63667ea76cca3ff50ab70a81c904011e1ce1c6f0287ab5c90fc2b1a7a7c040b2d568819f91ecd10f8d570b22231df7b99166eacb11
+DIST megasync-sdk-4.10.0.0.tar.gz 3696547 BLAKE2B 
13f69a0bd24a4aac6e73af1bd883bd0abdfd5ceef6e9e558286fc9002acd5f4822c762b57c4ca7fc0000d3f5ec3a1a00459e3b0a2d2d1c4963d7fc8caacd2b6a
 SHA512 
8dcbd0a0b086616a432ff0979695ddb799a01a32550f0777ddf26fe795b340a754dbcd3f77af55e9286673bca3c366cdaa07432c1c2b552b2ecf23f9500e8a2c
 DIST megasync-sdk-4.3.8.0.tar.gz 3363057 BLAKE2B 
fbc7006a5559a5e2220cd9f9f398c835a1de919624e4d00d052580cf7e3ac4bae2ec1acbd6650b1eaef1218363203837cad562875067e524e067a53d5553567b
 SHA512 
e6ec612fb11be4566d091d4159429ee50574081753caae3b1dd4e22221f2b213cfc0787b52051cbcdf9b0069869df6c95aa80951bdc3fa5098dd26fa0a2e7f7e
 DIST megasync-sdk-4.5.0.0.tar.gz 3497367 BLAKE2B 
1594d792f38df4df29acd25ea5c920acf27410513544abc618a692e3ed2e6e1a459123b043a9aa3bfdc4647d753d6c14cc5ee1bde02abd6c0f6d7ce66b118821
 SHA512 
177b9e31f2aacfa370132657bb70ec315edcfbcfe043f067f4c67b69a47ade7235699183541de2462d2ab2a18b4688006cd938ae80da603df9bd79d908b58140

diff --git a/net-misc/megasync/files/megasync-4.10.0.0_ffmpeg6.patch 
b/net-misc/megasync/files/megasync-4.10.0.0_ffmpeg6.patch
new file mode 100644
index 0000000000..4c4757926e
--- /dev/null
+++ b/net-misc/megasync/files/megasync-4.10.0.0_ffmpeg6.patch
@@ -0,0 +1,27 @@
+diff -Naur a/src/MEGASync/mega/src/gfx/freeimage.cpp 
b/src/MEGASync/mega/src/gfx/freeimage.cpp
+--- a/src/MEGASync/mega/src/gfx/freeimage.cpp  2023-09-27 22:20:26.000000000 
+0900
++++ b/src/MEGASync/mega/src/gfx/freeimage.cpp  2023-11-03 11:01:24.526257561 
+0900
+@@ -209,12 +209,6 @@
+ 
+ #ifdef HAVE_FFMPEG
+ 
+-#ifdef AV_CODEC_CAP_TRUNCATED
+-#define CAP_TRUNCATED AV_CODEC_CAP_TRUNCATED
+-#else
+-#define CAP_TRUNCATED CODEC_CAP_TRUNCATED
+-#endif
+-
+ const char *GfxProviderFreeImage::supportedformatsFfmpeg()
+ {
+     return  ".264.265.3g2.3gp.3gpa.3gpp.3gpp2.mp3"
+@@ -330,10 +324,6 @@
+ 
+     // Force seeking to key frames
+     formatContext->seek2any = false;
+-    if (decoder->capabilities & CAP_TRUNCATED)
+-    {
+-        codecContext->flags |= CAP_TRUNCATED;
+-    }
+ 
+     AVPixelFormat sourcePixelFormat = 
static_cast<AVPixelFormat>(codecParm->format);
+     AVPixelFormat targetPixelFormat = AV_PIX_FMT_BGR24; //raw data expected 
by freeimage is in this format

diff --git a/net-misc/megasync/megasync-4.10.0.0.ebuild 
b/net-misc/megasync/megasync-4.10.0.0.ebuild
new file mode 100644
index 0000000000..6f32a49537
--- /dev/null
+++ b/net-misc/megasync/megasync-4.10.0.0.ebuild
@@ -0,0 +1,147 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools desktop qmake-utils xdg cmake
+
+DESCRIPTION="The official Qt-based program for syncing your MEGA account in 
your PC"
+HOMEPAGE="
+       https://mega.io
+       https://github.com/meganz/MEGAsync
+"
+
+if [[ ${PV} == 9999 ]];then
+       inherit git-r3
+       EGIT_REPO_URI="https://github.com/meganz/MEGAsync";
+       EGIT_BRANCH="master"
+       EGIT_SUBMODULES=( '*' )
+else
+       MEGA_SDK_REV="91d14ae6b024339dd4e15acb367ac20fb24633ac" # 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
+       "
+       KEYWORDS="~amd64 ~x86"
+       S="${WORKDIR}"/MEGAsync-${PV}_${MEGA_TAG_SUFFIX}
+fi
+
+LICENSE="MEGA"
+SLOT="0"
+IUSE="+cryptopp +curl +freeimage +sqlite +zlib dolphin examples java nautilus 
php python readline threads thunar"
+
+RDEPEND="
+       app-arch/xz-utils
+       dev-libs/libgcrypt
+       dev-libs/libsodium
+       dev-libs/libuv
+       dev-libs/openssl:0=
+       media-libs/libpng
+       net-dns/c-ares
+       x11-themes/hicolor-icon-theme
+       cryptopp? ( dev-libs/crypto++ )
+       curl? ( net-misc/curl[ssl,curl_ssl_openssl(-)] )
+       dolphin? ( kde-apps/dolphin )
+       freeimage? ( media-libs/freeimage )
+       nautilus? ( >=gnome-base/nautilus-3 )
+       readline? ( sys-libs/readline:0 )
+       sqlite? ( dev-db/sqlite:3 )
+       thunar? ( xfce-base/thunar )
+       zlib? ( sys-libs/zlib )
+"
+DEPEND="
+       ${RDEPEND}
+       media-libs/libmediainfo
+       media-libs/libraw
+       dev-qt/qtcore:5
+       dev-qt/qtwidgets:5
+       dev-qt/qtgui:5
+       dev-qt/qtconcurrent:5
+       dev-qt/qtnetwork:5
+       dev-qt/qtdbus:5
+       dev-qt/qtimageformats:5
+       dev-qt/qtsvg:5
+       dev-qt/qtx11extras:5
+"
+BDEPEND="
+       dev-lang/swig
+       dev-qt/linguist-tools
+"
+
+DOCS=( CREDITS.md README.md )
+
+CMAKE_USE_DIR="${S}/src/MEGAShellExtDolphin"
+
+src_prepare() {
+       if [[ ${PV} != 9999 ]]; then
+               rmdir src/MEGASync/mega
+               mv "${WORKDIR}"/sdk-${MEGA_SDK_REV} src/MEGASync/mega
+       fi
+       cd "${S}/src/MEGASync/mega"
+       eapply -Np1 "${FILESDIR}/${PN}-4.5.0.0_pdfium.patch"
+       cd "${S}"
+       if has_version ">=media-video/ffmpeg-6.0"; then
+               eapply "${FILESDIR}/${PN}-4.10.0.0_ffmpeg6.patch"
+       fi
+       if use dolphin; then
+               # use the kde5 CMakeLists instead of the kde 4 version
+               mv src/MEGAShellExtDolphin/CMakeLists_kde5.txt 
src/MEGAShellExtDolphin/CMakeLists.txt || die
+               cmake_src_prepare
+       else
+               default
+       fi
+       cd "${S}/src/MEGASync/mega"
+       eautoreconf
+}
+
+src_configure() {
+       cd "${S}/src/MEGASync/mega"
+       econf \
+               "--disable-silent-rules" \
+               "--disable-curl-checks" \
+               "--disable-megaapi" \
+               $(use_with zlib) \
+               $(use_with sqlite) \
+               $(use_with cryptopp) \
+               "--with-cares" \
+               $(use_with curl) \
+               "--without-termcap" \
+               $(use_enable threads posix-threads) \
+               "--with-sodium" \
+               $(use_with freeimage) \
+               $(use_with readline) \
+               $(use_enable examples) \
+               $(use_enable java) \
+               $(use_enable php) \
+               $(use_enable python) \
+               "--enable-gcc-hardening"
+       cd "${S}/src"
+
+       local myeqmakeargs=(
+               MEGA.pro
+               CONFIG+="release"
+       )
+
+       eqmake5 ${myeqmakeargs[@]}
+       use dolphin && cmake_src_configure
+       $(qt5_get_bindir)/lrelease MEGASync/MEGASync.pro
+}
+
+src_compile() {
+       emake -C src INSTALL_ROOT=. || die
+       use dolphin && cmake_src_compile
+}
+
+src_install() {
+       use dolphin && cmake_src_install
+       einstalldocs
+
+       dobin src/MEGASync/${PN}
+       domenu src/MEGASync/platform/linux/data/${PN}.desktop
+
+       cd src/MEGASync/platform/linux/data/icons/hicolor
+       for size in 16x16 32x32 48x48 128x128 256x256;do
+               doicon -s $size $size/apps/mega.png
+       done
+}

Reply via email to