diff options
author | Profpatsch <mail@profpatsch.de> | 2020-03-02 00:44:35 +0100 |
---|---|---|
committer | Profpatsch <mail@profpatsch.de> | 2020-03-02 00:47:23 +0100 |
commit | 9176f20bc31662d991782a04c339feb2b4ef02a9 (patch) | |
tree | f73b0998e437547b09de640b7edce3d3ac18b51f /pkgs/tools | |
parent | 619a095af0efa15631e311c98b56a015fdf4614b (diff) |
httpie: add manpage and html docs
httpie has quite extensive documentation in form of its rst readme. With docutils it’s quite easy to convert to html. We can also convert it to a manpage, which makes the documentation accessible from the command line (even though it’s not quite standard format as far as manpages go; however a lot better than nothing).
Diffstat (limited to 'pkgs/tools')
-rw-r--r-- | pkgs/tools/networking/httpie/default.nix | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/pkgs/tools/networking/httpie/default.nix b/pkgs/tools/networking/httpie/default.nix index 38fdab358c903..b6a7c6329302c 100644 --- a/pkgs/tools/networking/httpie/default.nix +++ b/pkgs/tools/networking/httpie/default.nix @@ -11,6 +11,8 @@ python3Packages.buildPythonApplication rec { sha256 = "0d0rsn5i973l9y0ws3xmnzaw4jwxdlryyjbasnlddph5mvkf7dq0"; }; + outputs = [ "out" "doc" "man" ]; + propagatedBuildInputs = with python3Packages; [ pygments requests setuptools ]; dontUseSetuptoolsCheck = true; patches = [ ./strip-venv.patch ]; @@ -22,6 +24,54 @@ python3Packages.buildPythonApplication rec { pytestCheckHook ]; + postInstall = '' + mkdir -p $man/share/man/man1 + + docdir=$doc/share/doc/httpie + mkdir -p $docdir/html + + cp AUTHORS.rst CHANGELOG.rst CONTRIBUTING.rst $docdir + + # helpfully, the readme has a `no-web` class to exclude + # the parts that are not relevant for offline docs + + # this one build link was not marked however + sed -e 's/^|build|//g' -i README.rst + + toHtml() { + ${docutils}/bin/rst2html5 \ + --strip-elements-with-class=no-web \ + --title=http \ + --no-generator \ + --no-datestamp \ + --no-source-link \ + "$1" \ + "$2" + } + + toHtml README.rst $docdir/html/index.html + toHtml CHANGELOG.rst $docdir/html/CHANGELOG.html + toHtml CONTRIBUTING.rst $docdir/html/CONTRIBUTING.html + + # change a few links to the local files + substituteInPlace $docdir/html/index.html \ + --replace \ + 'https://github.com/jakubroztocil/httpie/blob/master/CHANGELOG.rst' \ + "CHANGELOG.html" \ + --replace \ + 'https://github.com/jakubroztocil/httpie/blob/master/CONTRIBUTING.rst' \ + "CONTRIBUTING.html" + + ${docutils}/bin/rst2man \ + --strip-elements-with-class=no-web \ + --title=http \ + --no-generator \ + --no-datestamp \ + --no-source-link \ + README.rst \ + $man/share/man/man1/http.1 + ''; + # the tests call rst2pseudoxml.py from docutils preCheck = '' export PATH=${docutils}/bin:$PATH |