--- /usr/portage/media-gfx/nvidia-cg-toolkit/nvidia-cg-toolkit-2.1.0017.ebuild 2010-09-16 19:09:13.000000000 +0200 +++ /usr/local/portage/media-gfx/nvidia-cg-toolkit/nvidia-cg-toolkit-3.0.0016.ebuild 2011-05-03 01:13:39.000000000 +0200 @@ -1,54 +1,105 @@ -# Copyright 1999-2010 Gentoo Foundation +# Copyright 1999-2011 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/media-gfx/nvidia-cg-toolkit/nvidia-cg-toolkit-2.1.0017.ebuild,v 1.2 2010/09/16 17:09:13 scarabeus Exp $ +# $Header: $ -inherit versionator +EAPI=2 + +inherit multilib versionator MY_PV="$(get_version_component_range 1-2)" -MY_DATE="February2009" +MY_DATE="February2011" DESCRIPTION="NVIDIA's C graphics compiler toolkit" HOMEPAGE="http://developer.nvidia.com/object/cg_toolkit.html" -SRC_URI="x86? ( http://developer.download.nvidia.com/cg/Cg_${MY_PV}/${PV}/Cg-${MY_PV}_${MY_DATE}_x86.tgz ) - amd64? ( http://developer.download.nvidia.com/cg/Cg_${MY_PV}/${PV}/Cg-${MY_PV}_${MY_DATE}_x86_64.tgz )" +MY_32B_URI="http://developer.download.nvidia.com/cg/Cg_${MY_PV}/Cg-${MY_PV}_${MY_DATE}_x86.tgz" +MY_64B_URI="http://developer.download.nvidia.com/cg/Cg_${MY_PV}/Cg-${MY_PV}_${MY_DATE}_x86_64.tgz" +SRC_URI="x86? ( ${MY_32B_URI} ) +amd64? ( + multilib? ( ${MY_32B_URI} ) + ${MY_64B_URI} +)" LICENSE="NVIDIA" SLOT="0" KEYWORDS="~amd64 ~x86" -IUSE="" +IUSE="doc examples multilib" RESTRICT="strip" -RDEPEND="media-libs/freeglut" +RDEPEND="media-libs/freeglut + x86? ( virtual/libstdc++:3.3 ) + multilib? ( amd64? ( app-emulation/emul-linux-x86-xlibs ) )" S=${WORKDIR} DEST=/opt/${PN} +src_unpack() { + if use multilib && use amd64; then + for i in $A; do + if [[ "$i" =~ .*x86_64.* ]]; then + unpack "$i" + else + mkdir 32bit + cd 32bit + unpack "$i" + cd .. + fi + done + else + default + fi +} + src_install() { into ${DEST} - dobin usr/bin/cgc || die - dosym ${DEST}/bin/cgc /opt/bin/cgc || die - - exeinto ${DEST}/lib - if use x86 ; then - doexe usr/lib/* || die - elif use amd64 ; then - doexe usr/lib64/* || die + dobin usr/bin/* + dolib usr/$(get_libdir)/* + if use multilib && use amd64; then + ABI="x86" dolib 32bit/usr/lib/* fi - doenvd "${FILESDIR}"/80cgc-opt - insinto ${DEST}/include/Cg doins usr/include/Cg/* + insinto ${DEST}/man/man1 + doins usr/share/man/man1/* insinto ${DEST}/man/man3 doins usr/share/man/man3/* + # here we have some strange manpages + # usr/share/man/manCg/* usr/share/man/manCgFX/* + prepman ${DEST} insinto ${DEST} - doins -r usr/local/Cg/{docs,examples,README} + doins usr/local/Cg/README + + if use doc; then + doins -r usr/local/Cg/docs + fi + + if use examples; then + doins -r usr/local/Cg/examples + fi + + if use multilib && use amd64; then + local LDPATH_MULITLIB_SUFFIX=":${DEST}/lib32" + fi + + cat > "${T}/env" << EOF +# Configures the CG Runtime environment for Bourne shell and compatible shells +CG_COMPILER_EXE="${DEST}/bin/cgc" + +# Make sure the helper files are found +PATH="${DEST}/bin" +LDPATH="${DEST}/$(get_libdir)${LDPATH_MULITLIB_SUFFIX}" +MANPATH="${DEST}/man" +EOF + newenvd "${T}/env" 80cgc } pkg_postinst() { einfo "Starting with ${CATEGORY}/${PN}-2.1.0016, ${PN} is installed in" einfo "${DEST}. Packages might have to add something like:" einfo " append-cppflags -I${DEST}/include" + einfo "Starting with ${CATEGORY}/${PN}-2.2.0006, the cgc binary isn't" + einfo "symlinked to /opt/bin, but to ${DEST}/bin is but into " + einfo "\$\{PATH\} environment variable." }