blob: 8af978efe8a6171f7174c06532eadde7219a75df (
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
|
# Copyright 1999-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-lang/smarteiffel/smarteiffel-1.1.ebuild,v 1.7 2005/12/17 01:21:09 carlo Exp $
#IUSE="doc"
IUSE="doc tcc"
DESCRIPTION="GNU Eiffel compiler"
HOMEPAGE="http://smarteiffel.loria.fr/"
SRC_URI="ftp://ftp.loria.fr/pub/loria/SmartEiffel/se-${PV}.tgz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~x86 ~ppc alpha ~sparc"
DEPEND="tcc? ( >=dev-lang/tcc-0.9.14 )"
#DEPEND="virtual/libc"
S="${WORKDIR}/SmartEiffel"
# Destination directory to hold most of the SmartEiffel distribution.
SE_DIR="/usr/lib/SmartEiffel"
src_compile() {
use tcc && CFLAGS=""
use tcc && COMPILER=tcc || COMPILER=gcc
einfo "Using ${COMPILER} as default C-compiler for SmartEiffel!"
export SmartEiffel="${S}/sys/system.se"
export PATH="${S}/bin:${PATH}"
cd ${S}
ebegin "Compiling install-program"
${COMPILER} ${CFLAGS} -o install.bin install.c || die
#package authors created install directory right next to install.c
#how nioe of them!
eend $?
einfo "Running install-program"
( echo #skipping stupid prompt
echo 2 #compiler setup
use tcc && (
echo 11; echo tcc; echo g++
)
echo 12 #CFLAGS setup
echo "${CFLAGS}"
echo "${CXXFLAGS}"
echo 13 #main menu
echo 1; echo 1; echo SmartEiffel.conf; echo 7 #set conf file
echo 4 #and saved it
echo 5; echo
echo 6; echo #leave the menu
) | ./install.bin || die
einfo "finished running install"
#looks like only one file with path definitions, good
sed -i -e "s:${S}:${SE_DIR}:" SmartEiffel.conf || die
}
src_install () {
dodir ${SE_DIR}
cp -pPR ${S}/{lib,tools,sys,bin} ${D}/${SE_DIR} || die
cp SmartEiffel.conf ${D}/${SE_DIR}
# Create symlinks to the appropriate executable binaries.
dodir /usr/bin
rm ${S}/bin/README.txt
#since then this became a bin file?
for NAME in ${S}/bin/*; do
NAME=`basename ${NAME}`
dosym ${SE_DIR}/bin/${NAME} /usr/bin/${NAME}
done
# Install documentation.
if use doc; then
einfo "Installing documentation"
dodir /usr/share/doc/${PF}
cp -pPR ${S}/{man,misc,tutorial,READ_ME} ${D}/usr/share/doc/${PF} || die
fi
# Setup 'SmartEiffel' environment variable.
dodir /etc/env.d
echo "SmartEiffel=${SE_DIR}/SmartEiffel.conf" > ${D}/etc/env.d/20smarteiffel
echo "SmartEiffelDirectory=${SE_DIR}" >> ${D}/etc/env.d/20smarteiffel
}
|