gf-complete/rpm/gf-complete.spec

134 lines
4.6 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

#
# spec file for package gf-complete
#
# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
# (c) 2020 Vitaliy Filippov
#
# 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.
%define libname libgf_complete1
Name: gf-complete
Version: 1.0.20170410gitea75cdf
Release: 0
Summary: Galois Field Arithmetic
License: BSD-3-Clause
Group: Development/Libraries/C and C++
Url: http://jerasure.org/jerasure/gf-complete
Source: %{name}-%{version}.tar.bz2
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: libtool
%description
Galois Field arithmetic forms the backbone of erasure-coded storage systems,
most famously the Reed-Solomon erasure code. A Galois Field is defined over
w-bit words and is termed GF(2w). As such, the elements of a Galois Field are
the integers 0, 1, . . ., 2^w 1. Galois Field arithmetic defines addition
and multiplication over these closed sets of integers in such a way that they
work as you would hope they would work. Specifically, every number has a
unique multiplicative inverse. Moreover, there is a value, typically the value
2, which has the property that you can enumerate all of the non-zero elements
of the field by taking that value to successively higher powers.
%package -n %{libname}
Summary: Galois Field Arithmetic development files
Group: Development/Libraries/C and C++
%description -n %{libname}
Galois Field arithmetic forms the backbone of erasure-coded storage systems,
most famously the Reed-Solomon erasure code. A Galois Field is defined over
w-bit words and is termed GF(2w). As such, the elements of a Galois Field are
the integers 0, 1, . . ., 2^w 1. Galois Field arithmetic defines addition
and multiplication over these closed sets of integers in such a way that they
work as you would hope they would work. Specifically, every number has a
unique multiplicative inverse. Moreover, there is a value, typically the value
2, which has the property that you can enumerate all of the non-zero elements
of the field by taking that value to successively higher powers.
This package contains the shared library
%package devel
Summary: Galois Field Arithmetic development files
Group: Development/Libraries/C and C++
Requires: %{libname} = %{version}
%description devel
Galois Field arithmetic forms the backbone of erasure-coded storage systems,
most famously the Reed-Solomon erasure code. A Galois Field is defined over
w-bit words and is termed GF(2w). As such, the elements of a Galois Field are
the integers 0, 1, . . ., 2^w 1. Galois Field arithmetic defines addition
and multiplication over these closed sets of integers in such a way that they
work as you would hope they would work. Specifically, every number has a
unique multiplicative inverse. Moreover, there is a value, typically the value
2, which has the property that you can enumerate all of the non-zero elements
of the field by taking that value to successively higher powers.
%package tools
Summary: CLI tools for %{name}
Group: Development/Libraries/C and C++
%description tools
Various utilities that come with the %{name} library.
%prep
%setup -q -n %{name}-%{version}
%build
autoreconf --force --install -I m4
%configure \
--disable-static \
--disable-silent-rules \
--disable-rpath
make %{?_smp_mflags}
%install
make DESTDIR=%{buildroot} install %{?_smp_mflags}
%post -n %{libname} -p /sbin/ldconfig
%postun -n %{libname} -p /sbin/ldconfig
%files
%defattr(-,root,root)
%doc COPYING README ChangeLog
%files -n %{libname}
%defattr(-,root,root,-)
%{_libdir}/*.so.*
%files tools
%defattr(-,root,root)
%doc COPYING README
%{_bindir}/gf_add
%{_bindir}/gf_div
%{_bindir}/gf_inline_time
%{_bindir}/gf_methods
%{_bindir}/gf_mult
%{_bindir}/gf_poly
%{_bindir}/gf_time
%{_bindir}/gf_unit
%{_bindir}/gf_example_1
%{_bindir}/gf_example_2
%{_bindir}/gf_example_3
%{_bindir}/gf_example_4
%{_bindir}/gf_example_5
%{_bindir}/gf_example_6
%{_bindir}/gf_example_7
%files devel
%defattr(-,root,root)
%{_includedir}/*h
%{_libdir}/libgf_complete.la
%{_libdir}/libgf_complete.so
%changelog