Debian Patches
Status for smlnj/110.99.9-5
| Patch | Description | Author | Forwarded | Bugs | Origin | Last update |
|---|---|---|---|---|---|---|
| 0001-mltex2html-perl-fixes | mltex2html-perl-fixes Fix FTBFS when '.' is not part of @INC and escape literal '{' in regex Expanded by gregor herrmann <gregoa@debian.org> on Tue, 8 Aug 2017 11:46:37 -0400 Fix "FTBFS: Unescaped left brace in regex is illegal here in regex": extend debian/patches/mltex2html-perl-fixes to escape literal opening braces in mltex2html script. See https://bugs.debian.org/871335 |
James McCoy <jamessan@debian.org> | no | 2016-09-13 | ||
| 0002-update-copyright-notice.patch | update copyright notice This addresses the "may not sell ... with a commercial product or service" copyright notice in the files - libraries/ckit/src/parser/util/error-sig.sml - libraries/ckit/src/parser/util/error.sml which upstream fixed immediately upon being informed of the issue. The upstream development commit cherry picked here is: https://github.com/smlnj/smlnj/commit/4f48994d0f7b434ef258c64cf6aa59b752a13bbe For discussion, see https://github.com/smlnj/smlnj/issues/258 |
"Barak A. Pearlmutter" <bap@debian.org> | no | 2022-10-03 | ||
| 0003-sml-man-page-typos.patch | fix typos in sml(1) man page | "Barak A. Pearlmutter" <bap@debian.org> | yes | 2026-09-12 | ||
| 0004-pathnames-trim-prefix.patch | let SMLNJ_TRIM_PREFIX trim file names in diagnostics Pathnames.trim is applied to file names in error locations, including the locations recorded in stabilized libraries, but was the identity. Make it strip the prefix given by the SMLNJ_TRIM_PREFIX environment variable, so the Debian build can keep its build directory out of the installed libraries. |
"Barak A. Pearlmutter" <bap@debian.org> | yes | 2026-09-12 | ||
| 0005-match-compiler-select-free-vars.patch | fix free variables of SELECT states in the match compiler A shared DFA state becomes a function whose parameters are the state's free variables. For a SELECT state that set was computed as val bs = foldr (fn ((p,_),S) => add(S,PVAR p)) s bs val fvs = diff(s, bs) seeding the fold with s itself, so bs is always a superset of s and fvs is always empty. A shared SELECT state therefore became a function of no arguments whose body still referred to path variables bound in the caller, and nowhere(1) emitted code with unbound variables: fun state_8 () = let val (v_8, v_7) = v_1 in ... v_5 ... end Subtract only the variables the SELECT itself binds. |
"Barak A. Pearlmutter" <bap@debian.org> | no | debian | 2026-09-24 | |
| 0006-reproducible-guid.patch | honour SOURCE_DATE_EPOCH when generating compilation unit GUIDs CM gives every compilation unit a GUID built from the current time, and Rehash.addGUID mixes that GUID into the unit's persistent id, which in turn is embedded in the generated code. Two builds of identical sources therefore produce different binfiles and stable libraries. Use SOURCE_DATE_EPOCH in place of the current time when it is set, which makes compilation reproducible; behaviour is unchanged when it is unset. |
"Barak A. Pearlmutter" <bap@debian.org> | no | 2026-09-24 | ||
| 0007-mltex2html-reproducible.patch | reproducible footer in generated MLRISC HTML The generated pages end with "Last modified: <date> by <user>@<host>", which differs between builds. Use SOURCE_DATE_EPOCH, and drop the user and host name, when that variable is set. |
"Barak A. Pearlmutter" <bap@debian.org> | no | 2026-09-24 | ||
| 0008-reproducible-heap-timers.patch | do not record build-time timings in exported heap images The initial CPU and real timers are captured when the system boots, and the compiler's Stats counters accumulate during the build; both are then written into every exported heap image, which therefore records how long the build took and when it ran. Both are reset when an image is resumed (the AtInit cleaners), so the recorded values are never used. Zero them at export instead, without reading the clock. |
"Barak A. Pearlmutter" <bap@debian.org> | no | 2026-09-24 | ||
| 0009-ml-build-no-pid-in-temp-names.patch | do not put the process id in ml-build's temporary file names ml-build generates a small SML file whose name contains the process id, and compiles it; the name is recorded in the resulting heap image, so every run produces a different image. Name the temporary files after the heap file being built instead. |
"Barak A. Pearlmutter" <bap@debian.org> | no | 2026-09-24 | ||
| 0010-powerpc-autobuild.patch | powerpc autobuild On the powerpc autobuilders, the running kernel might be 64-bit even if the build is in a 32-bit environment. So accept more powerpc kernel machine names. |
"copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> | no | 2026-09-27 | ||
| 0011-flushicache-implicit-int.patch | give FlushICache a return type The declarations relied on implicit int, which GCC 14 rejects. The routine returns void, as the PPC.prim.asm comment says. Only affects the targets that declare it (PowerPC, SPARC, MkLinux). |
"Barak A. Pearlmutter" <bap@debian.org> | no | 2026-09-28 | ||
| 0012-ppc-linux-runtime.patch | make the runtime build and work on powerpc/Linux again Three things had rotted since the target was last built: - mk.ppc-linux compiles with "gcc -ansi", but the runtime headers use C99 (STATIC_INLINE expands to "static inline"), so every file fails to compile. Use -std=gnu99, as the x86 and amd64 targets do. - When the OS/architecture feature tests were reorganized around ARCH_PPC, the powerpc/Linux case lost both HAS_UCONTEXT and HAS_SIGCONTEXT, leaving SigReturn_t, SigInfo_t and SigContext_t undefined for the POSIX signal declarations. Linux passes a ucontext_t to an SA_SIGINFO handler, so define HAS_UCONTEXT. - Consequently the powerpc/Linux signal macros have to reach the saved registers through uc_mcontext, and the local SigContext_t typedef (for the long-gone struct sigcontext_struct) goes away. |
"Barak A. Pearlmutter" <bap@debian.org> | no | 2026-09-28 |
All known versions for source package 'smlnj'
- 110.99.9-5 (sid)
- 110.79-8 (bookworm)
