aboutsummaryrefslogtreecommitdiff
path: root/development/julia
diff options
context:
space:
mode:
authorArun Mascarenhas <arunmascarenhas@yahoo.com>2016-10-20 22:34:01 +0700
committerWilly Sudiarto Raharjo <willysr@slackbuilds.org>2016-10-20 22:34:01 +0700
commit7ea398150697b28e3e7335dc843cd378267f11ba (patch)
treee93053cd82c1edb3dfc0a98a04f882271056a11f /development/julia
parent214503e2d39623b1192f402d049b6544ff8d8b48 (diff)
development/julia: Updated for version 0.4.7.
Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
Diffstat (limited to 'development/julia')
-rw-r--r--development/julia/README27
-rw-r--r--development/julia/julia.SlackBuild41
-rw-r--r--development/julia/julia.info10
3 files changed, 63 insertions, 15 deletions
diff --git a/development/julia/README b/development/julia/README
index 9722cf439b14b..da9edfb00c3c6 100644
--- a/development/julia/README
+++ b/development/julia/README
@@ -1,7 +1,34 @@
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, largely written in Julia itself, also integrates mature, best-of-breed C and
Fortran libraries for linear algebra, random number generation, signal processing, and string processing.
+In addition, the Julia developer community is contributing a number of external packages through
+Julia's built-in package manager at a rapid pace.
+
+IJulia, a collaboration between the IPython and Julia communities, provides a powerful browser-based
+graphical notebook interface to Julia.
+
+Julia programs are organized around multiple dispatch; by defining functions and overloading them for
+different combinations of argument types, which can also be user-defined.
+
+A Summary of Features:
+
+ * Multiple dispatch: providing ability to define function behavior across many combinations of argument types
+ * Dynamic type system: types for documentation, optimization, and dispatch
+ * Good performance, approaching that of statically-compiled languages like C
+ * Built-in package manager
+ * Lisp-like macros and other metaprogramming facilities
+ * Call Python functions: use the PyCall package
+ * Call C functions directly: no wrappers or special APIs
+ * Powerful shell-like capabilities for managing other processes
+ * Designed for parallelism and distributed computation
+ * Coroutines: lightweight "green" threading
+ * User-defined types are as fast and compact as built-ins
+ * Automatic generation of efficient, specialized code for different argument types
+ * Elegant and extensible conversions and promotions for numeric and other types
+ * Efficient support for Unicode, including but not limited to UTF-8
+ * MIT licensed: free and open source
diff --git a/development/julia/julia.SlackBuild b/development/julia/julia.SlackBuild
index 0a926d149afe1..b0cde170b30f7 100644
--- a/development/julia/julia.SlackBuild
+++ b/development/julia/julia.SlackBuild
@@ -23,23 +23,41 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=julia
-VERSION=${VERSION:-0.4.6}
-VERSION_TAG=${VERSION_TAG:-2e358ce975}
+VERSION=${VERSION:-0.4.7}
+VERSION_TAG=${VERSION_TAG:-ae26b25d43}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
-ARCH=${ARCH:-$(uname -m)}
-case "$ARCH" in
- i?86) ARCH=i686; LIBDIRSUFFIX="" ;;
- x86_64) LIBDIRSUFFIX="64" ;;
- *) echo "$ARCH is not supported"; exit 1 ;;
-esac
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+ ARCH=i686
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+ ARCH=i686
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+ ARCH=i686
+fi
+
set -e
rm -rf $PKG
@@ -58,8 +76,9 @@ find -L . \
cp -r bin $PKG/usr/bin
cp -r etc $PKG/usr/etc
cp -r include $PKG/usr/include
-cp -r lib $PKG/usr/lib${LIBDIRSUFFIX}
-cp -r libexec $PKG/usr/libexec${LIBDIRSUFFIX}
+# The julia binary expects all its libs to be in lib, not lib${LIBDIRSUFFIX}
+cp -r lib $PKG/usr/lib
+cp -r libexec $PKG/usr/libexec
cp -r share $PKG/usr/share
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
@@ -74,6 +93,8 @@ mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a LICENSE.md $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
cat $CWD/$PRGNAM.info > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.info
+mv $PKG/usr/share/doc/julia/* $PKG/usr/doc/$PRGNAM-$VERSION
+rm -rf $PKG/usr/share/doc/
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
diff --git a/development/julia/julia.info b/development/julia/julia.info
index 379cc5fb6bc7c..f405c106cda98 100644
--- a/development/julia/julia.info
+++ b/development/julia/julia.info
@@ -1,10 +1,10 @@
PRGNAM="julia"
-VERSION="0.4.6"
+VERSION="0.4.7"
HOMEPAGE="http://julialang.org"
-DOWNLOAD="https://julialang.s3.amazonaws.com/bin/linux/x86/0.4/julia-0.4.6-linux-i686.tar.gz"
-MD5SUM="cba285baa633739fec038d921736997f"
-DOWNLOAD_x86_64="https://julialang.s3.amazonaws.com/bin/linux/x64/0.4/julia-0.4.6-linux-x86_64.tar.gz"
-MD5SUM_x86_64="85990ba98d81b1801db5f38e0c2d0981"
+DOWNLOAD="https://julialang.s3.amazonaws.com/bin/linux/x86/0.4/julia-0.4.7-linux-i686.tar.gz"
+MD5SUM="6767757d00055854813596e2d7758b73"
+DOWNLOAD_x86_64="https://julialang.s3.amazonaws.com/bin/linux/x64/0.4/julia-0.4.7-linux-x86_64.tar.gz"
+MD5SUM_x86_64="2fb4f6e98bceaaed4654c2d4d24ce550"
REQUIRES=""
MAINTAINER="Arun Mascarenhas"
EMAIL="arunmascarenhas@yahoo.com"