aboutsummaryrefslogtreecommitdiff
path: root/x11-libs/gtk+/gtk+-3.24.51.ebuild
diff options
context:
space:
mode:
authorProsperousPotato <ProsperousPotato@users.noreply.github.com>2026-01-12 20:33:44 +0000
committerProsperousPotato <ProsperousPotato@users.noreply.github.com>2026-01-12 20:33:44 +0000
commita5983b59397933b505cebc1ebb327f8a083c80c6 (patch)
tree59a4caf0209759b8ac5d4c2fac9f963d53619c26 /x11-libs/gtk+/gtk+-3.24.51.ebuild
parent473d8d570ade587c2b976d9a6590ee4ffc315ce9 (diff)
add patched gtk+ from flussence
Diffstat (limited to 'x11-libs/gtk+/gtk+-3.24.51.ebuild')
-rw-r--r--x11-libs/gtk+/gtk+-3.24.51.ebuild213
1 files changed, 213 insertions, 0 deletions
diff --git a/x11-libs/gtk+/gtk+-3.24.51.ebuild b/x11-libs/gtk+/gtk+-3.24.51.ebuild
new file mode 100644
index 0000000..d4930e7
--- /dev/null
+++ b/x11-libs/gtk+/gtk+-3.24.51.ebuild
@@ -0,0 +1,213 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+# shellcheck disable=SC2317
+
+# https://codeberg.org/flussence/flussence-overlay.git
+
+EAPI=8
+
+GNOME_ORG_MODULE="gtk"
+inherit gnome2 meson-multilib multilib verify-sig virtualx
+
+DESCRIPTION="Gimp ToolKit +"
+HOMEPAGE="https://www.gtk.org/"
+SRC_URI+=" verify-sig? ( ${SRC_URI%%.tar*}.sha256sum )"
+LICENSE="LGPL-2+"
+SLOT="3"
+KEYWORDS="~amd64 ~x86"
+IUSE="aqua accessibility broadway cloudproviders colord cups examples gtk-doc +introspection sysprof test vim-syntax wayland +X xinerama"
+RESTRICT="!test? ( test )"
+
+REQUIRED_USE="
+ || ( aqua wayland X )
+ test? ( X )
+ xinerama? ( X )
+"
+
+COMMON_DEPEND="
+ >=dev-libs/fribidi-0.19.7[${MULTILIB_USEDEP}]
+ >=dev-libs/glib-2.57.2:2[${MULTILIB_USEDEP}]
+ media-libs/fontconfig[${MULTILIB_USEDEP}]
+ >=media-libs/harfbuzz-2.2.0:=
+ >=media-libs/libepoxy-1.4[X(+)?,egl(+),${MULTILIB_USEDEP}]
+ virtual/libintl[${MULTILIB_USEDEP}]
+ >=x11-libs/cairo-1.14[aqua?,glib,svg(+),X?,${MULTILIB_USEDEP}]
+ >=x11-libs/gdk-pixbuf-2.30:2[introspection?,${MULTILIB_USEDEP}]
+ >=x11-libs/pango-1.44.0[introspection?,${MULTILIB_USEDEP}]
+ x11-misc/shared-mime-info
+
+ cloudproviders? ( net-libs/libcloudproviders[${MULTILIB_USEDEP}] )
+ colord? ( >=x11-misc/colord-0.1.9:0=[${MULTILIB_USEDEP}] )
+ cups? ( >=net-print/cups-2.0[${MULTILIB_USEDEP}] )
+ introspection? ( >=dev-libs/gobject-introspection-1.39:= )
+ wayland? (
+ >=dev-libs/wayland-1.14.91[${MULTILIB_USEDEP}]
+ >=dev-libs/wayland-protocols-1.32
+ media-libs/mesa[wayland,${MULTILIB_USEDEP}]
+ >=x11-libs/libxkbcommon-0.2[${MULTILIB_USEDEP}]
+ )
+ X? (
+ accessibility? ( >=app-accessibility/at-spi2-core-2.46.0[${MULTILIB_USEDEP}] )
+ media-libs/libglvnd[X(+),${MULTILIB_USEDEP}]
+ x11-libs/libX11[${MULTILIB_USEDEP}]
+ x11-libs/libXcomposite[${MULTILIB_USEDEP}]
+ x11-libs/libXcursor[${MULTILIB_USEDEP}]
+ x11-libs/libXdamage[${MULTILIB_USEDEP}]
+ x11-libs/libXext[${MULTILIB_USEDEP}]
+ x11-libs/libXfixes[${MULTILIB_USEDEP}]
+ >=x11-libs/libXi-1.8[${MULTILIB_USEDEP}]
+ >=x11-libs/libXrandr-1.5[${MULTILIB_USEDEP}]
+ xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
+ )
+"
+DEPEND="${COMMON_DEPEND}
+ test? (
+ media-fonts/font-cursor-misc
+ media-fonts/font-misc-misc
+ )
+ sysprof? ( >=dev-util/sysprof-capture-3.33.2:3[${MULTILIB_USEDEP}] )
+ 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[${MULTILIB_USEDEP}]
+ >=x11-themes/adwaita-icon-theme-3.14
+ vim-syntax? ( app-vim/gtk-syntax )
+"
+BDEPEND="
+ app-text/docbook-xml-dtd:4.1.2
+ app-text/docbook-xsl-stylesheets
+ >=dev-build/gtk-doc-am-1.20
+ dev-libs/gobject-introspection-common
+ dev-libs/libxslt
+ >=dev-util/gdbus-codegen-2.48
+ dev-util/glib-utils
+ wayland? ( dev-util/wayland-scanner )
+ >=sys-devel/gettext-0.19.7
+ virtual/pkgconfig
+ x11-libs/gdk-pixbuf:2
+ gtk-doc? (
+ app-text/docbook-xml-dtd:4.3
+ >=dev-util/gtk-doc-1.20
+ )
+ test? ( sys-apps/dbus )
+"
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/gtk-query-immodules-3.0"$(get_exeext)"
+)
+
+PATCHES=(
+ # get rid of gtk3-atk-bridge crap
+ "${FILESDIR}"/atk-bridge.patch
+ # gtk-update-icon-cache is installed by dev-util/gtk-update-icon-cache
+ "${FILESDIR}"/update-icon-cache.patch
+)
+
+src_unpack() {
+ if use verify-sig; then
+ pushd "${DISTDIR}" || die
+ verify-sig_verify_unsigned_checksums "${A##* }" sha256 "${A%% *}"
+ popd || die
+ fi
+
+ default
+}
+
+multilib_src_configure() {
+ local emesonargs
+ emesonargs=(
+ "$(meson_use accessibility atk_bridge)"
+ "$(meson_use aqua quartz_backend)"
+ "$(meson_use broadway broadway_backend)"
+ "$(meson_use cloudproviders)"
+ "$(meson_use examples demos)"
+ "$(meson_use examples)"
+ "$(meson_native_use_bool gtk-doc gtk_doc)"
+ "$(meson_native_use_bool introspection)"
+ "$(meson_use sysprof profiler)"
+ "$(meson_use wayland wayland_backend)"
+ "$(meson_use X x11_backend)"
+ "-Dcolord=$(usex colord yes no)"
+ "-Dprint_backends=$(usex cups cups,file,lpr file,lpr)"
+ "-Dxinerama=$(usex xinerama yes no)"
+ # Include backend immodules into gtk itself, to avoid problems like
+ # https://gitlab.gnome.org/GNOME/gnome-shell/issues/109 from a
+ # user overridden GTK_IM_MODULE envvar
+ -Dbuiltin_immodules=backend
+ -Dman=true
+ "$(meson_use test tests)"
+ -Dtracker3=false
+ )
+ meson_src_configure
+}
+
+multilib_src_compile() {
+ meson_src_compile
+}
+
+multilib_src_test() {
+ virtx dbus-run-session meson test -C "${BUILD_DIR}" --timeout-multiplier 4 || die
+}
+
+multilib_src_install() {
+ meson_src_install
+}
+
+multilib_src_install_all() {
+ insinto /etc/gtk-3.0
+ doins "${FILESDIR}"/settings.ini
+ # Skip README.win32.md that would get installed by default
+ DOCS=( NEWS README.md )
+ einstalldocs
+}
+
+pkg_preinst() {
+ gnome2_pkg_preinst
+
+ # shellcheck disable=SC2329
+ multilib_pkg_preinst() {
+ # Make immodules.cache belongs to gtk+ alone
+ local cache
+ cache="/usr/$(get_libdir)/gtk-3.0/3.0.0/immodules.cache"
+
+ if [[ -e "${EROOT}${cache}" ]]; then
+ cp "${EROOT}${cache}" "${ED}${cache}" || die
+ else
+ touch "${ED}${cache}" || die
+ fi
+ }
+ multilib_parallel_foreach_abi multilib_pkg_preinst
+}
+
+pkg_postinst() {
+ gnome2_pkg_postinst
+
+ # shellcheck disable=SC2329
+ multilib_pkg_postinst() {
+ gnome2_query_immodules_gtk3 ||
+ die "Update immodules cache failed (for ${ABI})"
+ }
+ multilib_parallel_foreach_abi multilib_pkg_postinst
+
+ 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
+}
+
+pkg_postrm() {
+ gnome2_pkg_postrm
+
+ if [[ -z ${REPLACED_BY_VERSION} ]]; then
+ # shellcheck disable=SC2329
+ multilib_pkg_postrm() {
+ rm -f "${EROOT}/usr/$(get_libdir)/gtk-3.0/3.0.0/immodules.cache"
+ }
+ multilib_foreach_abi multilib_pkg_postrm
+ fi
+}