btrbk: add mainProgram
[NixPkgs.git] / pkgs / by-name / li / link-grammar / package.nix
blob68d38d7505d48e8d2c0069766c11feb07a5610fe
1 { lib
2 , stdenv
3 , fetchurl
4 , pkg-config
5 , python3
6 , flex
7 , sqlite
8 , libedit
9 , runCommand
10 , dieHook
13 let
15 link-grammar = stdenv.mkDerivation rec {
16   pname = "link-grammar";
17   version = "5.10.5";
19   outputs = [ "bin" "out" "dev" "man" ];
21   src = fetchurl {
22     url = "http://www.abisource.com/downloads/${pname}/${version}/${pname}-${version}.tar.gz";
23     sha256 = "sha256-MkcQzYEyl1/5zLU1CXMvdVhHOxwZ8XiSAAo97bhhiu0=";
24   };
26   nativeBuildInputs = [
27     pkg-config
28     python3
29     flex
30   ];
32   buildInputs = [
33     sqlite
34     libedit
35   ];
37   configureFlags = [
38     "--disable-java-bindings"
39   ];
41   doCheck = true;
43   passthru.tests = {
44     quick = runCommand "link-grammar-quick-test" {
45       buildInputs = [
46         link-grammar
47         dieHook
48       ];
49     } ''
50       echo "Furiously sleep ideas green colorless." | link-parser en | grep "No complete linkages found." || die "Grammaticaly invalid sentence was parsed."
51       echo "Colorless green ideas sleep furiously." | link-parser en | grep "Found .* linkages." || die "Grammaticaly valid sentence was not parsed."
52       touch $out
53     '';
54   };
56   meta = with lib; {
57     description = "Grammar Checking library";
58     homepage = "https://www.abisource.com/projects/link-grammar/";
59     changelog = "https://github.com/opencog/link-grammar/blob/link-grammar-${version}/ChangeLog";
60     license = licenses.lgpl21Only;
61     maintainers = with maintainers; [ jtojnar ];
62     platforms = platforms.unix;
63   };
67   link-grammar