X-Git-Url: https://git.pld-linux.org/?p=packages%2Fcairo.git;a=blobdiff_plain;f=cairo.spec;h=2d96cf22fc16be23a16027341ae52a4eaf64c966;hp=9066da650fba883f6a0c32ffbb03a6c7262585cf;hb=HEAD;hpb=cd8b0a497f7da4f9f7d8713c7e1dc02b589495d2 diff --git a/cairo.spec b/cairo.spec index 9066da6..774da89 100644 --- a/cairo.spec +++ b/cairo.spec @@ -1,45 +1,62 @@ # # Conditional build: %bcond_without apidocs # disable gtk-doc -%bcond_with glitz # build with glitz backend +%bcond_without pdf # PDF surface backend +%bcond_without svg # SVG surface backend %bcond_without xcb # XCB backend %bcond_with tests # perform tests (can fail due to out of memory) -%bcond_without lcd # use own LCD filtering instead of freetype's -# +%bcond_without static_libs # static libraries + Summary: Cairo - multi-platform 2D graphics library Summary(pl.UTF-8): Cairo - wieloplatformowa biblioteka graficzna 2D Name: cairo -Version: 1.4.14 +Version: 1.18.0 Release: 2 License: LGPL v2.1 or MPL v1.1 Group: Libraries -Source0: http://cairographics.org/releases/%{name}-%{version}.tar.gz -# Source0-md5: e8c442ff821c0719a69508fecba9038f -Patch0: %{name}-link.patch -# updated from http://david.freetype.org/lcd/cairo-1.2.4-lcd-filter-1.patch -# NOTE: this patch wasn't applied upstream, is unmaintained by its author for -# about a year and becomes more and more ugly => it's subject to drop soon --q -Patch1: %{name}-1.2.4-lcd-filter-1.patch -URL: http://cairographics.org/ -BuildRequires: autoconf >= 2.54 -BuildRequires: automake >= 1:1.7 -BuildRequires: fontconfig-devel -%{!?with_lcd:BuildRequires: freetype-devel >= 1:2.1.10} -%{?with_lcd:BuildRequires: freetype-devel >= 1:2.3.0} -%{?with_glitz:BuildRequires: glitz-devel >= 0.5.1} -%{?with_apidocs:BuildRequires: gtk-doc >= 1.3} -BuildRequires: libpng-devel -BuildRequires: libtool -BuildRequires: pkgconfig -%if %{with xcb} -BuildRequires: libxcb-devel >= 0.9.92 -BuildRequires: xcb-util-devel >= 0.2 +Source0: https://www.cairographics.org/releases/%{name}-%{version}.tar.xz +# Source0-md5: 3f0685fbadc530606f965b9645bb51d9 +URL: https://www.cairographics.org/ +BuildRequires: binutils-devel +BuildRequires: fontconfig-devel >= 2.2.95 +%if %{with tests} +# ttx +BuildRequires: fonttools +%endif +# pkgconfig(freetype2) >= 25.0.19 +BuildRequires: freetype-devel >= 1:2.13.0 +BuildRequires: glib2-devel >= 1:2.14 +%{?with_apidocs:BuildRequires: gtk-doc >= 1.15} +BuildRequires: libpng-devel >= 2:1.4.0 +%if %{with svg} && %{with tests} +BuildRequires: librsvg-devel >= 2.35.0 +%endif +%if %{with tests} +BuildRequires: libspectre-devel >= 0.2.0 +%endif +%{?with_xcb:BuildRequires: libxcb-devel >= 1.6} +BuildRequires: lzo-devel >= 2 +BuildRequires: meson >= 0.59.0 +BuildRequires: ninja >= 1.5 +BuildRequires: pixman-devel >= 0.36.0 +BuildRequires: pkgconfig >= 1:0.18 +%if %{with pdf} && %{with tests} +BuildRequires: poppler-glib-devel >= 0.17.4 %endif +BuildRequires: rpm >= 4.4.9-56 +BuildRequires: rpm-build >= 4.6 +BuildRequires: rpmbuild(macros) >= 1.736 +BuildRequires: sed >= 4.0 +BuildRequires: tar >= 1:1.22 +BuildRequires: xorg-lib-libX11-devel%{?with_xcb: >= 1.1} +BuildRequires: xorg-lib-libXext-devel BuildRequires: xorg-lib-libXrender-devel >= 0.6 +BuildRequires: xz BuildRequires: zlib-devel -%{!?with_lcd:Requires: freetype >= 1:2.1.10} -%{?with_lcd:Requires: freetype >= 1:2.3.0} -%{?with_glitz:Requires: glitz >= 0.5.1} +Requires: fontconfig-libs >= 2.2.95 +Requires: freetype >= 1:2.13.0 +%{?with_xcb:Requires: libxcb >= 1.6} +Requires: pixman >= 0.36.0 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %description @@ -75,13 +92,16 @@ Summary: Development files for Cairo library Summary(pl.UTF-8): Pliki programistyczne biblioteki Cairo Group: Development/Libraries Requires: %{name} = %{version}-%{release} -Requires: fontconfig-devel -Requires: freetype-devel >= 1:2.1.10 -%{?with_glitz:Requires: glitz-devel >= 0.5.1} -Requires: libpng-devel -%{?with_xcb:Requires: libxcb-devel >= 0.9.92} -%{?with_xcb:Requires: xcb-util-devel >= 0.2} +Requires: fontconfig-devel >= 2.2.95 +Requires: freetype-devel >= 1:2.13.0 +Requires: libpng-devel >= 2:1.4.0 +%{?with_xcb:Requires: libxcb-devel >= 1.6} +Requires: lzo-devel >= 2 +Requires: pixman-devel >= 0.36.0 +Requires: xorg-lib-libX11-devel%{?with_xcb: >= 1.1} +Requires: xorg-lib-libXext-devel Requires: xorg-lib-libXrender-devel >= 0.6 +Requires: zlib-devel %description devel Development files for Cairo library. @@ -101,11 +121,64 @@ Static Cairo library. %description static -l pl.UTF-8 Statyczna biblioteka Cairo. +%package gobject +Summary: GObject functions library for Cairo graphics library +Summary(pl.UTF-8): Biblioteka funkcji GObject dla biblioteki graficznej Cairo +Group: Libraries +Requires: %{name} = %{version}-%{release} +Requires: glib2 >= 1:2.14 + +%description gobject +GObject functions library for Cairo graphics library. + +%description gobject -l pl.UTF-8 +Biblioteka funkcji GObject dla biblioteki graficznej Cairo. + +%package gobject-devel +Summary: Header files for Cairo GObject library +Summary(pl.UTF-8): Pliki nagłówkowe biblioteki Cairo GObject +Group: Development/Libraries +Requires: %{name}-devel = %{version}-%{release} +Requires: %{name}-gobject = %{version}-%{release} +Requires: glib2-devel >= 1:2.14 + +%description gobject-devel +Header files for Cairo GObject library. + +%description gobject-devel -l pl.UTF-8 +Pliki nagłówkowe biblioteki Cairo GObject. + +%package gobject-static +Summary: Static Cairo GObject library +Summary(pl.UTF-8): Statyczna biblioteka Cairo GObject +Group: Development/Libraries +Requires: %{name}-gobject-devel = %{version}-%{release} + +%description gobject-static +Static Cairo GObject library. + +%description gobject-static -l pl.UTF-8 +Statyczna biblioteka Cairo GObject. + +%package trace +Summary: Cairo calls tracing utilities +Summary(pl.UTF-8): Narzędzia do śledzenia wywołań Cairo +Group: Development/Tools +Requires: %{name} = %{version}-%{release} +Requires: binutils-libs >= 2.21.53 + +%description trace +Cairo calls tracing utilities. + +%description trace -l pl.UTF-8 +Narzędzia do śledzenia wywołań Cairo. + %package apidocs Summary: Cairo API documentation Summary(pl.UTF-8): Dokumentacja API Cairo Group: Documentation Requires: gtk-doc-common +BuildArch: noarch %description apidocs Cairo API documentation. @@ -115,33 +188,32 @@ Dokumentacja API Cairo. %prep %setup -q -%patch0 -p1 -%{?with_lcd:%patch1 -p1} %build -%{?with_apidocs:%{__gtkdocize}} -%{__libtoolize} -%{__aclocal} -%{__autoheader} -%{__autoconf} -%{__automake} -%configure \ - %{?with_apidocs:--enable-gtk-doc} \ - %{?with_xcb:--enable-xcb} \ - %{?with_glitz:--enable-glitz} \ - --enable-ps \ - --enable-pdf \ - --with-html-dir=%{_gtkdocdir} -%{__make} -%{?with_tests:%{__make} check} +%meson build \ + %{!?with_static_libs:--default-library=shared} \ + -Dfontconfig=enabled \ + -Dfreetype=enabled \ + -Dgtk_doc=%{__true_false apidocs} \ + -Dpng=enabled \ + -Dspectre=%{__enabled_disabled tests} \ + -Dtee=enabled \ + -Dtests=disabled \ + -Dxcb=%{__enabled_disabled xcb} \ + -Dxlib=enabled \ + -Dzlib=enabled + +%ninja_build -C build + +%{?with_tests:%ninja_test -C build} %install rm -rf $RPM_BUILD_ROOT -%{__make} install \ - DESTDIR=$RPM_BUILD_ROOT +%ninja_install -C build -%{!?with_apidocs:rm -rf $RPM_BUILD_ROOT%{_gtkdocdir}/cairo} +# LD_PRELOADable library +%{?with_static_libs:%{__rm} $RPM_BUILD_ROOT%{_libdir}/cairo/libcairo-{fdr,trace}.a} %clean rm -rf $RPM_BUILD_ROOT @@ -149,31 +221,69 @@ rm -rf $RPM_BUILD_ROOT %post -p /sbin/ldconfig %postun -p /sbin/ldconfig +%post gobject -p /sbin/ldconfig +%postun gobject -p /sbin/ldconfig + %files %defattr(644,root,root,755) # COPYING contains only notes, not LGPL/MPL texts -%doc AUTHORS COPYING ChangeLog NEWS README TODO +%doc AUTHORS BUGS COPYING NEWS README.md %attr(755,root,root) %{_libdir}/libcairo.so.*.*.* %attr(755,root,root) %ghost %{_libdir}/libcairo.so.2 +%attr(755,root,root) %{_libdir}/libcairo-script-interpreter.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/libcairo-script-interpreter.so.2 %files devel %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/libcairo.so -%{_libdir}/libcairo.la +%attr(755,root,root) %{_libdir}/libcairo-script-interpreter.so %{_includedir}/cairo +%exclude %{_includedir}/cairo/cairo-gobject.h %{_pkgconfigdir}/cairo.pc +%{_pkgconfigdir}/cairo-fc.pc %{_pkgconfigdir}/cairo-ft.pc -%{_pkgconfigdir}/cairo-pdf.pc +%{?with_pdf:%{_pkgconfigdir}/cairo-pdf.pc} %{_pkgconfigdir}/cairo-png.pc %{_pkgconfigdir}/cairo-ps.pc -%{_pkgconfigdir}/cairo-svg.pc +%{_pkgconfigdir}/cairo-script.pc +%{_pkgconfigdir}/cairo-script-interpreter.pc +%{?with_svg:%{_pkgconfigdir}/cairo-svg.pc} +%{_pkgconfigdir}/cairo-tee.pc %{?with_xcb:%{_pkgconfigdir}/cairo-xcb.pc} +%{?with_xcb:%{_pkgconfigdir}/cairo-xcb-shm.pc} %{_pkgconfigdir}/cairo-xlib.pc %{_pkgconfigdir}/cairo-xlib-xrender.pc +%if %{with static_libs} %files static %defattr(644,root,root,755) %{_libdir}/libcairo.a +%{_libdir}/libcairo-script-interpreter.a +%endif + +%files gobject +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/libcairo-gobject.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/libcairo-gobject.so.2 + +%files gobject-devel +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/libcairo-gobject.so +%{_includedir}/cairo/cairo-gobject.h +%{_pkgconfigdir}/cairo-gobject.pc + +%if %{with static_libs} +%files gobject-static +%defattr(644,root,root,755) +%{_libdir}/libcairo-gobject.a +%endif + +%files trace +%defattr(644,root,root,755) +%attr(755,root,root) %{_bindir}/cairo-trace +%dir %{_libdir}/cairo +%attr(755,root,root) %{_libdir}/cairo/libcairo-fdr.so +%attr(755,root,root) %{_libdir}/cairo/libcairo-trace.so* %if %{with apidocs} %files apidocs