[1/2] cairo: Update to version 1.17.6

Message ID 20230125224125.3599166-1-adolf.belka@ipfire.org
State Accepted
Commit e44d567877b18b6defed0ab175d540ca39bbe84b
Headers
Series [1/2] cairo: Update to version 1.17.6 |

Commit Message

Adolf Belka Jan. 25, 2023, 10:41 p.m. UTC
  - Update from version 1.16.0 to 1.17.6
- Update of rootfile
- Next version will only build with meson and as there were some bugs with the autoconf
   tools build which required a hack to overcome, this version was changed to run with
   meson. beos and os2 backends are no longer supported and windows only builds if the
   platform being used for the build is windows based. Therefore those options are no
   longer needed. meson uses shared libraries only by default.
- The cairo-1.16.0-binutils-2.34 patch is no longer needed as the changes have been
   included in the source tarball.
- tarball had to be changed to .bz2 as xz is no longer provided.
- Changelog
Release 1.17.6 (2022-03-18 Emmanuele Bassi <ebassi@gnome.org>)
	I spy with my little eye… a Cairo snapshot!
	First of all, many, many thanks to everyone who contributed to Cairo
	during this development cycle. A special thank you goes to:
		- Adrian Johnson
		- Uli Schlachter
		for their tireless efforts in ensuring that the lights are still on
		in the Cairo project.
	This snapshot sees the removal of the following backends and platform
	support:
		- Qt4
		- BeOS
		- OS/2
		- DirectFB
		- DRM
		- Cogl
		- OpenVG
	Thanks to all past contributors for their work on them. If you were using
	any of these backends then you will need to stick to Cairo 1.16.
	To offset the removal of the backends above, Adrian Johnson landed the
	DWrite font rendering backend on Windows.
	There have been multiple improvements in the Quartz backend, courtesy of
	John Ralls.
	Tim-Philipp Müller has kept the Meson build in top shape.
	This snapshot is going to be the **last** release of Cairo with the
	Autotools build system. The Meson build has seen many improvements and
	it is considerably easier to maintain and faster to build.
Release 1.17.4 (2020-11-27 Bryce Harrington <bryce@bryceharrington.org>)
	Thank you to the many people who have contributed the large number of
	bug fixes and refinements since 1.17.2.
	A particularly noteworthy improvement in this release is the addition of
	the meson build system as an alternative to autotools.  Autotools is
	still used for producing the releases, so will be the default in the
	tarball and presumably will still be preferred by distro packagers of
	Cairo.  It should be possible to build the release tarball using meson,
	but as this is new functionality consider it still a work in progress.
	The meson configuration has striven to track the autotools
	implementation but be aware there may still be some differences between
	the two.
	Continuous Integration configurations have been added that enable
	testing on a variety of platforms including Fedora, Windows MSVC, etc.
	This work has helped in identifying updates and fixes including
	adjusting to changes in API calls in dependencies like rsvg and
	fontconfig, and to fix platform-specific build issues.
	The cogl Cairo backend underwent significant development this cycle.
	Cogl provides GPU accelerated drawing support.  The development work
	includes implementation of core functionality, performance
	optimizations, and stabilization.
	Subpixel positioning support allows improved glyph outlines with the
	Freetype font backend.
	For a complete log of changes, please see
	    https://cairographics.org/releases/ChangeLog.1.17.4
	[On a personal note, this will be my last release for Cairo.  My Cairo
	time availability has been non-existent (particularly this crazy past
	year).  The release process is well documented and hopefully will help
	whomever picks up the baton from here.]
Release 1.17.2 (2019-01-31 Bryce Harrington <bryce@bryceharrington.org>)
	This snapshot provides the new support for writing floating point
	formats as 16 bpc PNGs, with support for RGBA128F and RGB96F formats.
	This new feature increases Cairo's pixman version requirement to 0.36.0.
	Beyond this are a range of bugfixes and some work on establishing CI for
	Cairo.
	For a complete log of changes, please see
	    https://cairographics.org/releases/ChangeLog.1.17.2
	API Changes
		None
	Dependency Changes
		pixman 0.36.0

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
---
 config/rootfiles/common/cairo                | 78 +-------------------
 lfs/cairo                                    | 18 ++---
 src/patches/cairo-1.16.0-binutils-2.34.patch | 20 -----
 3 files changed, 13 insertions(+), 103 deletions(-)
 delete mode 100644 src/patches/cairo-1.16.0-binutils-2.34.patch
  

Patch

diff --git a/config/rootfiles/common/cairo b/config/rootfiles/common/cairo
index 7cbb434d1..c83ed107c 100644
--- a/config/rootfiles/common/cairo
+++ b/config/rootfiles/common/cairo
@@ -12,97 +12,27 @@ 
 #usr/include/cairo/cairo-version.h
 #usr/include/cairo/cairo.h
 #usr/lib/cairo
-#usr/lib/cairo/libcairo-trace.a
 #usr/lib/cairo/libcairo-trace.la
 #usr/lib/cairo/libcairo-trace.so
-#usr/lib/libcairo-gobject.a
 #usr/lib/libcairo-gobject.la
 #usr/lib/libcairo-gobject.so
 usr/lib/libcairo-gobject.so.2
-usr/lib/libcairo-gobject.so.2.11600.0
-#usr/lib/libcairo-script-interpreter.a
+usr/lib/libcairo-gobject.so.2.11706.0
 #usr/lib/libcairo-script-interpreter.la
 #usr/lib/libcairo-script-interpreter.so
 usr/lib/libcairo-script-interpreter.so.2
-usr/lib/libcairo-script-interpreter.so.2.11600.0
-#usr/lib/libcairo.a
+usr/lib/libcairo-script-interpreter.so.2.11706.0
 #usr/lib/libcairo.la
 #usr/lib/libcairo.so
 usr/lib/libcairo.so.2
-usr/lib/libcairo.so.2.11600.0
+usr/lib/libcairo.so.2.11706.0
 #usr/lib/pkgconfig/cairo-fc.pc
 #usr/lib/pkgconfig/cairo-ft.pc
 #usr/lib/pkgconfig/cairo-gobject.pc
 #usr/lib/pkgconfig/cairo-pdf.pc
 #usr/lib/pkgconfig/cairo-png.pc
 #usr/lib/pkgconfig/cairo-ps.pc
+#usr/lib/pkgconfig/cairo-script-interpreter.pc
 #usr/lib/pkgconfig/cairo-script.pc
 #usr/lib/pkgconfig/cairo-svg.pc
 #usr/lib/pkgconfig/cairo.pc
-#usr/share/gtk-doc/html/cairo
-#usr/share/gtk-doc/html/cairo/bindings-errors.html
-#usr/share/gtk-doc/html/cairo/bindings-fonts.html
-#usr/share/gtk-doc/html/cairo/bindings-memory.html
-#usr/share/gtk-doc/html/cairo/bindings-overloading.html
-#usr/share/gtk-doc/html/cairo/bindings-path.html
-#usr/share/gtk-doc/html/cairo/bindings-patterns.html
-#usr/share/gtk-doc/html/cairo/bindings-return-values.html
-#usr/share/gtk-doc/html/cairo/bindings-streams.html
-#usr/share/gtk-doc/html/cairo/bindings-surfaces.html
-#usr/share/gtk-doc/html/cairo/cairo-Error-handling.html
-#usr/share/gtk-doc/html/cairo/cairo-FreeType-Fonts.html
-#usr/share/gtk-doc/html/cairo/cairo-Image-Surfaces.html
-#usr/share/gtk-doc/html/cairo/cairo-PDF-Surfaces.html
-#usr/share/gtk-doc/html/cairo/cairo-PNG-Support.html
-#usr/share/gtk-doc/html/cairo/cairo-Paths.html
-#usr/share/gtk-doc/html/cairo/cairo-PostScript-Surfaces.html
-#usr/share/gtk-doc/html/cairo/cairo-Quartz-(CGFont)-Fonts.html
-#usr/share/gtk-doc/html/cairo/cairo-Quartz-Surfaces.html
-#usr/share/gtk-doc/html/cairo/cairo-Raster-Sources.html
-#usr/share/gtk-doc/html/cairo/cairo-Recording-Surfaces.html
-#usr/share/gtk-doc/html/cairo/cairo-Regions.html
-#usr/share/gtk-doc/html/cairo/cairo-SVG-Surfaces.html
-#usr/share/gtk-doc/html/cairo/cairo-Script-Surfaces.html
-#usr/share/gtk-doc/html/cairo/cairo-Tags-and-Links.html
-#usr/share/gtk-doc/html/cairo/cairo-Transformations.html
-#usr/share/gtk-doc/html/cairo/cairo-Types.html
-#usr/share/gtk-doc/html/cairo/cairo-User-Fonts.html
-#usr/share/gtk-doc/html/cairo/cairo-Version-Information.html
-#usr/share/gtk-doc/html/cairo/cairo-Win32-Fonts.html
-#usr/share/gtk-doc/html/cairo/cairo-Win32-Surfaces.html
-#usr/share/gtk-doc/html/cairo/cairo-XCB-Surfaces.html
-#usr/share/gtk-doc/html/cairo/cairo-XLib-Surfaces.html
-#usr/share/gtk-doc/html/cairo/cairo-XLib-XRender-Backend.html
-#usr/share/gtk-doc/html/cairo/cairo-cairo-device-t.html
-#usr/share/gtk-doc/html/cairo/cairo-cairo-font-face-t.html
-#usr/share/gtk-doc/html/cairo/cairo-cairo-font-options-t.html
-#usr/share/gtk-doc/html/cairo/cairo-cairo-matrix-t.html
-#usr/share/gtk-doc/html/cairo/cairo-cairo-pattern-t.html
-#usr/share/gtk-doc/html/cairo/cairo-cairo-scaled-font-t.html
-#usr/share/gtk-doc/html/cairo/cairo-cairo-surface-t.html
-#usr/share/gtk-doc/html/cairo/cairo-cairo-t.html
-#usr/share/gtk-doc/html/cairo/cairo-drawing.html
-#usr/share/gtk-doc/html/cairo/cairo-fonts.html
-#usr/share/gtk-doc/html/cairo/cairo-support.html
-#usr/share/gtk-doc/html/cairo/cairo-surfaces.html
-#usr/share/gtk-doc/html/cairo/cairo-text.html
-#usr/share/gtk-doc/html/cairo/cairo.devhelp2
-#usr/share/gtk-doc/html/cairo/home.png
-#usr/share/gtk-doc/html/cairo/index-1.10.html
-#usr/share/gtk-doc/html/cairo/index-1.12.html
-#usr/share/gtk-doc/html/cairo/index-1.14.html
-#usr/share/gtk-doc/html/cairo/index-1.16.html
-#usr/share/gtk-doc/html/cairo/index-1.2.html
-#usr/share/gtk-doc/html/cairo/index-1.4.html
-#usr/share/gtk-doc/html/cairo/index-1.6.html
-#usr/share/gtk-doc/html/cairo/index-1.8.html
-#usr/share/gtk-doc/html/cairo/index-all.html
-#usr/share/gtk-doc/html/cairo/index.html
-#usr/share/gtk-doc/html/cairo/language-bindings.html
-#usr/share/gtk-doc/html/cairo/left-insensitive.png
-#usr/share/gtk-doc/html/cairo/left.png
-#usr/share/gtk-doc/html/cairo/right-insensitive.png
-#usr/share/gtk-doc/html/cairo/right.png
-#usr/share/gtk-doc/html/cairo/style.css
-#usr/share/gtk-doc/html/cairo/up-insensitive.png
-#usr/share/gtk-doc/html/cairo/up.png
diff --git a/lfs/cairo b/lfs/cairo
index 191f4560d..30744b3d7 100644
--- a/lfs/cairo
+++ b/lfs/cairo
@@ -1,7 +1,7 @@ 
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007-2018  IPFire Team  <info@ipfire.org>                     #
+# Copyright (C) 2007-2023  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.16.0
+VER        = 1.17.6
 
 THISAPP    = cairo-$(VER)
-DL_FILE    = $(THISAPP).tar.xz
+DL_FILE    = $(THISAPP).tar.bz2
 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 = aa37edf7fdf0c952484fd0adc9281724227db93958d6e4919216b30e9017fab670bc2340e3b975737080f1f67dec24025fe0e4680e275ab7703cfb9235eb1fe0
+$(DL_FILE)_BLAKE2 = 05ac766d33e9bdfc5df0347e9a80611554d64886715d1620fbe6f05f36f0134e46e1e6107738d260b380fab5ef2ac609922dce9ebcac01234710d8e2a76e9724
 
 install : $(TARGET)
 
@@ -70,10 +70,10 @@  $(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) && patch -Np1 < $(DIR_SRC)/src/patches/cairo-1.16.0-binutils-2.34.patch
-	cd $(DIR_APP) && ./configure --prefix=/usr \
-		--disable-win32 --disable-os2 --disable-beos
-	cd $(DIR_APP) && make $(MAKETUNING)
-	cd $(DIR_APP) && make install
+	cd $(DIR_APP) && meson \
+	      --prefix=/usr \
+				builddir/
+	cd $(DIR_APP) && ninja -C builddir/ $(MAKETUNING)
+	cd $(DIR_APP) && ninja -C builddir/ install
 	@rm -rf $(DIR_APP)
 	@$(POSTBUILD)
diff --git a/src/patches/cairo-1.16.0-binutils-2.34.patch b/src/patches/cairo-1.16.0-binutils-2.34.patch
deleted file mode 100644
index 03daac0ec..000000000
--- a/src/patches/cairo-1.16.0-binutils-2.34.patch
+++ /dev/null
@@ -1,20 +0,0 @@ 
---- a/util/cairo-trace/lookup-symbol.c
-+++ b/util/cairo-trace/lookup-symbol.c
-@@ -145,14 +145,14 @@ find_address_in_section (bfd *abfd,
-     if (symbol->found)
- 	return;
- 
--    if ((bfd_get_section_flags (symtab->bfd, section) & SEC_ALLOC) == 0)
-+    if ((bfd_section_flags (section) & SEC_ALLOC) == 0)
- 	return;
- 
--    vma = bfd_get_section_vma (symtab->bfd, section);
-+    vma = bfd_section_vma (section);
-     if (symbol->pc < vma)
- 	return;
- 
--    size = bfd_section_size (symtab->bfd, section);
-+    size = bfd_section_size (section);
-     if (symbol->pc >= vma + size)
- 	return;
-