From e3be55090c5848de4f6537ca8eb15edd94ccdafb Mon Sep 17 00:00:00 2001 From: confus Date: Mon, 2 Mar 2026 20:18:26 +0100 Subject: [PATCH] devpi-web: init at 5.0.1 --- .../python-modules/devpi-web/default.nix | 94 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 96 insertions(+) create mode 100644 pkgs/development/python-modules/devpi-web/default.nix diff --git a/pkgs/development/python-modules/devpi-web/default.nix b/pkgs/development/python-modules/devpi-web/default.nix new file mode 100644 index 000000000000..258e5e2cb203 --- /dev/null +++ b/pkgs/development/python-modules/devpi-web/default.nix @@ -0,0 +1,94 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + gitUpdater, + + # dependencies + attrs, + beautifulsoup4, + defusedxml, + devpi-common, + devpi-server, + docutils, + pygments, + pyramid, + pyramid-chameleon, + readme-renderer, + setuptools, + tomli, + whoosh, + + # tests + pytestCheckHook, + pytest-cov-stub, + packaging-legacy, + webtest, +}: + +buildPythonPackage (finalAttrs: { + pname = "devpi-web"; + version = "5.0.1"; + pyproject = true; + + src = fetchFromGitHub { + owner = "devpi"; + repo = "devpi"; + tag = "web-${finalAttrs.version}"; + hash = "sha256-p52uwkXeCPPsnD9BLfqEa8NK4bAfIdpYIzdNgmwucms="; + }; + + sourceRoot = "${finalAttrs.src.name}/web"; + + postPatch = '' + substituteInPlace pyproject.toml \ + --replace-fail ', "setuptools_changelog_shortener"' "" + ''; + + build-system = [ setuptools ]; + + dependencies = [ + attrs + beautifulsoup4 + defusedxml + devpi-common + devpi-server + docutils + pygments + pyramid + pyramid-chameleon + readme-renderer + tomli + whoosh + ] + ++ readme-renderer.optional-dependencies.md; + + nativeCheckInputs = [ + pytestCheckHook + pytest-cov-stub + packaging-legacy + webtest + ]; + + pythonImportsCheck = [ "devpi_web" ]; + + # devpi uses a monorepo for server, common, client and web + passthru = { + # bulk updater selects wrong tag + skipBulkUpdate = true; + updateScript = gitUpdater { + # devpi uses a monorepo for server, common, client and web + rev-prefix = "web-"; + }; + }; + + meta = { + homepage = "https://github.com/devpi/devpi"; + description = "Web view for devpi-server"; + changelog = "https://github.com/devpi/devpi/blob/${finalAttrs.src.tag}/common/CHANGELOG"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ + confus + ]; + }; +}) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 255cbae68748..fe822dfde9a6 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -3872,6 +3872,8 @@ self: super: with self; { devpi-server = callPackage ../development/python-modules/devpi-server { }; + devpi-web = callPackage ../development/python-modules/devpi-web { }; + devtools = callPackage ../development/python-modules/devtools { }; dfdiskcache = callPackage ../development/python-modules/dfdiskcache { };