Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
221 changes: 221 additions & 0 deletions app-crypt/certbot/certbot-5.2.2.ebuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,221 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{10..14} )

inherit distutils-r1 toolchain-funcs

if [[ "${PV}" == *9999 ]]; then
inherit git-r3

EGIT_REPO_URI="https://github.com/certbot/certbot.git"
EGIT_SUBMODULES=()
EGIT_CHECKOUT_DIR="${WORKDIR}/${P}"
else
SRC_URI="
https://github.com/certbot/certbot/archive/v${PV}.tar.gz
-> ${P}.gh.tar.gz
"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
fi

DESCRIPTION="Let's Encrypt client to automate deployment of X.509 certificates"
HOMEPAGE="
https://github.com/certbot/certbot
https://pypi.org/project/certbot/
https://letsencrypt.org/
"

LICENSE="Apache-2.0"
SLOT="0"

# acme required for certbot, and then required for modules
CERTBOT_BASE=(acme certbot)
# List of "subpackages" from tools/_release.sh (without acme which is already above)
CERTBOT_MODULES_EXTRA=(
apache
#dns-cloudflare # Requires missing packages, already in GURU
#dns-digitalocean # Requires missing packages, already in GURU
dns-dnsimple
dns-dnsmadeeasy
dns-gehirn
dns-google
dns-linode
dns-luadns
dns-nsone
dns-ovh
dns-rfc2136
dns-route53
dns-sakuracloud
nginx
)

IUSE="selinux"
for module in "${CERTBOT_MODULES_EXTRA[@]}"; do
IUSE+=" certbot-${module}"
done

BDEPEND="
test? (
dev-python/pytest[${PYTHON_USEDEP}]
dev-python/typing-extensions[${PYTHON_USEDEP}]
)
"

# See each setup.py for dependencies
# Also discard the previous related packages
# except their transition step
RDEPEND="
>=dev-python/configargparse-1.5.3[${PYTHON_USEDEP}]
>=dev-python/configobj-5.0.6[${PYTHON_USEDEP}]
>=dev-python/cryptography-43.0.0[${PYTHON_USEDEP}]
>=dev-python/distro-1.0.1[${PYTHON_USEDEP}]
>=dev-python/josepy-2.0.0[${PYTHON_USEDEP}]
>=dev-python/parsedatetime-2.6[${PYTHON_USEDEP}]
>=dev-python/pyopenssl-25.0.0[${PYTHON_USEDEP}]
dev-python/pyrfc3339[${PYTHON_USEDEP}]
>=dev-python/requests-2.20.0[${PYTHON_USEDEP}]
certbot-apache? (
dev-python/python-augeas[${PYTHON_USEDEP}]
)
certbot-dns-dnsimple? (
>=dev-python/dns-lexicon-3.14.1[${PYTHON_USEDEP}]
)
certbot-dns-dnsmadeeasy? (
>=dev-python/dns-lexicon-3.14.1[${PYTHON_USEDEP}]
)
certbot-dns-gehirn? (
>=dev-python/dns-lexicon-3.14.1[${PYTHON_USEDEP}]
)
certbot-dns-google? (
>=dev-python/google-api-python-client-1.6.5[${PYTHON_USEDEP}]
>=dev-python/google-auth-2.16.0[${PYTHON_USEDEP}]
)
certbot-dns-linode? (
>=dev-python/dns-lexicon-3.14.1[${PYTHON_USEDEP}]
)
certbot-dns-luadns? (
>=dev-python/dns-lexicon-3.14.1[${PYTHON_USEDEP}]
)
certbot-dns-nsone? (
>=dev-python/dns-lexicon-3.14.1[${PYTHON_USEDEP}]
)
certbot-dns-ovh? (
>=dev-python/dns-lexicon-3.15.1[${PYTHON_USEDEP}]
)
certbot-dns-rfc2136? (
>=dev-python/dnspython-2.6.1[${PYTHON_USEDEP}]
)
certbot-dns-route53? (
>=dev-python/boto3-1.15.15[${PYTHON_USEDEP}]
)
certbot-dns-sakuracloud? (
>=dev-python/dns-lexicon-3.14.1[${PYTHON_USEDEP}]
)
certbot-nginx? (
>=dev-python/pyopenssl-25.0.0[${PYTHON_USEDEP}]
>=dev-python/pyparsing-2.4.7[${PYTHON_USEDEP}]
)
selinux? ( sec-policy/selinux-certbot )
"
# RDEPEND+="
# !<app-crypt/certbot-dns-cloudflare-3.2.0-r100
#
# >=dev-python/requests-toolbelt-0.3.0[${PYTHON_USEDEP}] # @TODO is still necessary?
# certbot-dns-cloudflare? (
# # Available in GURU
# >=dev-python/cloudflare-2.19[${PYTHON_USEDEP}]
# <dev-python/cloudflare-2.20[${PYTHON_USEDEP}]
# )
# certbot-dns-digitalocean? (
# # Available in GURU
# >=dev-python/digitalocean-1.15.0[${PYTHON_USEDEP}]
# )
# "

# Note: "docs" is not an actual directory under "S", they are actually
# under each modules, see python_compile_all redefinition, but keep
# this instruction enabled for dependency configuration.
distutils_enable_sphinx docs \
dev-python/sphinx-rtd-theme
distutils_enable_tests pytest

CERTBOT_DIRS=()
# Stores temporary modules docs in each subdirectories,
# will be used for HTML_DOCS
CERTBOT_DOCS="${T}/docs"

src_prepare() {
default

# set CERTBOT_DIRS
local base module
for base in "${CERTBOT_BASE[@]}"; do
CERTBOT_DIRS+=("${base}")
done
for module in "${CERTBOT_MODULES_EXTRA[@]}"; do
use "certbot-${module}" &&
CERTBOT_DIRS+=("certbot-${module}")
done

# Used to build documentation
mkdir "${CERTBOT_DOCS}" || die

# Remove "broken" symbolic link used as documentation.
# Copy actual file, removing source breaks wheel building.
rm -f "${S}/README.rst"
cp "${S}/certbot/README.rst" "${S}/README.rst" || die
}

python_compile() {
local dir
for dir in "${CERTBOT_DIRS[@]}"; do
pushd "${dir}" > /dev/null || die

distutils-r1_python_compile

popd > /dev/null || die
done
}

# Used to build documentation
python_compile_all() {
use doc || return

local dir
for dir in "${CERTBOT_DIRS[@]}"; do
# There is no documentation in certbot-apache or certbot-nginx.
if has "${dir}" "certbot-apache" "certbot-nginx"; then
continue
fi

pushd "${dir}" > /dev/null || die

sphinx_compile_all

# Note: discard the `/.` in last entry suffix to avoid error
# with `mv` command.
mv "${HTML_DOCS[-1]%/.}" "${CERTBOT_DOCS}/${dir}" || die

popd > /dev/null || die
done

# And finally give the result.
# Note: the suffix `/.` here is to discard the holding directory.
HTML_DOCS=( "${CERTBOT_DOCS}/." )
}

python_test() {
local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1

tc-has-64bit-time_t || EPYTEST_DESELECT+=(
'certbot/_internal/tests/storage_test.py::RenewableCertTests::test_time_interval_judgments'
)

# Change for pytest rootdir is required.
cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
epytest
}
6 changes: 6 additions & 0 deletions app-misc/homeassistant-full/Manifest
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,13 @@ AUX socat-zwave.init.d 637 BLAKE2B d61c1024a6fe3ce8d322e62ac1ec15e00d08f5c5a63fe
AUX update-homeassistant 1326 BLAKE2B 917bdd332c4e5dea5177eecd11a7f8d72b911fddfdc8e5eb54960c526fe8c735e20d44e570cf7aeb99669d2a9670c70da1c5fbc30efb284d1f0f330799de6e24 SHA512 3c05f0d6d1bde0e1526c3e679568794c07091e7856dfd8793e13feec6f22725ddaa3163ca2c81d9df86cf73573f932e561743f05de420b350a0b68f6a9582aca
DIST homeassistant-2024.11.3.gh.tar.gz 18873491 BLAKE2B 7082b0b5f688e5da76fece577944927026d6594ef6d2b91c5106dd56bc3149a7f74e4394612ee526de11bf50e31a4a0167557f06f035c9a707c70fbf67cad69a SHA512 7ffbce37aa915a99a916d534bc02742b248e7b7215e05bbd6654aac4db094b89e8f7d75be726ac3caa0f769e0318267bd0753daa2f4da77142cfaa59c0c007d7
DIST homeassistant-2024.11.3.tar.gz 23432503 BLAKE2B 4c431cc5f43dd8d179c1a8292de282a9331157e04fdc20b165dc3e6ac6d2031710fc8abfc7e2f09de4f364c1b6d35398a07e40b4da0b30e414d86b44cb09321e SHA512 8f33c376ba988270262b3c3f627db85e7a44d19a5d57e7435b5d4158dcab042bf76b04ba271fcd251c614bc9d5a328984f24cbaf95b98ca0de2bc9751e956d7e
DIST homeassistant-2025.8.3.gh.tar.gz 21985165 BLAKE2B 58c616921e5ed28068c416f8a99f9459635cf2d6936784acb25dd034a485eb01d83cc537003b99f21baac3087d889c0cf491d60fefe0beebb25f4482979c8d19 SHA512 1eef43d5767b956868530efe61e69bf931282dfc5887ad0b337adc1de849350199c103eb838ada2bcd318904beeff7acb32fff859e644c3ae064380c38d9310d
DIST homeassistant-2025.8.3.tar.gz 27453855 BLAKE2B c92a5fba99cac786c7d0e58cf618de5a2fd9725b6725c7d9cebcdc9875dc28ee3e877024b4e110ebc7f56e8326dc05d8db79c292fab835a73aba8a1181fd0c11 SHA512 a13c23dabb55f11cf1f8c02d7f09dcf32f494ac29c45a187fd81c9554c1af9d9be7e4a4cb1ea2d1dca59b142ffff509eb8c35d39dfb394e72d6c4b4cc73a302d
DIST homeassistant-2025.9.3.gh.tar.gz 22276219 BLAKE2B 44df4cab1459ad6e79cb3cd172f6a33373c14453e89bb97f9263d52b2493d16417ca3af0d760d40aa822eb8906cbadd420d72c29fb6f253350e94631239c9896 SHA512 b0bf324789a61e6888a0b1e1476ccceed4738f2a2c16591e68e674eb6a86d16df43749c9b42023e8d2c75ae6c6e00c2f26c3aba54bc711a7ea45251c45d0870e
DIST homeassistant-2025.9.3.tar.gz 27880151 BLAKE2B 2cee019f476c220f957dead48ae0447310489187f812040a0dbb337ed3b8563cadad11ecf24ab770d357c8d60ac97cb87b7a575fb7bbe284864fc71a30ab8c01 SHA512 bd7cb6971e15c30daa98bbccccf2dec2fa5a3b4e552dd1a9369f7c481b63149e8fb2e990f73ef9be79ce9fdcf71c0d392e6959d92b3de97b48692f6159b5c44a
EBUILD homeassistant-full-2024.11.3-r1.ebuild 90674 BLAKE2B d1978750d8c6e815ab1d24943a37514c60931a6b1657e7b0015c32b6de5b4edc335b27e4bdb0a18da7084dc4861211672c4f1824b5006b23fa5b378dc6317569 SHA512 893fdbfd09718c233423f431169806d62454ce8d2b1289b0a1e5332ce0f5c3668f840e4a87bc5088592854f920346f0ea93fb023cd2c56da13805d2972c0d4a6
EBUILD homeassistant-full-2025.8.3.ebuild 90567 BLAKE2B 02b025f472be111d7edb52cfa9fb3468e1d1476b093c1ce59ead0289fd705e4bf8d4ee8f76d0aa2b83543c1697ff4130cb5f659e76ea1bb87ef2409aaa5f2d2b SHA512 ca156341567ae35db6ec7e9197a2019de9fde6f88fac18aaf4adf3bb729912b95ecde523513c2ddc45cb741784cab31d417e56c86edff28b866d654678da4997
EBUILD homeassistant-full-2025.9.3.ebuild 90819 BLAKE2B 88b299837c4073fee7a262e8779af6f3e60251fce5c4fdff3ddbf97de36e58c3a6ad337bedf82b9460ccf181baee8234d4b0a705bbf7bf2da9f756823452baff SHA512 4c49a707e3bf8de599fe68a1eb7bd04d1c84130941e8db9ef541c0ad882c392f9a3470b6cc6c87f38bb3edc19b2a6d613d094457a6a35f0db694aa923dbbff3e
EBUILD homeassistant-full-9999.ebuild 90587 BLAKE2B 15b39eb8374faed01586257fea07f5d51f3958560c69d9fdc2d2baa2f9a5824492eb869b9ea29dfdd8bbdc48e9ede2a371cc594d648bb870b2b4600702644690 SHA512 19599d18b316007e91e6f72d2469a42cc7223c59af9bd62764d3455c1245a02e98751498ad9f20ac69ec54f5dc7a77c8027bd0b912ec42fd3b11e97bddc936ea
MISC genebuild.py 21212 BLAKE2B d2a1e731f2d1011fa140b9c3cae099e25698b17420dc26ea144be8f1f395a5dc24c8454fa0d5c77b5718c7deeb404bab29e5e1e118d7fc08de88d1fc6eb17ce5 SHA512 7b680cf09fbcbcb7bb2fc8623b5e504b6f4e106390d5dad332b3c9018b9936b63a0bfa2bac93eb16931329717a93722fbb979fb08565367a25e1ec12ff6905c2
MISC genebuild.sh 20748 BLAKE2B d591337934d0cbf15602c349c02ee4ddfa94daaab02853ec0073efa1c4987f4425fd7c49ef064b2077bc06412e2b9427be086beeb41c5378ce9e0aace91436c2 SHA512 2b7b9100747b8f575e3e9e1396c814f2290f3354e9ee9849e9d3f4a9f96b724d9702dd98839da0bce19710a8076e29077ec7a6e7e2725d537337d56f85cd808c
Expand Down
Loading