Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 480402 - dev-libs/libxslt-1.1.28-r2 - add multilib support
Summary: dev-libs/libxslt-1.1.28-r2 - add multilib support
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] GNOME (show other bugs)
Hardware: All All
: Normal normal (vote)
Assignee: Gentoo Linux Gnome Desktop Team
URL:
Whiteboard:
Keywords: PMASKED
Depends on: 480400
Blocks: gx86-multilib
  Show dependency tree
 
Reported: 2013-08-09 18:03 UTC by David Heidelberg (okias)
Modified: 2014-03-18 22:35 UTC (History)
3 users (show)

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


Attachments
libxslt-1.1.28-r2.ebuild (libxslt-1.1.28-r2.ebuild,2.73 KB, text/plain)
2013-08-09 18:04 UTC, David Heidelberg (okias)
Details
libxslt-1.1.28-r2.ebuild (libxslt-1.1.28-r2.ebuild,2.94 KB, text/plain)
2013-08-09 21:36 UTC, Mike Lothian
Details
libxslt-1.1.28-r2.ebuild.diff (libxsl-1.1.28-r2.ebuild.diff,3.21 KB, patch)
2014-01-04 01:29 UTC, David Heidelberg (okias)
Details | Diff
libxslt-1.1.28-r2.ebuild.diff (patch_ebuild_xslt,3.11 KB, patch)
2014-02-08 19:58 UTC, David Heidelberg (okias)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description David Heidelberg (okias) 2013-08-09 18:03:40 UTC
ebuild

Reproducible: Always
Comment 1 David Heidelberg (okias) 2013-08-09 18:04:28 UTC
Created attachment 355516 [details]
libxslt-1.1.28-r2.ebuild
Comment 2 Mike Lothian 2013-08-09 21:36:14 UTC
Created attachment 355558 [details]
libxslt-1.1.28-r2.ebuild
Comment 3 Gilles Dartiguelongue (RETIRED) gentoo-dev 2013-08-10 09:43:15 UTC
Please submit unified diffs against gentoo-x86 ebuilds.
Comment 4 Jeroen Roovers (RETIRED) gentoo-dev 2013-08-11 13:01:25 UTC
Comment on attachment 355516 [details]
libxslt-1.1.28-r2.ebuild

--- libxslt-1.1.28-r1.ebuild    2013-07-03 15:40:09.666678170 +0200
+++ -   2013-08-11 15:01:15.510115010 +0200
@@ -7,7 +7,7 @@
 PYTHON_COMPAT=( python{2_5,2_6,2_7} )
 PYTHON_REQ_USE="xml"

-inherit autotools eutils python-r1 toolchain-funcs
+inherit autotools eutils python-r1 toolchain-funcs multilib-minimal
 
 DESCRIPTION="XSLT libraries and tools"
 HOMEPAGE="http://www.xmlsoft.org/"
@@ -41,9 +41,11 @@
        # and it is propably otherwise too if upstream generated with new
        # autoconf
 #      epunt_cxx
+
+       multilib_copy_sources
 }

-src_configure() {
+multilib_src_configure() {
        # libgcrypt is missing pkg-config file, so fixing cross-compile
        # here. see bug 267503.
        tc-is-cross-compiler && \
@@ -59,24 +61,24 @@
                $(use_with debug mem-debug)
 }

-src_compile() {
+multilib_src_compile() {
        default
-       if use python; then
+       if use python && multilib_is_native_abi; then
                python_copy_sources
                python_foreach_impl libxslt_py_emake
        fi
 }

-src_test() {
+multilib_src_test() {
        default
-       use python && python_foreach_impl libxslt_py_emake test
+       use python && multilib_is_native_abi && python_foreach_impl libxslt_py_emake test
 }

-src_install() {
+multilib_src_install() {
        default
        dodoc FEATURES

-       if use python; then
+       if use python && multilib_is_native_abi; then
                python_foreach_impl libxslt_py_emake DESTDIR="${D}" install
                python_foreach_impl python_optimize
                mv "${ED}"/usr/share/doc/${PN}-python-${PV} "${ED}"/usr/share/doc/${PF}/python
Comment 5 Jeroen Roovers (RETIRED) gentoo-dev 2013-08-11 13:01:49 UTC
Comment on attachment 355558 [details]
libxslt-1.1.28-r2.ebuild

--- libxslt-1.1.28-r1.ebuild    2013-07-03 15:40:09.666678170 +0200
+++ -   2013-08-11 15:01:41.852018330 +0200
@@ -7,7 +7,7 @@
 PYTHON_COMPAT=( python{2_5,2_6,2_7} )
 PYTHON_REQ_USE="xml"
 
-inherit autotools eutils python-r1 toolchain-funcs
+inherit autotools eutils python-r1 toolchain-funcs multilib-minimal
 
 DESCRIPTION="XSLT libraries and tools"
 HOMEPAGE="http://www.xmlsoft.org/"
@@ -20,8 +20,8 @@
 
 REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
 
-RDEPEND=">=dev-libs/libxml2-2.8.0:2
-       crypt?  ( >=dev-libs/libgcrypt-1.1.42:= )
+RDEPEND=">=dev-libs/libxml2-2.8.0:2[${MULTILIB_USEDEP}]
+       crypt?  ( >=dev-libs/libgcrypt-1.1.42:=[${MULTILIB_USEDEP}] )
        python? (
                ${PYTHON_DEPS}
                dev-libs/libxml2:2[python,${PYTHON_USEDEP}] )"
@@ -41,14 +41,23 @@
        # and it is propably otherwise too if upstream generated with new
        # autoconf
 #      epunt_cxx
+
+       multilib_copy_sources
 }
 
-src_configure() {
+multilib_src_configure() {
        # libgcrypt is missing pkg-config file, so fixing cross-compile
        # here. see bug 267503.
        tc-is-cross-compiler && \
                export LIBGCRYPT_CONFIG="${SYSROOT}"/usr/bin/libgcrypt-config
 
+       if multilib_is_native_abi; then
+               gcryptconfig="/usr/bin/libgcrypt-config"
+       else
+               gcryptconfig="/usr/bin/libgcrypt-config.${ABI}"
+       fi
+
+       LIBGCRYPT_CONFIG=${gcryptconfig} \
        econf \
                $(use_enable static-libs static) \
                --with-html-dir="${EPREFIX}"/usr/share/doc/${PF} \
@@ -59,24 +68,24 @@
                $(use_with debug mem-debug)
 }
 
-src_compile() {
+multilib_src_compile() {
        default
-       if use python; then
+       if use python && multilib_is_native_abi; then
                python_copy_sources
                python_foreach_impl libxslt_py_emake
        fi
 }
 
-src_test() {
+multilib_src_test() {
        default
-       use python && python_foreach_impl libxslt_py_emake test
+       use python && python_foreach_impl && multilib_is_native_abi libxslt_py_emake test
 }
 
-src_install() {
+multilib_src_install() {
        default
        dodoc FEATURES
 
-       if use python; then
+       if use python && multilib_is_native_abi; then
                python_foreach_impl libxslt_py_emake DESTDIR="${D}" install
                python_foreach_impl python_optimize
                mv "${ED}"/usr/share/doc/${PN}-python-${PV} "${ED}"/usr/share/doc/${PF}/python
Comment 6 Alexandre Rostovtsev (RETIRED) gentoo-dev 2013-12-30 05:21:51 UTC
We can't add this until we have multilib dev-libs/libgcrypt in the tree (bug #480400).
Comment 7 David Heidelberg (okias) 2014-01-03 23:02:35 UTC
dev-libs/libxslt-1.1.28-r2::ixit
Comment 8 David Heidelberg (okias) 2014-01-04 01:29:07 UTC
Created attachment 366924 [details, diff]
libxslt-1.1.28-r2.ebuild.diff
Comment 9 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2014-01-04 09:02:49 UTC
Comment on attachment 366924 [details, diff]
libxslt-1.1.28-r2.ebuild.diff

>+DOCS=( FEATURES )
>+

This overrides the default list, so things like README don't get installed now.

> src_prepare() {
> 	# https://bugzilla.gnome.org/show_bug.cgi?id=684621
> 	epatch "${FILESDIR}"/${PN}.m4-${PN}-1.1.26.patch
>@@ -41,47 +43,56 @@
> 	# and it is propably otherwise too if upstream generated with new
> 	# autoconf
> #	epunt_cxx
>+	multilib_copy_sources

No love in the build system or in ebuild? :)

> }
> 
>-src_configure() {
>+multilib_src_configure() {
> 	# libgcrypt is missing pkg-config file, so fixing cross-compile
> 	# here. see bug 267503.
> 	tc-is-cross-compiler && \
> 		export LIBGCRYPT_CONFIG="${SYSROOT}"/usr/bin/libgcrypt-config
> 
>+	if multilib_build_binaries; then
>+		$myconf = "$(use_with python)"
>+	else
>+		$myconf = "--disable-python"

Mismatch. use_with == --with/--without, and you tell --disable...

>+		export LIBGCRYPT_CONFIG="${SYSROOT}/usr/bin/${ABI}-libgcrypt-config"

If you fix libgcrypt to use CHOST, this will probably work without explicit overrides.

>+	fi
>+
> 	econf \
> 		$(use_enable static-libs static) \
> 		--with-html-dir="${EPREFIX}"/usr/share/doc/${PF} \
> 		--with-html-subdir=html \
> 		$(use_with crypt crypto) \
>-		$(use_with python) \
> 		$(use_with debug) \
>-		$(use_with debug mem-debug)
>+		$(use_with debug mem-debug) \
>+		$myconf
> }
> 
>-src_compile() {
>+multilib_src_compile() {
> 	default
>-	if use python; then
>+	if use python && multilib_build_binaries; then
> 		python_copy_sources
> 		python_foreach_impl libxslt_py_emake

This looks like the cause of all multilib_copy_sources trouble. Sounds like we need to fix Python here first.

> 	fi
> }
> 
>-src_test() {
>+multilib_src_test() {
> 	default
>-	use python && python_foreach_impl libxslt_py_emake test
>+	use python && multilib_build_binaries && python_foreach_impl libxslt_py_emake test
> }
> 
>-src_install() {
>+multilib_src_install() {
> 	default
>-	dodoc FEATURES
> 
>-	if use python; then
>+	if use python && multilib_build_binaries; then
> 		python_foreach_impl libxslt_py_emake DESTDIR="${D}" install
> 		python_foreach_impl python_optimize
> 		mv "${ED}"/usr/share/doc/${PN}-python-${PV} "${ED}"/usr/share/doc/${PF}/python
> 	fi
>+}
> 
>+multilib_src_install_all() {
> 	prune_libtool_files --modules
> }
>
Comment 10 walt 2014-02-08 18:29:39 UTC
Is this line malformed?:

crypt?  ( >=dev-libs/libgcrypt-1.1.42:= )

1.1.28-r1 is demanding libgcrypt-1.6.1 which has just been masked.
Apparently libgcrypt-1.5.3 doesn't pass the test.
Comment 11 David Heidelberg (okias) 2014-02-08 19:58:11 UTC
Created attachment 369904 [details, diff]
libxslt-1.1.28-r2.ebuild.diff

Adding updated version (deps, --without-python, DOCS)
Comment 12 Alexandre Rostovtsev (RETIRED) gentoo-dev 2014-03-04 04:25:13 UTC
(In reply to Michał Górny from comment #9)
> If you fix libgcrypt to use CHOST, this will probably work without explicit
> overrides.

Unfortunately, it doesn't, if chost-unprefixed /usr/bin/libgcrypt-config is available, that's what libxslt's configure will use :(

configure:13774: checking for libgcrypt-config
configure:13792: found /usr/bin/libgcrypt-config
configure:13805: result: /usr/bin/libgcrypt-config
Comment 13 Alexandre Rostovtsev (RETIRED) gentoo-dev 2014-03-04 05:53:41 UTC
Submitted a patch upstream (https://bugzilla.gnome.org/show_bug.cgi?id=725635) to use AC_PATH_TOOL for libgcrypt-config - this allows configure to automatically pick up the correct prefixed executable.

Temporarily package masked until multilib libgcrypt is unmasked.

+*libxslt-1.1.28-r2 (04 Mar 2014)
+
+  04 Mar 2014; Alexandre Rostovtsev <tetromino@gentoo.org>
+  -libxslt-1.1.28.ebuild, +libxslt-1.1.28-r2.ebuild,
+  +files/libxslt-1.1.28-libgcrypt-config.patch:
+  Add multilib support (bug #480402, thanks to David Heidelberger (okias) and
+  Michał Górny). Punt old.
Comment 14 Austin English (RETIRED) gentoo-dev 2014-03-04 21:08:23 UTC
(In reply to Alexandre Rostovtsev from comment #13)
> Submitted a patch upstream
> (https://bugzilla.gnome.org/show_bug.cgi?id=725635) to use AC_PATH_TOOL for
> libgcrypt-config - this allows configure to automatically pick up the
> correct prefixed executable.
> 
> Temporarily package masked until multilib libgcrypt is unmasked.
> 
> +*libxslt-1.1.28-r2 (04 Mar 2014)
> +
> +  04 Mar 2014; Alexandre Rostovtsev <tetromino@gentoo.org>
> +  -libxslt-1.1.28.ebuild, +libxslt-1.1.28-r2.ebuild,
> +  +files/libxslt-1.1.28-libgcrypt-config.patch:
> +  Add multilib support (bug #480402, thanks to David Heidelberger (okias)
> and
> +  Michał Górny). Punt old.

Works fine with wine-1.7.13-118-g0eb6265 (and the dlls/msxml3 tests all pass), thanks!