# Copyright 1999-2008 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: $ inherit eutils DESCRIPTION="" HOMEPAGE="http://ati.amd.com/technology/streamcomputing/" BASE_URI="http://a248.e.akamai.net/f/674/9206/0/www2.ati.com/sdkdwnld" SRC_URI="amd64? ( ${BASE_URI}/amdstream-${PV}-lnx64.tar.gzip ) x86? ( ${BASE_URI}/amdstream-${PV}-lnx32.tar.gzip )" LICENSE="" SLOT="0" KEYWORDS="~amd64 ~x86" IUSE="+samples +doc vim-syntax" DEPEND=" =dev-libs/amd-stream-cal-1.3* " RDEPEND="" BROOKROOT="/usr/local/amdbrook" src_unpack() { tar xvf ${DISTDIR}/${A} -C ${WORKDIR} cd ${WORKDIR} if use x86; then BIT_VERSION="i386" else BIT_VERSION="x86_64" fi einfo "Unpacking AMD-Brook" dd if=${WORKDIR}/amdstream-brook-${PV}.${BIT_VERSION}.run of=${WORKDIR}/amdbrook.tar.gz bs=1 skip=16384 >& /dev/null einfo "Extracting tar files" tar xvf amdbrook.tar.gz >& /dev/null einfo "Converting rpm to tar" rpm2tar amdstream-brook-${PV}-1.${BIT_VERSION}.rpm tar xvf ${WORKDIR}/amdstream-brook-${PV}-1.${BIT_VERSION}.tar >& /dev/null cd "${WORKDIR}/${BROOKROOT}" epatch "${FILESDIR}"/gcc-4.3-amdbrook-platform.patch || die "epatch failed" if use samples; then cd "${WORKDIR}/${BROOKROOT}/samples" epatch "${FILESDIR}"/gcc-4.3-amdbrook-samples.patch || die "epatch failed" fi } src_compile() { cd "${WORKDIR}/${BROOKROOT}/platform" emake -j1 RELEASE="true" CALROOT="/usr/local/amdcal" || die "make platform failed" #if use samples; then # cd "${WORKDIR}/${BROOKROOT}/samples" # emake || die "make samples failed" #fi } src_install() { dodir "${BROOKROOT}" if use doc; then dodoc "${WORKDIR}/${BROOKROOT}/Brook+_Documentation"/* \ || die "Doc copy failed" fi if use vim-syntax; then insinto /usr/share/vim/vimfiles/syntax doins "${WORKDIR}/${BROOKROOT}/utils/vim_syntaxfile/brook.vim" \ || die "Vim syntax file placement failed" fi insinto "/usr/include/brook/" doins "${WORKDIR}/${BROOKROOT}/sdk/include/brook"/*.h* \ || die "Headers copy failed" insinto "/usr/include/brook/CPU/" doins "${WORKDIR}/${BROOKROOT}/sdk/include/brook/CPU"/* \ || die "Headers copy failed" dobin "${WORKDIR}/${BROOKROOT}/sdk/bin"/* \ || die "Bin creation filed" dolib.so "${WORKDIR}/${BROOKROOT}/sdk/lib"/* \ || die "Lib creation filed" if use samples; then cp -r "${WORKDIR}/${BROOKROOT}/samples" "${D}/${BROOKROOT}" \ || die "Samples copy failed" fi } pkg_postinst() { ewarn "" ewarn "In order to be able to use Brook+, you may need to set:" ewarn " export CALROOT=/usr/local/amdcal/" einfo "Instead, you don't need to set these variables any more:" einfo " export LD_LIBRARY_PATH=\"/usr/local/amdbrook/sdk/lib:\$LD_LIBRARY_PATH\"" einfo "and" einfo " export PATH=\"/usr/local/amdbrook/sdk/bin:\$PATH\"" einfo "" }