commit:     7be3dc3ae4fd9c4892e29c3e412c9ce46372f658
Author:     Mart Raudsepp <leio <AT> gentoo <DOT> org>
AuthorDate: Tue Dec  8 08:12:36 2020 +0000
Commit:     Mart Raudsepp <leio <AT> gentoo <DOT> org>
CommitDate: Tue Dec  8 08:18:04 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7be3dc3a

x11-libs/gdk-pixbuf: security bump to 2.42.2 (CVE-2020-29385)

Package-Manager: Portage-3.0.12, Repoman-3.0.2
Signed-off-by: Mart Raudsepp <leio <AT> gentoo.org>

 x11-libs/gdk-pixbuf/Manifest                 |   1 +
 x11-libs/gdk-pixbuf/gdk-pixbuf-2.42.2.ebuild | 131 +++++++++++++++++++++++++++
 2 files changed, 132 insertions(+)

diff --git a/x11-libs/gdk-pixbuf/Manifest b/x11-libs/gdk-pixbuf/Manifest
index abfeaec502c..7718a893595 100644
--- a/x11-libs/gdk-pixbuf/Manifest
+++ b/x11-libs/gdk-pixbuf/Manifest
@@ -1,2 +1,3 @@
 DIST gdk-pixbuf-2.40.0.tar.xz 5512160 BLAKE2B 
26049a9ede60e7a50bdc5e9a731136e4bc6de031d01abd42667a0bf92617c36bcdc61d2dc18beb3c5223e32eab461ddb9fc9880a014ac1154763d3b7ee3e7200
 SHA512 
6512befd379494dbfd89a16fc4c92641842eb7b82fc820ec83a5b057526209947db646570db1124c073b0ef69c117bdf0f8d3fea807e302a4950db39187c35aa
 DIST gdk-pixbuf-2.42.0.tar.xz 6510964 BLAKE2B 
1299d050620a08582cb80d3d726713a1c005de3148e6e24a425248ea85f705ee741199c8ab445e4de4c3338904bf37c7a4ff0e61fee4fb23d68a93489b972b84
 SHA512 
c9962d42e5bf13514091234342e259be1e06b2c4dea2936e16104a3b58f0b6837f070224c04be9541d75f5ea34d1da398f178a1eed1f9059f6429faf5c223e34
+DIST gdk-pixbuf-2.42.2.tar.xz 6514352 BLAKE2B 
1230378ee1843f7a861772e708eba64d80a55379104c64b45efa35617aa6d9f0b49ea7996762d91ba1223172162b2b7c1209a53d906c1be43448163f9e230e08
 SHA512 
f341d032ea410efed7a35f8ca6a7389bf988f663dae16e774d114d6f11611e9e182c835e90d752b71c258c905cc5c4c785ea697feed5e6921a2a676c9deaa5f2

diff --git a/x11-libs/gdk-pixbuf/gdk-pixbuf-2.42.2.ebuild 
b/x11-libs/gdk-pixbuf/gdk-pixbuf-2.42.2.ebuild
new file mode 100644
index 00000000000..a76260745fe
--- /dev/null
+++ b/x11-libs/gdk-pixbuf/gdk-pixbuf-2.42.2.ebuild
@@ -0,0 +1,131 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit gnome.org gnome2-utils meson multilib multilib-minimal xdg
+
+DESCRIPTION="Image loading library for GTK+"
+HOMEPAGE="https://git.gnome.org/browse/gdk-pixbuf";
+
+LICENSE="LGPL-2.1+"
+SLOT="2"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 
~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos 
~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="gtk-doc +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
+       dev-libs/libxslt
+       dev-util/glib-utils
+       gtk-doc? ( >=dev-util/gtk-doc-1.20
+               app-text/docbook-xml-dtd:4.3 )
+       >=sys-devel/gettext-0.19.8
+       virtual/pkgconfig
+       >=dev-util/meson-0.55.3
+"
+
+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
+               -Drelocatable=false
+               #native_windows_loaders
+               -Dinstalled_tests=false
+               -Dgio_sniffing=true
+       )
+       if multilib_is_native_abi; then
+               emesonargs+=(
+                       $(meson_use gtk-doc gtk_docs)
+                       $(meson_feature introspection)
+                       -Dman=true
+               )
+       else
+               emesonargs+=(
+                       -Dgtk_doc=false
+                       -Dintrospection=disabled
+                       -Dman=false
+               )
+       fi
+       meson_src_configure
+}
+
+multilib_src_compile() {
+       meson_src_compile
+}
+
+multilib_src_test() {
+       meson_src_test
+}
+
+multilib_src_install() {
+       meson_src_install
+}
+
+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
+}

Reply via email to