From 9c856b8f43fd52bb6996cb661096c91b3eeed5f3 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Fri, 3 Jan 2020 18:32:13 +0000 Subject: * TLPSRC.pm (from_file): also expand global ${wndws} as super-special case. (make_tlpobj): expand global tlpvars in patterns too. (find_default_patterns): allow wndws. * 00texlive.autopatterns.tlpsrc (wndws): define, as a first step towards also supporting w64. * 00texlive.installer.tlpsrc: use it. * 00texlive.autopatterns.tlpsrc (global_no_luajit_platforms): define since we now support global vars in patterns. * luajittex.tlpsrc, * mflua.tlpsrc: use it. git-svn-id: svn://tug.org/texlive/trunk@53309 c570f23f-e606-0410-a88d-b1316a301751 --- Master/tlpkg/TeXLive/TLPSRC.pm | 24 ++++++++++++++--------- Master/tlpkg/tlpsrc/00texlive.autopatterns.tlpsrc | 9 +++++++++ Master/tlpkg/tlpsrc/00texlive.installer.tlpsrc | 16 +++++++-------- Master/tlpkg/tlpsrc/luajittex.tlpsrc | 9 +++------ Master/tlpkg/tlpsrc/mflua.tlpsrc | 7 ++----- 5 files changed, 37 insertions(+), 28 deletions(-) diff --git a/Master/tlpkg/TeXLive/TLPSRC.pm b/Master/tlpkg/TeXLive/TLPSRC.pm index a035c862b81..1223e22489c 100644 --- a/Master/tlpkg/TeXLive/TLPSRC.pm +++ b/Master/tlpkg/TeXLive/TLPSRC.pm @@ -143,12 +143,12 @@ sub from_file { # check that no variables remain unexpanded, or rather, for any # remaining $ (which we don't otherwise allow in tlpsrc files, so # should never occur) ... except for ${ARCH} which we specially - # expand in TLTREE.pm, and ${global_*} which need to be defined in - # 00texlive.autopatterns.tlpsrc. (We distribute one file dvi$pdf.bat, - # but fortunately it is matched by a directory.) + # expand in TLTREE.pm, and ${global_*} (and ${wndws}) which need to + # be defined in 00texlive.autopatterns.tlpsrc. (We distribute one + # file dvi$pdf.bat, but fortunately it is matched by a directory.) # (my $testline = $line) =~ s,\$\{ARCH\},,g; - $testline =~ s,\$\{global_[^}]*\},,g; + $testline =~ s,\$\{(global_[^}]*|wndws)\},,g; $testline =~ /\$/ && die "$srcfile:$lineno: variable undefined or syntax error: $line\n"; #debug: warn "new line $line, from $origline\n" if $origline ne $line; @@ -363,6 +363,11 @@ sub make_tlpobj { @autoaddpat = (); $usedefault = 1; foreach my $p (@{$self->{${pattype} . 'patterns'}}) { + # Expansion of ${global_...} variables from autopatterns. + for my $key (keys %global_tlpvars) { + $p =~ s/\$\{\Q$key\E\}/$global_tlpvars{$key}/g; + } + if ($p =~ m/^a\s+(.*)\s*$/) { # format # a toplevel1 toplevel2 toplevel3 ... @@ -559,7 +564,7 @@ sub _do_normal_pattern { # # The returned hash has an additional key C for global tlpsrc # variables, which can be used in any C<.tlpsrc> files. The names of these -# variables all start with C. +# variables all start with C, except for super-special ${wndws}. # # =cut # (all doc at bottom, let's not rewrite now.) @@ -618,7 +623,7 @@ sub find_default_patterns { # check defined variables to ensure their names start with "global_". my %gvars = %{$tlsrc->_tlpvars}; for my $v (keys %gvars) { - if ($v !~ /^global_[-_a-zA-Z0-9]+$/) { + if ($v !~ /^(global_[-_a-zA-Z0-9]+|wndws)$/) { tlwarn("$apfile: variable does not start with global_: $v\n") unless $v eq "PKGNAME"; # the auto-defined PKGNAME is not expected to be global. @@ -972,9 +977,10 @@ definition and expansion.) Ordinarily, variables can be used only within the C<.tlpsrc> file where they are defined. There is one exception: global tlpsrc variables can be defined in the C<00texlive.autopatterns.tlpsrc> file (mentioned below); -their names must start with C, and can only be used in -C and C directives, or another C. For -example, our C defines: +their names must start with C (plus super-special C), +and can only be used in C, C, and C<...pattern> +directives, another C. For example, our +C defines: tlpsetvar global_latex_deps babel,cm,hyphen-base,latex-fonts diff --git a/Master/tlpkg/tlpsrc/00texlive.autopatterns.tlpsrc b/Master/tlpkg/tlpsrc/00texlive.autopatterns.tlpsrc index 6c1c7c5f6a2..8b334e564d3 100644 --- a/Master/tlpkg/tlpsrc/00texlive.autopatterns.tlpsrc +++ b/Master/tlpkg/tlpsrc/00texlive.autopatterns.tlpsrc @@ -23,6 +23,15 @@ tlpsetvar global_latex_deps babel,cm,hyphen-base,latex-fonts tlpsetvar global_luatex_deps cm,etex,hyphen-base,knuth-lib,plain,\ tex-ini-files,unicode-data # +# Platforms that don't support jit. +tlpsetvar global_no_luajit_platforms x86_64-solaris +# +# We define the Windows platform names here, so we can use ${wndws} in +# the patterns, in preparation for supporting w64 in addition to w32, +# and perhaps others in the future. The name ${global_wndws} was just +# too long, so we made a super-special case in the code. +tlpsetvar wndws win32 + # It would be ideal to be able to specify the non-jit platforms here, # but it's not crucial, so we haven't implemented ${global_} expansion # in binpatterns. diff --git a/Master/tlpkg/tlpsrc/00texlive.installer.tlpsrc b/Master/tlpkg/tlpsrc/00texlive.installer.tlpsrc index 9685d898ef5..a46a65a52c3 100644 --- a/Master/tlpkg/tlpsrc/00texlive.installer.tlpsrc +++ b/Master/tlpkg/tlpsrc/00texlive.installer.tlpsrc @@ -24,14 +24,14 @@ runpattern !d tlpkg/installer/xz runpattern !f tlpkg/installer/tar.exe # # Windows only: -binpattern d/win32 tlpkg/tlperl -binpattern f/win32 tlpkg/tltcl/tclkit.exe -binpattern f/win32 tlpkg/tltcl/tclkit.exe.manifest -binpattern f/win32 tlpkg/installer/tar.exe -binpattern f/win32 tlpkg/installer/wget/wget.exe -binpattern f/win32 tlpkg/installer/xz/xz.exe -binpattern f/win32 install-tl-windows.bat -binpattern f/win32 install-tl-advanced.bat +binpattern d/${wndws} tlpkg/tlperl +binpattern f/${wndws} tlpkg/tltcl/tclkit.exe +binpattern f/${wndws} tlpkg/tltcl/tclkit.exe.manifest +binpattern f/${wndws} tlpkg/installer/tar.exe +binpattern f/${wndws} tlpkg/installer/wget/wget.exe +binpattern f/${wndws} tlpkg/installer/xz/xz.exe +binpattern f/${wndws} install-tl-windows.bat +binpattern f/${wndws} install-tl-advanced.bat # # xz binaries for all binpattern f tlpkg/installer/xz/xz.${ARCH} diff --git a/Master/tlpkg/tlpsrc/luajittex.tlpsrc b/Master/tlpkg/tlpsrc/luajittex.tlpsrc index 87558d84039..d0e301f0f46 100644 --- a/Master/tlpkg/tlpsrc/luajittex.tlpsrc +++ b/Master/tlpkg/tlpsrc/luajittex.tlpsrc @@ -1,12 +1,9 @@ category TLCore shortdesc LuaTeX with just-in-time (jit) compiler -# must keep in sync with mflua.tlpsrc. -tlpsetvar no_luajit_platforms x86_64-solaris -# -binpattern f/!${no_luajit_platforms} bin/${ARCH}/luajittex -binpattern f/!${no_luajit_platforms} bin/${ARCH}/texluajit -binpattern f/!${no_luajit_platforms} bin/${ARCH}/texluajitc +binpattern f/!${global_no_luajit_platforms} bin/${ARCH}/luajittex +binpattern f/!${global_no_luajit_platforms} bin/${ARCH}/texluajit +binpattern f/!${global_no_luajit_platforms} bin/${ARCH}/texluajitc # binpattern f bin/win32/luajit51.dll binpattern f bin/win32/luajittex.dll diff --git a/Master/tlpkg/tlpsrc/mflua.tlpsrc b/Master/tlpkg/tlpsrc/mflua.tlpsrc index 827e2a52430..d0cd6bc13f4 100644 --- a/Master/tlpkg/tlpsrc/mflua.tlpsrc +++ b/Master/tlpkg/tlpsrc/mflua.tlpsrc @@ -3,9 +3,6 @@ shortdesc configuration and base files for MFLua longdesc For information on this Lua-enabled Metafont, longdesc see, for example: tug.org/TUGboat/tb32-2/tb101scarso.pdf. -# must keep in sync with luatex.tlpsrc. -tlpsetvar no_luajit_platforms x86_64-solaris - # disabled until there is a user base. tlpsetvar fmtdeps luatex,metafont execute AddFormat name=mflua engine=mflua-nowin options="mf.ini" \ @@ -17,8 +14,8 @@ runpattern d texmf-dist/metafont/mflua binpattern f bin/${ARCH}/mflua binpattern f bin/${ARCH}/mflua-nowin -binpattern f/!${no_luajit_platforms} bin/${ARCH}/mfluajit -binpattern f/!${no_luajit_platforms} bin/${ARCH}/mfluajit-nowin +binpattern f/!${global_no_luajit_platforms} bin/${ARCH}/mfluajit +binpattern f/!${global_no_luajit_platforms} bin/${ARCH}/mfluajit-nowin # need metafont for support files, luatex for dll's, etc. depend metafont -- cgit v1.2.3