Since at least oldoldoldstable, the mlton sources have included non-free files. In particular, the tarball lib/ckit-lib/ckit.tgz contains the files ckit/src/parser/util/error.sml and ckit/src/parser/util/error-sig.sml. These files are: (* * Copyright (c) 1996 by Satish Chandra, Brad Richards, Mark D. Hill, * James R. Larus, and David A. Wood. * * Teapot is distributed under the following conditions: * * You may make copies of Teapot for your own use and modify those copies. * * All copies of Teapot must retain our names and copyright notice. * * You may not sell Teapot or distributed Teapot in conjunction with a * commercial product or service without the expressed written consent of * the copyright holders. * * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. * *) The restriction on distribution in conjunction with a commercial product or service is in violation of point 6 of the DFSG. See also the related bug against SML/NJ: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=998154
As far as I know, the ckit stuff is just included because it needed some tweaks to work under MLton. I don't think that any of "our" stuff depends on it. I would think that the right solution would be to move it into a separate package, and that package would be part of the "non-free" world in Debian. Matthew: am I correct?
As far as I know, the ckit stuff is just included because it needed some tweaks to work under MLton. I don't think that any of "our" stuff depends on it. I would think that the right solution would be to move it into a separate package, and that package would be part of the "non-free" world in Debian. Matthew: am I correct?
That would work from my point of view. While we're discussing non-free files, I've found the following problematic source files so far. Is there anything to indicate that they can be distributed at all, let alone under the HPND or some other free license? They're all benchmarks, so they could probably be dropped without too much impact... * benchmark/tests/md5.sml: Copyright (C) 2001 Daniel Wang. All rights reserved. The "All rights reserved" bit and the lack of any licensing information makes me skeptical that the file can be distributed at all. It could be replaced by Tom7's implementation if you want a crypto benchmark: https://github.com/LenaWil/tom7/tree/master/sml-lib/crypt/MD5 * benchmark/tests/DATA/chess.gml: Copyright Leif Kornstaedt, 2000 This looks like it was taken from an ICFP programming content submission, with no clear licensing information: https://www.ps.uni-saarland.de/helikopter/2000/ * benchmark/tests/zern.sml COPYRIGHT (c) 1998 D.McClain/MCFA This looks like it was taken from https://web.archive.org/web/20010215003107/http://www.azstarnet.com/~dmcclain/LanguageStudy.html with no clear licensing information. I'll update this bug report with any other files I find. Best, Ryan
Again, I don't think that that is anything used either in MLton construction or use. I would tink that if the license can be found and is good enough, like the ckit stuff, it could go in a MLton non-free package. Otherwise, I guess just remove it. Matthew?
* Henry Cejtin: I think mlnffigen needs ckit.
(I assume you meant ml-nlffigen.) ml-nlffigen is part of SML/NJ, not part of MLton.
* Henry Cejtin: /usr/bin/mlnlffigen is part of mlton-tools. I believe the code generation requirements are different for MLton and SML/NJ.
Your right, but I think (not on the basis of real knowledge) that ml-nlffigen isn't used in either the compilation of the MLton compiler, nor by the MLton compiler in compiling user code. I thought that it was for a MLton compiler user to use, and had been tweaked so that the output was usable by MLton. I certainly could be wrong about this.
Henry is correct that the MLton compiler (the runtime, basis library implementation, and compiler proper) do not depend on ckit (or any of the (re)distributed SML/NJ libraries), the benchmarks, or on mlnlffigen, nor are those components required for using MLton (unless, of course, the program being compiled explicitly references them). If Debian wants to carve up the packages for MLton in a different way, then that seems fine, but I'm not inclined to do serious rearrangements of the GitHub repository or of the source releases that we (upstream) package. I appreciate the licensing issue, but consider it fairly low stakes for decades old code. Florian is correct that MLton has packaged mlnlffigen both out of convenience (as we have packaged mllex and mlyacc) for users and because MLton requires the tool to generate slightly different code.
Has there ben any progress on getting MLton packaged for Debian? Is there anything I can do to help? I haven't seen anything since Matthew Fluet's response.
Yes. The sticking point is that mlton requires itself or smlnj to compile itself. The current version of mlton in the archives has been uninstallable for years, so I've been trying to use smlnj to bootstrap mlton. This has required some changes to the source and it's still not completely there. The right path forward is probably for me to file an issue against the Github mlton project, and then we can discuss fixing the smlnj-to-bootstrap-mlton issues there. Ryan
We believe that the bug you reported is fixed in the latest version of
mlton, which is due to be installed in the Debian FTP archive.
A summary of the changes between this version and the previous one is
attached.
Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to 998156@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Ryan Kavanagh <rak@debian.org> (supplier of updated mlton package)
(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
Format: 1.8
Date: Tue, 04 Jan 2022 09:12:48 -0500
Source: mlton
Architecture: source
Version: 20210117+dfsg-1
Distribution: unstable
Urgency: medium
Maintainer: Ryan Kavanagh <rak@debian.org>
Changed-By: Ryan Kavanagh <rak@debian.org>
Closes: 943118 992099 995467 998156
Changes:
mlton (20210117+dfsg-1) unstable; urgency=medium
.
* New upstream release (Closes: #992099)
* Repack sources to remove non-DFSG files (Closes: #998156)
+ Extract and apply upstream patches to all nested tarballs while we are
at it
+ Patch sources to handle missing non-DFSG-free files, 07_DFSG.diff
+ Disable installing mlnlffigen: it requires non-DFSG-free ckit-lib to build
* Changes to patches:
+ Drop ppc64el.patch: applied upstream
+ Drop linux-pic.diff: no longer needed to successfully compile on amd64
* Drop stack-hardening.diff: pass in flags via debian/rules instead
+ Rename patches to make application order obvious
+ Add DEP3 headers to all patches
* Overhaul control file:
+ Move Homepage field from binary stanzas to source stanza
+ Use substvars to eliminate description duplication
+ Split Build-Depends into Build-Depends-Arch/Build-Depends-Indep
+ Drop alternative dependency on mlton-runtime, which has not existed
since forever
+ Drop build-dependency on quilt and on procps
+ Drop breaks against mlton version now in oldoldoldstable
+ Added Vcs-* tags
+ Drop versioned Build-Depends-Arch on binutils and gcc for mips/mipsel:
no longer needed
+ Set Rules-Requires-Root: no
+ Bump standards version to 4.6.0
* Changes to documentation:
+ Updated README.Debian to reflect current mlton requirements
+ Added a README.source to describe repacking and bootstrapping process
* Set myself as maintainer (Closes: #995467)
* Documentation-related changes:
+ The mlton guide does not currently build. Temporarily disable building
it for the sake of getting a working mlton compiler back in the archive
+ Temporarily disable installation of mllex and mlyacc guides
+ Documentation requires a build-dependency on python3-pygments instead of
python-pygments (Closes: #943118)
+ Reintroduce build-dependency on dblatex
+ Install upstream changelog and readme.
* Changes to package build process:
+ Switch from CDBS to debhelper
+ Set compat to 13 via debhelper-compat
+ Don't fetch resources from Github during build, 06_local_docs.diff
+ Remember to clean generated files under .cm/
+ Don't automatically run tests during build, 08_postpone_tests.diff
+ Add target to install arch-indep libraries, 09_install-indep.diff, and
call it from rules
+ dh_missing should ignore
- files for arch-dependent packages when building
arch-independent packages
- upstream license files usr/share/doc/mlton/license/*
* Update copyright file and switch to DEP5 format
Checksums-Sha1:
2533e0ae23c88ba148e775652f661c6cedebd3df 4797 mlton_20210117+dfsg-1.dsc
f447e617f0d383826dbd06b731358e326bfca123 13851708 mlton_20210117+dfsg.orig.tar.gz
5a90cc44801f4b164cd3d2f2edef5bf990ee368e 20076 mlton_20210117+dfsg-1.debian.tar.xz
45f293e0d2a214f2b5e799ac3486c99cd9e2143c 11644 mlton_20210117+dfsg-1_amd64.buildinfo
Checksums-Sha256:
9e7a5e3e2511e56708c8ea39efa1ffb6cb8314be50d89316da1f4a3ac4eb1aed 4797 mlton_20210117+dfsg-1.dsc
bd9949c2163415fe3094a4468ee8bf0dc96ace69d4b412ed25c8a307e5a81204 13851708 mlton_20210117+dfsg.orig.tar.gz
8fd8d7d99ce02449e48a5bfe179f052f1ddfb2b4782cb0182aa0bfdac9f1923d 20076 mlton_20210117+dfsg-1.debian.tar.xz
e013f5b886b01fe8518f008135645bf4211e0ae681997a0c6a442b219760d3d9 11644 mlton_20210117+dfsg-1_amd64.buildinfo
Files:
2d11f6746570171cca7f4bfb1e2949dd 4797 devel optional mlton_20210117+dfsg-1.dsc
dedc865ff2de40c71dac93459b154385 13851708 devel optional mlton_20210117+dfsg.orig.tar.gz
8dd8e4ebba498581cf85d25f70b52f8e 20076 devel optional mlton_20210117+dfsg-1.debian.tar.xz
28435817f04b51f6e7a4b26f958a64ab 11644 devel optional mlton_20210117+dfsg-1_amd64.buildinfo
-----BEGIN PGP SIGNATURE-----
iQJDBAEBCgAtFiEEP7FHOW9as2zJ9q6CWXuniu1D+jAFAmHUfNwPHHJha0BkZWJp
YW4ub3JnAAoJEFl7p4rtQ/owgccQAIt08pM094yTj+UWfzyoMGOGecd6AXeWfr8a
3Qr1KDPxnSRhTDs0DMRVN0r1+Iro/dom1tQy3ncV05cXXeeCMNEp6OsQTovpXYRH
8KtsgZo3QpRuZ68mwcLoTbuXAmpndaanhHpczhh+3QpO+EOf0zKXkulJybiX+4DB
IkVGTBdeaZKZrb0C3M+9uK6p5tFvlpseutkn5lcKn00UUOPp6DRT/xtICG31u5eU
DXOy3ymdrSIy8IZpjxrY2qM7Rlph6/0PxHRc7eYHU0mcClOM5UV+xPnYq0NXo2UZ
KR5kdGSOrqFqU35uJFRPFViySGyMA9YRDNSxSlrzONAXLEufG8UP3aBPZzc34cX5
w+15pIfmdqC9GymFI6x5n0IM3mfKZRjqnZTDoN6Ov7+jNZB7AeA1Xwq41Gru2fC4
WIlzpOqs2YeyMHZuZHIGwRPA2Rh//Q7IHP3uTABiMi8/Ivm0CkH84ZB6aU0MMurF
9S6IrKXrWG3mXg3UOKBev31PbHo9dINQ1A3S2X7Y/XgTo0N+NfKCGkGpvZ0T+dCp
wUSKeLkx1ltpwigIlNwCRZyfNgrzRumfsS3j5Z6YD0Ap230QxK7rRgB5svaNk3IK
lIeOQ0z67wHmAdwjjezPCBJ7kJP6PxyNR8xhUBnVC1JIwglD5reCPlqu6x6E1r3E
zDKM/Kap
=zX5m
-----END PGP SIGNATURE-----