{ lib, buildPythonPackage, annotated-types, distro, fetchFromGitHub, nix-update-script, hypothesis, pytest-check, pytestCheckHook, pythonOlder, setuptools-scm, }: buildPythonPackage rec { pname = "craft-platforms"; version = "0.8.0"; pyproject = true; disabled = pythonOlder "3.10"; src = fetchFromGitHub { owner = "canonical"; repo = "craft-platforms"; tag = version; hash = "sha256-U57hmQ3UPuwoue8kAxAXiH8ecViryFqIxmpnaAdQnZo="; }; postPatch = '' substituteInPlace craft_platforms/__init__.py --replace-fail "dev" "${version}" ''; build-system = [ setuptools-scm ]; dependencies = [ annotated-types distro ]; nativeCheckInputs = [ hypothesis pytestCheckHook pytest-check ]; pythonImportsCheck = [ "craft_platforms" ]; pytestFlagsArray = [ "tests/unit" ]; disabledTests = [ # Attempts to get distro information, and expects "ubuntu-ish" # information to be returned, which doesn't work under NixOS "test_fuzz_get_platforms_build_plan_single_base" ]; passthru.updateScript = nix-update-script { }; meta = { description = "Manage platforms and architectures for charm applications"; homepage = "https://github.com/canonical/craft-platforms"; changelog = "https://github.com/canonical/craft-platforms/releases/tag/${version}"; license = lib.licenses.lgpl3Only; maintainers = with lib.maintainers; [ jnsgruk ]; platforms = lib.platforms.linux; }; }