Ignore:
Timestamp:
Nov 10, 2010, 4:19:13 AM (9 years ago)
Author:
dports@…
Message:

Merge texlive 2010 update from /users/dports to /trunk

texlive: update to TeX Live 2010 (#26430)

  • generate texmf.cnf from contents of $prefix/etc/texmf/texmf.cnf.d (#24204)
  • build binaries in texlive-bin but stage them in $prefix/libexec/texlive/binaries until they are activated by other ports when their support files are installed (#25460, #25875)
  • symlink binaries to $prefix/libexec/texlive/texbin for MacTeX support (#26784)
  • fix up some dependency problems, including pulling pgf out of texlive-pictures so texlive-latex-recommended can depend on it (#25478)
  • add pre-activate hooks to deactivate texlive 2009 ports when necessary to avoid conflicts during upgrade
  • remove asymptote and xindy texmf files so that we can have separate ports someday
  • many minor changes to packaging
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/dports/_resources/port1.0/group/texlive-1.0.tcl

    r72558 r73314  
    5656set texlive_texmfdist "${prefix}/share/texmf-texlive-dist"
    5757
    58 # "local" texmf files, e.g. installed by ports other than texlive
    59 set texlive_texmflocal "${prefix}/share/texmf"
     58# texmf files installed by ports other than texlive
     59set texlive_texmfports "${prefix}/share/texmf"
     60
     61# optional tree for user-installed texmf files
     62set texlive_texmflocal "${prefix}/share/texmf-local"
    6063
    6164# variable runtime data, e.g. formats
     
    6467# configuration data from texconfig
    6568set texlive_texmfsysconfig "${prefix}/etc/texmf"
     69
     70# location of binaries installed by texlive-bin
     71#
     72# All TeXLive binaries are built by texlive-bin, but most of them
     73# aren't usable without the support files installed by other ports:
     74# for example, xetex needs texlive-xetex, tex4ht needs
     75# texlive-htmlxml, and just about everything needs texlive-basic.  We
     76# don't want to install useless files into $prefix/bin, so instead
     77# texlive-bin installs its binaries into this "hidden" directory, and
     78# other ports "activate" them when they are ready to be used by creating
     79# symlinks into $prefix/bin.
     80set texlive_bindir "${prefix}/libexec/texlive/binaries"
     81
     82# another directory containing symlinks to activated texlive binaries
     83#
     84# This is provided to support MacTeX's TeX Distribution preference
     85# pane: it can select the active TeX distribution by pointing the
     86# /usr/texbin symlink here
     87set texlive_mactex_texbindir "${prefix}/libexec/texlive/texbin"
    6688
    6789# Remove dependencies on any texlive-documentation-* ports, for use by
     
    85107default texlive.exclude {}
    86108
    87 # Skip installing all manpages. A number of texmf ports include
    88 # manpages, but many of them are already installed by texmf-bin.
    89 options texlive.excludemanpages
    90 default texlive.excludemanpages no
    91 
    92 options texlive.formats texlive.languages texlive.maps
     109options texlive.binaries texlive.formats texlive.languages texlive.maps
     110default texlive.binaries {}
    93111default texlive.formats {}
    94112default texlive.languages {}
     
    105123   
    106124    master_sites    http://flute.csail.mit.edu/texlive/
    107     use_bzip2       yes
     125    use_xz          yes
    108126
    109127    global name master_sites
    110128    livecheck.type  regex
    111129    livecheck.url   ${master_sites}
    112     livecheck.regex ${name}-(\\d+)\\.tar\\.bz2
     130    livecheck.regex ${name}-(\\d+)\\.tar
    113131
    114132    depends_lib-append port:texlive-common port:texlive-bin
     
    128146
    129147    destroot {
     148        xinstall -d ${destroot}${texlive_mactex_texbindir}
     149
    130150        set indexlist {"runfiles"}
    131151        if {[variant_isset "doc"]} { lappend indexlist "docfiles" }
     
    158178                # check for manpages and treat specially
    159179                if [regexp {^texmf/doc/man/man(\d)/([^/]+)} $line -> section filename] {
    160                     if {![tbool texlive.excludemanpages]} {
    161                         if [string match "*.$section" $filename] {
    162                             # actually a manpage; install it
     180                    if [string match "*.$section" $filename] {
     181                        # actually a manpage; install it.  If
     182                        # texlive-bin installed a manpage with the
     183                        # same name, use it instead to make sure the
     184                        # documentation matches the binary.
     185                        if [file exists ${texlive_bindir}/man${section}/$filename.gz] {
     186                            ln -s ${texlive_bindir}/man${section}/$filename.gz \
     187                                ${destroot}${prefix}/share/man/man$section/
     188                        } else {
    163189                            copy $srcfile ${destroot}${prefix}/share/man/man$section/
    164                         } else {
    165                             # not actually a manpage; do nothing
    166                             # (e.g. don't install PDF manpages)
    167190                        }
     191                    } else {
     192                        # not actually a manpage; do nothing
     193                        # (e.g. don't install PDF manpages)
    168194                    }
    169195                } else {
     
    183209                }
    184210            }
     211        }
     212
     213        # create symlinks for any binaries activated by the port
     214        foreach bin ${texlive.binaries} {
     215            ui_msg "activating binary $bin"
     216            ln -s ${texlive_bindir}/$bin ${destroot}${prefix}/bin
     217            ln -s ${texlive_bindir}/$bin ${destroot}${texlive_mactex_texbindir}
    185218        }
    186219
     
    229262                    ln -s ${prefix}/bin/$fmtengine \
    230263                        ${destroot}${prefix}/bin/$fmtname
     264                    ln -s ${prefix}/bin/$fmtengine \
     265                        ${destroot}${texlive_mactex_texbindir}/$fmtname
    231266                }
    232267            }
     
    278313
    279314    post-activate {
    280         system "${prefix}/bin/mktexlsr"
     315        system "${texlive_bindir}/mktexlsr"
    281316        if {${texlive.forceupdatecnf}} {
    282317            # If force was specified, update all the config files, and
     
    313348        # Update ls-R and any config files to reflect that the package
    314349        # is now gone
    315         system "${prefix}/bin/mktexlsr"
     350        system "${texlive_bindir}/mktexlsr"
    316351        if {${texlive.forceupdatecnf} || ${texlive.languages} != ""} {
    317352            system "${prefix}/libexec/texlive-update-cnf language.dat"
Note: See TracChangeset for help on using the changeset viewer.