# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 inherit multilib DESCRIPTION="Wraps binaries which have implementations for different ABIs" HOMEPAGE="https://dev.gentoo.org/~binki/abi-wrapper.xhtml https://bitbucket.org/gentoo/abi-wrapper" SRC_URI="ftp://mirror.ohnopub.net/mirror/${PN}/${P}.tar.bz2" LICENSE="GPL-2" SLOT="0" KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86" IUSE="doc" DEPEND="doc? ( app-text/txt2man )" src_configure() { local myeconfargs=( # Because portage resolves python's sys.executable value by # reading the symlink repeatedly, portage will end up trying to # directly execute "abi-wrapper" if abi-wrapper preserves # argv[0]. Thus blacklist python from argv[0] preservation. # https://github.com/gentoo/portage/blob/687d7193812e3ebbf2e32f984564381e915f21f9/pym/portage/__init__.py#L392 # Portage does this because it is afraid that it may leave the # python symlink in an inconstent state or replace it with an # incompatible version of python, so portage needs to learn that # abi-wrapper exists eventually... MULTILIB_BINARIES_NO_CANONICAL='python*' # Ensure that the default ABI is prioritized. MULTILIB_ABIS="${DEFAULT_ABI} ${MULTILIB_ABIS/${DEFAULT_ABI}}" # Support separate /usr. --bindir="${EPREFIX}"/bin --libexecdir="${EPREFIX}"/"$(get_libdir)" ) use doc || myeconfargs+=(TXT2MAN=false) econf "${myeconfargs[@]}" } src_install() { default dosym ../../bin/abi-wrapper /usr/bin/abi-wrapper }