cairo/cairo.spec

193 lines
6.6 KiB
RPMSpec
Raw Normal View History

#
# spec file for package cairo
#
Accepting request 1072675 from GNOME:Next - Update to version 1.17.8: + In a continuing effort to reduce the amount of legacy code, and increase the long-term maintainability of cairo, the following backends have been removed: - GL and GLES drawing + Additionally, cairo's Autotools build system has been removed; from now on, cairo will only support the Meson build system. While the end result should be identical, further testing is appreciated. + In this snapshot, cairo gained support for rendering COLRv1 fonts, and rendering SVG and COLRv1 fonts with custom palettes. + Support for macOS and Windows has been improved, with lots of build and bug fixes. + Lots of safety issues have been fixed, with array bounds checking and plugging memory leaks, as well as fixes for bugs identified via fuzzying. + This is going to be the last snapshot of the 1.17 development cycle; we only expect minor bug fixing and improvements until the 1.18.0 release. - Switch to meson buildsystem: Add meson BuildRequires and macros. - Update Source Url to new home. - Drop build_gl_backend define and conditional pkgconfig(egl) and pkgconfig(gl) BuildRequires: No longer supported. - Add generic c++_compiler and c_compiler BuildRequires: New dependencies. - Drop 0001-Set-default-LCD-filter-to-FreeType-s-default.patch: Fixed upstream. - Add upstream bug fix patches: + cairo-1.17.8-fix-tee-compilation.patch + cairo-1.17.8-ft-font-missing-glyph.patch OBS-URL: https://build.opensuse.org/request/show/1072675 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/cairo?expand=0&rev=154
2023-03-20 13:46:47 +01:00
# Copyright (c) 2023 SUSE LLC
#
# 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 https://bugs.opensuse.org/
#
%define build_xcb_backend 1
Accepting request 1072675 from GNOME:Next - Update to version 1.17.8: + In a continuing effort to reduce the amount of legacy code, and increase the long-term maintainability of cairo, the following backends have been removed: - GL and GLES drawing + Additionally, cairo's Autotools build system has been removed; from now on, cairo will only support the Meson build system. While the end result should be identical, further testing is appreciated. + In this snapshot, cairo gained support for rendering COLRv1 fonts, and rendering SVG and COLRv1 fonts with custom palettes. + Support for macOS and Windows has been improved, with lots of build and bug fixes. + Lots of safety issues have been fixed, with array bounds checking and plugging memory leaks, as well as fixes for bugs identified via fuzzying. + This is going to be the last snapshot of the 1.17 development cycle; we only expect minor bug fixing and improvements until the 1.18.0 release. - Switch to meson buildsystem: Add meson BuildRequires and macros. - Update Source Url to new home. - Drop build_gl_backend define and conditional pkgconfig(egl) and pkgconfig(gl) BuildRequires: No longer supported. - Add generic c++_compiler and c_compiler BuildRequires: New dependencies. - Drop 0001-Set-default-LCD-filter-to-FreeType-s-default.patch: Fixed upstream. - Add upstream bug fix patches: + cairo-1.17.8-fix-tee-compilation.patch + cairo-1.17.8-ft-font-missing-glyph.patch OBS-URL: https://build.opensuse.org/request/show/1072675 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/cairo?expand=0&rev=154
2023-03-20 13:46:47 +01:00
Name: cairo
Version: 1.18.0
Release: 0
Summary: Vector Graphics Library with Cross-Device Output Support
License: LGPL-2.1-or-later OR MPL-1.1
Group: Development/Libraries/C and C++
URL: https://cairographics.org
Source0: %{url}/releases/%{name}-%{version}.tar.xz
Source99: baselibs.conf
# PATCH-FIX-UPSTREAM cairo-xlib-endianness.patch fdo#63461 bnc#882951 fcrozat@suse.com -- Fix crash when client and server have different endianness
Patch0: cairo-xlib-endianness.patch
# PATCH-FIX-UPSTREAM cairo-get_bitmap_surface-bsc1036789-CVE-2017-7475.diff alarrosa@suse.com -- Fix segfault in get_bitmap_surface
Patch1: cairo-get_bitmap_surface-bsc1036789-CVE-2017-7475.diff
Accepting request 1072675 from GNOME:Next - Update to version 1.17.8: + In a continuing effort to reduce the amount of legacy code, and increase the long-term maintainability of cairo, the following backends have been removed: - GL and GLES drawing + Additionally, cairo's Autotools build system has been removed; from now on, cairo will only support the Meson build system. While the end result should be identical, further testing is appreciated. + In this snapshot, cairo gained support for rendering COLRv1 fonts, and rendering SVG and COLRv1 fonts with custom palettes. + Support for macOS and Windows has been improved, with lots of build and bug fixes. + Lots of safety issues have been fixed, with array bounds checking and plugging memory leaks, as well as fixes for bugs identified via fuzzying. + This is going to be the last snapshot of the 1.17 development cycle; we only expect minor bug fixing and improvements until the 1.18.0 release. - Switch to meson buildsystem: Add meson BuildRequires and macros. - Update Source Url to new home. - Drop build_gl_backend define and conditional pkgconfig(egl) and pkgconfig(gl) BuildRequires: No longer supported. - Add generic c++_compiler and c_compiler BuildRequires: New dependencies. - Drop 0001-Set-default-LCD-filter-to-FreeType-s-default.patch: Fixed upstream. - Add upstream bug fix patches: + cairo-1.17.8-fix-tee-compilation.patch + cairo-1.17.8-ft-font-missing-glyph.patch OBS-URL: https://build.opensuse.org/request/show/1072675 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/cairo?expand=0&rev=154
2023-03-20 13:46:47 +01:00
BuildRequires: c++_compiler
BuildRequires: c_compiler
BuildRequires: gtk-doc
Accepting request 1072675 from GNOME:Next - Update to version 1.17.8: + In a continuing effort to reduce the amount of legacy code, and increase the long-term maintainability of cairo, the following backends have been removed: - GL and GLES drawing + Additionally, cairo's Autotools build system has been removed; from now on, cairo will only support the Meson build system. While the end result should be identical, further testing is appreciated. + In this snapshot, cairo gained support for rendering COLRv1 fonts, and rendering SVG and COLRv1 fonts with custom palettes. + Support for macOS and Windows has been improved, with lots of build and bug fixes. + Lots of safety issues have been fixed, with array bounds checking and plugging memory leaks, as well as fixes for bugs identified via fuzzying. + This is going to be the last snapshot of the 1.17 development cycle; we only expect minor bug fixing and improvements until the 1.18.0 release. - Switch to meson buildsystem: Add meson BuildRequires and macros. - Update Source Url to new home. - Drop build_gl_backend define and conditional pkgconfig(egl) and pkgconfig(gl) BuildRequires: No longer supported. - Add generic c++_compiler and c_compiler BuildRequires: New dependencies. - Drop 0001-Set-default-LCD-filter-to-FreeType-s-default.patch: Fixed upstream. - Add upstream bug fix patches: + cairo-1.17.8-fix-tee-compilation.patch + cairo-1.17.8-ft-font-missing-glyph.patch OBS-URL: https://build.opensuse.org/request/show/1072675 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/cairo?expand=0&rev=154
2023-03-20 13:46:47 +01:00
BuildRequires: meson
BuildRequires: pkgconfig
BuildRequires: pkgconfig(fontconfig)
BuildRequires: pkgconfig(freetype2)
BuildRequires: pkgconfig(gobject-2.0)
BuildRequires: pkgconfig(libpng)
BuildRequires: pkgconfig(pixman-1) >= 0.36.0
BuildRequires: pkgconfig(x11)
BuildRequires: pkgconfig(xext)
BuildRequires: pkgconfig(xrender)
BuildRequires: pkgconfig(zlib)
# 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_xcb_backend}
BuildRequires: pkgconfig(xcb) >= 1.6
BuildRequires: pkgconfig(xcb-render) >= 1.6
BuildRequires: pkgconfig(xcb-shm)
%endif
%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-later OR MPL-1.1
Group: System/Libraries
Provides: cairo = %{version}
Obsoletes: cairo < %{version}
%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-later 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-later 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: Utilities for cairo, a Vector Graphics Library with Cross-Device Output Support
# We need an explicit requires since nothing links to the cairo library
License: GPL-3.0-or-later
Group: Development/Libraries/X11
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-later 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}
%description devel
This package contains all files necessary to build binaries using
cairo.
%prep
%autosetup -p1
%build
Accepting request 1072675 from GNOME:Next - Update to version 1.17.8: + In a continuing effort to reduce the amount of legacy code, and increase the long-term maintainability of cairo, the following backends have been removed: - GL and GLES drawing + Additionally, cairo's Autotools build system has been removed; from now on, cairo will only support the Meson build system. While the end result should be identical, further testing is appreciated. + In this snapshot, cairo gained support for rendering COLRv1 fonts, and rendering SVG and COLRv1 fonts with custom palettes. + Support for macOS and Windows has been improved, with lots of build and bug fixes. + Lots of safety issues have been fixed, with array bounds checking and plugging memory leaks, as well as fixes for bugs identified via fuzzying. + This is going to be the last snapshot of the 1.17 development cycle; we only expect minor bug fixing and improvements until the 1.18.0 release. - Switch to meson buildsystem: Add meson BuildRequires and macros. - Update Source Url to new home. - Drop build_gl_backend define and conditional pkgconfig(egl) and pkgconfig(gl) BuildRequires: No longer supported. - Add generic c++_compiler and c_compiler BuildRequires: New dependencies. - Drop 0001-Set-default-LCD-filter-to-FreeType-s-default.patch: Fixed upstream. - Add upstream bug fix patches: + cairo-1.17.8-fix-tee-compilation.patch + cairo-1.17.8-ft-font-missing-glyph.patch OBS-URL: https://build.opensuse.org/request/show/1072675 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/cairo?expand=0&rev=154
2023-03-20 13:46:47 +01:00
%meson \
%if %{build_xcb_backend}
Accepting request 1072675 from GNOME:Next - Update to version 1.17.8: + In a continuing effort to reduce the amount of legacy code, and increase the long-term maintainability of cairo, the following backends have been removed: - GL and GLES drawing + Additionally, cairo's Autotools build system has been removed; from now on, cairo will only support the Meson build system. While the end result should be identical, further testing is appreciated. + In this snapshot, cairo gained support for rendering COLRv1 fonts, and rendering SVG and COLRv1 fonts with custom palettes. + Support for macOS and Windows has been improved, with lots of build and bug fixes. + Lots of safety issues have been fixed, with array bounds checking and plugging memory leaks, as well as fixes for bugs identified via fuzzying. + This is going to be the last snapshot of the 1.17 development cycle; we only expect minor bug fixing and improvements until the 1.18.0 release. - Switch to meson buildsystem: Add meson BuildRequires and macros. - Update Source Url to new home. - Drop build_gl_backend define and conditional pkgconfig(egl) and pkgconfig(gl) BuildRequires: No longer supported. - Add generic c++_compiler and c_compiler BuildRequires: New dependencies. - Drop 0001-Set-default-LCD-filter-to-FreeType-s-default.patch: Fixed upstream. - Add upstream bug fix patches: + cairo-1.17.8-fix-tee-compilation.patch + cairo-1.17.8-ft-font-missing-glyph.patch OBS-URL: https://build.opensuse.org/request/show/1072675 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/cairo?expand=0&rev=154
2023-03-20 13:46:47 +01:00
-D xcb=enabled \
%endif
Accepting request 1072675 from GNOME:Next - Update to version 1.17.8: + In a continuing effort to reduce the amount of legacy code, and increase the long-term maintainability of cairo, the following backends have been removed: - GL and GLES drawing + Additionally, cairo's Autotools build system has been removed; from now on, cairo will only support the Meson build system. While the end result should be identical, further testing is appreciated. + In this snapshot, cairo gained support for rendering COLRv1 fonts, and rendering SVG and COLRv1 fonts with custom palettes. + Support for macOS and Windows has been improved, with lots of build and bug fixes. + Lots of safety issues have been fixed, with array bounds checking and plugging memory leaks, as well as fixes for bugs identified via fuzzying. + This is going to be the last snapshot of the 1.17 development cycle; we only expect minor bug fixing and improvements until the 1.18.0 release. - Switch to meson buildsystem: Add meson BuildRequires and macros. - Update Source Url to new home. - Drop build_gl_backend define and conditional pkgconfig(egl) and pkgconfig(gl) BuildRequires: No longer supported. - Add generic c++_compiler and c_compiler BuildRequires: New dependencies. - Drop 0001-Set-default-LCD-filter-to-FreeType-s-default.patch: Fixed upstream. - Add upstream bug fix patches: + cairo-1.17.8-fix-tee-compilation.patch + cairo-1.17.8-ft-font-missing-glyph.patch OBS-URL: https://build.opensuse.org/request/show/1072675 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/cairo?expand=0&rev=154
2023-03-20 13:46:47 +01:00
-D freetype=enabled \
-D fontconfig=enabled \
-D glib=enabled \
-D gtk_doc=true \
-D spectre=disabled \
-D symbol-lookup=disabled \
-D tee=enabled \
-D tests=disabled \
-D xlib=enabled \
%{nil}
%meson_build
%install
Accepting request 1072675 from GNOME:Next - Update to version 1.17.8: + In a continuing effort to reduce the amount of legacy code, and increase the long-term maintainability of cairo, the following backends have been removed: - GL and GLES drawing + Additionally, cairo's Autotools build system has been removed; from now on, cairo will only support the Meson build system. While the end result should be identical, further testing is appreciated. + In this snapshot, cairo gained support for rendering COLRv1 fonts, and rendering SVG and COLRv1 fonts with custom palettes. + Support for macOS and Windows has been improved, with lots of build and bug fixes. + Lots of safety issues have been fixed, with array bounds checking and plugging memory leaks, as well as fixes for bugs identified via fuzzying. + This is going to be the last snapshot of the 1.17 development cycle; we only expect minor bug fixing and improvements until the 1.18.0 release. - Switch to meson buildsystem: Add meson BuildRequires and macros. - Update Source Url to new home. - Drop build_gl_backend define and conditional pkgconfig(egl) and pkgconfig(gl) BuildRequires: No longer supported. - Add generic c++_compiler and c_compiler BuildRequires: New dependencies. - Drop 0001-Set-default-LCD-filter-to-FreeType-s-default.patch: Fixed upstream. - Add upstream bug fix patches: + cairo-1.17.8-fix-tee-compilation.patch + cairo-1.17.8-ft-font-missing-glyph.patch OBS-URL: https://build.opensuse.org/request/show/1072675 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/cairo?expand=0&rev=154
2023-03-20 13:46:47 +01:00
%meson_install
%ldconfig_scriptlets -n libcairo2
%ldconfig_scriptlets -n libcairo-gobject2
%ldconfig_scriptlets -n libcairo-script-interpreter2
%files -n libcairo2
%license COPYING COPYING-LGPL-2.1 COPYING-MPL-1.1
%{_libdir}/libcairo.so.*
%files -n libcairo-gobject2
%{_libdir}/libcairo-gobject.so.2*
%files -n libcairo-script-interpreter2
%license util/cairo-script/COPYING
%{_libdir}/libcairo-script-interpreter.so.*
%files tools
%license util/cairo-trace/COPYING util/cairo-trace/COPYING-GPL-3
%{_bindir}/cairo-trace
%dir %{_libdir}/cairo
Accepting request 1072675 from GNOME:Next - Update to version 1.17.8: + In a continuing effort to reduce the amount of legacy code, and increase the long-term maintainability of cairo, the following backends have been removed: - GL and GLES drawing + Additionally, cairo's Autotools build system has been removed; from now on, cairo will only support the Meson build system. While the end result should be identical, further testing is appreciated. + In this snapshot, cairo gained support for rendering COLRv1 fonts, and rendering SVG and COLRv1 fonts with custom palettes. + Support for macOS and Windows has been improved, with lots of build and bug fixes. + Lots of safety issues have been fixed, with array bounds checking and plugging memory leaks, as well as fixes for bugs identified via fuzzying. + This is going to be the last snapshot of the 1.17 development cycle; we only expect minor bug fixing and improvements until the 1.18.0 release. - Switch to meson buildsystem: Add meson BuildRequires and macros. - Update Source Url to new home. - Drop build_gl_backend define and conditional pkgconfig(egl) and pkgconfig(gl) BuildRequires: No longer supported. - Add generic c++_compiler and c_compiler BuildRequires: New dependencies. - Drop 0001-Set-default-LCD-filter-to-FreeType-s-default.patch: Fixed upstream. - Add upstream bug fix patches: + cairo-1.17.8-fix-tee-compilation.patch + cairo-1.17.8-ft-font-missing-glyph.patch OBS-URL: https://build.opensuse.org/request/show/1072675 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/cairo?expand=0&rev=154
2023-03-20 13:46:47 +01:00
%{_libdir}/cairo/libcairo-fdr.so
%{_libdir}/cairo/libcairo-trace.so
%files devel
Accepting request 1072675 from GNOME:Next - Update to version 1.17.8: + In a continuing effort to reduce the amount of legacy code, and increase the long-term maintainability of cairo, the following backends have been removed: - GL and GLES drawing + Additionally, cairo's Autotools build system has been removed; from now on, cairo will only support the Meson build system. While the end result should be identical, further testing is appreciated. + In this snapshot, cairo gained support for rendering COLRv1 fonts, and rendering SVG and COLRv1 fonts with custom palettes. + Support for macOS and Windows has been improved, with lots of build and bug fixes. + Lots of safety issues have been fixed, with array bounds checking and plugging memory leaks, as well as fixes for bugs identified via fuzzying. + This is going to be the last snapshot of the 1.17 development cycle; we only expect minor bug fixing and improvements until the 1.18.0 release. - Switch to meson buildsystem: Add meson BuildRequires and macros. - Update Source Url to new home. - Drop build_gl_backend define and conditional pkgconfig(egl) and pkgconfig(gl) BuildRequires: No longer supported. - Add generic c++_compiler and c_compiler BuildRequires: New dependencies. - Drop 0001-Set-default-LCD-filter-to-FreeType-s-default.patch: Fixed upstream. - Add upstream bug fix patches: + cairo-1.17.8-fix-tee-compilation.patch + cairo-1.17.8-ft-font-missing-glyph.patch OBS-URL: https://build.opensuse.org/request/show/1072675 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/cairo?expand=0&rev=154
2023-03-20 13:46:47 +01:00
%doc AUTHORS NEWS README.md
%doc %{_datadir}/gtk-doc/html/cairo
%{_includedir}/cairo/
%{_libdir}/*.so
%{_libdir}/pkgconfig/*.pc
%changelog