diff options
Diffstat (limited to 'sci-libs/ipp/ipp-6.0.1.071.ebuild')
-rw-r--r-- | sci-libs/ipp/ipp-6.0.1.071.ebuild | 122 |
1 files changed, 122 insertions, 0 deletions
diff --git a/sci-libs/ipp/ipp-6.0.1.071.ebuild b/sci-libs/ipp/ipp-6.0.1.071.ebuild new file mode 100644 index 000000000000..f8754c24be29 --- /dev/null +++ b/sci-libs/ipp/ipp-6.0.1.071.ebuild @@ -0,0 +1,122 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sci-libs/ipp/ipp-6.0.1.071.ebuild,v 1.1 2009/01/27 16:11:37 bicatali Exp $ + +inherit check-reqs + +PID=1326 +PB=${PN} +DESCRIPTION="Intel(R) Integrated Performance Primitive library for multimedia and data processing" +HOMEPAGE="http://developer.intel.com/software/products/ipp/" + +KEYWORDS="~amd64 ~x86 ~ia64" +COM_URI="http://registrationcenter-download.intel.com/irc_nas/${PID}" +SRC_URI="amd64? ( ${COM_URI}/l_${PB}_em64t_p_${PV}.tar.gz ) + x86? ( ${COM_URI}/l_${PB}_ia32_p_${PV}.tar.gz ) + ia64? ( ${COM_URI}/l_${PB}_itanium_p_${PV}.tar.gz )" + +SLOT="0" +LICENSE="Intel-SDP" + +IUSE="" +RESTRICT="strip mirror binchecks" + +INTEL_LIC_DIR=/opt/intel/licenses + +pkg_setup() { + # Check the license + if [[ -z ${IPP_LICENSE} ]]; then + IPP_LICENSE="$(grep -ls PerfPrim ${ROOT}${INTEL_LIC_DIR}/* | tail -n 1)" + IPP_LICENSE=${IPP_LICENSE/${ROOT}/} + fi + if [[ -z ${IPP_LICENSE} ]]; then + eerror "Did not find any valid ipp license." + eerror "Register at ${HOMEPAGE} to receive a license" + eerror "and place it in ${INTEL_LIC_DIR} or run:" + eerror "export IPP_LICENSE=/my/license/file emerge ipp" + die "license setup failed" + fi + + local disq_req + IPP_ARCH= + if use amd64; then + IPP_ARCH="em64t" + disk_req="800" + elif use x86; then + IPP_ARCH="ia32" + disk_req="600" + elif use ia64; then + IPP_ARCH="ia64" + disk_req="700" + fi + einfo "IPP_LICENSE=${IPP_LICENSE}" + einfo "IPP_ARCH=${IPP_ARCH}" + + # Check if we have enough RAM and free diskspace + CHECKREQS_MEMORY="512" + CHECKREQS_DISK_BUILD=${disk_req} + check_reqs +} + +src_unpack() { + unpack ${A} + cd l_${PB}_*_${PV} + + # need to make a file to install non-interactively. + # to produce such a file, first do it interactively + # tar xf l_*; ./install.sh --duplicate ipp.ini; + + # binary blob extractor uses stupid directory + addwrite /usr/local/share/macrovision + + cp ${IPP_LICENSE} "${WORKDIR}"/ + cat > ipp.ini <<- EOF + ACTIVATION=license_file + CONTINUE_WITH_OPTIONAL_ERROR=yes + PSET_INSTALL_DIR=${S} + PSET_LICENSE_FILE=${IPP_LICENSE} + INSTALL_MODE=NONRPM + ACCEPT_EULA=accept + EOF + + einfo "Extracting ..." + ./install.sh --silent ${PWD}/ipp.ini &> log.txt + + # This check is arbitrary to say the least... + # We used to look for a specific library (ie: libippmmx.so) but that + # is unreliable as they are moving targets and may not be there on + # the next release. ippEULA.txt is more likely to remain there at + # the next release. + if [[ -z $(find "${S}" -name ippEULA.txt) ]]; then + eerror "could not find extracted files" + eerror "see ${PWD}/log.txt to see why" + die "extracting failed" + fi + + # clean up + cd "${S}" + find . -type d -print0 | xargs --null chmod 755 + rm -rf tmp* uninstall.sh + rm -rf "${WORKDIR}"/l_* + rm -rf /usr/local/share/macrovision +} + +src_install() { + local instdir=/opt/intel/${PN}/${PV}/${IPP_ARCH} + dodir ${instdir} + + # install license file + if [[ ! -f ${INTEL_LIC_DIR}/$(basename ${IPP_LICENSE}) ]]; then + insinto ${INTEL_LIC_DIR} + doins ${IPP_LICENSE} + fi + + # cp quicker than doins + einfo "Copying all files" + cp -pPR "${S}"/* "${D}"${instdir} || \ + die "copying files failed" + + local env_file=36ipp + echo "LDPATH=${instdir}/sharedlib" > ${env_file} + doenvd ${env_file} || die "doenvd ${env_file} failed" +} |