summaryrefslogtreecommitdiff
path: root/libvoikko.spec
blob: 5cbd1a9c9c64fc1a55a022954e66f14065163254 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
# TODO: java (BR: maven), csharp, js bindings
#
# Conditional build:
%bcond_without	hfst		# HFST morphology backend
%bcond_with	lttoolbox	# lttoolbox morphology backend (experimental)
%bcond_without	vfst		# VFST morphology backend, experimental language independent backend
%bcond_with	vfst_exp	# VFST morphology backend - experimental features
%bcond_with	vislcg3		# VISLCG3 support (experimental)
%bcond_with	dotnet		# C#/Mono library (TODO: finish install)
%bcond_without	python2		# CPython 2.x module
#
Summary:	Library for spell checking, hyphenation and grammar checking
Summary(pl.UTF-8):	Biblioteka do sprawdzania pisowni i gramatyki oraz przenoszenia wyrazów
Name:		libvoikko
Version:	4.2
Release:	2
%if %{with lttoolbox}
License:	GPL v2+
%else
License:	MPL v1.1 or LGPL v2.1+ or GPL v2+
%endif
Group:		Libraries
#Source0Download: https://github.com/voikko/corevoikko/releases
Source0:	https://github.com/voikko/corevoikko/archive/rel-libvoikko-%{version}/%{name}-%{version}.tar.gz
# Source0-md5:	ca27d54e740c6428c1e1e4a0ecd65586
URL:		https://voikko.puimula.org/
%if %{with tests} && %(locale -a | grep -q '^C\.utf8$'; echo $?)
BuildRequires:	glibc-localedb-all
%endif
BuildRequires:	autoconf >= 2.62
BuildRequires:	automake >= 1:1.11
%{?with_hfst:BuildRequires:	hfst-ospell-devel >= 0.5}
BuildRequires:	libstdc++-devel >= 6:4.7
BuildRequires:	libtool >= 2:2.2.6
%{?with_lttoolbox:BuildRequires:	lttoolbox-devel >= 3.2.0}
%{?with_dotnet:BuildRequires:	mono-devel}
BuildRequires:	pkgconfig
%{?with_python2:BuildRequires:	python-modules >= 1:2.7}
BuildRequires:	python3 >= 1:3
BuildRequires:	python3-modules >= 1:3
BuildRequires:	rpm-pythonprov
BuildRequires:	rpmbuild(macros) >= 1.612
%{?with_vislcg3:BuildRequires:	tinyxml2-devel}
%{?with_vislcg3:BuildRequires:	vislcg3-devel >= 0.9}
%{?with_hfst:Requires:	hfst-ospell >= 0.5}
BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)

%description
libvoikko is a library of free Finnish language tools. The library is
written in C++ and uses a left associative grammar for describing the
morphology of Finnish language. The morphology is developed using
Malaga natural language development tool.

libvoikko provides spell checking, hyphenation, grammar checking and
morphological analysis for Finnish language. Support for other
languages is in experimental state.

%description -l pl.UTF-8
libvoikko to biblioteka wolnodostępnych narzędzi dla języka fińskiego.
Jest napisana w C++ i do opisu morfologii języka fińskiego
wykorzystuje gramatykę wiązaną lewostronnie. Morfologię tworzy się
przy użyciu Malagi - narzędzia do programowania gramatyk języków
naturalnych.

libvoikko udostępnia sprawdzanie pisowni, przenoszenie wyrazów,
sprawdzanie gramatyki oraz analizę morfologiczną dla języka fińskiego.
Obsługa innych języków jest w stanie eksperymentalnym.

%package devel
Summary:	Header files for libvoikko library
Summary(pl.UTF-8):	Pliki nagłówkowe biblioteki libvoikko
Group:		Development/Libraries
Requires:	%{name} = %{version}-%{release}

%description devel
Header files for libvoikko library.

%description devel -l pl.UTF-8
Pliki nagłówkowe biblioteki libvoikko.

%package static
Summary:	Static libvoikko library
Summary(pl.UTF-8):	Statyczna biblioteka libvoikko
Group:		Development/Libraries
Requires:	%{name}-devel = %{version}-%{release}

%description static
Static libvoikko library.

%description static -l pl.UTF-8
Statyczna biblioteka libvoikko.

%package -n common-lisp-voikko
Summary:	Common Lisp binding for libvoikko library
Summary(pl.UTF-8):	Wiązania Common Lispa do biblioteki libvoikko
Group:		Libraries
Requires:	%{name} = %{version}-%{release}
Requires:	common-lisp-controller

%description -n common-lisp-voikko
Common Lisp binding for libvoikko library.

%description -n common-lisp-voikko -l pl.UTF-8
Wiązania Common Lispa do biblioteki libvoikko.

%package -n python-libvoikko
Summary:	Python 2 binding for libvoikko library
Summary(pl.UTF-8):	Wiązania Pythona 2 do biblioteki libvoikko
Group:		Libraries/Python
Requires:	%{name} = %{version}-%{release}
Requires:	python-modules >= 1:2.7

%description -n python-libvoikko
Python 2 binding for libvoikko library.

%description -n python-libvoikko -l pl.UTF-8
Wiązania Pythona 2 do biblioteki libvoikko.

%package -n python3-libvoikko
Summary:	Python 3 binding for libvoikko library
Summary(pl.UTF-8):	Wiązania Pythona 3 do biblioteki libvoikko
Group:		Libraries/Python
Requires:	%{name} = %{version}-%{release}
Requires:	python3-modules >= 1:3.2

%description -n python3-libvoikko
Python 3 binding for libvoikko library.

%description -n python3-libvoikko -l pl.UTF-8
Wiązania Pythona 3 do biblioteki libvoikko.

%prep
%setup -q -n corevoikko-rel-libvoikko-%{version}

%build
cd libvoikko
%{__libtoolize}
%{__aclocal} -I m4
%{__autoconf}
%{__autoheader}
%{__automake}
%configure \
	%{!?with_hfst:--disable-hfst} \
	%{?with_lttoolbox:--enable-lttoolbox} \
	%{!?with_vfst:--disable-vfst} \
	%{?with_vfst_exp:--enable-expvfst} \
	%{?with_vislcg3:--enable-vislcg3} \
	--with-dictionary-path=%{_datadir}/voikko:%{_libdir}/voikko

# python script needs non-ascii locale
LC_ALL=C.UTF-8 \
%{__make}

%if %{with dotnet}
cd libvoikko/cs
xbuild /property:configuration=Release
# TODO: install
%endif

%install
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT{%{_libdir},%{_datadir}}/voikko
%if %{with hfst}
install -d $RPM_BUILD_ROOT%{_datadir}/voikko/{3,4}/mor-{default,standard}
%endif
%if %{with vfst}
install -d $RPM_BUILD_ROOT%{_datadir}/voikko/5/mor-{default,standard}
%endif

%{__make} -C libvoikko install \
	DESTDIR=$RPM_BUILD_ROOT

# obsoleted by pkg-config
%{__rm} $RPM_BUILD_ROOT%{_libdir}/libvoikko.la

install -d $RPM_BUILD_ROOT%{_datadir}/common-lisp/source/voikko
cp -p libvoikko/cl/*.{asd,lisp} $RPM_BUILD_ROOT%{_datadir}/common-lisp/source/voikko

%if %{with python2}
install -d $RPM_BUILD_ROOT%{py_sitescriptdir}
cp -p libvoikko/python/libvoikko.py $RPM_BUILD_ROOT%{py_sitescriptdir}
%py_comp $RPM_BUILD_ROOT%{py_sitescriptdir}
%py_ocomp $RPM_BUILD_ROOT%{py_sitescriptdir}
%py_postclean
%endif

install -d $RPM_BUILD_ROOT%{py3_sitescriptdir}
cp -p libvoikko/python/libvoikko.py $RPM_BUILD_ROOT%{py3_sitescriptdir}
%py3_comp $RPM_BUILD_ROOT%{py3_sitescriptdir}
%py3_ocomp $RPM_BUILD_ROOT%{py3_sitescriptdir}

%clean
rm -rf $RPM_BUILD_ROOT

%post	-p /sbin/ldconfig
%postun	-p /sbin/ldconfig

%files
%defattr(644,root,root,755)
%doc libvoikko/{ChangeLog,README}
%attr(755,root,root) %{_bindir}/voikkogc
%attr(755,root,root) %{_bindir}/voikkohyphenate
%attr(755,root,root) %{_bindir}/voikkospell
%attr(755,root,root) %{_bindir}/voikkovfstc
%attr(755,root,root) %{_libdir}/libvoikko.so.*.*.*
%attr(755,root,root) %ghost %{_libdir}/libvoikko.so.1
# for arch-dependent dictionaries
%dir %{_libdir}/voikko
# for arch-independent dictionaries
%dir %{_datadir}/voikko
%if %{with hfst}
%dir %{_datadir}/voikko/3
%dir %{_datadir}/voikko/3/mor-default
%dir %{_datadir}/voikko/3/mor-standard
%dir %{_datadir}/voikko/4
%dir %{_datadir}/voikko/4/mor-default
%dir %{_datadir}/voikko/4/mor-standard
%endif
%if %{with vfst}
%dir %{_datadir}/voikko/5
%dir %{_datadir}/voikko/5/mor-default
%dir %{_datadir}/voikko/5/mor-standard
%endif
%{_mandir}/man1/voikkogc.1*
%{_mandir}/man1/voikkohyphenate.1*
%{_mandir}/man1/voikkospell.1*
%{_mandir}/man1/voikkovfstc.1*

%files devel
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libvoikko.so
%{_includedir}/libvoikko
%{_pkgconfigdir}/libvoikko.pc

%files static
%defattr(644,root,root,755)
%{_libdir}/libvoikko.a

%files -n common-lisp-voikko
%defattr(644,root,root,755)
%{_datadir}/common-lisp/source/voikko

%if %{with python2}
%files -n python-libvoikko
%defattr(644,root,root,755)
%{py_sitescriptdir}/libvoikko.py[co]
%endif

%files -n python3-libvoikko
%defattr(644,root,root,755)
%{py3_sitescriptdir}/libvoikko.py
%{py3_sitescriptdir}/__pycache__/libvoikko.cpython-*.py[co]