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.patch:-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 |
PATCH_WRKSRC= ${WRKSRC}/src/calibreweb |
44 |
|
45 |
NO_ARCH= yes |
46 |
|
47 |
SUB_FILES= pkg-message |
48 |
SUB_LIST= GROUP=${GROUPS} \ |
49 |
PORTNAME=${PORTNAME} \ |
50 |
PYTHON_CMD=${PYTHON_CMD} \ |
51 |
RC_NAME=calibreweb \ |
52 |
USER=${USERS} |
53 |
|
54 |
USERS= ${PORTNAME} |
55 |
GROUPS= ${PORTNAME} |
56 |
|
57 |
PORTDOCS= PKG-INFO README.md |
58 |
|
59 |
OPTIONS_DEFINE= CALIBRE COMICS DOCS GDRIVE GMAIL GREADS KOBO LDAP \ |
60 |
METADATA OAUTH |
61 |
OPTIONS_SINGLE= IMAGICK SQLA |
62 |
OPTIONS_SINGLE_IMAGICK= IMAGICK6_NOX11 IMAGICK6_X11 IMAGICK7_NOX11 IMAGICK7_X11 |
63 |
OPTIONS_SINGLE_SQLA= SQLA14 SQLA20 |
64 |
OPTIONS_DEFAULT= IMAGICK7_X11 SQLA20 |
65 |
|
66 |
CALIBRE_DESC= Calibre Desktop Conversion and Metadata Editing |
67 |
CALIBRE_RUN_DEPENDS= calibre>=0:deskutils/calibre |
68 |
|
69 |
COMICS_DESC= Comic Metadata Support |
70 |
COMICS_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}comicapi>=0:archivers/py-comicapi@${PY_FLAVOR} \ |
71 |
${PYTHON_PKGNAMEPREFIX}natsort>=0:devel/py-natsort@${PY_FLAVOR} |
72 |
|
73 |
GDRIVE_DESC= Google Drive Support |
74 |
GDRIVE_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}gevent>=0:devel/py-gevent@${PY_FLAVOR} \ |
75 |
${PYTHON_PKGNAMEPREFIX}google-api-python-client>=0:www/py-google-api-python-client@${PY_FLAVOR} \ |
76 |
${PYTHON_PKGNAMEPREFIX}google-auth-httplib2>=0:security/py-google-auth-httplib2@${PY_FLAVOR} \ |
77 |
${PYTHON_PKGNAMEPREFIX}greenlet>=0:devel/py-greenlet@${PY_FLAVOR} \ |
78 |
${PYTHON_PKGNAMEPREFIX}oauth2client>=0:security/py-oauth2client@${PY_FLAVOR} \ |
79 |
${PYTHON_PKGNAMEPREFIX}pyasn1-modules>=0:devel/py-pyasn1-modules@${PY_FLAVOR} \ |
80 |
${PYTHON_PKGNAMEPREFIX}PyDrive2>=0:www/py-pydrive2@${PY_FLAVOR} \ |
81 |
${PYTHON_PKGNAMEPREFIX}pyyaml>=0:devel/py-pyyaml@${PY_FLAVOR} \ |
82 |
${PYTHON_PKGNAMEPREFIX}rsa>=0:security/py-rsa@${PY_FLAVOR} \ |
83 |
${PYTHON_PKGNAMEPREFIX}uritemplate>=0:net/py-uritemplate@${PY_FLAVOR} |
84 |
|
85 |
GMAIL_DESC= GMail |
86 |
GMAIL_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}google-api-python-client>=0:www/py-google-api-python-client@${PY_FLAVOR} \ |
87 |
${PYTHON_PKGNAMEPREFIX}google-auth-oauthlib>=0:security/py-google-auth-oauthlib@${PY_FLAVOR} |
88 |
|
89 |
GREADS_DESC= Goodreads API |
90 |
GREADS_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}Goodreads>=0:devel/py-goodreads@${PY_FLAVOR} \ |
91 |
${PYTHON_PKGNAMEPREFIX}Levenshtein>=0:devel/py-Levenshtein@${PY_FLAVOR} |
92 |
|
93 |
IMAGICK_DESC= ${IMAGEMAGICK_DESC} |
94 |
IMAGICK6_NOX11_DESC= ImageMagick6 without X11 support |
95 |
IMAGICK6_NOX11_USES= magick:6,run,nox11 |
96 |
IMAGICK6_X11_DESC= ImageMagick6 with X11 support |
97 |
IMAGICK6_X11_USES= magick:6,run |
98 |
IMAGICK7_NOX11_DESC= ImageMagick7 without X11 support |
99 |
IMAGICK7_NOX11_USES= magick:7,run,nox11 |
100 |
IMAGICK7_X11_DESC= ImageMagick7 with X11 support |
101 |
IMAGICK7_X11_USES= magick:7,run |
102 |
|
103 |
KOBO_DESC= Kobo Device Support |
104 |
KOBO_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}jsonschema>=0:devel/py-jsonschema@${PY_FLAVOR} \ |
105 |
kepubify>=0:textproc/kepubify |
106 |
|
107 |
LDAP_DESC= LDAP Login Support |
108 |
LDAP_PREVENTS= SQLA20 |
109 |
LDAP_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}Flask-SimpleLDAP>=0:www/py-flask-simpleldap@${PY_FLAVOR} \ |
110 |
${PYTHON_PKGNAMEPREFIX}python-ldap>=0:net/py-python-ldap@${PY_FLAVOR} \ |
111 |
${PYTHON_PKGNAMEPREFIX}sqlalchemy-utils>=0:databases/py-sqlalchemy-utils@${PY_FLAVOR} |
112 |
|
113 |
METADATA_DESC= Metadata Extraction Support |
114 |
METADATA_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}beautifulsoup>=0:www/py-beautifulsoup@${PY_FLAVOR} \ |
115 |
${PYTHON_PKGNAMEPREFIX}faust-cchardet>=0:textproc/py-faust-cchardet@${PY_FLAVOR} \ |
116 |
${PYTHON_PKGNAMEPREFIX}html2text>=0:textproc/py-html2text@${PY_FLAVOR} \ |
117 |
${PYTHON_PKGNAMEPREFIX}markdown2>=0:textproc/py-markdown2@${PY_FLAVOR} \ |
118 |
${PYTHON_PKGNAMEPREFIX}mutagen>=0:audio/py-mutagen@${PY_FLAVOR} \ |
119 |
${PYTHON_PKGNAMEPREFIX}py7zr>=0:archivers/py-py7zr@${PY_FLAVOR} \ |
120 |
${PYTHON_PKGNAMEPREFIX}pycountry>=0:textproc/py-pycountry@${PY_FLAVOR} \ |
121 |
${PYTHON_PKGNAMEPREFIX}python-dateutil>=0:devel/py-python-dateutil@${PY_FLAVOR} \ |
122 |
${PYTHON_PKGNAMEPREFIX}rarfile>=0:archivers/py-rarfile@${PY_FLAVOR} \ |
123 |
${PYTHON_PKGNAMEPREFIX}scholarly>=0:devel/py-scholarly@${PY_FLAVOR} \ |
124 |
unrar>=0:archivers/unrar |
125 |
|
126 |
OAUTH_DESC= OAuth Login |
127 |
OAUTH_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}flask-dance>=0:www/py-flask-dance@${PY_FLAVOR} |
128 |
|
129 |
SQLA_DESC= SQLAchemy Database Toolkit for Python |
130 |
SQLA14_DESC= Use SQLAlchemy 1.4.* |
131 |
SQLA14_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sqlalchemy14>=0:databases/py-sqlalchemy14@${PY_FLAVOR} |
132 |
SQLA20_DESC= Use SQLAlchemy 2.0.* |
133 |
SQLA20_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sqlalchemy20>=0:databases/py-sqlalchemy20@${PY_FLAVOR} |
134 |
|
135 |
POST_PLIST= fix-plist |
136 |
|
137 |
post-patch: |
138 |
${FIND} ${PATCH_WRKSRC} -name '*.orig' -delete |
139 |
|
140 |
pre-install-DOCS-on: |
141 |
@${MKDIR} ${STAGEDIR}${DOCSDIR}/ |
142 |
${INSTALL_DATA} ${PORTDOCS:S,^,${WRKSRC}/,} ${STAGEDIR}${DOCSDIR} |
143 |
|
144 |
post-install: |
145 |
# Remove .HOMEDIR so we can specify the location for the config files |
146 |
(cd ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/calibreweb/cps && ${RM} .HOMEDIR) |
147 |
|
148 |
fix-plist: |
149 |
@${REINPLACE_CMD} -e "s|.*HOMEDIR$$||" ${TMPPLIST} |
150 |
|
151 |
.include <bsd.port.mk> |