From 917e847bf4d5c4f60544b3638bc16e0975b20e27 Mon Sep 17 00:00:00 2001 From: Samuel Bernardo Date: Mon, 24 May 2021 11:37:27 +0100 Subject: [PATCH] net-misc/megasync: 4.5.0.0 and 9999 Correct pending upstream bugs and set the correct sdk commit. Some additional improvements in ebuild. Package-Manager: Portage-3.0.18, Repoman-3.0.2 Signed-off-by: Samuel Bernardo --- .../files/megasync-4.5.0.0_ffmpeg.patch | 24 +++++++++++++ .../files/megasync-4.5.0.0_pdfium.patch | 16 +++++++++ net-misc/megasync/megasync-4.5.0.0.ebuild | 20 ++++++++--- net-misc/megasync/megasync-9999.ebuild | 34 ++++++++++++++----- 4 files changed, 81 insertions(+), 13 deletions(-) create mode 100644 net-misc/megasync/files/megasync-4.5.0.0_ffmpeg.patch create mode 100644 net-misc/megasync/files/megasync-4.5.0.0_pdfium.patch diff --git a/net-misc/megasync/files/megasync-4.5.0.0_ffmpeg.patch b/net-misc/megasync/files/megasync-4.5.0.0_ffmpeg.patch new file mode 100644 index 0000000000..a30d4a1eff --- /dev/null +++ b/net-misc/megasync/files/megasync-4.5.0.0_ffmpeg.patch @@ -0,0 +1,24 @@ +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 2021-05-23 02:28:08.694081111 +0100 ++++ b/src/MEGASync/mega/src/gfx/freeimage.cpp 2021-05-23 02:29:56.189964969 +0100 +@@ -188,7 +188,7 @@ + + // Force seeking to key frames + formatContext->seek2any = false; +- videoStream->skip_to_keyframe = true; ++ //videoStream->skip_to_keyframe = true; + if (decoder->capabilities & CAP_TRUNCATED) + { + codecContext.flags |= CAP_TRUNCATED; +diff -Naur a/src/MEGASync/mega/src/gfx/qt.cpp b/src/MEGASync/mega/src/gfx/qt.cpp +--- a/src/MEGASync/mega/src/gfx/qt.cpp 2021-05-23 02:28:08.694081111 +0100 ++++ b/src/MEGASync/mega/src/gfx/qt.cpp 2021-05-23 02:29:36.172545153 +0100 +@@ -1209,7 +1209,7 @@ + + // Force seeking to key frames + formatContext->seek2any = false; +- videoStream->skip_to_keyframe = true; ++ //videoStream->skip_to_keyframe = true; + if (decoder->capabilities & CAP_TRUNCATED) + { + codecContext.flags |= CAP_TRUNCATED; diff --git a/net-misc/megasync/files/megasync-4.5.0.0_pdfium.patch b/net-misc/megasync/files/megasync-4.5.0.0_pdfium.patch new file mode 100644 index 0000000000..141ab30576 --- /dev/null +++ b/net-misc/megasync/files/megasync-4.5.0.0_pdfium.patch @@ -0,0 +1,16 @@ +diff --git a/bindings/qt/sdk.pri b/bindings/qt/sdk.pri +index 83ddc2e2f..46aa06d33 100644 +--- a/bindings/qt/sdk.pri ++++ b/bindings/qt/sdk.pri +@@ -255,6 +255,11 @@ CONFIG(USE_PDFIUM) { + DEFINES += HAVE_PDFIUM + LIBS += -lpdfium + } ++ else:exists(/usr/include/pdfium/fpdfview.h) { ++ DEFINES += HAVE_PDFIUM ++ INCLUDEPATH += /usr/include/pdfium ++ LIBS += -lpdfium ++ } + } + else {#win/mac + DEFINES += HAVE_PDFIUM diff --git a/net-misc/megasync/megasync-4.5.0.0.ebuild b/net-misc/megasync/megasync-4.5.0.0.ebuild index 604202807b..54c24108fe 100644 --- a/net-misc/megasync/megasync-4.5.0.0.ebuild +++ b/net-misc/megasync/megasync-4.5.0.0.ebuild @@ -14,14 +14,16 @@ HOMEPAGE=" if [[ ${PV} == 9999 ]];then inherit git-r3 EGIT_REPO_URI="https://github.com/meganz/MEGAsync" + EGIT_BRANCH="master" + EGIT_SUBMODULES=( '*' ) else - MEGA_SDK_REV="37b346c2e119559e40c08f43e1a8f54353e7ad59" # commit of src/MEGASync/mega submodule + MEGA_SDK_REV="c11a688d578e16dc25d4c94fee7995730be1aa50" # commit of src/MEGASync/mega submodule SRC_URI=" https://github.com/meganz/MEGAsync/archive/v${PV}_Win.tar.gz -> ${P}.tar.gz https://github.com/meganz/sdk/archive/${MEGA_SDK_REV}.tar.gz -> ${PN}-sdk-${PV}.tar.gz " KEYWORDS="~amd64 ~x86" - # 4.3.8.0 has no dedicated linux tag + # 4.5.0.0 has no dedicated linux tag S="${WORKDIR}"/MEGAsync-${PV}_Win fi @@ -76,6 +78,14 @@ src_prepare() { rmdir src/MEGASync/mega mv "${WORKDIR}"/sdk-${MEGA_SDK_REV} src/MEGASync/mega fi + if [ -e "${FILESDIR}/${P}_pdfium.patch" ]; then + cd "${S}/src/MEGASync/mega" + eapply -Np1 "${FILESDIR}/${P}_pdfium.patch" + cd "${S}" + fi + if has_version ">=media-video/ffmpeg-4.4" && [ -e "${FILESDIR}/${P}_ffmpeg.patch" ]; then + eapply "${FILESDIR}/${P}_ffmpeg.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 @@ -83,12 +93,12 @@ src_prepare() { else default fi - cd src/MEGASync/mega + cd "${S}/src/MEGASync/mega" eautoreconf } src_configure() { - cd src/MEGASync/mega + cd "${S}/src/MEGASync/mega" econf \ "--disable-silent-rules" \ "--disable-curl-checks" \ @@ -109,7 +119,7 @@ src_configure() { $(use_enable python) \ "--enable-chat" \ "--enable-gcc-hardening" - cd ../.. + cd "${S}/src" local myeqmakeargs=( MEGA.pro diff --git a/net-misc/megasync/megasync-9999.ebuild b/net-misc/megasync/megasync-9999.ebuild index 5447073f4b..54c24108fe 100644 --- a/net-misc/megasync/megasync-9999.ebuild +++ b/net-misc/megasync/megasync-9999.ebuild @@ -14,14 +14,17 @@ HOMEPAGE=" if [[ ${PV} == 9999 ]];then inherit git-r3 EGIT_REPO_URI="https://github.com/meganz/MEGAsync" + EGIT_BRANCH="master" + EGIT_SUBMODULES=( '*' ) else - MEGA_SDK_REV="ba4834cb6c22f4e996f328db3aa5b82ef20eed3e" # commit of src/MEGASync/mega submodule + MEGA_SDK_REV="c11a688d578e16dc25d4c94fee7995730be1aa50" # commit of src/MEGASync/mega submodule SRC_URI=" - https://github.com/meganz/MEGAsync/archive/v${PV}.0_Linux.tar.gz -> ${P}.tar.gz + https://github.com/meganz/MEGAsync/archive/v${PV}_Win.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}.0_Linux + # 4.5.0.0 has no dedicated linux tag + S="${WORKDIR}"/MEGAsync-${PV}_Win fi LICENSE="MEGA" @@ -62,25 +65,40 @@ DEPEND=" dev-qt/qtx11extras:5 " BDEPEND=" - app-doc/doxygen 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 - default - cd src/MEGASync/mega + if [ -e "${FILESDIR}/${P}_pdfium.patch" ]; then + cd "${S}/src/MEGASync/mega" + eapply -Np1 "${FILESDIR}/${P}_pdfium.patch" + cd "${S}" + fi + if has_version ">=media-video/ffmpeg-4.4" && [ -e "${FILESDIR}/${P}_ffmpeg.patch" ]; then + eapply "${FILESDIR}/${P}_ffmpeg.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 src/MEGASync/mega + cd "${S}/src/MEGASync/mega" econf \ "--disable-silent-rules" \ "--disable-curl-checks" \ @@ -101,7 +119,7 @@ src_configure() { $(use_enable python) \ "--enable-chat" \ "--enable-gcc-hardening" - cd ../.. + cd "${S}/src" local myeqmakeargs=( MEGA.pro