# Copyright 1999-2008 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: $ inherit eutils DESCRIPTION="" HOMEPAGE="http://developer.amd.com/stream" BASE_URI="mirror://sourceforge/brookplus" SRC_URI="amd64? ( ${BASE_URI}/Brook-${PV}.x86_64.tar.gz ) x86? ( ${BASE_URI}/Brook-${PV}.x86_32.tar.gz )" LICENSE="GPL,BSD" SLOT="0" KEYWORDS="~amd64 ~x86" IUSE="+samples +doc vim-syntax" DEPEND=" =dev-util/atistream-cal-1.4* " RDEPEND="" BROOKROOT="/usr/local/Brook-1.4" CALROOT="/usr/local/atical" src_unpack() { tar xf ${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}/Brook-${PV}.${BIT_VERSION}.run of=${WORKDIR}/atistream-brook.tar.gz bs=16384 skip=1 || die "unpacking failed" einfo "Extracting tar files" tar xzf atistream-brook.tar.gz || die "extracting failed" einfo "Converting rpm to tar" rpm2tar Brook-1.4-1.${BIT_VERSION}.rpm || die "converting failed" einfo "Extracting files" tar xf ${WORKDIR}/Brook-1.4-1.${BIT_VERSION}.tar || die "extracting failed" cd "${WORKDIR}/${BROOKROOT}" epatch "${FILESDIR}/gcc-4.3-atibrook-platform.patch" || die "epatch failed" if use samples; then cd "${WORKDIR}/${BROOKROOT}/samples" epatch "${FILESDIR}/gcc-4.3-atibrook-samples.patch" || die "epatch failed" fi } src_compile() { cd "${WORKDIR}/${BROOKROOT}/platform" emake -j1 RELEASE="true" CALROOT="${CALROOT}" || 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" dodoc "${WORKDIR}/${BROOKROOT}/Brook+_Release_Notes.pdf" \ || 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=${CALROOT}" 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 "" }