--- gdk-pixbuf-2.28.2.ebuild.orig 2013-09-04 07:01:36 +0900 +++ gdk-pixbuf-2.28.2.ebuild 2014-01-17 15:23:10 +0900 @@ -4,7 +4,7 @@ EAPI="5" -inherit gnome.org gnome2-utils multilib libtool +inherit gnome.org gnome2-utils multilib libtool multilib-minimal DESCRIPTION="Image loading library for GTK+" HOMEPAGE="http://www.gtk.org/" @@ -15,13 +15,13 @@ IUSE="+X debug +introspection jpeg jpeg2k tiff test" COMMON_DEPEND=" - >=dev-libs/glib-2.34.0:2 - >=media-libs/libpng-1.4:0= + >=dev-libs/glib-2.34.0:2[${MULTILIB_USEDEP}] + >=media-libs/libpng-1.4:0=[${MULTILIB_USEDEP}] introspection? ( >=dev-libs/gobject-introspection-0.9.3 ) - jpeg? ( virtual/jpeg:0= ) - jpeg2k? ( media-libs/jasper:= ) - tiff? ( >=media-libs/tiff-3.9.2:0= ) - X? ( x11-libs/libX11 ) + jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) + jpeg2k? ( media-libs/jasper:=[${MULTILIB_USEDEP}] ) + tiff? ( >=media-libs/tiff-3.9.2:0=[${MULTILIB_USEDEP}] ) + X? ( x11-libs/libX11[${MULTILIB_USEDEP}] ) " DEPEND="${COMMON_DEPEND} >=dev-util/gtk-doc-am-1.11 @@ -36,6 +36,10 @@ ! libpng15 upgrade @@ -48,20 +52,27 @@ elibtoolize # for Darwin modules, bug #???? } -src_configure() { +multilib_src_configure() { + local program_prefix="" + if multilib_build_binaries && ! multilib_is_native_abi; then + program_prefix="--program-prefix=${CHOST}-" + fi # png always on to display icons + ECONF_SOURCE="${S}" \ econf \ + ${program_prefix} \ $(usex debug --enable-debug=yes "") \ $(use_with jpeg libjpeg) \ $(use_with jpeg2k libjasper) \ $(use_with tiff libtiff) \ - $(use_enable introspection) \ + $(multilib_is_native_abi \ + && use_enable introspection \ + || echo --disable-introspection) \ $(use_with X x11) \ --with-libpng } -src_install() { - default +multilib_src_install_all() { prune_libtool_files --modules } @@ -75,6 +86,21 @@ gnome2_gdk_pixbuf_update + if has x86 $(multilib_get_enabled_abis) && has amd64 $(multilib_get_enabled_abis); then + local tmp_file=$(mktemp --suffix=tmp.XXXXXXXXXXgdk_pixbuf_queryloaders) + if [ -z "${tmp_file}" ]; then + ewarn "Cannot create temporary file" + return 1 + fi + + if i686-pc-linux-gnu-gdk-pixbuf-query-loaders > "${tmp_file}"; then + cat "${tmp_file}" > "${ROOT}usr/lib32/gdk-pixbuf-2.0/2.10.0/loaders.cache" + else + ewarn "Warning, i686-pc-linux-gnu-gdk-pixbuf-query-loaders failed." + fi + rm "${tmp_file}" + fi + # Migration snippet for when this was handled by gtk+ if [ -e "${EROOT}"usr/lib/gtk-2.0/2.*/loaders ]; then elog "You need to rebuild ebuilds that installed into" "${EROOT}"usr/lib/gtk-2.0/2.*/loaders