215 lines
5.2 KiB
Nix
215 lines
5.2 KiB
Nix
{
|
|
fetchFromGitHub,
|
|
buildHomeAssistantComponent,
|
|
python312Packages,
|
|
}:
|
|
|
|
let
|
|
importlib-resources = python312Packages.callPackage (
|
|
{
|
|
lib,
|
|
isPy27,
|
|
buildPythonPackage,
|
|
fetchPypi,
|
|
setuptools-scm,
|
|
importlib-metadata,
|
|
typing ? null,
|
|
pythonOlder,
|
|
unittestCheckHook,
|
|
}:
|
|
buildPythonPackage rec {
|
|
pname = "importlib-resources";
|
|
version = "5.8.0";
|
|
format = "pyproject";
|
|
disabled = isPy27;
|
|
|
|
src = fetchPypi {
|
|
pname = "importlib_resources";
|
|
inherit version;
|
|
sha256 = "sha256-VoyfFssgT53syNbSSlcu7qJ9rLtM7p5rA6gCVzZ2l1E=";
|
|
};
|
|
|
|
nativeBuildInputs = [
|
|
setuptools-scm
|
|
];
|
|
propagatedBuildInputs =
|
|
[
|
|
importlib-metadata
|
|
]
|
|
++ lib.optional (pythonOlder "3.5") [
|
|
typing
|
|
];
|
|
checkInputs = [
|
|
unittestCheckHook
|
|
];
|
|
pythonImportsCheck = [
|
|
"importlib_resources"
|
|
];
|
|
meta = with lib; {
|
|
description = "Read resources from Python packages";
|
|
homepage = "https://importlib-resources.readthedocs.io/";
|
|
license = licenses.asl20;
|
|
maintainers = [ ];
|
|
};
|
|
}
|
|
) { };
|
|
|
|
pydantic = python312Packages.pydantic;
|
|
|
|
sigstore-rekor-types = python312Packages.callPackage (
|
|
{
|
|
lib,
|
|
buildPythonPackage,
|
|
fetchFromGitHub,
|
|
pythonOlder,
|
|
pydantic,
|
|
flit-core,
|
|
}:
|
|
buildPythonPackage rec {
|
|
pname = "sigstore-rekor-types";
|
|
version = "0.0.11";
|
|
pyproject = true;
|
|
|
|
disabled = pythonOlder "3.8";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "trailofbits";
|
|
repo = "sigstore-rekor-types";
|
|
rev = "refs/tags/v${version}";
|
|
hash = "sha256-oOFdRiDp9USc3A+aaPExprEO2i/RERNahiyi2kVpkns=";
|
|
};
|
|
|
|
build-system = [ flit-core ];
|
|
|
|
dependencies = [ pydantic ] ++ pydantic.optional-dependencies.email;
|
|
|
|
# Module has no tests
|
|
doCheck = false;
|
|
|
|
meta = with lib; {
|
|
description = "Python models for Rekor's API types";
|
|
homepage = "https://github.com/trailofbits/sigstore-rekor-types";
|
|
changelog = "https://github.com/trailofbits/sigstore-rekor-types/releases/tag/v${version}";
|
|
license = licenses.asl20;
|
|
maintainers = with maintainers; [ fab ];
|
|
};
|
|
}
|
|
) { pydantic = pydantic; };
|
|
|
|
sigstore =
|
|
python312Packages.callPackage
|
|
(
|
|
{
|
|
lib,
|
|
buildPythonPackage,
|
|
appdirs,
|
|
cryptography,
|
|
fetchFromGitHub,
|
|
flit-core,
|
|
id,
|
|
importlib-resources,
|
|
pretend,
|
|
pydantic,
|
|
pyjwt,
|
|
pyopenssl,
|
|
pytestCheckHook,
|
|
pythonOlder,
|
|
requests,
|
|
rich,
|
|
securesystemslib,
|
|
sigstore-protobuf-specs,
|
|
sigstore-rekor-types,
|
|
tuf,
|
|
}:
|
|
buildPythonPackage rec {
|
|
pname = "sigstore-python";
|
|
version = "1.1.2";
|
|
pyproject = true;
|
|
|
|
disabled = pythonOlder "3.8";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "sigstore";
|
|
repo = "sigstore-python";
|
|
rev = "refs/tags/v${version}";
|
|
hash = "sha256-lqmrM4r1yPVCcvWNC9CKYMyryuIyliI2Y+TAYgAwA1Y=";
|
|
};
|
|
|
|
build-system = [ flit-core ];
|
|
|
|
dependencies = [
|
|
appdirs
|
|
cryptography
|
|
id
|
|
importlib-resources
|
|
pydantic
|
|
pyjwt
|
|
pyopenssl
|
|
requests
|
|
rich
|
|
securesystemslib
|
|
sigstore-protobuf-specs
|
|
sigstore-rekor-types
|
|
tuf
|
|
];
|
|
|
|
nativeCheckInputs = [
|
|
pretend
|
|
pytestCheckHook
|
|
];
|
|
|
|
preCheck = ''
|
|
export HOME=$(mktemp -d)
|
|
'';
|
|
|
|
pythonImportsCheck = [ "sigstore" ];
|
|
|
|
disabledTests = [
|
|
# Tests require network access
|
|
"test_fail_init_url"
|
|
"test_get_identity_token_bad_code"
|
|
"test_identity_proof_claim_lookup"
|
|
"test_init_url"
|
|
"test_production"
|
|
"test_sct_verify_keyring"
|
|
"test_sign_rekor_entry_consistent"
|
|
"test_verification_materials_retrieves_rekor_entry"
|
|
"test_verifier"
|
|
];
|
|
|
|
meta = with lib; {
|
|
description = "A codesigning tool for Python packages";
|
|
homepage = "https://github.com/sigstore/sigstore-python";
|
|
changelog = "https://github.com/sigstore/sigstore-python/blob/${version}/CHANGELOG.md";
|
|
license = licenses.asl20;
|
|
maintainers = [ ];
|
|
mainProgram = "sigstore";
|
|
};
|
|
}
|
|
)
|
|
{
|
|
importlib-resources = importlib-resources;
|
|
pydantic = pydantic;
|
|
sigstore-rekor-types = sigstore-rekor-types;
|
|
};
|
|
|
|
aiogithubapi = python312Packages.aiogithubapi.override { sigstore = sigstore; };
|
|
in
|
|
buildHomeAssistantComponent rec {
|
|
owner = "UI-Lovelace-Minimalist";
|
|
domain = "ui_lovelace_minimalist";
|
|
version = "v1.3.15";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = owner;
|
|
repo = "UI";
|
|
rev = version;
|
|
hash = "sha256-ElhNHlJttbrZQ4bHvCBtTCNt4R01TbHPKofUG7sTUlo=";
|
|
};
|
|
|
|
dependencies = [
|
|
python312Packages.aiofiles
|
|
aiogithubapi
|
|
];
|
|
}
|