blob: 64b79eab516192773a1d5501039ad58adee8339f (
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-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-tinyos/nesc/nesc-1.2.8a.ebuild,v 1.1 2006/12/26 12:01:32 sanchan Exp $
inherit eutils java-pkg-2
DESCRIPTION="An extension to gcc that knows how to compile nesC applications"
HOMEPAGE="http://nescc.sourceforge.net/"
SRC_URI="mirror://sourceforge/nescc/${P}.tar.gz"
LICENSE="GPL-2 Intel"
SLOT="0"
KEYWORDS="~x86 ~amd64"
IUSE="doc"
DEPEND=">=dev-lang/perl-5.8.5-r2
>=dev-tinyos/tos-1.1.0
>=virtual/jdk-1.4.2"
RDEPEND=">=dev-lang/perl-5.8.5-r2
>=dev-tinyos/tos-1.1.0
>=virtual/jre-1.4.2
dev-perl/XML-Simple
media-gfx/graphviz"
pkg_setup() {
if [ -z "${TOSDIR}" ]
then
# best to make an assumption
export TOSDIR=/usr/src/tinyos-1.x/tos
fi
if [ ! -d "${TOSDIR}" ]
then
eerror "In order to compile nesc you have to set the"
eerror "\$TOSDIR environment properly."
eerror ""
eerror "You can achieve this by emerging >=dev-tinyos/tos-1.1.15"
eerror "or by exporting TOSDIR=\"path to your tinyos dir\""
die "Couldn't find a valid TinyOS home"
else
einfo "Building nesC for ${TOSDIR}"
fi
java-pkg-2_pkg_setup
}
src_compile() {
econf --disable-dependency-tracking || die "econf failed"
# language setting needed, otherwise gcc version
# will sometimes not be detected right
LANGUAGE=C emake || die "emake failed"
}
src_install() {
LANGUAGE=C einstall || die "einstall failed"
if use doc
then
dohtml -r -a html,jpg,pdf,txt doc/*
fi
newdoc README NEWS
newdoc tools/java/net/tinyos/nesc/dump/README README.dump
newdoc tools/java/net/tinyos/nesc/wiring/README README.wiring
}
pkg_postinst() {
elog "To install a nesC editor mode (currently, emacs, vim, kde):"
elog "Read /usr/share/ncc/editor-modes/<your-editor-name>/readme.txt"
elog ""
elog "To use nesC with the Atmel AVR processors or the TI MSP processors you"
elog "need the avr-gcc and msp430-gcc packages, and the corresponding GNU"
elog "binutils (avr-binutils and msp430-binutils respectively)."
elog "# emerge crossdev"
elog "# crossdev -t avr"
elog "# crossdev -t msp430"
elog ""
elog "You can use gcc <= 3.4.6 and binutils <= 2.16.1-r3 if you need $ in"
elog "symbol names on avr or you can pass the -fnesc-separator=__ option to"
elog "nescc (ncc if using TinyOS) to use __ rather than $ in generated code."
elog "Example: PFLAGS=\"-fnesc-separator=__\" make mica2"
elog "See the nescc man page for details."
ebeep 5
epause 5
}
|