1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-10-18 19:49:40 +00:00

Update to 3.8 git version to move from Qt4 to Qt5

## unreleased

### Fixed
#### Project Scope
- `boost::posix_time::[milli]second` takes integer numbers, and we now at least cast the floats to integers, as Boost 1.67 forced us to realize we're (incorrectly) using floating point her
- CMake: using regex to match compiler against "Clang" now enables correct build on OS X
#### GRC
- Fixed GRC bug which broke WX and Qt (by altering the template code), in multiple (less than awesome) steps
#### gr-analog
- `fmdet_cf`'s derivative coefficients were wrong.
#### gr-blocks
- `float_array_to_int`: int32 limits were wrongly hardcoded.
- Fixed the undefined behaviour happening in `float_to_complex` when accessing the second input_items element in the single-input case

### Added
#### gr-analog
- QA for complex cosine
#### gr-utils
- `gr_modtool` now with autocompletion candidates for `rm`

### Changed
#### Project Scope
- Removed cppunit from all unit tests, replaced by Boost
- Removed the cppunit dependency
This commit is contained in:
Diane Bruce 2019-03-15 23:57:02 +00:00
parent 8e6b3aa763
commit 2f161225a6
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=495839
14 changed files with 1965 additions and 2438 deletions

View File

@ -1,26 +1,25 @@
# $FreeBSD$
PORTNAME= gnuradio
PORTVERSION= 3.7.13.4
PORTREVISION= 4
#MASTER_SITES= http://gnuradio.org/releases/gnuradio/
# Temporary git version
DISTVERSION= 3.8.g20190309
CATEGORIES= comms astro hamradio
MASTER_SITES= http://gnuradio.org/releases/gnuradio/ \
LOCAL/db
MAINTAINER= hamradio@FreeBSD.org
COMMENT= Amateur Radio Software defined radio
LICENSE= GPLv3
DEPRECATED= Qt4 has been EOL since december 2015
EXPIRATION_DATE= 2019-03-15
BROKEN_aarch64= fails to compile: /usr/lib/clang/5.0.0/include/mmintrin.h:47:5: use of undeclared identifier '__builtin_ia32_emms'; did you mean '__builtin_isless'?
BROKEN_armv6= fails to compile: /usr/lib/clang/5.0.0/include/mmintrin.h:47:5: use of undeclared identifier '__builtin_ia32_emms'; did you mean '__builtin_isless'?
BROKEN_armv7= fails to compile: /usr/lib/clang/5.0.0/include/mmintrin.h:47:5: use of undeclared identifier '__builtin_ia32_emms'; did you mean '__builtin_isless'?
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}lxml>0:devel/py-lxml@${PY_FLAVOR} \
BUILD_DEPENDS= ${PYTHON_SITELIBDIR}/lxml:devel/py-lxml@${PY_FLAVOR} \
${PYNUMPY} \
${PYTHON_SITELIBDIR}/yaml/__init__.py:devel/py-yaml@${PY_FLAVOR} \
${PYTHON_SITELIBDIR}/gi/__init__.py:devel/py-gobject3@${PY_FLAVOR} \
${PYTHON_SITELIBDIR}/cairo/__init__.py:graphics/py-cairo@${PY_FLAVOR} \
${PYTHON_SITELIBDIR}/ephem/__init__.py:astro/pyephem@${PY_FLAVOR} \
${PYTHON_SITELIBDIR}/mako/__init__.py:textproc/py-mako@${PY_FLAVOR} \
${PYTHON_SITELIBDIR}/six.py:devel/py-six@${PY_FLAVOR} \
@ -31,11 +30,11 @@ BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}lxml>0:devel/py-lxml@${PY_FLAVOR} \
sdl-config:devel/sdl12 \
swig3.0:devel/swig30 \
xdg-open:devel/xdg-utils
LIB_DEPENDS= libcppunit.so:devel/cppunit \
libcodec2.so:audio/codec2 \
LIB_DEPENDS= libcodec2.so:audio/codec2 \
libfftw3.so:math/fftw3 \
libfftw3f.so:math/fftw3-float \
libqwt.so:x11-toolkits/qwt5 \
libgmpxx.so:math/gmp \
libqwt6.so:x11-toolkits/qwt6 \
${PY_BOOST} \
liblog4cpp.so:devel/log4cpp \
libportaudio.so:audio/portaudio \
@ -47,11 +46,17 @@ LIB_DEPENDS= libcppunit.so:devel/cppunit \
liborc-0.4.so:devel/orc
RUN_DEPENDS:= ${BUILD_DEPENDS}
USE_GITHUB= yes
GH_ACCOUNT= gnuradio
GH_PROJECT= gnuradio volk:volk
GH_TAGNAME= a664001 d250816:volk
# USES=compiler:c11 is necessary because base GCC fails:
# volk/lib/volk_cpu.c: In function 'i_can_has_3dnow':
# volk/lib/volk_cpu.c:62: error: can't find a register in class 'BREG' while reloading 'asm'
# volk/lib/volk_cpu.c:62: error: 'asm' operand has impossible constraints
USES= cmake compiler:c11 fortran iconv perl5 pkgconfig pyqt:4 python:2.7 qt:4 shebangfix
USES= cmake compiler:c11 desktop-file-utils fortran gnome iconv \
perl5 pkgconfig pyqt:5 python qt:5 shared-mime-info shebangfix
SHEBANG_FILES= grc/scripts/freedesktop/grc_setup_freedesktop.in \
gnuradio-runtime/python/gnuradio/ctrlport/gr-ctrlport-monitor \
gnuradio-runtime/python/gnuradio/ctrlport/gr-perf-monitorx
@ -65,19 +70,19 @@ CMAKE_ARGS+= -DCMAKE_INSTALL_RPATH:STRING="${LOCALBASE}/lib/gcc${_GCC_VER}" \
-DXMLTO_EXECUTABLE:STRING=minixmlto
# for detailed debugging uncomment the next line
#CMAKE_ARGS+= --debug-output --trace
MAJOR_SUB_VER= ${PORTVERSION}
MAJOR_SUB_VER= 3.8
#MAJOR_SUB_VER= ${PORTVERSION}
DOCSDIR= share/doc/${PORTNAME}-${PORTVERSION}
USE_GNOME= pygtk2
USE_PYQT= core gui opengl
USE_WX= 3.0+
USE_QT= corelib gui xml qmake moc_build rcc_build uic_build
USE_WX= 3.0
USE_QT= buildtools core gui xml qmake widgets
WX_COMPS= wx wx:build wx:run python:build python:run
USE_LDCONFIG= yes
PLIST_SUB+= MAJOR_VERSION="3"
PLIST_SUB+= MAJOR_SUB_VER="${MAJOR_SUB_VER}"
LIBSTRIP_FILES= analog atsc audio blocks channels digital dtv fcd fec fft\
filter noaa pager pmt qtgui runtime trellis video-sdl\
vocoder wavelet wxgui
PLIST_SUB+= MAJOR_SUB_VER="${MAJOR_SUB_VER}"git
LIBSTRIP_FILES= analog audio blocks channels digital dtv fec fft\
filter pmt qtgui runtime trellis video-sdl\
vocoder wavelet
OPTIONS_DEFINE= DOCS UHD TESTING DOXYGEN
# Unfortunately building docs on i386 fails
@ -107,7 +112,6 @@ UHD_CMAKE_OFF= -DENABLE_GR_UHD:STRING="OFF"
TESTING_CMAKE_ON= -DENABLE_TESTING:STRING="ON"
TESTING_CMAKE_OFF= -DENABLE_TESTING:STRING="OFF"
TESTING_BUILD_DEPENDS= cppunit-config:devel/cppunit
.include <bsd.port.pre.mk>
@ -122,6 +126,10 @@ PLIST_SUB+= UHD="@comment "
PATCH_FILES= docs/doxygen/Doxyfile.in \
gr-fec/lib/CMakeLists.txt
post-extract:
@${RMDIR} ${WRKSRC}/volk
@${MV} ${WRKSRC_volk} ${WRKSRC}/volk
post-patch:
@${FIND} ${WRKSRC}/.. -name CMakeLists.txt | \
${XARGS} ${REINPLACE_CMD} -e \
@ -134,7 +142,7 @@ post-patch:
post-install:
.for a in ${LIBSTRIP_FILES}
${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libgnuradio-${a}.so.${MAJOR_SUB_VER}
${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libgnuradio-${a}.so.${MAJOR_SUB_VER}git
.endfor
.include <bsd.port.post.mk>

View File

@ -1,3 +1,5 @@
TIMESTAMP = 1534033130
SHA256 (gnuradio-3.7.13.4.tar.gz) = c536c268b1e9c24f1206bbc881a5819ac46e662f4e8beaded6f3f441d3502f0d
SIZE (gnuradio-3.7.13.4.tar.gz) = 4546663
TIMESTAMP = 1552668814
SHA256 (gnuradio-gnuradio-3.8.g20190309-a664001_GH0.tar.gz) = 47b22e4f28b3c44f2ea3da4deee24ead6238ec8de7873d16cbba126fa7bfaa5b
SIZE (gnuradio-gnuradio-3.8.g20190309-a664001_GH0.tar.gz) = 3406038
SHA256 (gnuradio-volk-d250816_GH0.tar.gz) = 334da8910cfadc2e1487ef2a651f8eaa472262a4bfd3fa7c38d913c8fc32cbd8
SIZE (gnuradio-volk-d250816_GH0.tar.gz) = 252477

View File

@ -1,20 +1,18 @@
--- CMakeLists.txt.orig 2018-06-13 21:42:48 UTC
--- CMakeLists.txt.orig 2019-03-09 13:28:14 UTC
+++ CMakeLists.txt
@@ -144,6 +144,10 @@ ELSEIF(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
ELSE()
message(warning "C++ standard could not be set because compiler is not GNU, Clang or MSVC.")
ENDIF()
+#
+# This is a workaround for a missing -lgsl -L in the swig build somewhere
+# it needs to be properly fixed. - db
+link_directories("/usr/lib" "${LOCALBASE}/lib")
@@ -31,6 +31,7 @@ cmake_minimum_required(VERSION 3.8)
project(gnuradio CXX C)
enable_testing()
option(BUILD_SHARED_LIBS "Build shared libraries" ON)
+cmake_policy(SET CMP0002 OLD)
IF(CMAKE_C_COMPILER_ID STREQUAL "GNU")
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=gnu99")
@@ -264,6 +268,14 @@ string(REPLACE "\n" " \\n" COMPILER_INFO ${COMPILER_IN
########################################################################
include(GrPlatform) #define LIB_SUFFIX
set(GR_RUNTIME_DIR bin CACHE PATH "Path to install all binaries")
# Make sure our local CMake Modules path comes first
list(INSERT CMAKE_MODULE_PATH 0 ${CMAKE_SOURCE_DIR}/cmake/Modules)
@@ -64,6 +65,15 @@ set(GCC_MIN_VERSION "4.8.4")
set(CLANG_MIN_VERSION "3.4.0")
set(APPLECLANG_MIN_VERSION "500")
set(MSVC_MIN_VERSION "1800")
+
+########################################################################
+# FreeBSD libdata vs. lib
+#
@ -23,63 +21,6 @@
+else()
+set(GR_PKGCONFIG_DIR lib${LIB_SUFFIX})
+endif()
set(GR_LIBRARY_DIR lib${LIB_SUFFIX} CACHE PATH "Path to install libraries")
set(GR_INCLUDE_DIR include CACHE PATH "Path to install header files")
set(GR_DATA_DIR share CACHE PATH "Base location for data")
@@ -349,6 +361,42 @@ add_custom_target(uninstall
include(GrBoost)
########################################################################
+# FreeBSD iconv
+########################################################################
+if(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
+ message( "-- Adding iconv for FreeBSD")
+message ("-- ICONV_LIB = ${ICONV_LIB}")
+
+ set (ICONV_INCLUDE_DIR ${ICONV_PREFIX}/include)
+ if (${ICONV_LIB} STREQUAL "X-liconv")
+ find_library(ICONV_LIBRARY
+ NAMES iconv
+ PATHS ${ICONV_PREFIX}/lib
+ )
+ else()
+ find_library(ICONV_LIBRARY
+ NAMES c
+ PATHS ${ICONV_PREFIX}/lib
+ )
+ endif()
+
+message ("-- LIBICONV_PLUG = ${LIBICONV_PLUG}")
+message ("-- ICONV_PREFIX = ${ICONV_PREFIX}")
+message ("-- ICONV_INCLUDE_DIRS = ${ICONV_INCLUDE_DIRS}")
+message ("-- ICONV_INCLUDE_DIR = ${ICONV_INCLUDE_DIR}")
+message ("-- ICONV_LIB_DIRS = ${ICONV_LIB_DIRS}")
+message ("-- ICONV_LIBRARY = ${ICONV_LIBRARY}")
+else()
+ find_path(ICONV_INCLUDE_DIR
+ NAMES iconv.h
+ PATHS ${ICONV_INCLUDE_DIRS}
+ )
+ find_library(ICONV_LIBRARY
+ NAMES iconv
+ PATHS ${ICONV_LIB_DIRS}
+ )
+endif()
+########################################################################
# Enable python component
########################################################################
find_package(PythonLibs ${GR_PYTHON_MIN_VERSION})
@@ -500,11 +548,13 @@ GR_LOGGING()
########################################################################
# Distribute the README file
########################################################################
+if(ENABLE_DOCS)
install(
FILES README.md README.hacking CHANGELOG.md
DESTINATION ${GR_PKG_DOC_DIR}
COMPONENT "docs"
)
+endif()
########################################################################
# The following dependency libraries are needed by all gr modules:
# Configure CMake policies

View File

@ -0,0 +1,26 @@
--- cmake/Modules/FindQwt.cmake.orig 2019-03-09 13:28:14 UTC
+++ cmake/Modules/FindQwt.cmake
@@ -15,10 +15,11 @@ find_path(QWT_INCLUDE_DIRS
${CMAKE_INSTALL_PREFIX}/include/qwt
${CMAKE_PREFIX_PATH}/include/qwt
PATHS
+ /usr/local/include/qt5/qwt6
/usr/local/include/qwt-${QWT_QT_VERSION}
+ /usr/include/qt5/qwt
/usr/local/include/qwt
/usr/include/qwt6
- /usr/include/qt5/qwt
/usr/include/qwt-${QWT_QT_VERSION}
/usr/include/qwt
/usr/include/${QWT_QT_VERSION}/qwt
@@ -29,8 +30,9 @@ find_path(QWT_INCLUDE_DIRS
)
find_library (QWT_LIBRARIES
- NAMES ${PC_QWT_LIBRARIES} qwt6-${QWT_QT_VERSION} qwt-${QWT_QT_VERSION}
+ NAMES ${PC_QWT_LIBRARIES} qwt6 qwt6-${QWT_QT_VERSION} qwt-${QWT_QT_VERSION}
HINTS
+ /usr/local/lib/qt5
${PC_QWT_LIBDIR}
${CMAKE_INSTALL_PREFIX}/lib
${CMAKE_INSTALL_PREFIX}/lib64

View File

@ -1,22 +0,0 @@
--- cmake/Modules/FindUSB.cmake.orig 2018-07-15 16:09:20 UTC
+++ cmake/Modules/FindUSB.cmake
@@ -23,6 +23,19 @@ else(LIBUSB_INCLUDE_DIR AND LIBUSB_LIBRARIES)
set(LIBUSB_FOUND FALSE CACHE INTERNAL "libusb-1.0 found")
message(STATUS "libusb-1.0 not found.")
endif(LIBUSB_INCLUDE_DIR AND LIBUSB_LIBRARIES)
+if(UNIX)
+ INCLUDE(CheckFunctionExists)
+endif()
+message(status "--- Checking for libusb_get_string_descriptor")
+set(CMAKE_REQUIRED_LIBRARIES ${LIBUSB_LIBRARIES})
+CHECK_FUNCTION_EXISTS(libusb_get_string_descriptor HAVE_LIBUSB_GET_STRING_DESCRIPTOR)
+
+if (HAVE_LIBUSB_GET_STRING_DESCRIPTOR)
+ add_definitions( -DHAVE_LIBUSB_GET_STRING_DESCRIPTOR)
+ message(status "--- Found libusb_get_string_descriptor")
+else()
+ message(status "--- libusb_get_string_descriptor Not Found")
+endif()
mark_as_advanced(LIBUSB_INCLUDE_DIR LIBUSB_LIBRARIES)

View File

@ -1,34 +0,0 @@
--- cmake/Modules/GrMiscUtils.cmake.orig 2018-06-13 21:42:48 UTC
+++ cmake/Modules/GrMiscUtils.cmake
@@ -148,7 +148,31 @@ function(GR_LIBRARY_FOO target)
ARCHIVE DESTINATION ${GR_LIBRARY_DIR} COMPONENT ${GR_LIBRARY_DEVEL_COMPONENT} # .lib file
RUNTIME DESTINATION ${GR_RUNTIME_DIR} COMPONENT ${GR_LIBRARY_RUNTIME_COMPONENT} # .dll file
)
+
+ if(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
+ #create .la file
+ GR_LIBTOOL(TARGET ${target} DESTINATION ${GR_LIBRARY_DIR})
+ set_target_properties(${target} PROPERTIES OUTPUT_NAME ${target} SOVERSION ${LIBVER})
+ set(target_name lib${target}.so.${LIBVER})
+
+ #custom command to generate symlinks
+ add_custom_command(
+ TARGET ${target}
+ POST_BUILD
+ COMMAND ${CMAKE_COMMAND} -E create_symlink ${target_name} "${CMAKE_CURRENT_BINARY_DIR}/lib${target}.so"
+ COMMAND ${CMAKE_COMMAND} -E create_symlink ${target_name} "${CMAKE_CURRENT_BINARY_DIR}/lib${target}.so.${MAJOR_VERSION}"
+ COMMAND ${CMAKE_COMMAND} -E touch ${target_name} #so the symlinks point to something valid so cmake 2.6 will install
+ )
+
+ #and install the extra symlinks
+ install(
+ FILES
+ ${CMAKE_CURRENT_BINARY_DIR}/lib${target}.so.${MAJOR_VERSION}
+ ${CMAKE_CURRENT_BINARY_DIR}/lib${target}.so.${LIBVER}
+ DESTINATION ${GR_LIBRARY_DIR} COMPONENT ${GR_LIBRARY_RUNTIME_COMPONENT}
+ )
+ endif()
#extras mode enabled automatically on linux
if(NOT DEFINED LIBRARY_EXTRAS)
set(LIBRARY_EXTRAS ${LINUX})

View File

@ -0,0 +1,23 @@
--- cmake/Modules/GrPython.cmake.orig 2019-03-09 13:28:14 UTC
+++ cmake/Modules/GrPython.cmake
@@ -101,11 +101,15 @@ if(NOT DEFINED GR_PYTHON_DIR)
execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "
import os
import sys
-if os.name == 'posix':
- print(os.path.join('lib', 'python' + sys.version[:3], 'dist-packages'))
-if os.name == 'nt':
- print(os.path.join('Lib', 'site-packages'))
-" OUTPUT_VARIABLE GR_PYTHON_DIR OUTPUT_STRIP_TRAILING_WHITESPACE
+from sysconfig import get_platform
+if get_platform().startswith('freebsd'):
+ print(os.path.join('lib', 'python' + sys.version[:3], 'site-packages'))
+else:
+ if os.name == 'posix':
+ print(os.path.join('lib', 'python' + sys.version[:3], 'dist-packages'))
+ if os.name == 'nt':
+ print(os.path.join('Lib', 'site-packages'))
+ " OUTPUT_VARIABLE GR_PYTHON_DIR OUTPUT_STRIP_TRAILING_WHITESPACE
)
endif()
file(TO_CMAKE_PATH ${GR_PYTHON_DIR} GR_PYTHON_DIR)

View File

@ -1,6 +1,6 @@
--- docs/doxygen/Doxyfile.in.orig 2018-06-13 21:42:48 UTC
--- docs/doxygen/Doxyfile.in.orig 2019-03-09 13:28:14 UTC
+++ docs/doxygen/Doxyfile.in
@@ -1880,7 +1880,7 @@ DOT_FONTSIZE = 10
@@ -1852,7 +1852,7 @@ DOT_FONTSIZE = 10
# If you specify a different font using DOT_FONTNAME you can use DOT_FONTPATH to
# set the path where dot can find it.

View File

@ -1,21 +0,0 @@
--- gr-fcd/lib/CMakeLists.txt.orig 2018-06-17 18:02:35 UTC
+++ gr-fcd/lib/CMakeLists.txt
@@ -32,6 +32,7 @@ include_directories(
${GNURADIO_RUNTIME_INCLUDE_DIRS}
${Boost_INCLUDE_DIRS}
${LIBUSB_INCLUDE_DIR}
+ ${ICONV_INCLUDE_DIRS}
)
link_directories(
@@ -91,6 +92,10 @@ endif()
add_library(gnuradio-fcd SHARED ${gr_fcd_sources})
if (LINUX)
list(APPEND fcd_libs rt)
+endif()
+if(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
+ message( "--- Adding iconv library for FreeBSD")
+ list(APPEND fcd_libs ${ICONV_LIBRARY})
endif()
target_link_libraries(gnuradio-fcd ${fcd_libs} ${LOG4CPP_LIBRARIES})

View File

@ -0,0 +1,14 @@
--- gr-vocoder/lib/gsm_fr_decode_ps_impl.h.orig 2019-03-13 15:13:10 UTC
+++ gr-vocoder/lib/gsm_fr_decode_ps_impl.h
@@ -26,7 +26,11 @@
#include <gnuradio/vocoder/gsm_fr_decode_ps.h>
extern "C"{
+#ifdef __FreeBSD__
+#include <gsm.h>
+#else
#include "gsm/gsm.h"
+#endif
}
namespace gr {

View File

@ -0,0 +1,14 @@
--- gr-vocoder/lib/gsm_fr_encode_sp_impl.h.orig 2019-03-13 15:22:30 UTC
+++ gr-vocoder/lib/gsm_fr_encode_sp_impl.h
@@ -26,7 +26,11 @@
#include <gnuradio/vocoder/gsm_fr_encode_sp.h>
extern "C"{
+#ifdef __FreeBSD__
+#include <gsm.h>
+#else
#include "gsm/gsm.h"
+#endif
}
namespace gr {

View File

@ -1,11 +0,0 @@
--- volk/CMakeLists.txt.orig 2018-06-13 21:42:48 UTC
+++ volk/CMakeLists.txt
@@ -153,7 +153,7 @@ configure_file(
install(
FILES ${CMAKE_CURRENT_BINARY_DIR}/volk.pc
- DESTINATION lib${LIB_SUFFIX}/pkgconfig
+ DESTINATION ${GR_PKGCONFIG_DIR}/pkgconfig
COMPONENT "volk_devel"
)

View File

@ -2,6 +2,6 @@ GNU Radio is a collection of software that when combined with
minimal hardware, allows the construction of radios where the
actual waveforms transmitted and received are defined by software.
What this means is that it turns the digital modulation schemes
used in today's high performance wireless devices into software problems.
used in today's high performance wireless devices into software problems.
WWW: http://gnuradio.org/redmine/projects/gnuradio
WWW: http://gnuradio.org

File diff suppressed because it is too large Load Diff