Date: Saturday, January 14, 2023 @ 16:39:43 Author: dvzrv Revision: 1383466
upgpkg: gnuradio 3.10.5.0-1: Upgrade to 3.10.5.0. Rebuild for major cleanup. Remove use of hardcoded python interpreter version strings. Remove unneeded XDG integration tool: https://github.com/gnuradio/gnuradio/issues/6464 Remove optimized bytecode: https://github.com/gnuradio/gnuradio/issues/6463 Add debug package. Consolidate all dependencies and add notes for their use. Add notes for two further required dependencies. Change cmake calls to adhere to packaging guidelines. Remove unneeded patches and comments. Added: gnuradio/trunk/keys/pgp/723EC3A2B90533C6B93DFBC8ED797743F7951435.asc Modified: gnuradio/trunk/PKGBUILD -------------------------------------------------------+ PKGBUILD | 283 +++++++++------- keys/pgp/723EC3A2B90533C6B93DFBC8ED797743F7951435.asc | 1 2 files changed, 177 insertions(+), 107 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2023-01-14 16:14:45 UTC (rev 1383465) +++ PKGBUILD 2023-01-14 16:39:43 UTC (rev 1383466) @@ -5,129 +5,198 @@ pkgbase=gnuradio pkgname=(gnuradio gnuradio-companion) -pkgver=3.10.4.0 -pkgrel=2 -pkgdesc="General purpose DSP and SDR toolkit. With drivers for usrp and fcd." -arch=('x86_64') +pkgver=3.10.5.0 +pkgrel=1 +pkgdesc="General purpose DSP and SDR toolkit with drivers for usrp and fcd." +arch=(x86_64) url="https://gnuradio.org" -license=('GPL') -depends=('python-numpy' 'gsl' 'blas' 'libuhd' 'libvolk' 'log4cpp' 'python-yaml' - 'gmp' 'gsm' 'codec2' 'python-mako' 'python-click-plugins' 'soapysdr' - 'pybind11' 'libsndfile' 'spdlog') -makedepends=('alsa-lib' 'boost' 'cmake' 'fftw' 'glu' 'gtk3' 'jack' 'pango' - 'portaudio' 'python-gobject' 'python-lxml' 'python-pyqt5' 'python-cairo' - 'python-jsonschema' 'python-packaging' 'qwt' 'zeromq') - -# todo -# split the gui components? -# build doxygen docs? -# gr-video-sdl ? -# icons -# add thrift? -# could soapy and pybind be optional makedeps? - -# zeroc-ice: gr-ctrlport -# doxygen: C++ autogenerated documentation -# python-sphinx: Python autogenerated documentation - -# secret release directory -#source=("http://s3-dist.gnuradio.org/gnuradio-$pkgver.tar.gz" -# neglected official release directory -#source=("https://gnuradio.org/releases/$pkgbase/$pkgbase-$pkgver.tar.gz" - -# seems upstream stopped doing signed tags/release assets > 3.8.0.0 :-/ -# https://github.com/gnuradio/gnuradio/issues/3858 -source=("gnuradio-$pkgver.tgz::https://github.com/gnuradio/gnuradio/archive/refs/tags/v$pkgver.tar.gz" - #"https://github.com/gnuradio/gnuradio/releases/download/v$pkgver/gnuradio-$pkgver.tar.gz" - # "https://github.com/gnuradio/gnuradio/releases/download/v$pkgver/gnuradio-$pkgver.tar.gz.asc" - gnuradio-bind-placeholders.patch - gnuradio-fmt-9.0.patch - "21-fcd.rules") -validpgpkeys=('B90DDFAC56989BF62262EB812987C77CBB8ED9B2' # GNU Radio Project - 'D74F9F146E7F755783583158B343B2BA293E5174') # Marcus Müller -sha512sums=('a8690016513df3928cb2f63eef190c7306bc3cc452dfeafab2e47b43aa1dd3f61515df49832e99530535f94deabfb614388a27212b09e1c816782f3fdd4915eb' - 'f4e52e6e9ef6054f358d3ee00cbcb70bab65c36dfac8975c3182f6514c547905f36801a049f0918d69c9ffd98ce801891a3bfc4e4faeb8fb33582d84140a70b7' - 'cb45360160325fb8904a7d2edf2eaf09143327c3133575f91cfe2fb41a4ce06102b1ba364ac5917fddd78b24ebc0038f1eabc02476e211429410a39242069851' +license=(GPL3) +depends=( + codec2 # host + gcc-libs + glibc + gmp # host + gsl # host + libad9361 # gnuradio.iio + libuhd # gnuradio.uhd + libunwind + libvolk # host + pybind11 # host + python-click # host + python-click-plugins # host + python-mako # host + python-matplotlib + python-numpy # host + python-packaging # host + # python-pygccxml # gnuradio.modtool # TODO: package + python-pyyaml # various + python-pyzmq # gnuradio.zeromq + python-scipy + python-thrift # runtime + sdl12-compat # gnuradio.video_sdl + soapysdr # gnuradio.soapy + spdlog # host + thrift # host +) +makedepends=( + alsa-lib # gnuradio.audio + boost + # cppzmq # gnuradio.zeromq # TODO: package + cmake + fftw # host + fmt + gtk3 + jack # gnuradio.audio + libiio # gnuradio.iio + libsndfile # host + portaudio # gnuradio.audio + python-cairo # gnuradio.companion + python-gobject # gnuradio.companion + python-lxml # gnuradio.companion + python-pyqt5 # gnuradio.qtgui + python-pyqtgraph # gnuradio.qtgui + python-pytest # only required for tests + qt5-base + qwt # gnuradio.qtgui + zeromq # gnuradio.zeromq +) +checkdepends=( + python-jsonschema + python-setuptools # gnuradio.modtool + xorg-server-xvfb +) +options=(debug) +source=( + $pkgbase-$pkgver.tar.gz::https://github.com/$pkgbase/$pkgbase/archive/v$pkgver/$pkgbase-v$pkgver.tar.gz + https://github.com/gnuradio/gnuradio/releases/download/v$pkgver/$pkgbase-$pkgver.tar.gz.asc + 21-fcd.rules +) +validpgpkeys=( + 'B90DDFAC56989BF62262EB812987C77CBB8ED9B2' # GNU Radio Project (Admin) <[email protected]> + 'D74F9F146E7F755783583158B343B2BA293E5174' # Marcus Müller (GNU Radio Maintainer) <[email protected]> + '723EC3A2B90533C6B93DFBC8ED797743F7951435' # GNU Radio (Software Signing Key) <[email protected]> +) +sha512sums=('82f3028cbcb0175f9f354b19613ee59b052881b894c6d668d04235acda2e3be0ca2713642141a917264e70039f23795c647c47364af9ffad63f108da517d77c5' + 'SKIP' '6f02dc8e20a7a1cd11099c851a7c8427fcd21e9652e6cddd0a72ca747b0e93cd4fd1b7b7b7e426b6231348bcc34fb2417716a2f03c92ec141889edc65031c3a0') +b2sums=('c21e310d4cc50112e7d2085be5a82f4eb633305936004cc60cabbac340a0cbd0016bb5f24229380c36281c4e52e6763c5152ceb6ad0f2efc43bd28b2b55c4df8' + 'SKIP' + '83657a141a7a4fc52ae62e19b480fd7b7e651efffc2186d3eb96e8612beffbbe71b434a2323ae37c74465ff6a959a4ca1f9c9db5ed02ab641f1784e704ab5f4d') -prepare() { - cd "$srcdir/$pkgbase-$pkgver" - #patch -Np1 -i ../gnuradio-bind-placeholders.patch - sed -i -e "s|GR_PKG_LIBEXEC_DIR|GR_RUNTIME_DIR|" grc/scripts/freedesktop/CMakeLists.txt - patch -Np1 -i ../gnuradio-fmt-9.0.patch -} +build() { + local cmake_options=( + -D CMAKE_INSTALL_PREFIX=/usr + -D CMAKE_BUILD_TYPE=None + -D ENABLE_GR_ANALOG=ON + -D ENABLE_GR_AUDIO=ON + -D ENABLE_GR_BLOCKS=ON + -D ENABLE_GR_BLOCKTOOL=ON + -D ENABLE_GR_CHANNELS=ON + -D ENABLE_GR_CTRLPORT=ON + -D ENABLE_GR_DIGITAL=ON + -D ENABLE_GR_DTV=ON + -D ENABLE_GR_FEC=ON + -D ENABLE_GR_FFT=ON + -D ENABLE_GR_FILTER=ON + -D ENABLE_GR_IIO=ON + -D ENABLE_GR_MODTOOL=ON + -D ENABLE_GR_NETWORK=ON + -D ENABLE_GR_PDU=ON + -D ENABLE_GR_QTGUI=ON + -D ENABLE_GR_SOAPY=ON + -D ENABLE_GR_TRELLIS=ON + -D ENABLE_GR_UHD=ON + -D ENABLE_GR_UTILS=ON + -D ENABLE_GR_VIDEO_SDL=ON + -D ENABLE_GR_VOCODER=ON + -D ENABLE_GR_WAVELET=ON + -D ENABLE_GR_ZEROMQ=ON + -D ENABLE_GRC=ON + -D ENABLE_POSTINSTALL=OFF # we distribute freedesktop integration directly + -W no-dev + -B build + -S $pkgbase-$pkgver + ) -build() { - export PYTHON=python3 - cd "$pkgbase-$pkgver" - cmake -DCMAKE_INSTALL_PREFIX=/usr \ - -DPYTHON_EXECUTABLE=$(which python3) \ - -DPYTHON_INCLUDE_DIR=/usr/include/python3.10 \ - -DPYTHON_LIBRARY=/usr/lib/libpython3.10.so \ - -DGR_PYTHON_DIR=/usr/lib/python3.10/site-packages \ - -DENABLE_INTERNAL_VOLK=OFF \ - -DENABLE_GRC=ON \ - -DENABLE_GR_QTGUI=ON \ - -DQWT_LIBRARIES=/usr/lib/libqwt.so \ - -Wno-dev \ - -B build \ - -S . - make VERBOSE=1 -C build + cmake "${cmake_options[@]}" + cmake --build build --verbose } check() { - cd "$pkgbase-$pkgver" - # TODO: investigate zeromq related test failures - # make VERBOSE=1 test -C build + # NOTE: disable broken tests + xvfb-run ctest --test-dir build --output-on-failure -E 'pfb_synthesizer|filter_qa_fir_filter_with_buffer.cc' } package_gnuradio() { - depends+=('libasound.so' 'libboost_program_options.so' 'libboost_thread.so' 'libfftw3f.so' - 'libfftw3f_threads.so' 'libjack.so' 'libportaudio.so' 'libzmq.so') - optdepends=('boost: gr_modtool' - 'cmake: gr_modtool' - 'pkgconfig: libuhd') + depends+=( + alsa-lib libasound.so + boost-libs libboost_{program_options,thread}.so + fftw libfftw3f.so libfftw3f_threads.so + fmt libfmt.so + jack libjack.so + libiio libiio.so + libsndfile libsndfile.so + portaudio libportaudio.so + spdlog libspdlog.so + zeromq libzmq.so + ) + optdepends=( + 'gnuradio-companion: for GUI frontend' + 'python-setuptools: for gr_modtool' + ) provides=( - 'libgnuradio-zeromq.so' - 'libgnuradio-wavelet.so' - 'libgnuradio-vocoder.so' - 'libgnuradio-uhd.so' - 'libgnuradio-trellis.so' - 'libgnuradio-runtime.so' - 'libgnuradio-qtgui.so' - 'libgnuradio-pmt.so' - 'libgnuradio-filter.so' - 'libgnuradio-fft.so' - 'libgnuradio-fec.so' - 'libgnuradio-dtv.so' - 'libgnuradio-digital.so' - 'libgnuradio-channels.so' - 'libgnuradio-blocks.so' - 'libgnuradio-audio.so' - 'libgnuradio-analog.so' + libgnuradio-analog.so + libgnuradio-audio.so + libgnuradio-blocks.so + libgnuradio-channels.so + libgnuradio-digital.so + libgnuradio-dtv.so + libgnuradio-fec.so + libgnuradio-fft.so + libgnuradio-filter.so + libgnuradio-iio.so + libgnuradio-pmt.so + libgnuradio-qtgui.so + libgnuradio-runtime.so + libgnuradio-soapy.so + libgnuradio-trellis.so + libgnuradio-uhd.so + libgnuradio-video-sdl.so + libgnuradio-vocoder.so + libgnuradio-wavelet.so + libgnuradio-zeromq.so ) + backup=( + etc/$pkgbase/conf.d/00-grc-docs.conf + etc/$pkgbase/conf.d/gnuradio-runtime.conf + etc/$pkgbase/conf.d/gr-audio{,-{alsa,jack,oss,portaudio}}.conf + etc/$pkgbase/conf.d/gr-qtgui.conf + etc/$pkgbase/conf.d/gr_log_default.conf + etc/$pkgbase/conf.d/grc.conf + etc/$pkgbase/conf.d/modtool.conf + ) - cd "$pkgbase-$pkgver" - make DESTDIR="$pkgdir" install -C build - install -vDm 644 ../21-fcd.rules -t "$pkgdir/usr/lib/udev/rules.d/" - install -vDm 644 grc/scripts/freedesktop/gnuradio-grc.desktop \ - -t "$pkgdir/usr/share/applications/" + DESTDIR="$pkgdir" cmake --install build + install -vDm 644 21-fcd.rules -t "$pkgdir/usr/lib/udev/rules.d/" + # remove optimized bytecode files: https://github.com/gnuradio/gnuradio/issues/6463 + find "$pkgdir" -type f -iname "*.pyo" -delete + # remove unneeded freedesktop integration tooling: https://github.com/gnuradio/gnuradio/issues/6464 + rm -frv "$pkgdir/usr/libexec/" } package_gnuradio-companion() { pkgdesc="GUI frontend for gnuradio and SDR." - depends=('gnuradio' 'qwt' 'python-lxml' - 'python-opengl' 'python-cairo' 'python-gobject' 'python-pyqt5' 'python-jsonschema') - # Yup, nothing in the package except dependencies, - # because more than five optdeps is too many for most people. + depends=( + gnuradio + python-cairo + python-gobject + python-lxml + python-opengl + python-pyqt5 + python-pyqtgraph + qt5-base + qwt + ) + # NOTE: we are only pulling in dependencies here } -# options for armv6: -# -Dhave_mfpu_neon=0 \ -# -DCMAKE_CXX_FLAGS:STRING="-march=armv6 -mfpu=vfp -mfloat-abi=hard" \ -# -DCMAKE_C_FLAGS:STRING="-march=armv6 -mfpu=vfp -mfloat-abi=hard" \ - -# options for armv7: -# -DCMAKE_CXX_FLAGS:STRING="-march=armv7-a -mcpu=cortex-a9 -mfpu=neon -mfloat-abi=hard" -# -DCMAKE_C_FLAGS:STRING="-march=armv7-a -mcpu=cortex-a9 -mfpu=neon -mfloat-abi=hard" -# line 341 add /usr/lib/arm-linux-gnueabihf /usr/lib/arm-linux-gnueabi Added: keys/pgp/723EC3A2B90533C6B93DFBC8ED797743F7951435.asc =================================================================== (Binary files differ) Index: gnuradio/trunk/keys/pgp/723EC3A2B90533C6B93DFBC8ED797743F7951435.asc =================================================================== --- keys/pgp/723EC3A2B90533C6B93DFBC8ED797743F7951435.asc 2023-01-14 16:14:45 UTC (rev 1383465) +++ keys/pgp/723EC3A2B90533C6B93DFBC8ED797743F7951435.asc 2023-01-14 16:39:43 UTC (rev 1383466) Property changes on: gnuradio/trunk/keys/pgp/723EC3A2B90533C6B93DFBC8ED797743F7951435.asc ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +application/pgp-keys \ No newline at end of property
