]> git.pld-linux.org Git - packages/libisal.git/commitdiff
- new
authorJakub Bogusz <qboosh@pld-linux.org>
Tue, 26 May 2020 19:50:02 +0000 (21:50 +0200)
committerJakub Bogusz <qboosh@pld-linux.org>
Tue, 26 May 2020 19:50:02 +0000 (21:50 +0200)
isa-l-x86.patch [new file with mode: 0644]
libisal.spec [new file with mode: 0644]

diff --git a/isa-l-x86.patch b/isa-l-x86.patch
new file mode 100644 (file)
index 0000000..5457ac8
--- /dev/null
@@ -0,0 +1,43 @@
+ec_encode_data_{sse,avx,avx2} refer to asm routines available only for elf64
+--- isa-l-2.29.0/erasure_code/ec_highlevel_func.c.orig 2020-02-27 02:29:49.000000000 +0100
++++ isa-l-2.29.0/erasure_code/ec_highlevel_func.c      2020-05-26 20:43:45.280001729 +0200
+@@ -29,7 +29,7 @@
+ #include <limits.h>
+ #include "erasure_code.h"
+-#if __x86_64__  || __i386__ || _M_X64 || _M_IX86
++#if __x86_64__  || _M_X64
+ void ec_encode_data_sse(int len, int k, int rows, unsigned char *g_tbls, unsigned char **data,
+                       unsigned char **coding)
+ {
+--- isa-l-2.29.0/erasure_code/ec_multibinary.asm.orig  2020-02-27 02:29:49.000000000 +0100
++++ isa-l-2.29.0/erasure_code/ec_multibinary.asm       2020-05-26 21:01:48.970797539 +0200
+@@ -36,6 +36,9 @@
+  default rel
+  [bits 64]
++ extern ec_encode_data_sse
++ extern ec_encode_data_avx
++ extern ec_encode_data_avx2
+  extern ec_encode_data_update_sse
+  extern ec_encode_data_update_avx
+  extern ec_encode_data_update_avx2
+@@ -62,9 +65,6 @@
+ extern gf_vect_dot_prod_sse
+ extern gf_vect_dot_prod_avx
+ extern gf_vect_dot_prod_avx2
+-extern ec_encode_data_sse
+-extern ec_encode_data_avx
+-extern ec_encode_data_avx2
+ mbin_interface ec_encode_data
+ mbin_interface gf_vect_dot_prod
+@@ -73,7 +73,7 @@
+ mbin_interface gf_vect_mad
+ %ifidn __OUTPUT_FORMAT__, elf32
+- mbin_dispatch_init5 ec_encode_data, ec_encode_data_base, ec_encode_data_sse, ec_encode_data_avx, ec_encode_data_avx2
++ mbin_dispatch_init2 ec_encode_data, ec_encode_data_base
+  mbin_dispatch_init5 gf_vect_dot_prod, gf_vect_dot_prod_base, gf_vect_dot_prod_sse, gf_vect_dot_prod_avx, gf_vect_dot_prod_avx2
+  mbin_dispatch_init2 gf_vect_mul, gf_vect_mul_base
+  mbin_dispatch_init2 ec_encode_data_update, ec_encode_data_update_base
diff --git a/libisal.spec b/libisal.spec
new file mode 100644 (file)
index 0000000..5f6a7ff
--- /dev/null
@@ -0,0 +1,132 @@
+#
+# Conditional build:
+%bcond_without static_libs     # static library
+#
+Summary:       Optimized low-level functions library for storage systems
+Summary(pl.UTF-8):     Biblioteka zoptymalizowanych funkcji niskopoziomowych do systemów przechowywania danych
+Name:          libisal
+Version:       2.29.0
+Release:       1
+License:       BSD
+Group:         Libraries
+#Source0Download: https://github.com/intel/isa-l/releases
+Source0:       https://github.com/intel/isa-l/archive/v%{version}/%{name}-%{version}.tar.gz
+# Source0-md5: c24762075dde2a552a041d7f47c3af8a
+Patch0:                isa-l-x86.patch
+URL:           https://github.com/01org/isa-l
+BuildRequires: autoconf >= 2.69
+BuildRequires: automake >= 1:1.11
+BuildRequires: libtool >= 2:2
+%ifarch %{ix86} %{x8664} x32
+# nasm or yasm, whichever has higher "feature number" (max=10 for AVX512+)
+BuildRequires: nasm >= 2.13
+BuildRequires: yasm >= 1.2.0
+%endif
+BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+
+%description
+ISA-L is a collection of optimized low-level functions targeting
+storage applications. ISA-L includes:
+ - Erasure codes - fast block Reed-Solomon type erasure codes for any
+   encode/decode matrix in GF(2^8).
+ - CRC - Fast implementations of cyclic redundancy check. Six
+   different polynomials supported.
+ - iscsi32, ieee32, t10dif, ecma64, iso64, jones64.
+ - RAID - calculate and operate on XOR and P+Q parity found in common
+   RAID implementations.
+ - Compression - Fast deflate-compatible data compression.
+ - De-compression - Fast inflate-compatible data compression.
+
+%description -l pl.UTF-8
+ISA-L to zbiór zoptymalizowanych funkcji niskopoziomowych,
+przeznaczonych do zastosowań związanych z przechowywaniem danych.
+Biblioteka zawiera:
+- kody korekcyjne (erasure codes) - szybkie kody korekcyjne typu
+  Reeda-Solomona dla dowolnej macierzy kodowania/dekodowania w GF(2^8)
+- CRC - szybkie implementacje cyklicznej kontroli nadmiarowej;
+  obsługiwane jest sześć różnych wielomianów
+- iscsi32, ieee32, t10dif, ecma64, iso64, jones64
+- RAID - obliczanie i operacje na parzystości XOR oraz P+Q, używanych
+  w popularnych implementacjach RAID
+- kompresja - szybka kompresja danych zgodna z metodą deflate
+- dekompresja - szybka kompresja danych zgodna z metodą inflate
+
+%package devel
+Summary:       Header files for ISA-L library
+Summary(pl.UTF-8):     Pliki nagłówkowe biblioteki ISA-L
+Group:         Development/Libraries
+Requires:      %{name} = %{version}-%{release}
+
+%description devel
+Header files for ISA-L library.
+
+%description devel -l pl.UTF-8
+Pliki nagłówkowe biblioteki ISA-L.
+
+%package static
+Summary:       Static ISA-L library
+Summary(pl.UTF-8):     Statyczna biblioteka ISA-L
+Group:         Development/Libraries
+Requires:      %{name}-devel = %{version}-%{release}
+
+%description static
+Static ISA-L library.
+
+%description static -l pl.UTF-8
+Statyczna biblioteka ISA-L.
+
+%prep
+%setup -q -n isa-l-%{version}
+%patch0 -p1
+
+%build
+%{__libtoolize}
+%{__aclocal}
+%{__autoconf}
+%{__automake}
+%configure \
+       --disable-silent-rules \
+       %{!?with_static_libs:--disable-static}
+%{__make} \
+%ifarch %{ix86}
+       yasm_args="-f elf32" \
+%endif
+%ifarch x32
+       yasm_args="-f elfx32"
+%endif
+
+%install
+rm -rf $RPM_BUILD_ROOT
+
+%{__make} install \
+       DESTDIR=$RPM_BUILD_ROOT
+
+# no external dependencies, obsoleted by pkg-config
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/*.la
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%post  -p /sbin/ldconfig
+%postun        -p /sbin/ldconfig
+
+%files
+%defattr(644,root,root,755)
+%doc LICENSE README.md Release_notes.txt
+%attr(755,root,root) %{_bindir}/igzip
+%attr(755,root,root) %{_libdir}/libisal.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libisal.so.2
+%{_mandir}/man1/igzip.1*
+
+%files devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libisal.so
+%{_includedir}/isa-l
+%{_includedir}/isa-l.h
+%{_pkgconfigdir}/libisal.pc
+
+%if %{with static_libs}
+%files static
+%defattr(644,root,root,755)
+%{_libdir}/libisal.a
+%endif
This page took 0.037803 seconds and 4 git commands to generate.