From 7ea398150697b28e3e7335dc843cd378267f11ba Mon Sep 17 00:00:00 2001 From: Arun Mascarenhas Date: Thu, 20 Oct 2016 22:34:01 +0700 Subject: development/julia: Updated for version 0.4.7. Signed-off-by: Willy Sudiarto Raharjo --- development/julia/README | 27 +++++++++++++++++++++++++ development/julia/julia.SlackBuild | 41 ++++++++++++++++++++++++++++---------- development/julia/julia.info | 10 +++++----- 3 files changed, 63 insertions(+), 15 deletions(-) (limited to 'development') diff --git a/development/julia/README b/development/julia/README index 9722cf439b..da9edfb00c 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 0a926d149a..b0cde170b3 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 379cc5fb6b..f405c106cd 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" -- cgit v1.2.3