commit 4445aabfa90550519f149bbed5a1e128342e93ab Author: tigro Date: Sat Dec 28 14:08:21 2024 +0300 import blosc-1.21.6-3.el10 diff --git a/.blosc.metadata b/.blosc.metadata new file mode 100644 index 0000000..1a498e6 --- /dev/null +++ b/.blosc.metadata @@ -0,0 +1 @@ +33078bd411f22baf089cfcd5a7fbab4623e3fb87 SOURCES/blosc-1.21.6.tar.gz diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..bcb4720 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/blosc-1.21.6.tar.gz diff --git a/SOURCES/blosc-gcc11.patch b/SOURCES/blosc-gcc11.patch new file mode 100644 index 0000000..a6469f1 --- /dev/null +++ b/SOURCES/blosc-gcc11.patch @@ -0,0 +1,24 @@ +diff --git a/blosc/blosc.c b/blosc/blosc.c +index a04e161..ad800df 100644 +--- a/blosc/blosc.c ++++ b/blosc/blosc.c +@@ -240,6 +240,9 @@ static void my_free(void *block) + + + /* Copy 4 bytes from `*pa` to int32_t, changing endianness if necessary. */ ++/* This routine is not strict-aliasing safe, particularly if it is ++ inlined into its caller. So use attributes to prevent that. */ ++__attribute__ ((noinline,noclone,noipa)) + static int32_t sw32_(const uint8_t *pa) + { + int32_t idest; +@@ -266,6 +269,9 @@ static int32_t sw32_(const uint8_t *pa) + + + /* Copy 4 bytes from `*pa` to `*dest`, changing endianness if necessary. */ ++/* This routine is not strict-aliasing safe, particularly if it is ++ inlined into its caller. So use attributes to prevent that. */ ++__attribute__ ((noinline,noclone,noipa)) + static void _sw32(uint8_t* dest, int32_t a) + { + uint8_t *pa = (uint8_t *)&a; diff --git a/SPECS/blosc.spec b/SPECS/blosc.spec new file mode 100644 index 0000000..00d449c --- /dev/null +++ b/SPECS/blosc.spec @@ -0,0 +1,340 @@ +## START: Set by rpmautospec +## (rpmautospec version 0.7.3) +## RPMAUTOSPEC: autorelease, autochangelog +%define autorelease(e:s:pb:n) %{?-p:0.}%{lua: + release_number = 3; + base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); + print(release_number + base_release_number - 1); +}%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}} +## END: Set by rpmautospec + +# The bench subpackage requires matplotlib. Disable it on new EPEL releases +# until matplotlib is available. Once it is available in EPEL 10, increment +# the 10 below to 11 to move the condition forward. +%bcond bench %[%{undefined rhel} || 0%{?rhel} < 10] + +Summary: High performance compressor optimized for binary data +Name: blosc +Version: 1.21.6 +Release: %autorelease +License: BSD-3-Clause +Source: https://github.com/Blosc/c-blosc/archive/v%{version}/blosc-%{version}.tar.gz +Patch0: %{name}-gcc11.patch + +URL: https://github.com/Blosc/c-blosc +BuildRequires: gcc +BuildRequires: gcc-c++ +BuildRequires: cmake +BuildRequires: lz4-devel +BuildRequires: snappy-devel +BuildRequires: zlib-devel +BuildRequires: libzstd-devel + +%description +Blosc is a compression library designed to transmit data to the processor +cache faster than the traditional non-compressed memory fetch. +Compression ratios are not very high, but the decompression is very fast. +Blosc is meant not only to reduce the size of large datasets on-disk or +in-memory, but also to accelerate memory-bound computations. + +%package devel +Summary: Header files and libraries for Blosc development +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description devel +The blosc-devel package contains the header files and libraries needed +to develop programs that use the blosc meta-compressor. + +%if %{with bench} +%package bench +Summary: Benchmark for the Blosc compressor +Requires: %{name} = %{version}-%{release} +# This isn't actually a build-time dependency, but we'll mark it as such to +# make sure the dependency is present in EPEL to avoid it later becoming a +# missing run-time dependency and having an uninstallable subpackage. +BuildRequires: python3-matplotlib +Requires: python3-matplotlib + +%description bench +The blosc-bench package contains a benchmark suite which evaluates +the performance of Blosc, and compares it with memcpy. +%endif + +%prep +%autosetup -n c-%{name}-%{version} -p1 +rm -r internal-complibs/lz4* internal-complibs/zstd* + +# Fix rpath issue +sed -i '1i set\(CMAKE_SKIP_RPATH true\)' bench/CMakeLists.txt + +# Fix cmake detection of pthreads +sed -i '1i set\(CMAKE_POSITION_INDEPENDENT_CODE TRUE\)' CMakeLists.txt + +# https://github.com/Blosc/c-blosc/issues/190 +sed -i 's|lib/pkgconfig|%{_lib}/pkgconfig|' CMakeLists.txt + +# Add python shebang and permission +sed -i '1i #!/usr/bin/python3' bench/plot-speeds.py + +%build +# Use the proper library path and SSE2 instruction on 64bits systems +%cmake \ + -DBUILD_STATIC:BOOL=OFF \ + -DPREFER_EXTERNAL_LZ4:BOOL=ON \ + -DTEST_INCLUDE_BENCH_SUITE:BOOL=OFF \ + -DDEACTIVATE_SNAPPY:BOOL=OFF \ + -DPREFER_EXTERNAL_ZLIB:BOOL=ON \ + -DPREFER_EXTERNAL_ZSTD:BOOL=ON + +%cmake_build + +%check +export LD_LIBRARY_PATH=%{buildroot}%{_libdir} +%ctest + +%install +%cmake_install + +%if %{with bench} +install -p bench/plot-speeds.py* -Dt %{buildroot}/%{_pkgdocdir}/bench/ +install -pm 0644 bench/*.c %{buildroot}/%{_pkgdocdir}/bench + +install -p %{_vpath_builddir}/bench/bench -D %{buildroot}/%{_bindir}/%{name}-bench +install -p bench/plot-speeds.py %{buildroot}/%{_bindir}/%{name}-plot-times +%endif + +%files +%exclude %{_pkgdocdir}/bench/ +%license LICENSES/* +%doc README.md ANNOUNCE.rst RELEASE_NOTES.rst README*.rst +%{_libdir}/libblosc.so.1* + +%files devel +%{_libdir}/libblosc.so +%{_libdir}/pkgconfig/blosc.pc +%{_includedir}/blosc.h +%{_includedir}/blosc-export.h + +%if %{with bench} +%files bench +%{_pkgdocdir}/bench +%{_bindir}/%{name}-bench +%{_bindir}/%{name}-plot-times +%endif + + +%changelog +* Sat Dec 28 2024 Arkady L. Shane - 1.21.6-3 +- Rebuilt for MSVSphere 10 + +## START: Generated by rpmautospec +* Fri Nov 08 2024 Carl George - 1.21.6-3 +- Disable bench subpackage on EPEL 10+ + +* Fri Nov 08 2024 Carl George - 1.21.6-2 +- Own /usr/share/doc/blosc/bench directory + +* Tue Aug 20 2024 Zbigniew Jędrzejewski-Szmek - 1.21.6-1 +- Version 1.21.6 (rhbz#2306019) + +* Wed Jul 17 2024 Fedora Release Engineering - 1.21.5-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Tue Jan 23 2024 Fedora Release Engineering - 1.21.5-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Fri Jan 19 2024 Fedora Release Engineering - 1.21.5-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Tue Nov 21 2023 Zbigniew Jędrzejewski-Szmek - 1.21.5-2 +- Update license tag, make it valid SPDX + +* Tue Nov 21 2023 Zbigniew Jędrzejewski-Szmek - 1.21.5-1 +- Version 1.21.5 + +* Wed Jul 19 2023 Fedora Release Engineering - 1.21.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Sat May 20 2023 Zbigniew Jędrzejewski-Szmek - 1.21.4-1 +- Version 1.21.4 (rhbz#2207738) + +* Wed Jan 18 2023 Fedora Release Engineering - 1.21.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Mon Jan 02 2023 jonathanspw - 1.21.2-1 +- update to 1.21.2 rhbz#2152010 + +* Wed Jul 20 2022 Fedora Release Engineering - 1.21.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Wed Jan 19 2022 Fedora Release Engineering - 1.21.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Thu Oct 07 2021 Zbigniew Jędrzejewski-Szmek - 1.21.1-1 +- Version 1.21.1 (fixes rhbz#2011655) + +* Wed Jul 21 2021 Fedora Release Engineering - 1.21.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Sat Feb 13 2021 Zbigniew Jędrzejewski-Szmek - 1.21.0-1 +- Update to latest version (#1742237) + +* Tue Jan 26 2021 Fedora Release Engineering - 1.20.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Tue Dec 15 2020 Jeff Law - 1.20.1-2 +- Prevent inlining, cloning and ipa analysis of sw32_ and _sw32 functions + +* Wed Sep 9 20:41:44 MDT 2020 Orion Poplawski - 1.20.1-1 +- Update to 1.20.1 + +* Tue Aug 11 2020 Elliott Sales de Andrade - 1.19.0-4 +- Fix build for new CMake macros (#1863272) +- Re-enable Snappy support (#1867915) + +* Sat Aug 01 2020 Fedora Release Engineering - 1.19.0-3 +- Second attempt - Rebuilt for + https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Mon Jul 27 2020 Fedora Release Engineering - 1.19.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Wed Jun 24 2020 Zbigniew Jędrzejewski-Szmek - 1.19.0-1 +- Update to latest version (#1742237) + +* Sat May 23 2020 Zbigniew Jędrzejewski-Szmek - 1.18.1-1 +- Update to latest version (#1742237) + +* Tue Jan 28 2020 Fedora Release Engineering - 1.17.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Thu Oct 3 2019 Orion Poplawski - 1.17.0-1 +- Update to 1.17.0 + +* Wed Jul 24 2019 Fedora Release Engineering - 1.16.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Sat May 4 2019 Zbigniew Jędrzejewski-Szmek - 1.16.3-1 +- Update to latest version (#1671929) + +* Thu Jan 31 2019 Fedora Release Engineering - 1.14.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Mon Nov 12 2018 Zbigniew Jędrzejewski-Szmek - 1.14.4-1 +- Update to latest version (#1609768) + +* Thu Jul 19 2018 Zbigniew Jędrzejewski-Szmek - 1.14.3-1 +- Update to latest version (#1539013) +- Drop obsolete ldconfig invocations + +* Thu Jul 12 2018 Fedora Release Engineering - 1.13.3-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Wed Feb 07 2018 Fedora Release Engineering - 1.13.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Thu Jan 25 2018 Zbigniew Jędrzejewski-Szmek - 1.13.3-1 +- Update to latest version (#1536731) + +* Thu Jan 18 2018 Jan Beran - 1.13.1-1 +* New version using Python 3 + +* Wed Aug 02 2017 Fedora Release Engineering - 1.11.3-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 1.11.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Sat Mar 11 2017 Zbigniew Jędrzejewski-Szmek - 1.11.3-1 +- Update to latest version +- Build against external zstd +- A pkgconfig file is now provided + +* Fri Feb 10 2017 Fedora Release Engineering - 1.11.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Mon Nov 07 2016 Than Ngo - 1.11.1-2 +- Fix the bigendian issue which causes build failure in PyTables (bz#1379123) + +* Sun Nov 6 2016 Orion Poplawski - 1.11.1-1 +- Update to 1.11.1 (#1361777) +- Run cmake in %%build + +* Mon Sep 26 2016 Dominik Mierzejewski - 1.10.1-2 +- rebuilt for matplotlib-2.0.0 + +* Thu Jul 28 2016 Zbigniew Jędrzejewski-Szmek - 1.10.1-1 +- Update to latest version (#1323008) + +* Thu Jul 14 2016 Thibault North - 1.9.3-1 +- Update to 1.9.3 (#1211599) +- Remove 32-bits test patch now integrated + +* Mon May 16 2016 Orion Poplawski - 1.9.0-1 +- Update to 1.9.0 (#1211599) +- Update URL +- Disable parallel build +- Run all tests +- Ship license files + +* Wed Feb 03 2016 Fedora Release Engineering - 1.6.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Wed Jun 17 2015 Fedora Release Engineering - 1.6.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Wed May 6 2015 Zbigniew Jędrzejewski-Szmek - 1.6.1-1 +- Update to 1.6.1 (#1211599) + +* Mon Apr 20 2015 Zbigniew Jędrzejewski-Szmek - 1.5.4-1 +- Update to 1.5.4 (#1211599) + +* Tue Jan 06 2015 Zbigniew Jędrzejewski-Szmek - 1.5.2-1 +- Update to 1.5.2 (#1115808) + +* Fri Aug 15 2014 Fedora Release Engineering - 1.3.5-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Sat Jun 07 2014 Fedora Release Engineering - 1.3.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Sat Mar 22 2014 Thibault North - 1.3.5-1 +- Update to 1.3.5 + +* Fri Mar 21 2014 Thibault North - 1.3.4-1 +- Update to 1.3.4 + +* Tue Jan 07 2014 Zbigniew Jędrzejewski-Szmek - 1.3.0-1.rc2 +- Attempt to package new version + +* Tue Oct 22 2013 Thibault North - 1.2.3-9 +- Fix flags and bench compilation + +* Mon Oct 21 2013 Thibault North - 1.2.3-8 +- Fix docdir for F<20 and remove sse flag + +* Mon Oct 21 2013 Thibault North - 1.2.3-7 +- Use install instead of cp, more fixes + +* Mon Oct 21 2013 Thibault North - 1.2.3-6 +- Fixes + +* Mon Oct 21 2013 Thibault North - 1.2.3-5 +- Use pkgdocdir, various fixes. + +* Mon Oct 21 2013 Thibault North - 1.2.3-4 +- Fix docdir, add blosc-bench subpackage + +* Fri Oct 18 2013 Thibault North - 1.2.3-3 +- Fixes (thanks Zbigniew Jędrzejewski-Szmek) + +* Wed Oct 16 2013 Thibault North - 1.2.3-2 +- Various fixes + +* Fri Sep 20 2013 Thibault North - 1.2.3-1 +- Sync upstream + +* Fri Mar 22 2013 Thibault North - 1.1.6-1 +- Initial package + +## END: Generated by rpmautospec