tinycc: 0.9.27pre-20160328 -> 0.9.27pre-20160525

Also do various refactorings:
- Use `fetchFromRepoOrCz`
- Use `isGlibc` to check for glibc stdenv
- Multiple outputs
- Apply PaX marking

Also adopt the package.
This commit is contained in:
Joachim Fasting 2016-06-03 18:59:09 +02:00
parent 5191294e3d
commit ab9acc27f9
No known key found for this signature in database
GPG Key ID: 4330820E1E04DCF4

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 { stdenv.mkDerivation rec {
#name = "tcc-0.9.26"; name = "tcc-${version}";
name = "tcc-git-0.9.27pre-20160328";
#src = fetchurl { src = fetchFromRepoOrCz {
# url = "mirror://savannah/tinycc/${name}.tar.bz2"; repo = "tinycc";
# sha256 = "0wbdbdq6090ayw8bxnbikiv989kykff3m5rzbia05hrnwhd707jj"; inherit rev;
#}; inherit sha256;
src = fetchgit {
url = "git://repo.or.cz/tinycc.git";
rev = "80343ab7d829c21c65f8f9a14dd20158d028549f";
sha256 = "0l2qhlvwya2djjbwxgwvhfa11bscqcw1x8w5dzy7klzns773pv7d";
}; };
outputs = [ "dev" "out" "bin" ];
nativeBuildInputs = [ perl texinfo ]; nativeBuildInputs = [ perl texinfo ];
postPatch = '' postPatch = ''
@ -33,11 +39,15 @@ stdenv.mkDerivation rec {
doCheck = true; doCheck = true;
checkTarget = "test"; checkTarget = "test";
postFixup = ''
paxmark m $out/bin/tcc
'';
meta = { meta = {
description = "Small, fast, and embeddable C compiler and interpreter"; description = "Small, fast, and embeddable C compiler and interpreter";
longDescription = longDescription = ''
'' TinyCC (aka TCC) is a small but hyper fast C compiler. Unlike 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 other C compilers, it is meant to be self-sufficient: you do not
need an external assembler or linker because TCC does that for need an external assembler or linker because TCC does that for
you. you.
@ -61,9 +71,9 @@ stdenv.mkDerivation rec {
''; '';
homepage = http://www.tinycc.org/; homepage = http://www.tinycc.org/;
license = stdenv.lib.licenses.lgpl2Plus; license = licenses.lgpl2Plus;
platforms = stdenv.lib.platforms.unix; platforms = platforms.unix;
maintainers = [ ]; maintainers = [ maintainers.joachifm ];
}; };
} }