<div dir="ltr"><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, 30 Jan 2021 at 20:51, Pavel Sanda <<a href="mailto:sanda@lyx.org">sanda@lyx.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Fri, Jan 29, 2021 at 06:38:30PM +0100, Thibaut Cuvelier wrote:<br>
> As promised, I started working on ePub output, building upon the new<br>
> DocBook output.<br>
<br>
Generally looks fine, thanks for the effort!<br>
<br>
> Here is a script that performs the complete process of taking a DocBook<br>
> file and generating the ePub. It has several dependencies:<br>
> <br>
> - an XSLT processor:<br>
> <br>
>    - not xsltproc (<a href="http://xmlsoft.org/xslt/xsltproc2.html" rel="noreferrer" target="_blank">http://xmlsoft.org/xslt/xsltproc2.html</a>): available for<br>
>    most Linux distributions, I guess it is available by default on macOS, must<br>
>    be bundled for Windows. I tried several versions for Windows, but an old<br>
>    bug that should have been fixed in 1.1.24 (roughly 2010) is still there:<br>
>    - I/O error : No such file or directory<br>
>       - xsltDocumentElem: unable to save to<br>
>       C:/Users/Thibaut/AppData/Local/Temp/tmp6c2i6a7h/OEBPS/package.opf<br>
>    - Saxon 6 (available for most Linux distributions, must be bundled for<br>
>    Windows and macOS, requires Java). It's outdated software (circa 2005), but<br>
>    newer versions are not 100% backward compatible, so it is still very widely<br>
>    used. Other DocBook stylesheets would work on newer Saxon, but they are not<br>
>    as reliable as the old ones (like <a href="https://github.com/docbook/xslTNG" rel="noreferrer" target="_blank">https://github.com/docbook/xslTNG</a>).<br>
>    - not MSXML6 (Windows-only, mostly built-it, but not compatible with the<br>
>    DocBook stylesheets ??? it wrongly errors with chunking) or .Net XSLT engine<br>
>    (nxslt/nxslt2).<br>
> <br>
> - the official DocBook XSLT stylesheets. Three parts are required: XHTML,<br>
> XHTML5, and ePub. For now, I copied the needed parts in a patch. On some<br>
> Linux distributions, this could be replaced by a version installed by the<br>
> package manager (Ubuntu 20.04 has a near-up-to-date version, although the<br>
> latest one has been released in 2016:<br>
> <a href="https://github.com/docbook/xslt10-stylesheets/releases/tag/release%2F1.79.2" rel="noreferrer" target="_blank">https://github.com/docbook/xslt10-stylesheets/releases/tag/release%2F1.79.2</a>;<br>
> Fedora is up-to-date).<br>
<br>
Java dependency is sad news. Is there some bug within xsltproc which we<br>
can bump or ask devs to fix it so we don't need to stick with saxon in<br>
long term? I looked at <a href="https://gitlab.gnome.org/GNOME/libxslt/" rel="noreferrer" target="_blank">https://gitlab.gnome.org/GNOME/libxslt/</a><br>
and the project seems to be reasonably alive (If I look on the correct repo).<br></blockquote><div><br></div><div>That's the right repo, as far as I know. I submitted a bug report: <a href="https://gitlab.gnome.org/GNOME/libxslt/-/issues/49">https://gitlab.gnome.org/GNOME/libxslt/-/issues/49</a>. I guess I would have to dig deeper into xsltproc to properly debug this… <br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
> (By the way, these patches have been written on top of the 14 others I just<br>
> submitted to the list: they should apply cleanly, but that's not 100%<br>
> guaranteed.)<br>
<br>
As far as I could see the only point of potential conflict are few configure.py<br>
lines of configure.py, we can easily deal with that. I still maintain that it<br>
would be better to postpone nonessential python changes post 2.4.<br></blockquote><div><br></div><div>I'm attaching a rebased version on top of current master, if that helps.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
> It's open for comments :)!<br>
<br>
Small technical glitches<br>
- we will need to bundle those files into our tarball so Makefile.am entries<br>
  are missing. (I can help with this once in master.)<br></blockquote><div><br></div><div>Indeed, I would like some help on this :).<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
- I think Saxon & stylesheets belong to 3rdparty directory<br></blockquote><div><br></div><div>I only see compile-time dependencies in that folder, while both Saxon and the stylesheets are run-time dependencies. It's really like /lib/tex, actually.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
- we need to give instructions to packagers why we bundle the stylesheets and<br>
  libraries (lib/RELEASE-NOTES looks as a good candidate) and make clear which<br>
  versions are needed to work correctly.<br></blockquote><div><br></div><div>Saxon: either 6.5.4 or 6.5.5 (other versions are known not to work). For the stylesheets, at least 1.76. <br></div></div></div>