LogoopenSUSE Build Service > Projects
Sign Up | Log In

View File cairo.spec of Package cairo (Project GNOME:Factory)

#
# spec file for package cairo
#
# Copyright (c) 2014 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/
#


%define build_xcb_backend 1
%define build_gl_backend 1

Name:           cairo
Version:        1.12.16
Release:        0
Summary:        Vector Graphics Library with Cross-Device Output Support
License:        LGPL-2.1+ or MPL-1.1
Group:          System/Libraries
Url:            http://cairographics.org/
Source:         http://cairographics.org/releases/%{name}-%{version}.tar.xz
Source99:       baselibs.conf
# PATCH-FIX-UPSTREAM cairo-modules-no-version.patch fdo#29319 dimstar@opensuse.org -- Build modules with -module -avoid-version.
Patch0:         cairo-modules-no-version.patch
# PATCH-FIX-OPENSUSE cairo-disable-lto.patch idoenmez@suse.de -- Disable -flto on s390{x}
Patch1:         cairo-disable-lto.patch
# PATCH-FIX-UPSTREAM cairo-render-thin-lines.patch fdo#77298 jw@suse.com -- Fix rendering of thin lines
Patch2:         cairo-render-thin-lines.patch
# These libraries are needed only for tests.
# Do not enable tests in build systems, it causes build loop!
#BuildRequires:  librsvg-devel poppler-devel
%if %build_gl_backend
BuildRequires:  Mesa-devel
%endif
BuildRequires:  gtk-doc
# Needed by patch0
BuildRequires:  libtool
BuildRequires:  pkg-config
BuildRequires:  pkgconfig(fontconfig)
BuildRequires:  pkgconfig(freetype2)
BuildRequires:  pkgconfig(gobject-2.0)
BuildRequires:  pkgconfig(libpng)
BuildRequires:  pkgconfig(pixman-1) >= 0.16.0
BuildRequires:  pkgconfig(x11)
%if %build_xcb_backend
BuildRequires:  pkgconfig(xcb)
BuildRequires:  pkgconfig(xcb-shm)
%endif
BuildRequires:  pkgconfig(xext)
BuildRequires:  pkgconfig(xrender)
BuildRoot:      %{_tmppath}/%{name}-%{version}-build

%description
Cairo is a vector graphics library with cross-device output support.
Currently supported output targets include the X Window System,
in-memory image buffers, and PostScript. Cairo is designed to produce
identical output on all output media while taking advantage of display
hardware acceleration when available.

%package -n libcairo2
Summary:        Vector Graphics Library with Cross-Device Output Support
License:        LGPL-2.1+ or MPL-1.1
Group:          System/Libraries
Provides:       cairo = %{version}
Obsoletes:      cairo < %{version}
# bug437293
%ifarch ppc64
Obsoletes:      cairo-64bit
%endif
#

%description -n libcairo2
Cairo is a vector graphics library with cross-device output support.
Currently supported output targets include the X Window System,
in-memory image buffers, and PostScript. Cairo is designed to produce
identical output on all output media while taking advantage of display
hardware acceleration when available.

%package -n libcairo-gobject2
Summary:        Vector Graphics Library with Cross-Device Output Support
License:        LGPL-2.1+ or MPL-1.1
Group:          System/Libraries

%description -n libcairo-gobject2
Cairo is a vector graphics library with cross-device output support.
Currently supported output targets include the X Window System,
in-memory image buffers, and PostScript. Cairo is designed to produce
identical output on all output media while taking advantage of display
hardware acceleration when available.

This library contains GType declarations for Cairo types. It is also
meant to support gobject-introspection binding creation.

%package -n libcairo-script-interpreter2
Summary:        Vector Graphics Library with Cross-Device Output Support
License:        LGPL-2.1+ or MPL-1.1
Group:          System/Libraries

%description -n libcairo-script-interpreter2
Cairo is a vector graphics library with cross-device output support.
Currently supported output targets include the X Window System,
in-memory image buffers, and PostScript. Cairo is designed to produce
identical output on all output media while taking advantage of display
hardware acceleration when available.

%package tools
Summary:        Vector Graphics Library with Cross-Device Output Support -- Utilities
License:        GPL-3.0+
Group:          Development/Libraries/X11
# We need an explicit requires since nothing links to the cairo library
Requires:       libcairo2 = %{version}
# Named changed during  development of 11.4
Provides:       %{name}-utils = %{version}
Obsoletes:      %{name}-utils < %{version}

%description tools
Cairo is a vector graphics library with cross-device output support.
Currently supported output targets include the X Window System,
in-memory image buffers, and PostScript. Cairo is designed to produce
identical output on all output media while taking advantage of display
hardware acceleration when available.

This package contains various cairo utilities.

%package devel
Summary:        Development environment for cairo
License:        LGPL-2.1+ or MPL-1.1
Group:          Development/Libraries/X11
Requires:       libcairo-gobject2 = %{version}
Requires:       libcairo-script-interpreter2 = %{version}
Requires:       libcairo2 = %{version}
Provides:       cairo-doc = %{version}
Obsoletes:      cairo-doc < %{version}
# bug437293
%ifarch ppc64
Obsoletes:      cairo-devel-64bit
%endif
#

%description devel
This package contains all files necessary to build binaries using
cairo.

%prep
%setup -q
%patch0 -p1
%ifarch s390 s390x
%patch1 -p1
%endif
# fix_for_fdo77298.patch
%patch2 -p1

%build
# Needed by patch0 and patch1
NOCONFIGURE=1 ./autogen.sh
%configure \
    --with-pic \
    --enable-fc \
    --enable-ft \
%if %build_gl_backend
    --enable-gl \
%endif
    --enable-ps \
    --enable-pdf \
    --enable-script \
    --enable-svg \
    --enable-tee \
%if %build_xcb_backend
    --enable-xcb \
%endif
    --enable-xlib \
    --disable-gtk-doc \
    --disable-static
make %{?_smp_mflags} V=1

%install
%makeinstall
%if 0%{?suse_version} > 1110
find %{buildroot} -type f -name "*.la" -delete -print
%endif

%post -n libcairo2 -p /sbin/ldconfig

%postun -n libcairo2 -p /sbin/ldconfig

%post -n libcairo-gobject2 -p /sbin/ldconfig

%postun -n libcairo-gobject2 -p /sbin/ldconfig

%post -n libcairo-script-interpreter2 -p /sbin/ldconfig

%postun -n libcairo-script-interpreter2 -p /sbin/ldconfig

%files -n libcairo2
%defattr(-, root, root)
%doc AUTHORS COPYING COPYING-LGPL-2.1 COPYING-MPL-1.1 ChangeLog NEWS README
%{_libdir}/libcairo.so.*

%files -n libcairo-gobject2
%defattr(-, root, root)
%{_libdir}/libcairo-gobject.so.2*

%files -n libcairo-script-interpreter2
%defattr(-, root, root)
%doc util/cairo-script/COPYING
%{_libdir}/libcairo-script-interpreter.so.*

%files tools
%defattr(-, root, root)
%doc util/cairo-trace/COPYING util/cairo-trace/COPYING-GPL-3
%{_bindir}/cairo-sphinx
%{_bindir}/cairo-trace
%dir %{_libdir}/cairo
%{_libdir}/cairo/cairo-fdr.so
%{_libdir}/cairo/cairo-sphinx.so
%{_libdir}/cairo/libcairo-trace.so

%files devel
%defattr(-, root, root)
%doc PORTING_GUIDE
%doc %{_datadir}/gtk-doc/html/cairo
%{_includedir}/cairo/
%{_libdir}/*.so
%{_libdir}/pkgconfig/*.pc
%if 0%{?suse_version} <= 1110
%{_libdir}/*.la
%endif

%changelog