-
Created attachment 353722 [details, diff] ebuild patch
(don't forget to CC multilib, specially in packages like this that are orphan)
Thanks for reporting. This is fixed in cvs. Please sync. + + 20 Dec 2013; Johannes Huber <johu@gentoo.org> +exiv2-0.23-r2.ebuild: + Revision bump adds multilib support + converted to python-single-r1 eclass by + Michael Weber <xmw@gentoo.org>, bug #474654. Introduces subslot, bug #456794. +
Unable to build exiv2 w/ USE=doc enabled using this ebuild: relevant build log pieces: * amd64: running emake doc make -j4 doc make: Nothing to be done for 'doc'. <skipped> * amd64: running dohtml -r doc/html/. !!! Don't know what to do with 'doc/html/.' The only ABI enabled at my host is 64bit. I've add a "multilib_for_best_abi pwd -P" before install and "emake doc" lines of the ebuild and got the following. * amd64: running pwd -P /storage/tmp/paludis/media-gfx-exiv2-0.23-r2/work/exiv2-0.23 note, it points to a dir w/o ABI suffix! it is why it can't build any docs...
Guys, this thing is terrible. 1) You don't have proper multilib dependencies. In fact, the dependencies aren't even multilib. The package randomly fails to build from system to system. 2) The dependencies for this package haven't been converted to multilib yet. You can't convert it properly right now. 3) You use autotools-multilib completely incorrect. No call to src_prepare, explicit copy_sources without making the eclass aware it's running like this... 4) You're calling python_* functions that don't even exist in the eclass... 5) You apply ABI-specific arguments in common src_configure(). They will get applied to the x86 build incorrectly. The whole thing is full of hackery, doing things the hardest way possible and bugs. I don't understand why it was committed without proper testing and/or review by multilib@. I will take the liberty of masking this package before we find even more breakage in it.
Created attachment 367894 [details, diff] Proper patch against -r1 Few notes: 1. I've cleaned it up a little -- added missing ||die, removed unnecessary ||die, 2. I've switched the ebuild to python-any-r1 -- the Python dep is purely build-time, 3. I've converted it to multilib properly, with proper deps. You need to wait for libintl before committing it.
Created attachment 367896 [details] Full -r3 ebuild
(In reply to Michał Górny from comment #7) > Created attachment 367896 [details] > Full -r3 ebuild @Michał go ahead
Just to be clear, does anything actually need exiv2 multilib? I mean, anything that ends up with a real program and not library someone made multilib-enabled for fun.
+ 30 Apr 2014; Michał Górny <mgorny@gentoo.org> exiv2-0.23-r2.ebuild: + Fix multilib and Python support. Bug #474654.