Debian Patches
Status for mit-scheme/12.1-5
| Patch | Description | Author | Forwarded | Bugs | Origin | Last update |
|---|---|---|---|---|---|---|
| 0001-allow-autoreconf-force.patch | allow autoreconf force Recombobulate slightly to allow full regeneration via the command $ autoreconf --force - move src/microcode/aclocal.m4 to src/microcode/mit_scheme_native_code.m4 - use single shared directory for locally-defined macros (src/microcode/ for now) The necessary local m4 macro file is explicitly included. This is necessary because autoconf is not using automake or libtools, so AC_CONFIG_MACRO_DIR([.../microcode]) won't work. Gulp. |
"Barak A. Pearlmutter" <barak+git@cs.nuim.ie> | no | 2013-07-22 | ||
| 0002-AUXDIR_NAME-sans-arch.patch | AUXDIR_NAME sans arch | "Barak A. Pearlmutter" <barak+git@cs.nuim.ie> | not-needed | 2013-07-03 | ||
| 0003-sequentialize-docs.patch | sequentialize docs | "Barak A. Pearlmutter" <barak+git@cs.nuim.ie> | no | 2013-08-12 | ||
| 0005-man-page.patch | man page Minor updates to mit-scheme(1). |
"Barak A. Pearlmutter" <barak+git@pearlmutter.net> | no | 2020-06-09 | ||
| 0007-verbose-texi2dvi.patch | verbose texi2dvi | "Barak A. Pearlmutter" <barak+git@pearlmutter.net> | not-needed | 2021-02-09 | ||
| 0006-texi2any-_html-fix.patch | texi2any _html fix Recent versions of texi2any dump html in foo_html/ instead of foo/, which is breaking the installation scripts. This is the cheesiest fix possible: add code that copies foo_html/* to foo/ after each invocation of texi2any --html. |
"Barak A. Pearlmutter" <barak+git@pearlmutter.net> | no | 2024-11-10 | ||
| 0008-chacha-no-late-posix-c-source.patch | chacha: drop ineffective late _POSIX_C_SOURCE definition chacha.i is not a translation unit of its own: it is included at the *end* of chacha8.c, chacha12.c and chacha20.c, each of which has already included <stdint.h> and hence <features.h>. Defining _POSIX_C_SOURCE there therefore has no effect on which declarations the libc headers expose, but it does redefine a macro <features.h> has already set. That redefinition used to be benign because glibc happened to pick the same value, 200809L. Current glibc defines _POSIX_C_SOURCE as 202405L, so the values now differ and gcc reports chacha.i:32:9: error: '_POSIX_C_SOURCE' redefined [-Werror] which is fatal because the microcode is built with -Werror. Nothing in chacha.i or chacha.h needs anything beyond <stdint.h>, so drop the definition rather than hoisting it into the three including files -- that would *narrow* the visible namespace, which is plainly not what was intended. md5.c, keccak.c and blowfish.c keep theirs: those define it before any #include, where it works as intended. |
"Barak A. Pearlmutter" <bap@debian.org> | no | debian | 2026-09-04 | |
| 0009-info-dircategory-scheme.patch | file the info manuals under "The Algorithmic Language Scheme" The MIT/GNU Scheme manuals sit by themselves under "Programming Languages" in the top-level Info directory, while the other Scheme systems packaged in Debian -- Guile, SCM, SLIB, XlibScm -- all use the "The Algorithmic Language Scheme" section. The result is that a reader looking at (dir) finds the Scheme documentation split across two unrelated headings. Use the same @dircategory as everybody else, in all seven manuals (the four in doc/ plus the three plugin manuals under src/), so that they are listed together, and update doc/info-dir -- the fallback top-level Info node, installed only when none exists -- to match. |
"Barak A. Pearlmutter" <bap@debian.org> | no | debian | 2026-09-04 | |
| 0010-blowfish-selftest-iv-overflow.patch | blowfish: fix 8-byte stack overflow in the self test blowfish_selftest() sets up the IV for each of the six chained-mode tests with memcpy(block, IV, 16); but both IV and block are uint8_t[8] -- Blowfish has a 64-bit block, so an 8-byte IV is the only size that makes sense here. The copy therefore reads 8 bytes past the end of IV and writes 8 bytes past the end of block, into whatever follows it on the stack (in practice buf[], which is overwritten immediately afterwards, which is why this has gone unnoticed). It is still undefined behaviour, and with _FORTIFY_SOURCE it is the kind of thing that turns into a runtime abort when the compiler stops being able to prove otherwise. gcc already sees it: In function 'memcpy', inlined from 'blowfish_selftest' at blowfish.c:537:2: /usr/include/x86_64-linux-gnu/bits/string_fortified.h:29:10: warning: '__builtin___memcpy_chk' forming offset [8, 15] is out of the bounds [0, 8] of object 'block' with type 'uint8_t[8]' [-Warray-bounds=] Use sizeof(IV), which is what was meant. |
"Barak A. Pearlmutter" <bap@debian.org> | no | 2026-09-05 | ||
| 0011-sos-drop-stray-menu.patch | sos: drop the stray sibling menu in the Introduction node Introduction is @unnumbered, so it is a sibling of the Classes ... Printing chapters, not their parent, and the Top node's master menu already lists all seven at the same level. The extra menu at the end of Introduction claims those six chapters as its children, which contradicts the up pointers in their own @node lines: sos.texinfo:123: warning: node up pointer for `Classes' is `Top' but up is `Introduction' in menu ... and the same for Instances, Slots, Generic Procedures, Methods and Printing. Delete the duplicate menu. Nothing is lost -- the identical list is in Top's menu one screen earlier -- and the Info hierarchy stops contradicting itself. |
"Barak A. Pearlmutter" <bap@debian.org> | no | 2026-09-05 |
