diff --git a/dev-libs/liblist/ChangeLog b/dev-libs/liblist/ChangeLog new file mode 100644 --- /dev/null +++ b/dev-libs/liblist/ChangeLog @@ -0,0 +1,19 @@ +# ChangeLog for dev-libs/liblist +# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/dev-libs/liblist/ChangeLog,v 1.2 2009/12/05 22:32:30 nerdboy Exp $ + +*liblist-2.1-r1 (05 Dec 2009) + + 05 Dec 2009; Steve Arnold +liblist-2.1-r1.ebuild, + +files/liblist-2.1-sharedlib.patch: + Lemony-fresh rev-bump, now with shared library support. Closes bug #294788. + Manifest issue also fixed (closes bug #294785). + +*liblist-2.1 (20 Apr 2009) + + 20 Apr 2009; Steve Arnold +metadata.xml, + +liblist-2.1.ebuild: + New ebuild for a generic list library, a required dependency for ferret. + Updated source code hosted by me (no upstream URL anymore). Comes with + a nice technical paper and example routines. + diff --git a/dev-libs/liblist/Manifest b/dev-libs/liblist/Manifest new file mode 100644 --- /dev/null +++ b/dev-libs/liblist/Manifest @@ -0,0 +1,6 @@ +AUX liblist-2.1-sharedlib.patch 1613 RMD160 7bd885e7e25b8d2decd0d0d16a08bca104f972dc SHA1 3646e24ba78767aa4ea4fe9360b543e1f9abcaf3 SHA256 3378630ab0470550b8124f36d66b8d294125b1bfd6ab58c371e491aced71cae6 +DIST liblist-2.1.tar.gz 107284 RMD160 174b777d4479af9459e5d47a21d7eee7083bd795 SHA1 eead30d6c5f9b3522ac7b168bc43f6c7f20a2ef2 SHA256 0835c5b58bad54ca7ad684fb9d51fd1ce8c80a7875698a4bd8367dc3375e623f +EBUILD liblist-2.1-r1.ebuild 1700 RMD160 9ac98e673f6286b4ab6cbbdf7afaf71d3f9b78dc SHA1 71ab3f4c82de350bbb08c5d106547cb58c114f51 SHA256 26c85f9f57953356ea173f90a01acff2cc130d3f79a0b5d6f4530f971546f0ab +EBUILD liblist-2.1.ebuild 1612 RMD160 9e3f94f56b138531910ff6e3cd659dcacf8a8374 SHA1 af80a7602a9d750074c117b5d562cda3af18ddc2 SHA256 fa64c66669c0e2e843977cbfc404f7afda0faa53b85e0086988b4f0d5a22e12c +MISC ChangeLog 789 RMD160 658d737581a0c6ae39fb85f1cfd529aa16c9f721 SHA1 cd6186d9dffd602388b6b089d2f85680c792a68f SHA256 6bf5b78fcf68dea222ec0fc0b4fae9fd1e09211bc6c46df6a766007039e56b4a +MISC metadata.xml 473 RMD160 97667dfa400a624c3ba66fbaefa5bb5bf592c485 SHA1 8ab2e330cbc7993d95c0492ae14540ab5e0177ac SHA256 197f1543dd37a80c8de5ee4083d4eb659c8be038483895e11225c68e93da11f1 diff --git a/dev-libs/liblist/files/liblist-2.1-sharedlib.patch b/dev-libs/liblist/files/liblist-2.1-sharedlib.patch new file mode 100644 --- /dev/null +++ b/dev-libs/liblist/files/liblist-2.1-sharedlib.patch @@ -0,0 +1,57 @@ +--- Makefile.orig 2009-11-27 12:04:33.000000000 -0800 ++++ Makefile 2009-11-27 12:11:47.786739617 -0800 +@@ -25,12 +25,22 @@ + LIBS = -L. -llist + #LIBS = -L . -llist # Use this for HP-UX; great loader guys! + CPP = cpp -E -P -C ++CC = cc ++LD = cc + MANDIR = /usr/share/man + LIBDIR = /usr/lib64 + INCDIR = /usr/include + + #add macro for ranlib 4/96 *kob* - ranlib doesn't exist on solaris + RANLIB = ls ++LN = ln -s ++ ++# try making shared lib (SLA 11/2009) ++SHARED = liblist.so ++LDFLAGS += -L$(LIBDIR) ++MKOBJ = $(CC) -fPIC -c list.c -I$(INCDIR) ++MKSO = -shared -Wl,-soname,$(SHARED) ++SOVER = 0.0 + + # We specify some goofy dependencies between the man pages and the source, + # because the man page reflects whether USE_MACROS was specified. Thus, +@@ -42,8 +52,16 @@ + (cd examples; make) + + liblist.a: list.o ++ @echo "Making static lib ..." + ar rc liblist.a list.o + $(RANLIB) liblist.a ++ @echo "done" ++ @echo "Making shared lib $(SHARED) ..." ++ $(MKOBJ) -I. ++ $(LD) -I. $(MKSO) list.o -o $(SHARED).$(SOVER) $(LDFLAGS) ++ $(LN) $(SHARED).$(SOVER) $(SHARED).0 ++ $(LN) $(SHARED).$(SOVER) $(SHARED) ++ @echo "done" + + list.o: list.h list.3 Makefile + +@@ -62,6 +80,7 @@ + install: + install -c liblist.a $(DESTDIR)$(LIBDIR) + $(RANLIB) $(DESTDIR)$(LIBDIR)/liblist.a ++ install -c liblist.so $(DESTDIR)$(LIBDIR) + install -c list.h $(DESTDIR)$(INCDIR) + install -c queue.h $(DESTDIR)$(INCDIR) + install -c stack.h $(DESTDIR)$(INCDIR) +@@ -73,5 +92,5 @@ + install -c stack.3 $(DESTDIR)$(MANDIR)/man3 + + clean: +- rm -f *.o *.a list.h *.3 core ++ rm -f *.o *.a *.so list.h *.3 core + (cd examples; make clean) diff --git a/dev-libs/liblist/liblist-2.1-r1.ebuild b/dev-libs/liblist/liblist-2.1-r1.ebuild new file mode 100644 --- /dev/null +++ b/dev-libs/liblist/liblist-2.1-r1.ebuild @@ -0,0 +1,61 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-libs/liblist/liblist-2.1-r1.ebuild,v 1.1 2009/12/05 22:32:30 nerdboy Exp $ + +inherit eutils toolchain-funcs + +DESCRIPTION="This package provides generic linked-list manipulation routines, plus queues and stacks." +HOMEPAGE="http://www.gentoogeek.org/viewvc/C/liblist/" +SRC_URI="http://www.gentoogeek.org/files/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~ppc64 ~x86" +IUSE="doc examples" + +src_unpack() { + unpack ${A} + cd "${S}" + sed -i -e "s:/usr/lib:/usr/$(get_libdir):g" Makefile \ + examples/cache/Makefile || die "sed 1 failed" + epatch "${FILESDIR}"/${P}-sharedlib.patch +} + +src_compile() { + make CC="$(tc-getCC)" LD="$(tc-getCC)" \ + || die "make failed" +} + +src_install() { + newman list.3 llist.3 + newman stack.man lstack.3 + newman queue.man lqueue.3 + dolib.a ${PN}.a + dolib.so ${PN}.so* + insinto /usr/include + doins list.h queue.h stack.h + dodoc README + + if use examples; then + dolib.a examples/cache/libcache.a + dobin examples/cache/cachetest + newman cache.3 lcache.3 + insinto /usr/share/doc/${P}/examples + doins examples/{*.c,Makefile,README} + insinto /usr/share/doc/${P}/examples/cache + doins examples/cache/{*.c,Makefile,README} + doins + fi + + if use doc; then + insinto /usr/share/doc/${P} + doins paper/paper.ps + fi +} + +pkg_postinst() { + elog "Note the man pages for this package have been renamed to avoid" + elog "name collisions with some system functions, however, the libs" + elog "and header files have not been changed." + elog "The new names are llist, lcache, lqueue, and lstack." +} diff --git a/dev-libs/liblist/liblist-2.1.ebuild b/dev-libs/liblist/liblist-2.1.ebuild new file mode 100644 --- /dev/null +++ b/dev-libs/liblist/liblist-2.1.ebuild @@ -0,0 +1,58 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-libs/liblist/liblist-2.1.ebuild,v 1.1 2009/04/20 05:44:09 nerdboy Exp $ + +inherit eutils toolchain-funcs + +DESCRIPTION="This package provides generic linked-list manipulation routines, plus queues and stacks." +HOMEPAGE="http://www.gentoogeek.org/viewvc/C/liblist/" +SRC_URI="http://www.gentoogeek.org/files/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~ppc64 ~x86" +IUSE="doc examples" + +src_unpack() { + unpack ${A} + cd "${S}" + sed -i -e "s:/usr/lib:/usr/$(get_libdir):g" Makefile \ + examples/cache/Makefile || die "sed 1 failed" +} + +src_compile() { + make CC="$(tc-getCC)" || die "make failed" +} + +src_install() { + newman list.3 llist.3 + newman stack.man lstack.3 + newman queue.man lqueue.3 + dolib.a liblist.a + insinto /usr/include + doins list.h queue.h stack.h + dodoc README + + if use examples; then + dolib.a examples/cache/libcache.a + dobin examples/cache/cachetest + newman cache.3 lcache.3 + insinto /usr/share/doc/${P}/examples + doins examples/{*.c,Makefile,README} + insinto /usr/share/doc/${P}/examples/cache + doins examples/cache/{*.c,Makefile,README} + doins + fi + + if use doc; then + insinto /usr/share/doc/${P} + doins paper/paper.ps + fi +} + +pkg_postinst() { + elog "Note the man pages for this package have been renamed to avoid" + elog "name collisions with some system functions, however, the libs" + elog "and header files have not been changed." + elog "The new names are llist, lcache, lqueue, and lstack." +} diff --git a/dev-libs/liblist/metadata.xml b/dev-libs/liblist/metadata.xml new file mode 100644 --- /dev/null +++ b/dev-libs/liblist/metadata.xml @@ -0,0 +1,13 @@ + + + + dev-tools + + nerdboy@gentoo.org + Primary maintainer + + + This package provides generic linked-list manipulation routines. In addition, + queue and stack abstractions are provided by single header files. + +