# -*- 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 106665 2013-06-04 00:50:50Z ryandesign@macports.org $

PortSystem          1.0
PortGroup           github 1.0

github.setup        tschoonj xraylib 2.16.0 xraylib-
revision            2
categories          science
platforms           darwin
license             BSD
maintainers         me.com:Tom.Schoonjans

description         A library for X-ray matter interaction cross sections

long_description    ${name} provides an API with over 50 functions designed \
                    to provide convenient access to databases with cross \
                    sections (photoelectric, Compton, Rayleigh, XRF etc.), \
                    line energies, edge energies, fluorescence yields, \
                    scattering factors, refractive indices, Compton profiles \
                    etc. Bindings exist for Perl, Python, Java, Fortran, IDL, \
                    Lua and .NET.

master_sites        http://lvserver.ugent.be/xraylib/ \
                    http://xraylib.s3.amazonaws.com/

checksums           rmd160  3b9a0db5fe2ae285cd364478c9e8c3d76e855069 \
                    sha256 91ccbd25338c00027d58ee13239375926a0e106d9b883d1c927e846e035e276c 

patchfiles          configure.ac.diff \
                    python_xrlsetup.py.in.diff \
                    xraylib.i.diff

patch.pre_args      -p1

configure.args      --disable-idl \
                    --disable-fortran2003 \
                    --disable-perl \
                    --disable-python \
                    --disable-java \
                    --disable-lua

# to be fixed in later versions of xraylib...
use_parallel_build  no
configure.ccache    no

use_autoreconf      yes

variant perl description {Perl bindings} {
    configure.args-append --enable-perl
    configure.args-delete --disable-perl
    depends_build-append port:swig-perl
}

variant python26 description {Python2.6 bindings} conflicts python27 python31 python32 python33 {
    configure.args-append --enable-python --enable-python-integration PYTHON=${prefix}/bin/python2.6
    configure.args-delete --disable-python
    depends_build-append port:swig-python
    depends_lib-append port:python26
}

variant python27 description {Python2.7 bindings} conflicts python26 python31 python32 python33 {
    configure.args-append --enable-python --enable-python-integration PYTHON=${prefix}/bin/python2.7
    configure.args-delete --disable-python
    depends_build-append port:swig-python
    depends_lib-append port:python27
}

variant python31 description {Python3.1 bindings} conflicts python27 python26 python32 python33 {
    configure.args-append --enable-python --enable-python-integration PYTHON=${prefix}/bin/python3.1
    configure.args-delete --disable-python
    depends_build-append port:swig-python
    depends_lib-append port:python31
}

variant python32 description {Python3.2 bindings} conflicts python27 python31 python26 python33 {
    configure.args-append --enable-python --enable-python-integration PYTHON=${prefix}/bin/python3.2
    configure.args-delete --disable-python
    depends_build-append port:swig-python
    depends_lib-append port:python32
}

variant python33 description {Python3.3 bindings} conflicts python27 python31 python26 python32 {
    configure.args-append --enable-python --enable-python-integration PYTHON=${prefix}/bin/python3.3
    configure.args-delete --disable-python
    depends_build-append port:swig-python
    depends_lib-append port:python33
}

variant java description {Java bindings} {
    configure.args-append --enable-java
    configure.args-delete --disable-java
    depends_build-append port:swig-java
}

variant lua description {Lua bindings} {
    configure.args-append --enable-lua
    configure.args-delete --disable-lua
    depends_build-append port:swig-lua
    depends_lib-append port:lua
}

variant gcc44 description {build with gfortran from gcc44} conflicts gcc45 gcc46 gcc47 gcc48 {
    configure.args-append --enable-fortran2003
    configure.args-delete --disable-fortran2003
    depends_lib-append port:gcc44
    configure.fc ${prefix}/bin/gfortran-mp-4.4
}

variant gcc45 description {build with gfortran from gcc45} conflicts gcc44 gcc46 gcc47 gcc48 {
    configure.args-append --enable-fortran2003
    configure.args-delete --disable-fortran2003
    depends_lib-append port:gcc45
    configure.fc ${prefix}/bin/gfortran-mp-4.5
}

variant gcc46 description {build with gfortran from gcc46} conflicts gcc44 gcc45 gcc47 gcc48 {
    configure.args-append --enable-fortran2003
    configure.args-delete --disable-fortran2003
    depends_lib-append port:gcc46
    configure.fc ${prefix}/bin/gfortran-mp-4.6
}

variant gcc47 description {build with gfortran from gcc47} conflicts gcc44 gcc45 gcc46 gcc48 {
    configure.args-append --enable-fortran2003
    configure.args-delete --disable-fortran2003
    depends_lib-append port:gcc47
    configure.fc ${prefix}/bin/gfortran-mp-4.7
}

variant gcc48 description {build with gfortran from gcc48} conflicts gcc44 gcc45 gcc46 gcc47 {
    configure.args-append --enable-fortran2003
    configure.args-delete --disable-fortran2003
    depends_lib-append port:gcc48
    configure.fc ${prefix}/bin/gfortran-mp-4.8
}

if {![variant_isset python26] && ![variant_isset python27] && ![variant_isset python31] && ![variant_isset python32] && ![variant_isset python33]} {
    default_variants    +python27
}

