diff --git a/pkgs/applications/misc/megasync/default.nix b/pkgs/applications/misc/megasync/default.nix index 438a468afa16..4b273981fa9a 100644 --- a/pkgs/applications/misc/megasync/default.nix +++ b/pkgs/applications/misc/megasync/default.nix @@ -7,7 +7,8 @@ , curl , doxygen , fetchFromGitHub -#, ffmpeg +, ffmpeg +, freeimage , libmediainfo , libraw , libsodium @@ -27,13 +28,13 @@ }: mkDerivation rec { pname = "megasync"; - version = "4.5.3.0"; + version = "4.6.1.0"; src = fetchFromGitHub { owner = "meganz"; repo = "MEGAsync"; rev = "v${version}_Linux"; - sha256 = "1lwjmdbqyxx5wd8nx4mc830fna37jad4h93viwfh5x7sxn104js7"; + sha256 = "0v2fvji9hs7valya0wx5qjx01c7yjld6nnp6m9gpxfkr30h5s5wb"; fetchSubmodules = true; }; @@ -52,8 +53,8 @@ mkDerivation rec { c-ares cryptopp curl - # temporarily disable until patched for ffmpeg 4.4 - #ffmpeg + ffmpeg + freeimage libmediainfo libraw libsodium @@ -71,6 +72,7 @@ mkDerivation rec { ./noinstall-distro-version.patch # megasync target is not part of the install rule thanks to a commented block ./install-megasync.patch + ./ffmpeg_44.patch ]; postPatch = '' @@ -95,9 +97,8 @@ mkDerivation rec { "--with-cares" "--with-cryptopp" "--with-curl" - # temporarily disable until patched for ffmpeg 4.4 - #"--with-ffmpeg" - "--without-freeimage" # unreferenced even when found + "--with-ffmpeg" + "--with-freeimage" "--without-readline" "--without-termcap" "--with-sodium" diff --git a/pkgs/applications/misc/megasync/ffmpeg_44.patch b/pkgs/applications/misc/megasync/ffmpeg_44.patch new file mode 100644 index 000000000000..901635e43f3e --- /dev/null +++ b/pkgs/applications/misc/megasync/ffmpeg_44.patch @@ -0,0 +1,14 @@ +Index: megasync-4.6.1.0/src/MEGASync/mega/src/gfx/freeimage.cpp +=================================================================== +--- megasync-4.6.1.0.orig/src/MEGASync/mega/src/gfx/freeimage.cpp ++++ megasync-4.6.1.0/src/MEGASync/mega/src/gfx/freeimage.cpp +@@ -253,7 +253,8 @@ bool GfxProcFreeImage::readbitmapFfmpeg( + + // Force seeking to key frames + formatContext->seek2any = false; +- videoStream->skip_to_keyframe = true; ++ // no longer exposed in ffmpeg 4.4; the line above should be sufficient ++ //videoStream->skip_to_keyframe = true; + if (decoder->capabilities & CAP_TRUNCATED) + { + codecContext->flags |= CAP_TRUNCATED; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index de0fe8f020fd..7a9d7517defe 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3288,7 +3288,9 @@ with pkgs; medusa = callPackage ../tools/security/medusa { }; - megasync = libsForQt515.callPackage ../applications/misc/megasync { }; + megasync = libsForQt5.callPackage ../applications/misc/megasync { + ffmpeg = ffmpeg-full; + }; megacmd = callPackage ../applications/misc/megacmd { };