Added
Link Here
|
1 |
PORTNAME= calibreweb |
2 |
PORTVERSION= 0.6.24 |
3 |
CATEGORIES= www python |
4 |
MASTER_SITES= PYPI |
5 |
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} |
6 |
|
7 |
PATCH_SITES= https://github.com/janeczku/calibre-web/commit/ |
8 |
PATCHFILES= f493d4e4e521b99964c0b2a744d54390fc3b663e.diff:-p1 |
9 |
|
10 |
MAINTAINER= matthew@wener.org |
11 |
COMMENT= Web interface for viewing and downloading eBooks from a Calibre DB |
12 |
WWW= https://github.com/janeczku/calibre-web |
13 |
|
14 |
LICENSE= GPLv3 |
15 |
LICENSE_FILE= ${WRKSRC}/LICENSE |
16 |
|
17 |
BUILD_DEPENDS= ${PY_SETUPTOOLS} \ |
18 |
${PYTHON_PKGNAMEPREFIX}wheel>=:devel/py-wheel@${PY_FLAVOR} |
19 |
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}apscheduler>=0:devel/py-apscheduler@${PY_FLAVOR} \ |
20 |
${PYTHON_PKGNAMEPREFIX}bleach>=0:www/py-bleach@${PY_FLAVOR} \ |
21 |
${PYTHON_PKGNAMEPREFIX}chardet>=0:textproc/py-chardet@${PY_FLAVOR} \ |
22 |
${PYTHON_PKGNAMEPREFIX}flask-babel>=0:devel/py-flask-babel@${PY_FLAVOR} \ |
23 |
${PYTHON_PKGNAMEPREFIX}Flask-HTTPAuth>=0:security/py-flask-httpauth@${PY_FLAVOR} \ |
24 |
${PYTHON_PKGNAMEPREFIX}Flask-Principal>=0:www/py-flask-principal@${PY_FLAVOR} \ |
25 |
${PYTHON_PKGNAMEPREFIX}flask_limiter>=0:www/py-flask-limiter@${PY_FLAVOR} \ |
26 |
${PYTHON_PKGNAMEPREFIX}flask_wtf>=0:www/py-flask-wtf@${PY_FLAVOR} \ |
27 |
${PYTHON_PKGNAMEPREFIX}iso-639>=0:textproc/py-iso-639@${PY_FLAVOR} \ |
28 |
${PYTHON_PKGNAMEPREFIX}lxml>=0:devel/py-lxml@${PY_FLAVOR} \ |
29 |
${PYTHON_PKGNAMEPREFIX}netifaces-plus>=0:net/py-netifaces-plus@${PY_FLAVOR} \ |
30 |
${PYTHON_PKGNAMEPREFIX}pypdf>=0:print/py-pypdf@${PY_FLAVOR} \ |
31 |
${PYTHON_PKGNAMEPREFIX}python-magic>=0:devel/py-python-magic@${PY_FLAVOR} \ |
32 |
${PYTHON_PKGNAMEPREFIX}regex>=0:textproc/py-regex@${PY_FLAVOR} \ |
33 |
${PYTHON_PKGNAMEPREFIX}requests>=0:www/py-requests@${PY_FLAVOR} \ |
34 |
${PYTHON_PKGNAMEPREFIX}sqlite3>=0:databases/py-sqlite3@${PY_FLAVOR} \ |
35 |
${PYTHON_PKGNAMEPREFIX}tornado>=0:www/py-tornado@${PY_FLAVOR} \ |
36 |
${PYTHON_PKGNAMEPREFIX}unidecode>=0:converters/py-unidecode@${PY_FLAVOR} \ |
37 |
${PYTHON_PKGNAMEPREFIX}urllib3>=0:net/py-urllib3@${PY_FLAVOR} \ |
38 |
${PYTHON_PKGNAMEPREFIX}Wand>=0:graphics/py-wand@${PY_FLAVOR} |
39 |
|
40 |
USES= python |
41 |
USE_PYTHON= autoplist pep517 |
42 |
USE_RC_SUBR= ${PORTNAME} |
43 |
|
44 |
NO_ARCH= yes |
45 |
|
46 |
SUB_FILES= pkg-message |
47 |
SUB_LIST= GROUP=${GROUPS} \ |
48 |
PORTNAME=${PORTNAME} \ |
49 |
PYTHON_CMD=${PYTHON_CMD} \ |
50 |
RC_NAME=calibreweb \ |
51 |
USER=${USERS} |
52 |
|
53 |
USERS= ${PORTNAME} |
54 |
GROUPS= ${PORTNAME} |
55 |
|
56 |
PORTDOCS= PKG-INFO README.md |
57 |
|
58 |
OPTIONS_DEFINE= CALIBRE COMICS DOCS GDRIVE GMAIL GREADS KOBO LDAP \ |
59 |
METADATA OAUTH |
60 |
OPTIONS_SINGLE= IMAGICK SQLA |
61 |
OPTIONS_SINGLE_IMAGICK= IMAGICK6_NOX11 IMAGICK6_X11 IMAGICK7_NOX11 IMAGICK7_X11 |
62 |
OPTIONS_SINGLE_SQLA= SQLA14 SQLA20 |
63 |
OPTIONS_DEFAULT= IMAGICK7_X11 SQLA20 |
64 |
|
65 |
CALIBRE_DESC= Calibre Desktop Conversion and Metadata Editing |
66 |
CALIBRE_RUN_DEPENDS= calibre>=0:deskutils/calibre |
67 |
|
68 |
COMICS_DESC= Comic Metadata Support |
69 |
COMICS_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}comicapi>=0:archivers/py-comicapi@${PY_FLAVOR} \ |
70 |
${PYTHON_PKGNAMEPREFIX}natsort>=0:devel/py-natsort@${PY_FLAVOR} |
71 |
|
72 |
GDRIVE_DESC= Google Drive Support |
73 |
GDRIVE_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}gevent>=0:devel/py-gevent@${PY_FLAVOR} \ |
74 |
${PYTHON_PKGNAMEPREFIX}google-api-python-client>=0:www/py-google-api-python-client@${PY_FLAVOR} \ |
75 |
${PYTHON_PKGNAMEPREFIX}google-auth-httplib2>=0:security/py-google-auth-httplib2@${PY_FLAVOR} \ |
76 |
${PYTHON_PKGNAMEPREFIX}greenlet>=0:devel/py-greenlet@${PY_FLAVOR} \ |
77 |
${PYTHON_PKGNAMEPREFIX}oauth2client>=0:security/py-oauth2client@${PY_FLAVOR} \ |
78 |
${PYTHON_PKGNAMEPREFIX}pyasn1-modules>=0:devel/py-pyasn1-modules@${PY_FLAVOR} \ |
79 |
${PYTHON_PKGNAMEPREFIX}PyDrive2>=0:www/py-pydrive2@${PY_FLAVOR} \ |
80 |
${PYTHON_PKGNAMEPREFIX}pyyaml>=0:devel/py-pyyaml@${PY_FLAVOR} \ |
81 |
${PYTHON_PKGNAMEPREFIX}rsa>=0:security/py-rsa@${PY_FLAVOR} \ |
82 |
${PYTHON_PKGNAMEPREFIX}uritemplate>=0:net/py-uritemplate@${PY_FLAVOR} |
83 |
|
84 |
GMAIL_DESC= GMail |
85 |
GMAIL_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}google-api-python-client>=0:www/py-google-api-python-client@${PY_FLAVOR} \ |
86 |
${PYTHON_PKGNAMEPREFIX}google-auth-oauthlib>=0:security/py-google-auth-oauthlib@${PY_FLAVOR} |
87 |
|
88 |
GREADS_DESC= Goodreads API |
89 |
GREADS_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}Goodreads>=0:devel/py-goodreads@${PY_FLAVOR} \ |
90 |
${PYTHON_PKGNAMEPREFIX}Levenshtein>=0:devel/py-Levenshtein@${PY_FLAVOR} |
91 |
|
92 |
IMAGICK_DESC= ${IMAGEMAGICK_DESC} |
93 |
IMAGICK6_NOX11_DESC= ImageMagick6 without X11 support |
94 |
IMAGICK6_NOX11_USES= magick:6,run,nox11 |
95 |
IMAGICK6_X11_DESC= ImageMagick6 with X11 support |
96 |
IMAGICK6_X11_USES= magick:6,run |
97 |
IMAGICK7_NOX11_DESC= ImageMagick7 without X11 support |
98 |
IMAGICK7_NOX11_USES= magick:7,run,nox11 |
99 |
IMAGICK7_X11_DESC= ImageMagick7 with X11 support |
100 |
IMAGICK7_X11_USES= magick:7,run |
101 |
|
102 |
KOBO_DESC= Kobo Device Support |
103 |
KOBO_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}jsonschema>=0:devel/py-jsonschema@${PY_FLAVOR} \ |
104 |
kepubify>=0:textproc/kepubify |
105 |
|
106 |
LDAP_DESC= LDAP Login Support |
107 |
LDAP_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}Flask-SimpleLDAP>=0:www/py-flask-simpleldap@${PY_FLAVOR} \ |
108 |
${PYTHON_PKGNAMEPREFIX}python-ldap>=0:net/py-python-ldap@${PY_FLAVOR} \ |
109 |
${PYTHON_PKGNAMEPREFIX}sqlalchemy-utils>=0:databases/py-sqlalchemy-utils@${PY_FLAVOR} |
110 |
LDAP_IMPLIES= SQLA14 |
111 |
|
112 |
METADATA_DESC= Metadata Extraction Support |
113 |
METADATA_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}beautifulsoup>=0:www/py-beautifulsoup@${PY_FLAVOR} \ |
114 |
${PYTHON_PKGNAMEPREFIX}faust-cchardet>=0:textproc/py-faust-cchardet@${PY_FLAVOR} \ |
115 |
${PYTHON_PKGNAMEPREFIX}html2text>=0:textproc/py-html2text@${PY_FLAVOR} \ |
116 |
${PYTHON_PKGNAMEPREFIX}markdown2>=0:textproc/py-markdown2@${PY_FLAVOR} \ |
117 |
${PYTHON_PKGNAMEPREFIX}mutagen>=0:audio/py-mutagen@${PY_FLAVOR} \ |
118 |
${PYTHON_PKGNAMEPREFIX}py7zr>=0:archivers/py-py7zr@${PY_FLAVOR} \ |
119 |
${PYTHON_PKGNAMEPREFIX}pycountry>=0:textproc/py-pycountry@${PY_FLAVOR} \ |
120 |
${PYTHON_PKGNAMEPREFIX}python-dateutil>=0:devel/py-python-dateutil@${PY_FLAVOR} \ |
121 |
${PYTHON_PKGNAMEPREFIX}rarfile>=0:archivers/py-rarfile@${PY_FLAVOR} \ |
122 |
${PYTHON_PKGNAMEPREFIX}scholarly>=0:devel/py-scholarly@${PY_FLAVOR} \ |
123 |
unrar>=0:archivers/unrar |
124 |
|
125 |
OAUTH_DESC= OAuth Login |
126 |
OAUTH_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}flask-dance>=0:www/py-flask-dance@${PY_FLAVOR} |
127 |
|
128 |
SQLA_DESC= SQLAchemy Database Toolkit for Python |
129 |
SQLA14_DESC= Use SQLAlchemy 1.4.* |
130 |
SQLA14_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sqlalchemy14>=0:databases/py-sqlalchemy14@${PY_FLAVOR} |
131 |
SQLA20_DESC= Use SQLAlchemy 2.0.* |
132 |
SQLA20_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sqlalchemy20>=0:databases/py-sqlalchemy20@${PY_FLAVOR} |
133 |
|
134 |
POST_PLIST= fix-plist |
135 |
|
136 |
pre-install-DOCS-on: |
137 |
@${MKDIR} ${STAGEDIR}${DOCSDIR}/ |
138 |
${INSTALL_DATA} ${PORTDOCS:S,^,${WRKSRC}/,} ${STAGEDIR}${DOCSDIR} |
139 |
|
140 |
post-install: |
141 |
# Remove .HOMEDIR so we can specify the location for the config files |
142 |
(cd ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/calibreweb/cps && ${RM} .HOMEDIR) |
143 |
|
144 |
fix-plist: |
145 |
@${REINPLACE_CMD} -e "s|.*HOMEDIR$$||" ${TMPPLIST} |
146 |
|
147 |
.include <bsd.port.mk> |