From ce86f1187c62cf51c8ed787d70e1268c69586bc0 Mon Sep 17 00:00:00 2001 From: Diane Bruce Date: Thu, 31 Dec 2020 01:35:40 +0000 Subject: [PATCH] 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 --- comms/Makefile | 1 + comms/limesuite/Makefile | 93 ++++++ comms/limesuite/distinfo | 3 + comms/limesuite/files/patch-CMakeLists.txt | 14 + .../files/patch-Desktop_CMakeLists.txt | 19 ++ ...-src_ConnectionRemote_ConnectionRemote.cpp | 13 + ...nSTREAM__UNITE_ConnectionSTREAM__UNITE.cpp | 10 + ...AM__UNITE_ConnectionSTREAM__UNITEEntry.cpp | 11 + ...PGAcontrols__wxgui_FPGAcontrols__wxgui.cpp | 11 + comms/limesuite/pkg-descr | 7 + comms/limesuite/pkg-plist | 270 ++++++++++++++++++ 11 files changed, 452 insertions(+) create mode 100644 comms/limesuite/Makefile create mode 100644 comms/limesuite/distinfo create mode 100644 comms/limesuite/files/patch-CMakeLists.txt create mode 100644 comms/limesuite/files/patch-Desktop_CMakeLists.txt create mode 100644 comms/limesuite/files/patch-src_ConnectionRemote_ConnectionRemote.cpp create mode 100644 comms/limesuite/files/patch-src_ConnectionSTREAM__UNITE_ConnectionSTREAM__UNITE.cpp create mode 100644 comms/limesuite/files/patch-src_ConnectionSTREAM__UNITE_ConnectionSTREAM__UNITEEntry.cpp create mode 100644 comms/limesuite/files/patch-src_FPGAcontrols__wxgui_FPGAcontrols__wxgui.cpp create mode 100644 comms/limesuite/pkg-descr create mode 100644 comms/limesuite/pkg-plist diff --git a/comms/Makefile b/comms/Makefile index 7421771dfa7e..80c14f12c979 100644 --- a/comms/Makefile +++ b/comms/Makefile @@ -85,6 +85,7 @@ SUBDIR += libticables2 SUBDIR += libticalcs2 SUBDIR += libusbmuxd + SUBDIR += limesuite SUBDIR += linrad SUBDIR += liquid-dsp SUBDIR += lirc diff --git a/comms/limesuite/Makefile b/comms/limesuite/Makefile new file mode 100644 index 000000000000..82217077347c --- /dev/null +++ b/comms/limesuite/Makefile @@ -0,0 +1,93 @@ +# $FreeBSD$ + +PORTNAME= limesuite +DISTVERSIONPREFIX= v +DISTVERSION= 20.10.0 +CATEGORIES= comms astro hamradio + +MAINTAINER= tomek@cedro.info +COMMENT= Software Defined Radio Software Suite from Lime Microsystems + +LICENSE= APACHE20 + +BUILD_DEPENDS= gnuplot:math/gnuplot +RUN_DEPENDS= sqlite3:databases/sqlite3 + +USES= cmake +USE_LDCONFIG= yes + +USE_GITHUB= yes +GH_ACCOUNT= myriadrf +GH_PROJECT= LimeSuite + +# DESKTOP IS LINUX ONLY. +# SPI IS LINUX ONLY. +# STREAM UNITE BROKEN UPSTREAM +CMAKE_OFF= ENABLE_DESKTOP \ + ENABLE_SPI \ + ENABLE_STREAM \ + ENABLE_STREAM_UNITE + +CMAKE_ON= ENABLE_LIBRARY \ + ENABLE_LIME_UTIL \ + ENABLE_EXAMPLES \ + ENABLE_LIMERFE \ + ENABLE_EVB7COM + +OPTIONS_DEFINE= DOCS GUI QUICKTEST OCTAVE REMOTE SOAPYSDR +OPTIONS_DEFAULT= GUI QUICKTEST SOAPYSDR +OPTIONS_UNSET= DOCS +OPTIONS_SUB= yes +QUICKTEST_DESC= Build QuickTest Self-Test suite +OCTAVE_DESC= Enable Octave integration +REMOTE_DESC= Enable remote testing operations +SOAPYSDR_DESC= Build LMS7 SoapySDR bindings + +PLIST_SUB= PORTVERSION=${PORTVERSION} + +DOCS_CMAKE_BOOL= ENABLE_API_DOXYGEN +DOCS_BUILD_DEPENDS= doxygen:devel/doxygen + +GUI_CMAKE_BOOL= ENABLE_GUI + +QUICKTEST_CMAKE_BOOL= ENABLE_QUICKTEST +QUICKTEST_LIB_DEPENDS= libfltk.so:x11-toolkits/fltk + +OCTAVE_CMAKE_BOOL= ENABLE_OCTAVE +OCTAVE_BUILD_DEPENDS= octave:math/octave +PLIST_SUB+= OCTAVE_VERSION=${OCTAVE_VERSION} + +REMOTE_CMAKE_BOOL= ENABLE_REMOTE + +SOAPYSDR_CMAKE_BOOL= ENABLE_SOAPY_LMS7 +SOAPYSDR_LIB_DEPENDS= libSoapySDR.so:misc/soapysdr + +.include + +.if ${PORT_OPTIONS:MGUI} +USES+= gl xorg +USE_XORG= x11 ice sm xcursor xext xfixes xinerama xft xrender +USE_GL= gl glu +USE_WX= 3.1 +WX_COMPS= wx:lib +LIB_DEPENDS+= libfontconfig.so:x11-fonts/fontconfig +.endif + +post-build: +# N.B. COPYTREE_BIN here chmods 555 which breaks CMAKE_INSTALL in user mode! + (cd ${BUILD_WRKSRC}/bin && ${COPYTREE_BIN} . ${STAGEDIR}${PREFIX}/bin) + ${CHMOD} u+w ${STAGEDIR}${PREFIX}/bin/* + ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/* +.if ${PORT_OPTIONS:MDOCS} + ${MKDIR} ${STAGEDIR}${DOCSDIR} + (cd ${WRKSRC}/docs && ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR}) +.endif +.if ${PORT_OPTIONS:MGUI} + ${MKDIR} ${STAGEDIR}${PREFIX}/share/pixmaps + ${MKDIR} ${STAGEDIR}${PREFIX}/share/applications + (cd ${WRKSRC}/Desktop && ${CP} *.png ${STAGEDIR}${PREFIX}/share/pixmaps/) + (cd ${WRKSRC}/Desktop && ${CP} lime-suite.desktop ${STAGEDIR}${PREFIX}/share/applications/) +.endif + +.include "../../math/octave/Makefile.version" +.include diff --git a/comms/limesuite/distinfo b/comms/limesuite/distinfo new file mode 100644 index 000000000000..37c999e9813c --- /dev/null +++ b/comms/limesuite/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1608434916 +SHA256 (myriadrf-LimeSuite-v20.10.0_GH0.tar.gz) = f6d79dc67cb52a5aea839d1dc00e65f85367cb2c275d77f149833d32cf79b467 +SIZE (myriadrf-LimeSuite-v20.10.0_GH0.tar.gz) = 5421065 diff --git a/comms/limesuite/files/patch-CMakeLists.txt b/comms/limesuite/files/patch-CMakeLists.txt new file mode 100644 index 000000000000..25f259a7848a --- /dev/null +++ b/comms/limesuite/files/patch-CMakeLists.txt @@ -0,0 +1,14 @@ +--- CMakeLists.txt.orig 2020-10-29 09:52:56 UTC ++++ CMakeLists.txt +@@ -171,6 +171,11 @@ if (ENABLE_NEW_GAIN_BEHAVIOUR) + add_definitions(-DNEW_GAIN_BEHAVIOUR) + endif() + ++if (CMAKE_SYSTEM_NAME MATCHES "BSD") ++ include_directories("/usr/local/include") ++ add_definitions(-D__unix__=1) #we use this for unix detection, but clang does not define it ++endif() ++ + ######################################################################## + # rpath setup - http://www.cmake.org/Wiki/CMake_RPATH_handling + ######################################################################## diff --git a/comms/limesuite/files/patch-Desktop_CMakeLists.txt b/comms/limesuite/files/patch-Desktop_CMakeLists.txt new file mode 100644 index 000000000000..c1a8629431ce --- /dev/null +++ b/comms/limesuite/files/patch-Desktop_CMakeLists.txt @@ -0,0 +1,19 @@ +--- Desktop/CMakeLists.txt.orig 2020-10-29 09:52:56 UTC ++++ Desktop/CMakeLists.txt +@@ -1,13 +1,13 @@ + ######################################################################## + ## Feature registration + ######################################################################## +-if(CMAKE_SYSTEM_NAME STREQUAL "Linux") +- set(LINUX TRUE) ++if(CMAKE_SYSTEM_NAME STREQUAL "Linux" OR "FreeBSD") ++ set(UNIX TRUE) + endif() + + include(FeatureSummary) + include(CMakeDependentOption) +-cmake_dependent_option(ENABLE_DESKTOP "Enable LimeSuite launcher and icons" ON "ENABLE_GUI;LINUX" OFF) ++cmake_dependent_option(ENABLE_DESKTOP "Enable LimeSuite launcher and icons" ON "ENABLE_GUI;UNIX" OFF) + add_feature_info(LimeSuiteDesktop ENABLE_DESKTOP "LimeSuite freedesktop integration") + if (NOT ENABLE_DESKTOP) + return() diff --git a/comms/limesuite/files/patch-src_ConnectionRemote_ConnectionRemote.cpp b/comms/limesuite/files/patch-src_ConnectionRemote_ConnectionRemote.cpp new file mode 100644 index 000000000000..57f9999a5f63 --- /dev/null +++ b/comms/limesuite/files/patch-src_ConnectionRemote_ConnectionRemote.cpp @@ -0,0 +1,13 @@ +--- src/ConnectionRemote/ConnectionRemote.cpp.orig 2020-10-29 09:52:56 UTC ++++ src/ConnectionRemote/ConnectionRemote.cpp +@@ -31,6 +31,10 @@ + #include + #endif // LINUX + ++#if defined(__FreeBSD__) ++#include ++#endif ++ + using namespace std; + using namespace lime; + diff --git a/comms/limesuite/files/patch-src_ConnectionSTREAM__UNITE_ConnectionSTREAM__UNITE.cpp b/comms/limesuite/files/patch-src_ConnectionSTREAM__UNITE_ConnectionSTREAM__UNITE.cpp new file mode 100644 index 000000000000..b2825828fd6e --- /dev/null +++ b/comms/limesuite/files/patch-src_ConnectionSTREAM__UNITE_ConnectionSTREAM__UNITE.cpp @@ -0,0 +1,10 @@ +--- src/ConnectionSTREAM_UNITE/ConnectionSTREAM_UNITE.cpp.orig 2020-10-29 09:52:56 UTC ++++ src/ConnectionSTREAM_UNITE/ConnectionSTREAM_UNITE.cpp +@@ -5,7 +5,6 @@ + */ + + #include "ConnectionSTREAM_UNITE.h" +-#include "ErrorReporting.h" + using namespace std; + namespace lime + { diff --git a/comms/limesuite/files/patch-src_ConnectionSTREAM__UNITE_ConnectionSTREAM__UNITEEntry.cpp b/comms/limesuite/files/patch-src_ConnectionSTREAM__UNITE_ConnectionSTREAM__UNITEEntry.cpp new file mode 100644 index 000000000000..14a06cc7d569 --- /dev/null +++ b/comms/limesuite/files/patch-src_ConnectionSTREAM__UNITE_ConnectionSTREAM__UNITEEntry.cpp @@ -0,0 +1,11 @@ +--- src/ConnectionSTREAM_UNITE/ConnectionSTREAM_UNITEEntry.cpp.orig 2020-10-29 09:52:56 UTC ++++ src/ConnectionSTREAM_UNITE/ConnectionSTREAM_UNITEEntry.cpp +@@ -16,7 +16,7 @@ static ConnectionSTREAM_UNITEEntry STREAM_UNITEEntry; + } + + ConnectionSTREAM_UNITEEntry::ConnectionSTREAM_UNITEEntry(void): +- ConnectionFX3Entry("STREAM+UNITE") ++ ConnectionFX3Entry() + { + + } diff --git a/comms/limesuite/files/patch-src_FPGAcontrols__wxgui_FPGAcontrols__wxgui.cpp b/comms/limesuite/files/patch-src_FPGAcontrols__wxgui_FPGAcontrols__wxgui.cpp new file mode 100644 index 000000000000..075f2e069b37 --- /dev/null +++ b/comms/limesuite/files/patch-src_FPGAcontrols__wxgui_FPGAcontrols__wxgui.cpp @@ -0,0 +1,11 @@ +--- src/FPGAcontrols_wxgui/FPGAcontrols_wxgui.cpp.orig 2020-10-29 09:52:56 UTC ++++ src/FPGAcontrols_wxgui/FPGAcontrols_wxgui.cpp +@@ -166,7 +166,7 @@ int ReadWFM(const wxString filename, std::vector