nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5 gitUpdater,
6 callPackage,
7 autoreconfHook,
8 bzip2,
9 libtar,
10 libtool,
11 pkg-config,
12 autoconf-archive,
13 libxml2,
14 icu,
15 libexttextcat,
16 ticcutils,
17 timbl,
18 mbt,
19 libfolia,
20 ucto,
21 frogdata,
22}:
23
24stdenv.mkDerivation (finalAttrs: {
25 pname = "frog";
26 version = "0.34";
27
28 src = fetchFromGitHub {
29 owner = "LanguageMachines";
30 repo = "frog";
31 tag = "v${finalAttrs.version}";
32 hash = "sha256-+oao0aOhXAnXnWbfZXcCzBFER8Q8TaYciAVQHlZ1D+E=";
33 };
34
35 nativeBuildInputs = [
36 pkg-config
37 autoreconfHook
38 ];
39 buildInputs = [
40 bzip2
41 libtar
42 libtool
43 autoconf-archive
44 libxml2
45 icu
46 libexttextcat
47 ticcutils
48 timbl
49 mbt
50 libfolia
51 ucto
52 frogdata
53 ];
54
55 postInstall = ''
56 # frog expects the data files installed in the same prefix
57 mkdir -p $out/share/frog/;
58 for f in ${frogdata}/share/frog/*; do
59 ln -s $f $out/share/frog/;
60 done;
61
62 make check
63 '';
64
65 passthru = {
66 updateScript = gitUpdater { rev-prefix = "v"; };
67 tests.simple = callPackage ./test.nix { frog = finalAttrs.finalPackage; };
68 };
69
70 meta = {
71 description = "Tagger-Lemmatizer-Morphological-Analyzer-Dependency-Parser for Dutch";
72 homepage = "https://languagemachines.github.io/frog";
73 license = lib.licenses.gpl3;
74 platforms = lib.platforms.all;
75 maintainers = with lib.maintainers; [ roberth ];
76
77 longDescription = ''
78 Frog is an integration of memory-based natural language processing (NLP) modules developed for Dutch. All NLP modules are based on Timbl, the Tilburg memory-based learning software package. Most modules were created in the 1990s at the ILK Research Group (Tilburg University, the Netherlands) and the CLiPS Research Centre (University of Antwerp, Belgium). Over the years they have been integrated into a single text processing tool, which is currently maintained and developed by the Language Machines Research Group and the Centre for Language and Speech Technology at Radboud University Nijmegen. A dependency parser, a base phrase chunker, and a named-entity recognizer module were added more recently. Where possible, Frog makes use of multi-processor support to run subtasks in parallel.
79
80 Various (re)programming rounds have been made possible through funding by NWO, the Netherlands Organisation for Scientific Research, particularly under the CGN project, the IMIX programme, the Implicit Linguistics project, the CLARIN-NL programme and the CLARIAH programme.
81 '';
82 };
83
84})