You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/media-gfx/nvidia-cg-toolkit/nvidia-cg-toolkit-3.1.0013-...

135 lines
3.2 KiB

# Copyright 1999-2012 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-3.1.0013-r2.ebuild,v 1.1 2012/11/19 11:33:23 jlec Exp $
EAPI=5
inherit multilib prefix versionator
MY_PV="$(get_version_component_range 1-2)"
MY_DATE="April2012"
DESCRIPTION="NVIDIA's C graphics compiler toolkit"
HOMEPAGE="http://developer.nvidia.com/object/cg_toolkit.html"
X86_URI="http://developer.download.nvidia.com/cg/Cg_${MY_PV}/Cg-${MY_PV}_${MY_DATE}_x86.tgz"
SRC_URI="
amd64? (
http://developer.download.nvidia.com/cg/Cg_${MY_PV}/Cg-${MY_PV}_${MY_DATE}_x86_64.tgz
multilib? ( ${X86_URI} )
)
x86? ( ${X86_URI} )"
LICENSE="NVIDIA"
SLOT="0"
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
IUSE="doc examples multilib"
RESTRICT="strip"
RDEPEND="
media-libs/freeglut
multilib? ( amd64? ( app-emulation/emul-linux-x86-xlibs ) )
x86? ( virtual/libstdc++:3.3 )"
DEPEND=""
S=${WORKDIR}
DEST=/opt/${PN}
QA_PREBUILT="${DEST}/*"
src_unpack() {
local i
if use multilib && use amd64; then
mkdir {32,64}bit || die
for i in $A; do
if [[ "$i" =~ .*x86_64.* ]]; then
pushd 64bit > /dev/null
unpack "$i"
popd > /dev/null
else
pushd 32bit > /dev/null
unpack "$i"
popd > /dev/null
fi
done
else
default
fi
}
install_pkgconfig() {
# Two args: .pc file + abi
local suffix
use amd64 && use multilib && [[ $2 == x86 ]] && suffix="-32"
insinto /usr/$(get_libdir)/pkgconfig
sed \
-e "s:GENTOO_LIBDIR:$(ABI=$2 get_libdir):g" \
-e "s:DESCRIPTION:${DESCRIPTION}:g" \
-e "s:VERSION:${PV}:g" \
-e "s|HOMEPAGE|${HOMEPAGE}|g" \
-e "s:SUFFIX:${suffix}:g" \
"${FILESDIR}/${1}.in" > "${T}/${1/.pc/${suffix}.pc}" || die
eprefixify "${T}/${1/.pc/${suffix}.pc}"
doins "${T}/${1/.pc/${suffix}.pc}"
}
src_install() {
local ldpath
into ${DEST}
if use multilib && use amd64; then
cd 64bit
fi
dobin usr/bin/{cgc,cgfxcat,cginfo}
if use x86; then
dolib usr/lib/*
ldpath="${EPREFIX}${DEST}/$(get_libdir)"
install_pkgconfig nvidia-cg-toolkit.pc x86
install_pkgconfig nvidia-cg-toolkit-gl.pc x86
elif use amd64; then
dolib usr/lib64/*
ldpath="${EPREFIX}${DEST}/$(get_libdir)"
install_pkgconfig nvidia-cg-toolkit.pc amd64
install_pkgconfig nvidia-cg-toolkit-gl.pc amd64
if use multilib; then
ldpath+=":${EPREFIX}${DEST}/lib32"
pushd ../32bit > /dev/null
ABI="x86" dolib usr/lib/*
popd > /dev/null
install_pkgconfig nvidia-cg-toolkit.pc x86
install_pkgconfig nvidia-cg-toolkit-gl.pc x86
fi
fi
sed \
-e "s|ELDPATH|${ldpath}|g" \
"${FILESDIR}"/80cgc-opt-2 > "${T}"/80cgc-opt || die
eprefixify "${T}"/80cgc-opt
doenvd "${T}"/80cgc-opt
insinto ${DEST}/include
doins -r usr/include/Cg
insinto ${DEST}
dodoc usr/local/Cg/README
if use doc; then
dodoc usr/local/Cg/docs/*.{txt,pdf}
dohtml -r usr/local/Cg/docs/html/*
fi
if use examples; then
insinto /usr/share/${PN}
doins -r usr/local/Cg/examples
fi
find usr/local/Cg/{docs,examples,README} -delete
}
pkg_postinst() {
if [[ ${REPLACING_VERSIONS} < 2.1.0016 ]]; then
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"
fi
}