diff --git a/recipes/julia/build.sh b/recipes/julia/build.sh new file mode 100644 index 0000000000000..228a8fd425b79 --- /dev/null +++ b/recipes/julia/build.sh @@ -0,0 +1,19 @@ +#!/bin/sh + +export C_INCLUDE_PATH=${PREFIX}/include +export LD_LIBRARY_PATH=${PREFIX}/lib +export LIBRARY_PATH=${PREFIX}/lib +export CMAKE_PREFIX_PATH=${PREFIX} + +make -j 4 prefix=${PREFIX} MARCH=core2 sysconfigdir=${PREFIX}/etc NO_GIT=1 \ + USE_SYSTEM_LIBGIT2=1 USE_LLVM_SHLIB=0 USE_SYSTEM_CURL=1 USE_SYSTEM_MPFR=1 \ + USE_SYSTEM_PATCHELF=1 USE_SYSTEM_LIBSSH2=1 USE_SYSTEM_LLVM=0 USE_SYSTEM_BLAS=1 \ + USE_SYSTEM_FFTW=1 USE_SYSTEM_GMP=1 USE_SYSTEM_LAPACK=1 USE_SYSTEM_ARPACK=1 USE_SYSTEM_SUITESPARSE=1 \ + LIBBLAS=-lopenblas LIBBLASNAME=libopenblas.so LIBLAPACK=-lopenblas LIBLAPACKNAME=libopenblas.so \ + TAGGED_RELEASE_BANNER="conda-forge-julia release" \ + install + +mv "$PREFIX/bin/julia" "$PREFIX/bin/julia_" +cp "$RECIPE_DIR/julia-wrapper.sh" "$PREFIX/bin/julia" +chmod +x "$PREFIX/bin/julia" + diff --git a/recipes/julia/julia-wrapper.sh b/recipes/julia/julia-wrapper.sh new file mode 100644 index 0000000000000..a7bf6dc2553f6 --- /dev/null +++ b/recipes/julia/julia-wrapper.sh @@ -0,0 +1,24 @@ +#!/bin/bash + +JULIA_HOME="$(dirname "${BASH_SOURCE[0]}")" + +# Set JULIA_PKGDIR to $PREFIX/share/julia/site to avoid contaminating +# user's ~/.julia/. This script will modify Pkg.dir() and +# Base.LOAD_CACHE_PATH[1] appropriately. Note that wrapper script is +# used rather than /etc/julia/juliarc.jl because LOAD_CACHE_PATH is +# configured in base/sysimg.jl which is loaded before juliarc.jl. +if [ -z ${JULIA_PKGDIR+x} ] # see: http://stackoverflow.com/a/13864829 +then + JULIA_PKGDIR="$(dirname "$JULIA_HOME")/share/julia/site" + export JULIA_PKGDIR +fi + +# Set JULIA_HISTORY to $PREFIX/.julia_history to avoid saving +# to user's $HOME +if [ -z ${JULIA_HISTORY+x} ] +then + JULIA_HISTORY="$(dirname "$JULIA_HOME")/.julia_history" + export JULIA_HISTORY +fi + +exec "$JULIA_HOME/julia_" "$@" diff --git a/recipes/julia/meta.yaml b/recipes/julia/meta.yaml new file mode 100644 index 0000000000000..eccbe4f05bd19 --- /dev/null +++ b/recipes/julia/meta.yaml @@ -0,0 +1,69 @@ +{% set name = "julia" %} +{% set version = "0.5.2" %} +{% set sha256 = "efa3303d63e39bf3ea06e23ef68807cca0095c7e0507bdf26eae1d5dee7868c7" %} +{% set variant = "openblas" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + fn: v{{ version }}.tar.gz + url: https://github.com/JuliaLang/julia/archive/v{{ version }}.tar.gz + sha256: {{ sha256 }} + +build: + skip: True # [osx or win] + number: 0 + features: + - blas_{{ variant }} + +requirements: + build: + - gcc # [linux] + - toolchain + - patchelf + - cmake + - zlib 1.2.8 + - python 2.7.* + - perl 5.20.* + - openblas 0.2.19|0.2.19.* + - blas 1.1 {{ variant }} + - fftw + - gmp 6.1.* + - mpfr 3.1.* + - curl + - libgit2 + - arpack + - suitesparse + + run: + - zlib 1.2.8 + - libgcc # [linux] + - libgit2 + - fftw + - gmp 6.1.* + - mpfr 3.1.* + - openblas 0.2.19|0.2.19.* + - blas 1.1 {{ variant }} + - arpack + - suitesparse + - curl + +test: + commands: + - julia -e 'Base.runtests("all"); Base.runtests("pkg libgit2-online")' + requires: + - perl + +about: + home: http://julialang.org/ + license: MIT + license_file: LICENSE.md + summary: A high-performance dynamic programming language for data science + +extra: + recipe-maintainers: + - bgruening + - dfornika + - acaprez