%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