Merge branch 'master' into staging

... to fix *some* of the evaluation problems.
This commit is contained in:
Vladimír Čunát
2017-05-24 13:56:28 +02:00
14 changed files with 152 additions and 59 deletions

View File

@@ -24,13 +24,13 @@ in
stdenv.mkDerivation rec {
name = "go-${version}";
version = "1.7.5";
version = "1.7.6";
src = fetchFromGitHub {
owner = "golang";
repo = "go";
rev = "go${version}";
sha256 = "00radlwbrssn0x3naamb33cfx7ap2jv7s51bqr705nmn2j5yyblk";
sha256 = "1gacjwbs1qbx8x84746qdxx2xwylirvd31ybgagfglfsl77vi4m2";
};
# perl is used for testing go vet

View File

@@ -25,13 +25,13 @@ in
stdenv.mkDerivation rec {
name = "go-${version}";
version = "1.8.1";
version = "1.8.2";
src = fetchFromGitHub {
owner = "golang";
repo = "go";
rev = "go${version}";
sha256 = "1157mmzjpk887cpcpn2qy9c69anc22c4p3cjpl84zl7an41x660j";
sha256 = "0haazh0sk1zys1gbmbi128rmcyrd6f32amp6a872jqhadjlvj9qv";
};
# perl is used for testing go vet

View File

@@ -234,7 +234,7 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "https://www.ffmpeg.org/releases/ffmpeg-${version}.tar.xz";
sha256 = "0bwgm6z6k3khb91qh9xv15inykkfchpkm0lcdckkxhkacpyaf0mp";
sha256 = "0c37bdqwmaziikr2d5pqp7504ail6i7a1mfcmc06mdpwfxxwvcpw";
};
patchPhase = ''patchShebangs .

View File

@@ -7,6 +7,6 @@
callPackage ./generic.nix (args // rec {
version = "${branch}";
branch = "3.3.1";
sha256 = "0bwgm6z6k3khb91qh9xv15inykkfchpkm0lcdckkxhkacpyaf0mp";
sha256 = "0c37bdqwmaziikr2d5pqp7504ail6i7a1mfcmc06mdpwfxxwvcpw";
darwinFrameworks = [ Cocoa CoreMedia ];
})

View File

@@ -0,0 +1,22 @@
{ stdenv, buildPythonPackage, glibcLocales, fetchurl, six, pytz }:
buildPythonPackage rec {
name = "feedgenerator-1.9";
src = fetchurl {
url = "mirror://pypi/f/feedgenerator/${name}.tar.gz";
sha256 = "01mirwkm7xfx539hmvj7g9da1j51gw5lsx74dr0glizskjm5vq2s";
};
buildInputs = [ glibcLocales ];
LC_ALL="en_US.UTF-8";
propagatedBuildInputs = [ six pytz ];
meta = with stdenv.lib; {
description = "Standalone version of django.utils.feedgenerator, compatible with Py3k";
homepage = https://github.com/dmdm/feedgenerator-py3k.git;
maintainers = with maintainers; [ garbas ];
};
}

View File

@@ -1,4 +1,4 @@
{ stdenv, pythonPackages }:
{ stdenv, pythonPackages, runCommand, curl }:
with stdenv.lib;
with pythonPackages;
@@ -22,6 +22,38 @@ let
maintainers = with maintainers; [ copumpkin ];
};
};
pants13-version = "1.3.0rc2";
# TODO: compile the rust native engine ourselves so we don't need to do this shit. We don't use
# fetchurl because we don't know the URL ahead of time, even though it's deterministic. So we have
# this downloader figure out the URL on the fly and then produce the deterministic result, so we
# can still be a fixed-output derivation.
pants13-native-engine-prefix = {
"x86_64-darwin" = "mac/10.11";
"x86_64-linux" = "linux/x86_64";
"i686-linux" = "linux/i386";
}.${stdenv.system} or (throw "Unsupported system ${stdenv.system}!");
pants13-native-engine = runCommand "pants-native-${pants13-version}" {
buildInputs = [ curl ];
outputHashMode = "recursive";
outputHashAlgo = "sha256";
outputHash = "0n8z7rg0yfpxplvcw88lwv733zkhbzhc4w4zd4aznbcmfqdiz5br";
} ''
native_version=$(curl -k -L https://raw.githubusercontent.com/pantsbuild/pants/release_${pants13-version}/src/python/pants/engine/subsystem/native_engine_version)
curl -kLO "https://dl.bintray.com/pantsbuild/bin/build-support/bin/native-engine/${pants13-native-engine-prefix}/$native_version/native_engine.so"
# Ugh it tries to "download" from this prefix so let's just replicate their directory structure for now...
mkdir -p $out/bin/native-engine/${pants13-native-engine-prefix}/$native_version/
# These should behave the same way in Nix land and we try not to differentiate between OS revisions...
mkdir -p $out/bin/native-engine/mac/
ln -s 10.11 $out/bin/native-engine/mac/10.10
ln -s 10.11 $out/bin/native-engine/mac/10.12
cp native_engine.so $out/bin/native-engine/${pants13-native-engine-prefix}/$native_version/
'';
in {
pants =
pythonPackages.buildPythonPackage rec {
@@ -61,7 +93,7 @@ in {
pants13-pre = buildPythonApplication rec {
pname = "pantsbuild.pants";
version = "1.3.0rc2";
version = pants13-version;
name = "${pname}-${version}";
src = fetchPypi {
@@ -71,6 +103,9 @@ in {
prePatch = ''
sed -E -i "s/'([[:alnum:].-]+)[=><][[:digit:]=><.,]*'/'\\1'/g" setup.py
substituteInPlace src/pants/option/global_options.py \
--replace "'/etc/pantsrc'" "'$out/etc/pantsrc', '/etc/pantsrc'"
'';
# Unnecessary, and causes some really weird behavior around .class files, which
@@ -84,6 +119,17 @@ in {
fasteners coverage pywatchman futures cffi
];
# Teach pants about where its native engine lives.
# TODO: there's probably a better way to teach it this without having it "download"
# from a local file: URL to its cache, but I don't know how and this seems to work.
postFixup = ''
mkdir -p $out/etc
cat >$out/etc/pantsrc <<EOF
[binaries]
baseurls: [ 'file://${pants13-native-engine}' ]
EOF
'';
meta = {
description = "A build system for software projects in a variety of languages";
homepage = "http://www.pantsbuild.org/";

View File

@@ -1,16 +1,16 @@
{ lib, buildGoPackage, fetchFromGitLab, fetchurl, go-bindata }:
let
version = "9.1.0";
version = "9.2.0";
# Gitlab runner embeds some docker images these are prebuilt for arm and x86_64
docker_x86_64 = fetchurl {
url = "https://gitlab-ci-multi-runner-downloads.s3.amazonaws.com/v${version}/docker/prebuilt-x86_64.tar.xz";
sha256 = "1mdcw755fygnf30v0gr13mx20zjqmxg5w2kj3k2jgcsh3gyrvymr";
sha256 = "0x6pwh3wjq2czvzb8rl8npa8a58snwf1f9dwr6rbbxijaf886jfc";
};
docker_arm = fetchurl {
url = "https://gitlab-ci-multi-runner-downloads.s3.amazonaws.com/v${version}/docker/prebuilt-arm.tar.xz";
sha256 = "1m5p6mlhy3xf0chrjlfpdyp24pv32b61s8iryh6a617i91vpzjg6";
sha256 = "1y6i5dn1l1qlwyg95qw4sff2y9zypxwmvsw4mb0555vf157h88kg";
};
in
buildGoPackage rec {
@@ -29,9 +29,11 @@ buildGoPackage rec {
owner = "gitlab-org";
repo = "gitlab-ci-multi-runner";
rev = "v${version}";
sha256 = "0n8hcj2b1pb95x4bd7fb9ri43vgc4h2dj2v3iiziw2imqjyphfx4";
sha256 = "0gz6byjnnfn9acy40hcbyzdql4199xn0yvjx2cfjjjzd9kryjrxp";
};
patches = [ ./fix-shell-path.patch ];
buildInputs = [ go-bindata ];
preBuild = ''
@@ -60,7 +62,7 @@ buildGoPackage rec {
description = "GitLab Runner the continuous integration executor of GitLab";
license = licenses.mit;
homepage = "https://about.gitlab.com/gitlab-ci/";
platforms = platforms.unix;
maintainers = [ lib.maintainers.bachp ];
platforms = platforms.unix ++ platforms.darwin;
maintainers = with maintainers; [ bachp zimbatm ];
};
}

View File

@@ -0,0 +1,25 @@
diff --git a/shells/bash.go b/shells/bash.go
index 839b7781..2b478e1e 100644
--- a/shells/bash.go
+++ b/shells/bash.go
@@ -7,6 +7,7 @@ import (
"gitlab.com/gitlab-org/gitlab-ci-multi-runner/common"
"gitlab.com/gitlab-org/gitlab-ci-multi-runner/helpers"
"io"
+ "os/exec"
"path"
"runtime"
"strconv"
@@ -208,7 +209,11 @@ func (b *BashShell) GetConfiguration(info common.ShellScriptInfo) (script *commo
if info.User != "" {
script.Command = "su"
if runtime.GOOS == "linux" {
- script.Arguments = append(script.Arguments, "-s", "/bin/"+b.Shell)
+ shellPath, err := exec.LookPath(b.Shell)
+ if err != nil {
+ shellPath = "/bin/"+b.Shell
+ }
+ script.Arguments = append(script.Arguments, "-s", shellPath)
}
script.Arguments = append(script.Arguments, info.User)
script.Arguments = append(script.Arguments, "-c", shellCommand)

View File

@@ -1,13 +0,0 @@
diff --git a/shells/bash.go b/shells/bash.go
index c9c8b68..c97dbb5 100644
--- a/shells/bash.go
+++ b/shells/bash.go
@@ -208,7 +208,7 @@ func (b *BashShell) GetConfiguration(info common.ShellScriptInfo) (script *commo
if info.User != "" {
script.Command = "su"
if runtime.GOOS == "linux" {
- script.Arguments = append(script.Arguments, "-s", "/bin/"+b.Shell)
+ script.Arguments = append(script.Arguments, "-s", "/run/current-system/sw/bin/"+b.Shell)
}
script.Arguments = append(script.Arguments, info.User)
script.Arguments = append(script.Arguments, "-c", shellCommand)

View File

@@ -1,16 +1,16 @@
{ lib, buildGoPackage, fetchFromGitLab, fetchurl, go-bindata }:
let
version = "1.11.2";
version = "1.11.4";
# Gitlab runner embeds some docker images these are prebuilt for arm and x86_64
docker_x86_64 = fetchurl {
url = "https://gitlab-ci-multi-runner-downloads.s3.amazonaws.com/v${version}/docker/prebuilt-x86_64.tar.xz";
sha256 = "08lacd2p7915y7yjnwkj2k0b0x4qj9kc53p7qgvmq8kdi31xnh4z";
sha256 = "1ijkzn8jkzx1dzxhkf17987ligyf758xzas6ysix5b781jnkdm8z";
};
docker_arm = fetchurl {
url = "https://gitlab-ci-multi-runner-downloads.s3.amazonaws.com/v${version}/docker/prebuilt-arm.tar.xz";
sha256 = "0lzvx3jfy8493q8zkbs7kgm5a3jgsi3f2x25jwg4lx7agcwwsygw";
sha256 = "0sq2nndnkzqv2yjljg08xwa3ppddn6vqcivhfh43zwwmansvb9ha";
};
in
buildGoPackage rec {
@@ -29,10 +29,10 @@ buildGoPackage rec {
owner = "gitlab-org";
repo = "gitlab-ci-multi-runner";
rev = "v${version}";
sha256 = "1sjvlb5981ykc8hr4kp1ibh9jw2wdjjp9zs2nqs9lpsav4nda5fr";
sha256 = "1pm88546cijmrrcvvrajp2g6rsrzxhy83cwwwky8jjkl5w4hhmz4";
};
patches = [ ./v1-fix-shell-path.patch ];
patches = [ ./fix-shell-path.patch ];
buildInputs = [ go-bindata ];