summaryrefslogtreecommitdiff
path: root/dev-libs
diff options
context:
space:
mode:
authorBertrand Jacquin <beber@meleeweb.net>2009-05-04 20:25:04 +0200
committerBertrand Jacquin <beber@meleeweb.net>2009-05-04 20:25:04 +0200
commit35748586b860ac8f0b10322bc81e434a7027de9f (patch)
tree9d9f30e983bd0fcabba77fffb461391d18fe10ea /dev-libs
parentwdd: add 0.1.31 release from flxutils (+ stat option) (diff)
downloadportage-35748586b860ac8f0b10322bc81e434a7027de9f.tar.xz
glib: add patchs to make it cross-compile (_C99_SOURCE)
Diffstat (limited to 'dev-libs')
-rw-r--r--dev-libs/glib/Manifest9
-rw-r--r--dev-libs/glib/files/glib-2.10.3-ia64-atomic-ops.patch39
-rw-r--r--dev-libs/glib/files/glib-2.12.12-fbsd.patch21
-rw-r--r--dev-libs/glib/files/glib-2.18.1-workaround-gio-test-failure-without-userpriv.patch20
-rw-r--r--dev-libs/glib/files/glib-2.18.4-BJA-strfuncs-std99-Makefile.am.diff10
-rw-r--r--dev-libs/glib/files/glib-2.18.4-BJA-strfuncs-std99-Makefile.in.diff75
-rw-r--r--dev-libs/glib/files/glib-2.6.3-testglib-ssp.patch11
-rw-r--r--dev-libs/glib/files/glib2-CVE-2008-4316.patch62
-rw-r--r--dev-libs/glib/glib-2.18.4-r1.ebuild92
9 files changed, 339 insertions, 0 deletions
diff --git a/dev-libs/glib/Manifest b/dev-libs/glib/Manifest
new file mode 100644
index 00000000..6f52a42c
--- /dev/null
+++ b/dev-libs/glib/Manifest
@@ -0,0 +1,9 @@
+AUX glib-2.10.3-ia64-atomic-ops.patch 1058 RMD160 066e63a99739dc412fbed7f773118323f53ea774 SHA1 13c22e2f75a77e9e0546e495fd28015ddcb8bade SHA256 ad9cad6793626b4e36a59aa6cb839607847aa57ebc37592fd1e273ccd23a53c8
+AUX glib-2.12.12-fbsd.patch 668 RMD160 d8bf399b7e0b417c4622b278282086418c1d3363 SHA1 b7a0f4d67083f2c9b4bbecd84a6d597dd0f0f9ed SHA256 23b0dc406d3d45fe125268b731af67147e83f6e38a63c7892828bdbfe1c31e8d
+AUX glib-2.18.1-workaround-gio-test-failure-without-userpriv.patch 616 RMD160 dd06abe9298d6e3e4d3eda0d5d155f1545dfd1aa SHA1 92164aa1b29f49cf62fc366231f2046b8b3def52 SHA256 e64ad4fbd67f142f5a19b29eab323bf18856309ed064e7a9f838b6c1c38a8adb
+AUX glib-2.18.4-BJA-strfuncs-std99-Makefile.am.diff 324 RMD160 e39d33bc8cd325ae93361a2056ef7c1722837930 SHA1 af9a64829d3bdc909cb4b742bdd089454d08b1f7 SHA256 a009f5a5784dbd9baf568c2412304db02ddf2747a2de1a881a9d390ec205c877
+AUX glib-2.18.4-BJA-strfuncs-std99-Makefile.in.diff 4101 RMD160 413920a8bfd61ec6f1a2e15315a1466331142e42 SHA1 c3ae67fbc2aab0026febf6502261419f575261b9 SHA256 360e5fa05eabb6c74b2f671f3a079a41d25dfc3e158252ae57c3356bef8ab504
+AUX glib-2.6.3-testglib-ssp.patch 344 RMD160 6709acf85c52e39553e2e5ee93637f7e9cc7eca6 SHA1 403b249a460a9700669e754a562fb6974f3d6898 SHA256 c2ece3d7b4533e3bfbe8100df5d0824176d9dfa0b18697a8919162956c8ebfa8
+AUX glib2-CVE-2008-4316.patch 2692 RMD160 3143c4df4f1063f8177a545d8cb5678a68c2980f SHA1 f89222a8f09e4e841480bbfbd4defd1e3d402e91 SHA256 c249ef6513c2490e9efe836e9d41a4a5f1056979748e2535b8ec7d13a71b1bf0
+DIST glib-2.18.4.tar.bz2 4809051 RMD160 c47a71708fd13ade70d72d3443799d3e74a0459d SHA1 3e21395c6980e3970d5260b46ecb6b87f2482c61 SHA256 6aeb2c845e9fdc388943acdaba2f6357e3007c5ffaa8d666904679cfb40de100
+EBUILD glib-2.18.4-r1.ebuild 2616 RMD160 0899cdc54d8d7b3301762032a3ea0982cae44acb SHA1 033541786c43ec95aaf4984507c34afbfee761d0 SHA256 d273f0d02f14f5cab443d23465a746d96c0df79a32599a60483a1534aeacb14e
diff --git a/dev-libs/glib/files/glib-2.10.3-ia64-atomic-ops.patch b/dev-libs/glib/files/glib-2.10.3-ia64-atomic-ops.patch
new file mode 100644
index 00000000..0859e331
--- /dev/null
+++ b/dev-libs/glib/files/glib-2.10.3-ia64-atomic-ops.patch
@@ -0,0 +1,39 @@
+From Debian, this one is needed for gcc < 4.1...
+
+--- glib-2.10.0/glib/gatomic.c 2006-02-24 14:02:51.000000000 +0000
++++ glib-2.10.0/glib/gatomic.c 2006-03-06 18:12:06.000000000 +0000
+@@ -414,14 +414,14 @@
+ g_atomic_int_exchange_and_add (volatile gint *atomic,
+ gint val)
+ {
+- return __sync_fetch_and_add (atomic, val);
++ return __sync_fetch_and_add_si (atomic, val);
+ }
+
+ void
+ g_atomic_int_add (volatile gint *atomic,
+ gint val)
+ {
+- __sync_fetch_and_add (atomic, val);
++ __sync_fetch_and_add_si (atomic, val);
+ }
+
+ gboolean
+@@ -429,7 +429,7 @@
+ gint oldval,
+ gint newval)
+ {
+- return __sync_bool_compare_and_swap (atomic, oldval, newval);
++ return __sync_bool_compare_and_swap_si (atomic, oldval, newval);
+ }
+
+ gboolean
+@@ -437,7 +437,7 @@
+ gpointer oldval,
+ gpointer newval)
+ {
+- return __sync_bool_compare_and_swap ((long *)atomic,
++ return __sync_bool_compare_and_swap_di ((long *)atomic,
+ (long)oldval, (long)newval);
+ }
+
diff --git a/dev-libs/glib/files/glib-2.12.12-fbsd.patch b/dev-libs/glib/files/glib-2.12.12-fbsd.patch
new file mode 100644
index 00000000..bba63296
--- /dev/null
+++ b/dev-libs/glib/files/glib-2.12.12-fbsd.patch
@@ -0,0 +1,21 @@
+diff --exclude-from=/home/dang/.scripts/diffrc -up -ruN glib-2.12.12.orig/gmodule/gmodule-dl.c glib-2.12.12/gmodule/gmodule-dl.c
+--- glib-2.12.12.orig/gmodule/gmodule-dl.c 2007-05-01 19:12:40.000000000 -0400
++++ glib-2.12.12/gmodule/gmodule-dl.c 2007-07-05 20:10:51.000000000 -0400
+@@ -106,6 +106,7 @@ _g_module_open (const gchar *file_name,
+ static gpointer
+ _g_module_self (void)
+ {
++#ifndef __FreeBSD__
+ gpointer handle;
+
+ /* to query symbols from the program itself, special link options
+@@ -117,6 +118,9 @@ _g_module_self (void)
+ g_module_set_error (fetch_dlerror (TRUE));
+
+ return handle;
++#else
++ return RTLD_DEFAULT;
++#endif
+ }
+
+ static void
diff --git a/dev-libs/glib/files/glib-2.18.1-workaround-gio-test-failure-without-userpriv.patch b/dev-libs/glib/files/glib-2.18.1-workaround-gio-test-failure-without-userpriv.patch
new file mode 100644
index 00000000..cabe56f5
--- /dev/null
+++ b/dev-libs/glib/files/glib-2.18.1-workaround-gio-test-failure-without-userpriv.patch
@@ -0,0 +1,20 @@
+Temporary workaround for gio tests failure when ran without FEATURES=userpriv
+until upstream bug #552912 is fixed
+
+--- gio/tests/live-g-file.c.orig 2008-09-25 05:44:12.848556034 +0300
++++ gio/tests/live-g-file.c 2008-09-25 06:12:34.248726237 +0300
+@@ -769,11 +769,14 @@
+ if (posix_compat)
+ {
+ /* target directory is not accessible (no execute flag) */
++#if 0
++/* Fails when ran as root */
+ do_copy_move (root, item, TEST_DIR_NO_ACCESS,
+ TEST_NO_ACCESS);
+ /* target directory is readonly */
+ do_copy_move (root, item, TEST_DIR_NO_WRITE,
+ TEST_NO_ACCESS);
++#endif
+ }
+ }
+ }
diff --git a/dev-libs/glib/files/glib-2.18.4-BJA-strfuncs-std99-Makefile.am.diff b/dev-libs/glib/files/glib-2.18.4-BJA-strfuncs-std99-Makefile.am.diff
new file mode 100644
index 00000000..d16798dd
--- /dev/null
+++ b/dev-libs/glib/files/glib-2.18.4-BJA-strfuncs-std99-Makefile.am.diff
@@ -0,0 +1,10 @@
+--- glib/tests/Makefile.am.ori 2009-05-04 16:33:35.000000000 +0200
++++ glib/tests/Makefile.am 2009-05-04 17:23:20.000000000 +0200
+@@ -32,6 +32,7 @@
+
+ TEST_PROGS += strfuncs
+ strfuncs_SOURCES = strfuncs.c
++strfuncs_CPPFLAGS = -D_ISOC99_SOURCE
+ strfuncs_LDADD = $(progs_ldadd) -lm
+
+ TEST_PROGS += string
diff --git a/dev-libs/glib/files/glib-2.18.4-BJA-strfuncs-std99-Makefile.in.diff b/dev-libs/glib/files/glib-2.18.4-BJA-strfuncs-std99-Makefile.in.diff
new file mode 100644
index 00000000..5ec741af
--- /dev/null
+++ b/dev-libs/glib/files/glib-2.18.4-BJA-strfuncs-std99-Makefile.in.diff
@@ -0,0 +1,75 @@
+--- glib/tests/Makefile.in.ori 2009-05-04 17:30:55.000000000 +0200
++++ glib/tests/Makefile.in 2009-05-04 17:34:23.000000000 +0200
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.10.1 from Makefile.am.
++# Makefile.in generated by automake 1.10.2 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+@@ -76,7 +76,7 @@
+ am_rand_OBJECTS = rand.$(OBJEXT)
+ rand_OBJECTS = $(am_rand_OBJECTS)
+ rand_DEPENDENCIES = $(progs_ldadd)
+-am_strfuncs_OBJECTS = strfuncs.$(OBJEXT)
++am_strfuncs_OBJECTS = strfuncs-strfuncs.$(OBJEXT)
+ strfuncs_OBJECTS = $(am_strfuncs_OBJECTS)
+ strfuncs_DEPENDENCIES = $(progs_ldadd)
+ am_string_OBJECTS = string.$(OBJEXT)
+@@ -336,6 +336,7 @@
+ rand_SOURCES = rand.c
+ rand_LDADD = $(progs_ldadd) -lm
+ strfuncs_SOURCES = strfuncs.c
++strfuncs_CPPFLAGS = -D_ISOC99_SOURCE
+ strfuncs_LDADD = $(progs_ldadd) -lm
+ string_SOURCES = string.c
+ string_LDADD = $(progs_ldadd) -lm
+@@ -355,8 +356,8 @@
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+- && exit 0; \
++ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
++ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+@@ -431,7 +432,7 @@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/option-context.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/printf.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rand.Po@am__quote@
+-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strfuncs.Po@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strfuncs-strfuncs.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/string.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testing.Po@am__quote@
+
+@@ -456,6 +457,20 @@
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+
++strfuncs-strfuncs.o: strfuncs.c
++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strfuncs_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT strfuncs-strfuncs.o -MD -MP -MF $(DEPDIR)/strfuncs-strfuncs.Tpo -c -o strfuncs-strfuncs.o `test -f 'strfuncs.c' || echo '$(srcdir)/'`strfuncs.c
++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/strfuncs-strfuncs.Tpo $(DEPDIR)/strfuncs-strfuncs.Po
++@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='strfuncs.c' object='strfuncs-strfuncs.o' libtool=no @AMDEPBACKSLASH@
++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
++@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strfuncs_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o strfuncs-strfuncs.o `test -f 'strfuncs.c' || echo '$(srcdir)/'`strfuncs.c
++
++strfuncs-strfuncs.obj: strfuncs.c
++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strfuncs_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT strfuncs-strfuncs.obj -MD -MP -MF $(DEPDIR)/strfuncs-strfuncs.Tpo -c -o strfuncs-strfuncs.obj `if test -f 'strfuncs.c'; then $(CYGPATH_W) 'strfuncs.c'; else $(CYGPATH_W) '$(srcdir)/strfuncs.c'; fi`
++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/strfuncs-strfuncs.Tpo $(DEPDIR)/strfuncs-strfuncs.Po
++@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='strfuncs.c' object='strfuncs-strfuncs.obj' libtool=no @AMDEPBACKSLASH@
++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
++@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strfuncs_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o strfuncs-strfuncs.obj `if test -f 'strfuncs.c'; then $(CYGPATH_W) 'strfuncs.c'; else $(CYGPATH_W) '$(srcdir)/strfuncs.c'; fi`
++
+ mostlyclean-libtool:
+ -rm -f *.lo
+
+@@ -467,7 +482,7 @@
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
++ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+ tags: TAGS
diff --git a/dev-libs/glib/files/glib-2.6.3-testglib-ssp.patch b/dev-libs/glib/files/glib-2.6.3-testglib-ssp.patch
new file mode 100644
index 00000000..9b104dd5
--- /dev/null
+++ b/dev-libs/glib/files/glib-2.6.3-testglib-ssp.patch
@@ -0,0 +1,11 @@
+--- tests/Makefile.in.orig 2005-04-07 01:05:39.000000000 +0000
++++ tests/Makefile.in 2005-04-07 01:09:02.000000000 +0000
+@@ -50,7 +50,7 @@
+ CATOBJEXT = @CATOBJEXT@
+ CC = @CC@
+ CCDEPMODE = @CCDEPMODE@
+-CFLAGS = @CFLAGS@
++CFLAGS = @CFLAGS@ -fno-stack-protector
+ CPP = @CPP@
+ CPPFLAGS = @CPPFLAGS@
+ CROSS_COMPILING_FALSE = @CROSS_COMPILING_FALSE@
diff --git a/dev-libs/glib/files/glib2-CVE-2008-4316.patch b/dev-libs/glib/files/glib2-CVE-2008-4316.patch
new file mode 100644
index 00000000..758a01b2
--- /dev/null
+++ b/dev-libs/glib/files/glib2-CVE-2008-4316.patch
@@ -0,0 +1,62 @@
+--- glib/gbase64.c.orig 2008-12-04 12:07:21.000000000 +0100
++++ glib/gbase64.c 2009-01-12 14:08:31.000000000 +0100
+@@ -54,8 +54,9 @@ static const char base64_alphabet[] =
+ *
+ * The output buffer must be large enough to fit all the data that will
+ * be written to it. Due to the way base64 encodes you will need
+- * at least: @len * 4 / 3 + 6 bytes. If you enable line-breaking you will
+- * need at least: @len * 4 / 3 + @len * 4 / (3 * 72) + 7 bytes.
++ * at least: (@len / 3 + 1) * 4 + 4 bytes (+ 4 may be needed in case of
++ * non-zero state). If you enable line-breaking you will need at least:
++ * ((@len / 3 + 1) * 4 + 4) / 72 + 1 bytes of extra space.
+ *
+ * @break_lines is typically used when putting base64-encoded data in emails.
+ * It breaks the lines at 72 columns instead of putting all of the text on
+@@ -233,8 +234,14 @@ g_base64_encode (const guchar *data,
+ g_return_val_if_fail (data != NULL, NULL);
+ g_return_val_if_fail (len > 0, NULL);
+
+- /* We can use a smaller limit here, since we know the saved state is 0 */
+- out = g_malloc (len * 4 / 3 + 4);
++ /* We can use a smaller limit here, since we know the saved state is 0,
++ +1 is needed for trailing \0, also check for unlikely integer overflow */
++ if (len >= ((G_MAXSIZE - 1) / 4 - 1) * 3)
++ g_error("%s: input too large for Base64 encoding (%"G_GSIZE_FORMAT" chars)",
++ G_STRLOC, len);
++
++ out = g_malloc ((len / 3 + 1) * 4 + 1);
++
+ outlen = g_base64_encode_step (data, len, FALSE, out, &state, &save);
+ outlen += g_base64_encode_close (FALSE, out + outlen, &state, &save);
+ out[outlen] = '\0';
+@@ -275,7 +282,8 @@ static const unsigned char mime_base64_r
+ *
+ * The output buffer must be large enough to fit all the data that will
+ * be written to it. Since base64 encodes 3 bytes in 4 chars you need
+- * at least: @len * 3 / 4 bytes.
++ * at least: (@len / 4) * 3 + 3 bytes (+ 3 may be needed in case of non-zero
++ * state).
+ *
+ * Return value: The number of bytes of output that was written
+ *
+@@ -358,7 +366,8 @@ g_base64_decode (const gchar *text,
+ gsize *out_len)
+ {
+ guchar *ret;
+- gint input_length, state = 0;
++ gsize input_length;
++ gint state = 0;
+ guint save = 0;
+
+ g_return_val_if_fail (text != NULL, NULL);
+@@ -368,7 +377,9 @@ g_base64_decode (const gchar *text,
+
+ g_return_val_if_fail (input_length > 1, NULL);
+
+- ret = g_malloc0 (input_length * 3 / 4);
++ /* We can use a smaller limit here, since we know the saved state is 0,
++ +1 used to avoid calling g_malloc0(0), and hence retruning NULL */
++ ret = g_malloc0 ((input_length / 4) * 3 + 1);
+
+ *out_len = g_base64_decode_step (text, input_length, ret, &state, &save);
+
diff --git a/dev-libs/glib/glib-2.18.4-r1.ebuild b/dev-libs/glib/glib-2.18.4-r1.ebuild
new file mode 100644
index 00000000..51a10654
--- /dev/null
+++ b/dev-libs/glib/glib-2.18.4-r1.ebuild
@@ -0,0 +1,92 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/glib/glib-2.18.4-r1.ebuild,v 1.9 2009/04/27 13:07:11 jer Exp $
+
+inherit gnome.org libtool eutils flag-o-matic
+
+DESCRIPTION="The GLib library of C routines"
+HOMEPAGE="http://www.gtk.org/"
+
+LICENSE="LGPL-2"
+SLOT="2"
+KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc ~sparc-fbsd x86 ~x86-fbsd"
+IUSE="debug doc fam hardened selinux xattr"
+
+RDEPEND="virtual/libc
+ virtual/libiconv
+ xattr? ( sys-apps/attr )
+ fam? ( virtual/fam )"
+DEPEND="${RDEPEND}
+ >=dev-util/pkgconfig-0.16
+ >=sys-devel/gettext-0.11
+ doc? (
+ >=dev-libs/libxslt-1.0
+ >=dev-util/gtk-doc-1.8
+ ~app-text/docbook-xml-dtd-4.1.2
+ )"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+
+ if use ppc64 && use hardened ; then
+ replace-flags -O[2-3] -O1
+ epatch "${FILESDIR}/glib-2.6.3-testglib-ssp.patch"
+ fi
+
+ if use ia64 ; then
+ # Only apply for < 4.1
+ local major=$(gcc-major-version)
+ local minor=$(gcc-minor-version)
+ if (( major < 4 || ( major == 4 && minor == 0 ) )); then
+ epatch "${FILESDIR}/glib-2.10.3-ia64-atomic-ops.patch"
+ fi
+ fi
+
+ # Don't fail gio tests when ran without userpriv, upstream bug 552912
+ # This is only a temporary workaround, remove as soon as possible
+ epatch "${FILESDIR}/${PN}-2.18.1-workaround-gio-test-failure-without-userpriv.patch"
+
+ # Fix gmodule issues on fbsd; bug #184301
+ epatch "${FILESDIR}"/${PN}-2.12.12-fbsd.patch
+
+ # Fix g_base64 overruns. bug #249214
+ epatch "${FILESDIR}"/glib2-CVE-2008-4316.patch
+
+ epatch "${FILESDIR}"/${P}-BJA-strfuncs-std99-Makefile.in.diff
+
+ [[ ${CHOST} == *-freebsd* ]] && elibtoolize
+}
+
+src_compile() {
+ local myconf
+
+ epunt_cxx
+
+ # Building with --disable-debug highly unrecommended. It will build glib in
+ # an unusable form as it disables some commonly used API. Please do not
+ # convert this to the use_enable form, as it results in a broken build.
+ # -- compnerd (3/27/06)
+ use debug && myconf="--enable-debug"
+
+ # always build static libs, see #153807
+ econf ${myconf} \
+ $(use_enable xattr) \
+ $(use_enable doc man) \
+ $(use_enable doc gtk-doc) \
+ $(use_enable fam) \
+ $(use_enable selinux) \
+ --enable-static \
+ --with-threads=posix || die "configure failed"
+
+ emake || die "make failed"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "Installation failed"
+
+ # Do not install charset.alias even if generated, leave it to libiconv
+ rm -f "${D}/usr/lib/charset.alias"
+
+ dodoc AUTHORS ChangeLog* NEWS* README
+}