summaryrefslogtreecommitdiff
blob: 3b7217706e58d888cf146b5dbf854a597589234f (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
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2

EAPI=6

inherit pax-utils versionator

MY_PV=$(get_version_component_range 1-3)
MY_P=${PN}-${MY_PV}
DATE=$(get_version_component_range 4)
DATE=${DATE#p}
DATE=${DATE:0:4}-${DATE:4:2}-${DATE:6}
INSTALLER=${PN}-${DATE}-installer.run

DESCRIPTION="PathScale EKOPath Compiler Suite"
HOMEPAGE="http://www.pathscale.com/ekopath-compiler-suite"
SRC_URI="http://c591116.r16.cf2.rackcdn.com/${PN}/nightly/Linux/${INSTALLER}"

LICENSE="all-rights-reserved"
SLOT="0/${MY_PV}"
KEYWORDS="~amd64"
IUSE=""

DEPEND="!!app-arch/rpm"
RDEPEND="!dev-lang/ekopath:${MY_PV}"

RESTRICT="bindist mirror"

QA_PREBUILT="opt/${MY_P}/*"

S="${WORKDIR}"

src_unpack() {
	cp "${DISTDIR}/${INSTALLER}" "${S}/" || die
	chmod +x "${S}/${INSTALLER}" || die
}

src_configure() {
	cat > 99${PN} <<-EOF || die
		PATH=${EROOT%/}/opt/${PN}/bin
		ROOTPATH=${EROOT%/}/opt/${PN}/bin
		LDPATH=${EROOT%/}/opt/${PN}/lib:${EROOT%/}/opt/${PN}/lib/${MY_PV}/x8664/64
		MANPATH=${EROOT%/}/opt/${PN}/docs/man
	EOF
}

src_install() {
	# EI_PAX marking is obsolete and PT_PAX breaks the binary.
	# We must use XT_PAX to run the installer.
	if [[ ${PAX_MARKINGS} == "XT" ]]; then
		pax-mark m "${INSTALLER}"
	fi

	./"${INSTALLER}" \
		--prefix "${ED%/}/opt/${MY_P}" \
		--mode unattended || die

	if [[ ! -d ${ED%/}/opt/${MY_P}/lib/${MY_PV} ]]; then
		local guess
		cd "${ED%/}/opt/${MY_P}/lib" && guess=( * )

		if [[ ${guess[@]} ]]; then
			die "Incorrect release version in PV, guessing it should be: ${guess[*]}"
		else
			die "No libdir installed"
		fi
	fi
	[[ -x ${ED%}/opt/${MY_P}/bin/pathcc ]] || die "No pathcc executable was installed, your hardware is unsupported most likely"

	rm -r "${ED}/opt/${MY_P}"/uninstall* || die
	dosym ${MY_P} /opt/${PN}
	doenvd 99${PN}
}