Julia is a high-level, high-performance dynamic language for technical computing. The main homepage for Julia can be found at julialang.org.

The port for FreeBSD is available at lang/julia. This page will record related ecosystem between FreeBSD and Julia.

Port Installation Options

We provide two options for building self-shipped libraries

Install a Package Required Native Extension

The package manager of julia v0.6 is Pkg, which is part of standard library. If a package requires one or more native extensions, like C or Fortran libraries, Pkg.install("...") will invoke the Pkg.build("..."), then it will spawn a standalone julia process with the script deps/build.jl.

Usually, build.jl script relies on BinDeps.jl to

  1. Checks the availability of native libraries.
  2. If not available, manage to install prebuilt binary via OS's package manager (Note that current implementation (ps. when I write down these words, it's v0.8.8) will invoke sudo).

  3. If not prebuilt binary available, manage to build from source.
  4. Otherwise, Pkg.build throws exception of build failure.

Since BinDeps.jl v0.6.0, FreeBSD's package manager pkg has been supported (see https://github.com/JuliaLang/BinDeps.jl/pull/296). There is a julia struct BSDPkg to provide related features.

Example Usage of BinDeps

If you run into similar issue of installing native libraries, please checkout these patches.

Slack Channel

There is a #freebsd slack channel on julialang.slack.com. This is a public slack, you can get invitation from https://slackinvite.julialang.org.


CategoryPorts CategoryTeam

Julia (last edited 2018-05-10 11:39:35 by IblisLin)