blob: a94ab9764c99c4e3de871dc95e698ebcc0478789 (
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
|
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-sci/octave/octave-2.1.57-r1.ebuild,v 1.7 2004/07/01 11:53:45 eradicator Exp $
inherit flag-o-matic
DESCRIPTION="GNU Octave is a high-level language (MatLab compatible) intended for numerical computations"
HOMEPAGE="http://www.octave.org/"
SRC_URI="ftp://ftp.octave.org/pub/octave/bleeding-edge/${P}.tar.bz2
ftp://ftp.math.uni-hamburg.de/pub/soft/math/octave/${P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~x86 ~ppc ~alpha ~sparc amd64"
IUSE="emacs static readline zlib tetex hdf5 mpi"
#IUSE="emacs static readline zlib tetex hdf5 mpi ifc blas" NOTE: Already added to use.local.desc.
DEPEND="virtual/libc
>=sys-libs/ncurses-5.2-r3
>=media-gfx/gnuplot-3.7.1-r3
>=dev-libs/fftw-2.1.3
>=dev-util/gperf-2.7.2
zlib? ( sys-libs/zlib )
hdf5? ( dev-libs/hdf5 )
tetex? ( virtual/tetex )
x86? ( ifc? ( dev-lang/ifc ) )"
# blas? ( virtual/blas )" NOTE: Blas-* is not fully done.
# NOTE: octave supports blas/lapack from intel but this is not open
# source nor is it free (as in beer OR speech) Check out...
# http://developer.intel.com/software/products/mkl/mkl52/index.htm for
# more information
pkg_setup() {
use ifc || if [ -z `which g77` ]; then
#if ifc is defined then the dep was already checked
eerror "No fortran compiler found on the system!"
eerror "Please add f77 to your USE flags and reemerge gcc!"
die
fi
}
src_compile() {
filter-flags -ffast-math
local myconf
use static || myconf="--disable-static --enable-shared --enable-dl"
use readline || myconf="${myconf} --disable-readline"
use hdf5 || myconf="${myconf} --without-hdf5"
use mpi || myconf="${myconf} --without-mpi"
# NOTE: This version actually works with gcc-3.x
./configure ${myconf} --prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var/state/octave \
--infodir=/usr/share/info \
--mandir=/usr/share/man \
--host=${CHOST} \
--build=${CHOST} \
--target=${CHOST} \
--enable-rpath \
--enable-lite-kernel \
LDFLAGS=-lz || die "configure failed"
emake || die "emake failed"
}
src_install() {
make \
prefix=${D}/usr \
mandir=${D}/usr/share/man \
infodir=${D}/usr/share/info \
install || die "make install failed"
use tetex && octave-install-doc
if use emacs; then
cd emacs
exeinto /usr/bin
doexe otags
doman otags.1
for emacsdir in /usr/share/emacs/site-lisp /usr/lib/xemacs/site-lisp; do
insinto ${emacsdir}
doins *.el
done
cd ..
fi
}
octave-install-doc() {
echo "Installing documentation..."
insinto /usr/share/doc/${PF}
doins doc/faq/Octave-FAQ.dvi
doins doc/interpreter/octave.dvi
doins doc/liboctave/liboctave.dvi
doins doc/refcard/refcard-a4.dvi
doins doc/refcard/refcard-legal.dvi
doins doc/refcard/refcard-letter.dvi
}
|