From 7daf37974524787248820666a836689a2141e402 Mon Sep 17 00:00:00 2001 From: Takuya Wakazono Date: Fri, 3 Nov 2023 12:34:32 +0900 Subject: [PATCH] net-misc/megasync: add 4.10.0.0 Signed-off-by: Takuya Wakazono --- net-misc/megasync/Manifest | 2 + .../files/megasync-4.10.0.0_ffmpeg6.patch | 27 ++++ net-misc/megasync/megasync-4.10.0.0.ebuild | 147 ++++++++++++++++++ 3 files changed, 176 insertions(+) create mode 100644 net-misc/megasync/files/megasync-4.10.0.0_ffmpeg6.patch create mode 100644 net-misc/megasync/megasync-4.10.0.0.ebuild 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(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 +}