You are not logged in.

#1 2004-01-07 18:09:44

andy
Member
From: Germany
Registered: 2002-10-11
Posts: 374

The Intel compilers - Fortran and C++

I made some PKGBUILD's for the 2 compilers (see e.g. http://developer.intel.com/software/pro … ers/linux/ ). If you ever looked under the hood of what intel does when you install BOTH compilers, you will even like what I did ;-) ... anyways, grab the stuff from http://www.bootblock.de/arch/Intel_Compiler_ABS.tgz

I did not put it in incoming, since I doubt it will be official - the license will probably not allow to distribute it. But maybe a TU can put - at least the PKGBUILDS - somewhere.

And therefore comes the next warning: The PKGBUILDs cannot download the software directly from Intel - it's technically impossible. But during a makepkg, you should get enough explanation :-). Intel's stretagy seems to be, however, to do a first release on ftp://download.intel.com and then release updates through http://premier.intel.com . I decided to use version taken from the latter site since the initial release is quite buggy. So, theoretically it is possible to make a fully functioning PKGBUILD by using the software on download.intel.com.

Since there are 4 PKGBUILDS in the tar-ball plus some more files I won't post them here. Instead I "only" post the README which I included :

This is for version 7 of the compilers. Version 8 is still
somewhat beta and can even coexist with version 7.

Some explanations for the 4 packages :

Intel has bundled common files in both the Fortran and the C/C++
compiler tar-files. The Intel install script (using rpm) would
overwrite common files no questions asked ...

I tried to make it a bit more friendly and divided the files
in three packages :
ifc7
icc7
ic7_common
However, the ic7_common package is only a "virtual" package
and is provided by either icc7_common or ifc7_common.

Only installing one compiler :
------------------------------
If you plan to only install one of the compilers use the corresponding
"common" package - so that you don't need to download both (huge)
tar-files from Intel.

Installing both compilers :
---------------------------
*Usually*, Intel releases versions of the Fortran and C Compiler
simultanously and the common files are actually identical. But
occasionally (e.g. on 12/12/2003) only a C version gets released and
the files are not identical. I assume the differences are only
technical like timestamps etc. in the libraries and nothing substantial.
As of today (Jan/07/2004) the C Version is still the newer version,
and I use icc7_common in conjunction with ifc7 and icc7.

Offline

#2 2004-01-16 13:00:02

andy
Member
From: Germany
Registered: 2002-10-11
Posts: 374

Re: The Intel compilers - Fortran and C++

All right, version 7 got an update about a week ago, and here is my update :

http://www.bootblock.de/arch/

This time, the C and Fortran compilers are in sync, so there is nothing to worry about when installing both. Otherwise, the README stayed almost the same.

Offline

#3 2004-01-26 21:48:13

vande198
Member
From: East Lansing, MI, USA
Registered: 2003-09-12
Posts: 98

Re: The Intel compilers - Fortran and C++

I followed the steps in the PKGBUILD, but now it appears that intel has released icc 8.0.  Could you update your submitted PKGBUILD?


"To be a Spartan is to be a philosopher much more than to be an athlete."
Plato, the <i>Protagoras</i>, 342e-343a

Offline

#4 2004-01-28 01:02:04

andy
Member
From: Germany
Registered: 2002-10-11
Posts: 374

Re: The Intel compilers - Fortran and C++

I'm glad the packages get used ! :-)

This one took me a bit longer :
1) The package layout changed a bit. This time Intel actually seperates out the 2 compilers, so there is no overlap - almost :
2) The debugger is actually more or less the same in both packages. I made 2 packages for the debugger this time. One from C and one from Fortran. But after I did all that I found out that the damn thing has idiotic stdc++ dependencies which I could not fulfill easily - so the debugger is recommeded only for the brave type :-)
3) The rpmunpack in Arch is quite buggy and failed to extract one of the rpm's. So I packaged a real cool rpm2cpio, too (more in a seperate post).

All of this can be retreived from

http://bootblock.de/arch/

(and I'm way too tired to write this any more comprehensible ;-) )

EDIT: I knew I forgot something : Version 7 and Version 8 can coexist !!! And if you have big projects I highly recommend to keep Version 7 for a while (I speak from experience ... )

Offline

#5 2004-01-28 10:44:06

andy
Member
From: Germany
Registered: 2002-10-11
Posts: 374

Re: The Intel compilers - Fortran and C++

I created another set of ABS-files for the debugger. The alternative PKGBUILDS will download the required rpm from a RedHat mirror and extract the missing library ... it's ugly, but I didn't feel like compiling some old gcc/stdc++ sources when Intel should have linked statically in the first place.

It's http://www.bootblock.de/arch/Intel_Debu … 040128.tgz which is linked on http://www.bootblock.de/arch/

BTW, don't be confused by the version number of the new debugger ...

Offline

#6 2004-02-24 13:53:48

andy
Member
From: Germany
Registered: 2002-10-11
Posts: 374

Re: The Intel compilers - Fortran and C++

Some patches for version 8 came out and I put the latest PKGBUILDS etc. into a tarball on www.bootblock.de/arch/

Now, Intel decided they want to release patches instead of new releases. Unfortunatley that is not easily done with pacman.

If you upgrade :
=============
You probably can apply the patches outside pacman. I.e. just download them from Intel and follow the instructions. The patch modifeis some files (I think it does not create or remove files). So the pacman database should be safe. But I did not test that !

Alternatively, use the stuff I put on my webpage (that does a clean upgrade). The drawback : you will need the original file from Intel again. So far I can only recommend to keep the files you download from Intel in a safe place and copy them into /var/cache/pacman/src each time a new patch is released.

If you install for the first time :
========================
Don't worry, just download the latest version of my tarball and follow the instructions. Don't clean the source cache, though ! First copy the files you downloaded from Intel into a safe location. You will need them again (probably) once the next upgrade is released.

Offline

#7 2005-07-18 21:07:36

big_gie
Member
Registered: 2005-01-19
Posts: 637

Re: The Intel compilers - Fortran and C++

Hey andy, sory to get that old post up again, but have you worked on intel's fortran recently?

version 8.1 is out since some time and v9.0 will be out in a month, in august 2005.

If not I'll try checking what you've done for older version...

Offline

#8 2005-07-18 22:33:07

Snowman
Developer/Forum Fellow
From: Montreal, Canada
Registered: 2004-08-20
Posts: 5,212

Re: The Intel compilers - Fortran and C++

big_gie wrote:

Hey andy, sory to get that old post up again, but have you worked on intel's fortran recently?

version 8.1 is out since some time and v9.0 will be out in a month, in august 2005.

If not I'll try checking what you've done for older version...

A while ago, I've done a PKGBUILD for 8.1.019 based on andy's work.  I'll post it. maybe you'll want/need to change the pkgver. I also have "recent" PKGBUILD for intel c compiler and debugger.

# Contributor: Andreas Schweitzer <andy@bootblock.de>
pkgname=ifc
pkgver=8.1.019
pkgrel=1
pkgdesc="The Intel Fortran 95 Compiler"
url="http://developer.intel.com/software/products/compilers/flin/"
depends=(glibc)
makedepends=(rpm2cpio)
backup=(opt/intel/fc_80/bin/ifc.cfg opt/intel/fc_80/bin/ifort.cfg)
install=ifc.install
source=(l_fc_pc_${pkgver}.tar.gz ifc.sh)
md5sums=('4a95e4da749721c829b0028666cc7272' 'c2e250d68a493aca482edcc33804e207')

build() {

cat << END

This PKGBUILD cannot automatically download the required files.

If you haven't already an Intel Premier Support account for the
compiler, do the following two steps :
1) register yourself at e.g.
     http://developer.intel.com/software/products/compilers/flin/noncom.htm
2) sign up for the premier support at
     http://www.intel.com/software/products/support/

With access to the Intel Premier Support you can download the files
from http://premier.intel.com/
into /var/cache/pacman/src/

END

  cd $startdir/pkg
  i=$startdir/src/l_fc_pc_${pkgver}/intel-ifort8-8.1-019 
  rpm2cpio.pl $i.i386.rpm | cpio -idu --quiet

# The following variables are defined in the original install script
# They make copying the original code easier.
  DESTINATION=/opt/intel/fc_80
  SUPPORTFILE=$startdir/pkg/$DESTINATION/doc/fsupport

  chmod a+rx $startdir/pkg/opt
  mkdir $startdir/pkg/opt/intel
  mv opt/intel_fc_80 .$DESTINATION

# The following loop is an almost identical copy of the
# UNTAG_CFG_FILES function of the original install script
  for FILE in `find $startdir/pkg$DESTINATION/bin/ -regex '.*[ei](cc|fort|fc|cpc)$|.*cfg$|.*pcl$|.*vars[^/]*.c?sh$' 2> /dev/null` ; do
      sed -i s@<INSTALLDIR>@$DESTINATION@g $FILE
      chmod 755 $FILE
  done
  for FILE in `find  $startdir/pkg$DESTINATION/bin/ -regex '.*[ei]fc' 2> /dev/null` ; do
      sed -i  s@<INSTALLDIR>@$DESTINATION@g $FILE
      chmod 755 $FILE
  done
  for FILE in `find  $startdir/pkg$DESTINATION/bin/ -regex '.*[ei]fort' 2> /dev/null` ; do
      sed -i  s@<INSTALLDIR>@$DESTINATION@g $FILE
      chmod 755 $FILE
  done
  
## The following lines are an almost identical copy of the
## UNTAG_SUPPORT function of the original install script
#  if [ -f "$SUPPORTFILE" ] ; then
#      sed -i s@<installpackageid>@l_fc_pc_$pkgver@g $SUPPORTFILE
#      chmod 644 $SUPPORTFILE
#  fi

  install -d $startdir/pkg/usr/lib/
  ln -s "$DESTINATION/lib/ifcore_msg.cat" "$startdir/pkg/usr/lib/ifcore_msg.cat"

  rm $startdir/pkg$DESTINATION/bin/uninstall.sh

  install -D -o root -g root -m 755 $startdir/src/ifc.sh $startdir/pkg/etc/profile.d/ifc.sh
}

ifc.install:

# arg 1:  the new package version
post_install() {

cat << END

To use ifc 8 put a valid license into
          /opt/intel/fc_80/licenses/
You can get one for free for non-commercial use from
http://developer.intel.com/software/products/compilers/clin/noncom.htm
If you have such a license for version 7 of the compiler
you can reuse it.

Each user that wants to use this compiler should source
  /opt/intel/fc_80/bin/ifortvars.sh
or
  /opt/intel/fc_80/bin/ifortvars.csh
depending on shell.
If version 8 is the only installed version the
administrator may choose to make /etc/profile.d/ifc8.sh
executable to automate this step.

END

  /bin/true
}

# arg 1:  the new package version
# arg 2:  the old package version
post_upgrade() {
  /bin/true
}

# arg 1:  the old package version
pre_remove() {
  /bin/true
}

op=$1
shift

$op $*

ifc.sh

#!/bin/sh

if [ -x /opt/intel/fc_80/bin/ifortvars.sh ] ; then
  . /opt/intel/fc_80/bin/ifortvars.sh
fi

Offline

#9 2005-07-18 22:34:39

Snowman
Developer/Forum Fellow
From: Montreal, Canada
Registered: 2004-08-20
Posts: 5,212

Re: The Intel compilers - Fortran and C++

I can post links if cut 'n' paste gives you trouble.

Offline

#10 2005-07-18 23:22:06

big_gie
Member
Registered: 2005-01-19
Posts: 637

Re: The Intel compilers - Fortran and C++

Thanks snowman!  big_smile

the first "for FILE in `find $startdir/pkg$DESTINATION/bin/ -regex ..." line seemed to miss a "|.*sh" somewhere... sed didn't modified my /opt/intel/fc_80/bin/ifortvars.{,c}sh !

Also, a small typo, in ifc.install, the 19th line about "/etc/profile.d/ifc8.sh" should read "/etc/profile.d/ifc.sh".

Thanx again!

Offline

#11 2005-07-18 23:25:37

big_gie
Member
Registered: 2005-01-19
Posts: 637

Re: The Intel compilers - Fortran and C++

Something else... have you been able to use kdevelop with this compiler?? I'm looking for a good IDE so I can convince my collegues to switch from windows and (old) Digital Visual Fortran

Offline

#12 2005-07-18 23:31:23

Snowman
Developer/Forum Fellow
From: Montreal, Canada
Registered: 2004-08-20
Posts: 5,212

Re: The Intel compilers - Fortran and C++

big_gie wrote:

Thanks snowman!  big_smile

the first "for FILE in `find $startdir/pkg$DESTINATION/bin/ -regex ..." line seemed to miss a "|.*sh" somewhere... sed didn't modified my /opt/intel/fc_80/bin/ifortvars.{,c}sh !

It's a cut 'n'paste problem. The two lines

for FILE in `find $startdir/pkg$DESTINATION/bin/ -regex '.*[ei](cc|fort|fc|cpc)$|.*cfg$|.*pcl$|.*vars[^/]*.c?sh$' 2> /dev/null` ; do 

are in fact one long line.

big_gie wrote:

Also, a small typo, in ifc.install, the 19th line about "/etc/profile.d/ifc8.sh" should read "/etc/profile.d/ifc.sh".

Thanx again!

It was probably there in andy's file as I don't remember modifying the .install file.  Since it's a message, I probably didn't noticed it. wink[/code]

Offline

#13 2005-07-18 23:35:46

Snowman
Developer/Forum Fellow
From: Montreal, Canada
Registered: 2004-08-20
Posts: 5,212

Re: The Intel compilers - Fortran and C++

big_gie wrote:

Something else... have you been able to use kdevelop with this compiler?? I'm looking for a good IDE so I can convince my collegues to switch from windows and (old) Digital Visual Fortran

I don't know. I use emacs to code and I run make on the terminal to compile. tongue  Maybe kdevelop has an option to specify the compiler. Or maybe you can run make from within it.

Offline

#14 2005-07-21 21:36:59

big_gie
Member
Registered: 2005-01-19
Posts: 637

Re: The Intel compilers - Fortran and C++

Thanx for the help snowman, I was able to use the Intel Fortran Compiler v8.1.024.

Now with KDevelop. It doesn't really support Fortran (90 and up) because it doesn't know about it's modules philosophy. So don't let KDevelop do your makefiles (using autoconf/automake). Also, ifort needs, while linking, the object files before flags or options. But makefiles created by KDevelop/autoconf/automake do the opposite. So either you find a way to change the makefiles, witch is a pain, or you don't use thoose tools for the makefiles.

So I just created a makefile myself, and in KDevelop, I choose "Project" menu, then "Import an existing project", and for the "Project type", make sure you use "A Fortran application (personalised makefiles)". It will ask if you want to add all C(++)/Java files to the project, just say "no".
Now KDevelop should have checked your makefile and you will get access to their target in "Build -> Build target".

If you want to be able to click in the output window and be redirected to the source file where you have an error, you'll have to patch and recompile KDevelop. I've created a patch and adapted the PKGBUILD for it.

You can find the patch and the PKGBUILD here and the compiled package here

Hope it will help someone!

Offline

#15 2005-09-05 09:13:26

Stonebone
Member
From: Göteborg, Sweden
Registered: 2005-07-03
Posts: 11
Website

Re: The Intel compilers - Fortran and C++

Anyone have PKGBUILD for Intel C++ Compiler 9.0?

Offline

#16 2005-09-05 14:51:54

big_gie
Member
Registered: 2005-01-19
Posts: 637

Re: The Intel compilers - Fortran and C++

Here you go smile

I've adapted mine to include my license file. Change acordingly.

pkgname=ifort
major_version=9
minor_version=0
build_version=021
pkgver=${major_version}.${minor_version}.${build_version}
pkgver2=${major_version}.${minor_version}-${build_version}
pkgrel=1
pkgdesc="The Intel Fortran 2003 Compiler"
url="http://developer.intel.com/software/products/compilers/flin/"
depends=(glibc)
makedepends=(rpm2cpio)
opt/intel/ifort${major_version}${minor_version}/bin/ifort.cfg)
licensefile=noncommercial_for_l_*************.lic
source=(ftp://download.intel.com/software/products/compilers/downloads/eval/preview/l_fc_p_${pkgver}.tar.gz ifort.sh $licensefile)
md5sums=('0bebb51616ad6d127cba05ebc3a8b890' 'b131865fdcfc50cfad04b4cd966b39d2'
         '**************************')

build() {

  mkdir $startdir/src/unpacked
  cd $startdir/src/unpacked
  i=$startdir/src/l_fc_p_${pkgver}/intel-ifort${major_version}-$pkgver2
  rpm2cpio.pl $i.i386.rpm | cpio -idu --quiet

  mkdir -p $startdir/pkg/opt/intel
  mv $startdir/src/unpacked/opt/intel/fc/${major_version}.${minor_version}/ $startdir/pkg/opt/intel/${pkgname}${major_version}${minor_version}
  rm -fr $startdir/src/unpacked

# The following variables are defined in the original install script
# They make copying the original code easier.
  DESTINATION=/opt/intel/${pkgname}${major_version}${minor_version}
  SUPPORTFILE=$startdir/pkg/$DESTINATION/doc/fsupport

# The following loop is an almost identical copy of the
# UNTAG_CFG_FILES function of the original install script
  for FILE in `find $startdir/pkg$DESTINATION/bin/ -regex '.*[ei](cc|fort|fc|cpc)$|.*sh|.*cfg$|.*pcl$|.*vars[^/]*.c?sh$' 2> /dev/null` ; do
      sed -i s@<INSTALLDIR>@$DESTINATION@g $FILE
      chmod 755 $FILE
  done
  for FILE in `find  $startdir/pkg$DESTINATION/bin/ -regex '.*[ei]fc' 2> /dev/null` ; do
      sed -i  s@<INSTALLDIR>@$DESTINATION@g $FILE
      chmod 755 $FILE
  done
  for FILE in `find  $startdir/pkg$DESTINATION/bin/ -regex '.*[ei]fort' 2> /dev/null` ; do
      sed -i  s@<INSTALLDIR>@$DESTINATION@g $FILE
      chmod 755 $FILE
  done

## The following lines are an almost identical copy of the
## UNTAG_SUPPORT function of the original install script
#  if [ -f "$SUPPORTFILE" ] ; then
#      sed -i s@<installpackageid>@l_fc_pc_$pkgver@g $SUPPORTFILE
#      chmod 644 $SUPPORTFILE
#  fi

  install -d $startdir/pkg/usr/lib/
  ln -s "$DESTINATION/lib/ifcore_msg.cat" "$startdir/pkg/usr/lib/ifcore_msg.cat"

  rm $startdir/pkg$DESTINATION/bin/uninstall.sh

  install -D -o root -g root -m 755 $startdir/src/${pkgname}.sh $startdir/pkg/etc/profile.d/${pkgname}${major_version}${minor_version}.sh
  install -D -o root -g root -m 755 $startdir/src/${licensefile} $startdir/pkg/opt/intel/${pkgname}${major_version}${minor_version}/licenses/${licensefile}

}

ifort.sh:

#!/bin/sh

name="ifort"
ver="90"

if [ -x /opt/intel/${name}${ver}/bin/${name}vars.sh ] ; then
  . /opt/intel/${name}${ver}/bin/${name}vars.sh
fi

Offline

#17 2005-09-05 20:42:49

Stonebone
Member
From: Göteborg, Sweden
Registered: 2005-07-03
Posts: 11
Website

Re: The Intel compilers - Fortran and C++

Thanks. This is for the Fortran compiler, right? I want the C++ compiler, so what do I need to change?

Offline

#18 2005-09-05 20:55:35

Snowman
Developer/Forum Fellow
From: Montreal, Canada
Registered: 2004-08-20
Posts: 5,212

Re: The Intel compilers - Fortran and C++

Stonebone wrote:

Thanks. This is for the Fortran compiler, right? I want the C++ compiler, so what do I need to change?

Yes. Here's my PKGBUILD for the C++ compiler. It's for an older version, though.
PKGBUILD:

# Contributor: Andreas Schweitzer <andy@bootblock.de>
pkgname=icc
pkgver=8.1.022
pkgrel=1
pkgdesc="The Intel C/C++ Compiler"
url="http://developer.intel.com/software/products/compilers/clin/"
depends=(glibc)
makedepends=(rpm2cpio)
backup=(opt/intel/cc_80/bin/icc.cfg opt/intel/cc_80/bin/icpc.cfg)
install=icc.install
source=(l_cc_pc_${pkgver}.tar.gz  icc.sh)
md5sums=('0088a39a224e9e41c05cc83e5947c1b1' 'e849149fef264bf655c446359dfbc3aa')

build() {

cat << END

This PKGBUILD cannot automatically download the required files.

If you haven't already an Intel Premier Support account for the
compiler, do the following two steps :
1) register yourself at e.g.
     http://developer.intel.com/software/products/compilers/clin/noncom.htm
2) sign up for the premier support at
     http://www.intel.com/software/products/support/

With access to the Intel Premier Support you can download the files
from http://premier.intel.com/
into /var/cache/pacman/src/

END

  cd $startdir/pkg
  for i in $startdir/src/l_cc_pc_${pkgver}/intel-icc8-8.1-022 
           $startdir/src/l_cc_pc_${pkgver}/intel-isubh8-8.1-022 ; do
      rpm2cpio.pl $i.i386.rpm | cpio -idu --quiet
  done
#  i=$startdir/src/l_cc_pc_$pkgver/intel-iidb7-7.3.2-97
#    rpm2cpio.pl $i.i386.rpm | cpio  -idu --quiet
#    (cd $startdir/pkg ; cpio -I $startdir/src/l_cc_pc_$pkgver/$i.cpio -idu --quiet)

# The following variables are defined in the original install script
# They make copying the original code easier.
  DESTINATION=/opt/intel/cc_80
  SUPPORTFILE=$startdir/pkg/$DESTINATION/doc/csupport

  chmod a+rx $startdir/pkg/opt
  mkdir $startdir/pkg/opt/intel
  mv opt/intel_cc_80 .$DESTINATION

# The following permission fixes are from FreeBSD's icc port Makefile
  chmod a-x $startdir/pkg/opt/intel/cc_80/bin/Errormatch.txt

# The following loop is an almost identical copy of the
# UNTAG_CFG_FILES function of the original install script
  for FILE in `find $startdir/pkg$DESTINATION/bin/ -regex '.*[ei](cc|fort|fc|cpc)$|.*cfg$|.*pcl$|.*vars[^/]*.c?sh$' 2> /dev/null` ; do
      sed -i s@<INSTALLDIR>@$DESTINATION@g $FILE
      chmod 755 $FILE
  done
  for FILE in `find  $startdir/pkg$DESTINATION/bin/ -regex '.*[ei]cc' 2> /dev/null` ; do
      sed -i  s@<INSTALLDIR>@$DESTINATION@g $FILE
      chmod 755 $FILE
  done
  for FILE in `find  $startdir/pkg$DESTINATION/bin/ -regex '.*[ei]cpc' 2> /dev/null` ; do
      sed -i  s@<INSTALLDIR>@$DESTINATION@g $FILE
      chmod 755 $FILE
  done

## The following lines are an almost identical copy of the
## UNTAG_SUPPORT function of the original install script
#  if [ -f "$SUPPORTFILE" ] ; then
#      sed -i s@<installpackageid>@l_cc_pc_8.0.058@g $SUPPORTFILE
#      chmod 644 $SUPPORTFILE
#  fi

  rm $startdir/pkg$DESTINATION/bin/uninstall.sh


  cp -f "$startdir/src/l_cc_pc_${pkgver}/C++ReleaseNotes.htm" "$startdir/pkg$DESTINATION/doc"

  install -D -o root -g root -m 755 $startdir/src/icc.sh $startdir/pkg/etc/profile.d/icc.sh
}

icc.sh

#!/bin/sh

if [ -x /opt/intel/cc_80/bin/iccvars.sh ] ; then
  . /opt/intel/cc_80/bin/iccvars.sh
fi

icc.install

# arg 1:  the new package version
post_install() {

cat << END

To use icc 8 put a valid license into
          /opt/intel/cc_80/licenses/
You can get one for free for non-commercial use from
http://developer.intel.com/software/products/compilers/clin/noncom.htm
If you have such a license for version 7 of the compiler
you can reuse it.

Each user that wants to use this compiler should source
  /opt/intel/cc_80/bin/iccvars.sh
or
  /opt/intel/cc_80/bin/iccvars.csh
depending on shell.
If version 8 is the only installed version the
administrator may choose to make /etc/profile.d/icc8.sh
executable to automate this step.

END

  /bin/true
}

# arg 1:  the new package version
# arg 2:  the old package version
post_upgrade() {
  /bin/true
}

# arg 1:  the old package version
pre_remove() {
  /bin/true
}

op=$1
shift

$op $*

Offline

#19 2005-09-05 22:27:32

big_gie
Member
Registered: 2005-01-19
Posts: 637

Re: The Intel compilers - Fortran and C++

Here's mine for 9.0.21:

PKGBUILD

pkgname=icc
major_version=9
minor_version=0
build_version=021
pkgver=${major_version}.${minor_version}.${build_version}
pkgver2=${major_version}.${minor_version}-${build_version}
pkgrel=1
pkgdesc="The Intel C/C++ Compiler"
url="http://developer.intel.com/software/products/compilers/flin/"
depends=(glibc)
makedepends=(rpm2cpio)
licensefile=noncommercial_cpp_***********.lic
source=(ftp://download.intel.com/software/products/compilers/downloads/eval/preview/l_cc_p_${pkgver}.tar.gz $licensefile $pkgname.sh)
md5sums=('48bec7969a1080619ced226da0e07fac' '******************************' '72c7a446a6dc779538ddf1f7891d8ddd')

build() {

  mkdir $startdir/src/unpacked
  cd $startdir/src/unpacked
  i=$startdir/src/l_cc_p_${pkgver}/intel-icc${major_version}-$pkgver2
  rpm2cpio.pl $i.i386.rpm | cpio -idu --quiet

  mkdir -p $startdir/pkg/opt/intel
  mv $startdir/src/unpacked/opt/intel/cc/${major_version}.${minor_version}/ $startdir/pkg/opt/intel/${pkgname}${major_version}${minor_version}
  rm -fr $startdir/src/unpacked

# The following variables are defined in the original install script
# They make copying the original code easier.
  DESTINATION=/opt/intel/${pkgname}${major_version}${minor_version}
  SUPPORTFILE=$startdir/pkg/$DESTINATION/doc/fsupport

# The following loop is an almost identical copy of the
# UNTAG_CFG_FILES function of the original install script
  for FILE in `find $startdir/pkg$DESTINATION/bin/ -regex '.*[ei](cc|fort|fc|cpc)$|.*sh|.*cfg$|.*pcl$|.*vars[^/]*.c?sh$' 2> /dev/null` ; do
      sed -i s@<INSTALLDIR>@$DESTINATION@g $FILE
      chmod 755 $FILE
  done
  for FILE in `find  $startdir/pkg$DESTINATION/bin/ -regex '.*[ei]cc' 2> /dev/null` ; do
      sed -i  s@<INSTALLDIR>@$DESTINATION@g $FILE
      chmod 755 $FILE
  done

  install -d $startdir/pkg/usr/lib/
  ln -s "$DESTINATION/lib/ifcore_msg.cat" "$startdir/pkg/usr/lib/ifcore_msg.cat"

  rm $startdir/pkg$DESTINATION/bin/uninstall.sh

  install -D -o root -g root -m 755 $startdir/src/${pkgname}.sh $startdir/pkg/etc/profile.d/${pkgname}${major_version}${minor_version}.sh
  install -D -o root -g root -m 755 $startdir/src/${licensefile} $startdir/pkg/opt/intel/${pkgname}${major_version}${minor_version}/licenses/${licensefile}

}

icc.sh

#!/bin/sh

name="icc"
ver="90"

if [ -x /opt/intel/${name}${ver}/bin/${name}vars.sh ] ; then
  . /opt/intel/${name}${ver}/bin/${name}vars.sh
fi

Offline

Board footer

Powered by FluxBB