__splicedPackages: Don't include xorg
For historical reasons, callPackage has the xorg packages in scope. This unstable building block is more versatile without the xorg hack baked in.
This commit is contained in:
parent
bfef8113f6
commit
dc214ed99b
|
@ -24,15 +24,6 @@
|
|||
lib: pkgs: actuallySplice:
|
||||
|
||||
let
|
||||
defaultBuildBuildScope = pkgs.buildPackages.buildPackages // pkgs.buildPackages.buildPackages.xorg;
|
||||
defaultBuildHostScope = pkgs.buildPackages // pkgs.buildPackages.xorg;
|
||||
defaultBuildTargetScope =
|
||||
if pkgs.stdenv.targetPlatform == pkgs.stdenv.hostPlatform
|
||||
then defaultBuildHostScope
|
||||
else assert pkgs.stdenv.hostPlatform == pkgs.stdenv.buildPlatform; defaultHostTargetScope;
|
||||
defaultHostHostScope = {}; # unimplemented
|
||||
defaultHostTargetScope = pkgs // pkgs.xorg;
|
||||
defaultTargetTargetScope = pkgs.targetPackages // pkgs.targetPackages.xorg or {};
|
||||
|
||||
spliceReal = { pkgsBuildBuild, pkgsBuildHost, pkgsBuildTarget
|
||||
, pkgsHostHost, pkgsHostTarget
|
||||
|
@ -105,19 +96,24 @@ let
|
|||
} @ args:
|
||||
if actuallySplice then spliceReal args else pkgsHostTarget;
|
||||
|
||||
splicedPackages = splicePackages {
|
||||
pkgsBuildBuild = defaultBuildBuildScope;
|
||||
pkgsBuildHost = defaultBuildHostScope;
|
||||
pkgsBuildTarget = defaultBuildTargetScope;
|
||||
pkgsHostHost = defaultHostHostScope;
|
||||
pkgsHostTarget = defaultHostTargetScope;
|
||||
pkgsTargetTarget = defaultTargetTargetScope;
|
||||
splicedPackages = splicePackages rec {
|
||||
pkgsBuildBuild = pkgs.buildPackages.buildPackages;
|
||||
pkgsBuildHost = pkgs.buildPackages;
|
||||
pkgsBuildTarget =
|
||||
if pkgs.stdenv.targetPlatform == pkgs.stdenv.hostPlatform
|
||||
then pkgsBuildHost
|
||||
else assert pkgs.stdenv.hostPlatform == pkgs.stdenv.buildPlatform; pkgsHostTarget;
|
||||
pkgsHostHost = {}; # unimplemented
|
||||
pkgsHostTarget = pkgs;
|
||||
pkgsTargetTarget = pkgs.targetPackages;
|
||||
} // {
|
||||
# These should never be spliced under any circumstances
|
||||
inherit (pkgs) pkgs buildPackages targetPackages;
|
||||
inherit (pkgs.stdenv) buildPlatform targetPlatform hostPlatform;
|
||||
};
|
||||
|
||||
splicedPackagesWithXorg = splicedPackages // splicedPackages.xorg;
|
||||
|
||||
in
|
||||
|
||||
{
|
||||
|
@ -128,9 +124,9 @@ in
|
|||
# `newScope' for sets of packages in `pkgs' (see e.g. `gnome' below).
|
||||
callPackage = pkgs.newScope {};
|
||||
|
||||
callPackages = lib.callPackagesWith splicedPackages;
|
||||
callPackages = lib.callPackagesWith splicedPackagesWithXorg;
|
||||
|
||||
newScope = extra: lib.callPackageWith (splicedPackages // extra);
|
||||
newScope = extra: lib.callPackageWith (splicedPackagesWithXorg // extra);
|
||||
|
||||
# Haskell package sets need this because they reimplement their own
|
||||
# `newScope`.
|
||||
|
|
Loading…
Reference in a new issue