Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
3b13624117
|
|||
|
fad1efcefa
|
|||
|
1701b8a2f4
|
|||
|
608ee07940
|
|||
|
|
a0c2a5ccec | ||
|
cd41d3af97
|
@@ -255,7 +255,7 @@ test:windows:bootstrap_powershell_script:
|
|||||||
|
|
||||||
######## linux test ########
|
######## linux test ########
|
||||||
|
|
||||||
test:linux:recommended:
|
test:linux:
|
||||||
stage: test
|
stage: test
|
||||||
extends: .test_ghcup_version:linux
|
extends: .test_ghcup_version:linux
|
||||||
variables:
|
variables:
|
||||||
@@ -263,14 +263,6 @@ test:linux:recommended:
|
|||||||
CABAL_VERSION: "3.4.0.0"
|
CABAL_VERSION: "3.4.0.0"
|
||||||
needs: []
|
needs: []
|
||||||
|
|
||||||
test:linux:latest:
|
|
||||||
stage: test
|
|
||||||
extends: .test_ghcup_version:linux
|
|
||||||
variables:
|
|
||||||
GHC_VERSION: "9.0.1"
|
|
||||||
CABAL_VERSION: "3.4.0.0"
|
|
||||||
needs: []
|
|
||||||
|
|
||||||
test:linux:cross-armv7:
|
test:linux:cross-armv7:
|
||||||
stage: test
|
stage: test
|
||||||
extends:
|
extends:
|
||||||
@@ -311,7 +303,7 @@ test:linux:git:hadrian:
|
|||||||
|
|
||||||
######## linux 32bit test ########
|
######## linux 32bit test ########
|
||||||
|
|
||||||
test:linux:recommended:32bit:
|
test:linux:32bit:
|
||||||
stage: test
|
stage: test
|
||||||
extends: .test_ghcup_version:linux32
|
extends: .test_ghcup_version:linux32
|
||||||
variables:
|
variables:
|
||||||
@@ -321,7 +313,7 @@ test:linux:recommended:32bit:
|
|||||||
|
|
||||||
######## arm tests ########
|
######## arm tests ########
|
||||||
|
|
||||||
test:linux:recommended:armv7:
|
test:linux:armv7:
|
||||||
stage: test
|
stage: test
|
||||||
extends: .test_ghcup_version:armv7
|
extends: .test_ghcup_version:armv7
|
||||||
variables:
|
variables:
|
||||||
@@ -331,7 +323,7 @@ test:linux:recommended:armv7:
|
|||||||
when: manual
|
when: manual
|
||||||
needs: []
|
needs: []
|
||||||
|
|
||||||
test:linux:recommended:aarch64:
|
test:linux:aarch64:
|
||||||
stage: test
|
stage: test
|
||||||
extends: .test_ghcup_version:aarch64
|
extends: .test_ghcup_version:aarch64
|
||||||
variables:
|
variables:
|
||||||
@@ -343,7 +335,7 @@ test:linux:recommended:aarch64:
|
|||||||
|
|
||||||
######## darwin test ########
|
######## darwin test ########
|
||||||
|
|
||||||
test:mac:recommended:
|
test:mac:
|
||||||
stage: test
|
stage: test
|
||||||
extends: .test_ghcup_version:darwin
|
extends: .test_ghcup_version:darwin
|
||||||
variables:
|
variables:
|
||||||
@@ -351,15 +343,7 @@ test:mac:recommended:
|
|||||||
CABAL_VERSION: "3.4.0.0"
|
CABAL_VERSION: "3.4.0.0"
|
||||||
needs: []
|
needs: []
|
||||||
|
|
||||||
test:mac:latest:
|
test:mac:aarch64:
|
||||||
stage: test
|
|
||||||
extends: .test_ghcup_version:darwin
|
|
||||||
variables:
|
|
||||||
GHC_VERSION: "9.0.1"
|
|
||||||
CABAL_VERSION: "3.4.0.0"
|
|
||||||
needs: []
|
|
||||||
|
|
||||||
test:mac:recommended:aarch64:
|
|
||||||
stage: test
|
stage: test
|
||||||
extends: .test_ghcup_version:darwin:aarch64
|
extends: .test_ghcup_version:darwin:aarch64
|
||||||
variables:
|
variables:
|
||||||
@@ -371,7 +355,7 @@ test:mac:recommended:aarch64:
|
|||||||
|
|
||||||
######## freebsd test ########
|
######## freebsd test ########
|
||||||
|
|
||||||
test:freebsd:recommended:
|
test:freebsd:
|
||||||
stage: test
|
stage: test
|
||||||
extends: .test_ghcup_version:freebsd
|
extends: .test_ghcup_version:freebsd
|
||||||
variables:
|
variables:
|
||||||
@@ -383,7 +367,7 @@ test:freebsd:recommended:
|
|||||||
|
|
||||||
######## windows test ########
|
######## windows test ########
|
||||||
|
|
||||||
test:windows:recommended:
|
test:windows:
|
||||||
stage: test
|
stage: test
|
||||||
extends: .test_ghcup_version:windows
|
extends: .test_ghcup_version:windows
|
||||||
variables:
|
variables:
|
||||||
@@ -400,7 +384,7 @@ test:windows:recommended:
|
|||||||
|
|
||||||
release:linux:64bit:
|
release:linux:64bit:
|
||||||
stage: release
|
stage: release
|
||||||
needs: ["test:linux:recommended", "test:linux:latest"]
|
needs: ["test:linux"]
|
||||||
extends:
|
extends:
|
||||||
- .alpine:64bit
|
- .alpine:64bit
|
||||||
- .release_ghcup
|
- .release_ghcup
|
||||||
@@ -414,7 +398,7 @@ release:linux:64bit:
|
|||||||
|
|
||||||
release:linux:32bit:
|
release:linux:32bit:
|
||||||
stage: release
|
stage: release
|
||||||
needs: ["test:linux:recommended:32bit"]
|
needs: ["test:linux:32bit"]
|
||||||
extends:
|
extends:
|
||||||
- .alpine:32bit
|
- .alpine:32bit
|
||||||
- .release_ghcup
|
- .release_ghcup
|
||||||
@@ -427,7 +411,7 @@ release:linux:32bit:
|
|||||||
|
|
||||||
release:linux:armv7:
|
release:linux:armv7:
|
||||||
stage: release
|
stage: release
|
||||||
needs: ["test:linux:recommended:armv7"]
|
needs: ["test:linux:armv7"]
|
||||||
extends:
|
extends:
|
||||||
- .linux:armv7
|
- .linux:armv7
|
||||||
- .release_ghcup
|
- .release_ghcup
|
||||||
@@ -441,7 +425,7 @@ release:linux:armv7:
|
|||||||
|
|
||||||
release:linux:aarch64:
|
release:linux:aarch64:
|
||||||
stage: release
|
stage: release
|
||||||
needs: ["test:linux:recommended:aarch64"]
|
needs: ["test:linux:aarch64"]
|
||||||
extends:
|
extends:
|
||||||
- .linux:aarch64
|
- .linux:aarch64
|
||||||
- .release_ghcup
|
- .release_ghcup
|
||||||
@@ -457,7 +441,7 @@ release:linux:aarch64:
|
|||||||
|
|
||||||
release:darwin:
|
release:darwin:
|
||||||
stage: release
|
stage: release
|
||||||
needs: ["test:mac:recommended", "test:mac:latest"]
|
needs: ["test:mac"]
|
||||||
extends:
|
extends:
|
||||||
- .darwin
|
- .darwin
|
||||||
- .release_ghcup
|
- .release_ghcup
|
||||||
@@ -472,7 +456,7 @@ release:darwin:
|
|||||||
|
|
||||||
release:darwin:aarch64:
|
release:darwin:aarch64:
|
||||||
stage: release
|
stage: release
|
||||||
needs: ["test:mac:recommended:aarch64"]
|
needs: ["test:mac:aarch64"]
|
||||||
extends:
|
extends:
|
||||||
- .darwin:aarch64
|
- .darwin:aarch64
|
||||||
- .release_ghcup
|
- .release_ghcup
|
||||||
@@ -509,7 +493,7 @@ release:darwin:aarch64:
|
|||||||
|
|
||||||
release:freebsd:
|
release:freebsd:
|
||||||
stage: release
|
stage: release
|
||||||
needs: ["test:freebsd:recommended"]
|
needs: ["test:freebsd"]
|
||||||
extends:
|
extends:
|
||||||
- .freebsd
|
- .freebsd
|
||||||
- .release_ghcup
|
- .release_ghcup
|
||||||
@@ -526,7 +510,7 @@ release:freebsd:
|
|||||||
|
|
||||||
release:windows:
|
release:windows:
|
||||||
stage: release
|
stage: release
|
||||||
needs: ["test:windows:recommended"]
|
needs: ["test:windows"]
|
||||||
extends:
|
extends:
|
||||||
- .windows
|
- .windows
|
||||||
- .release_ghcup
|
- .release_ghcup
|
||||||
|
|||||||
31
README.md
31
README.md
@@ -23,6 +23,7 @@ Similar in scope to [rustup](https://github.com/rust-lang-nursery/rustup.rs), [p
|
|||||||
* [XDG support](#xdg-support)
|
* [XDG support](#xdg-support)
|
||||||
* [Env variables](#env-variables)
|
* [Env variables](#env-variables)
|
||||||
* [Installing custom bindists](#installing-custom-bindists)
|
* [Installing custom bindists](#installing-custom-bindists)
|
||||||
|
* [Isolated Installs](#isolated-installs)
|
||||||
* [Tips and tricks](#tips-and-tricks)
|
* [Tips and tricks](#tips-and-tricks)
|
||||||
* [Design goals](#design-goals)
|
* [Design goals](#design-goals)
|
||||||
* [How](#how)
|
* [How](#how)
|
||||||
@@ -160,6 +161,36 @@ and produce the binaries `ghc-8.10.2-eff` and `ghc-head` respectively.
|
|||||||
GHCup always needs to know which version the bindist corresponds to (this is not automatically
|
GHCup always needs to know which version the bindist corresponds to (this is not automatically
|
||||||
detected).
|
detected).
|
||||||
|
|
||||||
|
### Isolated installs
|
||||||
|
|
||||||
|
Ghcup also enables you to install a tool (GHC, Cabal, HLS, Stack) at an isolated location of your choosing.
|
||||||
|
These installs, as the name suggests, are separate from your main installs and DO NOT conflict with them.
|
||||||
|
|
||||||
|
|
||||||
|
- No symlinks are made to these isolated installed tools, you'd have to manually point to them wherever you intend to use them.
|
||||||
|
|
||||||
|
- These installs, can also NOT be deleted from ghcup, you'd have to go and manually delete these.
|
||||||
|
|
||||||
|
You need to use the `--isolate` or `-i` flag followed by the directory path.
|
||||||
|
|
||||||
|
Examples:-
|
||||||
|
|
||||||
|
1. install an isolated GHC version at location /home/user/isolated_dir/ghc/
|
||||||
|
- `ghcup install ghc 8.10.5 --isolate /home/user/isolated_dir/ghc`
|
||||||
|
|
||||||
|
2. isolated install Cabal at a location you desire
|
||||||
|
- `ghcup install cabal --isolate /home/username/my_isolated_dir/`
|
||||||
|
|
||||||
|
3. do an isolated install with a custom bindist
|
||||||
|
- `ghcup install ghc --isolate /home/username/my_isolated_dir/ -u 'https://gitlab.haskell.org/api/v4/projects/1/jobs/artifacts/master/raw/ghc-x86_64-fedora27-linux.tar.xz?job=validate-x86_64-linux-fedora27' head`
|
||||||
|
|
||||||
|
4. isolated install HLS
|
||||||
|
- `ghcup install hls --isolate /home/username/dir/hls/`
|
||||||
|
|
||||||
|
5. you can even compile ghc to an isolated location.
|
||||||
|
- `ghcup compile ghc -j 4 -v 9.0.1 -b 8.10.5 -i /home/username/my/dir/ghc`
|
||||||
|
---
|
||||||
|
|
||||||
### Tips and tricks
|
### Tips and tricks
|
||||||
|
|
||||||
#### with_ghc wrapper (e.g. for HLS)
|
#### with_ghc wrapper (e.g. for HLS)
|
||||||
|
|||||||
@@ -275,6 +275,8 @@ find_shell() {
|
|||||||
ask_bashrc() {
|
ask_bashrc() {
|
||||||
if [ -n "${BOOTSTRAP_HASKELL_ADJUST_BASHRC}" ] ; then
|
if [ -n "${BOOTSTRAP_HASKELL_ADJUST_BASHRC}" ] ; then
|
||||||
return 1
|
return 1
|
||||||
|
elif [ -z "${MY_SHELL}" ] ; then
|
||||||
|
return 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
while true; do
|
while true; do
|
||||||
|
|||||||
@@ -19,6 +19,18 @@ toolRequirements:
|
|||||||
- libncurses5
|
- libncurses5
|
||||||
- libtinfo5
|
- libtinfo5
|
||||||
notes: ''
|
notes: ''
|
||||||
|
">= 11":
|
||||||
|
distroPKGs:
|
||||||
|
- build-essential
|
||||||
|
- curl
|
||||||
|
- libffi-dev
|
||||||
|
- libffi7
|
||||||
|
- libgmp-dev
|
||||||
|
- libgmp10
|
||||||
|
- libncurses-dev
|
||||||
|
- libncurses5
|
||||||
|
- libtinfo5
|
||||||
|
notes: ''
|
||||||
Linux_Ubuntu:
|
Linux_Ubuntu:
|
||||||
unknown_versioning:
|
unknown_versioning:
|
||||||
distroPKGs:
|
distroPKGs:
|
||||||
|
|||||||
Reference in New Issue
Block a user