diff --git a/libtomcrypt.spec b/libtomcrypt.spec new file mode 100644 index 0000000..e1b70d4 --- /dev/null +++ b/libtomcrypt.spec @@ -0,0 +1,115 @@ +Name: libtomcrypt +Version: 1.17 +Release: 5%{?dist} +Summary: a comprehensive, portable cryptographic toolkit +Group: System Environment/Libraries +License: Public Domain +URL: http://www.libtom.org/?page=features&newsitems=5&whatfile=crypt +Source0: http://www.libtom.org/files/crypt-%{version}.tar.bz2 +Requires: libtommath >= 0.41 +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +BuildRequires: libtommath-devel >= 0.41, libtool + +Patch0: libtomcrypt-makefile.patch + +%description +A comprehensive, modular and portable cryptographic toolkit that +provides developers with a vast array of well known published block +ciphers, one-way hash functions, chaining modes, pseudo-random number +generators, public key cryptography and a plethora of other routines. + +Designed from the ground up to be very simple to use. It has a modular +and standard API that allows new ciphers, hashes and PRNGs to be added +or removed without change to the overall end application. It features +easy to use functions and a complete user manual which has many source +snippet examples. + +%package devel +Summary: Development files for %{name} +Group: Development/Libraries +Requires: %{name} = %{version}-%{release} +BuildRequires: tetex-latex, tetex-dvips, ghostscript + +%description devel +The %{name}-devel package contains libraries and header files for +developing applications that use %{name}. + +%prep +%setup -q +%patch0 -p1 -b .makefile + + +%build +# no configure script ships with libtomcrypt. Its only requirement is +# ANSI C. And libtommath. Explicitly force it to be built against libtommath +export CFLAGS="$RPM_OPT_FLAGS -DLTM_DESC -I%{_includedir}/tommath" +make %{?_smp_mflags} LIBPATH=%{_libdir} EXTRALIBS="-ltommath" -f makefile.shared +make %{?_smp_mflags} LIBPATH=%{_libdir} -f makefile docs + + +%check +export CFLAGS="$RPM_OPT_FLAGS -DLTM_DESC -DUSE_LTM -I%{_includedir}/tommath" +make %{?_smp_mflags} LIBPATH=%{_libdir} EXTRALIBS="-ltommath" test +./test + +%install +# There is no configure script that ships with libtomcrypt but it does +# have understand DESTDIR and its installs via that and the +# INSTALL_USER and INSTALL_GROUP environment variables. +rm -rf $RPM_BUILD_ROOT +export INSTALL_USER=$(id -un) +export INSTALL_GROUP=$(id -gn) +export CFLAGS="$RPM_OPT_FLAGS -DLTM_DESC -DUSE_LTM" + +make install INCPATH=%{_includedir}/tomcrypt DESTDIR=$RPM_BUILD_ROOT LIBPATH=%{_libdir} EXTRALIBS="-ltommath" -f makefile.shared +find $RPM_BUILD_ROOT -name '*.h' -exec chmod 644 {} ';' + +# remove unneeded files +find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';' +find $RPM_BUILD_ROOT -name '*.a' -exec rm -f {} ';' +find $RPM_BUILD_ROOT -name 'libtomcrypt_prof*' -exec rm -f {} ';' + + +%clean +rm -rf $RPM_BUILD_ROOT + + +%post -p /sbin/ldconfig + +%postun -p /sbin/ldconfig + + +%files +%defattr(-,root,root,-) +%doc LICENSE +%{_libdir}/*.so.* + +%files devel +%defattr(-,root,root,-) +%doc doc/crypt.pdf +%{_includedir}/tomcrypt +%{_libdir}/*.so + +%changelog +* Sat Jun 30 2007 Jeremy Hinegardner - 1.17-5 +- removed package name from summary +- fixed URL and Source0 links +- really fixed linkage flag this time, added it to the build section not + just the check. + +* Fri Jun 29 2007 Jeremy Hinegardner - 1.17-4 +- fixed linkage flag with correct tommath name +- added check section +- removed libtomcrypt_prof libraries from package +- remove package name from summary + +* Wed Jun 27 2007 Jeremy Hinegardner - 1.17-3 +- create makefile patch to ensure RPM_OPT_FLAGS is honored +- install headers into _includedir/tomcrypt +- add location of libtommath headers to CFLAGS + +* Sat Jun 23 2007 Jeremy Hinegardner - 1.17-2 +- update build process to pass LIBPATH to make + +* Fri Jun 22 2007 Jeremy Hinegardner - 1.17-1 +- Initial spec file creation