diff --git a/pkgs/development/python-modules/sphinxcontrib-tikz/binary-paths.patch b/pkgs/development/python-modules/sphinxcontrib-tikz/binary-paths.patch new file mode 100644 index 00000000000..847a6e07691 --- /dev/null +++ b/pkgs/development/python-modules/sphinxcontrib-tikz/binary-paths.patch @@ -0,0 +1,22 @@ +diff --git a/sphinxcontrib/tikz.py b/sphinxcontrib/tikz.py +index ee21113..a4f4589 100644 +--- a/sphinxcontrib/tikz.py ++++ b/sphinxcontrib/tikz.py +@@ -242,7 +242,7 @@ def render_tikz(self, node, libs='', stringsubst=False): + tf.write(latex) + tf.close() + +- system([self.builder.config.latex_engine, '--interaction=nonstopmode', ++ system(['@texLive@/bin/pdflatex', '--interaction=nonstopmode', + 'tikz-%s.tex' % shasum], + self.builder) + +@@ -281,7 +281,7 @@ def render_tikz(self, node, libs='', stringsubst=False): + '-sOutputFile=%s' % outfn, '-r' + resolution + 'x' + resolution, + '-f', 'tikz-%s.pdf' % shasum], self.builder) + elif self.builder.config.tikz_proc_suite == "pdf2svg": +- system(['pdf2svg', 'tikz-%s.pdf' % shasum, outfn], self.builder) ++ system(['@pdf2svg@/bin/pdf2svg', 'tikz-%s.pdf' % shasum, outfn], self.builder) + else: + self.builder._tikz_warned = True + raise TikzExtError('Error (tikz extension): Invalid configuration ' diff --git a/pkgs/development/python-modules/sphinxcontrib-tikz/default.nix b/pkgs/development/python-modules/sphinxcontrib-tikz/default.nix new file mode 100644 index 00000000000..15585679a29 --- /dev/null +++ b/pkgs/development/python-modules/sphinxcontrib-tikz/default.nix @@ -0,0 +1,38 @@ +{ lib +, substituteAll +, buildPythonPackage +, fetchPypi +, sphinx +, pdf2svg +, texLive +}: + +buildPythonPackage rec { + pname = "sphinxcontrib-tikz"; + version = "0.4.6"; + + src = fetchPypi { + inherit pname version; + sha256 = "4f362b11e3c2bd17d5f0f07fec03917c16fc5bbcda6fe31ee137c547ed6b03a3"; + }; + + patches = [ + (substituteAll { + src = ./binary-paths.patch; + inherit texLive pdf2svg; + }) + ]; + + propagatedBuildInputs = [ sphinx ]; + + # no tests in package + doCheck = false; + + meta = with lib; { + description = "TikZ extension for Sphinx"; + homepage = https://bitbucket.org/philexander/tikz; + maintainers = with maintainers; [ costrouc ]; + license = licenses.bsd3; + }; + +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index be51e0673e4..55bfc20d014 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -4556,6 +4556,10 @@ in { sphinxcontrib-spelling = callPackage ../development/python-modules/sphinxcontrib-spelling { }; + sphinxcontrib-tikz = callPackage ../development/python-modules/sphinxcontrib-tikz { + texLive = pkgs.texlive.combine { inherit (pkgs.texlive) scheme-small standalone pgfplots; }; + }; + sphinx_pypi_upload = callPackage ../development/python-modules/sphinx_pypi_upload { }; Pweave = callPackage ../development/python-modules/pweave { };