-# NOTE
-# - warnings at compile stage about pointer size on amd64
-# - what to do with all the headers and static libs? remove?
+# TODO:
+# - warnings at compile stage about pointer size on amd64 - needs check
+#
+# 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
+%define _beta beta.4
Name: tesseract
-Version: 2.00
-Release: 0.1
-License: Apache Software License v2
+Version: 4.0.0
+Release: 0.%{_beta}.1
+License: Apache v2.0
Group: Applications/Graphics
-Source0: http://tesseract-ocr.googlecode.com/files/%{name}-%{version}.tar.gz
-# Source0-md5: 6d68d940ed15c61300cb04019c30f46c
-Source1: http://tesseract-ocr.googlecode.com/files/%{name}-%{version}.eng.tar.gz
-# Source1-md5: b8291d6b3a63ce7879d688e845e341a9
-Source2: http://tesseract-ocr.googlecode.com/files/%{name}-%{version}.fra.tar.gz
-# Source2-md5: 64896b462e62572a3708bb461820126c
-Source3: http://tesseract-ocr.googlecode.com/files/%{name}-%{version}.ita.tar.gz
-# Source3-md5: 2759e1dae91a989a43490ff4c2253a4b
-Source4: http://tesseract-ocr.googlecode.com/files/%{name}-%{version}.deu.tar.gz
-# Source4-md5: 609d91b1ae3759a756b819b5d8403653
-Source5: http://tesseract-ocr.googlecode.com/files/%{name}-%{version}.spa.tar.gz
-# Source5-md5: bc26a777b2384613895677cb8e61ca75
-Source6: http://tesseract-ocr.googlecode.com/files/%{name}-%{version}.nld.tar.gz
-# Source6-md5: b2f6ede182cea4bbfffd3b040533ce58
-Patch0: %{name}-globals.patch
-URL: http://code.google.com/p/tesseract-ocr/
+#Source0Download: https://github.com/tesseract-ocr/tesseract/releases
+Source0: https://github.com/tesseract-ocr/tesseract/archive/%{version}-%{_beta}/%{name}-%{version}-%{_beta}.tar.gz
+# Source0-md5: 9984be13fd64872fb236a60475f5fec6
+Patch0: %{name}-opencl.patch
+URL: https://github.com/tesseract-ocr/
+%{?with_opencl:BuildRequires: OpenCL-devel}
+BuildRequires: autoconf >= 2.59
BuildRequires: automake
+BuildRequires: cairo-devel
+BuildRequires: leptonlib-devel >= 1.74
+%{?with_openmp:BuildRequires: libgomp-devel}
+BuildRequires: libicu-devel
+BuildRequires: libstdc++-devel >= 6:4.7
BuildRequires: libtiff-devel
+BuildRequires: libtool >= 2:2
+BuildRequires: pango-devel
+Suggests: tesseract-data >= 3
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
latach 1985-1995. W 1995 roku był jednym z 3 najlepszych wg UNLV.
Źródła zostały uwolnione przez HP i UNLV w 2005 roku.
+%package training
+Summary: Tesseract training tools
+Summary(pl.UTF-8): Narzędzia treningowe Tesseracta
+Group: Applications/Graphics
+Requires: %{name} = %{version}
+
+%description training
+This package contains the Tesseract training tools.
+
+%description training -l pl.UTF-8
+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
+Requires: %{name} = %{version}-%{release}
+Requires: leptonlib-devel
+Requires: libstdc++-devel
+
+%description devel
+This package contains the development header files necessary to
+develop applications using Tesseract API.
+
+%description devel -l pl.UTF-8
+Ten pakiet zawiera pliki nagłówkowe potrzebne do tworzenia programów
+wykorzystujących API Tesseracta.
+
+%package static
+Summary: Static Tesseract libraries
+Summary(pl.UTF-8): Statyczne biblioteki Tesseracta
+Group: Development/Libraries
+Requires: %{name}-devel = %{version}-%{release}
+
+%description static
+Static Tesseract libraries.
+
+%description static -l pl.UTF-8
+Statyczne biblioteki Tesseracta.
+
%prep
-%setup -q
+%setup -q -n %{name}-%{version}-%{_beta}
#%patch0 -p1
-tar zxf %{SOURCE1}
-tar xzf %{SOURCE2}
-tar xzf %{SOURCE3}
-tar xzf %{SOURCE4}
-tar xzf %{SOURCE5}
-tar xzf %{SOURCE6}
%build
-cp -f /usr/share/automake/config.sub config
-%configure
+%{__libtoolize}
+%{__aclocal}
+%{__autoconf}
+%{__autoheader}
+%{__automake}
+%configure \
+ %{?with_opencl:--enable-opencl} \
+ %{!?with_openmp:--disable-openmp}
%{__make}
+%{__make} training
%install
rm -rf $RPM_BUILD_ROOT
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT
+%{__make} training-install \
+ DESTDIR=$RPM_BUILD_ROOT
+
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/libtesseract.la
+
%clean
rm -rf $RPM_BUILD_ROOT
+%post -p /sbin/ldconfig
+%postun -p /sbin/ldconfig
+
%files
%defattr(644,root,root,755)
-%doc AUTHORS COPYING ChangeLog README
+%doc AUTHORS COPYING ChangeLog README.md
+%attr(755,root,root) %{_bindir}/tesseract
+%attr(755,root,root) %{_libdir}/libtesseract.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libtesseract.so.4
+%{_datadir}/tessdata
+%{_mandir}/man1/tesseract.1*
+
+%files training
+%defattr(644,root,root,755)
+%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}/tesseract
+%attr(755,root,root) %{_bindir}/set_unicharset_properties
+%attr(755,root,root) %{_bindir}/shapeclustering
+%attr(755,root,root) %{_bindir}/text2image
%attr(755,root,root) %{_bindir}/unicharset_extractor
%attr(755,root,root) %{_bindir}/wordlist2dawg
-%dir %{_datadir}/tessdata
-%{_datadir}/tessdata/*
-
-%package deu
-Summary: German language data for Tesseract
-Group: Applications/Graphics
-Requires: tesseract >= 2.0
-
-%description deu
-The %{name}-%{version}.deu package contains the data files required to
-recognize German
-
-%files deu
-%defattr(644,root,root,755)
-%{_datadir}/tessdata/deu.DangAmbigs
-%{_datadir}/tessdata/deu.freq-dawg
-%{_datadir}/tessdata/deu.inttemp
-%{_datadir}/tessdata/deu.normproto
-%{_datadir}/tessdata/deu.pffmtable
-%{_datadir}/tessdata/deu.unicharset
-%{_datadir}/tessdata/deu.user-words
-%{_datadir}/tessdata/deu.word-dawg
-
-%package eng
-Summary: English language data for Tesseract
-Group: Applications/Graphics
-Requires: tesseract >= 2.0
-
-%description eng
-The %{name}-%{version}.eng package contains the data files required to
-recognize English
-
-%files eng
-%defattr(644,root,root,755)
-%{_datadir}/tessdata/eng.DangAmbigs
-%{_datadir}/tessdata/eng.freq-dawg
-%{_datadir}/tessdata/eng.inttemp
-%{_datadir}/tessdata/eng.normproto
-%{_datadir}/tessdata/eng.pffmtable
-%{_datadir}/tessdata/eng.unicharset
-%{_datadir}/tessdata/eng.user-words
-%{_datadir}/tessdata/eng.word-dawg
-
-%package fra
-Summary: French language data for Tesseract
-Group: Applications/Graphics
-Requires: tesseract >= 2.0
-
-%description fra
-The %{name}-%{version}.fra package contains the data files required to
-recognize French
-
-%files fra
+%{_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*
+
+%files devel
%defattr(644,root,root,755)
-%{_datadir}/tessdata/fra.DangAmbigs
-%{_datadir}/tessdata/fra.freq-dawg
-%{_datadir}/tessdata/fra.inttemp
-%{_datadir}/tessdata/fra.normproto
-%{_datadir}/tessdata/fra.pffmtable
-%{_datadir}/tessdata/fra.unicharset
-%{_datadir}/tessdata/fra.user-words
-%{_datadir}/tessdata/fra.word-dawg
-
-%package ita
-Summary: Italian language data for Tesseract
-Group: Applications/Graphics
-Requires: tesseract >= 2.0
-
-%description ita
-The %{name}-%{version}.ita package contains the data files required to
-recognize Italian
-
-%files ita
-%defattr(644,root,root,755)
-%{_datadir}/tessdata/ita.DangAmbigs
-%{_datadir}/tessdata/ita.freq-dawg
-%{_datadir}/tessdata/ita.inttemp
-%{_datadir}/tessdata/ita.normproto
-%{_datadir}/tessdata/ita.pffmtable
-%{_datadir}/tessdata/ita.unicharset
-%{_datadir}/tessdata/ita.user-words
-%{_datadir}/tessdata/ita.word-dawg
-
-%package nld
-Summary: Dutch language data for Tesseract
-Group: Applications/Graphics
-Requires: tesseract >= 2.0
-
-%description nld
-The %{name}-%{version}.nld package contains the data files required to
-recognize Dutch
-
-%files nld
-%defattr(644,root,root,755)
-%{_datadir}/tessdata/nld.DangAmbigs
-%{_datadir}/tessdata/nld.freq-dawg
-%{_datadir}/tessdata/nld.inttemp
-%{_datadir}/tessdata/nld.normproto
-%{_datadir}/tessdata/nld.pffmtable
-%{_datadir}/tessdata/nld.unicharset
-%{_datadir}/tessdata/nld.user-words
-%{_datadir}/tessdata/nld.word-dawg
-
-%package spa
-Summary: Spanish language data for Tesseract
-Group: Applications/Graphics
-Requires: tesseract >= 2.0
-
-%description spa
-The %{name}-%{version}.spa package contains the data files required to
-recognize Spanish
+%attr(755,root,root) %{_libdir}/libtesseract.so
+%{_includedir}/%{name}
+%{_pkgconfigdir}/tesseract.pc
+%{_mandir}/man5/unicharambigs.5*
+%{_mandir}/man5/unicharset.5*
-%files spa
+%files static
%defattr(644,root,root,755)
-%{_datadir}/tessdata/spa.DangAmbigs
-%{_datadir}/tessdata/spa.freq-dawg
-%{_datadir}/tessdata/spa.inttemp
-%{_datadir}/tessdata/spa.normproto
-%{_datadir}/tessdata/spa.pffmtable
-%{_datadir}/tessdata/spa.unicharset
-%{_datadir}/tessdata/spa.user-words
-%{_datadir}/tessdata/spa.word-dawg
+%{_libdir}/libtesseract.a