Commit Graph

421 Commits

Author SHA1 Message Date
Julian Ospald 8c098d4e17
Add solus in getLinuxDistro 2021-08-26 20:09:48 +02:00
Julian Ospald 14fc6b7281
Remove string-interpolate wrt #212 2021-08-25 18:54:58 +02:00
Julian Ospald 9d6e469f79
Add solus support 2021-08-25 13:51:34 +02:00
Julian Ospald f8cfcd4038
Get rid of tar 2021-08-25 11:48:30 +02:00
Arjun Kathuria df758d828b swap checkFileAlreadyExists with throwIfFileAlreadyExists 2021-08-24 20:39:07 +05:30
Julian Ospald bfc50e269c
Show a warning if xattr can't be executed 2021-08-24 15:34:35 +02:00
Julian Ospald 8247c0b00b
Add more doctests 2021-08-24 10:51:39 +02:00
Julian Ospald 951e676bee
Fix header reading wrt #213 2021-08-23 23:16:32 +02:00
Julian Ospald 281f310394
Add some unit tests 2021-08-23 23:16:14 +02:00
Arjun Kathuria 8c486e8d46 Make GHCup isolate installs non-overwriting by default 2021-08-23 20:18:45 +05:30
Julian Ospald e9fdc073c6
Fix --flavor 2021-08-11 16:19:52 +02:00
Julian Ospald 57c791106b
Fixup rest of the PR 2021-08-11 16:19:31 +02:00
Julian Ospald fcba151fad
Merge remote-tracking branch 'origin/merge-requests/134' 2021-08-11 14:20:04 +02:00
Julian Ospald 3b24f503d1
Fixup rest of the PR 2021-08-11 13:54:02 +02:00
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 ce6fb0bb1e Adds new Error type `FileAlreadyExistsError` 2021-08-11 10:28:30 +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
Arjun Kathuria bb430fa0b7 Adds the sanity check function for isolated installs 2021-08-10 20:12:14 +05:30
Arjun Kathuria 80fa7965a4 Adds new Error type `IsolatedDirNotEmpty` 2021-08-10 20:11:32 +05:30
Arjun Kathuria d1735bc446 adds toolchainSanityChecks for isolated installs too in `installGHCBindist` function. 2021-08-10 19:53:41 +05:30
Julian Ospald dbf1d6f420
Fix unneeded dist files being installed along with GHC 2021-08-10 15:58:40 +02:00
Julian Ospald 0a0fbd0cb6
Merge branch 'fix-metadata-download' 2021-08-07 19:26:26 +02:00
Julian Ospald 6dfc04a9f6
Fix metadata file read in --offline mode 2021-08-07 18:31:41 +02:00
Julian Ospald 72133d0002
Rather skip copying to cache dir if scheme is file:// 2021-08-07 10:24:08 +02:00
Julian Ospald 6e07e9e56b
Skip copying metadata if source and destination match 2021-08-07 09:55:45 +02:00
Julian Ospald e903aeb555
Skip cached metadata when url starts with file:// 2021-08-07 09:54:26 +02:00
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 e1bec789b0 updates Bindist functions as per https://gitlab.haskell.org/haskell/ghcup-hs/-/merge_requests/127#note_366702 2021-08-03 18:08:54 +05:30
Arjun Kathuria 5683493cae rename some auxiliary functions to their "unpacked" versions 2021-08-03 18:08:54 +05:30
Arjun Kathuria ae5e213b59 deletes `installStackBinIsolated` function 2021-08-03 18:08:54 +05:30
Arjun Kathuria 911089f334 updates usages of new `installStackBin` across files 2021-08-03 18:08:54 +05:30
Arjun Kathuria 6b89646c1e update `installStackBindist` to take a "Maybe FilePath" argument for isolated installs 2021-08-03 18:08:54 +05:30
Arjun Kathuria 960d5ce79f deletes `installHLSBinIsolated` function 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 7471f4f4dc update `installHLSBindist` to take a "Maybe FilePath" argument for isolated installs 2021-08-03 18:08:54 +05:30
Arjun Kathuria 781cf8eed5 Delete installCabalBinIsolated function. 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 1f760af880 update `installCabalBindist` to take a "Maybe FilePath" argument for isolated installs 2021-08-03 18:08:54 +05:30
Arjun Kathuria 62d03b776b remove installGHCBinIsolated function. 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 083dc59a8f update `installGhcBindist` to take a "Maybe FilePath" to work with isolated installs 2021-08-03 18:08:54 +05:30
Arjun Kathuria a45d069cad Adds a log to notify where the isolated ghc is being installed by the tool 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 f3c1c925ed updates installStack' usage in `installStackBindist` function 2021-08-03 18:08:54 +05:30
Arjun Kathuria 8f6a7ba39c factor out installStack' function 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 0d118e2fe1 update installHLS' usage in `installHLSBindist` 2021-08-03 18:08:54 +05:30
Arjun Kathuria c0f46ef81f Factor out installHLS' 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 9a511669a8 use the new factored out installCabal' in `installCabalBindist` function 2021-08-03 18:08:54 +05:30
Arjun Kathuria a16a25a3cd factor out installCabal' from `installCabalBindist`, to be shared with `installCabalBinIsolated` function 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
vglfr 1cfff674b7
Implement config CLI MVP 2021-08-03 09:09:47 +03:00
Julian Ospald 53ca60596d
Fix nuclear order 2021-07-29 11:51:47 +02:00
Julian Ospald 21d30cd8ce
Fix GHCup showing up twice in list 2021-07-28 22:48:28 +02:00
Julian Ospald b38a569124
Bump to 0.1.16.1 2021-07-28 22:36:59 +02:00
Julian Ospald 442ddfd4e4
Bump ghcup metadata, because new GHC versions may have different bin/ layout 2021-07-28 20:08:20 +02:00
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