commit:     428c0744c493315742822d62de35bcccdab80ddd
Author:     Sébastien Fabbro <bicatali <AT> gentoo <DOT> org>
AuthorDate: Wed Apr  2 23:04:49 2014 +0000
Commit:     Sebastien Fabbro <bicatali <AT> gentoo <DOT> org>
CommitDate: Wed Apr  2 23:04:49 2014 +0000
URL:        
http://git.overlays.gentoo.org/gitweb/?p=proj/sci.git;a=commit;h=428c0744

various consistent fixes for main tree

Package-Manager: portage-2.2.8-prefix

---
 dev-lang/julia/ChangeLog         |   4 ++
 dev-lang/julia/julia-9999.ebuild | 119 ++++++++++++++++++++++++---------------
 dev-lang/julia/metadata.xml      |   4 +-
 3 files changed, 80 insertions(+), 47 deletions(-)

diff --git a/dev-lang/julia/ChangeLog b/dev-lang/julia/ChangeLog
index 27a9af5..b725a62 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 <fabb...@gentoo.org> julia-9999.ebuild,
+  metadata.xml:
+  various consistent fixes for main tree
+
   08 Feb 2014;  <xho...@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 7a22eed..32d93f3 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 1cc4211..523edd5 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,

Reply via email to