#47972: LaTeXML: texlive-related improvements --------------------------+---------------------------- Reporter: mojca@… | Owner: bruce.miller@… Type: enhancement | Status: new Priority: Normal | Milestone: Component: ports | Version: Resolution: | Keywords: Port: LaTeXML | --------------------------+---------------------------- Comment (by mojca@…): Replying to [comment:1 bruce.miller@…]:
I hadn't realized that MacPorts had adopted the many-small-packages approach. LaTeXML doesn't actually *require* any tex, but will work best with at least a minimal amount. You'd likely want latex, mktexlsr, dvips, and can use dvipng, dvisvgm. Can use other packages if they're installed, but the user can install whatever they expect to use.
I would guess "texlive-latex" is sufficient.
I would try to go for `texlive-basic` if that's feasible. At least `mktexlsr` is part of that package. I added Dan to CC. Dan, in case you are reading this: would it be possible (feasible) to put `mktexlsr` in some even more "standalone" package? It's just a shell script that requires `texmf.cnf`, hardly anything more advanced than that.
* calling `system /usr/texbin/mktexlsr` might be problematic (the files from MacTeX might be owned by `root`)
That's true. Does it fail or warn in such circumstances?
I assume it just prints warnings, but I need to check.
What will happen is that MacTeX's latex won't be able to find LaTeXML's style files, unless the user re-runs mktexlsr with appropriate permissions.
Maybe the port should skip running `mktexlsr` and ask the user to do that.
* one might want to disable calling `mktexlsr` during `make install`
Could be; Is it better to run from "make" or from "post-activate"?
It's not sufficient to run it from `make` (not to say useless: because the file isn't in place at the time when `make` is called – at that time it's still in `destroot`). The command is needed both in `post-activate` as well as in `post-deactivate` because that's the step when you add or remove the file to/from the TeX tree Actually, the `post-deactivate` step is also missing now (not that it's really relevant though; it just means that TeX will think the file is there).
OR, does the PortGroup texlive automatically arrange for mktexlsr?
No, it doesn't.
* I can imagine that `depends_build` might not even need to depend on anything from TeX Live even with `+texlive` variant: all the package needs to do is to copy two files to the appropriate place (or am I wrong?).
Other than mktexlsr (so the files are findable by TeX), that's right.
`mktexlsr` during make is useless as already explained above. At the time when latexml's scripts call `mktexlsr` the relevant files are at some obscure location in `destroot`. You previously needed `kpsewhich` in the `Portfile`, but we also got rid of that one. (I don't know what happens if you ask for `texlive.mktexlsr` in a `post- activate` step on the buildbot. Maybe we should test and file a bug report if it fails ;) -- Ticket URL: <https://trac.macports.org/ticket/47972#comment:2> MacPorts <https://www.macports.org/> Ports system for OS X