--- ../../../../../portage/x11-libs/wxGTK/wxGTK-2.8.12.1-r1.ebuild 2014-03-19 20:31:38.000000000 +0400 +++ ./wxGTK-2.8.12.1-r2.ebuild 2014-05-19 10:41:31.794418042 +0400 @@ -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/" @@ -16,45 +16,49 @@ # docs, and are released more frequently than wxGTK. SRC_URI="mirror://sourceforge/wxpython/wxPython-src-${PV}.tar.bz2" -KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos" +KEYWORDS="~amd64 ~x86" IUSE="+X aqua doc debug gnome gstreamer odbc opengl pch sdl tiff" SLOT="2.8" RDEPEND=" - dev-libs/expat + dev-libs/expat[${MULTILIB_USEDEP}] odbc? ( dev-db/unixODBC ) - sdl? ( media-libs/libsdl ) + sdl? ( media-libs/libsdl[${MULTILIB_USEDEP}] ) X? ( - dev-libs/glib:2 - media-libs/libpng:0= - sys-libs/zlib - virtual/jpeg - x11-libs/gtk+:2 - x11-libs/libSM - x11-libs/libXinerama - x11-libs/libXxf86vm - x11-libs/pango[X] + dev-libs/glib:2[${MULTILIB_USEDEP}] + media-libs/libpng:0=[${MULTILIB_USEDEP}] + sys-libs/zlib[${MULTILIB_USEDEP}] + virtual/jpeg[${MULTILIB_USEDEP}] + x11-libs/gtk+:2[${MULTILIB_USEDEP}] + x11-libs/libSM[${MULTILIB_USEDEP}] + x11-libs/libXinerama[${MULTILIB_USEDEP}] + x11-libs/libXxf86vm[${MULTILIB_USEDEP}] + x11-libs/pango[X,${MULTILIB_USEDEP}] gnome? ( gnome-base/libgnomeprintui:2.2 ) gstreamer? ( media-libs/gstreamer:0.10 - media-libs/gst-plugins-base:0.10 ) - opengl? ( virtual/opengl ) - tiff? ( media-libs/tiff:0 ) + media-libs/gst-plugins-base:0.10 + amd64? ( + abi_x86_32? ( app-emulation/emul-linux-x86-gstplugins ) + ) + ) + opengl? ( virtual/opengl[${MULTILIB_USEDEP}] ) + tiff? ( media-libs/tiff:0[${MULTILIB_USEDEP}] ) ) aqua? ( - >=x11-libs/gtk+-2.4[aqua=] - virtual/jpeg - tiff? ( media-libs/tiff:0 ) + >=x11-libs/gtk+-2.4[${MULTILIB_USEDEP},aqua=] + virtual/jpeg[${MULTILIB_USEDEP}] + tiff? ( media-libs/tiff:0[${MULTILIB_USEDEP}] ) )" DEPEND="${RDEPEND} virtual/pkgconfig - opengl? ( virtual/glu ) + opengl? ( virtual/glu[${MULTILIB_USEDEP}] ) X? ( - x11-proto/xproto - x11-proto/xineramaproto - x11-proto/xf86vidmodeproto + x11-proto/xproto[${MULTILIB_USEDEP}] + x11-proto/xineramaproto[${MULTILIB_USEDEP}] + x11-proto/xf86vidmodeproto[${MULTILIB_USEDEP}] )" PDEPEND=">=app-admin/eselect-wxwidgets-0.7" @@ -83,7 +87,7 @@ epatch_user } -src_configure() { +multilib_src_configure() { local myconf append-flags -fno-strict-aliasing @@ -97,7 +101,6 @@ --with-expat=sys $(use_enable debug) $(use_enable pch precomp-headers) - $(use_with odbc odbc sys) $(use_with sdl) $(use_with tiff libtiff sys)" @@ -114,7 +117,6 @@ $(use_enable gstreamer mediactrl) $(use_enable opengl) $(use_with opengl) - $(use_with gnome gnomeprint) --without-gnomevfs" use aqua && \ @@ -134,15 +136,20 @@ --disable-gui" fi - mkdir "${S}"/wxgtk_build - cd "${S}"/wxgtk_build + # No multilib versions for unixODBC & libgnomeprintui + if multilib_is_native_abi; then + myconf="${myconf} + $(use_with odbc odbc sys)" + if use X; then + myconf="${myconf} + $(use_with gnome gnomeprint)" + fi + fi ECONF_SOURCE="${S}" econf ${myconf} } -src_compile() { - cd "${S}"/wxgtk_build - +multilib_src_compile() { emake if [[ -d contrib/src ]]; then @@ -151,28 +158,25 @@ 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 + if multilib_is_native_abi; then + cd "${S}"/docs + dodoc changes.txt readme.txt todo30.txt + newdoc base/readme.txt base_readme.txt + newdoc gtk/readme.txt gtk_readme.txt + + 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}" + else + dosym /usr/$(get_libdir)/wx/config/gtk2-unicode-release-${SLOT} /usr/bin/wx-config-${SLOT}-${ABI} fi - - cd "${S}"/docs - dodoc changes.txt readme.txt todo30.txt - newdoc base/readme.txt base_readme.txt - newdoc gtk/readme.txt gtk_readme.txt - - 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() {
--- ../../../../../portage/x11-libs/wxGTK/wxGTK-3.0.0.0.ebuild 2014-01-27 22:01:38.000000000 +0400 +++ ./wxGTK-3.0.0.0.ebuild 2014-05-18 22:12:27.799379044 +0400 @@ -4,7 +4,7 @@ EAPI="5" -inherit eutils flag-o-matic +inherit eutils flag-o-matic multilib-minimal DESCRIPTION="GTK+ version of wxWidgets, a cross-platform C++ GUI toolkit" HOMEPAGE="http://wxwidgets.org/" @@ -14,45 +14,54 @@ SRC_URI="mirror://sourceforge/wxpython/wxPython-src-${PV}.tar.bz2 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" +KEYWORDS="~amd64 ~x86" IUSE="+X aqua doc debug gstreamer libnotify opengl sdl tiff webkit" SLOT="3.0" RDEPEND=" - dev-libs/expat - sdl? ( media-libs/libsdl ) + dev-libs/expat[${MULTILIB_USEDEP}] + sdl? ( media-libs/libsdl[${MULTILIB_USEDEP}] ) X? ( - >=dev-libs/glib-2.22:2 - media-libs/libpng:0= - sys-libs/zlib - virtual/jpeg - >=x11-libs/gtk+-2.18:2 - x11-libs/gdk-pixbuf - x11-libs/libSM - x11-libs/libXxf86vm - x11-libs/pango[X] + >=dev-libs/glib-2.22:2[${MULTILIB_USEDEP}] + media-libs/libpng:0=[${MULTILIB_USEDEP}] + sys-libs/zlib[${MULTILIB_USEDEP}] + virtual/jpeg[${MULTILIB_USEDEP}] + >=x11-libs/gtk+-2.18:2[${MULTILIB_USEDEP}] + x11-libs/gdk-pixbuf[${MULTILIB_USEDEP}] + x11-libs/libSM[${MULTILIB_USEDEP}] + x11-libs/libXxf86vm[${MULTILIB_USEDEP}] + x11-libs/pango[X,${MULTILIB_USEDEP}] gstreamer? ( media-libs/gstreamer:0.10 - media-libs/gst-plugins-base:0.10 ) - libnotify? ( x11-libs/libnotify ) - opengl? ( virtual/opengl ) - tiff? ( media-libs/tiff:0 ) - webkit? ( net-libs/webkit-gtk:2 ) + media-libs/gst-plugins-base:0.10 + abi_x86_32? ( + app-emulation/emul-linux-x86-gstplugins + ) + ) + libnotify? ( + x11-libs/libnotify + amd64? ( + app-emulation/emul-linux-x86-gtklibs + ) + ) + opengl? ( virtual/opengl[${MULTILIB_USEDEP}] ) + tiff? ( media-libs/tiff:0[${MULTILIB_USEDEP}] ) + webkit? ( net-libs/webkit-gtk:2[${MULTILIB_USEDEP}] ) ) aqua? ( - >=x11-libs/gtk+-2.4[aqua=] - virtual/jpeg - tiff? ( media-libs/tiff:0 ) + >=x11-libs/gtk+-2.4[${MULTILIB_USEDEP},aqua=] + virtual/jpeg[${MULTILIB_USEDEP}] + tiff? ( media-libs/tiff:0[${MULTILIB_USEDEP}] ) )" DEPEND="${RDEPEND} virtual/pkgconfig - opengl? ( virtual/glu ) + opengl? ( virtual/glu[${MULTILIB_USEDEP}] ) X? ( - x11-proto/xproto - x11-proto/xineramaproto - x11-proto/xf86vidmodeproto + x11-proto/xproto[${MULTILIB_USEDEP}] + x11-proto/xineramaproto[${MULTILIB_USEDEP}] + x11-proto/xf86vidmodeproto[${MULTILIB_USEDEP}] )" PDEPEND=">=app-admin/eselect-wxwidgets-20131230" @@ -66,9 +75,11 @@ src_prepare() { epatch "${FILESDIR}"/${P}-collision.patch epatch_user + +# multilib_copy_sources } -src_configure() { +multilib_src_configure() { local myconf # X independent options @@ -123,34 +134,28 @@ --disable-gui" fi - mkdir "${S}"/wxgtk_build - cd "${S}"/wxgtk_build - ECONF_SOURCE="${S}" econf ${myconf} } -src_compile() { - cd "${S}"/wxgtk_build - emake -} - -src_install() { - cd "${S}"/wxgtk_build - - emake DESTDIR="${D}" install - - cd "${S}"/docs - dodoc changes.txt readme.txt - newdoc base/readme.txt base_readme.txt - newdoc gtk/readme.txt gtk_readme.txt - - if use doc; then - dohtml -r "${S}"/docs/doxygen/out/html/* - fi +multilib_src_install() { + default - # Stray windows locale file, causes collisions - local wxmsw="${ED}usr/share/locale/it/LC_MESSAGES/wxmsw.mo" - [[ -e ${wxmsw} ]] && rm "${wxmsw}" + if multilib_is_native_abi; then + cd "${S}"/docs + dodoc changes.txt readme.txt + newdoc base/readme.txt base_readme.txt + newdoc gtk/readme.txt gtk_readme.txt + + if use doc; then + dohtml -r "${S}"/docs/doxygen/out/html/* + fi + + # Stray windows locale file, causes collisions + local wxmsw="${ED}usr/share/locale/it/LC_MESSAGES/wxmsw.mo" + [[ -e ${wxmsw} ]] && rm "${wxmsw}" + else + dosym /usr/$(get_libdir)/wx/config/gtk2-unicode-${SLOT} /usr/bin/wx-config-${SLOT}-${ABI} + fi } pkg_postinst() {
@frostworks You recently added this to the gamerlay overlay (commit a084a580). It breaks other ebuilds (pgAdmin3 and wxpython were the runs I ran into before I decided to mask this problem away) with "fatal error: wx/stc/stc.h: No such file or directory".
Mike, confirmed and removed from gamerlay. thanks for heads up!
New multilib patch for wxGTK-2.8.12.1-r1.ebuild that installs missing headers: --- ../../../../../portage/x11-libs/wxGTK/wxGTK-2.8.12.1-r1.ebuild 2014-05-23 12:31:37.000000000 +0400 +++ ./wxGTK-2.8.12.1-r2.ebuild 2014-06-25 21:46:20.899876221 +0400 @@ -1,10 +1,10 @@ # Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/x11-libs/wxGTK/wxGTK-2.8.12.1-r1.ebuild,v 1.12 2014/05/23 08:21:26 rhill Exp $ +# $Header: /var/cvsroot/gentoo-x86/x11-libs/wxGTK/wxGTK-2.8.12.1-r1.ebuild,v 1.11 2014/03/19 16:14:28 ago Exp $ 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/" @@ -16,46 +16,50 @@ # docs, and are released more frequently than wxGTK. SRC_URI="mirror://sourceforge/wxpython/wxPython-src-${PV}.tar.bz2" -KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos" +KEYWORDS="~amd64 ~x86" IUSE="+X aqua doc debug gnome gstreamer odbc opengl pch sdl tiff" SLOT="2.8" RDEPEND=" - dev-libs/expat + dev-libs/expat[${MULTILIB_USEDEP}] odbc? ( dev-db/unixODBC ) - sdl? ( media-libs/libsdl ) + sdl? ( media-libs/libsdl[${MULTILIB_USEDEP}] ) X? ( - dev-libs/glib:2 - media-libs/libpng:0= - sys-libs/zlib - virtual/jpeg - x11-libs/gtk+:2 - x11-libs/libSM - x11-libs/libXinerama - x11-libs/libXxf86vm - x11-libs/pango[X] + dev-libs/glib:2[${MULTILIB_USEDEP}] + media-libs/libpng:0=[${MULTILIB_USEDEP}] + sys-libs/zlib[${MULTILIB_USEDEP}] + virtual/jpeg[${MULTILIB_USEDEP}] + x11-libs/gtk+:2[${MULTILIB_USEDEP}] + x11-libs/libSM[${MULTILIB_USEDEP}] + x11-libs/libXinerama[${MULTILIB_USEDEP}] + x11-libs/libXxf86vm[${MULTILIB_USEDEP}] + x11-libs/pango[X,${MULTILIB_USEDEP}] gnome? ( gnome-base/libgnomeprintui:2.2 ) gstreamer? ( - gnome-base/gconf:2 + gnome-base/gconf:2[${MULTILIB_USEDEP}] media-libs/gstreamer:0.10 - media-libs/gst-plugins-base:0.10 ) - opengl? ( virtual/opengl ) - tiff? ( media-libs/tiff:0 ) + media-libs/gst-plugins-base:0.10 + amd64? ( + abi_x86_32? ( app-emulation/emul-linux-x86-gstplugins ) + ) + ) + opengl? ( virtual/opengl[${MULTILIB_USEDEP}] ) + tiff? ( media-libs/tiff:0[${MULTILIB_USEDEP}] ) ) aqua? ( - >=x11-libs/gtk+-2.4[aqua=] - virtual/jpeg - tiff? ( media-libs/tiff:0 ) + >=x11-libs/gtk+-2.4[${MULTILIB_USEDEP},aqua=] + virtual/jpeg[${MULTILIB_USEDEP}] + tiff? ( media-libs/tiff:0[${MULTILIB_USEDEP}] ) )" DEPEND="${RDEPEND} virtual/pkgconfig - opengl? ( virtual/glu ) + opengl? ( virtual/glu[${MULTILIB_USEDEP}] ) X? ( - x11-proto/xproto - x11-proto/xineramaproto - x11-proto/xf86vidmodeproto + x11-proto/xproto[${MULTILIB_USEDEP}] + x11-proto/xineramaproto[${MULTILIB_USEDEP}] + x11-proto/xf86vidmodeproto[${MULTILIB_USEDEP}] )" PDEPEND=">=app-admin/eselect-wxwidgets-0.7" @@ -84,7 +88,7 @@ epatch_user } -src_configure() { +multilib_src_configure() { local myconf append-flags -fno-strict-aliasing @@ -98,7 +102,6 @@ --with-expat=sys $(use_enable debug) $(use_enable pch precomp-headers) - $(use_with odbc odbc sys) $(use_with sdl) $(use_with tiff libtiff sys)" @@ -115,7 +118,6 @@ $(use_enable gstreamer mediactrl) $(use_enable opengl) $(use_with opengl) - $(use_with gnome gnomeprint) --without-gnomevfs" use aqua && \ @@ -135,15 +137,20 @@ --disable-gui" fi - mkdir "${S}"/wxgtk_build - cd "${S}"/wxgtk_build + # No multilib versions for unixODBC & libgnomeprintui + if multilib_is_native_abi; then + myconf="${myconf} + $(use_with odbc odbc sys)" + if use X; then + myconf="${myconf} + $(use_with gnome gnomeprint)" + fi + fi ECONF_SOURCE="${S}" econf ${myconf} } -src_compile() { - cd "${S}"/wxgtk_build - +multilib_src_compile() { emake if [[ -d contrib/src ]]; then @@ -152,28 +159,30 @@ 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 - cd "${S}"/docs - dodoc changes.txt readme.txt todo30.txt - newdoc base/readme.txt base_readme.txt - newdoc gtk/readme.txt gtk_readme.txt - - if use doc; then - dohtml -r "${S}"/docs/html/* + if multilib_is_native_abi; then + cd "${S}"/docs + dodoc changes.txt readme.txt todo30.txt + newdoc base/readme.txt base_readme.txt + newdoc gtk/readme.txt gtk_readme.txt + + 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}" + else + dosym /usr/$(get_libdir)/wx/config/gtk2-unicode-release-${SLOT} /usr/bin/wx-config-${SLOT}-${ABI} fi - - # Stray windows locale file, causes collisions - local wxmsw="${ED}usr/share/locale/it/LC_MESSAGES/wxmsw.mo" - [[ -e ${wxmsw} ]] && rm "${wxmsw}" } pkg_postinst() {
nE0sIghT, do not paste such big patches as comments, use attachments. Which packages need multilib wxgtk?
(In reply to Nikoli from comment #5) > Which packages need multilib wxgtk? https://bugs.gentoo.org/show_bug.cgi?id=510710
(In reply to nE0sIghT from comment #4) > + dosym /usr/$(get_libdir)/wx/config/gtk2-unicode-release-${SLOT} > /usr/bin/wx-config-${SLOT}-${ABI} Why?
(In reply to nE0sIghT from comment #0) > DEPEND="${RDEPEND} > virtual/pkgconfig virtual/pkgconfig[${MULTILIB_USEDEP}] > PDEPEND=">=app-admin/eselect-wxwidgets-0.7" eselect will likely need to be made multilib-aware. > + # No multilib versions for unixODBC & libgnomeprintui > + if multilib_is_native_abi; then > + myconf="${myconf} > + $(use_with odbc odbc sys)" unixODBC is multilib nowadays. > + if use X; then > + myconf="${myconf} > + $(use_with gnome gnomeprint)" Please file bugs to convert them instead of disabling silently. > +multilib_src_compile() { > emake > > if [[ -d contrib/src ]]; then > @@ -151,28 +158,25 @@ > 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 > + if multilib_is_native_abi; then > + cd "${S}"/docs > + dodoc changes.txt readme.txt todo30.txt > + newdoc base/readme.txt base_readme.txt > + newdoc gtk/readme.txt gtk_readme.txt > + > + 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}" Docs belong in multilib_src_install_all(). > + else > + dosym /usr/$(get_libdir)/wx/config/gtk2-unicode-release-${SLOT} > /usr/bin/wx-config-${SLOT}-${ABI} Please do not invent custom filenames. The supported way of handling configs is through prefixing them with ${CHOST}, i.e. ${CHOST}-wx-config. And the eclass does that automatically via MULTILIB_CHOST_TOOLS.
> > + else > > + dosym /usr/$(get_libdir)/wx/config/gtk2-unicode-release-${SLOT} > > /usr/bin/wx-config-${SLOT}-${ABI} > > Please do not invent custom filenames. The supported way of handling configs > is through prefixing them with ${CHOST}, i.e. ${CHOST}-wx-config. And the > eclass does that automatically via MULTILIB_CHOST_TOOLS. You also can't rely on the name of the config being consistent. gtk2 could be gtk3 (not yet but coming soon) and release could be debug. But I don't think there's any reason to install these links in the first place. They'll never be used - the eclass gives packages the direct path to the config, and building outside of portage uses the /usr/bin/wx-config wrapper which also gives a direct path to the config set by eselect. The reason we install /usr/bin/wx-config-${SLOT} is just in case some package expects it, though I've never seen one. > eselect will likely need to be made multilib-aware. Right. And the wrapper also hardcodes LIBDIR to whatever $(get_libdir) was when it was installed. This only affects building outside of portage though. I need to do a bunch of work in the near future to get gtk2+gtk3 multibuild working so I'll try to roll multilib in as well. Something tells me this is going to be less than fun.
Created attachment 379886 [details, diff] Patch against wxGTK-2.8.12.1-r1.ebuild Do not disable unixODBC & libgnomeprintui Depend on multilib virtual/pkgconfig Move docs to multilib_src_install_all Remove symlink to x86 wx-config
Ryan, do you expect to get multilib into :2.8 and/or :2.9? Because AFAICS :3.0 no longer needs gnomeprint.
(In reply to Michał Górny from comment #11) > Ryan, do you expect to get multilib into :2.8 and/or :2.9? Because AFAICS > :3.0 no longer needs gnomeprint. Multilib aware wxGTK:2.8 is needed for pcsx2
Created attachment 383964 [details, diff] Patch against wxGTK-3.0.0.0.ebuild Depend on multilib gstreamer Depend on multilib virtual/pkgconfig Move docs to multilib_src_install_all
just wanna put it out there that wxGTK-2.8 needs ABI support for pcsx2-meta -- # emerge -av pcsx2-meta These are the packages that would be merged, in order: Calculating dependencies... done! emerge: there are no ebuilds built with USE flags to satisfy "x11-libs/wxGTK:2.8[X,abi_x86_32]". !!! One of the following packages is required to complete your request: - x11-libs/wxGTK-2.8.12.1-r1::gentoo (Missing IUSE: abi_x86_32) (dependency required by "games-emulation/pcsx2-9999::gamerlay" [ebuild]) (dependency required by "games-emulation/pcsx2-meta-9999::gamerlay" [ebuild]) (dependency required by "pcsx2-meta" [argument]) -- though i think currently pcsx2 is being updated to support 64 bit so maybe the ebuild of pcsx2 should be modified.
I see the problem, C.J. Wijtmans, but change the pcsx2 ebuild to what? I removed the selfrolled emul-linux-x86-wxGTK dependency in favour of a multilib x11-libs/wxGTK package, which is apparently much cleaner. of course I could commit neosight's ebuilds above to gamerlay, but I'd prefer not to override in portage ebuilds for live ebuilds. imho best choice until this hits portage some day is to simply put above ebuilds into your local overlay (which works just fine). modular pcsx2 ebuilds in gamerlay still work :}
Created attachment 386192 [details, diff] Patch against wxGTK-3.0.1.1.ebuild Here is multilib patch for wxGTK-3.0.1.1.ebuild I tried to sort dependencies to make ebuild more friendly to stable users as described here: https://wiki.gentoo.org/wiki/Project:Multilib/Tips_%26_tricks#Binary_Package_Dependencies Main problem here is that neither emul-linux package contains webkit-gtk
(In reply to nE0sIghT from comment #16) > Created attachment 386192 [details, diff] [details, diff] > Patch against wxGTK-3.0.1.1.ebuild This also applies to wxGTK-3.0.2.0
Created attachment 397324 [details, diff] Patch against wxGTK-2.8.12.1-r1.ebuild Mixed emul-linux dependencies Restored configure patch Changes: https://github.com/nE0sIghT/vortex-overlay/commit/1de6c1ca51895134fbb1296c718045315c6982f4
Created attachment 397326 [details, diff] Patch against wxGTK-3.0.2.0-r1.ebuild Updated to match latest in-tree version.
(In reply to nE0sIghT from comment #16) > > Main problem here is that neither emul-linux package contains webkit-gtk This is not needed for pcsx2, so i think it may be skipped for non native abi using multilib_native_use_enable
Created attachment 400036 [details, diff] Patch against wxGTK-2.8.12.1-r1.ebuild Removed emul-linux dependencies since native multilib stuff unmasked now. Moved windows locale file removal to multilib_src_install_all.
Created attachment 400038 [details, diff] Patch against wxGTK-3.0.2.0-r1.ebuild Removed emul-linux dependencies since native multilib stuff unmasked now. Moved windows locale file removal to multilib_src_install_all. Disabled build against webkit for non-native abis.
Created attachment 400068 [details, diff] Multilib patch for wxwidgets.eselect
Created attachment 400096 [details, diff] Multilib patch for wx-config and wxrc wrappers Proposed patch. I do not know better way to play around it
Created attachment 400286 [details, diff] Multilib patch for wxwidgets.eselect Removed debug typo. Moved args check to proper function. Added arch info for update action.
Created attachment 403150 [details, diff] Multilib patch for wxwidgets.eselect I previously posted 4 concatenated patches for eselect-wxwidgets (and this history was useless). Here is merged one. That issue is almost one year old (without 1 week). Can i help somehow else to get this to main tree?
Created attachment 403768 [details, diff] Patch against wxGTK-2.8.12.1-r1.ebuild Removed wrong ECONF_SOURCE Changes: https://github.com/nE0sIghT/vortex-overlay/commit/b8b8587672f1706b1d0e06e99099a1def5661d1b
Created attachment 403770 [details, diff] Patch against wxGTK-3.0.2.0-r1.ebuild Same as above
+*wxGTK-3.0.2.0-r2 (06 Aug 2015) +*wxGTK-2.8.12.1-r2 (06 Aug 2015) + + 06 Aug 2015; Michał Górny <mgorny@gentoo.org> + +files/wxGTK-2.8.12.1-autoconf.patch, +files/wxGTK-2.8.12.1-bakefile.patch, + +files/wxGTK-2.8.12.1-libdir.patch, +wxGTK-2.8.12.1-r2.ebuild, + +wxGTK-3.0.2.0-r2.ebuild: + Enable multilib support. Backport some build system patches. + https://github.com/gentoo/gentoo-portage-rsync-mirror/pull/142 by nE0sIghT.
Good work. Thanks for doing this.
Wait, don't we still need to update the eselect-wxwidgets stuff?
No need to since the eclasses set path to wx-config directly. Besides, the current patches are wrong and it's not worth the effort.
As for eselect module - there is my attempt for multilib ( https://github.com/nE0sIghT/eselect/commit/ee2fc6be15c28d329f41c85c1ab589337a0ec2e8 ) with Michał's review. It need more work (or even total rewrite) and don't affect in-portage builds so we decided drop them.
In case someone actually wanted to work on this, I believe we would need the following: a) wx-config-X.Y renamed for CHOST (and all consumers taught to look for ${CHOST}-wx-config*, e.g. via AC_CHECK_TOOL()). Since we're using symlinks there, it would involve some ugly hackery. We had this but reverted it since it was ugly and wasn't useful for ebuilds anyway, b) wx-config wrapper variants for CHOSTs or symlinks + CHOST readlink() to figure out the correct ABI, c) eselect module rewritten to look in all libdirs, and switch wx-config for all ABIs. Of course we'd need to somehow handle the possibility that a particular version may not be available for one of the ABIs but I guess we can assume it's fine for ${CHOST}-wx-config to bail out (like right now it bails out on unset version). To summarize, /usr/bin would have: - x86_64-pc-linux-gnu-wx-config-3.0 -> /usr/lib64..., - i686-pc-linux-gnu-wx-config-3.0 -> /usr/lib32..., - wx-config-3.0 -> x86_64-pc-linux-gnu-wx-config-3.0, and wrappers: - x86_64-pc-linux-gnu-wx-config, - i686-pc-linux-gnu-wx-config, - wx-config -> x86_64-pc-linux-gnu-wx-config. or if you prefer argv[0] magic (insecure for symlinking wx-config somewhere else): - x86_64-pc-linux-gnu-wx-config -> wx-config, - i686-pc-linux-gnu-wx-config -> wx-config, - wx-config. eselect-wxwidgets would only store path relative to /usr/lib.../wx/config (or likewise), and wx-config wrapper would have libdir for proper CHOST hardcoded at build time. And just to be clear, eselect-wxwidgets still needs to be fixed since it hardcodes the wrong libdir and doesn't detect any wx version for me.
Honestly I'm thinking of just dropping it all. It served it's purpose, but all this complexity just to save people from having to pass --with-wxconfig to configure themselves seems kind of stupid.
Ok, that'll be a different bug.