Opened 12 years ago
Last modified 6 years ago
#43894 assigned defect
doxygen: fix tex dependencies
| Reported by: | mojca (Mojca Miklavec) | Owned by: | |
|---|---|---|---|
| Priority: | Normal | Milestone: | |
| Component: | ports | Version: | |
| Keywords: | Cc: | whcordis@…, davidfavor (David Favor), mojca (Mojca Miklavec), cooljeanius (Eric Gallager), g5pw (Aljaž Srebrnič), ryandesign (Ryan Carsten Schmidt), dbevans (David B. Evans), petrrr | |
| Port: | doxygen |
Description
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-latexcould just as well beport:texlive-latex) pdflatexwithout sufficient packages installed: then the packagetexlive-latex-extrais useless, externalpdflatexcannot see the files installed bytexlive-latex-extraanyway (but there's a chance thattexlive-latex-extrainstalls pdflatex and maybe that binary is used as a consequence)- fully functional external TeX distribution: it works, but
port:texlive-latex-extrainstalls everything includingtexlive-latex, something thatbin:pdflatex:texlive-latextried 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.
Change History (14)
comment:1 Changed 12 years ago by g5pw (Aljaž Srebrnič)
comment:2 Changed 12 years ago by mojca (Mojca Miklavec)
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.
comment:3 Changed 12 years ago by petrrr
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:
- If we find a
pdftexbinary and it is external to MacPorts, then nothing should be installed (and hoping the external distribution is sufficiently complete); - If we find a
pdftexand it is provided by MacPorts, we would like to ensure that a minimal set of ports (see above) is also installed; - If we do not find
pdftexwe 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-depswould 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.
comment:4 follow-up: 6 Changed 12 years ago by mojca (Mojca Miklavec)
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.
comment:5 Changed 12 years ago by neverpanic (Clemens Lang)
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.
comment:6 Changed 12 years ago by petrrr
Replying to 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
texlivemeta-port with its default variants. He will gettexlive-latex, but nottexlive-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.
comment:7 Changed 12 years ago by mojca (Mojca Miklavec)
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:
- 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.
comment:8 Changed 12 years ago by dbevans (David B. Evans)
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.
comment:9 Changed 12 years ago by mojca (Mojca Miklavec)
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.
comment:11 Changed 11 years ago by mojca (Mojca Miklavec)
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 ...
comment:13 Changed 11 years ago by petrrr
| Cc: | Peter.Danecek@… removed |
|---|
comment:14 Changed 6 years ago by mf2k (Frank Schima)
| Owner: | cssdev deleted |
|---|---|
| Status: | new → assigned |
See #50332

Doesn't
texlive-latex-extra(recursively) depend ontexlive-latex, thus rendering the wholebin:dependency "useless", as it will always depend on thetexlive-latexport?