summaryrefslogtreecommitdiff
path: root/graphics/py-pytesseract/Makefile
blob: 363a3275c4f2447d0fec8bd7b897d26b985bb18d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
PORTNAME=	pytesseract
PORTVERSION=	0.3.13
PORTREVISION=	1
DISTVERSIONPREFIX=	v
CATEGORIES=	graphics python
PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}

MAINTAINER=	mandree@FreeBSD.org
COMMENT=	wrapper for Google's Tesseract OCR engine
WWW=		https://github.com/madmaze/pytesseract

PATCH_STRIP=	-p1

LICENSE=	BSD2CLAUSE
LICENSE_FILE=	${WRKSRC}/LICENSE

RUN_DEPENDS=	tesseract:graphics/tesseract \
		${PYTHON_PKGNAMEPREFIX}pillow>0:graphics/py-pillow@${PY_FLAVOR}
TEST_DEPENDS=	${RUN_DEPENDS} \
		${PYNUMPY} \
		${PYTHON_PKGNAMEPREFIX}pandas>0:math/py-pandas@${PY_FLAVOR} \
		${PYTHON_PKGNAMEPREFIX}tox>0:devel/py-tox@${PY_FLAVOR}
		# if py-tox cannot detect py-filelock, be sure to have version 3.4.2_1 of the latter

USES=		localbase python
USE_GITHUB=	yes
GH_ACCOUNT=	madmaze
USE_PYTHON=	autoplist concurrent distutils

NO_ARCH=	yes

do-test:
		# FIXME hack alert. graphics/leptonica by default does not include
		# jpeg2000 (openjpeg) support, and the pytesseract self-test is not
		# smart enough to detect that and skip the test, so let us check
		# and punch out the jpeg2000 test if it is pointless running it.
		# https://github.com/madmaze/pytesseract/issues/419
		@if ${READELF} -d ${LOCALBASE}/lib/liblept.so | ${EGREP} -q '\<NEEDED\>.+\<libopenjp2\.so\.[[:digit:]]' ; then : ; else \
			if [ $$? -ne 1 ] ; then exit 1 ; fi ; \
			${ECHO_MSG} >&2 '===>   liblept.so (graphics/leptonica) is linked without libopenjp2, disabling JPEG2000 test' ; \
			${REINPLACE_CMD} '/jpeg2000/d' ${WRKSRC}/tests/pytesseract_test.py ; \
		fi
		cd ${WRKSRC} && ${SETENV} ${TEST_ENV} tox-${PYTHON_VER} -e ${PY_FLAVOR} --sitepackages

.include <bsd.port.mk>