Commit Graph

260 Commits

Author SHA1 Message Date
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 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 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 4dcc63606e
Remove legacy handling of cabal binary 2021-06-12 22:26:50 +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 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 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 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 8c87c9aeb7
Fix error messages and overhaul pretty printing
Fixes #115
2021-03-02 10:35:31 +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 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
Julian Ospald b0f90c096f
Fix chmod on executables, wrt #97 2020-12-20 01:27:27 +08:00
Julian Ospald 1d3e88bdfe
Fix disappearing HLS symlinks wrt #91
When installing a new GHC version, the corresponding
HLS symlink of that version may be accidentially removed.

Ooops.
2020-11-20 23:05:37 +01:00
Julian Ospald 08ddb591b7
Add toolchain sanity checks wrt #82 2020-10-30 21:07:49 +01:00
Julian Ospald e250d6013f
Redo Settings as AppState 2020-10-24 01:07:31 +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 bb7c4205db
Allow to install haskell-language-server wrt #65 2020-09-20 23:09:09 +02:00
Julian Ospald a269131e2d
Allow to compile over existing version, fixes #59 2020-09-17 21:21:16 +02:00
Julian Ospald 59ece98fdc
Fix bug in compileGHC cleanup logic 2020-09-17 21:20:38 +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 873c951d6e
Refactor chmod +x 2020-08-14 22:27:05 +02:00
Julian Ospald d9c864d3c5
Make sure cabal is executable wrt #46 2020-08-14 22:07:39 +02:00
Julian Ospald e24c9a3ffe
Show stray cabals, fixes #45 2020-08-14 16:53:32 +02:00
Julian Ospald 202f3ea3ba
Fix bug where setting non-installed GHC unsets current one 2020-08-13 20:40:09 +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 b9d7d7d007
Fix licences in module haddock 2020-08-10 21:51:29 +02:00
Julian Ospald aac8f760ad
Add xdg support wrt #39 2020-08-10 21:51:19 +02:00
Julian Ospald fb1875ee5b
Doc fixes 2020-07-22 02:34:17 +02:00
Julian Ospald 826900cc41
Improve documentation 2020-07-22 01:08:58 +02:00
Julian Ospald b5440fc7d2
Fix bug in installCabalBin 2020-07-21 23:10:47 +02:00
Julian Ospald ccb95bcbee
f custom 2020-07-21 22:42:39 +02:00
Julian Ospald dad926f3ba
Allow to specify custom bindist, fixes #14 2020-07-21 20:19:33 +02:00
Julian Ospald 6cb6c7a448
Install alpine bindists with --disable-ld-override 2020-07-20 20:48:22 +02:00
Julian Ospald 0f69c73e0e
Rework printing/tee
This should be faster to draw, use less syscalls
and generally use EOF and pipes correctly.
2020-07-16 00:10:27 +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 8ef19f0825
Allow to build with ghc-8.10.1 and 8.6.5 2020-07-11 22:53:38 +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 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 1d623723a2
Fix bug with missing ~/.ghcup/ghc/ dir 2020-04-26 22:06:00 +02:00
Julian Ospald 27e2e7f848
Fix building of documentation 2020-04-26 11:55:47 +02:00
Julian Ospald bcaccaaf31
Implement --keep 2020-04-22 19:32:14 +02:00
Julian Ospald e637f90fae
List stray tools 2020-04-21 23:37:48 +02:00
Julian Ospald 75632b2cf1
Fix ghc being unlinked after installing a new one
Fixes #7
2020-04-16 08:39:36 +02:00
Julian Ospald 997dcadf89
Show the version when doing 'ghcup set' 2020-04-15 17:06:48 +02:00
Julian Ospald 404038edcb
Fix boolean check in upgradeGHCup :) 2020-04-15 15:37:29 +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 b18aafe2c4
Fix bug with removing set GHC version 2020-04-15 13:55:28 +02:00
Julian Ospald de66b92631
Fix upgradeGHCup 2020-04-12 20:22:16 +02:00
Julian Ospald d2efb504b9
Fix upgradeGHCup
File needs to be unlinked first, because it might
potentially be in use.
2020-04-12 18:54:03 +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 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 e58e1c1954 Force LD=ld.bfd for ghc compilation 2020-03-18 17:31:17 +01:00
Julian Ospald c0c70f5c9b Abstract over make
So on FreeBSD we get gmake.
2020-03-17 22:43:45 +01:00
Julian Ospald 35b6359c1b Improve error handling 2020-03-17 18:40:25 +01:00
Julian Ospald 8a1bd45ffe Remove URLSource from Settings 2020-03-17 18:39:01 +01:00
Julian Ospald 775c541895 Minor refactor 2020-03-16 10:49:34 +01:00
Julian Ospald 951a7173ae Remove unnecessary type annotations 2020-03-16 10:47:09 +01:00
Julian Ospald a93aaf9a5f Initial commit 2020-03-09 00:44:11 +01:00