Bug 252032

Summary: [new port] comms/limesuite: Software Defined Radio Software Suite from Lime Microsystems
Product: Ports & Packages Reporter: Tomasz "CeDeROM" CEDRO <tomek>
Component: Individual Port(s)Assignee: Diane Bruce <db>
Status: Closed FIXED    
Severity: Affects Some People CC: db, diizzy, pi
Priority: ---    
Version: Latest   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
comms/limesuite new port shar
none
comms/limesuite new port shar
none
diff-with-small-fixes
none
latest limesuite as tarball
none
start up assertions
none
new port as patch none

Description Tomasz "CeDeROM" CEDRO 2020-12-22 00:52:03 UTC
Created attachment 220794 [details]
comms/limesuite new port shar

Lime Suite is a collection of software supporting several hardware platforms
including the LimeSDR, drivers for the LMS7002M transceiver RFIC, and other
tools for developing with LMS7-based hardware. Installing the Lime Suite
enables many SDR applications such as GQRX to work with supported hardware
through the bundled SoapySDR support module.

WWW: https://github.com/myriadrf/LimeSuite

Following port options are available: DOCS GUI QUICKTEST OCTAVE REMOTE

Port options enabled by default:
1. GUI - uses WX3.1.
2. QUICKTEST - uses FLTK.

Port options that can be enabled by hand:
1. DOCS - depends on Doxygen.
2. OCTAVE - depends on Octave.
3. REMOTE - enables library to act as network daemon.
Comment 1 Tomasz "CeDeROM" CEDRO 2020-12-22 01:25:22 UTC
Created attachment 220795 [details]
comms/limesuite new port shar

In the meantime I have added SoapySDR module generation. It depends on SoapySDR and it is enabled by default for this mode of operations.
Comment 2 Daniel Engberg freebsd_committer 2020-12-22 17:20:04 UTC
If possible please submit a diff/patch file, it's much easier to review

CMAKE_ARGS --> CMAKE_ON / CMAKE_OFF (and remove +)
PLIST_SUB+ --> (remove +)

QUICKTEST --> TEST (for consistency with ports if it's for unit testing)

Are any of the patches cherry picked from upstream and if not please submit upstream.
Comment 3 Kurt Jaeger freebsd_committer 2020-12-26 19:42:55 UTC
Created attachment 220958 [details]
diff-with-small-fixes

This testbuilds fine. It still has CMAKE_ARGS stuff
Comment 4 Diane Bruce freebsd_committer 2020-12-28 00:09:58 UTC
Created attachment 221032 [details]
latest limesuite as tarball

N.B. CMake gets upset if you try to build port in usermode and not as root 
for some reason CMake tries to set a rlib on the stagedir binary
COPYBIN leaves the binaries as read only.
Comment 5 Diane Bruce freebsd_committer 2020-12-28 00:15:09 UTC
Additionally some startup weirdness that maybe could be looked at. (See additional
attachment) other than that I think it looks good to go. Additional runtime
testing I can do perhaps tomorrow with my LimeSDR.
Looking forward to this port!
Comment 6 Diane Bruce freebsd_committer 2020-12-28 00:16:47 UTC
Created attachment 221034 [details]
start up assertions

A number of weird startup assertions. Not sure if these can be fixed?
Comment 7 Tomasz "CeDeROM" CEDRO 2020-12-28 23:21:07 UTC
Hello world :-) I am back after short christmas break sorry :-) Merry Christmas :-)

Testing requested changes:
1. CMAKE_ARGS -> CMAKE_ON/OFF.
2. PLIST_SUB + removed only in the first occurrence?
3. QUICKTEST is the additional dedicated self-test suite compiled as separate binary that introduces additional dependency on FLTK this is why I have dedicated it a separate option. It is not really generic unit testing related :-)
4. shar -> diff.

All work dedicated to porting LimeSDR and LimeSuite to FreeBSD is documented here: https://github.com/myriadrf/LimeSuite/wiki/LimeSDR-on-FreeBSD

Most of the patches attached to port are already sent to upstream as dedicated github issues.

The goal is to make LimeSuite build and running on FreeBSD first, then fix software issues + patch upstream + update port, also fix firmware issues and patch upstream, in small measurable steps and results :-)
Comment 8 Tomasz "CeDeROM" CEDRO 2020-12-28 23:39:57 UTC
Created attachment 221061 [details]
new port as patch
Comment 9 Tomasz "CeDeROM" CEDRO 2020-12-28 23:41:10 UTC
I have reported the wx assertions issue at github upstream :-)

https://github.com/myriadrf/LimeSuite/issues/338
Comment 10 Tomasz "CeDeROM" CEDRO 2020-12-30 11:43:28 UTC
Hey @db are my changes okay? Can we commit the port please? More users means more testing and faster problems solution and port updates + fixes :-)
Comment 11 commit-hook freebsd_committer 2020-12-31 01:35:45 UTC
A commit references this bug:

Author: db
Date: Thu Dec 31 01:35:42 UTC 2020
New revision: 559702
URL: https://svnweb.freebsd.org/changeset/ports/559702

Log:
  Lime Suite is a collection of software supporting several hardware platforms
  including the LimeSDR, drivers for the LMS7002M transceiver RFIC, and other
  tools for developing with LMS7-based hardware. Installing the Lime Suite
  enables many SDR applications such as GQRX to work with supported hardware
  through the bundled SoapySDR support module.

  PR:		ports/252032
  Submitted by:	tomek@cedro.info

Changes:
  head/comms/Makefile
  head/comms/limesuite/
  head/comms/limesuite/Makefile
  head/comms/limesuite/distinfo
  head/comms/limesuite/files/
  head/comms/limesuite/files/patch-CMakeLists.txt
  head/comms/limesuite/files/patch-Desktop_CMakeLists.txt
  head/comms/limesuite/files/patch-src_ConnectionRemote_ConnectionRemote.cpp
  head/comms/limesuite/files/patch-src_ConnectionSTREAM__UNITE_ConnectionSTREAM__UNITE.cpp
  head/comms/limesuite/files/patch-src_ConnectionSTREAM__UNITE_ConnectionSTREAM__UNITEEntry.cpp
  head/comms/limesuite/files/patch-src_FPGAcontrols__wxgui_FPGAcontrols__wxgui.cpp
  head/comms/limesuite/pkg-descr
  head/comms/limesuite/pkg-plist
Comment 12 Tomasz "CeDeROM" CEDRO 2020-12-31 01:39:52 UTC
Thank You Diane :-)

All The Best in 2021 :-)

73 SQ7MHZ