pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

cairo: add upgrade candidate



Module Name:	pkgsrc-wip
Committed By:	Thomas Klausner <wiz%gatalith.at@localhost>
Pushed By:	wiz
Date:		Wed Nov 8 01:19:31 2023 +0100
Changeset:	c6b098491fbaa4918876602ae6d5fb9c7dc1963e

Modified Files:
	Makefile
Added Files:
	cairo/DESCR
	cairo/Makefile
	cairo/Makefile.common
	cairo/PLIST
	cairo/buildlink3.mk
	cairo/distinfo
	cairo/hacks.mk
	cairo/log
	cairo/options.mk
	cairo/patches/patch-ac
	cairo/patches/patch-ad
	cairo/patches/patch-meson.build
	cairo/patches/patch-test_pdf-structure.c
	cairo/patches/patch-util_meson.build

Log Message:
cairo: add upgrade candidate

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=c6b098491fbaa4918876602ae6d5fb9c7dc1963e

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 Makefile                                 |   5 +-
 cairo/DESCR                              |  19 ++++
 cairo/Makefile                           |  19 ++++
 cairo/Makefile.common                    |  32 ++++++
 cairo/PLIST                              |  45 ++++++++
 cairo/buildlink3.mk                      |  36 ++++++
 cairo/distinfo                           |  10 ++
 cairo/hacks.mk                           |  61 ++++++++++
 cairo/log                                | 186 +++++++++++++++++++++++++++++++
 cairo/options.mk                         |  44 ++++++++
 cairo/patches/patch-ac                   |  17 +++
 cairo/patches/patch-ad                   |  13 +++
 cairo/patches/patch-meson.build          |  14 +++
 cairo/patches/patch-test_pdf-structure.c |  14 +++
 cairo/patches/patch-util_meson.build     |  13 +++
 15 files changed, 527 insertions(+), 1 deletion(-)

diffs:
diff --git a/Makefile b/Makefile
index 5ff3572e56..fe2deba20d 100644
--- a/Makefile
+++ b/Makefile
@@ -363,6 +363,7 @@ SUBDIR+=	cacti-plugin-rrdclean
 SUBDIR+=	cacti-plugin-settings
 SUBDIR+=	cacti-plugin-thold
 SUBDIR+=	cacti-plugin-weathermap
+SUBDIR+=	cairo
 SUBDIR+=	cairo-dingbat-ttf
 SUBDIR+=	cairo-dock
 SUBDIR+=	cairo-dock-plugins
@@ -558,7 +559,7 @@ SUBDIR+=	crystal
 SUBDIR+=	crystal-bin
 SUBDIR+=	cskk
 SUBDIR+=	csoap
-SUBDIR+=	csound6181
+SUBDIR+=	csound6
 SUBDIR+=	csp2b
 SUBDIR+=	csstidy
 SUBDIR+=	csv-mode
@@ -645,6 +646,7 @@ SUBDIR+=	dict-freedict-eng-fra
 SUBDIR+=	digestif
 SUBDIR+=	digitemp
 SUBDIR+=	dillo-devel
+SUBDIR+=	din
 SUBDIR+=	ding
 SUBDIR+=	dionysus
 SUBDIR+=	discident-glib
@@ -2403,6 +2405,7 @@ SUBDIR+=	newsboat233
 SUBDIR+=	newt
 SUBDIR+=	nextpnr
 SUBDIR+=	nfcapdu
+SUBDIR+=	nfstrace
 SUBDIR+=	nget
 SUBDIR+=	nginx-modular
 SUBDIR+=	nginx-module-array-var
diff --git a/cairo/DESCR b/cairo/DESCR
new file mode 100644
index 0000000000..dc7da12d04
--- /dev/null
+++ b/cairo/DESCR
@@ -0,0 +1,19 @@
+Cairo is a 2D graphics library with support for multiple output
+devices.  Currently supported output targets include the X Window
+System, Quartz, Win32, image buffers, PostScript, PDF, and SVG file
+output.
+
+Cairo is designed to produce consistent output on all output media
+while taking advantage of display hardware acceleration when
+available (eg. through the X Render Extension).
+
+The cairo API provides operations similar to the drawing operators
+of PostScript and PDF. Operations in cairo including stroking and
+filling cubic Bezier splines, transforming and compositing
+translucent images, and antialiased text rendering. All drawing
+operations can be transformed by any affine transformation (scale,
+rotation, shear, etc.)
+
+Cairo is implemented as a library written in the C programming
+language, but bindings are available for several different programming
+languages.
diff --git a/cairo/Makefile b/cairo/Makefile
new file mode 100644
index 0000000000..19eaa795e3
--- /dev/null
+++ b/cairo/Makefile
@@ -0,0 +1,19 @@
+# $NetBSD: Makefile,v 1.154 2023/01/29 21:14:37 ryoon Exp $
+
+.include "../../graphics/cairo/Makefile.common"
+
+TEST_TARGET=			check
+
+.include "options.mk"
+
+.include "../../archivers/lzo/buildlink3.mk"
+.include "../../devel/zlib/buildlink3.mk"
+.include "../../fonts/fontconfig/buildlink3.mk"
+.include "../../graphics/freetype2/buildlink3.mk"
+.include "../../graphics/png/buildlink3.mk"
+# include?
+#.include "../../print/libspectre/buildlink3.mk"
+BUILDLINK_API_DEPENDS.pixman+=	pixman>=0.36.0
+.include "../../x11/pixman/buildlink3.mk"
+.include "../../mk/pthread.buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/cairo/Makefile.common b/cairo/Makefile.common
new file mode 100644
index 0000000000..1beaf96e55
--- /dev/null
+++ b/cairo/Makefile.common
@@ -0,0 +1,32 @@
+# $NetBSD: Makefile.common,v 1.17 2020/11/16 11:15:18 ryoon Exp $
+#
+# used by graphics/cairo/Makefile
+# used by graphics/cairo-gobject/Makefile
+
+DISTNAME=	cairo-1.18.0
+CATEGORIES=	graphics
+MASTER_SITES=	https://cairographics.org/releases/
+EXTRACT_SUFX=	.tar.xz
+
+MAINTAINER?=	pkgsrc-users%NetBSD.org@localhost
+HOMEPAGE=	https://cairographics.org/
+COMMENT=	Vector graphics library with cross-device output support
+LICENSE=	gnu-lgpl-v2.1 AND mpl-1.1
+
+DISTINFO_FILE=	${.CURDIR}/../../graphics/cairo/distinfo
+PATCHDIR=	${.CURDIR}/../../graphics/cairo/patches
+
+USE_LANGUAGES=		c c++
+USE_TOOLS+=		pkg-config
+
+USE_CC_FEATURES=	c99
+
+PKGCONFIG_OVERRIDE+=	src/cairo.pc.in
+PKGCONFIG_OVERRIDE+=	src/cairo-features.pc.in
+
+# For snprintf() and ctime_r()
+CPPFLAGS.SunOS+=		-D__EXTENSIONS__ -D_POSIX_PTHREAD_SEMANTICS
+
+.include "../../devel/meson/build.mk"
+.include "../../lang/python/tool.mk"
+.include "../../devel/glib2/buildlink3.mk"
diff --git a/cairo/PLIST b/cairo/PLIST
new file mode 100644
index 0000000000..c88a03a593
--- /dev/null
+++ b/cairo/PLIST
@@ -0,0 +1,45 @@
+@comment $NetBSD$
+include/cairo/cairo-deprecated.h
+include/cairo/cairo-features.h
+include/cairo/cairo-ft.h
+include/cairo/cairo-gobject.h
+include/cairo/cairo-pdf.h
+include/cairo/cairo-ps.h
+${PLIST.quartz}include/cairo/cairo-quartz-image.h
+${PLIST.quartz}include/cairo/cairo-quartz.h
+include/cairo/cairo-script-interpreter.h
+include/cairo/cairo-script.h
+include/cairo/cairo-svg.h
+include/cairo/cairo-tee.h
+include/cairo/cairo-version.h
+${PLIST.xcb}include/cairo/cairo-xcb.h
+${PLIST.x11}include/cairo/cairo-xlib-xrender.h
+${PLIST.x11}include/cairo/cairo-xlib.h
+include/cairo/cairo.h
+lib/libcairo-gobject.so
+lib/libcairo-gobject.so.2
+lib/libcairo-gobject.so.2.11800.0
+lib/libcairo-script-interpreter.so
+lib/libcairo-script-interpreter.so.2
+lib/libcairo-script-interpreter.so.2.11800.0
+lib/libcairo.so
+lib/libcairo.so.2
+lib/libcairo.so.2.11800.0
+lib/pkgconfig/cairo-fc.pc
+lib/pkgconfig/cairo-ft.pc
+lib/pkgconfig/cairo-gobject.pc
+lib/pkgconfig/cairo-pdf.pc
+lib/pkgconfig/cairo-png.pc
+lib/pkgconfig/cairo-ps.pc
+${PLIST.quartz}lib/pkgconfig/cairo-quartz-font.pc
+${PLIST.quartz}lib/pkgconfig/cairo-quartz-image.pc
+${PLIST.quartz}lib/pkgconfig/cairo-quartz.pc
+lib/pkgconfig/cairo-script-interpreter.pc
+lib/pkgconfig/cairo-script.pc
+lib/pkgconfig/cairo-svg.pc
+lib/pkgconfig/cairo-tee.pc
+${PLIST.xcb}lib/pkgconfig/cairo-xcb-shm.pc
+${PLIST.xcb}lib/pkgconfig/cairo-xcb.pc
+${PLIST.x11}lib/pkgconfig/cairo-xlib-xrender.pc
+${PLIST.x11}lib/pkgconfig/cairo-xlib.pc
+lib/pkgconfig/cairo.pc
diff --git a/cairo/buildlink3.mk b/cairo/buildlink3.mk
new file mode 100644
index 0000000000..7ae5350ed0
--- /dev/null
+++ b/cairo/buildlink3.mk
@@ -0,0 +1,36 @@
+# $NetBSD: buildlink3.mk,v 1.63 2023/01/29 21:14:37 ryoon Exp $
+
+BUILDLINK_TREE+=	cairo
+
+.if !defined(CAIRO_BUILDLINK3_MK)
+CAIRO_BUILDLINK3_MK:=
+
+BUILDLINK_API_DEPENDS.cairo+=	cairo>=1.0.0nb2
+BUILDLINK_ABI_DEPENDS.cairo+=	cairo>=1.16.0nb9
+BUILDLINK_PKGSRCDIR.cairo?=	../../graphics/cairo
+
+BUILDLINK_API_DEPENDS.Xrender+=	Xrender>=0.8
+
+.include "../../mk/bsd.fast.prefs.mk"
+
+pkgbase := cairo
+.include "../../mk/pkg-build-options.mk"
+
+.if ${PKG_BUILD_OPTIONS.cairo:Mxcb}
+.include "../../x11/libxcb/buildlink3.mk"
+.endif
+
+.if ${PKG_BUILD_OPTIONS.cairo:Mx11} || ${PKG_BUILD_OPTIONS.cairo:Mxcb}
+.include "../../x11/libXext/buildlink3.mk"
+.include "../../x11/libXrender/buildlink3.mk"
+.endif
+
+.include "../../archivers/lzo/buildlink3.mk"
+.include "../../devel/zlib/buildlink3.mk"
+.include "../../fonts/fontconfig/buildlink3.mk"
+.include "../../graphics/freetype2/buildlink3.mk"
+.include "../../graphics/png/buildlink3.mk"
+.include "../../x11/pixman/buildlink3.mk"
+.endif # CAIRO_BUILDLINK3_MK
+
+BUILDLINK_TREE+=	-cairo
diff --git a/cairo/distinfo b/cairo/distinfo
new file mode 100644
index 0000000000..40cb5c3b2d
--- /dev/null
+++ b/cairo/distinfo
@@ -0,0 +1,10 @@
+$NetBSD: distinfo,v 1.97 2023/01/24 10:16:33 wiz Exp $
+
+BLAKE2s (cairo-1.18.0.tar.xz) = d17e3d7a1b32769f02500ff3edaf8a7e18974873a128c61e607f05e5216e8a63
+SHA512 (cairo-1.18.0.tar.xz) = 6366c7d5e3fd3e12df2edc43aa4ed4c3a517de2ef0b1b3b30dfa8b69a7cae1dd55765801228cec308d2e9792037d0704ae49d95b7b12c06f20df092fa0534e1c
+Size (cairo-1.18.0.tar.xz) = 33761148 bytes
+SHA1 (patch-ac) = 1785bbef6bcab4781bf89e1b986a7eb96e5f2b64
+SHA1 (patch-ad) = a1068a37113b162ccfe14d7f1bd0baa9df7e5530
+SHA1 (patch-meson.build) = 3187c754af123be69e1b5651165f6310c8786558
+SHA1 (patch-test_pdf-structure.c) = dd3e5ee2cdbc19e77c2d5a60dab98195ecbe82bb
+SHA1 (patch-util_meson.build) = 344d29f84114b441bbfede8b77d7a2d02d756ce4
diff --git a/cairo/hacks.mk b/cairo/hacks.mk
new file mode 100644
index 0000000000..b08a8079a2
--- /dev/null
+++ b/cairo/hacks.mk
@@ -0,0 +1,61 @@
+# $NetBSD: hacks.mk,v 1.7 2016/02/25 13:37:47 jperkin Exp $
+
+.if !defined(CAIRO_HACKS_MK)
+CAIRO_HACKS_MK=	defined
+
+###
+### A workaround for MacPorts Ticket #31469
+### https://trac.macports.org/ticket/31469
+###
+.if ${OPSYS} == "Darwin" && !empty(PKGSRC_COMPILER:Mgcc)
+_BAD_GCC_BUILD!=	${CC} --version | (${GREP} -c 'i686-apple-darwin11-llvm-gcc-4\.2\ .*build\ 5658' || ${TRUE})
+.  if ${_BAD_GCC_BUILD} == "1"
+PKG_HACKS+=		llvm-lto-hack
+BUILDLINK_TRANSFORM+=	rm:-flto
+.  endif
+.endif
+
+# Workaround so that pthread is found on MirBSD
+OPSYSVARS+=		PTHREAD_CFLAGS
+PTHREAD_CFLAGS.MirBSD=	-fhonour-copts
+
+#
+# Workaround for "the pixman problem" with netbsd-5 native X. The
+# problem is that if the order of rpath options isn't right when
+# linking client programs (right being /usr/pkg before /usr/X11R7),
+# the native pixman library gets pulled in instead of the pkgsrc one,
+# and then the link fails with undefined symbols from cairo; these are
+# symbols that are present only in the newer pkgsrc pixman. The
+# problem with rpath options and ordering is complicated by there
+# being multiple ways of writing them (-R, -Wl,-rpath, etc.) and as
+# many packages just blat out flags from various sources they don't
+# necessarily match or come out in the right order.
+#
+# Some cases of "the pixman problem" were solved with one set of
+# changes a month ago or so, but other packages still fail for the
+# reasons cited. In the absence of a wrappers-based general solution
+# to keep the order correct, most or all remaining instances can be
+# solved by explicitly adding the necessary pixman lib to the link
+# line instead of pulling it in via cairo's dependency on it. Or at
+# least, this fixes the build. It should also make the right things
+# happen during library search (I think) but that's less clear. I hate
+# ELF.
+#
+# The best way to explicitly add pixman to the link line is to hack it
+# into cairo's .pc file. This is what we do here.
+#
+# Note that this hack is also required for 5.99 earlier than whatever
+# point the necessary updates to X were applied. I'm assuming this is
+# old enough that nobody's going to care.
+#
+.if !empty(MACHINE_PLATFORM:MNetBSD-5.*) && \
+    empty(MACHINE_PLATFORM:MNetBSD-5.99.*) && \
+    ${X11_TYPE} == "native"
+SUBST_CLASSES+=		pixman
+SUBST_STAGE.pixman=	post-build
+SUBST_MESSAGE.pixman=	Hacking pixman into cairo.pc for the "pixman problem".
+SUBST_FILES.pixman=	src/cairo.pc
+SUBST_SED.pixman=	-e '/^Libs:/s/-lcairo/-lcairo -lpixman-1/'
+.endif
+
+.endif	# CAIRO_HACKS_MK
diff --git a/cairo/log b/cairo/log
new file mode 100644
index 0000000000..4da7a5e3ed
--- /dev/null
+++ b/cairo/log
@@ -0,0 +1,186 @@
+Release 1.18.0 (2023-09-20 Emmanuele Bassi <ebassi%gnome.org@localhost>)
+==============================================================
+
+The first stable cairo release in five years should be cause for celebration.
+
+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.
+
+Release 1.17.8 (2023-01-30 Emmanuele Bassi <ebassi%gnome.org@localhost>)
+==============================================================
+
+A new cairo snapshot! And it only took less than one year, this time!
+
+Many thanks to everyone who contributed to cairo, and especially
+to (in no particular order):
+
+- Adrian Johnson
+- Khaled Hosny
+- Behdad Esfahbod
+- Matthias Clasen
+- Uli Schlachter
+- Manuel Stoeckl
+- Fujii Hironori
+- Tim-Philipp Müller
+- Luca Bacci
+- Caolán McNamara
+- John Ralls
+
+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.
+
+Release 1.17.6 (2022-03-18 Emmanuele Bassi <ebassi%gnome.org@localhost>)
+==============================================================
+
+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@localhost>)
+========================================================================
+
+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@localhost>)
+========================================================================
+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
diff --git a/cairo/options.mk b/cairo/options.mk
new file mode 100644
index 0000000000..132f369f7a
--- /dev/null
+++ b/cairo/options.mk
@@ -0,0 +1,44 @@
+# $NetBSD: options.mk,v 1.23 2022/10/04 07:13:52 wiz Exp $
+
+PKG_OPTIONS_VAR=	PKG_OPTIONS.cairo
+PKG_SUPPORTED_OPTIONS=	x11 xcb
+.if exists(/System/Library/Frameworks/Quartz.framework)
+PKG_SUPPORTED_OPTIONS+=	quartz
+PKG_SUGGESTED_OPTIONS+=	quartz
+.else
+#PKG_SUGGESTED_OPTIONS=	x11 xcb
+.endif
+
+.include "../../mk/bsd.options.mk"
+
+PLIST_VARS+=		x11 xcb quartz
+
+###
+### X11 and XCB support (XCB implies X11)
+###
+.if !empty(PKG_OPTIONS:Mx11) || !empty(PKG_OPTIONS:Mxcb)
+PLIST.x11=		yes
+.include "../../x11/libX11/buildlink3.mk"
+.include "../../x11/libXext/buildlink3.mk"
+.include "../../x11/libXrender/buildlink3.mk"
+
+.  if !empty(PKG_OPTIONS:Mxcb)
+PLIST.xcb=		yes
+.    include "../../x11/libxcb/buildlink3.mk"
+.  endif
+.endif
+
+###
+### Quartz backend
+###
+# Quartz backend interacts badly with our library stack. The most
+# notable issue is that when quartz-font is enabled, cairo will never
+# use fontconfig but instead uses CoreGraphics API to find fonts in
+# system-default font paths; as a result, any fonts installed with
+# pkgsrc will never be found. OTOH fontconfig by default searches for
+# fonts in MacOS X system-default paths too so sticking with it will
+# not be a problem.
+.if !empty(PKG_OPTIONS:Mquartz)
+PLIST.quartz=		yes
+WARNINGS+=		"You have enabled Quartz backend. No fonts installed with pkgsrc will be found."
+.endif
diff --git a/cairo/patches/patch-ac b/cairo/patches/patch-ac
new file mode 100644
index 0000000000..ca3ccd2011
--- /dev/null
+++ b/cairo/patches/patch-ac
@@ -0,0 +1,17 @@
+$NetBSD: patch-ac,v 1.18 2012/11/04 23:48:54 wiz Exp $
+
+File is only installed by cairo-gobject, so manually
+define existence macro.
+
+--- util/cairo-gobject/cairo-gobject.h.orig	2010-09-09 15:56:24.000000000 +0000
++++ util/cairo-gobject/cairo-gobject.h
+@@ -39,6 +39,9 @@
+ 
+ #include <cairo.h>
+ 
++/* if this header is installed, cairo has gobject functions */
++#define CAIRO_HAS_GOBJECT_FUNCTIONS 1
++
+ #if CAIRO_HAS_GOBJECT_FUNCTIONS
+ 
+ #include <glib-object.h>
diff --git a/cairo/patches/patch-ad b/cairo/patches/patch-ad
new file mode 100644
index 0000000000..0b0f5135b8
--- /dev/null
+++ b/cairo/patches/patch-ad
@@ -0,0 +1,13 @@
+$NetBSD: patch-ad,v 1.11 2012/09/13 15:50:08 jperkin Exp $
+
+The variable name is self-explanatory :)
+
+--- util/cairo-missing/getline.c.orig	Thu Sep 13 15:45:55 2012
++++ util/cairo-missing/getline.c	Thu Sep 13 15:46:18 2012
+@@ -87,4 +87,6 @@
+     return ret;
+ }
+ #undef GETLINE_BUFFER_SIZE
++#else
++int solaris_ld_requires_at_least_one_symbol = 0;
+ #endif
diff --git a/cairo/patches/patch-meson.build b/cairo/patches/patch-meson.build
new file mode 100644
index 0000000000..e55dadd8bb
--- /dev/null
+++ b/cairo/patches/patch-meson.build
@@ -0,0 +1,14 @@
+$NetBSD$
+
+Look for library providing backtrace_symbols()
+
+--- meson.build.orig	2023-09-23 14:18:32.000000000 +0000
++++ meson.build
+@@ -167,6 +167,7 @@ check_thread_flags = [
+ ]
+ 
+ m_dep = cc.find_library('m', required: false)
++backtrace_dep = cc.find_library('execinfo', required: false)
+ # Used in util
+ gtk_dep = dependency('gtk+-2.0', required: get_option('gtk2-utils'))
+ 
diff --git a/cairo/patches/patch-test_pdf-structure.c b/cairo/patches/patch-test_pdf-structure.c
new file mode 100644
index 0000000000..6e26770a6d
--- /dev/null
+++ b/cairo/patches/patch-test_pdf-structure.c
@@ -0,0 +1,14 @@
+$NetBSD$
+
+Add header for WIFEXITED and WAITSTATUS.
+
+--- test/pdf-structure.c.orig	2023-09-23 14:18:32.000000000 +0000
++++ test/pdf-structure.c
+@@ -29,6 +29,7 @@
+ #include <stdio.h>
+ #include <string.h>
+ #include <stdlib.h>
++#include <sys/wait.h>
+ 
+ #ifdef HAVE_UNISTD_H
+ #include <unistd.h> /* __unix__ */
diff --git a/cairo/patches/patch-util_meson.build b/cairo/patches/patch-util_meson.build
new file mode 100644
index 0000000000..86f7523f45
--- /dev/null
+++ b/cairo/patches/patch-util_meson.build
@@ -0,0 +1,13 @@
+$NetBSD$
+
+Use library providing backtrace_symbols()
+
+--- util/meson.build.orig	2023-09-23 14:18:32.000000000 +0000
++++ util/meson.build
+@@ -43,5 +43,5 @@ foreach util : cairo_utils
+ endforeach
+ 
+ if conf.get('CAIRO_HAS_DLSYM', 0) == 1 and cc.has_header('execinfo.h')
+-  libmallocstats = library('malloc-stats', 'malloc-stats.c', dependencies : dl_dep)
++  libmallocstats = library('malloc-stats', 'malloc-stats.c', dependencies : [dl_dep, backtrace_dep])
+ endif


Home | Main Index | Thread Index | Old Index