public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Sam James" <sam@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: x11-libs/cairo/files/, x11-libs/cairo/
Date: Wed, 18 Sep 2024 03:45:22 +0000 (UTC)	[thread overview]
Message-ID: <1726631093.1013e397bc7000b42a9c2a185b6a1d92e4509d1d.sam@gentoo> (raw)

commit:     1013e397bc7000b42a9c2a185b6a1d92e4509d1d
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Sep 18 03:44:53 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Sep 18 03:44:53 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1013e397

x11-libs/cairo: fix cups compat

Closes: https://bugs.gentoo.org/939607
Signed-off-by: Sam James <sam <AT> gentoo.org>

 x11-libs/cairo/cairo-1.18.2-r1.ebuild        | 96 ++++++++++++++++++++++++++++
 x11-libs/cairo/files/cairo-1.18.2-cups.patch | 32 ++++++++++
 2 files changed, 128 insertions(+)

diff --git a/x11-libs/cairo/cairo-1.18.2-r1.ebuild b/x11-libs/cairo/cairo-1.18.2-r1.ebuild
new file mode 100644
index 000000000000..9bcd379e8859
--- /dev/null
+++ b/x11-libs/cairo/cairo-1.18.2-r1.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson-multilib
+
+if [[ ${PV} == *9999* ]]; then
+	inherit git-r3
+	EGIT_REPO_URI="https://gitlab.freedesktop.org/cairo/cairo.git"
+else
+	SRC_URI="https://gitlab.freedesktop.org/cairo/cairo/-/archive/${PV}/cairo-${PV}.tar.bz2"
+	KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+fi
+
+DESCRIPTION="A vector graphics library with cross-device output support"
+HOMEPAGE="https://www.cairographics.org/ https://gitlab.freedesktop.org/cairo/cairo"
+LICENSE="|| ( LGPL-2.1 MPL-1.1 )"
+SLOT="0"
+IUSE="X aqua debug +glib gtk-doc test"
+# Tests need more wiring up like e.g. https://gitlab.freedesktop.org/cairo/cairo/-/blob/master/.gitlab-ci.yml
+# any2ppm tests seem to hang for now.
+RESTRICT="test !test? ( test )"
+
+RDEPEND="
+	>=dev-libs/lzo-2.06-r1:2[${MULTILIB_USEDEP}]
+	>=media-libs/fontconfig-2.13.92[${MULTILIB_USEDEP}]
+	>=media-libs/freetype-2.13:2[png,${MULTILIB_USEDEP}]
+	>=media-libs/libpng-1.6.10:0=[${MULTILIB_USEDEP}]
+	>=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]
+	>=x11-libs/pixman-0.42.3[${MULTILIB_USEDEP}]
+	debug? ( sys-libs/binutils-libs:0=[${MULTILIB_USEDEP}] )
+	glib? ( >=dev-libs/glib-2.34.3:2[${MULTILIB_USEDEP}] )
+	X? (
+		>=x11-libs/libXrender-0.9.8[${MULTILIB_USEDEP}]
+		>=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
+		>=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
+		>=x11-libs/libxcb-1.9.1:=[${MULTILIB_USEDEP}]
+	)"
+DEPEND="${RDEPEND}
+	test? (
+		app-text/ghostscript-gpl
+		app-text/poppler[cairo]
+		gnome-base/librsvg
+	)
+	X? ( x11-base/xorg-proto )"
+BDEPEND="
+	virtual/pkgconfig
+	gtk-doc? ( dev-util/gtk-doc )"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-respect-fontconfig.patch
+	"${FILESDIR}"/${P}-cups.patch
+)
+
+multilib_src_configure() {
+	local emesonargs=(
+		-Ddwrite=disabled
+		-Dfontconfig=enabled
+		-Dfreetype=enabled
+		-Dpng=enabled
+		$(meson_feature aqua quartz)
+		$(meson_feature X tee)
+		$(meson_feature X xcb)
+		$(meson_feature X xlib)
+		-Dxlib-xcb=disabled
+		-Dzlib=enabled
+
+		# Requires poppler-glib (poppler[cairo]) which isn't available in multilib
+		$(meson_native_use_feature test tests)
+
+		-Dgtk2-utils=disabled
+
+		$(meson_feature glib)
+		-Dspectre=disabled # only used for tests
+		$(meson_feature debug symbol-lookup)
+
+		$(meson_use gtk-doc gtk_doc)
+	)
+
+	meson_src_configure
+}
+
+multilib_src_test() {
+	multilib_is_native_abi && meson_src_test
+}
+
+multilib_src_install_all() {
+	einstalldocs
+
+	if use gtk-doc; then
+		mkdir -p "${ED}"/usr/share/gtk-doc/cairo || die
+		mv "${ED}"/usr/share/gtk-doc/{html/cairo,cairo/html} || die
+		rmdir "${ED}"/usr/share/gtk-doc/html || die
+	fi
+}

diff --git a/x11-libs/cairo/files/cairo-1.18.2-cups.patch b/x11-libs/cairo/files/cairo-1.18.2-cups.patch
new file mode 100644
index 000000000000..6a34c28a6250
--- /dev/null
+++ b/x11-libs/cairo/files/cairo-1.18.2-cups.patch
@@ -0,0 +1,32 @@
+https://bugs.gentoo.org/939607
+https://gitlab.freedesktop.org/cairo/cairo/-/issues/870
+https://gitlab.freedesktop.org/cairo/cairo/-/merge_requests/595
+https://gitlab.freedesktop.org/cairo/cairo/-/commit/f19e2fe080ddcfce93c8234a919fd882f3d63362
+
+From f19e2fe080ddcfce93c8234a919fd882f3d63362 Mon Sep 17 00:00:00 2001
+From: Adrian Johnson <ajohnson@redneon.com>
+Date: Fri, 13 Sep 2024 06:28:39 +0930
+Subject: [PATCH] cff: Don't fail if no local subs
+
+Fixes: #870
+--- a/src/cairo-cff-subset.c
++++ b/src/cairo-cff-subset.c
+@@ -952,9 +952,13 @@ cairo_cff_font_read_private_dict (cairo_cff_font_t   *font,
+ 	 decode_number (operand, nominal_width);
+ 
+     num_subs = _cairo_array_num_elements (local_sub_index);
+-    *local_subs_used = _cairo_calloc_ab (num_subs, sizeof (cairo_bool_t));
+-    if (unlikely (*local_subs_used == NULL))
+-	return _cairo_error (CAIRO_STATUS_NO_MEMORY);
++    if (num_subs > 0) {
++	*local_subs_used = _cairo_calloc_ab (num_subs, sizeof (cairo_bool_t));
++	if (unlikely (*local_subs_used == NULL))
++	    return _cairo_error (CAIRO_STATUS_NO_MEMORY);
++    } else {
++	*local_subs_used = NULL;
++    }
+ 
+     if (num_subs < 1240)
+ 	*local_sub_bias = 107;
+-- 
+GitLab


             reply	other threads:[~2024-09-18  3:45 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-09-18  3:45 Sam James [this message]
  -- strict thread matches above, loose matches on Subject: below --
2025-04-14  3:45 [gentoo-commits] repo/gentoo:master commit in: x11-libs/cairo/files/, x11-libs/cairo/ Matt Turner
2023-01-26 17:47 Matt Turner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1726631093.1013e397bc7000b42a9c2a185b6a1d92e4509d1d.sam@gentoo \
    --to=sam@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox