Compare commits
47 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
36a258506d | ||
|
822fe0cd9e | ||
|
074cc7b641 | ||
|
ac6ce9a31d | ||
|
85cf058284 | ||
|
62f7aa7b31 | ||
|
56316de2f2 | ||
|
f73e1ea266 | ||
|
6476238dd8 | ||
|
2e5f355a97 | ||
|
9d9bfb3e12 | ||
|
2867ec602f | ||
|
5ddec60238 | ||
|
fa16cf7dfe | ||
|
4cb6f070b8 | ||
|
38ac1345a8 | ||
|
659b7366db | ||
|
6b6cdde567 | ||
|
46eaed819c | ||
|
9bb10bfb42 | ||
|
304d46b23c | ||
|
af723881e2 | ||
|
64dfb00da8 | ||
|
5a278c9f00 | ||
|
2e0527d359 | ||
|
2e29113153 | ||
|
5a04263a7a | ||
|
438a17781c | ||
|
26e14a2efc | ||
|
7e405f74ed | ||
|
2828a242e4 | ||
|
f3703c4056 | ||
|
2345532a18 | ||
|
01f03bc68e | ||
|
25bc5032ee | ||
|
a5419949fa | ||
|
14995b0b61 | ||
|
3adaad3779 | ||
|
e69d8b7672 | ||
|
0da5f48a1e | ||
|
95df212335 | ||
|
350ade1591 | ||
|
66a6d72d60 | ||
|
974005a521 | ||
|
db9a20cea9 | ||
|
d77ef57bb1 | ||
|
79ac1b5ca7 |
4
.gitignore
vendored
4
.gitignore
vendored
@ -1,3 +1 @@
|
|||||||
/ntl-8.1.2.tar.gz
|
/ntl-*.tar.gz
|
||||||
/ntl-9.1.0.tar.gz
|
|
||||||
/ntl-9.1.1.tar.gz
|
|
||||||
|
18
README.md
Normal file
18
README.md
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
# ntl
|
||||||
|
|
||||||
|
[NTL](https://libntl.org/) is a high-performance, portable C++ library
|
||||||
|
providing data structures and algorithms for arbitrary length integers; for
|
||||||
|
vectors, matrices, and polynomials over the integers and over finite fields;
|
||||||
|
and for arbitrary precision floating point arithmetic.
|
||||||
|
|
||||||
|
NTL provides high quality implementations of state-of-the-art algorithms for:
|
||||||
|
* arbitrary length integer arithmetic and arbitrary precision floating point
|
||||||
|
arithmetic;
|
||||||
|
* polynomial arithmetic over the integers and finite fields including basic
|
||||||
|
arithmetic, polynomial factorization, irreducibility testing, computation of
|
||||||
|
minimal polynomials, traces, norms, and more;
|
||||||
|
* lattice basis reduction, including very robust and fast implementations of
|
||||||
|
Schnorr-Euchner, block Korkin-Zolotarev reduction, and the new
|
||||||
|
Schnorr-Horner pruning heuristic for block Korkin-Zolotarev;
|
||||||
|
* basic linear algebra over the integers, finite fields, and arbitrary
|
||||||
|
precision floating point numbers.
|
2371
ntl-loadtime-cpu.patch
Normal file
2371
ntl-loadtime-cpu.patch
Normal file
File diff suppressed because it is too large
Load Diff
@ -1,52 +0,0 @@
|
|||||||
--- ./include/NTL/tools.h.orig 2015-05-02 05:33:11.000000000 -0600
|
|
||||||
+++ ./include/NTL/tools.h 2015-05-02 16:21:34.715795969 -0600
|
|
||||||
@@ -523,7 +523,12 @@ void swap(WrappedPtr<T,Deleter>& x, Wrap
|
|
||||||
|
|
||||||
// Error Handling
|
|
||||||
|
|
||||||
-
|
|
||||||
+/*
|
|
||||||
+ This function is not present in vanilla NTL.
|
|
||||||
+ See tools.c for documentation.
|
|
||||||
+ */
|
|
||||||
+void SetErrorCallbackFunction(void (*func)(const char *s, void *context),
|
|
||||||
+ void *context);
|
|
||||||
|
|
||||||
class ErrorObject : public NTL_SNS runtime_error {
|
|
||||||
public:
|
|
||||||
--- ./src/tools.c.orig 2015-05-02 05:33:10.000000000 -0600
|
|
||||||
+++ ./src/tools.c 2015-05-02 16:21:34.716795889 -0600
|
|
||||||
@@ -17,9 +17,33 @@ NTL_START_IMPL
|
|
||||||
|
|
||||||
NTL_THREAD_LOCAL void (*ErrorCallback)() = 0;
|
|
||||||
|
|
||||||
+/*
|
|
||||||
+ The following code differs from vanilla NTL.
|
|
||||||
+
|
|
||||||
+ We add a SetErrorCallbackFunction(). This sets a global callback function
|
|
||||||
+ _function_, which gets called with parameter _context_ and an error
|
|
||||||
+ message string whenever Error() gets called.
|
|
||||||
+
|
|
||||||
+ Note that if the custom error handler *returns*, then NTL will dump the
|
|
||||||
+ error message back to stderr and abort() as it habitually does.
|
|
||||||
+
|
|
||||||
+ -- David Harvey (2008-04-12)
|
|
||||||
+*/
|
|
||||||
+
|
|
||||||
+void (*ErrorCallbackFunction)(const char*, void*) = NULL;
|
|
||||||
+void *ErrorCallbackContext = NULL;
|
|
||||||
+
|
|
||||||
+void SetErrorCallbackFunction(void (*function)(const char*, void*), void *context)
|
|
||||||
+{
|
|
||||||
+ ErrorCallbackFunction = function;
|
|
||||||
+ ErrorCallbackContext = context;
|
|
||||||
+}
|
|
||||||
|
|
||||||
void TerminalError(const char *s)
|
|
||||||
{
|
|
||||||
+ if (ErrorCallbackFunction != NULL)
|
|
||||||
+ ErrorCallbackFunction(s, ErrorCallbackContext);
|
|
||||||
+
|
|
||||||
cerr << s << "\n";
|
|
||||||
_ntl_abort();
|
|
||||||
}
|
|
218
ntl.spec
218
ntl.spec
@ -1,35 +1,28 @@
|
|||||||
|
%global multilib_arches %{ix86} x86_64 ppc ppc64 s390 s390x sparcv9 sparc64
|
||||||
%define multilib_arches %{ix86} x86_64 ppc ppc64 s390 s390x sparcv9 sparc64
|
|
||||||
|
|
||||||
# define include static lib (else undef)
|
|
||||||
#define static 1
|
|
||||||
|
|
||||||
# no gf2x in rhel/epel, yet -- rex
|
|
||||||
# gf2x in rhel/epel 7 -- marianne
|
|
||||||
%if 0%{?fedora} || 0%{?rhel} >= 7
|
|
||||||
%define gf2x 1
|
|
||||||
%endif
|
|
||||||
|
|
||||||
Summary: High-performance algorithms for vectors, matrices, and polynomials
|
Summary: High-performance algorithms for vectors, matrices, and polynomials
|
||||||
Name: ntl
|
Name: ntl
|
||||||
Version: 9.1.1
|
Version: 11.5.1
|
||||||
Release: 1%{?dist}
|
Release: 5%{?dist}
|
||||||
|
|
||||||
License: GPLv2+
|
# LGPL-2.1-or-later: the project as a whole
|
||||||
URL: http://shoup.net/ntl/
|
# BSD-2-Clause: src/FFT.cpp
|
||||||
Group: System Environment/Libraries
|
License: LGPL-2.1-or-later AND BSD-2-Clause
|
||||||
|
URL: https://libntl.org/
|
||||||
|
|
||||||
Source0: http://shoup.net/ntl/%{name}-%{version}.tar.gz
|
Source0: https://libntl.org/%{name}-%{version}.tar.gz
|
||||||
Source1: multilib_template.h
|
Source1: multilib_template.h
|
||||||
|
# Detect CPU at load time, optionally use PCLMUL, AVX, FMA, and AVX2 features.
|
||||||
|
# This patch was sent upstream, but upstream prefers that the entire library
|
||||||
|
# be built for a specific CPU, which we cannot do in Fedora.
|
||||||
|
Patch0: %{name}-loadtime-cpu.patch
|
||||||
|
|
||||||
# Apply sagemath patch to let sagemath handle NTL errors.
|
BuildRequires: gcc-c++
|
||||||
Patch0: %{name}-sagemath.patch
|
|
||||||
|
|
||||||
%if 0%{?gf2x}
|
|
||||||
BuildRequires: gf2x-devel
|
BuildRequires: gf2x-devel
|
||||||
%endif
|
|
||||||
BuildRequires: gmp-devel
|
BuildRequires: gmp-devel
|
||||||
BuildRequires: libtool
|
BuildRequires: libtool
|
||||||
|
BuildRequires: make
|
||||||
|
BuildRequires: perl-interpreter
|
||||||
|
|
||||||
%description
|
%description
|
||||||
NTL is a high-performance, portable C++ library providing data structures
|
NTL is a high-performance, portable C++ library providing data structures
|
||||||
@ -51,38 +44,38 @@ NTL provides high quality implementations of state-of-the-art algorithms for:
|
|||||||
|
|
||||||
%package devel
|
%package devel
|
||||||
Summary: Development files for %{name}
|
Summary: Development files for %{name}
|
||||||
Group: Development/Libraries
|
|
||||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||||
%description devel
|
%description devel
|
||||||
%{summary}.
|
%{summary}.
|
||||||
|
|
||||||
%package static
|
|
||||||
Summary: Static libraries for %{name}
|
|
||||||
Group: Development/Libraries
|
|
||||||
Requires: %{name}-devel%{?_isa} = %{version}-%{release}
|
|
||||||
#Requires: gmp-devel
|
|
||||||
%description static
|
|
||||||
%{summary}.
|
|
||||||
|
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q
|
%autosetup -p0
|
||||||
%patch0
|
|
||||||
|
|
||||||
|
# Remove an unused file with an unacceptable license (CC-BY-3.0)
|
||||||
|
rm src/GetTime0.cpp
|
||||||
|
|
||||||
%build
|
%build
|
||||||
|
# TODO: Once we can assume z15, add TUNE=linux-s390x to the flags for s390x
|
||||||
pushd src
|
pushd src
|
||||||
./configure \
|
./configure \
|
||||||
CXX="${CXX-g++}" \
|
CXX="${CXX-g++}" \
|
||||||
CXXFLAGS="%{optflags} -fPIC" \
|
CXXFLAGS='%{build_cxxflags} -fPIC' \
|
||||||
LDFLAGS="$RPM_LD_FLAGS" \
|
LDFLAGS='%{build_ldflags}' \
|
||||||
PREFIX=%{_prefix} \
|
DEF_PREFIX=%{_prefix} \
|
||||||
DOCDIR=%{_docdir} \
|
DOCDIR=%{_docdir} \
|
||||||
INCLUDEDIR=%{_includedir} \
|
INCLUDEDIR=%{_includedir} \
|
||||||
LIBDIR=%{_libdir} \
|
LIBDIR=%{_libdir} \
|
||||||
NTL_GMP_LIP=on \
|
LDLIBS='-lpthread -lm' \
|
||||||
%{?gf2x:NTL_GF2X_LIB=on} \
|
NATIVE=off \
|
||||||
NTL_PCLMUL=off \
|
NTL_GF2X_LIB=on \
|
||||||
|
NTL_STD_CXX14=on \
|
||||||
|
%ifarch x86_64
|
||||||
|
NTL_LOADTIME_CPU=on \
|
||||||
|
TUNE=x86 \
|
||||||
|
%else
|
||||||
|
TUNE=generic \
|
||||||
|
%endif
|
||||||
SHARED=on
|
SHARED=on
|
||||||
popd
|
popd
|
||||||
|
|
||||||
@ -91,8 +84,7 @@ make -C src V=1
|
|||||||
|
|
||||||
|
|
||||||
%check
|
%check
|
||||||
# skip by default, takes a *long, long, long* (days?) time -- Rex
|
make -C src check
|
||||||
%{?_with_check:make -C src check}
|
|
||||||
|
|
||||||
|
|
||||||
%install
|
%install
|
||||||
@ -102,12 +94,13 @@ make -C src install \
|
|||||||
INCLUDEDIR=%{buildroot}%{_includedir} \
|
INCLUDEDIR=%{buildroot}%{_includedir} \
|
||||||
LIBDIR=%{buildroot}%{_libdir}
|
LIBDIR=%{buildroot}%{_libdir}
|
||||||
|
|
||||||
|
# Fix permissions
|
||||||
|
chmod 0755 %{buildroot}%{_libdir}/libntl.so.*
|
||||||
|
|
||||||
# Unpackaged files
|
# Unpackaged files
|
||||||
rm -rfv %{buildroot}%{_docdir}/NTL
|
rm -rfv %{buildroot}%{_docdir}/NTL
|
||||||
rm -fv %{buildroot}%{_libdir}/libntl.la
|
rm -fv %{buildroot}%{_libdir}/libntl.la
|
||||||
%if ! 0%{?static}
|
|
||||||
rm -fv %{buildroot}%{_libdir}/libntl.a
|
rm -fv %{buildroot}%{_libdir}/libntl.a
|
||||||
%endif
|
|
||||||
|
|
||||||
%ifarch %{multilib_arches}
|
%ifarch %{multilib_arches}
|
||||||
# hack to allow parallel installation of multilib factory-devel
|
# hack to allow parallel installation of multilib factory-devel
|
||||||
@ -123,26 +116,147 @@ done
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
|
||||||
%post -p /sbin/ldconfig
|
|
||||||
%postun -p /sbin/ldconfig
|
|
||||||
|
|
||||||
%files
|
%files
|
||||||
%doc README
|
%doc README
|
||||||
%license doc/copying.txt
|
%license doc/copying.txt
|
||||||
%{_libdir}/libntl.so.14*
|
%{_libdir}/libntl.so.44*
|
||||||
|
|
||||||
%files devel
|
%files devel
|
||||||
%doc doc/*
|
%doc doc/*
|
||||||
%{_includedir}/NTL/
|
%{_includedir}/NTL/
|
||||||
%{_libdir}/libntl.so
|
%{_libdir}/libntl.so
|
||||||
|
|
||||||
%if 0%{?static}
|
|
||||||
%files static
|
|
||||||
%{_libdir}/libntl.a
|
|
||||||
%endif
|
|
||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 11.5.1-5
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
||||||
|
|
||||||
|
* Sat Dec 10 2022 Jerry James <loganjerry@gmail.com> - 11.5.1-4
|
||||||
|
- Convert License tag to SPDX
|
||||||
|
|
||||||
|
* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 11.5.1-4
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 11.5.1-3
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 11.5.1-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
||||||
|
|
||||||
|
* Tue Jun 29 2021 Jerry James <loganjerry@gmail.com> - 11.5.1-1
|
||||||
|
- ntl-11.5.1
|
||||||
|
|
||||||
|
* Fri Mar 5 2021 Jerry James <loganjerry@gmail.com> - 11.4.4-1
|
||||||
|
- ntl-11.4.4
|
||||||
|
|
||||||
|
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 11.4.3-4
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||||
|
|
||||||
|
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 11.4.3-3
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 11.4.3-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Jan 8 2020 Jerry James <loganjerry@gmail.com> - 11.4.3-1
|
||||||
|
- ntl-11.4.3
|
||||||
|
- Drop upstreamed -gf2x13 patch
|
||||||
|
|
||||||
|
* Tue Dec 10 2019 Jerry James <loganjerry@gmail.com> - 11.4.1-2
|
||||||
|
- Rebuild for gf2x 1.3.0
|
||||||
|
|
||||||
|
* Mon Oct 14 2019 Jerry James <loganjerry@gmail.com> - 11.4.1-1
|
||||||
|
- ntl-11.4.1
|
||||||
|
|
||||||
|
* Wed Sep 25 2019 Jerry James <loganjerry@gmail.com> - 11.4.0-1
|
||||||
|
- ntl-11.4.0
|
||||||
|
|
||||||
|
* Tue Sep 24 2019 Jerry James <loganjerry@gmail.com> - 11.3.4-1
|
||||||
|
- ntl-11.3.4
|
||||||
|
|
||||||
|
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 11.3.2-3
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 11.3.2-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||||
|
|
||||||
|
* Tue Nov 27 2018 Jerry James <loganjerry@gmail.com> - 11.3.2-1
|
||||||
|
- ntl-11.3.2
|
||||||
|
|
||||||
|
* Tue Oct 30 2018 Jerry James <loganjerry@gmail.com> - 11.3.1-1
|
||||||
|
- ntl-11.3.1
|
||||||
|
|
||||||
|
* Fri Oct 5 2018 Jerry James <loganjerry@gmail.com> - 11.3.0-1
|
||||||
|
- ntl-11.3.0
|
||||||
|
|
||||||
|
* Fri Aug 10 2018 Jerry James <loganjerry@gmail.com> - 11.2.1-1
|
||||||
|
- ntl-11.2.1
|
||||||
|
|
||||||
|
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 11.1.0-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||||
|
|
||||||
|
* Tue Jul 3 2018 Jerry James <loganjerry@gmail.com> - 11.1.0-1
|
||||||
|
- ntl-11.1.0
|
||||||
|
|
||||||
|
* Sat Jun 2 2018 Jerry James <loganjerry@gmail.com> - 11.0.0-1
|
||||||
|
- ntl-11.0.0
|
||||||
|
|
||||||
|
* Thu Feb 08 2018 Fedora Release Engineering <releng@fedoraproject.org> - 10.5.0-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Sep 28 2017 Jerry James <loganjerry@gmail.com> - 10.5.0-1
|
||||||
|
- ntl-10.5.0
|
||||||
|
|
||||||
|
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 10.3.0-3
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 10.3.0-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Apr 5 2017 Jerry James <loganjerry@gmail.com> - 10.3.0-1
|
||||||
|
- ntl-10.3.0
|
||||||
|
|
||||||
|
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 10.1.0-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Oct 20 2016 Jerry James <loganjerry@gmail.com> - 10.1.0-1
|
||||||
|
- ntl-10.1.0
|
||||||
|
|
||||||
|
* Mon Sep 5 2016 Jerry James <loganjerry@gmail.com> - 9.11.0-1
|
||||||
|
- ntl-9.11.0
|
||||||
|
|
||||||
|
* Mon Jul 25 2016 Jerry James <loganjerry@gmail.com> - 9.10.0-1
|
||||||
|
- ntl-9.10.0
|
||||||
|
|
||||||
|
* Thu Jun 2 2016 Jerry James <loganjerry@gmail.com> - 9.9.1-1
|
||||||
|
- ntl-9.9.1
|
||||||
|
|
||||||
|
* Fri Apr 29 2016 Jerry James <loganjerry@gmail.com> - 9.8.0-1
|
||||||
|
- ntl-9.8.0
|
||||||
|
- Add -loadtime-cpu patch
|
||||||
|
- Enable the check script on x86_64
|
||||||
|
|
||||||
|
* Sat Mar 19 2016 Jerry James <loganjerry@gmail.com> - 9.7.0-1
|
||||||
|
- ntl-9.7.0
|
||||||
|
|
||||||
|
* Sat Feb 20 2016 Jerry James <loganjerry@gmail.com> - 9.6.4-1
|
||||||
|
- ntl-9.6.4
|
||||||
|
|
||||||
|
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 9.6.2-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Dec 4 2015 Jerry James <loganjerry@gmail.com> - 9.6.2-1
|
||||||
|
- ntl-9.6.2
|
||||||
|
|
||||||
|
* Fri Oct 16 2015 Jerry James <loganjerry@gmail.com> - 9.4.0-1
|
||||||
|
- ntl-9.4.0
|
||||||
|
|
||||||
|
* Sat Sep 19 2015 Jerry James <loganjerry@gmail.com> - 9.3.0-1
|
||||||
|
- ntl-9.3.0
|
||||||
|
|
||||||
|
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 9.1.1-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
|
||||||
|
|
||||||
* Sat May 16 2015 Jerry James <loganjerry@gmail.com> - 9.1.1-1
|
* Sat May 16 2015 Jerry James <loganjerry@gmail.com> - 9.1.1-1
|
||||||
- ntl-9.1.1
|
- ntl-9.1.1
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user