immich-ml-2.6.3phackerlay
download
# Copyright 2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_SINGLE_IMPL=1
DISTUTILS_USE_PEP517=hatchling
PYTHON_COMPAT=( python3_{12..14} )
inherit systemd distutils-r1
DESCRIPTION="Immich machine-learning"
HOMEPAGE="https://github.com/immich-app/immich"
SRC_URI="https://github.com/immich-app/immich/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="AGPL-3"
SLOT="0"
KEYWORDS="~amd64"
IUSE="systemd"
RDEPEND="
acct-group/immich
acct-user/immich
$(python_gen_cond_dep '
>=dev-python/aiocache-0.12.1[${PYTHON_USEDEP}]
<dev-python/aiocache-1[${PYTHON_USEDEP}]
>=dev-python/fastapi-0.95.2[${PYTHON_USEDEP}]
<dev-python/fastapi-1[${PYTHON_USEDEP}]
>=dev-python/ftfy-6.1.1[${PYTHON_USEDEP}]
>=www-servers/gunicorn-21.1.0[${PYTHON_USEDEP}]
')
>=sci-ml/huggingface_hub-0.20.1[${PYTHON_SINGLE_USEDEP}]
<sci-ml/huggingface_hub-1[${PYTHON_SINGLE_USEDEP}]
$(python_gen_cond_dep '
>=sci-ml/insightface-0.7.3[${PYTHON_USEDEP}]
>=dev-python/numpy-2.3.4[${PYTHON_USEDEP}]
<sci-ml/insightface-1[${PYTHON_USEDEP}]
>=media-libs/opencv-4.7.0[${PYTHON_USEDEP},python]
<media-libs/opencv-5[${PYTHON_USEDEP}]
>=dev-python/orjson-3.9.5[${PYTHON_USEDEP}]
>=dev-python/pillow-9.5.0[${PYTHON_USEDEP}]
<dev-python/pillow-12[${PYTHON_USEDEP}]
>=dev-python/pydantic-2.5.2[${PYTHON_USEDEP}]
<dev-python/pydantic-3[${PYTHON_USEDEP}]
>=dev-python/pydantic-settings-2.5.2[${PYTHON_USEDEP}]
<dev-python/pydantic-settings-3[${PYTHON_USEDEP}]
>=dev-python/python-multipart-0.0.6[${PYTHON_USEDEP}]
<dev-python/python-multipart-1[${PYTHON_USEDEP}]
>=dev-python/rich-13.4.2[${PYTHON_USEDEP}]
')
>=sci-ml/tokenizers-0.15.0[${PYTHON_SINGLE_USEDEP}]
<sci-ml/tokenizers-1[${PYTHON_SINGLE_USEDEP}]
$(python_gen_cond_dep '
>=dev-python/uvicorn-0.22.0[${PYTHON_USEDEP}]
<dev-python/uvicorn-1[${PYTHON_USEDEP}]
')
$(python_gen_cond_dep '
>=sci-ml/rapidocr-3.1.0[${PYTHON_USEDEP}]
sci-libs/onnxruntime[python,${PYTHON_USEDEP}]
')
"
distutils_enable_tests pytest
S=${WORKDIR}/immich-${PV}/machine-learning
PATCHES=(
${FILESDIR}/01-different-package-versions.patch
)
src_install() {
distutils-r1_src_install
keepdir /var/{lib,log}/immich /etc/immich
fowners immich:immich /var/{lib,log}/immich
fperms 0750 /var/{lib,log}/immich
insinto /etc/immich
doins ${S}/immich_ml/gunicorn_conf.py
doins ${S}/immich_ml/log_conf.json
systemd_dounit "${FILESDIR}/immich-ml.service"
newconfd "${FILESDIR}/${PN}.confd" "${PN}"
}