Commit Graph

157 Commits

Author SHA1 Message Date
Julian Ospald 17aafe3439
posix_realpath: if dir does not exist also append to current dir
This matches realpath behavior.
2019-05-17 11:12:12 +08:00
Julian Ospald 6e1ee078cc
posix_realpath: make sure we don't loop infinitely
On broken symlink loops this would never terminate. The most
naive and easy solution is a max of loop steps.
2019-05-17 11:12:12 +08:00
Julian Ospald 09abd528ee
Merge branch 'some-error-handling' 2019-05-17 11:05:29 +08:00
Julian Ospald ed456d2071
Fix cd when CDPATH is set wrt #98 2019-05-17 11:02:07 +08:00
Julian Ospald 3c5e323490
Improve some error handling 2019-04-24 14:38:34 +08:00
Julian Ospald c64cf0efca
Silence stderr for download_to_stdout 2019-04-11 10:24:30 +08:00
Julian Ospald f8abcb7d08
Merge branch 'system-reqs' 2019-04-11 10:15:15 +08:00
Julian Ospald ad75249fc4
Merge branch 'ghcup-upgrade-tweak' 2019-04-10 23:57:35 +08:00
Julian Ospald ba64b13417
Introduce print-system-reqs wrt #49
And also make bootstrap-haskell print this by default.
2019-04-10 23:43:58 +08:00
Julian Ospald 50f661092d
Fix ghcup list -t all 2019-04-10 21:56:48 +08:00
Julian Ospald 2a92c96ea9
Merge branch 'overhaul-list-subcommand' 2019-04-10 19:06:31 +08:00
Julian Ospald ae8b5ae27e
Debug output to stderr 2019-04-10 14:42:36 +08:00
Julian Ospald 032b95aa9b
Remove show command, which is obsolete now 2019-04-10 14:37:01 +08:00
Julian Ospald f26830c9b4
Considerably tweak the list subcommand wrt #88 2019-04-10 14:37:01 +08:00
Julian Ospald 36e8389bb0
Tweak ghcup upgrade
1. add --inplace flag
2. by default install into BIN_LOCATION
2019-04-07 02:08:09 +08:00
Julian Ospald ff9261ba0c
Merge branch 'changelog-subcommand' 2019-03-07 20:01:29 +08:00
Julian Ospald 12f9f155fb
Implement changelog subcommand wrt #72 2019-03-07 20:00:43 +08:00
Julian Ospald d01ed08504
Use trap to clean up interrupted download in cache
Fixes #73
2019-03-06 17:10:19 +08:00
Julian Ospald bbf63c3881
Merge remote-tracking branch 'origin/pr/70' 2019-02-20 18:20:57 +08:00
George Wilson ae263ac282 Unquote invocations in emake 2019-02-20 13:18:22 +10:00
George Wilson 35bd1c04db Only read the FreeBSD major version 2019-02-18 15:48:16 +10:00
George Wilson 45d939219c Make shellcheck happy 2019-02-18 13:19:25 +10:00
Julian Ospald eb1dd745c1
Hide 'compile' subcommand by default from help menu 2019-02-18 11:01:52 +08:00
George Wilson 398d8d7ae0 Define emake to enable installing on FreeBSD 2019-02-17 09:11:16 +10:00
Joe Kachmar 318fbdc680
Bumps VERSION to 0.0.7 2019-02-12 14:25:04 -05:00
Julian Ospald 225d2d2be4
Merge branch 'bootstrap' 2019-01-07 11:08:40 +08:00
Julian Ospald 82c1636590
Add a bootstrap-haskell script, fixes #36 2019-01-04 17:55:47 +08:00
Julian Ospald 820d8eaa69
Improve error handling
In most cases, when we run a subshell with our own function
and assign the result to a variable, we also need to check that
the variable is non-empty, since 'die' and 'edo' don't propagate
to the parent shell.

In some cases, non-emptiness is handled in other ways or is not
fatal.
2019-01-04 16:07:50 +08:00
Julian Ospald 9cc652e34d
Remove is_sourced functionality, it's not needed anymore 2019-01-04 13:53:09 +08:00
Julian Ospald 4c548c1037
Tweak exit code for 'ghcup install'
If a GHC is already installed, we shouldn't treat it as an
error.
2019-01-04 13:51:29 +08:00
Julian Ospald 717a8256a6
Make 'ghcup set' tag-aware 2019-01-04 13:51:28 +08:00
Julian Ospald d1cb7127af
Fix travis with latest shellcheck 2019-01-04 13:49:56 +08:00
Andrea Bedini 5f04b34b15
Introduce distro_alias for Amazon Linux
Amazon Linux introduces itself as

```
andrea:~ $ cat /etc/os-release 
NAME="Amazon Linux AMI"
VERSION="2018.03"
ID="amzn"
ID_LIKE="rhel fedora"
VERSION_ID="2018.03"
PRETTY_NAME="Amazon Linux AMI 2018.03"
ANSI_COLOR="0;33"
CPE_NAME="cpe:/o:amazon:linux:2018.03:ga"
HOME_URL="http://aws.amazon.com/amazon-linux-ami/"
```
2018-12-27 15:37:43 +01:00
Julian Ospald 75e48da9a0
Introduce a GHCUP_INSTALL_BASE_PREFIX
Partly "fixes" #7
2018-12-15 00:31:19 +08:00
Herbert Valerio Riedel 18d393cfba
Improve detection logic for CentOS/Alpine/AIX/FreeBSD 2018-11-28 01:08:20 +01:00
Herbert Valerio Riedel d900d0b10c
Emit distro-alias inferred in `debug-info` output 2018-11-28 01:08:20 +01:00
Julian Ospald 907adca572
Create missing haddock -> haddock-ghc symlink
Fixes #50
2018-11-19 21:12:22 +08:00
Oleg Grenrus 6008d8a964 Support installing on macOS aka Darwin
Resolves https://github.com/haskell/ghcup/issues/33
2018-11-11 20:13:06 +02:00
Julian Ospald 2b9f1a4a20
Include tags in 'ghcup list' and improve formatting 2018-11-06 22:01:02 +08:00
Julian Ospald 5eee1b6d58
Fix check_meta_file_version calls 2018-11-06 16:27:27 +08:00
Julian Ospald cbb027d1ea
Allow to specify tags for 'install' and 'install-cabal' 2018-11-06 15:14:55 +08:00
Julian Ospald 475d060abe
Rename self-update to upgrade, fixes #38 2018-11-04 19:06:40 +08:00
Julian Ospald 2ef3c22cab
Refactor checking for required commands 2018-11-04 18:26:21 +08:00
Julian Ospald 91f046f6e9
Allow ghcup to be sourced 2018-11-04 18:20:50 +08:00
Julian Ospald 72acd59025
Simplify mkdir calls
mkdir -p is POSIX, so just... use it.
2018-10-31 10:30:38 +08:00
Julian Ospald c04b5bbea0
Some TODO 2018-10-30 22:19:20 +08:00
Julian Ospald abfca7fa75
Simplify mkdir 2018-10-30 21:33:03 +08:00
Julian Ospald c261fd7396
Remove stray TODO 2018-10-30 21:31:31 +08:00
Julian Ospald c1f7ce75f0
Get rid of realpath requirement, fixes #31 2018-10-30 21:21:43 +08:00
Julian Ospald 488079e3a3
Bump VERSION to 0.0.6 2018-10-30 21:21:43 +08:00
Julian Ospald cbb19a01c0
Check for required commands
Fixes #8
2018-10-30 21:21:42 +08:00
Julian Ospald 29911cd420
Introduce and use a meta file format for URLs and available versions
Fixes #21
Fixes #9
Fixes #10
Fixes #5
2018-10-30 21:21:42 +08:00
Julian Ospald 3f691b73ad
Fix debug-info to include CACHE_LOCATION 2018-10-28 17:36:10 +08:00
Julian Ospald e3bc9ce99c
Introduce optional tarball caching, fixes #11 2018-10-28 17:34:37 +08:00
Julian Ospald 86ffcf81d9
Allow to use wget instead of curl, fixes #15 2018-10-28 17:00:54 +08:00
Julian Ospald f71bf2fd51
Fix dangling GHC symlink check 2018-10-27 16:41:23 +08:00
Julian Ospald 34aa368e9b
Make GHC removal safer
Fixes #18
2018-10-27 16:18:14 +08:00
Julian Ospald 83cc66365b
Remove dangling ghc, ghci, ... symlinks after removal of active GHC 2018-10-27 15:16:57 +08:00
Julian Ospald 5bb5389192
Make uninstallation more robust
For an incomplete installation, we still want to remove
what is left over, so don't fail on non-existing symlinks
in $BIN_LOCATION.
2018-10-27 14:45:14 +08:00
Julian Ospald 5a18896d7a
Merge branch 'PR/add-debug-info-command' 2018-10-17 21:07:54 +08:00
Julian Ospald 0fd8085327
Merge branch 'PR/update-latest-known-cabal-install' 2018-10-17 21:06:30 +08:00
Julian Ospald 316fde7522
Merge branch 'PR/more-robust-unpacking' 2018-10-17 21:05:33 +08:00
Julian Ospald 0445e06ec1
Add a debug-info subcommand 2018-10-17 21:01:40 +08:00
Julian Ospald 869f306e35
Move error handling into download() function
This also makes the verbosity messages better.
2018-10-17 17:21:11 +08:00
Julian Ospald 976635b65f
More robust unpacking
On some system, tar might not be able to automatically uncompress,
so do it separately.
2018-10-17 17:21:11 +08:00
Julian Ospald fe16061905
Latest known cabal is 2.4.0.0 now 2018-10-17 16:38:17 +08:00
Julian Ospald 90d068842d
Do smarter cleanup in case GHC installation fails 2018-10-17 15:42:38 +08:00
Julian Ospald 2eb9549a6c
Remove 'BuildFlavour = quick' since it doesn't have any effect 2018-10-17 10:17:27 +08:00
Julian Ospald b2b020eff3
Allow to specify a build config for 'ghcup compile'
Fixes #19
2018-10-17 10:17:07 +08:00
Julian Ospald 0a5e5cb937
Fix references to hasufell 2018-10-16 14:41:42 +08:00
Julian Ospald 106d2bb81b
Increase version to 0.0.5 2018-10-16 01:06:42 +08:00
Julian Ospald 256d81eb13
Fix OS detection
Name is "Debian GNU/Linux" and not "Debian". Wildcard match
to make it more robust, same for Ubuntu.
2018-10-15 23:59:21 +08:00
Julian Ospald a7c8f9da7c
Update self_update_usage 2018-10-15 22:19:03 +08:00
Sam Halliday fafb9bbf9d self-update inplace 2018-10-15 14:32:04 +01:00
Julian Ospald bd50a5b290
Release 0.0.4 2018-10-09 00:34:17 +08:00
Julian Ospald 2193b42822
Make self-update more robust
In fact, the old method was unsafe. Curl would modify the script
in-place and there was no guarantee that the script is already
in memory, leading to harmless, but unnecessary corruption
at the end of the script.

mv is atomic, so will unlink the old file before writing the new one.
2018-10-08 22:42:04 +08:00
Julian Ospald 54c42c7718
Install cabal into BIN_LOCATION
See #6
2018-10-05 10:44:23 +08:00
Julian Ospald 1d8f173456
Add compile command to root help 2018-10-05 10:34:26 +08:00
Julian Ospald ef2f6dfd65
Add vim setting to end of file 2018-10-03 01:41:24 +08:00
Julian Ospald 243b707127
Be paranoid about recursive removal 2018-10-03 01:39:48 +08:00
Julian Ospald acc0581c08
Remove job setting from 'make install', because it's broken 2018-10-01 14:18:53 +08:00
Julian Ospald 5dc42f08c1
Fix bug with JOBS being set incorrectly 2018-10-01 14:14:01 +08:00
Julian Ospald ba80c6e409
Improve message when no GHC is installed 2018-10-01 12:28:24 +08:00
Julian Ospald 92b82c4a3e
Allow to build from source, fixes #2 2018-09-30 19:39:40 +08:00
Julian Ospald ea2d5c20d9
Add install-cabal subcommand, fixes #3 2018-09-30 16:47:04 +08:00
Julian Ospald 894a279a2d
Improve error messages 2018-09-30 16:11:56 +08:00
Julian Ospald ce314365dd
Fix status message
Should only appear when we have actually removed GHC.
2018-09-30 14:41:18 +08:00
Julian Ospald 41199b5ebd
Print usage info when only -v is given 2018-09-30 14:36:50 +08:00
Julian Ospald b25b907705
set-ghc is set now 2018-09-30 14:33:42 +08:00
Julian Ospald 6e1b6e431e
Pretty doc sections 2018-09-30 14:26:59 +08:00
Julian Ospald 1f02c66e05
Remove unneeded else branch 2018-09-30 14:20:48 +08:00
Julian Ospald 8c775e14fd
More documentation 2018-09-30 14:20:32 +08:00
Julian Ospald 6dce415077
Simplify self_update 2018-09-30 14:00:58 +08:00
Julian Ospald bc6a15cc91
Verify all function input arguments 2018-09-30 13:52:40 +08:00
Julian Ospald 49a20bc932
Add more code documentation 2018-09-30 13:52:01 +08:00
Julian Ospald cb601e6df5
Make ghc download baseurl a global var 2018-09-30 13:34:54 +08:00
Julian Ospald 857ccefff4
Make script update url a global var 2018-09-30 13:33:04 +08:00
Julian Ospald ce9e72795b
Abstract over downloading 2018-09-30 13:31:43 +08:00
Julian Ospald f3275360f4
Cleanup unset 2018-09-30 13:21:09 +08:00
Julian Ospald 8e1a5a0172
Improve error message 2018-09-30 04:06:53 +08:00