python3Packages.sphinxcontrib-svg2pdfconverter: init at 1.3.0

This commit is contained in:
dansbandit
2024-06-13 19:12:58 +02:00
parent a9bd4f2bad
commit f8b11e8a90
2 changed files with 61 additions and 0 deletions

View File

@@ -0,0 +1,59 @@
{
lib,
buildPythonPackage,
setuptools,
sphinx,
cairosvg,
inkscape,
librsvg,
fetchPypi,
withCairosvg ? false,
withInkscape ? false,
withLibrsvg ? true,
}:
assert (withCairosvg || withInkscape || withLibrsvg);
buildPythonPackage rec {
pname = "sphinxcontrib-svg2pdfconverter";
version = "1.3.0";
pyproject = true;
src = fetchPypi {
inherit version;
pname = "sphinxcontrib_svg2pdfconverter";
hash = "sha256-ZBGkzC9X7tlqDXu/oTn2jL55gwGIgeHm18RgU81pkR8=";
};
# for enabled modules: provide the full path to the binary
postPatch =
lib.optionalString withLibrsvg ''
substituteInPlace sphinxcontrib/rsvgconverter.py \
--replace-fail "'rsvg_converter_bin', 'rsvg-convert'" "'rsvg_converter_bin', '${lib.getExe' librsvg "rsvg-convert"}'"
''
+ lib.optionalString withInkscape ''
substituteInPlace sphinxcontrib/inkscapeconverter.py \
--replace-fail "'inkscape_converter_bin', 'inkscape'" "'inkscape_converter_bin', '${lib.getExe inkscape}'"
'';
build-system = [ setuptools ];
dependencies = [ sphinx ] ++ lib.optional withCairosvg cairosvg;
doCheck = false; # no tests
pythonImportsCheck =
lib.optional withCairosvg "sphinxcontrib.cairosvgconverter"
++ lib.optional withInkscape "sphinxcontrib.inkscapeconverter"
++ lib.optional withLibrsvg "sphinxcontrib.rsvgconverter";
pythonNamespaces = [ "sphinxcontrib" ];
meta = {
description = "Sphinx SVG to PDF converter extension";
homepage = "https://github.com/missinglinkelectronics/sphinxcontrib-svg2pdfconverter";
license = lib.licenses.bsd2;
maintainers = with lib.maintainers; [ dansbandit ];
};
}

View File

@@ -15694,6 +15694,8 @@ self: super: with self; {
sphinxcontrib-spelling = callPackage ../development/python-modules/sphinxcontrib-spelling { };
sphinxcontrib-svg2pdfconverter = callPackage ../development/python-modules/sphinxcontrib-svg2pdfconverter { };
sphinxcontrib-tikz = callPackage ../development/python-modules/sphinxcontrib-tikz { };
sphinxcontrib-wavedrom = callPackage ../development/python-modules/sphinxcontrib-wavedrom { };