# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:filetype=tcl:et:sw=4:ts=4:sts=4
# $Id: Portfile 81985 2011-08-06 18:53:34Z jmr@macports.org $

PortSystem 1.0
PortGroup muniversal 1.0
PortGroup archcheck 1.0

name			usrp
version         3.3.0
revision        1
maintainers		michaelld
description		USRP user-space driver / interface via USB.
long_description USRP user-space driver / interface via USB.

categories		science
homepage        http://gnuradio.org/

# all GNU Radio components come in a single tarball.
# Reuse this tarball for each Port

dist_subdir		gnuradio
master_sites.mirror_subdir gnuradio
distname		gnuradio-${version}
master_sites	gnu

platforms		darwin macosx

checksums       md5     cef9ef65d626e1273c6381966ae9d4bc \
                sha1    41d5c177b173ce73404f5fe539b013c82600f73f \
                rmd160  ae83bd8a93deaf73d730e2af0d05c9ffc4c98520

# USRP does not work with SDCC3
depends_build	port:gnuradio-gruel \
                port:sdcc29 \
                port:pkgconfig

# do not archcheck sdcc, just use it
depends_skip_archcheck sdcc29

configure.args	--disable-all-components \
				--with-gruel \
				--enable-usrp
configure.env-append PATH=${prefix}/libexec/sdcc29/bin:$env(PATH)
build.env-append PATH=${prefix}/libexec/sdcc29/bin:$env(PATH)

use_parallel_build	yes

variant docs description "build documentation for ${name}" {
	configure.args-append --enable-doxygen --enable-docs
	depends_lib-append port:doxygen
}

if { ![variant_isset docs] } {
	configure.args-append --disable-doxygen --disable-docs
}

variant python25 conflicts python26 python27 \
description "Use Python 2.5" {
    configure.env-append PYTHON=${prefix}/bin/python2.5
    depends_lib-append port:python25
}

variant python26 conflicts python25 python27 \
description "Use Python 2.6" {
    configure.env-append PYTHON=${prefix}/bin/python2.6
    depends_lib-append port:python26
}

variant python27 conflicts python25 python26 \
description "Use Python 2.7" {
    configure.env-append PYTHON=${prefix}/bin/python2.7
    depends_lib-append port:python27
}

if { ![variant_isset python25] && \
     ![variant_isset python26] && \
     ![variant_isset python27] } {
    default_variants +python26
}

# make sure -python26 is not alone
if { ![variant_isset python25] && \
     ![variant_isset python26] && \
     ![variant_isset python27] } {
    return -code error \
        "\n\nThe variant -python26 will not work alone.
Please select one of +python25, +python26, or +python27 as a variant."
}

variant libusb_legacy \
description "Use LIBUSB legacy version for USB transport" {
    depends_lib-append     port:libusb-legacy
    archcheck.files-append lib/libusb-legacy/libusb-legacy.dylib
    # fix LIBUSB search to include 'usb_debug' symbol, so-as
    # to avoid using the 'compat' library.
    patchfiles      patch-configure-libusb.diff
}

variant libusb_1 \
description "Use LIBUSB version 1.0 for USB transport" {
    depends_lib-append     port:libusb
    archcheck.files-append lib/libusb-1.0.dylib
    configure.args-append  --with-fusb-tech=libusb1
}

if { ![variant_isset libusb_legacy] && \
     ![variant_isset libusb_1] } {
    default_variants +libusb_legacy
}

# make sure -libusb_legacy is not alone
if { ![variant_isset libusb_legacy] && \
     ![variant_isset libusb_1] } {
    return -code error \
"\n\nThe variant -libusb_legacy will not work alone.
Please select one of +libusb_legacy or +libusb_1 as a variant.\n"
}
