mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-20 04:31:52 +00:00
cg3: init at version 1.3.7
This commit is contained in:
parent
76cab430e4
commit
44cf3379a2
61
pkgs/development/interpreters/cg3/default.nix
Normal file
61
pkgs/development/interpreters/cg3/default.nix
Normal file
|
@ -0,0 +1,61 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, runCommand
|
||||
, dieHook
|
||||
, cmake
|
||||
, icu
|
||||
, boost
|
||||
}:
|
||||
|
||||
let cg3 = stdenv.mkDerivation rec {
|
||||
pname = "cg3";
|
||||
version = "1.3.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "GrammarSoft";
|
||||
repo = "${pname}";
|
||||
rev = "v${version}";
|
||||
sha256 = "Ena3dGoZsXOIY6mbvnfI0H7QqRifoxWIBKQrK3yQSmY=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
icu
|
||||
boost
|
||||
];
|
||||
|
||||
doCheck = true;
|
||||
|
||||
passthru.tests.minimal = runCommand "${pname}-test" {
|
||||
buildInputs = [
|
||||
cg3
|
||||
dieHook
|
||||
];
|
||||
} ''
|
||||
echo 'DELIMITERS = "."; ADD (tag) (*);' >grammar.cg3
|
||||
printf '"<a>"\n\t"a" tag\n\n' >want.txt
|
||||
printf '"<a>"\n\t"a"\n\n' | vislcg3 -g grammar.cg3 >got.txt
|
||||
diff -s want.txt got.txt || die "Grammar application did not produce expected parse"
|
||||
touch $out
|
||||
'';
|
||||
|
||||
|
||||
# TODO, consider optionals:
|
||||
# - Enable tcmalloc unless darwin?
|
||||
# - Enable python bindings?
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/GrammarSoft/cg3";
|
||||
description = "Constraint Grammar interpreter, compiler and applicator vislcg3";
|
||||
maintainers = with maintainers; [ unhammer ];
|
||||
license = licenses.gpl3Plus;
|
||||
platforms = platforms.all;
|
||||
};
|
||||
};
|
||||
|
||||
in
|
||||
cg3
|
|
@ -14587,6 +14587,8 @@ with pkgs;
|
|||
|
||||
ceptre = callPackage ../development/interpreters/ceptre { };
|
||||
|
||||
cg3 = callPackage ../development/interpreters/cg3 { };
|
||||
|
||||
cling = callPackage ../development/interpreters/cling { };
|
||||
|
||||
clips = callPackage ../development/interpreters/clips { };
|
||||
|
|
Loading…
Reference in a new issue