From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <gentoo-commits+bounces-1560953-garchives=archives.gentoo.org@lists.gentoo.org>
Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (2048 bits))
	(No client certificate requested)
	by finch.gentoo.org (Postfix) with ESMTPS id 19577158089
	for <garchives@archives.gentoo.org>; Sun,  8 Oct 2023 11:51:44 +0000 (UTC)
Received: from pigeon.gentoo.org (localhost [127.0.0.1])
	by pigeon.gentoo.org (Postfix) with SMTP id 3A7752BC0C0;
	Sun,  8 Oct 2023 11:51:43 +0000 (UTC)
Received: from smtp.gentoo.org (smtp.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
	(No client certificate requested)
	by pigeon.gentoo.org (Postfix) with ESMTPS id 19E1E2BC09A
	for <gentoo-commits@lists.gentoo.org>; Sun,  8 Oct 2023 11:51:43 +0000 (UTC)
Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
	(No client certificate requested)
	by smtp.gentoo.org (Postfix) with ESMTPS id 3F261335C56
	for <gentoo-commits@lists.gentoo.org>; Sun,  8 Oct 2023 11:51:42 +0000 (UTC)
Received: from localhost.localdomain (localhost [IPv6:::1])
	by oystercatcher.gentoo.org (Postfix) with ESMTP id B2AE3BC2
	for <gentoo-commits@lists.gentoo.org>; Sun,  8 Oct 2023 11:51:40 +0000 (UTC)
From: "Pacho Ramos" <pacho@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Content-Transfer-Encoding: 8bit
Content-type: text/plain; charset=UTF-8
Reply-To: gentoo-dev@lists.gentoo.org, "Pacho Ramos" <pacho@gentoo.org>
Message-ID: <1696765871.6c2eebaeb75a0ca790a596d03ebd58a074b5b643.pacho@gentoo>
Subject: [gentoo-commits] repo/gentoo:master commit in: gui-libs/gtk/
X-VCS-Repository: repo/gentoo
X-VCS-Files: gui-libs/gtk/Manifest gui-libs/gtk/gtk-4.12.3.ebuild
X-VCS-Directories: gui-libs/gtk/
X-VCS-Committer: pacho
X-VCS-Committer-Name: Pacho Ramos
X-VCS-Revision: 6c2eebaeb75a0ca790a596d03ebd58a074b5b643
X-VCS-Branch: master
Date: Sun,  8 Oct 2023 11:51:40 +0000 (UTC)
Precedence: bulk
List-Post: <mailto:gentoo-commits@lists.gentoo.org>
List-Help: <mailto:gentoo-commits+help@lists.gentoo.org>
List-Unsubscribe: <mailto:gentoo-commits+unsubscribe@lists.gentoo.org>
List-Subscribe: <mailto:gentoo-commits+subscribe@lists.gentoo.org>
List-Id: Gentoo Linux mail <gentoo-commits.gentoo.org>
X-BeenThere: gentoo-commits@lists.gentoo.org
X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply
X-Archives-Salt: f3876c43-8562-4384-a55d-3892edf2e70a
X-Archives-Hash: 20753605cdcaa3c40bb003b31ae4c433

commit:     6c2eebaeb75a0ca790a596d03ebd58a074b5b643
Author:     Guillermo Joandet <gjoandet <AT> gmail <DOT> com>
AuthorDate: Thu Sep 28 13:02:54 2023 +0000
Commit:     Pacho Ramos <pacho <AT> gentoo <DOT> org>
CommitDate: Sun Oct  8 11:51:11 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6c2eebae

gui-libs/gtk: Version bump to 4.12.3

Signed-off-by: Guillermo Joandet <gjoandet <AT> gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/33100
Signed-off-by: Pacho Ramos <pacho <AT> gentoo.org>

 gui-libs/gtk/Manifest          |   1 +
 gui-libs/gtk/gtk-4.12.3.ebuild | 228 +++++++++++++++++++++++++++++++++++++++++
 2 files changed, 229 insertions(+)

diff --git a/gui-libs/gtk/Manifest b/gui-libs/gtk/Manifest
index 3c05c79280d8..22a52fb24110 100644
--- a/gui-libs/gtk/Manifest
+++ b/gui-libs/gtk/Manifest
@@ -1,2 +1,3 @@
 DIST gtk-4.10.5.tar.xz 16403464 BLAKE2B 9ca10de5e178e0b3e34fdf5f6126fc89e914a06e60c1c160b6273a5eb10b60e362e3db27af6012d2ea92452bb5787e6784e11d1f15a4ff284b04bbf9750ff91a SHA512 7ca1d2cabbeb6020613fcb11f57b8161f38337a6c3bc3572365dd642af9498fad0f5b2fc0a2419e06567d541e62e67b3d1087ab9bd3e756363052b2f7b366fde
 DIST gtk-4.12.2.tar.xz 16942832 BLAKE2B a4916d1b6fd6669422c2b18db70f6cc318ec330baafd4a6a9ceb4d37e7a9fd1206131a5b146ff33d4ac2c5f1e5d879f77026f7bd136e082630960a82212f4274 SHA512 5373a3c6bf434644b97c955207c80833c8f77402baca6a91b0f467b5a2fea1474e6913104ee764d61df19a8ca98c117580ad54a95cfab64113e26e8bdc3ff095
+DIST gtk-4.12.3.tar.xz 16930224 BLAKE2B e90ab03a4eb84a3bb4213772c7c47601d99044275489d8bdd60d0fc5929d0dcef4445e6892c41df804111e4631b14e90ce8a3f0841bfbbe23cbbf06775f2bbb9 SHA512 f3efa9ad340362cecd81389219092b46e3b3f7b049dd6e02aecf4ac74f64f413f0b99c23cfac854e6b0a84d9715fb832beb7e0e698fcdb90ee49a78b27d0e366

diff --git a/gui-libs/gtk/gtk-4.12.3.ebuild b/gui-libs/gtk/gtk-4.12.3.ebuild
new file mode 100644
index 000000000000..129a4ca40173
--- /dev/null
+++ b/gui-libs/gtk/gtk-4.12.3.ebuild
@@ -0,0 +1,228 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+PYTHON_COMPAT=( python3_{10..12} )
+inherit gnome.org gnome2-utils meson optfeature python-any-r1 toolchain-funcs virtualx xdg
+
+DESCRIPTION="GTK is a multi-platform toolkit for creating graphical user interfaces"
+HOMEPAGE="https://www.gtk.org/ https://gitlab.gnome.org/GNOME/gtk/"
+
+LICENSE="LGPL-2+"
+SLOT="4"
+IUSE="aqua broadway cloudproviders colord cups examples ffmpeg gstreamer +introspection sysprof test vulkan wayland +X cpu_flags_x86_f16c"
+REQUIRED_USE="
+	|| ( aqua wayland X )
+	test? ( introspection )
+"
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+COMMON_DEPEND="
+	>=dev-libs/glib-2.76.0:2
+	>=x11-libs/cairo-1.17.6[aqua?,glib,svg(+),X?]
+	>=x11-libs/pango-1.50.0[introspection?]
+	>=dev-libs/fribidi-1.0.6
+	>=media-libs/harfbuzz-2.6.0:=
+	>=x11-libs/gdk-pixbuf-2.30:2[introspection?]
+	media-libs/libpng:=
+	media-libs/tiff:=
+	media-libs/libjpeg-turbo:=
+	>=media-libs/libepoxy-1.4[egl,X(+)?]
+	>=media-libs/graphene-1.10.0[introspection?]
+	app-text/iso-codes
+	x11-misc/shared-mime-info
+
+	cloudproviders? ( net-libs/libcloudproviders )
+	colord? ( >=x11-misc/colord-0.1.9:0= )
+	cups? ( >=net-print/cups-2.0 )
+	ffmpeg? ( media-video/ffmpeg:= )
+	gstreamer? (
+		>=media-libs/gst-plugins-bad-1.12.3:1.0
+		>=media-libs/gst-plugins-base-1.12.3:1.0[opengl]
+	)
+	introspection? ( >=dev-libs/gobject-introspection-1.76:= )
+	vulkan? ( media-libs/vulkan-loader:= )
+	wayland? (
+		>=dev-libs/wayland-1.21.0
+		>=dev-libs/wayland-protocols-1.31
+		media-libs/mesa[wayland]
+		>=x11-libs/libxkbcommon-0.2
+	)
+	X? (
+		>=app-accessibility/at-spi2-core-2.46.0
+		media-libs/fontconfig
+		media-libs/mesa[X(+)]
+		x11-libs/libX11
+		>=x11-libs/libXi-1.8
+		x11-libs/libXext
+		>=x11-libs/libXrandr-1.5
+		x11-libs/libXcursor
+		x11-libs/libXfixes
+		x11-libs/libXdamage
+		x11-libs/libXinerama
+	)
+"
+DEPEND="${COMMON_DEPEND}
+	sysprof? ( >=dev-util/sysprof-capture-3.40.1:4 )
+	X? ( x11-base/xorg-proto )
+"
+RDEPEND="${COMMON_DEPEND}
+	>=dev-util/gtk-update-icon-cache-3
+"
+# librsvg for svg icons (PDEPEND to avoid circular dep), bug #547710
+PDEPEND="
+	gnome-base/librsvg
+	>=x11-themes/adwaita-icon-theme-3.14
+"
+BDEPEND="
+	dev-libs/gobject-introspection-common
+	introspection? (
+		${PYTHON_DEPS}
+		$(python_gen_any_dep '
+			dev-python/pygobject:3[${PYTHON_USEDEP}]
+		')
+	)
+	dev-python/docutils
+	dev-libs/glib
+	>=dev-util/gdbus-codegen-2.48
+	dev-util/glib-utils
+	>=sys-devel/gettext-0.19.7
+	virtual/pkgconfig
+	test? (
+		dev-libs/glib:2
+		media-fonts/cantarell
+		wayland? ( dev-libs/weston[headless] )
+	)
+"
+
+python_check_deps() {
+	python_has_version "dev-python/pygobject:3[${PYTHON_USEDEP}]" || return
+}
+
+pkg_setup() {
+	use introspection && python-any-r1_pkg_setup
+}
+
+src_prepare() {
+	default
+	xdg_environment_reset
+
+	# Nothing should use gtk4-update-icon-cache and an unversioned one is shipped by dev-util/gtk-update-icon-cache
+	sed -i \
+		-e '/gtk4-update-icon-cache/d' \
+		docs/reference/gtk/meson.build \
+		tools/meson.build \
+		|| die
+
+	# The border-image-excess-size.ui test is known to fail on big-endian platforms
+	# See https://gitlab.gnome.org/GNOME/gtk/-/issues/5904
+	if [[ $(tc-endian) == big ]]; then
+		sed -i \
+			-e "/border-image-excess-size.ui/d" \
+			-e "/^xfails =/a 'border-image-excess-size.ui'," \
+			testsuite/reftests/meson.build || die
+	fi
+}
+
+src_configure() {
+	local emesonargs=(
+		# GDK backends
+		$(meson_use X x11-backend)
+		$(meson_use wayland wayland-backend)
+		$(meson_use broadway broadway-backend)
+		-Dwin32-backend=false
+		$(meson_use aqua macos-backend)
+
+		# Media backends
+		$(meson_feature ffmpeg media-ffmpeg)
+		$(meson_feature gstreamer media-gstreamer)
+
+		# Print backends
+		-Dprint-cpdb=disabled
+		$(meson_feature cups print-cups)
+
+		# Optional dependencies
+		$(meson_feature vulkan)
+		$(meson_feature cloudproviders)
+		$(meson_feature sysprof)
+		-Dtracker=disabled  # tracker3 is not packaged in Gentoo yet
+		$(meson_feature colord)
+		# Expected to fail with GCC < 11
+		# See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71993
+		$(meson_feature cpu_flags_x86_f16c f16c)
+
+		# Introspection
+		$(meson_feature introspection)
+
+		# Documentation
+		-Ddocumentation=false # we ship pregenerated API docs from tarball
+		-Dscreenshots=false
+		-Dman-pages=true
+
+		# Demos, examples, and tests
+		-Ddemo-profile=default
+		$(meson_use examples build-demos)
+		$(meson_use test build-testsuite)
+		$(meson_use examples build-examples)
+		-Dbuild-tests=false
+	)
+	meson_src_configure
+}
+
+src_test() {
+	"${BROOT}${GLIB_COMPILE_SCHEMAS}" --allow-any-name "${S}/gtk" || die
+
+	if use X; then
+		einfo "Running tests under X"
+		GSETTINGS_SCHEMA_DIR="${S}/gtk" virtx meson_src_test --setup=x11 --timeout-multiplier=130
+	fi
+
+	if use wayland; then
+		einfo "Running tests under Weston"
+
+		export XDG_RUNTIME_DIR="$(mktemp -p $(pwd) -d xdg-runtime-XXXXXX)"
+
+		weston --backend=headless-backend.so --socket=wayland-5 --idle-time=0 &
+		compositor=$!
+		export WAYLAND_DISPLAY=wayland-5
+
+		GSETTINGS_SCHEMA_DIR="${S}/gtk" meson_src_test --setup=wayland --timeout-multiplier=130
+
+		exit_code=$?
+		kill ${compositor}
+	fi
+}
+
+src_install() {
+	meson_src_install
+
+	insinto /usr/share/gtk-doc/html
+	# This will install API docs specific to X11 and wayland regardless of USE flags, but this is intentional
+	doins -r "${S}"/docs/reference/{gtk/gtk4,gsk/gsk4,gdk/gdk4{,-wayland,-x11}}
+}
+
+pkg_preinst() {
+	xdg_pkg_preinst
+	gnome2_schemas_savelist
+}
+
+pkg_postinst() {
+	xdg_pkg_postinst
+	gnome2_schemas_update
+
+	if ! has_version "app-text/evince"; then
+		elog "Please install app-text/evince for print preview functionality."
+		elog "Alternatively, check \"gtk-print-preview-command\" documentation and"
+		elog "add it to your settings.ini file."
+	fi
+
+	if use examples ; then
+		optfeature "syntax highlighting in gtk4-demo" app-text/highlight
+	fi
+}
+
+pkg_postrm() {
+	xdg_pkg_postrm
+	gnome2_schemas_update
+}