diff --git a/pkgs/development/libraries/qt-5/5.15/default.nix b/pkgs/development/libraries/qt-5/5.15/default.nix index e6e6b24360a42..8a859af37e9d5 100644 --- a/pkgs/development/libraries/qt-5/5.15/default.nix +++ b/pkgs/development/libraries/qt-5/5.15/default.nix @@ -12,7 +12,6 @@ Check for any minor version changes. , bison, cups ? null, harfbuzz, libGL, perl, python3 , gstreamer, gst-plugins-base, gtk3, dconf , darwin -, buildPackages # options , developerBuild ? false @@ -202,32 +201,24 @@ let qttools = [ ./qttools.patch ]; }; - addPackages = self: with self; + addPackages = self: let - qtModule = - import ../qtModule.nix - { - inherit perl; - inherit lib; - # Use a variant of mkDerivation that does not include wrapQtApplications - # to avoid cyclic dependencies between Qt modules. - mkDerivation = - import ../mkDerivation.nix - { inherit lib; inherit debug; wrapQtAppsHook = null; } - stdenv.mkDerivation; - } - { inherit self srcs patches; }; + qtModule = callPackage ../qtModule.nix { + inherit patches; + # Use a variant of mkDerivation that does not include wrapQtApplications + # to avoid cyclic dependencies between Qt modules. + mkDerivation = + (callPackage ../mkDerivation.nix { wrapQtAppsHook = null; }) stdenv.mkDerivation; + }; callPackage = self.newScope { inherit qtCompatVersion qtModule srcs stdenv; }; in { inherit callPackage qtCompatVersion qtModule srcs; - mkDerivationWith = - import ../mkDerivation.nix - { inherit lib; inherit debug; inherit (self) wrapQtAppsHook; }; + mkDerivationWith = callPackage ../mkDerivation.nix { }; - mkDerivation = mkDerivationWith stdenv.mkDerivation; + mkDerivation = callPackage ({ mkDerivationWith }: mkDerivationWith stdenv.mkDerivation) { }; qtbase = callPackage ../modules/qtbase.nix { inherit (srcs.qtbase) src version; @@ -309,7 +300,9 @@ let qtxmlpatterns = callPackage ../modules/qtxmlpatterns.nix {}; env = callPackage ../qt-env.nix {}; - full = env "qt-full-${qtbase.version}" ([ + full = callPackage ({ env, qtbase }: env "qt-full-${qtbase.version}") { } + # `with self` is ok to use here because having these spliced is unnecessary + (with self; [ qt3d qtcharts qtconnectivity qtdeclarative qtdoc qtgraphicaleffects qtimageformats qtlocation qtmultimedia qtquickcontrols qtquickcontrols2 qtscript qtsensors qtserialport qtsvg qttools qttranslations @@ -318,20 +311,20 @@ let ] ++ lib.optional (!stdenv.isDarwin) qtwayland ++ lib.optional (stdenv.isDarwin) qtmacextras); - qmake = makeSetupHook { + qmake = callPackage ({ qtbase }: makeSetupHook { name = "qmake-hook"; - propagatedBuildInputs = [ self.qtbase.dev ]; + propagatedBuildInputs = [ qtbase.dev ]; substitutions = { inherit debug; fix_qmake_libtool = ../hooks/fix-qmake-libtool.sh; }; - } ../hooks/qmake-hook.sh; + } ../hooks/qmake-hook.sh) { }; - wrapQtAppsHook = makeSetupHook { + wrapQtAppsHook = callPackage ({ makeBinaryWrapper, qtbase, qtwayland }: makeSetupHook { name = "wrap-qt5-apps-hook"; - propagatedBuildInputs = [ self.qtbase.dev buildPackages.makeBinaryWrapper ] - ++ lib.optional stdenv.isLinux self.qtwayland.dev; - } ../hooks/wrap-qt-apps-hook.sh; + propagatedBuildInputs = [ qtbase.dev makeBinaryWrapper ] + ++ lib.optional stdenv.isLinux qtwayland.dev; + } ../hooks/wrap-qt-apps-hook.sh) { }; }; baseScope = makeScopeWithSplicing' { diff --git a/pkgs/development/libraries/qt-5/mkDerivation.nix b/pkgs/development/libraries/qt-5/mkDerivation.nix index 98f9a05fac7c4..a90e229e688d0 100644 --- a/pkgs/development/libraries/qt-5/mkDerivation.nix +++ b/pkgs/development/libraries/qt-5/mkDerivation.nix @@ -1,6 +1,4 @@ -{ lib, debug, wrapQtAppsHook }: - -let inherit (lib) optional; in +{ wrapQtAppsHook }: mkDerivation: diff --git a/pkgs/development/libraries/qt-5/qtModule.nix b/pkgs/development/libraries/qt-5/qtModule.nix index 7322ed51e83e6..7d73e652b6ffb 100644 --- a/pkgs/development/libraries/qt-5/qtModule.nix +++ b/pkgs/development/libraries/qt-5/qtModule.nix @@ -1,9 +1,7 @@ -{ lib, mkDerivation, perl }: +{ lib, mkDerivation, perl, qmake, patches, srcs }: let inherit (lib) licenses maintainers platforms; in -{ self, srcs, patches }: - args: let @@ -16,7 +14,7 @@ mkDerivation (args // { inherit pname version src; patches = (args.patches or []) ++ (patches.${pname} or []); - nativeBuildInputs = (args.nativeBuildInputs or []) ++ [ perl self.qmake ]; + nativeBuildInputs = (args.nativeBuildInputs or []) ++ [ perl qmake ]; propagatedBuildInputs = (lib.warnIf (args ? qtInputs) "qt5.qtModule's qtInputs argument is deprecated" args.qtInputs or []) ++ (args.propagatedBuildInputs or []); diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 5b1a53d779445..fd64cbcfe970c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -24670,7 +24670,7 @@ with pkgs; inherit (__splicedPackages) makeScopeWithSplicing' generateSplicesForMkScope lib fetchurl fetchpatch fetchgit fetchFromGitHub makeSetupHook makeWrapper bison cups dconf harfbuzz libGL perl gtk3 python3 - darwin buildPackages; + darwin; inherit (__splicedPackages.gst_all_1) gstreamer gst-plugins-base; inherit config; stdenv = if stdenv.isDarwin then darwin.apple_sdk_11_0.stdenv else stdenv;