[freetype] Don't return flags of privately used libraries
mkasik
mkasik at fedoraproject.org
Tue Mar 25 12:52:03 UTC 2014
commit 934384ee442158189adac0e6f5e190bbcf49cf60
Author: Marek Kasik <mkasik at redhat.com>
Date: Tue Mar 25 13:40:54 2014 +0100
Don't return flags of privately used libraries
- Don't return flags of privately used libraries when
calling "freetype-config --libs"
- Resolves: #1079302
freetype-2.5.3-freetype-config-libs.patch | 96 +++++++++++++++++++++++++++++
freetype.spec | 15 +++-
2 files changed, 107 insertions(+), 4 deletions(-)
---
diff --git a/freetype-2.5.3-freetype-config-libs.patch b/freetype-2.5.3-freetype-config-libs.patch
new file mode 100644
index 0000000..7f56f4b
--- /dev/null
+++ b/freetype-2.5.3-freetype-config-libs.patch
@@ -0,0 +1,96 @@
+--- a/builds/unix/configure.raw
++++ b/builds/unix/configure.raw
+@@ -937,21 +937,6 @@ LIBS_PRIVATE=`echo "$LIBS_PRIVATE" \
+ -e 's/ *$//' \
+ -e 's/ */ /g'`
+
+-LIBS_CONFIG="-lfreetype \
+- $ZLIB_LIBS \
+- $BZIP2_LIBS \
+- $LIBPNG_LIBS \
+- $HARFBUZZ_LIBS \
+- $ft2_extra_libs"
+-# remove -L/usr/lib and -L/usr/lib64 since `freetype-config' adds them later
+-# on if necessary; also beautify
+-LIBS_CONFIG=`echo "$LIBS_CONFIG" \
+- | sed -e 's|-L */usr/lib64/* | |g' \
+- -e 's|-L */usr/lib/* | |g' \
+- -e 's/^ *//' \
+- -e 's/ *$//' \
+- -e 's/ */ /g'`
+-
+ LIBSSTATIC_CONFIG="-lfreetype \
+ $zlib_libstaticconf \
+ $bzip2_libstaticconf \
+@@ -971,7 +956,6 @@ LIBSSTATIC_CONFIG=`echo "$LIBSSTATIC_CONFIG" \
+ AC_SUBST([ftmac_c])
+ AC_SUBST([REQUIRES_PRIVATE])
+ AC_SUBST([LIBS_PRIVATE])
+-AC_SUBST([LIBS_CONFIG])
+ AC_SUBST([LIBSSTATIC_CONFIG])
+
+ AC_SUBST([hardcode_libdir_flag_spec])
+--- a/builds/unix/freetype-config.in
++++ b/builds/unix/freetype-config.in
+@@ -142,7 +142,7 @@ if test "$echo_cflags" = "yes" ; then
+ fi
+
+ if test "$echo_libs" = "yes" ; then
+- libs="%LIBS_CONFIG%"
++ libs="-lfreetype"
+ staticlibs="%LIBSSTATIC_CONFIG%"
+ if test "$show_static" = "yes" ; then
+ libs="$staticlibs"
+--- a/builds/unix/unix-def.in
++++ b/builds/unix/unix-def.in
+@@ -64,7 +64,6 @@ version_info := @version_info@
+ #
+ REQUIRES_PRIVATE := @REQUIRES_PRIVATE@
+ LIBS_PRIVATE := @LIBS_PRIVATE@
+-LIBS_CONFIG := @LIBS_CONFIG@
+ LIBSSTATIC_CONFIG := @LIBSSTATIC_CONFIG@
+ build_libtool_libs := @build_libtool_libs@
+ ft_version := @ft_version@
+@@ -102,8 +101,7 @@ NO_OUTPUT := 2> /dev/null
+
+ $(OBJ_BUILD)/freetype-config: $(TOP_DIR)/builds/unix/freetype-config.in
+ rm -f $@ $@.tmp
+- sed -e 's|%LIBS_CONFIG%|$(LIBS_CONFIG)|' \
+- -e 's|%LIBSSTATIC_CONFIG%|$(LIBSSTATIC_CONFIG)|' \
++ sed -e 's|%LIBSSTATIC_CONFIG%|$(LIBSSTATIC_CONFIG)|' \
+ -e 's|%build_libtool_libs%|$(build_libtool_libs)|' \
+ -e 's|%exec_prefix%|$(exec_prefix)|' \
+ -e 's|%ft_version%|$(ft_version)|' \
+--- a/builds/unix/configure
++++ b/builds/unix/configure
+@@ -639,7 +639,6 @@ build_libtool_libs
+ wl
+ hardcode_libdir_flag_spec
+ LIBSSTATIC_CONFIG
+-LIBS_CONFIG
+ LIBS_PRIVATE
+ REQUIRES_PRIVATE
+ ftmac_c
+@@ -13715,21 +13714,6 @@ LIBS_PRIVATE=`echo "$LIBS_PRIVATE" \
+ -e 's/ *$//' \
+ -e 's/ */ /g'`
+
+-LIBS_CONFIG="-lfreetype \
+- $ZLIB_LIBS \
+- $BZIP2_LIBS \
+- $LIBPNG_LIBS \
+- $HARFBUZZ_LIBS \
+- $ft2_extra_libs"
+-# remove -L/usr/lib and -L/usr/lib64 since `freetype-config' adds them later
+-# on if necessary; also beautify
+-LIBS_CONFIG=`echo "$LIBS_CONFIG" \
+- | sed -e 's|-L */usr/lib64/* | |g' \
+- -e 's|-L */usr/lib/* | |g' \
+- -e 's/^ *//' \
+- -e 's/ *$//' \
+- -e 's/ */ /g'`
+-
+ LIBSSTATIC_CONFIG="-lfreetype \
+ $zlib_libstaticconf \
+ $bzip2_libstaticconf \
+
diff --git a/freetype.spec b/freetype.spec
index 6f1c750..05a5f1e 100644
--- a/freetype.spec
+++ b/freetype.spec
@@ -7,7 +7,7 @@
Summary: A free and portable font rendering engine
Name: freetype
Version: 2.5.3
-Release: 3%{?dist}
+Release: 4%{?dist}
License: (FTL or GPLv2+) and BSD and MIT and Public Domain and zlib with acknowledgement
Group: System Environment/Libraries
URL: http://www.freetype.org
@@ -29,6 +29,9 @@ Patch88: freetype-multilib.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=961855
Patch90: freetype-2.4.12-pkgconfig.patch
+# https://bugzilla.redhat.com/show_bug.cgi?id=1079302
+Patch91: freetype-2.5.3-freetype-config-libs.patch
+
Buildroot: %{_tmppath}/%{name}-%{version}-root-%(%{__id_u} -n)
BuildRequires: libX11-devel
@@ -92,6 +95,8 @@ popd
%patch90 -p1 -b .pkgconfig
+%patch91 -p1 -b .freetype-config-libs
+
%build
%configure --disable-static
@@ -122,9 +127,6 @@ popd
rm -rf $RPM_BUILD_ROOT
-# HACK - drop private libs from freetype-config --libs option
-sed -i -e 's| -lz -lbz2 -lpng16||' builds/unix/freetype-config
-
%makeinstall gnulocaledir=$RPM_BUILD_ROOT%{_datadir}/locale
{
@@ -215,6 +217,11 @@ rm -rf $RPM_BUILD_ROOT
%{_mandir}/man1/*
%changelog
+* Tue Mar 25 2014 Marek Kasik <mkasik at redhat.com> - 2.5.3-4
+- Don't return flags of privately used libraries when
+- calling "freetype-config --libs"
+- Resolves: #1079302
+
* Fri Mar 21 2014 Dan HorĂ¡k <dan[at]danny.cz> - 2.5.3-3
- drop private libs from freetype-config so it returns the same libs as pkg-config
More information about the fonts-bugs
mailing list