From f9a0a7b3104832cfa171160913275d04e1d7f0cc Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Fri, 5 Jun 2026 02:43:25 +0300 Subject: [PATCH] mlt: several improvements 1. Use lib.cmakeBool in cmakeFlags 2. Define in qt{5,6}-packages.nix more elgantly using callPackage 3. Always set all qt flags explicitly 4. Remove `libsForQt5.mlt` (should have been done in 084c1fefd891a87addc29cfa229c6e3316c17f90 version bump). --- pkgs/by-name/ml/mlt/package.nix | 40 +++++++++++++-------------------- pkgs/top-level/qt5-packages.nix | 5 +---- pkgs/top-level/qt6-packages.nix | 4 +--- 3 files changed, 17 insertions(+), 32 deletions(-) diff --git a/pkgs/by-name/ml/mlt/package.nix b/pkgs/by-name/ml/mlt/package.nix index aba7a2d56717..99c8b2f995f6 100644 --- a/pkgs/by-name/ml/mlt/package.nix +++ b/pkgs/by-name/ml/mlt/package.nix @@ -32,7 +32,10 @@ enablePython ? false, python3, swig, - qt ? null, + qtbase ? null, + wrapQtAppsHook ? null, + qtsvg ? null, + qt5compat ? null, enableSDL2 ? true, SDL2, gitUpdater, @@ -59,6 +62,7 @@ stdenv.mkDerivation (finalAttrs: { pkg-config which makeWrapper + wrapQtAppsHook ] ++ lib.optionals cudaSupport [ cudaPackages.cuda_nvcc @@ -66,9 +70,6 @@ stdenv.mkDerivation (finalAttrs: { ++ lib.optionals enablePython [ python3 swig - ] - ++ lib.optionals (qt != null) [ - qt.wrapQtAppsHook ]; buildInputs = [ @@ -96,10 +97,10 @@ stdenv.mkDerivation (finalAttrs: { ladspa-sdk ladspaPlugins ] - ++ lib.optionals (qt != null) [ - qt.qtbase - qt.qtsvg - (qt.qt5compat or null) + ++ lib.optionals (qtbase != null) [ + qtbase + qtsvg + qt5compat libarchive ] ++ lib.optionals enableSDL2 [ @@ -114,31 +115,20 @@ stdenv.mkDerivation (finalAttrs: { cmakeFlags = [ # RPATH of binary /nix/store/.../bin/... contains a forbidden reference to /build/ - "-DCMAKE_SKIP_BUILD_RPATH=ON" - "-DMOD_OPENCV=ON" + (lib.cmakeBool "CMAKE_SKIP_BUILD_RPATH" true) + (lib.cmakeBool "MOD_OPENCV" true) + (lib.cmakeBool "MOD_QT6" (qtbase != null && lib.versions.major qtbase.version == "6")) + (lib.cmakeBool "MOD_GLAXNIMATE_QT6" (qtbase != null && lib.versions.major qtbase.version == "6")) ] ++ lib.optionals enablePython [ - "-DSWIG_PYTHON=ON" - ] - ++ lib.optionals (qt == null) [ - "-DMOD_QT6=OFF" - ] - ++ lib.optionals (qt != null && lib.versions.major qt.qtbase.version == "5") [ - "-DMOD_QT=ON" - "-DMOD_QT6=OFF" - "-DMOD_GLAXNIMATE=ON" - ] - ++ lib.optionals (qt != null && lib.versions.major qt.qtbase.version == "6") [ - "-DMOD_QT6=ON" - "-DMOD_QT=OFF" - "-DMOD_GLAXNIMATE_QT6=ON" + (lib.cmakeBool "SWIG_PYTHON" true) ]; preFixup = '' wrapProgram $out/bin/melt \ --prefix FREI0R_PATH : ${frei0r}/lib/frei0r-1 \ ${lib.optionalString enableJackrack "--prefix LADSPA_PATH : ${ladspaPlugins}/lib/ladspa"} \ - ${lib.optionalString (qt != null) "\${qtWrapperArgs[@]}"} + ${lib.optionalString (qtbase != null) "\${qtWrapperArgs[@]}"} ''; diff --git a/pkgs/top-level/qt5-packages.nix b/pkgs/top-level/qt5-packages.nix index b6af4b4bcc4e..6357b3c03685 100644 --- a/pkgs/top-level/qt5-packages.nix +++ b/pkgs/top-level/qt5-packages.nix @@ -110,10 +110,6 @@ makeScopeWithSplicing' { maplibre-native-qt = callPackage ../development/libraries/maplibre-native-qt { }; - mlt = pkgs.mlt.override { - qt = qt5; - }; - polkit-qt = callPackage ../development/libraries/polkit-qt-1 { }; poppler = callPackage ../development/libraries/poppler { @@ -194,6 +190,7 @@ makeScopeWithSplicing' { timed = callPackage ../applications/system/timed { }; } // lib.optionalAttrs config.allowAliases { + mlt = throw "'libsForQt5.mlt' was removed due to lack of upstream support since v7.36.0, use 'qt6Packages.mlt'."; # Added 2026-06-05 futuresql = throw "libsForQt5.futuresql has been removed"; # Added 2026-05-01 kdb = throw "libsForQt5.kdb has been removed"; # Added 2026-05-01 kdiagram = throw "libsForQt5.kdiagram has been removed"; # Added 2026-05-01 diff --git a/pkgs/top-level/qt6-packages.nix b/pkgs/top-level/qt6-packages.nix index 85e7bc2b9d16..194688f08f3c 100644 --- a/pkgs/top-level/qt6-packages.nix +++ b/pkgs/top-level/qt6-packages.nix @@ -86,9 +86,7 @@ makeScopeWithSplicing' { }; libquotient = callPackage ../development/libraries/libquotient { }; - mlt = pkgs.mlt.override { - qt = qt6; - }; + mlt = callPackage ../by-name/ml/mlt/package.nix { }; maplibre-native-qt = callPackage ../development/libraries/maplibre-native-qt { };