mirror of
https://github.com/flatcar/scripts.git
synced 2025-09-28 17:11:34 +02:00
dev-python/certifi: Sync with Gentoo
It's from Gentoo commit ed468028e725c9580a7b2ee02d6b7b9375f7a0b2.
This commit is contained in:
parent
7a438f7aab
commit
314cbd4b07
@ -1 +1 @@
|
||||
DIST certifi-system-store-3021.3.16.tar.gz 13784 BLAKE2B c0c2322fe298d363c4ef4dada2c0db8837bf7a32d86a7b54a1b45bb3dd3c99d732b2612f25495f4a59d9692f896e2b962e7057fa5fec9998724476db48f90c2a SHA512 44953ed8a3deb5fa4aff3f74afa557219e042acea395e9cdebfd26fd43ce0bdeca07c6b6dfe91977f88852e7674b94337b93c4d78fd2da6f47a6187fa46d6668
|
||||
DIST certifi-system-store-3021.3.16.gh.tar.gz 13784 BLAKE2B c0c2322fe298d363c4ef4dada2c0db8837bf7a32d86a7b54a1b45bb3dd3c99d732b2612f25495f4a59d9692f896e2b962e7057fa5fec9998724476db48f90c2a SHA512 44953ed8a3deb5fa4aff3f74afa557219e042acea395e9cdebfd26fd43ce0bdeca07c6b6dfe91977f88852e7674b94337b93c4d78fd2da6f47a6187fa46d6668
|
||||
|
@ -1,60 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
# please keep this ebuild at EAPI 7 -- sys-apps/portage dep
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{8..10} pypy3 )
|
||||
DISTUTILS_USE_SETUPTOOLS=rdepend
|
||||
inherit distutils-r1
|
||||
|
||||
MY_P=certifi-system-store-${PV}
|
||||
DESCRIPTION="A certifi hack to use system trust store on Linux/FreeBSD"
|
||||
HOMEPAGE="
|
||||
https://github.com/tiran/certifi-system-store/
|
||||
https://pypi.org/project/certifi-system-store/"
|
||||
SRC_URI="
|
||||
https://github.com/tiran/certifi-system-store/archive/v${PV}.tar.gz
|
||||
-> ${MY_P}.tar.gz"
|
||||
S=${WORKDIR}/${MY_P}
|
||||
|
||||
LICENSE="MPL-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
|
||||
RDEPEND="app-misc/ca-certificates"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-3021.3.16-setuptools.patch
|
||||
)
|
||||
|
||||
EPYTEST_IGNORE=(
|
||||
# requires Internet
|
||||
tests/test_requests.py
|
||||
)
|
||||
|
||||
distutils_enable_tests --install pytest
|
||||
|
||||
src_prepare() {
|
||||
sed -i -e "s^/etc^${EPREFIX}/etc^" src/certifi/core.py || die
|
||||
distutils-r1_src_prepare
|
||||
}
|
||||
|
||||
symlink_info() {
|
||||
pushd "${1}" >/dev/null || die
|
||||
local egginfo=( certifi_system_store*.egg-info )
|
||||
[[ -d ${egginfo} ]] || die
|
||||
ln -v -s "${egginfo}" "${egginfo/_system_store}" || die
|
||||
popd >/dev/null || die
|
||||
}
|
||||
|
||||
python_test() {
|
||||
distutils_install_for_testing
|
||||
symlink_info "${TEST_DIR}"/lib
|
||||
epytest
|
||||
}
|
||||
|
||||
python_install() {
|
||||
distutils-r1_python_install
|
||||
symlink_info "${D}$(python_get_sitedir)"
|
||||
}
|
55
sdk_container/src/third_party/portage-stable/dev-python/certifi/certifi-3021.3.16-r3.ebuild
vendored
Normal file
55
sdk_container/src/third_party/portage-stable/dev-python/certifi/certifi-3021.3.16-r3.ebuild
vendored
Normal file
@ -0,0 +1,55 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
# please keep this ebuild at EAPI 7 -- sys-apps/portage dep
|
||||
EAPI=7
|
||||
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
PYTHON_COMPAT=( python3_{9..11} pypy3 )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
MY_P=certifi-system-store-${PV}
|
||||
DESCRIPTION="A certifi hack to use system trust store on Linux/FreeBSD"
|
||||
HOMEPAGE="
|
||||
https://github.com/tiran/certifi-system-store/
|
||||
https://pypi.org/project/certifi-system-store/
|
||||
"
|
||||
SRC_URI="
|
||||
https://github.com/tiran/certifi-system-store/archive/v${PV}.tar.gz
|
||||
-> ${MY_P}.gh.tar.gz
|
||||
"
|
||||
S=${WORKDIR}/${MY_P}
|
||||
|
||||
LICENSE="MPL-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
|
||||
RDEPEND="
|
||||
app-misc/ca-certificates
|
||||
dev-python/setuptools[${PYTHON_USEDEP}]
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${P}-use-importlib.patch
|
||||
)
|
||||
|
||||
EPYTEST_IGNORE=(
|
||||
# requires Internet
|
||||
tests/test_requests.py
|
||||
)
|
||||
|
||||
distutils_enable_tests pytest
|
||||
|
||||
src_prepare() {
|
||||
sed -i -e "s^/etc^${EPREFIX}/etc^" src/certifi/core.py || die
|
||||
distutils-r1_src_prepare
|
||||
}
|
||||
|
||||
python_compile() {
|
||||
distutils-r1_python_compile
|
||||
cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
|
||||
local distinfo=( certifi_system_store*.dist-info )
|
||||
[[ -d ${distinfo} ]] || die
|
||||
ln -v -s "${distinfo}" "${distinfo/_system_store}" || die
|
||||
}
|
@ -1,21 +0,0 @@
|
||||
https://github.com/tiran/certifi-system-store/pull/17
|
||||
https://bugs.gentoo.org/822777
|
||||
|
||||
From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
|
||||
Date: Tue, 23 Nov 2021 15:56:33 +0100
|
||||
Subject: [PATCH] Add missing install_requires on setuptools
|
||||
|
||||
This package is using pkg_resources explicitly, it should therefore
|
||||
declare an explicit dependency on setuptools. The missing dependency
|
||||
has lead me to actually miss the runtime dependency which caused issues
|
||||
for Gentoo users for whom setuptools were cleaned.
|
||||
--- a/setup.cfg
|
||||
+++ b/setup.cfg
|
||||
@@ -40,6 +40,7 @@ zip_safe = True
|
||||
setup_requires = setuptools
|
||||
# hack to prevent installation on unsupported platforms Windows and macOS
|
||||
install_requires =
|
||||
+ setuptools
|
||||
certifi-system-store > 4000; sys_platform == "win32" or sys_platform == "darwin"
|
||||
python_requires = >=3.6
|
||||
|
@ -0,0 +1,164 @@
|
||||
1. https://github.com/tiran/certifi-system-store/commit/6945f34b7be433dbf22946825cdb225d5d2136d5
|
||||
2. https://github.com/tiran/certifi-system-store/pull/21
|
||||
|
||||
Avoid repeated instances of https://bugs.gentoo.org/878045 when a package
|
||||
has too-strict requirements and then affects other, unrelated Python
|
||||
packages on the system.
|
||||
|
||||
From 6945f34b7be433dbf22946825cdb225d5d2136d5 Mon Sep 17 00:00:00 2001
|
||||
From: Christian Heimes <christian@python.org>
|
||||
Date: Tue, 16 Mar 2021 16:00:08 +0100
|
||||
Subject: [PATCH] Relax patch checks (#13)
|
||||
|
||||
- only check that version matches, not files are identical
|
||||
- compare base directories with samefile. This fixes a problem with
|
||||
lib64 symlink in virtual envs.
|
||||
|
||||
Signed-off-by: Christian Heimes <christian@python.org>
|
||||
--- a/src/certifi/_patch.py
|
||||
+++ b/src/certifi/_patch.py
|
||||
@@ -28,7 +28,7 @@ def _patch_dist_info():
|
||||
except pkg_resources.DistributionNotFound:
|
||||
pass
|
||||
else:
|
||||
- if os.path.samefile(css_dist.egg_info, certifi_dist.egg_info):
|
||||
+ if certifi_dist.version == css_dist.version:
|
||||
return False, css_dist.egg_info, certifi_dist.egg_info
|
||||
else:
|
||||
# blow away certifi's dist-info
|
||||
@@ -55,7 +55,9 @@ def _patch_dist_info():
|
||||
certifi_dir = os.path.dirname(os.path.abspath(__file__))
|
||||
dist_dir = os.path.abspath(certifi_dist.egg_info)
|
||||
|
||||
- if os.path.dirname(certifi_dir) != os.path.dirname(dist_dir):
|
||||
+ # compare with samefile instead of string comparison to avoid false
|
||||
+ # negatives caused by venv lib64 / lib symlinks
|
||||
+ if not os.path.samefile(os.path.dirname(certifi_dir), os.path.dirname(dist_dir)):
|
||||
raise RuntimeError(
|
||||
f"'{certifi_dir} and {dist_dir} have different parent directories."
|
||||
)
|
||||
|
||||
From cdec6d20b5d716d9853e72a1519a304070395498 Mon Sep 17 00:00:00 2001
|
||||
From: Christian Heimes <christian@python.org>
|
||||
Date: Wed, 22 Jun 2022 10:08:18 +0200
|
||||
Subject: [PATCH] Use importlib on Python 3.8+
|
||||
|
||||
--- a/setup.cfg
|
||||
+++ b/setup.cfg
|
||||
@@ -38,8 +40,9 @@ packages = certifi
|
||||
include_package_data = True
|
||||
zip_safe = True
|
||||
setup_requires = setuptools
|
||||
-# hack to prevent installation on unsupported platforms Windows and macOS
|
||||
install_requires =
|
||||
+ setuptools; python_version < "3.8"
|
||||
+ # hack to prevent installation on unsupported platforms Windows and macOS
|
||||
certifi-system-store > 4000; sys_platform == "win32" or sys_platform == "darwin"
|
||||
python_requires = >=3.6
|
||||
|
||||
--- a/src/certifi/_patch.py
|
||||
+++ b/src/certifi/_patch.py
|
||||
@@ -1,7 +1,31 @@
|
||||
import os
|
||||
import shutil
|
||||
import sys
|
||||
-import pkg_resources
|
||||
+
|
||||
+if sys.version_info >= (3, 8):
|
||||
+ from importlib import metadata
|
||||
+
|
||||
+ PackageNotFoundError = metadata.PackageNotFoundError
|
||||
+
|
||||
+ def _get_distinfo(name):
|
||||
+ dist = metadata.distribution(name)
|
||||
+ egg_info = dist._path
|
||||
+ return dist.version, egg_info
|
||||
+
|
||||
+ def _invalidate_caches():
|
||||
+ pass
|
||||
+
|
||||
+else:
|
||||
+ import pkg_resources
|
||||
+
|
||||
+ PackageNotFoundError = pkg_resources.DistributionNotFound
|
||||
+
|
||||
+ def _get_distinfo(name):
|
||||
+ dist = pkg_resources.get_distribution(name)
|
||||
+ return dist.version, dist.egg_info
|
||||
+
|
||||
+ def _invalidate_caches():
|
||||
+ pkg_resources.working_set.__init__()
|
||||
|
||||
|
||||
def _relsymlink(target, linkname):
|
||||
@@ -22,22 +46,22 @@ def _relsymlink(target, linkname):
|
||||
|
||||
def _patch_dist_info():
|
||||
# distribution object for the canonical project name
|
||||
- css_dist = pkg_resources.get_distribution("certifi_system_store")
|
||||
+ css_version, css_egg_info = _get_distinfo("certifi_system_store")
|
||||
try:
|
||||
- certifi_dist = pkg_resources.get_distribution("certifi")
|
||||
- except pkg_resources.DistributionNotFound:
|
||||
+ certifi_version, certifi_egg_info = _get_distinfo("certifi")
|
||||
+ except PackageNotFoundError:
|
||||
pass
|
||||
else:
|
||||
- if certifi_dist.version == css_dist.version:
|
||||
- return False, css_dist.egg_info, certifi_dist.egg_info
|
||||
+ if certifi_version == css_version:
|
||||
+ return False, css_egg_info, certifi_egg_info
|
||||
else:
|
||||
# blow away certifi's dist-info
|
||||
- shutil.rmtree(certifi_dist.egg_info)
|
||||
+ shutil.rmtree(certifi_egg_info)
|
||||
# reset current working set, so pkg_resources can pick up our hack
|
||||
- pkg_resources.working_set.__init__()
|
||||
+ _invalidate_caches()
|
||||
|
||||
# certifi-system-store's dist-info
|
||||
- abs_css_distinfodir = os.path.abspath(css_dist.egg_info)
|
||||
+ abs_css_distinfodir = os.path.abspath(css_egg_info)
|
||||
css_basedir, css_distinfodir = os.path.split(abs_css_distinfodir)
|
||||
|
||||
# certifi's dist-info in same base directory
|
||||
@@ -48,12 +72,12 @@ def _patch_dist_info():
|
||||
_relsymlink(target=abs_css_distinfodir, linkname=abs_certifi_distinfodir)
|
||||
|
||||
# get dist info from refreshed working set
|
||||
- css_dist = pkg_resources.get_distribution("certifi_system_store")
|
||||
- certifi_dist = pkg_resources.get_distribution("certifi")
|
||||
+ css_version, css_egg_info = _get_distinfo("certifi_system_store")
|
||||
+ certifi_version, certifi_egg_info = _get_distinfo("certifi")
|
||||
|
||||
# check that certifi dist-info is in same site-packages as certifi package
|
||||
certifi_dir = os.path.dirname(os.path.abspath(__file__))
|
||||
- dist_dir = os.path.abspath(certifi_dist.egg_info)
|
||||
+ dist_dir = os.path.abspath(certifi_egg_info)
|
||||
|
||||
# compare with samefile instead of string comparison to avoid false
|
||||
# negatives caused by venv lib64 / lib symlinks
|
||||
@@ -65,17 +89,17 @@ def _patch_dist_info():
|
||||
# double check versions
|
||||
_verify_dist_info()
|
||||
|
||||
- return True, css_dist.egg_info, certifi_dist.egg_info
|
||||
+ return True, css_egg_info, certifi_egg_info
|
||||
|
||||
|
||||
def _verify_dist_info():
|
||||
- css_dist = pkg_resources.get_distribution("certifi_system_store")
|
||||
+ css_version, css_egg_info = _get_distinfo("certifi_system_store")
|
||||
try:
|
||||
- certifi_dist = pkg_resources.get_distribution("certifi")
|
||||
- except pkg_resources.DistributionNotFound as e:
|
||||
+ certifi_version, certifi_egg_info = _get_distinfo("certifi")
|
||||
+ except PackageNotFoundError as e:
|
||||
raise RuntimeError(e)
|
||||
else:
|
||||
- if certifi_dist.version != css_dist.version:
|
||||
+ if certifi_version != css_version:
|
||||
raise RuntimeError(
|
||||
f"'certifi.dist-info' is not an alias to "
|
||||
f"'certifi_system_store.dist-info'. "
|
||||
|
Loading…
x
Reference in New Issue
Block a user