From 6a01345ec5dc673d0ebd4653ceb063eafa7fcf65 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Thu, 17 Apr 2025 08:45:48 +0100 Subject: gentoo auto-resync : 17:04:2025 - 08:45:48 --- app-crypt/Manifest.gz | Bin 25269 -> 25267 bytes app-crypt/certbot/Manifest | 8 +- app-crypt/certbot/certbot-3.2.0-r102.ebuild | 311 ---------------------------- app-crypt/certbot/certbot-3.2.0-r103.ebuild | 222 ++++++++++++++++++++ app-crypt/certbot/certbot-3.3.0-r2.ebuild | 307 --------------------------- app-crypt/certbot/certbot-3.3.0-r3.ebuild | 222 ++++++++++++++++++++ app-crypt/certbot/certbot-4.0.0-r1.ebuild | 188 ----------------- app-crypt/certbot/certbot-4.0.0-r2.ebuild | 221 ++++++++++++++++++++ app-crypt/certbot/certbot-9999.ebuild | 59 ++++-- 9 files changed, 715 insertions(+), 823 deletions(-) delete mode 100644 app-crypt/certbot/certbot-3.2.0-r102.ebuild create mode 100644 app-crypt/certbot/certbot-3.2.0-r103.ebuild delete mode 100644 app-crypt/certbot/certbot-3.3.0-r2.ebuild create mode 100644 app-crypt/certbot/certbot-3.3.0-r3.ebuild delete mode 100644 app-crypt/certbot/certbot-4.0.0-r1.ebuild create mode 100644 app-crypt/certbot/certbot-4.0.0-r2.ebuild (limited to 'app-crypt') diff --git a/app-crypt/Manifest.gz b/app-crypt/Manifest.gz index 62908065584f..a4c021834da7 100644 Binary files a/app-crypt/Manifest.gz and b/app-crypt/Manifest.gz differ diff --git a/app-crypt/certbot/Manifest b/app-crypt/certbot/Manifest index d9bb39e7f382..5d4257a74387 100644 --- a/app-crypt/certbot/Manifest +++ b/app-crypt/certbot/Manifest @@ -12,9 +12,9 @@ EBUILD certbot-2.11.0.ebuild 1528 BLAKE2B 34449bcf95187bed02f610a3ab4b5252e241b4 EBUILD certbot-2.11.1.ebuild 1567 BLAKE2B 9cd828f4a3e971b4e5487a59c8d61eedf8921f6eacf5938d358424692207adf8f17c20bc0f651d7eb6029fe531727ec2ff99ba5d917e46d4c80106f0af60a0ad SHA512 0cc81405e49f1cb4d76446e2fabbea0fee8e59d0327fabca180ca301b2423915799309b9e6bca6f121878e621532e1cbe928214f1cedc209f562815af8395cd3 EBUILD certbot-3.0.1.ebuild 1572 BLAKE2B 0200fb1f4425354e788fce567e63a4e302afa1409c73085491c3f32e7bce0d9830521e2907ad7c03f29f8e9ce10931a53bb11d385a643ee21417194c5767d453 SHA512 dd4680db1d2157a551d76639a4586b4ff6e9d68677e969009f78697a1b50a5e9799765102602a8075b3da41f93980060756c22f13a03f7152d92072eb4287e66 EBUILD certbot-3.1.0.ebuild 1572 BLAKE2B 92f7bef4a2b4eaa3251d20fd44b33544687acd4cdc7aa2dc7d7bfea69a30163c13c19b2b4e0b78c9fc3c977054e35937d4bba387aa4bc3dce76ca573539e150e SHA512 f43cf0ceb6fb9644aa963b2e74f22cb5104ffcd5564b3d860ab449463a62f934aa34497119916825d6bf1eb701916caa48bb62b701344d167619ca778ee46c3a -EBUILD certbot-3.2.0-r102.ebuild 7640 BLAKE2B b13e2e0ec0dec9d67fae17fd9ee01ab6390f694cc4b2990b96bfa387f8cb50aa6f0d4eff11d1c7a58f429e51c820c5f5b4fcf7869f0f42fe3b619815245a7abc SHA512 3001aa585e75e3a2dab59e1001e2b2740c486809bcaa09aa18c361120891c37c67365a41d7b628e21a0bf357544cf21fe930b9c1a0fc39cdd9e13cf0500ba123 +EBUILD certbot-3.2.0-r103.ebuild 5684 BLAKE2B 06c937e27d6141007f627b4e9e4ebc024ff6067ead857f6a5f2fa6107eadca03b8298b65bf99af0caf98456f9bed787e472e1fc4710dd3f19ed67cd9c11a0b5a SHA512 5a1384025630fe5a2415ebc46ee864abd6d3d5d334c5d4209fbf6c8d2de2513f22c3d6e92be17f5e12cf697e044c248d51d1b6d23790be47b12efe05218a6971 EBUILD certbot-3.2.0.ebuild 1572 BLAKE2B f70a02b18dfe12e3768ee98be8392c6d9d753dcb5a69f37aa488634748c7bf685abb6a5ffcbb8330f5b82808d6b9fcf7146c129c3b637134418710d9f65b9fac SHA512 4f0815c0a793bce1d2870480069dd67bcee5795638bb5b5cbf61334a019ea0cb31135df4f57c2488e67d23d928190f1f2d7d9ea6a54e59a8ec975eb46161b372 -EBUILD certbot-3.3.0-r2.ebuild 7428 BLAKE2B b4a2d16af5851faee75b1f71ea0d69427ff059a2424117d76eba0336e1a36ed03e703a363a6b619247e65ce3089b4a314df253f2ecfc6ec03ee2b40284132c9b SHA512 32872ea02cef79aa7d1602294833ecf46d25c2f5d50e88de60bc67ad8e101537733eeab773397bf79d39dc8268ad6a1ed69f3a078c658d1e15464f032db09fbc -EBUILD certbot-4.0.0-r1.ebuild 4700 BLAKE2B e66d07b211c7a81f729cc4d10fd40921ce6cfd677161a0171a900ccd59e2f9e5fc0e0ececf8e7dcd0cf0deb43abaad35218006ee10e2cfe23685b1eeecbb0871 SHA512 2ad367142312eb3e354e6a1b79f8b84036622932f677b84e57e52bd68c62f2007553b4cdae0c9f3402993fda236ac1b8c7b327586a87a75da4b6cb9432959989 -EBUILD certbot-9999.ebuild 4700 BLAKE2B e66d07b211c7a81f729cc4d10fd40921ce6cfd677161a0171a900ccd59e2f9e5fc0e0ececf8e7dcd0cf0deb43abaad35218006ee10e2cfe23685b1eeecbb0871 SHA512 2ad367142312eb3e354e6a1b79f8b84036622932f677b84e57e52bd68c62f2007553b4cdae0c9f3402993fda236ac1b8c7b327586a87a75da4b6cb9432959989 +EBUILD certbot-3.3.0-r3.ebuild 5684 BLAKE2B 06c937e27d6141007f627b4e9e4ebc024ff6067ead857f6a5f2fa6107eadca03b8298b65bf99af0caf98456f9bed787e472e1fc4710dd3f19ed67cd9c11a0b5a SHA512 5a1384025630fe5a2415ebc46ee864abd6d3d5d334c5d4209fbf6c8d2de2513f22c3d6e92be17f5e12cf697e044c248d51d1b6d23790be47b12efe05218a6971 +EBUILD certbot-4.0.0-r2.ebuild 5643 BLAKE2B c23db73f98d200ac6e640a2c75495f7cc41ffa8f3dd0914a334d8fe41d2ed9ebaa0ccc28b9c5414f75303b05485b4b97dd4e61b9e4c016eef52e5fecfe7a7a5c SHA512 9f5ff18ff3caec95aaa7d18e997295461bdf23a58304f53f73c65dcc76b0ce02e253e962acc4a1b63e7f65e3733dd9514c36c3eb7894c955b3cdea4003d7f318 +EBUILD certbot-9999.ebuild 5643 BLAKE2B c23db73f98d200ac6e640a2c75495f7cc41ffa8f3dd0914a334d8fe41d2ed9ebaa0ccc28b9c5414f75303b05485b4b97dd4e61b9e4c016eef52e5fecfe7a7a5c SHA512 9f5ff18ff3caec95aaa7d18e997295461bdf23a58304f53f73c65dcc76b0ce02e253e962acc4a1b63e7f65e3733dd9514c36c3eb7894c955b3cdea4003d7f318 MISC metadata.xml 1792 BLAKE2B c89e58193a94a26c3128ab8b15282a3c9c301a9c32fb64309c54a57361b01f63e707b4582e724244f85213187e7f0b57af380d3ef0e99ad6dbae9d684848b9ca SHA512 a3420355c14f6772a426d5ef63551883ea2c5754b83261c011601cbcc35ba65cbd444021eb613682030e82e35eb52013bf7cffb7502607605bb7bc6a84b37fdd diff --git a/app-crypt/certbot/certbot-3.2.0-r102.ebuild b/app-crypt/certbot/certbot-3.2.0-r102.ebuild deleted file mode 100644 index 4dbc10590d40..000000000000 --- a/app-crypt/certbot/certbot-3.2.0-r102.ebuild +++ /dev/null @@ -1,311 +0,0 @@ -# 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..13} ) - -inherit distutils-r1 - -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" - # Only for amd64, arm64 and x86 because of dev-python/python-augeas - #KEYWORDS="~amd64 ~arm64 ~x86" - # Only for amd64 and x86 because of dev-python/dns-lexicon - 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-1.13.0[${PYTHON_USEDEP}] - =dev-python/parsedatetime-2.4[${PYTHON_USEDEP}] - >=dev-python/pyopenssl-25.0.0[${PYTHON_USEDEP}] - dev-python/pyrfc3339[${PYTHON_USEDEP}] - >=dev-python/pytz-2019.3[${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+=" -# !=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/digitalocean-1.11[${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 - -src_prepare() { - local S_BACKUP="${S}" - - local certbot_dirs=() - local base module dir - 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 - - for dir in "${certbot_dirs[@]}"; do - S="${WORKDIR}/${P}/${dir}" - pushd "${S}" > /dev/null || die - distutils-r1_src_prepare - popd > /dev/null || die - done - - # Restore S - S="${S_BACKUP}" -} - -src_configure() { - local S_BACKUP="${S}" - - local certbot_dirs=() - local base module dir - 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 - - for dir in "${certbot_dirs[@]}"; do - S="${WORKDIR}/${P}/${dir}" - pushd "${S}" > /dev/null || die - distutils-r1_src_configure - popd > /dev/null || die - done - - # Restore S - S="${S_BACKUP}" -} - -src_compile() { - # Used for building documentation - # Stores temporary modules docs in each subdirectories, will be used for HTML_DOCS - local temp_docs="${T}/docs" - use doc && { - mkdir "${temp_docs}" || die - } - - local S_BACKUP="${S}" - - local certbot_dirs=() - local base module dir - 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 - - for dir in "${certbot_dirs[@]}"; do - S="${WORKDIR}/${P}/${dir}" - pushd "${S}" > /dev/null || die - distutils-r1_src_compile - popd > /dev/null || die - done - - # Restore S - S="${S_BACKUP}" - - use doc && { - # Replace HTML_DOCS with one single entry to avoid merging - HTML_DOCS=( "${temp_docs}" ) - } -} - -python_compile_all() { - # There is no documentation in certbot-apache or certbot-nginx. - if [[ "${dir}" = "certbot-apache" ]] || [[ "${dir}" = "certbot-nginx" ]]; then - return - fi - - # Used to build documentation - use doc && { - sphinx_compile_all - - # Subdirectory "_build/html" from build_sphinx in eclass/python-utils-r1.eclass - mv "${_DISTUTILS_SPHINX_SUBDIR}/_build/html" "${temp_docs}/${dir}" || die - } -} - -python_test() { - local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 - epytest -} - -src_test() { - local S_BACKUP="${S}" - - local certbot_dirs=() - local base module dir - 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 - - for dir in "${certbot_dirs[@]}"; do - S="${WORKDIR}/${P}/${dir}" - pushd "${S}" > /dev/null || die - distutils-r1_src_test - popd > /dev/null || die - done - - # Restore S - S="${S_BACKUP}" -} - -src_install() { - local S_BACKUP="${S}" - - local certbot_dirs=() - local base module dir - 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 - - for dir in "${certbot_dirs[@]}"; do - S="${WORKDIR}/${P}/${dir}" - pushd "${S}" > /dev/null || die - distutils-r1_src_install - popd > /dev/null || die - done - - # Restore S - S="${S_BACKUP}" -} diff --git a/app-crypt/certbot/certbot-3.2.0-r103.ebuild b/app-crypt/certbot/certbot-3.2.0-r103.ebuild new file mode 100644 index 000000000000..50600140fd7a --- /dev/null +++ b/app-crypt/certbot/certbot-3.2.0-r103.ebuild @@ -0,0 +1,222 @@ +# 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..13} ) + +inherit distutils-r1 + +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-1.13.0[${PYTHON_USEDEP}] + =dev-python/parsedatetime-2.4[${PYTHON_USEDEP}] + >=dev-python/pyopenssl-25.0.0[${PYTHON_USEDEP}] + dev-python/pyrfc3339[${PYTHON_USEDEP}] + >=dev-python/pytz-2019.3[${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+=" +# !=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/digitalocean-1.11[${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 +} + +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 + # Change for pytest rootdir is required. + cd "${BUILD_DIR}/install$(python_get_sitedir)" || die + epytest +} diff --git a/app-crypt/certbot/certbot-3.3.0-r2.ebuild b/app-crypt/certbot/certbot-3.3.0-r2.ebuild deleted file mode 100644 index 6f67453d14a7..000000000000 --- a/app-crypt/certbot/certbot-3.3.0-r2.ebuild +++ /dev/null @@ -1,307 +0,0 @@ -# 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..13} ) - -inherit distutils-r1 - -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-1.13.0[${PYTHON_USEDEP}] - =dev-python/parsedatetime-2.4[${PYTHON_USEDEP}] - >=dev-python/pyopenssl-25.0.0[${PYTHON_USEDEP}] - dev-python/pyrfc3339[${PYTHON_USEDEP}] - >=dev-python/pytz-2019.3[${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+=" -# !=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/digitalocean-1.11[${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 - -src_prepare() { - local S_BACKUP="${S}" - - local certbot_dirs=() - local base module dir - 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 - - for dir in "${certbot_dirs[@]}"; do - S="${WORKDIR}/${P}/${dir}" - pushd "${S}" > /dev/null || die - distutils-r1_src_prepare - popd > /dev/null || die - done - - # Restore S - S="${S_BACKUP}" -} - -src_configure() { - local S_BACKUP="${S}" - - local certbot_dirs=() - local base module dir - 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 - - for dir in "${certbot_dirs[@]}"; do - S="${WORKDIR}/${P}/${dir}" - pushd "${S}" > /dev/null || die - distutils-r1_src_configure - popd > /dev/null || die - done - - # Restore S - S="${S_BACKUP}" -} - -src_compile() { - # Used for building documentation - # Stores temporary modules docs in each subdirectories, will be used for HTML_DOCS - local temp_docs="${T}/docs" - use doc && { - mkdir "${temp_docs}" || die - } - - local S_BACKUP="${S}" - - local certbot_dirs=() - local base module dir - 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 - - for dir in "${certbot_dirs[@]}"; do - S="${WORKDIR}/${P}/${dir}" - pushd "${S}" > /dev/null || die - distutils-r1_src_compile - popd > /dev/null || die - done - - # Restore S - S="${S_BACKUP}" - - use doc && { - # Replace HTML_DOCS with one single entry to avoid merging - HTML_DOCS=( "${temp_docs}" ) - } -} - -python_compile_all() { - # There is no documentation in certbot-apache or certbot-nginx. - if [[ "${dir}" = "certbot-apache" ]] || [[ "${dir}" = "certbot-nginx" ]]; then - return - fi - - # Used to build documentation - use doc && { - sphinx_compile_all - - # Subdirectory "_build/html" from build_sphinx in eclass/python-utils-r1.eclass - mv "${_DISTUTILS_SPHINX_SUBDIR}/_build/html" "${temp_docs}/${dir}" || die - } -} - -python_test() { - local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 - epytest -} - -src_test() { - local S_BACKUP="${S}" - - local certbot_dirs=() - local base module dir - 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 - - for dir in "${certbot_dirs[@]}"; do - S="${WORKDIR}/${P}/${dir}" - pushd "${S}" > /dev/null || die - distutils-r1_src_test - popd > /dev/null || die - done - - # Restore S - S="${S_BACKUP}" -} - -src_install() { - local S_BACKUP="${S}" - - local certbot_dirs=() - local base module dir - 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 - - for dir in "${certbot_dirs[@]}"; do - S="${WORKDIR}/${P}/${dir}" - pushd "${S}" > /dev/null || die - distutils-r1_src_install - popd > /dev/null || die - done - - # Restore S - S="${S_BACKUP}" -} diff --git a/app-crypt/certbot/certbot-3.3.0-r3.ebuild b/app-crypt/certbot/certbot-3.3.0-r3.ebuild new file mode 100644 index 000000000000..50600140fd7a --- /dev/null +++ b/app-crypt/certbot/certbot-3.3.0-r3.ebuild @@ -0,0 +1,222 @@ +# 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..13} ) + +inherit distutils-r1 + +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-1.13.0[${PYTHON_USEDEP}] + =dev-python/parsedatetime-2.4[${PYTHON_USEDEP}] + >=dev-python/pyopenssl-25.0.0[${PYTHON_USEDEP}] + dev-python/pyrfc3339[${PYTHON_USEDEP}] + >=dev-python/pytz-2019.3[${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+=" +# !=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/digitalocean-1.11[${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 +} + +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 + # Change for pytest rootdir is required. + cd "${BUILD_DIR}/install$(python_get_sitedir)" || die + epytest +} diff --git a/app-crypt/certbot/certbot-4.0.0-r1.ebuild b/app-crypt/certbot/certbot-4.0.0-r1.ebuild deleted file mode 100644 index 83fd24c753d4..000000000000 --- a/app-crypt/certbot/certbot-4.0.0-r1.ebuild +++ /dev/null @@ -1,188 +0,0 @@ -# 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..13} ) - -inherit distutils-r1 - -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.4[${PYTHON_USEDEP}] - >=dev-python/pyopenssl-25.0.0[${PYTHON_USEDEP}] - dev-python/pyrfc3339[${PYTHON_USEDEP}] - >=dev-python/pytz-2019.3[${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+=" -# !=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/digitalocean-1.11[${PYTHON_USEDEP}] -# ) -# " - -distutils_enable_tests pytest - -certbot_dirs=() - -my_certbot_dirs_listing() { - 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 -} - -src_prepare() { - default - - my_certbot_dirs_listing -} - -python_compile() { - local dir - for dir in "${certbot_dirs[@]}"; do - pushd "${dir}" > /dev/null || die - - distutils-r1_python_compile - # Delete previous build directory to avoid collision. - rm -rf "${BUILD_DIR}/build" - - popd > /dev/null || die - done -} - -python_test() { - local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 - # Change for pytest rootdir is required. - cd "${BUILD_DIR}/install$(python_get_sitedir)" || die - epytest -} diff --git a/app-crypt/certbot/certbot-4.0.0-r2.ebuild b/app-crypt/certbot/certbot-4.0.0-r2.ebuild new file mode 100644 index 000000000000..97c68bc1873f --- /dev/null +++ b/app-crypt/certbot/certbot-4.0.0-r2.ebuild @@ -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..13} ) + +inherit distutils-r1 + +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.4[${PYTHON_USEDEP}] + >=dev-python/pyopenssl-25.0.0[${PYTHON_USEDEP}] + dev-python/pyrfc3339[${PYTHON_USEDEP}] + >=dev-python/pytz-2019.3[${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+=" +# !=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/digitalocean-1.11[${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 +} + +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 + # Change for pytest rootdir is required. + cd "${BUILD_DIR}/install$(python_get_sitedir)" || die + epytest +} diff --git a/app-crypt/certbot/certbot-9999.ebuild b/app-crypt/certbot/certbot-9999.ebuild index 83fd24c753d4..97c68bc1873f 100644 --- a/app-crypt/certbot/certbot-9999.ebuild +++ b/app-crypt/certbot/certbot-9999.ebuild @@ -146,40 +146,73 @@ RDEPEND=" # ) # " +# 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=() +CERTBOT_DIRS=() +# Stores temporary modules docs in each subdirectories, +# will be used for HTML_DOCS +CERTBOT_DOCS="${T}/docs" -my_certbot_dirs_listing() { +src_prepare() { + default + + # set CERTBOT_DIRS local base module for base in "${CERTBOT_BASE[@]}"; do - certbot_dirs+=("${base}") + CERTBOT_DIRS+=("${base}") done for module in "${CERTBOT_MODULES_EXTRA[@]}"; do - use "certbot-${module}" \ - && certbot_dirs+=("certbot-${module}") + use "certbot-${module}" && + CERTBOT_DIRS+=("certbot-${module}") done -} - -src_prepare() { - default - my_certbot_dirs_listing + # Used to build documentation + mkdir "${CERTBOT_DOCS}" || die } python_compile() { local dir - for dir in "${certbot_dirs[@]}"; do + for dir in "${CERTBOT_DIRS[@]}"; do pushd "${dir}" > /dev/null || die distutils-r1_python_compile - # Delete previous build directory to avoid collision. - rm -rf "${BUILD_DIR}/build" 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 # Change for pytest rootdir is required. -- cgit v1.2.3