Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. --- pkgsrc/ham/uhd/Makefile 2017/09/06 10:40:30 1.30 +++ pkgsrc/ham/uhd/Makefile 2024/10/07 20:55:47 1.81 @@ -1,66 +1,105 @@ -# $NetBSD: Makefile,v 1.30 2017/09/06 10:40:30 wiz Exp $ +# $NetBSD: Makefile,v 1.81 2024/10/07 20:55:47 mef Exp $ -DISTNAME= uhd-3.9.4 -PKGREVISION= 7 -CATEGORIES= ham -MASTER_SITES= ${MASTER_SITE_GITHUB:=EttusResearch/} -# 3.9.1 -> 003_009_001 -GITHUB_TAG= release_${PKGVERSION_NOREV:C/([0-9])\.([0-9])\.([0-9])/00\1_00\2_00\3/} - -MAINTAINER= pkgsrc-users@NetBSD.org -#HOMEPAGE= http://code.ettus.com/redmine/ettus/projects/uhd/wiki -COMMENT= USRP (Universal Software Radio Peripheral) Hardware Drivers -LICENSE= gnu-gpl-v2 - -BUILD_DEPENDS+= ${PYPKGPREFIX}-cheetah-[0-9]*:../../devel/py-cheetah -BUILD_DEPENDS+= ${PYPKGPREFIX}-docutils>=0.12:../../textproc/py-docutils -BUILD_DEPENDS+= ${PYPKGPREFIX}-mako-[0-9]*:../../devel/py-mako - -PYTHON_VERSIONS_INCOMPATIBLE= 34 35 36 # py-cheetah - -CMAKE_ARGS+= -DRST2HTML_EXECUTABLE=${PREFIX}/bin/rst2html-${PYVERSSUFFIX}.py -CMAKE_ARGS+= -Wno-dev - -USE_LANGUAGES= c c++ -USE_TOOLS= cmake pkg-config -USE_CMAKE= yes -# extra pax_global_header exists, and to avoid that: +DISTNAME= uhd-4.7.0.0 +CATEGORIES= ham +MASTER_SITES= ${MASTER_SITE_GITHUB:=EttusResearch/} +GITHUB_TAG= v${PKGVERSION_NOREV} + +MAINTAINER= pkgsrc-users@NetBSD.org +HOMEPAGE= https://github.com/EttusResearch/uhd +COMMENT= USRP (Universal Software Radio Peripheral) Hardware Drivers +LICENSE= gnu-gpl-v3 + +DEPENDS+= ${PYPKGPREFIX}-mako>=0.4.2:../../devel/py-mako +# Does not build +#DEPENDS+= ${PYPKGPREFIX}-numpy>=1.11:../../math/py-numpy +DEPENDS+= ${PYPKGPREFIX}-requests>=2.0:../../devel/py-requests +DEPENDS+= ${PYPKGPREFIX}-ruamel-yaml>=0.15:../../devel/py-ruamel-yaml + +CMAKE_CONFIGURE_ARGS+= -DLIB_SUFFIX="" +CMAKE_CONFIGURE_ARGS+= -DENABLE_MAN_PAGE_COMPRESSION=OFF +CMAKE_CONFIGURE_ARGS+= -DPKG_MAN_DIR=${PKGMANDIR}/man1 +CMAKE_CONFIGURE_ARGS+= -DRST2HTML_EXECUTABLE=${PREFIX}/bin/rst2html-${PYVERSSUFFIX}.py +CMAKE_CONFIGURE_ARGS+= -Wno-dev + +PYTHON_VERSIONS_INCOMPATIBLE= 27 + +.include "../../lang/python/pyversion.mk" + +CMAKE_CONFIGURE_ARGS+= -DPYTHON_EXECUTABLE=${PYTHONBIN} +CMAKE_CONFIGURE_ARGS+= -DENABLE_PYTHON3=ON + +# Upstream says C++11 is required, even though it is not documented. +# It is documented that gcc 4.8 is required, when using gcc. +# https://github.com/EttusResearch/uhd/issues/236 +# +# Upstream does not seem to have any documentation that gnu++11 is +# required, but it builds with tha and not with c++11 on netbsd-8. No +# ticket filed because #236 resulted in in-ticket clarification only +# (and not a doc edit), and having experimented no clarification is +# needed. +USE_LANGUAGES= c gnu++14 +USE_TOOLS+= pkg-config +GCC_REQD+= 4.8 +# to avoid extra pax_global_header EXTRACT_USING= gtar -#EXTRACT_ELEMENTS= uhd-${GITHUB_TAG} - -# Please note distribution has many stuff under uhd/, but build itself -# needs under host/ only. Those uhd/ stuff will be handled post-{patch,install}: -WRKSRC= ${WRKDIR}/uhd-${GITHUB_TAG}/host +WRKSRC= ${WRKDIR}/${DISTNAME}/host # The files with their name uhd-xxxx, are moved down from uhd/xxxx for this process. -REPLACE_PYTHON= \ - utils/latency/graph.py \ - utils/latency/run_tests.py \ - utils/uhd_images_downloader.py.in \ - utils/usrp2_card_burner.py \ - utils/usrp2_card_burner_gui.py \ - utils/usrp_n2xx_net_burner.py \ - utils/usrp_n2xx_net_burner_gui.py +REPLACE_PYTHON+= utils/convert_cal_data.py +REPLACE_PYTHON+= utils/converter_benchmark.py +REPLACE_PYTHON+= utils/latency/graph.py +REPLACE_PYTHON+= utils/latency/run_tests.py +REPLACE_PYTHON+= utils/rfnoc_image_builder.py +REPLACE_PYTHON+= utils/uhd_images_downloader.py.in +REPLACE_PYTHON+= utils/uhd_power_cal.py +REPLACE_PYTHON+= utils/usrp2_card_burner.py +REPLACE_PYTHON+= utils/usrp2_card_burner_gui.py +REPLACE_PYTHON+= utils/usrp2_recovery.py +REPLACE_PYTHON+= utils/usrpctl.py +REPLACE_PYTHON+= tests/devtest/benchmark_rate_test.py +REPLACE_PYTHON+= tests/devtest/multi_usrp_test.py +REPLACE_PYTHON+= tests/devtest/python_api_test.py +REPLACE_PYTHON+= tests/devtest/python_rx_stability_test.py +REPLACE_PYTHON+= tests/devtest/run_testsuite.py +REPLACE_PYTHON+= tests/devtest/recv_stability_test.py +REPLACE_PYTHON+= tests/devtest/rx_samples_to_file_test.py +REPLACE_PYTHON+= tests/devtest/test_messages_test.py +REPLACE_PYTHON+= tests/devtest/test_pps_test.py +REPLACE_PYTHON+= tests/devtest/tx_bursts_test.py +REPLACE_PYTHON+= tests/devtest/tx_waveforms_test.py +REPLACE_PYTHON+= tests/devtest/uhd_test_base.py +REPLACE_PYTHON+= tests/devtest/usrp_probe.py +REPLACE_PYTHON+= tests/devtest/usrp_probe_test.py +REPLACE_PYTHON+= tests/streaming_performance/batch_run_benchmark_rate.py +REPLACE_PYTHON+= tests/streaming_performance/run_E3xx_max_rate_tests.py +REPLACE_PYTHON+= tests/streaming_performance/run_N3xx_max_rate_tests.py +REPLACE_PYTHON+= tests/streaming_performance/run_X3xx_max_rate_tests.py + +# -pthread needed to turn on boost threads on some platforms +CXXFLAGS.SunOS+= -pthread +LDFLAGS.SunOS+= -lsocket INSTALLATION_DIRS+= share/uhd INSTALLATION_DIRS+= share/uhd/firmware INSTALLATION_DIRS+= share/uhd/fpga INSTALLATION_DIRS+= share/uhd/images -SUBST_CLASSES+= man -SUBST_MESSAGE.man= Convert share/man to man -SUBST_STAGE.man= pre-configure -SUBST_FILES.man= docs/CMakeLists.txt -SUBST_SED.man= -e '/UHD_INSTALL/s,$${PKG_MAN_DIR},${PREFIX}/${PKGMANDIR}/man1,' -# UHD_INSTALL(FILES ${gzfile} DESTINATION ${PKG_MAN_DIR} COMPONENT manpages) +MODULE_VERSION= ${PKGVERSION_NOREV:C/\.[0-9]$//} +PLIST_SUBST+= MODULE_VERSION=${MODULE_VERSION} -# is it default ? and redundent ? -PLIST_SRC= ${PKGDIR}/PLIST .include "options.mk" -.include "../../lang/python/application.mk" +.if ${OPSYS} != "Darwin" +PLIST_SRC+= PLIST.x4xx +.endif + .include "../../devel/boost-libs/buildlink3.mk" +.include "../../devel/cmake/build.mk" .include "../../devel/libusb1/buildlink3.mk" .include "../../devel/orc/buildlink3.mk" +.include "../../lang/python/application.mk" +.include "../../mk/atomic64.mk" +FAKE_NCURSES= yes .include "../../mk/curses.buildlink3.mk" .include "../../mk/bsd.pkg.mk"