# -*- 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 117556 2014-03-03 17:06:11Z larryv@macports.org $

PortSystem          1.0
PortGroup           github 1.0

name                xraylib
version             3.0.0
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, Ruby, PHP and .NET.

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

checksums           rmd160  6c8c82c0afe3664adcd044a4371229a76bad5bf9 \
                    sha256  0cc506e15f2f3563384dcb97cb4f9399b13d90f074b54c8d25cd59b7804d8636

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

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


variant perl5_10 description {Perl 5.10 bindings} conflicts perl5_12 perl5_14 perl5_16 perl5_18 { 
    configure.args-append --enable-perl --enable-perl-integration PERL=${prefix}/bin/perl5.10
    configure.args-delete --disable-perl
    depends_build-append port:swig-perl
    depends_lib-append port:perl5.10
}

variant perl5_12 description {Perl 5.12 bindings} conflicts perl5_10 perl5_14 perl5_16 perl5_18 { 
    configure.args-append --enable-perl --enable-perl-integration PERL=${prefix}/bin/perl5.12
    configure.args-delete --disable-perl
    depends_build-append port:swig-perl
    depends_lib-append port:perl5.12
}

variant perl5_14 description {Perl 5.14 bindings} conflicts perl5_10 perl5_12 perl5_16 perl5_18 { 
    configure.args-append --enable-perl --enable-perl-integration PERL=${prefix}/bin/perl5.14
    configure.args-delete --disable-perl
    depends_build-append port:swig-perl
    depends_lib-append port:perl5.14
}

variant perl5_16 description {Perl 5.16 bindings} conflicts perl5_10 perl5_12 perl5_14 perl5_18 { 
    configure.args-append --enable-perl --enable-perl-integration PERL=${prefix}/bin/perl5.16
    configure.args-delete --disable-perl
    depends_build-append port:swig-perl
    depends_lib-append port:perl5.16
}

variant perl5_18 description {Perl 5.18 bindings} conflicts perl5_10 perl5_12 perl5_14 perl5_16 { 
    configure.args-append --enable-perl --enable-perl-integration PERL=${prefix}/bin/perl5.18
    configure.args-delete --disable-perl
    depends_build-append port:swig-perl
    depends_lib-append port:perl5.18
}

variant python26 description {Python 2.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 {Python 2.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 {Python 3.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 {Python 3.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 {Python 3.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 ruby18 description {Ruby 1.8.7 bindings} conflicts ruby19 ruby20 ruby21 {
    configure.args-append --enable-ruby --enable-ruby-integration RUBY=${prefix}/bin/ruby1.8
    configure.args-delete --disable-ruby
    depends_build-append port:swig-ruby
    depends_lib-append port:ruby
}

variant ruby19 description {Ruby 1.9 bindings} conflicts ruby18 ruby20 ruby21 {
    configure.args-append --enable-ruby --enable-ruby-integration RUBY=${prefix}/bin/ruby1.9
    configure.args-delete --disable-ruby
    depends_build-append port:swig-ruby
    depends_lib-append port:ruby19
}

variant ruby20 description {Ruby 2.0 bindings} conflicts ruby18 ruby19 ruby21 {
    configure.args-append --enable-ruby --enable-ruby-integration RUBY=${prefix}/bin/ruby2.0
    configure.args-delete --disable-ruby
    depends_build-append port:swig-ruby
    depends_lib-append port:ruby20
}

variant ruby21 description {Ruby 2.1 bindings} conflicts ruby18 ruby19 ruby20 {
    configure.args-append --enable-ruby --enable-ruby-integration RUBY=${prefix}/bin/ruby2.1
    configure.args-delete --disable-ruby
    depends_build-append port:swig-ruby
    depends_lib-append port:ruby21
}

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

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

variant gcc44 description {Build with gfortran from GCC 4.4} conflicts gcc45 gcc46 gcc47 gcc48 {
    configure.args-replace --disable-fortran2003 --enable-fortran2003
    depends_lib-append path:lib/libgcc/libgcc_s.1.dylib:libgcc
    depends_build-append port:gcc44
    configure.fc ${prefix}/bin/gfortran-mp-4.4
}

variant gcc45 description {Build with gfortran from GCC 4.5} conflicts gcc44 gcc46 gcc47 gcc48 {
    configure.args-replace --disable-fortran2003 --enable-fortran2003
    depends_lib-append path:lib/libgcc/libgcc_s.1.dylib:libgcc
    depends_build-append port:gcc45
    configure.fc ${prefix}/bin/gfortran-mp-4.5
}

variant gcc46 description {Build with gfortran from GCC 4.6} conflicts gcc44 gcc45 gcc47 gcc48 {
    configure.args-replace --disable-fortran2003 --enable-fortran2003
    depends_lib-append path:lib/libgcc/libgcc_s.1.dylib:libgcc
    depends_build-append port:gcc46
    configure.fc ${prefix}/bin/gfortran-mp-4.6
}

variant gcc47 description {Build with gfortran from GCC 4.7} conflicts gcc44 gcc45 gcc46 gcc48 {
    configure.args-replace --disable-fortran2003 --enable-fortran2003
    depends_lib-append path:lib/libgcc/libgcc_s.1.dylib:libgcc
    depends_build-append port:gcc47
    configure.fc ${prefix}/bin/gfortran-mp-4.7
}

variant gcc48 description {Build with gfortran from GCC 4.8} conflicts gcc44 gcc45 gcc46 gcc47 {
    configure.args-replace --disable-fortran2003 --enable-fortran2003
    depends_lib-append path:lib/libgcc/libgcc_s.1.dylib:libgcc
    depends_build-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
}

