Skip to content

Commit

Permalink
Merge pull request #264903 from Artturin/splitqt1
Browse files Browse the repository at this point in the history
  • Loading branch information
Artturin authored Nov 3, 2023
2 parents 4285a2a + bd02bf1 commit b65f481
Show file tree
Hide file tree
Showing 4 changed files with 24 additions and 35 deletions.
47 changes: 20 additions & 27 deletions pkgs/development/libraries/qt-5/5.15/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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;
Expand Down Expand Up @@ -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
Expand All @@ -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' {
Expand Down
4 changes: 1 addition & 3 deletions pkgs/development/libraries/qt-5/mkDerivation.nix
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
{ lib, debug, wrapQtAppsHook }:

let inherit (lib) optional; in
{ wrapQtAppsHook }:

mkDerivation:

Expand Down
6 changes: 2 additions & 4 deletions pkgs/development/libraries/qt-5/qtModule.nix
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -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 []);
Expand Down
2 changes: 1 addition & 1 deletion pkgs/top-level/all-packages.nix
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down

0 comments on commit b65f481

Please sign in to comment.