Compare commits

...

47 Commits
f22 ... rawhide

Author SHA1 Message Date
Fedora Release Engineering
36a258506d Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-19 21:51:10 +00:00
Jerry James
822fe0cd9e Convert License tag to SPDX. 2022-12-10 20:52:47 -07:00
Fedora Release Engineering
074cc7b641 Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-22 00:52:28 +00:00
Jerry James
ac6ce9a31d Add README.md. 2022-07-18 14:25:00 -06:00
Fedora Release Engineering
85cf058284 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-20 21:28:30 +00:00
Fedora Release Engineering
62f7aa7b31 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-22 16:22:54 +00:00
Jerry James
56316de2f2 ntl-11.5.1. 2021-06-29 08:43:25 -06:00
Jerry James
f73e1ea266 ntl-11.4.4 2021-03-05 15:08:03 -07:00
Fedora Release Engineering
6476238dd8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-01-26 21:44:40 +00:00
Jerry James
2e5f355a97 Explicitly BR make. 2020-11-09 16:36:41 -07:00
Fedora Release Engineering
9d9bfb3e12 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-07-28 11:56:27 +00:00
Fedora Release Engineering
2867ec602f - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-01-29 19:17:16 +00:00
Jerry James
5ddec60238 ntl-11.4.3. Drop upstreamed -gf2x13 patch. 2020-01-09 19:02:08 -07:00
Jerry James
fa16cf7dfe Rebuild for gf2x 1.3.0. 2019-12-10 14:35:56 -07:00
Jerry James
4cb6f070b8 ntl-11.4.1 2019-10-14 10:44:13 -06:00
Jerry James
38ac1345a8 New tarball. 2019-09-25 08:27:48 -06:00
Jerry James
659b7366db ntl-11.4.0. 2019-09-25 08:24:21 -06:00
Jerry James
6b6cdde567 Upload new sources. 2019-09-24 14:03:29 -06:00
Jerry James
46eaed819c ntl-11.3.4 2019-09-24 13:58:12 -06:00
Fedora Release Engineering
9bb10bfb42 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-07-25 22:37:49 +00:00
Fedora Release Engineering
304d46b23c - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-02-01 16:34:18 +00:00
Jerry James
af723881e2 ntl-11.3.2 2018-11-27 21:10:34 -07:00
Jerry James
64dfb00da8 ntl-11.3.1 2018-10-30 19:29:59 -06:00
Jerry James
5a278c9f00 ntl-11.3.0. 2018-10-13 10:46:27 -06:00
Jerry James
2e0527d359 ntl-11.2.1. 2018-08-10 18:38:04 -06:00
Fedora Release Engineering
2e29113153 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-07-13 14:32:36 +00:00
Jerry James
5a04263a7a ntl-11.1.0. 2018-07-03 19:37:34 -06:00
Jerry James
438a17781c ntl-11.0.0 2018-06-02 06:53:29 -06:00
Fedora Release Engineering
26e14a2efc - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-02-08 08:30:46 +00:00
Jerry James
7e405f74ed ntl-10.5.0 2017-09-28 18:37:10 -06:00
Fedora Release Engineering
2828a242e4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild 2017-08-03 04:08:21 +00:00
Fedora Release Engineering
f3703c4056 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild 2017-07-27 01:19:39 +00:00
Petr Písař
2345532a18 perl dependency renamed to perl-interpreter <https://fedoraproject.org/wiki/Changes/perl_Package_to_Install_Core_Modules> 2017-07-12 14:34:11 +02:00
Jerry James
01f03bc68e ntl-10.3.0 2017-04-05 13:00:26 -06:00
Fedora Release Engineering
25bc5032ee - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild 2017-02-11 00:22:22 +00:00
Jerry James
a5419949fa ntl-10.1.0. 2016-10-20 22:54:40 -06:00
Jerry James
14995b0b61 ntl-9.11.0 2016-09-05 07:47:20 -06:00
Jerry James
3adaad3779 ntl-9.10.0 2016-07-25 08:23:46 -06:00
Jerry James
e69d8b7672 ntl-9.9.1 2016-06-02 13:06:01 -06:00
Jerry James
0da5f48a1e ntl-9.8.0
Also:
- Add -loadtime-cpu patch.
- Enable the check script on x86_64.
2016-04-29 16:54:23 -06:00
Jerry James
95df212335 ntl-9.7.0 2016-03-19 18:20:32 -06:00
Jerry James
350ade1591 ntl-9.6.4 2016-02-20 11:36:55 -07:00
Fedora Release Engineering
66a6d72d60 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild 2016-02-04 10:58:23 +00:00
Jerry James
974005a521 ntl-9.6.2 2015-12-04 15:41:57 -07:00
Jerry James
db9a20cea9 ntl-9.4.0 2015-10-16 11:25:52 -06:00
Jerry James
d77ef57bb1 New upstream version. 2015-09-19 20:56:40 -06:00
Dennis Gilmore
79ac1b5ca7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild 2015-06-17 23:25:30 +00:00
6 changed files with 2557 additions and 108 deletions

4
.gitignore vendored
View File

@ -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
View 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

File diff suppressed because it is too large Load Diff

View File

@ -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
View File

@ -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

View File

@ -1 +1 @@
22beee5ee1fe7c09f623d0f0cf08e7af ntl-9.1.1.tar.gz SHA512 (ntl-11.5.1.tar.gz) = cf1f642b8a0f9cdc6dda888e07183817dc67ff494e56a852053aeb15b3d2a0e61fbc05824779c5d1f20b8115fba6f97266acf7e0b0b527c25df5989c86d5928f