# -*- 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 PortGroup makefile 1.0 PortGroup app 1.0 name linrad categories science comms platforms darwin macosx license MIT maintainers {ra1nb0w @ra1nb0w} openmaintainer description Linrad is a free multi-OS SDR receiver (A Software Defined Radio receiver). long_description ${description} homepage https://www.sm5bsz.com/linuxdsp/linrad.htm fetch.type svn worksrcdir trunk svn.url https://svn.code.sf.net/p/linrad/code/trunk/ svn.revision 997 version 20211204-${svn.revision} revision 0 supported_archs x86_64 i386 arm64 universal_variant no # set the arch to use during build if {${build_arch} eq "i386"} { set linrad_arch 32 build.target xlinrad } else { set linrad_arch 64 build.target xlinrad64 } patchfiles-append \ fix_data_directory.patch \ fix_help_directory.patch \ fix_errors_directory.patch \ fix_ac_path_prog.patch \ fix_makefile.in.patch \ fix_march.patch \ linrad.patch depends_build-append \ port:pkgconfig \ port:nasm depends_lib-append \ port:xorg-libX11 \ port:xorg-libXext \ port:portaudio \ port:libusb-compat \ path:lib/pkgconfig/libusb-1.0.pc:libusb use_autoreconf yes use_configure yes configure.args-append \ --with-portaudio-${linrad_arch} \ --with-x11-${linrad_arch} \ --with-xext-${linrad_arch} \ --with-libusb0-${linrad_arch} \ --with-libusb1-${linrad_arch} pre-configure { reinplace "s|@LINRAD_BINARY@|${prefix}/bin/xlinrad${linrad_arch}|" ${worksrcpath}/bin/linrad reinplace "s|@HELP_DIR@|${prefix}/share/${name}|g" ${worksrcpath}/help.c reinplace "s|@HELP_DIR@|${prefix}/share/${name}|g" ${worksrcpath}/menu.c } destroot { xinstall -m 0755 -d ${destroot}${prefix}/bin xinstall -m 0755 -W ${worksrcpath} bin/linrad xlinrad${linrad_arch} ${destroot}${prefix}/bin xinstall -m 0755 -d ${destroot}${prefix}/share/doc/${name} xinstall -m 0644 {*}[glob -directory ${worksrcpath} z*.txt] \ ${destroot}${prefix}/share/doc/${name} xinstall -m 0755 -d ${destroot}${prefix}/share/${name} xinstall -m 0644 -W ${worksrcpath} help.lir ${destroot}${prefix}/share/${name} xinstall -m 0644 -W ${worksrcpath} errors.lir ${destroot}${prefix}/share/${name} } variant airspy description "Install ${name} with support for airspy" { depends_lib-append port:airspy configure.args-append --with-airspy-${linrad_arch} } variant airspyhf description "Install ${name} with support for airspy hf+" { depends_lib-append port:airspyhf configure.args-append --with-airspyhf-${linrad_arch} } variant bladerf description "Install ${name} with support for bladerf" { depends_lib-append port:bladeRF configure.args-append --with-bladerf-${linrad_arch} } variant perseus description "Install ${name} with support for perseus" { depends_lib-append port:perseus-sdr configure.args-append --with-perseus-${linrad_arch} } variant rtlsdr description "Install ${name} with support for rtl-sdr" { depends_lib-append port:rtl-sdr configure.args-append --with-rtlsdr-${linrad_arch} } # only available on 64 bit if {${build_arch} eq "x86_64"} { variant sdrplay description "Install ${name} with support for SDRplay" { depends_lib-append port:SDRplay configure.args-append --with-sdrplay2-${linrad_arch} } default_variants +sdrplay } default_variants +airspy +airspyhf +rtlsdr app.create yes app.name Linrad app.executable linrad app.icon ${filespath}/icon.png app.retina yes notes { The configuration is stored at ~/.linrad The data files are stored at ~/.linrad/data To use X11 you need to install the xorg-server port. For optimum performance use MIT-SHM as X11 extension. Note: if you have an empty configuration, you must run \ linrad from the console the first time. }