# $Id: Portfile 63248 2010-01-30 16:58:02Z ram@macports.org $

PortSystem        1.0

name              cfitsio
version           3.240
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 ba34e71562ed381a238678daffb116fb \
                  sha1 3395081f68c2ba5691c040d3472214e546479009 \
                  rmd160 1ed243b6dc1689e632f01825bb971ab428123eca

patchfiles        patch-configure.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
configure.universal_args-delete --disable-dependency-tracking

build.target      all shared

post-patch {
  reinplace "s|@@MPORTS_PREFIX@@|${prefix}|" ${worksrcpath}/configure
}

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}/*.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.type    regex
livecheck.url     ${master_sites}
livecheck.regex   {cfitsio(\d+).tar.gz}
livecheck.version [strsed ${version} {g/\.//}]
