diff options
author | Sébastien Fabbro <bicatali@gentoo.org> | 2013-07-17 10:58:57 -0700 |
---|---|---|
committer | Sébastien Fabbro <bicatali@gentoo.org> | 2013-07-17 10:58:57 -0700 |
commit | cf87a8f5940a064d968a411bc54102c98ee9ab27 (patch) | |
tree | 5cd20205e5f7216381d324f1e9770cbef480d4d8 /dev-lang | |
parent | Dropped again, because still not working (diff) | |
download | sci-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/ChangeLog | 5 | ||||
-rw-r--r-- | dev-lang/julia/julia-9999.ebuild | 78 | ||||
-rw-r--r-- | dev-lang/julia/metadata.xml | 26 |
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> |