File ft2demos.spec of Package freetype2
#
# spec file for package ft2demos
#
# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
# norootforbuild
Name: ft2demos
BuildRequires: xorg-x11-devel
License: GPLv2+
Group: Productivity/Publishing/Other
AutoReqProv: on
%if %suse_version > 1000
Supplements: fonts-config
%endif
Version: 2.3.9
Release: 2.<RELEASE5>
%define freetype_version %{version}
Url: http://www.freetype.org
Summary: Freetype2 Utilities and Demo Programs
# CVS repository:
# cvs -d :pserver:anonymous@cvs.savannah.nongnu.org:/sources/freetype login
# cvs -d :pserver:anonymous@cvs.savannah.nongnu.org:/sources/freetype co freetype2
# cvs -d :pserver:anonymous@cvs.savannah.nongnu.org:/sources/freetype co ft2demos
Source0: http://savannah.nongnu.org/download/freetype/freetype-%{version}.tar.bz2
# Uncomment to save space:
#NoSource: 0
Source1: http://savannah.nongnu.org/download/freetype/ft2demos-%{version}.tar.bz2
# pregenerated to avoid build-dependence on python:
Source2: freetype-doc-reference.tar.bz2
Patch3: freetype2-bitmap-foundry.patch
Patch4: ft2-stream-compat.diff
Patch5: revert-fix-bytecode.patch
Patch8: bugzilla-159166-reduce-embolden-distance.patch
Patch9: fix-build.patch
Patch308961: bugzilla-308961-cmex-workaround.patch
Patch11: bnc485889-overflow1.patch
Patch12: bnc485889-overflow2.patch
Patch13: bnc485889-overflow3.patch
Patch14: bnc485889-overflow4.patch
Patch50: ft2demos-build-testname.patch
Patch100: freetype2-bc.patch
Patch101: ft2demos-bc.patch
Patch200: freetype2-subpixel.patch
Patch1000: bnc628213_1797.diff
Source1000: bnc628213_test.otf
Patch1001: bnc629447_CVE-2010-2805.diff
Patch1002: bnc629447_CVE-2010-2806.diff
Patch1003: bnc629447_CVE-2010-2807.diff
Patch1004: bnc629447_CVE-2010-2808.diff
Source1004: sigsegv31.ttf
#
Patch1005: bnc619562_CVE-2010-2497.diff
Patch1006: bnc619562_CVE-2010-2498.diff
Patch1007: bnc619562_CVE-2010-2499.diff
Patch1008: bnc619562_CVE-2010-2500.diff
Patch1009: bnc619562_CVE-2010-2519.diff
Patch1010: bnc619562_CVE-2010-2520.diff
Patch1011: bnc619562_CVE-2010-2527.diff
Patch1012: bnc619562_CVE-2010-2541.diff
#
Patch1013: bnc633938_CVE-2010-3053.diff
Source1013: bnc633938_badbdf.0
#
Patch1014: bnc633943_CVE-2010-3054.diff
#
Patch1015: bnc641580_CVE-2010-3311.diff
Source1015: bug-641580_CVE-2010-3311.cff
#
Patch1016: bnc647375_CVE-2010-3814.diff
Source1016: bug-647375_tt2.ttf
Patch1017: bnc647375_CVE-2010-3855.diff
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
Freetype2 utilities and demo programs.
Authors:
--------
David Turner <david.turner@freetype.org>
Robert Wilhelm <robert.wilhelm@freetype.org>
Werner Lemberg <werner.lemberg@freetype.org>
%prep
# The byte code interpreter is compiled in by default
# because of the following option.
# For most fonts it is disabled again by default in the
# fontconfig setup in /etc/fonts. But if it is already
# enabled at compilation time, it can be easily enabled
# at runtime. See also the variable BYTECODE_BW_MAX_PIXEL
# in /etc/sysconfig/fonts-config.
#
%define enable_bytecode_interpreter 1
%define enable_subpixel_rendering 0%{?opensuse_bs}
%setup -n freetype-%{freetype_version} -b 1
%patch3 -p 1 -b .bitmap-foundry
%patch4 -p 1 -b .ft2-stream-compat
#%patch5 -p 1
#%patch8 -p 1
%patch9 -p 1
%patch308961 -p 1
%patch11 -p 1
%patch12 -p 1
%patch13 -p 1
%patch14 -p 1
pushd ../ft2demos-%{version}
%patch50 -p 1
popd
%if %{enable_bytecode_interpreter}
%patch100 -p 1 -b .bytecode
%endif
# pushd ../ft2demos-%{version}
# %patch101 -p 1
# popd
%if %{enable_subpixel_rendering}
%patch200 -p 1 -b .subpixel
%endif
# bnc628213_1797.diff
%patch1000 -p1
# bnc629447_CVE-2010-2805..8.diff
%patch1001 -p1
%patch1002 -p1
%patch1003 -p1
%patch1004 -p1
# bnc619562_CVE-2010-2497..2541.diff
%patch1005 -p1
%patch1006 -p1
%patch1007 -p1
%patch1008 -p1
%patch1009 -p1
%patch1010 -p1
pushd ../ft2demos-%{version}
find . -name \*.orig | xargs rm
%patch1011 -p1
%patch1012 -p1
popd
# bnc633938_CVE-2010-3053.diff
%patch1013 -p1
# bnc633943_CVE-2010-3054.patch
%patch1014 -p1
# bnc641580_CVE-2010-3311.diff
%patch1015 -p1
# bnc647375_CVE-2010-3814.diff
%patch1016 -p1
# bnc647375_CVE-2010-3855.diff
%patch1017 -p1
pushd docs
tar xf $RPM_SOURCE_DIR/freetype-doc-reference.tar.bz2
popd
find . -name CVS -type d | xargs rm -rf
find . -name ".cvsignore" | xargs rm -f
cp /usr/share/automake*/config.{guess,sub} builds/unix
%build
%if %suse_version > 1110
sh ./autogen.sh
%endif
export CFLAGS="$RPM_OPT_FLAGS -g -fno-strict-aliasing "
ln -s /usr/bin/libtool ./builds/unix/libtool
make setup CFG="--prefix=/usr --libdir=%{_libdir} --with-zlib"
make prefix=/usr libdir=%{_libdir} %{?jobs:-j %jobs}
# build the documentation in the references subdirectory:
# (this needs python and we cannot have python in the BuildRequires of
# a basic package like freetype2, therefore we cannot do it here but we have
# to generate this documentation manually)
# make refdoc
pushd ..
ln -s freetype-%{freetype_version} freetype2
cd ft2demos-%{version}
make prefix=/usr libdir=%{_libdir} \
X11_PATH="/usr/X11R6" \
LDFLAGS="-L/usr/X11R6/%{_lib} -lm "
popd
%install
#make prefix=$RPM_BUILD_ROOT/usr libdir=$RPM_BUILD_ROOT/%{_libdir} install
mkdir -p $RPM_BUILD_ROOT%{_bindir}
pushd ../ft2demos-%{version}/bin/.libs
install -m 755 ft* testname $RPM_BUILD_ROOT%{_bindir}
popd
%check
$RPM_BUILD_ROOT/usr/bin/ftbench -c 1 %{S:1000}
$RPM_BUILD_ROOT/usr/bin/ftbench -c 1 %{S:1004} >/tmp/x$$ 2>&1; grep -q "couldn't load font resource" /tmp/x$$ || false
$RPM_BUILD_ROOT/usr/bin/ftbench -c 1 %{S:1013} >/tmp/x$$ 2>&1; grep -q "couldn't load font resource" /tmp/x$$ || false
$RPM_BUILD_ROOT/usr/bin/ftbench -c 1 %{S:1015} >/tmp/x$$ 2>&1; grep -q "couldn't load font resource" /tmp/x$$ || false
$RPM_BUILD_ROOT/usr/bin/ftbench -c 1 %{S:1016}
%clean
%files
%defattr(-,root,root)
%{_bindir}/ft*
%{_bindir}/testname
%changelog