Merge staging-next into staging
This commit is contained in:
@@ -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
|
||||
|
||||
52
pkgs/development/compilers/computecpp/default.nix
Normal file
52
pkgs/development/compilers/computecpp/default.nix
Normal 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" ];
|
||||
};
|
||||
}
|
||||
67
pkgs/development/compilers/dotnet/buildDotnet.nix
Normal file
67
pkgs/development/compilers/dotnet/buildDotnet.nix
Normal 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;
|
||||
};
|
||||
}
|
||||
20
pkgs/development/compilers/dotnet/combinePackages.nix
Normal file
20
pkgs/development/compilers/dotnet/combinePackages.nix
Normal 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/
|
||||
'';
|
||||
}
|
||||
68
pkgs/development/compilers/dotnet/default.nix
Normal file
68
pkgs/development/compilers/dotnet/default.nix
Normal 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";
|
||||
};
|
||||
}
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
39
pkgs/development/compilers/gavrasm/default.nix
Normal file
39
pkgs/development/compilers/gavrasm/default.nix
Normal 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;
|
||||
};
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
@@ -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";
|
||||
}
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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}";
|
||||
|
||||
6
pkgs/development/compilers/ocaml/4.10.nix
Normal file
6
pkgs/development/compilers/ocaml/4.10.nix
Normal file
@@ -0,0 +1,6 @@
|
||||
import ./generic.nix {
|
||||
major_version = "4";
|
||||
minor_version = "10";
|
||||
patch_version = "0+beta1";
|
||||
sha256 = "18jrgww98v1famb2x5jhbsnm4ngph2rvq0z4cxpqxfn06yb53jyf";
|
||||
}
|
||||
@@ -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 ];
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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" ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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} '{}' '+'
|
||||
|
||||
@@ -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 \
|
||||
|
||||
@@ -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 \
|
||||
|
||||
@@ -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 \
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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 Apple’s 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";
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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}")
|
||||
|
||||
@@ -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); \
|
||||
@@ -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) {
|
||||
@@ -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;
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user