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 {
#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 = "0l2qhlvwya2djjbwxgwvhfa11bscqcw1x8w5dzy7klzns773pv7d";
src = fetchFromRepoOrCz {
repo = "tinycc";
inherit rev;
inherit sha256;
};
outputs = [ "dev" "out" "bin" ];
nativeBuildInputs = [ perl texinfo ];
postPatch = ''
@ -33,11 +39,15 @@ 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
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.
@ -61,9 +71,9 @@ stdenv.mkDerivation rec {
'';
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 ];
};
}