cairo: Update to version 1.18.2
Commit Message
- Update from version 1.17.6 to 1.18.2
- Update of rootfile
- Changelog
1.18.2
The malloc-stats code has been removed from the tests directory [#640]; the
canonical location for it is: https://github.com/behdad/malloc-stats
Cairo now requires a version of pixman equal to, or newer than, 0.40. [!522]
There have been multiple build fixes for newer versions of GCC [!525, !542];
for MSVC [#808]; for Solaris [!540]; and on macOS 10.7 [#810].
PNG errors caused by loading malformed data are correctly propagated to
callers, so they can handle the case. [!524]
Both stroke and fill colors are now set when showing glyphs on a PDF
surface. [#813]
All the font options are copied when creating a fallback font object. [#819]
When drawing text on macOS, Cairo now tries harder to select the appropriate
font name. [#811]
Cairo now prefers the COLRv1 table inside a font, if one is available. [!537]
Cairo requires a C11 toolchain when building. [!479]
1.18.0
All the API added in the 1.17 development cycle is now considered stable, and
will not change.
Many thanks to all the contributors for this release.
The cairo-sphinx tool has been removed; we could not find any instruction on
how to use it, and no user answered our call for help. If you were using
cairo-sphinx, please reach out to the cairo maintainers.
Cairo now implements Type 3 color fonts for PDF. Thanks to Adrian Johnson for
his work on this feature.
Khaled Hosny contributed multiple documentation fixes, to ensure that the
cairo API reference is up to date. Khaled also fixed multiple compiler
warnings generated when building cairo.
The XML surface has been removed; it was disabled by default when building
cairo, and we could not find any downstream distributor that would enable
it.
The Tee surface is now automatically enabled. Downstream distributors of
cairo have been enabling for years it in order to build Firefox.
Fujii Hironori and Adrian Johnson fixed multiple issues with the DWrite
font backend.
John Ralls improved the Quartz surface; mainly, Quartz surfaces now use
the main display ColorSpace, speeding up rendering operations.
Cairo now hides all private symbols by default on every platform; the old
"slim" symbols hack to alias internally used symbols has been dropped, in
favor of using `-Bsymbolic-functions` with toolchains that support it.
Uli Schlachter fixed multiple memory leaks in the code base and test suite,
and helped with many reviews and general maintenance.
Marc Jeanmougin added new API to expose the Pixman dithering filter to cairo
patterns; this is currently implemented only for image surfaces.
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.
Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
---
config/rootfiles/common/cairo | 13 ++++++-------
lfs/cairo | 12 ++++++------
2 files changed, 12 insertions(+), 13 deletions(-)
Comments
Reviewed-by: Michael Tremer <michael.tremer@ipfire.org>
> On 15 Nov 2024, at 21:36, Adolf Belka <adolf.belka@ipfire.org> wrote:
>
> - Update from version 1.17.6 to 1.18.2
> - Update of rootfile
> - Changelog
> 1.18.2
> The malloc-stats code has been removed from the tests directory [#640]; the
> canonical location for it is: https://github.com/behdad/malloc-stats
> Cairo now requires a version of pixman equal to, or newer than, 0.40. [!522]
> There have been multiple build fixes for newer versions of GCC [!525, !542];
> for MSVC [#808]; for Solaris [!540]; and on macOS 10.7 [#810].
> PNG errors caused by loading malformed data are correctly propagated to
> callers, so they can handle the case. [!524]
> Both stroke and fill colors are now set when showing glyphs on a PDF
> surface. [#813]
> All the font options are copied when creating a fallback font object. [#819]
> When drawing text on macOS, Cairo now tries harder to select the appropriate
> font name. [#811]
> Cairo now prefers the COLRv1 table inside a font, if one is available. [!537]
> Cairo requires a C11 toolchain when building. [!479]
> 1.18.0
> All the API added in the 1.17 development cycle is now considered stable, and
> will not change.
> Many thanks to all the contributors for this release.
> The cairo-sphinx tool has been removed; we could not find any instruction on
> how to use it, and no user answered our call for help. If you were using
> cairo-sphinx, please reach out to the cairo maintainers.
> Cairo now implements Type 3 color fonts for PDF. Thanks to Adrian Johnson for
> his work on this feature.
> Khaled Hosny contributed multiple documentation fixes, to ensure that the
> cairo API reference is up to date. Khaled also fixed multiple compiler
> warnings generated when building cairo.
> The XML surface has been removed; it was disabled by default when building
> cairo, and we could not find any downstream distributor that would enable
> it.
> The Tee surface is now automatically enabled. Downstream distributors of
> cairo have been enabling for years it in order to build Firefox.
> Fujii Hironori and Adrian Johnson fixed multiple issues with the DWrite
> font backend.
> John Ralls improved the Quartz surface; mainly, Quartz surfaces now use
> the main display ColorSpace, speeding up rendering operations.
> Cairo now hides all private symbols by default on every platform; the old
> "slim" symbols hack to alias internally used symbols has been dropped, in
> favor of using `-Bsymbolic-functions` with toolchains that support it.
> Uli Schlachter fixed multiple memory leaks in the code base and test suite,
> and helped with many reviews and general maintenance.
> Marc Jeanmougin added new API to expose the Pixman dithering filter to cairo
> patterns; this is currently implemented only for image surfaces.
> 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.
>
> Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
> ---
> config/rootfiles/common/cairo | 13 ++++++-------
> lfs/cairo | 12 ++++++------
> 2 files changed, 12 insertions(+), 13 deletions(-)
>
> diff --git a/config/rootfiles/common/cairo b/config/rootfiles/common/cairo
> index c83ed107c..2e4474607 100644
> --- a/config/rootfiles/common/cairo
> +++ b/config/rootfiles/common/cairo
> @@ -9,23 +9,21 @@
> #usr/include/cairo/cairo-script-interpreter.h
> #usr/include/cairo/cairo-script.h
> #usr/include/cairo/cairo-svg.h
> +#usr/include/cairo/cairo-tee.h
> #usr/include/cairo/cairo-version.h
> #usr/include/cairo/cairo.h
> #usr/lib/cairo
> -#usr/lib/cairo/libcairo-trace.la
> +#usr/lib/cairo/libcairo-fdr.so
> #usr/lib/cairo/libcairo-trace.so
> -#usr/lib/libcairo-gobject.la
> #usr/lib/libcairo-gobject.so
> usr/lib/libcairo-gobject.so.2
> -usr/lib/libcairo-gobject.so.2.11706.0
> -#usr/lib/libcairo-script-interpreter.la
> +usr/lib/libcairo-gobject.so.2.11802.2
> #usr/lib/libcairo-script-interpreter.so
> usr/lib/libcairo-script-interpreter.so.2
> -usr/lib/libcairo-script-interpreter.so.2.11706.0
> -#usr/lib/libcairo.la
> +usr/lib/libcairo-script-interpreter.so.2.11802.2
> #usr/lib/libcairo.so
> usr/lib/libcairo.so.2
> -usr/lib/libcairo.so.2.11706.0
> +usr/lib/libcairo.so.2.11802.2
> #usr/lib/pkgconfig/cairo-fc.pc
> #usr/lib/pkgconfig/cairo-ft.pc
> #usr/lib/pkgconfig/cairo-gobject.pc
> @@ -35,4 +33,5 @@ usr/lib/libcairo.so.2.11706.0
> #usr/lib/pkgconfig/cairo-script-interpreter.pc
> #usr/lib/pkgconfig/cairo-script.pc
> #usr/lib/pkgconfig/cairo-svg.pc
> +#usr/lib/pkgconfig/cairo-tee.pc
> #usr/lib/pkgconfig/cairo.pc
> diff --git a/lfs/cairo b/lfs/cairo
> index 30744b3d7..b15c665e4 100644
> --- a/lfs/cairo
> +++ b/lfs/cairo
> @@ -1,7 +1,7 @@
> ###############################################################################
> # #
> # IPFire.org - A linux based firewall #
> -# Copyright (C) 2007-2023 IPFire Team <info@ipfire.org> #
> +# Copyright (C) 2007-2024 IPFire Team <info@ipfire.org> #
> # #
> # This program is free software: you can redistribute it and/or modify #
> # it under the terms of the GNU General Public License as published by #
> @@ -24,10 +24,10 @@
>
> include Config
>
> -VER = 1.17.6
> +VER = 1.18.2
>
> THISAPP = cairo-$(VER)
> -DL_FILE = $(THISAPP).tar.bz2
> +DL_FILE = $(THISAPP).tar.xz
> DL_FROM = $(URL_IPFIRE)
> DIR_APP = $(DIR_SRC)/$(THISAPP)
> TARGET = $(DIR_INFO)/$(THISAPP)
> @@ -40,7 +40,7 @@ objects = $(DL_FILE)
>
> $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
>
> -$(DL_FILE)_BLAKE2 = 05ac766d33e9bdfc5df0347e9a80611554d64886715d1620fbe6f05f36f0134e46e1e6107738d260b380fab5ef2ac609922dce9ebcac01234710d8e2a76e9724
> +$(DL_FILE)_BLAKE2 = 6046ebc96bf79ef4fcff476d998cee756b0132198c129b049101ab7a70fe420b37f0f0b3ff90c51188005a19b87cb9dabe451bd97679d75ef397f0b3feb2af14
>
> install : $(TARGET)
>
> @@ -70,8 +70,8 @@ $(subst %,%_BLAKE2,$(objects)) :
> $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
> @$(PREBUILD)
> @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
> - cd $(DIR_APP) && meson \
> - --prefix=/usr \
> + cd $(DIR_APP) && meson setup \
> + --prefix=/usr \
> builddir/
> cd $(DIR_APP) && ninja -C builddir/ $(MAKETUNING)
> cd $(DIR_APP) && ninja -C builddir/ install
> --
> 2.47.0
>
@@ -9,23 +9,21 @@
#usr/include/cairo/cairo-script-interpreter.h
#usr/include/cairo/cairo-script.h
#usr/include/cairo/cairo-svg.h
+#usr/include/cairo/cairo-tee.h
#usr/include/cairo/cairo-version.h
#usr/include/cairo/cairo.h
#usr/lib/cairo
-#usr/lib/cairo/libcairo-trace.la
+#usr/lib/cairo/libcairo-fdr.so
#usr/lib/cairo/libcairo-trace.so
-#usr/lib/libcairo-gobject.la
#usr/lib/libcairo-gobject.so
usr/lib/libcairo-gobject.so.2
-usr/lib/libcairo-gobject.so.2.11706.0
-#usr/lib/libcairo-script-interpreter.la
+usr/lib/libcairo-gobject.so.2.11802.2
#usr/lib/libcairo-script-interpreter.so
usr/lib/libcairo-script-interpreter.so.2
-usr/lib/libcairo-script-interpreter.so.2.11706.0
-#usr/lib/libcairo.la
+usr/lib/libcairo-script-interpreter.so.2.11802.2
#usr/lib/libcairo.so
usr/lib/libcairo.so.2
-usr/lib/libcairo.so.2.11706.0
+usr/lib/libcairo.so.2.11802.2
#usr/lib/pkgconfig/cairo-fc.pc
#usr/lib/pkgconfig/cairo-ft.pc
#usr/lib/pkgconfig/cairo-gobject.pc
@@ -35,4 +33,5 @@ usr/lib/libcairo.so.2.11706.0
#usr/lib/pkgconfig/cairo-script-interpreter.pc
#usr/lib/pkgconfig/cairo-script.pc
#usr/lib/pkgconfig/cairo-svg.pc
+#usr/lib/pkgconfig/cairo-tee.pc
#usr/lib/pkgconfig/cairo.pc
@@ -1,7 +1,7 @@
###############################################################################
# #
# IPFire.org - A linux based firewall #
-# Copyright (C) 2007-2023 IPFire Team <info@ipfire.org> #
+# Copyright (C) 2007-2024 IPFire Team <info@ipfire.org> #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
@@ -24,10 +24,10 @@
include Config
-VER = 1.17.6
+VER = 1.18.2
THISAPP = cairo-$(VER)
-DL_FILE = $(THISAPP).tar.bz2
+DL_FILE = $(THISAPP).tar.xz
DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_BLAKE2 = 05ac766d33e9bdfc5df0347e9a80611554d64886715d1620fbe6f05f36f0134e46e1e6107738d260b380fab5ef2ac609922dce9ebcac01234710d8e2a76e9724
+$(DL_FILE)_BLAKE2 = 6046ebc96bf79ef4fcff476d998cee756b0132198c129b049101ab7a70fe420b37f0f0b3ff90c51188005a19b87cb9dabe451bd97679d75ef397f0b3feb2af14
install : $(TARGET)
@@ -70,8 +70,8 @@ $(subst %,%_BLAKE2,$(objects)) :
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
- cd $(DIR_APP) && meson \
- --prefix=/usr \
+ cd $(DIR_APP) && meson setup \
+ --prefix=/usr \
builddir/
cd $(DIR_APP) && ninja -C builddir/ $(MAKETUNING)
cd $(DIR_APP) && ninja -C builddir/ install