[121342] trunk/dports/lang
sean at macports.org
sean at macports.org
Mon Jun 23 14:55:52 PDT 2014
Revision: 121342
https://trac.macports.org/changeset/121342
Author: sean at macports.org
Date: 2014-06-23 14:55:52 -0700 (Mon, 23 Jun 2014)
Log Message:
-----------
julia: add new port; closes #33517
Added Paths:
-----------
trunk/dports/lang/julia/
trunk/dports/lang/julia/Portfile
trunk/dports/lang/julia/files/
trunk/dports/lang/julia/files/patch-readline.diff
Added: trunk/dports/lang/julia/Portfile
===================================================================
--- trunk/dports/lang/julia/Portfile (rev 0)
+++ trunk/dports/lang/julia/Portfile 2014-06-23 21:55:52 UTC (rev 121342)
@@ -0,0 +1,104 @@
+# -*- 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 compilers 1.0
+
+compilers.choose fc f77 f90
+compilers.setup require_fortran -g95
+
+name julia
+version 0.2.1
+categories-append math science
+maintainers sean openmaintainer
+platforms darwin
+license MIT
+homepage http://julialang.org
+
+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.
+
+# julia's build system uses git submodules so we can't use the github port group
+fetch.type git
+git.url git://github.com/JuliaLang/julia.git
+git.branch v${version}
+
+# llvm calls haven't been updated to 3.4, so keep at 3.3
+depends_lib-append port:llvm-3.3 \
+ port:curl \
+ port:git \
+ port:pcre \
+ port:readline \
+ port:gmp \
+ port:mpfr \
+ port:SuiteSparse \
+ port:fftw-3 \
+ port:fftw-3-single
+
+patch.pre_args -p1
+patchfiles patch-readline.diff
+
+use_configure no
+# use_parallel_build no
+
+# project does not support destdir
+destroot.destdir PREFIX=${destroot}${prefix}
+
+if {![fortran_variant_isset]} {
+ default_variants-append +gcc48
+}
+
+post-extract {
+ system -W ${worksrcpath} "git submodule update --init"
+
+ 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 \
+ FC=${configure.fc} \
+ USE_SYSTEM_LLVM=1 \
+ LLVM_CONFIG=llvm-config-mp-3.3 \
+ 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 {
+ # skip julia-readline because that already has the rpath
+ foreach b {julia julia-basic julia-debug-basic} {
+ system -W ${destroot}${prefix}/bin "install_name_tool -add_rpath ${prefix}/lib $b"
+ }
+}
+
+livecheck.type regex
+livecheck.url https://github.com/JuliaLang/julia/releases
+livecheck.regex /tag/v(\[0-9.\]+)
Added: trunk/dports/lang/julia/files/patch-readline.diff
===================================================================
--- trunk/dports/lang/julia/files/patch-readline.diff (rev 0)
+++ trunk/dports/lang/julia/files/patch-readline.diff 2014-06-23 21:55:52 UTC (rev 121342)
@@ -0,0 +1,13 @@
+diff --git a/ui/repl-readline.c b/ui/repl-readline.c
+index ccdaf56..30a27d7 100644
+--- a/ui/repl-readline.c
++++ b/ui/repl-readline.c
+@@ -831,7 +831,7 @@ void jl_init_repl(int history)
+ rl_instream = fopen("/dev/null","r");
+ prompt_length = 7; // == strlen("julia> ")
+ init_history();
+- rl_startup_hook = (Function*)init_rl;
++ rl_startup_hook = (rl_hook_func_t*)init_rl;
+ }
+
+ static char *prompt_string=NULL;
\ No newline at end of file
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/macports-changes/attachments/20140623/7d40fcdd/attachment-0001.html>
More information about the macports-changes
mailing list