Tested like this:
nix-build -A docbook2odf
./result/bin/docbook2odf --verbose --debug result/share/doc/docbook2odf/examples/book.docbook
swriter book.odt # verify that the document looks ok
Kept the old hacks where they don't break the build in case they things
they fix are still relevant.
I checked that the upgrade doesn't break:
1) Asymptote and EProver builds.
2) My XeLaTeX demo from configurations/ repository.
3) Some of my own files.
The upgrade fixes problems with simultaneous use of 3D and LaTeX labels
in Asymptote.
Please provide a test that worked previously and is broken now if you
need to revert this update or its parts.
The current asciidoc expression is impure; it relies on several tools to
be found in PATH at runtime. This commit adds a enableStandardFeatures
parameter that, if true, pulls in all dependencies and patches asciidoc
to contain full paths to the tools.
I've set enableStandardFeatures = false for the existing asciidoc
attribute so that the closure size stays unchanged, at 255 MiB. The new
asciidocFull attribute (with enableStandardFeatures = true) has a
closure size of 1.5 GiB.
imagemagick, transfig, inkscape, fontconfig and ghostscript are missing
dependencies of dblatex. Instead of adding all those dependencies to the
existing dblatex attribute, make a new dblatexFull attribute for that.
Also pass --use-python-path at install time so that script shebangs end
up with #!/path/to/python instead of #!/path/to/env python (which is
impure when not run in a wrapper).
There are many more packages to fix, this is just a start.
Rules:
* Don't repeat the package name (not always that easy...)
* Start with capital letter
* Don't end with full stop
* Don't start with "The ..." or "A ..."
I've also added descriptions to some packages and rewritten others.
This reverts commit 0350bd3b48. It
causes a huge increase in the closure size of dblatex, since it now
depends on GUI packages like Inkscape. Also, statically depending on
teTeX might be annoying for people who use TeXlive.
This reverts commit aef81d6eb6.
It's really not good to have every little package that depends on
asciidoc to pull in 1.5 GiB in dependencies (such as Lilypond).
The current asciidoc expression is impure; it relies on several tools to
be found in PATH at runtime. This commit adds a enableStandardFeatures
parameter that pulls in all dependencies and patches asciidoc to contain
full paths to the tools.
enableStandardFeatures defaults to true because asciidoc may attempt to
call all tools in its default configuration. With all standard features,
the closure size increases from 255 MiB to 1.5 GiB. Set
enableStandardFeatures = false if you want a minimal asciidoc.
imagemagick, transfig, inkscape, fontconfig and ghostscript was missing.
And pass --use-python-path at install time so that script shebangs end
up with #!/path/to/python instead of #!/path/to/env python.
See https://github.com/dagwieers/asciidoc-odf for more info.
This plugin has a shebang with /bin/env instead of /usr/bin/env, so update the
patchPhase to handle both cases.
WARNING/TODO: Libreoffice says "General Error. General input/output error."
when I try to open the generated .fodp files. So the odt backend works fine,
but the odp backend does not.
Also, slightly change the shebang fixup in the patchPhase so that it
handles optional [[:space:]] before the interpreter path (needed for the
filters).
To enable the extra filters, put this in packageOverrides:
asciidoc = pkgs.asciidoc.override {
enableDitaaFilter = true;
enableMscgenFilter = true;
enableDiagFilter = true;
};