aboutsummaryrefslogtreecommitdiff
blob: 4ba98edada218e4016f6d52364fee83456ff6a03 (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
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=7

INTEL_DIST_PV=2020_update1_professional_edition

inherit intel-sdp-r1

DESCRIPTION="Common libraries and utilities needed for Intel compilers and libraries"
HOMEPAGE="http://software.intel.com/en-us/articles/intel-compilers/"

IUSE="+compiler doc +mpi +openmp"
KEYWORDS="-* ~amd64 ~x86 ~amd64-linux ~x86-linux"

SLOT="0"

MY_PV="$(ver_rs 3 '-')"           # 19.1.1-217
MY_PV2="$(ver_cut 1-2)"           # 19.1
MY_PV3="2019"                     # 2019
MY_PV4="${MY_PV3}.7-$(ver_cut 4)" # 2019.7-217 sic!

CHECKREQS_DISK_BUILD=750M

QA_PREBUILT="*"

INTEL_DIST_BIN_RPMS=()
INTEL_DIST_DAT_RPMS=(
	"c-comp-common-${MY_PV}-${MY_PV}.noarch.rpm"
	"comp-l-all-common-${MY_PV}-${MY_PV}.noarch.rpm"
	"comp-l-all-vars-${MY_PV}-${MY_PV}.noarch.rpm"
	"comp-nomcu-vars-${MY_PV}-${MY_PV}.noarch.rpm")
INTEL_DIST_X86_RPMS=(
	"comp-32bit-${MY_PV}-${MY_PV}.x86_64.rpm"
	"comp-ps-32bit-${MY_PV}-${MY_PV}.x86_64.rpm"
	"comp-ps-ss-bec-32bit-${MY_PV}-${MY_PV}.x86_64.rpm")
INTEL_DIST_AMD64_RPMS=(
	"comp-${MY_PV}-${MY_PV}.x86_64.rpm"
	"comp-ps-${MY_PV}-${MY_PV}.x86_64.rpm"
	"comp-ps-ss-bec-${MY_PV}-${MY_PV}.x86_64.rpm")

pkg_setup() {
	if use doc; then
		INTEL_DIST_DAT_RPMS+=( "comp-doc-${MY_PV2}-${MY_PV}.noarch.rpm" )
	fi

	if use mpi; then
		INTEL_DIST_AMD64_RPMS+=( "mpi-rt-${MY_PV4}-${MY_PV4}.x86_64.rpm" )

		if use doc; then
			INTEL_DIST_DAT_RPMS+=( "mpi-doc-${MY_PV3}-${MY_PV4}.x86_64.rpm" )
		fi
	fi

	if use openmp; then
		INTEL_DIST_DAT_RPMS+=( "openmp-common-${MY_PV}-${MY_PV}.noarch.rpm" )
		INTEL_DIST_AMD64_RPMS+=( "openmp-${MY_PV}-${MY_PV}.x86_64.rpm" )
		INTEL_DIST_X86_RPMS+=( "openmp-32bit-${MY_PV}-${MY_PV}.x86_64.rpm" )

		if use compiler; then
			INTEL_DIST_DAT_RPMS+=(
				"openmp-common-icc-${MY_PV}-${MY_PV}.noarch.rpm"
				"openmp-common-ifort-${MY_PV}-${MY_PV}.noarch.rpm")
			INTEL_DIST_AMD64_RPMS+=(
				"openmp-ifort-${MY_PV}-${MY_PV}.x86_64.rpm")
			INTEL_DIST_X86_RPMS+=(
				"openmp-ifort-32bit-${MY_PV}-${MY_PV}.x86_64.rpm")
		fi
	fi
}

src_install() {
	intel-sdp-r1_src_install
	local path rootpath ldpath arch fenv=35intelsdp
	cat > ${fenv} <<-EOF
		NLSPATH=$(isdp_get-sdp-edir)/linux/compiler/lib/$(isdp_get-native-abi-arch)/locale/en_US/%N
		INTEL_LICENSE_FILE=${EPREFIX}/opt/intel/licenses:$(isdp_get-sdp-edir)/licenses
	EOF
	for arch in $(isdp_get-sdp-installed-arches); do
		path="${path}:$(isdp_get-sdp-edir)/linux/bin/${arch}"
		rootpath="${rootpath}:$(isdp_get-sdp-edir)/linux/bin/${arch}"
		ldpath="${ldpath}:$(isdp_get-sdp-edir)/linux/compiler/lib/${arch}"
	done
	if use mpi && use amd64; then
		path="${path}:$(isdp_get-sdp-edir)/linux/mpi/intel64/bin/"
		rootpath="${rootpath}:$(isdp_get-sdp-edir)/linux/mpi/intel64/bin/"
		ldpath="${ldpath}:$(isdp_get-sdp-edir)/linux/mpi/intel64/lib/"
	fi
	cat >> ${fenv} <<-EOF
		PATH=${path#:}
		ROOTPATH=${rootpath#:}
		LDPATH=${ldpath#:}
	EOF

	doenvd ${fenv}

	cat >> "${T}"/40-${PN} <<- EOF
	SEARCH_DIRS_MASK=$(isdp_get-sdp-edir)
	EOF
	insinto /etc/revdep-rebuild/
	doins "${T}"/40-${PN}
}