aboutsummaryrefslogtreecommitdiff
path: root/math
diff options
context:
space:
mode:
authorDmitry Sivachenko <demon@FreeBSD.org>2014-09-02 13:42:23 +0000
committerDmitry Sivachenko <demon@FreeBSD.org>2014-09-02 13:42:23 +0000
commitfbaaa3b5eecb309fef8eb1e81fc53cfb3be5aabe (patch)
tree7c3e05d70228eae78e3258a3c86ddac56e4316fb /math
parent9cf4c167329a70d6f7374a87328c273809d8a4a2 (diff)
downloadports-fbaaa3b5eecb309fef8eb1e81fc53cfb3be5aabe.tar.gz
ports-fbaaa3b5eecb309fef8eb1e81fc53cfb3be5aabe.zip
Notes
Diffstat (limited to 'math')
-rw-r--r--math/Makefile1
-rw-r--r--math/mosesdecoder/Makefile34
-rw-r--r--math/mosesdecoder/distinfo2
-rw-r--r--math/mosesdecoder/files/patch-Jamroot10
-rw-r--r--math/mosesdecoder/files/patch-jam-files-sanity.jam11
-rw-r--r--math/mosesdecoder/files/patch-lm-Jamfile11
-rw-r--r--math/mosesdecoder/files/patch-util-Jamfile10
-rw-r--r--math/mosesdecoder/pkg-descr7
-rw-r--r--math/mosesdecoder/pkg-plist259
9 files changed, 345 insertions, 0 deletions
diff --git a/math/Makefile b/math/Makefile
index 39ca2f119393..c4762e903943 100644
--- a/math/Makefile
+++ b/math/Makefile
@@ -243,6 +243,7 @@
SUBDIR += minisat
SUBDIR += miracl
SUBDIR += moo
+ SUBDIR += mosesdecoder
SUBDIR += mpc
SUBDIR += mpexpr
SUBDIR += mpfr
diff --git a/math/mosesdecoder/Makefile b/math/mosesdecoder/Makefile
new file mode 100644
index 000000000000..c52420bd6058
--- /dev/null
+++ b/math/mosesdecoder/Makefile
@@ -0,0 +1,34 @@
+# Created by: Dmitry Sivachenko <demon@FreeBSD.org>
+# $FreeBSD$
+
+PORTNAME= mosesdecoder
+PORTVERSION= 2.1.1
+CATEGORIES= math
+
+MAINTAINER= demon@FreeBSD.org
+COMMENT= A statistical machine translation system
+
+BUILD_DEPENDS= bash:${PORTSDIR}/shells/bash
+LIB_DEPENDS= libboost_thread.so:${PORTSDIR}/devel/boost-libs \
+ libRandLM.so:${PORTSDIR}/textproc/randlm \
+ libirstlm.so:${PORTSDIR}/textproc/irstlm
+RUN_DEPENDS= lmplz:${PORTSDIR}/textproc/kenlm
+
+USE_GITHUB= yes
+GH_ACCOUNT= moses-smt
+GH_TAGNAME= RELEASE-2.1.1
+GH_COMMIT= 4ea250e
+
+USES= compiler:c++11-lang
+
+MAKE_ENV+= BOOST_BUILD_PATH=${WRKSRC}/jam-files/boost-build
+
+do-build:
+ cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} bjam --with-boost=${LOCALBASE} --with-irstlm=${LOCALBASE} --with-randlm=${LOCALBASE} --without-tcmalloc --notrace --toolset=${CHOSEN_COMPILER_TYPE} debug-symbols=off ${_MAKE_JOBS}
+
+do-install:
+ ${MKDIR} ${STAGEDIR}${DATADIR}
+ cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} bjam --with-boost=${LOCALBASE} --with-irstlm=${LOCALBASE} --with-randlm=${LOCALBASE} --without-tcmalloc --notrace --prefix=${STAGEDIR}${PREFIX} --install-scripts=${STAGEDIR}${DATADIR} --toolset=${CHOSEN_COMPILER_TYPE} debug-symbols=off ${_MAKE_JOBS} release
+ cd ${STAGEDIR}${PREFIX}/bin && ${RM} build_binary filter fragment lmplz query
+
+.include <bsd.port.mk>
diff --git a/math/mosesdecoder/distinfo b/math/mosesdecoder/distinfo
new file mode 100644
index 000000000000..0c6c07a54f75
--- /dev/null
+++ b/math/mosesdecoder/distinfo
@@ -0,0 +1,2 @@
+SHA256 (mosesdecoder-2.1.1.tar.gz) = 41344081ff944e03d1b5e934f31994758256592e201c222f1f86c7996caae5c3
+SIZE (mosesdecoder-2.1.1.tar.gz) = 14935829
diff --git a/math/mosesdecoder/files/patch-Jamroot b/math/mosesdecoder/files/patch-Jamroot
new file mode 100644
index 000000000000..51e52e16286c
--- /dev/null
+++ b/math/mosesdecoder/files/patch-Jamroot
@@ -0,0 +1,10 @@
+--- Jamroot.orig 2014-09-02 16:03:01.000000000 +0400
++++ Jamroot 2014-09-02 16:04:17.000000000 +0400
+@@ -77,7 +77,6 @@
+ external-lib z ;
+
+ lib dl : : <runtime-link>static:<link>static <runtime-link>shared:<link>shared ;
+-requirements += <library>dl ;
+
+
+ if ! [ option.get "without-tcmalloc" : : "yes" ] && [ test_library "tcmalloc_minimal" ] {
diff --git a/math/mosesdecoder/files/patch-jam-files-sanity.jam b/math/mosesdecoder/files/patch-jam-files-sanity.jam
new file mode 100644
index 000000000000..8e131d38baab
--- /dev/null
+++ b/math/mosesdecoder/files/patch-jam-files-sanity.jam
@@ -0,0 +1,11 @@
+--- jam-files/sanity.jam.orig 2014-08-30 10:44:53.000000000 +0400
++++ jam-files/sanity.jam 2014-08-30 20:33:46.000000000 +0400
+@@ -162,7 +162,7 @@ rule boost-lib ( name macro : deps * ) {
+
+ #Argument is e.g. 103600
+ rule boost ( min-version ) {
+- local cmd = "bash -c \"g++ "$(I-boost-include)" -dM -x c++ -E /dev/null -include boost/version.hpp 2>/dev/null |grep '#define BOOST_'\"" ;
++ local cmd = "bash -c \"CC "$(I-boost-include)" -dM -x c++ -E /dev/null -include boost/version.hpp 2>/dev/null |grep '#define BOOST_'\"" ;
+ local boost-shell = [ SHELL "$(cmd)" : exit-status ] ;
+ if $(boost-shell[2]) != 0 && $(CLEANING) = no {
+ echo Failed to run "$(cmd)" ;
diff --git a/math/mosesdecoder/files/patch-lm-Jamfile b/math/mosesdecoder/files/patch-lm-Jamfile
new file mode 100644
index 000000000000..70c7ddf2888c
--- /dev/null
+++ b/math/mosesdecoder/files/patch-lm-Jamfile
@@ -0,0 +1,11 @@
+--- lm/Jamfile.orig 2014-03-03 19:07:02.000000000 +0400
++++ lm/Jamfile 2014-09-02 16:09:24.000000000 +0400
+@@ -17,8 +17,6 @@
+
+ import testing ;
+
+-run left_test.cc kenlm /top//boost_unit_test_framework : : test.arpa ;
+-run model_test.cc kenlm /top//boost_unit_test_framework : : test.arpa test_nounk.arpa ;
+ run partial_test.cc kenlm /top//boost_unit_test_framework : : test.arpa ;
+
+ exes = ;
diff --git a/math/mosesdecoder/files/patch-util-Jamfile b/math/mosesdecoder/files/patch-util-Jamfile
new file mode 100644
index 000000000000..82852cfd1402
--- /dev/null
+++ b/math/mosesdecoder/files/patch-util-Jamfile
@@ -0,0 +1,10 @@
+--- util/Jamfile.orig 2014-09-02 16:01:51.000000000 +0400
++++ util/Jamfile 2014-09-02 16:01:53.000000000 +0400
+@@ -26,7 +26,6 @@
+ unit-test bit_packing_test : bit_packing_test.cc kenutil /top//boost_unit_test_framework ;
+ run file_piece_test.o kenutil /top//boost_unit_test_framework : : file_piece.cc ;
+ unit-test read_compressed_test : read_compressed_test.o kenutil /top//boost_unit_test_framework ;
+-unit-test joint_sort_test : joint_sort_test.cc kenutil /top//boost_unit_test_framework ;
+ unit-test probing_hash_table_test : probing_hash_table_test.cc kenutil /top//boost_unit_test_framework ;
+ unit-test sorted_uniform_test : sorted_uniform_test.cc kenutil /top//boost_unit_test_framework ;
+ unit-test tokenize_piece_test : tokenize_piece_test.cc kenutil /top//boost_unit_test_framework ;
diff --git a/math/mosesdecoder/pkg-descr b/math/mosesdecoder/pkg-descr
new file mode 100644
index 000000000000..92ad7bfda3f5
--- /dev/null
+++ b/math/mosesdecoder/pkg-descr
@@ -0,0 +1,7 @@
+Moses is a statistical machine translation system that allows you to
+automatically train translation models for any language pair. All you
+need is a collection of translated texts (parallel corpus). Once you have a
+trained model, an efficient search algorithm quickly finds the highest
+probability translation among the exponential number of choices.
+
+WWW: http://www.statmt.org/moses/
diff --git a/math/mosesdecoder/pkg-plist b/math/mosesdecoder/pkg-plist
new file mode 100644
index 000000000000..af0ea3d0493f
--- /dev/null
+++ b/math/mosesdecoder/pkg-plist
@@ -0,0 +1,259 @@
+bin/CreateOnDiskPt
+bin/biconcor
+bin/consolidate
+bin/consolidate-direct
+bin/consolidate-reverse
+bin/evaluator
+bin/extract
+bin/extract-ghkm
+bin/extract-lex
+bin/extract-rules
+bin/extractor
+bin/generateSequences
+bin/kbmira
+bin/lexical-reordering-score
+bin/lmbrgrid
+bin/mert
+bin/mira
+bin/moses
+bin/moses_chart
+bin/pcfg-extract
+bin/pcfg-score
+bin/pro
+bin/processLexicalTable
+bin/processPhraseTable
+bin/queryLexicalTable
+bin/queryOnDiskPt
+bin/queryPhraseTable
+bin/relax-parse
+bin/score
+bin/sentence-bleu
+bin/statistics
+bin/symal
+lib/libmert_lib.a
+lib/libmira_lib.a
+lib/libmoses.a
+lib/libpcfg_common.a
+%%DATADIR%%/OSM/OSM-Train.perl
+%%DATADIR%%/OSM/extract-singletons.perl
+%%DATADIR%%/OSM/flipAlignment.perl
+%%DATADIR%%/README
+%%DATADIR%%/Transliteration/clean.pl
+%%DATADIR%%/Transliteration/corpusCreator.pl
+%%DATADIR%%/Transliteration/prepare-transliteration-phrase-table.pl
+%%DATADIR%%/Transliteration/threshold.pl
+%%DATADIR%%/Transliteration/train-transliteration-module.pl
+%%DATADIR%%/analysis/README
+%%DATADIR%%/analysis/bootstrap-hypothesis-difference-significance.pl
+%%DATADIR%%/analysis/extract-target-trees.py
+%%DATADIR%%/analysis/nontranslated_words.pl
+%%DATADIR%%/analysis/oov.pl
+%%DATADIR%%/analysis/perllib/Error.pm
+%%DATADIR%%/analysis/sentence-by-sentence.pl
+%%DATADIR%%/analysis/sg2dot.perl
+%%DATADIR%%/analysis/show-phrases-used.pl
+%%DATADIR%%/analysis/smtgui/Corpus.pm
+%%DATADIR%%/analysis/smtgui/README
+%%DATADIR%%/analysis/smtgui/file-descriptions
+%%DATADIR%%/analysis/smtgui/file-factors
+%%DATADIR%%/analysis/smtgui/filter-phrase-table.pl
+%%DATADIR%%/analysis/smtgui/newsmtgui.cgi
+%%DATADIR%%/analysis/suspicious_tokenization.pl
+%%DATADIR%%/analysis/weight-scan-summarize.sh
+%%DATADIR%%/analysis/weight-scan.pl
+%%DATADIR%%/ems/example/config.basic
+%%DATADIR%%/ems/example/config.factored
+%%DATADIR%%/ems/example/config.hierarchical
+%%DATADIR%%/ems/example/config.syntax
+%%DATADIR%%/ems/example/config.toy
+%%DATADIR%%/ems/example/data/config.hierarchical
+%%DATADIR%%/ems/example/data/nc-5k.en
+%%DATADIR%%/ems/example/data/nc-5k.fr
+%%DATADIR%%/ems/example/data/run.hierarchical.sh
+%%DATADIR%%/ems/example/data/test-ref.en.sgm
+%%DATADIR%%/ems/example/data/test-src.fr.sgm
+%%DATADIR%%/ems/example/data/weight.ini
+%%DATADIR%%/ems/experiment.machines
+%%DATADIR%%/ems/experiment.meta
+%%DATADIR%%/ems/experiment.perl
+%%DATADIR%%/ems/fix-info.perl
+%%DATADIR%%/ems/support/analysis.perl
+%%DATADIR%%/ems/support/berkeley-process.sh
+%%DATADIR%%/ems/support/berkeley-train.sh
+%%DATADIR%%/ems/support/build-domain-file-from-subcorpora.perl
+%%DATADIR%%/ems/support/build-sparse-features.perl
+%%DATADIR%%/ems/support/consolidate-training-data.perl
+%%DATADIR%%/ems/support/defaultconfig.py
+%%DATADIR%%/ems/support/generic-multicore-parallelizer.perl
+%%DATADIR%%/ems/support/generic-parallelizer.perl
+%%DATADIR%%/ems/support/input-from-sgm.perl
+%%DATADIR%%/ems/support/interpolate-lm.perl
+%%DATADIR%%/ems/support/mml-filter.perl
+%%DATADIR%%/ems/support/mml-filter.py
+%%DATADIR%%/ems/support/mml-score.perl
+%%DATADIR%%/ems/support/mml-train.perl
+%%DATADIR%%/ems/support/prepare-fast-align.perl
+%%DATADIR%%/ems/support/reference-from-sgm.perl
+%%DATADIR%%/ems/support/remove-segmentation-markup.perl
+%%DATADIR%%/ems/support/report-experiment-scores.perl
+%%DATADIR%%/ems/support/run-command-on-multiple-refsets.perl
+%%DATADIR%%/ems/support/run-wade.perl
+%%DATADIR%%/ems/support/split-sentences.perl
+%%DATADIR%%/ems/support/substitute-filtered-tables-and-weights.perl
+%%DATADIR%%/ems/support/substitute-filtered-tables.perl
+%%DATADIR%%/ems/support/substitute-weights.perl
+%%DATADIR%%/ems/support/symmetrize-fast-align.perl
+%%DATADIR%%/ems/support/wrap-xml.perl
+%%DATADIR%%/ems/web/analysis.php
+%%DATADIR%%/ems/web/analysis_diff.php
+%%DATADIR%%/ems/web/base64.js
+%%DATADIR%%/ems/web/bilingual-concordance.css
+%%DATADIR%%/ems/web/close.gif
+%%DATADIR%%/ems/web/comment.php
+%%DATADIR%%/ems/web/diff.php
+%%DATADIR%%/ems/web/favicon.ico
+%%DATADIR%%/ems/web/general.css
+%%DATADIR%%/ems/web/hierarchical-segmentation.css
+%%DATADIR%%/ems/web/hierarchical-segmentation.js
+%%DATADIR%%/ems/web/index.php
+%%DATADIR%%/ems/web/javascripts/builder.js
+%%DATADIR%%/ems/web/javascripts/controls.js
+%%DATADIR%%/ems/web/javascripts/dragdrop.js
+%%DATADIR%%/ems/web/javascripts/effects.js
+%%DATADIR%%/ems/web/javascripts/prototype.js
+%%DATADIR%%/ems/web/javascripts/scriptaculous-js-1.8.3/lib/prototype.js
+%%DATADIR%%/ems/web/javascripts/scriptaculous-js-1.8.3/src/builder.js
+%%DATADIR%%/ems/web/javascripts/scriptaculous-js-1.8.3/src/controls.js
+%%DATADIR%%/ems/web/javascripts/scriptaculous-js-1.8.3/src/dragdrop.js
+%%DATADIR%%/ems/web/javascripts/scriptaculous-js-1.8.3/src/effects.js
+%%DATADIR%%/ems/web/javascripts/scriptaculous-js-1.8.3/src/scriptaculous.js
+%%DATADIR%%/ems/web/javascripts/scriptaculous-js-1.8.3/src/slider.js
+%%DATADIR%%/ems/web/javascripts/scriptaculous-js-1.8.3/src/sound.js
+%%DATADIR%%/ems/web/javascripts/scriptaculous-js-1.8.3/src/unittest.js
+%%DATADIR%%/ems/web/javascripts/scriptaculous.js
+%%DATADIR%%/ems/web/javascripts/slider.js
+%%DATADIR%%/ems/web/javascripts/sound.js
+%%DATADIR%%/ems/web/javascripts/unittest.js
+%%DATADIR%%/ems/web/lib.php
+%%DATADIR%%/ems/web/overview.php
+%%DATADIR%%/ems/web/progress.perl
+%%DATADIR%%/ems/web/setup
+%%DATADIR%%/ems/web/sgviz.js
+%%DATADIR%%/ems/web/sgviz.php
+%%DATADIR%%/ems/web/spinner.gif
+%%DATADIR%%/fuzzy-match/compile.sh
+%%DATADIR%%/fuzzy-match/create_xml.perl
+%%DATADIR%%/generic/compound-splitter.perl
+%%DATADIR%%/generic/extract-factors.pl
+%%DATADIR%%/generic/extract-parallel.perl
+%%DATADIR%%/generic/fsa-sample.fsa
+%%DATADIR%%/generic/fsa2plf.pl
+%%DATADIR%%/generic/giza-parallel.perl
+%%DATADIR%%/generic/lopar2pos.pl
+%%DATADIR%%/generic/moses-parallel.pl
+%%DATADIR%%/generic/mteval-v12.pl
+%%DATADIR%%/generic/mteval-v13a.pl
+%%DATADIR%%/generic/multi-bleu.perl
+%%DATADIR%%/generic/ph_numbers.perl
+%%DATADIR%%/generic/qsub-wrapper.pl
+%%DATADIR%%/generic/reverse-alignment.perl
+%%DATADIR%%/generic/score-parallel.perl
+%%DATADIR%%/generic/strip-xml.perl
+%%DATADIR%%/generic/trainlm-irst2.perl
+%%DATADIR%%/generic/trainlm-lmplz.perl
+%%DATADIR%%/recaser/detruecase.perl
+%%DATADIR%%/recaser/recase.perl
+%%DATADIR%%/recaser/train-recaser.perl
+%%DATADIR%%/recaser/train-truecaser.perl
+%%DATADIR%%/recaser/truecase.perl
+%%DATADIR%%/share/nonbreaking_prefixes/README.txt
+%%DATADIR%%/share/nonbreaking_prefixes/nonbreaking_prefix.ca
+%%DATADIR%%/share/nonbreaking_prefixes/nonbreaking_prefix.cs
+%%DATADIR%%/share/nonbreaking_prefixes/nonbreaking_prefix.de
+%%DATADIR%%/share/nonbreaking_prefixes/nonbreaking_prefix.el
+%%DATADIR%%/share/nonbreaking_prefixes/nonbreaking_prefix.en
+%%DATADIR%%/share/nonbreaking_prefixes/nonbreaking_prefix.es
+%%DATADIR%%/share/nonbreaking_prefixes/nonbreaking_prefix.fr
+%%DATADIR%%/share/nonbreaking_prefixes/nonbreaking_prefix.hu
+%%DATADIR%%/share/nonbreaking_prefixes/nonbreaking_prefix.is
+%%DATADIR%%/share/nonbreaking_prefixes/nonbreaking_prefix.it
+%%DATADIR%%/share/nonbreaking_prefixes/nonbreaking_prefix.lv
+%%DATADIR%%/share/nonbreaking_prefixes/nonbreaking_prefix.nl
+%%DATADIR%%/share/nonbreaking_prefixes/nonbreaking_prefix.pl
+%%DATADIR%%/share/nonbreaking_prefixes/nonbreaking_prefix.pt
+%%DATADIR%%/share/nonbreaking_prefixes/nonbreaking_prefix.ro
+%%DATADIR%%/share/nonbreaking_prefixes/nonbreaking_prefix.ru
+%%DATADIR%%/share/nonbreaking_prefixes/nonbreaking_prefix.sk
+%%DATADIR%%/share/nonbreaking_prefixes/nonbreaking_prefix.sl
+%%DATADIR%%/share/nonbreaking_prefixes/nonbreaking_prefix.sv
+%%DATADIR%%/tokenizer/deescape-special-chars.perl
+%%DATADIR%%/tokenizer/detokenizer.perl
+%%DATADIR%%/tokenizer/escape-special-chars.perl
+%%DATADIR%%/tokenizer/lowercase.perl
+%%DATADIR%%/tokenizer/normalize-punctuation.perl
+%%DATADIR%%/tokenizer/replace-unicode-punctuation.perl
+%%DATADIR%%/tokenizer/tokenizer.perl
+%%DATADIR%%/training/LexicalTranslationModel.pm
+%%DATADIR%%/training/absolutize_moses_model.pl
+%%DATADIR%%/training/analyse_moses_model.pl
+%%DATADIR%%/training/binarize-model.perl
+%%DATADIR%%/training/build-generation-table.perl
+%%DATADIR%%/training/clean-corpus-n.perl
+%%DATADIR%%/training/clone_moses_model.pl
+%%DATADIR%%/training/combine_factors.pl
+%%DATADIR%%/training/convert-moses-ini-to-v2.perl
+%%DATADIR%%/training/corpus-sizes.perl
+%%DATADIR%%/training/create_count_tables.py
+%%DATADIR%%/training/exodus.perl
+%%DATADIR%%/training/filter-model-given-input.pl
+%%DATADIR%%/training/filter-rule-table.py
+%%DATADIR%%/training/flexibility_score.py
+%%DATADIR%%/training/get-lexical.perl
+%%DATADIR%%/training/giza2bal.pl
+%%DATADIR%%/training/mert-moses.pl
+%%DATADIR%%/training/postprocess-lopar.perl
+%%DATADIR%%/training/reduce-topt-count.pl
+%%DATADIR%%/training/reduce_combine.pl
+%%DATADIR%%/training/remove-orphan-phrase-pairs-from-reordering-table.perl
+%%DATADIR%%/training/threshold-filter.perl
+%%DATADIR%%/training/train-global-lexicon-model.perl
+%%DATADIR%%/training/train-model.perl
+%%DATADIR%%/training/wrappers/adam-suffix-array/suffix-array-create.sh
+%%DATADIR%%/training/wrappers/adam-suffix-array/suffix-array-extract.sh
+%%DATADIR%%/training/wrappers/berkeleyparsed2mosesxml.perl
+%%DATADIR%%/training/wrappers/filter-excluded-lines.perl
+%%DATADIR%%/training/wrappers/find-unparseable.perl
+%%DATADIR%%/training/wrappers/mada-wrapper.perl
+%%DATADIR%%/training/wrappers/make-factor-en-pos.mxpost.perl
+%%DATADIR%%/training/wrappers/make-factor-pos.tree-tagger.perl
+%%DATADIR%%/training/wrappers/make-factor-stem.perl
+%%DATADIR%%/training/wrappers/make-factor-suffix.perl
+%%DATADIR%%/training/wrappers/mosesxml2berkeleyparsed.perl
+%%DATADIR%%/training/wrappers/parse-de-berkeley.perl
+%%DATADIR%%/training/wrappers/parse-de-bitpar.perl
+%%DATADIR%%/training/wrappers/parse-en-collins.perl
+%%DATADIR%%/training/wrappers/syntax-hyphen-splitting.perl
+@dirrmtry %%DATADIR%%/OSM
+@dirrmtry %%DATADIR%%/Transliteration
+@dirrmtry %%DATADIR%%/analysis/perllib
+@dirrmtry %%DATADIR%%/analysis/smtgui
+@dirrmtry %%DATADIR%%/analysis
+@dirrmtry %%DATADIR%%/ems/example/data
+@dirrmtry %%DATADIR%%/ems/example
+@dirrmtry %%DATADIR%%/ems/support
+@dirrmtry %%DATADIR%%/ems/web/javascripts/scriptaculous-js-1.8.3/lib
+@dirrmtry %%DATADIR%%/ems/web/javascripts/scriptaculous-js-1.8.3/src
+@dirrmtry %%DATADIR%%/ems/web/javascripts/scriptaculous-js-1.8.3
+@dirrmtry %%DATADIR%%/ems/web/javascripts
+@dirrmtry %%DATADIR%%/ems/web
+@dirrmtry %%DATADIR%%/ems
+@dirrmtry %%DATADIR%%/fuzzy-match
+@dirrmtry %%DATADIR%%/generic
+@dirrmtry %%DATADIR%%/recaser
+@dirrmtry %%DATADIR%%/share/nonbreaking_prefixes
+@dirrmtry %%DATADIR%%/share
+@dirrmtry %%DATADIR%%/tokenizer
+@dirrmtry %%DATADIR%%/training/wrappers/adam-suffix-array
+@dirrmtry %%DATADIR%%/training/wrappers
+@dirrmtry %%DATADIR%%/training
+@dirrmtry %%DATADIR%%