diff --git a/net-wireless/soapysdr/files/soapysdr-0.8.1-cmake4.patch b/net-wireless/soapysdr/files/soapysdr-0.8.1-cmake4.patch new file mode 100644 index 0000000000000..a21cdf7da951b --- /dev/null +++ b/net-wireless/soapysdr/files/soapysdr-0.8.1-cmake4.patch @@ -0,0 +1,39 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index ff15ad0..8fff872 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,7 +1,7 @@ + ######################################################################## + # Project setup + ######################################################################## +-cmake_minimum_required(VERSION 3.1.0) ++cmake_minimum_required(VERSION 3.10.0) + project(SoapySDR) + enable_language(CXX) + enable_testing() +diff --git a/ExampleDriver/CMakeLists.txt b/ExampleDriver/CMakeLists.txt +index 32cb6ca..ada07e9 100644 +--- a/ExampleDriver/CMakeLists.txt ++++ b/ExampleDriver/CMakeLists.txt +@@ -2,7 +2,7 @@ + # Project setup -- only needed if device support is a stand-alone build + # We recommend that the support module be built in-tree with the driver. + ######################################################################## +-cmake_minimum_required(VERSION 2.6) ++cmake_minimum_required(VERSION 3.10.0) + project(SoapySDRMyDevice CXX) + enable_testing() + +diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt +index 8cb1592..a5c09ce 100644 +--- a/python/CMakeLists.txt ++++ b/python/CMakeLists.txt +@@ -1,7 +1,7 @@ + ######################################################################## + # Project setup + ######################################################################## +-cmake_minimum_required(VERSION 2.8) ++cmake_minimum_required(VERSION 3.10.0) + project(SoapySDRPython CXX) + enable_testing() + diff --git a/net-wireless/soapysdr/soapysdr-0.8.1-r2.ebuild b/net-wireless/soapysdr/soapysdr-0.8.1-r2.ebuild new file mode 100644 index 0000000000000..8f5ef69eb2ef4 --- /dev/null +++ b/net-wireless/soapysdr/soapysdr-0.8.1-r2.ebuild @@ -0,0 +1,61 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..13} ) +inherit cmake python-single-r1 + +DESCRIPTION="vendor and platform neutral SDR support library" +HOMEPAGE="https://github.com/pothosware/SoapySDR" + +if [ "${PV}" = "9999" ]; then + EGIT_REPO_URI="https://github.com/pothosware/SoapySDR.git" + EGIT_CLONE_TYPE="shallow" + inherit git-r3 +else + KEYWORDS="~amd64 ~arm ~riscv ~x86" + SRC_URI="https://github.com/pothosware/SoapySDR/archive/soapy-sdr-${PV}.tar.gz -> ${P}.tar.gz" + S="${WORKDIR}"/SoapySDR-soapy-sdr-"${PV}" +fi + +LICENSE="Boost-1.0" +SLOT="0/${PV}" +IUSE="bladerf hackrf python rtlsdr plutosdr uhd" +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +RDEPEND="python? ( ${PYTHON_DEPS} )" +DEPEND="${RDEPEND}" +BDEPEND="python? ( dev-lang/swig:0 )" +PDEPEND=" + bladerf? ( net-wireless/soapybladerf ) + hackrf? ( net-wireless/soapyhackrf ) + rtlsdr? ( net-wireless/soapyrtlsdr ) + plutosdr? ( net-wireless/soapyplutosdr ) + uhd? ( net-wireless/soapyuhd ) +" + +PATCHES=( + "${FILESDIR}"/soapysdr-0.8.1-python3.12-distutils.patch + "${FILESDIR}"/soapysdr-0.8.1-cmake4.patch +) + +pkg_setup() { + use python && python-single-r1_pkg_setup +} + +src_configure() { + local mycmakeargs=( + -DENABLE_PYTHON=$(usex python) + -DENABLE_PYTHON3=$(usex python) + -DBUILD_PYTHON3=$(usex python) + -DUSE_PYTHON_CONFIG=ON + ) + + cmake_src_configure +} + +src_install() { + cmake_src_install + use python && python_optimize +} diff --git a/net-wireless/soapysdr/soapysdr-9999.ebuild b/net-wireless/soapysdr/soapysdr-9999.ebuild index aaa41be56cc98..8f5ef69eb2ef4 100644 --- a/net-wireless/soapysdr/soapysdr-9999.ebuild +++ b/net-wireless/soapysdr/soapysdr-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -35,13 +35,21 @@ PDEPEND=" uhd? ( net-wireless/soapyuhd ) " +PATCHES=( + "${FILESDIR}"/soapysdr-0.8.1-python3.12-distutils.patch + "${FILESDIR}"/soapysdr-0.8.1-cmake4.patch +) + pkg_setup() { use python && python-single-r1_pkg_setup } src_configure() { local mycmakeargs=( + -DENABLE_PYTHON=$(usex python) -DENABLE_PYTHON3=$(usex python) + -DBUILD_PYTHON3=$(usex python) + -DUSE_PYTHON_CONFIG=ON ) cmake_src_configure