# -*- coding: utf-8; mode: tcl; tab-width: 4; truncate-lines: t; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:et:sw=4:ts=4:sts=4
# $Id: Portfile 67655 2010-05-15 15:03:02Z ryandesign@macports.org $

PortSystem       1.0
PortGroup        xcodeversion 1.0

# Miriad releases are very infrequent, so our ports will be based on
# distributions made from CVS snapshots.  We add a sub-version number
# based on the snapshot date to distinguish things.

name             miriad
conflicts        pgplot
set relver       4.1.3
set tardate      20100512
version          ${relver}.${tardate}
platforms        darwin
categories       science
maintainers      newton.cx:peter
description      MIRIAD, an analysis package for radio astronomical data
long_description MIRIAD, the Multichannel Imaging, Reconstruction, Analysis, \
                 and Display package, is a suite of tools for analyzing radio \
                 astronomical observations, from raw data to imaging.
homepage         http://astro.berkeley.edu/~pkwill/miriad-macport/

# The license to MIRIAD is somewhat indeterminate, since it has had
# many contributors working at many academic institutions with various
# copyright assignment and licensing policies. It's pretty important
# to straighten this out at some point.

license          unknown

# Files

master_sites http://astro.berkeley.edu/~pkwill/miriad-macport/
checksums    sha1 0d92e6e5dfdb8c65ab04e1f898b9c38c3f6c9290

# We need Fortran support, which the Apple version of GCC doesn't offer.
# So we force the use of a specified MacPorts-built GCC.

set compilerport  gcc43
set compilerident macports-gcc-4.3

universal_variant    no

depends_build-append port:${compilerport}
depends_lib-append   port:libpng \
                     port:readline \
                     port:xorg-libice \
                     port:xorg-libsm \
                     port:xorg-libX11 \
                     port:xorg-libXau \
                     port:xorg-libXaw \
                     port:xorg-libXdmcp \
                     port:zlib

# The XCode 3.0 linker has a bug that prevents successful execution of
# Miriad tasks.

minimum_xcodeversions {9 3.1}

# We've hacked in the tarball date into the version number, so
# we tell the build system what directory the files in the
# tarball actually live in.

worksrcdir      ${name}-${relver}

# I'm writing the Portfile and I use the ATA, so the default telescope
# is the ATA too. Privileges of maintainership.

set defaultscope ata
set thescope ${defaultscope}

# Configure settings. Keep the binaries out of ${prefix}/bin to avoid
# possible conflicts. The automiriad scripts will deal with this correctly
# anyway.

configure.args  --prefix=${prefix} \
                --bindir=${prefix}/libexec/miriad \
                --with-telescope=${defaultscope}
configure.compiler ${compilerident}

# The telescope configuration is important, so make sure the user is
# told which setup is being used.

pre-configure {
    ui_msg "Configuring MIRIAD with telescope parameter of \"${thescope}\"."
    ui_msg "Consult the port variants to use a different setting. The default"
    ui_msg "is \"${defaultscope}\". If there's no variant for your desired"
    ui_msg "telescope, contact the port maintainer and one will be quickly added."
}

# Little helpful message. We could consider adding a patch to install
# a little program named "use_miriad" or something that would do the
# .profile munging automatically, but I don't want to worry about having
# to get that right.

notes "MIRIAD programs are not in your \$PATH by default." \
      "You need to run 'source ${prefix}/lib/miriad/automiriad.sh' to set up" \
      "your shell environment to use MIRIAD. (Source ${prefix}/lib/miriad/automiriad.csh" \
      "if you use csh or tcsh.) *** The 'source' keyword is important here! ***" \
      "You can put this command in your .profile or other shell initialization " \
      "files to have your shells automatically set up to use MIRIAD."

# Variants. We can easily add more telescope variants as requested.

variant carma description {Use buffer sizes appropriate to CARMA data} {
    set thescope carma
    configure.args-delete --with-telescope=${defaultscope}
    configure.args-append --with-telescope=${thescope}
}

variant debug description {Build with debugging support -- tasks will be very slow} {
    configure.optflags -g -O0
    configure.args-append --enable-warnings
}

variant docs description {Build documentation PDFs -- depends on many ports} {
    depends_build-append port:texlive port:latex2html port:transfig port:gnuplot
    configure.args-append --enable-docs
}
