diff --git a/pkgs/applications/video/mlv-app/aarch64-flags.patch b/pkgs/applications/video/mlv-app/aarch64-flags.patch new file mode 100644 index 00000000000..b8c025b3b3f --- /dev/null +++ b/pkgs/applications/video/mlv-app/aarch64-flags.patch @@ -0,0 +1,13 @@ +diff --git a/platform/qt/MLVApp.pro b/platform/qt/MLVApp.pro +index ebdc552..3e37573 100644 +--- a/platform/qt/MLVApp.pro ++++ b/platform/qt/MLVApp.pro +@@ -84,7 +84,7 @@ win32{ + + # Linux + linux-g++*{ +- QMAKE_CFLAGS += -O3 -fopenmp -msse4.1 -mssse3 -msse3 -msse2 -msse -std=c99 ++ QMAKE_CFLAGS += -O3 -fopenmp -march=native -std=c99 + QMAKE_CXXFLAGS += -fopenmp + LIBS += -lgomp + } diff --git a/pkgs/applications/video/mlv-app/default.nix b/pkgs/applications/video/mlv-app/default.nix new file mode 100644 index 00000000000..757759b1146 --- /dev/null +++ b/pkgs/applications/video/mlv-app/default.nix @@ -0,0 +1,62 @@ +{ fetchFromGitHub +, lib +, mkDerivation +, qmake +, qtbase +, qtmultimedia +, stdenv +}: + +mkDerivation rec { + pname = "mlv-app"; + version = "1.11"; + + src = fetchFromGitHub { + owner = "ilia3101"; + repo = "MLV-App"; + rev = "QTv${version}"; + sha256 = "0s5sjdxi8a17ddvih4ara7mlb2xrc9xqx52jmhfaca6ng341gi4x"; + }; + + patches = if stdenv.isAarch64 then ./aarch64-flags.patch else null; + + installPhase = '' + runHook preInstall + install -Dm555 -t $out/bin mlvapp + install -Dm444 -t $out/share/applications mlvapp.desktop + install -Dm444 -t $out/share/icons/hicolor/512x512/apps RetinaIMG/MLVAPP.png + runHook postInstall + ''; + + qmakeFlags = [ "MLVApp.pro" ]; + + preConfigure = '' + export HOME=$TMPDIR + cd platform/qt/ + ''; + + buildInputs = [ + qtmultimedia + qtbase + ]; + + dontWrapQtApps = true; + + preFixup = '' + wrapQtApp "$out/bin/mlvapp" + ''; + + nativeBuildInputs = [ + qmake + ]; + + meta = with lib; { + description = "All in one MLV processing app that is pretty great"; + homepage = "https://mlv.app"; + license = licenses.gpl3; + maintainers = with maintainers; [ + kiwi + ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 16e9a68c443..de7640d424b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -13757,6 +13757,8 @@ in mlt = callPackage ../development/libraries/mlt { ffmpeg = ffmpeg_4; }; + mlv-app = libsForQt5.callPackage ../applications/video/mlv-app { }; + mono-addins = callPackage ../development/libraries/mono-addins { }; movit = callPackage ../development/libraries/movit { };