Merge branch 'master' into update/flutter

This commit is contained in:
kolaente
2020-07-05 17:12:46 +02:00
1801 changed files with 35431 additions and 21149 deletions
@@ -3,13 +3,13 @@
stdenv.mkDerivation rec {
pname = "adoptopenjdk-icedtea-web";
version = "1.8.3";
version = "1.8.4";
src = fetchFromGitHub {
owner = "AdoptOpenJDK";
repo = "IcedTea-Web";
rev = "icedtea-web-${version}";
sha256 = "0bm5k11i2vgb54ch1bawsmjbwnqnp04saadwm2f2mggmmdc6b1qq";
sha256 = "0pxijw9v5k4j840jczglx9qyfd57df390g5jdaz3qafblfg0k10n";
};
nativeBuildInputs = [ autoreconfHook pkgconfig bc ];
@@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "closure-compiler";
version = "20200517";
version = "20200614";
src = fetchurl {
url = "https://dl.google.com/closure-compiler/compiler-${version}.tar.gz";
sha256 = "05bbsrxw2nxjlcfc22w1ympi66jnmzymivg29cvidh5n28jgwba2";
sha256 = "0a54y2d9nfg60knfv34kf6sdsh065dzam86l3wprf8gvqffxxcli";
};
sourceRoot = ".";
@@ -0,0 +1,34 @@
{ stdenv, fetchFromGitHub }:
stdenv.mkDerivation rec {
pname = "dasm";
version = "2.20.13";
src = fetchFromGitHub {
owner = "dasm-assembler";
repo = "dasm";
rev = version;
sha256 = "1nr4kvw42vyc6i4p1c06jlih11rhbjjxc27dc7cx5qj635xf4jcf";
};
configurePhase = false;
installPhase = ''
mkdir -p $out/bin
install bin/* $out/bin
'';
preCheck = ''
patchShebangs ./test/
'';
checkTarget = "test";
doCheck = true;
meta = with stdenv.lib; {
description = "Assembler for 6502 and other 8-bit microprocessors";
homepage = "https://dasm-assembler.github.io";
license = licenses.gpl2;
maintainers = [ maintainers.jwatt ];
platforms = platforms.all;
};
}
+31 -27
View File
@@ -71,56 +71,60 @@ let
};
};
/*
Node/NPM based dependecies can be upgraded using script
`packages/generate-node-packages.sh`.
Packages which rely on `bin-wrap` will fail by default
and can be patched using `patchBinwrap` function defined in `packages/patch-binwrap.nix`.
/* Node/NPM based dependecies can be upgraded using script `packages/generate-node-packages.sh`.
* Packages which rely on `bin-wrap` will fail by default
and can be patched using `patchBinwrap` function defined in `packages/lib.nix`.
* Packages which depend on npm installation of elm can be patched using
`patchNpmElm` function also defined in `packages/lib.nix`.
*/
elmNodePackages =
elmLib = import ./packages/lib.nix {
inherit lib writeScriptBin stdenv;
inherit (hsPkgs.elmPkgs) elm;
};
elmNodePackages = with elmLib;
let
nodePkgs = import ./packages/node-composition.nix {
inherit nodejs pkgs;
inherit (stdenv.hostPlatform) system;
};
in with hsPkgs.elmPkgs; {
elm-test = patchBinwrap [elmi-to-json] nodePkgs.elm-test;
elm-verify-examples = patchBinwrap [elmi-to-json] nodePkgs.elm-verify-examples;
elm-test = patchBinwrap [elmi-to-json]
nodePkgs.elm-test;
elm-verify-examples = patchBinwrap [elmi-to-json]
nodePkgs.elm-verify-examples;
elm-coverage =
let patched = patchBinwrap [elmi-to-json] nodePkgs.elm-coverage;
in patched.override {
preRebuild = ''
let patched = patchNpmElm (patchBinwrap [elmi-to-json] nodePkgs.elm-coverage);
in patched.override (old: {
# Symlink Elm instrument binary
preRebuild = (old.preRebuild or "") + ''
# Noop custom installation script
sed 's/\"install\".*/\"install\":\"echo no-op\"/g' --in-place package.json
# This should not be needed (thanks to binwrap* being nooped) but for some reason it still needs to be done
# in case of just this package
# TODO: investigate
sed 's/\"install\".*/\"install\":\"echo no-op\",/g' --in-place node_modules/elmi-to-json/package.json
rm node_modules/elm/install.js
echo "console.log('no-op');" > node_modules/elm/install.js
'';
# Link Elm instrument binary
postInstall = patched.postInstall + ''
postInstall = (old.postInstall or "") + ''
mkdir -p unpacked_bin
ln -sf ${elm-instrument}/bin/elm-instrument unpacked_bin/elm-instrument
'';
};
});
create-elm-app = patchBinwrap [elmi-to-json] (nodePkgs.create-elm-app.override {
preRebuild = ''
rm node_modules/elm/install.js
echo "console.log('no-op');" > node_modules/elm/install.js
'';
});
create-elm-app = patchNpmElm (patchBinwrap [elmi-to-json]
nodePkgs.create-elm-app);
elm-language-server = nodePkgs."@elm-tooling/elm-language-server";
inherit (nodePkgs) elm-doc-preview elm-live elm-upgrade elm-xref elm-analyse;
};
patchBinwrap = import ./packages/patch-binwrap.nix { inherit lib writeScriptBin stdenv; };
in hsPkgs.elmPkgs // elmNodePackages // {
lib = { inherit patchBinwrap; };
lib = elmLib;
}
@@ -6,7 +6,7 @@ set -eu -o pipefail
rm -f node-env.nix
$(nix-build $ROOT -A nodePackages.node2nix --no-out-link)/bin/node2nix \
--nodejs-10 \
--nodejs-12 \
-i node-packages.json \
-o node-packages.nix \
-c node-composition.nix \
@@ -0,0 +1,43 @@
{ writeScriptBin, stdenv, lib, elm }:
let
patchBinwrap =
let
# Patching binwrap by NoOp script
binwrap = writeScriptBin "binwrap" ''
#! ${stdenv.shell}
echo "binwrap called: Returning 0"
return 0
'';
binwrap-install = writeScriptBin "binwrap-install" ''
#! ${stdenv.shell}
echo "binwrap-install called: Doing nothing"
'';
in targets: pkg:
pkg.override (old: {
nativeBuildInputs = (old.nativeBuildInputs or []) ++ [ binwrap binwrap-install ];
# Manually install targets
# by symlinking binaries into `node_modules`
postInstall = let
binFile = module: lib.strings.removeSuffix ("-" + module.version) module.name;
in (old.postInstall or "") + ''
${lib.concatStrings (map (module: ''
echo "linking ${binFile module}"
ln -sf ${module}/bin/${binFile module} \
node_modules/${binFile module}/bin/${binFile module}
'') targets)}
'';
});
patchNpmElm = pkg:
pkg.override (old: {
preRebuild = (old.preRebuild or "") + ''
rm node_modules/elm/install.js
echo "console.log('Nixpkgs\' version of Elm will be used');" > node_modules/elm/install.js
'';
postInstall = (old.postInstall or "") + ''
ln -sf ${elm}/bin/elm node_modules/elm/bin/elm
'';
});
in
{ inherit patchBinwrap patchNpmElm; }
@@ -2,7 +2,7 @@
{pkgs ? import <nixpkgs> {
inherit system;
}, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-10_x"}:
}, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-12_x"}:
let
nodeEnv = import ../../../node-packages/node-env.nix {
File diff suppressed because it is too large Load Diff
@@ -1,30 +0,0 @@
{ writeScriptBin, stdenv, lib }:
let
# Patching binwrap by NoOp script
binwrap = writeScriptBin "binwrap" ''
#! ${stdenv.shell}
echo "binwrap called: Returning 0"
return 0
'';
binwrap-install = writeScriptBin "binwrap-install" ''
#! ${stdenv.shell}
echo "binwrap-install called: Doing nothing"
'';
in
targets:
pkg:
pkg.override {
nativeBuildInputs = pkg.nativeBuildInputs ++ [ binwrap binwrap-install ];
# Manually install targets
# by symlinking binaries into `node_modules`
postInstall = let
binFile = module: lib.strings.removeSuffix ("-" + module.version) module.name;
in ''
${lib.concatStrings (map (module: ''
echo "linking ${binFile module}"
ln -sf ${module}/bin/${binFile module} \
node_modules/${binFile module}/bin/${binFile module}
'') targets)}
'';
}
@@ -78,18 +78,6 @@ stdenv.mkDerivation rec {
patchShebangs ghc-${version}/configure
'' +
# Strip is harmful, see also below. It's important that this happens
# first. The GHC Cabal build system makes use of strip by default and
# has hardcoded paths to /usr/bin/strip in many places. We replace
# those below, making them point to our dummy script.
''
mkdir "$TMP/bin"
for i in strip; do
echo '#! ${stdenv.shell}' > "$TMP/bin/$i"
chmod +x "$TMP/bin/$i"
done
PATH="$TMP/bin:$PATH"
'' +
# We have to patch the GMP paths for the integer-gmp package.
''
find . -name integer-gmp.buildinfo \
@@ -125,17 +113,13 @@ stdenv.mkDerivation rec {
] ++ stdenv.lib.optional stdenv.isDarwin "--with-gcc=${./gcc-clang-wrapper.sh}"
++ stdenv.lib.optional stdenv.hostPlatform.isMusl "--disable-ld-override";
# Stripping combined with patchelf breaks the executables (they die
# with a segfault or the kernel even refuses the execve). (NIXPKGS-85)
dontStrip = true;
# No building is necessary, but calling make without flags ironically
# calls install-strip ...
dontBuild = true;
# On Linux, use patchelf to modify the executables so that they can
# find editline/gmp.
preFixup = stdenv.lib.optionalString stdenv.isLinux ''
postFixup = stdenv.lib.optionalString stdenv.isLinux ''
for p in $(find "$out" -type f -executable); do
if isELF "$p"; then
echo "Patchelfing $p"
@@ -13,7 +13,7 @@ buildGoModule rec {
vendorSha256 = "0nsm4gsbbn8myz4yfi6m7qc3iizhdambsr18iks0clkdn3mi2jn1";
subPackages = [ "cmd/jsonnet" ];
subPackages = [ "cmd/jsonnet" "cmd/jsonnetfmt" ];
meta = with lib; {
description = "An implementation of Jsonnet in pure Go";
@@ -21,4 +21,4 @@ buildGoModule rec {
license = licenses.asl20;
maintainers = with maintainers; [ nshalman ];
};
}
}
+9 -2
View File
@@ -2,6 +2,7 @@
, perl, which, pkgconfig, patch, procps, pcre, cacert, Security, Foundation
, mailcap, runtimeShell
, buildPackages, pkgsTargetTarget
, fetchpatch
}:
let
@@ -30,11 +31,11 @@ in
stdenv.mkDerivation rec {
pname = "go";
version = "1.14.3";
version = "1.14.4";
src = fetchurl {
url = "https://dl.google.com/go/go${version}.src.tar.gz";
sha256 = "0mmgf74snprdiajgh99jjliwjl5im71qcgm5qrxpnyfisiw3f0lk";
sha256 = "1105qk2l4kfy1ki9n9gh8j4gfqrfgfwapa1fp38hih9aphxsy4bh";
};
# perl is used for testing go vet
@@ -137,6 +138,12 @@ stdenv.mkDerivation rec {
./go-1.9-skip-flaky-20072.patch
./skip-external-network-tests.patch
./skip-nohup-tests.patch
# fix rare TestDontCacheBrokenHTTP2Conn failure
(fetchpatch {
url = "https://github.com/golang/go/commit/ea1437a8cdf6bb3c2d2447833a5d06dbd75f7ae4.patch";
sha256 = "1lyzy4nf8c34a966vw45j3j7hzpvncq2gqspfxffzkyh17xd8sgy";
})
] ++ [
# breaks under load: https://github.com/golang/go/issues/25628
(if stdenv.isAarch32
+252
View File
@@ -0,0 +1,252 @@
{ stdenv, fetchurl, tzdata, iana-etc, runCommand
, perl, which, pkgconfig, patch, procps, pcre, cacert, Security, Foundation
, mailcap, runtimeShell
, buildPackages, pkgsTargetTarget
, fetchpatch
}:
let
inherit (stdenv.lib) optionals optionalString;
goBootstrap = runCommand "go-bootstrap" {} ''
mkdir $out
cp -rf ${buildPackages.go_bootstrap}/* $out/
chmod -R u+w $out
find $out -name "*.c" -delete
cp -rf $out/bin/* $out/share/go/bin/
'';
goarch = platform: {
"i686" = "386";
"x86_64" = "amd64";
"aarch64" = "arm64";
"arm" = "arm";
"armv5tel" = "arm";
"armv6l" = "arm";
"armv7l" = "arm";
}.${platform.parsed.cpu.name} or (throw "Unsupported system");
in
stdenv.mkDerivation rec {
pname = "go";
version = "1.15beta1";
src = fetchurl {
url = "https://dl.google.com/go/go${version}.src.tar.gz";
sha256 = "1h1sg6j9jac5bw2pjrd13bf4nr18prs89147izdhzbhp896sikbq";
};
# perl is used for testing go vet
nativeBuildInputs = [ perl which pkgconfig patch procps ];
buildInputs = [ cacert pcre ]
++ optionals stdenv.isLinux [ stdenv.cc.libc.out ]
++ optionals (stdenv.hostPlatform.libc == "glibc") [ stdenv.cc.libc.static ];
depsTargetTargetPropagated = optionals stdenv.isDarwin [ Security Foundation ];
hardeningDisable = [ "all" ];
prePatch = ''
patchShebangs ./ # replace /bin/bash
# This source produces shell script at run time,
# and thus it is not corrected by patchShebangs.
substituteInPlace misc/cgo/testcarchive/carchive_test.go \
--replace '#!/usr/bin/env bash' '#!${runtimeShell}'
# Patch the mimetype database location which is missing on NixOS.
# but also allow static binaries built with NixOS to run outside nix
sed -i 's,\"/etc/mime.types,"${mailcap}/etc/mime.types\"\,\n\t&,' src/mime/type_unix.go
# Disabling the 'os/http/net' tests (they want files not available in
# chroot builds)
rm src/net/{listen,parse}_test.go
rm src/syscall/exec_linux_test.go
# !!! substituteInPlace does not seems to be effective.
# The os test wants to read files in an existing path. Just don't let it be /usr/bin.
sed -i 's,/usr/bin,'"`pwd`", src/os/os_test.go
sed -i 's,/bin/pwd,'"`type -P pwd`", src/os/os_test.go
# Fails on aarch64
sed -i '/TestFallocate/aif true \{ return\; \}' src/cmd/link/internal/ld/fallocate_test.go
# Skip this test since ssl patches mess it up.
sed -i '/TestLoadSystemCertsLoadColonSeparatedDirs/aif true \{ return\; \}' src/crypto/x509/root_unix_test.go
# Disable another PIE test which breaks.
sed -i '/TestTrivialPIE/aif true \{ return\; \}' misc/cgo/testshared/shared_test.go
# Disable the BuildModePie test
sed -i '/TestBuildmodePIE/aif true \{ return\; \}' src/cmd/go/go_test.go
# Disable the unix socket test
sed -i '/TestShutdownUnix/aif true \{ return\; \}' src/net/net_test.go
# Disable the hostname test
sed -i '/TestHostname/aif true \{ return\; \}' src/os/os_test.go
# ParseInLocation fails the test
sed -i '/TestParseInSydney/aif true \{ return\; \}' src/time/format_test.go
# Remove the api check as it never worked
sed -i '/src\/cmd\/api\/run.go/ireturn nil' src/cmd/dist/test.go
# Remove the coverage test as we have removed this utility
sed -i '/TestCoverageWithCgo/aif true \{ return\; \}' src/cmd/go/go_test.go
# Remove the timezone naming test
sed -i '/TestLoadFixed/aif true \{ return\; \}' src/time/time_test.go
# Remove disable setgid test
sed -i '/TestRespectSetgidDir/aif true \{ return\; \}' src/cmd/go/internal/work/build_test.go
# Remove cert tests that conflict with NixOS's cert resolution
sed -i '/TestEnvVars/aif true \{ return\; \}' src/crypto/x509/root_unix_test.go
# TestWritevError hangs sometimes
sed -i '/TestWritevError/aif true \{ return\; \}' src/net/writev_test.go
# TestVariousDeadlines fails sometimes
sed -i '/TestVariousDeadlines/aif true \{ return\; \}' src/net/timeout_test.go
sed -i 's,/etc/protocols,${iana-etc}/etc/protocols,' src/net/lookup_unix.go
sed -i 's,/etc/services,${iana-etc}/etc/services,' src/net/port_unix.go
# Disable cgo lookup tests not works, they depend on resolver
rm src/net/cgo_unix_test.go
'' + optionalString stdenv.isLinux ''
# prepend the nix path to the zoneinfo files but also leave the original value for static binaries
# that run outside a nix server
sed -i 's,\"/usr/share/zoneinfo/,"${tzdata}/share/zoneinfo/\"\,\n\t&,' src/time/zoneinfo_unix.go
'' + optionalString stdenv.isAarch32 ''
echo '#!${runtimeShell}' > misc/cgo/testplugin/test.bash
'' + optionalString stdenv.isDarwin ''
substituteInPlace src/race.bash --replace \
"sysctl machdep.cpu.extfeatures | grep -qv EM64T" true
sed -i 's,strings.Contains(.*sysctl.*,true {,' src/cmd/dist/util.go
sed -i 's,"/etc","'"$TMPDIR"'",' src/os/os_test.go
sed -i 's,/_go_os_test,'"$TMPDIR"'/_go_os_test,' src/os/path_test.go
sed -i '/TestChdirAndGetwd/aif true \{ return\; \}' src/os/os_test.go
sed -i '/TestCredentialNoSetGroups/aif true \{ return\; \}' src/os/exec/exec_posix_test.go
sed -i '/TestRead0/aif true \{ return\; \}' src/os/os_test.go
sed -i '/TestSystemRoots/aif true \{ return\; \}' src/crypto/x509/root_darwin_test.go
sed -i '/TestGoInstallRebuildsStalePackagesInOtherGOPATH/aif true \{ return\; \}' src/cmd/go/go_test.go
sed -i '/TestBuildDashIInstallsDependencies/aif true \{ return\; \}' src/cmd/go/go_test.go
sed -i '/TestDisasmExtld/aif true \{ return\; \}' src/cmd/objdump/objdump_test.go
sed -i 's/unrecognized/unknown/' src/cmd/link/internal/ld/lib.go
# TestCurrent fails because Current is not implemented on Darwin
sed -i 's/TestCurrent/testCurrent/g' src/os/user/user_test.go
sed -i 's/TestLookup/testLookup/g' src/os/user/user_test.go
touch $TMPDIR/group $TMPDIR/hosts $TMPDIR/passwd
'';
patches = [
./remove-tools-1.11.patch
./ssl-cert-file-1.15.patch
./remove-test-pie-1.15.patch
./creds-test.patch
./go-1.9-skip-flaky-19608.patch
./go-1.9-skip-flaky-20072.patch
./skip-external-network-tests-1.15.patch
./skip-nohup-tests.patch
./skip-cgo-tests-1.15.patch
] ++ [
# breaks under load: https://github.com/golang/go/issues/25628
(if stdenv.isAarch32
then ./skip-test-extra-files-on-aarch32-1.14.patch
else ./skip-test-extra-files-on-386-1.14.patch)
];
postPatch = ''
find . -name '*.orig' -exec rm {} ';'
'';
GOOS = stdenv.targetPlatform.parsed.kernel.name;
GOARCH = goarch stdenv.targetPlatform;
# GOHOSTOS/GOHOSTARCH must match the building system, not the host system.
# Go will nevertheless build a for host system that we will copy over in
# the install phase.
GOHOSTOS = stdenv.buildPlatform.parsed.kernel.name;
GOHOSTARCH = goarch stdenv.buildPlatform;
# {CC,CXX}_FOR_TARGET must be only set for cross compilation case as go expect those
# to be different from CC/CXX
CC_FOR_TARGET = if (stdenv.buildPlatform != stdenv.targetPlatform) then
"${pkgsTargetTarget.stdenv.cc}/bin/${pkgsTargetTarget.stdenv.cc.targetPrefix}cc"
else
null;
CXX_FOR_TARGET = if (stdenv.buildPlatform != stdenv.targetPlatform) then
"${pkgsTargetTarget.stdenv.cc}/bin/${pkgsTargetTarget.stdenv.cc.targetPrefix}c++"
else
null;
GOARM = toString (stdenv.lib.intersectLists [(stdenv.hostPlatform.parsed.cpu.version or "")] ["5" "6" "7"]);
GO386 = 387; # from Arch: don't assume sse2 on i686
CGO_ENABLED = 1;
# Hopefully avoids test timeouts on Hydra
GO_TEST_TIMEOUT_SCALE = 3;
# Indicate that we are running on build infrastructure
# Some tests assume things like home directories and users exists
GO_BUILDER_NAME = "nix";
GOROOT_BOOTSTRAP="${goBootstrap}/share/go";
postConfigure = ''
export GOCACHE=$TMPDIR/go-cache
# this is compiled into the binary
export GOROOT_FINAL=$out/share/go
export PATH=$(pwd)/bin:$PATH
# Independent from host/target, CC should produce code for the building system.
export CC=${buildPackages.stdenv.cc}/bin/cc
ulimit -a
'';
postBuild = ''
(cd src && ./make.bash)
'';
doCheck = stdenv.hostPlatform == stdenv.targetPlatform && !stdenv.isDarwin;
checkPhase = ''
runHook preCheck
(cd src && HOME=$TMPDIR GOCACHE=$TMPDIR/go-cache ./run.bash --no-rebuild)
runHook postCheck
'';
preInstall = ''
rm -r pkg/obj
# Contains the wrong perl shebang when cross compiling,
# since it is not used for anything we can deleted as well.
rm src/regexp/syntax/make_perl_groups.pl
'' + (if (stdenv.buildPlatform != stdenv.hostPlatform) then ''
mv bin/*_*/* bin
rmdir bin/*_*
${optionalString (!(GOHOSTARCH == GOARCH && GOOS == GOHOSTOS)) ''
rm -rf pkg/${GOHOSTOS}_${GOHOSTARCH} pkg/tool/${GOHOSTOS}_${GOHOSTARCH}
''}
'' else if (stdenv.hostPlatform != stdenv.targetPlatform) then ''
rm -rf bin/*_*
${optionalString (!(GOHOSTARCH == GOARCH && GOOS == GOHOSTOS)) ''
rm -rf pkg/${GOOS}_${GOARCH} pkg/tool/${GOOS}_${GOARCH}
''}
'' else "");
installPhase = ''
runHook preInstall
mkdir -p $GOROOT_FINAL
cp -a bin pkg src lib misc api doc $GOROOT_FINAL
ln -s $GOROOT_FINAL/bin $out/bin
runHook postInstall
'';
disallowedReferences = [ goBootstrap ];
meta = with stdenv.lib; {
branch = "1.15";
homepage = "http://golang.org/";
description = "The Go Programming language";
license = licenses.bsd3;
maintainers = teams.golang.members;
platforms = platforms.linux ++ platforms.darwin;
};
}
@@ -0,0 +1,34 @@
diff --git a/src/cmd/dist/test.go b/src/cmd/dist/test.go
index e1cd4965c3..66bf980fc6 100644
--- a/src/cmd/dist/test.go
+++ b/src/cmd/dist/test.go
@@ -584,29 +584,6 @@ func (t *tester) registerTests() {
})
}
- // Test internal linking of PIE binaries where it is supported.
- if t.internalLinkPIE() {
- t.tests = append(t.tests, distTest{
- name: "pie_internal",
- heading: "internal linking of -buildmode=pie",
- fn: func(dt *distTest) error {
- t.addCmd(dt, "src", t.goTest(), "reflect", "-buildmode=pie", "-ldflags=-linkmode=internal", t.timeout(60))
- return nil
- },
- })
- // Also test a cgo package.
- if t.cgoEnabled && t.internalLink() {
- t.tests = append(t.tests, distTest{
- name: "pie_internal_cgo",
- heading: "internal linking of -buildmode=pie",
- fn: func(dt *distTest) error {
- t.addCmd(dt, "src", t.goTest(), "os/user", "-buildmode=pie", "-ldflags=-linkmode=internal", t.timeout(60))
- return nil
- },
- })
- }
- }
-
// sync tests
if goos != "js" { // js doesn't support -cpu=10
t.tests = append(t.tests, distTest{
@@ -0,0 +1,13 @@
diff --git a/src/cmd/dist/test.go b/src/cmd/dist/test.go
index e1cd4965c3..0980d044df 100644
--- a/src/cmd/dist/test.go
+++ b/src/cmd/dist/test.go
@@ -1136,7 +1136,7 @@ func (t *tester) cgoTest(dt *distTest) error {
t.addCmd(dt, "misc/cgo/test", t.goTest(), "-buildmode=pie", "-ldflags=-linkmode=internal")
}
t.addCmd(dt, "misc/cgo/testtls", t.goTest(), "-buildmode=pie")
- t.addCmd(dt, "misc/cgo/nocgo", t.goTest(), "-buildmode=pie")
+ //t.addCmd(dt, "misc/cgo/nocgo", t.goTest(), "-buildmode=pie")
}
}
}
@@ -0,0 +1,13 @@
diff --git a/src/net/dial_test.go b/src/net/dial_test.go
index 01582489de..5b5faa5424 100644
--- a/src/net/dial_test.go
+++ b/src/net/dial_test.go
@@ -990,6 +990,8 @@ func TestDialerControl(t *testing.T) {
// except that it won't skip testing on non-mobile builders.
func mustHaveExternalNetwork(t *testing.T) {
t.Helper()
+ t.Skipf("Nix sandbox does not have networking")
+
mobile := runtime.GOOS == "android" || runtime.GOOS == "darwin" && runtime.GOARCH == "arm64"
if testenv.Builder() == "" || mobile {
testenv.MustHaveExternalNetwork(t)
@@ -0,0 +1,76 @@
diff --git a/src/crypto/x509/root_darwin_amd64.go b/src/crypto/x509/root_darwin_amd64.go
index 8ad5a9607d..1d6091cf83 100644
--- a/src/crypto/x509/root_darwin_amd64.go
+++ b/src/crypto/x509/root_darwin_amd64.go
@@ -8,6 +8,7 @@ import (
"bytes"
"crypto/x509/internal/macOS"
"fmt"
+ "io/ioutil"
"os"
"strings"
)
@@ -23,6 +24,14 @@ func (c *Certificate) systemVerify(opts *VerifyOptions) (chains [][]*Certificate
var loadSystemRootsWithCgo func() (*CertPool, error)
func loadSystemRoots() (*CertPool, error) {
+ if file := os.Getenv("NIX_SSL_CERT_FILE"); file != "" {
+ data, err := ioutil.ReadFile(file)
+ if err == nil {
+ roots := NewCertPool()
+ roots.AppendCertsFromPEM(data)
+ return roots, nil
+ }
+ }
var trustedRoots []*Certificate
untrustedRoots := make(map[string]bool)
diff --git a/src/crypto/x509/root_darwin_arm64.go b/src/crypto/x509/root_darwin_arm64.go
index 2fb079ba66..6a072f3e78 100644
--- a/src/crypto/x509/root_darwin_arm64.go
+++ b/src/crypto/x509/root_darwin_arm64.go
@@ -6,6 +6,11 @@
package x509
+import (
+ "io/ioutil"
+ "os"
+)
+
func (c *Certificate) systemVerify(opts *VerifyOptions) (chains [][]*Certificate, err error) {
return nil, nil
}
@@ -14,6 +19,14 @@ func (c *Certificate) systemVerify(opts *VerifyOptions) (chains [][]*Certificate
var loadSystemRootsWithCgo func() (*CertPool, error)
func loadSystemRoots() (*CertPool, error) {
+ if file := os.Getenv("NIX_SSL_CERT_FILE"); file != "" {
+ data, err := ioutil.ReadFile(file)
+ if err == nil {
+ roots := NewCertPool()
+ roots.AppendCertsFromPEM(data)
+ return roots, nil
+ }
+ }
p := NewCertPool()
p.AppendCertsFromPEM([]byte(systemRootsPEM))
return p, nil
diff --git a/src/crypto/x509/root_unix.go b/src/crypto/x509/root_unix.go
index b48e618a65..195c1ff25a 100644
--- a/src/crypto/x509/root_unix.go
+++ b/src/crypto/x509/root_unix.go
@@ -42,6 +42,13 @@ func (c *Certificate) systemVerify(opts *VerifyOptions) (chains [][]*Certificate
func loadSystemRoots() (*CertPool, error) {
roots := NewCertPool()
+ if file := os.Getenv("NIX_SSL_CERT_FILE"); file != "" {
+ data, err := ioutil.ReadFile(file)
+ if err == nil {
+ roots.AppendCertsFromPEM(data)
+ return roots, nil
+ }
+ }
files := certFiles
if f := os.Getenv(certFileEnv); f != "" {
@@ -24,13 +24,13 @@ in
stdenv.mkDerivation rec {
pname = "intel-graphics-compiler";
version = "1.0.3627";
version = "1.0.4241";
src = fetchFromGitHub {
owner = "intel";
repo = "intel-graphics-compiler";
rev = "igc-${version}";
sha256 = "1x9fjvf7rbhil09am2v9j2jhwysdvwgshf9zidbirjgfrqn573h8";
sha256 = "1jp3c67ppl1x4pazr5nzy52615cpx0kyckaridhc0fsmrkgilyxq";
};
nativeBuildInputs = [ clang cmake bison flex llvm python ];
@@ -0,0 +1,24 @@
{ stdenv, fetchFromGitHub, autoreconfHook, mlton }:
stdenv.mkDerivation rec {
pname = "mlkit";
version = "4.5.0";
src = fetchFromGitHub {
owner = "melsman";
repo = "mlkit";
rev = "v${version}";
sha256 = "0fc0y40qphn02857fv2dvhwzzsvgixzchx9i6i0x80xfv7z68fbh";
};
nativeBuildInputs = [ autoreconfHook mlton ];
buildFlags = ["mlkit" "mlkit_libs"];
meta = with stdenv.lib; {
description = "Standard ML Compiler and Toolkit";
homepage = "https://elsman.com/mlkit/";
license = licenses.gpl2Plus;
maintainers = with maintainers; [ athas ];
};
}
@@ -0,0 +1,59 @@
From acab088fd6af0b2ef2df1396aeb93bfc2e020fa5 Mon Sep 17 00:00:00 2001
From: "Yukihiro \"Matz\" Matsumoto" <matz@ruby.or.jp>
Date: Mon, 27 Apr 2020 18:52:43 +0900
Subject: [PATCH 1/2] Updating `parse.y for recent `bison` (retry).
---
mrbgems/mruby-compiler/core/parse.y | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mrbgems/mruby-compiler/core/parse.y b/mrbgems/mruby-compiler/core/parse.y
index 6a1faf4e..2a4f740e 100644
--- a/mrbgems/mruby-compiler/core/parse.y
+++ b/mrbgems/mruby-compiler/core/parse.y
@@ -1323,7 +1323,7 @@ heredoc_end(parser_state *p)
%}
-%pure-parser
+%define api.pure
%parse-param {parser_state *p}
%lex-param {parser_state *p}
--
2.27.0
From 3cc682d943b29e84928a847a23f411ddbace74b7 Mon Sep 17 00:00:00 2001
From: "Yukihiro \"Matz\" Matsumoto" <matz@ruby.or.jp>
Date: Fri, 15 May 2020 12:30:13 +0900
Subject: [PATCH 2/2] Remove `YYERROR_VERBOSE` which no longer supported since
`bison 3.6`.
Instead we added `%define parse.error verbose`.
---
mrbgems/mruby-compiler/core/parse.y | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mrbgems/mruby-compiler/core/parse.y b/mrbgems/mruby-compiler/core/parse.y
index 2a4f740e..eee6a5e5 100644
--- a/mrbgems/mruby-compiler/core/parse.y
+++ b/mrbgems/mruby-compiler/core/parse.y
@@ -9,7 +9,6 @@
#ifdef PARSER_DEBUG
# define YYDEBUG 1
#endif
-#define YYERROR_VERBOSE 1
#define YYSTACK_USE_ALLOCA 1
#include <ctype.h>
@@ -1323,6 +1322,7 @@ heredoc_end(parser_state *p)
%}
+%define parse.error verbose
%define api.pure
%parse-param {parser_state *p}
%lex-param {parser_state *p}
--
2.27.0
+6 -4
View File
@@ -1,17 +1,19 @@
{ stdenv, ruby, bison, fetchFromGitHub }:
{ stdenv, ruby, bison, rake, fetchFromGitHub }:
stdenv.mkDerivation rec {
pname = "mruby";
version = "2.1.0";
version = "2.1.1";
src = fetchFromGitHub {
owner = "mruby";
repo = "mruby";
rev = version;
sha256 = "1y072c7dh9jf8xwy7kia6cb4dkpspq4zf24ssn7zm5f46p4waxni";
sha256 = "gEEb0Vn/G+dNgeY6r0VP8bMSPrEOf5s+0GoOcnIPtEU=";
};
nativeBuildInputs = [ ruby bison ];
nativeBuildInputs = [ ruby bison rake ];
patches = [ ./bison-36-compat.patch ];
# Necessary so it uses `gcc` instead of `ld` for linking.
# https://github.com/mruby/mruby/blob/35be8b252495d92ca811d76996f03c470ee33380/tasks/toolchains/gcc.rake#L25
@@ -14,14 +14,14 @@ let
in
with stdenv; mkDerivation rec {
pname = "nextpnr";
version = "2020.03.25";
version = "2020.06.12";
srcs = [
(fetchFromGitHub {
owner = "YosysHQ";
repo = "nextpnr";
rev = "a3ede0293a50c910e7d96319b2084d50f2501a6b";
sha256 = "0ikfjva4gqmlx6y7mjamg03ad7x9gnz32ahqv798ynd87svq10aq";
rev = "c9e7d1448eaa4644d18073316e30586f2cb1d75a";
sha256 = "13jyg9d8q9xs1gpb8mz315hcyi3npr4kbfi31x2laz4zmki6ibai";
name = "nextpnr";
})
(fetchFromGitHub {
+2 -2
View File
@@ -5,11 +5,11 @@
stdenv.mkDerivation rec {
pname = "nim";
version = "1.2.0";
version = "1.2.4";
src = fetchurl {
url = "https://nim-lang.org/download/${pname}-${version}.tar.xz";
sha256 = "0xf56xb42hc92h4xnvk72q4n3ysjbyhf0rg60lc84r9r6wx5i52f";
sha256 = "0dnn60slvp3ynlx3zhv3cjkanv8zglljxws0db8g0rdyz8r8zwgf";
};
enableParallelBuilding = true;
+2 -2
View File
@@ -1,6 +1,6 @@
import ./generic.nix {
major_version = "4";
minor_version = "11";
patch_version = "0+alpha2";
sha256 = "131ixp5kkgk9y42vrprhc2x0gpxhkapmdmb26pwkyl58vrbr8xqg";
patch_version = "0+beta1";
sha256 = "1xhkwprbnd3wp6bi3k74f42l1mff1ngn7gl4rgad9dk4ly0yzfdr";
}
+3 -3
View File
@@ -10,7 +10,7 @@
let
major = "11";
update = ".0.6";
update = ".0.7";
build = "ga";
openjdk = stdenv.mkDerivation rec {
@@ -19,7 +19,7 @@ let
src = fetchurl {
url = "http://hg.openjdk.java.net/jdk-updates/jdk${major}u/archive/jdk-${version}.tar.gz";
sha256 = "1w6n0cnz9izpjb3sc870q7a0jz85a6c7fiszymxin10cnsajkzir";
sha256 = "14daacng9ndxf4kmvsn7nracwfiwwmw5rha8rkk3723pfk9g8q7p";
};
nativeBuildInputs = [ pkgconfig autoconf ];
@@ -135,7 +135,7 @@ let
homepage = "http://openjdk.java.net/";
license = licenses.gpl2;
description = "The open-source Java Development Kit";
maintainers = with maintainers; [ edwtjo ];
maintainers = with maintainers; [ edwtjo asbachb ];
platforms = [ "i686-linux" "x86_64-linux" "aarch64-linux" "armv7l-linux" "armv6l-linux" ];
};
+2 -2
View File
@@ -6,12 +6,12 @@
stdenv.mkDerivation rec {
pname = "rgbds";
version = "0.3.10";
version = "0.4.0";
src = fetchFromGitHub {
owner = "rednex";
repo = "rgbds";
rev = "v${version}";
sha256 = "0752fbffxgxyf3jw2iij88l05dqhppgcxy7dvk82hp4wdg4cflpq";
sha256 = "15680964nlsa83nqgxk7knxajn98lddz2hg6jnn8ffmnms5wdam7";
};
nativeBuildInputs = [ bison flex pkg-config libpng ];
installFlags = [ "PREFIX=\${out}" ];
@@ -10,13 +10,13 @@ let
in
stdenv.mkDerivation rec {
pname = "souffle";
version = "1.7.1";
version = "2.0.0";
src = fetchFromGitHub {
owner = "souffle-lang";
repo = "souffle";
rev = version;
sha256 = "0px8kh5875q2iyza4ylpa6vxpy6qxg0qvn2idk1j6dcdf5pdryph";
sha256 = "1azn32x0xbbk8gagipb34qk3y1srm927j5d34w20isgjxir4xsnz";
};
nativeBuildInputs = [ autoreconfHook bison flex mcpp doxygen graphviz makeWrapper perl ];
+3 -3
View File
@@ -16,13 +16,13 @@
stdenv.mkDerivation rec {
pname = "yosys";
version = "2020.06.16";
version = "2020.06.19";
src = fetchFromGitHub {
owner = "YosysHQ";
repo = "yosys";
rev = "39ba90a8b84d740b670a9f1df5148b824d441c63";
sha256 = "1ncscbhyq4f07d28l32j37y5d84vyqxfx0fbzhb7nzfhplk8hh0s";
rev = "338ecbe02f8bb3cc4d69de1445c7f398a814b4e4";
sha256 = "0j5jwyxrq8rmwpyyidid6yp6g5bq7jwnhmn2ycj82kdj787p9vvs";
};
enableParallelBuilding = true;