blob: 38b4015efc88acb7893cfd1be3820dbc0984bf1b (
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
131
132
133
134
135
136
|
# Copyright 1999-2008 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-lang/smlnj/smlnj-110.67-r2.ebuild,v 1.1 2008/03/27 10:47:49 hkbst Exp $
inherit eutils
DESCRIPTION="Standard ML of New Jersey compiler and libraries"
HOMEPAGE="http://www.smlnj.org"
#BASE_URI="http://smlnj.cs.uchicago.edu/dist/working/${PV}/"
BASE_URI="mirror://gentoo/${P}-"
#Use the fetch_files.sh script in subdir files/ to fetch and
#version these files if they aren't on Gentoo mirrors.
#For example if you're doing a local bump.
FILES="
config.tgz
cm.tgz
compiler.tgz
runtime.tgz
system.tgz
MLRISC.tgz
smlnj-lib.tgz
ckit.tgz
nlffi.tgz
cml.tgz
eXene.tgz
ml-lex.tgz
ml-yacc.tgz
ml-burg.tgz
ml-lpt.tgz
pgraph.tgz
trace-debug-profile.tgz
heap2asm.tgz
smlnj-c.tgz
"
#use amd64 in 32-bit mode
SRC_URI="amd64? ( ${BASE_URI}boot.x86-unix.tgz )
ppc? ( ${BASE_URI}boot.ppc-unix.tgz )
sparc? ( ${BASE_URI}boot.sparc-unix.tgz )
x86? ( ${BASE_URI}boot.x86-unix.tgz )"
for file in ${FILES}; do
SRC_URI+=" ${BASE_URI}${file} "
done
LICENSE="BSD"
SLOT="0"
KEYWORDS="-* ~amd64 ~ppc ~x86"
IUSE=""
S="${WORKDIR}"
#SMLNJ_DEST="/usr/lib/smlnj"
#SMLNJ_TARGETS="./config/targets"
#GEN_POSIX_NAMES_PATCH="15i\n#\n.\nj\nw\nq"
#ARCH_BOOT="sml.boot.${ARCH}-unix"
src_unpack() {
mkdir -p "${S}"
for file in ${A}; do
[[ ${file} != ${P}-config.tgz ]] && mv "${DISTDIR}/${file}" "${S}/${file#${P}-}"
done
unpack ${P}-config.tgz && rm config/*.bat
echo SRCARCHIVEURL=\"file:/${S}\" > "${S}"/config/srcarchiveurl
}
src_compile() {
# echo "request ml-burg" >> $SMLNJ_TARGETS
# echo "request eXene" >> $SMLNJ_TARGETS
SMLNJ_HOME="${S}" ./config/install.sh || die "compilation failed"
}
_src_install() {
insinto /usr
doins -R bin lib
}
src_install() {
mkdir -p "${D}"/usr
mv {bin,lib} "${D}"/usr
for file in "${D}"/usr/bin/{*,.*}; do
[[ -f ${file} ]] && sed "2iSMLNJ_HOME=/usr" -i ${file}
# [[ -f ${file} ]] && sed "s:${WORKDIR}:/usr:" -i ${file}
done
cd "${D}"
epatch "${FILESDIR}"/ml-makedepend.patch
}
_src_install() {
dodir ${SMLNJ_DEST}
cd "${WORKDIR}"
sed -i -e "s/head -1/head -n 1/" bin/.run-sml
exeinto ${SMLNJ_DEST}/bin
doexe bin/{.run-sml,.link-sml,.arch-n-opsys,ml-makedepend,ml-build}
exeinto ${SMLNJ_DEST}/bin/.run
doexe bin/.run/*
insinto ${SMLNJ_DEST}/bin/.heap
doins bin/.heap/*
for i in ml-lex ml-yacc sml ml-burg
do
dosym .run-sml ${SMLNJ_DEST}/bin/$i
done
cp -Rp "${WORKDIR}"/lib "${D}/${SMLNJ_DEST}"
dodir /etc/env.d
echo -e SMLNJ_HOME=${SMLNJ_DEST} > "${D}"/etc/env.d/50smlnj
#need to provide symlinks into /usr/bin
dodir /usr/bin
dosym ${SMLNJ_DEST}/bin/ml-build /usr/bin/
dosym ${SMLNJ_DEST}/bin/ml-burg /usr/bin
dosym ${SMLNJ_DEST}/bin/ml-lex /usr/bin
dosym ${SMLNJ_DEST}/bin/ml-makedepend /usr/bin
dosym ${SMLNJ_DEST}/bin/ml-yacc /usr/bin
dosym ${SMLNJ_DEST}/bin/sml /usr/bin
}
|