blob: da400614df3e08edf9a42431a6be08c6d18ba356 (
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
137
|
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-lang/R/R-1.9.0-r1.ebuild,v 1.12 2004/09/30 19:02:29 fmccor Exp $
inherit 64-bit
IUSE="blas X tcltk gnome zlib bzlib pcre f2c"
DESCRIPTION="R is GNU S - A language and environment for statistical computing and graphics."
SRC_URI="http://cran.r-project.org/src/base/${P}.tgz"
#There are daily release patches, don't know how to utilize these
#"ftp://ftp.stat.math.ethz.ch/Software/${PN}/${PN}-release.diff.gz"
HOMEPAGE="http://www.r-project.org/"
DEPEND="virtual/libc
>=dev-lang/perl-5.6.1-r3
>=sys-libs/readline-4.1-r3
zlib? ( >=sys-libs/zlib-1.1.3-r2 )
>=media-libs/jpeg-6b-r2
>=media-libs/libpng-1.2.1
blas? ( virtual/blas )
f2c? ( dev-lang/f2c >=dev-libs/libf2c-20021004-r1 )
X? ( virtual/x11 )
tcltk? ( dev-lang/tk )
pcre? ( dev-libs/libpcre )
bzlib? ( app-arch/bzip2 )
gnome? ( >=gnome-base/gnome-libs-1.4.1.4
>=gnome-base/libglade-0.17
>=dev-libs/libxml-1.8.16
=gnome-base/orbit-0*
>=media-libs/imlib-1.9.10
>=x11-libs/gtk+-1.2.10
>=dev-libs/glib-1.2.10
>=media-sound/esound-0.2.23
>=media-libs/audiofile-0.2.1 )"
SLOT="0"
LICENSE="GPL-2 LGPL-2.1"
KEYWORDS="~x86 sparc ~ppc amd64"
pkg_setup() {
if [ -z "$(which g77 2>/dev/null)" ]; then
einfo "Couldn't find g77 Fortran Compiler."
if 64-bit && use f2c; then
eerror "You can't use f2c for dev-lang/R on 64-bit arches."
eerror "Please remerge gcc with USE=\"g77\""
die "dev-lang/R is incompatible with f2c on 64-bit arches."
fi
if ! use f2c; then
eerror "Trying to emerge this packet w/o fortran compiler."
eerror "Try again with USE=\"f2c\" emerge dev-lang/R."
die "No fortran compiler, no f2c."
else
einfo "Using f2c to translate fortran sources."
fi
fi
}
src_unpack() {
unpack ${A}
cd ${S}
sed -e 's/^#define NeedFunctionPrototypes 0/#define NeedFunctionPrototypes 1/' \
-i src/modules/X11/dataentry.c || die "sed failed"
}
src_compile() {
addwrite "/var/cache/fonts"
local myconf="--enable-static --enable-R-profiling --enable-R-shlib --with-readline"
use zlib || myconf="${myconf} --with-zlib" #default disabled
use bzlib || myconf="${myconf} --with-bzlib" #default disabled
use pcre || myconf="${myconf} --with-pcre" #default disabled
# Using the blas USE flag now instead atlas, as atlas now
# has been broken into blas-atlas and lapack-atlas.
# Danny van Dyk <kugelfang@gentoo.org> 2004/07/11
use blas || myconf="${myconf} --without-blas" #default enabled
use X || myconf="${myconf} --without-x" #default enabled
if use tcltk; then
#configure needs to find the files tclConfig.sh and tkConfig.sh
myconf="${myconf} --with-tcltk --with-tcl-config=/usr/lib/tclConfig.sh --with-tk-config=/usr/lib/tkConfig.sh"
else
myconf="${myconf} --without-tcltk"
fi
use gnome && myconf="${myconf} --with-gnome" #default disabled
./configure \
--host=${CHOST} \
--prefix=/usr \
--infodir=/usr/share/info \
--mandir=/usr/share/man \
${myconf} || die "./configure failed"
emake || die
}
src_install () {
make \
prefix=${D}/usr \
mandir=${D}/usr/share/man \
infodir=${D}/usr/share/info \
install || die "Installation Failed"
#fix the R wrapper script to have the correct R_HOME_DIR
#sed regexp borrowed from included debian rules
cp ${D}/usr/lib/R/bin/R ${S}/bin/R.orig
sed -e '/^R_HOME_DIR=.*/s::R_HOME_DIR=/usr/lib/R:' \
${S}/bin/R.orig > ${D}/usr/lib/R/bin/R
#R installs two identical wrappers under /usr/bin and /usr/lib/R/bin/
#the 2nd one is corrected by above sed, for the 1st
#I'll just symlink it into /usr/bin
cd ${D}/usr/bin/
rm R
dosym ../lib/R/bin/R /usr/bin/R
cd ${S}
dodoc AUTHORS BUGS COPYING* ChangeLog FAQ INSTALL *NEWS README \
RESOURCES THANKS VERSION Y2K
#Add rudimentary menu entry if gnome
if use gnome; then
insinto /usr/share/gnome/apps/Applications
doins ${FILESDIR}/R.desktop
insinto /usr/share/pixmaps
doins ${FILESDIR}/R-logo.png
fi
}
|