aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--textproc/apertium/Makefile61
-rw-r--r--textproc/apertium/files/patch-apertium__hmm.cc80
-rw-r--r--textproc/apertium/files/patch-apertium__lextor.cc47
-rw-r--r--textproc/apertium/pkg-plist51
4 files changed, 199 insertions, 40 deletions
diff --git a/textproc/apertium/Makefile b/textproc/apertium/Makefile
index bbefa0b83b86..8cd70a5fc4a3 100644
--- a/textproc/apertium/Makefile
+++ b/textproc/apertium/Makefile
@@ -2,55 +2,44 @@
# $FreeBSD$
PORTNAME= apertium
-PORTVERSION= ${APVER}.${APREV}
-PORTREVISION= 3
+PORTVERSION= 3.2.0
+PORTREVISION= 4
CATEGORIES= textproc
-MASTER_SITES= SF/${PORTNAME}/${PORTNAME}/${APVER}
+MASTER_SITES= SF/${PORTNAME}/${PORTNAME}/${PORTVERSION:R}
MAINTAINER= ports@FreeBSD.org
COMMENT= Toolbox to build shallow-transfer machine translation systems
+LICENSE= GPLv2 # (or later)
+
BUILD_DEPENDS= bash:${PORTSDIR}/shells/bash
+LIB_DEPENDS= libpcre.so:${PORTSDIR}/devel/pcre \
+ liblttoolbox3.so:${PORTSDIR}/textproc/lttoolbox
RUN_DEPENDS= bash:${PORTSDIR}/shells/bash
-LIB_DEPENDS= libxml2.so:${PORTSDIR}/textproc/libxml2 \
- libxslt.so:${PORTSDIR}/textproc/libxslt \
- liblttoolbox3.so:${PORTSDIR}/textproc/lttoolbox \
- libpcre.so:${PORTSDIR}/devel/pcre
-
-APVER= 3.2
-APREV= 0
+USES= libtool pathfix pkgconfig
+USE_GNOME= libxml2 libxslt
+GNU_CONFIGURE= yes
+USE_LDCONFIG= yes
+INSTALL_TARGET= install-strip
MAKE_JOBS_UNSAFE= yes
-GNU_CONFIGURE= yes
CPPFLAGS+= -I${LOCALBASE}/include
LDFLAGS+= -L${LOCALBASE}/lib
-USES= pathfix pkgconfig
-USE_LDCONFIG= yes
-PLIST_SUB+= APVER="${APVER}"
-
-MAN1= apertium-deshtml.1 apertium-desodt.1 apertium-despptx.1 \
- apertium-desrtf.1 apertium-destxt.1 apertium-deswxml.1 \
- apertium-desxlsx.1 apertium-filter-ambiguity.1 \
- apertium-gen-deformat.1 apertium-gen-lextorbil.1 \
- apertium-gen-lextormono.1 apertium-gen-modes.1 \
- apertium-gen-reformat.1 apertium-gen-stopwords-lextor.1 \
- apertium-gen-wlist-lextor-translation.1 apertium-gen-wlist-lextor.1 \
- apertium-interchunk.1 apertium-lextor.1 apertium-multiple-translations.1 \
- apertium-postchunk.1 apertium-preprocess-corpus-lextor.1 \
- apertium-preprocess-transfer.1 apertium-pretransfer.1 \
- apertium-rehtml.1 apertium-reodt.1 apertium-repptx.1 \
- apertium-rertf.1 apertium-retxt.1 apertium-rewxml.1 apertium-rexlsx.1 \
- apertium-tagger-apply-new-rules.1 apertium-tagger.1 apertium-transfer.1 \
- apertium-validate-acx.1 apertium-validate-dictionary.1 \
- apertium-validate-interchunk.1 apertium-validate-modes.1 \
- apertium-validate-postchunk.1 apertium-validate-tagger.1\
- apertium-validate-transfer.1 apertium-unformat.1 \
- apertium.1 apertium-desmediawiki.1 apertium-remediawiki.1
-
-NO_STAGE= yes
+PLIST_SUB= APVER="${PORTVERSION:R}"
+
post-patch:
- @${REINPLACE_CMD} -e 's/pcre_info/pcre_fullinfo/g' ${WRKSRC}/configure
+ @${REINPLACE_CMD} -e \
+ 's| -ansi | | ; \
+ s| -march=.* | | ; \
+ s| -mtune=.* | | ; \
+ s| -O3 | | ; \
+ s|pcre_info|pcre_fullinfo|g' ${WRKSRC}/configure
+ @${REINPLACE_CMD} -e \
+ 's|\([[:blank:]]\)\($$(modesdir)\)|\1$$(DESTDIR)\2|' \
+ ${WRKSRC}/Makefile.in
+ @${REINPLACE_CMD} -e \
+ 's|_C_|_H_|' ${WRKSRC}/apertium/tmx_aligner_tool.h
.include <bsd.port.mk>
diff --git a/textproc/apertium/files/patch-apertium__hmm.cc b/textproc/apertium/files/patch-apertium__hmm.cc
new file mode 100644
index 000000000000..7059b053f305
--- /dev/null
+++ b/textproc/apertium/files/patch-apertium__hmm.cc
@@ -0,0 +1,80 @@
+--- apertium/hmm.cc.orig
++++ apertium/hmm.cc
+@@ -141,7 +141,7 @@
+ int N = td->getN();
+ int M = td->getM();
+ int i, j, k, k1, k2, nw=0;
+-#ifdef __GNUC__
++#if defined(__GNUC__) && !defined(__clang__)
+ double classes_ocurrences[M]; //M = Number of ambiguity classes
+ double classes_pair_ocurrences[M][M];
+ double tags_estimate[N]; //N = Number of tags (states)
+@@ -159,7 +159,7 @@
+
+ TaggerWord *word=NULL;
+
+-#ifdef __GNUC__
++#if defined(__GNUC__) && !defined(__clang__)
+ for(k=0; k<M; k++) {
+ classes_ocurrences[k]=1;
+ for (k2=0; k2<M; k2++)
+@@ -204,7 +204,7 @@
+
+ //Estimation of the number of time each tags occurs in the training text
+ for(i=0; i<N; i++) {
+-#ifdef __GNUC__
++#if defined(__GNUC__) && !defined(__clang__)
+ tags_estimate[i]=0;
+ #endif
+ for(k=0; k<M; k++) {
+@@ -214,7 +214,7 @@
+ }
+ }
+
+-#ifdef __GNUC__
++#if defined(__GNUC__) && !defined(__clang__)
+ //Estimation of the number of times each tag pair occurs
+ for(i=0; i<N; i++)
+ for(j=0; j<N; j++)
+@@ -270,7 +270,7 @@
+ int i, j, k, nw=0;
+ int N = td->getN();
+ int M = td->getM();
+-#ifdef __GNUC__
++#if defined(__GNUC__) && !defined(__clang__)
+ double tags_pair[N][N];
+ double emission[N][M];
+ #else
+@@ -288,7 +288,7 @@
+
+ set<TTag> tags;
+
+-#ifdef __GNUC__
++#if defined(__GNUC__) && !defined(__clang__)
+ // Init counters - each event appears at least once.
+ // Espected likelihood estimate (ELE) with a fixed initial count of 1
+ for(i=0; i<N; i++) {
+@@ -750,12 +750,12 @@
+
+ double prob, loli, x;
+ int N = td->getN();
+-#ifdef __GNUC__
++#if defined(__GNUC__) && !defined(__clang__)
+ double alpha[2][N];
+ vector<TTag> best[2][N];
+ #else
+ vector <vector <double> > alpha(2, vector<double>(N));
+- vector <vector <vector<TTag>> > best(2, vector<vector<TTag>>(N));
++ vector <vector <vector<TTag> > > best(2, vector<vector<TTag> >(N));
+ #endif
+
+ vector <TaggerWord> wpend;
+@@ -799,7 +799,7 @@
+
+ k = output[tags]; //Ambiguity class the word belongs to
+
+-#ifdef __GNUC__
++#if defined(__GNUC__) && !defined(__clang__)
+ clear_array_double(alpha[nwpend%2], N);
+ clear_array_vector(best[nwpend%2], N);
+ #endif
diff --git a/textproc/apertium/files/patch-apertium__lextor.cc b/textproc/apertium/files/patch-apertium__lextor.cc
new file mode 100644
index 000000000000..402138515133
--- /dev/null
+++ b/textproc/apertium/files/patch-apertium__lextor.cc
@@ -0,0 +1,47 @@
+--- apertium/lextor.cc.orig
++++ apertium/lextor.cc
+@@ -277,7 +277,7 @@
+ //Note: Words in the context can also be ambiguous (with more than one lexical choice)
+ //In that case the count will come from all the possible
+ //translations
+-#ifdef __GNUC__
++#if defined(__GNUC__) && !defined(__clang__)
+ vector<wstring> translation_buffer[buffer_max_size];
+ wstring reduced_buffer[buffer_max_size];
+ #else
+@@ -340,7 +340,7 @@
+ //The counts of the TL co-occurrence model are transferred to the SL. If the SL word is ambiguous
+ //it will have more than one translation into TL, so we need to normalize using the frequency of words
+ //in the TL
+-#ifdef __GNUC__
++#if defined(__GNUC__) && !defined(__clang__)
+ double translation_weighs[translation_buffer[i].size()];
+ #else
+ vector <double> translation_weighs(translation_buffer[i].size());
+@@ -686,7 +686,7 @@
+
+ int
+ LexTor::estimate_winner_lch_voting(deque<LexTorWord>& window, int word_index, double weigth_exponent) {
+-#ifdef __GNUC__
++#if defined(__GNUC__) && !defined(__clang__)
+ double lexchoices_count[window[word_index].n_lexical_choices()];
+ #else
+ vector <double> lexchoices_count(window[word_index].n_lexical_choices());
+@@ -879,7 +879,7 @@
+ exit(EXIT_FAILURE);
+ }
+
+-#ifdef __GNUC__
++#if defined(__GNUC__) && !defined(__clang__)
+ double lexchoices_count[window[word_index].n_lexical_choices()];
+ vector<wstring> translation_window[window.size()];
+ wstring reduced_window[window.size()];
+@@ -935,7 +935,7 @@
+ //If the SL word is ambiguous it will have more than one
+ //translation into TL, so we need to normalize using the
+ //frequency of words in the TL
+-#ifdef __GNUC__
++#if defined(__GNUC__) && !defined(__clang__)
+ double translation_weighs[translation_window[k].size()];
+ #else
+ vector <double> translation_weighs(translation_window[k].size());
diff --git a/textproc/apertium/pkg-plist b/textproc/apertium/pkg-plist
index a4fd0532afb9..97480252b850 100644
--- a/textproc/apertium/pkg-plist
+++ b/textproc/apertium/pkg-plist
@@ -89,12 +89,55 @@ include/apertium-%%APVER%%/apertium/tsx_reader.h
include/apertium-%%APVER%%/apertium/ttag.h
include/apertium-%%APVER%%/apertium/unlocked_cstdio.h
include/apertium-%%APVER%%/apertium/utf_converter.h
-lib/libapertium3-%%APVER%%.so
lib/libapertium3-%%APVER%%.so.0
+lib/libapertium3-%%APVER%%.so.0.0.0
lib/libapertium3.a
-lib/libapertium3.la
lib/libapertium3.so
libdata/pkgconfig/apertium-%%APVER%%.pc
+man/man1/apertium.1.gz
+man/man1/apertium-deshtml.1.gz
+man/man1/apertium-desmediawiki.1.gz
+man/man1/apertium-desodt.1.gz
+man/man1/apertium-despptx.1.gz
+man/man1/apertium-desrtf.1.gz
+man/man1/apertium-destxt.1.gz
+man/man1/apertium-deswxml.1.gz
+man/man1/apertium-desxlsx.1.gz
+man/man1/apertium-filter-ambiguity.1.gz
+man/man1/apertium-gen-deformat.1.gz
+man/man1/apertium-gen-lextorbil.1.gz
+man/man1/apertium-gen-lextormono.1.gz
+man/man1/apertium-gen-modes.1.gz
+man/man1/apertium-gen-reformat.1.gz
+man/man1/apertium-gen-stopwords-lextor.1.gz
+man/man1/apertium-gen-wlist-lextor-translation.1.gz
+man/man1/apertium-gen-wlist-lextor.1.gz
+man/man1/apertium-interchunk.1.gz
+man/man1/apertium-lextor.1.gz
+man/man1/apertium-multiple-translations.1.gz
+man/man1/apertium-postchunk.1.gz
+man/man1/apertium-preprocess-corpus-lextor.1.gz
+man/man1/apertium-preprocess-transfer.1.gz
+man/man1/apertium-pretransfer.1.gz
+man/man1/apertium-rehtml.1.gz
+man/man1/apertium-remediawiki.1.gz
+man/man1/apertium-reodt.1.gz
+man/man1/apertium-repptx.1.gz
+man/man1/apertium-rertf.1.gz
+man/man1/apertium-retxt.1.gz
+man/man1/apertium-rewxml.1.gz
+man/man1/apertium-rexlsx.1.gz
+man/man1/apertium-tagger-apply-new-rules.1.gz
+man/man1/apertium-tagger.1.gz
+man/man1/apertium-transfer.1.gz
+man/man1/apertium-unformat.1.gz
+man/man1/apertium-validate-acx.1.gz
+man/man1/apertium-validate-dictionary.1.gz
+man/man1/apertium-validate-interchunk.1.gz
+man/man1/apertium-validate-modes.1.gz
+man/man1/apertium-validate-postchunk.1.gz
+man/man1/apertium-validate-tagger.1.gz
+man/man1/apertium-validate-transfer.1.gz
%%DATADIR%%/acx.rng
%%DATADIR%%/apertium-createmodes.awk
%%DATADIR%%/deformat.xsl
@@ -111,7 +154,7 @@ libdata/pkgconfig/apertium-%%APVER%%.pc
%%DATADIR%%/reformat.xsl
%%DATADIR%%/tagger.dtd
%%DATADIR%%/transfer.dtd
-@dirrm include/apertium-%%APVER%%/apertium
-@dirrm include/apertium-%%APVER%%
@dirrm %%DATADIR%%/modes
@dirrm %%DATADIR%%
+@dirrm include/apertium-%%APVER%%/apertium
+@dirrm include/apertium-%%APVER%%