Hi Leo --

On 1/7/2022 5:39 PM, Leo Larnack wrote:
> Hi ports@,
> 
> Here is my attempt at porting Poly/ML[1].
> 
> Poly/ML is a Standard ML implementation originally written in an
> experimental language called Poly. It has been fully compatible
> with the ML97 standard since version 4.0.
> 
> Poly/ML takes a conservative approach to the Standard ML language
> and avoids incompatible extensions. It has added various library
> extensions particularly the thread library. Poly/ML's active
> development and unique features make it an exceptional implementation.
> 
> Tests are passing (amd64).
> 
> I'd be happy to read your comments.
> 
> [1] https://polyml.org
> 

Thanks for the port. Attached is your port with some additional tweaks
which should streamline a few things in your original submission:
* A quick glance makes it look like the license is a combination of
LGPLv2.1 and LGPLv2.1+, so I marked the license as LGPLv2.1 only to make
it a little more clear.
* SHARED_LIB should always start with 0.0 -- the ports system will
helpfully output the correct line you need if you omit it and it
discovers a shared library when creating the PLIST.
* We don't need the COMPILER line if we're just going to use the default
compilers for each arch; it can go.
* You're missing a WANTLIB. If you run `make port-lib-depends-check` the
ports system will output what you need.
* I noticed that your patch switches the check for -lstdc++ to -lc++.
I'm not 100% sure that flies at the moment for sparc64 when using the
default compiler. But we can do one better: the define this test sets
goes completely unused in the Poly/ML source code, so let's just rip the
whole test out. This has the benefit of removing your patch to
configure.ac for a patch to configure, which comes with not needing all
the autoconf/automake stuff, so this port has no external depends needed.
* The configure script searches for and runs git if it finds it. That's
a no-no. Fortunately, we can override the test with a simple
CONFIGURE_ENV line.
* The configure script also searches for (and fails to find) -lgmp. The
configure script has a --without-gmp option, which I think is what we
want here. That is set with CONFIGURE_ARGS.
* No need for an ALL_TARGET. Everything works fine without it.

Tarball attached. All test pass on amd64 here as well.

~Brian

Attachment: polyml.tgz
Description: application/compressed

Reply via email to