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
next 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