# TODO:
-# - warnings at compile stage about pointer size on amd64 - needs check
+# - tensorflow support
+#
+# Conditional build:
+%bcond_without openmp # OpenMP support
+%bcond_with opencl # OpenCL support
+
Summary: Tesseract Open Source OCR Engine
Summary(pl.UTF-8): Tesseract - silnik OCR o otwartych źródłach
Name: tesseract
-Version: 3.04.00
+Version: 5.3.4
Release: 1
License: Apache v2.0
Group: Applications/Graphics
-Source0: https://github.com/tesseract-ocr/tesseract/archive/%{version}.tar.gz
-# Source0-md5: 078130b9c7d28c558a0e49d432505864
-URL: http://code.google.com/p/tesseract-ocr/
-BuildRequires: autoconf >= 2.50
+#Source0Download: https://github.com/tesseract-ocr/tesseract/releases
+Source0: https://github.com/tesseract-ocr/tesseract/archive/%{version}/%{name}-%{version}.tar.gz
+# Source0-md5: 53de961804ccbcb83b73122f721d8f83
+URL: https://github.com/tesseract-ocr/
+%{?with_opencl:BuildRequires: OpenCL-devel}
+BuildRequires: asciidoc
+BuildRequires: autoconf >= 2.69
BuildRequires: automake
BuildRequires: cairo-devel
-BuildRequires: leptonlib-devel >= 1.71
-BuildRequires: libicu-devel
-BuildRequires: libstdc++-devel
-BuildRequires: libtool
-BuildRequires: pango-devel
+BuildRequires: curl-devel
+BuildRequires: leptonlib-devel >= 1.74
+BuildRequires: libarchive-devel
+%{?with_openmp:BuildRequires: libgomp-devel}
+BuildRequires: libicu-devel >= 52.1
+BuildRequires: libstdc++-devel >= 6:7
+BuildRequires: libtiff-devel
+BuildRequires: libtool >= 2:2
+BuildRequires: libxslt-progs
+BuildRequires: pango-devel >= 1:1.38.0
+Requires: leptonlib >= 1.74
Suggests: tesseract-data >= 3
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%package training
Summary: Tesseract training tools
-Summary(pl.UTF-8): Pliki treningowe tesseracta
-Group: Applications/Graphics
-Requires: %{name} = %{version}
+Summary(pl.UTF-8): Narzędzia treningowe Tesseracta
+Group: Applications/Graphics
+Requires: %{name} = %{version}-%{release}
+Requires: pango >= 1:1.38.0
%description training
This package contains the Tesseract training tools.
%description training -l pl.UTF-8
-Ten pakiet zawiera programy do trenowania tesseracta.
+Ten pakiet zawiera programy do trenowania Tesseracta.
%package devel
Summary: Header files for Tesseract libraries
Summary(pl.UTF-8): Pliki nagłówkowe bibliotek Tesseracta
-Group: Development/Libraries
+Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
-Requires: leptonlib-devel
-Requires: libstdc++-devel
+Requires: curl-devel
+Requires: leptonlib-devel >= 1.74
+Requires: libarchive-devel
+Requires: libstdc++-devel >= 6:7
%description devel
This package contains the development header files necessary to
%package static
Summary: Static Tesseract libraries
Summary(pl.UTF-8): Statyczne biblioteki Tesseracta
-Group: Development/Libraries
+Group: Development/Libraries
Requires: %{name}-devel = %{version}-%{release}
%description static
%prep
%setup -q
-# workaround for 'off_t undefined when -std=c++11' workaround
-%ifarch x32
-%{__sed} -e 's|typedef long off_t;|//typedef long off_t;|' -i ccutil/scanutils.cpp
-%endif
%build
%{__libtoolize}
%{__autoconf}
%{__autoheader}
%{__automake}
-%configure
+%configure \
+ %{?with_opencl:--enable-opencl} \
+ %{!?with_openmp:--disable-openmp} \
+ --disable-silent-rules
%{__make}
%{__make} training
%install
rm -rf $RPM_BUILD_ROOT
+install -d $RPM_BUILD_ROOT%{_datadir}/tessdata/script
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT
%files
%defattr(644,root,root,755)
-%doc AUTHORS COPYING ChangeLog README ReleaseNotes
+%doc AUTHORS ChangeLog README.md
%attr(755,root,root) %{_bindir}/tesseract
%attr(755,root,root) %{_libdir}/libtesseract.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libtesseract.so.3
-%{_datadir}/tessdata
+%attr(755,root,root) %ghost %{_libdir}/libtesseract.so.5
+%dir %{_datadir}/tessdata
+%{_datadir}/tessdata/configs
+%dir %{_datadir}/tessdata/script
+%{_datadir}/tessdata/tessconfigs
+%{_datadir}/tessdata/pdf.ttf
%{_mandir}/man1/tesseract.1*
%files training
%attr(755,root,root) %{_bindir}/ambiguous_words
%attr(755,root,root) %{_bindir}/classifier_tester
%attr(755,root,root) %{_bindir}/cntraining
+%attr(755,root,root) %{_bindir}/combine_lang_model
%attr(755,root,root) %{_bindir}/combine_tessdata
%attr(755,root,root) %{_bindir}/dawg2wordlist
+%attr(755,root,root) %{_bindir}/lstmeval
+%attr(755,root,root) %{_bindir}/lstmtraining
+%attr(755,root,root) %{_bindir}/merge_unicharsets
%attr(755,root,root) %{_bindir}/mftraining
%attr(755,root,root) %{_bindir}/set_unicharset_properties
%attr(755,root,root) %{_bindir}/shapeclustering
%attr(755,root,root) %{_bindir}/unicharset_extractor
%attr(755,root,root) %{_bindir}/wordlist2dawg
%{_mandir}/man1/ambiguous_words.1*
+%{_mandir}/man1/classifier_tester.1*
%{_mandir}/man1/cntraining.1*
+%{_mandir}/man1/combine_lang_model.1*
%{_mandir}/man1/combine_tessdata.1*
%{_mandir}/man1/dawg2wordlist.1*
+%{_mandir}/man1/lstmeval.1*
+%{_mandir}/man1/lstmtraining.1*
+%{_mandir}/man1/merge_unicharsets.1*
%{_mandir}/man1/mftraining.1*
+%{_mandir}/man1/set_unicharset_properties.1*
%{_mandir}/man1/shapeclustering.1*
+%{_mandir}/man1/text2image.1*
%{_mandir}/man1/unicharset_extractor.1*
%{_mandir}/man1/wordlist2dawg.1*