mirror of
https://github.com/pentoo/pentoo-overlay
synced 2026-05-08 12:30:44 +02:00
gr-gsm
This commit is contained in:
parent
aef4825ed6
commit
3c93ac77c7
6 changed files with 231 additions and 0 deletions
2
net-wireless/gr-gsm/Manifest
Normal file
2
net-wireless/gr-gsm/Manifest
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
DIST gr-gsm-20210505.tar.gz 321224 BLAKE2B d1f519ae0b122f38aab1ce20f679192d7640f8424dc02d9e0689696a2fe0193553fcb9de340abe81f785571119e678a36dc770114f74b13fa287bf50455321fb SHA512 b9cc0d45dbeb0254d31e9a14f94c63d8ff39fd20a19962ee657aaefc62a5ce078e92da5259847515593aed491e020b7a334e82980603d3f75bd96348ef863d4a
|
||||
DIST gr-gsm-20240927.tar.gz 327841 BLAKE2B 130f08132032f3ad03dad49a28dfc0fc541bac206efb82df89b69dfc1f170e81d352f3a26e81b2cdbfeec5ed8322695a52efc669ee9f8134621392ce7c8dfcdf SHA512 c66ce50215f6b7da7914eaed198f2b14cc76f4ba3a5c915dca9d0abcbf485d77f46173084e91caa920947625416e1ed0087c8f71923fa28f8a603973989ddd9f
|
||||
61
net-wireless/gr-gsm/files/652.patch
Normal file
61
net-wireless/gr-gsm/files/652.patch
Normal 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
|
||||
42
net-wireless/gr-gsm/files/pyqt6.patch
Normal file
42
net-wireless/gr-gsm/files/pyqt6.patch
Normal 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)
|
||||
55
net-wireless/gr-gsm/gr-gsm-20210505-r1.ebuild
Normal file
55
net-wireless/gr-gsm/gr-gsm-20210505-r1.ebuild
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
# Copyright 1999-2022 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"
|
||||
HASH_COMMIT="2de47e28ce1fb9a518337bfc0add36c8e3cff5eb"
|
||||
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"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="doc"
|
||||
|
||||
#if(NOT LIBOSMOCORE_FOUND OR NOT LIBOSMOCODEC_FOUND OR NOT LIBOSMOGSM_FOUND)
|
||||
# set(LOCAL_OSMOCOM ON)
|
||||
DEPEND="${PYTHON_DEPS}
|
||||
>=net-wireless/gnuradio-3.8.0:=
|
||||
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}"
|
||||
|
||||
src_prepare() {
|
||||
#fixme below
|
||||
sed -i "s|\${GR_DOC_DIR}\/\${CMAKE_PROJECT_NAME}|${EPREFIX}/usr/share/doc/${PF}|g" CMakeLists.txt
|
||||
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)"
|
||||
}
|
||||
60
net-wireless/gr-gsm/gr-gsm-20240927.ebuild
Normal file
60
net-wireless/gr-gsm/gr-gsm-20240927.ebuild
Normal file
|
|
@ -0,0 +1,60 @@
|
|||
# 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"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="doc"
|
||||
|
||||
#if(NOT LIBOSMOCORE_FOUND OR NOT LIBOSMOCODEC_FOUND OR NOT LIBOSMOGSM_FOUND)
|
||||
# set(LOCAL_OSMOCOM ON)
|
||||
DEPEND="${PYTHON_DEPS}
|
||||
>=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}"
|
||||
|
||||
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)"
|
||||
}
|
||||
11
net-wireless/gr-gsm/metadata.xml
Normal file
11
net-wireless/gr-gsm/metadata.xml
Normal 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>
|
||||
Loading…
Reference in a new issue