diff options
Diffstat (limited to 'dev-libs/libmba')
-rw-r--r-- | dev-libs/libmba/Manifest | 1 | ||||
-rw-r--r-- | dev-libs/libmba/files/libmba-0.9.1-glibc-2.20.patch | 34 | ||||
-rw-r--r-- | dev-libs/libmba/files/libmba-0.9.1-qa.patch | 96 | ||||
-rw-r--r-- | dev-libs/libmba/libmba-0.9.1-r3.ebuild | 41 | ||||
-rw-r--r-- | dev-libs/libmba/metadata.xml | 7 |
5 files changed, 179 insertions, 0 deletions
diff --git a/dev-libs/libmba/Manifest b/dev-libs/libmba/Manifest new file mode 100644 index 000000000000..c62b74cb5f63 --- /dev/null +++ b/dev-libs/libmba/Manifest @@ -0,0 +1 @@ +DIST libmba-0.9.1.tar.gz 290080 SHA256 1482c6c1a32794d1c40df471d25006ee1cae5b07ebd76b0301268dddb8629394 SHA512 28696e6066cb6c54434e1a35576c1e2430e3b83a478fddeabb20ddf1d8b889edac023de15090762fb95a759ebb9d2d8fcf1b0d19ec22f6a98ef2780400456da6 WHIRLPOOL 3dab2a36821049859d9f6e65af70fee8756c94e5135b6070d589fa46e8d95849221231d9b80cf6df4e81b254b80e8a27072da4ba5b227f252f80312ff7265cd3 diff --git a/dev-libs/libmba/files/libmba-0.9.1-glibc-2.20.patch b/dev-libs/libmba/files/libmba-0.9.1-glibc-2.20.patch new file mode 100644 index 000000000000..4d5651cc5d12 --- /dev/null +++ b/dev-libs/libmba/files/libmba-0.9.1-glibc-2.20.patch @@ -0,0 +1,34 @@ +--- a/src/mba/text.h ++++ b/src/mba/text.h +@@ -315,31 +315,6 @@ + /* "dumb" snprintf returns -1 on overflow */ + LIBMBA_API int dsnprintf(char *str, size_t size, const char *format, ...); + +-#if !defined(_GNU_SOURCE) +- +-#if !defined(_BSD_SOURCE) && \ +- !defined(_XOPEN_SOURCE_EXTENDED) && \ +- !defined(_WIN32) && \ +- !(defined(__APPLE__) && defined(__MACH__)) +-LIBMBA_API char *strdup(const char *s); +-#endif +- +-LIBMBA_API wchar_t *wcsdup(const wchar_t *s); +-LIBMBA_API size_t strnlen(const char *s, size_t maxlen); +- +-#if (__STDC_VERSION__ < 199901L) && \ +- !defined(_BSD_SOURCE) && \ +- (_XOPEN_VERSION < 500) && \ +- !(defined(__APPLE__) && defined(__MACH__)) +-#include <stdarg.h> +-int vsnprintf(char *str, size_t size, const char *format, va_list ap); +-#endif +- +-LIBMBA_API size_t wcsnlen(const wchar_t *s, size_t maxlen); +-LIBMBA_API int wcscasecmp(const wchar_t *s1, const wchar_t *s2); +- +-#endif /* _GNU_SOURCE */ +- + /* + wchar_t *wcschrnul(const wchar_t *s, wchar_t wc); + int wcsncasecmp(const wchar_t *s1, const wchar_t *s2, size_t n); diff --git a/dev-libs/libmba/files/libmba-0.9.1-qa.patch b/dev-libs/libmba/files/libmba-0.9.1-qa.patch new file mode 100644 index 000000000000..0f9859504f0a --- /dev/null +++ b/dev-libs/libmba/files/libmba-0.9.1-qa.patch @@ -0,0 +1,96 @@ +Addresing multiple QA issues: + - fixing CFLAGS, LDFLAGS, CC + - fixing parallel build + - fixing as-needed issues + - making static libs optional + - introducing make DESTDIR compatibility + - removing Makefile.PLATFORM bits, as they violate sandbox + +http://bugs.gentoo.org/show_bug.cgi?id=313673 + +Patch written by Kacper Kowalik <xarthisius.kk@gmail.com> + +--- a/Makefile ++++ b/Makefile +@@ -1,13 +1,13 @@ + # Makefile for libmba + # Supported flags: -DVARRAY_INIT_SIZE=N -DUSE_WCHAR + +-MFLAGS = -g -W1 -Isrc ++MFLAGS = -Isrc + MKTOOL = ./mktool + +-prefix = /usr/local ++prefix = $(DESTDIR)/usr + includedir = $(prefix)/include +-libdir = $(prefix)/lib +-mandir = $(prefix)/man ++libdir = $(prefix)/$(LIBDIR) ++mandir = $(prefix)/share/man + LIBNAME = mba + LIBVERS = 0.9.1 + ARNAME = lib$(LIBNAME).a +@@ -19,39 +19,49 @@ + MAN = diff.3m bitset.3m allocator.3m cfg.3m pool.3m varray.3m csv.3m text.3m path.3m suba.3m msgno.3m stack.3m linkedlist.3m hashmap.3m hexdump.3m shellout.3m eval.3m svsem.3m svcond.3m time.3m + MANGZ = $(MAN:.3m=.3m.gz) + ++.PHONY: all clean install uninstall install-ar uninstall-ar + .SUFFIXES: .pic.o .3m .3m.gz + +-all: mktool so ar ++ifeq ($(STATIC),1) ++all: $(MKTOOL) so ar ++install-ar: $(ARNAME) ++ -$(MKTOOL) -i $(ARNAME) $(libdir) ++uninstall-ar: ++ $(MKTOOL) -u $(ARNAME) $(libdir) ++else ++all: $(MKTOOL) so ++install-ar: ++uninstall-ar: ++endif + +-mktool: ++$(MKTOOL): mktool.c + $(CC) -g -o mktool mktool.c + +-ar: mktool $(OBJS) ++$(PICOBJS): $(MKTOOL) ++$(OBJS): $(MKTOOL) ++ ++ar: $(OBJS) + ar $(ARFLAGS) $(ARNAME) $(OBJS) + ranlib $(ARNAME) +-so: mktool $(PICOBJS) +- @$(MKTOOL) -l -v -libname $(LIBNAME) -libvers $(LIBVERS) -shared -soname -lutil $(PICOBJS) ++so: $(PICOBJS) ++ @$(MKTOOL) -l -v -libname $(LIBNAME) -libvers $(LIBVERS) -shared -soname $(LDFLAGS) $(PICOBJS) -lutil + + .c.pic.o: +- @$(MKTOOL) -c -v $(MFLAGS) -fpic -c -o $*.pic.o $< ++ @$(MKTOOL) -c -v $(CFLAGS) $(MFLAGS) -fpic -c -o $*.pic.o $< + .c.o: +- @$(MKTOOL) -c -v $(MFLAGS) -c -o $*.o $< ++ @$(MKTOOL) -c -v $(CFLAGS) $(MFLAGS) -c -o $*.o $< + +-install: mktool +- -$(MKTOOL) -i $(ARNAME) $(libdir) +- -$(MKTOOL) -i -libname $(LIBNAME) -libvers $(LIBVERS) $(libdir) ++install: install-ar ++ $(MKTOOL) -i -libname $(LIBNAME) -libvers $(LIBVERS) $(libdir) + $(MKTOOL) -i $(HDRS) $(includedir)/mba + $(MKTOOL) -i docs/man/*.3m.gz $(mandir)/man3 +- @-libdir=$(libdir) mandir="$(mandir)" MAN="$(MAN)" MANGZ="$(MANGZ)" $(MKTOOL) -m -v platform_specific_install + @echo + @echo installation successful +-uninstall: mktool +- $(MKTOOL) -u $(ARNAME) $(libdir) ++uninstall: uninstall-ar + $(MKTOOL) -u -libname $(LIBNAME) -libvers $(LIBVERS) $(libdir) + $(MKTOOL) -u $(HDRS) $(includedir)/mba + rm -rf $(includedir)/mba + $(MKTOOL) -u $(MANGZ) $(mandir)/man3 +- -@libdir=$(libdir) mandir="$(mandir)" MAN="$(MAN)" MANGZ="$(MANGZ)" $(MKTOOL) -m -v platform_specific_uninstall + @echo + @echo de-installation successful + diff --git a/dev-libs/libmba/libmba-0.9.1-r3.ebuild b/dev-libs/libmba/libmba-0.9.1-r3.ebuild new file mode 100644 index 000000000000..d16a14a94449 --- /dev/null +++ b/dev-libs/libmba/libmba-0.9.1-r3.ebuild @@ -0,0 +1,41 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +inherit eutils flag-o-matic multilib toolchain-funcs + +DESCRIPTION="A library of generic C modules" +LICENSE="MIT" +HOMEPAGE="http://www.ioplex.com/~miallen/libmba/" +SRC_URI="${HOMEPAGE}dl/${P}.tar.gz" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="static-libs" + +src_prepare() { + use static-libs && export STATIC="1" + + epatch "${FILESDIR}"/${P}-qa.patch + epatch "${FILESDIR}"/${P}-glibc-2.20.patch + + tc-export CC + sed -i -e "s:gcc:${CC}:g" mktool.c || die + + # prevent reinventing strdup(), wcsdup() and strnlen() + append-cflags -D_XOPEN_SOURCE=500 +} + +src_compile() { + emake LIBDIR="$(get_libdir)" +} + +src_install() { + emake DESTDIR="${D}" LIBDIR="$(get_libdir)" install + + dodoc README.txt docs/*.txt + dohtml -r docs/*.html docs/www/* docs/ref + + insinto /usr/share/doc/${PF}/examples + doins examples/* +} diff --git a/dev-libs/libmba/metadata.xml b/dev-libs/libmba/metadata.xml new file mode 100644 index 000000000000..91f4e72fb544 --- /dev/null +++ b/dev-libs/libmba/metadata.xml @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer> + <email>maintainer-needed@gentoo.org</email> + </maintainer> +</pkgmetadata> |