48 lines
1.1 KiB
Nix
48 lines
1.1 KiB
Nix
{ stdenv, fetchurl, transfig, tex, ghostscript, colm
|
|
, build-manual ? false
|
|
}:
|
|
|
|
let
|
|
generic = { version, sha256 }:
|
|
stdenv.mkDerivation rec {
|
|
name = "ragel-${version}";
|
|
|
|
src = fetchurl {
|
|
url = "http://www.colm.net/files/ragel/${name}.tar.gz";
|
|
inherit sha256;
|
|
};
|
|
|
|
buildInputs = stdenv.lib.optional build-manual [ transfig ghostscript tex ];
|
|
|
|
preConfigure = stdenv.lib.optional build-manual ''
|
|
sed -i "s/build_manual=no/build_manual=yes/g" DIST
|
|
'';
|
|
|
|
configureFlags = [ "--with-colm=${colm}" ];
|
|
|
|
NIX_CFLAGS_COMPILE = "-std=gnu++98";
|
|
|
|
doCheck = true;
|
|
|
|
meta = with stdenv.lib; {
|
|
homepage = http://www.complang.org/ragel;
|
|
description = "State machine compiler";
|
|
license = licenses.gpl2;
|
|
platforms = platforms.unix;
|
|
maintainers = with maintainers; [ pSub ];
|
|
};
|
|
};
|
|
|
|
in
|
|
|
|
{
|
|
ragelStable = generic {
|
|
version = "6.9";
|
|
sha256 = "02k6rwh8cr95f1p5sjjr3wa6dilg06572xz1v71dk8awmc7vw1vf";
|
|
};
|
|
|
|
ragelDev = generic {
|
|
version = "7.0.0.9";
|
|
sha256 = "1w2jhfg3fxl15gcmm7z3jbi6splgc83mmwcfbp08lfc8sg2wmrmr";
|
|
};
|
|
}
|