Merge master into staging-next

This commit is contained in:
Frederik Rietdijk
2020-01-28 10:46:13 +01:00
745 changed files with 15146 additions and 15353 deletions

View File

@@ -0,0 +1,67 @@
{ stdenv
, buildGoPackage
, fetchFromGitHub
, makeWrapper
}:
let
version = "1.26.1";
rev = "2ec04e169b12a87c5286aa09ef44eac1cea2c7a1";
in buildGoPackage rec {
pname = "docker-slim";
inherit version;
goPackagePath = "github.com/docker-slim/docker-slim";
src = fetchFromGitHub {
owner = "docker-slim";
repo = "docker-slim";
inherit rev;
# fetchzip yields a different hash on Darwin because `use-case-hack`
sha256 =
if stdenv.isDarwin
then "0j72rn6qap78qparrnslxm3yv83mzy1yc7ha0crb4frwkzmspyvf"
else "01bjb14z7yblm7qdqrx1j2pw5x5da7a6np4rkzay931gly739gbh";
};
subPackages = [ "cmd/docker-slim" "cmd/docker-slim-sensor" ];
nativeBuildInputs = [
makeWrapper
];
# docker-slim vendorized logrus files in different directories, which
# conflicts on case-sensitive filesystems
preBuild = stdenv.lib.optionalString stdenv.isLinux ''
mv go/src/${goPackagePath}/vendor/github.com/Sirupsen/logrus/* \
go/src/${goPackagePath}/vendor/github.com/sirupsen/logrus/
'';
buildFlagsArray =
let
ldflags = "-ldflags=-s -w " +
"-X ${goPackagePath}/pkg/version.appVersionTag=${version} " +
"-X ${goPackagePath}/pkg/version.appVersionRev=${rev}";
in
[ ldflags ];
# docker-slim tries to create its state dir next to the binary (inside the nix
# store), so we set it to use the working directory at the time of invocation
postInstall = ''
wrapProgram "$bin/bin/docker-slim" --add-flags '--state-path "$(pwd)"'
'';
meta = with stdenv.lib; {
description = "Minify and secure Docker containers";
homepage = "https://dockersl.im/";
license = licenses.asl20;
maintainers = with maintainers; [ filalex77 marsam mbrgm ];
# internal/app/sensor/monitors/ptrace/monitor.go:151:16: undefined:
# system.CallNumber
# internal/app/sensor/monitors/ptrace/monitor.go:161:15: undefined:
# system.CallReturnValue
badPlatforms = [ "aarch64-linux" ];
};
}

View File

@@ -425,8 +425,8 @@
# Maven Central
maven = [
http://repo1.maven.org/maven2/
http://central.maven.org/maven2/
https://repo1.maven.org/maven2/
https://central.maven.org/maven2/
];
# Alsa Project

View File

@@ -61,7 +61,11 @@ static const char * rewrite(const char * path, char * buf)
static int open_needs_mode(int flags)
{
#ifdef O_TMPFILE
return (flags & O_CREAT) || (flags & O_TMPFILE) == O_TMPFILE;
#else
return flags & O_CREAT;
#endif
}
/* The following set of Glibc library functions is very incomplete -

View File

@@ -55,9 +55,6 @@
elif [[ -e src/lib.rs ]]; then
build_lib src/lib.rs
${lib.optionalString buildTests "build_lib_test src/lib.rs"}
elif [[ -e "src/$LIB_NAME.rs" ]]; then
build_lib src/$LIB_NAME.rs
${lib.optionalString buildTests ''build_lib_test "src/$LIB_NAME.rs"''}
fi

View File

@@ -1,4 +1,4 @@
{ lib, buildRustCrate, runCommand, writeTextFile, symlinkJoin, callPackage }:
{ lib, buildRustCrate, runCommand, writeTextFile, symlinkJoin, callPackage, releaseTools }:
let
mkCrate = args: let
p = {
@@ -92,7 +92,17 @@ let
cases = {
libPath = { libPath = "src/my_lib.rs"; src = mkLib "src/my_lib.rs"; };
srcLib = { src = mkLib "src/lib.rs"; };
customLibName = { libName = "test_lib"; src = mkLib "src/test_lib.rs"; };
# This used to be supported by cargo but as of 1.40.0 I can't make it work like that with just cargo anymore.
# This might be a regression or deprecated thing they finally removed…
# customLibName = { libName = "test_lib"; src = mkLib "src/test_lib.rs"; };
# rustLibTestsCustomLibName = {
# libName = "test_lib";
# src = mkTestFile "src/test_lib.rs" "foo";
# buildTests = true;
# expectedTestOutputs = [ "test foo ... ok" ];
# };
customLibNameAndLibPath = { libName = "test_lib"; libPath = "src/best-lib.rs"; src = mkLib "src/best-lib.rs"; };
crateBinWithPath = { crateBin = [{ name = "test_binary1"; path = "src/foobar.rs"; }]; src = mkBin "src/foobar.rs"; };
crateBinNoPath1 = { crateBin = [{ name = "my-binary2"; }]; src = mkBin "src/my_binary2.rs"; };
@@ -122,12 +132,6 @@ let
buildTests = true;
expectedTestOutputs = [ "test baz ... ok" ];
};
rustLibTestsCustomLibName = {
libName = "test_lib";
src = mkTestFile "src/test_lib.rs" "foo";
buildTests = true;
expectedTestOutputs = [ "test foo ... ok" ];
};
rustLibTestsCustomLibPath = {
libPath = "src/test_path.rs";
src = mkTestFile "src/test_path.rs" "bar";
@@ -207,9 +211,12 @@ let
test -e ${pkg}/bin/brotli-decompressor && touch $out
'';
};
test = runCommand "run-buildRustCrate-tests" {
nativeBuildInputs = builtins.attrValues tests;
} "
touch $out
";
test = releaseTools.aggregate {
name = "buildRustCrate-tests";
meta = {
description = "Test cases for buildRustCrate";
maintainers = [ lib.maintainers.andir ];
};
constituents = builtins.attrValues tests;
};
}