--- gtk+-2.24.22.ebuild.orig 2013-10-15 04:31:37 +0900 +++ gtk+-2.24.22.ebuild 2014-02-08 09:54:48 +0900 @@ -3,7 +3,7 @@ # $Header: /var/cvsroot/gentoo-x86/x11-libs/gtk+/gtk+-2.24.22.ebuild,v 1.2 2013/10/14 19:17:25 pacho Exp $ EAPI="5" -inherit eutils flag-o-matic gnome2-utils gnome.org multilib virtualx autotools readme.gentoo +inherit eutils flag-o-matic gnome2-utils gnome.org multilib virtualx autotools readme.gentoo multilib-minimal DESCRIPTION="Gimp ToolKit +" HOMEPAGE="http://www.gtk.org/" @@ -14,29 +14,30 @@ IUSE="aqua cups debug examples +introspection test vim-syntax xinerama" # NOTE: cairo[svg] dep is due to bug 291283 (not patched to avoid eautoreconf) +# cups has no MULTILIB_USEDEP because nothing needs it, see econf below. COMMON_DEPEND=" !aqua? ( - x11-libs/libXrender - x11-libs/libX11 - x11-libs/libXi - x11-libs/libXext - >=x11-libs/libXrandr-1.3 - x11-libs/libXcursor - x11-libs/libXfixes - x11-libs/libXcomposite - x11-libs/libXdamage - >=x11-libs/cairo-1.6:=[X,svg] - x11-libs/gdk-pixbuf:2[X,introspection?] + x11-libs/libXrender[${MULTILIB_USEDEP}] + x11-libs/libX11[${MULTILIB_USEDEP}] + x11-libs/libXi[${MULTILIB_USEDEP}] + x11-libs/libXext[${MULTILIB_USEDEP}] + >=x11-libs/libXrandr-1.3[${MULTILIB_USEDEP}] + x11-libs/libXcursor[${MULTILIB_USEDEP}] + x11-libs/libXfixes[${MULTILIB_USEDEP}] + x11-libs/libXcomposite[${MULTILIB_USEDEP}] + x11-libs/libXdamage[${MULTILIB_USEDEP}] + >=x11-libs/cairo-1.6:=[X,svg,${MULTILIB_USEDEP}] + x11-libs/gdk-pixbuf:2[X,introspection?,${MULTILIB_USEDEP}] ) aqua? ( - >=x11-libs/cairo-1.6:=[aqua,svg] - x11-libs/gdk-pixbuf:2[introspection?] + >=x11-libs/cairo-1.6:=[aqua,svg,${MULTILIB_USEDEP}] + x11-libs/gdk-pixbuf:2[introspection?,${MULTILIB_USEDEP}] ) - xinerama? ( x11-libs/libXinerama ) - >=dev-libs/glib-2.34:2 - >=x11-libs/pango-1.20[introspection?] - >=dev-libs/atk-1.29.2[introspection?] - media-libs/fontconfig + xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) + >=dev-libs/glib-2.34:2[${MULTILIB_USEDEP}] + >=x11-libs/pango-1.20[introspection?,${MULTILIB_USEDEP}] + >=dev-libs/atk-1.29.2[introspection?,${MULTILIB_USEDEP}] + media-libs/fontconfig[${MULTILIB_USEDEP}] x11-misc/shared-mime-info cups? ( net-print/cups:= ) introspection? ( >=dev-libs/gobject-introspection-0.9.3 ) @@ -157,26 +158,39 @@ #elibtoolize } -src_configure() { +multilib_src_configure() { + # cups is disabled for non-native multilib builds because nothing in + # the tree needs it (see bug 489000 discussion). # Passing --disable-debug is not recommended for production use + ECONF_SOURCE="${S}" \ econf \ $(usex aqua --with-gdktarget=quartz --with-gdktarget=x11) \ $(usex aqua "" --with-xinput) \ $(usex debug --enable-debug=yes "") \ - $(use_enable cups cups auto) \ - $(use_enable introspection) \ + $(multilib_build_binaries \ + && use_enable cups cups auto \ + || echo --disable-cups) \ + $(multilib_build_binaries \ + && use_enable introspection \ + || echo --disable-introspection) \ $(use_enable xinerama) \ --disable-papi } -src_test() { +multilib_src_test() { unset DBUS_SESSION_BUS_ADDRESS Xemake check } -src_install() { +multilib_src_install() { default + if ! multilib_is_native_abi && [[ ${ABI} == x86 ]]; then + mv "${D}"/usr/bin/gtk-query-immodules-2.0{,-32} || die + fi +} + +multilib_src_install_all() { # see bug #133241 echo 'gtk-fallback-icon-theme = "gnome"' > "${T}/gtkrc" insinto /usr/share/gtk-2.0 @@ -202,6 +216,10 @@ gtk-query-immodules-2.0 --update-cache || die "Update immodules cache failed" + if has x86 $(multilib_get_enabled_abis) && has amd64 $(multilib_get_enabled_abis); then + gtk-query-immodules-2.0-32 --update-cache || die "Update x86 immodules cache failed" + fi + if [ -e "${EROOT%/}/etc/gtk-2.0/gtk.immodules" ]; then elog "File /etc/gtk-2.0/gtk.immodules has been moved to \$CHOST" elog "aware location. Removing deprecated file."