Opened 10 years ago
Last modified 5 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-latex
could just as well beport:texlive-latex
) pdflatex
without sufficient packages installed: then the packagetexlive-latex-extra
is useless, externalpdflatex
cannot see the files installed bytexlive-latex-extra
anyway (but there's a chance thattexlive-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 includingtexlive-latex
, something thatbin: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.
Change History (14)
comment:1 Changed 10 years ago by g5pw (Aljaž Srebrnič)
comment:2 Changed 10 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 10 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
pdftex
binary and it is external to MacPorts, then nothing should be installed (and hoping the external distribution is sufficiently complete); - 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; - 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.
comment:4 follow-up: 6 Changed 10 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 10 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 10 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
texlive
meta-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 10 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 10 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 10 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 10 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 9 years ago by petrrr
Cc: | Peter.Danecek@… removed |
---|
comment:14 Changed 5 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-latex
port?