[BACK]Return to Makefile CVS log [TXT][DIR] Up to [local] / ports / textproc / calibre

File: [local] / ports / textproc / calibre / Makefile (download)

Revision 1.106, Mon May 6 12:24:07 2024 UTC (3 weeks, 5 days ago) by sthen
Branch: MAIN
Changes since 1.105: +1 -1 lines

bump REVISION for py3.10 -> py3.11 switch

COMMENT =		ebook management application

V =			5.44.0
DISTNAME =		calibre-$V
REVISION =		3

CATEGORIES =		textproc

HOMEPAGE =		https://calibre-ebook.com/

# GPLv3
PERMIT_PACKAGE =	Yes

WANTLIB += ${COMPILER_LIBCXX} ${MODPY_WANTLIB}
WANTLIB += GL Qt5Core Qt5DBus Qt5Gui Qt5Widgets crypto fontconfig
WANTLIB += freetype glib-2.0 gthread-2.0 hunspell-1.7 hyphen icudata
WANTLIB += icui18n icuio icuuc intl m podofo stemmer z

SITES =		https://download.calibre-ebook.com/$V/
PORTROACH =	site:https://github.com/kovidgoyal/calibre/archive/
EXTRACT_SUFX =	.tar.xz

MODULES =	lang/python \
		x11/qt5

COMMON_DEPENDS =	databases/py-apsw${MODPY_FLAVOR}>=3.35.4 \
			devel/py-dateutil${MODPY_FLAVOR} \
			devel/py-html5lib${MODPY_FLAVOR} \
			devel/py-regex${MODPY_FLAVOR} \
			devel/xdg-utils \
			graphics/libwmf \
			graphics/png \
			graphics/py-Pillow${MODPY_FLAVOR} \
			net/py-dnspython${MODPY_FLAVOR} \
			net/py-msgpack${MODPY_FLAVOR} \
			net/py-zeroconf${MODPY_FLAVOR} \
			print/poppler \
			print/poppler,-qt5 \
			textproc/py-css-parser${MODPY_FLAVOR} \
			textproc/py-cssselect${MODPY_FLAVOR} \
			textproc/py-cssutils${MODPY_FLAVOR} \
			textproc/py-lxml${MODPY_FLAVOR} \
			textproc/py-markdown${MODPY_FLAVOR} \
			textproc/py-toml${MODPY_FLAVOR} \
			textproc/py-webencodings${MODPY_FLAVOR} \
			www/py-CherryPy${MODPY_FLAVOR} \
			www/py-beautifulsoup4${MODPY_FLAVOR} \
			www/py-html5-parser${MODPY_FLAVOR} \
			www/py-mechanize${MODPY_FLAVOR} \
			www/py-qtwebengine${MODPY_FLAVOR} \
			x11/py-qt5${MODPY_FLAVOR}

LIB_DEPENDS =		devel/gettext,-runtime \
			textproc/hunspell \
			textproc/hyphen \
			textproc/icu4c \
			textproc/libstemmer \
			textproc/podofo

BUILD_DEPENDS =		${COMMON_DEPENDS} \
			devel/py-qt-builder${MODPY_FLAVOR} \
			sysutils/py-packaging${MODPY_FLAVOR}

RUN_DEPENDS =		${COMMON_DEPENDS} \
			converters/py-html2text${MODPY_FLAVOR} \
			devel/desktop-file-utils \
			devel/py-jeepney${MODPY_FLAVOR} \
			misc/shared-mime-info \
			net/py-netifaces${MODPY_FLAVOR}  \
			print/poppler,-utils \
			x11/gtk+4,-guic

SUBST_VARS =		WRKDIR

LDFLAGS +=		-L${LOCALBASE}/lib

MAKE_ENV +=		CALIBRE_PY3_PORT=1 \
			FT_LIB_DIR="${X11BASE}/lib" \
			LDFLAGS="${LDFLAGS}" \
			OVERRIDE_CFLAGS="${CFLAGS}" \
			OVERRIDE_LDFLAGS="${LDFLAGS}" \
			PODOFO_INC_DIR="${LOCALBASE}/include/podofo" \
			PODOFO_LIB_DIR="${LOCALBASE}/lib" \
			QMAKE="${MODQT_QMAKE}" \
			WITH_USB=yes \
			XDG_DATA_DIRS="${PREFIX}/share" \
			XDG_UTILS_INSTALL_MODE=system

PORTHOME =		${WRKDIR}
NO_TEST =		Yes
MODPY_SETUPTOOLS =	Yes

## setup.py doesn't like the options in our python module
MODPY_DISTUTILS_BUILD =		build
MODPY_DISTUTILS_INSTALL =	install --prefix=${LOCALBASE} \
				--root=${PREFIX}

# Cannot use MODPY_ADJ_FILES as there are ERANGE files with hard-coded shebang
pre-patch:
	cd ${WRKSRC} && find . -type f -name '*.py' -exec ${MODPY_BIN_ADJ} {} +

# Remove bundled cherrypy so it uses the system version
pre-configure:
	cd ${WRKSRC} && rm -rf src/cherrypy
	cd ${WRKSRC}/setup && ${SUBST_CMD} build.py build_environment.py
	cp ${FILESDIR}/fake-xdg ${WRKDIR}/bin; chmod +x ${WRKDIR}/bin/fake-xdg
.for i in xdg-icon-resource xdg-desktop-menu xdg-mime
	ln -s fake-xdg ${WRKDIR}/bin/$i
.endfor

do-install:
	${MODPY_CMD} ${MODPY_DISTUTILS_INSTALL} ${MODPY_DISTUTILS_INSTALLARGS}
	${INSTALL_DATA_DIR} ${PREFIX}/share/calibre/recipes
	cd ${WRKSRC}/recipes && find . -type f -exec \
	    ${INSTALL_DATA} {} ${PREFIX}/share/calibre/recipes/ \;

post-install:
	${MODPY_BIN} ${MODPY_LIBDIR}/compileall.py ${PREFIX}/lib/calibre
	${MODPY_BIN} ${MODPY_LIBDIR}/compileall.py ${PREFIX}/share/calibre

.include <bsd.port.mk>