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
polyml.tgz
Description: application/compressed