From 3422e457c89a6bc8ac8386f73a70dc3e0d42d2b4 Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Thu, 15 Dec 2011 16:52:33 +0000 Subject: [PATCH] Use libpng's pkg-config files rather than xxx-config scripts. Package-Manager: portage-2.2.0_alpha79/cvs/Linux x86_64 --- media-libs/gd/ChangeLog | 6 +- media-libs/gd/Manifest | 17 ++- .../files/gd-2.0.35-libpng-pkg-config.patch | 113 ++++++++++++++++++ media-libs/gd/gd-2.0.35-r3.ebuild | 28 ++--- 4 files changed, 133 insertions(+), 31 deletions(-) create mode 100644 media-libs/gd/files/gd-2.0.35-libpng-pkg-config.patch diff --git a/media-libs/gd/ChangeLog b/media-libs/gd/ChangeLog index 176aaad4439d..5985f399f4c7 100644 --- a/media-libs/gd/ChangeLog +++ b/media-libs/gd/ChangeLog @@ -1,6 +1,10 @@ # ChangeLog for media-libs/gd # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/media-libs/gd/ChangeLog,v 1.77 2011/12/15 16:40:57 ssuominen Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-libs/gd/ChangeLog,v 1.78 2011/12/15 16:52:33 vapier Exp $ + + 15 Dec 2011; Mike Frysinger gd-2.0.35-r3.ebuild, + +files/gd-2.0.35-libpng-pkg-config.patch: + Use libpng's pkg-config files rather than xxx-config scripts. 15 Dec 2011; Samuli Suominen -gd-2.0.35-r1.ebuild, -gd-2.0.35-r2.ebuild: diff --git a/media-libs/gd/Manifest b/media-libs/gd/Manifest index 5994bbc847fe..6c554563af8a 100644 --- a/media-libs/gd/Manifest +++ b/media-libs/gd/Manifest @@ -1,21 +1,18 @@ -----BEGIN PGP SIGNED MESSAGE----- -Hash: SHA1 +Hash: SHA256 AUX gd-2.0.35-fontconfig.patch 606 RMD160 35cf7028df42e913999a8e8cee3fd20a849fd12b SHA1 e8191c2cc26874144a6f929c3aa002c476d896b1 SHA256 3c318c2b140092c69357bba69b8cf873459581c162e16ac79d20a29bfb30bfdf +AUX gd-2.0.35-libpng-pkg-config.patch 4240 RMD160 46c596c53cf4c1892c85dad591e3490dbb605f49 SHA1 a5d52f7138a608cf6ae14d19de2f1310480b8008 SHA256 26c4f66f6e74de830ab5c7276502e66207f3e85ebb8f98bec9498f8fe1e9f232 AUX gd-2.0.35-libpng14.patch 347 RMD160 2d845e72cfe88a0b32d61efc8377b0d5aa438709 SHA1 cba6b3a13c9d35bbe3446dcf7130250e1b3958fa SHA256 b9f5e121ae652e211c866e1982bc6c37303d43b2a3df420be7069ca5fbb04bc4 AUX gd-2.0.35-maxcolors.patch 348 RMD160 14ef5425229c5406c90beb4a8fade801cd1013bb SHA1 1da2b14b84f2f44aeac04d16cd5fd07e6272966e SHA256 c5dbbc7c1acd9e602fea8bf893333ca6258e7801761b6c899c7da62cd88cbc3b DIST gd-2.0.35.tar.bz2 1212730 RMD160 f452a2c333b2ba9b7b4c143983ec2af18a335516 SHA1 ccf34a610abff2dbf133a20c4d2a4aa94939018a SHA256 bf222490749d2a9a9ac3593b01eb55aed98461ff81202414707f61b42aa300f9 -EBUILD gd-2.0.35-r3.ebuild 2069 RMD160 07bac2a0afdbf407c2ffb6839d0ee7346cbad282 SHA1 b5b5b19a4b33a9f2bfe254b85c763c8e6f9bfef5 SHA256 9e31131bcb40c68bcd953796b3e1c58950af98d01ca8acd222188032b6ddc1aa -MISC ChangeLog 15674 RMD160 303e7901ceccfaf65614c8bd07c195560326d8d6 SHA1 8ab4f04f1ad5b432651094a1c3c0065cc658a679 SHA256 ec13b639c729ca001044c7bbdde328c0d678e3c73a86174490cd5886f2109848 +EBUILD gd-2.0.35-r3.ebuild 1801 RMD160 0327c6ca8845354cd854814ac09c72d53ab6d1f9 SHA1 e8438b4a68ae3d9989ad33a700cae12e8b2cd76f SHA256 2f91d40492d165c2417d9b005e7d880f885f9c4c61904f50a9693bc0be8a025d +MISC ChangeLog 15851 RMD160 e16f9a0ddf87c45a8d3bc3fe552734952bc3a9e6 SHA1 d3cc7c22f05660ba9d47fa01ebe2efb0977846e4 SHA256 eca401938edce40bbd1183169dd10d4330269d6c2de231084f49a7c68ba224b8 MISC metadata.xml 1199 RMD160 d34c8a08b02ececd35c66c0c3594f326639ef8a5 SHA1 e52d9e8500558488eee80333fe2e112a23a519a5 SHA256 a670f3b0950512e392f25f290fc70b953c941cecdc6919cb38048bef2d46c843 -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.18 (GNU/Linux) -iQEcBAEBAgAGBQJO6iMHAAoJEEdUh39IaPFNQcsH/iZH8g3vBAKUjT0XWJj77h/i -TI/lEee+OY7pDJt+ykno9kjNeCxnF1idrYk0lT58P5EysyLPQTkMyVuwpXaYJCNy -hCND5nSQ2UmeKpkEpG6+i6lv5LCuhumWwjFgRoQJJ/Dqbk3QsERKMHHczxDFcsHB -9Guo1ed+FUwTffsi/W6DFji1h7JP6R1YSBMNKM8Z7rswmH676c2uOofhJUcE0NRZ -n2ZFlekfOREuWSpgzVqHgLaxYdjbQGGJUjMi6fA0LpuwbfPh0mAOFeGwpDCxS+sn -R/ptxAd0/VZgO+t/xXNB701jkLVh3JMlHK/d1Rr9tXEGQPiifx/aMQCSP+/qF50= -=h7sC +iF4EAREIAAYFAk7qJdcACgkQaC/OocHi7JYWUgD/XYkUaeQcLqhc52288knz4RFe +wdcmBXV902Mf70ArBiYA/jztu67kdCZy/jXRKGRMki58dGjRGXCEMRxKFD2AgrVB +=Z8KQ -----END PGP SIGNATURE----- diff --git a/media-libs/gd/files/gd-2.0.35-libpng-pkg-config.patch b/media-libs/gd/files/gd-2.0.35-libpng-pkg-config.patch new file mode 100644 index 000000000000..4b8971f1e302 --- /dev/null +++ b/media-libs/gd/files/gd-2.0.35-libpng-pkg-config.patch @@ -0,0 +1,113 @@ +use libpng's pkg-config files rather than the ugly xxx-config scripts + +--- a/configure.ac ++++ b/configure.ac +@@ -47,6 +47,7 @@ AC_PROG_LIBTOOL + AC_PROG_LN_S + AC_PROG_MAKE_SET + #AC_PROG_RANLIB ++PKG_PROG_PKG_CONFIG + + dnl may be required for freetype and Xpm + AC_PATH_X +@@ -340,74 +341,26 @@ AC_CHECK_LIB(z,deflate, + dnl libpng is required + AC_ARG_WITH(png,dnl + [ --with-png=DIR where to find the png library],, +- withval=yes) +- +-# libpng12.so is a nightmare. We have to test separately for +-# libpng12-config and libpng-config. If we find libpng12-config, +-# we don't look for the other, which will just be a symlink to it, +-# confusing autoconf into thinking the library itself will be named -lpng, +-# which it won't be. Awful. This code will suffice unless the libpng +-# authors decide to do this AGAIN. Which I really hope they won't. TBB +- +-if test "$withval" != no; then +- AC_PATH_PROG([LIBPNG12_CONFIG], [libpng12-config]) +- AC_PATH_PROG([LIBPNG_CONFIG], [libpng-config]) +- if test -n "$LIBPNG12_CONFIG"; then +- libpng_CPPFLAGS=`libpng12-config --cflags` +- # should be --ldopts, but it's currently broken +- libpng_LDFLAGS=`libpng12-config --ldflags` +- libpng_LDFLAGS=`echo " $libpng_LDFLAGS" | sed 's/ -l[[^ ]][[^ ]]*//g'` +- elif test -n "$LIBPNG_CONFIG"; then +- libpng_CPPFLAGS=`libpng-config --cflags` +- # should be --ldopts, but it's currently broken +- libpng_LDFLAGS=`libpng-config --ldflags` +- libpng_LDFLAGS=`echo " $libpng_LDFLAGS" | sed 's/ -l[[^ ]][[^ ]]*//g'` +- elif test -d "$withval"; then +- libpng_CPPFLAGS="-I$withval/include" +- libpng_LDFLAGS="-L$withval/lib" +- fi +- +- AC_CHECK_HEADERS(png.h,, +- [AC_CHECK_HEADERS(libpng/png.h, +- [CPPFLAGS="$CPPFLAGS $libpng_CPPFLAGS/libpng"], +- [CPPFLAGS="$_cppflags"])]) +- +- _ldflags="$LDFLAGS" +- LDFLAGS="$libpng_LDFLAGS $LDFLAGS" +- +- if test -n "$LIBPNG12_CONFIG"; then +- AC_CHECK_LIB(png12,png_create_read_struct, +- [LIBS="-lpng12 $LIBS" +- FEATURES="GD_PNG $FEATURES" +- AC_DEFINE(HAVE_LIBPNG, 1, [ Define if you have the png library. ])], +- [LDFLAGS="$_ldflags" +- AC_MSG_WARN([libpng is required - see http://www.libpng.org/pub/png/])]) +- elif test -n "$LIBPNG_CONFIG"; then +- AC_CHECK_LIB(png,png_create_read_struct, +- [LIBS="-lpng $LIBS" +- FEATURES="GD_PNG $FEATURES" +- AC_DEFINE(HAVE_LIBPNG, 1, [ Define if you have the png library. ])], +- [LDFLAGS="$_ldflags" +- AC_MSG_WARN([libpng is required - see http://www.libpng.org/pub/png/])]) +- else +- AC_CHECK_LIB(png,png_create_read_struct, +- [LIBS="-lpng $LIBS" +- FEATURES="GD_PNG $FEATURES" +- AC_DEFINE(HAVE_LIBPNG, 1, [ Define if you have the png library. ])], +- [LDFLAGS="$_ldflags" +- AC_MSG_WARN([libpng is required - see http://www.libpng.org/pub/png/])]) +- fi +-else +- ac_cv_lib_png_png_create_read_struct=no ++ with_png=detect) ++ ++if test "$with_png" != no; then ++ PKG_CHECK_MODULES([LIBPNG], libpng, [ ++ FEATURES="GD_PNG $FEATURES" ++ AC_DEFINE(HAVE_LIBPNG, 1, [ Define if you have the png library. ]) ++ CPPFLAGS="$CPPFLAGS $LIBPNG_CFLAGS" ++ LDFLAGS="$LDFLAGS $LIBPNG_LIBS" ++ with_png=yes ++ ],[ ++ if test "$with_png" = yes; then ++ AC_MSG_ERROR([png support requested, but not found]) ++ fi ++ with_png=no ++ ]) ++fi ++if test "$with_png" = no; then + AC_MSG_WARN([libpng is required - see http://www.libpng.org/pub/png/]) + fi + +-#TBB: png12's png_create_read_struct is just as good +-#2.0.23: should be = not == +-if test "$ac_cv_lib_png12_png_create_read_struct" = yes; then +- ac_cv_lib_png_png_create_read_struct=yes +-fi +- + dnl FreeType configure tests snarfed from libwmf .. + AC_ARG_WITH(freetype,dnl + [ --with-freetype=DIR where to find the freetype 2.x library], +@@ -528,7 +481,7 @@ dnl report configuration + AC_MSG_RESULT([ + ** Configuration summary for $PACKAGE $VERSION: + +- Support for PNG library: $ac_cv_lib_png_png_create_read_struct ++ Support for PNG library: $with_png + Support for JPEG library: $ac_cv_lib_jpeg_jpeg_set_defaults + Support for Freetype 2.x library: $ac_cv_lib_freetype_FT_Init_FreeType + Support for Fontconfig library: $ac_cv_lib_fontconfig_FcInit diff --git a/media-libs/gd/gd-2.0.35-r3.ebuild b/media-libs/gd/gd-2.0.35-r3.ebuild index b8efe24f5a9c..bb3f9fb36eca 100644 --- a/media-libs/gd/gd-2.0.35-r3.ebuild +++ b/media-libs/gd/gd-2.0.35-r3.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2011 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/media-libs/gd/gd-2.0.35-r3.ebuild,v 1.10 2011/11/05 18:24:22 armin76 Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-libs/gd/gd-2.0.35-r3.ebuild,v 1.11 2011/12/15 16:52:33 vapier Exp $ EAPI="2" @@ -17,7 +17,7 @@ IUSE="fontconfig jpeg png static-libs truetype xpm zlib" RDEPEND="fontconfig? ( media-libs/fontconfig ) jpeg? ( virtual/jpeg ) - png? ( >=media-libs/libpng-1.5:0 ) + png? ( >=media-libs/libpng-1.2:0 ) truetype? ( >=media-libs/freetype-2.1.5 ) xpm? ( x11-libs/libXpm x11-libs/libXt ) zlib? ( sys-libs/zlib )" @@ -27,29 +27,17 @@ src_prepare() { epatch "${FILESDIR}"/${P}-libpng14.patch #305101 epatch "${FILESDIR}"/${P}-maxcolors.patch #292130 epatch "${FILESDIR}"/${P}-fontconfig.patch #363367 - - # Try libpng15 first, then fallback to plain libpng - sed -i -e 's:png12:png15:' configure.ac || die + epatch "${FILESDIR}"/${P}-libpng-pkg-config.patch # Avoid programs we never install - sed -i '/^noinst_PROGRAMS/s:=:=\n___fooooo =:' Makefile.in || die - - if ! use png ; then - sed -i -r \ - -e '/^bin_PROGRAMS/,/^noinst_PROGRAMS/s:(gdparttopng|gdtopng|gd2topng|pngtogd|pngtogd2|webpng)..EXEEXT.::g' \ - Makefile.in || die - fi - if ! use zlib ; then - sed -i -r \ - -e '/^bin_PROGRAMS/,/^noinst_PROGRAMS/s:(gd2topng|gd2copypal|gd2togif|giftogd2|gdparttopng|pngtogd2)..EXEEXT.::g' \ - Makefile.in || die - fi + local make_sed=( -e '/^noinst_PROGRAMS/s:noinst:check:' ) + use png || make_sed+=( -e '/_PROGRAMS/s:(gdparttopng|gdtopng|gd2topng|pngtogd|pngtogd2|webpng)::g' ) + use zlib || make_sed+=( -e '/_PROGRAMS/s:(gd2topng|gd2copypal|gd2togif|giftogd2|gdparttopng|pngtogd2)::g' ) + sed -i "${make_sed[@]}" Makefile.am || die - eautoconf - find . -type f -print0 | xargs -0 touch -r configure + eautoreconf } -usex() { use $1 && echo ${2:-yes} || echo ${3:-no} ; } src_configure() { export ac_cv_lib_z_deflate=$(usex zlib) econf \ -- 2.26.2