X-Git-Url: https://git.pld-linux.org/?p=packages%2Fcairo.git;a=blobdiff_plain;f=cairo.spec;h=2d96cf22fc16be23a16027341ae52a4eaf64c966;hp=d54d8577e03bc579e5033d6f2d6aeaca1dbc7061;hb=HEAD;hpb=57db645161ffaa985fdd1364f639b26fe8379987 diff --git a/cairo.spec b/cairo.spec index d54d857..774da89 100644 --- a/cairo.spec +++ b/cairo.spec @@ -1,52 +1,62 @@ # # Conditional build: %bcond_without apidocs # disable gtk-doc -%bcond_without svg # disable SVG support (to boostrap librsvg) -%if "%{pld_release}" == "ac" -%bcond_with xcb # XCB backend -%else +%bcond_without pdf # PDF surface backend +%bcond_without svg # SVG surface backend %bcond_without xcb # XCB backend -%endif %bcond_with tests # perform tests (can fail due to out of memory) -# +%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.10.2 -Release: 7 +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: f101a9e88b783337b20b2e26dfd26d5f -Patch0: %{name}-link.patch -URL: http://cairographics.org/ -BuildRequires: autoconf >= 2.59 -BuildRequires: automake >= 1:1.9.6 +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 -BuildRequires: freetype-devel >= 1:2.3.0 -BuildRequires: glib2-devel >= 1:2.0 -%{?with_apidocs:BuildRequires: gtk-doc >= 1.6} +%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 -%{?with_svg:BuildRequires: librsvg-devel >= 2.15.0} +%if %{with svg} && %{with tests} +BuildRequires: librsvg-devel >= 2.35.0 +%endif +%if %{with tests} BuildRequires: libspectre-devel >= 0.2.0 -BuildRequires: libtool >= 1.4 -BuildRequires: pixman-devel >= 0.18.4 -BuildRequires: pkgconfig >= 1:0.9 -%{?with_tests:BuildRequires: poppler-glib-devel >= 0.13.3} +%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 -%if %{with xcb} -BuildRequires: libxcb-devel >= 1.4 -%endif -%if "%{pld_release}" == "ac" -BuildRequires: xrender-devel >= 0.6 -%else +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 -%endif +BuildRequires: xz BuildRequires: zlib-devel -Requires: freetype >= 1:2.3.0 -Requires: pixman >= 0.18.4 +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 @@ -83,16 +93,15 @@ Summary(pl.UTF-8): Pliki programistyczne biblioteki Cairo Group: Development/Libraries Requires: %{name} = %{version}-%{release} Requires: fontconfig-devel >= 2.2.95 -Requires: freetype-devel >= 1:2.3.0 +Requires: freetype-devel >= 1:2.13.0 Requires: libpng-devel >= 2:1.4.0 -%{?with_xcb:Requires: libxcb-devel >= 1.4} -Requires: pixman-devel >= 0.18.4 -%if "%{pld_release}" == "ac" -Requires: xrender-devel >= 0.6 -%else +%{?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 -%endif +Requires: zlib-devel %description devel Development files for Cairo library. @@ -117,6 +126,7 @@ 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. @@ -130,7 +140,7 @@ 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.0 +Requires: glib2-devel >= 1:2.14 %description gobject-devel Header files for Cairo GObject library. @@ -151,22 +161,24 @@ Static Cairo GObject library. Statyczna biblioteka Cairo GObject. %package trace -Summary: Cairo calls tracing utility -Summary(pl.UTF-8): Narzędzie do śledzenia wywołań Cairo +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 utility. +Cairo calls tracing utilities. %description trace -l pl.UTF-8 -Narzędzie do śledzenia wywołań Cairo. +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. @@ -176,42 +188,32 @@ Dokumentacja API Cairo. %prep %setup -q -%patch0 -p1 %build -%{?with_apidocs:%{__gtkdocize}} -%{__libtoolize} -%{__aclocal} -I build -%{__autoheader} -%{__autoconf} -%{__automake} -%configure \ - --disable-silent-rules \ - --enable-freetype \ - %{?with_apidocs:--enable-gtk-doc} \ - --enable-pdf \ - --enable-png \ - --enable-ps \ - %{!?with_svg:--disable-svg} \ - --enable-tee \ - %{?with_xcb:--enable-xcb} \ - --with-html-dir=%{_gtkdocdir} - -%{__sed} -i 's/gobject-2.0 glib-2.0//' src/cairo.pc - -%{__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 # LD_PRELOADable library -%{__rm} $RPM_BUILD_ROOT%{_libdir}/cairo/libcairo-trace.{la,a} - -%{!?with_apidocs:rm -rf $RPM_BUILD_ROOT%{_gtkdocdir}/cairo} +%{?with_static_libs:%{__rm} $RPM_BUILD_ROOT%{_libdir}/cairo/libcairo-{fdr,trace}.a} %clean rm -rf $RPM_BUILD_ROOT @@ -225,7 +227,7 @@ rm -rf $RPM_BUILD_ROOT %files %defattr(644,root,root,755) # COPYING contains only notes, not LGPL/MPL texts -%doc AUTHORS COPYING ChangeLog NEWS README +%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.*.*.* @@ -235,16 +237,16 @@ rm -rf $RPM_BUILD_ROOT %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/libcairo.so %attr(755,root,root) %{_libdir}/libcairo-script-interpreter.so -%{_libdir}/libcairo.la -%{_libdir}/libcairo-script-interpreter.la %{_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-script.pc +%{_pkgconfigdir}/cairo-script-interpreter.pc %{?with_svg:%{_pkgconfigdir}/cairo-svg.pc} %{_pkgconfigdir}/cairo-tee.pc %{?with_xcb:%{_pkgconfigdir}/cairo-xcb.pc} @@ -252,10 +254,12 @@ rm -rf $RPM_BUILD_ROOT %{_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) @@ -265,18 +269,20 @@ rm -rf $RPM_BUILD_ROOT %files gobject-devel %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/libcairo-gobject.so -%{_libdir}/libcairo-gobject.la %{_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}