summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-util/pkgconfig')
-rw-r--r--dev-util/pkgconfig/Manifest1
-rw-r--r--dev-util/pkgconfig/files/pkgconfig-0.28-lfs.patch281
-rw-r--r--dev-util/pkgconfig/files/pkgconfig-0.28-strip_system_library_dirs_reliably.patch30
-rw-r--r--dev-util/pkgconfig/metadata.xml11
-rw-r--r--dev-util/pkgconfig/pkgconfig-0.28-r2.ebuild96
-rw-r--r--dev-util/pkgconfig/pkgconfig-0.28-r3.ebuild106
-rw-r--r--dev-util/pkgconfig/pkgconfig-9999.ebuild99
7 files changed, 624 insertions, 0 deletions
diff --git a/dev-util/pkgconfig/Manifest b/dev-util/pkgconfig/Manifest
new file mode 100644
index 000000000000..ad5531bd0f42
--- /dev/null
+++ b/dev-util/pkgconfig/Manifest
@@ -0,0 +1 @@
+DIST pkg-config-0.28.tar.gz 1931203 SHA256 6b6eb31c6ec4421174578652c7e141fdaae2dabad1021f420d8713206ac1f845 SHA512 6eafa5ca77c5d44cd15f48457a5e96fcea2555b66d8e35ada5ab59864a0aa03d441e15f54ab9c6343693867b3b490f392c75b7d9312f024c9b7ec6a0194d8320 WHIRLPOOL db4ddb4ce61724e629931c5ffccb4d7a551b4dc0f4efed5a966822307e4b5a786adee5705dd80ec0a9aa32cb1af9ad9615e307360e131fc34688207216161486
diff --git a/dev-util/pkgconfig/files/pkgconfig-0.28-lfs.patch b/dev-util/pkgconfig/files/pkgconfig-0.28-lfs.patch
new file mode 100644
index 000000000000..9515f4f650a0
--- /dev/null
+++ b/dev-util/pkgconfig/files/pkgconfig-0.28-lfs.patch
@@ -0,0 +1,281 @@
+From 217ffa021257fc2313c9eeb3e94e2ee38d255634 Mon Sep 17 00:00:00 2001
+From: Peter Jones <pjones@redhat.com>
+Date: Wed, 15 Apr 2015 12:25:29 -0400
+Subject: [PATCH] Enable large file support
+
+https://bugs.freedesktop.org/show_bug.cgi?id=90078
+
+Signed-off-by: Peter Jones <pjones@redhat.com>
+
+[Alexandre Rostovtsev <tetromino@gentoo.org>: expand out configure,
+ config.h.in modifications.]
+---
+ configure.ac | 3 +
+ config.h.in | 11 ++++
+ configure | 203 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 3 files changed, 217 insertions(+)
+
+diff --git a/configure.ac b/configure.ac
+index 2b33371..1a321e1 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -17,6 +17,9 @@ dnl by either passing --disable-silent-rules to configure or passing V=1
+ dnl to make
+ m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
+
++dnl Enable large file support
++AC_SYS_LARGEFILE
++
+ dnl Check for programs
+ AC_PROG_CC
+ AC_CHECK_PROG([LN], [ln], [ln], [cp -Rp])
+diff --git a/config.h.in b/config.h.in
+index 0aac8f3..fdae454 100644
+--- a/config.h.in
++++ b/config.h.in
+@@ -72,3 +72,14 @@
+
+ /* Version number of package */
+ #undef VERSION
++
++/* Enable large inode numbers on Mac OS X 10.5. */
++#ifndef _DARWIN_USE_64_BIT_INODE
++# define _DARWIN_USE_64_BIT_INODE 1
++#endif
++
++/* Number of bits in a file offset, on hosts where this is settable. */
++#undef _FILE_OFFSET_BITS
++
++/* Define for large files, on AIX-style hosts. */
++#undef _LARGE_FILES
+diff --git a/configure b/configure
+index 160ecab..f897e22 100755
+--- a/configure
++++ b/configure
+@@ -783,6 +783,7 @@ with_gnu_ld
+ with_sysroot
+ enable_libtool_lock
+ enable_silent_rules
++enable_largefile
+ with_pc_path
+ with_system_include_path
+ with_system_library_path
+@@ -1435,6 +1436,7 @@ Optional Features:
+ --disable-libtool-lock avoid locking (might break parallel builds)
+ --enable-silent-rules less verbose build output (undo: "make V=1")
+ --disable-silent-rules verbose build output (undo: "make V=0")
++ --disable-largefile omit support for large files
+ --enable-indirect-deps list both direct and indirect dependencies.
+ --disable-indirect-deps only list direct dependencies.
+ default=auto
+@@ -11389,6 +11391,207 @@ fi
+ AM_BACKSLASH='\'
+
+
++# Check whether --enable-largefile was given.
++if test "${enable_largefile+set}" = set; then :
++ enableval=$enable_largefile;
++fi
++
++if test "$enable_largefile" != no; then
++
++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5
++$as_echo_n "checking for special C compiler options needed for large files... " >&6; }
++if ${ac_cv_sys_largefile_CC+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ ac_cv_sys_largefile_CC=no
++ if test "$GCC" != yes; then
++ ac_save_CC=$CC
++ while :; do
++ # IRIX 6.2 and later do not support large files by default,
++ # so use the C compiler's -n32 option if that helps.
++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h. */
++#include <sys/types.h>
++ /* Check that off_t can represent 2**63 - 1 correctly.
++ We can't simply define LARGE_OFF_T to be 9223372036854775807,
++ since some C++ compilers masquerading as C compilers
++ incorrectly reject 9223372036854775807. */
++#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
++ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
++ && LARGE_OFF_T % 2147483647 == 1)
++ ? 1 : -1];
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++ if ac_fn_c_try_compile "$LINENO"; then :
++ break
++fi
++rm -f core conftest.err conftest.$ac_objext
++ CC="$CC -n32"
++ if ac_fn_c_try_compile "$LINENO"; then :
++ ac_cv_sys_largefile_CC=' -n32'; break
++fi
++rm -f core conftest.err conftest.$ac_objext
++ break
++ done
++ CC=$ac_save_CC
++ rm -f conftest.$ac_ext
++ fi
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_CC" >&5
++$as_echo "$ac_cv_sys_largefile_CC" >&6; }
++ if test "$ac_cv_sys_largefile_CC" != no; then
++ CC=$CC$ac_cv_sys_largefile_CC
++ fi
++
++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5
++$as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; }
++if ${ac_cv_sys_file_offset_bits+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ while :; do
++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h. */
++#include <sys/types.h>
++ /* Check that off_t can represent 2**63 - 1 correctly.
++ We can't simply define LARGE_OFF_T to be 9223372036854775807,
++ since some C++ compilers masquerading as C compilers
++ incorrectly reject 9223372036854775807. */
++#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
++ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
++ && LARGE_OFF_T % 2147483647 == 1)
++ ? 1 : -1];
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++if ac_fn_c_try_compile "$LINENO"; then :
++ ac_cv_sys_file_offset_bits=no; break
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h. */
++#define _FILE_OFFSET_BITS 64
++#include <sys/types.h>
++ /* Check that off_t can represent 2**63 - 1 correctly.
++ We can't simply define LARGE_OFF_T to be 9223372036854775807,
++ since some C++ compilers masquerading as C compilers
++ incorrectly reject 9223372036854775807. */
++#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
++ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
++ && LARGE_OFF_T % 2147483647 == 1)
++ ? 1 : -1];
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++if ac_fn_c_try_compile "$LINENO"; then :
++ ac_cv_sys_file_offset_bits=64; break
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++ ac_cv_sys_file_offset_bits=unknown
++ break
++done
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_file_offset_bits" >&5
++$as_echo "$ac_cv_sys_file_offset_bits" >&6; }
++case $ac_cv_sys_file_offset_bits in #(
++ no | unknown) ;;
++ *)
++cat >>confdefs.h <<_ACEOF
++#define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits
++_ACEOF
++;;
++esac
++rm -rf conftest*
++ if test $ac_cv_sys_file_offset_bits = unknown; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5
++$as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; }
++if ${ac_cv_sys_large_files+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ while :; do
++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h. */
++#include <sys/types.h>
++ /* Check that off_t can represent 2**63 - 1 correctly.
++ We can't simply define LARGE_OFF_T to be 9223372036854775807,
++ since some C++ compilers masquerading as C compilers
++ incorrectly reject 9223372036854775807. */
++#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
++ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
++ && LARGE_OFF_T % 2147483647 == 1)
++ ? 1 : -1];
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++if ac_fn_c_try_compile "$LINENO"; then :
++ ac_cv_sys_large_files=no; break
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h. */
++#define _LARGE_FILES 1
++#include <sys/types.h>
++ /* Check that off_t can represent 2**63 - 1 correctly.
++ We can't simply define LARGE_OFF_T to be 9223372036854775807,
++ since some C++ compilers masquerading as C compilers
++ incorrectly reject 9223372036854775807. */
++#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
++ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
++ && LARGE_OFF_T % 2147483647 == 1)
++ ? 1 : -1];
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++if ac_fn_c_try_compile "$LINENO"; then :
++ ac_cv_sys_large_files=1; break
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++ ac_cv_sys_large_files=unknown
++ break
++done
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_large_files" >&5
++$as_echo "$ac_cv_sys_large_files" >&6; }
++case $ac_cv_sys_large_files in #(
++ no | unknown) ;;
++ *)
++cat >>confdefs.h <<_ACEOF
++#define _LARGE_FILES $ac_cv_sys_large_files
++_ACEOF
++;;
++esac
++rm -rf conftest*
++ fi
++
++
++fi
++
++
+ ac_ext=c
+ ac_cpp='$CPP $CPPFLAGS'
+ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+--
+2.4.2
+
diff --git a/dev-util/pkgconfig/files/pkgconfig-0.28-strip_system_library_dirs_reliably.patch b/dev-util/pkgconfig/files/pkgconfig-0.28-strip_system_library_dirs_reliably.patch
new file mode 100644
index 000000000000..e1a2bb534a37
--- /dev/null
+++ b/dev-util/pkgconfig/files/pkgconfig-0.28-strip_system_library_dirs_reliably.patch
@@ -0,0 +1,30 @@
+http://bugs.gentoo.org/512336
+http://bugs.freedesktop.org/show_bug.cgi?id=78077
+
+From 8691b580ab3f7ac36182060e2253307fbd0aba75 Mon Sep 17 00:00:00 2001
+From: Andrew Oakley <aoakley@espial.com>
+Date: Tue, 29 Apr 2014 13:14:35 +0100
+Subject: [PATCH 1/1] Strip system library directories reliably
+
+This loop was changed from a while loop to a for loop in commit
+9bf6277b, but the iterator is now advanced twice each time round the
+loop.
+---
+ pkg.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/pkg.c b/pkg.c
+index 3697fec..c847c95 100644
+--- a/pkg.c
++++ b/pkg.c
+@@ -917,7 +917,6 @@ verify_package (Package *pkg)
+ }
+ system_dir_iter = system_dir_iter->next;
+ }
+- iter = iter->next;
+ }
+ g_list_free (system_directories);
+
+--
+1.8.3.2
+
diff --git a/dev-util/pkgconfig/metadata.xml b/dev-util/pkgconfig/metadata.xml
new file mode 100644
index 000000000000..572c23e967c4
--- /dev/null
+++ b/dev-util/pkgconfig/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>freedesktop</herd>
+ <maintainer>
+ <email>freedesktop-bugs@gentoo.org</email>
+ </maintainer>
+ <use>
+ <flag name='internal-glib'>Use internal copy of <pkg>dev-libs/glib</pkg></flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-util/pkgconfig/pkgconfig-0.28-r2.ebuild b/dev-util/pkgconfig/pkgconfig-0.28-r2.ebuild
new file mode 100644
index 000000000000..730000c6a486
--- /dev/null
+++ b/dev-util/pkgconfig/pkgconfig-0.28-r2.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils flag-o-matic libtool multilib multilib-minimal
+
+MY_P=pkg-config-${PV}
+
+if [[ ${PV} == *9999* ]]; then
+ EGIT_REPO_URI="git://anongit.freedesktop.org/pkg-config"
+ inherit autotools git-2
+else
+ KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+ SRC_URI="http://pkgconfig.freedesktop.org/releases/${MY_P}.tar.gz"
+fi
+
+DESCRIPTION="Package config system that manages compile/link flags"
+HOMEPAGE="http://pkgconfig.freedesktop.org/wiki/"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="elibc_FreeBSD elibc_glibc hardened internal-glib"
+
+RDEPEND="!internal-glib? ( >=dev-libs/glib-2.34.3[${MULTILIB_USEDEP}] )
+ !dev-util/pkgconf[pkg-config]
+ !dev-util/pkg-config-lite
+ !dev-util/pkgconfig-openbsd[pkg-config]"
+DEPEND="${RDEPEND}"
+
+S=${WORKDIR}/${MY_P}
+
+DOCS=( AUTHORS NEWS README )
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-strip_system_library_dirs_reliably.patch
+
+ sed -i -e "s|^prefix=/usr\$|prefix=${EPREFIX}/usr|" check/simple.pc || die #434320
+
+ epatch_user
+
+ if [[ ${PV} == *9999* ]]; then
+ eautoreconf
+ else
+ elibtoolize # Required for FreeMiNT wrt #333429
+ fi
+}
+
+multilib_src_configure() {
+ local myconf
+
+ if use internal-glib; then
+ myconf+=' --with-internal-glib'
+ # non-glibc platforms use GNU libiconv, but configure needs to
+ # know about that not to get confused when it finds something
+ # outside the prefix too
+ if use prefix && use !elibc_glibc ; then
+ myconf+=" --with-libiconv=gnu"
+ # add the libdir for libtool, otherwise it'll make love with system
+ # installed libiconv
+ append-ldflags "-L${EPREFIX}/usr/$(get_libdir)"
+ fi
+ else
+ if ! has_version dev-util/pkgconfig; then
+ export GLIB_CFLAGS="-I${EPREFIX}/usr/include/glib-2.0 -I${EPREFIX}/usr/$(get_libdir)/glib-2.0/include"
+ export GLIB_LIBS="-lglib-2.0"
+ fi
+ fi
+
+ use ppc64 && use hardened && replace-flags -O[2-3] -O1
+
+ # Force using all the requirements when linking, so that needed -pthread
+ # lines are inherited between libraries
+ use elibc_FreeBSD && myconf+=' --enable-indirect-deps'
+
+ [[ ${PV} == *9999* ]] && myconf+=' --enable-maintainer-mode'
+
+ ECONF_SOURCE=${S} \
+ econf \
+ --docdir="${EPREFIX}"/usr/share/doc/${PF}/html \
+ --with-system-include-path="${EPREFIX}"/usr/include \
+ --with-system-library-path="${EPREFIX}"/usr/$(get_libdir) \
+ ${myconf}
+}
+
+multilib_src_install() {
+ emake DESTDIR="${D}" install
+
+ if use prefix; then
+ # Add an explicit reference to $EPREFIX to PKG_CONFIG_PATH to
+ # simplify cross-prefix builds
+ echo "PKG_CONFIG_PATH=${EPREFIX}/usr/$(get_libdir)/pkgconfig:${EPREFIX}/usr/share/pkgconfig" >> "${T}"/99${PN}
+ doenvd "${T}"/99${PN}
+ fi
+}
diff --git a/dev-util/pkgconfig/pkgconfig-0.28-r3.ebuild b/dev-util/pkgconfig/pkgconfig-0.28-r3.ebuild
new file mode 100644
index 000000000000..09f88545f704
--- /dev/null
+++ b/dev-util/pkgconfig/pkgconfig-0.28-r3.ebuild
@@ -0,0 +1,106 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+# Do not inherit autotools in non-live ebuild - causes circular dependency, bug #550856
+inherit eutils flag-o-matic libtool multilib multilib-minimal
+
+MY_P=pkg-config-${PV}
+
+if [[ ${PV} == *9999* ]]; then
+ # 1.12 is only needed for tests due to some am__check_pre / LOG_DRIVER
+ # weirdness with "/bin/bash /bin/sh" in arguments chain with >=1.13
+ WANT_AUTOMAKE=1.12
+ EGIT_REPO_URI="git://anongit.freedesktop.org/pkg-config"
+ EGIT_CHECKOUT_DIR=${WORKDIR}/${MY_P}
+ inherit autotools git-r3
+else
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+ SRC_URI="http://pkgconfig.freedesktop.org/releases/${MY_P}.tar.gz"
+fi
+
+DESCRIPTION="Package config system that manages compile/link flags"
+HOMEPAGE="http://pkgconfig.freedesktop.org/wiki/"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="elibc_FreeBSD elibc_glibc hardened internal-glib"
+
+RDEPEND="!internal-glib? ( >=dev-libs/glib-2.34.3[${MULTILIB_USEDEP}] )
+ !dev-util/pkgconf[pkg-config]
+ !dev-util/pkg-config-lite
+ !dev-util/pkgconfig-openbsd[pkg-config]"
+DEPEND="${RDEPEND}"
+
+S=${WORKDIR}/${MY_P}
+
+DOCS=( AUTHORS NEWS README )
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-strip_system_library_dirs_reliably.patch
+
+ sed -i -e "s|^prefix=/usr\$|prefix=${EPREFIX}/usr|" check/simple.pc || die #434320
+
+ # Large file support, fixed in upstream git; bug #550508
+ epatch "${FILESDIR}"/${P}-lfs.patch
+ # lfs patch touches config.h.in; need this hack to prevent autoreconf and automake
+ touch aclocal.m4 config.h.in Makefile.in
+
+ epatch_user
+
+ if [[ ${PV} == *9999* ]]; then
+ eautoreconf
+ else
+ elibtoolize # Required for FreeMiNT wrt #333429
+ fi
+}
+
+multilib_src_configure() {
+ local myconf
+
+ if use internal-glib; then
+ myconf+=' --with-internal-glib'
+ # non-glibc platforms use GNU libiconv, but configure needs to
+ # know about that not to get confused when it finds something
+ # outside the prefix too
+ if use prefix && use !elibc_glibc ; then
+ myconf+=" --with-libiconv=gnu"
+ # add the libdir for libtool, otherwise it'll make love with system
+ # installed libiconv
+ append-ldflags "-L${EPREFIX}/usr/$(get_libdir)"
+ fi
+ else
+ if ! has_version dev-util/pkgconfig; then
+ export GLIB_CFLAGS="-I${EPREFIX}/usr/include/glib-2.0 -I${EPREFIX}/usr/$(get_libdir)/glib-2.0/include"
+ export GLIB_LIBS="-lglib-2.0"
+ fi
+ fi
+
+ use ppc64 && use hardened && replace-flags -O[2-3] -O1
+
+ # Force using all the requirements when linking, so that needed -pthread
+ # lines are inherited between libraries
+ use elibc_FreeBSD && myconf+=' --enable-indirect-deps'
+
+ [[ ${PV} == *9999* ]] && myconf+=' --enable-maintainer-mode'
+
+ ECONF_SOURCE=${S} \
+ econf \
+ --docdir="${EPREFIX}"/usr/share/doc/${PF}/html \
+ --with-system-include-path="${EPREFIX}"/usr/include \
+ --with-system-library-path="${EPREFIX}"/usr/$(get_libdir) \
+ ${myconf}
+}
+
+multilib_src_install() {
+ emake DESTDIR="${D}" install
+
+ if use prefix; then
+ # Add an explicit reference to $EPREFIX to PKG_CONFIG_PATH to
+ # simplify cross-prefix builds
+ echo "PKG_CONFIG_PATH=${EPREFIX}/usr/$(get_libdir)/pkgconfig:${EPREFIX}/usr/share/pkgconfig" >> "${T}"/99${PN}
+ doenvd "${T}"/99${PN}
+ fi
+}
diff --git a/dev-util/pkgconfig/pkgconfig-9999.ebuild b/dev-util/pkgconfig/pkgconfig-9999.ebuild
new file mode 100644
index 000000000000..04c55012806c
--- /dev/null
+++ b/dev-util/pkgconfig/pkgconfig-9999.ebuild
@@ -0,0 +1,99 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+# Do not inherit autotools in non-live ebuild - causes circular dependency, bug #550856
+inherit eutils flag-o-matic libtool multilib multilib-minimal
+
+MY_P=pkg-config-${PV}
+
+if [[ ${PV} == *9999* ]]; then
+ # 1.12 is only needed for tests due to some am__check_pre / LOG_DRIVER
+ # weirdness with "/bin/bash /bin/sh" in arguments chain with >=1.13
+ WANT_AUTOMAKE=1.12
+ EGIT_REPO_URI="git://anongit.freedesktop.org/pkg-config"
+ EGIT_CHECKOUT_DIR=${WORKDIR}/${MY_P}
+ inherit autotools git-r3
+else
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+ SRC_URI="http://pkgconfig.freedesktop.org/releases/${MY_P}.tar.gz"
+fi
+
+DESCRIPTION="Package config system that manages compile/link flags"
+HOMEPAGE="http://pkgconfig.freedesktop.org/wiki/"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="elibc_FreeBSD elibc_glibc hardened internal-glib"
+
+RDEPEND="!internal-glib? ( >=dev-libs/glib-2.34.3[${MULTILIB_USEDEP}] )
+ !dev-util/pkgconf[pkg-config]
+ !dev-util/pkg-config-lite
+ !dev-util/pkgconfig-openbsd[pkg-config]"
+DEPEND="${RDEPEND}"
+
+S=${WORKDIR}/${MY_P}
+
+DOCS=( AUTHORS NEWS README )
+
+src_prepare() {
+ sed -i -e "s|^prefix=/usr\$|prefix=${EPREFIX}/usr|" check/simple.pc || die #434320
+
+ epatch_user
+
+ if [[ ${PV} == *9999* ]]; then
+ eautoreconf
+ else
+ elibtoolize # Required for FreeMiNT wrt #333429
+ fi
+}
+
+multilib_src_configure() {
+ local myconf
+
+ if use internal-glib; then
+ myconf+=' --with-internal-glib'
+ # non-glibc platforms use GNU libiconv, but configure needs to
+ # know about that not to get confused when it finds something
+ # outside the prefix too
+ if use prefix && use !elibc_glibc ; then
+ myconf+=" --with-libiconv=gnu"
+ # add the libdir for libtool, otherwise it'll make love with system
+ # installed libiconv
+ append-ldflags "-L${EPREFIX}/usr/$(get_libdir)"
+ fi
+ else
+ if ! has_version dev-util/pkgconfig; then
+ export GLIB_CFLAGS="-I${EPREFIX}/usr/include/glib-2.0 -I${EPREFIX}/usr/$(get_libdir)/glib-2.0/include"
+ export GLIB_LIBS="-lglib-2.0"
+ fi
+ fi
+
+ use ppc64 && use hardened && replace-flags -O[2-3] -O1
+
+ # Force using all the requirements when linking, so that needed -pthread
+ # lines are inherited between libraries
+ use elibc_FreeBSD && myconf+=' --enable-indirect-deps'
+
+ [[ ${PV} == *9999* ]] && myconf+=' --enable-maintainer-mode'
+
+ ECONF_SOURCE=${S} \
+ econf \
+ --docdir="${EPREFIX}"/usr/share/doc/${PF}/html \
+ --with-system-include-path="${EPREFIX}"/usr/include \
+ --with-system-library-path="${EPREFIX}"/usr/$(get_libdir) \
+ ${myconf}
+}
+
+multilib_src_install() {
+ emake DESTDIR="${D}" install
+
+ if use prefix; then
+ # Add an explicit reference to $EPREFIX to PKG_CONFIG_PATH to
+ # simplify cross-prefix builds
+ echo "PKG_CONFIG_PATH=${EPREFIX}/usr/$(get_libdir)/pkgconfig:${EPREFIX}/usr/share/pkgconfig" >> "${T}"/99${PN}
+ doenvd "${T}"/99${PN}
+ fi
+}