--- Begin Message ---
Subject: |
[PATCH 0/1] Add smlnj. |
Date: |
Wed, 10 Nov 2021 08:35:53 +0000 |
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
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#51745: [PATCH 0/1] Add smlnj. |
Date: |
Fri, 10 Dec 2021 14:59:25 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) |
Hi,
Foo Chuan Wei <chuanwei.foo@hotmail.com> skribis:
> 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
Noted. This is obviously below our demanding standards, but I
understand this is not avoidable right now.
It would be great if you could get in touch with upstream though. You
could mention that OCaml is now bootstrapped from source, thanks to the
work by Gabriel Scherrer, Julie Lepiller, et al. Perhaps that’s enough
of an incentive to get SMLNJ bootstrapped? :-)
> 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
I added Brett as co-author in the commit log.
> * gnu/packages/sml.scm (smlnj): New variable.
Applied, thank you and everyone involved!
Ludo’.
--- End Message ---