Permalink
Fetching contributors…
Cannot retrieve contributors at this time
195 lines (166 sloc) 7.4 KB
# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
PortSystem 1.0
PortGroup texlive 1.0
name texlive
version 2018
categories tex
maintainers {dports @drkp}
description TeX Live metaport
long_description TeX Live is an easy way to get up and running with TeX. \
It provides a comprehensive TeX system with binaries for most flavors \
of Unix, including GNU/Linux, and also Windows. It includes all the \
major TeX-related programs, macro packages, and fonts that are free \
software, including support for many languages around the world. \
\
This is a metaport that installs collections of TeX Live packages. \
See the variants list for options about which collections to install.
homepage https://www.tug.org/texlive/
platforms darwin
supported_archs noarch
# TeX Live consists of thousands of individual CTAN packages with
# different licenses -- usually some combination of the GPL, LaTeX
# Project Public License, or plain old public domain -- but all of
# them should be redistributable in source or binary form, which is
# what we care about. See http://www.tug.org/texlive/LICENSE.TL
#
# (Actually, *this* port is just a metaport and doesn't install
# anything.)
license Permissive
distfiles
use_configure no
build {}
set scheme ""
set scheme_desc ""
proc add_notes {} {
global scheme scheme_desc
notes "The \"${scheme}\" installation of TeX Live was selected. ${scheme_desc}\n"
if {$scheme != "full"} {
notes-append " \n"
notes-append "Additional TeX Live packages are available. To see a list, use 'port list texlive-* and not installed'. If you want a full installation (very large), reinstall this metaport with the +full variant."
}
}
destroot {
# Create a dummy file so the port can be successfully activated
xinstall -d ${destroot}${prefix}/share/doc/texlive
set docfile [open ${destroot}${prefix}/share/doc/texlive/README.${name}.txt "w"]
puts $docfile "TeX Live ${version} (MacPorts revision ${version}_${revision})\n"
puts $docfile "${long_description}\n"
puts $docfile "\nThe \"${scheme}\" scheme was installed. ${scheme_desc}\n"
puts $docfile "The other files in this directory list the versions and contents of each TeX Live port installed."
close $docfile
}
variant minimal \
description "Minimal installation scheme (plain TeX only; no LaTeX)" \
conflicts basic medium full {
set scheme "minimal"
set scheme_desc "This installation provides the bare minimum support for plain TeX; it does not include LaTeX or any add-on packages."
add_notes
depends_lib port:texlive-basic
}
variant basic \
description "Basic installation scheme for plain TeX or LaTeX documents" \
conflicts minimal medium full {
set scheme "basic"
set scheme_desc "This installation provides support for plain TeX and LaTeX, but no add-on packages."
add_notes
depends_lib port:texlive-basic \
port:texlive-latex
}
variant medium \
description "Medium installation scheme: plain, latex, recommended packages, some languages" \
conflicts minimal basic full {
set scheme "medium"
set scheme_desc "This is the standard installation containing basic and recommended packages for TeX, LaTeX, and ConTeXt, as well as support files for several common European languages."
add_notes
depends_lib port:texlive-basic \
port:texlive-bin-extra \
port:texlive-context \
port:texlive-fontutils \
port:texlive-fonts-recommended \
port:texlive-lang-czechslovak \
port:texlive-lang-english \
port:texlive-lang-european \
port:texlive-lang-french \
port:texlive-lang-german \
port:texlive-lang-italian \
port:texlive-lang-polish \
port:texlive-lang-portuguese \
port:texlive-lang-spanish \
port:texlive-latex \
port:texlive-latex-recommended \
port:texlive-luatex \
port:texlive-math-science \
port:texlive-metapost \
port:texlive-plain-generic \
port:texlive-xetex
if {![variant_isset "doc"]} {
texlive.removedocdepends
}
}
variant full \
description "Full installation scheme (very large!)" \
conflicts minimal basic medium {
set scheme "full"
set scheme_desc "This is a full installation of all TeX Live packages, including all languages and their associated documentation."
add_notes
depends_lib port:texlive-basic \
port:texlive-bibtex-extra \
port:texlive-bin-extra \
port:texlive-context \
port:texlive-fonts-extra \
port:texlive-fonts-recommended \
port:texlive-fontutils \
port:texlive-formats-extra \
port:texlive-games \
port:texlive-humanities \
port:texlive-lang-arabic \
port:texlive-lang-chinese \
port:texlive-lang-cjk \
port:texlive-lang-cyrillic \
port:texlive-lang-czechslovak \
port:texlive-lang-english \
port:texlive-lang-european \
port:texlive-lang-french \
port:texlive-lang-german \
port:texlive-lang-greek \
port:texlive-lang-italian \
port:texlive-lang-japanese \
port:texlive-lang-korean \
port:texlive-lang-other \
port:texlive-lang-polish \
port:texlive-lang-portuguese \
port:texlive-lang-spanish \
port:texlive-latex \
port:texlive-latex-extra \
port:texlive-latex-recommended \
port:texlive-luatex \
port:texlive-math-science \
port:texlive-metapost \
port:texlive-music \
port:texlive-pictures \
port:texlive-plain-generic \
port:texlive-pstricks \
port:texlive-publishers \
port:texlive-xetex
if {![variant_isset "doc"]} {
texlive.removedocdepends
}
}
variant letter description {Set paper format to letter} {
post-activate {
system "texconfig-sys paper letter"
}
}
# These variants are mainly for the underlying texmf ports; list them
# here so they get shown in 'port variants texlive'
variant doc description {Install documentation} { }
variant src description {Install TeX source} { }
default_variants +doc
if {![variant_isset minimal]
&& ![variant_isset basic]
&& ![variant_isset full]} {
default_variants-append +medium
}
livecheck.type regex
livecheck.url ${homepage}
livecheck.regex "Current release: TeX Live (\[0-9\]+) "