blob: b54b6212fa896dba67c8d52615fcd05b131c006f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
|
# $NetBSD: Makefile.common,v 1.43 2022/10/16 13:58:50 mef 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_CMAKE= yes
USE_LANGUAGES= c c++
USE_TOOLS= gmake perl pkg-config
GCC_REQD+= 8
DEPENDS+= ${PYPKGPREFIX}-jsonschema-[0-9]*:../../textproc/py-jsonschema
DEPENDS+= ${PYPKGPREFIX}-scipy-[0-9]*:../../math/py-scipy
DEPENDS+= ${PYPKGPREFIX}-packaging-[0-9]*:../../devel/py-packaging
DEPENDS+= ${PYPKGPREFIX}-pygccxml-[0-9]*:../../textproc/py-pygccxml
# for companion
DEPENDS+= ${PYPKGPREFIX}-cairo-[0-9]*:../../graphics/py-cairo
DEPENDS+= ${PYPKGPREFIX}-gobject3-[0-9]*:../../devel/py-gobject3
DEPENDS+= ${PYPKGPREFIX}-mako-[0-9]*:../../devel/py-mako
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 37 # py-scipy
# three digit version number for shared library ex 3.10.2.0 -> 3.10.2
PKGVER_MICRO= ${PKGVERSION_NOREV:C/([0-9]+)\.([0-9]+)\.([0-9]+)\.([0-9]+)/\1.\2.\3/}
PLIST_SUBST+= PYVERSSUFFIX=${PYVERSSUFFIX}
PLIST_SUBST+= PYSITELIB=${PYSITELIB}
# avoid using the name PKGVERSION in variable, see Nocore.mk
PLIST_SUBST+= PKGVER_MICRO=${PKGVER_MICRO}
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+= -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+= -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"
.include "../../devel/spdlog/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"
# FIXME should be optional
.include "../../lang/libunwind/buildlink3.mk"
.include "../../lang/python/application.mk"
.include "../../math/fftw/buildlink3.mk"
.include "../../math/gsl/buildlink3.mk"
.include "../../math/py-numpy/buildlink3.mk"
.include "../../math/volk/buildlink3.mk"
.include "../../textproc/icu/buildlink3.mk"
.include "../../textproc/fmtlib/buildlink3.mk"
.include "../../x11/gtk3/buildlink3.mk"
|