Date: Wednesday, August 21, 2019 @ 00:56:11 Author: kkeen Revision: 500361
archrelease: copy trunk to community-staging-x86_64 Added: gnuradio-iqbal/repos/community-staging-x86_64/ gnuradio-iqbal/repos/community-staging-x86_64/PKGBUILD (from rev 500360, gnuradio-iqbal/trunk/PKGBUILD) gnuradio-iqbal/repos/community-staging-x86_64/gr38-update.diff (from rev 500360, gnuradio-iqbal/trunk/gr38-update.diff) ------------------+ PKGBUILD | 58 +++++++++++ gr38-update.diff | 258 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 316 insertions(+) Copied: gnuradio-iqbal/repos/community-staging-x86_64/PKGBUILD (from rev 500360, gnuradio-iqbal/trunk/PKGBUILD) =================================================================== --- community-staging-x86_64/PKGBUILD (rev 0) +++ community-staging-x86_64/PKGBUILD 2019-08-21 00:56:11 UTC (rev 500361) @@ -0,0 +1,58 @@ +# Maintainer: Kyle Keen <keen...@gmail.com> +# Contributor: Dominik Heidler <dheid...@gmail.com> +pkgname=gnuradio-iqbal +_pkgname=gr-iqbal +pkgver=0.37.2 +pkgrel=33 +pkgdesc="Gnuradio I/Q balancing" +arch=('x86_64') +url="https://cgit.osmocom.org/gr-iqbal/" +license=('GPL') +depends=('gnuradio' 'fftw') +replaces=('gr-iqbal') +makedepends=('git' 'cmake' 'boost' 'swig') +source=("git://git.osmocom.org/gr-iqbal/#tag=v$pkgver" + 'gr38-update.diff') +md5sums=('SKIP' + 'f78ad3ce43473fc6ec6486687afe54dc') + +prepare() { + cd "$srcdir/$_pkgname" + git submodule init + git submodule update + + #sed -i 's/LIBOSMODSP_LIBRARIES ""/LIBOSMODSP_LIBRARIES ${FFTW3F_LIBRARIES}/' CMakeLists.txt + #sed -i 's/3.7.0/3.8.0.0/' CMakeLists.txt + #sed -i 's/lib64/lib/' CMakeLists.txt + + # patch from Maitland Bottoms of Debian + patch -p1 -i "$srcdir/gr38-update.diff" + #rm cmake/Modules/GrMiscUtils.cmake + + # upstream mixed tabs and spaces + sed -i 's/\t/ /' python/__init__.py +} + +build() { + cd "$srcdir/$_pkgname" + mkdir -p build + cd build + cmake \ + -Wno-dev \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$(which python3) \ + -DPYTHON_INCLUDE_DIR=$(echo /usr/include/python3*) \ + -DPYTHON_LIBRARY=$(echo /usr/lib/libpython3.*.so) \ + -DGR_PYTHON_DIR=$(echo /usr/lib/python3.*/site-packages/) \ + -DPKG_CONFIG_PATH=/usr/lib/pkgconfig \ + -DCMAKE_LIBRARY_PATH=/usr/lib \ + -DCMAKE_INSTALL_PREFIX=/usr ../ + make + #-DGnuradio_DIR=/usr/lib/cmake/gnuradio \ + #-DVolk_DIR=/usr/lib/cmake/vol \ +} + +package() { + cd "$srcdir/$_pkgname/build/" + make DESTDIR="${pkgdir}" install +} Copied: gnuradio-iqbal/repos/community-staging-x86_64/gr38-update.diff (from rev 500360, gnuradio-iqbal/trunk/gr38-update.diff) =================================================================== --- community-staging-x86_64/gr38-update.diff (rev 0) +++ community-staging-x86_64/gr38-update.diff 2019-08-21 00:56:11 UTC (rev 500361) @@ -0,0 +1,258 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -33,7 +33,18 @@ + endif(NOT CMAKE_BUILD_TYPE) + set(CMAKE_BUILD_TYPE ${CMAKE_BUILD_TYPE} CACHE STRING "") + +-list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/Modules) ++######################################################################## ++# set search path for cmake modules to OOT, Gnuradio ++######################################################################## ++set( CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/Modules") ++find_package(Gnuradio "3.8" REQUIRED) ++ ++# Set the version information here ++set(VERSION_INFO_MAJOR_VERSION 3) ++set(VERSION_INFO_API_COMPAT 8) ++set(VERSION_INFO_MINOR_VERSION 0) ++set(VERSION_INFO_MAINT_VERSION "") ++include(GrVersion) #setup version info + + ######################################################################## + # Compiler specific setup +@@ -58,11 +69,7 @@ + "1.60.0" "1.60" "1.61.0" "1.61" "1.62.0" "1.62" "1.63.0" "1.63" "1.64.0" "1.64" + "1.65.0" "1.65" "1.66.0" "1.66" "1.67.0" "1.67" "1.68.0" "1.68" "1.69.0" "1.69" + ) +-find_package(Boost "1.35" COMPONENTS system) +- +-if(NOT Boost_FOUND) +- message(FATAL_ERROR "Boost required to compile iqbalance") +-endif() ++find_package(Boost "1.35" COMPONENTS filesystem program_options regex system thread) + + ######################################################################## + # Find FFTW3 +@@ -85,7 +92,7 @@ + if(NOT LIBOSMODSP_FOUND) + message(STATUS "libosmodsp not found, using local checkout") + set(LIBOSMODSP_INCLUDE_DIRS "libosmo-dsp/include/") +- set(LIBOSMODSP_LIBRARIES ${FFTW3F_LIBRARIES}) ++ set(LIBOSMODSP_LIBRARIES fftw3f::fftw3f) + set(LIBOSMODSP_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/libosmo-dsp/src/cxvec.c ${CMAKE_CURRENT_SOURCE_DIR}/libosmo-dsp/src/iqbal.c) + endif() + +@@ -93,9 +100,15 @@ + # Install directories + ######################################################################## + include(GrPlatform) #define LIB_SUFFIX ++ ++if(NOT CMAKE_MODULES_DIR) ++ set(CMAKE_MODULES_DIR lib${LIB_SUFFIX}/cmake) ++endif(NOT CMAKE_MODULES_DIR) ++ + set(GR_RUNTIME_DIR bin) + set(GR_LIBRARY_DIR lib${LIB_SUFFIX}) +-set(GR_INCLUDE_DIR include) ++set(GR_INCLUDE_DIR include/gnuradio/iqbalance) ++SET(GR_CMAKE_DIR ${CMAKE_MODULES_DIR}/gr-iqbal) + set(GR_DATA_DIR share) + set(GR_PKG_DATA_DIR ${GR_DATA_DIR}/${CMAKE_PROJECT_NAME}) + set(GR_DOC_DIR ${GR_DATA_DIR}/doc) +@@ -107,14 +120,28 @@ + set(GRC_BLOCKS_DIR ${GR_PKG_DATA_DIR}/grc/blocks) + + ######################################################################## +-# Find gnuradio build dependencies ++# On Apple only, set install name and use rpath correctly, if not already set + ######################################################################## +-set(GR_REQUIRED_COMPONENTS RUNTIME) +-find_package(Gnuradio "3.7.0") +-if(NOT GNURADIO_RUNTIME_FOUND) +- message(FATAL_ERROR "GnuRadio Runtime required to compile iqbalance") +-endif() ++if(APPLE) ++ if(NOT CMAKE_INSTALL_NAME_DIR) ++ set(CMAKE_INSTALL_NAME_DIR ++ ${CMAKE_INSTALL_PREFIX}/${GR_LIBRARY_DIR} CACHE ++ PATH "Library Install Name Destination Directory" FORCE) ++ endif(NOT CMAKE_INSTALL_NAME_DIR) ++ if(NOT CMAKE_INSTALL_RPATH) ++ set(CMAKE_INSTALL_RPATH ++ ${CMAKE_INSTALL_PREFIX}/${GR_LIBRARY_DIR} CACHE ++ PATH "Library Install RPath" FORCE) ++ endif(NOT CMAKE_INSTALL_RPATH) ++ if(NOT CMAKE_BUILD_WITH_INSTALL_RPATH) ++ set(CMAKE_BUILD_WITH_INSTALL_RPATH ON CACHE ++ BOOL "Do Build Using Library Install RPath" FORCE) ++ endif(NOT CMAKE_BUILD_WITH_INSTALL_RPATH) ++endif(APPLE) + ++######################################################################## ++# Find gnuradio build dependencies ++######################################################################## + find_package(Doxygen) + + ######################################################################## +@@ -179,3 +206,10 @@ + FILES ${CMAKE_CURRENT_BINARY_DIR}/gnuradio-iqbalance.pc + DESTINATION ${GR_LIBRARY_DIR}/pkgconfig + ) ++ ++######################################################################## ++# Install cmake search helper for this library ++######################################################################## ++#install(FILES cmake/Modules/gnuradio-iqbalanceConfig.cmake ++# DESTINATION ${CMAKE_MODULES_DIR}/gnuradio-iqbalance ++#) +--- a/swig/CMakeLists.txt ++++ b/swig/CMakeLists.txt +@@ -18,30 +18,38 @@ + # Boston, MA 02110-1301, USA. + + ######################################################################## +-# Setup swig generation ++# Include swig generation macros + ######################################################################## + find_package(SWIG) +-find_package(PythonLibs 2) ++find_package(PythonLibs) + if(NOT SWIG_FOUND OR NOT PYTHONLIBS_FOUND) + return() + endif() + include(GrSwig) + include(GrPython) + +-foreach(incdir ${GNURADIO_RUNTIME_INCLUDE_DIRS}) +- list(APPEND GR_SWIG_INCLUDE_DIRS ${incdir}/gnuradio/swig) +-endforeach(incdir) ++######################################################################## ++# Setup swig generation ++######################################################################## ++set(GR_SWIG_INCLUDE_DIRS $<TARGET_PROPERTY:gnuradio::runtime_swig,INTERFACE_INCLUDE_DIRECTORIES>) ++set(GR_SWIG_TARGET_DEPS gnuradio::runtime_swig) ++ ++set(GR_SWIG_LIBRARIES gnuradio-iqbalance) + + set(GR_SWIG_DOC_FILE ${CMAKE_CURRENT_BINARY_DIR}/iqbalance_swig_doc.i) + set(GR_SWIG_DOC_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/../include/gnuradio/iqbalance) + set(GR_SWIG_DOCS_TARGET_DEPS runtime_swig_swig_doc) + +-set(GR_SWIG_LIBRARIES gnuradio-iqbalance) +- + GR_SWIG_MAKE(iqbalance_swig iqbalance_swig.i) + ++######################################################################## ++# Install the build swig module ++######################################################################## + GR_SWIG_INSTALL(TARGETS iqbalance_swig DESTINATION ${GR_PYTHON_DIR}/gnuradio/iqbalance) + ++######################################################################## ++# Install swig .i files for development ++######################################################################## + install( + FILES + iqbalance_swig.i +--- a/grc/CMakeLists.txt ++++ b/grc/CMakeLists.txt +@@ -17,7 +17,8 @@ + # the Free Software Foundation, Inc., 51 Franklin Street, + # Boston, MA 02110-1301, USA. + install(FILES +- iqbalance_fix_cc.xml +- iqbalance_optimize_c.xml ++ iqbalance_fix_cc.block.yml ++ iqbalance_optimize_c.block.yml ++ iqbalance.tree.yml + DESTINATION share/gnuradio/grc/blocks + ) +--- /dev/null ++++ b/grc/iqbalance.tree.yml +@@ -0,0 +1,4 @@ ++'[Core]': ++- IQ Balance: ++ - iqbalance_fix_cc ++ - iqbalance_optimize_c +--- /dev/null ++++ b/grc/iqbalance_optimize_c.block.yml +@@ -0,0 +1,34 @@ ++id: iqbalance_optimize_c ++label: IQ Bal Optimize ++flags: [ python, cpp ] ++ ++parameters: ++- id: period ++ label: Period ++ dtype: int ++ ++inputs: ++- domain: stream ++ id: in ++ dtype: complex ++ ++outputs: ++- domain: message ++ id: iqbal_corr</name> ++ dtype: complex ++ optional: true ++ ++templates: ++ imports: from gnuradio import iqbalance ++ make: iqbalance.optimize_c(${period}) ++ callbacks: ++ - set_period(${period}) ++cpp_templates: ++ includes: ['#include <gnuradio/iqbalance.h>'] ++ declarations: 'iqbalance::optimize_c::sptr ${id};' ++ make: 'this->${id} = iqbalance::optimize_c::make(${period});' ++ callbacks: ++ - set_period(${period}) ++ link: ['gnuradio-iqbalance'] ++ ++file_format: 1 +--- /dev/null ++++ b/grc/iqbalance_fix_cc.block.yml +@@ -0,0 +1,43 @@ ++id: iqbalance_fix_cc ++label: IQ Bal Fix ++flags: [ python, cpp ] ++ ++parameters: ++- id: mag ++ label: Magnitude ++ dtype: real ++- id: phase ++ label: Phase ++ dtype: real ++ ++inputs: ++- domain: stream ++ id: in ++ dtype: complex ++- domain: message ++ id: iqbal_corr ++ dtype: complex ++ optional: true ++ ++outputs: ++- domain: stream ++ id: out ++ dtype: complex ++ ++templates: ++ imports: from gnuradio import iqbalance ++ make: iqbalance.fix_cc(${mag}, ${phase}) ++ callbacks: ++ - set_mag(${mag}) ++ - set_phase(${phase}) ++ ++cpp_templates: ++ includes: ['#include <gnuradio/iqbalance.h>'] ++ declarations: 'iqbalance::fix_cc::sptr ${id};' ++ make: 'this->${id} = iqbalance::fix_cc::make(${mag}, ${phase});' ++ callbacks: ++ - set_mag(${mag}) ++ - set_phase(${phase}) ++ link: ['gnuradio-iqbalance'] ++ ++file_format: 1