Merge pull request #2694 from blshkv/master

gr-gsm
This commit is contained in:
github-actions[bot] 2026-02-17 01:29:55 +00:00 committed by GitHub
commit 0076a58c25
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 179 additions and 0 deletions

View file

@ -0,0 +1 @@
DIST gr-gsm-20240927.tar.gz 327841 BLAKE2B 130f08132032f3ad03dad49a28dfc0fc541bac206efb82df89b69dfc1f170e81d352f3a26e81b2cdbfeec5ed8322695a52efc669ee9f8134621392ce7c8dfcdf SHA512 c66ce50215f6b7da7914eaed198f2b14cc76f4ba3a5c915dca9d0abcbf485d77f46173084e91caa920947625416e1ed0087c8f71923fa28f8a603973989ddd9f

View file

@ -0,0 +1,61 @@
diff '--color=auto' -Naur ./gr-gsm-a5e61786ad9b57f12a97a83c7d4c1743b5eb34ff.orig/include/gsm/misc_utils/udp_socket.h gr-gsm-a5e61786ad9b57f12a97a83c7d4c1743b5eb34ff/include/gsm/misc_utils/udp_socket.h
--- a/include/gsm/misc_utils/udp_socket.h 2024-09-27 06:26:03.000000000 +0800
+++ b/include/gsm/misc_utils/udp_socket.h 2026-02-16 15:19:45.912805313 +0800
@@ -36,7 +36,7 @@
class udp_socket
{
private:
- boost::asio::io_service d_io_service;
+ boost::asio::io_context d_io_context;
std::vector<char> d_rxbuf;
gr::thread::thread d_thread;
bool d_started;
diff '--color=auto' -Naur ./gr-gsm-a5e61786ad9b57f12a97a83c7d4c1743b5eb34ff.orig/lib/misc_utils/udp_socket.cc gr-gsm-a5e61786ad9b57f12a97a83c7d4c1743b5eb34ff/lib/misc_utils/udp_socket.cc
--- a/lib/misc_utils/udp_socket.cc 2024-09-27 06:26:03.000000000 +0800
+++ b/lib/misc_utils/udp_socket.cc 2026-02-16 15:21:37.091666320 +0800
@@ -47,20 +47,17 @@
d_rxbuf.resize(mtu);
// Resolve remote host address
- udp::resolver resolver(d_io_service);
+ udp::resolver resolver(d_io_context);
- udp::resolver::query rx_query(
- udp::v4(), bind_addr, src_port,
- boost::asio::ip::resolver_query_base::passive);
- udp::resolver::query tx_query(
- udp::v4(), remote_addr, dst_port,
- boost::asio::ip::resolver_query_base::passive);
+ auto rx_results = resolver.resolve(udp::v4(), bind_addr, src_port, udp::resolver::passive);
+ auto tx_results = resolver.resolve(udp::v4(), remote_addr, dst_port, udp::resolver::passive);
- d_udp_endpoint_rx = *resolver.resolve(rx_query);
- d_udp_endpoint_tx = *resolver.resolve(tx_query);
+ // Get the endpoints from the results
+ d_udp_endpoint_rx = *rx_results.begin();
+ d_udp_endpoint_tx = *tx_results.begin();
// Create a socket
- d_udp_socket.reset(new udp::socket(d_io_service, d_udp_endpoint_rx));
+ d_udp_socket.reset(new udp::socket(d_io_context, d_udp_endpoint_rx));
// Setup read handler
d_udp_socket->async_receive_from(
@@ -77,7 +74,7 @@
udp_socket::~udp_socket()
{
// Stop server
- d_io_service.stop();
+ d_io_context.stop();
d_thread.interrupt();
d_thread.join();
}
@@ -85,7 +82,7 @@
void
udp_socket::run_io_service(void)
{
- d_io_service.run();
+ d_io_context.run();
}
void

View file

@ -0,0 +1,42 @@
--- a/python/gsm/receiver/multiarfcns_receiver.py.orig 2024-09-27 06:26:03.000000000 +0800
+++ b/python/gsm/receiver/multiarfcns_receiver.py 2026-02-16 15:40:47.365695771 +0800
@@ -10,7 +10,7 @@
# Copyright: Deligrim
# Description: Multi Arfcns GSM Receiver
# GNU Radio version: 3.8.2.0
-from PyQt5 import Qt
+from PyQt6 import QtWidgets
from gnuradio import qtgui
import sip
from gnuradio.filter import firdes
@@ -22,7 +22,7 @@
import gnuradio.gsm.arfcn as arfcn
import math
-class multiarfcns_receiver(gr.hier_block2, Qt.QWidget):
+class multiarfcns_receiver(gr.hier_block2, QtWidgets):
def __init__(self, arfcns=[725,661], center_freq=935e6, osr=4, tseq=1, wide_samp_rate=2e6, gui=False):
gr.hier_block2.__init__(
self, "Multi Arfcns GSM Receiver",
@@ -33,9 +33,9 @@
self.message_port_register_hier_out("out_cx")
- Qt.QWidget.__init__(self)
- self.top_layout = Qt.QVBoxLayout()
- self.top_grid_layout = Qt.QGridLayout()
+ QWidget.__init__(self)
+ self.top_layout = QtWidgets.QVBoxLayout()
+ self.top_grid_layout = QtWidgets.QGridLayout()
self.top_layout.addLayout(self.top_grid_layout)
self.setLayout(self.top_layout)
@@ -114,7 +114,7 @@
qtgui_waterfall_sink_x.set_intensity_range(-90, -30)
- _qtgui_waterfall_sink_x_win = sip.wrapinstance(qtgui_waterfall_sink_x.pyqwidget(), Qt.QWidget)
+ _qtgui_waterfall_sink_x_win = sip.wrapinstance(qtgui_waterfall_sink_x.pyqwidget(), QWidget)
self.qtgui_waterfall_sinks_x_win.append(_qtgui_waterfall_sink_x_win)
self.top_grid_layout.addWidget(_qtgui_waterfall_sink_x_win, int(i/3), i%3, 1, 1)

View file

@ -0,0 +1,64 @@
# Copyright 2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{12..14} )
inherit cmake python-single-r1
DESCRIPTION="Set of tools for receiving information transmitted by GSM equipment/devices"
HOMEPAGE="https://github.com/ptrkrysik/gr-gsm"
#EGIT_REPO_URI="https://github.com/ptrkrysik/gr-gsm.git"
#EGIT_BRANCH="porting_to_gr38"
# https://github.com/ptrkrysik/gr-gsm/pull/600
# BRANCH: bkerler_fork
HASH_COMMIT="a5e61786ad9b57f12a97a83c7d4c1743b5eb34ff"
SRC_URI="https://github.com/ptrkrysik/gr-gsm/archive/${HASH_COMMIT}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/${PN}-${HASH_COMMIT}"
LICENSE="GPL-3"
SLOT="0"
# qt5 is EOF, may break at some point
KEYWORDS="~amd64 ~x86"
IUSE="doc"
#if(NOT LIBOSMOCORE_FOUND OR NOT LIBOSMOCODEC_FOUND OR NOT LIBOSMOGSM_FOUND)
# set(LOCAL_OSMOCOM ON)
DEPEND="${PYTHON_DEPS}
$(python_gen_cond_dep 'dev-python/pybind11[${PYTHON_USEDEP}]')
>=net-wireless/gnuradio-3.10.0:=[qt5]
net-wireless/gr-osmosdr
dev-libs/boost:=
dev-libs/log4cpp:=
dev-util/cppunit
net-libs/libosmocore:=
sci-libs/volk:="
RDEPEND="${DEPEND}"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
CMAKE_SKIP_TESTS=( qa_tch_f_chans_demapper qa_tch_h_chans_demapper )
src_prepare() {
#fixme below
sed -i "s|\${GR_DOC_DIR}\/\${CMAKE_PROJECT_NAME}|${EPREFIX}/usr/share/doc/${PF}|g" CMakeLists.txt
eapply "${FILESDIR}"/652.patch
# eapply "${FILESDIR}"/pyqt6.patch
cmake_src_prepare
}
src_configure() {
mycmakeargs=(
-DENABLE_DOXYGEN="$(usex doc)"
#why it doesn't work?
# -DGR_PKG_DOC_DIR="$(usex doc ${EPREFIX}/usr/share/doc/${PF})"
-DPYTHON_EXECUTABLE=${PYTHON}
-DLOCAL_OSMOCOM=ON
)
cmake_src_configure
}
src_install() {
cmake_src_install
python_optimize "${D}/$(python_get_sitedir)"
}

View file

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>unknown@pentoo.ch</email>
<name>Author Unknown</name>
</maintainer>
<upstream>
<remote-id type="github">ptrkrysik/gr-gsm</remote-id>
</upstream>
</pkgmetadata>