Commit Graph

392 Commits

Author SHA1 Message Date
Julian Ospald bd18fd9aa1
Merge remote-tracking branch 'origin/merge-requests/127' 2021-08-11 12:28:48 +02:00
Arjun Kathuria c2c5625685 implements checking if file already exists for Cabal installs 2021-08-11 10:33:08 +05:30
Arjun Kathuria dcfb3afdad Revert "implements isolated install sanity-checking for Cabal installs"
This reverts commit 300cfd3ba6.
2021-08-11 09:46:42 +05:30
Arjun Kathuria 300cfd3ba6 implements isolated install sanity-checking for Cabal installs 2021-08-10 20:14:46 +05:30
Julian Ospald 2792f6f4b6
Fix error handling when we can't find a filename 2021-08-06 19:45:59 +02:00
Arjun Kathuria 2c6d0382cf adds isolate install feature to compiled ghc command 2021-08-04 16:08:12 +05:30
Arjun Kathuria 911089f334 updates usages of new `installStackBin` across files 2021-08-03 18:08:54 +05:30
Arjun Kathuria 90ed0895d6 updates usages of `installHLSBin` across files 2021-08-03 18:08:54 +05:30
Arjun Kathuria 236da31af6 updates usages of new `installCabalBindist` across files. 2021-08-03 18:08:54 +05:30
Arjun Kathuria 37ea18a0d8 updates usages of new installGHCBindist and related installGHCBin 2021-08-03 18:08:54 +05:30
Arjun Kathuria fdbcd4fafd Adds isolated installs to Stack install 2021-08-03 18:08:54 +05:30
Arjun Kathuria f212eb4570 Adds isolated install to HLS installs 2021-08-03 18:08:54 +05:30
Arjun Kathuria 476513b0a7 Adds isolate install functionality to 'Cabal' tool installs 2021-08-03 18:08:54 +05:30
Arjun Kathuria 8666fcd120 adds rudimentary isolate capability to ghcup install ghc command 2021-08-03 18:08:54 +05:30
Arjun Kathuria 521ab0aedb adds basic --isolate option structure for install commands 2021-08-03 18:08:54 +05:30
vglfr 1cfff674b7
Implement config CLI MVP 2021-08-03 09:09:47 +03:00
Julian Ospald 5a34191b88
Fix listTools to always show currently installed GHCup 2021-07-27 22:33:35 +02:00
Julian Ospald 0c666a6bbe
Fix upgrade subcommand running appstate twice 2021-07-27 20:57:51 +02:00
Julian Ospald 95ca79f3f8
Turn leftover files into logError 2021-07-26 18:13:41 +02:00
Julian Ospald 706fe1ffcc
Don't do update checks for all commands 2021-07-26 18:13:20 +02:00
Julian Ospald fdf45e0fe6
Do etags hashing wrt #193 2021-07-25 23:15:59 +02:00
Julian Ospald 9639e695e2
Unhide stack 2021-07-23 16:13:07 +02:00
Julian Ospald 48d3b3bc3e
Merge branch 'cursor' of https://github.com/mlang/ghcup-hs into mlang-cursor 2021-07-23 14:38:49 +02:00
Mario Lang 761b8cc750 Place an (invisible) cursor at the beginning of the active list item
This change is to support screen readers which use the cursor location
to indicate the focus to the user.

Brick.putCursor is unreleased, so grab the latest version from git via extra-deps.
2021-07-23 11:53:28 +02:00
Julian Ospald 3bdc82c99b
Redo file handling wrt #165 and #187 2021-07-22 17:44:03 +02:00
Julian Ospald 1c2cf98850
Fix file/dir removal on windows, fixes #165 2021-07-21 20:50:58 +02:00
Julian Ospald a4a7f73fb7
Allow to use Hadrian as build system, fixes #35 2021-07-20 23:51:31 +02:00
Julian Ospald 9e181b8820
Allow passing "flavor" to 'ghcup compile ghc'
Fixes #183
2021-07-20 13:39:39 +02:00
Julian Ospald 7a2570019a
Return the version during 'ghcup compile ghc -g <commit>'
Fixes #181
2021-07-20 11:42:36 +02:00
Julian Ospald bc13a4555d
Fix runLeanWhereIs on windows 2021-07-19 16:56:28 +02:00
Julian Ospald eaad2caf25
Add prefetch command 2021-07-19 16:51:40 +02:00
Julian Ospald 6143cdf2e0
Add --offline switch wrt #186 2021-07-19 13:49:24 +02:00
Julian Ospald 2c7176d998
Use LabelOptic and add LeanAppState
Wrt #186
2021-07-18 14:39:49 +02:00
Julian Ospald 7e14fd4a08
Only run unsafeInterleaveIO when necessary 2021-07-15 20:30:14 +02:00
Julian Ospald f04708e8ae
Speed up 'whereis' subcommand wrt #179 2021-07-15 20:01:00 +02:00
Julian Ospald 227f3acaa5
Implement 'whereis' subcommand, fixes #173 2021-07-12 17:09:18 +02:00
Julian Ospald 8e820c6e89
Clean up and fix nuke command 2021-07-03 11:15:37 +02:00
Arjun Kathuria f09f4bd1b7 Update the running of "Nuke" command in Main.hs 2021-06-29 08:47:44 +05:30
Arjun Kathuria 69a461d9c3 Fix a couple of typos in Main.hs 2021-06-28 19:32:09 +05:30
Arjun Kathuria f7986cb4da integrate new rmGhcupDirs fn into Main.hs 2021-06-26 21:56:52 +05:30
Arjun Kathuria 07fb04bb74 Adds the new rmGhcupDirs function in Main.hs under Nuke command 2021-06-22 23:15:13 +05:30
Arjun Kathuria 82a704ab44 Adds 10s Thread-Delay and relevant Logger messages to Main.hs 2021-06-22 18:53:18 +05:30
Arjun Kathuria 0cb22945fe Adds some logger messages. 2021-06-22 18:52:24 +05:30
Arjun Kathuria d09adf9159 Updates Main.hs to work with new rmTool. 2021-06-22 18:51:03 +05:30
Arjun Kathuria ec29332657 Adds basic implementation of rmTool function 2021-06-22 14:29:26 +05:30
Arjun Kathuria 0f6381e67b Move Nuke Command a little down in the file 2021-06-18 15:09:01 +05:30
Arjun Kathuria 877b55e21d Adds basic "nuke" command structure so that it reflects in ghcup cli 2021-06-18 15:01:32 +05:30
Julian Ospald 08b0ecd057
Allow to skip update checks 2021-06-13 15:05:39 +02:00
Julian Ospald b56c44a210
Ensure directories 2021-06-13 13:41:06 +02:00
Julian Ospald f14c281841
Fix for real 2021-06-13 08:36:20 +02:00
Julian Ospald 810870e3a5
Fix Validate 2021-06-07 20:04:55 +02:00
Julian Ospald 97029e8102
Merge remote-tracking branch 'origin/merge-requests/92' 2021-06-06 12:10:35 +02:00
Fendor 828fd9eb10 Mention HLS in Help Message 2021-06-06 11:59:51 +02:00
Julian Ospald 7b050e9fe2
Fix ghcup-gen validation for global tools 2021-06-06 11:57:37 +02:00
Julian Ospald 9f92e0bc86
Fix #136 2021-06-05 22:26:35 +02:00
Julian Ospald 2f62067d96
Windows support 2021-06-05 21:01:01 +02:00
Julian Ospald 734916728c
Add stack support 2021-05-15 14:01:00 +02:00
Julian Ospald 5a86a28d67
Smarter logging 2021-04-29 14:47:30 +02:00
Julian Ospald 9f0ac0ee19
Allow to compile from git repo 2021-04-28 21:17:57 +02:00
Julian Ospald 5db43cd908
Improve error printing in ghcup-gen 2021-04-24 21:51:06 +02:00
Julian Ospald 0c6699c3c6
Allow to check ghcup binaries in validate-tarballs 2021-04-11 22:15:43 +02:00
Julian Ospald adf44ba141
Validate subdirs too, fixes #52 2021-04-02 16:54:27 +02:00
Julian Ospald 7383fdd0c0
Make parser more lax, fixes #119
Also make sure we don't print the warning message
20 times, so avoid some repeated IO.
2021-04-01 17:21:00 +02:00
Julian Ospald d5b5f1fddd
Chores 2021-03-24 17:56:57 +01:00
Julian Ospald f6cc467e95
Fix handling of stray versions wrt #116 2021-03-07 12:02:13 +01:00
Julian Ospald 8c87c9aeb7
Fix error messages and overhaul pretty printing
Fixes #115
2021-03-02 10:35:31 +01:00
Julian Ospald 08943dadca
Fix validation 2021-02-26 16:06:08 +01:00
Julian Ospald f46e7e8c4b
Add "ghcup set ghc next" tag wrt #114 2021-02-25 19:10:55 +01:00
Julian Ospald 3baf254251
Improve tag completer 2021-02-25 16:13:00 +01:00
Julian Ospald 10ca9ea827
Reformat versionCompleter 2021-02-25 15:52:28 +01:00
Julian Ospald 4a50c8ecb7
Remove network call on shell completion 2021-02-25 15:46:08 +01:00
Julian Ospald 45ab69960f
Merge remote-tracking branch 'origin/merge-requests/70' 2021-02-25 15:36:37 +01:00
Julian Ospald f547a6eb68
Support ARM/AARCH 2021-02-25 11:53:36 +01:00
Huw campbell 453a29fdf7 Respect the user's configuration settings
Only lookup user configuration before doing a search; implement version completion for Cabal and HLS removal
2021-02-25 16:31:40 +11:00
Huw campbell 1a5f0259f4 Just use the cache for commands which refer to locally stored objects.
Setting a version of GHC will fail if provided with a version not installed,
and we don't neede to check the most recent list of GHCs available to know
that.
2021-02-25 10:19:16 +11:00
Huw campbell d6fa61e223 Add command line completions for installed and available versions.
When running `ghcup set ghc` and pressing tab, one should be able to
autocomplete the currently installed GHCs we have available.

Add an optparse applicative completer for install, rm, and set commands
which shows tags and versions. For installation, all are shown; while
for remove and set, only those installed are.
2021-02-25 00:42:16 +11:00
Julian Ospald c455b521a9
Fix ghcup-tui 2021-02-24 12:42:36 +01:00
Julian Ospald dee3218723
Fix item selection with unavailable versions
Fixes #107
2021-02-23 17:10:48 +01:00
Julian Ospald a9b0c0fbc9
Allow for dynamic post-install, post-remove and pre-compile msgs 2021-02-23 11:52:38 +01:00
Julian Ospald f964382175
Tighten checks, alpine 32bit bindists is 1st class 2021-02-21 15:37:05 +01:00
Enrico Maria De Angelis 14661502ab #103: Rewording of warning message 2021-01-11 07:12:19 +00:00
amesgen 5c43ff4c9e
error if we check nothing 2021-01-02 08:51:57 +01:00
amesgen 53db68e39f
minor tarball filter format change 2021-01-02 07:58:08 +01:00
amesgen 62d5d53232
filter tool and version instead of URL 2021-01-02 05:53:11 +01:00
amesgen 56569a0698
use regex instead of substring 2021-01-02 05:05:05 +01:00
amesgen 8944ed6e36
allow to filter tarball validation by a URL substring
also, use nubOrd for linearithmic instead of quadratic complexity
2021-01-01 05:45:58 +01:00
Paolo Martini ead9d31647
Apply NO_COLOR to dimAttributes as well to cover all tui colors 2020-11-26 20:22:32 +01:00
Paolo Martini a08e624309
Respect NO_COLOR environment variable in list and tui 2020-11-25 11:41:53 +01:00
Julian Ospald 82aa6c70ea
Allow to encode version ranges for distro versions
Fixes #84
2020-11-21 01:12:15 +01:00
Julian Ospald e829bd8235
Fix brick not updating downloads correctly 2020-11-21 00:32:58 +01:00
Julian Ospald 53f5a08924
Allow configuring URLSource as well 2020-10-25 14:47:26 +01:00
Julian Ospald d368863c3d
Improve help output 2020-10-25 11:00:00 +01:00
Julian Ospald c76cce5830
Add a --set option to install/compile, fixes #81 2020-10-25 10:54:04 +01:00
Julian Ospald 4fef93b7b1
Allow to configure ghcup with a yaml config file
Fixes #41
2020-10-25 10:22:45 +01:00
Julian Ospald e250d6013f
Redo Settings as AppState 2020-10-24 01:07:31 +02:00
Julian Ospald 0ce4549eb8
Ditch the viewport logic 2020-10-11 23:37:27 +02:00
Julian Ospald 97d568ddd6
Show new versions in bright white 2020-10-11 21:44:11 +02:00
Julian Ospald ea58465240
Expand the selected bar 2020-10-11 21:16:48 +02:00
Julian Ospald 7afd262b1b
Put separators between tools 2020-10-11 21:07:21 +02:00
Julian Ospald 57c34a07f2
Allow to hide old versions of tools in TUI 2020-10-09 23:05:11 +02:00
Julian Ospald 73d1d97f1f
Reverse order of tool list in TUI 2020-10-09 20:25:52 +02:00
Julian Ospald 965d2a3ba8
Drop 'ghcup compile cabal'
Upstream has discontinued the old bootstrap shell script.
The new python shell script doesn't work like the old one
and is only useful for bootstrapping to a new architecture.

If you miss this feature, consider running:
  cabal install cabal-install

with the appropriate GHC version set (this might need some
experimenting).

This also fixes #64
2020-09-22 21:26:10 +02:00
Julian Ospald 40a1cc98c6
Drop use of table-layout, thanks to Simon 2020-09-22 21:05:59 +02:00
Julian Ospald 05cc55c52d
Improve brick UI 2020-09-21 10:40:06 +02:00
Julian Ospald bb7c4205db
Allow to install haskell-language-server wrt #65 2020-09-20 23:09:09 +02:00
Julian Ospald b2027f1625
Simplify installing GHC from custom bindist wrt #60 2020-09-19 11:52:12 +02:00
Julian Ospald a269131e2d
Allow to compile over existing version, fixes #59 2020-09-17 21:21:16 +02:00
Julian Ospald 93c17607b5
Fix haddock build, fixes #62 2020-09-15 17:44:30 +02:00
Julian Ospald 02b360e2a9
Create bindists when compiling GHC wrt #51 2020-09-12 23:47:12 +02:00
Julian Ospald 326bf510c9
Fix Error when ~/.ghcup is a valid symlink
Fixes #49
2020-08-31 13:03:12 +02:00
Julian Ospald d2c5d4dfd9
Test that we're not missing GHCup alpine 2020-08-11 20:23:15 +02:00
Julian Ospald 5c45884f5f
Allow to specify regex for subdir 2020-08-10 22:27:50 +02:00
Julian Ospald cafedd73a2
Use Settings to avoid querying dirs every time 2020-08-10 21:52:30 +02:00
Julian Ospald aac8f760ad
Add xdg support wrt #39 2020-08-10 21:51:19 +02:00
Julian Ospald 7d334c18f5
Don't stop TUI on subcommand failure 2020-08-10 21:51:19 +02:00
Julian Ospald d30d2ac8a5
Add cabal-install-3.4.0.0-rc1 2020-08-10 21:51:00 +02:00
Julian Ospald 391676e90a
Use yaml instead of pesky json 2020-08-09 21:56:11 +02:00
Julian Ospald dad926f3ba
Allow to specify custom bindist, fixes #14 2020-07-21 20:19:33 +02:00
Julian Ospald cfe24428fa
Only check for upgrades when not upgrading 2020-07-19 00:47:20 +02:00
Julian Ospald e348de8dc4
Drop unused error variants 2020-07-14 19:16:01 +02:00
Julian Ospald 63c70ee74b
Fix changelog subcommand on darwin 2020-07-13 23:10:17 +02:00
Julian Ospald ef8e3bd940
Reduce number of os/dl lookups 2020-07-13 18:27:21 +02:00
Julian Ospald 1a64527e14
Improve verbosity 2020-07-13 16:27:01 +02:00
Julian Ospald 50424c2801
Allow to build with tar-bytestring on e.g. 32bit 2020-07-13 15:41:31 +02:00
Julian Ospald c3611eec6a
Grey out versions without bindists in tui 2020-07-11 18:53:11 +02:00
Ben Gamari 2be1aa2707
Simplify upgrade copying logic 2020-07-10 22:03:04 +02:00
Julian Ospald da94fa5f92
Create brick tui wrt #24 2020-07-10 21:55:12 +02:00
Julian Ospald bed2cca8d2
Use libarchive instead of tar-bytestring 2020-07-05 23:03:24 +02:00
Julian Ospald 3ddc719d8a
Fix quasi quotes in Main 2020-07-04 21:49:59 +02:00
Julian Ospald f9251589cd
Add some architectures 2020-06-27 19:00:13 +02:00
Julian Ospald 85054d9c76
Show note for versions that don't have a bindist 2020-05-15 21:53:45 +02:00
Julian Ospald 6c95218daf
Support multiple installed versions of cabal
Fixes #23
2020-05-13 21:33:45 +02:00
Julian Ospald f46700e1cc
First cross try 2020-04-29 20:19:01 +02:00
Julian Ospald 0ff7ebb1fd
Allow to set downloader 2020-04-29 19:12:58 +02:00
Julian Ospald 56c439d716
Fall back to cached ghcup-<..>.json 2020-04-27 23:23:34 +02:00
Julian Ospald e1b5a89cee
Add bash-completion 2020-04-22 21:45:33 +02:00
Julian Ospald 5edebd57d9
Move download info into library 2020-04-22 19:32:48 +02:00
Julian Ospald bcaccaaf31
Implement --keep 2020-04-22 19:32:14 +02:00
Julian Ospald 818a5d2d85
Document environment variables 2020-04-22 16:14:10 +02:00
Julian Ospald 13acce07d4
Allow to install X.Y versions 2020-04-22 16:13:58 +02:00
Julian Ospald 4ed5e21b7f
Validate that all GHC versions have a base tag 2020-04-22 16:13:23 +02:00
Julian Ospald 86aab6bb59
Improve output formatting 2020-04-22 16:12:56 +02:00
Julian Ospald 7f5cb64b18
Re-add --format-raw to list subcommand 2020-04-22 13:03:46 +02:00
Julian Ospald 6c12eb16eb
Add base tag 2020-04-22 11:59:40 +02:00
Julian Ospald e637f90fae
List stray tools 2020-04-21 23:37:48 +02:00
Julian Ospald 296bbdd561
Fix digest of ghc-8.8.3-i386-unknown-linux-musl.tar.xz 2020-04-19 22:05:18 +02:00
Julian Ospald 5d94d0bf75
Also check for GHC and Cabal updates on start 2020-04-18 20:20:18 +02:00
Julian Ospald e3c20d53a8
Add changelog command
This should be backwardscompatible with 0.0.1 json format.

Also slightly change 'getTagged' to list the latest version
with a tag, not the oldest.
2020-04-18 15:06:22 +02:00
Julian Ospald 7742fe08b5
Improve help messages 2020-04-17 22:58:15 +02:00
Julian Ospald a773da037c
On second thought... 2020-04-17 20:50:23 +02:00
Julian Ospald dfeb814dcc
Formatting 2020-04-17 18:57:58 +02:00
Julian Ospald 0623c7b1b1
Improve error reporting 2020-04-17 18:57:58 +02:00
Julian Ospald 62005f83a4
Improve debug info 2020-04-17 18:57:58 +02:00
Julian Ospald eaafd77a7e
Add --version and --numeric-version 2020-04-17 18:57:58 +02:00
Julian Ospald 6c1ae585b7
Indicate removal of tmpdir after failed build 2020-04-17 09:29:31 +02:00
Julian Ospald fd7807a66e
Add 0.1.4 downloads 2020-04-16 23:14:27 +02:00
Julian Ospald 997dcadf89
Show the version when doing 'ghcup set' 2020-04-15 17:06:48 +02:00
Julian Ospald b2312629ce
Update download info 2020-04-15 16:49:46 +02:00
Julian Ospald ea4f9ceab1
Update download info 2020-04-15 15:37:01 +02:00
Julian Ospald 1ccaf4ba91
Update ghcup downloads 2020-04-15 15:12:21 +02:00
Julian Ospald f4242b10e7
Don't update ghcup if already latest version
Fixes #2
2020-04-15 13:58:52 +02:00
Julian Ospald 340196bf9d
Update ghcup tarballs 2020-04-15 08:31:01 +02:00
Julian Ospald 68df6b8e50
Update ghcup URIs 2020-04-13 21:11:26 +02:00
Julian Ospald d888d11d59
Allow to control prettiness of JSON output 2020-04-13 15:25:50 +02:00
Julian Ospald 28a1077833
Add i386 ghcup binary 2020-04-13 15:25:43 +02:00
Julian Ospald c40b9dbc0b
Fix darwin 10.14 tarball, thanks to carter 2020-04-13 15:21:47 +02:00
Julian Ospald 2f34fc7bef
Update downloads 2020-04-12 21:32:07 +02:00
Julian Ospald fee3984bf7
Update Downloads 2020-04-12 20:12:36 +02:00
Julian Ospald df9dd0e785
Update download info and bootstrap script 2020-04-12 18:31:07 +02:00
Julian Ospald 89c9699158
Clean up help texts 2020-04-12 15:38:01 +02:00
Julian Ospald 124ddcdfeb
Mimic the old ghcup cli options
So we don't break scripts.
2020-04-12 15:38:01 +02:00
Julian Ospald 14e1077ad1
Add linux and freebsd ghcup executables to download info 2020-04-11 00:50:15 +02:00
Julian Ospald b5648bdd6b
Improve error in compileGHC 2020-04-10 22:44:43 +02:00
Julian Ospald 1455c2c175
Add darwin notarisation 2020-04-10 19:27:17 +02:00
Julian Ospald c706a047ea
Add tool-requirements subcommand 2020-04-10 18:45:33 +02:00
Julian Ospald 3496f24f6e
Silence compiler warnings 2020-04-09 20:08:25 +02:00
Julian Ospald 6a79782650
Allow to apply patches for compiling from source 2020-04-08 22:57:57 +02:00
Julian Ospald 8a0236a350
Allow to specify full path to bootstrap GHC 2020-04-08 22:17:39 +02:00
Julian Ospald 3e52def226
Update downloads and version 2020-04-05 11:02:13 +02:00
Julian Ospald 31a8316bfa Implement proper build log scrolling 2020-03-24 21:05:10 +01:00
Julian Ospald 0963081fd8 Use OverloadedStrings instead of TH 2020-03-21 22:19:37 +01:00
Julian Ospald e77ed1a26c Fix printing of list results on FreeBSD 2020-03-17 22:58:52 +01:00
Julian Ospald fee16758de Move platform faking option into install subcommand 2020-03-17 22:43:00 +01:00
Julian Ospald f8448cf02b Make sure directories exist 2020-03-17 19:16:21 +01:00
Julian Ospald 9c7d17800d Create ~/.ghcup dir on start 2020-03-17 18:39:51 +01:00
Julian Ospald ee570c024c Improve logging messages 2020-03-17 18:39:41 +01:00
Julian Ospald fcb7129251 Improve platform parser 2020-03-17 18:39:20 +01:00
Julian Ospald 8a1bd45ffe Remove URLSource from Settings 2020-03-17 18:39:01 +01:00
Julian Ospald f5a2db6719 [WIP] OS fake option 2020-03-17 02:00:28 +01:00
Julian Ospald 951a7173ae Remove unnecessary type annotations 2020-03-16 10:47:09 +01:00
Julian Ospald b7f49b1c94 Check for new ghcup version on start 2020-03-09 22:21:22 +01:00
Julian Ospald a93aaf9a5f Initial commit 2020-03-09 00:44:11 +01:00