You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/net-nds/nsscache/nsscache-0.49.ebuild

90 lines
2.2 KiB

# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{10,11,12} )
inherit distutils-r1
DESCRIPTION="commandline tool to sync directory services to local cache"
HOMEPAGE="https://github.com/google/nsscache"
SRC_URI="https://github.com/google/nsscache/archive/version/${PV}.tar.gz -> ${P}.tar.gz"
# upstream *sources* say "or later", but upstream metadata does not include the
# 'or later' clause.
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="nsscache s3 test"
# Optional extras:
# TODO: gcs? ( https://pypi.org/project/google-cloud-storage/ )
#
# Testing:
# *unit* tests do not require networking.
# *integration* tests require openldap's slapd and networking
#
# The ebuild runs the unit testing explicitly, as upstream uses Docker to run
# the integration tests.
RDEPEND="
nsscache? ( >=sys-auth/libnss-cache-0.10 )
>=dev-python/python-ldap-3.4[${PYTHON_USEDEP}]
>=dev-python/pycurl-7.45.2[${PYTHON_USEDEP}]
s3? ( dev-python/boto3[${PYTHON_USEDEP}] )"
DEPEND="${RDEPEND}
dev-python/packaging[${PYTHON_USEDEP}]
test? (
dev-python/pytest[${PYTHON_USEDEP}]
)"
S="${WORKDIR}/${PN}-version-${PV}"
distutils_enable_tests pytest
python_prepare_all() {
# nsscache.conf is example only, and should be installed in docs.
# Default config tries $PREFIX/config/nsscache.conf
sed -i \
-e '/data_files/{s,.nsscache.conf.,,}' \
setup.py
# Upstream forgot to bump the version
sed -i \
-e '/^__version__/s,0.48,0.49,g' \
nss_cache/__init__.py
distutils-r1_python_prepare_all
}
python_compile() {
distutils-r1_python_compile
}
python_install() {
distutils-r1_python_install
python_scriptinto /usr/libexec/nsscache
python_doexe examples/authorized-keys-command.py
# Do not install the tests as functional source.
# Subject to some debate, see bug 923061
# To be raised on gentoo-dev 2024/02/01
#find "${D}" \
# -path '*/site-packages/nss_cache/*' \( \
# -iname '*_test.py*' \
# -o -iname '*_test.*.py*' \
# \) \
# -delete \
#|| die "find failed"
}
python_install_all() {
distutils-r1_python_install_all
doman nsscache.1 nsscache.conf.5
dodoc THANKS *.md nsscache.conf nsscache.cron
keepdir /var/lib/nsscache
}