diff options
author | Jan Tojnar <jtojnar@gmail.com> | 2019-04-05 11:37:15 +0200 |
---|---|---|
committer | Jan Tojnar <jtojnar@gmail.com> | 2019-04-05 11:37:15 +0200 |
commit | cb1a20499a8438ea1f15140dc090256e7690035e (patch) | |
tree | f0deb5149dbb73d052e6700c03cc790c0d55fd46 /pkgs/build-support | |
parent | 79b3d1b33d3dcd2e82003859cd296f4d1a82567e (diff) | |
parent | 9fa17c5957a2bf161b659f5c6cd7b160e1826e06 (diff) | |
download | nixpkgs-cb1a20499a8438ea1f15140dc090256e7690035e.tar nixpkgs-cb1a20499a8438ea1f15140dc090256e7690035e.tar.gz nixpkgs-cb1a20499a8438ea1f15140dc090256e7690035e.tar.bz2 nixpkgs-cb1a20499a8438ea1f15140dc090256e7690035e.tar.lz nixpkgs-cb1a20499a8438ea1f15140dc090256e7690035e.tar.xz nixpkgs-cb1a20499a8438ea1f15140dc090256e7690035e.tar.zst nixpkgs-cb1a20499a8438ea1f15140dc090256e7690035e.zip |
Merge branch 'master' into staging
Diffstat (limited to 'pkgs/build-support')
-rw-r--r-- | pkgs/build-support/bintools-wrapper/default.nix | 1 | ||||
-rw-r--r-- | pkgs/build-support/docker/default.nix | 13 | ||||
-rw-r--r-- | pkgs/build-support/docker/examples.nix | 3 | ||||
-rwxr-xr-x | pkgs/build-support/docker/store-path-to-layer.sh | 1 | ||||
-rw-r--r-- | pkgs/build-support/rust/build-rust-crate/build-crate.nix | 2 | ||||
-rw-r--r-- | pkgs/build-support/rust/build-rust-crate/configure-crate.nix | 2 | ||||
-rw-r--r-- | pkgs/build-support/trivial-builders.nix | 2 | ||||
-rw-r--r-- | pkgs/build-support/writers/default.nix | 10 |
8 files changed, 26 insertions, 8 deletions
diff --git a/pkgs/build-support/bintools-wrapper/default.nix b/pkgs/build-support/bintools-wrapper/default.nix index 98d43c01ba0..964ff117553 100644 --- a/pkgs/build-support/bintools-wrapper/default.nix +++ b/pkgs/build-support/bintools-wrapper/default.nix @@ -187,6 +187,7 @@ stdenv.mkDerivation { }.${targetPlatform.parsed.cpu.name} else if targetPlatform.isPower then if targetPlatform.isBigEndian then "ppc" else "lppc" else if targetPlatform.isSparc then "sparc" + else if targetPlatform.isMsp430 then "msp430" else if targetPlatform.isAvr then "avr" else if targetPlatform.isAlpha then "alpha" else throw "unknown emulation for platform: ${targetPlatform.config}"; diff --git a/pkgs/build-support/docker/default.nix b/pkgs/build-support/docker/default.nix index 6efb447e142..344f1abc8b2 100644 --- a/pkgs/build-support/docker/default.nix +++ b/pkgs/build-support/docker/default.nix @@ -45,13 +45,18 @@ rec { , sha256 , os ? "linux" , arch ? "amd64" + + # This is used to set name to the pulled image + , finalImageName ? imageName # This used to set a tag to the pulled image , finalImageTag ? "latest" - , name ? fixName "docker-image-${imageName}-${finalImageTag}.tar" + + , name ? fixName "docker-image-${finalImageName}-${finalImageTag}.tar" }: runCommand name { - inherit imageName imageDigest; + inherit imageDigest; + imageName = finalImageName; imageTag = finalImageTag; impureEnvVars = pkgs.stdenv.lib.fetchers.proxyImpureEnvVars; outputHashMode = "flat"; @@ -62,7 +67,7 @@ rec { SSL_CERT_FILE = "${pkgs.cacert.out}/etc/ssl/certs/ca-bundle.crt"; sourceURL = "docker://${imageName}@${imageDigest}"; - destNameTag = "${imageName}:${finalImageTag}"; + destNameTag = "${finalImageName}:${finalImageTag}"; } '' skopeo --override-os ${os} --override-arch ${arch} copy "$sourceURL" "docker-archive://$out:$destNameTag" ''; @@ -344,7 +349,7 @@ rec { # Tar up the layer and throw it into 'layer.tar'. echo "Packing layer..." mkdir $out - tar -C layer --sort=name --mtime="@$SOURCE_DATE_EPOCH" --owner=${toString uid} --group=${toString gid} -cf $out/layer.tar . + tar --transform='s|^\./||' -C layer --sort=name --mtime="@$SOURCE_DATE_EPOCH" --owner=${toString uid} --group=${toString gid} -cf $out/layer.tar . # Compute a checksum of the tarball. echo "Computing layer checksum..." diff --git a/pkgs/build-support/docker/examples.nix b/pkgs/build-support/docker/examples.nix index 8a1b35f02d9..557a4dbf54b 100644 --- a/pkgs/build-support/docker/examples.nix +++ b/pkgs/build-support/docker/examples.nix @@ -88,8 +88,9 @@ rec { nixFromDockerHub = pullImage { imageName = "nixos/nix"; imageDigest = "sha256:85299d86263a3059cf19f419f9d286cc9f06d3c13146a8ebbb21b3437f598357"; - sha256 = "0vnp3mhpk4ny3xa3cgngqsargnmvfgld54d5sn4b5av6yqzzp67z"; + sha256 = "07q9y9r7fsd18sy95ybrvclpkhlal12d30ybnf089hq7v1hgxbi7"; finalImageTag = "2.2.1"; + finalImageName = "nix"; }; # 5. example of multiple contents, emacs and vi happily coexisting diff --git a/pkgs/build-support/docker/store-path-to-layer.sh b/pkgs/build-support/docker/store-path-to-layer.sh index ff814c1f613..4cf338b9b25 100755 --- a/pkgs/build-support/docker/store-path-to-layer.sh +++ b/pkgs/build-support/docker/store-path-to-layer.sh @@ -9,6 +9,7 @@ layerPath="./layers/$layerNumber" echo "Creating layer #$layerNumber for $@" mkdir -p "$layerPath" +tar --no-recursion -rf "$layerPath/layer.tar" /nix /nix/store tar -rpf "$layerPath/layer.tar" --hard-dereference --sort=name \ --mtime="@$SOURCE_DATE_EPOCH" \ --owner=0 --group=0 "$@" diff --git a/pkgs/build-support/rust/build-rust-crate/build-crate.nix b/pkgs/build-support/rust/build-rust-crate/build-crate.nix index 0978f7e1756..2999c3d4c1d 100644 --- a/pkgs/build-support/rust/build-rust-crate/build-crate.nix +++ b/pkgs/build-support/rust/build-rust-crate/build-crate.nix @@ -11,7 +11,7 @@ rustcOpts = lib.lists.foldl' (opts: opt: opts + " " + opt) (if release then "-C opt-level=3" else "-C debuginfo=2") - (["-C codegen-units=1"] ++ extraRustcOpts); + (["-C codegen-units=$NIX_BUILD_CORES"] ++ extraRustcOpts); rustcMeta = "-C metadata=${metadata} -C extra-filename=-${metadata}"; # Some platforms have different names for rustc. diff --git a/pkgs/build-support/rust/build-rust-crate/configure-crate.nix b/pkgs/build-support/rust/build-rust-crate/configure-crate.nix index b184d363d55..165b3414c6a 100644 --- a/pkgs/build-support/rust/build-rust-crate/configure-crate.nix +++ b/pkgs/build-support/rust/build-rust-crate/configure-crate.nix @@ -22,7 +22,7 @@ let version_ = lib.splitString "-" crateVersion; version = lib.splitString "." (lib.head version_); rustcOpts = lib.lists.foldl' (opts: opt: opts + " " + opt) (if release then "-C opt-level=3" else "-C debuginfo=2") - (["-C codegen-units=1"] ++ extraRustcOpts); + (["-C codegen-units=$NIX_BUILD_CORES"] ++ extraRustcOpts); buildDeps = makeDeps buildDependencies; authors = lib.concatStringsSep ":" crateAuthors; optLevel = if release then 3 else 0; diff --git a/pkgs/build-support/trivial-builders.nix b/pkgs/build-support/trivial-builders.nix index 58bc7147ede..ab83b73c545 100644 --- a/pkgs/build-support/trivial-builders.nix +++ b/pkgs/build-support/trivial-builders.nix @@ -149,7 +149,7 @@ rec { ${text} ''; checkPhase = '' - ${runtimeShell} -n $out/bin/${name} + ${stdenv.shell} -n $out/bin/${name} ''; }; diff --git a/pkgs/build-support/writers/default.nix b/pkgs/build-support/writers/default.nix index 6e932ce860f..3454450c1f3 100644 --- a/pkgs/build-support/writers/default.nix +++ b/pkgs/build-support/writers/default.nix @@ -178,6 +178,16 @@ rec { writeJSBin = name: writeJS "/bin/${name}"; + writeNginxConfig = name: text: pkgs.runCommand name { + inherit text; + passAsFile = [ "text" ]; + } /* sh */ '' + cp "$textPath" $out + ${pkgs.nginx-config-formatter}/bin/nginxfmt $out + ${pkgs.gnused}/bin/sed -i '/^$/d' $out + ${pkgs.gixy}/bin/gixy $out + ''; + # writePerl takes a name an attributeset with libraries and some perl sourcecode and # returns an executable # |