diff options
author | Robin Gloster <mail@glob.in> | 2016-06-10 09:27:04 +0000 |
---|---|---|
committer | Robin Gloster <mail@glob.in> | 2016-06-10 09:27:04 +0000 |
commit | 8031cba2ab3146977141fc504bea2a1e03b5c126 (patch) | |
tree | 0cd68c0007851dfed7d7f8247754b5c4b356704e /pkgs/development/compilers/tinycc | |
parent | 2a5e64b69c83592caf900cb0b7213235e96368de (diff) | |
parent | 656c48f141be5886c515a1a874a47472cbbac6bd (diff) | |
download | nixlib-8031cba2ab3146977141fc504bea2a1e03b5c126.tar nixlib-8031cba2ab3146977141fc504bea2a1e03b5c126.tar.gz nixlib-8031cba2ab3146977141fc504bea2a1e03b5c126.tar.bz2 nixlib-8031cba2ab3146977141fc504bea2a1e03b5c126.tar.lz nixlib-8031cba2ab3146977141fc504bea2a1e03b5c126.tar.xz nixlib-8031cba2ab3146977141fc504bea2a1e03b5c126.tar.zst nixlib-8031cba2ab3146977141fc504bea2a1e03b5c126.zip |
Merge remote-tracking branch 'upstream/master' into hardened-stdenv
Diffstat (limited to 'pkgs/development/compilers/tinycc')
-rw-r--r-- | pkgs/development/compilers/tinycc/default.nix | 78 |
1 files changed, 44 insertions, 34 deletions
diff --git a/pkgs/development/compilers/tinycc/default.nix b/pkgs/development/compilers/tinycc/default.nix index 40e4d49d51e8..87e09e3231f2 100644 --- a/pkgs/development/compilers/tinycc/default.nix +++ b/pkgs/development/compilers/tinycc/default.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"; - - #src = fetchurl { - # url = "mirror://savannah/tinycc/${name}.tar.bz2"; - # sha256 = "0wbdbdq6090ayw8bxnbikiv989kykff3m5rzbia05hrnwhd707jj"; - #}; - src = fetchgit { - url = "git://repo.or.cz/tinycc.git"; - rev = "80343ab7d829c21c65f8f9a14dd20158d028549f"; - sha256 = "1bz75aj93ivb2d8hfk2bczsrwa56lv7vprvdi8c1r5phjvawbshy"; + name = "tcc-${version}"; + + src = fetchFromRepoOrCz { + repo = "tinycc"; + inherit rev; + inherit sha256; }; + outputs = [ "dev" "out" "bin" ]; + nativeBuildInputs = [ perl texinfo ]; hardeningDisable = [ "fortify" ]; @@ -35,37 +41,41 @@ stdenv.mkDerivation rec { doCheck = true; checkTarget = "test"; + postFixup = '' + paxmark m $bin/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 ]; }; } |