diff options
Diffstat (limited to 'pkgs/development/libraries/qt-5/5.15/default.nix')
-rw-r--r-- | pkgs/development/libraries/qt-5/5.15/default.nix | 47 |
1 files changed, 20 insertions, 27 deletions
diff --git a/pkgs/development/libraries/qt-5/5.15/default.nix b/pkgs/development/libraries/qt-5/5.15/default.nix index 0bef018bdf585..8469dd70793df 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 @@ -218,32 +217,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; @@ -325,7 +316,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 @@ -334,20 +327,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' { |