Skip to content

Commit

Permalink
games-strategy/freeciv: Use pkg-config to find freetype
Browse files Browse the repository at this point in the history
Bug: https://bugs.gentoo.org/655884
Package-Manager: Portage-2.3.36, Repoman-2.3.9
  • Loading branch information
Lars Wendler committed May 16, 2018
1 parent f0f2368 commit 855784a
Show file tree
Hide file tree
Showing 2 changed files with 236 additions and 1 deletion.
229 changes: 229 additions & 0 deletions games-strategy/freeciv/files/freeciv-2.5.11-freetype_pkgconfig.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,229 @@
From fe3eaf658c256a1ee1aac645c004625e9f345421 Mon Sep 17 00:00:00 2001
From: Lars Wendler <[email protected]>
Date: Wed, 16 May 2018 20:41:22 +0200
Subject: [PATCH] Use pkg-config to find freetype

As of freetype-2.9.1 the freetype-config script no longer gets installed
by default.
---
m4/freetype2.m4 | 194 -----------------------------------------------
m4/sdl-client.m4 | 2 +-
2 files changed, 1 insertion(+), 195 deletions(-)
delete mode 100644 m4/freetype2.m4

diff --git a/m4/freetype2.m4 b/m4/freetype2.m4
deleted file mode 100644
index 3d0ecb3554..0000000000
--- a/m4/freetype2.m4
+++ /dev/null
@@ -1,194 +0,0 @@
-# Configure paths for FreeType2
-# Marcelo Magallon 2001-10-26, based on gtk.m4 by Owen Taylor
-#
-# Copyright 2001, 2003, 2007, 2009 by
-# David Turner, Robert Wilhelm, and Werner Lemberg.
-#
-# This file is part of the FreeType project, and may only be used, modified,
-# and distributed under the terms of the FreeType project license,
-# LICENSE.TXT. By continuing to use, modify, or distribute this file you
-# indicate that you have read the license and understand and accept it
-# fully.
-#
-# As a special exception to the FreeType project license, this file may be
-# distributed as part of a program that contains a configuration script
-# generated by Autoconf, under the same distribution terms as the rest of
-# that program.
-#
-# serial 3
-
-# AC_CHECK_FT2([MINIMUM-VERSION [, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
-# Test for FreeType 2, and define FT2_CFLAGS and FT2_LIBS.
-# MINIMUM-VERSION is what libtool reports; the default is `7.0.1' (this is
-# FreeType 2.0.4).
-#
-AC_DEFUN([AC_CHECK_FT2],
- [# Get the cflags and libraries from the freetype-config script
- #
- AC_ARG_WITH([ft-prefix],
- dnl don't quote AS_HELP_STRING!
- AS_HELP_STRING([--with-ft-prefix=PREFIX],
- [Prefix where FreeType is installed (optional)]),
- [ft_config_prefix="$withval"],
- [ft_config_prefix=""])
-
- AC_ARG_WITH([ft-exec-prefix],
- dnl don't quote AS_HELP_STRING!
- AS_HELP_STRING([--with-ft-exec-prefix=PREFIX],
- [Exec prefix where FreeType is installed (optional)]),
- [ft_config_exec_prefix="$withval"],
- [ft_config_exec_prefix=""])
-
- AC_ARG_ENABLE([freetypetest],
- dnl don't quote AS_HELP_STRING!
- AS_HELP_STRING([--disable-freetypetest],
- [Do not try to compile and run a test FreeType program]),
- [],
- [enable_fttest=yes])
-
- if test x$ft_config_exec_prefix != x ; then
- ft_config_args="$ft_config_args --exec-prefix=$ft_config_exec_prefix"
- if test x${FT2_CONFIG+set} != xset ; then
- FT2_CONFIG=$ft_config_exec_prefix/bin/freetype-config
- fi
- fi
-
- if test x$ft_config_prefix != x ; then
- ft_config_args="$ft_config_args --prefix=$ft_config_prefix"
- if test x${FT2_CONFIG+set} != xset ; then
- FT2_CONFIG=$ft_config_prefix/bin/freetype-config
- fi
- fi
-
- if test "x$FT2_CONFIG" = x ; then
- AC_PATH_PROG([FT2_CONFIG], [freetype-config], [no])
- fi
-
- min_ft_version=m4_if([$1], [], [7.0.1], [$1])
- AC_MSG_CHECKING([for FreeType -- version >= $min_ft_version])
- no_ft=""
- if test "$FT2_CONFIG" = "no" ; then
- no_ft=yes
- else
- FT2_CFLAGS=`$FT2_CONFIG $ft_config_args --cflags`
- FT2_LIBS=`$FT2_CONFIG $ft_config_args --libs`
- ft_config_major_version=`$FT2_CONFIG $ft_config_args --version | \
- sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
- ft_config_minor_version=`$FT2_CONFIG $ft_config_args --version | \
- sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
- ft_config_micro_version=`$FT2_CONFIG $ft_config_args --version | \
- sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
- ft_min_major_version=`echo $min_ft_version | \
- sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
- ft_min_minor_version=`echo $min_ft_version | \
- sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
- ft_min_micro_version=`echo $min_ft_version | \
- sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
- if test x$enable_fttest = xyes ; then
- ft_config_is_lt=""
- if test $ft_config_major_version -lt $ft_min_major_version ; then
- ft_config_is_lt=yes
- else
- if test $ft_config_major_version -eq $ft_min_major_version ; then
- if test $ft_config_minor_version -lt $ft_min_minor_version ; then
- ft_config_is_lt=yes
- else
- if test $ft_config_minor_version -eq $ft_min_minor_version ; then
- if test $ft_config_micro_version -lt $ft_min_micro_version ; then
- ft_config_is_lt=yes
- fi
- fi
- fi
- fi
- fi
- if test x$ft_config_is_lt = xyes ; then
- no_ft=yes
- else
- ac_save_CFLAGS="$CFLAGS"
- ac_save_LIBS="$LIBS"
- CFLAGS="$CFLAGS $FT2_CFLAGS"
- LIBS="$FT2_LIBS $LIBS"
-
- #
- # Sanity checks for the results of freetype-config to some extent.
- #
- AC_RUN_IFELSE([
- AC_LANG_SOURCE([[
-
-#include <ft2build.h>
-#include FT_FREETYPE_H
-#include <stdio.h>
-#include <stdlib.h>
-
-int
-main()
-{
- FT_Library library;
- FT_Error error;
-
- error = FT_Init_FreeType(&library);
-
- if (error)
- return 1;
- else
- {
- FT_Done_FreeType(library);
- return 0;
- }
-}
-
- ]])
- ],
- [],
- [no_ft=yes],
- [echo $ECHO_N "cross compiling; assuming OK... $ECHO_C"])
-
- CFLAGS="$ac_save_CFLAGS"
- LIBS="$ac_save_LIBS"
- fi # test $ft_config_version -lt $ft_min_version
- fi # test x$enable_fttest = xyes
- fi # test "$FT2_CONFIG" = "no"
-
- if test x$no_ft = x ; then
- AC_MSG_RESULT([yes])
- m4_if([$2], [], [:], [$2])
- else
- AC_MSG_RESULT([no])
- if test "$FT2_CONFIG" = "no" ; then
- AC_MSG_WARN([
-
- The freetype-config script installed by FreeType 2 could not be found.
- If FreeType 2 was installed in PREFIX, make sure PREFIX/bin is in
- your path, or set the FT2_CONFIG environment variable to the
- full path to freetype-config.
- ])
- else
- if test x$ft_config_is_lt = xyes ; then
- AC_MSG_WARN([
-
- Your installed version of the FreeType 2 library is too old.
- If you have different versions of FreeType 2, make sure that
- correct values for --with-ft-prefix or --with-ft-exec-prefix
- are used, or set the FT2_CONFIG environment variable to the
- full path to freetype-config.
- ])
- else
- AC_MSG_WARN([
-
- The FreeType test program failed to run. If your system uses
- shared libraries and they are installed outside the normal
- system library path, make sure the variable LD_LIBRARY_PATH
- (or whatever is appropriate for your system) is correctly set.
- ])
- fi
- fi
-
- FT2_CFLAGS=""
- FT2_LIBS=""
- m4_if([$3], [], [:], [$3])
- fi
-
- AC_SUBST([FT2_CFLAGS])
- AC_SUBST([FT2_LIBS])])
-
-# end of freetype2.m4
diff --git a/m4/sdl-client.m4 b/m4/sdl-client.m4
index 095cd0b287..015d948d95 100644
--- a/m4/sdl-client.m4
+++ b/m4/sdl-client.m4
@@ -30,7 +30,7 @@ AC_DEFUN([FC_SDL_CLIENT],
missing_project="SDL_gfx"
fi
if test "x$sdl_h_found" = "xyes" ; then
- AC_CHECK_FT2([2.1.3], [freetype_found="yes"], [freetype_found="no"])
+ PKG_CHECK_MODULES(FT2, freetype2 >= 7.0.1, [freetype_found="yes"], [freetype_found="no"])
if test "$freetype_found" = yes; then
gui_sdl_cflags="$gui_sdl_cflags $FT2_CFLAGS"
gui_sdl_libs="$gui_sdl_libs $FT2_LIBS"
--
2.17.0

8 changes: 7 additions & 1 deletion games-strategy/freeciv/freeciv-2.5.11.ebuild
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# Distributed under the terms of the GNU General Public License v2

EAPI=6
inherit eutils flag-o-matic gnome2-utils
inherit autotools eutils flag-o-matic gnome2-utils

DESCRIPTION="multiplayer strategy game (Civilization Clone)"
HOMEPAGE="http://www.freeciv.org/"
Expand Down Expand Up @@ -57,6 +57,10 @@ DEPEND="${RDEPEND}
nls? ( sys-devel/gettext )
)"

PATCHES=(
"${FILESDIR}/${PN}-2.5.11-freetype_pkgconfig.patch"
)

pkg_setup() {
if use !dedicated && use !server ; then
ewarn "Disabling server USE flag will make it impossible"
Expand All @@ -68,6 +72,8 @@ pkg_setup() {
src_prepare() {
default

eautoreconf

# install the .desktop in /usr/share/applications
# install the icons in /usr/share/pixmaps
sed -i \
Expand Down

0 comments on commit 855784a

Please sign in to comment.