Subject: [PATCH 0/1] Add smlnj.
From: Foo Chuan Wei <[email-masked]>
To: [email-masked]
Date: Wed, 10 Nov 2021 08:35:53 +0000
List-Id: <debbugs-submit.debbugs.gnu.org>

This patch adds Standard ML of New Jersey 110.99.2 for x86_64-linux and
i686-linux.

There are some WIP patches in the guix-patches mailing list
(https://issues.guix.gnu.org/38606), but those patches did not succeed
in building smlnj + libraries.

Note that binary patching is necessary to deal with a hardcoded
"/bin/sh" in the bootfiles. Further reading about the /bin/sh issue:
https://lists.gnu.org/archive/html/help-guix/2021-11/msg00031.html

It is not feasible to avoid pre-built binaries. The documentation itself
says:
> When pulling the latest sources via subversion, there is no guarantee
> that config/install.sh will operate successfully due to a lack of
> usable bootfiles. In this case you might be able to generate new
> bootfiles using the bootstrap compiler (of an older version). Even
> that can be very difficult or even impossible [...]
Source: https://www.smlnj.org/dist/working/110.99.2/index.html

Credits:
* Brett Gilio's smlnj patch (https://issues.guix.gnu.org/38606#3), which
  this patch builds upon.
* I got help from Josselin Poiret on IRC
  (https://logs.guix.gnu.org/guix/2021-11-08.log#135443).
* I looked at how smlnj is packaged in NixOS:
  * https://github.com/NixOS/nixpkgs/blob/21.05/pkgs/development/compilers/smlnj/default.nix
  * https://web.archive.org/web/20140704103009/http://lists.science.uu.nl/pipermail/nix-dev/attachments/20101215/e1beb921/attachment.obj

Foo Chuan Wei (1):
  gnu: Add smlnj.

 gnu/packages/sml.scm | 261 ++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 260 insertions(+), 1 deletion(-)

base-commit: 7a4a77e05ac0ff29f7769bb689358dc76e2f58f4
-- 
2.25.1