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)
Change History (9)
comment:1 Changed 6 years ago by mf2k (Frank Schima)
Port: | spooles added |
---|---|
Summary: | spooles: port request → spooles: new port |
Type: | request → submission |
comment:2 Changed 6 years ago by mbrethen
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:
- Only download the documentation files if the doc variant is selected, or
- 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/ordist_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
Spooles-doc: skip extract by setting "extract.only"
comment:7 Changed 2 years ago by mascguy (Christopher Nielsen)
Resolution: | → fixed |
---|---|
Status: | new → closed |
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.