Debian Patches

Status for gnu-apl/2.0+svn3894-1

Patch Description Author Forwarded Bugs Origin Last update
0001-doc-info-html.patch generate HTML and info from texi in builddir doc/
doc/Makefile.am and doc/DALY/Makefile.am do not build the info and
HTML manuals: they leave info_TEXINFOS empty and install pre-built
apl.info, libapl.info and apl-library.info from the source directory
with hand-written install-info-am rules. Their own rules for
regenerating these files write into the source tree and, if makeinfo
fails, silently "touch" an empty file instead. The pre-built files
are not in the imported source (see debian/import-trunk).

Either keep shipping the pre-built manuals, or let automake build them
from the Texinfo sources. The latter is done here.

info_TEXINFOS lists apl.texi, libapl.texi and apl-library.texi, with
the files apl-library.texi includes in apl_library_TEXINFOS, and the
info-in-builddir option keeps the generated .info files out of the
source tree. makeinfo --html --no-split rules build the HTML versions,
installed as dist_doc_DATA so that, like the info files, they are in
the release tarball and building from it does not need makeinfo; they
are removed by make maintainer-clean. apl-info.css and apl.1, no
longer in dist_doc_DATA, are distributed by EXTRA_DIST and
dist_man1_MANS. The Texinfo sources of Bill Daly's library documentation are no
longer installed below $(pkglibdir).
"Barak A. Pearlmutter" <barak+git@pearlmutter.net> no 2026-06-07
0002-no-debian-subdir.patch do not configure debian/ subdirectory
configure.ac and Makefile.am treat debian/ as an automake subdirectory,
so that upstream's own debian/ directory is included in "make dist".
That directory is not in the imported source (see debian/import-trunk)
and the Debian packaging replaces it, so automake fails with "required
file 'debian/Makefile.in' not found".

Drop debian/Makefile and debian/source/Makefile from AC_CONFIG_FILES
and debian from DIST_SUBDIRS.
"Barak A. Pearlmutter" <barak+git@pearlmutter.net> not-needed 2026-11-01
0003-install-dirs-at-make-time.patch pass installation directories at make time
configure computes the installation directories itself and puts them
into config.h (apl_DIR__bin, apl_DIR__pkglib, ...) and, via
AC_CONFIG_FILES, into gnu-apl.d/preferences. Directories given on the
configure command line are copied verbatim, unexpanded: dh_auto_configure
passes --libdir=${prefix}/lib/<triplet>, so apl --show_lib_dir prints
"${prefix}/lib/x86_64-linux-gnu/apl", and NativeFunction.cc looks for
native libraries (lib_file_io.so etc.) there. Also, preferences.in
sets LIBREF-3/4/5 to @prefix@/lib/apl/wslibN, while wslibN are
installed into $(pkglibdir) = $(libdir)/apl, so with any other
--libdir, e.g. Debian's multiarch libdir, )LIBS shows libraries 3-5 as
missing and )LOAD 5 FILE_IO fails.

Either expand the directories in configure, or substitute them at make
time as the Autoconf manual recommends ("Installation Directory
Variables"). The latter is done here.

The apl_DIR__ macros that the code uses are defined in AM_CPPFLAGS of
src/Makefile.am and src/APs/Makefile.am from $(bindir), $(docdir),
$(sysconfdir), $(pkglibdir) and $(pkgdatadir); configure no longer
computes them. gnu-apl.d/preferences is generated by sed in
gnu-apl.d/Makefile.am, with @pkglibdir@ and @sysconfdir@ in
preferences.in. It is installed only from there, and not distributed:
the top-level Makefile.am no longer installs it a second time, and
gnu-apl.d/Makefile.am installs into gnuapldir instead of redefining
distdir, automake's directory for make dist.
"Barak A. Pearlmutter" <barak+git@pearlmutter.net> no 2026-11-04
0004-Quad_FIO-screen-size-no-tty.patch ⎕FIO ¯8/¯9: do not return garbage when stdin is not a terminal
⎕FIO ¯8 (screen width) and ⎕FIO ¯9 (screen height) ignore the result
of ioctl(TIOCGWINSZ), and return uninitialised stack contents when
stdin is not a terminal, e.g. in a pipe, under cron, or in autopkgtest.
This made the output of ZZ59_Regression.tc unpredictable.

Zero-initialise the struct winsize, and make ⎕FIO ¯8 also fall back to
⎕PW (as it already does for a width of 0) when ioctl() fails. ⎕FIO ¯9
then returns 0.
"Barak A. Pearlmutter" <barak+git@pearlmutter.net> no 2026-11-03
0005-no-Bible-preview.patch do not build or install HOWTOs/Bible
HOWTOs/Bible/Bible-Preview.pdf, an excerpt of a book distributed with
neither license nor sources, is excluded from the Debian source (see
Files-Excluded in debian/copyright). HOWTOs/Bible/Makefile.am then
installs an empty placeholder in its place, along with a README that
describes the preview and how to order the book.

Either install HOWTOs/Bible only when the PDF is present, or do not
build it at all. The latter is done here.
"Barak A. Pearlmutter" <barak+git@pearlmutter.net> not-needed 2026-11-05
0006-pkg-config-for-host.patch locate pkg-config for the host system when cross compiling
configure looks for pkg-config with AC_PATH_PROG, in three places
(bash-completion, Python, GTK), which finds the build system's
pkg-config. When cross compiling this reports the build system's
libraries and directories instead of the host's.

Either use AC_PATH_TOOL, or PKG_PROG_PKG_CONFIG from pkg.m4, which
also checks the pkg-config version. The latter is done here; pkg.m4
must then be available to aclocal at autoreconf time.

PKG_PROG_PKG_CONFIG needs AC_CANONICAL_HOST, which must not run before
--with-mingw has set host_alias, so pkg-config is located once, just
after LT_INIT, and the Python check moves there from
m4/apl_TARGETs.m4. A missing pkg-config now leaves PKG_CONFIG empty
rather than "no".
"Barak A. Pearlmutter" <barak+git@pearlmutter.net> no 2026-11-05
0007-vpath-builds-anywhere.patch allow out-of-tree builds in any directory
README-12-vpath-builds says an out-of-tree build directory must be
below the top-level source directory, at most four levels deep.
configure finds the source directory by searching upwards from the
build directory for configure.ac, at most four times, and otherwise
silently takes the build directory instead; apl --show_src_dir then
prints the wrong directory, and the SVN revision of Archive.cc is not
found. svnversion is run in the build directory, not the source
directory. configure also adds -I`pwd`, the absolute build directory,
to the user variable CXXFLAGS, so that configure's output files are
found, which automake already provides with -I$(top_builddir).

Take the source directory from $srcdir, which configure already knows,
run svnversion on it, and drop the -I`pwd`.

README-12-vpath-builds now says that out-of-tree builds work in the
standard way, and no longer describes the directory restrictions, nor
the make VPATH_clean target, which no longer exists. A source tree
configured in place is rejected by configure, so 'make distclean'
there suffices.
"Barak A. Pearlmutter" <barak+git@pearlmutter.net> no 2026-11-05
auto-gitignore Update .gitignore from Debian packaging branch
The Debian packaging git branch contains these updates to the upstream
.gitignore file(s). This patch is autogenerated, to provide these
updates to users of the official Debian archive view of the package.

[dgit (17.0) update-gitignore]
no

All known versions for source package 'gnu-apl'

Links