aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuillaume Horel <guillaume.horel@gmail.com>2012-12-19 02:25:47 -0500
committerGuillaume Horel <guillaume.horel@gmail.com>2012-12-19 02:25:47 -0500
commite6cf966ce6188365a0032e9ab74ef16c5f66f10a (patch)
tree1b1ed71f5e0b8a05284e4aac06a86af7e22ae679 /dev-lang/julia
parentSort webkit dep in paraview 3.14 (diff)
downloadsci-e6cf966ce6188365a0032e9ab74ef16c5f66f10a.tar.gz
sci-e6cf966ce6188365a0032e9ab74ef16c5f66f10a.tar.bz2
sci-e6cf966ce6188365a0032e9ab74ef16c5f66f10a.zip
dev-lang/julia new ebuild
Diffstat (limited to 'dev-lang/julia')
-rw-r--r--dev-lang/julia/ChangeLog11
-rw-r--r--dev-lang/julia/julia-9999.ebuild99
-rw-r--r--dev-lang/julia/metadata.xml23
3 files changed, 133 insertions, 0 deletions
diff --git a/dev-lang/julia/ChangeLog b/dev-lang/julia/ChangeLog
new file mode 100644
index 000000000..e7069c84b
--- /dev/null
+++ b/dev-lang/julia/ChangeLog
@@ -0,0 +1,11 @@
+# ChangeLog for dev-lang/julia
+# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
+# $Header: $
+
+*julia-9999 (19 Dec 2012)
+
+ 19 Dec 2012; Guillaume Horel <guillaume.horel@gmail.com> +julia-9999.ebuild,
+ +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
new file mode 100644
index 000000000..9d503b4c7
--- /dev/null
+++ b/dev-lang/julia/julia-9999.ebuild
@@ -0,0 +1,99 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=4
+
+EGIT_REPO_URI="git://github.com/JuliaLang/julia.git"
+
+inherit git-2 elisp-common eutils multilib
+
+DESCRIPTION="High-performance dynamic language for technical computing"
+HOMEPAGE="http://julialang.org/"
+SRC_URI=""
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~x86"
+IUSE="doc emacs notebook"
+
+RDEPEND=">=sys-devel/llvm-3.0
+ sys-libs/readline
+ emacs? ( !app-emacs/ess )
+ >=sci-libs/suitesparse-4.0
+ sci-libs/arpack
+ sci-libs/fftw
+ dev-libs/gmp
+ sys-libs/libunwind
+ dev-libs/libpcre
+ sci-mathematics/glpk
+ sys-libs/zlib
+ virtual/blas
+ virtual/lapack
+ notebook? ( www-servers/lighttpd )"
+
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+ # 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 | \
+ sed -e "s/-l\([a-z0-9]*\).*/lib\1/")
+ 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|-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
+}
+
+src_compile() {
+ emake -j1
+ use doc && emake -C doc html
+ if use notebook; then
+ emake -C ui/webserver
+ sed -e "s|etc|/share/julia/etc|" \
+ -i usr/bin/launch-julia-webserver ||die
+ fi
+ use emacs && elisp-compile contrib/julia-mode.el
+}
+
+src_install() {
+ emake -j1 install PREFIX="${D}/usr"
+ cat > 99julia <<-EOF
+ LDPATH=/usr/$(get_libdir)/julia
+ EOF
+ doenvd 99julia
+ if use notebook; then
+ cp -R ui/website "${D}/usr/share/julia"
+ insinto /usr/share/julia/etc
+ doins deps/lighttpd.conf
+ fi
+ if use emacs; then
+ elisp-install "${PN}" contrib/julia-mode.el
+ elisp-site-file-install "${FILESDIR}"/63-julia-gentoo.el
+ fi
+ use doc && dodoc -r doc/_build/html
+ dodoc README.md
+}
+
+pkg_postinst() {
+ use emacs && elisp-site-regen
+}
+
+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
new file mode 100644
index 000000000..03a860095
--- /dev/null
+++ b/dev-lang/julia/metadata.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>guillaume.horel@gmail.com</email>
+ <name>Guillaume Horel</name>
+ </maintainer>
+ <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>
+<use>
+ <flag name="notebook">Install requirements for the web notebook based on <pkg>www-servers/lighttpd</pkg></flag>
+</use>
+</pkgmetadata>