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>
This commit is contained in:
Diane Bruce 2016-03-19 19:53:02 +00:00
parent 8f5cad93a5
commit ee082fbd54
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=411422
7 changed files with 103 additions and 0 deletions

View file

@ -156,6 +156,7 @@
SUBDIR += rubygem-ruby-termios
SUBDIR += rxtx
SUBDIR += scmxx
SUBDIR += sdr-wspr
SUBDIR += ser2net
SUBDIR += serialoverip
SUBDIR += seyon

25
comms/sdr-wspr/Makefile Normal file
View file

@ -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>

2
comms/sdr-wspr/distinfo Normal file
View file

@ -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

View file

@ -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

View file

@ -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>

View file

@ -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)

5
comms/sdr-wspr/pkg-descr Normal file
View file

@ -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