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
openSUSE Build Service is sponsored by