media-libs/libdvdnav: check pkg-config before xxx-config scripts

http://lists.mplayerhq.hu/pipermail/dvdnav-discuss/2012-March/001672.html

it's easier to manage pkg-config when cross-compiling, and libdvdread installs
.pc files, so check those first

BUG=chrome-os-partner:2004
TEST=emerge-link libdvdnav # pass

Change-Id: I5bf4864c5a90dad35debe1e5bf8cf6941448bc96
Reviewed-on: https://gerrit.chromium.org/gerrit/22252
Reviewed-by: Hung-Te Lin <hungte@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
This commit is contained in:
Mike Frysinger 2012-05-09 13:49:45 -04:00 committed by Gerrit
parent 8314d4ce64
commit e9cd5de0ea
3 changed files with 58 additions and 4 deletions

View File

@ -0,0 +1,54 @@
http://lists.mplayerhq.hu/pipermail/dvdnav-discuss/2012-March/001672.html
use pkg-config for libdvdread by default rather than the ugly xxx-config scripts
https://bugs.gentoo.org/410189
hassle vapier@gentoo.org if this causes issues
--- configure.ac (revision 1243)
+++ configure.ac (working copy)
@@ -89,6 +89,7 @@ AC_PROG_CC
AC_PROG_MAKE_SET
AC_PROG_INSTALL
AC_PROG_LN_S
+PKG_PROG_PKG_CONFIG
dnl --------------------------------------------------------------
dnl Libtool
@@ -185,15 +186,26 @@ AC_ARG_WITH([dvdread-config],
[AS_HELP_STRING([--with-dvdread-config=PROG],
[dvdread-config program to use @<:@default=from PATH@:>@])],
[DVDREAD_CONFIG="$withval"],
- [dnl User didn't specify program, search PATH
- AC_PATH_PROG([DVDREAD_CONFIG], [dvdread-config], [no])
- test "x$DVDREAD_CONFIG" = xno && \
- AC_MSG_ERROR([dvdread-config required to link with libdvdread])
- ])
-DVDREAD_CFLAGS=`$DVDREAD_CONFIG --cflags` || \
- AC_MSG_ERROR([Could not get libdvdread CFLAGS from $DVDREAD_CONFIG])
-DVDREAD_LIBS=`$DVDREAD_CONFIG --libs` || \
- AC_MSG_ERROR([Could not get libdvdread LIBS from $DVDREAD_CONFIG])
+ [DVDREAD_CONFIG=""])
+
+dnl by default, search pkg-config, and then fall back to dvdread-config
+DVDREAD_PKG_CONFIG="no"
+if test "x$DVDREAD_CONFIG" = "x"; then
+ PKG_CHECK_MODULES([DVDREAD], [dvdread],
+ [DVDREAD_PKG_CONFIG="yes"],
+ [dnl User didn't specify program, search PATH
+ AC_PATH_PROG([DVDREAD_CONFIG], [dvdread-config], [no])
+ test "x$DVDREAD_CONFIG" = xno && \
+ AC_MSG_ERROR([dvdread-config required to link with libdvdread])
+ ])
+fi
+if test "x$DVDREAD_PKG_CONFIG" != "xyes"; then
+ DVDREAD_CFLAGS=`$DVDREAD_CONFIG --cflags` || \
+ AC_MSG_ERROR([Could not get libdvdread CFLAGS from $DVDREAD_CONFIG])
+ DVDREAD_LIBS=`$DVDREAD_CONFIG --libs` || \
+ AC_MSG_ERROR([Could not get libdvdread LIBS from $DVDREAD_CONFIG])
+fi
+
AC_SUBST([DVDREAD_CFLAGS])
AC_SUBST([DVDREAD_LIBS])

View File

@ -1,9 +1,9 @@
# Copyright 1999-2012 Gentoo Foundation # Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2 # Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/media-libs/libdvdnav/libdvdnav-4.2.0.ebuild,v 1.6 2012/02/12 19:39:12 armin76 Exp $ # $Header: /var/cvsroot/gentoo-x86/media-libs/libdvdnav/libdvdnav-4.2.0.ebuild,v 1.7 2012/04/12 23:40:17 vapier Exp $
EAPI=4 EAPI=4
inherit autotools libtool inherit autotools
DESCRIPTION="Library for DVD navigation tools" DESCRIPTION="Library for DVD navigation tools"
HOMEPAGE="http://dvdnav.mplayerhq.hu/" HOMEPAGE="http://dvdnav.mplayerhq.hu/"
@ -21,7 +21,7 @@ DOCS=( AUTHORS ChangeLog DEVELOPMENT-POLICY.txt doc/dvd_structures NEWS README T
src_prepare() { src_prepare() {
sed -i -e '/^CFLAGS/s:-O3::' configure.ac || die sed -i -e '/^CFLAGS/s:-O3::' configure.ac || die
elibtoolize epatch "${FILESDIR}"/${PN}-4.2.0-pkgconfig.patch
eautoreconf eautoreconf
} }

View File

@ -9,4 +9,4 @@ RDEPEND=>=media-libs/libdvdread-4.2.0
SLOT=0 SLOT=0
SRC_URI=http://dvdnav.mplayerhq.hu/releases/libdvdnav-4.2.0.tar.bz2 SRC_URI=http://dvdnav.mplayerhq.hu/releases/libdvdnav-4.2.0.tar.bz2
_eclasses_=autotools addbdf6cce5024ac93ad2084ad5e1d2d eutils 33ef77a15337022e05342d2c772a7a5a libtool 0fd90d183673bf1107465ec45849d1ea multilib 5f4ad6cf85e365e8f0c6050ddd21659e portability 0be430f759a631e692678ed796e09f5c toolchain-funcs 6526ac6fc9aedf391efb91fcd75ace68 user 9e552f935106ff0bc92af16da64b4b29 _eclasses_=autotools addbdf6cce5024ac93ad2084ad5e1d2d eutils 33ef77a15337022e05342d2c772a7a5a libtool 0fd90d183673bf1107465ec45849d1ea multilib 5f4ad6cf85e365e8f0c6050ddd21659e portability 0be430f759a631e692678ed796e09f5c toolchain-funcs 6526ac6fc9aedf391efb91fcd75ace68 user 9e552f935106ff0bc92af16da64b4b29
_md5_=a3bd0703282bda1125d1cb1040cffd77 _md5_=51423d4e3652bbf849fffca1f110223b