From a399cc1afffd893c767e6ccd586979f212e36c8bee98d6f3c3ea6155acb943eb Mon Sep 17 00:00:00 2001 From: Martin Hauke Date: Sat, 2 Nov 2024 21:44:49 +0000 Subject: [PATCH] - Add patch: * gcc14-fix-calloc-arg-order.patc https://github.com/Nuand/bladeRF/commit/b55af91f6b0ccb9afd09dcd3a42b9110c7e5be6f OBS-URL: https://build.opensuse.org/package/show/hardware:sdr/bladeRF?expand=0&rev=47 --- .gitattributes | 23 +++ .gitignore | 1 + _service | 15 ++ ad9361.tar.xz | 3 + bladeRF-2023.02.tar.xz | 3 + bladeRF-doxygen-no-timestamp.patch | 13 ++ bladeRF.changes | 264 +++++++++++++++++++++++++++++ bladeRF.spec | 149 ++++++++++++++++ gcc14-fix-calloc-arg-order.patch | 26 +++ 9 files changed, 497 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 _service create mode 100644 ad9361.tar.xz create mode 100644 bladeRF-2023.02.tar.xz create mode 100644 bladeRF-doxygen-no-timestamp.patch create mode 100644 bladeRF.changes create mode 100644 bladeRF.spec create mode 100644 gcc14-fix-calloc-arg-order.patch diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/_service b/_service new file mode 100644 index 0000000..f94f703 --- /dev/null +++ b/_service @@ -0,0 +1,15 @@ + + + + https://github.com/analogdevicesinc/no-OS.git + git + 0bba46e6f6f75785a65d425ece37d0a04daf6157 + _none_ + ad9361 + ad9361 + + + *.tar + xz + + diff --git a/ad9361.tar.xz b/ad9361.tar.xz new file mode 100644 index 0000000..f60dc20 --- /dev/null +++ b/ad9361.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:64799709c873e089503203125d65a5efaec44662275d853c406d4c225a684db6 +size 4453856 diff --git a/bladeRF-2023.02.tar.xz b/bladeRF-2023.02.tar.xz new file mode 100644 index 0000000..3bea77d --- /dev/null +++ b/bladeRF-2023.02.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:25acda993a1dc745975ed2fbdbf5185d5b1e4d729d0b9ad70ecbb97381ef2dd1 +size 2308952 diff --git a/bladeRF-doxygen-no-timestamp.patch b/bladeRF-doxygen-no-timestamp.patch new file mode 100644 index 0000000..4d7ffcd --- /dev/null +++ b/bladeRF-doxygen-no-timestamp.patch @@ -0,0 +1,13 @@ +diff --git a/host/libraries/libbladeRF/doc/doxygen/Doxyfile.in b/host/libraries/libbladeRF/doc/doxygen/Doxyfile.in +index 6570203..0264bca 100644 +--- a/host/libraries/libbladeRF/doc/doxygen/Doxyfile.in ++++ b/host/libraries/libbladeRF/doc/doxygen/Doxyfile.in +@@ -1191,7 +1191,7 @@ HTML_COLORSTYLE_GAMMA = 189 + # The default value is: YES. + # This tag requires that the tag GENERATE_HTML is set to YES. + +-HTML_TIMESTAMP = YES ++HTML_TIMESTAMP = NO + + # If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML + # documentation will contain sections that can be hidden and shown after the diff --git a/bladeRF.changes b/bladeRF.changes new file mode 100644 index 0000000..adac66f --- /dev/null +++ b/bladeRF.changes @@ -0,0 +1,264 @@ +------------------------------------------------------------------- +Sat Nov 2 19:56:06 UTC 2024 - Martin Hauke + +- Add patch: + * gcc14-fix-calloc-arg-order.patc + https://github.com/Nuand/bladeRF/commit/b55af91f6b0ccb9afd09dcd3a42b9110c7e5be6f + +------------------------------------------------------------------- +Mon Apr 8 15:39:13 UTC 2024 - Atri Bhattacharya + +- Add _service file to download ad9361.tar.xz file from git + repository. + +------------------------------------------------------------------- +Fri Feb 23 11:25:04 UTC 2024 - Dominique Leuenberger + +- Align path for document installation between openSUSE versions. + +------------------------------------------------------------------- +Thu Feb 22 10:25:17 UTC 2024 - Dominique Leuenberger + +- Use %autosetup macro. Allows to eliminate the usage of deprecated + %patchN + +------------------------------------------------------------------- +Mon Feb 13 21:53:41 UTC 2023 - Martin Hauke + +- Update to version 2023.02 + * libbladeRF + + Add 8bit format mode support + + Add AD936x overclocking feature + + Fix bugs, including a locking bug + * FPGA: + + Add 8bit mode support to FIFO reader and writer +- Add patch: + * bladeRF-doxygen-no-timestamp.patch + +------------------------------------------------------------------- +Sat Jan 22 12:08:49 UTC 2022 - Martin Hauke + +- Don't set VERSION_INFO_EXTRA to strip "-git-unknown" from the + libbladeRF version (e.g. "2.4.1-git-unknown" -> "2.4.1") + +------------------------------------------------------------------- +Tue Oct 5 20:55:59 UTC 2021 - Martin Hauke + +- Update to version 2021.10 + * Fix up packet mode bugs + * Add Wishbone master core as NiOS peripheral + +------------------------------------------------------------------- +Tue Sep 21 20:22:01 UTC 2021 - Martin Hauke + +- Update to version 2021.09 + * Support new keywords in config file for bladerf2.0 clocking: + + Update doc for new keywords + + Add clock_out keyword + + Add clock_sel keyword + + Add refin_freq keyword + + Add clock_ref keyword + + Fix parsing of vctcxo_tamer key + * Python bindings: Fix get_gain_modes + * Make all of the get_*_range functions work + * Revert "hdl: bladerf-wlan: disable RX switch when tx_ota_req + is asserted" + +------------------------------------------------------------------- +Tue Feb 16 08:40:33 UTC 2021 - Martin Hauke + +- Update to version 2021.03 + * cyapi: add META support to cyapi backend + +------------------------------------------------------------------- +Sat Feb 13 14:14:13 UTC 2021 - Martin Hauke + +- Update to version 2021.02 + Bugfix release + * Revert "ad936x_params: allow CTRL_IN to control gain in MGC + mode" + +------------------------------------------------------------------- +Fri Jan 15 16:24:05 UTC 2021 - Martin Hauke + +- Update to version 2020.12 + libbladeRF + * Added packet mode format BLADERF_FORMAT_PACKET_META. + libbladeRF is able to exchange variable length packets with + the HDL if packet mode is enabled + * Added RFIC parameters for burst waveforms + * Ability to query backend for handle and lock FX3 + * Variable length packet support for PACKET_META mode + bladeRF-cli: + * Indicate presence of packet cores in FPGA + Python + * Update for libbladeRF v2.4.0 +- Drop patches (integrated upstream): + * 0001-libbladeRF-unambiguous-flash_arch-macro-name.patch + * 0002-libbladeRF-define-bladerf2_state_to_string-as-extern.patch + +------------------------------------------------------------------- +Sun Jun 7 20:25:19 UTC 2020 - Martin Hauke + +- Add patches to fix gcc10 compile errors: + * 0001-libbladeRF-unambiguous-flash_arch-macro-name.patch + * 0002-libbladeRF-define-bladerf2_state_to_string-as-extern.patch + +------------------------------------------------------------------- +Fri Jan 17 21:12:03 UTC 2020 - Martin Hauke + +- Redownloaded tarball + +------------------------------------------------------------------- +Tue Aug 27 05:20:04 UTC 2019 - Jan Engelhardt + +- Update summaries and RPM category groups. + +------------------------------------------------------------------- +Tue Aug 27 00:42:21 UTC 2019 - Martin Pluskal + +- Fix download url +- Small packaging enhancements + +------------------------------------------------------------------- +Sat Aug 17 19:30:59 UTC 2019 - Wojciech Kazubski + +- Update to version 2019.07 + libbladeRF + * Gain mode setting default is now manual + * Tuning mode setting default is now host + * Add OTP command support + * Fix metadata related arithmetic + bladeRF-cli: + * Add RFIC fitler selection + * Add tuning_mode + * Display more useful warning and error messages +- libbladeRF doc files (HTML) in separate package + +------------------------------------------------------------------- +Fri Sep 7 12:05:23 UTC 2018 - Martin Pluskal + +- Clarify license status + +------------------------------------------------------------------- +Wed Sep 5 19:10:47 UTC 2018 - mardnh@gmx.de + +- Update to version 2018.08 + libbladeRF + * Added support for Automatic Gain Control + * Added bladeRF.conf config option file + * Refactor to support for multiple product lines + * Add support for the bladeRF Micro product + * API: replace bladerf_module with bladerf_channel, a reverse-compatible + * change to handle products with multiple independent RF paths in the same + * direction + * API: BREAKING CHANGE - on bladerf_set_frequency, et al, the frequency + * parameter is now uint64_t instead of unsigned int + * Add typedefs for common param types, e.g. bladerf_frequency -> uint64_t + bladeRF-cli + + * Added support for Automatic Gain Control + * No longer initializes the bladeRF before loading a new FPGA image, to + * avoid potential catch-22 problems + * bladeRF 2.0 Micro support + * Support for MIMO RX and TX using "channel=" parameter on rx/tx config + * Various code quality fixups + +- Remove patches: (fixed upstream) + * bladeRF-add-cflag-Wno-format-truncation.patch + * bladeRF-cmake_syntax.patch + +------------------------------------------------------------------- +Tue Sep 5 08:36:54 UTC 2017 - mpluskal@suse.com + +- Fix cmake syntax error: + * bladeRF-cmake_syntax.patch + +------------------------------------------------------------------- +Thu Jun 1 06:47:30 UTC 2017 - mardnh@gmx.de + +- Add patch: + * bladeRF-add-cflag-Wno-format-truncation.patch (boo#1041192) + +------------------------------------------------------------------- +Wed Apr 26 18:15:47 UTC 2017 - mardnh@gmx.de + +- build with support for libtecla + +------------------------------------------------------------------- +Sun Apr 23 19:27:32 UTC 2017 - mardnh@gmx.de + +- Update group handling + +------------------------------------------------------------------- +Thu Apr 20 11:46:42 UTC 2017 - mpluskal@suse.com + +- Update group handling + +------------------------------------------------------------------- +Sat Apr 15 22:22:28 UTC 2017 - mardnh@gmx.de + +- Workaround for generating manpages/documentation on + systems emulated via qemu (arm, ppc,...) not longer needed + +------------------------------------------------------------------- +Sat Apr 15 17:12:59 UTC 2017 - mardnh@gmx.de + +- Adjust Source-URL +- Use proper cmake options +- Use group bladerf in the udev-rules + +------------------------------------------------------------------- +Thu Mar 30 13:35:57 UTC 2017 - wk@ire.pw.edu.pl + +- fixed libbladeRF version to 1.7.2 + +------------------------------------------------------------------- +Thu Mar 23 16:50:22 UTC 2017 - jengelh@inai.de + +- Rename %soname to %sover to better reflect its use. +- RPM group fix. + +------------------------------------------------------------------- +Thu Mar 9 09:10:30 UTC 2017 - mpluskal@suse.com + +- Update to version 1.4.0 +- Cleanup spec file with spec-cleaner + +------------------------------------------------------------------- +Fri Feb 19 12:20:13 UTC 2016 - dl8fcl@t-online.de + +- udev_rules_update added for openSUSE + +------------------------------------------------------------------- +Sat Aug 1 22:29:59 UTC 2015 - wk@ire.pw.edu.pl + +- updated to release 2015.07 +- libbladeRF version 1.4.3 +- bladeRF-cli version 1.2.1 + +------------------------------------------------------------------- +Tue Mar 3 10:33:18 UTC 2015 - wk@ire.pw.edu.pl + +- fixed build on armv7l (openSUSE 13.2) + +------------------------------------------------------------------- +Sun Mar 1 19:02:15 UTC 2015 - wk@ire.pw.edu.pl + +- updated to release 2015.02 +- libbladeRF version 1.2.1 +- bladeRF-cli version 1.1.2 + +------------------------------------------------------------------- +Sun Aug 3 20:52:44 UTC 2014 - wk@ire.pw.edu.pl + +- updated to git 20140803 + +------------------------------------------------------------------- +Fri Jul 25 20:24:30 UTC 2014 - wk@ire.pw.edu.pl + +- version 0.16.2 git20140725 + +* Sun Oct 6 2013 Wojciech Kazubski - 0.0.20130915-1.1 +- git 20130915 +- initial spec file. diff --git a/bladeRF.spec b/bladeRF.spec new file mode 100644 index 0000000..d74f8f1 --- /dev/null +++ b/bladeRF.spec @@ -0,0 +1,149 @@ +# +# spec file for package bladeRF +# +# Copyright (c) 2024 SUSE LLC +# Copyright (c) 2013-2015 Wojciech Kazubski, wk@ire.pw.edu.pl +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%define sover 2 +%define libname lib%{name}%{sover} +%define libversion 2.5.0 +%define release_name 2023.02 +%define bladerf_group bladerf +%define use_syslog 0 +Name: bladeRF +Version: 2023.02 +Release: 0 +Summary: SDR radio receiver +License: AGPL-3.0-or-later AND GPL-2.0-only +Group: Productivity/Hamradio/Other +URL: https://nuand.com/ +#Git-Clone: https://github.com/Nuand/bladeRF.git +Source0: https://github.com/Nuand/bladeRF/archive/%{release_name}.tar.gz#/%{name}-%{release_name}.tar.xz +Source1: ad9361.tar.xz +Patch0: bladeRF-doxygen-no-timestamp.patch +Patch1: gcc14-fix-calloc-arg-order.patch +BuildRequires: cmake >= 2.8.4 +BuildRequires: doxygen +BuildRequires: fdupes +BuildRequires: gcc-c++ +BuildRequires: git-core +BuildRequires: help2man +BuildRequires: pkgconfig +BuildRequires: tecla-devel +BuildRequires: pkgconfig(libedit) +BuildRequires: pkgconfig(libusb-1.0) +BuildRequires: pkgconfig(udev) + +%description +The software for bladeRF USB 3.0 Superspeed Software Defined Radio. + +%package -n %{libname} +Summary: SDR radio receiver library +Group: System/Libraries +Version: %{libversion} +Release: 0 +Requires: %{name}-udev + +%description -n %{libname} +Library for bladeRF, an SDR transceiver. + +%package -n %{libname}-doc +Summary: Documentation for libbladeRF +Group: Documentation/HTML +Version: %{libversion} +Release: 0 + +%description -n %{libname}-doc +HTML documentation files for libbladeRF. + +%package udev +Summary: Udev rules for bladeRF +Group: Hardware/Other +Requires(pre): shadow + +%description udev +Udev rules for bladeRF. + +%package devel +Summary: Development files for libbladeRF +Group: Development/Libraries/C and C++ +Requires: %{libname} = %{libversion} + +%description devel +Libraries and header files for developing applications that want to make +use of libbladerf. + +%prep +%autosetup -p1 -n %{name}-%{release_name} +ls +pushd thirdparty/analogdevicesinc/no-OS +tar -xJf %{SOURCE1} +popd + +%build +cd host +%cmake \ + -DVERSION_INFO_EXTRA="" \ + -DCMAKE_INSTALL_LIBDIR:PATH=%{_lib} \ + -DUDEV_RULES_PATH=%{_udevrulesdir} \ + -DBLADERF_GROUP=%{bladerf_group} \ +%if 0%{?use_syslog} + -DENABLE_LIBBLADERF_SYSLOG=ON \ +%endif + -DCMAKE_INSTALL_DOCDIR:PATH=%{_docdir}/lib%{name} \ + -DBUILD_DOCUMENTATION=ON +%cmake_build + +%install +cd host +%cmake_install + +%post -n %{libname} -p /sbin/ldconfig +%postun -n %{libname} -p /sbin/ldconfig + +%pre udev +getent group %{bladerf_group} >/dev/null || groupadd -r %{bladerf_group} + +%post udev +%udev_rules_update + +%postun udev +%udev_rules_update + +%files +%license COPYING +%doc README.md CONTRIBUTORS +%{_bindir}/bladeRF-cli +%{_bindir}/bladeRF-fsk +%{_mandir}/man1/bladeRF-cli.1%{?ext_man} + +%files udev +%{_udevrulesdir}/88-nuand-*.rules + +%files -n %{libname} +%{_libdir}/libbladeRF.so.%{sover}* + +%files -n %{libname}-doc +%{_docdir}/libbladeRF + +%files devel +%{_libdir}/libbladeRF.so +%{_includedir}/bladeRF1.h +%{_includedir}/bladeRF2.h +%{_includedir}/libbladeRF.h +%{_libdir}/pkgconfig/libbladeRF.pc + +%changelog diff --git a/gcc14-fix-calloc-arg-order.patch b/gcc14-fix-calloc-arg-order.patch new file mode 100644 index 0000000..81a570f --- /dev/null +++ b/gcc14-fix-calloc-arg-order.patch @@ -0,0 +1,26 @@ +Source: https://github.com/Nuand/bladeRF/commit/b55af91f6b0ccb9afd09dcd3a42b9110c7e5be6f + +--- bladeRF-2023.02-origin/host/utilities/bladeRF-fsk/c/src/fir_filter.c ++++ bladeRF-2023.02/host/utilities/bladeRF-fsk/c/src/fir_filter.c +@@ -213,18 +213,18 @@ + return EXIT_FAILURE; + } + +- inbuf = calloc(2*sizeof(int16_t), chunk_size); ++ inbuf = calloc(chunk_size, 2*sizeof(int16_t)); + if (!inbuf) { + perror("calloc"); + goto out; + } +- tempbuf = calloc(2*sizeof(int16_t), chunk_size); ++ tempbuf = calloc(chunk_size, 2*sizeof(int16_t)); + if (!tempbuf) { + perror("calloc"); + goto out; + } + +- outbuf = calloc(sizeof(struct complex_sample), chunk_size); ++ outbuf = calloc(chunk_size, sizeof(struct complex_sample)); + if (!outbuf) { + perror("calloc"); + goto out;