# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
# $Id: Portfile 105146 2013-04-12 00:23:20Z ryandesign@macports.org $

PortSystem          1.0

name                cfitsio
version             3.340
categories          science
license             zlib MIT {LGPL Noncommercial}
platforms           darwin
maintainers         gmail.com:Deil.Christoph 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}

checksums           rmd160  6969940d71e4beef68daa004b5e829cd37c8a131 \
                    sha256  a228c1867a97ec3a3b2fec133f84b529475240300f7a72f1cf2e22d00eda7bb3

patchfiles          patch-Makefile.in.diff \
                    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

use_parallel_build  no

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}
    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 gcc43 description {create Fortran wrappers using gcc43} conflicts gcc44 gcc45 gcc46 gcc47 g95 {
    depends_lib-append  port:gcc43
    configure.fc        ${prefix}/bin/gfortran-mp-4.3
}

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

variant gcc45 description {create Fortran wrappers using gcc45} conflicts gcc43 gcc44 gcc46 gcc47 g95 {
    depends_lib-append  port:gcc45
    configure.fc        ${prefix}/bin/gfortran-mp-4.5
}

variant gcc46 description {create Fortran wrappers using gcc46} conflicts gcc43 gcc44 gcc45 gcc47 g95 {
    depends_lib-append  port:gcc46
    configure.fc        ${prefix}/bin/gfortran-mp-4.6
}

variant gcc47 description {create Fortran wrappers using gcc47} conflicts gcc43 gcc44 gcc45 gcc46 g95 {
    depends_lib-append  port:gcc47
    configure.fc        ${prefix}/bin/gfortran-mp-4.7
}

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

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