nixpkgs/pkgs/development/python-modules/certifi/default.nix
Martin Weinelt 35750bad50
python3Packages.certifi: propgate cacert for its setup-hook
For tests that require a working ca-bundle via certifi we need to setup
`NIX_SSL_CERT_FILE`, which is kindly provided by cacerts setup-hook.
2022-12-09 13:58:27 +01:00

53 lines
1.1 KiB
Nix

{ lib
, buildPythonPackage
, cacert
, pythonOlder
, fetchFromGitHub
, pytestCheckHook
}:
buildPythonPackage rec {
pname = "certifi";
version = "2022.12.07";
disabled = pythonOlder "3.6";
src = fetchFromGitHub {
owner = pname;
repo = "python-certifi";
rev = version;
hash = "sha256-r6TJ6YGL0cygz+F6g6wiqBfBa/QKhynZ92C6lHTZ2rI=";
};
patches = [
# Add support for NIX_SSL_CERT_FILE
./env.patch
];
postPatch = ''
# Use our system-wide ca-bundle instead of the bundled one
rm -v "certifi/cacert.pem"
ln -snvf "${cacert}/etc/ssl/certs/ca-bundle.crt" "certifi/cacert.pem"
'';
propagatedNativeBuildInputs = [
# propagate cacerts setup-hook to set up `NIX_SSL_CERT_FILE`
cacert
];
checkInputs = [
pytestCheckHook
];
pythonImportsCheck = [
"certifi"
];
meta = with lib; {
homepage = "https://github.com/certifi/python-certifi";
description = "Python package for providing Mozilla's CA Bundle";
license = licenses.isc;
maintainers = with maintainers; [ koral SuperSandro2000 ];
};
}