commit:     de097e37dfa73706c033420fc8bdd147d2975788
Author:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
AuthorDate: Mon May  7 07:03:03 2018 +0000
Commit:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Mon May  7 07:03:03 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=de097e37

games-engines/scummvm: Added improved freetype_pkgconfig patch

which should be ready for upstream inclusion.

Bug: https://bugs.gentoo.org/655032
Package-Manager: Portage-2.3.36, Repoman-2.3.9

 .../files/scummvm-2.0.0-freetype_pkgconfig.patch   | 117 +++++++++++++++------
 games-engines/scummvm/scummvm-2.0.0.ebuild         |   1 +
 2 files changed, 84 insertions(+), 34 deletions(-)

diff --git a/games-engines/scummvm/files/scummvm-2.0.0-freetype_pkgconfig.patch 
b/games-engines/scummvm/files/scummvm-2.0.0-freetype_pkgconfig.patch
index 669cffc945c..ca5c5e89271 100644
--- a/games-engines/scummvm/files/scummvm-2.0.0-freetype_pkgconfig.patch
+++ b/games-engines/scummvm/files/scummvm-2.0.0-freetype_pkgconfig.patch
@@ -1,50 +1,99 @@
-From 86c7fd67e5ab2e721de8493d162d7605b1b08823 Mon Sep 17 00:00:00 2001
+From 48a3f5bcba1837517e3d9d029ebe5e8fbd3f0966 Mon Sep 17 00:00:00 2001
 From: Lars Wendler <polynomia...@gentoo.org>
-Date: Sun, 6 May 2018 10:22:48 +0200
-Subject: [PATCH] Use pkg-config to find freetype if freetype-config is not
- available
+Date: Sun, 6 May 2018 20:55:29 +0200
+Subject: [PATCH] Prefer pkg-config over freetype-config if possible
 
+As of freetype-2.9.1 the freetype-config script no longer gets installed
+by default.
 ---
- configure | 17 +++++++++++------
- 1 file changed, 11 insertions(+), 6 deletions(-)
+ configure | 56 ++++++++++++++++++++++++++++++++++++-------------------
+ 1 file changed, 37 insertions(+), 19 deletions(-)
 
 diff --git a/configure b/configure
-index 8e2a387acc..e3c15a9a2a 100755
+index 8e2a387acc..210951e343 100755
 --- a/configure
 +++ b/configure
-@@ -4674,7 +4674,13 @@ if test "$_freetype2" != "no"; then
-       find_freetypeconfig
- 
-       if test -z "$_freetypeconfig"; then
+@@ -204,6 +204,7 @@ _sparklepath=
+ _sdlconfig=sdl2-config
+ _libcurlconfig=curl-config
+ _freetypeconfig=freetype-config
++_freetype_found="false"
+ _sdlpath="$PATH"
+ _freetypepath="$PATH"
+ _libcurlpath="$PATH"
+@@ -4668,28 +4669,45 @@ echo "$_libunity"
+ #
+ # Check for FreeType2 to be present
+ #
+-if test "$_freetype2" != "no"; then
+-
+-      # Look for the freetype-config script
+-      find_freetypeconfig
+-
+-      if test -z "$_freetypeconfig"; then
 -              _freetype2=no
-+              if pkg-config --exists freetype2; then
-+                      FREETYPE2_LIBS=`pkg-config --libs freetype2`
-+                      FREETYPE2_CFLAGS=`pkg-config --cflags freetype2`
-+                      _freetype2=yes
-+              else
-+                      _freetype2=no
-+              fi
++find_freetype() {
++        # Wrapper function which tries to find freetype
++        # either by callimg freetype-config or by using
++        # pkg-config.
++        # As of freetype-2.9.1 the freetype-config file
++        # no longer gets installed by default.
++
++      if pkg-config --exists freetype2; then
++              FREETYPE2_LIBS=`pkg-config --libs freetype2`
++              FREETYPE2_CFLAGS=`pkg-config --cflags freetype2`
++              FREETYPE2_STATIC_LIBS=`pkg-config --static --libs freetype2`
++              _freetype_found="true"
        else
-               # Since 2.3.12, freetype-config prepends $SYSROOT to everything.
-               # This means we can't pass it a --prefix that includes $SYSROOT.
-@@ -4714,13 +4720,12 @@ EOF
+-              # Since 2.3.12, freetype-config prepends $SYSROOT to everything.
+-              # This means we can't pass it a --prefix that includes $SYSROOT.
+-              freetypeprefix="$_freetypepath"
+-              if test -n "$SYSROOT" -a "$SYSROOT" != "/"; then
+-                      teststring=VeryImplausibleSysrootX1Y2Z3
+-                      if ( env SYSROOT=/$teststring "$_freetypeconfig" 
--cflags | grep $teststring 2> /dev/null > /dev/null ); then
+-                              echo "Adapting FreeType prefix to SYSROOT" >> 
"$TMPLOG"
+-                              freetypeprefix="${freetypeprefix##$SYSROOT}"
++              # Look for the freetype-config script
++              find_freetypeconfig
++              if test -n "$_freetypeconfig"; then
++                      # Since 2.3.12, freetype-config prepends $SYSROOT to 
everything.
++                      # This means we can't pass it a --prefix that includes 
$SYSROOT.
++                      freetypeprefix="$_freetypepath"
++                      if test -n "$SYSROOT" -a "$SYSROOT" != "/"; then
++                              teststring=VeryImplausibleSysrootX1Y2Z3
++                              if ( env SYSROOT=/$teststring 
"$_freetypeconfig" --cflags | grep $teststring 2> /dev/null > /dev/null ); then
++                                      echo "Adapting FreeType prefix to 
SYSROOT" >> "$TMPLOG"
++                                      
freetypeprefix="${freetypeprefix##$SYSROOT}"
++                              fi
                        fi
-                       cc_check_clean
++                      FREETYPE2_LIBS=`$_freetypeconfig 
--prefix="$freetypeprefix" --libs`
++                      FREETYPE2_CFLAGS=`$_freetypeconfig 
--prefix="$freetypeprefix" --cflags`
++                      FREETYPE2_STATIC_LIBS=`$_freetypeconfig 
--prefix="$freetypeprefix" --static --libs 2>/dev/null`
++                      _freetype_found="true"
                fi
--
--              if test "$_freetype2" = "yes"; then
--                      append_var LIBS "$FREETYPE2_LIBS"
--                      append_var INCLUDES "$FREETYPE2_CFLAGS"
--              fi
-       fi
- 
-+      if test "$_freetype2" = "yes"; then
-+              append_var LIBS "$FREETYPE2_LIBS"
-+              append_var INCLUDES "$FREETYPE2_CFLAGS"
 +      fi
- fi
++}
+ 
+-              FREETYPE2_LIBS=`$_freetypeconfig --prefix="$freetypeprefix" 
--libs`
+-              FREETYPE2_CFLAGS=`$_freetypeconfig --prefix="$freetypeprefix" 
--cflags`
+-
++if test "$_freetype2" != "no"; then
++      find_freetype
++      if test $_freetype_found != true; then
++              _freetype2=no
++      else
+               if test "$_freetype2" = "auto"; then
+                       _freetype2=no
  
- echocheck "FreeType2"
+@@ -4709,7 +4727,7 @@ EOF
+                       # required flags for static linking. We abuse this to 
detect
+                       # FreeType2 builds which are static themselves.
+                       if test "$_freetype2" != "yes"; then
+-                              FREETYPE2_LIBS=`$_freetypeconfig 
--prefix="$_freetypepath" --static --libs 2>/dev/null`
++                              FREETYPE2_LIBS="$FREETYPE2_STATIC_LIBS"
+                               cc_check_no_clean $FREETYPE2_CFLAGS 
$FREETYPE2_LIBS && _freetype2=yes
+                       fi
+                       cc_check_clean
 -- 
 2.17.0
 

diff --git a/games-engines/scummvm/scummvm-2.0.0.ebuild 
b/games-engines/scummvm/scummvm-2.0.0.ebuild
index 0df104f23aa..b4df47b76af 100644
--- a/games-engines/scummvm/scummvm-2.0.0.ebuild
+++ b/games-engines/scummvm/scummvm-2.0.0.ebuild
@@ -30,6 +30,7 @@ RDEPEND=">=media-libs/libsdl2-2.0.0[sound,joystick,video]
        fluidsynth? ( media-sound/fluidsynth )"
 DEPEND="${RDEPEND}
        app-arch/xz-utils
+       truetype? ( virtual/pkgconfig )
        x86? ( dev-lang/nasm )"
 
 S="${WORKDIR}/${P/_/}"

Reply via email to