diff --git a/pkgs/by-name/ro/rockcraft/package.nix b/pkgs/by-name/ro/rockcraft/package.nix index 9ec578ffe1e6..be29de5fcc69 100644 --- a/pkgs/by-name/ro/rockcraft/package.nix +++ b/pkgs/by-name/ro/rockcraft/package.nix @@ -4,26 +4,29 @@ fetchFromGitHub, dpkg, nix-update-script, - testers, - rockcraft, - cacert, + versionCheckHook, writableTmpDirAsHomeHook, }: python3Packages.buildPythonApplication rec { pname = "rockcraft"; - version = "1.10.0"; + version = "1.12.0"; src = fetchFromGitHub { owner = "canonical"; repo = "rockcraft"; rev = version; - hash = "sha256-LrUs6/YRQYU0o1kmNdBhafvDIyw91FnW8+9i0Jj5f+Y="; + hash = "sha256-yv+TGDSUBKJf5X+73Do9KrAcCodeBPqpIHgpYZslR3o="; }; pyproject = true; + build-system = with python3Packages; [ setuptools-scm ]; + postPatch = '' + substituteInPlace pyproject.toml --replace-fail "setuptools~=80.8.0" "setuptools" + ''; + dependencies = with python3Packages; [ craft-application craft-archives @@ -32,6 +35,10 @@ python3Packages.buildPythonApplication rec { tabulate ]; + pythonRelaxDeps = [ + "craft-providers" + ]; + nativeCheckInputs = with python3Packages; [ @@ -40,32 +47,25 @@ python3Packages.buildPythonApplication rec { pytest-mock pytest-subprocess pytestCheckHook + versionCheckHook writableTmpDirAsHomeHook ] ++ [ dpkg ]; + pytestFlagsArray = [ "tests/unit" ]; + disabledTests = [ "test_project_all_platforms_invalid" "test_run_init_flask" "test_run_init_django" + # Mock is broken for Unix FHS reasons. + "test_run_pack_services" ]; - disabledTestPaths = [ - # Relies upon info in the .git directory which is stripped by fetchFromGitHub, - # and the version is overridden anyway. - "tests/integration/test_version.py" - # Tests non-Nix native packaging - "tests/integration/test_setuptools.py" - ]; + versionCheckProgramArg = "--version"; + versionCheckKeepEnvironment = [ "SSL_CERT_FILE" ]; - passthru = { - updateScript = nix-update-script { }; - tests.version = testers.testVersion { - package = rockcraft; - command = "env SSL_CERT_FILE=${cacert}/etc/ssl/certs/ca-bundle.crt HOME=$(mktemp -d) rockcraft --version"; - version = "rockcraft ${version}"; - }; - }; + passthru.updateScript = nix-update-script { }; meta = { mainProgram = "rockcraft";