--- nvidia-drivers-346.35.ebuild 2015-02-09 11:01:19.000000000 +0300 +++ nvidia-drivers-346.35-r1.ebuild 2015-02-23 21:51:16.745152402 +0300 @@ -4,7 +4,8 @@ EAPI=5 -inherit eutils flag-o-matic linux-info linux-mod multilib nvidia-driver \ +MULTILIB_COMPAT=( abi_x86_{32,64} ) +inherit eutils flag-o-matic linux-info linux-mod multilib-build nvidia-driver \ portability toolchain-funcs unpacker user udev NV_URI="http://us.download.nvidia.com/XFree86/" @@ -26,9 +27,8 @@ SLOT="0" KEYWORDS="-* amd64 x86 ~amd64-fbsd ~x86-fbsd" RESTRICT="bindist mirror strip" -EMULTILIB_PKG="true" -IUSE="acpi multilib kernel_FreeBSD kernel_linux pax_kernel +tools gtk2 gtk3 +X uvm" +IUSE="acpi kernel_FreeBSD kernel_linux pax_kernel +tools gtk2 gtk3 +X uvm" REQUIRED_USE=" tools? ( X || ( gtk2 gtk3 ) ) " @@ -61,13 +61,13 @@ X? ( =x11-libs/libvdpau-0.3-r1 - multilib? ( + abi_x86_32? ( || ( ( >=x11-libs/libX11-1.6.2[abi_x86_32] >=x11-libs/libXext-1.3.2[abi_x86_32] ) - app-emulation/emul-linux-x86-xlibs + app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)] ) ) ) @@ -78,13 +78,6 @@ S=${WORKDIR}/ pkg_pretend() { - - if use amd64 && has_multilib_profile && \ - [ "${DEFAULT_ABI}" != "amd64" ]; then - eerror "This ebuild doesn't currently support changing your default ABI" - die "Unexpected \${DEFAULT_ABI} = ${DEFAULT_ABI}" - fi - if use kernel_linux && kernel_is ge 3 18 ; then ewarn "Gentoo supports kernels which are supported by NVIDIA" ewarn "which are limited to the following kernels:" @@ -161,15 +154,6 @@ src_prepare() { # Please add a brief description for every added patch - if use kernel_linux; then - if kernel_is lt 2 6 9 ; then - eerror "You must build this against 2.6.9 or higher kernels." - fi - - # If greater than 2.6.5 use M= instead of SUBDIR= -# convert_to_m "${NV_SRC}"/Makefile.kbuild - fi - if use pax_kernel; then ewarn "Using PAX patches is not supported. You will be asked to" ewarn "use a standard kernel should you have issues. Should you" @@ -364,20 +348,7 @@ doexe "${FILESDIR}"/95-nvidia-settings fi - #doenvd "${FILESDIR}"/50nvidia-prelink-blacklist - - if has_multilib_profile && use multilib ; then - local OABI=${ABI} - for ABI in $(get_install_abis) ; do - src_install-libs - done - ABI=${OABI} - unset OABI - else - src_install-libs - fi - - is_final_abi || die "failed to iterate through all ABIs" + multilib_foreach_abi src_install-libs readme.gentoo_create_doc } @@ -388,8 +359,7 @@ local CL_ROOT="/usr/$(get_libdir)/OpenCL/vendors/nvidia" local libdir=${NV_OBJ} - if use kernel_linux && has_multilib_profile && \ - [[ ${ABI} == "x86" ]] ; then + if use kernel_linux && ! multilib_is_native_abi; then libdir=${NV_OBJ}/32 fi