From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 5DFD4139694 for ; Tue, 14 Mar 2017 00:14:19 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 11940E0D46; Tue, 14 Mar 2017 00:14:16 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id D10DBE0D46 for ; Tue, 14 Mar 2017 00:14:15 +0000 (UTC) Received: from oystercatcher.gentoo.org (unknown [IPv6:2a01:4f8:202:4333:225:90ff:fed9:fc84]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 40B0233BF1C for ; Tue, 14 Mar 2017 00:14:14 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id A9DB46745 for ; Tue, 14 Mar 2017 00:14:12 +0000 (UTC) From: "Bernard Cafarelli" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Bernard Cafarelli" Message-ID: <1489450445.8504e55c31cfa890c4e1a238d3d7767bf72e9fe7.voyageur@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: app-text/tesseract/files/, app-text/tesseract/ X-VCS-Repository: repo/gentoo X-VCS-Files: app-text/tesseract/Manifest app-text/tesseract/files/tesseract-3.05.00-libtiff.patch app-text/tesseract/files/tesseract-3.05.00-no_graphics.patch app-text/tesseract/tesseract-3.05.00.ebuild X-VCS-Directories: app-text/tesseract/files/ app-text/tesseract/ X-VCS-Committer: voyageur X-VCS-Committer-Name: Bernard Cafarelli X-VCS-Revision: 8504e55c31cfa890c4e1a238d3d7767bf72e9fe7 X-VCS-Branch: master Date: Tue, 14 Mar 2017 00:14:12 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: 380e6b91-d44a-4341-884f-b86fa474ff9c X-Archives-Hash: 278ed3bc0629718459e6cfa803d87348 commit: 8504e55c31cfa890c4e1a238d3d7767bf72e9fe7 Author: Bernard Cafarelli gentoo org> AuthorDate: Tue Mar 14 00:13:55 2017 +0000 Commit: Bernard Cafarelli gentoo 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 +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 +--- + 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 +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 +}