From 30b6520d9e5486d19af0143d91008807435eab4b Mon Sep 17 00:00:00 2001 From: Anund Date: Mon, 21 Aug 2023 21:05:51 -0600 Subject: [PATCH 1/2] python3.pkgs.pip: install man pages --- .../python-modules/pip/default.nix | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/pkgs/development/python-modules/pip/default.nix b/pkgs/development/python-modules/pip/default.nix index bc06cb39e247b..01cdb5f6273dd 100644 --- a/pkgs/development/python-modules/pip/default.nix +++ b/pkgs/development/python-modules/pip/default.nix @@ -10,6 +10,9 @@ , pretend , pytest +# docs +, sphinx + # coupled downsteam dependencies , pip-tools }: @@ -36,14 +39,46 @@ buildPythonPackage rec { installShellFiles setuptools wheel + + # docs + sphinx ]; + outputs = [ + "out" + "man" + ]; + + # pip uses a custom sphinx extension and unusual conf.py location, mimic the internal build rather than attempting + # to fit sphinxHook see https://github.com/pypa/pip/blob/0778c1c153da7da457b56df55fb77cbba08dfb0c/noxfile.py#L129-L148 + postBuild = '' + cd docs + + # remove references to sphinx extentions only required for html doc generation + # sphinx.ext.intersphinx requires network connection or packaged object.inv files for python and pypug + # sphinxcontrib.towncrier is not currently packaged + for ext in sphinx.ext.intersphinx sphinx_copybutton sphinx_inline_tabs sphinxcontrib.towncrier myst_parser; do + substituteInPlace html/conf.py --replace '"'$ext'",' "" + done + + PYTHONPATH=$src/src:$PYTHONPATH sphinx-build -v \ + -d build/doctrees/man \ + -c html \ + -d build/doctrees/man \ + -b man \ + man \ + build/man + cd .. + ''; + nativeCheckInputs = [ mock scripttest virtualenv pretend pytest ]; # Pip wants pytest, but tests are not distributed doCheck = false; postInstall = '' + installManPage docs/build/man/* + installShellCompletion --cmd pip \ --bash <($out/bin/pip completion --bash) \ --fish <($out/bin/pip completion --fish) \ From b1c95fb843374ca29684b89009a54955a22db8c5 Mon Sep 17 00:00:00 2001 From: Anund Date: Mon, 21 Aug 2023 21:17:39 -0600 Subject: [PATCH 2/2] python3Packages.pip: silence pip warning in build --- pkgs/development/python-modules/pip/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/pip/default.nix b/pkgs/development/python-modules/pip/default.nix index 01cdb5f6273dd..484a15e858769 100644 --- a/pkgs/development/python-modules/pip/default.nix +++ b/pkgs/development/python-modules/pip/default.nix @@ -80,9 +80,9 @@ buildPythonPackage rec { installManPage docs/build/man/* installShellCompletion --cmd pip \ - --bash <($out/bin/pip completion --bash) \ - --fish <($out/bin/pip completion --fish) \ - --zsh <($out/bin/pip completion --zsh) + --bash <($out/bin/pip completion --bash --no-cache-dir) \ + --fish <($out/bin/pip completion --fish --no-cache-dir) \ + --zsh <($out/bin/pip completion --zsh --no-cache-dir) ''; passthru.tests = { inherit pip-tools; };