diff options
author | Mart Raudsepp <leio@gentoo.org> | 2021-12-12 19:24:37 +0200 |
---|---|---|
committer | Mart Raudsepp <leio@gentoo.org> | 2021-12-12 19:27:54 +0200 |
commit | 60cc119b996d4df79b54107afb84356bc60971ea (patch) | |
tree | 83d1a63f593da83942cf17ba1df5d04f1d54f91a /x11-libs/gdk-pixbuf | |
parent | net-libs/webkit-gtk: bump to 2.34.2 (diff) | |
download | gentoo-60cc119b996d4df79b54107afb84356bc60971ea.tar.gz gentoo-60cc119b996d4df79b54107afb84356bc60971ea.tar.bz2 gentoo-60cc119b996d4df79b54107afb84356bc60971ea.zip |
x11-libs/gdk-pixbuf: rework gtk-doc handling, use builtin jpeg, etc
* gdk-pixbuf contains pregenerated gtk-docs, so just install those to
the place where our devhelp will actually find them too
* Build jpeg support into gdk-pixbuf instead of a module, as upstream
has started doing so by default as well. With USE=-jpeg it'll work
as needed, as it's not part of enabled loaders then
* Add missing einstalldocs for NEWS and co
* Always depend on docbook-xml-dtd, as needed for manpage generation
* Drop old meson minimum requirement as meson.eclass requires much
newer by now
Closes: https://bugs.gentoo.org/809794
Closes: https://bugs.gentoo.org/811201
Package-Manager: Portage-3.0.20, Repoman-3.0.2
Signed-off-by: Mart Raudsepp <leio@gentoo.org>
Diffstat (limited to 'x11-libs/gdk-pixbuf')
-rw-r--r-- | x11-libs/gdk-pixbuf/gdk-pixbuf-2.42.6-r1.ebuild | 116 |
1 files changed, 116 insertions, 0 deletions
diff --git a/x11-libs/gdk-pixbuf/gdk-pixbuf-2.42.6-r1.ebuild b/x11-libs/gdk-pixbuf/gdk-pixbuf-2.42.6-r1.ebuild new file mode 100644 index 000000000000..d8033cb745e8 --- /dev/null +++ b/x11-libs/gdk-pixbuf/gdk-pixbuf-2.42.6-r1.ebuild @@ -0,0 +1,116 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit gnome.org gnome2-utils meson-multilib multilib xdg + +DESCRIPTION="Image loading library for GTK+" +HOMEPAGE="https://gitlab.gnome.org/GNOME/gdk-pixbuf" + +LICENSE="LGPL-2.1+" +SLOT="2" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="+introspection jpeg tiff" + +# TODO: For windows/darwin support: shared-mime-info conditional, native_windows_loaders option review +DEPEND=" + >=dev-libs/glib-2.56.0:2[${MULTILIB_USEDEP}] + x11-misc/shared-mime-info + >=media-libs/libpng-1.4:0=[${MULTILIB_USEDEP}] + jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) + tiff? ( >=media-libs/tiff-3.9.2:0=[${MULTILIB_USEDEP}] ) + introspection? ( >=dev-libs/gobject-introspection-1.54:= ) +" +RDEPEND="${DEPEND} + !<x11-libs/gtk+-2.90.4:3 +" +BDEPEND=" + app-text/docbook-xsl-stylesheets + app-text/docbook-xml-dtd:4.3 + dev-libs/glib:2 + dev-libs/libxslt + dev-util/glib-utils + >=sys-devel/gettext-0.19.8 + virtual/pkgconfig +" + +MULTILIB_CHOST_TOOLS=( + /usr/bin/gdk-pixbuf-query-loaders$(get_exeext) +) + +PATCHES=( + # Do not run lowmem test on uclibc + # See https://bugzilla.gnome.org/show_bug.cgi?id=756590 + "${FILESDIR}"/${PN}-2.32.3-fix-lowmem-uclibc.patch +) + +src_prepare() { + xdg_src_prepare + # This will avoid polluting the pkg-config file with versioned libpng, + # which is causing problems with libpng14 -> libpng15 upgrade + # See upstream bug #667068 + # First check that the pattern is present, to catch upstream changes on bumps, + # because sed doesn't return failure code if it doesn't do any replacements + grep -q "foreach png: \[ 'libpng16', 'libpng15', 'libpng14', 'libpng13', 'libpng12', 'libpng10' \]" meson.build || die "libpng check order has changed upstream" + sed -e "s/foreach png: \[ 'libpng16', 'libpng15', 'libpng14', 'libpng13', 'libpng12', 'libpng10' \]/foreach png: \[ 'libpng', 'libpng16', 'libpng15', 'libpng14', 'libpng13', 'libpng12', 'libpng10' \]/" -i meson.build || die +} + +multilib_src_configure() { + local emesonargs=( + -Dpng=true + $(meson_use tiff) + $(meson_use jpeg) + -Dbuiltin_loaders=png,jpeg + -Drelocatable=false + #native_windows_loaders + -Dinstalled_tests=false + -Dgio_sniffing=true + -Dgtk_doc=false + $(meson_native_use_feature introspection) + $(meson_native_true man) + ) + + meson_src_configure +} + +multilib_src_install_all() { + einstalldocs + insinto /usr/share/gtk-doc/html + doins -r "${S}"/docs/gdk-pixbuf + doins -r "${S}"/docs/gdk-pixdata +} + +pkg_preinst() { + xdg_pkg_preinst + + multilib_pkg_preinst() { + # Make sure loaders.cache belongs to gdk-pixbuf alone + local cache="usr/$(get_libdir)/${PN}-2.0/2.10.0/loaders.cache" + + if [[ -e ${EROOT}/${cache} ]]; then + cp "${EROOT}"/${cache} "${ED}"/${cache} || die + else + touch "${ED}"/${cache} || die + fi + } + + multilib_foreach_abi multilib_pkg_preinst + gnome2_gdk_pixbuf_savelist +} + +pkg_postinst() { + # causes segfault if set, see bug 375615 + unset __GL_NO_DSO_FINALIZER + + xdg_pkg_postinst + multilib_foreach_abi gnome2_gdk_pixbuf_update +} + +pkg_postrm() { + xdg_pkg_postrm + + if [[ -z ${REPLACED_BY_VERSION} ]]; then + rm -f "${EROOT}"/usr/lib*/${PN}-2.0/2.10.0/loaders.cache + fi +} |