Skip to content

Commit

Permalink
__splicedPackages: Don't include xorg
Browse files Browse the repository at this point in the history
For historical reasons, callPackage has the xorg packages in scope. This
unstable building block is more versatile without the xorg hack baked in.
  • Loading branch information
Ericson2314 committed Oct 11, 2018
1 parent bfef811 commit dc214ed
Showing 1 changed file with 14 additions and 18 deletions.
32 changes: 14 additions & 18 deletions pkgs/top-level/splice.nix
Expand Up @@ -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
Expand Down Expand Up @@ -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

{
Expand All @@ -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`.
Expand Down

0 comments on commit dc214ed

Please sign in to comment.