diff options
author | Pol Dellaiera <pol.dellaiera@protonmail.com> | 2024-04-17 17:22:10 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-04-17 17:22:10 +0200 |
commit | 6b6c0dff89a4a7402ef40d251b9c2d75bff90db5 (patch) | |
tree | e35fc70e6a25c11dc398cfa43b58fb7e5aa92103 /pkgs/by-name/ch | |
parent | 2d3961e5bb517d1818d85db35ee6472e4f64c710 (diff) | |
parent | 44f73650e88128cb3d62ae58a4b4cc4c88143edb (diff) |
Merge pull request #303369 from jnsgruk/charmcraft
charmcraft: init at 2.6.0
Diffstat (limited to 'pkgs/by-name/ch')
-rw-r--r-- | pkgs/by-name/ch/charmcraft/package.nix | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/pkgs/by-name/ch/charmcraft/package.nix b/pkgs/by-name/ch/charmcraft/package.nix new file mode 100644 index 0000000000000..c837563a61c8b --- /dev/null +++ b/pkgs/by-name/ch/charmcraft/package.nix @@ -0,0 +1,88 @@ +{ + lib, + git, + python3Packages, + fetchFromGitHub, + nix-update-script, +}: + +python3Packages.buildPythonApplication rec { + pname = "charmcraft"; + version = "2.6.0"; + + pyproject = true; + + src = fetchFromGitHub { + owner = "canonical"; + repo = "charmcraft"; + rev = "refs/tags/${version}"; + hash = "sha256-B0ZcOORW6yaSIpisPLnq5/S/CcqqvHNTXcfP1sKW2KQ="; + }; + + postPatch = '' + substituteInPlace setup.py \ + --replace-fail 'version=determine_version()' 'version="${version}"' + ''; + + propagatedBuildInputs = with python3Packages; [ + craft-cli + craft-parts + craft-providers + craft-store + distro + humanize + jinja2 + jsonschema + pydantic_1 + python-dateutil + pyyaml + requests + requests-toolbelt + requests-unixsocket + snap-helpers + tabulate + urllib3 + ]; + + nativeBuildInputs = with python3Packages; [ + pythonRelaxDepsHook + setuptools + ]; + + pythonRelaxDeps = [ + "urllib3" + ]; + + nativeCheckInputs = with python3Packages; [ + pyfakefs + pytest-check + pytest-mock + pytest-subprocess + pytestCheckHook + responses + ] ++ [ git ]; + + preCheck = '' + mkdir -p check-phase + export HOME="$(pwd)/check-phase" + ''; + + pytestFlagsArray = [ "tests/unit" ]; + + disabledTests = [ + # Relies upon the `charm` tool being installed + "test_validate_missing_charm" + ]; + + passthru.updateScript = nix-update-script { }; + + meta = { + mainProgram = "charmcraft"; + description = "Build and publish Charmed Operators for deployment with Juju"; + homepage = "https://github.com/canonical/charmcraft"; + changelog = "https://github.com/canonical/charmcraft/releases/tag/${version}"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ jnsgruk ]; + platforms = lib.platforms.linux; + }; +} |