summaryrefslogtreecommitdiff
blob: 2fec3aac125b40d1489b1429110ea2986fb43ef9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
# Copyright 1999-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-lang/ifc/ifc-9.0.021.ebuild,v 1.3 2005/10/01 16:19:57 ribosome Exp $

inherit rpm

DESCRIPTION="Intel Fortran Compiler for Linux"
HOMEPAGE="http://www.intel.com/software/products/compilers/flin/"
IUSE=""
KEYWORDS="~amd64 ~ia64 ~x86"
LICENSE="ifc-9.0"
RESTRICT="nostrip fetch"
SLOT="9.0"
MMV="9.0"

SRC_URI="l_fc_p_${PV}.tar.gz"
DEPEND=">=sys-libs/glibc-2.3.2"
RDEPEND="sys-devel/gcc"
S="${WORKDIR}/l_fc_p_${PV}"

src_unpack() {
	unpack ${A}

	cd ${S} || die

	# The tarball contains rpms for multiple arches, and a lot of
	# auxiliary rpms common across arches. We must throw away 
	# the arch we're not.
	case ${ARCH} in
		amd64)
			rm -f intel-*.{i386,ia64}.rpm
			;;
		ia64)
			rm -f intel-*.{em64t,i386}.rpm
			;;
		x86)
			rm -f intel-*.{em64t,ia64}.rpm
			;;
	esac

	for x in *.rpm
	do
		# WORKDIR must be set properly for rpm_unpack()
		rpm_unpack ${S}/${x}
	done

}

src_compile() {
	instdir=/opt/intel/fortran90

	for x in opt/intel/*/*/bin/* ; do
		sed "s|<INSTALLDIR>|${instdir}|g" -i $x
	done

	# == SRC_BASE
	eval `grep "^[ ]*PACKAGEID=" ${S}/install_fc.sh`
	einfo "PACKAGEID=${PACKAGEID}"

	# From UNTAG_SUPPORT() in 'install_fc.sh'
	case ${ARCH} in
		amd64)
			SUPPORTFILE=${S}/opt/intel/fce/9.0/doc/fesupport
			;;
		ia64|x86)
			SUPPORTFILE=${S}/opt/intel/fc/9.0/doc/fsupport
			;;
	esac
	if [ -f ${SUPPORTFILE} ]
	then
		einfo "Untagging: ${SUPPORTFILE}"
		sed s@\<installpackageid\>@${PACKAGEID}@g ${SUPPORTFILE} > ${SUPPORTFILE}.abs
		mv ${SUPPORTFILE}.abs ${SUPPORTFILE}
		chmod 644 ${SUPPORTFILE}
	fi

	# From UNTAG_SUPPORT_IDB() in 'install_fc.sh'
	case ${ARCH} in
		amd64)
			SUPPORTFILE=${S}/opt/intel/idbe/9.0/doc/idbesupport
			;;
		ia64 | x86)
			SUPPORTFILE=${S}/opt/intel/idb/9.0/doc/idbsupport
			;;
	esac
	if [ -f ${SUPPORTFILE} ]
	then
		einfo "Untagging: ${SUPPORTFILE}"
		sed s@\<INSTALLTIMECOMBOPACKAGEID\>@${PACKAGEID}@g ${SUPPORTFILE} > ${SUPPORTFILE}.abs
		mv ${SUPPORTFILE}.abs ${SUPPORTFILE}
		chmod 644 ${SUPPORTFILE}
	fi
}

src_install () {
	instdir=/opt/intel/fortran90
	# No lgpltext in ifc
	# dodoc ${S}/lgpltext
	dodoc ${S}/flicense
	dodir ${instdir}
	cp -pPR opt/intel/fc*/9.0/* ${D}/${instdir}
	cp -pPR opt/intel/idb*/9.0/* ${D}/${instdir}
	insinto /etc/env.d
	doins ${FILESDIR}/${MMV}/05ifc || die
}

pkg_postinst () {
	instdir=/opt/intel/fortran90

	einfo "http://www.intel.com/software/products/compilers/flin/noncom.htm"
	einfo "From the above url you can get a free, non-commercial"
	einfo "license to use the Intel Fortran Compiler emailed to you."
	einfo "You cannot run ifc without this license file."
	einfo "Read the website for more information on this license."
	einfo
	einfo "Documentation can be found in ${instdir}/doc/"
	einfo
	einfo "You will need to place your license in ${instdir}/licenses/"
	echo

	ewarn "If 'ifc' breaks, use 'ifortbin' instead and report a bug."
	echo

	ewarn "Please perform"
	ewarn "  env-update"
	ewarn "  source /etc/profile"
	ewarn "prior to using ifc."
}