# -*- 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

PortSystem          1.0

name                SDRplay
maintainers         {michaelld @michaelld} openmaintainer

description         ${name} provides support for SDRplay hardware
long_description    ${description}. SDR for Software Defined Radio and 'Play' because it's designed to allow anyone interested in receiving practically any kind of radio or TV signals to be able to do so without having to decide up-front exactly what it is they will want to do next. For computer wizards we are democratising Radio in that you can literally Play at creating completely new radio-based products.

categories          science comms
homepage            http://sdrplay.com/
license             restrictive/distributable
platforms           darwin macosx

supported_archs     x86_64

global I_N_T
set I_N_T "/usr/bin/install_name_tool"

platform darwin 10 {
    # on Mac OS X 10.6, have to use MacPorts' install_name_tool; the
    # one provided is too old.
    depends_build-append port:cctools
    global I_N_T
    set I_N_T "${prefix}/bin/install_name_tool"
}

version             2.13.1
checksums \
    rmd160 7d7e65725eacfeaf9a94bc1c6c8b2161988c54cd \
    sha256 6869b1c4e80e112e83b08b56edfcb678a0c3637d363ee1f4c3367b61d5e36919 \
    size   478954

global sdrplay_lib
set sdrplay_lib "libmirsdrapi-rsp.dylib"
global sdrplay_header
set sdrplay_header "mirsdrapi-rsp.h"
global sdrplay_dir
set sdrplay_dir "${worksrcpath}/sdrplay"
global sdrplay_distfile
set sdrplay_distfile "SDRplay_RSP_API-MacOSX-${version}.pkg"

distfiles ${sdrplay_distfile}

master_sites http://www.sdrplay.com/software/

# libusb is provided internal to sdrplay_lib as of 2.13.1 2018-06-20
# depends_lib-append path:lib/libusb-1.0.dylib:libusb

extract {

    # extract the PKGs we need here
    global sdrplay_distfile sdrplay_dir
    system "mkdir ${worksrcpath}"
    system -W ${worksrcpath} "pkgutil --expand ${distpath}/${sdrplay_distfile} pkg"
    system "mkdir ${sdrplay_dir}"
    system -W ${sdrplay_dir} "mv ../pkg/libmirsdrapi*.pkg/Payload tmp0.tar.gz && /usr/bin/gzip -dc tmp0.tar.gz | /usr/bin/tar -xf -"
    system -W ${sdrplay_dir} "mv ../pkg/mirsdrapirsp.pkg/Payload tmp1.tar.gz && /usr/bin/gzip -dc tmp1.tar.gz | /usr/bin/tar -xf -"

}

use_configure no

build {

    # fix SDRPlay library to work with MacPorts
    global sdrplay_lib sdrplay_dir I_N_T
    system -W ${sdrplay_dir} "mv libmirsdrapi-rsp* ${sdrplay_lib}"
    system -W ${sdrplay_dir} "${I_N_T} -id ${prefix}/lib/${sdrplay_lib} ${sdrplay_lib}"
#    system -W ${sdrplay_dir} "${I_N_T} -change /usr/local/lib/libusb-1.0.0.dylib ${prefix}/lib/libusb-1.0.0.dylib ${sdrplay_lib}"

    # prepend license to header
    global sdrplay_header
    move ${sdrplay_dir}/${sdrplay_header} ${sdrplay_dir}/tmp.h
    copy ${filespath}/license.txt ${sdrplay_dir}/${sdrplay_header}
    system -W ${sdrplay_dir} "cat ${sdrplay_dir}/tmp.h >> ${sdrplay_dir}/${sdrplay_header}"

}

destroot {

    # install sdrplay
    global sdrplay_lib sdrplay_header sdrplay_dir
    copy ${sdrplay_dir}/${sdrplay_lib} ${destroot}${prefix}/lib
    copy ${sdrplay_dir}/${sdrplay_header} ${destroot}${prefix}/include

}

livecheck.url       http://www.sdrplay.com/downloads/
livecheck.version   20th Jun 2018
livecheck.regex     "\\((.*)\\)<a href=\"/macdl.php\">"
