[MacPorts] #43894: doxygen: fix tex dependencies
#43894: doxygen: fix tex dependencies ---------------------+--------------------- Reporter: mojca@… | Owner: css@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: Keywords: | Port: doxygen ---------------------+--------------------- After r120417 doxygen lacks dependency on `texlive-fonts-recommended` as well as `texlive-fontutils` (see #43860 and #43669). These TeX Live dependencies are wrong: {{{ depends_build-append bin:pdflatex:texlive-latex \ bin:gs:ghostscript \ port:texlive-latex-extra }}} User can have: * no external TeX: then it's ok (but `bin:pdflatex:texlive-latex` could just as well be `port:texlive-latex`) * `pdflatex` without sufficient packages installed: then the package `texlive-latex-extra` is useless, external `pdflatex` cannot see the files installed by `texlive-latex-extra` anyway (but there's a chance that `texlive-latex-extra` installs pdflatex and maybe that binary is used as a consequence) * fully functional external TeX distribution: it works, but `port :texlive-latex-extra` installs everything including `texlive-latex`, something that `bin:pdflatex:texlive-latex` tried to avoid in the first place This should be fixed in such a way that either `bin:pdftex` is removed and everyone building the docs needs to install TeX Live from MacPorts. But the better solution would be to add `texlive-latex`, `texlive-latex- recommended`, `texlive-fontutils`, `texlive-fonts-recommended` if and only if there is no `pdflatex` present. -- Ticket URL: <https://trac.macports.org/ticket/43894> MacPorts <http://www.macports.org/> Ports system for OS X
#43894: doxygen: fix tex dependencies ----------------------+------------------- Reporter: mojca@… | Owner: css@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: Resolution: | Keywords: Port: doxygen | ----------------------+------------------- Comment (by g5pw@…): Doesn't {{{texlive-latex-extra}}} (recursively) depend on {{{texlive- latex}}}, thus rendering the whole {{{bin:}}} dependency "useless", as it will always depend on the {{{texlive-latex}}} port? -- Ticket URL: <https://trac.macports.org/ticket/43894#comment:1> MacPorts <http://www.macports.org/> Ports system for OS X
#43894: doxygen: fix tex dependencies ----------------------+------------------- Reporter: mojca@… | Owner: css@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: Resolution: | Keywords: Port: doxygen | ----------------------+------------------- Comment (by mojca@…): Yes, that's one of the points I was trying to make. The request to support an external TeX distribution is a valid one though, but needs a more complex setup. -- Ticket URL: <https://trac.macports.org/ticket/43894#comment:2> MacPorts <http://www.macports.org/> Ports system for OS X
#43894: doxygen: fix tex dependencies ----------------------+------------------- Reporter: mojca@… | Owner: css@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: Resolution: | Keywords: Port: doxygen | ----------------------+------------------- Comment (by Peter.Danecek@…): I now admit that I have not followed all the discussion on the tex dependencies in the other tickets. But as far as I understand we would like to have the following behaviour: 1. If we find a `pdftex` binary and it is external to MacPorts, then nothing should be installed (and hoping the external distribution is sufficiently complete); 2. If we find a `pdftex` and it is provided by MacPorts, we would like to ensure that a minimal set of ports (see above) is also installed; 3. If we do not find `pdftex` we would install the following minimal set of ports. For the first and last case I see the following possibility: * create a small doxygen specific meta-port as subport, for example `doxygen-texlive-deps` (find a better name); * `doxygen-texlive-deps` would depend on the above mentioned minimal set of texlive ports; * doxygen would use the following dependency only: {{{ depends_build-append bin:pdflatex:doxygen-texlive-deps \ bin:gs:ghostscript }}} Have I missed something? Of cause, this would not account for the case 2, and I have no idea how this could be implemented. -- Ticket URL: <https://trac.macports.org/ticket/43894#comment:3> MacPorts <http://www.macports.org/> Ports system for OS X
#43894: doxygen: fix tex dependencies ----------------------+------------------- Reporter: mojca@… | Owner: css@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: Resolution: | Keywords: Port: doxygen | ----------------------+------------------- Comment (by mojca@…): Yes, you properly understood the problem. I wouldn't care about case 2. There are simply way too many things that can go wrong. It's user's responsibility if he tries to use a "broken" tool. Your idea about an additional meta port is interesting and would work, but I would prefer to see a solution without introducing additional ports unless that's too difficult to do. (My Tcl knowledge isn't sufficient anyway.) Also keep in mind that we need to address ticket #37604. `texlive-bin` depends on `xorg-libxcb` which depends on `doxygen`. And `doxygen +latex` depends on `texlive-bin`. So we might end up with some additional "documentation-only" ports anyway. -- Ticket URL: <https://trac.macports.org/ticket/43894#comment:4> MacPorts <http://www.macports.org/> Ports system for OS X
#43894: doxygen: fix tex dependencies ----------------------+------------------- Reporter: mojca@… | Owner: css@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: Resolution: | Keywords: Port: doxygen | ----------------------+------------------- Comment (by cal@…): You could just list multiple `bin`-style dependencies but with different ports in the 3rd part: {{{ depends_build-append bin:pdflatex:texlive-latex \ bin:pdflatex:texlive-latex-extra }}} If a user uses a TeX installation without the required packages, I'd just let the user figure the problem out. -- Ticket URL: <https://trac.macports.org/ticket/43894#comment:5> MacPorts <http://www.macports.org/> Ports system for OS X
#43894: doxygen: fix tex dependencies ----------------------+------------------- Reporter: mojca@… | Owner: css@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: Resolution: | Keywords: Port: doxygen | ----------------------+------------------- Comment (by Peter.Danecek@…): Replying to [comment:4 mojca@…]:
Yes, you properly understood the problem.
I wouldn't care about case 2. There are simply way too many things that can go wrong. It's user's responsibility if he tries to use a "broken" tool.
I am not so convinced that case 2 is **not** an issue. Just thing of as relatively simple scenario: * User P installs texlive meta-port with its default variants. He will get `texlive-latex`, but not `texlive-latex-extra`; * At some point of his innocent live he wants to install some other software, which however depends on lets say `doxygen +docs`; dependency `bin:pdflatex` is already satisfied, so `texlive-latex-extra` will not become available. I do not think this situation is so remote. -- Ticket URL: <https://trac.macports.org/ticket/43894#comment:6> MacPorts <http://www.macports.org/> Ports system for OS X
#43894: doxygen: fix tex dependencies ----------------------+------------------- Reporter: mojca@… | Owner: css@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: Resolution: | Keywords: Port: doxygen | ----------------------+------------------- Comment (by mojca@…): Clemens, I had exactly the same brilliant idea until someone reminded me that once you install `texlive-latex`, `bin:pdflatex:texlive-latex-extra` will be automatically satisfied with `texlive-latex`, so no `texlive- latex-extra` would be pulled in. Peter, I'm sorry, I was referring to a different "case 2". I thought we were talking about the following (which is "case 1" in your list):
* '''external''' pdflatex without sufficient packages installed: then the package texlive-latex-extra is useless, external pdflatex cannot see the files installed by texlive-latex-extra anyway But I see now that you were referring to: 2. If we find a pdftex and it is provided by MacPorts, we would like to ensure that a minimal set of ports (see above) is also installed; Yes, that is exactly the "problematic" case that we need to solve properly.
-- Ticket URL: <https://trac.macports.org/ticket/43894#comment:7> MacPorts <http://www.macports.org/> Ports system for OS X
#43894: doxygen: fix tex dependencies ----------------------+------------------- Reporter: mojca@… | Owner: css@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: Resolution: | Keywords: Port: doxygen | ----------------------+------------------- Comment (by devans@…): Just reinforcing the mention above that texlive-font-utils needs to be installed for doxygen +docs to build properly. This is due to its use of epstopdf contained in that port. -- Ticket URL: <https://trac.macports.org/ticket/43894#comment:8> MacPorts <http://www.macports.org/> Ports system for OS X
#43894: doxygen: fix tex dependencies ----------------------+------------------- Reporter: mojca@… | Owner: css@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: Resolution: | Keywords: Port: doxygen | ----------------------+------------------- Comment (by mojca@…): One idea for a hack from IRC: {{{ bin:pdflatex:texlive-latex bin:thumbpdf:texlive-latex-recommended bin:epstopdf:texlive-fontutils }}} Sadly it doesn't cover `texlive-fonts-recommended`. -- Ticket URL: <https://trac.macports.org/ticket/43894#comment:9> MacPorts <http://www.macports.org/> Ports system for OS X
#43894: doxygen: fix tex dependencies ----------------------+------------------- Reporter: mojca@… | Owner: css@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: Resolution: | Keywords: Port: doxygen | ----------------------+------------------- Comment (by mojca@…): Here's another idea how to approach the problem: r121098. Add a variant like `+mactex` to switch to external TeX distribution. It is less than ideal, but ... -- Ticket URL: <https://trac.macports.org/ticket/43894#comment:11> MacPorts <http://www.macports.org/> Ports system for OS X
participants (1)
-
MacPorts