--- ../../../../../portage/x11-libs/wxGTK/wxGTK-2.8.12.1-r1.ebuild 2014-05-23 12:21:26.000000000 +0400 +++ ./wxGTK-2.8.12.1-r2.ebuild 2015-02-23 16:29:23.030524212 +0300 @@ -4,7 +4,7 @@ EAPI="5" -inherit eutils flag-o-matic multilib versionator +inherit eutils flag-o-matic versionator multilib-minimal DESCRIPTION="GTK+ version of wxWidgets, a cross-platform C++ GUI toolkit" HOMEPAGE="http://wxwidgets.org/" @@ -21,7 +21,7 @@ SLOT="2.8" -RDEPEND=" +NATIVE_DEPEND=" dev-libs/expat odbc? ( dev-db/unixODBC ) sdl? ( media-libs/libsdl ) @@ -49,14 +49,109 @@ tiff? ( media-libs/tiff:0 ) )" +RDEPEND=" + !amd64? ( ${NATIVE_DEPEND} ) + amd64? ( + abi_x86_64? ( ${NATIVE_DEPEND} ) + abi_x86_32? ( + || ( + app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] + ( + dev-libs/expat[abi_x86_32] + X? ( + dev-libs/glib:2[abi_x86_32] + media-libs/libpng:0=[abi_x86_32] + sys-libs/zlib[abi_x86_32] + virtual/jpeg[abi_x86_32] + tiff? ( media-libs/tiff:0[abi_x86_32] ) + ) + ) + ) + odbc? ( + || ( + app-emulation/emul-linux-x86-db[-abi_x86_32(-)] + dev-db/unixODBC[abi_x86_32] + ) + ) + sdl? ( + || ( + app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)] + media-libs/libsdl[abi_x86_32] + ) + ) + X? ( + || ( + app-emulation/emul-linux-x86-gtklibs[-abi_x86_32(-)] + ( + x11-libs/gtk+:2[abi_x86_32] + x11-libs/pango[X,abi_x86_32] + + gstreamer? ( gnome-base/gconf:2[abi_x86_32] ) + ) + ) + + || ( + app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)] + ( + x11-libs/libSM[abi_x86_32] + x11-libs/libXinerama[abi_x86_32] + x11-libs/libXxf86vm[abi_x86_32] + ) + ) + + gnome? ( gnome-base/libgnomeprintui:2.2[abi_x86_32] ) + + gstreamer? ( || ( + app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)] + ( + media-libs/gstreamer:0.10[abi_x86_32] + media-libs/gst-plugins-base:0.10[abi_x86_32] + ) + ) ) + opengl? ( || ( + app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)] + virtual/opengl[abi_x86_32] + ) ) + ) + aqua? ( + || ( + app-emulation/emul-linux-x86-gtklibs[-abi_x86_32(-)] + >=x11-libs/gtk+-2.4[abi_x86_32,aqua=] + ) + + || ( + app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] + ( + virtual/jpeg[abi_x86_32] + tiff? ( media-libs/tiff:0[abi_x86_32] ) + ) + ) + ) + ) + ) +" + DEPEND="${RDEPEND} - virtual/pkgconfig - opengl? ( virtual/glu ) - X? ( - x11-proto/xproto - x11-proto/xineramaproto - x11-proto/xf86vidmodeproto - )" + !amd64? ( virtual/glu ) + amd64? ( + abi_x86_64? ( virtual/glu ) + abi_x86_32? ( + opengl? ( + || ( + app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)] + virtual/glu[abi_x86_32] + ) + ) + ) + ) + + virtual/pkgconfig[${MULTILIB_USEDEP}] + X? ( + x11-proto/xproto[${MULTILIB_USEDEP}] + x11-proto/xineramaproto[${MULTILIB_USEDEP}] + x11-proto/xf86vidmodeproto[${MULTILIB_USEDEP}] + ) +" PDEPEND=">=app-admin/eselect-wxwidgets-0.7" @@ -73,18 +168,22 @@ epatch "${FILESDIR}"/${PN}-2.8.7-mmedia.patch # Bug #174874 epatch "${FILESDIR}"/${PN}-2.8.10.1-odbc-defines.patch # Bug #310923 - # x32 https://bugs.gentoo.org/421851 - sed -i -e "/wx_cv_std_libpath=/s:=.*:=$(get_libdir):" configure || die - # prefix https://bugs.gentoo.org/394123 sed -i -e "s:/usr:${EPREFIX}/usr:g" \ -e '/SEARCH_INCLUDE="\\/,/"/cSEARCH_INCLUDE="'${EPREFIX}'/usr/include"' \ configure || die epatch_user + + multilib_prepare() { + # x32 https://bugs.gentoo.org/421851 + sed -i -e "/wx_cv_std_libpath=/s:=.*:=$(get_libdir):" "${BUILD_DIR}"/configure || die + } + multilib_copy_sources + multilib_parallel_foreach_abi multilib_prepare } -src_configure() { +multilib_src_configure() { local myconf append-flags -fno-strict-aliasing @@ -135,15 +234,10 @@ --disable-gui" fi - mkdir "${S}"/wxgtk_build - cd "${S}"/wxgtk_build - ECONF_SOURCE="${S}" econf ${myconf} } -src_compile() { - cd "${S}"/wxgtk_build - +multilib_src_compile() { emake if [[ -d contrib/src ]]; then @@ -152,16 +246,22 @@ fi } -src_install() { - cd "${S}"/wxgtk_build - - emake DESTDIR="${D}" install +multilib_src_install() { + default if [[ -d contrib/src ]]; then cd contrib/src emake DESTDIR="${D}" install fi + if multilib_is_native_abi; then + # Stray windows locale file, causes collisions + local wxmsw="${ED}usr/share/locale/it/LC_MESSAGES/wxmsw.mo" + [[ -e ${wxmsw} ]] && rm "${wxmsw}" + fi +} + +multilib_src_install_all() { cd "${S}"/docs dodoc changes.txt readme.txt todo30.txt newdoc base/readme.txt base_readme.txt @@ -170,10 +270,6 @@ if use doc; then dohtml -r "${S}"/docs/html/* fi - - # Stray windows locale file, causes collisions - local wxmsw="${ED}usr/share/locale/it/LC_MESSAGES/wxmsw.mo" - [[ -e ${wxmsw} ]] && rm "${wxmsw}" } pkg_postinst() {