Page MenuHomeFreeBSD

math/libflame: update to recent snapshot and take maintainership
ClosedPublic

Authored by jmd on Jun 9 2018, 5:37 PM.

Details

Summary

This brings our math/libflame to a recent state, as opposed to the outdated one before. Their development has moved to github. Configure it as a LAPACK library and to use an external BLAS to eventually support a blaslapack:flame together with math/blis. Please note that this should be used with caution in production until the port is better tested!

Their make system now generates a large quantity of object files to link which I found to only work with a recent linker (hence the requirement for recent CURRENT with lld default). Since this is a numerical library, some caution is required before we can enable it for other architectures. Patches were generated by hand as makepatch failed to work properly.

Test Plan

poudriere tested on CURRENT amd64 and i386. Mostly portlint clean (except for patch, see above, and IGNORE location caused by OpenMP + clang).

Diff Detail

Repository
rP FreeBSD ports repository
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

math/libflame/Makefile
24 ↗(On Diff #43501)

Remove, default.

25 ↗(On Diff #43501)

This does not looks like 1.0:

$ git describe --tags f4e27a7
5.1.0-53-gf4e27a74
52 ↗(On Diff #43501)

This should probably use USES=compiler variables.

82 ↗(On Diff #43501)

To install files, you NEVER, EVER, use CP, you use one of the INSTALL_* macro.

jmd edited the test plan for this revision. (Show Details)

Address @mat 's comments and enable i386 compilation.

jmd edited the test plan for this revision. (Show Details)

Address comments. Unmute INSTALL_DATA, portlint check

zeising requested changes to this revision.Jun 19 2018, 6:58 PM

Patch needs updating again, the port was touched, see https://svnweb.freebsd.org/ports?view=revision&revision=472677.

Looks good to me otherwise, apart from one nit.
Make sure to add SVN properties to the patch file when committing.

math/libflame/Makefile
18 ↗(On Diff #43684)

ONLY_FOR_ARCH_REASON should be updated to include i386 I think

This revision now requires changes to proceed.Jun 19 2018, 6:58 PM

Change to ONLY_FOR_ARCHS_REASON from the amd64 specific one.

math/libflame/Makefile
14 ↗(On Diff #44117)

So, this is going to give an IGNORE message containing:

is only for amd64 i386 while you are running xxx (reason: for now only supported on amd64 and i386 due to build issues)

The reason could be trimmed.

34 ↗(On Diff #44117)

Move this down to where it is needed, like, just before trying to use PORT_OPTIONS for the first time.

math/libflame/Makefile
15 ↗(On Diff #44200)

Would be nice to be more explicit, does it fail to configure, fail to build, fail to install, fail to run?

19 ↗(On Diff #44200)

Wrong place in the Makefile. See Chapter 15. Order of Variables in Port Makefiles.

26 ↗(On Diff #44200)

Remove.

54–55 ↗(On Diff #44200)

This order does not make any sense.

Do you really need the pre/post dance?

I've learned a lot already.

This revision is now accepted and ready to land.Jul 3 2018, 3:23 PM
This revision was automatically updated to reflect the committed changes.