Skip to content

Commit

Permalink
Merge branch 'texlive-trunk' r73112
Browse files Browse the repository at this point in the history
  • Loading branch information
t-tk committed Dec 14, 2024
2 parents abc699d + 4d0d56f commit 2a8e486
Show file tree
Hide file tree
Showing 19 changed files with 731 additions and 495 deletions.
4 changes: 2 additions & 2 deletions source/build-aux/compile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#! /bin/sh
# Wrapper for compilers which do not understand '-c -o'.

scriptversion=2024-06-19.01; # UTC
scriptversion=2024-12-03.03; # UTC

# Copyright (C) 1999-2024 Free Software Foundation, Inc.
# Written by Tom Tromey <[email protected]>.
Expand Down Expand Up @@ -343,7 +343,7 @@ exit $ret
# Local Variables:
# mode: shell-script
# sh-indentation: 2
# eval: (add-hook 'before-save-hook 'time-stamp)
# eval: (add-hook 'before-save-hook 'time-stamp nil t)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC0"
Expand Down
4 changes: 2 additions & 2 deletions source/build-aux/depcomp
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#! /bin/sh
# depcomp - compile a program generating dependencies as side-effects

scriptversion=2024-06-19.01; # UTC
scriptversion=2024-12-03.03; # UTC

# Copyright (C) 1999-2024 Free Software Foundation, Inc.

Expand Down Expand Up @@ -784,7 +784,7 @@ exit 0
# Local Variables:
# mode: shell-script
# sh-indentation: 2
# eval: (add-hook 'before-save-hook 'time-stamp)
# eval: (add-hook 'before-save-hook 'time-stamp nil t)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC0"
Expand Down
4 changes: 2 additions & 2 deletions source/build-aux/install-sh
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/bin/sh
# install - install a program, script, or datafile

scriptversion=2024-06-19.01; # UTC
scriptversion=2024-12-03.03; # UTC

# This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the
Expand Down Expand Up @@ -533,7 +533,7 @@ do
done

# Local variables:
# eval: (add-hook 'before-save-hook 'time-stamp)
# eval: (add-hook 'before-save-hook 'time-stamp nil t)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC0"
Expand Down
4 changes: 4 additions & 0 deletions source/doc/ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
2024-12-08 Karl Berry <[email protected]>

* tlbuild.texi (Linked scripts): document new scripts-targets.lst file.

2024-07-12 Karl Berry <[email protected]>

* build-tools.txt: automake 1.17.5
Expand Down
917 changes: 474 additions & 443 deletions source/doc/tlbuild.info

Large diffs are not rendered by default.

66 changes: 49 additions & 17 deletions source/doc/tlbuild.texi
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
@setfilename tlbuild.info

@set version 2024
@set month-year April 2024
@set month-year December 2024

@set mytitle Building @TeX{} Live (@value{version})
@settitle @value{mytitle}
Expand Down Expand Up @@ -889,25 +889,31 @@ that end up in @file{./inst/} are ignored.

@cindex linked scripts
@cindex scripts, linked and not maintained
@cindex symbolic links, used for scripts

@cindex symlinks, used for scripts
@cindex wrapper binary for scripts on Windows
@cindex Windows, invoking scripts on
Quite a few executables are architecture-independent shell, Perl, or
other interpreted scripts, rather than compiled binaries. A few are
maintained as part of the TL source tree, but most are maintained
elsewhere with copies under @file{texk/texlive/linked_scripts}.
Quite a few of the executables in @TL{} are architecture-independent
shell, Perl, or other interpreted scripts, rather than compiled
binaries. A few are maintained as part of the TL source tree, but
most are maintained independently in their own packages, with copies
under @file{texk/texlive/linked_scripts}.

These so-called @dfn{linked scripts} are installed under
@code{@var{datarootdir}/texmf-dist/scripts}; for Unix-like systems a
symbolic link is made in @code{@var{bindir}}. For example, a symlink
points from @code{@var{bindir}/ps2eps} to
@code{@var{datarootdir}/texmf-dist/scripts/ps2eps/ps2eps.pl}. For
Windows, a standard wrapper binary (copied to, e.g.,
@code{@var{bindir}/ps2eps.exe}) serves the same purpose. The source
for the wrapper is in @file{texk/texlive/windows_wrapper}.
points from @code{@var{bindir}/fmtutil} to
@code{@var{datarootdir}/texmf-dist/scripts/texlive/fmtutil.pl}. The
symlink is relative, so the installation root can be anywhere.

One reason for this is to avoid having many copies of the same
@cindex wrapper for scripts, on Windows
For Windows, we cannot portably use symlinks, so a standard wrapper
binary (copied to, e.g., @code{@var{bindir}/fmtutil.exe}) serves the
same purpose (the source for the wrapper is in
@file{texk/texlive/windows_wrapper}).

One reason for all this is to avoid having many copies of the same
script; a more important reason is that it guarantees the scripts will
stay in sync across the different supported operating systems.

Expand All @@ -917,12 +923,38 @@ stay in sync across the different supported operating systems.
@pindex xz
@pindex wget
Most important of all, we want the @code{@var{bindir}} resulting from
the build to be as close as possible to what is in the TL
distribution. At present, there are a few exceptions---Asymptote,
Biber, Xindy---and each one creates considerable extra work. We don't
want to add more. (See @url{https://tug.org/texlive/build.html} for
information about building those exceptions, as well as the @code{xz}
and @code{wget} programs that are used in the TL infrastructure.)
@code{make install} in the TL source tree to be as close as possible
to what's in thej TL distribution. At present, there are a few
exceptions---Asymptote, Biber, Xindy---and each one creates
considerable extra work. We don't want to add more. (See
@url{https://tug.org/texlive/build.html} for information about
building those exceptions, as well as the @code{xz} and @code{wget}
programs that are used in the TL infrastructure.)

@pindex scripts-targets.lst
As part of the @code{make install} in the @file{linked_scripts}
directory, a file @file{scripts-targets.lst} is created to record all
the links that are created this way, so that distros and others can
reproduce them. The file has one line per link. The first word is the
target of the link (e.g.,
@samp{texmf-dist/scripts/texlive/fmtutil.pl}), and the second word
is the name of the link to be placed in the bindir (e.g.,
@samp{fmtutil}). Determining the relative link target (how many
@samp{../}s) is left to the users of this file, since it varies among
distributions. It can be assumed there is no whitespace in these filenames.

A few links are within bindir; in that case, the first word of the
line is just a base name, e.g., the file @samp{fmtutil mktexfmt} means
that doing the equivalent of @code{ln -s fmtutil mktexfmt} in the bindir.

Be aware that although extensions are usually stripped (as with
@code{fmtutil}), there are exceptions, such as
@code{memoize-extract.pl} and @code{listings-ext.sh}.

The @file{scripts-targets.lst} file started being created as of the
@TL{} 2025 release. Historically, another file @file{scripts.lst} has
been (and still is) created, containing only the link targets, and
using a Bourne shell syntax.

@node Distro builds
@section Distro builds
Expand Down
4 changes: 2 additions & 2 deletions source/libs/icu/icu-src/source/install-sh
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/bin/sh
# install - install a program, script, or datafile

scriptversion=2024-06-19.01; # UTC
scriptversion=2024-12-03.03; # UTC

# This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the
Expand Down Expand Up @@ -533,7 +533,7 @@ do
done

# Local variables:
# eval: (add-hook 'before-save-hook 'time-stamp)
# eval: (add-hook 'before-save-hook 'time-stamp nil t)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC0"
Expand Down
6 changes: 6 additions & 0 deletions source/libs/mpfi/ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
2024-12-10 Florian Schmaus <[email protected]>

* configure.ac: remove MPFI_CONFIGS, not defined anywhere.
https://bugs.gentoo.org/945908
https://github.com/TeX-Live/texlive-source/pull/74

2024-02-01 Luigi Scarso <[email protected]>

* import mpfi-1.5.4, first integration into TL/mpost.
2 changes: 0 additions & 2 deletions source/libs/mpfi/configure
Original file line number Diff line number Diff line change
Expand Up @@ -6158,8 +6158,6 @@ fi
eval kpse_build_alias=\${build_alias-$build}


MPFI_CONFIGS

if test "x$enable_build" != xno; then
build_TRUE=
build_FALSE='#'
Expand Down
2 changes: 0 additions & 2 deletions source/libs/mpfi/configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,6 @@ AC_CONFIG_HEADERS([mpfi_config.h])

KPSE_CANONICAL_HOST

MPFI_CONFIGS

AM_CONDITIONAL([build], [test "x$enable_build" != xno])

KPSE_GMP_FLAGS
Expand Down
21 changes: 21 additions & 0 deletions source/texk/texlive/linked_scripts/ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,24 @@
2024-12-08 Karl Berry <[email protected]>

* Makefile.am (linkfile): new variable, scripts-targets.lst.
(install-data-hook): create it, en passant, with all link names
and target names, including special cases memoize* and
listings-ext.sh. scripts.lst has only the link names.
* scripts-targets.lst: new file.
tldistro threads around 4 Jul 2024 16:27:36 and now.

2024-12-07 Karl Berry <[email protected]>

* Makefile.am (check-make-vs-files): new target to compare
list in Makefile[.am] with files on filesystem.
* texlive/extractbb.lua,
* texlive/mktexlsr.pl: remove, not listed.
tldistro thread around 4 Jul 2024 16:27:36.

2024-11-24 Karl Berry <[email protected]>

* Makefile.am (texmf_other_scripts): no more texlive/extractbb.lua.

2024-07-04 Karl Berry <[email protected]>

* xput/xput,
Expand Down
39 changes: 36 additions & 3 deletions source/texk/texlive/linked_scripts/Makefile.in
Original file line number Diff line number Diff line change
Expand Up @@ -368,6 +368,7 @@ texmf_other_scripts = \
epspdf/epspdftk.tcl \
epstopdf/epstopdf.pl \
exceltex/exceltex \
expltools/explcheck.lua \
extractbb/extractbb.lua \
fig4latex/fig4latex \
findhyph/findhyph \
Expand Down Expand Up @@ -433,6 +434,7 @@ texmf_other_scripts = \
pkfix-helper/pkfix-helper \
pkfix/pkfix.pl \
pmxchords/pmxchords.lua \
ppmcheckpdf/ppmcheckpdf.lua \
pst2pdf/pst2pdf.pl \
ptex-fontmaps/kanji-config-updmap-sys.sh \
ptex-fontmaps/kanji-config-updmap-user.sh \
Expand Down Expand Up @@ -460,7 +462,6 @@ texmf_other_scripts = \
texfindpkg/texfindpkg.lua \
texdoc/texdoc.tlu \
texfot/texfot.pl \
texlive/extractbb.lua \
texlive/fmtutil-sys.sh \
texlive/fmtutil-user.sh \
texlive/fmtutil.pl \
Expand Down Expand Up @@ -508,8 +509,18 @@ bin_links = \

relpath = $(SHELL) $(top_srcdir)/../../build-aux/relpath
runscript = $(top_srcdir)/$(WIN_WRAPPER)/runscript.exe

# Make a copy of all targets and link names, for distros etc.
linkfile = $(abs_builddir)/scripts-targets.lst

#
# For WIN32 (MinGW or native) we have wrapper binaries with .exe,
# for Cygwin and Unix we have symlinks without .exe.
@WIN32_TRUE@WINEXT = $(EXEEXT)
shell_scripts = $(texmf_shell_scripts)

# just a shorter name for all the scripts for convenience.
all_scripts = $(nobase_dist_texmf_scripts_SCRIPTS)
all: all-am

.SUFFIXES:
Expand Down Expand Up @@ -765,6 +776,7 @@ scripts-lst:

installdirs-local:
$(MKDIR_P) $(DESTDIR)$(bindir)

install-data-hook: installdirs-local
@WIN32_TRUE@ @for s in $(texmf_other_scripts); do \
@WIN32_TRUE@ t=`basename $$s | sed 's,\.[^/]*$$,,' | tr '[A-Z]' '[a-z]'`; \
Expand All @@ -774,6 +786,11 @@ install-data-hook: installdirs-local
@WIN32_TRUE@ $(INSTALL_SCRIPT) $(top_srcdir)/$(WIN_WRAPPER)/runscript.dll $(DESTDIR)$(bindir)
@WIN32_TRUE@ $(INSTALL_SCRIPT) $(top_srcdir)/$(WIN_WRAPPER)/runscript.exe $(DESTDIR)$(bindir)
@WIN32_TRUE@ $(INSTALL_SCRIPT) $(top_srcdir)/$(WIN_WRAPPER)/runscript.tlu $(DESTDIR)$(bindir)
@WIN32_FALSE@ >$(linkfile)
# Name the link as the basename, removing any extension,
# except for memoize* and listings-ext.sh, which are documented to be
# used with extension. Downcase for the sake of TeXcount.pl -> texcount.
# Unfortunately this logic is duplicated in uninstall-hook.
@WIN32_FALSE@ @REL=`$(relpath) '$(DESTDIR)' '$(bindir)' '$(datarootdir)'`; \
@WIN32_FALSE@ if test -z "$$REL"; then \
@WIN32_FALSE@ echo 'unable to compute relative path for linked scripts' >&2; \
Expand All @@ -786,15 +803,17 @@ install-data-hook: installdirs-local
@WIN32_FALSE@ || echo "$$s" | grep 'listings-ext.sh' >/dev/null \
@WIN32_FALSE@ || target=`echo $$target | sed 's,\.[^/]*$$,,'`; \
@WIN32_FALSE@ rm -f $$target; \
@WIN32_FALSE@ echo "creating link '$$target' -> '$$REL/texmf-dist/scripts/$$s'"; \
@WIN32_FALSE@ echo "creating link '$$target' -> '$$REL/texmf-dist/scripts/$$s'";\
@WIN32_FALSE@ $(LN_S) $$REL/texmf-dist/scripts/$$s $$target || exit 1; \
@WIN32_FALSE@ echo texmf-dist/scripts/$$s $$target >>$(linkfile); \
@WIN32_FALSE@ done && \
@WIN32_FALSE@ for s in $(bin_links); do \
@WIN32_FALSE@ link=`echo $$s | sed 's,.*:,,'`; \
@WIN32_FALSE@ file=`echo $$s | sed 's,:.*,,'`; \
@WIN32_FALSE@ rm -f $$link; \
@WIN32_FALSE@ echo "creating link '$$link' -> '$$file'"; \
@WIN32_FALSE@ echo "creating bin link '$$link' -> '$$file'"; \
@WIN32_FALSE@ $(LN_S) $$file $$link || exit 1; \
@WIN32_FALSE@ echo $$file $$link >>$(linkfile); \
@WIN32_FALSE@ done && \
@WIN32_FALSE@ if test -d "$$REL/texmf-dist/doc/man" \
@WIN32_FALSE@ && test -z "$(TL_INSTALL_OMIT_MAN_LINK)" \
Expand All @@ -803,6 +822,9 @@ install-data-hook: installdirs-local
@WIN32_FALSE@ rm -f man; \
@WIN32_FALSE@ (ln -s "$$REL/texmf-dist/doc/man" man || :); \
@WIN32_FALSE@ else :; fi
# If we got to the end, update the $(linkfile) in srcdir if needed.
@WIN32_FALSE@ cmp -s $(srcdir)/`basename $(linkfile)` $(linkfile) \
@WIN32_FALSE@ || cp -f $(linkfile) $(srcdir)/`basename $(linkfile)`

.PHONY: install-links
install-links:
Expand All @@ -823,10 +845,21 @@ uninstall-hook:
@WIN32_FALSE@ rm -f $(DESTDIR)$(bindir)/man; \
@WIN32_FALSE@ else :; fi

#
# This target is invoked by tl-check-wrapper-consistency (run from cron).
.PHONY: echo-shell-scripts
echo-shell-scripts:
@echo $(shell_scripts)

# Compare the list of scripts to the extant files in the repo;
# should be exactly the same. Run from cron.
check-make-vs-files:
# We descend two levels here because of context/perl/mptopdf.pl.
find "$(srcdir)"/*/* -type f | sed "s,$(srcdir)/,," | sort \
>tmplist.files
echo $(all_scripts) | tr ' ' '\n' | sort >tmplist.make
comm -3 tmplist.files tmplist.make

# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
Expand Down
13 changes: 13 additions & 0 deletions source/texk/web2c/ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,16 @@
2024-12-01 Karl Berry <[email protected]>

* tex.ch (error): do @<Put help message on the transcript file@>
before exiting if halt_on_error_p, to be closer to behavior of TeX
without -halt-on-error. Suggestion from jfbu:
https://tug.org/pipermail/tex-live/2024-July/050741.html

2024-11-24 David Fuchs <[email protected]>

* tex.ch (Initialize the input routines): also initialize
buffer[0]:=0 for uninitialized virtex read, in the
cases of printing garbage fixed by Kitagawa-san on 2021-07-19.

2024-11-13 Karl Berry <[email protected]>

* mf.ch (Calculate integers $\alpha$...): comment out erroneous
Expand Down
3 changes: 3 additions & 0 deletions source/texk/web2c/NEWS
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
This file records noteworthy changes. (Public domain.)
See also */NEWS, */ChangeLog, etc.

* Most engines: if TeX exits due to the -halt-on-error option,
write the help message to the log file, as happens without -halt-on-error.

* mf: remove incorrect change of long standing in the Web2c mf.ch file,
which affects calculation of a few pen polygons in a small way; we don't
know if any extant fonts are impacted.
Expand Down
Binary file modified source/texk/web2c/hitexdir/doc/hitexman.hnt
Binary file not shown.
Binary file modified source/texk/web2c/hitexdir/doc/hitexman.pdf
Binary file not shown.
Loading

0 comments on commit 2a8e486

Please sign in to comment.