blob: 75c6ae3708853f0fb2e57a1033e4210fa9a592be (
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
129
130
|
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-lang/cfal/cfal-1.2.0.4.ebuild,v 1.5 2004/07/02 04:24:53 eradicator Exp $
IUSE=""
DESCRIPTION="Compaq's enhanced Fortran compiler for the ALPHA platform"
HOMEPAGE="http://www.support.compaq.com/alpha-tools"
# its okay to set a SRC_URI here, as the rpm is gpg encrypted
# and user must agree to the license before getting access
SRC_URI="ftp://ftp.compaq.com/pub/products/linuxdevtools/latest/crypt/cfal-1.2.0-4.alpha.rpm.crypt
ftp://ftp.compaq.com/pub/products/linuxdevtools/latest/cfalrtl-1.2.0-3.alpha.rpm"
S=${WORKDIR}
LICENSE="PLDSPv2"
SLOT="0"
# NOTE: ALPHA Only!
KEYWORDS="-* ~alpha"
RDEPEND="virtual/libc
dev-libs/libots
>=dev-libs/libcpml-5.2.01-r2
dev-libs/libcxml"
DEPEND="${RDEPEND}
sys-devel/gcc-config
app-arch/rpm2targz
>=sys-apps/sed-4
app-crypt/gnupg
>=app-shells/bash-2.05b"
# These variables are not used by Portage, but is used by the functions
# below.
cfal_release="1.2.0-4"
cfalrtl_release="1.2.0-3"
ee_license_reg="http://h18000.www1.hp.com/products/software/alpha-tools/ee-license.html"
src_unpack() {
# convert rpm into tar archive
local cfal_rpm="cfal-${cfal_release}.alpha.rpm"
local cfalrtl_rpm="cfalrtl-${cfalrtl_release}.alpha.rpm"
if [ -z ${CFAL_LICENSE_KEY} ]; then
eerror ""
eerror "You have not set the environment variable"
eerror "\$CFAL_LICENSE_KEY, this should be set to"
eerror "the password you were sent when you applied"
eerror "for your alpha-tools enthusiast/educational"
eerror "license."
eerror "If you do not have a license key, apply for one"
eerror "here ${ee_license_reg}"
eerror ""
die "no license key in \$CFAL_LICENSE_KEY"
fi
# :-NULL safeguards against bash bug.
einfo "Decrypting cfal distribution..."
echo ${CFAL_LICENSE_KEY} | gpg --quiet \
--homedir=${T} --no-permission-warning \
--no-mdc-warning \
--passphrase-fd 0 \
--output ${cfal_rpm} \
--decrypt ${DISTDIR}/${cfal_rpm}.crypt
ebegin "Unpacking cfal distribution..."
# This is the same as using rpm2targz then extracting 'cept that
# it's faster, less work, and less hard disk space. rpmoffset is
# provided by the rpm2targz package.
i=${cfal_rpm}
dd ibs=`rpmoffset < ${i}` skip=1 if=$i 2>/dev/null \
| gzip -dc | cpio -idmu 2>/dev/null \
&& find usr -type d -print0 | xargs -0 chmod a+rx
i=${DISTDIR}/${cfalrtl_rpm}
dd ibs=`rpmoffset < ${i}` skip=1 if=$i 2>/dev/null \
| gzip -dc | cpio -idmu 2>/dev/null \
&& find usr -type d -print0 | xargs -0 chmod a+rx
eend ${?}
assert "Failed to extract either ${cfal_rpm%.rpm}.tar.gz or ${cfalrtl_rpm%.rpm}.tar.gz"
}
src_compile() {
# shuffling around some directories
einfo "Fixing permissions..."
chown -R root:root ${S}/usr ${S}/lib
chmod 755 ${S}/lib
einfo "Fixing man pages..."
mkdir ${S}/usr/share
rm -rf ${S}/usr/man
mv ${S}/usr/lib/compaq/cfal-1.2.0/man ${S}/usr/share
mv ${S}/usr/doc/cfal-1.2.0/README ${S}/usr/doc/cfal-1.2.0/fort.man \
${S}/usr/doc/cfal-1.2.0/decfortran90.hlp ${S}
rm -rf ${S}/usr/doc
# fix up lib paths - bug #15719, comment 6
einfo "Copying crtbegin/crtend from gcc..."
gcc_libs_path="`gcc-config --get-lib-path`"
if [ $? != 0 ] || [ ! -d "${gcc_libs_path}" ]; then
die "gcc-config returned an invalid library path (${gcc_libs_path})"
else
cp -f ${gcc_libs_path}/crt{begin,end}.o usr/lib/compaq/cfal
assert "Failed to copy crtbegin/crtend.o from ${gcc_libs_path}"
fi
}
src_install() {
# move files over
mv usr ${D} || die "cfal installation failed"
dodoc README fort.man decfortran90.hlp
dodir /lib
dosym /usr/lib/compaq/cfal/fpp /lib/fpp
prepalldocs
prepallman
}
pkg_postinst () {
einfo
einfo "cfal has been merged successfully, the EULA"
einfo "is available in"
einfo
einfo "/usr/share/doc/${PF}/README"
einfo
}
|