--- ../../../gentoo/x11-libs/wxGTK/wxGTK-3.0.2.0-r2.ebuild 2015-08-06 19:11:55.636379842 +0300 +++ ./wxGTK-3.0.2.0-r100.ebuild 2015-08-06 20:31:28.609880258 +0300 @@ -4,7 +4,7 @@ EAPI="5" -inherit eutils flag-o-matic multilib-minimal +inherit eutils flag-o-matic multibuild multilib-minimal DESCRIPTION="GTK+ version of wxWidgets, a cross-platform C++ GUI toolkit" HOMEPAGE="http://wxwidgets.org/" @@ -15,7 +15,7 @@ doc? ( mirror://sourceforge/wxpython/wxPython-docs-${PV}.tar.bz2 )" KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos" -IUSE="+X aqua doc debug gstreamer libnotify opengl sdl tiff webkit" +IUSE="+X aqua doc debug gstreamer gtk libnotify opengl sdl tiff webkit" SLOT="3.0" @@ -27,7 +27,8 @@ media-libs/libpng:0=[${MULTILIB_USEDEP}] sys-libs/zlib[${MULTILIB_USEDEP}] virtual/jpeg:=[${MULTILIB_USEDEP}] - >=x11-libs/gtk+-2.18:2[${MULTILIB_USEDEP}] + gtk? ( >=x11-libs/gtk+-2.18:2[${MULTILIB_USEDEP}] ) + x11-libs/gtk+:3[${MULTILIB_USEDEP}] x11-libs/gdk-pixbuf[${MULTILIB_USEDEP}] x11-libs/libSM[${MULTILIB_USEDEP}] x11-libs/libXxf86vm[${MULTILIB_USEDEP}] @@ -41,7 +42,8 @@ webkit? ( net-libs/webkit-gtk:2 ) ) aqua? ( - >=x11-libs/gtk+-2.4:2[aqua=,${MULTILIB_USEDEP}] + gtk? ( >=x11-libs/gtk+-2.4:2[aqua=,${MULTILIB_USEDEP}] ) + x11-libs/gtk+:3[aqua=,${MULTILIB_USEDEP}] virtual/jpeg:=[${MULTILIB_USEDEP}] tiff? ( media-libs/tiff:0[${MULTILIB_USEDEP}] ) )" @@ -63,6 +65,17 @@ S="${WORKDIR}/wxPython-src-${PV}" +wxgtk_setup() { + local MULTIBUILD_ID="wxgtk" + local MULTIBUILD_VARIANTS=( $(usex gtk gtk2) gtk3 ) + + "${@}" +} + +pkg_setup() { + MULTIBUILD_ID="multilib" +} + src_prepare() { epatch "${FILESDIR}"/${PN}-3.0.0.0-collision.patch epatch_user @@ -72,12 +85,14 @@ -e 's:3\.0\.1:3.0.2:g' \ -e 's:^wx_release_number=1$:wx_release_number=2:' \ -i "${S}"/configure || die - } -multilib_src_configure() { +multibuild_src_configure() { local myconf + mkdir -p "${BUILD_DIR}" || die + pushd "${BUILD_DIR}" >/dev/null || die + # X independent options myconf=" --with-zlib=sys @@ -130,7 +145,36 @@ --disable-gui" fi + myconf="${myconf} + --with-gtk=${MULTIBUILD_VARIANT: -1}" + ECONF_SOURCE="${S}" econf ${myconf} + + popd >/dev/null || die +} + +multibuild_src_compile() { + pushd "${BUILD_DIR}" >/dev/null || die + emake + popd >/dev/null || die +} + +multibuild_src_install() { + pushd "${BUILD_DIR}" >/dev/null || die + emake DESTDIR="${D}" install + popd >/dev/null || die +} + +multilib_src_configure() { + wxgtk_setup multibuild_foreach_variant multibuild_src_configure +} + +multilib_src_compile() { + wxgtk_setup multibuild_foreach_variant multibuild_src_compile +} + +multilib_src_install() { + wxgtk_setup multibuild_foreach_variant multibuild_src_install } multilib_src_install_all() {