Merge staging-next into staging

This commit is contained in:
Frederik Rietdijk
2020-01-28 10:48:36 +01:00
887 changed files with 18829 additions and 16536 deletions

View File

@@ -35,11 +35,12 @@ stdenv.mkDerivation {
'';
buildPhase = ''
node scripts/ninja.js build
# This is an unfortunate name, but it's actually how to build a release
# binary for BuckleScript
node scripts/install.js
'';
installPhase = ''
node scripts/install.js
mkdir -p $out/bin
cp -rf jscomp lib vendor odoc_gen native $out
cp bsconfig.json package.json $out

View File

@@ -0,0 +1,52 @@
{ stdenv
, fetchzip
, pkg-config
, autoPatchelfHook
, installShellFiles
, ncurses5
, ocl-icd
, zlib
}:
stdenv.mkDerivation rec {
pname = "computecpp";
version = "1.2.0";
src = fetchzip {
url = "https://computecpp.codeplay.com/downloads/computecpp-ce/${version}/ubuntu-16.04-64bit.tar.gz";
sha256 = "191kwvzxfg1sbaq6aw6f84chi7bhsibb2a63zsyz3gz8m0c0syr5";
stripRoot = true;
};
dontStrip = true;
buildInputs = [ stdenv.cc.cc.lib ncurses5 ocl-icd zlib ];
nativeBuildInputs = [ autoPatchelfHook pkg-config installShellFiles ];
installPhase = ''
runHook preInstall
find ./lib -type f -exec install -D -m 0755 {} -t $out/lib \;
find ./bin -type l -exec install -D -m 0755 {} -t $out/bin \;
find ./bin -type f -exec install -D -m 0755 {} -t $out/bin \;
find ./doc -type f -exec install -D -m 0644 {} -t $out/doc \;
find ./include -type f -exec install -D -m 0644 {} -t $out/include \;
runHook postInstall
'';
passthru = {
isClang = true;
} // stdenv.lib.optionalAttrs (stdenv.targetPlatform.isLinux || (stdenv.cc.isGNU && stdenv.cc.cc ? gcc)) {
gcc = if stdenv.cc.isGNU then stdenv.cc.cc else stdenv.cc.cc.gcc;
};
meta = with stdenv.lib; {
description =
"Accelerate Complex C++ Applications on Heterogeneous Compute Systems using Open Standards";
homepage = https://www.codeplay.com/products/computesuite/computecpp;
license = licenses.unfree;
maintainers = with maintainers; [ davidtwco ];
platforms = [ "x86_64-linux" ];
};
}

View File

@@ -0,0 +1,67 @@
{ type
, version
, sha512
}:
assert builtins.elem type [ "aspnetcore" "netcore" "sdk"];
{ stdenv
, fetchurl
, libunwind
, openssl
, icu
, libuuid
, zlib
, curl
}:
let pname = if type == "aspnetcore" then "aspnetcore-runtime" else if type == "netcore" then "dotnet-runtime" else "dotnet-sdk";
urls = {
aspnetcore = "https://dotnetcli.azureedge.net/dotnet/aspnetcore/Runtime/${version}/${pname}-${version}-linux-x64.tar.gz";
netcore = "https://dotnetcli.azureedge.net/dotnet/Runtime/${version}/${pname}-${version}-linux-x64.tar.gz";
sdk = "https://dotnetcli.azureedge.net/dotnet/Sdk/${version}/${pname}-${version}-linux-x64.tar.gz";
};
descriptions = {
aspnetcore = "ASP .NET Core runtime ${version}";
netcore = ".NET Core runtime ${version}";
sdk = ".NET SDK ${version}";
};
in stdenv.mkDerivation rec {
inherit pname version;
rpath = stdenv.lib.makeLibraryPath [ stdenv.cc.cc libunwind libuuid icu openssl zlib curl ];
src = fetchurl {
url = builtins.getAttr type urls;
inherit sha512;
};
sourceRoot = ".";
dontPatchELF = true;
installPhase = ''
runHook preInstall
mkdir -p $out/bin
cp -r ./ $out
ln -s $out/dotnet $out/bin/dotnet
runHook postInstall
'';
postFixup = ''
patchelf --set-interpreter "${stdenv.cc.bintools.dynamicLinker}" $out/dotnet
patchelf --set-rpath "${rpath}" $out/dotnet
find $out -type f -name "*.so" -exec patchelf --set-rpath '$ORIGIN:${rpath}' {} \;
find $out -type f -name "apphost" -exec patchelf --set-interpreter "${stdenv.cc.bintools.dynamicLinker}" --set-rpath '$ORIGIN:${rpath}' {} \;
'';
doInstallCheck = true;
installCheckPhase = ''
$out/bin/dotnet --info
'';
meta = with stdenv.lib; {
homepage = https://dotnet.github.io/;
description = builtins.getAttr type descriptions;
platforms = [ "x86_64-linux" ];
maintainers = with maintainers; [ kuznero ];
license = licenses.mit;
};
}

View File

@@ -0,0 +1,20 @@
packages:
{ buildEnv, lib }:
let cli = builtins.head packages;
in
assert lib.assertMsg ((builtins.length packages) != 0)
''You must include at least one package, e.g
`with dotnetCorePackages; combinePackages {
packages = [ sdk_3_0 aspnetcore_2_1 ];
};`'' ;
buildEnv {
name = "dotnet-core-combined";
paths = packages;
pathsToLink = [ "/host" "/packs" "/sdk" "/shared" "/templates" ];
ignoreCollisions = true;
postBuild = ''
cp ${cli}/dotnet $out/dotnet
mkdir $out/bin
ln -s $out/dotnet $out/bin/
'';
}

View File

@@ -0,0 +1,68 @@
/*
How to combine packages for use in development:
dotnetCombined = with dotnetCorePackages; combinePackages [ sdk_3_1 sdk_2_2 sdk_3_0 sdk aspnetcore_2_1 ];
*/
{ callPackage }:
let
buildDotnet = attrs: callPackage (import ./buildDotnet.nix attrs) {};
buildAspNetCore = attrs: buildDotnet (attrs // { type = "aspnetcore"; } );
buildNetCore = attrs: buildDotnet (attrs // { type = "netcore"; } );
buildNetCoreSdk = attrs: buildDotnet (attrs // { type = "sdk"; } );
in rec {
combinePackages = attrs: callPackage (import ./combinePackages.nix attrs) {};
# v2.1.15 (LTS)
aspnetcore_2_1 = buildAspNetCore {
version = "2.1.15";
sha512 = "a557f175cca92bb1dd66cf638ff84fe85750fab67028bd4472748b22ef0591f5f3812446a3dbe21c3d1be28c47d459d854d690dbace1b95bc7136b248af87334";
};
netcore_2_1 = buildNetCore {
version = "2.1.15";
sha512 = "cfd7f7caea7e896dd4d68a05c827c86f38595f24e854edb3f934715ee1268e2623f17ff768215e465fe596cd474497384be2b1381f04ddd6d555665a341f65f6";
};
sdk_2_1 = buildNetCoreSdk {
version = "2.1.803";
sha512 = "57d48d6ca1bd92ac348dc05220d984811c0cf005774d7afdfbbf125a842acb0a26572146ed25a7eb26f4e0404fe840b70d1e7ec1fb7c9a5c6cfe81fefc41b363";
};
# v2.2
sdk_2_2 = throw "Dotnet SDK 2.2 is EOL, please use 3.1";
# v3.0.2 (Maintenance)
aspnetcore_3_0 = buildAspNetCore {
version = "3.0.2";
sha512 = "84dcc2a2a9e43afbc166771153d85b19cb09f964c85c787d77b362fd1d9e076345ae153305fa9040999846a56b69041eb89282804587478b926179d2613d259d";
};
netcore_3_0 = buildNetCore {
version = "3.0.2";
sha512 = "c8f0e4eb220fa896c4a803a8d9d0c704ae7b8383801a977036f3089b1d779159f5a2d9293dc11ff5f4f6c76febc6f70f6cfcdff0debd3243cad5eb635f853d45";
};
sdk_3_0 = buildNetCoreSdk {
version = "3.0.102";
sha512 = "77bc287d9c20630976ac4c0736192ba4899154c9e7cc5b87bc9d94d5d8abafdd832cfe8f385b6ba584c702d9261566109df15ab46b0d62bd218d950d3b47893e";
};
# v3.1.1 (LTS)
aspnetcore_3_1 = buildAspNetCore {
version = "3.1.1";
sha512 = "cc27828cacbc783ef83cc1378078e14ac558aec30726b36c4f154fad0d08ff011e7e1dfc17bc851926ea3b0da9c7d71496af14ee13184bdf503856eca30a89ae";
};
netcore_3_1 = buildNetCore {
version = "3.1.1";
sha512 = "991a89ac7b52d3bf6c00359ce94c5a3f7488cd3d9e4663ba0575e1a5d8214c5fcc459e2cb923c369c2cdb789a96f0b1dfb5c5aae1a04df6e7f1f365122072611";
};
sdk_3_1 = buildNetCoreSdk {
version = "3.1.101";
sha512 = "eeee75323be762c329176d5856ec2ecfd16f06607965614df006730ed648a5b5d12ac7fd1942fe37cfc97e3013e796ef278e7c7bc4f32b8680585c4884a8a6a1";
};
}

View File

@@ -1,54 +0,0 @@
{ stdenv
, fetchurl
, libunwind
, openssl
, icu
, libuuid
, zlib
, curl
}:
let
rpath = stdenv.lib.makeLibraryPath [ stdenv.cc.cc libunwind libuuid icu openssl zlib curl ];
in
stdenv.mkDerivation rec {
version = "2.2.401";
netCoreVersion = "2.2.6";
pname = "dotnet-sdk";
src = fetchurl {
url = "https://dotnetcli.azureedge.net/dotnet/Sdk/${version}/${pname}-${version}-linux-x64.tar.gz";
# use sha512 from the download page
sha512 = "05w3zk7bcd8sv3k4kplf20j906and2006g1fggq7y6kaxrlhdnpd6jhy6idm8v5bz48wfxga5b4yys9qx0fp3p8yl7wi67qljpzrq88";
};
sourceRoot = ".";
buildPhase = ''
runHook preBuild
patchelf --set-interpreter "${stdenv.cc.bintools.dynamicLinker}" ./dotnet
patchelf --set-rpath "${rpath}" ./dotnet
find -type f -name "*.so" -exec patchelf --set-rpath '$ORIGIN:${rpath}' {} \;
echo -n "dotnet-sdk version: "
./dotnet --version
runHook postBuild
'';
dontPatchELF = true;
installPhase = ''
runHook preInstall
mkdir -p $out/bin
cp -r ./ $out
ln -s $out/dotnet $out/bin/dotnet
runHook postInstall
'';
meta = with stdenv.lib; {
homepage = https://dotnet.github.io/;
description = ".NET Core SDK ${version} with .NET Core ${netCoreVersion}";
platforms = [ "x86_64-linux" ];
maintainers = with maintainers; [ kuznero ];
license = licenses.mit;
};
}

View File

@@ -0,0 +1,39 @@
{ stdenv, fetchzip, fpc , lang ? "en" } :
assert stdenv.lib.assertOneOf "lang" lang ["cn" "de" "en" "fr" "tr"];
stdenv.mkDerivation rec {
pname = "gavrasm";
version = "4.5";
src = fetchzip {
url ="http://www.avr-asm-tutorial.net/gavrasm/v45/gavrasm_sources_lin_45.zip";
sha256 = "1f5g5ran74pznwj4g7vfqh2qhymaj3p26f2lvzbmlwq447iid52c";
stripRoot=false;
};
nativeBuildInputs = [ fpc ];
configurePhase = ''
cp gavrlang_${lang}.pas gavrlang.pas
'';
buildPhase = ''
fpc gavrasm.pas
'';
installPhase = ''
mkdir -p $out/bin
cp gavrasm $out/bin
mkdir -p $out/doc
cp instr.asm $out/doc
cp ReadMe.Txt $out/doc
cp LiesMich.Txt $out/doc
'';
meta = with stdenv.lib; {
homepage = http://www.avr-asm-tutorial.net/gavrasm;
description = "AVR Assembler for ATMEL AVR-Processors";
license = licenses.unfree;
maintainers = with maintainers; [ mafo ];
platforms = platforms.linux;
};
}

View File

@@ -86,12 +86,12 @@ let
in
stdenv.mkDerivation (rec {
version = "8.8.1.20191211";
version = "8.8.2";
name = "${targetPrefix}ghc-${version}";
src = fetchurl {
url = "https://downloads.haskell.org/ghc/8.8.2-rc1/ghc-${version}-src.tar.xz";
sha256 = "1gl4fzakjbhd94v1saxmr9sfzgk22m1b95jq51rxm93b2g4cixl4";
url = "https://downloads.haskell.org/ghc/8.8.2/ghc-${version}-src.tar.xz";
sha256 = "02qa6wgjpxgakg7hv4zfdlrx9k7zxa5i02wnr6y9fsv8j16sbkh1";
};
enableParallelBuilding = true;

View File

@@ -1,133 +1,167 @@
{ stdenv, requireFile, perl, unzip, glibc, zlib, gdk-pixbuf, xorg, glib, fontconfig, freetype, cairo, pango, gtk3, gtk2, ffmpeg, libGL, atk, alsaLib, libav_0_8, setJavaClassPath }:
{ stdenv, requireFile, perl, unzip, glibc, zlib, bzip2, gdk-pixbuf, xorg, glib, fontconfig, freetype, cairo, pango, gtk3, gtk2, ffmpeg, libGL, atk, alsaLib, libav_0_8, setJavaClassPath }:
let
graalvm8-ee = stdenv.mkDerivation rec {
pname = "graalvm8-ee";
version = "19.2.0";
srcs = [
(requireFile {
name = "graalvm-ee-linux-amd64-${version}.tar.gz";
sha256 = "1j56lyids48zyjhxk8xl4niy8hk6qzi1aj7c55yfh62id8v6cpbw";
url = "https://www.oracle.com/technetwork/graalvm/downloads/index.html";
})
(requireFile {
name = "native-image-installable-svm-svmee-linux-amd64-${version}.jar";
sha256 = "07c25l27msxccqrbz4bknz0sxsl0z2k8990cdfkbrgxvhxspfnnm";
url = "https://www.oracle.com/technetwork/graalvm/downloads/index.html";
})
(requireFile {
name = "python-installable-svm-svmee-linux-amd64-${version}.jar";
sha256 = "1c7kpz56w9p418li97ymixdwywscr85vhn7jkzxq71bj7ia7pxwz";
url = "https://www.oracle.com/technetwork/graalvm/downloads/index.html";
})
(requireFile {
name = "ruby-installable-svm-svmee-linux-amd64-${version}.jar";
sha256 = "13jfm5qpxqxz7f5n9yyvqrv1vwigifrjwk3hssp23maski2ssys1";
url = "https://www.oracle.com/technetwork/graalvm/downloads/index.html";
})
];
nativeBuildInputs = [ unzip perl ];
unpackPhase = ''
unpack_jar() {
jar=$1
unzip $jar -d $out
perl -ne 'use File::Path qw(make_path);
use File::Basename qw(dirname);
if (/^(.+) = (.+)$/) {
make_path dirname("$ENV{out}/$1");
system "ln -s $2 $ENV{out}/$1";
}' $out/META-INF/symlinks
perl -ne 'if (/^(.+) = ([r-])([w-])([x-])([r-])([w-])([x-])([r-])([w-])([x-])$/) {
my $mode = ($2 eq 'r' ? 0400 : 0) + ($3 eq 'w' ? 0200 : 0) + ($4 eq 'x' ? 0100 : 0) +
($5 eq 'r' ? 0040 : 0) + ($6 eq 'w' ? 0020 : 0) + ($7 eq 'x' ? 0010 : 0) +
($8 eq 'r' ? 0004 : 0) + ($9 eq 'w' ? 0002 : 0) + ($10 eq 'x' ? 0001 : 0);
chmod $mode, "$ENV{out}/$1";
}' $out/META-INF/permissions
rm -rf $out/META-INF
}
common = javaVersion:
let
graalvmXXX-ee = stdenv.mkDerivation rec {
pname = "graalvm${javaVersion}-ee";
version = "19.3.1";
srcs = [
(requireFile {
name = "graalvm-ee-java${javaVersion}-linux-amd64-${version}.tar.gz";
sha256 = { "8" = "b4833f1996e0e271d8abde1d0af3420e2bc6797624515a3720bdbedfa99b1e82";
"11" = "a965abb093934712f31cd2183f3f0d68ed1410a50365489f665a30e5382908dc";
}.${javaVersion};
url = "https://www.oracle.com/technetwork/graalvm/downloads/index.html";
})
(requireFile {
name = "native-image-installable-svm-svmee-java${javaVersion}-linux-amd64-${version}.jar";
sha256 = { "8" = "fe3447dd60fbe3da39c650654594796873cd6bc9995d1430a421363e71d41702";
"11" = "53357b7facb36c7b38857a2369471d0e869c0ff45555aa8baf2ab84de0c4782c";
}.${javaVersion};
url = "https://www.oracle.com/technetwork/graalvm/downloads/index.html";
})
(requireFile {
name = "python-installable-svm-svmee-java${javaVersion}-linux-amd64-${version}.jar";
sha256 = { "8" = "003e9574e18656a82626aa5d310fac31979abc04955587d68ff977808829a91d";
"11" = "65558e14a25802001f3c79571a09170fa11564de34df6987724163416d3889bf";
}.${javaVersion};
url = "https://www.oracle.com/technetwork/graalvm/downloads/index.html";
})
(requireFile {
name = "ruby-installable-svm-svmee-java${javaVersion}-linux-amd64-${version}.jar";
sha256 = { "8" = "45abe74d10e09680f1e40101f93def5615e65f29ced328054a40c8517e054290";
"11" = "3d4de372b78b68dbd966b36489d1c6d84a326990e91a0314fb77404eed0741ad";
}.${javaVersion};
url = "https://www.oracle.com/technetwork/graalvm/downloads/index.html";
})
];
nativeBuildInputs = [ unzip perl ];
unpackPhase = ''
unpack_jar() {
jar=$1
unzip $jar -d $out
perl -ne 'use File::Path qw(make_path);
use File::Basename qw(dirname);
if (/^(.+) = (.+)$/) {
make_path dirname("$ENV{out}/$1");
system "ln -s $2 $ENV{out}/$1";
}' $out/META-INF/symlinks
perl -ne 'if (/^(.+) = ([r-])([w-])([x-])([r-])([w-])([x-])([r-])([w-])([x-])$/) {
my $mode = ($2 eq 'r' ? 0400 : 0) + ($3 eq 'w' ? 0200 : 0) + ($4 eq 'x' ? 0100 : 0) +
($5 eq 'r' ? 0040 : 0) + ($6 eq 'w' ? 0020 : 0) + ($7 eq 'x' ? 0010 : 0) +
($8 eq 'r' ? 0004 : 0) + ($9 eq 'w' ? 0002 : 0) + ($10 eq 'x' ? 0001 : 0);
chmod $mode, "$ENV{out}/$1";
}' $out/META-INF/permissions
rm -rf $out/META-INF
}
mkdir -p $out
arr=($srcs)
tar xf ''${arr[0]} -C $out --strip-components=1
unpack_jar ''${arr[1]}
unpack_jar ''${arr[2]}
unpack_jar ''${arr[3]}
'';
mkdir -p $out
arr=($srcs)
tar xf ''${arr[0]} -C $out --strip-components=1
unpack_jar ''${arr[1]}
unpack_jar ''${arr[2]}
unpack_jar ''${arr[3]}
'';
installPhase = ''
# BUG workaround http://mail.openjdk.java.net/pipermail/graal-dev/2017-December/005141.html
substituteInPlace $out/jre/lib/security/java.security \
--replace file:/dev/random file:/dev/./urandom \
--replace NativePRNGBlocking SHA1PRNG
installPhase = {
"8" = ''
# BUG workaround http://mail.openjdk.java.net/pipermail/graal-dev/2017-December/005141.html
substituteInPlace $out/jre/lib/security/java.security \
--replace file:/dev/random file:/dev/./urandom \
--replace NativePRNGBlocking SHA1PRNG
# provide libraries needed for static compilation
for f in ${glibc}/lib/* ${glibc.static}/lib/* ${zlib.static}/lib/*; do
ln -s $f $out/jre/lib/svm/clibraries/linux-amd64/$(basename $f)
done
'';
# provide libraries needed for static compilation
for f in ${glibc}/lib/* ${glibc.static}/lib/* ${zlib.static}/lib/*; do
ln -s $f $out/jre/lib/svm/clibraries/linux-amd64/$(basename $f)
done
dontStrip = true;
# allow using external truffle-api.jar and languages not included in the distrubution
rm $out/jre/lib/jvmci/parentClassLoader.classpath
'';
"11" = ''
# BUG workaround http://mail.openjdk.java.net/pipermail/graal-dev/2017-December/005141.html
substituteInPlace $out/conf/security/java.security \
--replace file:/dev/random file:/dev/./urandom \
--replace NativePRNGBlocking SHA1PRNG
preFixup = ''
# Set JAVA_HOME automatically.
mkdir -p $out/nix-support
cat <<EOF > $out/nix-support/setup-hook
if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out; fi
EOF
'';
# provide libraries needed for static compilation
for f in ${glibc}/lib/* ${glibc.static}/lib/* ${zlib.static}/lib/*; do
ln -s $f $out/lib/svm/clibraries/linux-amd64/$(basename $f)
done
'';
}.${javaVersion};
postFixup = ''
rpath="$out/jre/lib/amd64/jli:$out/jre/lib/amd64/server:$out/jre/lib/amd64:${
stdenv.lib.strings.makeLibraryPath [ glibc xorg.libXxf86vm xorg.libX11 xorg.libXext xorg.libXtst xorg.libXi xorg.libXrender
glib zlib alsaLib fontconfig freetype pango gtk3 gtk2 cairo gdk-pixbuf atk ffmpeg libGL ]}"
dontStrip = true;
for f in $(find $out -type f -perm -0100); do
patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" "$f" || true
patchelf --set-rpath "$rpath" "$f" || true
done
# copy-paste openjdk's preFixup
preFixup = ''
# Set JAVA_HOME automatically.
mkdir -p $out/nix-support
cat <<EOF > $out/nix-support/setup-hook
if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out; fi
EOF
'';
for f in $(find $out -type f -perm -0100); do
if ldd "$f" | fgrep 'not found'; then echo "in file $f"; fi
done
'';
postFixup = ''
rpath="${ { "8" = "$out/jre/lib/amd64/jli:$out/jre/lib/amd64/server:$out/jre/lib/amd64";
"11" = "$out/lib/jli:$out/lib/server:$out/lib";
}.${javaVersion}
}:${
stdenv.lib.strings.makeLibraryPath [ glibc xorg.libXxf86vm xorg.libX11 xorg.libXext xorg.libXtst xorg.libXi xorg.libXrender
glib zlib bzip2 alsaLib fontconfig freetype pango gtk3 gtk2 cairo gdk-pixbuf atk ffmpeg libGL ]}"
propagatedBuildInputs = [ setJavaClassPath zlib ]; # $out/bin/native-image needs zlib to build native executables
doInstallCheck = true;
installCheckPhase = ''
echo ${stdenv.lib.escapeShellArg ''
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World");
}
}
''} > HelloWorld.java
$out/bin/javac HelloWorld.java
for f in $(find $out -type f -perm -0100); do
patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" "$f" || true
patchelf --set-rpath "$rpath" "$f" || true
done
# run on JVM with Graal Compiler
$out/bin/java -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:+UseJVMCICompiler HelloWorld
$out/bin/java -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:+UseJVMCICompiler HelloWorld | fgrep 'Hello World'
for f in $(find $out -type f -perm -0100); do
if ldd "$f" | fgrep 'not found'; then echo "in file $f"; fi
done
'';
# Ahead-Of-Time compilation
$out/bin/native-image --no-server HelloWorld
./helloworld
./helloworld | fgrep 'Hello World'
propagatedBuildInputs = [ setJavaClassPath zlib ]; # $out/bin/native-image needs zlib to build native executables
# Ahead-Of-Time compilation with --static
$out/bin/native-image --no-server --static HelloWorld
./helloworld
./helloworld | fgrep 'Hello World'
'';
doInstallCheck = true;
installCheckPhase = ''
echo ${stdenv.lib.escapeShellArg ''
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World");
}
}
''} > HelloWorld.java
$out/bin/javac HelloWorld.java
passthru.home = graalvm8-ee;
# run on JVM with Graal Compiler
$out/bin/java -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:+UseJVMCICompiler HelloWorld
$out/bin/java -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:+UseJVMCICompiler HelloWorld | fgrep 'Hello World'
meta = with stdenv.lib; {
homepage = https://www.graalvm.org/;
description = "High-Performance Polyglot VM";
license = licenses.unfree;
maintainers = with maintainers; [ volth hlolli ];
platforms = [ "x86_64-linux" ];
};
};
in
graalvm8-ee
# Ahead-Of-Time compilation
$out/bin/native-image --no-server HelloWorld
./helloworld
./helloworld | fgrep 'Hello World'
# Ahead-Of-Time compilation with --static
$out/bin/native-image --no-server --static HelloWorld
./helloworld
./helloworld | fgrep 'Hello World'
'';
passthru.home = graalvmXXX-ee;
meta = with stdenv.lib; {
homepage = https://www.graalvm.org/;
description = "High-Performance Polyglot VM";
license = licenses.unfree;
maintainers = with maintainers; [ volth hlolli ];
platforms = [ "x86_64-linux" ];
};
};
in
graalvmXXX-ee;
in {
graalvm8-ee = common "8";
graalvm11-ee = common "11";
}

View File

@@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "iasl";
version = "20191213";
version = "20200110";
src = fetchurl {
url = "https://acpica.org/sites/acpica/files/acpica-unix-${version}.tar.gz";
sha256 = "1ip684is3dplf7snkn024vv6bg3dv5msx8v7pz6x9lrnk3gk0j9h";
sha256 = "1cb6aa6acrixmdzvj9vv4qs9lmlsbkd27pjlz14i1kq1x3xn0gwx";
};
NIX_CFLAGS_COMPILE = "-O3";

View File

@@ -7,17 +7,17 @@
let drv = stdenv.mkDerivation rec {
pname = "jetbrainsjdk";
version = "485.1";
version = "520.30";
src = if stdenv.hostPlatform.system == "x86_64-linux" then
fetchurl {
url = "https://bintray.com/jetbrains/intellij-jbr/download_file?file_path=jbrsdk-11_0_4-linux-x64-b${version}.tar.gz";
sha256 = "18jnn0dra9nsnyllwq0ljxzr58k2pg8d0kg10y39vnxwccic4f76";
url = "https://bintray.com/jetbrains/intellij-jbr/download_file?file_path=jbrsdk-11_0_5-linux-x64-b${version}.tar.gz";
sha256 = "0xmr5jjnr4af7byz5w01phyrrdyizfhqmwhs4k8ih566fkhyzj02";
}
else if stdenv.hostPlatform.system == "x86_64-darwin" then
fetchurl {
url = "https://bintray.com/jetbrains/intellij-jdk/download_file?file_path=jbrsdk-11_0_2-osx-x64-b${version}.tar.gz";
sha256 = "1ly6kf59knvzbr2pjkc9fqyzfs28pdvnqg5pfffr8zp14xm44zmd";
url = "https://bintray.com/jetbrains/intellij-jbr/download_file?file_path=jbrsdk-11_0_5-osx-x64-b${version}.tar.gz";
sha256 = "0wfcw66wv5rkkjzyzi9j7zk7c2fgi33ny09drgihxi2kdzyfrpcb";
}
else
throw "unsupported system: ${stdenv.hostPlatform.system}";

View File

@@ -0,0 +1,6 @@
import ./generic.nix {
major_version = "4";
minor_version = "10";
patch_version = "0+beta1";
sha256 = "18jrgww98v1famb2x5jhbsnm4ngph2rvq0z4cxpqxfn06yb53jyf";
}

View File

@@ -10,7 +10,7 @@
let
major = "11";
update = ".0.4";
update = ".0.6";
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 = "1v6pam38iidlhz46046h17hf5kki6n3kl302awjcyxzk7bmkvb8x";
sha256 = "1w6n0cnz9izpjb3sc870q7a0jz85a6c7fiszymxin10cnsajkzir";
};
nativeBuildInputs = [ pkgconfig autoconf ];

View File

@@ -4,13 +4,13 @@ with lib;
mkDerivation rec {
pname = "psc-package";
version = "0.5.1";
version = "0.6.0";
src = fetchFromGitHub {
owner = "purescript";
repo = pname;
rev = "v${version}";
sha256 = "1zadbph1vha3b5hvmjvs138dcwbab49f3v63air1l6r4cvpb6831";
sha256 = "165yax131rj1mdlqd28g6wcy1ps3k4w50z8gj9yc3nfs09dy0lab";
};
isLibrary = false;

View File

@@ -18,19 +18,19 @@ let
in stdenv.mkDerivation rec {
pname = "purescript";
version = "0.13.5";
version = "0.13.6";
src =
if stdenv.isDarwin
then
fetchurl {
url = "https://github.com/${pname}/${pname}/releases/download/v${version}/macos.tar.gz";
sha256 = "19bb50m0cd738r353blgy21d842b3yj58xfbplk7bz59jawj9lym";
sha256 = "04kwjjrriyizpvhs96jgyx21ppyd1ynblk24i5825ywxlw9hja25";
}
else
fetchurl {
url = "https://github.com/${pname}/${pname}/releases/download/v${version}/linux64.tar.gz";
sha256 = "016wvwypgb4859f0n1lqsqv9a8cca2y8g7d6ffvzx6rncd115gxi";
sha256 = "012znrj32aq96qh1g2hscdvhl3flgihhimiz40agk0dykpksblns";
};
@@ -59,7 +59,7 @@ in stdenv.mkDerivation rec {
description = "A strongly-typed functional programming language that compiles to JavaScript";
homepage = http://www.purescript.org/;
license = licenses.bsd3;
maintainers = [ maintainers.justinwoo ];
maintainers = [ maintainers.justinwoo maintainers.mbbx6spp ];
platforms = [ "x86_64-linux" "x86_64-darwin" ];
};
}

View File

@@ -1,6 +1,7 @@
import ./default.nix {
rustcVersion = "1.38.0";
rustcSha256 = "101dlpsfkq67p0hbwx4acqq6n90dj4bbprndizpgh1kigk566hk4";
enableRustcDev = false;
# Note: the version MUST be one version prior to the version we're
# building

View File

@@ -1,5 +1,6 @@
{ rustcVersion
, rustcSha256
, enableRustcDev ? true
, bootstrapVersion
, bootstrapHashes
, selectRustPackage
@@ -70,6 +71,7 @@
rustc = self.callPackage ./rustc.nix ({
version = rustcVersion;
sha256 = rustcSha256;
inherit enableRustcDev;
# Use boot package set to break cycle
rustPlatform = bootRustPlatform;

View File

@@ -4,6 +4,7 @@
, pkgconfig, openssl
, which, libffi
, withBundledLLVM ? false
, enableRustcDev ? true
, version
, sha256
}:
@@ -132,12 +133,13 @@ in stdenv.mkDerivation rec {
outputs = [ "out" "man" "doc" ];
setOutputFlags = false;
postInstall = ''
postInstall = stdenv.lib.optionalString enableRustcDev ''
# install rustc-dev components. Necessary to build rls, clippy...
python x.py dist rustc-dev
tar xf build/dist/rustc-dev*tar.gz
cp -r rustc-dev*/rustc-dev*/lib/* $out/lib/
'' + ''
# remove references to llvm-config in lib/rustlib/x86_64-unknown-linux-gnu/codegen-backends/librustc_codegen_llvm-llvm.so
# and thus a transitive dependency on ncurses
find $out/lib -name "*.so" -type f -exec remove-references-to -t ${llvmShared} '{}' '+'

View File

@@ -16,6 +16,11 @@ stdenv.mkDerivation rec {
rm "bin/"*.bat
mv * $out
# put docs in correct subdirectory
mkdir -p $out/share/doc
mv $out/doc $out/share/doc/${name}
mv $out/man $out/share/man
for p in $(ls $out/bin/) ; do
wrapProgram $out/bin/$p \
--prefix PATH ":" ${coreutils}/bin \

View File

@@ -19,6 +19,7 @@ stdenv.mkDerivation rec {
# put docs in correct subdirectory
mkdir -p $out/share/doc
mv $out/doc $out/share/doc/scala
mv $out/{LICENSE,NOTICE} $out/share/doc/scala
for p in $(ls $out/bin/) ; do
wrapProgram $out/bin/$p \

View File

@@ -19,6 +19,7 @@ stdenv.mkDerivation rec {
# put docs in correct subdirectory
mkdir -p $out/share/doc
mv $out/doc $out/share/doc/scala
mv $out/{LICENSE,NOTICE} $out/share/doc/scala
for p in $(ls $out/bin/) ; do
wrapProgram $out/bin/$p \

View File

@@ -45,7 +45,7 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; {
description = "A translator of declarative Datalog programs into the C++ language";
homepage = "http://souffle-lang.github.io/";
homepage = "https://souffle-lang.github.io/";
platforms = platforms.unix;
maintainers = with maintainers; [ thoughtpolice copumpkin wchresta ];
license = licenses.upl;

View File

@@ -33,33 +33,40 @@
}:
let
v_base = "5.0.2";
version = "${v_base}-RELEASE";
version_friendly = v_base;
version = "5.1.1";
tag = "refs/tags/swift-${version}";
fetch = { repo, sha256, fetchSubmodules ? false }:
fetchFromGitHub {
owner = "apple";
inherit repo sha256 fetchSubmodules;
rev = tag;
rev = "swift-${version}-RELEASE";
name = "${repo}-${version}-src";
};
sources = {
# FYI: SourceKit probably would work but currently requires building everything twice
# For more inforation, see: https://github.com/apple/swift/pull/3594#issuecomment-234169759
clang = fetch {
repo = "swift-clang";
sha256 = "046p7f4044ls8hhgklsz32md5jvxkaaim1d75n0fmnwap6di3n1q";
};
llvm = fetch {
repo = "swift-llvm";
sha256 = "1bnscqsiljiclij60f44h2fyx5c84pzry0lz1jbwknphwmqd6f84";
sha256 = "00ldd9dby6fl6nk3z17148fvb7g9x4jkn1afx26y51v8rwgm1i7f";
};
compilerrt = fetch {
repo = "swift-compiler-rt";
sha256 = "0bba54xa7z0wj6k7a24q74gc4yajc6s64g1m894i3yd6swdk7f6r";
sha256 = "1431f74l0n2dxn728qp65nc6hivx88fax1wzfrnrv19y77br05wj";
};
clang = fetch {
repo = "swift-clang";
sha256 = "0n7k6nvzgqp6h6bfqcmna484w90db3zv4sh5rdh89wxyhdz6rk4v";
};
clangtools = fetch {
repo = "swift-clang-tools-extra";
sha256 = "0snp2rpd60z239pr7fxpkj332rkdjhg63adqvqdkjsbrxcqqcgqa";
};
indexstore = fetch {
repo = "indexstore-db";
sha256 = "1gwkqkdmpd5hn7555dpdkys0z50yh00hjry2886h6rx7avh5p05n";
};
sourcekit = fetch {
repo = "sourcekit-lsp";
sha256 = "0k84ssr1k7grbvpk81rr21ii8csnixn9dp0cga98h6i1gshn8ml4";
};
cmark = fetch {
repo = "swift-cmark";
@@ -67,32 +74,32 @@ let
};
lldb = fetch {
repo = "swift-lldb";
sha256 = "01yrhc1ggv89qii03fdjdvb2aq9v4hd1wk83n8ygrwwc75p44qmi";
sha256 = "0j787475f0nlmvxqblkhn3yrvn9qhcb2jcijwijxwq95ar2jdygs";
};
llbuild = fetch {
repo = "swift-llbuild";
sha256 = "0ipwryzpqxpk3rzkxilfahlkz06k39j91q2lv7fprf0slqknrdms";
sha256 = "1n2s5isxyl6b6ya617gdzjbw68shbvd52vsfqc1256rk4g448v8b";
};
pm = fetch {
repo = "swift-package-manager";
sha256 = "1mnywlm7i2mbp16q0rskskvnbx1ap8lchwr8q3gx0xs3b2fs6chh";
sha256 = "1a49jmag5mpld9zr96g8a773334mrz1c4nyw38gf4p6sckf4jp29";
};
xctest = fetch {
repo = "swift-corelibs-xctest";
sha256 = "1vpljkxhfk3yd07ry0xsv3qwbn62pwd2mdn9cw22jhbhvqinc13z";
sha256 = "0rxy9sq7i0s0kxfkz0hvdp8zyb40h31f7g4m0kry36qk82gzzh89";
};
foundation = fetch {
repo = "swift-corelibs-foundation";
sha256 = "1wys4xh7f6c7yjf210x41n2krmyi2qj1wpxbv0p48d230va1azj1";
sha256 = "1iiiijsnys0r3hjcj1jlkn3yszzi7hwb2041cnm5z306nl9sybzp";
};
libdispatch = fetch {
repo = "swift-corelibs-libdispatch";
sha256 = "0chnb0d4xjyn9wnc8bgimd5ji5igfyq891flgnqpfwr4y26496c1";
sha256 = "0laqsizsikyjhrzn0rghvxd8afg4yav7cbghvnf7ywk9wc6kpkmn";
fetchSubmodules = true;
};
swift = fetch {
repo = "swift";
sha256 = "0fsq1y8dz4ssn90akvzj36cqyblalb09bjzy4ikqn67mb5x99wpb";
sha256 = "0m4r1gzrnn0s1c7haqq9dlmvpqxbgbkbdfmq6qaph869wcmvdkvy";
};
};
@@ -116,23 +123,9 @@ let
"-DGCC_INSTALL_PREFIX=${clang.cc.gcc}"
];
builder = ''
# gcc-6.4.0/include/c++/6.4.0/cstdlib:75:15: fatal error: 'stdlib.h' file not found
NIX_CFLAGS_COMPILE="$( echo ${clang.default_cxx_stdlib_compile} ) $NIX_CFLAGS_COMPILE"
# During the Swift build, a full local LLVM build is performed and the resulting clang is invoked.
# This compiler is not using the Nix wrappers, so it needs some help to find things.
export NIX_LDFLAGS_BEFORE="-rpath ${clang.cc.gcc.lib}/lib -L${clang.cc.gcc.lib}/lib $NIX_LDFLAGS_BEFORE"
$SWIFT_SOURCE_ROOT/swift/utils/build-script \
--preset=buildbot_linux \
installable_package=$INSTALLABLE_PACKAGE \
install_prefix=$out \
install_destdir=$SWIFT_INSTALL_DIR \
extra_cmake_options="${stdenv.lib.concatStringsSep "," cmakeFlags}"'';
in
stdenv.mkDerivation {
name = "swift-${version_friendly}";
name = "swift-${version}";
nativeBuildInputs = [
autoconf
@@ -164,32 +157,17 @@ stdenv.mkDerivation {
hardeningDisable = [ "format" ]; # for LLDB
configurePhase = ''
cd ..
export INSTALLABLE_PACKAGE=$PWD/swift.tar.gz
mkdir build install
export SWIFT_BUILD_ROOT=$PWD/build
export SWIFT_INSTALL_DIR=$PWD/install
cd $SWIFT_BUILD_ROOT
unset CC
unset CXX
export NIX_ENFORCE_PURITY=
'';
unpackPhase = ''
mkdir src
cd src
export sourceRoot=$PWD
export SWIFT_SOURCE_ROOT=$PWD
cp -r ${sources.clang} clang
cp -r ${sources.llvm} llvm
cp -r ${sources.compilerrt} compiler-rt
cp -r ${sources.clang} clang
cp -r ${sources.clangtools} clang-tools-extra
cp -r ${sources.indexstore} indexstore-db
cp -r ${sources.sourcekit} sourcekit-lsp
cp -r ${sources.cmark} cmark
cp -r ${sources.lldb} lldb
cp -r ${sources.llbuild} llbuild
@@ -234,33 +212,75 @@ stdenv.mkDerivation {
\
-e 's/^swift-install-components=autolink.*$/\0;editor-integration/'
# https://bugs.swift.org/browse/SR-10559
patch -p1 -d swift-corelibs-libdispatch -i ${./patches/libdispatch-fortify-fix.patch}
substituteInPlace clang/lib/Driver/ToolChains/Linux.cpp \
--replace 'SysRoot + "/lib' '"${glibc}/lib" "'
substituteInPlace clang/lib/Driver/ToolChains/Linux.cpp \
--replace 'SysRoot + "/usr/lib' '"${glibc}/lib" "'
patch -p1 -d clang -i ${./patches/llvm-include-dirs.patch}
patch -p1 -d clang -i ${./patches/llvm-toolchain-dir.patch}
patch -p1 -d clang -i ${./purity.patch}
# Workaround hardcoded dep on "libcurses" (vs "libncurses"):
sed -i 's,curses,ncurses,' llbuild/*/*/CMakeLists.txt
sed -i 's/curses/ncurses/' llbuild/*/*/CMakeLists.txt
# uuid.h is not part of glibc, but of libuuid
sed -i 's|''${GLIBC_INCLUDE_PATH}/uuid/uuid.h|${libuuid.dev}/include/uuid/uuid.h|' swift/stdlib/public/Platform/glibc.modulemap.gyb
PREFIX=''${out/#\/}
substituteInPlace indexstore-db/Utilities/build-script-helper.py \
--replace usr "$PREFIX"
substituteInPlace sourcekit-lsp/Utilities/build-script-helper.py \
--replace usr "$PREFIX"
substituteInPlace swift-corelibs-xctest/build_script.py \
--replace usr "$PREFIX"
'';
buildPhase = builder;
configurePhase = ''
cd ..
doCheck = false;
mkdir build install
export SWIFT_BUILD_ROOT=$PWD/build
export SWIFT_INSTALL_DIR=$PWD/install
export INSTALLABLE_PACKAGE=$PWD/swift.tar.gz
export NIX_ENFORCE_PURITY=
cd $SWIFT_BUILD_ROOT
'';
buildPhase = ''
# gcc-6.4.0/include/c++/6.4.0/cstdlib:75:15: fatal error: 'stdlib.h' file not found
export NIX_CFLAGS_COMPILE="$( echo ${clang.default_cxx_stdlib_compile} ) $NIX_CFLAGS_COMPILE"
# During the Swift build, a full local LLVM build is performed and the resulting clang is invoked.
# This compiler is not using the Nix wrappers, so it needs some help to find things.
export NIX_LDFLAGS_BEFORE="-rpath ${clang.cc.gcc.lib}/lib -L${clang.cc.gcc.lib}/lib $NIX_LDFLAGS_BEFORE"
# However, we want to use the wrapped compiler whenever possible.
export CC="${clang}/bin/clang"
# fix for https://bugs.llvm.org/show_bug.cgi?id=39743
# see also https://forums.swift.org/t/18138/15
export CCC_OVERRIDE_OPTIONS="#x-fmodules s/-fmodules-cache-path.*//"
$SWIFT_SOURCE_ROOT/swift/utils/build-script \
--preset=buildbot_linux \
installable_package=$INSTALLABLE_PACKAGE \
install_prefix=$out \
install_destdir=$SWIFT_INSTALL_DIR \
extra_cmake_options="${stdenv.lib.concatStringsSep "," cmakeFlags}"
'';
doCheck = true;
checkInputs = [ file ];
# TODO: investigate the non-working tests
checkPhase = ''
# FIXME: disable non-working tests
rm $SWIFT_SOURCE_ROOT/swift/test/Driver/static-stdlib-linux.swift # static linkage of libatomic.a complains about missing PIC
rm $SWIFT_SOURCE_ROOT/swift/validation-test/Python/build_swift.swift # install_prefix not passed properly
# match the swift wrapper in the install phase
export LIBRARY_PATH=${icu}/lib:${libuuid.out}/lib
checkTarget=check-swift-all
ninjaFlags='-C buildbot_linux/swift-${stdenv.hostPlatform.parsed.kernel.name}-${stdenv.hostPlatform.parsed.cpu.name}'
ninjaCheckPhase
'';
@@ -268,18 +288,22 @@ stdenv.mkDerivation {
mkdir -p $out
# Extract the generated tarball into the store
PREFIX=''${out/#\/}
tar xf $INSTALLABLE_PACKAGE -C $out --strip-components=3 $PREFIX
tar xf $INSTALLABLE_PACKAGE -C $out --strip-components=3 ''${out/#\/}
find $out -type d -empty -delete
# fix installation weirdness, also present in Apples official tarballs
mv $out/local/include/indexstore $out/include
rmdir $out/local/include $out/local
rm -r $out/bin/sdk-module-lists $out/bin/swift-api-checker.py
wrapProgram $out/bin/swift \
--suffix C_INCLUDE_PATH : $out/lib/swift/clang/include \
--suffix CPLUS_INCLUDE_PATH : $out/lib/swift/clang/include \
--suffix LIBRARY_PATH : $icu/lib
--suffix LIBRARY_PATH : ${icu}/lib:${libuuid.out}/lib
'';
# Hack to avoid TMPDIR in RPATHs.
preFixup = ''rm -rf "$(pwd)" '';
# Hack to avoid build and install directories in RPATHs.
preFixup = ''rm -rf $SWIFT_BUILD_ROOT $SWIFT_INSTALL_DIR'';
meta = with stdenv.lib; {
description = "The Swift Programming Language";

View File

@@ -1,17 +1,8 @@
From 1fc49285c7a198de14005803dfde64bda17f4120 Mon Sep 17 00:00:00 2001
From: Will Dietz <w@wdtz.org>
Date: Tue, 28 Mar 2017 15:01:16 -0500
Subject: [PATCH 1/4] build-presets: (linux) don't require using Ninja
Don't build Ninja, we use our own.
---
utils/build-presets.ini | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/utils/build-presets.ini b/utils/build-presets.ini
index 7ee57ad2df..e6b0af3581 100644
--- a/utils/build-presets.ini
+++ b/utils/build-presets.ini
@@ -721,7 +721,7 @@ swiftpm
@@ -745,7 +745,7 @@ swiftpm
dash-dash
@@ -20,6 +11,3 @@ index 7ee57ad2df..e6b0af3581 100644
install-swift
install-lldb
install-llbuild
--
2.12.2

View File

@@ -1,25 +1,13 @@
From fca6624b7a0ad670157105336a737cc95f9ce9fb Mon Sep 17 00:00:00 2001
From: Will Dietz <w@wdtz.org>
Date: Tue, 28 Mar 2017 15:01:40 -0500
Subject: [PATCH 2/4] build-presets: (linux) allow custom install prefix
allow custom install prefix
---
utils/build-presets.ini | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/utils/build-presets.ini b/utils/build-presets.ini
index e6b0af3581..1095cbaab7 100644
--- a/utils/build-presets.ini 2019-04-11 14:51:40.060259462 +0200
+++ b/utils/build-presets.ini 2019-04-11 15:16:17.471137969 +0200
@@ -728,7 +728,7 @@
@@ -752,7 +752,7 @@
install-swiftpm
install-xctest
install-libicu
-install-prefix=/usr
+install-prefix=%(install_prefix)s
swift-install-components=autolink-driver;compiler;clang-resource-dir-symlink;stdlib;swift-remote-mirror;sdk-overlay;license;sourcekit-inproc
llvm-install-components=llvm-cov;llvm-profdata;IndexStore;clang;clang-headers;compiler-rt
install-libcxx
--
2.12.2
install-sourcekit-lsp
build-swift-static-stdlib

View File

@@ -1,6 +1,8 @@
Disable targets, where we use Nix packages.
--- a/utils/build-presets.ini 2019-04-11 15:19:57.845178834 +0200
+++ b/utils/build-presets.ini 2019-04-11 15:27:42.041297057 +0200
@@ -716,8 +716,6 @@
@@ -740,8 +740,6 @@
llbuild
swiftpm
xctest
@@ -9,15 +11,13 @@
dash-dash
@@ -727,11 +725,9 @@
@@ -751,9 +749,7 @@
install-llbuild
install-swiftpm
install-xctest
-install-libicu
install-prefix=%(install_prefix)s
swift-install-components=autolink-driver;compiler;clang-resource-dir-symlink;stdlib;swift-remote-mirror;sdk-overlay;license;sourcekit-inproc
llvm-install-components=llvm-cov;llvm-profdata;IndexStore;clang;clang-headers;compiler-rt
-install-libcxx
install-sourcekit-lsp
build-swift-static-stdlib
build-swift-static-sdk-overlay
build-swift-stdlib-unittest-extra

View File

@@ -1,17 +1,8 @@
From 4a46b12f580d0a9779937d07c4f1fd347570c4ef Mon Sep 17 00:00:00 2001
From: Will Dietz <w@wdtz.org>
Date: Tue, 28 Mar 2017 15:02:37 -0500
Subject: [PATCH 4/4] build-presets: (linux) plumb extra-cmake-options
plumb extra-cmake-options
---
utils/build-presets.ini | 2 ++
1 file changed, 2 insertions(+)
diff --git a/utils/build-presets.ini b/utils/build-presets.ini
index 1739e91dc2..0608fed9c1 100644
--- a/utils/build-presets.ini
+++ b/utils/build-presets.ini
@@ -743,6 +743,8 @@ install-destdir=%(install_destdir)s
@@ -766,6 +766,8 @@ install-destdir=%(install_destdir)s
# Path to the .tar.gz package we would create.
installable-package=%(installable_package)s
@@ -20,6 +11,3 @@ index 1739e91dc2..0608fed9c1 100644
[preset: buildbot_linux]
mixin-preset=mixin_linux_installation
build-subdir=buildbot_linux
--
2.12.2

View File

@@ -2,7 +2,7 @@ The Nix glibc headers do not use include/x86_64-linux-gnu subdirectories.
--- swift/stdlib/public/Platform/CMakeLists.txt 2019-04-09 20:14:44.493801403 +0200
+++ swift/stdlib/public/Platform/CMakeLists.txt 2019-04-09 20:14:44.577800593 +0200
@@ -68,7 +68,7 @@
@@ -77,7 +77,7 @@
endif()
set(GLIBC_INCLUDE_PATH "${GLIBC_SYSROOT_RELATIVE_INCLUDE_PATH}")

View File

@@ -1,13 +0,0 @@
Nix compiles with _FORTIFY_SOURCE enabled. Fix error due to -Werror and an unused return value warning.
--- swift-corelibs-libdispatch/src/internal.h 2019-04-26 09:33:38.287289099 +0200
+++ swift-corelibs-libdispatch/src/internal.h 2019-04-26 15:31:10.485334128 +0200
@@ -1053,7 +1053,7 @@
#else
#define _dispatch_client_assert_fail(fmt, ...) do { \
char *_msg = NULL; \
- asprintf(&_msg, "%s" fmt, DISPATCH_ASSERTION_FAILED_MESSAGE, \
+ (void)asprintf(&_msg, "%s" fmt, DISPATCH_ASSERTION_FAILED_MESSAGE, \
##__VA_ARGS__); \
_dispatch_assert_crash(_msg); \
free(_msg); \

View File

@@ -1,13 +0,0 @@
Only use the Nix include dirs when no sysroot is configured.
--- clang/lib/Driver/ToolChains/Linux.cpp 2018-10-05 18:01:15.731109551 +0200
+++ clang/lib/Driver/ToolChains/Linux.cpp 2018-10-05 18:00:27.959509924 +0200
@@ -641,7 +641,7 @@
// Check for configure-time C include directories.
StringRef CIncludeDirs(C_INCLUDE_DIRS);
- if (CIncludeDirs != "") {
+ if (CIncludeDirs != "" && (SysRoot.empty() || SysRoot == "/")) {
SmallVector<StringRef, 5> dirs;
CIncludeDirs.split(dirs, ":");
for (StringRef dir : dirs) {

View File

@@ -0,0 +1,24 @@
Use the Nix include dirs and gcc runtime dir, when no sysroot is configured.
--- clang/lib/Driver/ToolChains/Linux.cpp 2018-10-05 18:01:15.731109551 +0200
+++ clang/lib/Driver/ToolChains/Linux.cpp 2018-10-05 18:00:27.959509924 +0200
@@ -665,7 +665,7 @@
// Check for configure-time C include directories.
StringRef CIncludeDirs(C_INCLUDE_DIRS);
- if (CIncludeDirs != "") {
+ if (CIncludeDirs != "" && (SysRoot.empty() || SysRoot == "/")) {
SmallVector<StringRef, 5> dirs;
CIncludeDirs.split(dirs, ":");
for (StringRef dir : dirs) {
--- clang/lib/Driver/ToolChains/Gnu.cpp 2019-10-26 09:49:27.003752743 +0200
+++ clang/lib/Driver/ToolChains/Gnu.cpp 2019-10-26 09:50:49.067236497 +0200
@@ -1743,7 +1743,7 @@
// If we have a SysRoot, ignore GCC_INSTALL_PREFIX.
// GCC_INSTALL_PREFIX specifies the gcc installation for the default
// sysroot and is likely not valid with a different sysroot.
- if (!SysRoot.empty())
+ if (!(SysRoot.empty() || SysRoot == "/"))
return "";
return GCC_INSTALL_PREFIX;

View File

@@ -1,17 +1,8 @@
From 4add81bba40dcec62c4ea4481be8e35ac53e89d8 Mon Sep 17 00:00:00 2001
From: Will Dietz <w@wdtz.org>
Date: Thu, 18 May 2017 11:56:12 -0500
Subject: [PATCH] "purity" patch for 5.0
"purity" patch for 5.0
---
lib/Driver/ToolChains/Gnu.cpp | 7 -------
1 file changed, 7 deletions(-)
diff --git a/lib/Driver/ToolChains/Gnu.cpp b/lib/Driver/ToolChains/Gnu.cpp
index fe3c0191bb..c6a482bece 100644
--- a/lib/Driver/ToolChains/Gnu.cpp
+++ b/lib/Driver/ToolChains/Gnu.cpp
@@ -380,13 +380,6 @@ void tools::gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA,
@@ -402,13 +402,6 @@ void tools::gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA,
if (!Args.hasArg(options::OPT_static)) {
if (Args.hasArg(options::OPT_rdynamic))
CmdArgs.push_back("-export-dynamic");
@@ -25,6 +16,3 @@ index fe3c0191bb..c6a482bece 100644
}
CmdArgs.push_back("-o");
--
2.11.0

View File

@@ -3,13 +3,13 @@
buildGoModule rec {
pname = "tinygo";
version = "0.10.0";
version = "0.11.0";
src = fetchFromGitHub {
owner = "tinygo-org";
repo = "tinygo";
rev = "v${version}";
sha256 = "03di8500dqk25giiajglcdf2gbc0jidsn8qsw2sxmkmnd1np7gyd";
sha256 = "0cmg8x9hpvzlxp6hiy9hkh9nn7ig7b0x6k8a2c3bw19pfx9lxksf";
};
modSha256 = "0r3lfi1bj550sf3b7ysz62c2c33f8zfli8208xixj3jadycb6r3z";

View File

@@ -4,18 +4,18 @@
stdenv.mkDerivation rec {
pname = "unison-code-manager";
milestone_id = "M1g";
milestone_id = "M1h";
version = "1.0.${milestone_id}-alpha";
src = if (stdenv.isDarwin) then
fetchurl {
url = "https://github.com/unisonweb/unison/releases/download/release/${milestone_id}/unison-osx.tar.gz";
sha256 = "186y7y7ffg976w01cbb8am84ajbifb7lcnsc4g3x262mkswr7lry";
sha256 = "0iivm5gmbk0fq0zr3lvck6p1c2i7i54l3rf70z677529w9irzchp";
}
else
fetchurl {
url = "https://github.com/unisonweb/unison/releases/download/release/${milestone_id}/unison-linux64.tar.gz";
sha256 = "1ki9car1clpaspnl5jb5qnr6nzv108q279n8m8bjm8azfcnl61ab";
sha256 = "0fb84c1yn8pidflh7kq696j3v4blkvbk1fsqp36h30p7vv676yci";
};
# The tarball is just the prebuilt binary, in the archive root.