Merge remote-tracking branch 'upstream/staging-next' into down-integrate-staging

This commit is contained in:
Luke Granger-Brown
2021-04-12 18:49:01 +00:00
377 changed files with 13801 additions and 5789 deletions
+2 -2
View File
@@ -2,12 +2,12 @@
stdenv.mkDerivation rec {
pname = "ciao";
version = "1.19.0";
version = "1.20.0";
src = fetchFromGitHub {
owner = "ciao-lang";
repo = "ciao";
rev = "v${version}";
sha256 = "03qzcb4ivgkiwdpw7a94dn74xqyxjwz5ilrr53rcblsh5ng299jp";
sha256 = "sha256-Xp0ZQRi7mOO2WN/2hO6zgobDG3S0BEV+SgsaduBZ30U=";
};
configurePhase = ''
@@ -124,11 +124,11 @@ rec {
};
sdk_5_0 = buildNetCoreSdk {
version = "5.0.100";
version = "5.0.200";
sha512 = {
x86_64-linux = "bec37bfb327c45cc01fd843ef93b22b556f753b04724bba501622df124e7e144c303a4d7e931b5dbadbd4f7b39e5adb8f601cb6293e317ad46d8fe7d52aa9a09";
aarch64-linux = "5fceac0a9468097d66af25516da597eb4836b294ed1647ba272ade5c8faea2ed977a95d9ce720c44d71607fa3a0cf9de55afe0e66c0c89ab1cc6736945978204";
x86_64-darwin = "69ccc7c686ac06f6c658d118f59cf1a0e7284b4570375dd88d3e3043098e311745922301f2650d159624d09c4d39a1f3cbdd5daee0e408eef915de839e3bce8f";
x86_64-linux = "0g7zcmkcdwc11h42m6hq8d0w55nnvnsmj3dc16829q55cp7l7kggmjljnd9slx7r7nrsyi7yy8brwh8n4kfi5998pdyb09fzhq5w60d";
aarch64-linux = "2zy6nxiw313g2sbmnkg76r64llbk2w2wcsa6frq535zbviw52zf163jvw2687rpiw4szdizf337l3b0qa0396abw5dhq2czqlxjyjv8";
x86_64-darwin = "2p0yxplafhi5ks38pq8nyi43kpv4l4npa718rvcvl57qs76j0dqlk1s4wdw7msx8g7xxy1aal47zy9rxvlypmgwx4dnp339cmbd6mf6";
};
};
}
+2 -2
View File
@@ -37,13 +37,13 @@ buildType = if stdenv.isDarwin then
edk2 = buildStdenv.mkDerivation {
pname = "edk2";
version = "202011";
version = "202102";
# submodules
src = fetchgit {
url = "https://github.com/tianocore/edk2";
rev = "edk2-stable${edk2.version}";
sha256 = "1fvlz1z075jr6smq9qa0asy6fxga1gljcfd0764ypzy1mw963c9s";
sha256 = "1292hfbqz4wyikdf6glqdy80n9zpy54gnfngqnyv05908hww6h82";
};
buildInputs = [ libuuid pythonEnv ];
+5 -5
View File
@@ -39,12 +39,12 @@ in
stdenv.mkDerivation rec {
pname = "go2-unstable";
version = "2020-12-08";
version = "2021-03-22";
src = fetchgit {
url = https://go.googlesource.com/go;
rev = "abe4d3dce12252ed09216eaa67b7dab8c8922537";
sha256 = "sha256:1d46w8426148q81fvrifx9glgn402jvf29n44i8j8g1pvzkfckh6";
rev = "a4b4db4cdeefb7b4ea5adb09073dd123846b3588";
sha256 = "sha256:1wqqnywcrfazydi5wcg04s6zgsfh4m879vxfgacgrnigd23ynhvr";
};
# perl is used for testing go vet
@@ -154,7 +154,7 @@ stdenv.mkDerivation rec {
./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-external-network-tests-1.16.patch
./skip-nohup-tests.patch
./skip-cgo-tests-1.15.patch
] ++ [
@@ -188,7 +188,7 @@ stdenv.mkDerivation rec {
null;
GOARM = toString (lib.intersectLists [(stdenv.hostPlatform.parsed.cpu.version or "")] ["5" "6" "7"]);
GO386 = 387; # from Arch: don't assume sse2 on i686
GO386 = "softfloat"; # from Arch: don't assume sse2 on i686
CGO_ENABLED = 1;
# Hopefully avoids test timeouts on Hydra
GO_TEST_TIMEOUT_SCALE = 3;
@@ -1,8 +1,8 @@
diff --git a/src/crypto/x509/root_darwin_amd64.go b/src/crypto/x509/root_darwin_amd64.go
index ce88de025e..258ecc45d1 100644
--- a/src/crypto/x509/root_darwin_amd64.go
+++ b/src/crypto/x509/root_darwin_amd64.go
@@ -10,6 +10,7 @@ import (
diff --git a/src/crypto/x509/root_darwin.go b/src/crypto/x509/root_darwin.go
index 05593bb105..a6a11eeec1 100644
--- a/src/crypto/x509/root_darwin.go
+++ b/src/crypto/x509/root_darwin.go
@@ -11,6 +11,7 @@ import (
"bytes"
macOS "crypto/x509/internal/macos"
"fmt"
@@ -10,9 +10,9 @@ index ce88de025e..258ecc45d1 100644
"os"
"strings"
)
@@ -25,6 +26,14 @@ func (c *Certificate) systemVerify(opts *VerifyOptions) (chains [][]*Certificate
var loadSystemRootsWithCgo func() (*CertPool, error)
@@ -22,6 +23,14 @@ func (c *Certificate) systemVerify(opts *VerifyOptions) (chains [][]*Certificate
}
func loadSystemRoots() (*CertPool, error) {
+ if file := os.Getenv("NIX_SSL_CERT_FILE"); file != "" {
+ data, err := ioutil.ReadFile(file)
@@ -24,13 +24,21 @@ index ce88de025e..258ecc45d1 100644
+ }
var trustedRoots []*Certificate
untrustedRoots := make(map[string]bool)
diff --git a/src/crypto/x509/root_unix.go b/src/crypto/x509/root_unix.go
index b48e618a65..195c1ff25a 100644
index dede825edd..ffb3caf4a4 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
@@ -9,6 +9,7 @@ package x509
import (
"io/fs"
+ "io/ioutil"
"os"
"path/filepath"
"strings"
@@ -32,6 +33,13 @@ func (c *Certificate) systemVerify(opts *VerifyOptions) (chains [][]*Certificate
func loadSystemRoots() (*CertPool, error) {
roots := NewCertPool()
+ if file := os.Getenv("NIX_SSL_CERT_FILE"); file != "" {
@@ -40,6 +48,7 @@ index b48e618a65..195c1ff25a 100644
+ return roots, nil
+ }
+ }
files := certFiles
if f := os.Getenv(certFileEnv); f != "" {
@@ -0,0 +1,41 @@
{ lib, stdenv, fetchzip, makeWrapper, mono }:
stdenv.mkDerivation rec {
pname = "juniper";
version = "2.3.0";
src = fetchzip {
url = "http://www.juniper-lang.org/installers/Juniper-${version}.zip";
sha256 = "10am6fribyl7742yk6ag0da4rld924jphxja30gynzqysly8j0vg";
stripRoot = false;
};
doCheck = true;
nativeBuildInputs = [ makeWrapper ];
buildInputs = [ mono ];
installPhase = ''
runHook preInstall
rm juniper # original script with regular Linux assumptions
mkdir -p $out/bin
cp -r ./* $out
makeWrapper ${mono}/bin/mono $out/bin/juniper \
--add-flags "$out/Juniper.exe \$@"
runHook postInstall
'';
meta = with lib; {
description = "Functional reactive programming language for programming Arduino";
longDescription = ''
Juniper targets Arduino and supports many features typical of functional programming languages, including algebraic data types, tuples, records,
pattern matching, immutable data structures, parametric polymorphic functions, and anonymous functions (lambdas).
Some imperative programming concepts are also present in Juniper, such as for, while and do while loops, the ability to mark variables as mutable, and mutable references.
'';
homepage = "https://www.juniper-lang.org/";
license = licenses.mit;
maintainers = with maintainers; [ wunderbrick ];
platforms = platforms.linux;
};
}
+65
View File
@@ -0,0 +1,65 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p dotnet-sdk_5 -p jq -p xmlstarlet -p curl
set -euo pipefail
cat << EOL
{ fetchurl }: [
EOL
tmpdir="$(mktemp -d -p "$(pwd)")" # must be under source root
trap 'rm -rf "$tmpdir"' EXIT
HOME="$tmpdir" dotnet msbuild -t:restore -p:Configuration=Release -p:RestorePackagesPath="$tmpdir"/.nuget/packages \
-p:RestoreNoCache=true -p:RestoreForce=true \
src/NuGet/Microsoft.Net.Compilers.Toolset/Microsoft.Net.Compilers.Toolset.Package.csproj >&2
mapfile -t repos < <(
xmlstarlet sel -t -v 'configuration/packageSources/add/@value' -n NuGet.config "$tmpdir"/.nuget/NuGet/NuGet.Config |
while IFS= read index
do
curl --compressed -fsL "$index" | \
jq -r '.resources[] | select(."@type" == "PackageBaseAddress/3.0.0")."@id"'
done
)
cd "$tmpdir/.nuget/packages"
for package in *
do
cd "$package"
for version in *
do
found=false
for repo in "${repos[@]}"
do
url="$repo$package/$version/$package.$version.nupkg"
if curl -fsL "$url" -o /dev/null
then
found=true
break
fi
done
if ! $found
then
echo "couldn't find $package $version" >&2
exit 1
fi
sha256=$(nix-prefetch-url "$url" 2>/dev/null)
cat << EOL
{
name = "$package";
version = "$version";
src = fetchurl {
url = "$url";
sha256 = "$sha256";
};
}
EOL
done
cd ..
done
cat << EOL
]
EOL
@@ -0,0 +1,121 @@
{ lib, stdenv
, fetchFromGitHub
, fetchurl
, mono
, dotnet-sdk_5
, makeWrapper
, dotnetPackages
, unzip
, writeText
, symlinkJoin
}:
let
deps = map (package: stdenv.mkDerivation (with package; {
pname = name;
inherit version src;
buildInputs = [ unzip ];
unpackPhase = ''
unzip -o $src
chmod -R u+r .
function traverseRename () {
for e in *
do
t="$(echo "$e" | sed -e "s/%20/\ /g" -e "s/%2B/+/g")"
[ "$t" != "$e" ] && mv -vn "$e" "$t"
if [ -d "$t" ]
then
cd "$t"
traverseRename
cd ..
fi
done
}
traverseRename
'';
installPhase = ''
runHook preInstall
package=$out/lib/dotnet/${name}/${version}
mkdir -p $package
cp -r . $package
echo "{}" > $package/.nupkg.metadata
runHook postInstall
'';
dontFixup = true;
}))
(import ./deps.nix { inherit fetchurl; });
nuget-config = writeText "NuGet.Config" ''
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<clear />
</packageSources>
</configuration>
'';
packages = symlinkJoin { name = "roslyn-deps"; paths = deps; };
packageVersion = "3.10.0";
in stdenv.mkDerivation rec {
pname = "roslyn";
version = "${packageVersion}-1.21102.26";
src = fetchFromGitHub {
owner = "dotnet";
repo = "roslyn";
rev = "v${version}";
sha256 = "0yf4f4vpqn9lixr37lkp29m2mk51xcm3ysv2ag332xn6zm5zpm2b";
};
nativeBuildInputs = [ makeWrapper dotnet-sdk_5 unzip ];
buildPhase = ''
runHook preBuild
rm NuGet.config
install -m644 -D ${nuget-config} fake-home/.nuget/NuGet/NuGet.Config
ln -s ${packages}/lib/dotnet fake-home/.nuget/packages
HOME=$(pwd)/fake-home dotnet add \
src/NuGet/Microsoft.Net.Compilers.Toolset/Microsoft.Net.Compilers.Toolset.Package.csproj \
package -n -v 5.10.0-preview.2.7169 nuget.build.tasks.pack
HOME=$(pwd)/fake-home dotnet msbuild -r -v:m -t:pack \
-p:Configuration=Release \
-p:RepositoryUrl="${meta.homepage}" \
-p:RepositoryCommit="v${version}" \
src/NuGet/Microsoft.Net.Compilers.Toolset/Microsoft.Net.Compilers.Toolset.Package.csproj
runHook postBuild
'';
installPhase = ''
pkg=$out/lib/dotnet/microsoft.net.compilers.toolset/${packageVersion}
mkdir -p $out/bin $pkg
unzip -q artifacts/packages/Release/Shipping/Microsoft.Net.Compilers.Toolset.${packageVersion}-dev.nupkg \
-d $pkg
# nupkg has 0 permissions for a bunch of things
chmod -R +rw $pkg
makeWrapper ${mono}/bin/mono $out/bin/csc \
--add-flags "$pkg/tasks/net472/csc.exe"
makeWrapper ${mono}/bin/mono $out/bin/vbs \
--add-flags "$pkg/tasks/net472/vbs.exe"
'';
meta = with lib; {
description = ".NET C# and Visual Basic compiler";
homepage = "https://github.com/dotnet/roslyn";
platforms = platforms.linux;
license = licenses.mit;
maintainers = with maintainers; [ corngood ];
};
}
File diff suppressed because it is too large Load Diff