pkgs/build-support: stdenv.lib -> lib

This commit is contained in:
Ben Siraphob 2021-01-24 10:02:59 +07:00 committed by Cole Helbling
parent e8d39a93c2
commit aa8868c7cc
8 changed files with 33 additions and 27 deletions

View file

@ -6,6 +6,7 @@
# compiler and the linker just "work". # compiler and the linker just "work".
{ name ? "" { name ? ""
, lib
, stdenvNoCC , stdenvNoCC
, bintools ? null, libc ? null, coreutils ? null, shell ? stdenvNoCC.shell, gnugrep ? null , bintools ? null, libc ? null, coreutils ? null, shell ? stdenvNoCC.shell, gnugrep ? null
, nativeTools, noLibc ? false, nativeLibc, nativePrefix ? "" , nativeTools, noLibc ? false, nativeLibc, nativePrefix ? ""
@ -15,7 +16,7 @@
, useMacosReexportHack ? false , useMacosReexportHack ? false
}: }:
with stdenvNoCC.lib; with lib;
assert nativeTools -> !propagateDoc && nativePrefix != ""; assert nativeTools -> !propagateDoc && nativePrefix != "";
assert !nativeTools -> assert !nativeTools ->
@ -31,11 +32,11 @@ let
# #
# TODO(@Ericson2314) Make unconditional, or optional but always true by # TODO(@Ericson2314) Make unconditional, or optional but always true by
# default. # default.
targetPrefix = stdenv.lib.optionalString (targetPlatform != hostPlatform) targetPrefix = lib.optionalString (targetPlatform != hostPlatform)
(targetPlatform.config + "-"); (targetPlatform.config + "-");
bintoolsVersion = stdenv.lib.getVersion bintools; bintoolsVersion = lib.getVersion bintools;
bintoolsName = stdenv.lib.removePrefix targetPrefix (stdenv.lib.getName bintools); bintoolsName = lib.removePrefix targetPrefix (lib.getName bintools);
libc_bin = if libc == null then null else getBin libc; libc_bin = if libc == null then null else getBin libc;
libc_dev = if libc == null then null else getDev libc; libc_dev = if libc == null then null else getDev libc;
@ -62,7 +63,7 @@ let
else if targetPlatform.system == "powerpc-linux" then "${libc_lib}/lib/ld.so.1" else if targetPlatform.system == "powerpc-linux" then "${libc_lib}/lib/ld.so.1"
else if targetPlatform.isMips then "${libc_lib}/lib/ld.so.1" else if targetPlatform.isMips then "${libc_lib}/lib/ld.so.1"
else if targetPlatform.isDarwin then "/usr/lib/dyld" else if targetPlatform.isDarwin then "/usr/lib/dyld"
else if stdenv.lib.hasSuffix "pc-gnu" targetPlatform.config then "ld.so.1" else if lib.hasSuffix "pc-gnu" targetPlatform.config then "ld.so.1"
else null; else null;
expand-response-params = expand-response-params =
@ -326,10 +327,10 @@ stdenv.mkDerivation {
let bintools_ = if bintools != null then bintools else {}; in let bintools_ = if bintools != null then bintools else {}; in
(if bintools_ ? meta then removeAttrs bintools.meta ["priority"] else {}) // (if bintools_ ? meta then removeAttrs bintools.meta ["priority"] else {}) //
{ description = { description =
stdenv.lib.attrByPath ["meta" "description"] "System binary utilities" bintools_ lib.attrByPath ["meta" "description"] "System binary utilities" bintools_
+ " (wrapper script)"; + " (wrapper script)";
priority = 10; priority = 10;
} // optionalAttrs useMacosReexportHack { } // optionalAttrs useMacosReexportHack {
platforms = stdenv.lib.platforms.darwin; platforms = lib.platforms.darwin;
}; };
} }

View file

@ -6,6 +6,7 @@
# compiler and the linker just "work". # compiler and the linker just "work".
{ name ? "" { name ? ""
, lib
, stdenvNoCC , stdenvNoCC
, cc ? null, libc ? null, bintools, coreutils ? null, shell ? stdenvNoCC.shell , cc ? null, libc ? null, bintools, coreutils ? null, shell ? stdenvNoCC.shell
, gccForLibs ? null , gccForLibs ? null
@ -18,7 +19,7 @@
, libcxx ? null , libcxx ? null
}: }:
with stdenvNoCC.lib; with lib;
assert nativeTools -> !propagateDoc && nativePrefix != ""; assert nativeTools -> !propagateDoc && nativePrefix != "";
assert !nativeTools -> assert !nativeTools ->
@ -34,11 +35,11 @@ let
# #
# TODO(@Ericson2314) Make unconditional, or optional but always true by # TODO(@Ericson2314) Make unconditional, or optional but always true by
# default. # default.
targetPrefix = stdenv.lib.optionalString (targetPlatform != hostPlatform) targetPrefix = lib.optionalString (targetPlatform != hostPlatform)
(targetPlatform.config + "-"); (targetPlatform.config + "-");
ccVersion = stdenv.lib.getVersion cc; ccVersion = lib.getVersion cc;
ccName = stdenv.lib.removePrefix targetPrefix (stdenv.lib.getName cc); ccName = lib.removePrefix targetPrefix (lib.getName cc);
libc_bin = if libc == null then null else getBin libc; libc_bin = if libc == null then null else getBin libc;
libc_dev = if libc == null then null else getDev libc; libc_dev = if libc == null then null else getDev libc;
@ -247,8 +248,8 @@ stdenv.mkDerivation {
setupHooks = [ setupHooks = [
../setup-hooks/role.bash ../setup-hooks/role.bash
] ++ stdenv.lib.optional (cc.langC or true) ./setup-hook.sh ] ++ lib.optional (cc.langC or true) ./setup-hook.sh
++ stdenv.lib.optional (cc.langFortran or false) ./fortran-hook.sh; ++ lib.optional (cc.langFortran or false) ./fortran-hook.sh;
postFixup = postFixup =
# Ensure flags files exists, as some other programs cat them. (That these # Ensure flags files exists, as some other programs cat them. (That these
@ -353,7 +354,7 @@ stdenv.mkDerivation {
+ optionalString (libcxx.isLLVM or false) ('' + optionalString (libcxx.isLLVM or false) (''
echo "-isystem ${libcxx}/include/c++/v1" >> $out/nix-support/libcxx-cxxflags echo "-isystem ${libcxx}/include/c++/v1" >> $out/nix-support/libcxx-cxxflags
echo "-stdlib=libc++" >> $out/nix-support/libcxx-ldflags echo "-stdlib=libc++" >> $out/nix-support/libcxx-ldflags
'' + stdenv.lib.optionalString stdenv.targetPlatform.isLinux '' '' + lib.optionalString stdenv.targetPlatform.isLinux ''
echo "-lc++abi" >> $out/nix-support/libcxx-ldflags echo "-lc++abi" >> $out/nix-support/libcxx-ldflags
'') '')
@ -492,7 +493,7 @@ stdenv.mkDerivation {
let cc_ = if cc != null then cc else {}; in let cc_ = if cc != null then cc else {}; in
(if cc_ ? meta then removeAttrs cc.meta ["priority"] else {}) // (if cc_ ? meta then removeAttrs cc.meta ["priority"] else {}) //
{ description = { description =
stdenv.lib.attrByPath ["meta" "description"] "System C compiler" cc_ lib.attrByPath ["meta" "description"] "System C compiler" cc_
+ " (wrapper script)"; + " (wrapper script)";
priority = 10; priority = 10;
}; };

View file

@ -10,7 +10,7 @@
, extraPackages ? [], extraBuildCommands ? "" , extraPackages ? [], extraBuildCommands ? ""
}: }:
with stdenvNoCC.lib; with lib;
let let
stdenv = stdenvNoCC; stdenv = stdenvNoCC;

View file

@ -1,5 +1,6 @@
{ src { src
, pkgs , pkgs
, lib
, stdenv ? pkgs.stdenv , stdenv ? pkgs.stdenv
, name , name
, antTargets ? [] , antTargets ? []
@ -16,8 +17,7 @@
, ... } @ args: , ... } @ args:
let let
antFlags = "-f ${buildfile} " + stdenv.lib.concatMapStrings ({name, value}: "-D${name}=${value} " ) antProperties ; antFlags = "-f ${buildfile} " + lib.concatMapStrings ({name, value}: "-D${name}=${value} " ) antProperties ;
lib = stdenv.lib;
in in
stdenv.mkDerivation ( stdenv.mkDerivation (
@ -31,7 +31,7 @@ stdenv.mkDerivation (
prePhases = prePhases =
["antSetupPhase"]; ["antSetupPhase"];
antSetupPhase = with stdenv.lib; '' antSetupPhase = with lib; ''
if test "$hydraAntLogger" != "" ; then if test "$hydraAntLogger" != "" ; then
export ANT_ARGS="-logger org.hydra.ant.HydraLogger -lib `ls $hydraAntLogger/share/java/*.jar | head -1`" export ANT_ARGS="-logger org.hydra.ant.HydraLogger -lib `ls $hydraAntLogger/share/java/*.jar | head -1`"
fi fi
@ -46,7 +46,7 @@ stdenv.mkDerivation (
mkdir -p $out/share/java mkdir -p $out/share/java
${ if jars == [] then '' ${ if jars == [] then ''
find . -name "*.jar" | xargs -I{} cp -v {} $out/share/java find . -name "*.jar" | xargs -I{} cp -v {} $out/share/java
'' else stdenv.lib.concatMapStrings (j: '' '' else lib.concatMapStrings (j: ''
cp -v ${j} $out/share/java cp -v ${j} $out/share/java
'') jars } '') jars }
@ -65,7 +65,7 @@ stdenv.mkDerivation (
in in
'' ''
header "Generating jar wrappers" header "Generating jar wrappers"
'' + (stdenv.lib.concatMapStrings (w: '' '' + (lib.concatMapStrings (w: ''
mkdir -p $out/bin mkdir -p $out/bin
cat >> $out/bin/${w.name} <<EOF cat >> $out/bin/${w.name} <<EOF
@ -85,7 +85,7 @@ stdenv.mkDerivation (
header "Building default ant target" header "Building default ant target"
ant ${antFlags} ant ${antFlags}
closeNest closeNest
'' else stdenv.lib.concatMapStrings (t: '' '' else lib.concatMapStrings (t: ''
header "Building '${t}' target" header "Building '${t}' target"
ant ${antFlags} ${t} ant ${antFlags} ${t}
closeNest closeNest
@ -103,12 +103,12 @@ stdenv.mkDerivation (
''; '';
} }
// removeAttrs args ["antProperties" "buildInputs" "pkgs" "jarWrappers"] // // removeAttrs args ["antProperties" "buildInputs" "pkgs" "lib" "jarWrappers"] //
{ {
name = name + (if src ? version then "-" + src.version else ""); name = name + (if src ? version then "-" + src.version else "");
buildInputs = [ant jre zip unzip] ++ stdenv.lib.optional (args ? buildInputs) args.buildInputs ; buildInputs = [ant jre zip unzip] ++ lib.optional (args ? buildInputs) args.buildInputs ;
postHook = '' postHook = ''
mkdir -p $out/nix-support mkdir -p $out/nix-support

View file

@ -4,7 +4,7 @@
{ name ? "debian-build" { name ? "debian-build"
, lib , lib
, diskImage , diskImage
, src, stdenv, vmTools, checkinstall , src, lib, stdenv, vmTools, checkinstall
, fsTranslation ? false , fsTranslation ? false
, # Features provided by this package. , # Features provided by this package.
debProvides ? [] debProvides ? []

View file

@ -15,7 +15,7 @@ rec {
} // args); } // args);
antBuild = args: import ./ant-build.nix ( antBuild = args: import ./ant-build.nix (
{ inherit pkgs; { inherit lib pkgs;
} // args); } // args);
mvnBuild = args: import ./maven-build.nix ( mvnBuild = args: import ./maven-build.nix (

View file

@ -80,7 +80,7 @@ in rec {
mkCC = overrides: import ../../build-support/cc-wrapper ( mkCC = overrides: import ../../build-support/cc-wrapper (
let args = { let args = {
inherit shell; inherit lib shell;
inherit (last) stdenvNoCC; inherit (last) stdenvNoCC;
nativeTools = false; nativeTools = false;
@ -217,6 +217,7 @@ in rec {
binutils = lib.makeOverridable (import ../../build-support/bintools-wrapper) { binutils = lib.makeOverridable (import ../../build-support/bintools-wrapper) {
shell = "${bootstrapTools}/bin/bash"; shell = "${bootstrapTools}/bin/bash";
inherit lib;
inherit (self) stdenvNoCC; inherit (self) stdenvNoCC;
nativeTools = false; nativeTools = false;

View file

@ -107,6 +107,7 @@ let
bintools = prevStage.binutils; bintools = prevStage.binutils;
isGNU = true; isGNU = true;
libc = getLibc prevStage; libc = getLibc prevStage;
inherit lib;
inherit (prevStage) coreutils gnugrep; inherit (prevStage) coreutils gnugrep;
stdenvNoCC = prevStage.ccWrapperStdenv; stdenvNoCC = prevStage.ccWrapperStdenv;
}; };
@ -166,6 +167,7 @@ in
nativeLibc = false; nativeLibc = false;
buildPackages = { }; buildPackages = { };
libc = getLibc self; libc = getLibc self;
inherit lib;
inherit (self) stdenvNoCC coreutils gnugrep; inherit (self) stdenvNoCC coreutils gnugrep;
bintools = bootstrapTools; bintools = bootstrapTools;
}; };
@ -312,6 +314,7 @@ in
cc = prevStage.gcc-unwrapped; cc = prevStage.gcc-unwrapped;
bintools = self.binutils; bintools = self.binutils;
libc = getLibc self; libc = getLibc self;
inherit lib;
inherit (self) stdenvNoCC coreutils gnugrep; inherit (self) stdenvNoCC coreutils gnugrep;
shell = self.bash + "/bin/bash"; shell = self.bash + "/bin/bash";
}; };