Opened 6 years ago

Closed 2 years ago

#57693 closed submission (fixed)

spooles: new port

Reported by: mbrethen Owned by:
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc:
Port: spooles

Description

Requesting a new port to install spooles: http://www.netlib.org/linalg/spooles/spooles.2.2.html

There is a pkg hosted on the svnweb freebsd org that has a spooles port: https://svnweb.freebsd.org/ports/head/math/spooles/

Attachments (2)

patch-spooles-build.diff (22.4 KB) - added by mbrethen 6 years ago.
Patch makeGlobalLib to use ${CC} to convert static library to dynamic library
Portfile (7.1 KB) - added by mbrethen 6 years ago.
Spooles-doc: skip extract by setting "extract.only"

Download all attachments as: .zip

Change History (9)

comment:1 Changed 6 years ago by mf2k (Frank Schima)

Port: spooles added
Summary: spooles: port requestspooles: new port
Type: requestsubmission

comment:2 Changed 6 years ago by mbrethen

The portfile overrides the build phase with calls to individual makefile targets. It builds a lib archive and I added a call to linker to create a shared library using the static archive. Also, the src does not include any config so the build environment has to be specified.

comment:3 Changed 6 years ago by ryandesign (Ryan Carsten Schmidt)

-macosx_version_min ${os.version} is not correct (${os.version} is the Darwin version number but you want the macOS version number here); use -macosx_version_min ${macosx_deployment_target} instead.

The destroot phase should probably copy the libraries into the destroot like other ports do, rather than moving them there.

Could the doc variant be removed, and the documentation just always installed? Or is the documentation huge?

I see lots of unversioned distfiles here, though the main file is versioned. Will the unversioned files ever change? If so, using a versioned dist_subdir might be best (PortfileRecipes#unversioned-distfiles).

Wait, I see now that the unversioned distfiles are documentation files. But it looks like the port downloads those files even when they're not going to be installed. So I would suggest changing it one of two ways:

  1. Only download the documentation files if the doc variant is selected, or
  2. Remove the doc variant and make a separate spooles-doc subport to install the documentation, and have this subport download only the documentation, while the main port downloads only the source code. This is probably the best option, because it allows a user to install the documentation later without having to rebuild the library, and because it allows you to use a separate version, revision, and/or dist_subdir for the spooles-doc subport, so that the documentation files only need to be redownloaded and reinstalled if they have actually changed. It also allows you to specify a different license for the documentation, if necessary.

Though I guess if these files were last modified in 1999 there probably aren't ever going to be any more releases.

The livecheck.regex is not correct, but given the unlikelihood of another release, maybe livecheck.type none is the best fix for that.

comment:4 Changed 6 years ago by mbrethen

There's a third option: the docs are also included in the source as tex files and could be built, either automatically or with a user variant.

comment:5 Changed 6 years ago by mbrethen

Take a look at ${worksrcpath}/makefile and ${worksrcpath}/MT/src/makeGlobalLib. Multiple make targets may not be necessary. Could the MT/MPI makeGlobalLib files be patched to call ld to create the dynamic library?

Changed 6 years ago by mbrethen

Attachment: patch-spooles-build.diff added

Patch makeGlobalLib to use ${CC} to convert static library to dynamic library

Changed 6 years ago by mbrethen

Attachment: Portfile added

Spooles-doc: skip extract by setting "extract.only"

comment:6 Changed 2 years ago by mbrethen

This ticket can be closed.

comment:7 in reply to:  6 Changed 2 years ago by mascguy (Christopher Nielsen)

Resolution: fixed
Status: newclosed

Replying to mbrethen:

This ticket can be closed.

Great, thanks for the heads-up!

Note: See TracTickets for help on using tickets.