Commit Graph

311 Commits

Author SHA1 Message Date
Julian Ospald 5a34191b88
Fix listTools to always show currently installed GHCup 2021-07-27 22:33:35 +02:00
Julian Ospald d3e3ebd63f
Merge branch 'fix-ghcToolFiles' 2021-07-26 21:25:00 +02:00
Julian Ospald 5837e04e6e
Cleanup 2021-07-26 18:13:57 +02:00
Julian Ospald 2774f026e8
Merge branch 'issue-150' 2021-07-26 17:44:37 +02:00
Julian Ospald fdf45e0fe6
Do etags hashing wrt #193 2021-07-25 23:15:59 +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 a6108f8319
Fix listVersion wrt #183 2021-07-20 11:54:14 +02:00
Julian Ospald 4ed72fb517
Preserve mtimes on unpacked GHC tarballs on windows wrt #187 2021-07-19 23:33:01 +02:00
Julian Ospald 3caf91c640
Fix ensureGlobalTools 2021-07-19 19:08:43 +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 42134fd2a5
Fix whereIsTool for cross 2021-07-15 22:38:42 +02:00
Julian Ospald bc85a7d9c3
Fix cross installation
See https://gitlab.haskell.org/ghc/ghc/-/issues/14297
2021-07-15 20:32:09 +02:00
Julian Ospald f04708e8ae
Speed up 'whereis' subcommand wrt #179 2021-07-15 20:01:00 +02:00
Julian Ospald ec98826e6d
Fix installStackBindist 2021-07-12 22:15:45 +02:00
Julian Ospald 227f3acaa5
Implement 'whereis' subcommand, fixes #173 2021-07-12 17:09:18 +02:00
Julian Ospald 5cf297a4d2
Clarify stack postinstall message wrt #153 2021-07-11 15:09:16 +02:00
Julian Ospald d86f84eef4
Improve logging with newlines 2021-07-11 14:34:05 +02:00
Julian Ospald 928f4a97de
Fix ghcToolFiles for upcoming GHC build system changes
Also see: https://gitlab.haskell.org/ghc/ghc/-/issues/20074#note_363720
2021-07-10 21:43:37 +02:00
Julian Ospald abbe51614d
Improve uninstallation on windows wrt #150 2021-07-07 23:19:50 +02:00
Julian Ospald 0ad5dc4583
Fix CI 2021-07-03 16:51:58 +02:00
Julian Ospald 7189998f3b
Cleanup rmGhcupDirs a bit 2021-07-03 11:25:49 +02:00
Julian Ospald 8e820c6e89
Clean up and fix nuke command 2021-07-03 11:15:37 +02:00
Arjun Kathuria 61019ecd49 Adds reporting remaining leftover files sorted by Depth. 2021-06-29 14:31:13 +05:30
Arjun Kathuria bed06d1334 make reported leftover file paths absolute 2021-06-29 08:56:57 +05:30
Arjun Kathuria a3b11f21bb change logWarn to logDebug in "rmghcup / handlePathNotPresent" function 2021-06-28 19:35:48 +05:30
Arjun Kathuria 1dfe5cfecf updates path equating (which may fail) in "rmGhcup" function. 2021-06-28 13:56:20 +05:30
Arjun Kathuria 8e4550657e couple of windows indentation fixes in source files 2021-06-27 00:25:55 +05:30
Arjun Kathuria aee7fa52c3 warn user if current running ghcup exec is in non-standard location 2021-06-26 23:58:38 +05:30
Arjun Kathuria d166cc84a1 change type of rmGhcup fn from "Excepts '[NotInstalled] m ()" to m () 2021-06-26 23:26:31 +05:30
Arjun Kathuria bb7229d224 Adds descriptive comments in rmGhcupDir explaing silent deletions and
leftover reporting.
2021-06-26 22:09:32 +05:30
Arjun Kathuria 708cd5ead9 Fix a minor typo in some conditional windows code. 2021-06-26 21:59:15 +05:30
Arjun Kathuria 395aeb415d change return type of rmGhcupDirs to m [Filepath] from m () 2021-06-26 21:56:07 +05:30
Arjun Kathuria 830fb70492 adds returning left-over files back to Main.hs from rmGhcupDirs 2021-06-26 21:54:42 +05:30
Arjun Kathuria 6379a26afb factor out `getDirectoryContentsRecursive` function in GHCup.Utils.Prelude 2021-06-26 21:53:14 +05:30
Arjun Kathuria 2277013c76 hide unsupportedOperation error in windows ghcup bin removal in case
of different drives.
2021-06-26 20:05:21 +05:30
Arjun Kathuria 8934e0e6bd Merge branch 'feat-nuke' of gitlab.haskell.org:arjun/ghcup-hs into feat-nuke 2021-06-26 20:00:37 +05:30
Arjun Kathuria 59519febbc handle symlink case when deleting directories in rmGhcupDirs 2021-06-26 19:52:32 +05:30
Arjun Kathuria 46fcdd356c Use rmFile instead of removeFile. 2021-06-26 19:32:53 +05:30
Arjun Kathuria 931904f388 fix minor typo in conditional windows code 2021-06-25 17:00:39 +05:30
Arjun Kathuria a40d0cbb5c swap out system.Directory.rename for Win32.File.moveFileEx for windows 2021-06-25 16:09:26 +05:30
Arjun Kathuria 9f5df9db10 Adds conditional windows ghcup bin removal code. Todo: test it, add
more exception handling if required.
2021-06-25 15:06:02 +05:30
Arjun Kathuria d26ddf7015 adds rudimentary ghcup bin removal code. TODO: handle windows. 2021-06-25 13:54:38 +05:30
Arjun Kathuria 9515065407 adds conditional export of useXDG in non-windows OS-es. fix in rmGhcupDirs code that used useXDG 2021-06-24 22:48:38 +05:30
Arjun Kathuria 82a8c61cf6 adds bin dir removal code, checking for XDG 2021-06-24 10:54:38 +05:30
Arjun Kathuria 3fae516ce4 Adds using 'rmFile' fn in rmGhcupDirs, it has better windows handling logic 2021-06-24 10:08:21 +05:30
Arjun Kathuria 33eaa765d7 adds better error handling when removing files and dirs in rmGhcupDirs function 2021-06-23 23:23:54 +05:30
Arjun Kathuria 3b3dde8413 updates deleting dirs in rmGhcupDirs according to feedback on merge request 2021-06-23 10:36:17 +05:30
Arjun Kathuria 118a2744fe adds new getGhcupConfFilePath fn to GHCup.hs, also refactors to use for error handling in missing file cases 2021-06-23 10:10:28 +05:30
Arjun Kathuria 2e3dceecf8 abstracts out getting ghcup conf file path 2021-06-23 10:08:06 +05:30
Arjun Kathuria 8a1dbe9dbb basic implementation of rmGhcupDirs function that removes relevant dirs in NUKE command 2021-06-22 23:14:25 +05:30
Arjun Kathuria 4ef3622616 Adds argument de-structuring to 'rmTool' function & remove the one in its body 2021-06-22 20:09:35 +05:30
Arjun Kathuria 0b959c56fb change rmTool type to ` Excepts '[NotInstalled ] m () ` 2021-06-22 18:44:30 +05:30
Arjun Kathuria ec29332657 Adds basic implementation of rmTool function 2021-06-22 14:29:26 +05:30
Julian Ospald 41783ff027
Fix ghcup upgrade if binary is in non-standard location 2021-06-13 15:08:31 +02:00
Julian Ospald b56c44a210
Ensure directories 2021-06-13 13:41:06 +02:00
Julian Ospald ef0c94fddd
Fix windows upgrade for good 2021-06-13 10:15:34 +02:00
Julian Ospald b40cefee35
Fix 'ghcup upgrade' on windows 2021-06-13 07:51:54 +02:00
Julian Ospald 581108ab65
Fix compliation from git 2021-06-12 22:27:56 +02:00
Julian Ospald 54e8e3efb0
Gracefully handle stack binary not installed by ghcup 2021-06-12 22:27:31 +02:00
Julian Ospald 4dcc63606e
Remove legacy handling of cabal binary 2021-06-12 22:26:50 +02:00
Julian Ospald ac21c19b7e
Remove unnecessary micro version stripping
Since we can specify version bounds now, this is unnecessary.
2021-06-11 11:26:44 +02:00
Julian Ospald 27510b3b51
Allow setting GHCUP_INSTALL_BASE_PREFIX on windows 2021-06-08 18:08:06 +02:00
Julian Ospald aa992c0e5d
PrettyShow 2021-06-07 20:09:18 +02:00
Julian Ospald 443522d526
Improve windows bootstrapping and make msys2 configurable 2021-06-07 19:33:12 +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 a905c6322c
Fix spelling 2021-04-29 14:47:22 +02:00
Julian Ospald 49ccadd470
Warn when overwriting current GHC due to compile 2021-04-29 14:46:45 +02:00
Julian Ospald 9f0ac0ee19
Allow to compile from git repo 2021-04-28 21:17:57 +02:00
Julian Ospald 1e9ee260e7
Raise minSpace to 5GB 2021-04-25 21:32:58 +02:00
Julian Ospald 0b7d447aaf
Satisfy hlint 2021-04-25 18:00:32 +02:00
Julian Ospald 16a9336d31
Fix missing pretty instance 2021-04-25 17:59:15 +02:00
Julian Ospald 7d13836fea
Warn when /tmp doesn't have 2500 or more of disk space 2021-04-25 17:25:40 +02:00
Julian Ospald b645c4d57e
Add date to GHC bindist names created by ghcup 2021-04-24 21:51:43 +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 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 47d9766c78
Make sure forFold can properly inline 2021-02-25 15:40:52 +01:00
Julian Ospald 45ab69960f
Merge remote-tracking branch 'origin/merge-requests/70' 2021-02-25 15:36:37 +01:00
Julian Ospald d3505d4ee6
Bump version to 0.1.13 2021-02-25 15:33:52 +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 a9b0c0fbc9
Allow for dynamic post-install, post-remove and pre-compile msgs 2021-02-23 11:52:38 +01:00
Julian Ospald 20338f7d14
Alert user if upgraded ghcup is shadowed by old ghcup
Also alerts if the binary is not in PATH at all.

Fixes #111
2021-02-21 19:58:32 +01:00
Julian Ospald d82e189c01
Fix failed ghcup upgrade if destination dir doesn't exist
Fixes #109
2021-02-16 14:37:17 +01:00
amesgen 53db68e39f
minor tarball filter format change 2021-01-02 07:58:08 +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