Name: libaterm Version: 2.4.2 Release: 1%{?dist} Summary: The ATerm Library Group: Development/Libraries License: BSD URL: http://www.meta-environment.org/ Source0: http://www.meta-environment.org/releases/aterm-%{version}.tar.gz Patch0: %{name}-%{version}-soname.patch Patch1: %{name}-%{version}-ldpath.patch Patch2: libaterm-2.4.2-64bit-1.patch Patch3: libaterm-2.4.2-64bit-2.patch Patch4: libaterm-2.4.2-aliasing.patch Patch5: libaterm-2.4.2-clktck.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: automake BuildRequires: autoconf BuildRequires: libtool %description ATerm (short for Annotated Term) is an abstract data type designed for the exchange of tree-like data structures between distributed applications. The ATerm library forms a comprehensive procedural interface which enables creation and manipulation of ATerms in C and Java. The ATerm implementation is based on maximal subterm sharing and automatic garbage collection. A binary exchange format for the concise representation of ATerms (sharing preserved) allows the fast exchange of ATerms between applications. In a typical application---parse trees which contain considerable redundant information---less than 2 bytes are needed to represent a node in memory, and less than 2 bits are needed to represent it in binary format. The implementation of ATerms scales up to the manipulation of ATerms in the giga-byte range. Programming The ATerm library provides a comprehensive interface in C and Java to handle the annotated term data-type in an efficient manner. If the terms you handle are limited to a specific signature, you can use ApiGen to generate typed interfaces to the same ATerms. %package devel Summary: Development files for %{name} Group: Development/Libraries Requires: %{name} = %{version}-%{release} Requires: pkgconfig %description devel The %{name}-devel package contains libraries and header files for developing applications that use %{name}. %prep %setup -q -n aterm-%{version} %patch0 -p0 -b .soname %patch1 -p0 -b .ldpath %patch2 -p1 %{__patch} -p0 -d aterm < %{P:3} %{__patch} -p1 < %{P:4} %{__patch} -p1 < %{P:5} %build autoreconf # patch{0,1} change Makefile.am:s aclocal libtoolize --force %configure --disable-static # fix/remove rpath sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool # parallel building breaks the all target in ./test, rebuild make %{?_smp_mflags} || make %install rm -rf $RPM_BUILD_ROOT make DESTDIR=$RPM_BUILD_ROOT install find $RPM_BUILD_ROOT -regex '.*\.l?a' -exec rm -f {} ';' %clean rm -rf $RPM_BUILD_ROOT %post -p /sbin/ldconfig %postun -p /sbin/ldconfig %files %defattr(-,root,root,-) %doc AUTHORS ChangeLog COPYING README %{_bindir}/* %{_libdir}/*.so.* %files devel %defattr(-,root,root,-) %doc %{_includedir}/* %{_libdir}/*.so %{_libdir}/pkgconfig/* %changelog * Mon Mar 23 2009 Alexander Kahl - 2.4.2-1 - sanitized * Wed Mar 31 2004 Armijn Hemel 2.0.5 - cleanups so directories in /usr won't be owned by ATerm RPM * Thu Jan 2 2003 Eelco Visser 1.6.7-1 - Initial build.