diff options
Diffstat (limited to 'dev-util/pkgconfig')
-rw-r--r-- | dev-util/pkgconfig/Manifest | 1 | ||||
-rw-r--r-- | dev-util/pkgconfig/files/pkgconfig-0.28-lfs.patch | 281 | ||||
-rw-r--r-- | dev-util/pkgconfig/files/pkgconfig-0.28-strip_system_library_dirs_reliably.patch | 30 | ||||
-rw-r--r-- | dev-util/pkgconfig/metadata.xml | 11 | ||||
-rw-r--r-- | dev-util/pkgconfig/pkgconfig-0.28-r2.ebuild | 96 | ||||
-rw-r--r-- | dev-util/pkgconfig/pkgconfig-0.28-r3.ebuild | 106 | ||||
-rw-r--r-- | dev-util/pkgconfig/pkgconfig-9999.ebuild | 99 |
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 +} |