# Maintainer: Ignat Harczuk: ignathe -at- gmail com # Previous Maintainer: Mark Wells: mwellsa -at- gmail com # Contributor: simone riva: siomone.rva -a- gmail com # Intel Parallel Studio XE 2017 for Linux - ( Intel compiler icc suite ) ########################################################################## # this PKGBUILD splits the main Parallel Studio XE package in 9 sub-packages: # # intel-compiler-base: Intel C/C++ compiler and base libs # intel-fortran-compiler: Intel Fortran compiler and base libs" # intel-ipp: Intel Integrated Performance Primitives # intel-mkl: Intel Math Kernel Library (IntelĀ® MKL) # intel-mpi: Intel Message passing interface (MPI) # intel-tbb_psxe: Intel Threading Building Blocks (TBB) # intel-vtune: Intel Vtune Amplifier # intel-advisor: Intel Advisor # intel-inspector: Intel Inspector ########################################################################### # Parallel Studio XE # Copyright (C) 2016 Ignat Harczuk # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . pkgbase="intel-parallel-studio-xe" pkgname=('intel-compiler-base' 'intel-fortran-compiler' 'intel-ipp' 'intel-mkl' 'intel-mpi' 'intel-tbb_psxe' 'intel-advisor' 'intel-vtune-amplifier' 'intel-inspector' ) PKGEXT='.pkg.tar.lzo' packager="Ignat Harczuk" ######################################## #OPTIONS begin # set to true if you want to remove documentations and examples form the packages. #_remove_docs=TRUE _remove_docs=true # set to true if you want to remove the static objects from the libs. #_remove_static_objects_mkl=true _remove_static_objects_mkl=false #_remove_static_objects_ipp=true _remove_static_objects_ipp=false ######################################## _year='2018' _v_a='1' _v_b='163' # year, version a and version b found in /opt/intel/compilers_and_libraries_YEAR_A_B _update='1' pkgrel=1 _sp='professional_edition' _icc_ver='18.0.4' _mpi_ver='5.1.3' _mkl_ver="11.3.3" _tbb_ver='4.4.3' _vtune_ver='0.2.525261' _inspector_ver='1.0.522981' _advisor_ver='1.0.523188' # Same version from update 4 2017 _vtune_man_ver='0.2.525261' _inspector_man_ver='1.0.522981' _advisor_man_ver='1.0.523188' pkgver=${_year}.${_icc_ver}.${_v_a}.${_v_b} _dir_nr='12375' options=(strip libtool staticlibs) url="http://software.intel.com/en-us/articles/non-commercial-software-download/" arch=('x86_64') license=('custom') makedepends=('libarchive' 'sed' 'gzip' 'lzop') _parallel_studio_xe_dir="parallel_studio_xe${_year:+_${_year}}${_update:+_update${_update}}${_sp:+_${_sp}}" source=( "http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/${_dir_nr}/${_parallel_studio_xe_dir}.tgz" 'intel_compilers.sh' 'intel_vtune-amplifier.sh' 'intel_advisor.sh' 'intel_inspector.sh' 'intel-composer.install' 'intel-compiler-base.conf' 'intel-fortran.conf' 'intel-openmp.conf' 'intel-mkl.conf' 'intel-mpi.conf' 'intel-ipp.conf' 'intel-tbb.conf' 'intel-mkl.sh' 'intel-mkl.install' 'intel-mkl-th.conf' 'intel-tbb.install' 'EULA.txt' ) sha256sums=('dd3e118069d87eebb614336732323b48172c8c8a653cde673a8ef02f7358e94d' '75fcdfc246949341afddcf51b2037f606f25612a04c199ac1a743247aa7c4ea5' '278f9545d14c1fbec737bbfbcafb1b9090d35aab0dfeddc99d4c6e296b56057b' 'e3103fb1c5e2ec9f0cc4090abb7e273563e735d88e185f527c66b2aebd52e733' '3978b721722db7e3127828caf00e6e98539724daffd0a0bdaa287b27bc61b97a' '3f96dec03111e69d16bb363acf4d0570e8a9526c09e5e542a7558f1b26d043ef' '31ac4d0f30a93fe6393f48cb13761d7d1ce9719708c76a377193d96416bed884' '6151bc273b6f741a4ce93d8160b6f167c8ad499dbc6e8e3f6e08d48571d6a52a' '99cc9683cc75934cc21bb5a09f6ad83365ee48712719bfd914de9444695eed13' 'a856326362e9b80c19dc237cbf66bf3d96a69bd7ad1baff99ec9849f8208348c' 'ed02ea4a0ebc9c32b53155bc5e442c46257f8185ae17833be0b975558bbc951a' 'da6f41c2e002c9a793c75a18c8d1c85ef7ef5bf83a7a0a158ff144481491aac8' '5d3ac1ba31d7fc5795821d95b17956b0c977c8f3576b02f664f8ebf476213a43' '5e68c529c65cac54218026c869e54b2ddb268179725fc1e6b56d920470dad999' '11398c0ae2e2011902b1d6356d916d41bb8b54d39d090c6c83630f4b0e84e93a' 'e515cb28bf40cdb0db818db6a2688a0028575153a1b9d5acfb0bc5f13fe45722' 'fde83eb0071a5bd2887de127b56cc573a254e30131ec7b2d956987512c3e90c2' '228ac25e147adb9b872e1a562e522d2fd48809ccae89b765112009896a6d55a5') #_archive=l_ccompxe${_comp}_p_${pkgver} if [ "$CARCH" = "i686" ]; then _i_arch='ia32' _i_arch2='i486' _not_arch='intel64' _not_arch2='x86_64' else _i_arch='intel64' _i_arch2='x86_64' _not_arch='ia32' _not_arch2='i486' fi extract_rpms() { cd $2 for rpm_file in ${rpm_dir}/$1 ; do echo -e " Extracting: ${rpm_file}" bsdtar -xf ${rpm_file} done } set_build_vars() { _pkg_ver=${_year}.${_icc_ver}.${_v_a}.${_v_b} _composer_xe_dir="compilers_and_libraries_${_year}.${_v_a}.${_v_b}" rpm_dir=${srcdir}/${_parallel_studio_xe_dir}/rpm xe_build_dir=${srcdir}/cxe_build base_dir=${srcdir}/.. _man_dir=${xe_build_dir}/usr/share/man/man1 } build() { set_build_vars echo ${xe_build_dir} # clean the builds dirs if [ -d ${srcdir}/opt ] ; then rm -rf ${srcdir}/opt fi if [ -d ${srcdir}/etc ] ; then rm -rf ${srcdir}/etc fi if [ -d ${srcdir}/usr ] ; then rm -rf ${srcdir}/usr fi if [ -d ${xe_build_dir} ] ; then rm -rf ${xe_build_dir} fi echo ${srcdir} mkdir -p ${xe_build_dir} # START ! cd ${xe_build_dir} mkdir -p ${xe_build_dir}/etc/profile.d if [ "$CARCH" = "i686" ]; then sed 's//ia32/' < ${srcdir}/intel_compilers.sh > ${xe_build_dir}/etc/profile.d/intel_compilers.sh else sed 's//intel64/' < ${srcdir}/intel_compilers.sh > ${xe_build_dir}/etc/profile.d/intel_compilers.sh fi chmod a+x ${xe_build_dir}/etc/profile.d/intel_compilers.sh mkdir -p ${xe_build_dir}/etc/ld.so.conf.d _cnt=0 for files in ${base_dir}/*.lic ; do _lic_file[_cnt]=${files} _cnt=$(($_cnt+1)) done echo -e "" echo -e "-----------------------------------------------------------------------------------" mkdir -p ${xe_build_dir}/opt/intel/licenses if [ -f "${_lic_file[0]}" ]; then cp ${base_dir}/*.lic ${xe_build_dir}/opt/intel/licenses echo -e "\e[1mFound license files in ${base_dir}." echo -e "These will be installed into /opt/intel/licenses ...\e[0m" else echo -e "\e[1mNo license files found in ${base_dir}." echo -e "Remember to place license files in one of these locations:" echo -e " /opt/intel/licenses" echo -e " ~/intel/licenses" echo -e "Or the compiler will not work!\e[0m" fi echo -e "-----------------------------------------------------------------------------------" echo -e "" cp ${srcdir}/${_parallel_studio_xe_dir}/license.txt ${xe_build_dir}/opt/intel/license.txt echo -e "" echo -e "-----------------------------------------------------------------------------------" echo -e "\e[1mIMPORTANT - READ BEFORE COPYING, INSTALLING, OR USING.\e[0m" echo -e "" echo -e "Do not copy, install, or use the \"Materials\" provided under this license agreement (\"Agreement\"), until you" echo -e "have carefully read the following terms and conditions." echo -e "" echo -e "By copying, installing, or otherwise using the Materials, you agree to be bound by the terms of this" echo -e "Agreement. If you do not agree to the terms of this Agreement, do not copy, install, or use the Materials." echo -e " - A copy of the EULA has been copied in the PKGBUILD directory; plase read carefully the terms and " echo -e " - conditions of the Intel license before installing the packages. " echo -e "-----------------------------------------------------------------------------------" echo -e "" echo -e "-----------------------------------------------------------------------------------" echo -e " ATTENTION: This PKGBUILD may need up to 20 minutes if you use XZ as a compressor!" echo -e " - The build of the packages: intel-mkl and intel-ipp is particularly slow - " echo -e "-----------------------------------------------------------------------------------" echo -e "" echo -e "" echo -e "-----------------------------------------------------------------------------------" echo -e " \e[1m\e[5mATTENTION: \e[0m \e[1m\e[31mThis PKGBUILD works with yaourt, " echo -e "but consumes a lot of RAM! \e[0m " echo -e " Using the makepkg command for building this package is recommended." echo -e "-----------------------------------------------------------------------------------" echo -e "" echo -e "" echo -e "-----------------------------------------------------------------------------------" echo -e "\e[1m #################### \e[0m" echo -e "\e[1m ##### Options: ##### \e[0m" if ${_remove_docs} ; then echo -e " Remove Documentation: YES " else echo -e " Remove Documentation: NO " fi if ${_remove_static_objects_mkl} ; then echo -e "" echo -e "\e[1m Remove Static Objects from MKL: YES \e[0m \e[1m\e[5m\e[31m ATTENTION !!!! \e[0m " echo -e "\e[1m If your software is based on the static objects edit the option at the line 50 of this PKGBUILD \e[0m " else echo -e " Remove Static Objects: NO " fi echo -e "-----------------------------------------------------------------------------------" echo -e "" if ${_remove_static_objects_ipp} ; then echo -e "" echo -e "\e[1m Remove Static Objects from IPP: YES \e[0m \e[1m\e[5m\e[31m ATTENTION !!!! \e[0m " echo -e "\e[1m If your software is based on the static objects edit the option at the line 50 of this PKGBUILD \e[0m " else echo -e " Remove Static Objects: NO " fi echo -e "-----------------------------------------------------------------------------------" echo -e "" echo -e "" cd ${xe_build_dir}/opt/intel ln -s ./${_composer_xe_dir} composerxe ln -s ./composerxe/linux/bin/${_i_arch} bin ln -s ./composerxe/linux/pkg_bin pkg_bin ln -s ./composerxe/linux/ipp/ ipp ln -s ./composerxe/linux/compiler/lib/${_i_arch} lib # ln -s ./composerxe/linux/debugger/lib/${_i_arch} debugger_lib # ln -s ./composerxe/linux/man/ man ln -s ./composerxe/linux/mkl/ mkl ln -s ./composerxe/linux/tbb/ tbb _current_dir=`pwd` if [ -d ${pkgdir}/opt ] ; then cd ${pkgdir} rm -rf opt cd $_current_dir fi ; cd ${srcdir}/${_parallel_studio_xe_dir}/rpm rm -v -f *.${_not_arch2}.rpm cd $_current_dir } package_intel-compiler-base() { set_build_vars pkgdesc="Intel C/C++ $_icc_ver" pkgver=${_pkg_ver} install=intel-composer.install echo -e " # intel_compiler-base: Start Building" mkdir -p ${xe_build_dir}/opt mkdir -p ${xe_build_dir}/etc/profile.d mkdir -p ${_man_dir} cp ${srcdir}/intel-compiler-base.conf ${xe_build_dir}/etc/ld.so.conf.d cd ${xe_build_dir} echo -e " # intel_compiler-base: Extracting RPMS" extract_rpms 'intel-icc*.rpm' $xe_build_dir extract_rpms 'intel-comp*.rpm' $xe_build_dir extract_rpms 'intel-openmp*.rpm' $xe_build_dir echo -e " # intel_compiler-base: Editing variables" cd ${xe_build_dir}/opt/intel/${_composer_xe_dir}/linux/bin #rm uninstall.sh rm *.csh for f in *.sh ; do sed -i 's//\/opt\/intel/g' $f sed -i 's//\/opt\/intel\/composerxe\/linux/g' $f done cd $_i_arch sed -i 's//\/opt\/intel\/composerxe\/linux/g' loopprofileviewer.sh chmod a+x loopprofileviewer.sh rm loopprofileviewer.csh if $_remove_docs ; then echo -e " # intel_compiler-base: Remove docs" rm -rf ${xe_build_dir}/opt/intel/${_composer_xe_dir}/linux/documentation rm -rf ${xe_build_dir}/opt/intel/${_composer_xe_dir}/linux/Documentation rm -rf ${xe_build_dir}/opt/intel/${_composer_xe_dir}/linux/Samples fi echo -e " # intel_compiler-base: Coping man pages" mv ${xe_build_dir}/opt/intel/documentation_${_year}/en/man/common/man1/*.1 ${_man_dir} cd ${_man_dir} for f in *.1 ; do gzip $f done cd ${xe_build_dir} echo -e " # intel_compiler-base: Move package" mv ${xe_build_dir}/opt ${pkgdir} mv ${xe_build_dir}/etc ${pkgdir} mv ${xe_build_dir}/usr ${pkgdir} } package_intel-fortran-compiler() { set_build_vars pkgdesc="Intel Fortran compiler $_icc_ver" pkgver=${_pkg_ver} depends=('intel-compiler-base') install=intel-composer.install echo -e " # intel-fortran-compiler: Start Building" mkdir -p ${xe_build_dir}/opt mkdir -p ${xe_build_dir}/etc/profile.d mkdir -p ${xe_build_dir}/etc/ld.so.conf.d mkdir -p ${_man_dir} if [ "$CARCH" = "i686" ]; then sed 's//ia32/' < ${srcdir}/intel-fortran.conf > ${xe_build_dir}/etc/ld.so.conf.d/intel-fortran.conf else sed 's//intel64/' < ${srcdir}/intel-fortran.conf > ${xe_build_dir}/etc/ld.so.conf.d/intel-fortran.conf fi cd ${xe_build_dir} echo -e " # intel-fortran-compiler: Extracting RPMS" extract_rpms 'intel-ifort*.rpm' $xe_build_dir echo -e " # intel-fortran-compiler: Editing variables" cd ${xe_build_dir}/opt/intel/${_composer_xe_dir}/linux/bin rm *.csh #Remove duplicate logo and .css found in intel base rm ${xe_build_dir}/opt/intel/documentation_${_year}/en/compiler_f/ps${_year}/resources/intel_gsp_styles.css rm ${xe_build_dir}/opt/intel/documentation_${_year}/en/compiler_f/ps${_year}/resources/intel_logo.png if $_remove_docs ; then echo -e " # intel-fortran-compiler: Remove documentation" rm -rf ${xe_build_dir}/opt/intel/${_composer_xe_dir}/linux/documentation rm -rf ${xe_build_dir}/opt/intel/${_composer_xe_dir}/linux/Documentation rm -rf ${xe_build_dir}/opt/intel/${_composer_xe_dir}/linux/Samples fi echo -e " # intel-fortran-compiler: Coping man pages" mv ${xe_build_dir}/opt/intel/documentation_${_year}/en/man/common/man1/*.1 ${_man_dir} cd ${_man_dir} for f in *.1 ; do gzip $f done # Remove duplicate headers found in intel base rm ${xe_build_dir}/opt/intel/${_composer_xe_dir}/linux/compiler/include/omp_lib.f90 rm ${xe_build_dir}/opt/intel/${_composer_xe_dir}/linux/compiler/include/intel64/omp_lib.mod rm ${xe_build_dir}/opt/intel/${_composer_xe_dir}/linux/compiler/include/intel64/omp_lib_kinds.mod cd ${xe_build_dir} echo -e " # intel-fortran-compiler: Move package" mv ${xe_build_dir}/opt ${pkgdir} mv ${xe_build_dir}/etc ${pkgdir} mv ${xe_build_dir}/usr ${pkgdir} } package_intel-ipp() { set_build_vars pkgdesc="Intel Integrated Performance Primitives $_ipp_ver" pkgver=${_pkg_ver} install=intel-composer.install echo -e " # intel-ipp: Start Building" mkdir -p ${xe_build_dir}/opt mkdir -p ${xe_build_dir}/etc/ld.so.conf.d if [ "$CARCH" = "i686" ]; then sed 's//ia32/' < ${srcdir}/intel-ipp.conf > ${xe_build_dir}/etc/ld.so.conf.d/intel-ipp.conf else sed 's//intel64/' < ${srcdir}/intel-ipp.conf > ${xe_build_dir}/etc/ld.so.conf.d/intel-ipp.conf fi cd ${xe_build_dir} echo -e " # intel-ipp: Extracting RPMS" extract_rpms 'intel-ipp-*.rpm' $xe_build_dir echo -e " # intel-ipp: Editing variables" cd ${xe_build_dir}/opt/intel/${_composer_xe_dir}/linux/ipp/bin rm ippvars.csh sed -i 's//\/opt\/intel\/composerxe\/linux/g' ippvars.sh if ${_remove_docs} ; then echo -e " # intel-ipp: Remove documentation" rm -rf ${xe_build_dir}/opt/intel/${_composer_xe_dir}/linux/Documentation fi if ${_remove_static_objects_ipp} ; then echo -e " # intel-ipp: Remove static objects" rm -f ${xe_build_dir}/opt/intel/${_composer_xe_dir}/linux/ipp/lib/${_i_arch}/libipp*.a rm -f ${xe_build_dir}/opt/intel/${_composer_xe_dir}/linux/ipp/lib/${_i_arch}/nonpic/libipp*.a rmdir ${xe_build_dir}/opt/intel/${_composer_xe_dir}/linux/ipp/lib/${_i_arch}/nonpic/ fi echo -e " # intel-ipp: Move package" mv ${xe_build_dir}/opt ${pkgdir} mv ${xe_build_dir}/etc ${pkgdir} } package_intel-mkl() { set_build_vars pkgdesc="Intel Math Kernel Library (IntelĀ® MKL) $_mkl_ver" pkgver=${_pkg_ver} install=intel-mkl.install backup=('etc/intel-mkl-th.conf') echo -e " # intel-mkl: Start Building" mkdir -p ${xe_build_dir}/opt mkdir -p ${xe_build_dir}/etc/ld.so.conf.d mkdir -p ${xe_build_dir}/etc/profile.d cp ${srcdir}/intel-mkl.sh ${xe_build_dir}/etc/profile.d/ chmod a+x ${xe_build_dir}/etc/profile.d/intel-mkl.sh cp ${srcdir}/intel-mkl-th.conf ${xe_build_dir}/etc/ if [ "$CARCH" = "i686" ]; then sed 's//ia32/' < ${srcdir}/intel-mkl.conf > ${xe_build_dir}/etc/ld.so.conf.d/intel-mkl.conf else sed 's//intel64/' < ${srcdir}/intel-mkl.conf > ${xe_build_dir}/etc/ld.so.conf.d/intel-mkl.conf fi cd ${xe_build_dir} echo -e " # intel-mkl: Extracting RPMS" extract_rpms 'intel-mkl-*.rpm' $xe_build_dir echo -e " # intel-mkl: Editing variables" cd ${xe_build_dir}/opt/intel/${_composer_xe_dir}/linux/mkl/bin rm mklvars.csh sed -i 's//\/opt\/intel\/composerxe\/linux/g' mklvars.sh rm -rf ./${_not_arch} if ${_remove_docs} ; then echo -e " # intel-mkl: remove documentation" rm -rf ${xe_build_dir}/opt/intel/${_composer_xe_dir}/linux/mkl/examples rm -rf ${xe_build_dir}/opt/intel/${_composer_xe_dir}/linux/mkl/benchmarks fi if ${_remove_static_objects_mkl} ; then echo -e " # intel-mkl: remove static objects" rm -f ${xe_build_dir}/opt/intel/${_composer_xe_dir}/linux/mkl/lib/${_i_arch}/libmkl_*.a rm -f ${xe_build_dir}/opt/intel/${_composer_xe_dir}/linux/mkl/lib/mic/libmkl_*.a fi echo -e " # intel-mkl: Move package" mv ${xe_build_dir}/opt ${pkgdir} mv ${xe_build_dir}/etc ${pkgdir} } package_intel-mpi() { set_build_vars pkgdesc="Intel MPI library $_mpi_ver" pkgver=${_pkg_ver} echo -e " # intel-mpi: Start Building " mkdir -p ${xe_build_dir}/opt mkdir -p ${xe_build_dir}/bin mkdir -p ${xe_build_dir}/etc/ld.so.conf.d if [ "$CARCH" = "i686" ]; then sed 's//ia32/' < ${srcdir}/intel-mpi.conf > ${xe_build_dir}/etc/ld.so.conf.d/intel-mpi.conf else sed 's//intel64/' < ${srcdir}/intel-mpi.conf > ${xe_build_dir}/etc/ld.so.conf.d/intel-mpi.conf fi cd ${xe_build_dir} echo -e " # intel-mpi: Extracting RPMS " extract_rpms 'intel-mpi-*.rpm' $xe_build_dir echo -e " # intel-mpi: Editing variables " cd ${xe_build_dir}/opt/intel/${_composer_xe_dir}/linux/mpi/${_i_arch}/bin rm mpivars.csh #for i in mpd* mpi* no mpd longer since 2017? for i in mpi* do sed -i 's/I_MPI_SUBSTITUTE_INSTALLDIR/\/opt\/intel\/composerxe\/linux\/mpi/g' $i done chmod a+x mpivars.sh echo -e " # intel-mpi: Move package " mv ${xe_build_dir}/opt ${pkgdir} mv ${xe_build_dir}/etc ${pkgdir} } package_intel-tbb_psxe() { set_build_vars pkgdesc="Intel Threading Building Blocks (TBB) $_tbb_ver" pkgver=${_pkg_ver} install=intel-tbb.install echo -e " # intel-tbb: Start Building " mkdir -p ${xe_build_dir}/opt mkdir -p ${xe_build_dir}/etc/ld.so.conf.d if [ "$CARCH" = "i686" ]; then sed 's//ia32/' < ${srcdir}/intel-tbb.conf > ${xe_build_dir}/etc/ld.so.conf.d/intel-tbb.conf sed -i 's//\/opt\/intel\/composerxe/g' ${xe_build_dir}/etc/ld.so.conf.d/intel-tbb.conf else sed 's//intel64/' < ${srcdir}/intel-tbb.conf > ${xe_build_dir}/etc/ld.so.conf.d/intel-tbb.conf sed -i 's//\/opt\/intel\/composerxe/g' ${xe_build_dir}/etc/ld.so.conf.d/intel-tbb.conf fi cd ${xe_build_dir} echo -e " # intel-tbb: Extracting RPMS " extract_rpms 'intel-tbb-*.rpm' $xe_build_dir echo -e " # intel-tbb: Editing variables " cd ${xe_build_dir}/opt/intel/${_composer_xe_dir}/linux/tbb/bin rm tbbvars.csh sed -i 's/SUBSTITUTE_INSTALL_DIR_HERE/\/opt\/intel\/composerxe\/linux\/tbb/g' tbbvars.sh chmod a+x tbbvars.sh echo -e " # intel-tbb: Remove unneeded libs and bin " rm -rf ${xe_build_dir}/opt/intel/${_composer_xe_dir}/linux/tbb/bin/${_not_arch} rm -rf ${xe_build_dir}/opt/intel/${_composer_xe_dir}/linux/tbb/lib/${_not_arch} if $_remove_docs ; then echo -e " # intel-tbb: remove documentation " rm -rf ${xe_build_dir}/opt/intel/${_composer_xe_dir}/linux/Documentation rm -rf ${xe_build_dir}/opt/intel/${_composer_xe_dir}/linux/tbb/examples fi echo -e " # intel-tbb: Move package " mv ${xe_build_dir}/opt ${pkgdir} mv ${xe_build_dir}/etc ${pkgdir} } package_intel-vtune-amplifier() { set_build_vars pkgdesc="Performance profiler for serial and parallel performance analysis $_vtune_ver" pkgver=${_pkg_ver} depends=('pangox-compat') echo -e " # intel-vtune-amplifier: Start building" mkdir -p ${xe_build_dir}/opt mkdir -p ${xe_build_dir}/etc/ld.so.conf.d mkdir -p ${xe_build_dir}/etc/profile.d mkdir -p ${_man_dir} echo -e " # intel-vtune-amplifier: Editing variables " if [ "$CARCH" = "i686" ]; then sed -i 's//bin32/g' ${srcdir}/intel_vtune-amplifier.sh else sed -i 's//bin64/g' ${srcdir}/intel_vtune-amplifier.sh fi cp ${srcdir}/intel_vtune-amplifier.sh ${xe_build_dir}/etc/profile.d/ chmod a+x ${xe_build_dir}/etc/profile.d/intel_vtune-amplifier.sh cd ${xe_build_dir} echo -e " # intel-vtune-amplifier: Extracting RPMS " extract_rpms 'intel-vtune-amplifier-*.rpm' $xe_build_dir echo -e " # intel-vtune-amplifier: Coping man pages" if [[ -d ${xe_build_dir}/opt/intel/vtune_amplifier_xe_${_year}.${_vtune_man_ver}/man/man1 ]] then mv ${xe_build_dir}/opt/intel/vtune_amplifier_xe_${_year}.${_vtune_man_ver}/man/man1/*.1 ${_man_dir} cd ${_man_dir} for f in *.1 ; do gzip $f done fi if $_remove_docs ; then echo -e " # intel-vtune-amplifier: remove documentation " rm -rf ${xe_build_dir}/opt/intel/vtune_amplifier_xe_${_year}.${_vtune_ver}/samples rm -rf ${xe_build_dir}/opt/intel/vtune_amplifier_xe_${_year}.${_vtune_ver}/documentation fi echo -e " # intel-vtune-amplifier: Move package" mv ${xe_build_dir}/opt ${pkgdir} mv ${xe_build_dir}/etc ${pkgdir} mv ${xe_build_dir}/usr ${pkgdir} } package_intel-advisor() { set_build_vars pkgdesc="Threading design and prototyping tool for software architects $_advisor_ver" pkgver=${_pkg_ver} conflicts=( 'intel-advisor-xe' ) echo -e " # intel-advisor: Start building" mkdir -p ${xe_build_dir}/opt mkdir -p ${xe_build_dir}/etc/ld.so.conf.d mkdir -p ${xe_build_dir}/etc/profile.d mkdir -p ${_man_dir} echo -e " # intel-advisor: Editing variables " if [ "$CARCH" = "i686" ]; then sed -i 's//bin32/g' ${srcdir}/intel_advisor.sh else sed -i 's//bin64/g' ${srcdir}/intel_advisor.sh fi cp ${srcdir}/intel_advisor.sh ${xe_build_dir}/etc/profile.d/ chmod a+x ${xe_build_dir}/etc/profile.d/intel_advisor.sh cd ${xe_build_dir} echo -e " # intel-advisor: Extracting RPMS " extract_rpms 'intel-advisor-*.rpm' $xe_build_dir echo -e " # intel-advisor: Coping man pages" if [[ -d ${xe_build_dir}/opt/intel/advisor_${_year}.${_advisor_man_ver}/man/man1 ]] then mv ${xe_build_dir}/opt/intel/advisor_${_year}.${_advisor_man_ver}/man/man1/*.1 ${_man_dir} cd ${_man_dir} for f in *.1 ; do gzip $f done fi if $_remove_docs ; then echo -e " # intel-vtune-amplifier: remove documentation " rm -rf ${xe_build_dir}/opt/intel/advisor_${_year}.${_advisor_ver}/samples rm -rf ${xe_build_dir}/opt/intel/advisor_${_year}.${_advisor_ver}/documentation fi echo -e " # intel-advisor: Move package" mv ${xe_build_dir}/opt ${pkgdir} mv ${xe_build_dir}/etc ${pkgdir} mv ${xe_build_dir}/usr ${pkgdir} } package_intel-inspector() { set_build_vars pkgdesc="Memory and thread debugger $_inspector_ver" pkgver=${_pkg_ver} conflicts=('intel-inspector-xe') echo -e " # intel-inspector: Start building" mkdir -p ${xe_build_dir}/opt mkdir -p ${xe_build_dir}/etc/ld.so.conf.d mkdir -p ${xe_build_dir}/etc/profile.d mkdir -p ${_man_dir} echo -e " # intel-inspector: Editing variables " if [ "$CARCH" = "i686" ]; then sed -i 's//bin32/g' ${srcdir}/intel_inspector.sh else sed -i 's//bin64/g' ${srcdir}/intel_inspector.sh fi cp ${srcdir}/intel_inspector.sh ${xe_build_dir}/etc/profile.d/ chmod a+x ${xe_build_dir}/etc/profile.d/intel_inspector.sh cd ${xe_build_dir} echo -e " # intel-inspector: Extracting RPMS " extract_rpms 'intel-inspector-*.rpm' $xe_build_dir echo -e " # intel-inspector: Coping man pages" if [[ -d ${xe_build_dir}/opt/intel/inspector_${_year}.${_inspector_man_ver}/man/man1 ]] then mv ${xe_build_dir}/opt/intel/inspector_${_year}.${_inspector_man_ver}/man/man1/*.1 ${_man_dir} cd ${_man_dir} for f in *.1 ; do gzip $f done fi if $_remove_docs ; then echo -e " # intel-vtune-amplifier: remove documentation " rm -rf ${xe_build_dir}/opt/intel/inspector_${_year}.${_inspector_ver}/samples rm -rf ${xe_build_dir}/opt/intel/inspector_${_year}.${_inspector_ver}/documentation fi echo -e " # intel-inspector: Move package" mv ${xe_build_dir}/opt ${pkgdir} mv ${xe_build_dir}/etc ${pkgdir} mv ${xe_build_dir}/usr ${pkgdir} } pkgdesc="Intel C++ C and FORTRAN compiler - Intel Parallel Studio XE - Cluster Edition - icc icpc ifort ipp mkl" depends=('bash' 'gcc')