aboutsummaryrefslogtreecommitdiff
path: root/comms/sdr-wspr
diff options
context:
space:
mode:
authorDiane Bruce <db@FreeBSD.org>2016-03-19 19:53:02 +0000
committerDiane Bruce <db@FreeBSD.org>2016-03-19 19:53:02 +0000
commitee082fbd54b6d0c55d4828fcf7578aa5ed4c179f (patch)
tree4d767412c848d29c5fce7b2fe4a5a7e6e8e168fc /comms/sdr-wspr
parent8f5cad93a582db02991ff23fff9ad2f257dce0c3 (diff)
downloadports-ee082fbd54b6d0c55d4828fcf7578aa5ed4c179f.tar.gz
ports-ee082fbd54b6d0c55d4828fcf7578aa5ed4c179f.zip
A WSPR receiver/decoder using libsdr. This implementation embeds the original
WSPR Fortran code into a libsdr processing node, allowing to assemble a WSPR receiver for various sources easily. WWW: https://github.com/hmatuschek/sdr-wspr PR: 207381 Submitted by: Jeffrey Baitis <jeff@baitis.net>
Notes
Notes: svn path=/head/; revision=411422
Diffstat (limited to 'comms/sdr-wspr')
-rw-r--r--comms/sdr-wspr/Makefile25
-rw-r--r--comms/sdr-wspr/distinfo2
-rw-r--r--comms/sdr-wspr/files/patch-CMakeLists.txt49
-rw-r--r--comms/sdr-wspr/files/patch-libwspr_wspr.hh10
-rw-r--r--comms/sdr-wspr/files/patch-src_CMakeLists.txt11
-rw-r--r--comms/sdr-wspr/pkg-descr5
6 files changed, 102 insertions, 0 deletions
diff --git a/comms/sdr-wspr/Makefile b/comms/sdr-wspr/Makefile
new file mode 100644
index 000000000000..12132775bf1d
--- /dev/null
+++ b/comms/sdr-wspr/Makefile
@@ -0,0 +1,25 @@
+# Created by: Jeffrey Baitis <jeff@baitis.net>
+# $FreeBSD$
+
+PORTNAME= sdr-wspr
+PORTVERSION= 0.1.0
+CATEGORIES= comms hamradio
+
+MAINTAINER= jeff@baitis.net
+COMMENT= WSPR receiver/decoder using libsdr
+
+LICENSE= GPLv3
+
+LIB_DEPENDS= libsdr-gui.so:${PORTSDIR}/comms/libsdr-gui
+
+USE_GITHUB= yes
+GH_ACCOUNT= hmatuschek
+GH_PROJECT= sdr-wspr
+GH_TAGNAME= 2dc1452
+USE_QT5= core buildtools_build qmake widgets
+USES= cmake:outsource compiler:gcc-c++11-lib fortran pkgconfig
+
+PLIST_FILES= bin/sdr-wspr share/applications/sdr-wspr.desktop \
+ share/icons/sdr-wspr.svg
+
+.include <bsd.port.mk>
diff --git a/comms/sdr-wspr/distinfo b/comms/sdr-wspr/distinfo
new file mode 100644
index 000000000000..4d812107ff8f
--- /dev/null
+++ b/comms/sdr-wspr/distinfo
@@ -0,0 +1,2 @@
+SHA256 (hmatuschek-sdr-wspr-0.1.0-2dc1452_GH0.tar.gz) = 4ca465bdddc253a36bd3261f80e75f03986ce245f8bdec48b224e8d4b3d8d80d
+SIZE (hmatuschek-sdr-wspr-0.1.0-2dc1452_GH0.tar.gz) = 2473140
diff --git a/comms/sdr-wspr/files/patch-CMakeLists.txt b/comms/sdr-wspr/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..95be4c37ef62
--- /dev/null
+++ b/comms/sdr-wspr/files/patch-CMakeLists.txt
@@ -0,0 +1,49 @@
+--- CMakeLists.txt.orig 2015-04-21 14:32:18 UTC
++++ CMakeLists.txt
+@@ -2,6 +2,11 @@ cmake_minimum_required(VERSION 2.8.8)
+ project(sdr-wspr)
+ # required for original wspr code
+ enable_language(Fortran)
++# temporary ugly hack
++string(REGEX MATCH "-rpath=.*" CMAKE_RPATH_ARG ${CMAKE_Fortran_FLAGS} )
++string(SUBSTRING ${CMAKE_RPATH_ARG} 7 -1 CMAKE_RPATH)
++set(CMAKE_INSTALL_RPATH ${CMAKE_RPATH} )
++message(STATUS CMAKE_INSTALL_RPATH ${CMAKE_INSTALL_RPATH})
+
+ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${PROJECT_SOURCE_DIR}/cmake)
+ include(InstallHeadersWithDirectory)
+@@ -63,34 +68,6 @@ ELSE(NOT LIBSDR_GUI_FOUND)
+ ENDIF(NOT LIBSDR_GUI_FOUND)
+
+ # Set compiler flags
+-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Qt5Widgets_EXECUTABLE_COMPILE_FLAGS} -Wall -fPIC")
+-set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -O0 -ggdb")
+-set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -O0 -ggdb")
+-set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O3 -ggdb")
+-
+-
+-# FFLAGS depend on the compiler
+-get_filename_component(Fortran_COMPILER_NAME ${CMAKE_Fortran_COMPILER} NAME)
+-
+-if(Fortran_COMPILER_NAME MATCHES "gfortran.*")
+- # gfortran
+- set(CMAKE_Fortran_FLAGS_RELEASE "-funroll-all-loops -fno-f2c -O3")
+- set(CMAKE_Fortran_FLAGS_DEBUG "-fno-f2c -O0 -g")
+-elseif(Fortran_COMPILER_NAME MATCHES "ifort.*")
+- # ifort (untested)
+- set(CMAKE_Fortran_FLAGS_RELEASE "-f77rtl -O3")
+- set(CMAKE_Fortran_FLAGS_DEBUG "-f77rtl -O0 -g")
+-elseif(Fortran_COMPILER_NAME MATCHES "g77")
+- # g77
+- set(CMAKE_Fortran_FLAGS_RELEASE "-funroll-all-loops -fno-f2c -O3 -m32")
+- set(CMAKE_Fortran_FLAGS_DEBUG "-fno-f2c -O0 -g -m32")
+-else(Fortran_COMPILER_NAME MATCHES "gfortran.*")
+- message("CMAKE_Fortran_COMPILER full path: " ${CMAKE_Fortran_COMPILER})
+- message("Fortran compiler: " ${Fortran_COMPILER_NAME})
+- message("No optimized Fortran compiler flags are known, we just try -O2...")
+- set(CMAKE_Fortran_FLAGS_RELEASE "-O2")
+- set(CMAKE_Fortran_FLAGS_DEBUG "-O0 -g")
+-endif(Fortran_COMPILER_NAME MATCHES "gfortran.*")
+
+ #
+ # Get default install directories under Linux
diff --git a/comms/sdr-wspr/files/patch-libwspr_wspr.hh b/comms/sdr-wspr/files/patch-libwspr_wspr.hh
new file mode 100644
index 000000000000..1566f9fce72f
--- /dev/null
+++ b/comms/sdr-wspr/files/patch-libwspr_wspr.hh
@@ -0,0 +1,10 @@
+--- libwspr/wspr.hh.orig 2015-04-21 14:32:18 UTC
++++ libwspr/wspr.hh
+@@ -1,6 +1,7 @@
+ #ifndef WSPR_HH
+ #define WSPR_HH
+
++#include <sys/types.h>
+ #include <complex>
+ #include <cstdlib>
+
diff --git a/comms/sdr-wspr/files/patch-src_CMakeLists.txt b/comms/sdr-wspr/files/patch-src_CMakeLists.txt
new file mode 100644
index 000000000000..cffc37321ec0
--- /dev/null
+++ b/comms/sdr-wspr/files/patch-src_CMakeLists.txt
@@ -0,0 +1,11 @@
+--- src/CMakeLists.txt.orig 2015-04-21 14:32:18 UTC
++++ src/CMakeLists.txt
+@@ -10,7 +10,7 @@ qt5_add_resources(sdr_wspr_RCC_SOURCES .
+ add_executable(sdr-wspr ${sdr_wspr_SOURCES} ${sdr_wspr_MOC_SOURCES} ${sdr_wspr_RCC_SOURCES})
+ target_link_libraries(sdr-wspr
+ ${Qt5Core_LIBRARIES} ${Qt5Widgets_LIBRARIES} ${Qt5WebKitWidgets_LIBRARIES}
+- ${LIBS} sdrwspr)
++ ${LIBS} ${LDFLAGS} sdrwspr)
+
+ #add_executable(sdr_wspr_cli wspr2.cc sdr_wspr_cli.cc)
+ #target_link_libraries(sdr_wspr_cli ${LIBS} ${Qt5Core_LIBRARIES} sdrwspr)
diff --git a/comms/sdr-wspr/pkg-descr b/comms/sdr-wspr/pkg-descr
new file mode 100644
index 000000000000..ba4c525d2e46
--- /dev/null
+++ b/comms/sdr-wspr/pkg-descr
@@ -0,0 +1,5 @@
+A WSPR receiver/decoder using libsdr. This implementation embeds the original
+WSPR Fortran code into a libsdr processing node, allowing to assemble a WSPR
+receiver for various sources easily.
+
+WWW: https://github.com/hmatuschek/sdr-wspr