summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFabian Groffen <grobian@gentoo.org>2009-11-13 18:55:09 +0000
committerFabian Groffen <grobian@gentoo.org>2009-11-13 18:55:09 +0000
commit461c912bee68ba84b48a5077af3a2c5765cdb437 (patch)
treee7008b2521a6b09f78fa49da1a55cb1e8cb12c4a /dev-libs
parentInitial addition. (diff)
downloadgentoo-2-461c912bee68ba84b48a5077af3a2c5765cdb437.tar.gz
gentoo-2-461c912bee68ba84b48a5077af3a2c5765cdb437.tar.bz2
gentoo-2-461c912bee68ba84b48a5077af3a2c5765cdb437.zip
New revision for Prefix support, addition of Prefix keywords, patch to support DESTDIR, bug #292171 and not to ignore LDFLAGS and LIBS, bug #262973 and support for Mach-O libs as used on Darwin
(Portage version: 2.2.00.14812-prefix/cvs/Darwin powerpc)
Diffstat (limited to 'dev-libs')
-rw-r--r--dev-libs/libebml/ChangeLog12
-rw-r--r--dev-libs/libebml/files/libebml-0.7.8-makefile-fixup.patch116
-rw-r--r--dev-libs/libebml/libebml-0.7.8-r2.ebuild42
3 files changed, 168 insertions, 2 deletions
diff --git a/dev-libs/libebml/ChangeLog b/dev-libs/libebml/ChangeLog
index cd324a058fca..7e751f5115cb 100644
--- a/dev-libs/libebml/ChangeLog
+++ b/dev-libs/libebml/ChangeLog
@@ -1,6 +1,14 @@
# ChangeLog for dev-libs/libebml
-# Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-libs/libebml/ChangeLog,v 1.93 2008/09/28 06:58:46 aballier Exp $
+# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/libebml/ChangeLog,v 1.94 2009/11/13 18:55:08 grobian Exp $
+
+*libebml-0.7.8-r2 (13 Nov 2009)
+
+ 13 Nov 2009; Fabian Groffen <grobian@gentoo.org> +libebml-0.7.8-r2.ebuild,
+ +files/libebml-0.7.8-makefile-fixup.patch:
+ New revision for Prefix support, addition of Prefix keywords, patch to
+ support DESTDIR, bug #292171 and not to ignore LDFLAGS and LIBS, bug
+ #262973 and support for Mach-O libs as used on Darwin
28 Sep 2008; Alexis Ballier <aballier@gentoo.org>
-libebml-0.7.7-r1.ebuild:
diff --git a/dev-libs/libebml/files/libebml-0.7.8-makefile-fixup.patch b/dev-libs/libebml/files/libebml-0.7.8-makefile-fixup.patch
new file mode 100644
index 000000000000..dc25bee65e94
--- /dev/null
+++ b/dev-libs/libebml/files/libebml-0.7.8-makefile-fixup.patch
@@ -0,0 +1,116 @@
+This patch fixes three issues:
+- http://bugs.gentoo.org/show_bug.cgi?id=292171
+ respect DESTDIR, patch by Darik Horn
+- don't inject random warning flags
+- http://bugs.gentoo.org/show_bug.cgi?id=262973
+ respect LDFLAGS and LIBS
+- build a dynamic lib on Darwin also (not just only a static lib), patch
+ by Fabian Groffen
+
+
+--- make/linux/Makefile
++++ make/linux/Makefile
+@@ -53,6 +53,8 @@
+ LIBRARY=libebml.a
+ LIBRARY_SO=libebml.so
+ LIBRARY_SO_VER=libebml.so.0
++LIBRARY_DYLIB=libebml.dylib
++LIBRARY_DYLIB_VER=libebml.0.dylib
+
+ # source-files
+ sources:=$(wildcard ${SRC_DIR}*$(EXTENSION))
+@@ -65,11 +67,11 @@
+ objects_so:=$(patsubst %$(EXTENSION),%.lo,$(sources))
+
+ WARNINGFLAGS=-Wall -Wno-unknown-pragmas -ansi -fno-gnu-keywords -Wshadow
+-COMPILEFLAGS=$(WARNINGFLAGS) $(CXXFLAGS) $(CPPFLAGS) $(DEBUGFLAGS) $(INCLUDE)
++COMPILEFLAGS=$(CXXFLAGS) $(CPPFLAGS) $(DEBUGFLAGS) $(INCLUDE)
+ DEPENDFLAGS = $(CXXFLAGS) $(INCLUDE)
+
+ ifeq (Darwin,$(shell uname -s))
+-all: staticlib
++all: staticlib macholib
+ else
+ all: staticlib sharedlib
+ endif
+@@ -78,8 +80,10 @@
+
+ sharedlib: $(LIBRARY_SO)
+
++macholib: $(LIBRARY_DYLIB)
++
+ lib:
+- @echo "Use the 'staticlib', 'sharedlib' or 'all' targets."
++ @echo "Use the 'staticlib', 'sharedlib', 'macholib' or 'all' targets."
+ @false
+
+ # Build rules
+@@ -94,15 +98,22 @@
+ $(RANLIB) $@
+
+ $(LIBRARY_SO): $(objects_so)
+- $(CXX) -shared -Wl,-soname,$(LIBRARY_SO_VER) -o $(LIBRARY_SO_VER) $(objects_so)
++ $(CXX) $(LDFLAGS) -shared -Wl,-soname,$(LIBRARY_SO_VER) -o $(LIBRARY_SO_VER) $(objects_so) $(LIBS)
+ rm -f $(LIBRARY_SO)
+ ln -s $(LIBRARY_SO_VER) $(LIBRARY_SO)
+
++$(LIBRARY_DYLIB): $(objects_so)
++ $(CXX) $(LDFLAGS) -dynamiclib -install_name $(libdir)/$(LIBRARY_DYLIB_VER) -o $(LIBRARY_DYLIB_VER) $(objects_so) $(LIBS)
++ rm -f $(LIBRARY_DYLIB)
++ ln -s $(LIBRARY_DYLIB_VER) $(LIBRARY_DYLIB)
++
+ clean:
+ rm -f $(objects) $(objects_so)
+ rm -f $(LIBRARY)
+ rm -f $(LIBRARY_SO)
+ rm -f $(LIBRARY_SO_VER)
++ rm -f $(LIBRARY_DYLIB)
++ rm -f $(LIBRARY_DYLIB_VER)
+ rm -f CORE
+
+ distclean dist-clean: clean
+@@ -119,29 +130,34 @@
+ done
+
+ ifeq (Darwin,$(shell uname -s))
+-install: install_staticlib install_headers
++install: install_staticlib install_macholib install_headers
+ else
+ install: install_staticlib install_sharedlib install_headers
+ endif
+
+ install_headers:
+- $(INSTALL) $(INSTALL_DIR_OPTS) -d $(includedir)
++ $(INSTALL) $(INSTALL_DIR_OPTS) -d $(DESTDIR)$(includedir)
+ for i in $(INCLUDE_DIR)/*.h; do \
+- $(INSTALL) $(INSTALL_OPTS) $$i $(includedir) ; \
++ $(INSTALL) $(INSTALL_OPTS) $$i $(DESTDIR)$(includedir) ; \
+ done
+- $(INSTALL) $(INSTALL_DIR_OPTS) -d $(includedir)/c
++ $(INSTALL) $(INSTALL_DIR_OPTS) -d $(DESTDIR)$(includedir)/c
+ for i in $(INCLUDE_DIR)/c/*.h; do \
+- $(INSTALL) $(INSTALL_OPTS) $$i $(includedir)/c ; \
++ $(INSTALL) $(INSTALL_OPTS) $$i $(DESTDIR)$(includedir)/c ; \
+ done
+
+ install_staticlib: $(LIBRARY)
+- $(INSTALL) $(INSTALL_DIR_OPTS) -d $(libdir)
+- $(INSTALL) $(INSTALL_OPTS_LIB) $(LIBRARY) $(libdir)
++ $(INSTALL) $(INSTALL_DIR_OPTS) -d $(DESTDIR)$(libdir)
++ $(INSTALL) $(INSTALL_OPTS_LIB) $(LIBRARY) $(DESTDIR)$(libdir)
+
+ install_sharedlib: $(LIBRARY_SO)
+- $(INSTALL) $(INSTALL_DIR_OPTS) -d $(libdir)
+- $(INSTALL) $(INSTALL_OPTS_LIB) $(LIBRARY_SO_VER) $(libdir)
+- ln -fs $(LIBRARY_SO_VER) $(libdir)/$(LIBRARY_SO)
++ $(INSTALL) $(INSTALL_DIR_OPTS) -d $(DESTDIR)$(libdir)
++ $(INSTALL) $(INSTALL_OPTS_LIB) $(LIBRARY_SO_VER) $(DESTDIR)$(libdir)
++ ln -fs $(LIBRARY_SO_VER) $(DESTDIR)$(libdir)/$(LIBRARY_SO)
++
++install_macholib: $(LIBRARY_DYLIB)
++ $(INSTALL) $(INSTALL_DIR_OPTS) -d $(DESTDIR)$(libdir)
++ $(INSTALL) $(INSTALL_OPTS_LIB) $(LIBRARY_DYLIB_VER) $(DESTDIR)$(libdir)
++ ln -fs $(LIBRARY_DYLIB_VER) $(DESTDIR)$(libdir)/$(LIBRARY_DYLIB)
+
+
+ ifneq ($(wildcard .depend),)
diff --git a/dev-libs/libebml/libebml-0.7.8-r2.ebuild b/dev-libs/libebml/libebml-0.7.8-r2.ebuild
new file mode 100644
index 000000000000..e2f211d299e2
--- /dev/null
+++ b/dev-libs/libebml/libebml-0.7.8-r2.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/libebml/libebml-0.7.8-r2.ebuild,v 1.1 2009/11/13 18:55:08 grobian Exp $
+
+EAPI=2
+
+inherit eutils multilib toolchain-funcs
+
+DESCRIPTION="Extensible binary format library (kinda like XML)"
+HOMEPAGE="http://www.matroska.org/"
+SRC_URI="http://www.bunkus.org/videotools/mkvtoolnix/sources/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE=""
+
+S="${S}/make/linux"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-makefile-fixup.patch
+}
+
+src_compile() {
+ # keep the prefix in here to make sure the binary is built with a correct
+ # install_name on Darwin
+ emake \
+ prefix="${EPREFIX}/usr" \
+ CC="$(tc-getCC)" \
+ CXX="$(tc-getCXX)" \
+ || die "emake failed"
+}
+
+src_install() {
+ emake \
+ DESTDIR="${D}" \
+ prefix="${EPREFIX}/usr" \
+ libdir="${EPREFIX}/usr/$(get_libdir)" \
+ install || die "emake install failed"
+
+ dodoc "${WORKDIR}/${P}/ChangeLog"
+}