summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2023-02-28 22:55:44 +0000
committerKarl Berry <karl@freefriends.org>2023-02-28 22:55:44 +0000
commit96043c15d0cb1967270403c6cc346a5fd0d6bf2a (patch)
tree1eeaf6b2b4c8133dfbd1f2dd208f674490149833
parent0d63659477aaa9e8cbdaf2f5288ac5117d37e03a (diff)
mingw tweaks, sync, doc
git-svn-id: svn://tug.org/texlive/trunk@66266 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Build/source/texk/dvisvgm/ChangeLog5
-rw-r--r--Build/source/texk/dvisvgm/TLpatches/patch-08-makefiles9
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/ttf/Makefile.am1
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/ttf/Makefile.in1
-rw-r--r--Build/source/texk/tests/TeXLive/TLConfig.pm20
-rw-r--r--Build/source/texk/tests/TeXLive/TLUtils.pm153
-rw-r--r--Build/source/texk/texlive/ChangeLog5
-rw-r--r--Build/source/texk/texlive/Makefile.am5
-rw-r--r--Build/source/texk/texlive/Makefile.in2
-rw-r--r--Build/source/texk/texlive/tl_support/fmtutil.cnf18
-rw-r--r--Build/source/texk/texlive/windows_wrapper/runscript.tlu6
-rwxr-xr-xMaster/tlpkg/bin/tl-update-bindir11
-rw-r--r--Master/tlpkg/dev/srclist.txt23
13 files changed, 153 insertions, 106 deletions
diff --git a/Build/source/texk/dvisvgm/ChangeLog b/Build/source/texk/dvisvgm/ChangeLog
index 85b1e9ec7d2..eef6e98a1b4 100644
--- a/Build/source/texk/dvisvgm/ChangeLog
+++ b/Build/source/texk/dvisvgm/ChangeLog
@@ -1,3 +1,8 @@
+2023-02-28 Luigi Scarso <luigi.scarso@gmail.com>
+
+ * dvisvgm-src/src/ttf/Makefile.am (AM_CXXFLAGS): add ZLIB_INCLUDES,
+ found with mingw cross-compile.
+
2022-11-05 Sam James <sam@gentoo.org>
* configure.ac (Ghostscript version): #include <stdlib.h>
diff --git a/Build/source/texk/dvisvgm/TLpatches/patch-08-makefiles b/Build/source/texk/dvisvgm/TLpatches/patch-08-makefiles
index 89bb33af807..4fe89af03e8 100644
--- a/Build/source/texk/dvisvgm/TLpatches/patch-08-makefiles
+++ b/Build/source/texk/dvisvgm/TLpatches/patch-08-makefiles
@@ -133,3 +133,12 @@
+# Rebuild potrace:
+@POTRACE_RULE@
+endif TEXLIVE_BUILD
+
+--- dvisvgm-3.0.3/src/ttf/Makefile.am (revision 66252)
++++ dvisvgm-src/src/ttf/Makefile.am (working copy)
+@@ -22,4 +22,5 @@ include ../../libs/defs.am
+ AM_CXXFLAGS = \
+ -I$(dvisvgm_srcdir)/libs/boost \
+ -I$(dvisvgm_srcdir)/libs/variant/include \
++ $(ZLIB_INCLUDES) \
+ $(BROTLI_CFLAGS) $(WOFF2_CFLAGS)
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/ttf/Makefile.am b/Build/source/texk/dvisvgm/dvisvgm-src/src/ttf/Makefile.am
index 60883f64cc2..6275714ff19 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/src/ttf/Makefile.am
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/ttf/Makefile.am
@@ -22,4 +22,5 @@ include ../../libs/defs.am
AM_CXXFLAGS = \
-I$(dvisvgm_srcdir)/libs/boost \
-I$(dvisvgm_srcdir)/libs/variant/include \
+ $(ZLIB_INCLUDES) \
$(BROTLI_CFLAGS) $(WOFF2_CFLAGS)
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/ttf/Makefile.in b/Build/source/texk/dvisvgm/dvisvgm-src/src/ttf/Makefile.in
index c9376b42640..2c4e49f97f3 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/src/ttf/Makefile.in
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/ttf/Makefile.in
@@ -404,6 +404,7 @@ libttf_la_SOURCES = \
AM_CXXFLAGS = \
-I$(dvisvgm_srcdir)/libs/boost \
-I$(dvisvgm_srcdir)/libs/variant/include \
+ $(ZLIB_INCLUDES) \
$(BROTLI_CFLAGS) $(WOFF2_CFLAGS)
all: all-am
diff --git a/Build/source/texk/tests/TeXLive/TLConfig.pm b/Build/source/texk/tests/TeXLive/TLConfig.pm
index 64a13f30333..c75aceab3ce 100644
--- a/Build/source/texk/tests/TeXLive/TLConfig.pm
+++ b/Build/source/texk/tests/TeXLive/TLConfig.pm
@@ -1,12 +1,12 @@
# TeXLive::TLConfig.pm - module exporting configuration values
-# Copyright 2007-2022 Norbert Preining
+# Copyright 2007-2023 Norbert Preining
# This file is licensed under the GNU General Public License version 2
# or any later version.
use strict; use warnings;
package TeXLive::TLConfig;
-my $svnrev = '$Revision: 63068 $';
+my $svnrev = '$Revision: 66204 $';
my $_modulerevision = ($svnrev =~ m/: ([0-9]+) /) ? $1 : "unknown";
sub module_revision { return $_modulerevision; }
@@ -61,7 +61,7 @@ BEGIN {
# the year of our release, will be used in the location of the
# network packages, and in menu names, and other places.
-our $ReleaseYear = 2022;
+our $ReleaseYear = 2023;
# users can upgrade from this year to the current year; might be the
# same as the release year, or any number of releases earlier.
@@ -118,8 +118,8 @@ our $RelocPrefix = "RELOC";
our @CriticalPackagesList = qw/texlive.infra/;
our $CriticalPackagesRegexp = '^(texlive\.infra)';
if ($^O =~ /^MSWin/i) {
- push (@CriticalPackagesList, "tlperl.win32");
- $CriticalPackagesRegexp = '^(texlive\.infra|tlperl\.win32$)';
+ push (@CriticalPackagesList, "tlperl.windows");
+ $CriticalPackagesRegexp = '^(texlive\.infra|tlperl\.windows$)';
}
@@ -213,10 +213,10 @@ our %TLPDBOptions = (
"Generate formats at installation or update" ],
"desktop_integration" =>
[ "b", 1, "desktop_integration",
- "Create Start menu shortcuts (w32)" ],
+ "Create Start menu shortcuts (Windows)" ],
"file_assocs" =>
[ "n:0..2", 1, "fileassocs",
- "Change file associations (w32)" ],
+ "Change file associations (Windows)" ],
"generate_updmap" =>
[ "b", 0, "generate_updmap",
"Run tlmgr generate updmap after maps have changed" ],
@@ -243,7 +243,7 @@ our %TLPDBOptions = (
"Destination for symlinks for man pages" ],
"w32_multi_user" =>
[ "b", 1, "multiuser",
- "Install for all users (w32)" ],
+ "Install for all users (Windows)" ],
);
@@ -256,7 +256,7 @@ our %TLPDBSettings = (
our $WindowsMainMenuName = "TeX Live $ReleaseYear";
# Comma-separated list of engines which do not exist on all platforms.
-our $PartialEngineSupport = "luajithbtex,luajittex,mfluajit";
+our $PartialEngineSupport = "luametatex,luajithbtex,luajittex,mfluajit";
# Flags for error handling across the scripts and modules
# all fine
@@ -366,7 +366,7 @@ C<systems/texlive/tlnet/>.
=item C<@TeXLive::TLConfig::CriticalPackagesRegexp>
A list of all those packages which we do not update regularly since they
-are too central, currently texlive.infra and (for Windows) tlperl.win32.
+are too central, currently texlive.infra and (for Windows) tlperl.windows.
=item C<@TeXLive::TLConfig::InstallExtraRequiredPackages>
diff --git a/Build/source/texk/tests/TeXLive/TLUtils.pm b/Build/source/texk/tests/TeXLive/TLUtils.pm
index 12130936c64..a427da17117 100644
--- a/Build/source/texk/tests/TeXLive/TLUtils.pm
+++ b/Build/source/texk/tests/TeXLive/TLUtils.pm
@@ -1,5 +1,5 @@
# TeXLive::TLUtils.pm - the inevitable utilities for TeX Live.
-# Copyright 2007-2022 Norbert Preining, Reinhard Kotucha
+# Copyright 2007-2023 Norbert Preining, Reinhard Kotucha
# This file is licensed under the GNU General Public License version 2
# or any later version.
@@ -7,7 +7,7 @@ use strict; use warnings;
package TeXLive::TLUtils;
-my $svnrev = '$Revision: 64503 $';
+my $svnrev = '$Revision: 66236 $';
my $_modulerevision = ($svnrev =~ m/: ([0-9]+) /) ? $1 : "unknown";
sub module_revision { return $_modulerevision; }
@@ -26,7 +26,7 @@ C<TeXLive::TLUtils> - TeX Live infrastructure miscellany
TeXLive::TLUtils::platform();
TeXLive::TLUtils::platform_name($canonical_host);
TeXLive::TLUtils::platform_desc($platform);
- TeXLive::TLUtils::win32();
+ TeXLive::TLUtils::wndws();
TeXLive::TLUtils::unix();
=head2 System tools
@@ -105,12 +105,6 @@ C<TeXLive::TLUtils> - TeX Live infrastructure miscellany
TeXLive::TLUtils::member($item, @list);
TeXLive::TLUtils::merge_into(\%to, \%from);
TeXLive::TLUtils::texdir_check($texdir);
- TeXLive::TLUtils::quotify_path_with_spaces($path);
- TeXLive::TLUtils::conv_to_w32_path($path);
- TeXLive::TLUtils::native_slashify($internal_path);
- TeXLive::TLUtils::forward_slashify($path_from_user);
- TeXLive::TLUtils::give_ctan_mirror();
- TeXLive::TLUtils::give_ctan_mirror_base();
TeXLive::TLUtils::compare_tlpobjs($tlpA, $tlpB);
TeXLive::TLUtils::compare_tlpdbs($tlpdbA, $tlpdbB);
TeXLive::TLUtils::report_tlpdb_differences(\%ret);
@@ -120,6 +114,18 @@ C<TeXLive::TLUtils> - TeX Live infrastructure miscellany
TeXLive::TLUtils::prepend_own_path();
TeXLive::TLUtils::repository_to_array($str);
+=head2 Windows and paths
+
+ TeXLive::TLUtils::quotify_path_with_spaces($path);
+ TeXLive::TLUtils::conv_to_w32_path($path);
+ TeXLive::TLUtils::native_slashify($internal_path);
+ TeXLive::TLUtils::forward_slashify($path_from_user);
+
+=head2 CTAN
+
+ TeXLive::TLUtils::give_ctan_mirror();
+ TeXLive::TLUtils::give_ctan_mirror_base();
+
=head2 JSON
TeXLive::TLUtils::encode_json($ref);
@@ -231,6 +237,7 @@ BEGIN {
&give_ctan_mirror_base
&create_mirror_list
&extract_mirror_entry
+ &system_ok
&wsystem
&xsystem
&run_cmd
@@ -264,7 +271,7 @@ BEGIN {
@EXPORT = qw(setup_programs download_file process_logging_options
tldie tlwarn info log debug ddebug dddebug debug
debug_hash_str debug_hash
- win32 xchdir xsystem run_cmd system_pipe sort_archs);
+ wndws xchdir xsystem run_cmd system_pipe sort_archs);
}
use Cwd;
@@ -284,7 +291,7 @@ our $SshURIRegex = '^((ssh|scp)://([^@]*)@([^/]*)/|([^@]*)@([^:]*):).*$';
=item C<platform>
If C<$^O =~ /MSWin/i> is true we know that we're on
-Windows and we set the global variable C<$::_platform_> to C<win32>.
+Windows and we set the global variable C<$::_platform_> to C<windows>.
Otherwise we call C<platform_name> with the output of C<config.guess>
as argument.
@@ -296,13 +303,16 @@ understands the C<$(...)> construct. This means that on old-enough
systems, such as Solaris, we have to look for a shell. We use the value
of the C<CONFIG_SHELL> environment variable if it is set, else
C</bin/ksh> if it exists, else C</bin/bash> if it exists, else give up.
+Happily, C<config.guess> later reverted this change, but we keep our
+shell-finding code anyway to defend against future mistakes of the same ilk.
=cut
sub platform {
- unless (defined $::_platform_) {
+ if (! defined $::_platform_) {
if ($^O =~ /^MSWin/i) {
- $::_platform_ = "win32";
+ # print STDERR "\$^O is $^O\n";
+ $::_platform_ = "windows";
} else {
my $config_guess = "$::installerdir/tlpkg/installer/config.guess";
@@ -527,7 +537,8 @@ sub platform_desc {
'sparc-linux' => 'GNU/Linux on Sparc',
'sparc-solaris' => 'Solaris on Sparc',
'universal-darwin' => 'MacOSX current (10.14-) on ARM/x86_64',
- 'win32' => 'Windows',
+ 'win32' => 'Windows (32-bit)',
+ 'windows' => 'Windows (64-bit)',
'x86_64-cygwin' => 'Cygwin on x86_64',
'x86_64-darwinlegacy' => 'MacOSX legacy (10.6-) on x86_64',
'x86_64-dragonfly' => 'DragonFlyBSD on x86_64',
@@ -550,21 +561,21 @@ sub platform_desc {
}
-=item C<win32>
+=item C<wndws>
Return C<1> if platform is Windows and C<0> otherwise. The test is
currently based on the value of Perl's C<$^O> variable.
=cut
-sub win32 {
+sub wndws {
if ($^O =~ /^MSWin/i) {
return 1;
} else {
return 0;
}
# the following needs config.guess, which is quite bad ...
- # return (&platform eq "win32")? 1:0;
+ # return (&platform eq "windows")? 1:0;
}
@@ -575,7 +586,7 @@ Return C<1> if platform is UNIX and C<0> otherwise.
=cut
sub unix {
- return (&platform eq "win32")? 0:1;
+ return (&platform eq "windows")? 0:1;
}
@@ -599,7 +610,7 @@ sub getenv {
my $envvar=shift;
my $var=$ENV{"$envvar"};
return 0 unless (defined $var);
- if (&win32) {
+ if (&wndws) {
$var=~s!\\!/!g; # change \ -> / (required by Perl)
}
return "$var";
@@ -621,7 +632,7 @@ sub which {
my @PATH;
my $PATH = getenv('PATH');
- if (&win32) {
+ if (&wndws) {
my @PATHEXT = split (';', getenv('PATHEXT'));
push (@PATHEXT, ''); # in case argument contains an extension
@PATH = split (';', $PATH);
@@ -699,6 +710,18 @@ sub xchdir {
ddebug("xchdir($dir) ok\n");
}
+=item C<system_ok($cmdline)>
+
+Run C<system($cmdline)> and return true if return status was zero, false
+if status was nonzero. Throw away stdout and stderr.
+
+=cut
+
+sub system_ok {
+ my ($cmdline) = @_;
+ `$cmdline >/dev/null 2>&1`;
+ return $? == 0;
+}
=item C<wsystem($msg, @args)>
@@ -788,7 +811,7 @@ sub system_pipe {
my ($prog, $infile, $outfile, $removeIn, @extraargs) = @_;
my $progQuote = quotify_path_with_spaces($prog);
- if (win32()) {
+ if (wndws()) {
$infile =~ s!/!\\!g;
$outfile =~ s!/!\\!g;
}
@@ -821,7 +844,7 @@ computing the disk space.
sub diskfree {
my $td = shift;
my ($output, $retval);
- if (win32()) {
+ if (wndws()) {
# the powershell one-liner only works from win8 on.
my @winver = Win32::GetOSVersion();
if ($winver[1]<=6 && $winver[2]<=1) {
@@ -874,19 +897,23 @@ sub diskfree {
$td .= "/" if ($td !~ m!/$!);
return (-1) if (! -e $td);
debug("checking diskfree() in $td\n");
- ($output, $retval) = run_cmd("df -P \"$td\"", POSIXLY_CORRECT => 1);
+ ($output, $retval) = run_cmd("df -Pk \"$td\"");
+ # With -k (mandated by POSIX), we should always get 1024-blocks.
+ # Otherwise, the POSIXLY_CORRECT envvar for GNU df would need to
+ # be set, to force 512-blocks; and the BLOCKSIZE envvar would need
+ # to be unset to avoid overriding.
if ($retval == 0) {
# Output format should be this:
- # Filesystem 512-blocks Used Available Capacity Mounted on
- # /dev/sdb3 6099908248 3590818104 2406881416 60% /home
+ # Filesystem 1024-blocks Used Available Capacity Mounted on
+ # /dev/sdb3 209611780 67718736 141893044 33% /
my ($h,$l) = split(/\n/, $output);
my ($fs, $nrb, $used, $avail, @rest) = split(' ', $l);
- debug("diskfree: used=$used (512-block), avail=$avail (512-block)\n");
- # $avail is in 512-byte blocks, so we need to divide by 2*1024 to
- # obtain Mb. Require that at least 100M remain free.
- return (int($avail / 2048));
+ debug("diskfree: df -Pk output: $output");
+ debug("diskfree: used=$used (1024-block), avail=$avail (1024-block)\n");
+ # $avail is in 1024-byte blocks, so we divide by 1024 to obtain Mb.
+ return (int($avail / 1024));
} else {
- # error in running df -P for whatever reason
+ # error in running df -P for whatever reason, just skip the check.
return (-1);
}
}
@@ -904,7 +931,7 @@ my $user_home_dir;
sub get_user_home {
return $user_home_dir if ($user_home_dir);
- $user_home_dir = getenv (win32() ? 'USERPROFILE' : 'HOME') || '~';
+ $user_home_dir = getenv (wndws() ? 'USERPROFILE' : 'HOME') || '~';
return $user_home_dir;
}
@@ -939,7 +966,7 @@ Return both C<dirname> and C<basename>. Example:
sub dirname_and_basename {
my $path=shift;
my ($share, $base) = ("", "");
- if (win32) {
+ if (wndws()) {
$path=~s!\\!/!g;
}
# do not try to make sense of paths ending with /..
@@ -948,7 +975,7 @@ sub dirname_and_basename {
# eliminate `/.' path components
while ($path =~ s!/\./!/!) {};
# UNC path? => first split in $share = //xxx/yy and $path = /zzzz
- if (win32() and $path =~ m!^(//[^/]+/[^/]+)(.*)$!) {
+ if (wndws() and $path =~ m!^(//[^/]+/[^/]+)(.*)$!) {
($share, $path) = ($1, $2);
if ($path =~ m!^/?$!) {
$path = $share;
@@ -1006,7 +1033,7 @@ sub basename {
sub tl_abs_path {
my $path = shift;
- if (win32) {
+ if (wndws()) {
$path=~s!\\!/!g;
}
if (-e $path) {
@@ -1016,13 +1043,13 @@ sub tl_abs_path {
} else{
# collapse /./ components
$path =~ s!/\./!/!g;
- # no support for .. path components or for win32 long-path syntax
+ # no support for .. path components or for windows long-path syntax
# (//?/ path prefix)
die "Unsupported path syntax" if $path =~ m!/\.\./! || $path =~ m!/\.\.$!
|| $path =~ m!^\.\.!;
- die "Unsupported path syntax" if win32() && $path =~ m!^//\?/!;
+ die "Unsupported path syntax" if wndws() && $path =~ m!^//\?/!;
if ($path !~ m!^(.:)?/!) { # relative path
- if (win32() && $path =~ /^.:/) { # drive letter
+ if (wndws() && $path =~ /^.:/) { # drive letter
my $dcwd;
# starts with drive letter: current dir on drive
$dcwd = Cwd::getdcwd ($1);
@@ -1056,7 +1083,7 @@ sub dir_slash {
sub dir_creatable {
my $path=shift;
#print STDERR "testing $path\n";
- $path =~ s!\\!/!g if win32;
+ $path =~ s!\\!/!g if wndws;
return 0 unless -d $path;
$path .= '/' unless $path =~ m!/$!;
#print STDERR "testing $path\n";
@@ -1098,7 +1125,7 @@ a fileserver.
sub dir_writable {
my ($path) = @_;
return 0 unless -d $path;
- $path =~ s!\\!/!g if win32;
+ $path =~ s!\\!/!g if wndws;
$path .= '/' unless $path =~ m!/$!;
my $i = 0;
my $f;
@@ -1142,9 +1169,9 @@ sub mkdirhier {
$ret = 1;
} else {
my $subdir = "";
- # win32 is special as usual: we need to separate //servername/ part
+ # windows is special as usual: we need to separate //servername/ part
# from the UNC path, since (! -d //servername/) tests true
- $subdir = $& if ( win32() && ($tree =~ s!^//[^/]+/!!) );
+ $subdir = $& if ( wndws() && ($tree =~ s!^//[^/]+/!!) );
my @dirs = split (/[\/\\]/, $tree);
for my $dir (@dirs) {
@@ -1617,13 +1644,13 @@ sub removed_dirs {
# what should we do with not existing entries????
next if (! -r "$f");
my $abs_f = Cwd::abs_path ($f);
- # the following is necessary because on win32,
+ # the following is necessary because on windows,
# abs_path("tl-portable")
# returns
# c:\tl test\...
# and not forward slashes, while, if there is already a forward /
# in the path, also the rest is done with forward slashes.
- $abs_f =~ s!\\!/!g if win32();
+ $abs_f =~ s!\\!/!g if wndws();
if (!$abs_f) {
warn ("oops, no abs_path($f) from " . `pwd`);
next;
@@ -1883,7 +1910,7 @@ sub do_postaction {
sub _do_postaction_fileassoc {
my ($how, $mode, $tlpobj, $pa) = @_;
- return 1 unless win32();
+ return 1 unless wndws();
my ($errors, %keyval) =
parse_into_keywords($pa, qw/extension filetype/);
@@ -1921,7 +1948,7 @@ sub _do_postaction_fileassoc {
sub _do_postaction_filetype {
my ($how, $tlpobj, $pa) = @_;
- return 1 unless win32();
+ return 1 unless wndws();
my ($errors, %keyval) =
parse_into_keywords($pa, qw/name cmd/);
@@ -1966,7 +1993,7 @@ sub _do_postaction_filetype {
# associated program shows up in `open with' menu
sub _do_postaction_progid {
my ($how, $tlpobj, $pa) = @_;
- return 1 unless win32();
+ return 1 unless wndws();
my ($errors, %keyval) =
parse_into_keywords($pa, qw/extension filetype/);
@@ -2016,7 +2043,7 @@ sub _do_postaction_script {
return 0;
}
my $file = $keyval{'file'};
- if (win32() && defined($keyval{'filew32'})) {
+ if (wndws() && defined($keyval{'filew32'})) {
$file = $keyval{'filew32'};
}
my $texdir = `kpsewhich -var-value=TEXMFROOT`;
@@ -2046,7 +2073,7 @@ sub _do_postaction_script {
sub _do_postaction_shortcut {
my ($how, $tlpobj, $do_menu, $do_desktop, $pa) = @_;
- return 1 unless win32();
+ return 1 unless wndws();
my ($errors, %keyval) =
parse_into_keywords($pa, qw/type name icon cmd args hide/);
@@ -2317,7 +2344,7 @@ sub add_remove_symlinks {
my $plat_bindir = "$Master/bin/$arch";
# nothing to do with symlinks on Windows, of course.
- return if win32();
+ return if wndws();
my $info_dir = "$Master/texmf-dist/doc/info";
if ($mode eq "add") {
@@ -2403,7 +2430,7 @@ be called to make the changes immediately visible.
sub w32_add_to_path {
my ($bindir, $multiuser) = @_;
- return if (!win32());
+ return if (!wndws());
my $path = TeXLive::TLWinGoo::get_system_env() -> {'/Path'};
$path =~ s/[\s\x00]+$//;
@@ -2648,7 +2675,7 @@ sub untar {
# on w32 don't extract file modified time, because AV soft can open
# files in the mean time causing time stamp modification to fail
- my $taropt = win32() ? "xmf" : "xf";
+ my $taropt = wndws() ? "xmf" : "xf";
if (system($tar, $taropt, $tarfile) != 0) {
tlwarn("TLUtils::untar: $tar $taropt $tarfile failed (in $targetdir)\n");
$ret = 0;
@@ -3146,7 +3173,7 @@ sub _download_file_lwp {
sub _download_file_program {
my ($url, $dest, $type) = @_;
- if (win32()) {
+ if (wndws()) {
$dest =~ s!/!\\!g;
}
@@ -3195,7 +3222,7 @@ Return C</dev/null> on Unix and C<nul> on Windows.
=cut
sub nulldev {
- return (&win32()) ? 'nul' : '/dev/null';
+ return (&wndws()) ? 'nul' : '/dev/null';
}
=item C<get_full_line ($fh)>
@@ -4058,7 +4085,7 @@ sub texdir_check {
# Unfortunately we have lots of special characters.
# On Windows, backslashes are normal but will already have been changed
# to slashes by tl_abs_path. And we should only check for : on Unix.
- my $colon = win32() ? "" : ":";
+ my $colon = wndws() ? "" : ":";
if ($texdir =~ /[,$colon;\\{}\$]/) {
if ($warn) {
print " !! TEXDIR value has problematic characters: $orig_texdir\n";
@@ -4071,7 +4098,7 @@ sub texdir_check {
return 0;
}
# w32: for now, reject the root of a samba share
- return 0 if win32() && $texdir =~ m!^//[^/]+/[^/]+$!;
+ return 0 if wndws() && $texdir =~ m!^//[^/]+/[^/]+$!;
# if texdir already exists, make sure we can write into it.
return dir_writable($texdir) if (-d $texdir);
@@ -4102,7 +4129,7 @@ are (erroneously) eradicated.
sub quotify_path_with_spaces {
my $p = shift;
- my $m = win32() ? '[+=^&();,!%\s]' : '.';
+ my $m = wndws() ? '[+=^&();,!%\s]' : '.';
if ( $p =~ m/$m/ ) {
$p =~ s/"//g; # remove any existing double quotes
$p = "\"$p\"";
@@ -4150,13 +4177,13 @@ slashes after reading a path. They both are no-ops on Unix.
sub native_slashify {
my ($r) = @_;
- $r =~ s!/!\\!g if win32();
+ $r =~ s!/!\\!g if wndws();
return $r;
}
sub forward_slashify {
my ($r) = @_;
- $r =~ s!\\!/!g if win32();
+ $r =~ s!\\!/!g if wndws();
return $r;
}
@@ -4238,7 +4265,7 @@ END_NO_SSL
#
sub query_ctan_mirror_curl {
my $max_trial = 3;
- my $warg = (win32() ? '-w "%{url_effective}" ' : "-w '%{url_effective}' ");
+ my $warg = (wndws() ? '-w "%{url_effective}" ' : "-w '%{url_effective}' ");
for (my $i = 1; $i <= $max_trial; $i++) {
# -L -> follow redirects
# -s -> silent
@@ -4845,7 +4872,7 @@ sub mktexupd {
die "mktexupd: exec file does not exist: $file" if (! -f $file);
}
}
- my $delim= (&win32)? ';' : ':';
+ my $delim= (&wndws)? ';' : ':';
my $TEXMFDBS;
chomp($TEXMFDBS=`kpsewhich --show-path="ls-R"`);
@@ -4855,8 +4882,8 @@ sub mktexupd {
foreach my $path (keys %files) {
foreach my $db (@texmfdbs) {
$db=substr($db, -1) if ($db=~m|/$|); # strip leading /
- $db = lc($db) if win32();
- my $up = (win32() ? lc($path) : $path);
+ $db = lc($db) if wndws();
+ my $up = (wndws() ? lc($path) : $path);
if (substr($up, 0, length("$db/")) eq "$db/") {
# we appended a / because otherwise "texmf" is recognized as a
# substring of "texmf-dist".
@@ -4988,7 +5015,7 @@ directory for PATH.
sub prepend_own_path {
my $bindir = dirname(Cwd::abs_path(which('kpsewhich')));
- if (win32()) {
+ if (wndws()) {
$bindir =~ s!\\!/!g;
$ENV{'PATH'} = "$bindir;$ENV{PATH}";
} else {
diff --git a/Build/source/texk/texlive/ChangeLog b/Build/source/texk/texlive/ChangeLog
index 5d696ffd237..48868735a62 100644
--- a/Build/source/texk/texlive/ChangeLog
+++ b/Build/source/texk/texlive/ChangeLog
@@ -1,5 +1,8 @@
-2020-01-31 Karl Berry <karl@tug.org>
+2023-02-28 Luigi Scarso <luigi.scarso@gmail.com>
+
+ * Makefile.am (EXTRA_DIST): now just windows_wrapper.
+2020-01-31 Karl Berry <karl@tug.org>
* tl_support: rename subdirectory from tl_scripts, since there is
only one (sub)script list.
diff --git a/Build/source/texk/texlive/Makefile.am b/Build/source/texk/texlive/Makefile.am
index ccf19b0e11d..780e9785754 100644
--- a/Build/source/texk/texlive/Makefile.am
+++ b/Build/source/texk/texlive/Makefile.am
@@ -1,7 +1,7 @@
## $Id$
## Makefile.am for the TeX Live subdirectory texk/texlive/
##
-## Copyright 2015-2020 Karl Berry <tex-live@tug.org>
+## Copyright 2015-2023 Karl Berry <tex-live@tug.org>
## Copyright 2009-2014 Peter Breitenlohner <tex-live@tug.org>
## You may freely use, modify and/or distribute this file.
##
@@ -12,11 +12,10 @@ endif LINKED_SCRIPTS
## Windows wrapper and sources.
##
-EXTRA_DIST = w32_wrapper w64_wrapper
+EXTRA_DIST = windows_wrapper
## Tests
##
TEST_EXTENSIONS = .pl
TESTS = tests/updmap-cmdline-test.pl
EXTRA_DIST += $(TESTS)
-
diff --git a/Build/source/texk/texlive/Makefile.in b/Build/source/texk/texlive/Makefile.in
index 7a13603a0eb..c3c81ff16e3 100644
--- a/Build/source/texk/texlive/Makefile.in
+++ b/Build/source/texk/texlive/Makefile.in
@@ -500,7 +500,7 @@ top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
SUBDIRS = tl_support $(am__append_1)
-EXTRA_DIST = w32_wrapper w64_wrapper $(TESTS)
+EXTRA_DIST = windows_wrapper $(TESTS)
TEST_EXTENSIONS = .pl
TESTS = tests/updmap-cmdline-test.pl
all: all-recursive
diff --git a/Build/source/texk/texlive/tl_support/fmtutil.cnf b/Build/source/texk/texlive/tl_support/fmtutil.cnf
index f51bb4a0f72..36e55f56e51 100644
--- a/Build/source/texk/texlive/tl_support/fmtutil.cnf
+++ b/Build/source/texk/texlive/tl_support/fmtutil.cnf
@@ -1,4 +1,4 @@
-# Generated by /home/texlive/karl/Master/bin/x86_64-linux/tlmgr on Sun Dec 18 22:44:08 2022
+# Generated by /home/texlive/karl/Master/bin/x86_64-linux/tlmgr on Sun Feb 26 23:26:47 2023
# Originally written by Thomas Esser, 1998. Public domain.
#
# For guidance on how to support local formats, see the man
@@ -46,14 +46,6 @@ aleph aleph - *aleph.ini
# from amstex:
amstex pdftex - -translate-file=cp227.tcx *amstex.ini
#
-# from context:
-cont-en pdftex cont-usr.tex -8bit *cont-en.mkii
-cont-en xetex cont-usr.tex -8bit *cont-en.mkii
-#! cont-fr pdftex cont-usr.tex -8bit *cont-fr.mkii
-#! cont-it pdftex cont-usr.tex -8bit *cont-it.mkii
-#! cont-nl pdftex cont-usr.tex -8bit *cont-nl.mkii
-#! cont-ro pdftex cont-usr.tex -8bit *cont-ro.mkii
-#
# from cslatex:
cslatex pdftex - -etex cslatex.ini
pdfcslatex pdftex - -etex cslatex.ini
@@ -69,7 +61,7 @@ pdfcsplain xetex - -etex csplain.ini
eplain pdftex language.dat -translate-file=cp227.tcx *eplain.ini
#
# from hitex:
-#! hilatex hitex language.dat -etex -ltx hilatex.ini
+hilatex hitex language.dat -etex -ltx hilatex.ini
hitex hitex language.def -etex -ltx hitex.ini
#
# from jadetex:
@@ -130,11 +122,11 @@ pdftex pdftex language.def -translate-file=cp227.tcx *pdfetex.ini
#
# from platex:
platex eptex language.dat *platex.ini
-platex-dev eptex language.dat *platex.ini
+platex-dev euptex language.dat *platex.ini
#
# from ptex:
eptex eptex language.def *eptex.ini
-ptex ptex - ptex.ini
+ptex eptex - ptex.ini
#
# from tex:
tex tex - tex.ini
@@ -148,7 +140,7 @@ uplatex-dev euptex language.dat *uplatex.ini
#
# from uptex:
euptex euptex language.def *euptex.ini
-uptex uptex - uptex.ini
+uptex euptex - uptex.ini
#
# from xelatex-dev:
xelatex-dev xetex language.dat -etex xelatex.ini
diff --git a/Build/source/texk/texlive/windows_wrapper/runscript.tlu b/Build/source/texk/texlive/windows_wrapper/runscript.tlu
index e57778e1045..52f7ee45722 100644
--- a/Build/source/texk/texlive/windows_wrapper/runscript.tlu
+++ b/Build/source/texk/texlive/windows_wrapper/runscript.tlu
@@ -1,7 +1,7 @@
local svnrevision = string.match("$Revision: 65362 $", "%d+") or "0"
-local svndate = string.match("$Date: 2022-12-26 20:12:37 +0100 (Mon, 26 Dec 2022) $", "[-%d]+") or "2009-12-04"
+local svndate = string.match("$Date: 2022-12-27 04:12:37 +0900 (火, 27 12 2022) $", "[-%d]+") or "2009-12-04"
local bannerstr = "runscript wrapper utility (rev. " ..
svnrevision .. ", " .. svndate .. ")\n" ..
"usage: runscript script-name [arguments]\n" ..
@@ -78,7 +78,7 @@ local helpstr = [[
runscript <script-name> [script arguments]
If you prefer to call the script program simply by its name, copy
- and rename bin/win32/runscript.exe (or bin/win64/runscript.exe for
+ and rename bin/windows/runscript.exe (or bin/win64/runscript.exe for
64-bit Windows) to <script-name>.exe and put it somewhere on the
search path.]]
@@ -448,7 +448,7 @@ local function gettexmfdist()
-- remove '/runscript.dll'
a, b = string.find(str, '/', 1, true)
str = string.sub(str,a+1)
--- remove '/win32'
+-- remove '/windows'
a, b = string.find(str, '/', 1, true)
str = string.sub(str,a+1)
-- remove '/bin'
diff --git a/Master/tlpkg/bin/tl-update-bindir b/Master/tlpkg/bin/tl-update-bindir
index 710531ec115..fe146711a70 100755
--- a/Master/tlpkg/bin/tl-update-bindir
+++ b/Master/tlpkg/bin/tl-update-bindir
@@ -11,9 +11,9 @@ tmpdir=${TMPDIR-/tmp}/tlupbin.$$
trap "rm -rf $tmpdir" 0 1 2 15
test -d $tmpdir || mkdir -p $tmpdir
-usage="$0 [OPTION]... TL-PLATFORM...
+usage="$0 [OPTION]... TLPLATFORM...
-Update the TeX Live executables for each TL-PLATFORM (which must be a TL
+Update the TeX Live executables for each TLPLATFORM (which must be a TL
platform name, e.g., i386-linux) from a build directory.
The new binaries are taken from the location specified by --bin-loc,
@@ -33,7 +33,7 @@ requires when a symlink is replaced by a file or vice versa.
Options:
--bin-loc DIR-OR-TAR use binaries from DIR-OR-TAR
- --master DIR install binaries to DIR/bin/TL-PLATFORM
+ --master DIR install binaries to DIR/bin/TLPLATFORM
[default is the bin dir relative to this script]
--help display this help and exit
@@ -275,11 +275,12 @@ for tlplat in $tlplats; do
ourdel=$tmpdir/2del
ouradd=$tmpdir/2add
- # looking for deletions, but don't delete (x)asy, biber, xindy.
+ # looking for deletions, but don't delete (x)asy, biber, xindy, context.
comm -23 $tmpdir/now $tmpdir/new \
| egrep -v '^(x?asy(\.exe)?|freeglut\.dll)$' \
| egrep -v '^biber(-ms)?(\.exe)?$' \
| egrep -v '^dvisvgm$' \
+ | egrep -v '^(luametatex|context(.lua)?|mtxrun$' \
| egrep -v 'xindy' \
>$ourdel # intentionally anything matching xindy
comm -13 $tmpdir/now $tmpdir/new >$ouradd # looking for additions
@@ -366,5 +367,5 @@ for tlplat in $tlplats; do
$msg "final svn status..."
svn status | sort
- rm -rf $tmpdir
+ echo rm -rf $tmpdir
done
diff --git a/Master/tlpkg/dev/srclist.txt b/Master/tlpkg/dev/srclist.txt
index 7a225dceb25..b31d77789ea 100644
--- a/Master/tlpkg/dev/srclist.txt
+++ b/Master/tlpkg/dev/srclist.txt
@@ -6,15 +6,15 @@
# tlpkg/bin/tl-update-auto and tlpkg/bin/check-*.
#
# This file is input for the script config/srclist-update in the gnulib
-# project (http://savannah.gnu.org/projects/gnulib). Typical invocation:
+# project (https://savannah.gnu.org/projects/gnulib). Typical invocation:
# /path/to/gnulib/config/srclist-update \
# /path/to/srcdir </path/to/srcdir/build-aux/srclist.txt
# (see ~karl/bin/cron.tl)
#
# The output will be diffs for any files that are not up to date.
-# Basic config files. texmf.cnf is changed for all of 2021,
-# let's not see it every day.
+# Basic config files. texmf.cnf is changed too much in the source during
+# the development year to try to sync it always with the runtime.
#Master/texmf-dist/web2c/texmf.cnf Build/source/texk/kpathsea/
Master/texmf-dist/web2c/fmtutil.cnf Build/source/texk/texlive/tl_support/fmtutil.cnf
@@ -22,8 +22,8 @@ Master/texmf-dist/web2c/fmtutil.cnf Build/source/texk/texlive/tl_support/fmtutil
Master/tlpkg/TeXLive/TLUtils.pm Build/source/texk/tests/TeXLive/
Master/tlpkg/TeXLive/TLConfig.pm Build/source/texk/tests/TeXLive/
-# Maintained in Master (with Id expansion).
-Master/bin/windows/runscript.tlu Build/source/texk/texlive/w32_wrapper/runscript.tlu
+# Maintained in Master (with Id expansion there).
+Master/bin/windows/runscript.tlu Build/source/texk/texlive/windows_wrapper/runscript.tlu
# Glyph lists used by pdftex, now maintained in lcdf-typetools:
Build/source/texk/lcdf-typetools/lcdf-typetools-*/glyphtounicode.tex Master/texmf-dist/tex/generic/pdftex/glyphtounicode.tex
@@ -39,12 +39,21 @@ Build/source/texk/dvipdfm-x/data/dvipdfmx.cfg Master/texmf-dist/dvipdfmx/dvipdfm
# Scripts from GNU packages (locally) installed on the system; see
# Build/source/build-aux/README.TL.
#
+# must reenable libtool after figuring out why it's still finding 2.4.6.
+# --karl, 28feb23
+#/usr/local/gnu/share/libtool/build-aux/ltmain.sh Build/source/build-aux/ltmain.sh
+#/usr/local/gnu/share/aclocal/libtool.m4 Build/source/m4/libtool.m4
+#/usr/local/gnu/share/aclocal/ltargz.m4 Build/source/m4/ltargz.m4
+#/usr/local/gnu/share/aclocal/ltdl.m4 Build/source/m4/ltdl.m4
+#/usr/local/gnu/share/aclocal/ltoptions.m4 Build/source/m4/ltoptions.m4
+#/usr/local/gnu/share/aclocal/ltsugar.m4 Build/source/m4/ltsugar.m4
+#/usr/local/gnu/share/aclocal/ltversion.m4 Build/source/m4/ltversion.m4
+#/usr/local/gnu/share/aclocal/lt~obsolete.m4 Build/source/m4/lt~obsolete.m4
+#
# The version number embedded in the automake path is unfortunate (have
# to update manually at new automake releases), but automake provides no
# version-independent access.
#
-/usr/local/gnu/share/libtool/build-aux/ltmain.sh Build/source/build-aux/ltmain.sh
-#
/usr/local/gnu/share/automake-1.16/missing Build/source/build-aux/missing
/usr/local/gnu/share/automake-1.16/test-driver Build/source/build-aux/test-driver
/usr/local/gnu/share/automake-1.16/ylwrap Build/source/build-aux/ylwrap