source: trunk/dports/tex/texlive/Portfile

Last change on this file was 149832, checked in by dports@…, 17 months ago

texlive-*: update to TeX Live 2016
[merge from /users/dports/ports]

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 7.8 KB
Line 
1# -*- 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
2# $Id: Portfile 149832 2016-07-02 01:39:26Z ryandesign@macports.org $
3
4PortSystem      1.0
5PortGroup       texlive 1.0
6
7name            texlive
8version         2016
9
10categories      tex
11maintainers     dports
12description     TeX Live metaport
13long_description    TeX Live is an easy way to get up and running with TeX. \
14    It provides a comprehensive TeX system with binaries for most flavors   \
15    of Unix, including GNU/Linux, and also Windows. It includes all the     \
16    major TeX-related programs, macro packages, and fonts that are free     \
17    software, including support for many languages around the world.        \
18                                                                            \
19    This is a metaport that installs collections of TeX Live packages.      \
20    See the variants list for options about which collections to install.
21
22
23homepage        http://www.tug.org/texlive/
24platforms       darwin
25supported_archs noarch
26
27# TeX Live consists of thousands of individual CTAN packages with
28# different licenses -- usually some combination of the GPL, LaTeX
29# Project Public License, or plain old public domain -- but all of
30# them should be redistributable in source or binary form, which is
31# what we care about. See http://www.tug.org/texlive/LICENSE.TL
32#
33# (Actually, *this* port is just a metaport and doesn't install
34# anything.)
35license         Permissive
36
37distfiles
38use_configure   no
39build           {}
40
41set scheme ""
42set scheme_desc ""
43
44proc add_notes {} {
45    global scheme scheme_desc
46   
47    notes "The \"${scheme}\" installation of TeX Live was selected. ${scheme_desc}\n"
48   
49    if {$scheme != "full"} {
50        notes-append " \n"
51        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."
52    }
53}
54destroot {
55    # Create a dummy file so the port can be successfully activated
56    xinstall -d ${destroot}${prefix}/share/doc/texlive
57    set docfile [open ${destroot}${prefix}/share/doc/texlive/README.${name}.txt "w"]
58    puts $docfile "TeX Live ${version} (MacPorts revision ${version}_${revision})\n"
59    puts $docfile "${long_description}\n"
60    puts $docfile "\nThe \"${scheme}\" scheme was installed. ${scheme_desc}\n"
61    puts $docfile "The other files in this directory list the versions and contents of each TeX Live port installed."
62    close $docfile
63}
64
65variant minimal \
66    description "Minimal installation scheme (plain TeX only; no LaTeX)" \
67    conflicts basic medium full {
68        set scheme "minimal"
69        set scheme_desc "This installation provides the bare minimum support for plain TeX; it does not include LaTeX or any add-on packages."
70        add_notes
71
72        depends_lib port:texlive-basic
73    }
74
75variant basic \
76    description "Basic installation scheme for plain TeX or LaTeX documents" \
77    conflicts minimal medium full {
78        set scheme "basic"
79        set scheme_desc "This installation provides support for plain TeX and LaTeX, but no add-on packages."
80        add_notes
81
82        depends_lib port:texlive-basic \
83            port:texlive-latex
84    }
85
86variant medium \
87    description "Medium installation scheme: plain, latex, recommended packages, some languages" \
88    conflicts minimal basic full {
89        set scheme "medium"
90        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."
91        add_notes
92       
93        depends_lib port:texlive-basic \
94                    port:texlive-bin-extra \
95                    port:texlive-context \
96                    port:texlive-fontutils \
97                    port:texlive-fonts-recommended \
98                    port:texlive-generic-recommended \
99                    port:texlive-lang-czechslovak \
100                    port:texlive-lang-english \
101                    port:texlive-lang-european \
102                    port:texlive-lang-french \
103                    port:texlive-lang-german \
104                    port:texlive-lang-italian \
105                    port:texlive-lang-polish \
106                    port:texlive-lang-portuguese \
107                    port:texlive-lang-spanish \
108                    port:texlive-latex \
109                    port:texlive-latex-recommended \
110                    port:texlive-luatex \
111                    port:texlive-math-extra \
112                    port:texlive-metapost \
113                    port:texlive-plain-extra \
114                    port:texlive-xetex
115
116        if {![variant_isset "doc"]} {
117            texlive.removedocdepends
118        }
119    }
120
121variant full \
122    description "Full installation scheme (very large!)" \
123    conflicts minimal basic medium {
124        set scheme "full"
125        set scheme_desc "This is a full installation of all TeX Live packages, including all languages and their associated documentation."
126        add_notes
127
128        depends_lib port:texlive-basic \
129                    port:texlive-bibtex-extra \
130                    port:texlive-bin-extra \
131                    port:texlive-context \
132                    port:texlive-fonts-extra \
133                    port:texlive-fonts-recommended \
134                    port:texlive-fontutils \
135                    port:texlive-formats-extra \
136                    port:texlive-games \
137                    port:texlive-generic-extra \
138                    port:texlive-generic-recommended \
139                    port:texlive-htmlxml \
140                    port:texlive-humanities \
141                    port:texlive-lang-african \
142                    port:texlive-lang-arabic \
143                    port:texlive-lang-chinese \
144                    port:texlive-lang-cjk \
145                    port:texlive-lang-cyrillic \
146                    port:texlive-lang-czechslovak \
147                    port:texlive-lang-english \
148                    port:texlive-lang-european \
149                    port:texlive-lang-french \
150                    port:texlive-lang-german \
151                    port:texlive-lang-greek \
152                    port:texlive-lang-indic \
153                    port:texlive-lang-italian \
154                    port:texlive-lang-japanese \
155                    port:texlive-lang-korean \
156                    port:texlive-lang-other \
157                    port:texlive-lang-polish \
158                    port:texlive-lang-portuguese \
159                    port:texlive-lang-spanish \
160                    port:texlive-latex \
161                    port:texlive-latex-extra \
162                    port:texlive-latex-recommended \
163                    port:texlive-luatex \
164                    port:texlive-math-extra \
165                    port:texlive-metapost \
166                    port:texlive-music \
167                    port:texlive-omega \
168                    port:texlive-pictures \
169                    port:texlive-plain-extra \
170                    port:texlive-pstricks \
171                    port:texlive-publishers \
172                    port:texlive-science \
173                    port:texlive-xetex
174
175        if {![variant_isset "doc"]} {
176            texlive.removedocdepends
177        }
178    }
179
180variant letter description {Set paper format to letter} {
181    post-activate {
182        system "texconfig-sys paper letter"
183    }
184}
185
186# These variants are mainly for the underlying texmf ports; list them
187# here so they get shown in 'port variants texlive'
188variant doc description {Install documentation} { }
189variant src description {Install TeX source} { }
190
191default_variants +doc
192
193if {![variant_isset minimal]
194    && ![variant_isset basic]
195    && ![variant_isset full]} {
196    default_variants-append    +medium
197}
198
199
200livecheck.type      regex
201livecheck.url       ${homepage}acquire.html
202livecheck.regex     "TeX Live (\[0-9\]+) "
203
Note: See TracBrowser for help on using the repository browser.