ebuild Reproducible: Always
Created attachment 355514 [details] libgcrypt-1.5.3-r1.ebuild
missing MULTILIB_USEDEP too
Created attachment 355560 [details] libgcrypt-1.5.3-r1.ebuild
Comment on attachment 355514 [details] libgcrypt-1.5.3-r1.ebuild --- libgcrypt-1.5.3.ebuild 2013-08-09 15:07:44.251748455 +0200 +++ - 2013-08-11 14:59:27.968544868 +0200 @@ -5,7 +5,7 @@ EAPI=5 AUTOTOOLS_AUTORECONF=1 -inherit autotools-utils +inherit autotools-multilib DESCRIPTION="General purpose crypto library based on the code used in GnuPG" HOMEPAGE="http://www.gnupg.org/" @@ -44,5 +44,5 @@ $([[ ${CHOST} == *86*-darwin* ]] && echo "--disable-asm") $([[ ${CHOST} == sparcv9-*-solaris* ]] && echo "--disable-asm") ) - autotools-utils_src_configure + autotools-multilib_src_configure }
Comment on attachment 355560 [details] libgcrypt-1.5.3-r1.ebuild --- libgcrypt-1.5.3.ebuild 2013-08-09 15:07:44.251748455 +0200 +++ - 2013-08-11 14:59:54.505979958 +0200 @@ -5,7 +5,7 @@ EAPI=5 AUTOTOOLS_AUTORECONF=1 -inherit autotools-utils +inherit autotools-utils multilib-minimal DESCRIPTION="General purpose crypto library based on the code used in GnuPG" HOMEPAGE="http://www.gnupg.org/" @@ -17,7 +17,7 @@ KEYWORDS="alpha amd64 arm hppa ia64 ~m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" IUSE="static-libs" -RDEPEND=">=dev-libs/libgpg-error-1.8" +RDEPEND=">=dev-libs/libgpg-error-1.8[${MULTILIB_USEDEP}]" DEPEND="${RDEPEND}" DOCS=( AUTHORS ChangeLog NEWS README THANKS TODO ) @@ -27,7 +27,13 @@ "${FILESDIR}"/${PN}-multilib-syspath.patch ) -src_configure() { +src_prepare() { + default + + multilib_copy_sources +} + +multilib_src_configure() { local myeconfargs=( --disable-padlock-support # bug 201917 --disable-dependency-tracking @@ -46,3 +52,20 @@ ) autotools-utils_src_configure } + +multilib_src_install() { + default + + if multilib_is_native_abi; then + # Move files back. + if path_exists -o "${ED}"/tmp/libgcrypt-config.*; then + mv "${ED}"/tmp/libgcrypt-config.* "${ED}"/usr/bin || die + fi + else + # Preserve ABI-variant of libgcrypt-config, + # then drop all the executables + mkdir -p "${ED}"/tmp || die + mv "${ED}"/usr/bin/libgcrypt-config "${ED}"/tmp/libgcrypt-config.${ABI} || die + rm -r "${ED}"/usr/bin || die + fi +}
We need this for multilib libxslt.
It doesn't have pkg-config? That makes me real sad. FYI, I prefer /usr/bin/${CHOST}-foo-config nowadays. This one gets picked up by configure automatically more often.
dev-libs/libgcrypt-1.6.0-r1::ixit
Created attachment 366922 [details, diff] libgcrypt-1.6.0-r1.ebuild.diff
Comment on attachment 366922 [details, diff] libgcrypt-1.6.0-r1.ebuild.diff >+multilib_src_install() { >+ emake DESTDIR="${D}" "${_at_args[@]}" install _at_args is private, backwards compat and deprecated. Drop that, please, it's not meaningful here. >+ if ! multilib_build_binaries; then >+ newbin "${D}"/usr/bin/libgcrypt-config "${ABI}"-libgcrypt-config || die "${CHOST}"-libgcrypt-config, you mean. And ${ED}, please. And this EAPI doesn't deserve an explicit death. You may prefer the lazy-typer variant: newbin {"${ED}"/usr/bin/,"${CHOST}"-}libgcrypt-config
Created attachment 366946 [details, diff] libgcrypt-1.6.0.ebuild.diff This one's got everything right, including wrapping gpg-error-config, and disabling clisp in lib32. It has the multilib team REVIEWED badge :).
(In reply to Michał Górny from comment #11) > Created attachment 366946 [details, diff] [details, diff] > libgcrypt-1.6.0.ebuild.diff > > This one's got everything right, including wrapping gpg-error-config, and > disabling clisp in lib32. It has the multilib team REVIEWED badge :). Sorry, clisp was about gpg-error.
Ping. Any news here?
Created attachment 369670 [details, diff] libgcrypt-1.6.1-r1.ebuild.patch dev-libs/libgcrypt-1.6.1-r1::ixit diff
We should probably slot libgcrypt first and convert both slots to multilib otherwise some binary stuff might break.
I can confirm, that I encountered some binary breaks. Not sure if caused by multilib, but probably yes.
Created attachment 371414 [details] Compat slot 11 ebuild Here's a properly slotted and multilibbed compat ebuild for .so.11 :).
Created attachment 371416 [details, diff] Diff for the compat slot
Created attachment 371418 [details, diff] Updated patch to 1.6.1
That should be all there is possible ;). Please let me know if it's ok to commit. Both ebuilds need to block emul-linux since :0 installs .so, and :11 installs .so.11*; emul-linux will only have to dep on :11 though. We also need to update all regular rev-deps to use :0=. 64-bit binary packages can use: || ( dev-libs/libgcrypt:11 dev-libs/libgcrypt:0/11 ) to support both compat & regular package. 32-bit binary packages can use: dev-libs/libgcrypt:11[${MULTILIB_USEDEP}] since I doubt there's a point in converting :0/11.
Ebuilds now in the tree.