fortran-lang/minpack

Minpack package manifest meta data

awvwgk opened this issue · 3 comments

The meta data in the package manifest seems somewhat inaccurate

minpack/fpm.toml

Lines 1 to 5 in 2e94806

name = "minpack"
version = "0.0.1"
license = "BSD"
author = "Jacob Williams"
copyright = "Copyright 2021, Jacob Williams"

For comparison the version by Ondřej @certik specifies

minpack/fpm.toml

Lines 1 to 10 in c0dc9cd

name = "minpack"
description = "Minpack includes software for solving nonlinear equations and nonlinear least squares problems."
homepage = "http://www.netlib.org/minpack/"
version = "1.0.0"
license = "http://www.netlib.org/minpack/disclaimer"
author = "Jorge Moré, Burt Garbow, and Ken Hillstrom"
maintainer = "@fortran-lang"
copyright = "Minpack Copyright Notice (1999) University of Chicago. All rights reserved"
categories = ["numerical"]
keywords = ["least squares", "linear equations", "nonlinear equations"]

I think using a semantic version 1.0.0 would be more appropriate, however if the API was changed it should use 2.0.0 instead. Also, the author and copyright field seem incorrect in this version.

We can update it.

So far, no API changes... Except for the fact that they are in the module now, so a user of the old one would have to use minpack. So, maybe that is a breaking change, and we call it 2.0.0?

So far, no API changes... Except for the fact that they are in the module now, so a user of the old one would have to use minpack. So, maybe that is a breaking change, and we call it 2.0.0?

If you can't build existing code against the new minpack without changing something (even if it is just use minpack) it is API breakage (also consider that users from non-Fortran languages probably have no way to access the old minpack API anymore as well). That would make 2.0.0 the correct version to choose.

Note: an iso-c-binding interface is definitely something we should make. Then those just call the module routines.

Again this is another case of showing how modern Fortran should be done. So, not using FORTRAN77+f2py and calling it a day.