Merge remote-tracking branch 'upstream/master' into staging
This commit is contained in:
@@ -6,7 +6,7 @@ stdenv.mkDerivation {
|
||||
|
||||
src = fetchgit {
|
||||
url = "https://github.com/pippijn/aldor";
|
||||
sha256 = "1l9fc2cgwabifwbijcp293abc8hcv40nzx2w31jkxh8n0plbiczn";
|
||||
sha256 = "19v07ffq4r1gjnmg7a8ifgjkwan9a3rwbj0qjz8fycwy221844m6";
|
||||
rev = "15471e75f3d65b93150f414ebcaf59a03054b68d";
|
||||
};
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ stdenv.mkDerivation {
|
||||
src = fetchgit {
|
||||
url = "https://github.com/aliceml/aliceml";
|
||||
rev = "7d44dc8e4097c6f85888bbf4ff86d51fe05b0a08";
|
||||
sha256 = "ab2d5bf05c40905b02cb1ec975d4980ae4437757856eeb1f587ede2c45a1917f";
|
||||
sha256 = "1xpvia00cpig0i7qvz29sx7xjic6kd472ng722x4rapz8mjnf8bk";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
|
||||
src = fetchgit {
|
||||
url = "https://github.com/cisco/chezscheme.git";
|
||||
rev = "65df1d1f7c37f5b5a93cd7e5b475dda9dbafe03c";
|
||||
sha256 = "024x79xcdqp665xjyccpn02w6dmdvnhw0h0vdc42g9s5wv5ry92m";
|
||||
sha256 = "1b273il3njnn04z55w1hnygvcqllc6p5qg9mcwh10w39fwsd8fbs";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
|
||||
src = fetchgit {
|
||||
url = "git://git.kernel.org/pub/scm/utils/dtc/dtc.git";
|
||||
rev = "refs/tags/v${version}";
|
||||
sha256 = "0z7yrv0sdhsh5wwy7yd1fvs4pqaq0n9m5i8w65lyibg77ahkasdg";
|
||||
sha256 = "0wcn9x2vynwlfxk5c6jrf8lz7qvm1sbb9gh27drk1mx8msdh5hd5";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ flex bison ];
|
||||
|
||||
@@ -15,7 +15,7 @@ edk2 = stdenv.mkDerivation {
|
||||
src = fetchgit {
|
||||
url = git://github.com/tianocore/edk2;
|
||||
rev = "684a565a04";
|
||||
sha256 = "1l46396f48v91z5b8lh3b0f0lcd7z5f86i1nrpc7l5gf7gx3117j";
|
||||
sha256 = "0s9ywb8w7xzlnmm4kwzykxkrdaw53b7pky121cc9wjkllzqwyxrb";
|
||||
};
|
||||
|
||||
buildInputs = [ libuuid pythonFull ];
|
||||
|
||||
@@ -10,7 +10,7 @@ mkDerivation {
|
||||
version = "0.17";
|
||||
src = fetchgit {
|
||||
url = "https://github.com/elm-lang/elm-compiler";
|
||||
sha256 = "185mh53yyxh9m0z8808fxpds3vqyrbhahf587nnw6qzyzv63m7px";
|
||||
sha256 = "1vx4jp20nj4s41zsqnwyh80dvg7b7kd9fh6agl99v1xx9d3i6ws1";
|
||||
rev = "c9c7e72c424a13255f8ee84c719f7ef48b689c1a";
|
||||
};
|
||||
isLibrary = true;
|
||||
|
||||
@@ -8,7 +8,7 @@ mkDerivation {
|
||||
version = "0.17";
|
||||
src = fetchgit {
|
||||
url = "https://github.com/elm-lang/elm-make";
|
||||
sha256 = "0y8a67y8jhnhbcqzgjymyf1ffs75vyfpyb8as2bi0mkhb7fvzi6q";
|
||||
sha256 = "0ywi6iq2a3rb8a68ryqpq9y22536aa9k71wy7fcmrd5nwkmpwd2r";
|
||||
rev = "5f7b74567c43eff341048c7caceb247b51cdb8bb";
|
||||
};
|
||||
isLibrary = false;
|
||||
|
||||
@@ -9,7 +9,7 @@ mkDerivation {
|
||||
version = "0.17";
|
||||
src = fetchgit {
|
||||
url = "https://github.com/elm-lang/elm-package";
|
||||
sha256 = "1x9jczby38ax3rbjq6hbyr593dhxazm39gy9jv00k6508dzvfg2l";
|
||||
sha256 = "0z86560a2f7w3ywqvzqghgz100z0yn8zsiixkw4lp5168krp4axg";
|
||||
rev = "fc0924210fe5a7c0af543769b1353dbb2ddf2f0c";
|
||||
};
|
||||
isLibrary = true;
|
||||
|
||||
@@ -8,7 +8,7 @@ mkDerivation {
|
||||
version = "0.17";
|
||||
src = fetchgit {
|
||||
url = "https://github.com/elm-lang/elm-reactor";
|
||||
sha256 = "14hb16qwx1f4bfngh87pwjavgz6njbwdxlsy218rw3xydy3s1cn3";
|
||||
sha256 = "03lb6fcc5d02gflarxc54l71hbwdb73v423ffjz5hvlha6ixglv7";
|
||||
rev = "4781ad2fbb6cbcde0d659dec293bbed9c847ba71";
|
||||
};
|
||||
isLibrary = false;
|
||||
|
||||
@@ -8,7 +8,7 @@ mkDerivation {
|
||||
version = "0.17";
|
||||
src = fetchgit {
|
||||
url = "https://github.com/elm-lang/elm-repl";
|
||||
sha256 = "1mxg99w36b8i43kl1nxp7fd86igi5wyj08m9mraiq58vpcgyqnzq";
|
||||
sha256 = "0bpmkm7q3a0h4hwlbwcnzaqgf6n5p1qw65z8kw84f52s5bndc0wc";
|
||||
rev = "95b4555cff6b6e2a55a4ea3dab00bfb39dfebf0d";
|
||||
};
|
||||
isLibrary = false;
|
||||
|
||||
@@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
|
||||
src = fetchgit {
|
||||
rev = "9097bf98446ee33c07bb155d800395775ce0d9b2";
|
||||
url = "https://gitlab.com/eql/eql.git";
|
||||
sha256 = "1fp88xmmk1sa0iqxahfiv818bp2sbf66vqrd4xq9jb731ybdvsb8";
|
||||
sha256 = "17h23qr7fyr9hvjgiq0yhacmjs43x06vh8978aq42ymcgipxdcww";
|
||||
};
|
||||
|
||||
buildInputs = [ ecl qt4 xorgserver xkbcomp xkeyboard_config ];
|
||||
|
||||
@@ -7,7 +7,7 @@ stdenv.mkDerivation {
|
||||
|
||||
src = fetchgit {
|
||||
url = "https://github.com/HaxeFoundation/haxe.git";
|
||||
sha256 = "1p4yja6flv2r04q9lcrjxia3f3fsmhi3d88s0lz0nf0r4m61bjz0";
|
||||
sha256 = "0d8s9yqsqcbr2lfw4xnmg7vzgb6k1jq6hlwwaf1kmn9wxpvcc6x9";
|
||||
fetchSubmodules = true;
|
||||
|
||||
# Tag 3.1.3
|
||||
|
||||
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
|
||||
src = fetchgit {
|
||||
url = "https://github.com/facebook/hhvm.git";
|
||||
rev = "f516f1bb9046218f89885a220354c19dda6d8f4d";
|
||||
sha256 = "1jdw6j394z7ksg4wdcnm7lkcs7iam5myx6k18w8hr595s1dfk3sj";
|
||||
sha256 = "0sv856ran15rvnrj4dk0a5jirip5w4336a0aycv9wh77wm4s8xdb";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
||||
@@ -55,7 +55,7 @@ stdenv.mkDerivation rec {
|
||||
src = fetchgit {
|
||||
url = "https://github.com/JuliaLang/${pname}";
|
||||
rev = "cb93e6b70b4b1313b4de8c54e55e85c8eb43daa3";
|
||||
sha256 = "11dmbjqiidlbh8sj5s09zsbfslm3zs0kw7iq40281hl5dfsr7zm6";
|
||||
sha256 = "1xihq66il4wlxfm5fsgcirh76dq936fm887v2ynqkm3kz7ahhssw";
|
||||
};
|
||||
|
||||
prePatch = ''
|
||||
|
||||
@@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
|
||||
src = fetchgit {
|
||||
url = https://github.com/less/less.js.git;
|
||||
rev = "refs/tags/v${version}";
|
||||
sha256 = "0r8bcad247v5fyh543a7dppmfbf49ai4my3vcizk42fsbnjs8q2x";
|
||||
sha256 = "1af1xbh1pjpfsx0jp69syji6w9750nigk652yk46jrja3z1scb4s";
|
||||
};
|
||||
|
||||
phases = [ "installPhase" ];
|
||||
|
||||
@@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
|
||||
src = fetchgit {
|
||||
url = "https://github.com/jcbeaudoin/mkcl.git";
|
||||
rev = "86768cc1dfc2cc9caa1fe9696584bb25ea6c1429";
|
||||
sha256 = "0ja7vyp5rjidb2a1gah35jqzqn6zjkikz5sd966p0f0wh26l6n03";
|
||||
sha256 = "1gsvjp9xlnjccg0idi8x8gzkn6hlrqia95jh3zx7snm894503mf1";
|
||||
};
|
||||
|
||||
buildInputs = [ makeWrapper ];
|
||||
|
||||
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
|
||||
src = fetchgit {
|
||||
url = https://github.com/MLstate/opalang.git;
|
||||
rev = "047f58bfd4be35ee30176156b3718c707a6c0f76";
|
||||
sha256 = "1jbxfrmpbjjk7qvaxdn47044w5m8wr96q9yx65ib3wlapmjbvdvf";
|
||||
sha256 = "1laynwf64713q2vhdkxw679dah6hl3bvmrj8cj836a9k9z7jcc1r";
|
||||
};
|
||||
|
||||
# Paths so the opa compiler code generation will use the same programs as were
|
||||
|
||||
@@ -7,7 +7,7 @@ stdenv.mkDerivation {
|
||||
src = fetchgit {
|
||||
url = https://github.com/dylan-lang/opendylan;
|
||||
rev = "ce9b14dab6cb9ffedc69fae8c6df524c0c79abd3";
|
||||
sha256 = "cec80980b838ac2581dfb6282e25d208e720d475256b75e24b23dbd30b09d21f";
|
||||
sha256 = "17jvhv0y63fj25ma05k70b7phcwgjyna5qkrirk48z3xapb8bknd";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
||||
12
pkgs/development/compilers/rustc/beta.nix
Normal file
12
pkgs/development/compilers/rustc/beta.nix
Normal file
@@ -0,0 +1,12 @@
|
||||
{ stdenv, callPackage, rustcStable }:
|
||||
|
||||
callPackage ./generic.nix {
|
||||
shortVersion = "beta-1.10.0";
|
||||
forceBundledLLVM = false;
|
||||
configureFlags = [ "--release-channel=beta" ];
|
||||
srcRev = "39f3c16cca889ef3f1719d9177e3315258222a65";
|
||||
srcSha = "01bx6616lslp2mbj4h8bb6m042fs0y1z8g0jgpxvbk3fbhzwafrx";
|
||||
patches = [ ./patches/disable-lockfile-check.patch ] ++
|
||||
stdenv.lib.optional stdenv.needsPax ./patches/grsec.patch;
|
||||
rustc = rustcStable;
|
||||
}
|
||||
58
pkgs/development/compilers/rustc/bootstrap.nix
Normal file
58
pkgs/development/compilers/rustc/bootstrap.nix
Normal file
@@ -0,0 +1,58 @@
|
||||
{ stdenv, fetchurl }:
|
||||
|
||||
let
|
||||
platform = if stdenv.system == "i686-linux"
|
||||
then "linux-i386"
|
||||
else if stdenv.system == "x86_64-linux"
|
||||
then "linux-x86_64"
|
||||
else if stdenv.system == "i686-darwin"
|
||||
then "macos-i386"
|
||||
else if stdenv.system == "x86_64-darwin"
|
||||
then "macos-x86_64"
|
||||
else abort "no snapshot to bootstrap for this platform (missing platform url suffix)";
|
||||
|
||||
/* Rust is bootstrapped from an earlier built version. We need
|
||||
to fetch these earlier versions, which vary per platform.
|
||||
The shapshot info you want can be found at
|
||||
https://github.com/rust-lang/rust/blob/{$shortVersion}/src/snapshots.txt
|
||||
with the set you want at the top. Make sure this is the latest snapshot
|
||||
for the tagged release and not a snapshot in the current HEAD.
|
||||
NOTE: Rust 1.9.0 is the last version that uses snapshots
|
||||
*/
|
||||
|
||||
snapshotHashLinux686 = "0e0e4448b80d0a12b75485795244bb3857a0a7ef";
|
||||
snapshotHashLinux64 = "1273b6b6aed421c9e40c59f366d0df6092ec0397";
|
||||
snapshotHashDarwin686 = "9f9c0b4a2db09acbce54b792fb8839a735585565";
|
||||
snapshotHashDarwin64 = "52570f6fd915b0210a9be98cfc933148e16a75f8";
|
||||
snapshotDate = "2016-03-18";
|
||||
snapshotRev = "235d774";
|
||||
|
||||
snapshotHash = if stdenv.system == "i686-linux"
|
||||
then snapshotHashLinux686
|
||||
else if stdenv.system == "x86_64-linux"
|
||||
then snapshotHashLinux64
|
||||
else if stdenv.system == "i686-darwin"
|
||||
then snapshotHashDarwin686
|
||||
else if stdenv.system == "x86_64-darwin"
|
||||
then snapshotHashDarwin64
|
||||
else abort "no snapshot for platform ${stdenv.system}";
|
||||
|
||||
snapshotName = "rust-stage0-${snapshotDate}-${snapshotRev}-${platform}-${snapshotHash}.tar.bz2";
|
||||
in
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "rust-bootstrap";
|
||||
src = fetchurl {
|
||||
url = "http://static.rust-lang.org/stage0-snapshots/${snapshotName}";
|
||||
sha1 = snapshotHash;
|
||||
};
|
||||
dontStrip = true;
|
||||
installPhase = ''
|
||||
mkdir -p "$out"
|
||||
cp -r bin "$out/bin"
|
||||
'' + stdenv.lib.optionalString stdenv.isLinux ''
|
||||
patchelf --interpreter "${stdenv.glibc.out}/lib/${stdenv.cc.dynamicLinker}" \
|
||||
--set-rpath "${stdenv.cc.cc.lib}/lib/:${stdenv.cc.cc.lib}/lib64/" \
|
||||
"$out/bin/rustc"
|
||||
'';
|
||||
}
|
||||
@@ -1,27 +0,0 @@
|
||||
{ stdenv, callPackage }:
|
||||
|
||||
callPackage ./generic.nix {
|
||||
shortVersion = "1.9.0";
|
||||
isRelease = true;
|
||||
forceBundledLLVM = false;
|
||||
configureFlags = [ "--release-channel=stable" ];
|
||||
srcSha = "0yg5admbypqld0gmxbhrh2yag5kxjklpjgldrp3pd5vczkl13aml";
|
||||
|
||||
/* Rust is bootstrapped from an earlier built version. We need
|
||||
to fetch these earlier versions, which vary per platform.
|
||||
The shapshot info you want can be found at
|
||||
https://github.com/rust-lang/rust/blob/{$shortVersion}/src/snapshots.txt
|
||||
with the set you want at the top. Make sure this is the latest snapshot
|
||||
for the tagged release and not a snapshot in the current HEAD.
|
||||
*/
|
||||
|
||||
snapshotHashLinux686 = "0e0e4448b80d0a12b75485795244bb3857a0a7ef";
|
||||
snapshotHashLinux64 = "1273b6b6aed421c9e40c59f366d0df6092ec0397";
|
||||
snapshotHashDarwin686 = "9f9c0b4a2db09acbce54b792fb8839a735585565";
|
||||
snapshotHashDarwin64 = "52570f6fd915b0210a9be98cfc933148e16a75f8";
|
||||
snapshotDate = "2016-03-18";
|
||||
snapshotRev = "235d774";
|
||||
|
||||
patches = [ ./patches/remove-uneeded-git.patch ]
|
||||
++ stdenv.lib.optional stdenv.needsPax ./patches/grsec.patch;
|
||||
}
|
||||
@@ -1,14 +1,11 @@
|
||||
{ stdenv, fetchurl, fetchgit, fetchzip, file, python2, tzdata, procps
|
||||
, llvm, jemalloc, ncurses, darwin, binutils
|
||||
, llvm, jemalloc, ncurses, darwin, binutils, rustc
|
||||
|
||||
, shortVersion, isRelease
|
||||
, isRelease ? false
|
||||
, shortVersion
|
||||
, forceBundledLLVM ? false
|
||||
, srcSha, srcRev ? ""
|
||||
, snapshotHashLinux686, snapshotHashLinux64
|
||||
, snapshotHashDarwin686, snapshotHashDarwin64
|
||||
, snapshotDate, snapshotRev
|
||||
, srcSha, srcRev
|
||||
, configureFlags ? []
|
||||
|
||||
, patches
|
||||
} @ args:
|
||||
|
||||
@@ -26,9 +23,8 @@ sure those derivations still compile. (racer, for example).
|
||||
|
||||
*/
|
||||
|
||||
assert (if isRelease then srcRev == "" else srcRev != "");
|
||||
|
||||
let version = if isRelease then
|
||||
let
|
||||
version = if isRelease then
|
||||
"${shortVersion}"
|
||||
else
|
||||
"${shortVersion}-g${builtins.substring 0 7 srcRev}";
|
||||
@@ -39,16 +35,6 @@ let version = if isRelease then
|
||||
|
||||
llvmShared = llvm.override { enableSharedLibraries = true; };
|
||||
|
||||
platform = if stdenv.system == "i686-linux"
|
||||
then "linux-i386"
|
||||
else if stdenv.system == "x86_64-linux"
|
||||
then "linux-x86_64"
|
||||
else if stdenv.system == "i686-darwin"
|
||||
then "macos-i386"
|
||||
else if stdenv.system == "x86_64-darwin"
|
||||
then "macos-x86_64"
|
||||
else abort "no snapshot to bootstrap for this platform (missing platform url suffix)";
|
||||
|
||||
target = if stdenv.system == "i686-linux"
|
||||
then "i686-unknown-linux-gnu"
|
||||
else if stdenv.system == "x86_64-linux"
|
||||
@@ -66,20 +52,9 @@ let version = if isRelease then
|
||||
license = [ licenses.mit licenses.asl20 ];
|
||||
platforms = platforms.linux ++ platforms.darwin;
|
||||
};
|
||||
|
||||
snapshotHash = if stdenv.system == "i686-linux"
|
||||
then snapshotHashLinux686
|
||||
else if stdenv.system == "x86_64-linux"
|
||||
then snapshotHashLinux64
|
||||
else if stdenv.system == "i686-darwin"
|
||||
then snapshotHashDarwin686
|
||||
else if stdenv.system == "x86_64-darwin"
|
||||
then snapshotHashDarwin64
|
||||
else abort "no snapshot for platform ${stdenv.system}";
|
||||
snapshotName = "rust-stage0-${snapshotDate}-${snapshotRev}-${platform}-${snapshotHash}.tar.bz2";
|
||||
in
|
||||
|
||||
with stdenv.lib; stdenv.mkDerivation {
|
||||
stdenv.mkDerivation {
|
||||
inherit name;
|
||||
inherit version;
|
||||
inherit meta;
|
||||
@@ -88,42 +63,19 @@ with stdenv.lib; stdenv.mkDerivation {
|
||||
|
||||
NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-rpath ${llvmShared}/lib";
|
||||
|
||||
src = if isRelease then
|
||||
fetchzip {
|
||||
url = "http://static.rust-lang.org/dist/rustc-${version}-src.tar.gz";
|
||||
sha256 = srcSha;
|
||||
}
|
||||
else
|
||||
fetchgit {
|
||||
url = https://github.com/rust-lang/rust;
|
||||
rev = srcRev;
|
||||
sha256 = srcSha;
|
||||
};
|
||||
|
||||
# We need rust to build rust. If we don't provide it, configure will try to download it.
|
||||
snapshot = stdenv.mkDerivation {
|
||||
name = "rust-stage0";
|
||||
src = fetchurl {
|
||||
url = "http://static.rust-lang.org/stage0-snapshots/${snapshotName}";
|
||||
sha1 = snapshotHash;
|
||||
};
|
||||
dontStrip = true;
|
||||
installPhase = ''
|
||||
mkdir -p "$out"
|
||||
cp -r bin "$out/bin"
|
||||
'' + optionalString stdenv.isLinux ''
|
||||
patchelf --interpreter "${stdenv.glibc.out}/lib/${stdenv.cc.dynamicLinker}" \
|
||||
--set-rpath "${stdenv.cc.cc.lib}/lib/:${stdenv.cc.cc.lib}/lib64/" \
|
||||
"$out/bin/rustc"
|
||||
'';
|
||||
src = fetchgit {
|
||||
url = https://github.com/rust-lang/rust;
|
||||
rev = srcRev;
|
||||
sha256 = srcSha;
|
||||
};
|
||||
|
||||
# We need rust to build rust. If we don't provide it, configure will try to download it.
|
||||
configureFlags = configureFlags
|
||||
++ [ "--enable-local-rust" "--local-rust-root=$snapshot" "--enable-rpath" ]
|
||||
++ [ "--enable-local-rust" "--local-rust-root=${rustc}" "--enable-rpath" ]
|
||||
# ++ [ "--jemalloc-root=${jemalloc}/lib"
|
||||
++ [ "--default-linker=${stdenv.cc}/bin/cc" "--default-ar=${binutils.out}/bin/ar" ]
|
||||
++ optional (stdenv.cc.cc ? isClang) "--enable-clang"
|
||||
++ optional (!forceBundledLLVM) "--llvm-root=${llvmShared}";
|
||||
++ stdenv.lib.optional (stdenv.cc.cc ? isClang) "--enable-clang"
|
||||
++ stdenv.lib.optional (!forceBundledLLVM) "--llvm-root=${llvmShared}";
|
||||
|
||||
inherit patches;
|
||||
|
||||
@@ -138,7 +90,7 @@ with stdenv.lib; stdenv.mkDerivation {
|
||||
--replace "\$\$(subst /,//," "\$\$(subst /,/,"
|
||||
|
||||
# Fix dynamic linking against llvm
|
||||
${optionalString (!forceBundledLLVM) ''sed -i 's/, kind = \\"static\\"//g' src/etc/mklldeps.py''}
|
||||
${stdenv.lib.optionalString (!forceBundledLLVM) ''sed -i 's/, kind = \\"static\\"//g' src/etc/mklldeps.py''}
|
||||
|
||||
# Fix the configure script to not require curl as we won't use it
|
||||
sed -i configure \
|
||||
@@ -160,9 +112,9 @@ with stdenv.lib; stdenv.mkDerivation {
|
||||
'';
|
||||
|
||||
# ps is needed for one of the test cases
|
||||
nativeBuildInputs = [ file python2 procps ];
|
||||
nativeBuildInputs = [ file python2 procps rustc ];
|
||||
buildInputs = [ ncurses ]
|
||||
++ optional (!forceBundledLLVM) llvmShared;
|
||||
++ stdenv.lib.optional (!forceBundledLLVM) llvmShared;
|
||||
|
||||
# https://github.com/rust-lang/rust/issues/30181
|
||||
# enableParallelBuilding = false; # missing files during linking, occasionally
|
||||
|
||||
@@ -1,27 +1,13 @@
|
||||
# Please make sure to check if rustfmt still builds when updating nightly
|
||||
{ stdenv, callPackage }:
|
||||
{ stdenv, callPackage, rustcStable }:
|
||||
|
||||
callPackage ./generic.nix {
|
||||
shortVersion = "2016-03-22";
|
||||
isRelease = false;
|
||||
forceBundledLLVM = true;
|
||||
srcRev = "6cc502c986d42da407e26a49d4f09f21d3072fcb";
|
||||
srcSha = "096lsc8irh9a7w494yaji28kzy9frs2myqrfyj0fzbxkvs3yfhzz";
|
||||
|
||||
/* Rust is bootstrapped from an earlier built version. We need
|
||||
to fetch these earlier versions, which vary per platform.
|
||||
The shapshot info you want can be found at
|
||||
https://github.com/rust-lang/rust/blob/{$shortVersion}/src/snapshots.txt
|
||||
with the set you want at the top.
|
||||
*/
|
||||
|
||||
snapshotHashLinux686 = "0e0e4448b80d0a12b75485795244bb3857a0a7ef";
|
||||
snapshotHashLinux64 = "1273b6b6aed421c9e40c59f366d0df6092ec0397";
|
||||
snapshotHashDarwin686 = "9f9c0b4a2db09acbce54b792fb8839a735585565";
|
||||
snapshotHashDarwin64 = "52570f6fd915b0210a9be98cfc933148e16a75f8";
|
||||
snapshotDate = "2016-03-18";
|
||||
snapshotRev = "235d774";
|
||||
|
||||
patches = [ ./patches/remove-uneeded-git.patch ]
|
||||
++ stdenv.lib.optional stdenv.needsPax ./patches/grsec.patch;
|
||||
shortVersion = "master-1.11.0";
|
||||
forceBundledLLVM = false;
|
||||
srcRev = "298730e7032cd55809423773da397cd5c7d827d4";
|
||||
srcSha = "0hyz5j1z75sjkgsifzgxviv3b1lhgaz8wqwvmq80xx5vd78yd0c1";
|
||||
patches = [ ./patches/disable-lockfile-check.patch
|
||||
./patches/use-rustc-1.9.0.patch ] ++
|
||||
stdenv.lib.optional stdenv.needsPax ./patches/grsec.patch;
|
||||
rustc = rustcStable;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
From e7378e267bba203bd593b49705c24303b0a46cb7 Mon Sep 17 00:00:00 2001
|
||||
From: David Craven <david@craven.ch>
|
||||
Date: Wed, 1 Jun 2016 01:41:35 +0200
|
||||
Subject: [PATCH] disable-lockfile-check
|
||||
|
||||
---
|
||||
src/tools/tidy/src/main.rs | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/tools/tidy/src/main.rs b/src/tools/tidy/src/main.rs
|
||||
index 2839bbd..50142ff 100644
|
||||
--- a/src/tools/tidy/src/main.rs
|
||||
+++ b/src/tools/tidy/src/main.rs
|
||||
@@ -47,7 +47,7 @@ fn main() {
|
||||
errors::check(&path, &mut bad);
|
||||
cargo::check(&path, &mut bad);
|
||||
features::check(&path, &mut bad);
|
||||
- cargo_lock::check(&path, &mut bad);
|
||||
+ //cargo_lock::check(&path, &mut bad);
|
||||
|
||||
if bad {
|
||||
panic!("some tidy checks failed");
|
||||
--
|
||||
2.8.3
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
From 2710f3c8ae142abe1720b3476cd1ca60cee0c077 Mon Sep 17 00:00:00 2001
|
||||
From: David Craven <david@craven.ch>
|
||||
Date: Wed, 1 Jun 2016 00:12:35 +0200
|
||||
Subject: [PATCH] Patch stage0.txt to use rustc 1.9.0
|
||||
|
||||
---
|
||||
src/stage0.txt | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/stage0.txt b/src/stage0.txt
|
||||
index 58b7f8f..3c84cab 100644
|
||||
--- a/src/stage0.txt
|
||||
+++ b/src/stage0.txt
|
||||
@@ -12,6 +12,6 @@
|
||||
# tarball for a stable release you'll likely see `1.x.0-$date` where `1.x.0` was
|
||||
# released on `$date`
|
||||
|
||||
-rustc: beta-2016-04-13
|
||||
-rustc_key: c2743eb4
|
||||
+rustc: 1.9.0-2016-05-24
|
||||
+rustc_key: d16b8f0e
|
||||
cargo: nightly-2016-04-10
|
||||
--
|
||||
2.8.3
|
||||
|
||||
13
pkgs/development/compilers/rustc/stable.nix
Normal file
13
pkgs/development/compilers/rustc/stable.nix
Normal file
@@ -0,0 +1,13 @@
|
||||
{ stdenv, callPackage }:
|
||||
|
||||
callPackage ./generic.nix {
|
||||
shortVersion = "1.9.0";
|
||||
isRelease = true;
|
||||
forceBundledLLVM = false;
|
||||
configureFlags = [ "--release-channel=stable" ];
|
||||
srcRev = "e4e8b666850a763fdf1c3c2c142856ab51e32779";
|
||||
srcSha = "1pz4qx70mqv78fxm4w1mq7csk5pssq4qmr2vwwb5v8hyx03caff8";
|
||||
patches = [ ./patches/remove-uneeded-git.patch ]
|
||||
++ stdenv.lib.optional stdenv.needsPax ./patches/grsec.patch;
|
||||
rustc = callPackage ./bootstrap.nix {};
|
||||
}
|
||||
@@ -1,21 +1,27 @@
|
||||
{ stdenv, fetchurl, fetchgit, perl, texinfo }:
|
||||
{ stdenv, fetchFromRepoOrCz, perl, texinfo }:
|
||||
|
||||
assert stdenv ? glibc;
|
||||
assert (stdenv.isGlibc);
|
||||
|
||||
with stdenv.lib;
|
||||
|
||||
let
|
||||
date = "20160525";
|
||||
version = "0.9.27pre-${date}";
|
||||
rev = "1ca685f887310b5cbdc415cdfc3a578dbc8d82d8";
|
||||
sha256 = "149s847jkg2zdmk09h0cp0q69m8kxxci441zyw8b08fy9b87ayd8";
|
||||
in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
#name = "tcc-0.9.26";
|
||||
name = "tcc-git-0.9.27pre-20160328";
|
||||
name = "tcc-${version}";
|
||||
|
||||
#src = fetchurl {
|
||||
# url = "mirror://savannah/tinycc/${name}.tar.bz2";
|
||||
# sha256 = "0wbdbdq6090ayw8bxnbikiv989kykff3m5rzbia05hrnwhd707jj";
|
||||
#};
|
||||
src = fetchgit {
|
||||
url = "git://repo.or.cz/tinycc.git";
|
||||
rev = "80343ab7d829c21c65f8f9a14dd20158d028549f";
|
||||
sha256 = "1bz75aj93ivb2d8hfk2bczsrwa56lv7vprvdi8c1r5phjvawbshy";
|
||||
src = fetchFromRepoOrCz {
|
||||
repo = "tinycc";
|
||||
inherit rev;
|
||||
inherit sha256;
|
||||
};
|
||||
|
||||
outputs = [ "dev" "out" "bin" ];
|
||||
|
||||
nativeBuildInputs = [ perl texinfo ];
|
||||
|
||||
postPatch = ''
|
||||
@@ -33,37 +39,41 @@ stdenv.mkDerivation rec {
|
||||
doCheck = true;
|
||||
checkTarget = "test";
|
||||
|
||||
postFixup = ''
|
||||
paxmark m $out/bin/tcc
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Small, fast, and embeddable C compiler and interpreter";
|
||||
|
||||
longDescription =
|
||||
'' TinyCC (aka TCC) is a small but hyper fast C compiler. Unlike
|
||||
other C compilers, it is meant to be self-sufficient: you do not
|
||||
need an external assembler or linker because TCC does that for
|
||||
you.
|
||||
longDescription = ''
|
||||
TinyCC (aka TCC) is a small but hyper fast C compiler. Unlike
|
||||
other C compilers, it is meant to be self-sufficient: you do not
|
||||
need an external assembler or linker because TCC does that for
|
||||
you.
|
||||
|
||||
TCC compiles so fast that even for big projects Makefiles may not
|
||||
be necessary.
|
||||
TCC compiles so fast that even for big projects Makefiles may not
|
||||
be necessary.
|
||||
|
||||
TCC not only supports ANSI C, but also most of the new ISO C99
|
||||
standard and many GNU C extensions.
|
||||
TCC not only supports ANSI C, but also most of the new ISO C99
|
||||
standard and many GNU C extensions.
|
||||
|
||||
TCC can also be used to make C scripts, i.e. pieces of C source
|
||||
that you run as a Perl or Python script. Compilation is so fast
|
||||
that your script will be as fast as if it was an executable.
|
||||
TCC can also be used to make C scripts, i.e. pieces of C source
|
||||
that you run as a Perl or Python script. Compilation is so fast
|
||||
that your script will be as fast as if it was an executable.
|
||||
|
||||
TCC can also automatically generate memory and bound checks while
|
||||
allowing all C pointers operations. TCC can do these checks even
|
||||
if non patched libraries are used.
|
||||
TCC can also automatically generate memory and bound checks while
|
||||
allowing all C pointers operations. TCC can do these checks even
|
||||
if non patched libraries are used.
|
||||
|
||||
With libtcc, you can use TCC as a backend for dynamic code
|
||||
generation.
|
||||
'';
|
||||
With libtcc, you can use TCC as a backend for dynamic code
|
||||
generation.
|
||||
'';
|
||||
|
||||
homepage = http://www.tinycc.org/;
|
||||
license = stdenv.lib.licenses.lgpl2Plus;
|
||||
license = licenses.lgpl2Plus;
|
||||
|
||||
platforms = stdenv.lib.platforms.unix;
|
||||
maintainers = [ ];
|
||||
platforms = platforms.unix;
|
||||
maintainers = [ maintainers.joachifm ];
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user