aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorS├ębastien Fabbro <bicatali@gentoo.org>2014-04-02 16:04:49 -0700
committerS├ębastien Fabbro <bicatali@gentoo.org>2014-04-02 16:04:49 -0700
commit428c0744c493315742822d62de35bcccdab80ddd (patch)
treee0365df5e56ccdeb6d27c3ccc15687dad8322f0f /dev-lang/julia
parentKeyword amd64-linux and x86-linux (diff)
downloadsci-428c0744c493315742822d62de35bcccdab80ddd.tar.gz
sci-428c0744c493315742822d62de35bcccdab80ddd.tar.bz2
sci-428c0744c493315742822d62de35bcccdab80ddd.zip
various consistent fixes for main tree
Package-Manager: portage-2.2.8-prefix
Diffstat (limited to 'dev-lang/julia')
-rw-r--r--dev-lang/julia/ChangeLog4
-rw-r--r--dev-lang/julia/julia-9999.ebuild119
-rw-r--r--dev-lang/julia/metadata.xml4
3 files changed, 80 insertions, 47 deletions
diff --git a/dev-lang/julia/ChangeLog b/dev-lang/julia/ChangeLog
index 27a9af53d..b725a6254 100644
--- a/dev-lang/julia/ChangeLog
+++ b/dev-lang/julia/ChangeLog
@@ -2,6 +2,10 @@
# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
# $Header: $
+ 02 Apr 2014; Sebastien Fabbro <fabbros@gentoo.org> julia-9999.ebuild,
+ metadata.xml:
+ various consistent fixes for main tree
+
08 Feb 2014; <xhochy@gentoo.org> julia-9999.ebuild:
PREFIX is now prefix
diff --git a/dev-lang/julia/julia-9999.ebuild b/dev-lang/julia/julia-9999.ebuild
index 7a22eed64..32d93f37e 100644
--- a/dev-lang/julia/julia-9999.ebuild
+++ b/dev-lang/julia/julia-9999.ebuild
@@ -4,7 +4,7 @@
EAPI=5
-inherit git-r3 elisp-common eutils multilib pax-utils
+inherit git-r3 elisp-common eutils multilib pax-utils toolchain-funcs
DESCRIPTION="High-performance programming language for technical computing"
HOMEPAGE="http://julialang.org/"
@@ -17,73 +17,102 @@ KEYWORDS=""
IUSE="doc emacs"
RDEPEND="
- dev-libs/double-conversion
- dev-libs/gmp
- dev-libs/libpcre
- dev-libs/utf8proc
- 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
+ dev-lang/R:0=
+ dev-libs/double-conversion:0=
+ dev-libs/gmp:0=
+ dev-libs/libpcre:3=
+ dev-libs/mpfr:0=
+ dev-libs/utf8proc:0=
+ sci-libs/arpack:0=
+ sci-libs/cholmod:0=
+ sci-libs/fftw:3.0=
+ sci-libs/openlibm:0=
+ sci-libs/spqr:0=
+ sci-libs/umfpack:0=
+ sci-mathematics/glpk:0=
+ >=sys-devel/llvm-3.3
+ >=sys-libs/libunwind-1.1:7=
+ sys-libs/readline:0=
+ sys-libs/zlib:0=
virtual/blas
virtual/lapack
- emacs? ( !app-emacs/ess )"
+ emacs? ( app-emacs/ess )"
+
DEPEND="${RDEPEND}
- virtual/pkgconfig"
+ dev-util/patchelf
+ virtual/pkgconfig
+ doc? ( dev-python/sphinx )"
src_prepare() {
+ # sadlib keep fetching in ebuild to make sure live build works
# /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" \
+ -e 's|/usr/bin/||g' \
+ -e "s|/usr/include|${EPREFIX%/}/usr/include|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/")
- local lapackname=$($(tc-getPKG_CONFIG) --libs lapack | \
- sed -e "s/-l\([a-z0-9]*\).*/lib\1/")
-
sed -i \
- -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)/$(get_libdir) \2|' \
+ -e "s|\(JULIA_EXECUTABLE = \)\(\$(JULIAHOME)/julia\)|\1 LD_LIBRARY_PATH=\$(BUILD)/$(get_libdir) \2|" \
-e "s|-O3|${CFLAGS}|g" \
-e "s|LIBDIR = lib|LIBDIR = $(get_libdir)|" \
+ -e "s|/usr/lib|${EPREFIX}/usr/$(get_libdir)|" \
+ -e "s|/usr/include|${EPREFIX}/usr/include|" \
+ -e "s|\$(BUILD)/lib|\$(BUILD)/$(get_libdir)|" \
+ -e "s|^JULIA_COMMIT = .*|JULIA_COMMIT = v${PV}|" \
Make.inc || die
sed -i \
- -e "s|\$(BUILD)/lib|\$(BUILD)/$(get_libdir)|" \
- -e "s|\$(JL_LIBDIR),lib|\$(JL_LIBDIR),$(get_libdir)|" \
- -e "s|\$(JL_PRIVATE_LIBDIR),lib|\$(JL_PRIVATE_LIBDIR),$(get_libdir)|" \
+ -e "s|,lib)|,$(get_libdir))|g" \
+ -e "s|\$(BUILD)/lib|\$(BUILD)/$(get_libdir)|g" \
Makefile || die
+
+ sed -i \
+ -e "s|ar -rcs|$(tc-getAR) -rcs|g" \
+ src/Makefile || die
+}
+
+src_configure() {
+ # libuv is an incompatible fork from upstream, so don't use system one
+ cat <<-EOF > Make.user
+ LIBBLAS=$($(tc-getPKG_CONFIG) --libs blas)
+ LIBBLASNAME=$($(tc-getPKG_CONFIG) --libs blas | sed -e "s/-l\([a-z0-9]*\).*/lib\1/")
+ LIBLAPACK=$($(tc-getPKG_CONFIG) --libs lapack)
+ LIBLAPACKNAME=$($(tc-getPKG_CONFIG) --libs lapack | sed -e "s/-l\([a-z0-9]*\).*/lib\1/")
+ USE_LLVM_SHLIB=1
+ USE_SYSTEM_ARPACK=1
+ USE_SYSTEM_BLAS=1
+ USE_SYSTEM_FFTW=1
+ USE_SYSTEM_GMP=1
+ USE_SYSTEM_GRISU=1
+ USE_SYSTEM_LAPACK=1
+ USE_SYSTEM_LIBM=1
+ USE_SYSTEM_LIBUNWIND=1
+ USE_SYSTEM_LIBUV=0
+ USE_SYSTEM_LLVM=1
+ USE_SYSTEM_MPFR=1
+ USE_SYSTEM_OPENLIBM=1
+ USE_SYSTEM_OPENSPECFUN=0
+ USE_SYSTEM_PCRE=1
+ USE_SYSTEM_READLINE=1
+ USE_SYSTEM_RMATH=1
+ USE_SYSTEM_SUITESPARSE=1
+ USE_SYSTEM_UTF8PROC=1
+ USE_SYSTEM_ZLIB=1
+ VERBOSE=1
+ EOF
}
src_compile() {
emake cleanall
- mkdir -p usr/$(get_libdir) || die
- pushd usr || die
- ln -s $(get_libdir) lib || die
- popd
+ if [[ $(get_libdir) != lib ]]; then
+ mkdir -p usr/$(get_libdir) || die
+ ln -s $(get_libdir) usr/lib || die
+ fi
emake julia-release
- pax-mark m usr/bin/julia-readline
- pax-mark m usr/bin/julia-basic
+ pax-mark m $(file usr/bin/julia-* | awk -F : '/ELF/ {print $1}')
emake
use doc && emake -C doc html
use emacs && elisp-compile contrib/julia-mode.el
@@ -94,7 +123,7 @@ src_test() {
}
src_install() {
- emake install prefix="${D}/usr"
+ emake install PREFIX="${D}/usr"
cat > 99julia <<-EOF
LDPATH=${EROOT%/}/usr/$(get_libdir)/julia
EOF
diff --git a/dev-lang/julia/metadata.xml b/dev-lang/julia/metadata.xml
index 1cc4211b9..523edd596 100644
--- a/dev-lang/julia/metadata.xml
+++ b/dev-lang/julia/metadata.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <herd>sci</herd>
- <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,