The fortran package in Sage is really weird.
1) The 'src' directory does not contain unchanged upstream code, but has a
command called 'sage_fortran' burried well down in the directory structure,
which is a binary of g95, version 4.0.3
2) But at the top level there is another command called 'sage_fortran' which is
a perl script.
3) Most packages, when they get patched, use the convention of adding .p0, .p1,
.p2 ...etc to the package number. The 'fortran' package however seems to use
that convention (SPKG.txt starts at patch level 8), but then switched to using
the date. The SPKG.txt shows:
=== fortran-20100428 Harold Gutch, 28th Apri 2010) ===
* trac 8715 -- fortran-20100118 ignores SAGE_FORTRAN on Linux
=== fortran-20100117 (William Stein, Jan 17, 2010) ===
* Removed the two linux g95 binaries, and *require* that gfortran be installed
on Linux.
=== fortran-20071120.p8 (William Stein Sept 24 2009) ===
* improved 64-bit OS X 10.6 detection
* The g95 binaries were downloaded from the very nice site:
http://ftp.g95.org/
* I changed the name of the executable in the g95-install/bin/
directory to sage_fortran in each case.
I can see a point of coding a date if its a CVS snapshot, but it's not obvious
to me why William changed from fortran-20071120.p8 to fortran-20100428.
As far as I can see, there appears to be version 4.0.3 of g95 and version 4.3.2
of gfortran buried down somewhere in the directory structure. Do we really need
both g95 and gfortran? If not, should the older 'g95' be removed?
So what name should I used if I update this? Some of the many possible options
might be:
1) If 'g95' could be removed, call the package fortran-4.2.3, since I believe
the binaries are all version 4.2.3. Later we append .p0, .p1 etc as updates are
made.
2) If 'g95' can't be removed, so there must remain a mixture of g95 4.0.3 and
gfortran 4.2.3, we call the fortran package fortran-1.0. Then we append .p0, .p1
etc in future.
3) I use the date, as has been recently done, in contravention of the convention
in the developers guide. (In which case the developers guide should be updated
to reflect the 'fortran' package uses a totally different convention).
4) Use a pseudo-random number generator to pick a version for the package!
5) Some other convention.
To me, (1) or (2) seems most logical.
Thoughts?
Dave
--
To post to this group, send an email to [email protected]
To unsubscribe from this group, send an email to
[email protected]
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org