octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: GSL in octave


From: Julien Bect
Subject: Re: GSL in octave
Date: Sun, 31 Jul 2016 19:43:46 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Icedove/45.1.0

Le 30/07/2016 à 10:37, Julien Bect a écrit :
I will be unavailable for almost one month, starting on Monday. Thanks to you, the package is now in a much better shape than it was a few weeks ago, but I don't think it is ready for a release yet.  I will try to send a list of the things I think need to be addresses before I leave.

Hi Susi, hi all,

Please find below a list of (more or less important) items regarding the Octave Forge gsl package.

I have tried to separate the most pressing issues (that should be addressed before release 1.1.0 happens) from the other ones.  This is only my opinion, of course.  Perhaps a wiki page would be a good idea to track progress on all these issues.

@Susi: as I said earlier, I will be unavailable for some time.  Perhaps someone else can keep helping you with the final polishing of the package... (or perhaps can you ask again the admins for push access ;-)

Julien




IMPORTANT ITEMS TO BE ADDRESSED (according to me before release 1.1.0 happens)

*** Behaviour of functions when some arguments are non-scalar

TODO: Check what the behaviour was in gsl package 1.0.8.  Check what the behaviour currently is in the dev version.  Implement either a minimal solution (all non-scalar arguments must have the same dimension, as, e.g., besselk) or some more elaborate form of "broadcasting" (as discussed earlier on this list).  Add some unit tests for it.  If there is a change of behaviour wrt 1.0.8, advertise in the NEWS.


*** Unit tests

Currently the package has a some (verbose) tests in a script, for "simple" sf functions only.

TODO: turn this script into a proper series of (silent) unit tests + add tests for "array-type" functions (at least one for each template type ?).


*** INDEX is outdated

TODO: update manually or (better) generate it automatically during the bootstrap.


*** NEWS is outdated

TODO: update the NEWS file with all the recently added functions.


*** doc directory ???

TODO: see what this directory contains => update / remove / ... ?


*** Copyright notices

TODO: Review copyright notices / add GSL v2+ notice wherever needed / see if some contributors must be added


*** Author and maintainer field in DESCRIPTION

Author: currently only mentions Teemu Ikonen <address@hidden>.  Lots of people have contributed according to hg history.  Susi contributed a lot recently.  I suggest either "Teemu Ikonen <address@hidden>, Susi Lehtola <address@hidden> and others" or more simply "The Octave Forge community".

Maintainer: Susi wrote that I wanted to be maintainer, but recently I did most of the maintainance job (because I have push permission, and Susi doesn't) and Susi did more of a developer's work.  I don't want to be maintainer for this package in the long run.  I suggest either "The Octave Forge community" or Susi (in which case he will need push access to the repo).




SOME LESS IMPORTANT ITEMS (?)

* Improve error messages for missing functions

Currently, if some function is missing (say, in GSL 1.15) there is a warning at configure time (visible during pkg install) and the function is simply removed (not available).

I would recommend instead leaving the function but returning an informative error message about the version of GSL that was used to build the package and the fact that the function wasn't available in it.

config.h now contains all the #define statements required to implement this easily.


* Determine what is the oldest release of GSL that we can use and update BuildRequires in DESCRIPTION (?)

Currently we know that GSL 1.13 (2009/2010) is supported.  This already rather old, so perhaps is it ok if we don't mention any specific minimal release.

See https://savannah.gnu.org/bugs/index.php => close the bug report when a decision is made about this.


* Determine what is the minimal version of Octave that we use and update Depends field in DESCRIPTION (?)

Currently DESCRIPTION indicates Octave version >= 2.9.7 but I don't know why (if somebody knows, it might be good to record the info somewhere ;-)

I have personnally tested on 3.6.2 and Susi mentions 3.4.x somewhere.  I don't know about versions between 2.9.7 and 3.4.x ...  (Sure, it's old.)

Unless we know of a specific reason why 3.0 or 3.2 wouldn't work, we can probably leave 2.9.7 as it is.


* Problem with some targets in maintainer's Makefile

There seem to be some problems with run and install, at least.  Also, make check currently does nothing.

TODO: check that all targets in maintainer's Makefile work properly.


* Does aybody know if these lines in src/Makefile are still relevant?

DEFINES=
ifeq ($(canonical_host_type),i686-pc-msdosmsvc)
DEFINES=-DWIN32 -DGSL_DLL
endif

If not, then we should remove them and the stuff about canonical_host_type (in configure.ac) as well.


* How to install the package with a specific version of the library compile by the user

Tatsuro managed to do it, and the information is somewhere on the mailing list (http://octave.1599824.n4.nabble.com/GSL-in-octave-tp4678376p4678864.html).

TODO: turn his advice into a clear installation procedure and make it available on the wiki and/or in the doc directory of the package


* Build dependencies: what should be mentioned in BuildDepends?

sed is used in replace_template.sh => add "sed" to BuildDepends?

gsl-dev => see discussion above about version requirement

bash => check that buildgsl_sf.sh and replace_template.sh contain no bashism.  If they do, rewrite them to avoid bashisms or add "bash" to BuildDepends.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]