Merge remote-tracking branch 'upstream/master' into staging

This commit is contained in:
Tuomas Tynkkynen
2016-06-04 01:31:56 +03:00
465 changed files with 16841 additions and 1474 deletions

View File

@@ -6,7 +6,7 @@ stdenv.mkDerivation {
src = fetchgit {
url = "https://github.com/pippijn/aldor";
sha256 = "1l9fc2cgwabifwbijcp293abc8hcv40nzx2w31jkxh8n0plbiczn";
sha256 = "19v07ffq4r1gjnmg7a8ifgjkwan9a3rwbj0qjz8fycwy221844m6";
rev = "15471e75f3d65b93150f414ebcaf59a03054b68d";
};

View File

@@ -6,7 +6,7 @@ stdenv.mkDerivation {
src = fetchgit {
url = "https://github.com/aliceml/aliceml";
rev = "7d44dc8e4097c6f85888bbf4ff86d51fe05b0a08";
sha256 = "ab2d5bf05c40905b02cb1ec975d4980ae4437757856eeb1f587ede2c45a1917f";
sha256 = "1xpvia00cpig0i7qvz29sx7xjic6kd472ng722x4rapz8mjnf8bk";
fetchSubmodules = true;
};

View File

@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
src = fetchgit {
url = "https://github.com/cisco/chezscheme.git";
rev = "65df1d1f7c37f5b5a93cd7e5b475dda9dbafe03c";
sha256 = "024x79xcdqp665xjyccpn02w6dmdvnhw0h0vdc42g9s5wv5ry92m";
sha256 = "1b273il3njnn04z55w1hnygvcqllc6p5qg9mcwh10w39fwsd8fbs";
fetchSubmodules = true;
};

View File

@@ -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 ];

View File

@@ -15,7 +15,7 @@ edk2 = stdenv.mkDerivation {
src = fetchgit {
url = git://github.com/tianocore/edk2;
rev = "684a565a04";
sha256 = "1l46396f48v91z5b8lh3b0f0lcd7z5f86i1nrpc7l5gf7gx3117j";
sha256 = "0s9ywb8w7xzlnmm4kwzykxkrdaw53b7pky121cc9wjkllzqwyxrb";
};
buildInputs = [ libuuid pythonFull ];

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;

View File

@@ -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 ];

View File

@@ -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

View File

@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
src = fetchgit {
url = "https://github.com/facebook/hhvm.git";
rev = "f516f1bb9046218f89885a220354c19dda6d8f4d";
sha256 = "1jdw6j394z7ksg4wdcnm7lkcs7iam5myx6k18w8hr595s1dfk3sj";
sha256 = "0sv856ran15rvnrj4dk0a5jirip5w4336a0aycv9wh77wm4s8xdb";
fetchSubmodules = true;
};

View File

@@ -55,7 +55,7 @@ stdenv.mkDerivation rec {
src = fetchgit {
url = "https://github.com/JuliaLang/${pname}";
rev = "cb93e6b70b4b1313b4de8c54e55e85c8eb43daa3";
sha256 = "11dmbjqiidlbh8sj5s09zsbfslm3zs0kw7iq40281hl5dfsr7zm6";
sha256 = "1xihq66il4wlxfm5fsgcirh76dq936fm887v2ynqkm3kz7ahhssw";
};
prePatch = ''

View File

@@ -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" ];

View File

@@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
src = fetchgit {
url = "https://github.com/jcbeaudoin/mkcl.git";
rev = "86768cc1dfc2cc9caa1fe9696584bb25ea6c1429";
sha256 = "0ja7vyp5rjidb2a1gah35jqzqn6zjkikz5sd966p0f0wh26l6n03";
sha256 = "1gsvjp9xlnjccg0idi8x8gzkn6hlrqia95jh3zx7snm894503mf1";
};
buildInputs = [ makeWrapper ];

View File

@@ -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

View File

@@ -7,7 +7,7 @@ stdenv.mkDerivation {
src = fetchgit {
url = https://github.com/dylan-lang/opendylan;
rev = "ce9b14dab6cb9ffedc69fae8c6df524c0c79abd3";
sha256 = "cec80980b838ac2581dfb6282e25d208e720d475256b75e24b23dbd30b09d21f";
sha256 = "17jvhv0y63fj25ma05k70b7phcwgjyna5qkrirk48z3xapb8bknd";
fetchSubmodules = true;
};

View 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;
}

View 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"
'';
}

View File

@@ -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;
}

View File

@@ -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

View File

@@ -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;
}

View File

@@ -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

View File

@@ -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

View 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 {};
}

View File

@@ -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 ];
};
}