Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 469180 - dev-cpp/libxmlpp - Please add multilib support
Summary: dev-cpp/libxmlpp - Please add multilib support
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Library (show other bugs)
Hardware: All All
: Normal normal (vote)
Assignee: GNOME C++ Bindings Maintainers (OBSOLETE)
URL:
Whiteboard:
Keywords: PATCH
Depends on: gnome2-multilib
Blocks: gx86-multilib
  Show dependency tree
 
Reported: 2013-05-09 13:34 UTC by Karl Lindén
Modified: 2015-03-22 20:08 UTC (History)
1 user (show)

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


Attachments
An ebuild supporting multilib. (libxmlpp-2.36.0-r1.ebuild,1.07 KB, text/plain)
2013-05-09 13:34 UTC, Karl Lindén
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Karl Lindén 2013-05-09 13:34:19 UTC
Created attachment 347840 [details]
An ebuild supporting multilib.

It would be very good if there could be a dev-cpp/libxmlpp ebuild supporting multilib. It is needed by the proaudio overlay to supply a multilib ebuild for libffado (and thus a multilib ebuild for jack-audio-connection-kit).

I'm submitting a converted ebuild with support for multilib through the multilib-minimal eclass. The DOCS variable is dropped because docs install fine anyway.

The ebuild also depends on emul-linux-x86-{baselibs,gtkmmlibs}. I think that is the best solution for now until those packages are split up in multilib ebuilds. When those emul packages have been migrated the dependencies can be changed to ||-dependendencies.
Comment 1 Jeroen Roovers (RETIRED) gentoo-dev 2013-05-09 13:37:39 UTC
Comment on attachment 347840 [details]
An ebuild supporting multilib.

--- libxmlpp-2.36.0.ebuild      2013-04-02 23:18:54.076430605 +0200
+++ -   2013-05-09 15:37:30.974576153 +0200
@@ -1,37 +1,51 @@
 # Copyright 1999-2013 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-cpp/libxmlpp/libxmlpp-2.36.0.ebuild,v 1.9 2013/04/01 18:23:46 ago Exp $
+# $Header: $
 
 EAPI="5"
 GCONF_DEBUG="no"
 GNOME2_LA_PUNT="yes"
 GNOME_ORG_MODULE="${PN/pp/++}"

-inherit gnome2
+inherit gnome2 multilib-minimal
 
 DESCRIPTION="C++ wrapper for the libxml2 XML parser library"
 HOMEPAGE="http://libxmlplusplus.sourceforge.net/"
 
 LICENSE="LGPL-2.1"
 SLOT="2.6"
-KEYWORDS="alpha amd64 hppa ia64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~x86-solaris"
+KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~x86-solaris"
 IUSE="doc test"
 
 RDEPEND=">=dev-libs/libxml2-2.7.3
-       >=dev-cpp/glibmm-2.32"
+       >=dev-cpp/glibmm-2.32
+       amd64? ( abi_x86_32? (
+               app-emulation/emul-linux-x86-baselibs[development]
+               app-emulation/emul-linux-x86-gtkmmlibs[development] ) )"
 DEPEND="${RDEPEND}
        virtual/pkgconfig"

+ECONF_SOURCE="${S}"
+
 src_prepare() {
-       DOCS="AUTHORS ChangeLog NEWS README*"
        G2CONF="${G2CONF} $(use_enable doc documentation)"

        gnome2_src_prepare
 }

-src_install() {
+multilib_src_configure() {
+       gnome2_src_configure
+}
+
+multilib_src_compile() {
+       gnome2_src_compile
+}
+
+multilib_src_install() {
        gnome2_src_install
+}

+multilib_src_install_all() {
        rm -fr "${ED}"usr/share/doc/libxml++*
        use doc && dohtml docs/reference/html/*
 }
Comment 2 Karl Lindén 2015-03-22 19:17:06 UTC
Here is an updated patch that does not depend on the emul-linux-x86 libraries. This patch differs from the last one in two other ways; I had to move DOCS="..." in src_prepare to dodoc ... in multilib_src_install_all for the files to be installed and I had to move $(use_enable doc documentation) to multilib_src_configure for the option to have any effect.

--- libxmlpp-2.36.0.ebuild	2015-03-22 19:51:35.352663766 +0100
+++ libxmlpp-2.36.0-r1.ebuild	2015-03-22 20:02:55.777659944 +0100
@@ -1,37 +1,47 @@
-# Copyright 1999-2014 Gentoo Foundation
+# Copyright 1999-2015 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-cpp/libxmlpp/libxmlpp-2.36.0.ebuild,v 1.10 2014/06/22 18:43:47 maekke Exp $
+# $Header: $
 
 EAPI="5"
 GCONF_DEBUG="no"
 GNOME2_LA_PUNT="yes"
 GNOME_ORG_MODULE="${PN/pp/++}"
 
-inherit gnome2
+inherit gnome2 multilib-minimal
 
 DESCRIPTION="C++ wrapper for the libxml2 XML parser library"
 HOMEPAGE="http://libxmlplusplus.sourceforge.net/"
 
 LICENSE="LGPL-2.1"
 SLOT="2.6"
-KEYWORDS="alpha amd64 ~arm hppa ia64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~x86-solaris"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~x86-solaris"
 IUSE="doc test"
 
-RDEPEND=">=dev-libs/libxml2-2.7.3
-	>=dev-cpp/glibmm-2.32"
+RDEPEND=">=dev-libs/libxml2-2.7.3[${MULTILIB_USEDEP}]
+	>=dev-cpp/glibmm-2.32[${MULTILIB_USEDEP}]"
 DEPEND="${RDEPEND}
 	virtual/pkgconfig"
 
-src_prepare() {
-	DOCS="AUTHORS ChangeLog NEWS README*"
-	G2CONF="${G2CONF} $(use_enable doc documentation)"
+ECONF_SOURCE="${S}"
 
+multilib_src_prepare() {
 	gnome2_src_prepare
 }
 
-src_install() {
+multilib_src_configure() {
+	gnome2_src_configure $(use_enable doc documentation)
+}
+
+multilib_src_compile() {
+	gnome2_src_compile
+}
+
+multilib_src_install() {
 	gnome2_src_install
+}
 
+multilib_src_install_all() {
 	rm -fr "${ED}"usr/share/doc/libxml++*
+	dodoc AUTHORS ChangeLog NEWS README
 	use doc && dohtml docs/reference/html/*
 }
Comment 3 Alexandre Rostovtsev (RETIRED) gentoo-dev 2015-03-22 19:54:26 UTC
(In reply to Karl Lindén from comment #2)

> +multilib_src_configure() {
> +	gnome2_src_configure $(use_enable doc documentation)
> +}

Should be ECONF_SOURCE="${S}" gnome2_src_configure :)
Comment 4 Alexandre Rostovtsev (RETIRED) gentoo-dev 2015-03-22 20:08:38 UTC
Added, sorry for the very long wait!

+*libxmlpp-2.36.0-r1 (22 Mar 2015)
+
+  22 Mar 2015; Alexandre Rostovtsev <tetromino@gentoo.org>
+  +libxmlpp-2.36.0-r1.ebuild:
+  Add multilib support (bug #469180, thanks to Karl Lindén). Install docs
+  where upstream expects so other *pp docs can link to them.