Opened 8 weeks ago

Last modified 8 weeks ago

#70954 assigned enhancement

Pandoc should not install texlive if MacTex is already installed

Reported by: RivetBenoit (Benoit Rivet) Owned by: judaew (Vadym-Valdis Yudaiev)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: Michael-P-Allen (Mike Allen)
Port: pandoc

Description

I recently reinstalled pandoc and discovered that pandoc installs texlive, even when a full texlive installation as provided by Mactex https://www.tug.org/mactex/ is already present. This is especially inconvenient since texlive as installed by Macports takes precedence over MacTex, which disrupted my workflow. I found a nice workaround : uninstall pandoc and texlive as provided by Macports and install pandoc as proposed on https://github.com/jgm/pandoc/releases. Maybe I missed a variant in the pandoc ports which enables installing pandoc without requiring texlive and relying on MacTex instead. If that is not the case, it could a variant worth providing for any user who don't wish to disrupt their workflow by installing Macports's texlive.

Change History (8)

comment:1 Changed 8 weeks ago by mouse07410 (Mouse)

I cannot agree more.

Macports' inability of accepting, as a variant, dependencies outside of Macports itself is very bad for packages that depend on large well-known software like JDK or MacTeX.

I don't mind having a duplicate of something small - but having a real JDK (I use Azul-21) and a Macports version is just annoying. Similarly with MacTeX. Macports texlive is inferior to the CTAN MacTeX, and doesn't get updated nearly as quickly or frequently.

Proposed solution is good: add a variant that does not include dependency on Macports MacTeX.

P.S. My solution so far has been:

  • I install pandoc myself using cabal, since my Haskell toolchain is better maintained;
  • if a Macports package installs Rust, texlive, or GHC, I promptly remove it after sudo port upgrade outdated. It's a pain, but it beats keeping around unnecessary texlive - which broke my LaTeX compilation more than once, before I decided to pay attention and clean it up from my boxes.

comment:2 Changed 8 weeks ago by jmroot (Joshua Root)

Owner: set to judaew
Status: newassigned

comment:3 Changed 8 weeks ago by Michael-P-Allen (Mike Allen)

I think that the variant +texlive was intended to do this (see #69529). But the pandoc port notes seem a little misleading, since they say "The (minimized) variant +texlive uses MacPorts TeXLive" whereas the intention was to minimize the dependency on MacPorts TeXLive.

Version 2, edited 8 weeks ago by Michael-P-Allen (Mike Allen) (previous) (next) (diff)

comment:4 Changed 8 weeks ago by RivetBenoit (Benoit Rivet)

I tried the +texlive variant (after uninstalling the previously installed pandoc and texlive ports) and I can confirm that the notes are not misleading. Installing pandoc +texlive does install Macports TeXLive even when MacTeX is installed. It does however minimize the dependency by not installing all LaTeX dependencies, but the end result is the same : a (not so) minimal version of MacPorts TeXLive is installed and does disrupt the workflow of people using MacTeX.

comment:5 Changed 8 weeks ago by Michael-P-Allen (Mike Allen)

Sorry @RivetBenoit, my mistake. I've deleted my comment. Certainly I thought this had been addressed in #69529. I'll await the response of the port maintainer.

Last edited 8 weeks ago by Michael-P-Allen (Mike Allen) (previous) (diff)

comment:6 Changed 8 weeks ago by Michael-P-Allen (Mike Allen)

Cc: Michael-P-Allen added

comment:7 in reply to:  1 Changed 8 weeks ago by ryandesign (Ryan Carsten Schmidt)

Replying to mouse07410:

Macports' inability of accepting, as a variant, dependencies outside of Macports itself is very bad for packages that depend on large well-known software like JDK or MacTeX.

Allowing non-MacPorts dependencies is not reproducible so we don't generally offer an option to do that but Java and MacTeX are already exceptions to that rule.

comment:8 Changed 8 weeks ago by mouse07410 (Mouse)

$ port variants pandoc
pandoc has the variants:
   full_latex_dependencies: Install all LaTeX dependencies.
     * requires texlive
   stack: Use stack to build.
   texlive: Use TeXLive; see "port notes" for more information.
   universal: Build for multiple architectures
$ port notes  pandoc        
--->  pandoc has the following notes:
  pandoc uses LaTeX to create PDFs.
  
  The (minimized) variant +texlive uses MacPorts TeXLive.
  
  For full LaTeX PDF support, please use the variant +full_latex_dependencies.

Should I interpret the above as "if no variants are explicitly specified, Macports will not install texlive (nor other LaTeX dependencies)"?

Note: See TracTickets for help on using tickets.