diff --git a/pkgs/development/libraries/qt-5/5.15/default.nix b/pkgs/development/libraries/qt-5/5.15/default.nix index 5ae5102abeee..ac4614d2aee1 100644 --- a/pkgs/development/libraries/qt-5/5.15/default.nix +++ b/pkgs/development/libraries/qt-5/5.15/default.nix @@ -331,4 +331,14 @@ let } ../hooks/wrap-qt-apps-hook.sh; }; -in makeScopeWithSplicing (generateSplicesForMkScope "qt5") (_: {}) (_: {}) addPackages + baseScope = makeScopeWithSplicing (generateSplicesForMkScope "qt5") (_: {}) (_: {}) addPackages; + + bootstrapScope = baseScope.overrideScope(final: prev: { + qtbase = prev.qtbase.override { qttranslations = null; }; + qtdeclarative = null; + }); + + finalScope = baseScope.overrideScope(final: prev: { + qttranslations = bootstrapScope.qttranslations; + }); +in finalScope diff --git a/pkgs/development/libraries/qt-5/modules/qtbase.nix b/pkgs/development/libraries/qt-5/modules/qtbase.nix index de73bcbe2772..9f0feaf94e58 100644 --- a/pkgs/development/libraries/qt-5/modules/qtbase.nix +++ b/pkgs/development/libraries/qt-5/modules/qtbase.nix @@ -15,6 +15,7 @@ # optional dependencies , cups ? null, postgresql ? null , withGtk3 ? false, dconf, gtk3 +, qttranslations ? null # options , libGLSupported ? !stdenv.isDarwin @@ -310,6 +311,8 @@ stdenv.mkDerivation (finalAttrs: { ] ++ lib.optionals (mysqlSupport) [ "-L" "${libmysqlclient}/lib" "-I" "${libmysqlclient}/include" + ] ++ lib.optional (qttranslations != null) [ + "-translationdir" "${qttranslations}/translations" ] ); diff --git a/pkgs/development/libraries/qt-5/modules/qttools.nix b/pkgs/development/libraries/qt-5/modules/qttools.nix index be96236d7285..bac70d146bf9 100644 --- a/pkgs/development/libraries/qt-5/modules/qttools.nix +++ b/pkgs/development/libraries/qt-5/modules/qttools.nix @@ -36,7 +36,7 @@ qtModule { "bin/macdeployqt" ]; - env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isDarwin ''-DNIXPKGS_QMLIMPORTSCANNER="${qtdeclarative.dev}/bin/qmlimportscanner"''; + env.NIX_CFLAGS_COMPILE = lib.optionalString (stdenv.isDarwin && qtdeclarative != null) ''-DNIXPKGS_QMLIMPORTSCANNER="${qtdeclarative.dev}/bin/qmlimportscanner"''; setupHook = ../hooks/qttools-setup-hook.sh; } diff --git a/pkgs/development/libraries/qt-5/modules/qttranslations.nix b/pkgs/development/libraries/qt-5/modules/qttranslations.nix index f49a4eb9a85d..bcd52cdc4a8f 100644 --- a/pkgs/development/libraries/qt-5/modules/qttranslations.nix +++ b/pkgs/development/libraries/qt-5/modules/qttranslations.nix @@ -2,5 +2,6 @@ qtModule { pname = "qttranslations"; - qtInputs = [ qttools ]; + nativeBuildInputs = [ qttools ]; + outputs = [ "out" ]; } diff --git a/pkgs/development/libraries/qt-5/qtModule.nix b/pkgs/development/libraries/qt-5/qtModule.nix index 9abd9fabc957..bddbf254c5f7 100644 --- a/pkgs/development/libraries/qt-5/qtModule.nix +++ b/pkgs/development/libraries/qt-5/qtModule.nix @@ -17,7 +17,7 @@ mkDerivation (args // { patches = (args.patches or []) ++ (patches.${pname} or []); nativeBuildInputs = (args.nativeBuildInputs or []) ++ [ perl self.qmake ]; - propagatedBuildInputs = args.qtInputs ++ (args.propagatedBuildInputs or []); + propagatedBuildInputs = (args.qtInputs or []) ++ (args.propagatedBuildInputs or []); outputs = args.outputs or [ "out" "dev" ]; setOutputFlags = args.setOutputFlags or false;