[BACK]Return to Makefile.common CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / pkgsrc / ham / gnuradio-core

File: [cvs.NetBSD.org] / pkgsrc / ham / gnuradio-core / Makefile.common (download)

Revision 1.35, Sun Jun 27 08:08:59 2021 UTC (3 months, 3 weeks ago) by tnn
Branch: MAIN
CVS Tags: pkgsrc-2021Q3-base, pkgsrc-2021Q3, HEAD
Changes since 1.34: +2 -1 lines

gnuradio-*: update to 3.9.2.0

Changed
 SoapySDR support (gr-soapy)
GRC
  Parameter expressions and/or values can be displayed in blocks on the flowgraph. Previously, only values were displayed. Look for the "Show Parameter ..." toggles under the View menu.
  Deprecated blocks are shown in a distinct color (orange), and the optional deprecated property has been added to block yaml
  Dark theme works better, especially for parameter fields
  Vector length is now correctly applied to all input ports
  Validation has been improved. Raw types are validated. Port connections are checked by type rather than by item size.
  Variable names that cause name conflicts in Python code (e.g., with package names) are rejected
  Bus logic fixes
  Blocks can no longer be dragged off the screen and lost forever
gnuradio-runtime
  Remove pmt::pmt_* functions, which were not actually implemented. This is technically an API change, but any use of the API would have resulted in a link error.
  Remove Python bindings for internal buffer functions
gr-analog
  Added an example for PLL Frequency Detector
  Better names for parameters in PLL GRC blocks
gr-blocks
  Consistent naming for Vector Length parameter in GRC blocks
  count_bits uses VOLK popcnt for better performance (used for example in the Correlate Access Code block)
  Rotator block phase increment parameter is controllable via a message, and a tag can be added at the point where the increment is adjusted
gr-digital
  MPSK example updated to use a Linear Equalizer (replacing deprecated block)
gr-filter
  Filter Delay documentation improvement
  Interpolating FIR filter can generate C++ code
gr-dtv
  VL-SNR bugs fixed (incorrect constants).
gr-qtgui
  Improve autoscaling for vector sinks
  Fix floating-point resolution problems in several widgets, due to interpretation of PMT doubles as floats
gr-uhd
  Add policy enum to Python bindings for tune_request
  Additional time spec options on UHD blocks (PC Clock on Next PPS, GPS Time on Next PPS)
  Fix up code that was generating warnings
  Fix command handler logic to apply commands from messages to the correct channel
gr_filter_design
  "File/Save" is disabled until the taps have been computed, and the GUI is reset after a save, to make it clearer which data is being saved.
  Entries are hidden for parameters that do not apply to the selected filter type.
  Save window type as an integer instead of a Python enum name
gr_modtool
  Improve validation of module and block names
Build System and Infrastructure
  Improved messages related to dependencies MPIR and GMP. Only one of these packages is required, and the previous error messages were confusing.
  Cleaner builds for Windows and Conda. A number of general cmake improvements have resulted from this work.
  In-tree packaging files for DEB and RPM, used with Launchpad and COPR
  Added man pages for GNU Radio tools
  Test code generation for all in-tree GRC examples
  In GrPybind.cmake, PYBIND11_INCLUDE_DIR (incorrect) was changed to
  pybind11_INCLUDE_DIR

# $NetBSD: Makefile.common,v 1.35 2021/06/27 08:08:59 tnn Exp $
# This Makefile fragment is included in the package Makefiles for
# GNU Radio distributed packages (they all share common configure and build
# settings).

# used by ham/gnuradio-channels/Makefile
# used by ham/gnuradio-companion/Makefile
# used by ham/gnuradio-core/Makefile
# used by ham/gnuradio-network/Makefile
# used by ham/gnuradio-ctrlport/Makefile
# used by ham/gnuradio-digital/Makefile
# used by ham/gnuradio-doxygen/Makefile
# used by ham/gnuradio-dtv/Makefile
# used by ham/gnuradio-fec/Makefile
# used by ham/gnuradio-qtgui/Makefile
# used by ham/gnuradio-soapy-sdr/Makefile
# used by ham/gnuradio-trellis/Makefile
# used by ham/gnuradio-uhd/Makefile
# used by ham/gnuradio-utils/Makefile
# used by ham/gnuradio-video-sdl/Makefile
# used by ham/gnuradio-vocoder/Makefile
# used by ham/gnuradio-wavelet/Makefile
# used by ham/gnuradio-zeromq/Makefile

.include	"../../ham/gnuradio-core/version.mk"

DISTNAME?=	gnuradio-${VERSION}
CATEGORIES+=	ham
#MASTER_SITES=	http://s3-dist.gnuradio.org/
#MASTER_SITES+=	http://gnuradio.org/releases/gnuradio/
MASTER_SITES=	${MASTER_SITE_GITHUB:=gnuradio/}
GITHUB_PROJECT=	gnuradio
GITHUB_TAG=	v${VERSION}

MAINTAINER?=	pkgsrc-users@NetBSD.org
HOMEPAGE?=	https://www.gnu.org/software/gnuradio/
LICENSE=	gnu-gpl-v3

USE_LANGUAGES=		c c++
USE_TOOLS=		perl gmake cmake pkg-config
USE_CMAKE=		yes

DEPENDS+=	${PYPKGPREFIX}-scipy-[0-9]*:../../math/py-scipy
# for companion
DEPENDS+=	${PYPKGPREFIX}-gobject3-[0-9]*:../../devel/py-gobject3
DEPENDS+=	${PYPKGPREFIX}-mako-[0-9]*:../../devel/py-mako
DEPENDS+=	${PYPKGPREFIX}-cairo-[0-9]*:../../graphics/py-cairo
DEPENDS+=	${PYPKGPREFIX}-yaml-[0-9]*:../../textproc/py-yaml

DISTINFO_FILE=		${.CURDIR}/../../ham/gnuradio-core/distinfo
PATCHDIR=		${.CURDIR}/../../ham/gnuradio-core/patches

# see CMakeLists.txt GR_PYTHON_MIN_VERSION
PYTHON_VERSIONS_INCOMPATIBLE=	27

PLIST_SUBST+=	PYVERSSUFFIX=${PYVERSSUFFIX}
PLIST_SUBST+=	PYSITELIB=${PYSITELIB}
PY_PATCHPLIST=	yes

CONFIGURE_DIRS=	build

EGDIR=			share/gnuradio/examples
PKG_SYSCONFSUBDIR=	gnuradio/conf.d

CXXFLAGS+=		-pthread
CFLAGS+=		-pthread
LDFLAGS.DragonFly+=	-lboost_system
LDFLAGS.NetBSD+=	-lrt
LDFLAGS.SunOS+=		-lboost_system
CXXFLAGS.SunOS+=	-pthreads

INSTALLATION_DIRS+=	${EGDIR}

# --------       R E S E T  CMAKE_ARGS  H E R E  -------------
CMAKE_ARGS=

CMAKE_ARGS+=	-DENABLE_GNURADIO_RUNTIME=ON
CMAKE_ARGS+=	-DENABLE_GR_ANALOG=ON
CMAKE_ARGS+=	-DENABLE_GR_AUDIO=ON
CMAKE_ARGS+=	-DENABLE_GR_BLOCKS=ON
CMAKE_ARGS+=	-DENABLE_GR_FFT=ON
CMAKE_ARGS+=	-DENABLE_GR_FILTER=ON
CMAKE_ARGS+=	-DENABLE_PYTHON=ON
CMAKE_ARGS+=	-DENABLE_VOLK=ON -DENABLE_INTERNAL_VOLK=OFF
CMAKE_ARGS+=	-DCMAKE_HAVE_PTHREADS_CREATE=OFF

CMAKE_ARGS+=	-DLIB_SUFFIX=""

# Default setting (for pkgsrc)
CMAKE_ARGS+=	-Wno-dev
CMAKE_ARGS+=	-DCMAKE_BUILD_WITH_INSTALL_RPATH=TRUE
CMAKE_ARGS+=	-DCMAKE_INCLUDE_PATH=${PREFIX}/include/portaudio2
CMAKE_ARGS+=	-DCMAKE_LIBRARY_PATH=${PREFIX}/lib/portaudio2
CMAKE_ARGS+=	-DCMAKE_INSTALL_RPATH=${PREFIX}/lib:${PREFIX}/lib/portaudio2
CMAKE_ARGS+=	-DCMAKE_INSTALL_RPATH_USE_LINK_PATH=TRUE
CMAKE_ARGS+=	-DLIBUSB_INCLUDE_DIR=${PREFIX}/include/libusb-1.0
CMAKE_ARGS+=	-Dpybind11_DIR=${PREFIX}/${PYSITELIB}/pybind11/share/cmake/pybind11

CMAKE_ARGS+=	-DGR_LIBRARY_DIR=${PREFIX}/lib
CMAKE_ARGS+=	-DGR_PREFSDIR=${PREFIX}/share/gnuradio/examples/

# adhoc setup not to pick non default version (say python3.6)
# at configure
#CMAKE_ARGS+=	-DPYTHON_EXECUTABLE=${PREFIX}/bin/python${PYVERSSUFFIX}

CMAKE_ARGS+=	-DZEROMQ_INCLUDE_DIRS=${PREFIX}/include
CMAKE_ARG_PATH=	../

.include "options.mk"

# disable/enable ALSA, see also patches/patch-gr-audio_lib_CMakeLists.txt
SUBST_CLASSES+=		alsa
SUBST_MESSAGE.alsa=	Arrange the patched line depepending on alsa is in PKG_OPTIONS or not
SUBST_FILES.alsa+=	gr-audio/lib/CMakeLists.txt
## The value of ${ALSA_ENABLED} is either '#' or '' by options.mk.
SUBST_SED.alsa=		-e 's,@@ALSA@@,${ALSA_ENABLED},'
SUBST_STAGE.alsa=	pre-configure

SUBST_CLASSES+=		prefix
SUBST_STAGE.prefix=	pre-configure
SUBST_MESSAGE.prefix=	Substitute PREFIX
SUBST_FILES.prefix=	gnuradio-runtime/lib/constants.cc.in
SUBST_VARS.prefix=	PREFIX

REPLACE_PYTHON=		*/*.py */*/*.py */*/*/*.py */*/*/*/*.py */*/*/*/*/*.py \
			*/*/*/*/*/*/*.py */*/*/*/*/*/*/*.py */*/*/*/*/*/*/*/*.py

pre-configure:
	${MKDIR} ${WRKSRC}/build

do-install:
	cd ${WRKSRC}/${BUILD_DIRS} && ${GMAKE} DESTDIR=${DESTDIR} install


.include	"../../audio/gsm/buildlink3.mk"
.include	"../../audio/jack/buildlink3.mk"
.include	"../../audio/portaudio/buildlink3.mk"

.include	"../../devel/boost-headers/buildlink3.mk"
.include	"../../devel/boost-libs/buildlink3.mk"
.include	"../../devel/cppunit/buildlink3.mk"
.include	"../../devel/gmp/buildlink3.mk"
BUILDLINK_API_DEPENDS.py-pybind11+=	${PYPKGPREFIX}-pybind11>=2.6.0
.include	"../../devel/py-pybind11/buildlink3.mk"
.include	"../../graphics/cairo/buildlink3.mk"
.include	"../../graphics/cairo-gobject/buildlink3.mk"
.include	"../../lang/python/application.mk"
.include	"../../math/py-numpy/buildlink3.mk"
.include	"../../math/fftw/buildlink3.mk"
.include	"../../math/gsl/buildlink3.mk"
.include	"../../math/volk/buildlink3.mk"
.include	"../../textproc/log4cpp/buildlink3.mk"
.include	"../../textproc/icu/buildlink3.mk"
.include	"../../x11/gtk3/buildlink3.mk"