Opened 9 years ago

Closed 9 years ago

Last modified 9 years ago

#31434 closed update (fixed)

Update py27-pyfits to 3.0.2

Reported by: marshall.perrin@… Owned by: smaret (Sebastien Maret)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: robitaille@…, cdeil (Christoph Deil)
Port: py27-pyfits

Description

The attached portfile updated pyfits to the latest version, 3.0.2. Despite this being a bump of the major version number, I found that it installed flawlessly with only trivial updates to the Portfile.

The other py*-pyfits portfile variants should be updated. In addition, pyfits 3 now compiles under Python 3, so new variants py31-pyfits etc could now be created.

Attachments (2)

Portfile (1.3 KB) - added by marshall.perrin@… 9 years ago.
Portfile for pyfits 3.0.2
Portfile.2 (1.5 KB) - added by cdeil (Christoph Deil) 9 years ago.

Download all attachments as: .zip

Change History (11)

Changed 9 years ago by marshall.perrin@…

Attachment: Portfile added

Portfile for pyfits 3.0.2

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

Cc: robitaille@… added
Owner: changed from macports-tickets@… to sebastien.maret@…
Version: 2.0.3

Please attach a unified diff instead of a complete Portfile so we can see your changes.

The best way to keep all the py*-fits ports updated is to unify them into a single portfile.

comment:2 Changed 9 years ago by marshall.perrin@…

Oho! I had not seen that unified portfiles for py* ports is now possible. Superb, I've been wanting that for a long while. I will update my portfile accordingly and upload a diff of that.

comment:3 Changed 9 years ago by cdeil (Christoph Deil)

Cc: Deil.Christoph@… added

Cc Me!

comment:4 Changed 9 years ago by cdeil (Christoph Deil)

I have created a single Portfile that works for python 2.5, 2.6, 2.7, 3.1 and 3.2 and updated to the current stable version 3.0.4. I have removed all the pyXX-pyfits directories and put the new Portfile in a directory py-pyfits. Then after running portindex I could install and import pyfits with all python versions (except 2.4 which is not supported by pyfits).

For me clang was used and there are a few -Wunused-function warnings that are irrelevant but could be reported to the pyfits dev.

Also there are a bunch of warnings which I think are normal for python modules, but I'm not sure: {{{./bin missing (created) ./etc missing (created) ./include missing (created) ./lib missing (created) ./lib/pkgconfig missing (created) ./libexec missing (created) ./sbin missing (created) ./share missing (created) ./share/info missing (created) ./share/man missing (created) ./share/man/cat1 missing (created) ./share/man/cat2 missing (created) ./share/man/cat3 missing (created) }}}

Finally I get the following warnings on pyfits import from ipython (in python there is no warning):

In [1]: import pyfits
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pyfits/__init__.py:6: UserWarning: Module readline was already imported from /Users/deil/Library/Python/2.7/lib/python/site-packages/IPython/utils/rlineimpl.pyc, but /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/readline is being added to sys.path
  import pkg_resources
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pyfits/__init__.py:6: UserWarning: Module argparse was already imported from /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/argparse.pyc, but /Users/deil/Library/Python/2.7/lib/python/site-packages is being added to sys.path
  import pkg_resources

Note that I had the same two warnings when I had installed pyfits from SVN HEAD outside Macports, so this might be a problem of my setup only.

I don't know if pyfits has unit tests or how to run them, that would of course be the best check.

So overall: I think the attached Portfile is fine and you can submit it. :-)

Changed 9 years ago by cdeil (Christoph Deil)

Attachment: Portfile.2 added

comment:5 Changed 9 years ago by mf2k (Frank Schima)

The depends_lib-append needs to be in a

if {$subport != $name} {

block. Also, given that sebastien.maret has not responded to this thread, I'm not sure we should set him as the maintainer.

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

Also, we need to add a license field.

comment:7 Changed 9 years ago by mf2k (Frank Schima)

Also, I see the following error that I am not able to remove.

Error: Unknown dependency: py24-pyfits

comment:8 Changed 9 years ago by mf2k (Frank Schima)

Resolution: fixed
Status: newclosed

Added with slight improvements in r88331. Thanks! If you can tell me the license, I will add it to the portfile. I've set the maintainer to nomaintainer.

comment:9 Changed 9 years ago by robitaille@…

The license looks like a 3-clause BSD license: http://www.stsci.edu/resources/software_hardware/pyraf/LICENSE

Note: See TracTickets for help on using tickets.