You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
203 lines
5.9 KiB
203 lines
5.9 KiB
# Copyright 1999-2014 Gentoo Foundation
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
# $Header: /var/cvsroot/gentoo-x86/sci-mathematics/octave/octave-3.8.1.ebuild,v 1.2 2014/09/09 13:18:53 mgorny Exp $
|
|
|
|
EAPI=5
|
|
|
|
AUTOTOOLS_AUTORECONF=1
|
|
AUTOTOOLS_IN_SOURCE_BUILD=1
|
|
|
|
inherit autotools-utils multilib toolchain-funcs fortran-2 flag-o-matic java-pkg-opt-2 pax-utils
|
|
|
|
DESCRIPTION="High-level interactive language for numerical computations"
|
|
LICENSE="GPL-3"
|
|
HOMEPAGE="http://www.octave.org/"
|
|
SRC_URI="mirror://gnu/${PN}/${P}.tar.bz2"
|
|
|
|
SLOT="0/${PV}"
|
|
IUSE="curl doc fftw +glpk gnuplot gui hdf5 +imagemagick java jit opengl postscript
|
|
+qhull +qrupdate readline +sparse static-libs X zlib"
|
|
KEYWORDS="~amd64 ~hppa ~ppc ~ppc64 ~x86 ~x86-fbsd ~amd64-linux ~x86-linux"
|
|
|
|
RDEPEND="
|
|
app-text/ghostscript-gpl
|
|
dev-libs/libpcre
|
|
sys-libs/ncurses
|
|
jit? ( <sys-devel/llvm-3.5 )
|
|
virtual/lapack
|
|
curl? ( net-misc/curl )
|
|
fftw? ( sci-libs/fftw:3.0 )
|
|
glpk? ( sci-mathematics/glpk )
|
|
gnuplot? ( sci-visualization/gnuplot )
|
|
gui? ( x11-libs/qscintilla )
|
|
hdf5? ( sci-libs/hdf5 )
|
|
imagemagick? ( || (
|
|
media-gfx/graphicsmagick[cxx]
|
|
media-gfx/imagemagick[cxx] ) )
|
|
opengl? (
|
|
media-libs/freetype:2
|
|
media-libs/fontconfig
|
|
>=x11-libs/fltk-1.3:1[opengl]
|
|
x11-libs/gl2ps
|
|
virtual/glu )
|
|
postscript? (
|
|
app-text/epstool
|
|
media-gfx/pstoedit
|
|
media-gfx/transfig )
|
|
qhull? ( media-libs/qhull )
|
|
qrupdate? ( sci-libs/qrupdate )
|
|
readline? ( sys-libs/readline )
|
|
sparse? (
|
|
sci-libs/arpack
|
|
sci-libs/camd
|
|
sci-libs/ccolamd
|
|
sci-libs/cholmod
|
|
sci-libs/colamd
|
|
sci-libs/cxsparse
|
|
sci-libs/umfpack )
|
|
X? ( x11-libs/libX11 )
|
|
zlib? ( sys-libs/zlib )"
|
|
|
|
DEPEND="${RDEPEND}
|
|
qrupdate? ( app-misc/pax-utils )
|
|
sparse? ( app-misc/pax-utils )
|
|
doc? (
|
|
virtual/latex-base
|
|
dev-texlive/texlive-genericrecommended
|
|
dev-texlive/texlive-metapost
|
|
sys-apps/texinfo )
|
|
dev-util/gperf
|
|
virtual/pkgconfig"
|
|
|
|
PATCHES=(
|
|
"${FILESDIR}"/${PN}-3.8.0-pkgbuilddir.patch
|
|
"${FILESDIR}"/${PN}-3.4.3-texi.patch
|
|
"${FILESDIR}"/${PN}-3.8.0-imagemagick-configure.patch
|
|
"${FILESDIR}"/${PN}-3.8.1-imagemagick.patch
|
|
"${FILESDIR}"/${PN}-3.8.0-llvm-configure.patch
|
|
"${FILESDIR}"/${PN}-3.8.0-disable-getcwd-path-max-test-as-it-is-too-slow.patch
|
|
)
|
|
|
|
pkg_pretend() {
|
|
if use qrupdate || use sparse; then
|
|
local blaslib=$($(tc-getPKG_CONFIG) --libs-only-l blas | sed -e 's@-l\([^ \t]*\)@lib\1@' | cut -d' ' -f 1)
|
|
einfo "Checking dependencies are built with the same blas lib = ${blaslib}"
|
|
local usr_lib="${ROOT}usr/$(get_libdir)"
|
|
local libs=( )
|
|
use qrupdate && libs+=( "${usr_lib}"/libqrupdate.so )
|
|
use sparse && libs+=(
|
|
"${usr_lib}"/libarpack.so
|
|
"${usr_lib}"/libcholmod.so
|
|
"${usr_lib}"/libspqr.so
|
|
"${usr_lib}"/libumfpack.so
|
|
)
|
|
for i in ${libs[*]}
|
|
do
|
|
# Is it not linked with the current blas? This check is not enough though, as
|
|
# earlier versions of sci-libs/cholmod were not linked with blas, while as later
|
|
# versions are if built with the lapack use flag.
|
|
scanelf -n ${i} | grep -q "${blaslib}"
|
|
if [[ $? -ne 0 ]]; then
|
|
# Does it appear to be linked with some blas or lapack library?
|
|
scanelf -n ${i} | egrep -q "blas|lapack"
|
|
if [[ $? -eq 0 ]]; then
|
|
eerror "*******************************************************************************"
|
|
eerror "${i} must be rebuilt with ${blaslib}"
|
|
eerror ""
|
|
eerror "To check the libaries ${i} is currently built with:"
|
|
eerror ""
|
|
eerror "scanelf -n ${i}"
|
|
eerror ""
|
|
eerror "To find the package that needs to be rebuilt:"
|
|
eerror ""
|
|
eerror "equery belongs ${i}"
|
|
eerror "*******************************************************************************"
|
|
die
|
|
fi
|
|
fi
|
|
done
|
|
fi
|
|
}
|
|
|
|
src_prepare() {
|
|
# nasty prefix hack for fltk:1 linking
|
|
if use prefix && use opengl; then
|
|
sed -i \
|
|
-e "s:ldflags\`:ldflags\` -Wl,-rpath,${EPREFIX}/usr/$(get_libdir)/fltk-1:" \
|
|
configure.ac
|
|
fi
|
|
if has_version ">=sys-devel/llvm-3.4"; then
|
|
epatch "${FILESDIR}"/${PN}-3.8.0-llvm-3.4.patch
|
|
fi
|
|
# Fix bug 501756 - sci-mathematics/octave-3.8.0 LC_ALL=et_EE - octave.cc:485:56:
|
|
# error: 'Fallow_noninteger_range_as_index' was not declared in this scope
|
|
sed -e 's@A-Za-z0-9@[:alnum:]@g' \
|
|
-e 's@A-Za-z@[:alpha:]@g' \
|
|
-i "${S}/libinterp/mkbuiltins" \
|
|
|| die "Could not patch ${S}/libinterp/mkbuiltins for some non-English locales"
|
|
autotools-utils_src_prepare
|
|
}
|
|
|
|
src_configure() {
|
|
# occasional fail on install, force regeneration (bug #401189)
|
|
rm doc/interpreter/contributors.texi || die
|
|
|
|
# unfortunate dependency on mpi from hdf5 (bug #302621)
|
|
use hdf5 && has_version sci-libs/hdf5[mpi] && \
|
|
export CXX=mpicxx CC=mpicc FC=mpif77 F77=mpif77
|
|
|
|
local myeconfargs=(
|
|
--localstatedir="${EPREFIX}/var/state/octave"
|
|
--with-blas="$($(tc-getPKG_CONFIG) --libs blas)"
|
|
--with-lapack="$($(tc-getPKG_CONFIG) --libs lapack)"
|
|
$(use_enable doc docs)
|
|
$(use_enable java)
|
|
$(use_enable gui gui)
|
|
$(use_enable jit)
|
|
$(use_enable readline)
|
|
$(use_with curl)
|
|
$(use_with fftw fftw3)
|
|
$(use_with fftw fftw3f)
|
|
$(use_enable fftw fftw-threads)
|
|
$(use_with glpk)
|
|
$(use_with hdf5)
|
|
$(use_with opengl)
|
|
$(use_with qhull)
|
|
$(use_with qrupdate)
|
|
$(use_with sparse arpack)
|
|
$(use_with sparse umfpack)
|
|
$(use_with sparse colamd)
|
|
$(use_with sparse ccolamd)
|
|
$(use_with sparse cholmod)
|
|
$(use_with sparse cxsparse)
|
|
$(use_with X x)
|
|
$(use_with zlib z)
|
|
)
|
|
if use imagemagick; then
|
|
if has_version media-gfx/graphicsmagick[cxx]; then
|
|
myeconfargs+=( "--with-magick=GraphicsMagick" )
|
|
else
|
|
myeconfargs+=( "--with-magick=ImageMagick" )
|
|
fi
|
|
else
|
|
myeconfargs+=( "--without-magick" )
|
|
fi
|
|
autotools-utils_src_configure
|
|
}
|
|
|
|
src_compile() {
|
|
emake
|
|
if use java || use jit ; then
|
|
pax-mark m "${S}/src/.libs/octave-cli"
|
|
fi
|
|
}
|
|
|
|
src_install() {
|
|
autotools-utils_src_install
|
|
use doc && dodoc $(find doc -name \*.pdf)
|
|
[[ -e test/fntests.log ]] && dodoc test/fntests.log
|
|
use java && java-pkg_regjar "${ED}/usr/share/${PN}/${PV}/m/java/octave.jar"
|
|
echo "LDPATH=${EROOT}usr/$(get_libdir)/${PN}/${PV}" > 99octave
|
|
doenvd 99octave
|
|
}
|