diff --git a/net-wireless/bladerf/Manifest b/net-wireless/bladerf/Manifest index a944bec5f5b75..189cecc47613c 100644 --- a/net-wireless/bladerf/Manifest +++ b/net-wireless/bladerf/Manifest @@ -1,2 +1,4 @@ DIST analogdevices-no-OS-0bba46.tar.gz 44190321 BLAKE2B b5c31b4b9ed92e0ac9f1a4c1eda38e065f00e0ee8034a99615a2509a4c91c589faefaf2e42a8bd30e61eb36459fa264c6e1892577f759c2ca0810925cede163e SHA512 cf6f6d34fed9879ae7263782f20f33dd3af84201e3477fa0501e072eb08a8a545a07c496ad0ff3f7dc1a6ef407f136f843ba05942b4819e146c5fef023a3bb02 DIST bladerf-2023.02.tar.gz 2308710 BLAKE2B 1cbc7eb7eb63a336e12ab2eae29760dc32e187005b93bb4c10032244649651484dbbb68644d2a9abca5488840134b336bfa54fdeb5f6331e9c440a9b5f302227 SHA512 af03141712886ea76952a5eea9ffb67b511b8ea196f2cf3349dab339b1964b3f296410acdc070304ffab71eb011830131373ad8c3b00a6cfec2773283082cc0d +DIST bladerf-2025.10.tar.gz 2769136 BLAKE2B bb76bf8b27dcad7843649e4671c0ea070f556af3d10c2ce84ffb1e711e1e428fede02587c16a65ca24c810a292d2e9ee2169803efa2cb54b004334557df94895 SHA512 2a4909a94fd4c7dac99b282c850129bc57e9f81e164a5bfbc5ce3a54e130e49da4344c5e4707045a3157901a470054b4685ed83a6b940f7bcc01359c51f2945f +DIST bladerf-fsk-fb90368.tar.gz 87533 BLAKE2B 995d210cbb1c8b6a1559bcc70bf325e80fcc5af7ece45f2cacb3f8dcdf7f7bb8117d46775f69e9e6c76c9c7313e49dfbd0b96294a47ffdfe8a8603e0f9e470a4 SHA512 361d0cf0f9304836c3306f6578820d05026508ddcc99e46eea08d60fdbdebac9c20bb9d0a9732ece350a6decbba0a03d049f92ef296f46d173154fd83e9c295d diff --git a/net-wireless/bladerf/bladerf-2025.10.ebuild b/net-wireless/bladerf/bladerf-2025.10.ebuild new file mode 100644 index 0000000000000..0eb056e88d56f --- /dev/null +++ b/net-wireless/bladerf/bladerf-2025.10.ebuild @@ -0,0 +1,80 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake flag-o-matic udev + +DESCRIPTION="Libraries for supporing the BladeRF hardware from Nuand" +HOMEPAGE="https://nuand.com/" + +#lib is LGPL and cli tools are GPL +LICENSE="GPL-2+ LGPL-2.1+" + +SLOT="0/${PV}" + +#maintainer notes: +#doc use flag, looks like it can't be disabled right now and will +# always build if pandoc and help2man are installed +# also ignores when deps are missing and just disables docs +IUSE="doc +tecla" + +MY_PN="bladeRF" + +if [[ ${PV} == "9999" ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/Nuand/${MY_PN}.git" +else + MY_PV=${PV/\_/-} + S="${WORKDIR}/${MY_PN}-${MY_PV}" + noOS_commit="0bba46e6f6f75785a65d425ece37d0a04daf6157" + bladeRFfsk_commit="fb903684036217b9db9dcd6be8007548e12a377e" + SRC_URI="https://github.com/Nuand/${MY_PN}/archive/${MY_PV}.tar.gz -> ${P}.tar.gz \ + https://github.com/analogdevicesinc/no-OS/archive/${noOS_commit}.tar.gz -> analogdevices-no-OS-0bba46.tar.gz + https://github.com/Nuand/bladeRF-fsk/archive/${bladeRFfsk_commit}.tar.gz -> bladerf-fsk-fb90368.tar.gz" + KEYWORDS="~amd64 ~arm ~riscv ~x86" +fi + +BDEPEND="doc? ( app-text/doxygen )" +CDEPEND=">=dev-libs/libusb-1.0.16:1 + net-misc/curl + sys-libs/ncurses:= + tecla? ( dev-libs/libtecla )" +DEPEND="${CDEPEND} + virtual/pkgconfig" +RDEPEND="${CDEPEND} + >=net-wireless/bladerf-firmware-2.4.0 + >=net-wireless/bladerf-fpga-0.15.0" + +src_unpack() { + if [ "${PV}" = "9999" ]; then + git-r3_src_unpack + else + default + cp -r "${WORKDIR}/no-OS-${noOS_commit}/ad9361" "${S}/thirdparty/analogdevicesinc/no-OS/" || die + cp -r "${WORKDIR}/bladeRF-fsk-${bladeRFfsk_commit}/"* "${S}/host/utilities/bladeRF-fsk/" || die + fi +} + +src_configure() { + # -Werror=lto-type-mismatch + # https://bugs.gentoo.org/861872 + # https://github.com/Nuand/bladeRF/issues/903 + filter-lto + + local mycmakeargs=( + -DVERSION_INFO_OVERRIDE:STRING="${PV}" + -DBUILD_DOCUMENTATION="$(usex doc)" + -DENABLE_LIBTECLA="$(usex tecla)" + -DTREAT_WARNINGS_AS_ERRORS=OFF + -DUDEV_RULES_PATH="$(get_udevdir)"/rules.d + ) + cmake_src_configure +} + +pkg_postinst() { + udev_reload +} +pkg_postrm() { + udev_reload +} diff --git a/net-wireless/bladerf/bladerf-9999.ebuild b/net-wireless/bladerf/bladerf-9999.ebuild index c45168e57ac2d..0eb056e88d56f 100644 --- a/net-wireless/bladerf/bladerf-9999.ebuild +++ b/net-wireless/bladerf/bladerf-9999.ebuild @@ -27,8 +27,11 @@ if [[ ${PV} == "9999" ]] ; then else MY_PV=${PV/\_/-} S="${WORKDIR}/${MY_PN}-${MY_PV}" + noOS_commit="0bba46e6f6f75785a65d425ece37d0a04daf6157" + bladeRFfsk_commit="fb903684036217b9db9dcd6be8007548e12a377e" SRC_URI="https://github.com/Nuand/${MY_PN}/archive/${MY_PV}.tar.gz -> ${P}.tar.gz \ - https://github.com/analogdevicesinc/no-OS/archive/0bba46e6f6f75785a65d425ece37d0a04daf6157.tar.gz -> analogdevices-no-OS-0bba46.tar.gz" + https://github.com/analogdevicesinc/no-OS/archive/${noOS_commit}.tar.gz -> analogdevices-no-OS-0bba46.tar.gz + https://github.com/Nuand/bladeRF-fsk/archive/${bladeRFfsk_commit}.tar.gz -> bladerf-fsk-fb90368.tar.gz" KEYWORDS="~amd64 ~arm ~riscv ~x86" fi @@ -48,7 +51,8 @@ src_unpack() { git-r3_src_unpack else default - mv "${WORKDIR}/no-OS-0bba46e6f6f75785a65d425ece37d0a04daf6157/ad9361" "${S}/thirdparty/analogdevicesinc/no-OS/" || die + cp -r "${WORKDIR}/no-OS-${noOS_commit}/ad9361" "${S}/thirdparty/analogdevicesinc/no-OS/" || die + cp -r "${WORKDIR}/bladeRF-fsk-${bladeRFfsk_commit}/"* "${S}/host/utilities/bladeRF-fsk/" || die fi }