Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 510708 - x11-libs/wxGTK - add multilib support
Summary: x11-libs/wxGTK - add multilib support
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Library (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo wxWidgets project
URL:
Whiteboard:
Keywords:
Depends on: 515650
Blocks: gx86-multilib 510710
  Show dependency tree
 
Reported: 2014-05-19 06:45 UTC by nE0sIghT
Modified: 2015-08-07 18:41 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Patch against wxGTK-2.8.12.1-r1.ebuild (wxGTK-2.8-multilib.patch,3.94 KB, patch)
2014-06-29 07:56 UTC, nE0sIghT
Details | Diff
Patch against wxGTK-3.0.0.0.ebuild (wxGTK-3.0-multilib.patch,4.29 KB, patch)
2014-08-30 13:56 UTC, nE0sIghT
Details | Diff
Patch against wxGTK-3.0.1.1.ebuild (wxGTK-3.0.1.1-multilib.patch,4.59 KB, patch)
2014-10-07 17:19 UTC, nE0sIghT
Details | Diff
Patch against wxGTK-2.8.12.1-r1.ebuild (wxGTK-2.8-multilib.patch,4.85 KB, patch)
2015-02-23 14:06 UTC, nE0sIghT
Details | Diff
Patch against wxGTK-3.0.2.0-r1.ebuild (wxGTK-3.0.2.0-multilib.patch,4.55 KB, patch)
2015-02-23 14:08 UTC, nE0sIghT
Details | Diff
Patch against wxGTK-2.8.12.1-r1.ebuild (wxGTK-2.8-multilib.patch,4.30 KB, patch)
2015-03-29 14:29 UTC, nE0sIghT
Details | Diff
Patch against wxGTK-3.0.2.0-r1.ebuild (wxGTK-3.0.2.0-multilib.patch,3.74 KB, patch)
2015-03-29 14:31 UTC, nE0sIghT
Details | Diff
Multilib patch for wxwidgets.eselect (commit-524a6c2.patch,7.42 KB, patch)
2015-03-29 18:21 UTC, nE0sIghT
Details | Diff
Multilib patch for wx-config and wxrc wrappers (commit-41073fe.patch,1.80 KB, patch)
2015-03-29 22:12 UTC, nE0sIghT
Details | Diff
Multilib patch for wxwidgets.eselect (eselect-wxwidgets-multilib.patch,10.67 KB, patch)
2015-03-31 17:22 UTC, nE0sIghT
Details | Diff
Multilib patch for wxwidgets.eselect (0001-wxwidgets.eselect-multilib-support.patch,7.99 KB, patch)
2015-05-12 18:35 UTC, nE0sIghT
Details | Diff
Patch against wxGTK-2.8.12.1-r1.ebuild (wxGTK-2.8-multilib.patch,4.42 KB, patch)
2015-05-22 15:54 UTC, nE0sIghT
Details | Diff
Patch against wxGTK-3.0.2.0-r1.ebuild (wxGTK-3.0.2.0-multilib.patch,4.37 KB, patch)
2015-05-22 15:56 UTC, nE0sIghT
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description nE0sIghT 2014-05-19 06:45:49 UTC
--- ../../../../../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() {
Comment 1 nE0sIghT 2014-05-19 06:46:50 UTC
--- ../../../../../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() {
Comment 2 Mike Nerone 2014-06-25 08:47:29 UTC
@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".
Comment 3 Account removed 2014-06-25 08:55:29 UTC
Mike,
confirmed and removed from gamerlay.
thanks for heads up!
Comment 4 nE0sIghT 2014-06-25 17:58:05 UTC
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() {
Comment 5 Nikoli 2014-06-25 18:45:08 UTC
nE0sIghT, do not paste such big patches as comments, use attachments.

Which packages need multilib wxgtk?
Comment 6 nE0sIghT 2014-06-25 18:55:32 UTC
(In reply to Nikoli from comment #5)
> Which packages need multilib wxgtk?

https://bugs.gentoo.org/show_bug.cgi?id=510710
Comment 7 Ryan Hill (RETIRED) gentoo-dev 2014-06-28 04:16:11 UTC
(In reply to nE0sIghT from comment #4)
> +	dosym /usr/$(get_libdir)/wx/config/gtk2-unicode-release-${SLOT}
> /usr/bin/wx-config-${SLOT}-${ABI}

Why?
Comment 8 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2014-06-28 07:05:44 UTC
(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.
Comment 9 Ryan Hill (RETIRED) gentoo-dev 2014-06-28 09:16:04 UTC
> > +	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.
Comment 10 nE0sIghT 2014-06-29 07:56:51 UTC
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
Comment 11 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2014-06-29 07:59:54 UTC
Ryan, do you expect to get multilib into :2.8 and/or :2.9? Because AFAICS :3.0 no longer needs gnomeprint.
Comment 12 nE0sIghT 2014-06-29 08:09:27 UTC
(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
Comment 13 nE0sIghT 2014-08-30 13:56:42 UTC
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
Comment 14 C. Wijtmans 2014-09-27 13:46:29 UTC
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.
Comment 15 Account removed 2014-09-27 14:53:45 UTC
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 :}
Comment 16 nE0sIghT 2014-10-07 17:19:51 UTC
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
Comment 17 nE0sIghT 2015-01-01 09:03:30 UTC
(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
Comment 18 nE0sIghT 2015-02-23 14:06:19 UTC
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
Comment 19 nE0sIghT 2015-02-23 14:08:29 UTC
Created attachment 397326 [details, diff]
Patch against wxGTK-3.0.2.0-r1.ebuild

Updated to match latest in-tree version.
Comment 20 nE0sIghT 2015-03-18 19:54:44 UTC
(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
Comment 21 nE0sIghT 2015-03-29 14:29:59 UTC
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.
Comment 22 nE0sIghT 2015-03-29 14:31:43 UTC
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.
Comment 23 nE0sIghT 2015-03-29 18:21:15 UTC
Created attachment 400068 [details, diff]
Multilib patch for wxwidgets.eselect
Comment 24 nE0sIghT 2015-03-29 22:12:14 UTC
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
Comment 25 nE0sIghT 2015-03-31 17:22:21 UTC
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.
Comment 26 nE0sIghT 2015-05-12 18:35:54 UTC
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?
Comment 27 nE0sIghT 2015-05-22 15:54:27 UTC
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
Comment 28 nE0sIghT 2015-05-22 15:56:05 UTC
Created attachment 403770 [details, diff]
Patch against wxGTK-3.0.2.0-r1.ebuild

Same as above
Comment 29 nE0sIghT 2015-08-06 12:17:08 UTC
+*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.
Comment 30 Ryan Hill (RETIRED) gentoo-dev 2015-08-07 00:42:03 UTC
Good work.  Thanks for doing this.
Comment 31 Ryan Hill (RETIRED) gentoo-dev 2015-08-07 04:20:20 UTC
Wait, don't we still need to update the eselect-wxwidgets stuff?
Comment 32 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2015-08-07 04:39:20 UTC
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.
Comment 33 nE0sIghT 2015-08-07 07:46:45 UTC
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.
Comment 34 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2015-08-07 08:58:54 UTC
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.
Comment 35 Ryan Hill (RETIRED) gentoo-dev 2015-08-07 18:39:50 UTC
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.
Comment 36 Ryan Hill (RETIRED) gentoo-dev 2015-08-07 18:41:09 UTC
Ok, that'll be a different bug.