* [Buildroot] [PATCH v2 1/6] package/gqrx: backport/adapt patch to suppport Gnuradio 3.8
@ 2020-01-17 11:02 Gwenhael Goavec-Merou
2020-01-17 11:02 ` [Buildroot] [PATCH v2 2/6] package/gr-osmosdr: bump version to support " Gwenhael Goavec-Merou
` (5 more replies)
0 siblings, 6 replies; 11+ messages in thread
From: Gwenhael Goavec-Merou @ 2020-01-17 11:02 UTC (permalink / raw)
To: buildroot
From: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
Gnuradio 3.8 has break some functions or header. Current gqrx release does
not support these new features.
So we add compatibility backport patches from pull-request:
https://github.com/csete/gqrx/pull/705
Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
---
package/gqrx/0001-add_includes_for_GR38.patch | 194 ++++++++++++++++++
...2-build_with_cmake_for_both_versions.patch | 59 ++++++
...0003-pass_GNU_Radio_version_as_macro.patch | 161 +++++++++++++++
.../0004-link_against_gr-audio_library.patch | 21 ++
...-support_37_and_38_builds_with_qmake.patch | 53 +++++
..._shells_without_here-string_operator.patch | 26 +++
6 files changed, 514 insertions(+)
create mode 100644 package/gqrx/0001-add_includes_for_GR38.patch
create mode 100644 package/gqrx/0002-build_with_cmake_for_both_versions.patch
create mode 100644 package/gqrx/0003-pass_GNU_Radio_version_as_macro.patch
create mode 100644 package/gqrx/0004-link_against_gr-audio_library.patch
create mode 100644 package/gqrx/0005-support_37_and_38_builds_with_qmake.patch
create mode 100644 package/gqrx/0006-support_shells_without_here-string_operator.patch
diff --git a/package/gqrx/0001-add_includes_for_GR38.patch b/package/gqrx/0001-add_includes_for_GR38.patch
new file mode 100644
index 0000000000..7bc9abe048
--- /dev/null
+++ b/package/gqrx/0001-add_includes_for_GR38.patch
@@ -0,0 +1,194 @@
+From 5d3a1947447c873b04720668a874b1895975fdef Mon Sep 17 00:00:00 2001
+From: Alexander Fasching <fasching.a91@gmail.com>
+Date: Mon, 7 Oct 2019 00:31:31 +0200
+Subject: [PATCH 1/6] Add includes for GR 3.8
+
+---
+ src/applications/gqrx/receiver.cpp | 3 +++
+ src/applications/gqrx/receiver.h | 9 ++++++++-
+ src/dsp/correct_iq_cc.h | 5 +++++
+ src/dsp/filter/fir_decim.cpp | 3 +++
+ src/dsp/filter/fir_decim.h | 5 +++++
+ src/dsp/lpf.h | 5 +++++
+ src/dsp/rx_filter.h | 6 ++++++
+ src/dsp/rx_rds.h | 7 +++++++
+ src/dsp/stereo_demod.h | 13 +++++++++++--
+ 9 files changed, 53 insertions(+), 3 deletions(-)
+
+diff --git a/src/applications/gqrx/receiver.cpp b/src/applications/gqrx/receiver.cpp
+index 361be52c..a62fb080 100644
+--- a/src/applications/gqrx/receiver.cpp
++++ b/src/applications/gqrx/receiver.cpp
+@@ -28,7 +28,10 @@
+
+ #include <iostream>
+
++#ifdef GNURADIO_37
+ #include <gnuradio/blocks/multiply_const_ff.h>
++#endif
++
+ #include <gnuradio/prefs.h>
+ #include <gnuradio/top_block.h>
+ #include <osmosdr/source.h>
+diff --git a/src/applications/gqrx/receiver.h b/src/applications/gqrx/receiver.h
+index f86d741d..1109240d 100644
+--- a/src/applications/gqrx/receiver.h
++++ b/src/applications/gqrx/receiver.h
+@@ -23,10 +23,17 @@
+ #ifndef RECEIVER_H
+ #define RECEIVER_H
+
++#ifdef GNURADIO_37
+ #include <gnuradio/analog/sig_source_c.h>
+-#include <gnuradio/blocks/file_sink.h>
+ #include <gnuradio/blocks/multiply_const_ff.h>
+ #include <gnuradio/blocks/multiply_cc.h>
++#else
++#include <gnuradio/analog/sig_source.h>
++#include <gnuradio/blocks/multiply_const.h>
++#include <gnuradio/blocks/multiply.h>
++#endif
++
++#include <gnuradio/blocks/file_sink.h>
+ #include <gnuradio/blocks/null_sink.h>
+ #include <gnuradio/blocks/wavfile_sink.h>
+ #include <gnuradio/blocks/wavfile_source.h>
+diff --git a/src/dsp/correct_iq_cc.h b/src/dsp/correct_iq_cc.h
+index cb033782..410af766 100644
+--- a/src/dsp/correct_iq_cc.h
++++ b/src/dsp/correct_iq_cc.h
+@@ -28,7 +28,12 @@
+ #include <gnuradio/blocks/float_to_complex.h>
+ #include <gnuradio/hier_block2.h>
+ #include <gnuradio/filter/single_pole_iir_filter_cc.h>
++
++#ifdef GNURADIO_37
+ #include <gnuradio/blocks/sub_cc.h>
++#else
++#include <gnuradio/blocks/sub.h>
++#endif
+
+ class dc_corr_cc;
+ class iq_swap_cc;
+diff --git a/src/dsp/filter/fir_decim.cpp b/src/dsp/filter/fir_decim.cpp
+index af2ebda7..7c7fc32f 100644
+--- a/src/dsp/filter/fir_decim.cpp
++++ b/src/dsp/filter/fir_decim.cpp
+@@ -24,7 +24,10 @@
+ #include <cstdio>
+ #include <vector>
+
++#ifdef GNURADIO_37
+ #include <gnuradio/filter/fir_filter_ccf.h>
++#endif
++
+ #include <gnuradio/hier_block2.h>
+ #include <gnuradio/io_signature.h>
+
+diff --git a/src/dsp/filter/fir_decim.h b/src/dsp/filter/fir_decim.h
+index 9c026f48..ed40b021 100644
+--- a/src/dsp/filter/fir_decim.h
++++ b/src/dsp/filter/fir_decim.h
+@@ -22,7 +22,12 @@
+ */
+ #pragma once
+
++#ifdef GNURADIO_37
+ #include <gnuradio/filter/fir_filter_ccf.h>
++#else
++#include <gnuradio/filter/fir_filter_blk.h>
++#endif
++
+ #include <gnuradio/hier_block2.h>
+
+ class fir_decim_cc;
+diff --git a/src/dsp/lpf.h b/src/dsp/lpf.h
+index 049b3a9c..953716a3 100644
+--- a/src/dsp/lpf.h
++++ b/src/dsp/lpf.h
+@@ -25,7 +25,12 @@
+
+ #include <gnuradio/hier_block2.h>
+ #include <gnuradio/filter/firdes.h>
++
++#ifdef GNURADIO_37
+ #include <gnuradio/filter/fir_filter_fff.h>
++#else
++#include <gnuradio/filter/fir_filter_blk.h>
++#endif
+
+
+ class lpf_ff;
+diff --git a/src/dsp/rx_filter.h b/src/dsp/rx_filter.h
+index 8723be32..82c32a1e 100644
+--- a/src/dsp/rx_filter.h
++++ b/src/dsp/rx_filter.h
+@@ -24,8 +24,14 @@
+ #define RX_FILTER_H
+
+ #include <gnuradio/hier_block2.h>
++
++#ifdef GNURADIO_37
+ #include <gnuradio/filter/fir_filter_ccc.h>
+ #include <gnuradio/filter/freq_xlating_fir_filter_ccc.h>
++#else
++#include <gnuradio/filter/fir_filter_blk.h>
++#include <gnuradio/filter/freq_xlating_fir_filter.h>
++#endif
+
+
+ #define RX_FILTER_MIN_WIDTH 100 /*! Minimum width of filter */
+diff --git a/src/dsp/rx_rds.h b/src/dsp/rx_rds.h
+index 17e406ae..f975ec11 100644
+--- a/src/dsp/rx_rds.h
++++ b/src/dsp/rx_rds.h
+@@ -24,11 +24,18 @@
+ #define RX_RDS_H
+
+ #include <gnuradio/hier_block2.h>
++
++#ifdef GNURADIO_37
+ #include <gnuradio/filter/fir_filter_ccc.h>
+ #include <gnuradio/filter/fir_filter_ccf.h>
+ #include <gnuradio/filter/fir_filter_fff.h>
+ #include <gnuradio/filter/freq_xlating_fir_filter_fcf.h>
+ #include <gnuradio/filter/freq_xlating_fir_filter_ccf.h>
++#else
++#include <gnuradio/filter/fir_filter_blk.h>
++#include <gnuradio/filter/freq_xlating_fir_filter.h>
++#endif
++
+ #include <gnuradio/digital/constellation_receiver_cb.h>
+ #include <gnuradio/blocks/keep_one_in_n.h>
+ #include <gnuradio/digital/diff_decoder_bb.h>
+diff --git a/src/dsp/stereo_demod.h b/src/dsp/stereo_demod.h
+index 28be5c0c..35069615 100644
+--- a/src/dsp/stereo_demod.h
++++ b/src/dsp/stereo_demod.h
+@@ -26,14 +26,23 @@
+
+ #include <gnuradio/hier_block2.h>
+ #include <gnuradio/filter/firdes.h>
++
++#ifdef GNURADIO_37
+ #include <gnuradio/filter/fir_filter_fcc.h>
+ #include <gnuradio/filter/fir_filter_fff.h>
+-#include <gnuradio/analog/pll_refout_cc.h>
+ #include <gnuradio/blocks/multiply_cc.h>
+ #include <gnuradio/blocks/multiply_ff.h>
+ #include <gnuradio/blocks/multiply_const_ff.h>
+-#include <gnuradio/blocks/complex_to_imag.h>
+ #include <gnuradio/blocks/add_ff.h>
++#else
++#include <gnuradio/filter/fir_filter_blk.h>
++#include <gnuradio/blocks/multiply.h>
++#include <gnuradio/blocks/multiply_const.h>
++#include <gnuradio/blocks/add_blk.h>
++#endif
++
++#include <gnuradio/analog/pll_refout_cc.h>
++#include <gnuradio/blocks/complex_to_imag.h>
+ #include <vector>
+ #include "dsp/lpf.h"
+ #include "dsp/resampler_xx.h"
+
diff --git a/package/gqrx/0002-build_with_cmake_for_both_versions.patch b/package/gqrx/0002-build_with_cmake_for_both_versions.patch
new file mode 100644
index 0000000000..2da96a9fc6
--- /dev/null
+++ b/package/gqrx/0002-build_with_cmake_for_both_versions.patch
@@ -0,0 +1,59 @@
+From a0fea7550dabcf04d3201f868657d836a0bb5f69 Mon Sep 17 00:00:00 2001
+From: Alexander Fasching <fasching.a91@gmail.com>
+Date: Mon, 7 Oct 2019 01:05:15 +0200
+Subject: [PATCH 2/6] Build with cmake for both versions
+
+---
+ CMakeLists.txt | 12 ++++++++----
+ src/CMakeLists.txt | 9 +++++++++
+ 2 files changed, 17 insertions(+), 4 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index c197f152..4bff6f08 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -99,15 +99,20 @@ endfunction(add_source_files)
+
+ # 3rd Party Dependency Stuff
+ find_package(Qt5 COMPONENTS Core Network Widgets Svg REQUIRED)
+-find_package(Boost COMPONENTS system program_options REQUIRED)
+-set(GR_REQUIRED_COMPONENTS RUNTIME ANALOG AUDIO BLOCKS DIGITAL FILTER FFT PMT)
+-find_package(Gnuradio REQUIRED)
+ find_package(Gnuradio-osmosdr REQUIRED)
+
+-if(NOT GNURADIO_RUNTIME_FOUND)
++set(GR_REQUIRED_COMPONENTS RUNTIME ANALOG AUDIO BLOCKS DIGITAL FILTER FFT PMT)
++find_package(Gnuradio REQUIRED COMPONENTS analog audio blocks digital filter fft)
++
++if(NOT Gnuradio_FOUND)
+ message(FATAL_ERROR "GnuRadio Runtime required to compile gqrx")
+ endif()
+
++if(Gnuradio_VERSION VERSION_LESS "3.8")
++ add_definitions(-DGNURADIO_37)
++ find_package(Boost COMPONENTS system program_options REQUIRED)
++endif()
++
+ if(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
+ if(NOT LINUX_AUDIO_BACKEND)
+ set(LINUX_AUDIO_BACKEND Pulseaudio CACHE STRING "Choose the audio backend, options are: Pulseaudio, Portaudio, Gr-audio" FORCE)
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 2598f223..88c54046 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -70,6 +70,15 @@ target_link_libraries(${PROJECT_NAME}
+ ${PORTAUDIO_LIBRARIES}
+ )
+
++if(NOT Gnuradio_VERSION VERSION_LESS "3.8")
++ target_link_libraries(${PROJECT_NAME}
++ gnuradio::gnuradio-analog
++ gnuradio::gnuradio-blocks
++ gnuradio::gnuradio-digital
++ gnuradio::gnuradio-filter
++ )
++endif()
++
+ #build a win32 app, not a console app
+ if (WIN32)
+ set(CMAKE_EXE_LINKER_FLAGS "/entry:mainCRTStartup ${CMAKE_EXE_LINKER_FLAGS}")
diff --git a/package/gqrx/0003-pass_GNU_Radio_version_as_macro.patch b/package/gqrx/0003-pass_GNU_Radio_version_as_macro.patch
new file mode 100644
index 0000000000..ed6660e7b6
--- /dev/null
+++ b/package/gqrx/0003-pass_GNU_Radio_version_as_macro.patch
@@ -0,0 +1,161 @@
+From 1f1064802791c20585c552796d2b759d41c8f295 Mon Sep 17 00:00:00 2001
+From: Alexander Fasching <fasching.a91@gmail.com>
+Date: Mon, 7 Oct 2019 02:38:49 +0200
+Subject: [PATCH 3/6] Pass GNU Radio version as macro
+
+---
+ CMakeLists.txt | 14 +++++++++++++-
+ src/applications/gqrx/receiver.cpp | 2 +-
+ src/applications/gqrx/receiver.h | 2 +-
+ src/dsp/correct_iq_cc.h | 2 +-
+ src/dsp/filter/fir_decim.cpp | 2 +-
+ src/dsp/filter/fir_decim.h | 2 +-
+ src/dsp/lpf.h | 2 +-
+ src/dsp/rx_filter.h | 2 +-
+ src/dsp/rx_rds.h | 2 +-
+ src/dsp/stereo_demod.h | 2 +-
+ 10 files changed, 22 insertions(+), 10 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 4bff6f08..8b4b8e56 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -108,8 +108,20 @@ if(NOT Gnuradio_FOUND)
+ message(FATAL_ERROR "GnuRadio Runtime required to compile gqrx")
+ endif()
+
++
++# Pass the GNU Radio version as 0xMMNNPP BCD.
++math(EXPR GNURADIO_BCD_VERSION
++ "(${Gnuradio_VERSION_MAJOR} / 10) << 20 |
++ (${Gnuradio_VERSION_MAJOR} % 10) << 16 |
++ (${Gnuradio_VERSION_MINOR} / 10) << 12 |
++ (${Gnuradio_VERSION_MINOR} % 10) << 8 |
++ (${Gnuradio_VERSION_PATCH} / 10) << 4 |
++ (${Gnuradio_VERSION_PATCH} % 10) << 0
++ "
++)
++add_definitions(-DGNURADIO_VERSION=${GNURADIO_BCD_VERSION})
++
+ if(Gnuradio_VERSION VERSION_LESS "3.8")
+- add_definitions(-DGNURADIO_37)
+ find_package(Boost COMPONENTS system program_options REQUIRED)
+ endif()
+
+diff --git a/src/applications/gqrx/receiver.cpp b/src/applications/gqrx/receiver.cpp
+index a62fb080..40e376f6 100644
+--- a/src/applications/gqrx/receiver.cpp
++++ b/src/applications/gqrx/receiver.cpp
+@@ -28,7 +28,7 @@
+
+ #include <iostream>
+
+-#ifdef GNURADIO_37
++#if GNURADIO_VERSION < 0x030800
+ #include <gnuradio/blocks/multiply_const_ff.h>
+ #endif
+
+diff --git a/src/applications/gqrx/receiver.h b/src/applications/gqrx/receiver.h
+index 1109240d..5fcd50a8 100644
+--- a/src/applications/gqrx/receiver.h
++++ b/src/applications/gqrx/receiver.h
+@@ -23,7 +23,7 @@
+ #ifndef RECEIVER_H
+ #define RECEIVER_H
+
+-#ifdef GNURADIO_37
++#if GNURADIO_VERSION < 0x030800
+ #include <gnuradio/analog/sig_source_c.h>
+ #include <gnuradio/blocks/multiply_const_ff.h>
+ #include <gnuradio/blocks/multiply_cc.h>
+diff --git a/src/dsp/correct_iq_cc.h b/src/dsp/correct_iq_cc.h
+index 410af766..fcb19829 100644
+--- a/src/dsp/correct_iq_cc.h
++++ b/src/dsp/correct_iq_cc.h
+@@ -29,7 +29,7 @@
+ #include <gnuradio/hier_block2.h>
+ #include <gnuradio/filter/single_pole_iir_filter_cc.h>
+
+-#ifdef GNURADIO_37
++#if GNURADIO_VERSION < 0x030800
+ #include <gnuradio/blocks/sub_cc.h>
+ #else
+ #include <gnuradio/blocks/sub.h>
+diff --git a/src/dsp/filter/fir_decim.cpp b/src/dsp/filter/fir_decim.cpp
+index 7c7fc32f..82d852d5 100644
+--- a/src/dsp/filter/fir_decim.cpp
++++ b/src/dsp/filter/fir_decim.cpp
+@@ -24,7 +24,7 @@
+ #include <cstdio>
+ #include <vector>
+
+-#ifdef GNURADIO_37
++#if GNURADIO_VERSION < 0x030800
+ #include <gnuradio/filter/fir_filter_ccf.h>
+ #endif
+
+diff --git a/src/dsp/filter/fir_decim.h b/src/dsp/filter/fir_decim.h
+index ed40b021..c8edb10b 100644
+--- a/src/dsp/filter/fir_decim.h
++++ b/src/dsp/filter/fir_decim.h
+@@ -22,7 +22,7 @@
+ */
+ #pragma once
+
+-#ifdef GNURADIO_37
++#if GNURADIO_VERSION < 0x030800
+ #include <gnuradio/filter/fir_filter_ccf.h>
+ #else
+ #include <gnuradio/filter/fir_filter_blk.h>
+diff --git a/src/dsp/lpf.h b/src/dsp/lpf.h
+index 953716a3..416e831c 100644
+--- a/src/dsp/lpf.h
++++ b/src/dsp/lpf.h
+@@ -26,7 +26,7 @@
+ #include <gnuradio/hier_block2.h>
+ #include <gnuradio/filter/firdes.h>
+
+-#ifdef GNURADIO_37
++#if GNURADIO_VERSION < 0x030800
+ #include <gnuradio/filter/fir_filter_fff.h>
+ #else
+ #include <gnuradio/filter/fir_filter_blk.h>
+diff --git a/src/dsp/rx_filter.h b/src/dsp/rx_filter.h
+index 82c32a1e..0b09a386 100644
+--- a/src/dsp/rx_filter.h
++++ b/src/dsp/rx_filter.h
+@@ -25,7 +25,7 @@
+
+ #include <gnuradio/hier_block2.h>
+
+-#ifdef GNURADIO_37
++#if GNURADIO_VERSION < 0x030800
+ #include <gnuradio/filter/fir_filter_ccc.h>
+ #include <gnuradio/filter/freq_xlating_fir_filter_ccc.h>
+ #else
+diff --git a/src/dsp/rx_rds.h b/src/dsp/rx_rds.h
+index f975ec11..cce90fb7 100644
+--- a/src/dsp/rx_rds.h
++++ b/src/dsp/rx_rds.h
+@@ -25,7 +25,7 @@
+
+ #include <gnuradio/hier_block2.h>
+
+-#ifdef GNURADIO_37
++#if GNURADIO_VERSION < 0x030800
+ #include <gnuradio/filter/fir_filter_ccc.h>
+ #include <gnuradio/filter/fir_filter_ccf.h>
+ #include <gnuradio/filter/fir_filter_fff.h>
+diff --git a/src/dsp/stereo_demod.h b/src/dsp/stereo_demod.h
+index 35069615..3ebdca49 100644
+--- a/src/dsp/stereo_demod.h
++++ b/src/dsp/stereo_demod.h
+@@ -27,7 +27,7 @@
+ #include <gnuradio/hier_block2.h>
+ #include <gnuradio/filter/firdes.h>
+
+-#ifdef GNURADIO_37
++#if GNURADIO_VERSION < 0x030800
+ #include <gnuradio/filter/fir_filter_fcc.h>
+ #include <gnuradio/filter/fir_filter_fff.h>
+ #include <gnuradio/blocks/multiply_cc.h>
diff --git a/package/gqrx/0004-link_against_gr-audio_library.patch b/package/gqrx/0004-link_against_gr-audio_library.patch
new file mode 100644
index 0000000000..1ffb5aefd7
--- /dev/null
+++ b/package/gqrx/0004-link_against_gr-audio_library.patch
@@ -0,0 +1,21 @@
+From 89a6ce21aaa2c05e906100d7e5efc70ca41e880b Mon Sep 17 00:00:00 2001
+From: Alexander Fasching <fasching.a91@gmail.com>
+Date: Mon, 28 Oct 2019 09:40:25 +0100
+Subject: [PATCH 4/6] Link against gr-audio library
+
+---
+ src/CMakeLists.txt | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 88c54046..7d73f742 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -76,6 +76,7 @@ if(NOT Gnuradio_VERSION VERSION_LESS "3.
+ gnuradio::gnuradio-blocks
+ gnuradio::gnuradio-digital
+ gnuradio::gnuradio-filter
++ gnuradio::gnuradio-audio
+ )
+ endif()
+
diff --git a/package/gqrx/0005-support_37_and_38_builds_with_qmake.patch b/package/gqrx/0005-support_37_and_38_builds_with_qmake.patch
new file mode 100644
index 0000000000..3fef6f655c
--- /dev/null
+++ b/package/gqrx/0005-support_37_and_38_builds_with_qmake.patch
@@ -0,0 +1,53 @@
+From c9e37484f3aaf367136aea33c1729e3b7a739182 Mon Sep 17 00:00:00 2001
+From: Alexander Fasching <fasching.a91@gmail.com>
+Date: Mon, 28 Oct 2019 11:25:37 +0100
+Subject: [PATCH 5/6] Support 3.7 and 3.8 builds with qmake
+
+---
+ gqrx.pro | 25 ++++++++++++++++++++++++-
+ 1 file changed, 24 insertions(+), 1 deletion(-)
+
+diff --git a/gqrx.pro b/gqrx.pro
+index 87b5bba9..ea187798 100644
+--- a/gqrx.pro
++++ b/gqrx.pro
+@@ -62,7 +62,7 @@ isEmpty(PREFIX) {
+ }
+
+ target.path = $$PREFIX/bin
+-INSTALLS += target
++INSTALLS += target
+
+ #CONFIG += debug
+
+@@ -263,6 +263,29 @@ PKGCONFIG += gnuradio-analog \
+ gnuradio-runtime \
+ gnuradio-osmosdr
+
++# Detect GNU Radio version and link against log4cpp for 3.8
++GNURADIO_VERSION = $$system(pkg-config --modversion gnuradio-runtime)
++
++GNURADIO_VERSION_MAJOR = $$system(cut -d '.' -f1 <<< $$GNURADIO_VERSION)
++GNURADIO_VERSION_MINOR = $$system(cut -d '.' -f2 <<< $$GNURADIO_VERSION)
++GNURADIO_VERSION_PATCH = $$system(cut -d '.' -f3 <<< $$GNURADIO_VERSION)
++
++GNURADIO_HEX_VERSION = $$system( \
++ "echo $(( \
++ ($$GNURADIO_VERSION_MAJOR / 10) << 20 | \
++ ($$GNURADIO_VERSION_MAJOR % 10) << 16 | \
++ ($$GNURADIO_VERSION_MINOR / 10) << 12 | \
++ ($$GNURADIO_VERSION_MINOR % 10) << 8 | \
++ ($$GNURADIO_VERSION_PATCH / 10) << 4 | \
++ ($$GNURADIO_VERSION_PATCH % 10) << 0 \
++ ))" \
++)
++DEFINES += GNURADIO_VERSION=$$GNURADIO_HEX_VERSION
++
++greaterThan(GNURADIO_VERSION_MINOR, 7) {
++ PKGCONFIG += log4cpp
++}
++
+ INCPATH += src/
+
+ unix:!macx {
+
diff --git a/package/gqrx/0006-support_shells_without_here-string_operator.patch b/package/gqrx/0006-support_shells_without_here-string_operator.patch
new file mode 100644
index 0000000000..e2513994ce
--- /dev/null
+++ b/package/gqrx/0006-support_shells_without_here-string_operator.patch
@@ -0,0 +1,26 @@
+From 3203dd9d0e852b1c5c79f410f9de65fb89eef76b Mon Sep 17 00:00:00 2001
+From: Alexander Fasching <fasching.a91@gmail.com>
+Date: Mon, 28 Oct 2019 12:19:22 +0100
+Subject: [PATCH 6/6] Support shells without here-string operator
+
+---
+ gqrx.pro | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/gqrx.pro b/gqrx.pro
+index ea187798..f40b98a2 100644
+--- a/gqrx.pro
++++ b/gqrx.pro
+@@ -266,9 +266,9 @@ PKGCONFIG += gnuradio-analog \
+ # Detect GNU Radio version and link against log4cpp for 3.8
+ GNURADIO_VERSION = $$system(pkg-config --modversion gnuradio-runtime)
+
+-GNURADIO_VERSION_MAJOR = $$system(cut -d '.' -f1 <<< $$GNURADIO_VERSION)
+-GNURADIO_VERSION_MINOR = $$system(cut -d '.' -f2 <<< $$GNURADIO_VERSION)
+-GNURADIO_VERSION_PATCH = $$system(cut -d '.' -f3 <<< $$GNURADIO_VERSION)
++GNURADIO_VERSION_MAJOR = $$system(echo $$GNURADIO_VERSION | cut -d '.' -f1 -)
++GNURADIO_VERSION_MINOR = $$system(echo $$GNURADIO_VERSION | cut -d '.' -f2 -)
++GNURADIO_VERSION_PATCH = $$system(echo $$GNURADIO_VERSION | cut -d '.' -f3 -)
+
+ GNURADIO_HEX_VERSION = $$system( \
+ "echo $(( \
--
2.24.1
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [Buildroot] [PATCH v2 2/6] package/gr-osmosdr: bump version to support Gnuradio 3.8
2020-01-17 11:02 [Buildroot] [PATCH v2 1/6] package/gqrx: backport/adapt patch to suppport Gnuradio 3.8 Gwenhael Goavec-Merou
@ 2020-01-17 11:02 ` Gwenhael Goavec-Merou
2020-01-17 11:02 ` [Buildroot] [PATCH v2 3/6] package/gnuradio: bump to version 3.8.0.0 Gwenhael Goavec-Merou
` (4 subsequent siblings)
5 siblings, 0 replies; 11+ messages in thread
From: Gwenhael Goavec-Merou @ 2020-01-17 11:02 UTC (permalink / raw)
To: buildroot
From: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
Gnuradio 3.8 has break some functions or header. Current gr-osmosdr release does not
support these new features, so moves to latest hash with Gnuradio 3.8 support
Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
---
package/gr-osmosdr/gr-osmosdr.hash | 2 +-
package/gr-osmosdr/gr-osmosdr.mk | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/package/gr-osmosdr/gr-osmosdr.hash b/package/gr-osmosdr/gr-osmosdr.hash
index d82864d307..cc6bd11dba 100644
--- a/package/gr-osmosdr/gr-osmosdr.hash
+++ b/package/gr-osmosdr/gr-osmosdr.hash
@@ -1,3 +1,3 @@
# Locally calculated:
-sha256 a5820e80465d895a9b4b73e0ff01924d6b612a9a390bbd3488177379a9539d00 gr-osmosdr-0.1.5.tar.gz
+sha256 48f92dc02b86ce6d299b35db249f2c8099bb45326c979b6225a020a4188e4204 gr-osmosdr-46698a67e7e06419eefaf45c95129c0c12669045.tar.gz
sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING
diff --git a/package/gr-osmosdr/gr-osmosdr.mk b/package/gr-osmosdr/gr-osmosdr.mk
index 645c156e7a..98b6e25012 100644
--- a/package/gr-osmosdr/gr-osmosdr.mk
+++ b/package/gr-osmosdr/gr-osmosdr.mk
@@ -4,8 +4,8 @@
#
################################################################################
-GR_OSMOSDR_VERSION = 0.1.5
-GR_OSMOSDR_SITE = $(call github,osmocom,gr-osmosdr,v$(GR_OSMOSDR_VERSION))
+GR_OSMOSDR_VERSION = 46698a67e7e06419eefaf45c95129c0c12669045
+GR_OSMOSDR_SITE = $(call github,osmocom,gr-osmosdr,$(GR_OSMOSDR_VERSION))
GR_OSMOSDR_LICENSE = GPL-3.0+
GR_OSMOSDR_LICENSE_FILES = COPYING
--
2.24.1
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [Buildroot] [PATCH v2 3/6] package/gnuradio: bump to version 3.8.0.0
2020-01-17 11:02 [Buildroot] [PATCH v2 1/6] package/gqrx: backport/adapt patch to suppport Gnuradio 3.8 Gwenhael Goavec-Merou
2020-01-17 11:02 ` [Buildroot] [PATCH v2 2/6] package/gr-osmosdr: bump version to support " Gwenhael Goavec-Merou
@ 2020-01-17 11:02 ` Gwenhael Goavec-Merou
2020-02-03 22:42 ` Thomas Petazzoni
2020-01-17 11:02 ` [Buildroot] [PATCH v2 4/6] package/gnuradio: add python3 support Gwenhael Goavec-Merou
` (3 subsequent siblings)
5 siblings, 1 reply; 11+ messages in thread
From: Gwenhael Goavec-Merou @ 2020-01-17 11:02 UTC (permalink / raw)
To: buildroot
From: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
Since 2019/08/09 a new version of gnuradio is available.
This patch bump to this version with some modifications:
- suppress the applied patch 0001-socket_pdu_impl.cc-fix-build-with-boost-1.70.0.patch
- backport patch to have boost unit_test_framework optional instead of mandatory:
https://github.com/gnuradio/gnuradio/pull/2927
- backport patch to fix neon version detection:
https://github.com/gnuradio/volk/pull/319
- add boost atomic (used by pmt), log4cpp (now mandatory) and gmp as dependencies
- suppress the no more available BR2_PACKAGE_GNURADIO_LOG, since log4cpp is mandatory. Since this
option is now always true no need to add an entry in legacy.
- suppress all workaround for neon. Now volk is able to detect correctly neon
version.
- add explictly path to python interpreter
Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
---
Changes v1 -> v2:
* add backported patch (Arnout)
* explain why BR2_PACKAGE_GNURADIO_LOG is not added to legacy (Arnout)
* suppress everything about neon (Arnout)
---
...est_framework-required-only-when-ENA.patch | 92 +++++++++++++++++++
..._impl.cc-fix-build-with-boost-1.70.0.patch | 42 ---------
...MakeLists-fix-neon-version-detection.patch | 50 ++++++++++
package/gnuradio/Config.in | 10 +-
package/gnuradio/gnuradio.hash | 2 +-
package/gnuradio/gnuradio.mk | 31 ++-----
6 files changed, 153 insertions(+), 74 deletions(-)
create mode 100644 package/gnuradio/0001-add-boost-unit_test_framework-required-only-when-ENA.patch
delete mode 100644 package/gnuradio/0001-socket_pdu_impl.cc-fix-build-with-boost-1.70.0.patch
create mode 100644 package/gnuradio/0002-lib-CMakeLists-fix-neon-version-detection.patch
diff --git a/package/gnuradio/0001-add-boost-unit_test_framework-required-only-when-ENA.patch b/package/gnuradio/0001-add-boost-unit_test_framework-required-only-when-ENA.patch
new file mode 100644
index 0000000000..e00ed226cf
--- /dev/null
+++ b/package/gnuradio/0001-add-boost-unit_test_framework-required-only-when-ENA.patch
@@ -0,0 +1,92 @@
+From d6647680612276f2321cc6a83964e9264fca42a1 Mon Sep 17 00:00:00 2001
+From: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
+Date: Wed, 15 Jan 2020 17:23:08 +0100
+Subject: [PATCH] add boost unit_test_framework required only when
+ ENABLE_TESTING=ON
+
+Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
+---
+ CMakeLists.txt | 7 +++----
+ cmake/Modules/GnuradioConfig.cmake.in | 16 +++++++++++++---
+ cmake/Modules/GrBoost.cmake | 5 ++++-
+ 3 files changed, 20 insertions(+), 8 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index a47a945f9..58add6136 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -46,6 +46,9 @@ GR_CHECK_BUILD_TYPE(${CMAKE_BUILD_TYPE})
+ SET(CMAKE_BUILD_TYPE ${CMAKE_BUILD_TYPE} CACHE STRING "")
+ message(STATUS "Build type set to ${CMAKE_BUILD_TYPE}.")
+
++include(GrComponent)
++GR_REGISTER_COMPONENT("testing-support" ENABLE_TESTING)
++
+ # Set the version information here
+ SET(VERSION_MAJOR 3)
+ SET(VERSION_API 8)
+@@ -377,10 +380,6 @@ GR_REGISTER_COMPONENT("python-support" ENABLE_PYTHON
+ SIX_FOUND
+ )
+
+-GR_REGISTER_COMPONENT("testing-support" ENABLE_TESTING
+- Boost_FOUND
+-)
+-
+ if(${CMAKE_BUILD_TYPE} STREQUAL "Coverage")
+ include(CodeCoverage)
+ setup_target_for_coverage(coverage "ctest || exit 0" coverage)
+diff --git a/cmake/Modules/GnuradioConfig.cmake.in b/cmake/Modules/GnuradioConfig.cmake.in
+index 1e5ad20ec..f59e74b8b 100644
+--- a/cmake/Modules/GnuradioConfig.cmake.in
++++ b/cmake/Modules/GnuradioConfig.cmake.in
+@@ -24,15 +24,25 @@ list(INSERT CMAKE_MODULE_PATH 0 "${CMAKE_CURRENT_LIST_DIR}")
+
+ find_dependency(LOG4CPP)
+ find_dependency(MPLIB)
+-find_dependency(Boost "@Boost_MAJOR_VERSION at .@Boost_MINOR_VERSION at .@Boost_SUBMINOR_VERSION@" COMPONENTS
++
++set(BOOST_REQUIRED_COMPONENTS
+ date_time
+ program_options
+ filesystem
+ system
+ regex
+ thread
+- unit_test_framework
+- )
++)
++
++if (NOT ENABLE_TESTING)
++ set(ENABLE_TESTING @ENABLE_TESTING@ CACHE BOOL "Enable testing support")
++endif()
++
++if(ENABLE_TESTING)
++ list(APPEND BOOST_REQUIRED_COMPONENTS unit_test_framework)
++endif(ENABLE_TESTING)
++
++find_dependency(Boost "@Boost_MAJOR_VERSION at .@Boost_MINOR_VERSION at .@Boost_SUBMINOR_VERSION@" COMPONENTS ${BOOST_REQUIRED_COMPONENTS})
+ find_dependency(Volk)
+ set(ENABLE_PYTHON @ENABLE_PYTHON@ CACHE BOOL "Enable Python & SWIG")
+ if(${ENABLE_PYTHON})
+diff --git a/cmake/Modules/GrBoost.cmake b/cmake/Modules/GrBoost.cmake
+index cd4b120f7..670e61054 100644
+--- a/cmake/Modules/GrBoost.cmake
++++ b/cmake/Modules/GrBoost.cmake
+@@ -33,9 +33,12 @@ set(BOOST_REQUIRED_COMPONENTS
+ system
+ regex
+ thread
+- unit_test_framework
+ )
+
++if(ENABLE_TESTING)
++ list(APPEND BOOST_REQUIRED_COMPONENTS unit_test_framework)
++endif(ENABLE_TESTING)
++
+ if(UNIX AND NOT BOOST_ROOT AND EXISTS "/usr/lib64")
+ list(APPEND BOOST_LIBRARYDIR "/usr/lib64") #fedora 64-bit fix
+ endif(UNIX AND NOT BOOST_ROOT AND EXISTS "/usr/lib64")
+--
+2.24.1
+
diff --git a/package/gnuradio/0001-socket_pdu_impl.cc-fix-build-with-boost-1.70.0.patch b/package/gnuradio/0001-socket_pdu_impl.cc-fix-build-with-boost-1.70.0.patch
deleted file mode 100644
index 2047cdd036..0000000000
--- a/package/gnuradio/0001-socket_pdu_impl.cc-fix-build-with-boost-1.70.0.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 6b450f36c14dd16d476f10f3e4eb1c5c26a78daa Mon Sep 17 00:00:00 2001
-From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
-Date: Thu, 18 Apr 2019 09:40:15 +0200
-Subject: [PATCH] socket_pdu_impl.cc: fix build with boost 1.70.0
-
-Fix #2446
-
-Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
-[Upstream status: https://github.com/gnuradio/gnuradio/pull/2451]
----
- gr-blocks/lib/socket_pdu_impl.cc | 8 +++++++-
- 1 file changed, 7 insertions(+), 1 deletion(-)
-
-diff --git a/gr-blocks/lib/socket_pdu_impl.cc b/gr-blocks/lib/socket_pdu_impl.cc
-index e20f1478f..d9dd1edd6 100644
---- a/gr-blocks/lib/socket_pdu_impl.cc
-+++ b/gr-blocks/lib/socket_pdu_impl.cc
-@@ -29,6 +29,12 @@
- #include <gnuradio/io_signature.h>
- #include <gnuradio/blocks/pdu.h>
-
-+#if BOOST_VERSION >= 107000
-+#define GET_IO_SERVICE(s) ((boost::asio::io_context&)(s)->get_executor().context())
-+#else
-+#define GET_IO_SERVICE(s) ((s)->get_io_service())
-+#endif
-+
- namespace gr {
- namespace blocks {
-
-@@ -165,7 +171,7 @@ namespace gr {
- void
- socket_pdu_impl::start_tcp_accept()
- {
-- tcp_connection::sptr new_connection = tcp_connection::make(d_acceptor_tcp->get_io_service(), d_rxbuf.size(), d_tcp_no_delay);
-+ tcp_connection::sptr new_connection = tcp_connection::make(GET_IO_SERVICE(d_acceptor_tcp), d_rxbuf.size(), d_tcp_no_delay);
-
- d_acceptor_tcp->async_accept(new_connection->socket(),
- boost::bind(&socket_pdu_impl::handle_tcp_accept, this,
---
-2.20.1
-
diff --git a/package/gnuradio/0002-lib-CMakeLists-fix-neon-version-detection.patch b/package/gnuradio/0002-lib-CMakeLists-fix-neon-version-detection.patch
new file mode 100644
index 0000000000..aa160ea41a
--- /dev/null
+++ b/package/gnuradio/0002-lib-CMakeLists-fix-neon-version-detection.patch
@@ -0,0 +1,50 @@
+From 08f335450b9809acdbe88d894449ccd6d4a9ec75 Mon Sep 17 00:00:00 2001
+From: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
+Date: Wed, 15 Jan 2020 17:27:15 +0100
+Subject: [PATCH] lib/CMakeLists: fix neon version detection
+
+Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
+---
+ volk/lib/CMakeLists.txt | 14 +++++++-------
+ 1 file changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt
+index f969f2e..b85a22b 100644
+--- a/volk/lib/CMakeLists.txt
++++ b/volk/lib/CMakeLists.txt
+@@ -144,7 +144,7 @@ set(HAVE_AVX_CVTPI32_PS 0)
+ if(CPU_IS_x86)
+ # check to see if the compiler/linker works with xgetb instruction
+ if (NOT MSVC)
+- file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/test_xgetbv.c "unsigned long long _xgetbv(unsigned int index) { unsigned int eax, edx; __asm__ __volatile__(\"xgetbv\" : \"=a\"(eax), \"=d\"(edx) : \"c\"(index)); return ((unsigned long long)edx << 32) | eax; } int main (void) { (void) _xgetbv(0); return (0); }")
++ file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/test_xgetbv.c "#include <volk/volk_common.h>\n unsigned long long _xgetbv(unsigned int index) { unsigned int eax, edx; __VOLK_ASM __volatile__(\"xgetbv\" : \"=a\"(eax), \"=d\"(edx) : \"c\"(index)); return ((unsigned long long)edx << 32) | eax; } int main (void) { (void) _xgetbv(0); return (0); }")
+ else (NOT MSVC)
+ #MSVC defines an intrinsic
+ file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/test_xgetbv.c "#include <stdio.h> \n #include <intrin.h> \n int main() { int avxSupported = 0; \n#if (_MSC_FULL_VER >= 160040219) \nint cpuInfo[4]; __cpuid(cpuInfo, 1);\nif ((cpuInfo[2] & (1 << 27) || 0) && (cpuInfo[2] & (1 << 28) || 0)) \n{\nunsigned long long xcrFeatureMask = _xgetbv(_XCR_XFEATURE_ENABLED_MASK);\n avxSupported = (xcrFeatureMask & 0x6) == 6;}\n#endif \n return 1- avxSupported; }")
+@@ -263,17 +263,17 @@ check_c_source_compiles("#include <arm_neon.h>\nint main(){ uint8_t *dest; uint8
+ neon_compile_result)
+
+ if(neon_compile_result)
+- check_c_source_compiles("int main(){asm volatile(\"vrev32.8 q0, q0\");}"
++ check_c_source_compiles("#include <volk/volk_common.h>\n int main(){__VOLK_ASM volatile(\"vrev32.8 q0, q0\");}"
+ have_neonv7_result )
+- check_c_source_compiles("int main(){asm volatile(\"sub v1.4s,v1.4s,v1.4s\");}"
++ check_c_source_compiles("#include <volk/volk_common.h>\n int main(){__VOLK_ASM volatile(\"sub v1.4s,v1.4s,v1.4s\");}"
+ have_neonv8_result )
+
+- if (have_neonv7_result)
+- OVERRULE_ARCH(neonv8 "CPU is armv7")
++ if (NOT have_neonv7_result)
++ OVERRULE_ARCH(neonv7 "Compiler doesn't support neonv7")
+ endif()
+
+- if (have_neonv8_result)
+- OVERRULE_ARCH(neonv7 "CPU is armv8")
++ if (NOT have_neonv8_result)
++ OVERRULE_ARCH(neonv8 "Compiler doesn't support neonv8")
+ endif()
+ else(neon_compile_result)
+ OVERRULE_ARCH(neon "Compiler doesn't support NEON")
+--
+2.24.1
+
diff --git a/package/gnuradio/Config.in b/package/gnuradio/Config.in
index 442b86c692..72458f0961 100644
--- a/package/gnuradio/Config.in
+++ b/package/gnuradio/Config.in
@@ -17,12 +17,15 @@ config BR2_PACKAGE_GNURADIO
depends on !BR2_PACKAGE_PYTHON3
depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # boost-thread
select BR2_PACKAGE_BOOST
+ select BR2_PACKAGE_BOOST_ATOMIC
select BR2_PACKAGE_BOOST_DATE_TIME
select BR2_PACKAGE_BOOST_FILESYSTEM
select BR2_PACKAGE_BOOST_PROGRAM_OPTIONS
select BR2_PACKAGE_BOOST_REGEX
select BR2_PACKAGE_BOOST_SYSTEM
select BR2_PACKAGE_BOOST_THREAD
+ select BR2_PACKAGE_LOG4CPP
+ select BR2_PACKAGE_GMP
help
GNU Radio is a free & open-source software development
toolkit that provides signal processing blocks to implement
@@ -60,12 +63,6 @@ config BR2_PACKAGE_GNURADIO_FEC
help
FEC signal processing blocks
-config BR2_PACKAGE_GNURADIO_LOG
- bool "gr-log support"
- select BR2_PACKAGE_LOG4CPP
- help
- Enable logger component
-
config BR2_PACKAGE_GNURADIO_PYTHON
bool "python support"
depends on BR2_PACKAGE_PYTHON
@@ -73,6 +70,7 @@ config BR2_PACKAGE_GNURADIO_PYTHON
depends on BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL # python-numpy
select BR2_PACKAGE_BOOST_PYTHON
select BR2_PACKAGE_PYTHON_NUMPY # runtime
+ select BR2_PACKAGE_PYTHON_SIX # runtime
help
Enable python component
diff --git a/package/gnuradio/gnuradio.hash b/package/gnuradio/gnuradio.hash
index e47984e360..7c38110772 100644
--- a/package/gnuradio/gnuradio.hash
+++ b/package/gnuradio/gnuradio.hash
@@ -1,3 +1,3 @@
# Locally computed
-sha256 f14e1f8efbcbe04336b6981da207ada3306a8f08af2c0b4e9bb6f8b93036bbb9 gnuradio-3.7.13.5.tar.gz
+sha256 3a9c90111f22f2f6f30450731dc671ad28ce824fc1a7bc8ea0783da9b95a7092 gnuradio-3.8.0.0.tar.gz
sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING
diff --git a/package/gnuradio/gnuradio.mk b/package/gnuradio/gnuradio.mk
index 7ee44f26ae..a1dbb78e6e 100644
--- a/package/gnuradio/gnuradio.mk
+++ b/package/gnuradio/gnuradio.mk
@@ -4,7 +4,7 @@
#
################################################################################
-GNURADIO_VERSION = 3.7.13.5
+GNURADIO_VERSION = 3.8.0.0
GNURADIO_SITE = https://gnuradio.org/releases/gnuradio
GNURADIO_LICENSE = GPL-3.0+
GNURADIO_LICENSE_FILES = COPYING
@@ -16,12 +16,16 @@ GNURADIO_DEPENDENCIES = \
host-python-mako \
host-python-six \
host-swig \
- boost
+ boost \
+ log4cpp \
+ gmp
GNURADIO_CONF_OPTS = \
+ -DPYTHON_EXECUTABLE=$(HOST_DIR)/bin/python \
-DENABLE_DEFAULT=OFF \
-DENABLE_VOLK=ON \
-DENABLE_GNURADIO_RUNTIME=ON \
+ -DENABLE_TESTING=OFF \
-DENABLE_GR_QTGUI=OFF \
-DXMLTO_EXECUTABLE=NOTFOUND
@@ -33,22 +37,6 @@ ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y)
GNURADIO_CONF_OPTS += -DCMAKE_EXE_LINKER_FLAGS=-latomic
endif
-# Yes, this is silly, because -march is already known by the compiler
-# with the internal toolchain, and passed by the external wrapper for
-# external toolchains. Nonetheless, gnuradio does some matching on the
-# CFLAGS to decide whether to build the NEON functions or not, and
-# wants to see the string 'armv7' in the CFLAGS.
-ifeq ($(BR2_ARM_CPU_ARMV7A)$(BR2_ARM_CPU_HAS_NEON),yy)
-GNURADIO_CONF_OPTS += -DCMAKE_C_FLAGS="$(TARGET_CFLAGS) -march=armv7-a"
-endif
-
-# As soon as -mfpu=neon is supported by the compiler, gnuradio will try
-# to use it. But having NEON support in the compiler doesn't necessarily
-# mean we have NEON support in our CPU.
-ifeq ($(BR2_ARM_CPU_HAS_NEON),)
-GNURADIO_CONF_OPTS += -Dhave_mfpu_neon=0
-endif
-
ifeq ($(BR2_PACKAGE_ORC),y)
GNURADIO_DEPENDENCIES += orc
GNURADIO_CONF_OPTS += -DENABLE_ORC=ON
@@ -118,13 +106,6 @@ else
GNURADIO_CONF_OPTS += -DENABLE_GR_FILTER=OFF
endif
-ifeq ($(BR2_PACKAGE_GNURADIO_LOG),y)
-GNURADIO_DEPENDENCIES += log4cpp
-GNURADIO_CONF_OPTS += -DENABLE_GR_LOG=ON
-else
-GNURADIO_CONF_OPTS += -DENABLE_GR_LOG=OFF
-endif
-
ifeq ($(BR2_PACKAGE_GNURADIO_PYTHON),y)
GNURADIO_DEPENDENCIES += python
GNURADIO_CONF_OPTS += -DENABLE_PYTHON=ON
--
2.24.1
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [Buildroot] [PATCH v2 4/6] package/gnuradio: add python3 support
2020-01-17 11:02 [Buildroot] [PATCH v2 1/6] package/gqrx: backport/adapt patch to suppport Gnuradio 3.8 Gwenhael Goavec-Merou
2020-01-17 11:02 ` [Buildroot] [PATCH v2 2/6] package/gr-osmosdr: bump version to support " Gwenhael Goavec-Merou
2020-01-17 11:02 ` [Buildroot] [PATCH v2 3/6] package/gnuradio: bump to version 3.8.0.0 Gwenhael Goavec-Merou
@ 2020-01-17 11:02 ` Gwenhael Goavec-Merou
2020-02-03 22:42 ` Thomas Petazzoni
2020-01-17 11:02 ` [Buildroot] [PATCH v2 5/6] package/gr-osmosdr: " Gwenhael Goavec-Merou
` (2 subsequent siblings)
5 siblings, 1 reply; 11+ messages in thread
From: Gwenhael Goavec-Merou @ 2020-01-17 11:02 UTC (permalink / raw)
To: buildroot
From: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
gnuradio 3.8.0.0 support both python2 and python3.
Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
---
Changes v1 -> v2:
* don't supress python2 support (Arnout)
* add dependency to python2 or python3 to have correct python-mako version (Arnout)
---
package/gnuradio/Config.in | 2 +-
package/gnuradio/gnuradio.mk | 3 ++-
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/package/gnuradio/Config.in b/package/gnuradio/Config.in
index 72458f0961..c8b8d62264 100644
--- a/package/gnuradio/Config.in
+++ b/package/gnuradio/Config.in
@@ -65,7 +65,7 @@ config BR2_PACKAGE_GNURADIO_FEC
config BR2_PACKAGE_GNURADIO_PYTHON
bool "python support"
- depends on BR2_PACKAGE_PYTHON
+ depends on BR2_PACKAGE_PYTHON || BR2_PACKAGE_PYTHON3
depends on BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS
depends on BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL # python-numpy
select BR2_PACKAGE_BOOST_PYTHON
diff --git a/package/gnuradio/gnuradio.mk b/package/gnuradio/gnuradio.mk
index a1dbb78e6e..41d4619f72 100644
--- a/package/gnuradio/gnuradio.mk
+++ b/package/gnuradio/gnuradio.mk
@@ -13,6 +13,7 @@ GNURADIO_SUPPORTS_IN_SOURCE_BUILD = NO
# host-python-mako and host-python-six are needed for volk to compile
GNURADIO_DEPENDENCIES = \
+ $(if $(BR2_PACKAGE_PYTHON3),host-python3,host-python) \
host-python-mako \
host-python-six \
host-swig \
@@ -107,7 +108,7 @@ GNURADIO_CONF_OPTS += -DENABLE_GR_FILTER=OFF
endif
ifeq ($(BR2_PACKAGE_GNURADIO_PYTHON),y)
-GNURADIO_DEPENDENCIES += python
+GNURADIO_DEPENDENCIES += $(if $(BR2_PACKAGE_PYTHON3),python3,python)
GNURADIO_CONF_OPTS += -DENABLE_PYTHON=ON
else
GNURADIO_CONF_OPTS += -DENABLE_PYTHON=OFF
--
2.24.1
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [Buildroot] [PATCH v2 5/6] package/gr-osmosdr: add python3 support
2020-01-17 11:02 [Buildroot] [PATCH v2 1/6] package/gqrx: backport/adapt patch to suppport Gnuradio 3.8 Gwenhael Goavec-Merou
` (2 preceding siblings ...)
2020-01-17 11:02 ` [Buildroot] [PATCH v2 4/6] package/gnuradio: add python3 support Gwenhael Goavec-Merou
@ 2020-01-17 11:02 ` Gwenhael Goavec-Merou
2020-02-03 22:43 ` Thomas Petazzoni
2020-01-17 11:02 ` [Buildroot] [PATCH v2 6/6] package/gqrx: suppress dependency to not BR2_PACKAGE_PYTHON3 Gwenhael Goavec-Merou
2020-02-03 22:41 ` [Buildroot] [PATCH v2 1/6] package/gqrx: backport/adapt patch to suppport Gnuradio 3.8 Thomas Petazzoni
5 siblings, 1 reply; 11+ messages in thread
From: Gwenhael Goavec-Merou @ 2020-01-17 11:02 UTC (permalink / raw)
To: buildroot
From: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
Gnuradio 3.8 support python2 and python3 and since gr-osmosdr support both two,
adapts dependencies
Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
---
package/gr-osmosdr/Config.in | 2 +-
package/gr-osmosdr/gr-osmosdr.mk | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/package/gr-osmosdr/Config.in b/package/gr-osmosdr/Config.in
index f26380371f..ee01f5add4 100644
--- a/package/gr-osmosdr/Config.in
+++ b/package/gr-osmosdr/Config.in
@@ -11,7 +11,7 @@ if BR2_PACKAGE_GR_OSMOSDR
config BR2_PACKAGE_GR_OSMOSDR_PYTHON
bool "python support"
- depends on BR2_PACKAGE_GNURADIO_PYTHON
+ depends on BR2_PACKAGE_GNURADIO_PYTHON || BR2_PACKAGE_GNURADIO_PYTHON3
help
Enable Python support
diff --git a/package/gr-osmosdr/gr-osmosdr.mk b/package/gr-osmosdr/gr-osmosdr.mk
index 98b6e25012..003f406602 100644
--- a/package/gr-osmosdr/gr-osmosdr.mk
+++ b/package/gr-osmosdr/gr-osmosdr.mk
@@ -22,7 +22,7 @@ GR_OSMOSDR_INSTALL_STAGING = YES
ifeq ($(BR2_PACKAGE_GR_OSMOSDR_PYTHON),y)
GR_OSMOSDR_CONF_OPTS += -DENABLE_PYTHON=ON
-GR_OSMOSDR_DEPENDENCIES += python
+GR_OSMOSDR_DEPENDENCIES += $(if $(BR2_PACKAGE_PYTHON3),python3,python)
else
GR_OSMOSDR_CONF_OPTS += -DENABLE_PYTHON=OFF
endif
--
2.24.1
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [Buildroot] [PATCH v2 6/6] package/gqrx: suppress dependency to not BR2_PACKAGE_PYTHON3
2020-01-17 11:02 [Buildroot] [PATCH v2 1/6] package/gqrx: backport/adapt patch to suppport Gnuradio 3.8 Gwenhael Goavec-Merou
` (3 preceding siblings ...)
2020-01-17 11:02 ` [Buildroot] [PATCH v2 5/6] package/gr-osmosdr: " Gwenhael Goavec-Merou
@ 2020-01-17 11:02 ` Gwenhael Goavec-Merou
2020-02-03 22:41 ` [Buildroot] [PATCH v2 1/6] package/gqrx: backport/adapt patch to suppport Gnuradio 3.8 Thomas Petazzoni
5 siblings, 0 replies; 11+ messages in thread
From: Gwenhael Goavec-Merou @ 2020-01-17 11:02 UTC (permalink / raw)
To: buildroot
From: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
Since Gnuradio 3.8 support python3 dependency to only python2 is no more
mandatory
Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
---
package/gqrx/Config.in | 2 --
1 file changed, 2 deletions(-)
diff --git a/package/gqrx/Config.in b/package/gqrx/Config.in
index 990d594c6a..d873c6a4d4 100644
--- a/package/gqrx/Config.in
+++ b/package/gqrx/Config.in
@@ -1,6 +1,5 @@
comment "gqrx needs a toolchain w/ C++, threads, wchar, dynamic library"
depends on BR2_USE_MMU # gnuradio
- depends on !BR2_PACKAGE_PYTHON3 # gnuradio
depends on BR2_TOOLCHAIN_HAS_SYNC_4 || BR2_TOOLCHAIN_HAS_ATOMIC
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \
!BR2_USE_WCHAR || !BR2_STATIC_LIBS
@@ -20,7 +19,6 @@ config BR2_PACKAGE_GQRX
depends on BR2_USE_WCHAR # boost
depends on BR2_TOOLCHAIN_HAS_SYNC_4 || BR2_TOOLCHAIN_HAS_ATOMIC
depends on BR2_PACKAGE_QT5
- depends on !BR2_PACKAGE_PYTHON3
depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # gnuradio
select BR2_PACKAGE_BOOST
select BR2_PACKAGE_BOOST_PROGRAM_OPTIONS
--
2.24.1
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [Buildroot] [PATCH v2 1/6] package/gqrx: backport/adapt patch to suppport Gnuradio 3.8
2020-01-17 11:02 [Buildroot] [PATCH v2 1/6] package/gqrx: backport/adapt patch to suppport Gnuradio 3.8 Gwenhael Goavec-Merou
` (4 preceding siblings ...)
2020-01-17 11:02 ` [Buildroot] [PATCH v2 6/6] package/gqrx: suppress dependency to not BR2_PACKAGE_PYTHON3 Gwenhael Goavec-Merou
@ 2020-02-03 22:41 ` Thomas Petazzoni
5 siblings, 0 replies; 11+ messages in thread
From: Thomas Petazzoni @ 2020-02-03 22:41 UTC (permalink / raw)
To: buildroot
On Fri, 17 Jan 2020 12:02:27 +0100
Gwenhael Goavec-Merou <gwenj@trabucayre.com> wrote:
> From: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
>
> Gnuradio 3.8 has break some functions or header. Current gqrx release does
> not support these new features.
>
> So we add compatibility backport patches from pull-request:
> https://github.com/csete/gqrx/pull/705
>
> Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
> ---
> package/gqrx/0001-add_includes_for_GR38.patch | 194 ++++++++++++++++++
> ...2-build_with_cmake_for_both_versions.patch | 59 ++++++
> ...0003-pass_GNU_Radio_version_as_macro.patch | 161 +++++++++++++++
> .../0004-link_against_gr-audio_library.patch | 21 ++
> ...-support_37_and_38_builds_with_qmake.patch | 53 +++++
> ..._shells_without_here-string_operator.patch | 26 +++
> 6 files changed, 514 insertions(+)
> create mode 100644 package/gqrx/0001-add_includes_for_GR38.patch
> create mode 100644 package/gqrx/0002-build_with_cmake_for_both_versions.patch
> create mode 100644 package/gqrx/0003-pass_GNU_Radio_version_as_macro.patch
> create mode 100644 package/gqrx/0004-link_against_gr-audio_library.patch
> create mode 100644 package/gqrx/0005-support_37_and_38_builds_with_qmake.patch
> create mode 100644 package/gqrx/0006-support_shells_without_here-string_operator.patch
I've applied the entire series. I will make a few comments on some of
the patches.
Thanks!
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Buildroot] [PATCH v2 3/6] package/gnuradio: bump to version 3.8.0.0
2020-01-17 11:02 ` [Buildroot] [PATCH v2 3/6] package/gnuradio: bump to version 3.8.0.0 Gwenhael Goavec-Merou
@ 2020-02-03 22:42 ` Thomas Petazzoni
2020-02-04 5:59 ` Gwenhael Goavec-Merou
0 siblings, 1 reply; 11+ messages in thread
From: Thomas Petazzoni @ 2020-02-03 22:42 UTC (permalink / raw)
To: buildroot
On Fri, 17 Jan 2020 12:02:29 +0100
Gwenhael Goavec-Merou <gwenj@trabucayre.com> wrote:
> From: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
>
> Since 2019/08/09 a new version of gnuradio is available.
> This patch bump to this version with some modifications:
> - suppress the applied patch 0001-socket_pdu_impl.cc-fix-build-with-boost-1.70.0.patch
> - backport patch to have boost unit_test_framework optional instead of mandatory:
> https://github.com/gnuradio/gnuradio/pull/2927
> - backport patch to fix neon version detection:
> https://github.com/gnuradio/volk/pull/319
> - add boost atomic (used by pmt), log4cpp (now mandatory) and gmp as dependencies
> - suppress the no more available BR2_PACKAGE_GNURADIO_LOG, since log4cpp is mandatory. Since this
> option is now always true no need to add an entry in legacy.
> - suppress all workaround for neon. Now volk is able to detect correctly neon
> version.
> - add explictly path to python interpreter
>
> Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
> ---
> Changes v1 -> v2:
> * add backported patch (Arnout)
> * explain why BR2_PACKAGE_GNURADIO_LOG is not added to legacy (Arnout)
> * suppress everything about neon (Arnout)
> ---
> ...est_framework-required-only-when-ENA.patch | 92 +++++++++++++++++++
> ..._impl.cc-fix-build-with-boost-1.70.0.patch | 42 ---------
> ...MakeLists-fix-neon-version-detection.patch | 50 ++++++++++
Did you submit upstream the two patches that you have added ?
Thanks,
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Buildroot] [PATCH v2 4/6] package/gnuradio: add python3 support
2020-01-17 11:02 ` [Buildroot] [PATCH v2 4/6] package/gnuradio: add python3 support Gwenhael Goavec-Merou
@ 2020-02-03 22:42 ` Thomas Petazzoni
0 siblings, 0 replies; 11+ messages in thread
From: Thomas Petazzoni @ 2020-02-03 22:42 UTC (permalink / raw)
To: buildroot
On Fri, 17 Jan 2020 12:02:30 +0100
Gwenhael Goavec-Merou <gwenj@trabucayre.com> wrote:
> From: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
>
> gnuradio 3.8.0.0 support both python2 and python3.
>
> Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
You forgot to drop the depends on !BR2_PACKAGE_PYTHON3 on the gnuradio
option... if you don't remove it, we still can't build gnuradio with
python3 enabled. So I've dropped it when applying.
Thanks!
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Buildroot] [PATCH v2 5/6] package/gr-osmosdr: add python3 support
2020-01-17 11:02 ` [Buildroot] [PATCH v2 5/6] package/gr-osmosdr: " Gwenhael Goavec-Merou
@ 2020-02-03 22:43 ` Thomas Petazzoni
0 siblings, 0 replies; 11+ messages in thread
From: Thomas Petazzoni @ 2020-02-03 22:43 UTC (permalink / raw)
To: buildroot
On Fri, 17 Jan 2020 12:02:31 +0100
Gwenhael Goavec-Merou <gwenj@trabucayre.com> wrote:
> From: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
>
> Gnuradio 3.8 support python2 and python3 and since gr-osmosdr support both two,
> adapts dependencies
>
> Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
> ---
> package/gr-osmosdr/Config.in | 2 +-
> package/gr-osmosdr/gr-osmosdr.mk | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/package/gr-osmosdr/Config.in b/package/gr-osmosdr/Config.in
> index f26380371f..ee01f5add4 100644
> --- a/package/gr-osmosdr/Config.in
> +++ b/package/gr-osmosdr/Config.in
> @@ -11,7 +11,7 @@ if BR2_PACKAGE_GR_OSMOSDR
>
> config BR2_PACKAGE_GR_OSMOSDR_PYTHON
> bool "python support"
> - depends on BR2_PACKAGE_GNURADIO_PYTHON
> + depends on BR2_PACKAGE_GNURADIO_PYTHON || BR2_PACKAGE_GNURADIO_PYTHON3
This option BR2_PACKAGE_GNURADIO_PYTHON3 does not exist, so I dropped
this part of the change.
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Buildroot] [PATCH v2 3/6] package/gnuradio: bump to version 3.8.0.0
2020-02-03 22:42 ` Thomas Petazzoni
@ 2020-02-04 5:59 ` Gwenhael Goavec-Merou
0 siblings, 0 replies; 11+ messages in thread
From: Gwenhael Goavec-Merou @ 2020-02-04 5:59 UTC (permalink / raw)
To: buildroot
Hi and first of all thanks.
On Mon, 3 Feb 2020 23:42:20 +0100
Thomas Petazzoni <thomas.petazzoni@bootlin.com> wrote:
> On Fri, 17 Jan 2020 12:02:29 +0100
> Gwenhael Goavec-Merou <gwenj@trabucayre.com> wrote:
>
> > From: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
> >
> > Since 2019/08/09 a new version of gnuradio is available.
> > This patch bump to this version with some modifications:
> > - suppress the applied patch
> > 0001-socket_pdu_impl.cc-fix-build-with-boost-1.70.0.patch
> > - backport patch to have boost unit_test_framework optional instead of
> > mandatory: https://github.com/gnuradio/gnuradio/pull/2927
> > - backport patch to fix neon version detection:
> > https://github.com/gnuradio/volk/pull/319
> > - add boost atomic (used by pmt), log4cpp (now mandatory) and gmp as
> > dependencies
> > - suppress the no more available BR2_PACKAGE_GNURADIO_LOG, since log4cpp is
> > mandatory. Since this option is now always true no need to add an entry in
> > legacy.
> > - suppress all workaround for neon. Now volk is able to detect correctly
> > neon version.
> > - add explictly path to python interpreter
> >
> > Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
> > ---
> > Changes v1 -> v2:
> > * add backported patch (Arnout)
> > * explain why BR2_PACKAGE_GNURADIO_LOG is not added to legacy (Arnout)
> > * suppress everything about neon (Arnout)
> > ---
> > ...est_framework-required-only-when-ENA.patch | 92 +++++++++++++++++++
> > ..._impl.cc-fix-build-with-boost-1.70.0.patch | 42 ---------
> > ...MakeLists-fix-neon-version-detection.patch | 50 ++++++++++
>
> Did you submit upstream the two patches that you have added ?
>
Yes, as mentionned in commit message, patches have been summited to gnuradio
and volk, now applied in master branch and backported to maint-38. As soon as a
new release is available these ones will be just dropped.
> Thanks,
>
> Thomas
Thanks again
Gwen
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2020-02-04 5:59 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-01-17 11:02 [Buildroot] [PATCH v2 1/6] package/gqrx: backport/adapt patch to suppport Gnuradio 3.8 Gwenhael Goavec-Merou
2020-01-17 11:02 ` [Buildroot] [PATCH v2 2/6] package/gr-osmosdr: bump version to support " Gwenhael Goavec-Merou
2020-01-17 11:02 ` [Buildroot] [PATCH v2 3/6] package/gnuradio: bump to version 3.8.0.0 Gwenhael Goavec-Merou
2020-02-03 22:42 ` Thomas Petazzoni
2020-02-04 5:59 ` Gwenhael Goavec-Merou
2020-01-17 11:02 ` [Buildroot] [PATCH v2 4/6] package/gnuradio: add python3 support Gwenhael Goavec-Merou
2020-02-03 22:42 ` Thomas Petazzoni
2020-01-17 11:02 ` [Buildroot] [PATCH v2 5/6] package/gr-osmosdr: " Gwenhael Goavec-Merou
2020-02-03 22:43 ` Thomas Petazzoni
2020-01-17 11:02 ` [Buildroot] [PATCH v2 6/6] package/gqrx: suppress dependency to not BR2_PACKAGE_PYTHON3 Gwenhael Goavec-Merou
2020-02-03 22:41 ` [Buildroot] [PATCH v2 1/6] package/gqrx: backport/adapt patch to suppport Gnuradio 3.8 Thomas Petazzoni
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox