# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4 # $Id$ PortSystem 1.0 PortGroup github 1.0 PortGroup compilers 1.0 github.setup JuliaLang julia 0.3.8 v categories-append lang math science maintainers sean openmaintainer platforms darwin license MIT homepage http://julialang.org compilers.choose fc f77 f90 compilers.setup require_fortran -g95 description The Julia Language: A fresh approach to technical computing. long_description 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. github.tarball_from releases distfiles ${name}-${version}_79599ada44${extract.suffix} distname ${name} checksums rmd160 8ebe445b3cf33ea0a64091ac821cd02463e2c60a \ sha256 729a91a93126b4a81bf05fc8514465b98dfe855feacb13840854f44b5899369d # Force buildbot to skip this since julia builds its own blas; see #45101 archive_sites depends_lib-append port:llvm-3.5 \ port:curl \ port:pcre \ port:readline \ port:gmp \ port:mpfr \ port:SuiteSparse \ port:fftw-3 \ port:fftw-3-single use_configure no # use_parallel_build no post-extract { file mkdir ${worksrcpath}/usr/lib ln -s ${prefix}/lib/libfftw3.dylib ${worksrcpath}/usr/lib/ ln -s ${prefix}/lib/libfftw3_threads.dylib ${worksrcpath}/usr/lib/ ln -s ${prefix}/lib/libfftw3f.dylib ${worksrcpath}/usr/lib/ ln -s ${prefix}/lib/libfftw3f_threads.dylib ${worksrcpath}/usr/lib/ ln -s ${prefix}/lib/libreadline.dylib ${worksrcpath}/usr/lib/ ln -s ${prefix}/lib/libpcre.dylib ${worksrcpath}/usr/lib/ ln -s ${prefix}/lib/libgmp.dylib ${worksrcpath}/usr/lib/ ln -s ${prefix}/lib/libmpfr.dylib ${worksrcpath}/usr/lib/ ln -s ${prefix}/lib/libumfpack.dylib ${worksrcpath}/usr/lib/ ln -s ${prefix}/lib/libcholmod.dylib ${worksrcpath}/usr/lib/ } build {} # julia can't use Apple's Accelerate framework so the choices are to build # lapack (32-bit interface) or build OpenBLAS (64-bit interface). # Alternatively, we could try to use MacPorts' own OpenBLAS port but that would # need to be updated to build the 64-bit interface which is inocmpatible with # the 32-bit interface. Since that could break other ports dependent on # OpenBLAS, we'll just stick with having julia download and build its own # internal OpenBLAS. pre-destroot { destroot.args-append \ CC=${configure.cc} \ CXX=${configure.cxx} \ FC=${configure.fc} \ USE_SYSTEM_LLVM=1 \ LLVM_CONFIG=llvm-config-mp-3.5 \ USE_SYSTEM_LIBUNWIND=1 \ USE_SYSTEM_LIBM=1 \ USE_SYSTEM_GMP=1 \ USE_SYSTEM_MPFR=1 \ USE_SYSTEM_ZLIB=1 \ USE_SYSTEM_READLINE=1 \ USE_SYSTEM_PCRE=1 \ USE_SYSTEM_FFTW=1 \ USE_SYSTEM_ARPACK=1 \ USE_SYSTEM_SUITESPARSE=1 } post-destroot { # julia doesn't do destroot quite right set dpw ${destroot}${worksrcpath} delete ${destroot}${prefix}/bin move [glob $dpw/julia-*/bin] ${destroot}${prefix}/bin move [glob $dpw/julia-*/etc/julia] ${destroot}${prefix}/etc move [glob $dpw/julia-*/include/julia] ${destroot}${prefix}/include move [glob $dpw/julia-*/lib/julia] ${destroot}${prefix}/lib move [glob $dpw/julia-*/share/julia] ${destroot}${prefix}/share delete ${destroot}${prefix}/var foreach b {julia julia-debug} { system -W ${destroot}${prefix}/bin "install_name_tool -add_rpath ${prefix}/lib $b" } }