# $Id: Portfile 52412 2009-06-16 03:58:15Z ram@macports.org $

PortSystem        1.0

name              cfitsio
version           3.181
categories        science
platforms         darwin
maintainers       ram openmaintainer

description       C access to FITS data files with optional Fortran wrappers
long_description \
  CFITSIO is a library of C and Fortran subroutines for reading and writing \
  data files in FITS (Flexible Image Transport System) data format. CFITSIO \
  simplifies the task of writing software that deals with FITS files by \
  providing an easy to use set of high-level routines that insulate the \
  programmer from the internal complexities of the FITS file format. At the \
  same time, CFITSIO provides many advanced features that have made it the \
  most widely used FITS file programming interface in the astronomical \
  community.

homepage          http://heasarc.gsfc.nasa.gov/fitsio/
master_sites      http://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/
distname          ${name}[strsed ${version} {g/\.//}]
worksrcdir        ${name}
#dist_subdir       ${name}/${version}

checksums         md5 d76dae2c6c0d0406bdd1eeb1ac303f10 \
                  sha1 255c5c88dcec8503d4ca92a38d98f395e9def597 \
                  rmd160 5940c6d0e365eaf9046a10e30640bbc4627dd54e

patchfiles        patch-cfitsio.pc.in.diff \
                  patch-configure.diff \
                  patch-Makefile.in.diff

# turn off FORTRAN compiler wrappers by removing FORTRAN from the path
configure.fc      ${prefix}/bin/no-possible-compiler
configure.cflags  -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64

build.target      all shared

post-patch {
  reinplace "s|@@MPORTS_PREFIX@@|${prefix}|" ${worksrcpath}/configure
  reinplace "s|@@VERSION@@|${version}|" ${worksrcpath}/cfitsio.pc.in
}

post-destroot {
  system "ranlib ${destroot}${prefix}/lib/libcfitsio.a"
  set docdir ${destroot}${prefix}/share/doc/${name}-${version}
  xinstall -m 755 -d ${docdir}
  eval xinstall -m 644 ${worksrcpath}/README [glob ${worksrcpath}/*.txt] \
    [glob ${worksrcpath}/*.ps] [glob ${worksrcpath}/*.doc] \
    [glob ${worksrcpath}/*.toc] [glob ${worksrcpath}/*.tex] ${docdir}
}

variant gcc42 description {create Fortran wrappers using gcc42} conflicts gcc43 gcc44 g95 g77 {
  depends_lib-append  port:gcc42
  configure.fc        ${prefix}/bin/gfortran-mp-4.2
}

variant gcc43 description {create Fortran wrappers using gcc43} conflicts gcc42 gcc44 g95 g77 {
  depends_lib-append  port:gcc43
  configure.fc        ${prefix}/bin/gfortran-mp-4.3
}

variant gcc44 description {create Fortran wrappers using gcc43} conflicts gcc42 gcc43 g95 g77 {
  depends_lib-append  port:gcc44
  configure.fc        ${prefix}/bin/gfortran-mp-4.4
}

variant g95 description {create Fortran wrappers using f95} conflicts gcc42 gcc43 gcc44 g77 {
  depends_lib-append  port:g95
  configure.fc        ${prefix}/bin/g95
}

variant g77 description {create Fortran wrappers using g77} conflicts gcc42 gcc43 gcc44 g95 {
  depends_lib-append  port:gcc34
  configure.fc        ${prefix}/bin/g77-dp-3.4
}

livecheck.check   regex
livecheck.url     ${master_sites}
livecheck.regex   {cfitsio(\d+).tar.gz}
livecheck.version [strsed ${version} {g/\.//}]
