dev-lang/php: Fix building with freetype 2.9.1 by using pkgconfig
authorBrian Evans <grknight@gentoo.org>
Fri, 4 May 2018 21:03:32 +0000 (17:03 -0400)
committerBrian Evans <grknight@gentoo.org>
Fri, 4 May 2018 21:03:32 +0000 (17:03 -0400)
Closes: https://bugs.gentoo.org/654794
Package-Manager: Portage-2.3.36, Repoman-2.3.9

dev-lang/php/files/php-freetype-2.9.1.patch [new file with mode: 0644]
dev-lang/php/php-5.6.35-r1.ebuild
dev-lang/php/php-5.6.36.ebuild
dev-lang/php/php-7.0.29.ebuild
dev-lang/php/php-7.0.30.ebuild
dev-lang/php/php-7.1.16.ebuild
dev-lang/php/php-7.1.17.ebuild
dev-lang/php/php-7.2.5.ebuild

diff --git a/dev-lang/php/files/php-freetype-2.9.1.patch b/dev-lang/php/files/php-freetype-2.9.1.patch
new file mode 100644 (file)
index 0000000..3ddf8d1
--- /dev/null
@@ -0,0 +1,231 @@
+--- a/ext/gd/config.m4 2018-04-24 11:09:54.000000000 -0400
++++ b/ext/gd/config.m4 2018-05-04 15:18:49.867283889 -0400
+@@ -186,21 +186,35 @@
+ AC_DEFUN([PHP_GD_FREETYPE2],[
+   if test "$PHP_FREETYPE_DIR" != "no"; then
+-    for i in $PHP_FREETYPE_DIR /usr/local /usr; do
+-      if test -f "$i/bin/freetype-config"; then
+-        FREETYPE2_DIR=$i
+-        FREETYPE2_CONFIG="$i/bin/freetype-config"
+-        break
++    AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
++    AC_MSG_CHECKING(for freetype2)
++
++    if test -x "$PKG_CONFIG" && $PKG_CONFIG --exists freetype2 ; then
++
++      FREETYPE2_CFLAGS=`$PKG_CONFIG --cflags freetype2`
++      FREETYPE2_LIBS=`$PKG_CONFIG --libs freetype2`
++      FREETYPE2_VERSION=`$PKG_CONFIG --modversion freetype2`
++
++      AC_MSG_RESULT(from pkgconfig: version $FREETYPE2_VERSION found)
++    else
++
++      for i in $PHP_FREETYPE_DIR /usr/local /usr; do
++        if test -f "$i/bin/freetype-config"; then
++          FREETYPE2_DIR=$i
++          FREETYPE2_CONFIG="$i/bin/freetype-config"
++          break
++        fi
++      done
++
++      if test -z "$FREETYPE2_DIR"; then
++        AC_MSG_ERROR([freetype-config not found.])
+       fi
+-    done
+-    if test -z "$FREETYPE2_DIR"; then
+-      AC_MSG_ERROR([freetype-config not found.])
++      FREETYPE2_CFLAGS=`$FREETYPE2_CONFIG --cflags`
++      FREETYPE2_LIBS=`$FREETYPE2_CONFIG --libs`
++      AC_MSG_RESULT(found via freetype-config)
+     fi
+-    FREETYPE2_CFLAGS=`$FREETYPE2_CONFIG --cflags`
+-    FREETYPE2_LIBS=`$FREETYPE2_CONFIG --libs`
+-
+     PHP_EVAL_INCLINE($FREETYPE2_CFLAGS)
+     PHP_EVAL_LIBLINE($FREETYPE2_LIBS, GD_SHARED_LIBADD)
+     AC_DEFINE(HAVE_LIBFREETYPE,1,[ ])
+--- a/configure        2018-04-24 11:10:05.000000000 -0400
++++ b/configure        2018-05-04 15:18:45.626367913 -0400
+@@ -34348,21 +34348,78 @@
+   if test "$PHP_FREETYPE_DIR" != "no"; then
+-    for i in $PHP_FREETYPE_DIR /usr/local /usr; do
+-      if test -f "$i/bin/freetype-config"; then
+-        FREETYPE2_DIR=$i
+-        FREETYPE2_CONFIG="$i/bin/freetype-config"
+-        break
++    # Extract the first word of "pkg-config", so it can be a program name with args.
++set dummy pkg-config; ac_word=$2
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if ${ac_cv_path_PKG_CONFIG+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++  case $PKG_CONFIG in
++  [\\/]* | ?:[\\/]*)
++  ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
++  ;;
++  *)
++  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++    for ac_exec_ext in '' $ac_executable_extensions; do
++  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
++    ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
++    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++  done
++IFS=$as_save_IFS
++
++  test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no"
++  ;;
++esac
++fi
++PKG_CONFIG=$ac_cv_path_PKG_CONFIG
++if test -n "$PKG_CONFIG"; then
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5
++$as_echo "$PKG_CONFIG" >&6; }
++else
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for freetype2" >&5
++$as_echo_n "checking for freetype2... " >&6; }
++
++
++    if test -x "$PKG_CONFIG" && $PKG_CONFIG --exists freetype2 ; then
++
++      FREETYPE2_CFLAGS=`$PKG_CONFIG --cflags freetype2`
++      FREETYPE2_LIBS=`$PKG_CONFIG --libs freetype2`
++      FREETYPE2_VERSION=`$PKG_CONFIG --modversion freetype2`
++
++      { $as_echo "$as_me:${as_lineno-$LINENO}: result: from pkgconfig: version $FREETYPE2_VERSION found" >&5
++$as_echo "from pkgconfig: version $FREETYPE2_VERSION found" >&6; }
++    else
++
++      for i in $PHP_FREETYPE_DIR /usr/local /usr; do
++        if test -f "$i/bin/freetype-config"; then
++          FREETYPE2_DIR=$i
++          FREETYPE2_CONFIG="$i/bin/freetype-config"
++          break
++        fi
++      done
++
++      if test -z "$FREETYPE2_DIR"; then
++        as_fn_error $? "freetype-config not found." "$LINENO" 5
+       fi
+-    done
+-    if test -z "$FREETYPE2_DIR"; then
+-      as_fn_error $? "freetype-config not found." "$LINENO" 5
++      FREETYPE2_CFLAGS=`$FREETYPE2_CONFIG --cflags`
++      FREETYPE2_LIBS=`$FREETYPE2_CONFIG --libs`
++      { $as_echo "$as_me:${as_lineno-$LINENO}: result: found via freetype-config" >&5
++$as_echo "found via freetype-config" >&6; }
+     fi
+-    FREETYPE2_CFLAGS=`$FREETYPE2_CONFIG --cflags`
+-    FREETYPE2_LIBS=`$FREETYPE2_CONFIG --libs`
+-
+   for ac_i in $FREETYPE2_CFLAGS; do
+     case $ac_i in
+@@ -36019,21 +36076,78 @@
+   if test "$PHP_FREETYPE_DIR" != "no"; then
+-    for i in $PHP_FREETYPE_DIR /usr/local /usr; do
+-      if test -f "$i/bin/freetype-config"; then
+-        FREETYPE2_DIR=$i
+-        FREETYPE2_CONFIG="$i/bin/freetype-config"
+-        break
++    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for freetype2" >&5
++$as_echo_n "checking for freetype2... " >&6; }
++    # Extract the first word of "pkg-config", so it can be a program name with args.
++set dummy pkg-config; ac_word=$2
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if ${ac_cv_path_PKG_CONFIG+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++  case $PKG_CONFIG in
++  [\\/]* | ?:[\\/]*)
++  ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
++  ;;
++  *)
++  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++    for ac_exec_ext in '' $ac_executable_extensions; do
++  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
++    ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
++    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++  done
++IFS=$as_save_IFS
++
++  test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no"
++  ;;
++esac
++fi
++PKG_CONFIG=$ac_cv_path_PKG_CONFIG
++if test -n "$PKG_CONFIG"; then
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5
++$as_echo "$PKG_CONFIG" >&6; }
++else
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++
++    if test -x "$PKG_CONFIG" && $PKG_CONFIG --exists freetype2 ; then
++
++      FREETYPE2_CFLAGS=`$PKG_CONFIG --cflags freetype2`
++      FREETYPE2_LIBS=`$PKG_CONFIG --libs freetype2`
++      FREETYPE2_VERSION=`$PKG_CONFIG --modversion freetype2`
++
++      { $as_echo "$as_me:${as_lineno-$LINENO}: result: from pkgconfig: version $FREETYPE_VERSON found" >&5
++$as_echo "from pkgconfig: version $FREETYPE_VERSON found" >&6; }
++    else
++
++      for i in $PHP_FREETYPE_DIR /usr/local /usr; do
++        if test -f "$i/bin/freetype-config"; then
++          FREETYPE2_DIR=$i
++          FREETYPE2_CONFIG="$i/bin/freetype-config"
++          break
++        fi
++      done
++
++      if test -z "$FREETYPE2_DIR"; then
++        as_fn_error $? "freetype-config not found." "$LINENO" 5
+       fi
+-    done
+-    if test -z "$FREETYPE2_DIR"; then
+-      as_fn_error $? "freetype-config not found." "$LINENO" 5
++      FREETYPE2_CFLAGS=`$FREETYPE2_CONFIG --cflags`
++      FREETYPE2_LIBS=`$FREETYPE2_CONFIG --libs`
++      { $as_echo "$as_me:${as_lineno-$LINENO}: result: found via freetype-config" >&5
++$as_echo "found via freetype-config" >&6; }
+     fi
+-    FREETYPE2_CFLAGS=`$FREETYPE2_CONFIG --cflags`
+-    FREETYPE2_LIBS=`$FREETYPE2_CONFIG --libs`
+-
+   for ac_i in $FREETYPE2_CFLAGS; do
+     case $ac_i in
index 8f87fde7f25bcff78cf7ae30b786625026836f68..e5d5dafb0a87b7d2804dfcae294151b2d7e5cb77 100644 (file)
@@ -232,6 +232,7 @@ php_set_ini_dir() {
 
 src_prepare() {
        eapply "${FILESDIR}/php-${SLOT}-no-bison-warnings.patch"
+       eapply "${FILESDIR}/php-freetype-2.9.1.patch"
 
        # Change PHP branding
        # Get the alpha/beta/rc version
index 97094f855af9a7aa5516685d4005967d40eaf233..fbcbe63b2d165dc5ac19ad9eb21d262d5c88bf7b 100644 (file)
@@ -233,6 +233,7 @@ php_set_ini_dir() {
 src_prepare() {
        eapply "${FILESDIR}/php-${SLOT}-no-bison-warnings.patch"
        eapply "${FILESDIR}/5.6-mbstring-oniguruma-6.8.patch"
+       eapply "${FILESDIR}/php-freetype-2.9.1.patch"
 
        # Change PHP branding
        # Get the alpha/beta/rc version
index f0c6303f1cbb54333d32d13597ae5ebef29f244a..1ad39e6fafc46249014460e6bf1b8e6ac96b9ec7 100644 (file)
@@ -168,6 +168,7 @@ PATCHES=(
        # hopefully upstream will include the same version check fixes in upcoming releases
        # patch added 20180429
        "${FILESDIR}/libressl-compatibility.patch"
+       "${FILESDIR}/php-freetype-2.9.1.patch"
 )
 
 PHP_MV="$(get_major_version)"
index 8de4204d1c029f53dcaa7211cd501d73cab9f604..5a851d1f41ea52d0f72f32808af24cb63f7dc3c4 100644 (file)
@@ -168,6 +168,7 @@ PATCHES=(
        # hopefully upstream will include the same version check fixes in upcoming releases
        # patch added 20180429
        "${FILESDIR}/libressl-compatibility.patch"
+       "${FILESDIR}/php-freetype-2.9.1.patch"
 )
 
 PHP_MV="$(get_major_version)"
index 0075b8f5bd7c9a3f52733f06589928926670bde6..7dbfde0cd8be0d0203986bfeee35b5cc5ec61cf2 100644 (file)
@@ -150,6 +150,7 @@ PATCHES=(
        # hopefully upstream will include the same version check fixes in upcoming releases
        # patch added 20180429
        "${FILESDIR}/libressl-compatibility.patch"
+       "${FILESDIR}/php-freetype-2.9.1.patch"
 )
 
 PHP_MV="$(get_major_version)"
index fcd553f314841a47344593e7cc1ea98d26b57101..39336570acbd2f55ba9758c6bff49d8770069f18 100644 (file)
@@ -148,6 +148,7 @@ PATCHES=(
        # hopefully upstream will include the same version check fixes in upcoming releases
        # patch added 20180429
        "${FILESDIR}/libressl-compatibility.patch"
+       "${FILESDIR}/php-freetype-2.9.1.patch"
 )
 
 PHP_MV="$(get_major_version)"
index 558d91754f325703cc7554dccfd8bba8e9c8708c..f781eb4d80334b1b6ccf142d120e1144a4bc2226 100644 (file)
@@ -153,6 +153,7 @@ PATCHES=(
        # hopefully upstream will include the same version check fixes in upcoming releases
        # patch added 20180429
        "${FILESDIR}/libressl-compatibility.patch"
+       "${FILESDIR}/php-freetype-2.9.1.patch"
 )
 
 PHP_MV="$(get_major_version)"