Install this version:
emerge -a =www-apps/calibre-web-0.6.27
If this version is masked, you can unmask it using the autounmask tool or standard emerge options:
autounmask =www-apps/calibre-web-0.6.27
Or alternatively:
emerge --autounmask-write -a =www-apps/calibre-web-0.6.27
# Copyright 2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{12..14} )
DISTUTILS_USE_PEP517=setuptools
PYPI_PN="calibreweb"
inherit distutils-r1 pypi systemd
DESCRIPTION="Web app for browsing, reading and downloading eBooks stored in a Calibre database"
HOMEPAGE="https://github.com/janeczku/calibre-web"
SRC_URI="$(pypi_sdist_url "${PYPI_PN}" "${PV}")"
S="${WORKDIR}/${PYPI_PN}-${PV}"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="calibre comics gdrive gdrive-send kepubify kobo ldap metadata oauth unrar"
RESTRICT="mirror test"
# Patch from mwstowe/calibre-web gdrive-send-feature branch
# Commit: 5a127ea60cae76c17180202a59d6003d7393827a
# Rebased to PyPI sdist layout (src/calibreweb/cps/...)
GDRIVE_SEND_PATCHES="gdrive-send.patch"
RDEPEND="
acct-user/calibre
acct-group/calibre
>=dev-python/apscheduler-3.6.3[${PYTHON_USEDEP}]
>=dev-python/babel-1.3[${PYTHON_USEDEP}]
>=dev-python/certifi-2024.7.4[${PYTHON_USEDEP}]
>=dev-python/chardet-3.0.0[${PYTHON_USEDEP}]
>=dev-python/cryptography-39.0.0[${PYTHON_USEDEP}]
>=dev-python/flask-1.0.2[${PYTHON_USEDEP}]
>=dev-python/flask-babel-3.0.0[${PYTHON_USEDEP}]
>=dev-python/flask-httpauth-4.4.0[${PYTHON_USEDEP}]
>=dev-python/flask-limiter-2.3.0[${PYTHON_USEDEP}]
>=dev-python/flask-principal-0.3.2[${PYTHON_USEDEP}]
>=dev-python/flask-wtf-0.14.2[${PYTHON_USEDEP}]
>=dev-python/lxml-4.9.1[${PYTHON_USEDEP}]
>=dev-python/netifaces-plus-0.12.0[${PYTHON_USEDEP}]
>=dev-python/nh3-0.3.0[${PYTHON_USEDEP}]
>=dev-python/pycountry-20.0.0[${PYTHON_USEDEP}]
>=dev-python/pypdf-6.1.3[${PYTHON_USEDEP}]
>=dev-python/python-magic-0.4.27[${PYTHON_USEDEP}]
>=dev-python/pytz-2016.10[${PYTHON_USEDEP}]
>=dev-python/regex-2022.3.2[${PYTHON_USEDEP}]
>=dev-python/requests-2.32.0[${PYTHON_USEDEP}]
>=dev-python/sqlalchemy-1.3.0[${PYTHON_USEDEP}]
>=dev-python/tornado-6.4.2[${PYTHON_USEDEP}]
>=dev-python/unidecode-0.04.19[${PYTHON_USEDEP}]
>=dev-python/urllib3-1.22[${PYTHON_USEDEP}]
>=dev-python/wand-0.4.4[${PYTHON_USEDEP}]
calibre? ( app-text/calibre )
comics? ( >=dev-python/natsort-2.2.0[${PYTHON_USEDEP}] )
gdrive? (
>=dev-python/gevent-20.6.0[${PYTHON_USEDEP}]
dev-python/google-api-python-client[${PYTHON_USEDEP}]
dev-python/oauth2client[${PYTHON_USEDEP}]
>=dev-python/pydrive2-1.15.0[${PYTHON_USEDEP}]
dev-python/pyyaml[${PYTHON_USEDEP}]
)
kobo? ( >=dev-python/jsonschema-3.2.0[${PYTHON_USEDEP}] )
ldap? (
dev-python/python-ldap[${PYTHON_USEDEP}]
dev-python/flask-simpleldap[${PYTHON_USEDEP}]
)
metadata? (
>=dev-python/beautifulsoup4-4.0.1[${PYTHON_USEDEP}]
>=dev-python/markdown2-2.0.0[${PYTHON_USEDEP}]
>=dev-python/python-dateutil-2.1[${PYTHON_USEDEP}]
)
oauth? (
>=dev-python/flask-dance-2.0.0[${PYTHON_USEDEP}]
>=dev-python/sqlalchemy-utils-0.33.5[${PYTHON_USEDEP}]
)
unrar? ( app-arch/unrar )
kepubify? ( app-text/kepubify-bin )
gdrive-send? (
>=dev-python/google-auth-oauthlib-1.0.0[${PYTHON_USEDEP}]
dev-python/google-api-python-client[${PYTHON_USEDEP}]
)
"
src_prepare() {
if use gdrive-send; then
eapply "${FILESDIR}/${GDRIVE_SEND_PATCHES}"
fi
distutils-r1_src_prepare
}
src_install() {
distutils-r1_src_install
newinitd "${FILESDIR}"/calibre-web.initd calibre-web
newconfd "${FILESDIR}"/calibre-web.confd calibre-web
systemd_dounit "${FILESDIR}"/calibre-web.service
keepdir /var/lib/calibre-web
fowners calibre:calibre /var/lib/calibre-web
keepdir /var/log/calibre-web
fowners calibre:calibre /var/log/calibre-web
}
pkg_postinst() {
elog "Calibre-Web is now installed."
elog ""
elog "To start calibre-web:"
elog " rc-service calibre-web start"
elog ""
elog "Then access the web interface at http://localhost:8083"
elog "Default login: admin / admin123"
elog ""
elog "You will need to point it at an existing Calibre database"
elog "(metadata.db) on first setup via the web interface."
elog ""
elog "Data is stored in /var/lib/calibre-web"
elog "Override with CALIBRE_WEB_DATADIR in /etc/conf.d/calibre-web"
if use calibre; then
elog ""
elog "Calibre tools (ebook-convert, calibredb) are available for"
elog "format conversion and metadata embedding. Configure paths"
elog "in the Calibre-Web admin interface under Basic Configuration."
fi
if use unrar; then
elog ""
elog "unrar is available for CBR comic book extraction."
elog "Configure the path in the admin interface."
fi
if use kepubify; then
elog ""
elog "kepubify is available for EPUB to Kobo KEPUB conversion."
elog "Set the path to /usr/bin/kepubify in the admin interface."
fi
if use gdrive-send; then
elog ""
elog "Google Drive Send is enabled. Configure OAuth client credentials"
elog "in the admin panel under Google Drive Send Settings. Users can"
elog "then connect their Google Drive from their profile page."
fi
}
Manage flags for this package:
euse -i <flag> -p www-apps/calibre-web |
euse -E <flag> -p www-apps/calibre-web |
euse -D <flag> -p www-apps/calibre-web
acct-user/calibre acct-group/calibre >=dev-python/apscheduler-3.6.3[] >=dev-python/babel-1.3[] >=dev-python/certifi-2024.7.4[] >=dev-python/chardet-3.0.0[] >=dev-python/cryptography-39.0.0[] >=dev-python/flask-1.0.2[] >=dev-python/flask-babel-3.0.0[] >=dev-python/flask-httpauth-4.4.0[] >=dev-python/flask-limiter-2.3.0[] >=dev-python/flask-principal-0.3.2[] >=dev-python/flask-wtf-0.14.2[] >=dev-python/lxml-4.9.1[] >=dev-python/netifaces-plus-0.12.0[] >=dev-python/nh3-0.3.0[] >=dev-python/pycountry-20.0.0[] >=dev-python/pypdf-6.1.3[] >=dev-python/python-magic-0.4.27[] >=dev-python/pytz-2016.10[] >=dev-python/regex-2022.3.2[] >=dev-python/requests-2.32.0[] >=dev-python/sqlalchemy-1.3.0[] >=dev-python/tornado-6.4.2[] >=dev-python/unidecode-0.04.19[] >=dev-python/urllib3-1.22[] >=dev-python/wand-0.4.4[] calibre? ( app-text/calibre ) comics? ( >=dev-python/natsort-2.2.0[] ) gdrive? ( >=dev-python/gevent-20.6.0[] dev-python/google-api-python-client[] dev-python/oauth2client[] >=dev-python/pydrive2-1.15.0[] dev-python/pyyaml[] ) kobo? ( >=dev-python/jsonschema-3.2.0[] ) ldap? ( dev-python/python-ldap[] dev-python/flask-simpleldap[] ) metadata? ( >=dev-python/beautifulsoup4-4.0.1[] >=dev-python/markdown2-2.0.0[] >=dev-python/python-dateutil-2.1[] ) oauth? ( >=dev-python/flask-dance-2.0.0[] >=dev-python/sqlalchemy-utils-0.33.5[] ) unrar? ( app-arch/unrar ) kepubify? ( app-text/kepubify-bin ) gdrive-send? ( >=dev-python/google-auth-oauthlib-1.0.0[] dev-python/google-api-python-client[] )