Blob Blame History Raw
Name:           eclib
Version:        20100711
Release:        3%{?dist}
Summary:        Library for Computations on Elliptic Curves
Group:          Development/Libraries
License:        GPLv2+
URL:            http://www.warwick.ac.uk/~masgaj/
Source0:        http://sagemath.org/packages/standard/eclib-%{version}.spkg
# This patch fixes some compiler warnings that indicate possibly incorrect
# runtime behavior.
Patch0:         eclib-warning.patch

BuildRequires:  ntl-devel
BuildRequires:  pari-devel


%description
John Cremona's programs for enumerating and computating with elliptic
curves defined over the rational numbers.


%package        devel
Summary:        Development Files for %{name}
Group:          Development/Libraries
Requires:       %{name}%{?_isa} = %{version}-%{release}
Requires:       ntl-devel%{?_isa}


%description    devel
Development libraries and headers for %{name}.


%prep
%setup -q
%patch0

# Add an soname, and don't link both the static archive and all of its
# constituent object files into the shared library.
sed -e "s|\$(SO_OPTS)  \$(A_LIBNAME)|\$(SO_OPTS)|" \
    -e "s|\$(LIBFLAGS)|\$(LIBFLAGS) -Wl,-soname,\$(SO_LIBNAME).%{version}|" \
    -i src/Makefile.dynamic

# Use RPM_OPT_FLAGS
sed -i "s|-g -O2|${RPM_OPT_FLAGS}|" src/Makefile

# Eliminate unused direct shared library dependencies
sed -i -e "s/ -lgmp//" src/procs/Makefile
sed -i -e "s/ -lpari//g" -e "s/ -lgmp//" \
  src/g0n/Makefile src/qcurves/Makefile src/qrank/Makefile

# Fix the FSF's address
for f in `find . -name \*.h -o -name \*.cc`; do
  sed -i.orig \
    -e 's/59 Temple Place, Suite 330, Boston, MA 02111-1307/51 Franklin Street, Suite 500, Boston, MA 02110-1335/' \
    -e 's/59 Temple Place - Suite 330, Boston, MA 02111-1307/51 Franklin Street, Suite 500, Boston, MA 02110-1335/' \
    $f
  touch -r $f.orig $f
  rm -f $f.orig
done

# Prepare the -devel documentation
cp -p src/procs/ChangeLog ChangeLog.procs
cp -p src/qcurves/ChangeLog ChangeLog.qcurves
cp -p src/qrank/ChangeLog ChangeLog.qrank


%build
# Parallel make breaks this build (so no %%{?_smp_mflags} for us).
make -C src all so PICFLAG=-fPIC SO_OPTS="-fPIC -shared"


%install
mkdir -p $RPM_BUILD_ROOT{%{_libdir},%{_includedir}/%{name}}
pushd src
  pushd lib
    for shlib in *.so; do
      install -p -m 755 $shlib $RPM_BUILD_ROOT%{_libdir}/$shlib.%{version}
      pushd $RPM_BUILD_ROOT%{_libdir}/
        ln -s $shlib.%{version} $shlib
      popd
    done
  popd
  for hdr in include/*.h; do
    install -p -m 644 $hdr $RPM_BUILD_ROOT%{_includedir}/%{name}/
  done
popd


%check
make -C src check LD_LIBRARY_PATH=$RPM_BUILD_ROOT%{_libdir}


%post -p /sbin/ldconfig


%postun -p /sbin/ldconfig


%files
%doc SPKG.txt
%{_libdir}/libg0nntl.so.*
%{_libdir}/libcurvesntl.so.*
%{_libdir}/libjcntl.so.*
%{_libdir}/librankntl.so.*


%files devel
%doc src/g0n/documentation.txt
%doc ChangeLog.procs ChangeLog.qcurves ChangeLog.qrank
%{_includedir}/%{name}
%{_libdir}/libg0nntl.so
%{_libdir}/libcurvesntl.so
%{_libdir}/libjcntl.so
%{_libdir}/librankntl.so


%changelog
* Tue Feb 28 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 20100711-3
- Rebuilt for c++ ABI breakage

* Tue Jan 10 2012 Jerry James <loganjerry@gmail.com> - 20100711-2
- Rebuild for GCC 4.7

* Thu Oct 20 2011 Marcela Mašláňová <mmaslano@redhat.com> - 20100711-1.2
- rebuild with new gmp without compat lib

* Mon Oct 10 2011 Peter Schiffer <pschiffe@redhat.com> - 20100711-1.1
- rebuild with new gmp

* Mon May 23 2011 Jerry James <loganjerry@gmail.com> - 20100711-1
- New upstream version
- Drop unnecessary elements of the spec file (BuildRoot, clean script, etc.)
- Convert previous patches into sed expressions
- Add compiler warning elimination patch
- Eliminate unused direct shared library dependencies
- Fix the FSF's address to make rpmlint shut up
- Add documentation to -devel

* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 20080310-10.p10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild

* Thu Aug 19 2010 Thomas Spura <tomspur@fedoraproject.org> - 20080310-9.p10
- update to patched version

* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 20080310-9.p7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild

* Mon May 18 2009 Conrad Meyer <konrad@tylerc.org> - 20080310-8.p7
- Make only shared libs.

* Fri May 8 2009 Conrad Meyer <konrad@tylerc.org> - 20080310-7.p7
- Kill parallel make to fix the build (thanks Mamoru Tasaka).

* Sun Mar 22 2009 Conrad Meyer <konrad@tylerc.org> - 20080310-6.p7
- Incorporate Michael Schwendt's patch to fix the build process
  (thanks again :)).

* Fri Mar 20 2009 Conrad Meyer <konrad@tylerc.org> - 20080310-5.p7
- Changed BR on ntl-devel to ntl-static.

* Fri Mar 20 2009 Conrad Meyer <konrad@tylerc.org> - 20080310-4.p7
- Fixed path in %%check section.

* Thu Mar 19 2009 Conrad Meyer <konrad@tylerc.org> - 20080310-3.p7
- Move libraries back to _libdir proper and add main package.
- Added check section (thanks Michael Schwendt) commented out because
  it doesn't pass right now.
- Add a versioned SONAME.

* Wed Mar 18 2009 Conrad Meyer <konrad@tylerc.org> - 20080310-2.p7
- Fix soname mess.
- Use install -p.

* Sat Dec 13 2008 Conrad Meyer <konrad@tylerc.org> - 20080310-1.p7
- Initial package.