Skip to content

Commit

Permalink
app-text/tesseract: 3.05.00 bump
Browse files Browse the repository at this point in the history
Backport fix for build without scrollview
Backport libtiff underlinking fix, bug #611136 by marecki

Package-Manager: Portage-2.3.4, Repoman-2.3.2
  • Loading branch information
voyageur committed Mar 14, 2017
1 parent 217db57 commit 8504e55
Show file tree
Hide file tree
Showing 4 changed files with 247 additions and 0 deletions.
1 change: 1 addition & 0 deletions app-text/tesseract/Manifest
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
25 changes: 25 additions & 0 deletions app-text/tesseract/files/tesseract-3.05.00-libtiff.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
From 9ec0c4fa9c9836d414c02662a6f94f48815d61b2 Mon Sep 17 00:00:00 2001
From: Stefan Weil <[email protected]>
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 <[email protected]>
---
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
74 changes: 74 additions & 0 deletions app-text/tesseract/files/tesseract-3.05.00-no_graphics.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
From 4141de7f8ddb5ac3c39fd9c1fc77ed911c768c3d Mon Sep 17 00:00:00 2001
From: Bernard Cafarelli <[email protected]>
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

147 changes: 147 additions & 0 deletions app-text/tesseract/tesseract-3.05.00.ebuild
Original file line number Diff line number Diff line change
@@ -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
}

0 comments on commit 8504e55

Please sign in to comment.