From 9848dca6688b2562c6be0d3fe5c89e5594e73755 Mon Sep 17 00:00:00 2001 From: awwpotato Date: Mon, 21 Apr 2025 20:05:41 -0700 Subject: [PATCH 1/7] mlv-app: 1.14 -> 1.15 --- pkgs/applications/video/mlv-app/aarch64-flags.patch | 13 ------------- pkgs/applications/video/mlv-app/default.nix | 11 +++-------- 2 files changed, 3 insertions(+), 21 deletions(-) delete mode 100644 pkgs/applications/video/mlv-app/aarch64-flags.patch diff --git a/pkgs/applications/video/mlv-app/aarch64-flags.patch b/pkgs/applications/video/mlv-app/aarch64-flags.patch deleted file mode 100644 index 4d26bfdd39d0..000000000000 --- a/pkgs/applications/video/mlv-app/aarch64-flags.patch +++ /dev/null @@ -1,13 +0,0 @@ -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 -@@ -120,7 +120,7 @@ win32{ - - # Linux - linux-g++*{ -- QMAKE_CFLAGS += -O3 -fopenmp -msse4.1 -mssse3 -msse3 -msse2 -msse -std=c99 -ftree-vectorize -+ QMAKE_CFLAGS += -O3 -fopenmp -std=c99 -ftree-vectorize - QMAKE_CXXFLAGS += -fopenmp -std=c++11 -ftree-vectorize - LIBS += -lgomp - } diff --git a/pkgs/applications/video/mlv-app/default.nix b/pkgs/applications/video/mlv-app/default.nix index d008e08f3d2b..4d1ae328e125 100644 --- a/pkgs/applications/video/mlv-app/default.nix +++ b/pkgs/applications/video/mlv-app/default.nix @@ -10,20 +10,15 @@ mkDerivation rec { pname = "mlv-app"; - version = "1.14"; + version = "1.15"; src = fetchFromGitHub { owner = "ilia3101"; repo = "MLV-App"; rev = "QTv${version}"; - sha256 = "sha256-RfZXHmWSjZBxNFwQ/bzHppsLS0LauURIdnkAzxAIBcU="; + sha256 = "sha256-boYnIGDowV4yRxdE98U5ngeAwqi5HTRDFh5gVwW/kN8="; }; - patches = lib.optionals stdenv.hostPlatform.isAarch64 [ - # remove optimization flags with x86 only instruction sets - ./aarch64-flags.patch - ]; - installPhase = '' runHook preInstall install -Dm555 -t $out/bin mlvapp @@ -59,7 +54,7 @@ mkDerivation rec { homepage = "https://mlv.app"; license = licenses.gpl3; maintainers = [ ]; - platforms = platforms.linux; + platforms = [ "x86_64-linux" ]; mainProgram = "mlvapp"; }; } From 6f04b65d2dcf2e6ccb88d409e6e0f7c8e467e0aa Mon Sep 17 00:00:00 2001 From: awwpotato Date: Mon, 21 Apr 2025 20:05:49 -0700 Subject: [PATCH 2/7] mlv-app: unbreak on GCC 14 --- pkgs/applications/video/mlv-app/default.nix | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pkgs/applications/video/mlv-app/default.nix b/pkgs/applications/video/mlv-app/default.nix index 4d1ae328e125..cfdd4f61e905 100644 --- a/pkgs/applications/video/mlv-app/default.nix +++ b/pkgs/applications/video/mlv-app/default.nix @@ -2,6 +2,7 @@ fetchFromGitHub, lib, mkDerivation, + fetchpatch, qmake, qtbase, qtmultimedia, @@ -19,6 +20,13 @@ mkDerivation rec { sha256 = "sha256-boYnIGDowV4yRxdE98U5ngeAwqi5HTRDFh5gVwW/kN8="; }; + patches = [ + (fetchpatch { + url = "https://github.com/ilia3101/MLV-App/commit/b7643b1031955f085ade30e27974ddd889a4641f.patch"; + hash = "sha256-DQkoB+fjshWDLzKouhEQXzpqn78WL+eqo5oTfE9ltEk="; + }) + ]; + installPhase = '' runHook preInstall install -Dm555 -t $out/bin mlvapp From 1a0240b6b504c5103a2cdde86a3c91efbc0cef13 Mon Sep 17 00:00:00 2001 From: awwpotato Date: Mon, 21 Apr 2025 20:09:50 -0700 Subject: [PATCH 3/7] mlv-app: modernize --- pkgs/applications/video/mlv-app/default.nix | 52 ++++++++++----------- pkgs/top-level/all-packages.nix | 2 +- 2 files changed, 27 insertions(+), 27 deletions(-) diff --git a/pkgs/applications/video/mlv-app/default.nix b/pkgs/applications/video/mlv-app/default.nix index cfdd4f61e905..a854a06ac587 100644 --- a/pkgs/applications/video/mlv-app/default.nix +++ b/pkgs/applications/video/mlv-app/default.nix @@ -1,23 +1,21 @@ { - fetchFromGitHub, lib, - mkDerivation, - fetchpatch, - qmake, - qtbase, - qtmultimedia, stdenv, + fetchFromGitHub, + fetchpatch, + libsForQt5, + writableTmpDirAsHomeHook, }: -mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "mlv-app"; version = "1.15"; src = fetchFromGitHub { owner = "ilia3101"; repo = "MLV-App"; - rev = "QTv${version}"; - sha256 = "sha256-boYnIGDowV4yRxdE98U5ngeAwqi5HTRDFh5gVwW/kN8="; + rev = "QTv${finalAttrs.version}"; + hash = "sha256-boYnIGDowV4yRxdE98U5ngeAwqi5HTRDFh5gVwW/kN8="; }; patches = [ @@ -27,24 +25,20 @@ mkDerivation rec { }) ]; - 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/ ''; + nativeBuildInputs = [ + libsForQt5.wrapQtAppsHook + libsForQt5.qmake + writableTmpDirAsHomeHook + ]; buildInputs = [ - qtmultimedia - qtbase + libsForQt5.qtmultimedia + libsForQt5.qtbase ]; dontWrapQtApps = true; @@ -53,16 +47,22 @@ mkDerivation rec { wrapQtApp "$out/bin/mlvapp" ''; - nativeBuildInputs = [ - qmake - ]; + 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 + ''; - meta = with lib; { + meta = { description = "All in one MLV processing app that is pretty great"; homepage = "https://mlv.app"; - license = licenses.gpl3; + downloadPage = "https://github.com/ilia3101/MLV-App"; + changelog = "https://github.com/ilia3101/MLV-App/releases/tag/QTv${finalAttrs.version}"; + license = lib.licenses.gpl3; maintainers = [ ]; platforms = [ "x86_64-linux" ]; mainProgram = "mlvapp"; }; -} +}) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 6be7b7913055..dca6413946d1 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10549,7 +10549,7 @@ with pkgs; mlt = darwin.apple_sdk_11_0.callPackage ../development/libraries/mlt { }; - mlv-app = libsForQt5.callPackage ../applications/video/mlv-app { }; + mlv-app = callPackage ../applications/video/mlv-app { }; mpeg2dec = libmpeg2; From fe06940d32b40fa659f031e50e52b3bf3bc2cf4c Mon Sep 17 00:00:00 2001 From: awwpotato Date: Tue, 22 Apr 2025 19:39:37 -0700 Subject: [PATCH 4/7] mlv-app: clarify gpl3 type --- pkgs/applications/video/mlv-app/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/video/mlv-app/default.nix b/pkgs/applications/video/mlv-app/default.nix index a854a06ac587..609066e0927a 100644 --- a/pkgs/applications/video/mlv-app/default.nix +++ b/pkgs/applications/video/mlv-app/default.nix @@ -60,7 +60,7 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://mlv.app"; downloadPage = "https://github.com/ilia3101/MLV-App"; changelog = "https://github.com/ilia3101/MLV-App/releases/tag/QTv${finalAttrs.version}"; - license = lib.licenses.gpl3; + license = lib.licenses.gpl3Only; maintainers = [ ]; platforms = [ "x86_64-linux" ]; mainProgram = "mlvapp"; From d9264f796b0b1f43a3312c89d7869ddace60dde0 Mon Sep 17 00:00:00 2001 From: awwpotato Date: Tue, 22 Apr 2025 19:40:23 -0700 Subject: [PATCH 5/7] mlv-app: move to by-name --- .../mlv-app/default.nix => by-name/ml/mlv-app/package.nix} | 0 pkgs/top-level/all-packages.nix | 2 -- 2 files changed, 2 deletions(-) rename pkgs/{applications/video/mlv-app/default.nix => by-name/ml/mlv-app/package.nix} (100%) diff --git a/pkgs/applications/video/mlv-app/default.nix b/pkgs/by-name/ml/mlv-app/package.nix similarity index 100% rename from pkgs/applications/video/mlv-app/default.nix rename to pkgs/by-name/ml/mlv-app/package.nix diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index dca6413946d1..03e8cceefac1 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10549,8 +10549,6 @@ with pkgs; mlt = darwin.apple_sdk_11_0.callPackage ../development/libraries/mlt { }; - mlv-app = callPackage ../applications/video/mlv-app { }; - mpeg2dec = libmpeg2; msoffcrypto-tool = with python3.pkgs; toPythonApplication msoffcrypto-tool; From 8c62924fc60e38824e05df810be8188dee736a9f Mon Sep 17 00:00:00 2001 From: awwpotato Date: Thu, 24 Apr 2025 08:51:06 -0700 Subject: [PATCH 6/7] mlv-app: add missing ffmpeg dep --- pkgs/by-name/ml/mlv-app/package.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pkgs/by-name/ml/mlv-app/package.nix b/pkgs/by-name/ml/mlv-app/package.nix index 609066e0927a..390521b5fa92 100644 --- a/pkgs/by-name/ml/mlv-app/package.nix +++ b/pkgs/by-name/ml/mlv-app/package.nix @@ -5,6 +5,7 @@ fetchpatch, libsForQt5, writableTmpDirAsHomeHook, + ffmpeg-headless, }: stdenv.mkDerivation (finalAttrs: { @@ -25,6 +26,11 @@ stdenv.mkDerivation (finalAttrs: { }) ]; + postPatch = '' + substituteInPlace platform/qt/MainWindow.cpp \ + --replace-fail '"ffmpeg"' '"${lib.getExe ffmpeg-headless}"' + ''; + qmakeFlags = [ "MLVApp.pro" ]; preConfigure = '' From 6c7a54dfa41571b21ed32236d080307bc7078eb3 Mon Sep 17 00:00:00 2001 From: awwpotato Date: Thu, 24 Apr 2025 18:34:33 -0700 Subject: [PATCH 7/7] mlv-app: add update script --- pkgs/by-name/ml/mlv-app/package.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/by-name/ml/mlv-app/package.nix b/pkgs/by-name/ml/mlv-app/package.nix index 390521b5fa92..9be0365f2bd9 100644 --- a/pkgs/by-name/ml/mlv-app/package.nix +++ b/pkgs/by-name/ml/mlv-app/package.nix @@ -6,6 +6,7 @@ libsForQt5, writableTmpDirAsHomeHook, ffmpeg-headless, + nix-update-script, }: stdenv.mkDerivation (finalAttrs: { @@ -61,6 +62,8 @@ stdenv.mkDerivation (finalAttrs: { runHook postInstall ''; + updateScript = nix-update-script { }; + meta = { description = "All in one MLV processing app that is pretty great"; homepage = "https://mlv.app";