Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add docs changes. #9

Open
wants to merge 30 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
ce42457
Fix Org references in README.md (#8)
taqtiqa-admin Nov 11, 2018
7771933
Convert Ruby references to Julia
taqtiqa-admin Nov 11, 2018
4b6487e
Merge pull request #9 from taqtiqa-admin/patch-1
Nov 18, 2018
44047f6
Merge pull request #12 from taqtiqa-mark/ruby-julia
Nov 18, 2018
a123061
Merge pull request #11 from taqtiqa/master
Nov 18, 2018
096ad11
Add versions 1.1.0 and 1.0.3
taqtiqa-admin Feb 5, 2019
849df73
Remove Ruby references
taqtiqa-admin Feb 5, 2019
2d12098
Merge pull request #13 from taqtiqa/master
Feb 11, 2019
a1888e4
Merge branch 'master' of https://github.com/HiroakiMikami/julia-build
taqtiqa-admin Apr 25, 2019
bb86c68
Merge pull request #15 from taqtiqa/master
HiroakiMikami May 3, 2019
cd56b2a
Merge branch 'master' of https://github.com/HiroakiMikami/julia-build
taqtiqa-mark Jul 2, 2019
577c8be
V1.2.0 (#2)
taqtiqa-mark Aug 22, 2019
0cdb967
Add docs folder.
taqtiqa-admin Aug 22, 2019
1b737e9
Merge pull request #2 from jlenv/docs
taqtiqa-admin Aug 22, 2019
4bdb81f
Set theme jekyll-theme-minimal
taqtiqa-admin Aug 22, 2019
f3f63f0
Add buil;ds and docs.
taqtiqa-mark Sep 13, 2019
7bc4307
Merge origin pull.
taqtiqa-mark Sep 13, 2019
a96e5c7
Update docs on build steps.
taqtiqa-mark Sep 13, 2019
78e3d91
Markdown lint changes. Git ignore refinements.
taqtiqa-mark Oct 17, 2019
509f71a
Merge upstream master.
taqtiqa-mark Oct 17, 2019
adf281c
Merge branch 'master' of https://github.com/jlenv/julia-build into jl
taqtiqa-mark Oct 17, 2019
d01f8a3
Add badges.
taqtiqa-mark Oct 17, 2019
aeb904f
Add docs changes.
taqtiqa-mark Oct 30, 2019
e32de4a
Move gh markdown toc generator.
taqtiqa-mark Oct 31, 2019
5df2fd4
Add docs.
taqtiqa-mark Oct 31, 2019
1e3016a
Add version 1.0.0 string.
taqtiqa-mark Oct 31, 2019
3b5f9a7
Add build scripts. Travis config.
taqtiqa-mark Oct 31, 2019
6f3363e
Add GH pages config.
taqtiqa-mark Oct 31, 2019
0e8920a
Add 1.3.0-rc1-3 build definitions.
taqtiqa-mark Oct 31, 2019
0d03de6
Add install bash script. Move toc generator,
taqtiqa-mark Oct 31, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 12 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,12 @@
/bats
/.vscode
# Don't track test scaffolding:
test/libs/
test/libexec/bin
test/libexec/libexec
test/libexec/share
test/tmp/

# Editor settings
.vscode/

# merge conflict artifacts
*.orig
4 changes: 4 additions & 0 deletions .markdownlint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"default": true,
"MD003": { "style": "atx" }
}
57 changes: 50 additions & 7 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,50 @@
sudo: false
install: git clone --depth 1 https://github.com/sstephenson/bats.git
script: PATH="./bats/bin:$PATH" script/test
language: c
notifications:
email:
on_success: never
after_success:
- bash <(curl -s https://codecov.io/bash)
- bash <(curl -s https://codecov.io/bash)
before_install: "gem update --system --no-doc"
before_script:
- "whereis bash"
- "bash --version"
- ./script/install_bash.bash
- "bash --version"
- "git clone https://github.com/infertux/bashcov.git"
- "cd bashcov/"
- "gem build bashcov.gemspec"
- "gem install bashcov-2.0.0.gem"
- "export PATH=$PATH:$PWD"
- "cd .."
- "gem install codecov"
- "gem install coveralls"
- "gem install codeclimate-test-reporter"
cache:
directories:
- bash
env:
matrix:
- INSTALL_BASH_VERSION=5.0
- INSTALL_BASH_VERSION=4.4
- INSTALL_BASH_VERSION=4.3
- INSTALL_BASH_VERSION=4.2.53
- INSTALL_BASH_VERSION=4.1
- INSTALL_BASH_VERSION=4.0
language: ruby
matrix:
allow_failures:
-
env: INSTALL_BASH_VERSION=4.2.53
-
env: INSTALL_BASH_VERSION=4.1
-
env: INSTALL_BASH_VERSION=4.0
include:
-
rvm: "2.5.5"
os:
- linux
rvm:
- "2.5.5"
script:
- (bashcov script/test || true)
- bash script/test
- (bash script/report || true)
sudo: required
7 changes: 7 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"workbench.colorCustomizations": {
"activityBar.background": "#213211",
"titleBar.activeBackground": "#2E4718",
"titleBar.activeForeground": "#F7FBF4"
}
}
80 changes: 0 additions & 80 deletions CONDUCT.md

This file was deleted.

2 changes: 2 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
Copyright (c) 2019 Mark Van de Vyver
Copyright (c) 2019 Taqtiqa LLC
Copyright (c) 2017 Hiroaki Mikami
Copyright (c) 2012-2013 Sam Stephenson

Expand Down
133 changes: 35 additions & 98 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,24 @@
![](https://travis-ci.org/jlenv/julia-build.svg?branch=master)

# julia-build

This project was forked from [ruby-build](https://github.com/rbenv/ruby-build), and modified for [julia](https://github.com/JuliaLang/julia).
[![Build Status](https://travis-ci.com/jlenv/julia-build.svg?branch=master)](https://travis-ci.com/jlenv/julia-build)[![Codacy Badge](https://api.codacy.com/project/badge/Grade/d33f741a507b4cee99ab9d4931ae1163)](https://www.codacy.com/manual/taqtiqa-mark/jlenv-julia-build?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=jlenv/julia-build&amp;utm_campaign=Badge_Grade)[![CodeFactor](https://www.codefactor.io/repository/github/jlenv/julia-build/badge)](https://www.codefactor.io/repository/github/jlenv/julia-build) [![Coverage Status](https://coveralls.io/repos/github/jlenv/jlenv/badge.svg?branch=master)](https://coveralls.io/github/jlenv/jlenv?branch=master) [![codecov](https://codecov.io/gh/jlenv/julia-build/branch/master/graph/badge.svg)](https://codecov.io/gh/jlenv/julia-build)

---
`julia-build` is a command-line utility tool that makes it easy to compile,
install and remove virtually any version of [Julia](https://www.julialang.org),
using downloaded source files.

julia-build is a command-line utility that makes it easy to install virtually any
version of Julia, from source.
Julia-build is exposed as a plugin for [jlenv](https://github.com/jlenv/julia-build)
that provides the `jlenv install` command.
Or simply as `julia-build` when used as a standalone program.

It is available as a plugin for [jlenv](https://github.com/jlenv/julia-build) that
provides the `jlenv install` command, or as a standalone program.
## Table of Contents

- [jlenv]: https://github.com/jlenv/jlenv
- [definitions]: https://github.com/jlenv/julia-build/tree/master/share/julia-build
- [wiki]: https://github.com/jlenv/julia-build/wiki
<!--ts-->
* [Installation](#installation)
* [Upgrading](#upgrading)
* [Usage](#usage)
* [Documentation](#documentation)
<!-- Added by: Mark Van de Vyver, at: Tue 10 Sep 18:47:40 AEST 2019 -->
<!--te-->

## Installation

Expand All @@ -25,19 +29,19 @@ Manages gcc versions using `update-alternatives`/`alternatives`:

```sh
# As an jlenv plugin
$ mkdir -p "$(jlenv root)"/plugins
$ git clone https://github.com/jlenv/julia-build.git "$(jlenv root)"/plugins/julia-build
mkdir -p "$(jlenv root)"/plugins
git clone https://github.com/jlenv/julia-build.git "$(jlenv root)"/plugins/julia-build

# As a standalone program
$ git clone https://github.com/jlenv/julia-build.git
$ PREFIX=/usr/local ./julia-build/install.sh
git clone https://github.com/jlenv/julia-build.git
PREFIX=/usr/local ./julia-build/install.sh
```

### Upgrading
## Upgrading

```sh
# As an jlenv plugin
$ cd "$(jlenv root)"/plugins/julia-build && git pull
cd "$(jlenv root)"/plugins/julia-build && git pull
```

## Usage
Expand All @@ -46,93 +50,26 @@ $ cd "$(jlenv root)"/plugins/julia-build && git pull

```sh
# As an jlenv plugin
$ jlenv install --list # lists all available versions of Julia
$ jlenv install v0.6.0 # installs Julia v0.6.0 to ~/.jlenv/versions
jlenv install --list # lists all available versions of Julia
jlenv install v1.0.1 # installs Julia v1.0.1 to ~/.jlenv/versions

# As a standalone program
$ julia-build --definitions # lists all available versions of Julia
$ julia-build 0.6.0 ~/local/julia-v0.6.0 # installs Julia v0.6.0 to ~/local/julia-0.6.0
julia-build --definitions # lists all available versions of Julia
julia-build 1.0.1 ~/local/julia-v1.0.1 # installs Julia v1.0.1 to ~/local/julia-1.0.1
```

julia-build does not check for system dependencies before downloading and
attempting to compile the Julia source. Please ensure that [all required
libraries](https://github.com/JuliaLang/julia#required-build-tools-and-external-libraries) are available on your system.

### Advanced Usage

#### Custom Build Definitions

If you wish to develop and install a version of Julia that is not yet supported
by julia-build, you may specify the path to a custom “build definition file” in
place of a Julia version number.

Use the [default build definitions][definitions] as a template for your custom
definitions.

#### Custom Build Configuration

The build process may be configured through the following environment variables:

| Variable | Function |
| ------------------------ | ------------------------------------------------------------------------------------------------ |
| `TMPDIR` | Where temporary files are stored. |
| `JULIA_BUILD_BUILD_PATH` | Where sources are downloaded and built. (Default: a timestamped subdirectory of `TMPDIR`) |
| `JULIA_BUILD_CACHE_PATH` | Where to cache downloaded package files. (Default: `~/.jlenv/cache` if invoked as jlenv plugin) |
| `JULIA_BUILD_MIRROR_URL` | Custom mirror URL root. |
| `JULIA_BUILD_SKIP_MIRROR` | Always download from official sources, not mirrors. (Default: unset) |
| `JULIA_BUILD_ROOT` | Custom build definition directory. (Default: `share/julia-build`) |
| `JULIA_BUILD_DEFINITIONS` | Additional paths to search for build definitions. (Colon-separated list) |
| `CC` | Path to the C compiler. |
| `JULIA_CFLAGS` | Additional `CFLAGS` options (_e.g.,_ to override `-O3`). |
| `CONFIGURE_OPTS` | Additional `./configure` options. |
| `MAKE` | Custom `make` command (_e.g.,_ `gmake`). |
| `MAKE_OPTS` / `MAKEOPTS` | Additional `make` options. |
| `MAKE_INSTALL_OPTS` | Additional `make install` options. |
| `JULIA_CONFIGURE_OPTS` | Additional `./configure` options (applies only to Julia source). |
| `JULIA_MAKE_OPTS` | Additional `make` options (applies only to Julia source). |
| `JULIA_MAKE_INSTALL_OPTS` | Additional `make install` options (applies only to Julia source). |

#### Applying Patches

Both `jlenv install` and `julia-build` support the `--patch` (`-p`) flag to apply
a patch to the Julia source code before building. Patches are
read from `STDIN`:

```sh
# applying a single patch
$ jlenv install --patch 1.0.3-p429 < /path/to/julia.patch

# applying a patch from HTTP
$ jlenv install --patch 1.0.3-p429 < <(curl -sSL http://git.io/julia.patch)

# applying multiple patches
$ cat fix1.patch fix2.patch | jlenv install --patch 1.0.3-p429
```

#### Checksum Verification

If you have the `shasum`, `openssl`, or `sha256sum` tool installed, julia-build will
automatically verify the SHA2 checksum of each downloaded package before
installing it.

Checksums are optional and specified as anchors on the package URL in each
definition. (All bundled definitions include checksums.)

#### Keeping the build directory after installation

Both `julia-build` and `jlenv install` accept the `-k` or `--keep` flag, which
tells julia-build to keep the downloaded source after installation. This can be
useful if you need to use `gdb` and `memprof` with Julia.
attempting to compile the Julia source. Please ensure that [all requiredlibraries](https://github.com/JuliaLang/julia#required-build-tools-and-external-libraries)
are available on your system.
The Chef [jlenv](https://github.com/jlenv/jlenv-cookbook) cookbook automatically
ensures system dependencies are in place.

Source code will be kept in a parallel directory tree `~/.jlenv/sources` when
using `--keep` with the `jlenv install` command. You should specify the
location of the source code with the `JULIA_BUILD_BUILD_PATH` environment
variable when using `--keep` with `julia-build`.
## Documentation

## Getting Help
Please see `julia-build` [documentation page](https://jlenv.github.io/julia-build)
for more detail and solutions to common problems.

Please see Julia-Build wiki for solutions to common problems.
## Requested Contributor Conduct

[jlenv]: https://github.com/jlenv/jlenv
[definitions]: https://github.com/jlenv/julia-build/tree/master/share/julia-build
[wiki]: https://github.com/jlenv/julia-build/wiki
In the interest of fostering an excellent code base, we try to encourage anyone
to participate in our project. Please do likewise.
4 changes: 2 additions & 2 deletions bin/julia-build
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
# - hostnamectl (Disambiguates Centos, Ubuntu etc.)
# - alternatives (Redhat family) update-alternatives (Debian family)

JULIA_BUILD_VERSION="20190821"
JULIA_BUILD_VERSION="1.0.0"

OLDIFS="$IFS"

Expand Down Expand Up @@ -830,7 +830,7 @@ require_llvm() {
local homebrew_package="llvm@$llvm_version"
{ echo
colorize 1 "ERROR"
echo ": Rubinius will not be able to compile using Apple's LLVM-based "
echo ": Julia will not be able to compile using Apple's LLVM-based "
echo "build tools on OS X. You will need to install LLVM $llvm_version first."
echo
colorize 1 "TO FIX THE PROBLEM"
Expand Down
14 changes: 14 additions & 0 deletions docs/_config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
title: Julia-build
email: mark@taqtiqa.com
description: > # this means to ignore newlines until next element
Build and install multiple versions of <a href="https://www.julialang.org/">Julia</a>.
github_username: jlenv
include_related_posts: true
plugins:
- jekyll-relative-links
- jekyll-remote-theme
relative_links:
enabled: true
collections: true
remote_theme: pmarsceill/just-the-docs
3 changes: 3 additions & 0 deletions LICENSE-ruby-build → docs/license.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
Copyright (c) 2019 Mark Van de Vyver
Copyright (c) 2019 Taqtiqa LLC
Copyright (c) 2017 Hiroaki Mikami
Copyright (c) 2012-2013 Sam Stephenson

Permission is hereby granted, free of charge, to any person obtaining a copy of
Expand Down
Loading