]> git.pld-linux.org Git - packages/atermlib.git/commitdiff
new, version 2.5
authorElan Ruusamäe <glen@delfi.ee>
Sat, 1 Nov 2014 13:44:44 +0000 (15:44 +0200)
committerElan Ruusamäe <glen@delfi.ee>
Sat, 1 Nov 2014 13:46:58 +0000 (15:46 +0200)
based on upstream .spec

atermlib.spec [new file with mode: 0644]
strdup.patch [new file with mode: 0644]

diff --git a/atermlib.spec b/atermlib.spec
new file mode 100644 (file)
index 0000000..a9ac0b3
--- /dev/null
@@ -0,0 +1,88 @@
+Summary:       The ATerm Library
+Name:          atermlib
+Version:       2.5
+Release:       1
+License:       LGPL
+Group:         Development
+Source0:       http://ftp.strategoxt.org/pub/stratego/StrategoXT/strategoxt-0.17/aterm-%{version}.tar.gz
+# Source0-md5: 60218283e58c56365c9117690f36c25d
+Patch0:                https://svn.nixos.org/repos/nix/nixpkgs/trunk/pkgs/development/libraries/aterm/max-long.patch
+# Patch0-md5:  0c7e50b3686a079959e7c978af9444db
+Patch1:                strdup.patch
+URL:           http://www.cwi.nl/htbin/sen1/twiki/bin/view/SEN1/ATermLibrary
+# x86_64 build segfaults
+ExcludeArch:   %{x8664}
+BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+
+%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.
+
+%prep
+%setup -q -n aterm-%{version}
+%patch0 -p1
+%patch1 -p1
+
+%build
+CFLAGS="%{rpmcflags} -D__NO_CTYPE"
+%configure \
+       --disable-static
+%{__make} -j1
+
+%install
+rm -rf $RPM_BUILD_ROOT
+%{__make} install \
+       INSTALL="install -p" \
+       DESTDIR=$RPM_BUILD_ROOT
+
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/libATerm.la
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%files
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/atdiff
+%attr(755,root,root) %{_bindir}/atreverse
+%attr(755,root,root) %{_bindir}/atrmannos
+%attr(755,root,root) %{_bindir}/atsum
+%attr(755,root,root) %{_bindir}/baf2taf
+%attr(755,root,root) %{_bindir}/baf2trm
+%attr(755,root,root) %{_bindir}/baffle
+%attr(755,root,root) %{_bindir}/dicttoc
+%attr(755,root,root) %{_bindir}/taf2baf
+%attr(755,root,root) %{_bindir}/taf2trm
+%attr(755,root,root) %{_bindir}/termsize
+%attr(755,root,root) %{_bindir}/trm2baf
+%attr(755,root,root) %{_bindir}/trm2taf
+%attr(755,root,root) %{_bindir}/trmcat
+%{_includedir}/abool.h
+%{_includedir}/afun.h
+%{_includedir}/aterm1.h
+%{_includedir}/aterm2.h
+%{_includedir}/atypes.h
+%{_includedir}/deprecated.h
+%{_includedir}/encoding.h
+%attr(755,root,root) %{_libdir}/libATerm.so
+%{_pkgconfigdir}/aterm.pc
diff --git a/strdup.patch b/strdup.patch
new file mode 100644 (file)
index 0000000..5b5f3ee
--- /dev/null
@@ -0,0 +1,46 @@
+remove conflicting definition
+
+--- aterm-2.5/aterm/afun.c~    2007-03-01 19:24:13.000000000 +0200
++++ aterm-2.5/aterm/afun.c     2014-11-01 15:41:18.082012965 +0200
+@@ -56,7 +56,7 @@
+ /*{{{  function declarations */
+ #if !(defined __USE_SVID || defined __USE_BSD || defined __USE_XOPEN_EXTENDED || defined __APPLE__ || defined _MSC_VER)
+-extern char *strdup(const char *s);
++//extern char *strdup(const char *s);
+ #endif
+ /*}}}  */
+--- aterm-2.5/aterm/make.c~    2007-03-01 19:24:13.000000000 +0200
++++ aterm-2.5/aterm/make.c     2014-11-01 15:41:35.456142206 +0200
+@@ -47,7 +47,7 @@
+ /*{{{  function declarations */
+ #if !(defined __USE_SVID || defined __USE_BSD || defined __USE_XOPEN_EXTENDED || defined __APPLE__ || defined _MSC_VER)
+-extern char *strdup(const char *s);
++//extern char *strdup(const char *s);
+ #endif
+ static ATerm makePlaceholder(ATermPlaceholder pat);
+--- aterm-2.5/aterm/tafio.c~   2007-03-01 19:24:13.000000000 +0200
++++ aterm-2.5/aterm/tafio.c    2014-11-01 15:41:42.296455577 +0200
+@@ -47,7 +47,7 @@
+ /*{{{  function declarations */
+ #if !(defined __USE_SVID || defined __USE_BSD || defined __USE_XOPEN_EXTENDED || defined __APPLE__ || defined _MSC_VER)
+-extern char *strdup(const char *s);
++//extern char *strdup(const char *s);
+ #endif
+ /*}}}  */
+--- aterm-2.5/aterm/aterm.c~   2007-03-01 19:24:13.000000000 +0200
++++ aterm-2.5/aterm/aterm.c    2014-11-01 15:41:49.553454714 +0200
+@@ -94,7 +94,7 @@
+ /*{{{  function declarations */
+ #if !(defined __USE_SVID || defined __USE_BSD || defined __USE_XOPEN_EXTENDED || defined __APPLE__ || defined _MSC_VER)
+-extern char *strdup(const char *s);
++//extern char *strdup(const char *s);
+ #endif
+ static ATerm    fparse_term(int *c, FILE * f);
This page took 0.060117 seconds and 4 git commands to generate.