Sophie

Sophie

distrib > Mageia > 7 > aarch64 > by-pkgid > 5dbb8c6320597e8d52fa65d1c7e50ad7 > files > 6

cairo-1.16.0-2.1.mga7.src.rpm

%define lib_major        2
%define libname          %mklibname cairo %{lib_major}
%define libnamedev       %mklibname cairo -d
%define libnamestaticdev %mklibname cairo -s -d

#gw check coverage fails in 1.9.4
%define enable_test 0
%define stable 0
%define build_plf 0
%define build_doc 1
%define build_gl 1

%{?_with_plf: %{expand: %%global build_plf 1}}
%if %{build_plf}
%define distsuffix plf
%endif

Summary:	Cairo - multi-platform 2D graphics library
Name:		cairo
Version:	1.16.0
%define subrel 1
Release:	%mkrel 2
License:	BSD
Group:		System/Libraries
URL:		http://cairographics.org/

%if %{stable}
Source0:	http://cairographics.org/releases/%{name}-%{version}.tar.xz
Source1:	http://cairographics.org/releases/%{name}-%{version}.tar.xz.sha1
%else
Source0:	http://cairographics.org/snapshots/%{name}-%{version}.tar.xz
Source1:	http://cairographics.org/snapshots/%{name}-%{version}.tar.xz.sha1
%endif

# Fedora patches:
#       >> None for now.
# upstream:
#       >> None for now.

# https://www.openwall.com/lists/oss-security/2018/12/07/3
# https://bugs.mageia.org/show_bug.cgi?id=23971
Patch1: https://gitlab.freedesktop.org/cairo/cairo/merge_requests/5.patch

# http://bugs.freedesktop.org/show_bug.cgi?id=11838
# http://bugs.freedesktop.org/show_bug.cgi?id=13335
# https://bugs.launchpad.net/ubuntu/+source/cairo/+bug/209256
# http://forums.fedoraforum.org/showthread.php?p=1094309#post1094309
Patch5:		cairo-respect-fontconfig.patch

# Security patches
Patch6: cairo-get_bitmap_surface-bsc1036789-CVE-2017-7475.diff

BuildRequires:	pkgconfig(freetype2)
BuildRequires:	pkgconfig(xext)
BuildRequires:	pkgconfig(x11)
BuildRequires:	pkgconfig(xrender)
BuildRequires:	pkgconfig(fontconfig)
BuildRequires:	pkgconfig(glib-2.0)
%if %{build_gl}
BuildRequires:	GL-devel
BuildRequires:	EGL-devel
%endif
BuildRequires:	pkgconfig(pixman-1)
BuildRequires:	pkgconfig(libpng)

%if %{enable_test}
# needed by tests
BuildRequires:	fonts-ttf-bitstream-vera
# only needed for pdf tests
#BuildRequires:	libpango-devel >= 1.13.0
# gw for svg tests
BuildRequires:	pkgconfig(librsvg-2.0)
# gw for ps testing
BuildRequires:	pkgconfig(libspectre)
# gw for pdf testing
BuildRequires:	pkgconfig(poppler-glib)
BuildRequires:	x11-server-xvfb
%endif

%if %build_doc
BuildRequires:	gtk-doc
%endif

%description
Cairo provides anti-aliased vector-based rendering for X. Paths
consist of line segments and cubic splines and can be rendered at any
width with various join and cap styles. All colors may be specified
with optional translucence (opacity/alpha) and combined using the
extended Porter/Duff compositing algebra as found in the X Render
Extension.

Cairo exports a stateful rendering API similar in spirit to the path
construction, text, and painting operators of PostScript, (with the
significant addition of translucence in the imaging model). When
complete, the API is intended to support the complete imaging model of
PDF 1.4.

Cairo relies on the Xc library for backend rendering. Xc provides an
abstract interface for rendering to multiple target types. As of this
writing, Xc allows Cairo to target X drawables as well as generic
image buffers. Future backends such as PostScript, PDF, and perhaps
OpenGL are currently being planned.
%if %{build_plf}

This package is in PLF because this build has LCD subpixel hinting enabled
which are covered by software patents.
%endif

%package -n %{libname}
Summary:	Cairo - multi-platform 2D graphics library
Group:		System/Libraries
Provides:	cairo = %{version}-%{release}
Obsoletes:	%{_lib}cairo-xcb2 < 1.12.0

%description -n %{libname}
Cairo provides anti-aliased vector-based rendering for X. Paths
consist of line segments and cubic splines and can be rendered at any
width with various join and cap styles. All colors may be specified
with optional translucence (opacity/alpha) and combined using the
extended Porter/Duff compositing algebra as found in the X Render
Extension.

Cairo exports a stateful rendering API similar in spirit to the path
construction, text, and painting operators of PostScript, (with the
significant addition of translucence in the imaging model). When
complete, the API is intended to support the complete imaging model of
PDF 1.4.

Cairo relies on the Xc library for backend rendering. Xc provides an
abstract interface for rendering to multiple target types. As of this
writing, Xc allows Cairo to target X drawables as well as generic
image buffers. Future backends such as PostScript, PDF, and perhaps
OpenGL are currently being planned.
%if %{build_plf}

This package is in PLF because this build has LCD subpixel hinting enabled
which are covered by software patents.
%endif

%package -n %{libnamedev}
Summary:	Development files for Cairo library
Group:		Development/C
Requires:	%{libname} = %{version}-%{release}
Provides:	%{name}-devel = %{version}-%{release}
Provides:	lib%{name}-devel = %{version}-%{release}
Obsoletes:	%{_lib}cairo-xcb-devel < 1.12.0

%description -n %{libnamedev}
Development files for Cairo library.

%package -n %{libnamestaticdev}
Summary:	Static Cairo library
Group:		Development/C
Requires:	%{libnamedev} = %{version}-%{release}
Provides:	lib%{name}-static-devel = %{version}-%{release}
Obsoletes:	%{_lib}cairo-xcb-static-devel < 1.12.0

%description -n %{libnamestaticdev}
Static Cairo library.

%prep
%setup -q

%patch1 -p1
%if %{build_plf}
%patch5 -p1
%endif
%patch6 -p1

%build
# Workaround for gcc-4.9.x and the current cairo.
flags="%{optflags} -fno-lto"
export CFLAGS="$flags" CXXFLAGS="$flags" FFLAGS="$flags"
autoreconf -vfi
%configure2_5x \
%if %{build_doc}
	--enable-gtk-doc \
%endif
	--enable-pdf \
	--enable-ps \
	--enable-xcb \
	--enable-tee \
	--disable-directfb \
	--enable-freetype \
	--enable-xlib \
%if %{build_gl}
	--enable-gl \
%else
	--disable-gl \
%endif
	--enable-gobject
%make_build

%if %{enable_test}
%check
XDISPLAY=$(i=1; while [ -f /tmp/.X$i-lock ]; do i=$(($i+1)); done; echo $i)
%{_bindir}/Xvfb -screen 0 1600x1200x24 :$XDISPLAY &
export DISPLAY=:$XDISPLAY
make check
kill $(cat /tmp/.X$XDISPLAY-lock)
%endif

%install
%make_install

#we don't want these
find %{buildroot} -name "*.la" -delete

%files -n %{libname}
%doc AUTHORS COPYING NEWS README
%{_libdir}/libcairo.so.%{lib_major}{,.*}
%{_libdir}/libcairo-gobject.so.%{lib_major}{,.*}
%{_libdir}/libcairo-script-interpreter.so.%{lib_major}{,.*}

%files -n %{libnamedev}
%doc RELEASING BIBLIOGRAPHY BUGS ChangeLog
%doc %{_datadir}/gtk-doc/html/cairo/
%{_bindir}/cairo-trace
%{_bindir}/cairo-sphinx
%{_libdir}/cairo/
%{_libdir}/lib*.so
%{_includedir}/*
%{_libdir}/pkgconfig/*.pc

%files -n %{libnamestaticdev}
%{_libdir}/lib*.a


%changelog
* Wed Sep 02 2020 ns80 <ns80> 1.16.0-2.1.mga7
+ Revision: 1620932
- add OpenSuse patch for CVE-2017-7475 (mga#26981)

* Sun Dec 09 2018 shlomif <shlomif> 1.16.0-2.mga7
+ Revision: 1339121
- add patch to fix a crash when using freetype >= 2.9 (mga#23971)

* Mon Oct 22 2018 tv <tv> 1.16.0-1.mga7
+ Revision: 1323994
- new release

* Sat Sep 22 2018 umeabot <umeabot> 1.15.14-2.mga7
+ Revision: 1295836
- Mageia 7 Mass Rebuild

* Fri Sep 21 2018 daviddavid <daviddavid> 1.15.14-1.mga7
+ Revision: 1294645
- new version 1.15.14

* Fri Aug 03 2018 guillomovitch <guillomovitch> 1.15.12-1.mga7
+ Revision: 1247121
- new version 1.15.12

* Wed Mar 14 2018 tv <tv> 1.15.10-1.mga7
+ Revision: 1209471
- new release

* Thu Jun 22 2017 luigiwalser <luigiwalser> 1.14.10-1.mga6
+ Revision: 1108151
- 1.14.10

* Thu Apr 27 2017 neoclust <neoclust> 1.14.8-2.mga6
+ Revision: 1097790
- Add P1000 - Fixes CVE-2016-9082 (mga#19666)

* Mon Dec 12 2016 luigiwalser <luigiwalser> 1.14.8-1.mga6
+ Revision: 1074404
- 1.14.8

* Sun Nov 27 2016 wally <wally> 1.14.6-4.mga6
+ Revision: 1070425
- remove unneeded requires for freetype2

* Fri Aug 19 2016 blino <blino> 1.14.6-3.mga6
+ Revision: 1046978
- disable again directfb backend, it is not accelerated anymore and not worth pulling DirectFB by default on all systems

* Tue Jan 05 2016 blino <blino> 1.14.6-2.mga6
+ Revision: 919835
- enable back DirectFB backend

* Sun Jan 03 2016 luigiwalser <luigiwalser> 1.14.6-1.mga6
+ Revision: 918705
- 1.14.6

* Sat Jan 02 2016 luigiwalser <luigiwalser> 1.14.4-2.mga6
+ Revision: 918211
- rebuild without directfb

* Thu Nov 19 2015 ovitters <ovitters> 1.14.4-1.mga6
+ Revision: 904326
- new version 1.14.4

* Fri Jun 26 2015 shlomif <shlomif> 1.14.2-1.mga6
+ Revision: 844458
- New version 14.2

* Sun Feb 08 2015 tmb <tmb> 1.14.0-1.mga5
+ Revision: 814049
- pdf-operators: fix bug with RTL text
- xlib: Bump reference count for recording surface replays
- image: Fix crash in _fill_xrgb32_lerp_opaque_spans
+ shlomif <shlomif>
- New version 1.14.0

* Wed Oct 15 2014 umeabot <umeabot> 1.12.16-9.mga5
+ Revision: 748061
- Second Mageia 5 Mass Rebuild

* Thu Sep 18 2014 pterjan <pterjan> 1.12.16-8.mga5
+ Revision: 693379
- Rebuild to fix dependencies

* Tue Sep 16 2014 umeabot <umeabot> 1.12.16-7.mga5
+ Revision: 678283
- Mageia 5 Mass Rebuild

* Wed Aug 06 2014 sander85 <sander85> 1.12.16-6.mga5
+ Revision: 660232
- Rebuild for directfb

* Sat May 17 2014 shlomif <shlomif> 1.12.16-5.mga5
+ Revision: 623210
- Workaround for building with gcc-4.9.x.
  See https://bugs.archlinux.org/task/40313?project=1&openedfrom=-1+week .
+ tmb <tmb>
- rebuild for new directfb
+ wally <wally>
- add patch from Suse to avoid version number in module file names
- tag docs as such
- drop old and unneeded Mdv era obsoletes/conflicts

* Wed Apr 30 2014 ovitters <ovitters> 1.12.16-4.mga5
+ Revision: 618970
- rebuild for new directfb

* Sat Feb 15 2014 luigiwalser <luigiwalser> 1.12.16-3.mga5
+ Revision: 592117
- rebuild for directfb

* Sat Oct 19 2013 umeabot <umeabot> 1.12.16-2.mga4
+ Revision: 533229
- Mageia 4 Mass Rebuild

* Tue Aug 27 2013 tv <tv> 1.12.16-1.mga4
+ Revision: 472291
- new release

* Sat Aug 17 2013 fwang <fwang> 1.12.14-4.mga4
+ Revision: 467235
- rebuild for new dfb

* Mon Jun 10 2013 tv <tv> 1.12.14-3.mga4
+ Revision: 441771
- add fixes from FC

* Sun Jun 02 2013 fwang <fwang> 1.12.14-2.mga4
+ Revision: 434590
- rebuild for new libpng

* Sat May 25 2013 tv <tv> 1.12.14-1.mga4
+ Revision: 427124
- new release

* Thu Jan 31 2013 tv <tv> 1.12.12-1.mga3
+ Revision: 393821
- new release

* Fri Jan 11 2013 umeabot <umeabot> 1.12.8-2.mga3
+ Revision: 347302
- Mass Rebuild - https://wiki.mageia.org/en/Feature:Mageia3MassRebuild

* Mon Nov 05 2012 fwang <fwang> 1.12.8-1.mga3
+ Revision: 314288
- new version 1.12.8

* Fri Oct 05 2012 tv <tv> 1.12.4-1.mga3
+ Revision: 302969
- new release

* Thu Sep 27 2012 tv <tv> 1.12.2-4.mga3
+ Revision: 298609
- rebuild for new pango

* Sat Jul 28 2012 fwang <fwang> 1.12.2-3.mga3
+ Revision: 275237
- rebuild for new directfb

* Tue May 29 2012 fwang <fwang> 1.12.2-2.mga3
+ Revision: 249297
- obsolete old xcb flavour of cairo

* Tue May 29 2012 tv <tv> 1.12.2-1.mga3
+ Revision: 249140
- new release
- enable gl backend

* Sat Dec 17 2011 blino <blino> 1.10.2-6.mga2
+ Revision: 183177
- enable directfb surface (directfb is already pulled by SDL, which is required by cheese/ekiga/gimp/...)

* Sat Sep 10 2011 fwang <fwang> 1.10.2-5.mga2
+ Revision: 142079
- rebuild for new libpng

* Thu Jun 30 2011 fwang <fwang> 1.10.2-4.mga2
+ Revision: 116868
- cleanup pixman pkgname req
+ ahmad <ahmad>
- Drop patch4, already applied upstream since 1.9.10
+ rtp <rtp>
- put xvfb inside %%enable_test %%if as it's only used when testing

* Sat Jan 29 2011 dmorgan <dmorgan> 1.10.2-3.mga1
+ Revision: 43448
- enable tee backend feature for ff>=4.0b10
+ blino <blino>
- remove old macros
- imported package cairo