commit:     8504e55c31cfa890c4e1a238d3d7767bf72e9fe7
Author:     Bernard Cafarelli <voyageur <AT> gentoo <DOT> org>
AuthorDate: Tue Mar 14 00:13:55 2017 +0000
Commit:     Bernard Cafarelli <voyageur <AT> gentoo <DOT> org>
CommitDate: Tue Mar 14 00:14:05 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8504e55c

app-text/tesseract: 3.05.00 bump

Backport fix for build without scrollview
Backport libtiff underlinking fix, bug #611136 by marecki

Package-Manager: Portage-2.3.4, Repoman-2.3.2

 app-text/tesseract/Manifest                        |   1 +
 .../files/tesseract-3.05.00-libtiff.patch          |  25 ++++
 .../files/tesseract-3.05.00-no_graphics.patch      |  74 +++++++++++
 app-text/tesseract/tesseract-3.05.00.ebuild        | 147 +++++++++++++++++++++
 4 files changed, 247 insertions(+)

diff --git a/app-text/tesseract/Manifest b/app-text/tesseract/Manifest
index b57b7e44871..7b5f3022771 100644
--- a/app-text/tesseract/Manifest
+++ b/app-text/tesseract/Manifest
@@ -123,6 +123,7 @@ DIST tam.traineddata-4.00 17333471 SHA256 
ba8dc53bd987e4bdfacc37f46e6b0c8f7aea9c
 DIST tel.traineddata-4.00 54446537 SHA256 
9db74228a36fcdbcde54e6e6118c0998b2fb73ed84c9e42b52062009c5becd66 SHA512 
5e5c2ca84f095ec4dd3184d6cb75702482c699b5cd04f8750ab8958f578f7b24cf3253a83d19a4a1f3716466b95a81737d473339e3593538e46372c4588febb6
 WHIRLPOOL 
1eb738325fd5610ae3a71791a998aed4f901e03eac629547a5d627f7173dbf3b268732e08a7a64fd4147773bbfc56f560b5f02f32bd3adb16166e6cd8d85e794
 DIST tesseract-3.04.00.tar.gz 2264427 SHA256 
7e6e48b625e1fba9bc825a4ef8c39f12c60aae1084939133b3c6a00f8f8dc38c SHA512 
60c31bad40b4c01395782fb98b3326407e75ebdbda962de4fb0e878824efb05140bdcb139dcf7d4f699ae5350e81a00320ebe7fbec083a0d374952488cc59e25
 WHIRLPOOL 
81b685e4d50d94056a4f99ce6beb4c73983e9449e1eed07a69d4649b0a8231b17fede430a8c181b37216a55e9f6102a578c85d84b2bbe6e9643ca98f16ae3260
 DIST tesseract-3.04.01.tar.gz 2269105 SHA256 
57f63e1b14ae04c3932a2683e4be4954a2849e17edd638ffe91bc5a2156adc6a SHA512 
816f6c29f8efeaf157891ddb022bd0daf8eb27c0cb8b6df5542e745d209f0ce617245e4583c59a561ed3216044d3afb38f8620ee94cdea656364923dcb140b5b
 WHIRLPOOL 
995502084484d172becdfdaa38888cd21f0fe2b8845fe4a64726f9fbcd35310d64153be6325016dd50ca37b95069112b63d4f0528bd989a58c3b88dc6c6a6813
+DIST tesseract-3.05.00.tar.gz 3581853 SHA256 
3fe83e06d0f73b39f6e92ed9fc7ccba3ef734877b76aa5ddaaa778fac095d996 SHA512 
54ba96bd1b0d19883e8a0f717ecfddd459945f9dda0fd340e29e2dab3af94d0eceb7f3d207f34685ee97d1ec763efac5d94dec7e0498a7ca85fec35da4ed76b1
 WHIRLPOOL 
33622256479395eb12c72e4d3187eecf23fe4557f4fcaecf9b5f1ba3aeab67e333b0d979812525f3a1504102764bc572a79f8e64c794be805004e5fec5cdef5b
 DIST tesseract-4.00.00_alpha.tar.gz 3706567 SHA256 
ada7db147970317eed8223bb72702359ac53ad570e135f7f6824f40c41ea6791 SHA512 
282ec941233ceb80fe1008e585a6069fe8ecd6bf2dd1d0f56e2e79b772a0b83bca918d5da892a6cab194a7828607e41a7fd873acec33181b8b86c3c37e434103
 WHIRLPOOL 
ae27cd45ce680c71785c36bd4d5414efc5b07baa483094fd33ee7bd886b55e21a4034ddaa5d55a265cf23983ba21dc98c5e2e2148178e4fabd2c69e1a9326c9e
 DIST tesseract-ocr-3.02.02-doc-html.tar.gz 10635901 SHA256 
e7ffd3082005345a682268740140bfdde73461528d6f2da019fef29539477a7b SHA512 
4cca5974635ed9c1656a00735bf682ed1eca5cb9a3641a0d063f66ffbdf9dcbc0476628a5b5c48684bd23f5616412e71e9cec608ac979760010c1ee91764290f
 WHIRLPOOL 
e84ceb57cbc7065b37424a2d53ce7ecea39f45856efe76610840296f20869742674b8b248b205ba293b7c729f85ff7938defce930409efa907af2d4309ca0a6b
 DIST tgk.traineddata-4.00 6555909 SHA256 
70a4f0e2b81591fb37687e7a33ee94a8f8591b788c2903267fc43f90662e843a SHA512 
abc5f2c4ac91b17a250f2f4847c9528a7673d51230415b7a069dc7243e2c210564400d34d5c38da6b727c8c24af26cbde3e7ef8a9674fa1605da001b4b1b60bb
 WHIRLPOOL 
4d53fa690f81ff1115d0d2aaf3c906d21d4f30b5b2b37932f25e3f6e6c7a5a9920098d66019f5ad70b6bd11e9ed33ce9599de22bb7f7545cf5f5909f516847d9

diff --git a/app-text/tesseract/files/tesseract-3.05.00-libtiff.patch 
b/app-text/tesseract/files/tesseract-3.05.00-libtiff.patch
new file mode 100644
index 00000000000..5771739c344
--- /dev/null
+++ b/app-text/tesseract/files/tesseract-3.05.00-libtiff.patch
@@ -0,0 +1,25 @@
+From 9ec0c4fa9c9836d414c02662a6f94f48815d61b2 Mon Sep 17 00:00:00 2001
+From: Stefan Weil <s...@weilnetz.de>
+Date: Tue, 13 Dec 2016 13:28:29 +0100
+Subject: [PATCH] api: Add missing dependency on libtiff
+
+It is needed because of a direct call to TIFFSetWarningHandler.
+
+Signed-off-by: Stefan Weil <s...@weilnetz.de>
+---
+ api/Makefile.am | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/api/Makefile.am b/api/Makefile.am
+index 76a8ed4..25e7f21 100644
+--- a/api/Makefile.am
++++ b/api/Makefile.am
+@@ -90,6 +90,8 @@ tesseract_LDFLAGS = $(OPENCL_LDFLAGS)
+ 
+ tesseract_LDADD += $(OPENMP_CXXFLAGS)
+ 
++tesseract_LDADD += -ltiff
++
+ if T_WIN
+ tesseract_LDADD += -lws2_32
+ libtesseract_la_LDFLAGS += -no-undefined -Wl,--as-needed -lws2_32

diff --git a/app-text/tesseract/files/tesseract-3.05.00-no_graphics.patch 
b/app-text/tesseract/files/tesseract-3.05.00-no_graphics.patch
new file mode 100644
index 00000000000..d6250d66c05
--- /dev/null
+++ b/app-text/tesseract/files/tesseract-3.05.00-no_graphics.patch
@@ -0,0 +1,74 @@
+From 4141de7f8ddb5ac3c39fd9c1fc77ed911c768c3d Mon Sep 17 00:00:00 2001
+From: Bernard Cafarelli <bernard.cafare...@gmail.com>
+Date: Fri, 27 Jan 2017 12:02:54 +0100
+Subject: [PATCH] Provide SVSync::StartThread() with GRAPHICS_DISABLED
+
+---
+ viewer/svutil.cpp | 44 +++++++++++++++++++++-----------------------
+ 1 file changed, 21 insertions(+), 23 deletions(-)
+
+diff --git a/viewer/svutil.cpp b/viewer/svutil.cpp
+index 34a2286..84a4b94 100644
+--- a/viewer/svutil.cpp
++++ b/viewer/svutil.cpp
+@@ -83,6 +83,27 @@ void SVMutex::Unlock() {
+ #endif
+ }
+ 
++// Create new thread.
++void SVSync::StartThread(void *(*func)(void*), void* arg) {
++#ifdef _WIN32
++  LPTHREAD_START_ROUTINE f = (LPTHREAD_START_ROUTINE) func;
++  DWORD threadid;
++  HANDLE newthread = CreateThread(
++  NULL,          // default security attributes
++  0,             // use default stack size
++  f,             // thread function
++  arg,           // argument to thread function
++  0,             // use default creation flags
++  &threadid);    // returns the thread identifier
++#else
++  pthread_t helper;
++  pthread_attr_t attr;
++  pthread_attr_init(&attr);
++  pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED);
++  pthread_create(&helper, &attr, func, arg);
++#endif
++}
++
+ #ifndef GRAPHICS_DISABLED
+ 
+ const int kMaxMsgSize = 4096;
+@@ -186,29 +207,6 @@ void SVSemaphore::Wait() {
+ #endif
+ }
+ 
+-
+-// Create new thread.
+-
+-void SVSync::StartThread(void *(*func)(void*), void* arg) {
+-#ifdef _WIN32
+-  LPTHREAD_START_ROUTINE f = (LPTHREAD_START_ROUTINE) func;
+-  DWORD threadid;
+-  HANDLE newthread = CreateThread(
+-  NULL,          // default security attributes
+-  0,             // use default stack size
+-  f,             // thread function
+-  arg,           // argument to thread function
+-  0,             // use default creation flags
+-  &threadid);    // returns the thread identifier
+-#else
+-  pthread_t helper;
+-  pthread_attr_t attr;
+-  pthread_attr_init(&attr);
+-  pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED);
+-  pthread_create(&helper, &attr, func, arg);
+-#endif
+-}
+-
+ // Place a message in the message buffer (and flush it).
+ void SVNetwork::Send(const char* msg) {
+   mutex_send_->Lock();
+-- 
+2.12.0
+

diff --git a/app-text/tesseract/tesseract-3.05.00.ebuild 
b/app-text/tesseract/tesseract-3.05.00.ebuild
new file mode 100644
index 00000000000..e3d7c887342
--- /dev/null
+++ b/app-text/tesseract/tesseract-3.05.00.ebuild
@@ -0,0 +1,147 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+MY_PN="tesseract-ocr"
+LANGPACKV="3.04.00"
+URI_PREFIX="https://github.com/${MY_PN}/tessdata/raw/${LANGPACKV}/";
+JAVA_PKG_OPT_USE="scrollview"
+
+inherit autotools java-pkg-opt-2 toolchain-funcs
+
+DESCRIPTION="An OCR Engine, orginally developed at HP, now open source."
+HOMEPAGE="https://github.com/tesseract-ocr";
+SRC_URI="https://github.com/${MY_PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz
+       ${URI_PREFIX}eng.traineddata -> eng.traineddata-${LANGPACKV}
+       math? ( ${URI_PREFIX}equ.traineddata -> equ.traineddata-${LANGPACKV} )
+       l10n_ar? ( ${URI_PREFIX}ara.traineddata -> ara.traineddata-${LANGPACKV} 
)
+       l10n_bg? ( ${URI_PREFIX}bul.traineddata -> bul.traineddata-${LANGPACKV} 
)
+       l10n_ca? ( ${URI_PREFIX}cat.traineddata -> cat.traineddata-${LANGPACKV} 
)
+       l10n_chr? ( ${URI_PREFIX}chr.traineddata -> 
chr.traineddata-${LANGPACKV} )
+       l10n_cs? ( ${URI_PREFIX}ces.traineddata -> ces.traineddata-${LANGPACKV} 
)
+       l10n_de? ( ${URI_PREFIX}deu.traineddata -> deu.traineddata-${LANGPACKV}
+                                 ${URI_PREFIX}deu_frak.traineddata -> 
deu_frak.traineddata-${LANGPACKV} )
+       l10n_da? ( ${URI_PREFIX}dan.traineddata -> dan.traineddata-${LANGPACKV}
+                                 ${URI_PREFIX}dan_frak.traineddata -> 
dan_frak.traineddata-${LANGPACKV} )
+       l10n_el? ( ${URI_PREFIX}ell.traineddata -> ell.traineddata-${LANGPACKV} 
)
+       l10n_es? ( ${URI_PREFIX}spa.traineddata -> spa.traineddata-${LANGPACKV} 
)
+       l10n_fi? ( ${URI_PREFIX}fin.traineddata -> fin.traineddata-${LANGPACKV} 
)
+       l10n_fr? ( ${URI_PREFIX}fra.traineddata -> fra.traineddata-${LANGPACKV} 
)
+       l10n_he? ( ${URI_PREFIX}heb.traineddata -> heb.traineddata-${LANGPACKV} 
)
+       l10n_hi? ( ${URI_PREFIX}hin.traineddata -> hin.traineddata-${LANGPACKV} 
)
+       l10n_hu? ( ${URI_PREFIX}hun.traineddata -> hun.traineddata-${LANGPACKV} 
)
+       l10n_id? ( ${URI_PREFIX}ind.traineddata -> ind.traineddata-${LANGPACKV} 
)
+       l10n_it? ( ${URI_PREFIX}ita.traineddata -> ita.traineddata-${LANGPACKV} 
)
+       l10n_ja? ( ${URI_PREFIX}jpn.traineddata -> jpn.traineddata-${LANGPACKV} 
)
+       l10n_ko? ( ${URI_PREFIX}kor.traineddata -> kor.traineddata-${LANGPACKV} 
)
+       l10n_lt? ( ${URI_PREFIX}lit.traineddata -> lit.traineddata-${LANGPACKV} 
)
+       l10n_lv? ( ${URI_PREFIX}lav.traineddata -> lav.traineddata-${LANGPACKV} 
)
+       l10n_nl? ( ${URI_PREFIX}nld.traineddata -> nld.traineddata-${LANGPACKV} 
)
+       l10n_no? ( ${URI_PREFIX}nor.traineddata -> nor.traineddata-${LANGPACKV} 
)
+       l10n_pl? ( ${URI_PREFIX}pol.traineddata -> pol.traineddata-${LANGPACKV} 
)
+       l10n_pt? ( ${URI_PREFIX}por.traineddata -> por.traineddata-${LANGPACKV} 
)
+       l10n_ro? ( ${URI_PREFIX}ron.traineddata -> ron.traineddata-${LANGPACKV} 
)
+       l10n_ru? ( ${URI_PREFIX}rus.traineddata -> rus.traineddata-${LANGPACKV} 
)
+       l10n_sk? ( ${URI_PREFIX}slk.traineddata -> slk.traineddata-${LANGPACKV}
+                                 ${URI_PREFIX}slk_frak.traineddata -> 
slk_frak.traineddata-${LANGPACKV} )
+       l10n_sl? ( ${URI_PREFIX}slv.traineddata -> slv.traineddata-${LANGPACKV} 
)
+       l10n_sr? ( ${URI_PREFIX}srp.traineddata -> srp.traineddata-${LANGPACKV} 
)
+       l10n_sv? ( ${URI_PREFIX}swe.traineddata -> swe.traineddata-${LANGPACKV} 
)
+       l10n_th? ( ${URI_PREFIX}tha.traineddata -> tha.traineddata-${LANGPACKV} 
)
+       l10n_tl? ( ${URI_PREFIX}tgl.traineddata -> tgl.traineddata-${LANGPACKV} 
)
+       l10n_tr? ( ${URI_PREFIX}tur.traineddata -> tur.traineddata-${LANGPACKV} 
)
+       l10n_uk? ( ${URI_PREFIX}ukr.traineddata -> ukr.traineddata-${LANGPACKV} 
)
+       l10n_vi? ( ${URI_PREFIX}vie.traineddata -> vie.traineddata-${LANGPACKV} 
)
+       l10n_zh-CN? ( ${URI_PREFIX}chi_sim.traineddata -> 
chi_sim.traineddata-${LANGPACKV} )
+       l10n_zh-TW? ( ${URI_PREFIX}chi_tra.traineddata -> 
chi_tra.traineddata-${LANGPACKV} )
+       osd? ( ${URI_PREFIX}osd.traineddata -> osd.traineddata-${LANGPACKV} )
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~mips ~ppc ~ppc64 ~sparc ~x86"
+
+IUSE="doc examples jpeg math opencl osd png scrollview static-libs tiff 
training webp l10n_ar l10n_bg l10n_ca l10n_chr l10n_cs l10n_de l10n_da l10n_el 
l10n_es l10n_fi l10n_fr l10n_he l10n_hi l10n_hu l10n_id l10n_it l10n_ja l10n_ko 
l10n_lt l10n_lv l10n_nl l10n_no l10n_pl l10n_pt l10n_ro l10n_ru l10n_sk l10n_sl 
l10n_sr l10n_sv l10n_th l10n_tl l10n_tr l10n_uk l10n_vi l10n_zh-CN l10n_zh-TW"
+
+# With opencl USE=tiff is necessary in leptonica
+CDEPEND=">=media-libs/leptonica-1.71:=[zlib,tiff?,jpeg?,png?,webp?]
+       opencl? (
+               virtual/opencl
+               media-libs/tiff:0=
+               media-libs/leptonica:=[tiff]
+       )
+       scrollview? (
+               >=dev-java/piccolo2d-3.0:0
+       )
+       training? (
+               dev-libs/icu:=
+               x11-libs/pango:=
+               x11-libs/cairo:=
+       )
+"
+
+DEPEND="${CDEPEND}
+       doc? ( app-doc/doxygen )
+       scrollview? ( >=virtual/jdk-1.7 )"
+
+RDEPEND="${CDEPEND}
+       scrollview? ( >=virtual/jre-1.7 )"
+
+DOCS=( AUTHORS ChangeLog NEWS README.md )
+
+PATCHES=(
+       "${FILESDIR}/${P}-libtiff.patch"
+       "${FILESDIR}/${P}-no_graphics.patch"
+       "${FILESDIR}/${PN}-4.00.00-use-system-piccolo2d.patch"
+)
+
+src_unpack() {
+       unpack ${P}.tar.gz
+       find "${DISTDIR}/" -name "*traineddata-${LANGPACKV}" \
+                -execdir sh -c 'cp -- "$0" "${S}/tessdata/${0%-*}"' '{}' ';' 
|| die
+}
+
+src_prepare() {
+       default
+       eautoreconf
+
+       java-pkg-opt-2_src_prepare
+}
+
+src_configure() {
+       local myeconfargs=(
+               --enable-shared
+               $(use_enable opencl)
+               $(use_enable scrollview graphics)
+               $(use_enable static-libs static)
+       )
+
+       econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+       default
+       use doc && emake doc
+       use scrollview && emake ScrollView.jar JAVAC="javac 
$(java-pkg_javac-args)"
+       use training && emake training
+}
+
+src_install() {
+       use doc && HTML_DOCS=( doc/html/. )
+       default
+       prune_libtool_files
+
+       if use training; then
+               emake DESTDIR="${D}" training-install
+       fi
+
+       if use examples; then
+               insinto /usr/share/doc/${PF}/examples
+               doins testing/eurotext.tif testing/phototest.tif
+       fi
+
+       insinto /usr/share/tessdata
+       doins tessdata/*traineddata* # language files
+       use scrollview && doins java/ScrollView.jar # scrollview
+}

Reply via email to