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.
90 lines
2.2 KiB
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
|
|
}
|