summaryrefslogtreecommitdiff
path: root/volk.spec
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2025-01-03 01:15:52 +0000
committerCoprDistGit <infra@openeuler.org>2025-01-03 01:15:52 +0000
commita2aa811f29df4d37e9223753708b70cf0bdf4106 (patch)
tree907d75b0a08700f721ab46ceeef63dd4b16a33c5 /volk.spec
parentc47eb76a619c103c29313c58b80f11f1b48837f8 (diff)
automatic import of volkopeneuler24.09
Diffstat (limited to 'volk.spec')
-rw-r--r--volk.spec114
1 files changed, 114 insertions, 0 deletions
diff --git a/volk.spec b/volk.spec
new file mode 100644
index 0000000..be4ac24
--- /dev/null
+++ b/volk.spec
@@ -0,0 +1,114 @@
+# Modified from https://src.fedoraproject.org/rpms/volk/blob/rawhide/f/volk.spec
+
+Name: volk
+Version: 3.1.2
+Release: 1
+Summary: The Vector Optimized Library of Kernels
+License: GPL-3.0-or-later
+URL: https://github.com/gnuradio/%{name}
+Source0: https://github.com/gnuradio/%{name}/releases/download/v%{version}/%{name}-%{version}.tar.gz
+
+BuildRequires: gnupg2
+BuildRequires: make
+BuildRequires: cmake
+BuildRequires: doxygen
+BuildRequires: gcc-c++
+BuildRequires: python3-devel
+BuildRequires: python3-mako
+BuildRequires: orc-devel
+BuildRequires: sed
+%ifnarch s390x
+BuildRequires: google-cpu_features-devel
+%endif
+Conflicts: python3-gnuradio < 3.9.0.0
+Conflicts: gnuradio-devel < 3.9.0.0
+
+%description
+VOLK is the Vector-Optimized Library of Kernels. It is a library that contains
+kernels of hand-written SIMD code for different mathematical operations.
+Since each SIMD architecture can be very different and no compiler has yet
+come along to handle vectorization properly or highly efficiently, VOLK
+approaches the problem differently. VOLK is a sub-project of GNU Radio.
+
+
+%package devel
+Summary: Development files for VOLK
+Requires: %{name}%{?_isa} = %{version}-%{release}
+Conflicts: vulkan-volk-devel
+
+
+%description devel
+%{summary}.
+%ifarch s390x
+Conflicts: google-cpu_features-devel
+%endif
+
+
+%package doc
+Summary: Documentation files for VOLK
+Requires: %{name} = %{version}-%{release}
+BuildArch: noarch
+
+
+%description doc
+%{summary}.
+
+
+%prep
+%autosetup -p1
+
+# fix shebangs
+pushd python/volk_modtool
+sed -i '1 {/#!\s*\/usr\/bin\/env\s\+python/ d}' __init__.py cfg.py
+popd
+
+%build
+# workaround, the code is not yet compatible with the strict-aliasing
+export CFLAGS="%{optflags} -fno-strict-aliasing"
+export CXXFLAGS="$CFLAGS"
+cmake -DCMAKE_INSTALL_PREFIX=/usr .
+cmake --build .
+
+# Use make_build for EL8 compat
+make -C . volk_doc
+
+
+# temporally disabled the testsuite due to https://github.com/gnuradio/volk/issues/442
+# gnuradio (and all volk consumers) could coredump on s390x and ppc64le under some
+# circumstances, see https://bugzilla.redhat.com/show_bug.cgi?id=1917625#c6
+#%%check
+#cd %{__cmake_builddir}
+#make test
+
+
+%install
+DESTDIR="%{buildroot}" cmake --install .
+
+# docs
+mkdir -p %{buildroot}%{_docdir}/%{name}
+cp -a ./html %{buildroot}%{_docdir}/%{name}
+
+%files
+%license COPYING
+%doc README.md docs/CHANGELOG.md
+%{_bindir}/volk-config-info
+%{_bindir}/volk_modtool
+%{_bindir}/volk_profile
+%{_libdir}/libvolk*.so.*
+%{python3_sitearch}/volk_modtool
+
+
+%files devel
+%{_includedir}/volk
+%{_libdir}/libvolk.so
+%{_libdir}/cmake/volk
+%{_libdir}/pkgconfig/*.pc
+
+
+%files doc
+%doc %{_docdir}/%{name}/html
+
+
+%changelog
+* Thu Nov 21 2024 Suyun <ziyu.oerv@isrc.iscas.ac.cn> - 3.1.2-1
+- Init package at 3.1.2