aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSébastien Fabbro <bicatali@gentoo.org>2013-07-17 10:58:57 -0700
committerSébastien Fabbro <bicatali@gentoo.org>2013-07-17 10:58:57 -0700
commitcf87a8f5940a064d968a411bc54102c98ee9ab27 (patch)
tree5cd20205e5f7216381d324f1e9770cbef480d4d8 /dev-lang
parentDropped again, because still not working (diff)
downloadsci-cf87a8f5940a064d968a411bc54102c98ee9ab27.tar.gz
sci-cf87a8f5940a064d968a411bc54102c98ee9ab27.tar.bz2
sci-cf87a8f5940a064d968a411bc54102c98ee9ab27.zip
dev-lang/julia: Small fixes and cleanup, use system patchelf
Package-Manager: portage-2.2.01.22124-prefix
Diffstat (limited to 'dev-lang')
-rw-r--r--dev-lang/julia/ChangeLog5
-rw-r--r--dev-lang/julia/julia-9999.ebuild78
-rw-r--r--dev-lang/julia/metadata.xml26
3 files changed, 61 insertions, 48 deletions
diff --git a/dev-lang/julia/ChangeLog b/dev-lang/julia/ChangeLog
index be886b3e9..623d31aa9 100644
--- a/dev-lang/julia/ChangeLog
+++ b/dev-lang/julia/ChangeLog
@@ -2,6 +2,10 @@
# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
# $Header: $
+ 17 Jul 2013; Sébastien Fabbro <bicatali@gentoo.org> julia-9999.ebuild,
+ metadata.xml:
+ dev-lang/julia: Small fixes and cleanup, use system patchelf
+
14 Jul 2013; James Cloos <cloos@jhcloos.com> julia-9999.ebuild:
Julia uses submodules, so set EGIT_HAS_SUBMODULES=yes
@@ -18,4 +22,3 @@
+metadata.xml:
Initial import. Ebuild written with help from Nicolas Bigaouette and
Sébastien Fabbro.
-
diff --git a/dev-lang/julia/julia-9999.ebuild b/dev-lang/julia/julia-9999.ebuild
index 23d97d81d..ca85ef1a7 100644
--- a/dev-lang/julia/julia-9999.ebuild
+++ b/dev-lang/julia/julia-9999.ebuild
@@ -9,68 +9,82 @@ EGIT_HAS_SUBMODULES=yes
inherit git-2 elisp-common eutils multilib
-DESCRIPTION="The Julia Language: a fresh approach to technical computing"
+DESCRIPTION="High-performance programming language for technical computing"
HOMEPAGE="http://julialang.org/"
SRC_URI=""
-LICENSE="GPL-2"
+LICENSE="MIT"
SLOT="0"
KEYWORDS=""
IUSE="doc emacs"
-RDEPEND=">=sys-devel/llvm-3.0
- sys-libs/readline
- emacs? ( !app-emacs/ess )
- >=sci-libs/suitesparse-4.0
- sci-libs/arpack
- sci-libs/fftw
+RDEPEND="
+ dev-libs/double-conversion
dev-libs/gmp
- >=dev-libs/double-conversion-1.1.1
- >=sys-libs/libunwind-1.1
dev-libs/libpcre
+ dev-util/patchelf
+ sci-libs/arpack
+ sci-libs/fftw
sci-libs/openlibm
+ >=sci-libs/suitesparse-4.0
sci-mathematics/glpk
+ >=sys-devel/llvm-3.0
+ >=sys-libs/libunwind-1.1
+ sys-libs/readline
sys-libs/zlib
virtual/blas
- virtual/lapack"
+ virtual/lapack
+ emacs? ( !app-emacs/ess )"
DEPEND="${RDEPEND}
virtual/pkgconfig"
src_prepare() {
- #epatch "${FILESDIR}/julia-nopatchelf.patch"
- # Folder /usr/include/suitesparse does not exists, everything should be in /usr/include
- sed -e "s|SUITESPARSE_INC = -I /usr/include/suitesparse|SUITESPARSE_INC = |g" \
- -i deps/Makefile
-
- blasname=$($(tc-getPKG_CONFIG) --libs blas | \
+ # /usr/include/suitesparse is for debian only
+ # respect prefix, flags
+ sed -i \
+ -e 's|^\(SUITESPARSE_INC\s*=\).*||g' \
+ -e 's|/usr/bin/||g' \
+ -e "s|/usr/include|${EROOT%/}/usr/include|g" \
+ -e "s|-O3|${CFLAGS}|g" \
+ deps/Makefile || die
+
+ # mangle Make.inc for system libraries
+ # do not set the RPATH
+ local blasname=$($(tc-getPKG_CONFIG) --libs blas | \
sed -e "s/-l\([a-z0-9]*\).*/lib\1/")
- lapackname=$($(tc-getPKG_CONFIG) --libs lapack | \
+ local lapackname=$($(tc-getPKG_CONFIG) --libs lapack | \
sed -e "s/-l\([a-z0-9]*\).*/lib\1/")
sed -i \
- -e 's|\(USE_SYSTEM_.*\)=.*|\1=1|g' \
- -e 's|\(USE_SYSTEM_LIBUV\)=.*|\1=0|g' \
- -e 's|\(USE_SYSTEM_LIBM\)=.*|\1=0|g' \
- -e "s|-lblas|$($(tc-getPKG_CONFIG) --libs blas)|" \
- -e "s|-llapack|$($(tc-getPKG_CONFIG) --libs lapack)|" \
- -e "s|liblapack|${lapackname}|" \
- -e "s|libblas|${blasname}|" Make.inc || die
-
- # do not set the RPATH
- sed -e "/RPATH = /d" -e "/RPATH_ORIGIN = /d" -i Make.inc
+ -e 's|\(USE_QUIET\s*\)=.*|\1=0|g' \
+ -e 's|\(USE_SYSTEM_.*\)=.*|\1=1|g' \
+ -e 's|\(USE_SYSTEM_LIBUV\)=.*|\1=0|g' \
+ -e 's|\(USE_SYSTEM_LIBM\)=.*|\1=0|g' \
+ -e "s|-lblas|$($(tc-getPKG_CONFIG) --libs blas)|" \
+ -e "s|-llapack|$($(tc-getPKG_CONFIG) --libs lapack)|" \
+ -e "s|liblapack|${lapackname}|" \
+ -e "s|libblas|${blasname}|" \
+ -e 's|\(JULIA_EXECUTABLE = \)\($(JULIAHOME)/julia\)|\1 LD_LIBRARY_PATH=$(BUILD)/lib \2|' \
+ -e "s|-O3|${CFLAGS}|g" \
+ Make.inc || die
}
src_compile() {
+ emake cleanall
emake
use doc && emake -C doc html
use emacs && elisp-compile contrib/julia-mode.el
}
+src_test() {
+ emake test
+}
+
src_install() {
emake install PREFIX="${D}/usr"
cat > 99julia <<-EOF
- LDPATH=/usr/$(get_libdir)/julia
+ LDPATH=${EROOT%/}/usr/$(get_libdir)/julia
EOF
doenvd 99julia
@@ -78,7 +92,7 @@ src_install() {
elisp-install "${PN}" contrib/julia-mode.el
elisp-site-file-install "${FILESDIR}"/63julia-gentoo.el
fi
- use doc && dohtml -r doc/_build/html/
+ use doc && dohtml -r doc/_build/html/*
dodoc README.md
}
@@ -89,7 +103,3 @@ pkg_postinst() {
pkg_postrm() {
use emacs && elisp-site-regen
}
-
-src_test() {
- emake -C test || die "Running tests failed"
-}
diff --git a/dev-lang/julia/metadata.xml b/dev-lang/julia/metadata.xml
index a073a339e..523edd596 100644
--- a/dev-lang/julia/metadata.xml
+++ b/dev-lang/julia/metadata.xml
@@ -1,17 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <herd>sci</herd>
- <longdescription>
- Julia is a high-level, high-performance dynamic programming language for
- technical computing, with syntax that is familiar to users of other
- technical computing environments. It provides a sophisticated compiler,
- distributed parallel execution, numerical accuracy, and an extensive
- mathematical function library. The library, mostly written in Julia itself,
- also integrates mature, best-of-breed C and Fortran libraries for linear
- algebra, random number generation, FFTs, and string processing. More
- libraries continue to be added over time. Julia programs are organized
- around defining functions, and overloading them for different combinations
- of argument types (which can also be user-defined).
- </longdescription>
+<herd>sci</herd>
+<longdescription>
+ Julia is a high-level, high-performance dynamic programming language for
+ technical computing, with syntax that is familiar to users of other
+ technical computing environments. It provides a sophisticated compiler,
+ distributed parallel execution, numerical accuracy, and an extensive
+ mathematical function library. The library, mostly written in Julia itself,
+ also integrates mature, best-of-breed C and Fortran libraries for linear
+ algebra, random number generation, FFTs, and string processing. More
+ libraries continue to be added over time. Julia programs are organized
+ around defining functions, and overloading them for different combinations
+ of argument types (which can also be user-defined).
+</longdescription>
</pkgmetadata>