Commit Graph

581 Commits

Author SHA1 Message Date
Julian Ospald 4be97ffd7c
Pad and use hyperlinks 2023-01-03 23:43:46 +08:00
Julian Ospald 009f9211a9
Integrate with errors.haskell.org
Fixes #434
2023-01-03 23:43:46 +08:00
Julian Ospald 109187eb6f
Merge branch 'issue-367-content-prop' 2023-01-03 23:17:35 +08:00
Julian Ospald e881705323
Merge branch 'issue-440' 2023-01-03 22:47:12 +08:00
Julian Ospald ea06c155a7
Merge branch 'issue-695' 2023-01-03 22:46:52 +08:00
Julian Ospald 9d4c923649
Add content-length property to downloads
This is optional for now. Fixes #367
2023-01-02 20:41:42 +08:00
Julian Ospald 24c36ef856
Fix failure with --isolate=dir --force
Fixes #695
2023-01-02 20:39:27 +08:00
Julian Ospald d5a680e3c6
Don't clean up tmp dirs when --keep=always 2023-01-02 20:38:26 +08:00
Julian Ospald 4d82c37539
Add --metadata-fetching-mode arg, fixes #440 2023-01-01 19:16:32 +08:00
Julian Ospald 6ad9963889
Allow building newer GHCs from git
The user will have to pass --overwrite-version=<ver> because
we can't discover the GHC version from git anymore.

https://gitlab.haskell.org/ghc/ghc/-/issues/22322
2022-12-20 23:18:44 +08:00
Julian Ospald 5cf49bffac
Improve warning for incompatible HLS/GHC combos 2022-12-19 00:40:07 +08:00
Julian Ospald 2abcb46199
Fix ARM etc 2022-12-11 22:11:58 +08:00
Julian Ospald 77419ea41d
Fix nuke bug on windows 2022-11-20 23:29:56 +08:00
Julian Ospald e924ad8278
Allow to statically overwrite distro detection, fixes #421 2022-11-12 14:12:13 +08:00
taylorfausak ab97c80b80 Fix build error 2022-08-23 11:59:08 +00:00
taylorfausak 04369673ef Fix spacing 2022-08-23 11:19:33 +00:00
taylorfausak 63dfdc2da6 Remove hard-coded reference to "cabal"
Fixes #407.
2022-08-22 19:35:38 +00:00
Julian Ospald 5f6b5f845d
Add --disable-ld-override for darwin bindists
Fixes #391
2022-07-25 17:57:10 +08:00
Julian Ospald 00fa70b9de
Merge remote-tracking branch 'origin/merge-requests/266' 2022-07-12 00:15:14 +02:00
Julian Ospald 823275363c
Merge branch 'ghcup-run-improvements' 2022-07-12 00:10:17 +02:00
Julian Ospald 35bda8d67a
Fix hlint warnings 2022-07-11 19:49:08 +02:00
Julian Ospald ce239ab88e
Fix error message 2022-07-11 19:44:10 +02:00
Julian Ospald b6ff5bc764
Use ghcup's internal dir for 'ghcup run' 2022-07-11 19:43:48 +02:00
Arjun Kathuria 2bd5a8fe1a Removes redundant `putPrompt` function from Prompts module. 2022-07-10 09:45:39 +05:30
Arjun Kathuria 0acccae523 Removes `GHCup.Types.Prompts` module and stuffs it into `GHCup.Types` 2022-07-10 09:44:23 +05:30
Julian Ospald 974112016e
Allow to run 'cabal update' automatically before the HLS build 2022-07-09 23:50:20 +02:00
Julian Ospald 9fb2889696
Allow to build from arbitrary GHC source dists 2022-07-09 23:12:00 +02:00
Julian Ospald 63f22b28d7
Allow to build HLS from hackage 2022-07-09 21:12:23 +02:00
Julian Ospald 13e01ab453
Fix hlint warnings 2022-07-07 15:05:51 +02:00
Julian Ospald 873dd77a6f
Fix build on windows 2022-07-07 15:05:51 +02:00
Julian Ospald 544c618473
Don't remove legacy dir if it doesn't exist 2022-07-07 14:03:49 +02:00
Julian Ospald a264cb088e
Improve 'ghcup compile hls'
1. short hashes now work
2. print the long hash in addition to the detected cabal version of HLS
3. add `--git-describe-version` switch as an alternative to
   `--overwrite-version`

Fix 1. and 2. for GHC as well.
2022-07-06 22:49:11 +02:00
Arjun Kathuria 9ceb66ef21 chore: fix a hlint warning 2022-06-28 22:10:02 +05:30
Arjun Kathuria b8dac2d7cd Updates the Prompt module to use logInfo instead of putStrLn,
makes the prompt look prettier
2022-06-28 19:45:17 +05:30
Julian Ospald d657c17df4
Merge branch 'issue-375' 2022-06-26 23:11:32 +02:00
Arjun Kathuria c7eceb2330 Adds GHCup.Prompt modules and its types to project 2022-06-25 13:44:25 +05:30
Julian Ospald 4022edb12e
Allow passing bindist configure args wrt #377 2022-06-09 14:42:01 +02:00
Julian Ospald bcff46d3d4
Fix mingw PATH handling wrt #371 2022-06-07 14:37:23 +02:00
Julian Ospald d1c72cdff4
Add --mingw-path switch to 'ghcup run' 2022-06-06 23:03:45 +02:00
Julian Ospald fe620835be
Fix 'ghcup run' on windows, fixes #375 2022-06-06 20:18:10 +02:00
Julian Ospald 0653844931
Fix build with ghc-9.0.2 2022-06-04 23:15:06 +02:00
Julian Ospald 16888a12d4
Cleanup 2022-05-28 16:44:08 +02:00
Julian Ospald 0e64d1f22f
Improve AlreadyInstalled 2022-05-23 23:49:43 +02:00
Julian Ospald c7774450bf
Refactor excepts 2022-05-23 23:37:09 +02:00
Julian Ospald 9375255452
Warn on all tools when shadowed 2022-05-23 16:50:23 +02:00
Julian Ospald 2845425099
Restructure modules 2022-05-22 21:11:40 +02:00
Julian Ospald c56b9ec3ce
Make windows mergeFileTree more robust 2022-05-21 20:51:13 +02:00
Julian Ospald 68c81577a4
Fix HLS install via compile 2022-05-21 15:03:20 +02:00
Julian Ospald b5fb8772fe
Fix windows 2022-05-21 11:34:57 +02:00
Julian Ospald 5741e069ad
Fix deletion on missing files 2022-05-20 23:29:31 +02:00
Julian Ospald df89ddcdf5
Use internal tmpdir 2022-05-20 23:19:33 +02:00
Julian Ospald c9e1261af2
Some fixes 2022-05-20 00:46:50 +02:00
Julian Ospald d5efc86d85
Preserve mtime when merging filetrees 2022-05-20 00:32:22 +02:00
Julian Ospald 430b655785
Improve error handling for mergeFileTree 2022-05-20 00:15:25 +02:00
Julian Ospald ca89112a8e
Fix for darwin M1 2022-05-17 01:55:56 +02:00
Julian Ospald b9aba98cd5
Fix recursive deletion in `ghcup nuke` 2022-05-16 17:38:05 +02:00
Julian Ospald 55fdc41137
WIP 2022-05-16 11:29:55 +02:00
Julian Ospald c9790e5823
Use strongly types `GHCupPath` and restrict destructive operations 2022-05-13 21:35:34 +02:00
Julian Ospald db4e411dfd
Fix darwin binaries after copying 2022-05-13 17:58:15 +02:00
Julian Ospald 48aee1e76c
[WIP] Prototype of recording installed files
This also installs makefile based build system via DESTDIR
into a temporary directory and then merges it into the filesystem.
2022-05-13 00:46:47 +02:00
Julian Ospald f7811961b5
Merge branch 'isolateDir' 2022-05-11 20:35:38 +02:00
Julian Ospald 5130cb013b
Fix HLS not cleaning up after failed install, fix #361 2022-05-11 16:18:35 +02:00
Julian Ospald 991e540c11
Refactor code around isolateDirs, so we have proper knowledge 2022-05-11 16:18:35 +02:00
Julian Ospald b036c9861f
Re-enable upgrade functionality for all configurations
Adds a --fail-if-shadowed switch.
2022-05-04 14:15:17 +02:00
Julian Ospald 99c8501d47
Silence hlint 2022-04-29 16:47:11 +02:00
Julian Ospald f8a1fed1f2
Fix parsing of symlinks with multiple slashes,
Fixes #353
2022-04-29 19:22:16 +08:00
Julian Ospald 2d88b1197e
Fix EXDEV handler on windows wrt #345 2022-04-15 23:01:33 +02:00
Julian Ospald cfe6c47cd7
Fix max path issues on windows with 'ghcup run' 2022-03-18 17:47:49 +01:00
Julian Ospald 8eeb32c495
Overhaul metadata merging and add 'ghcup config add-release-channel URI' 2022-03-18 17:47:49 +01:00
Julian Ospald f9a38e616d
Add --raw-format to 'tool-requirements' subcommand 2022-03-17 15:05:18 +01:00
Julian Ospald 8c205fd18c
Add `--no-set` to install commands, fixes #330
This also slightly changes the default for
'ghcup install cabal/stack/hls'... instead of
only setting the installed version if it's the latest,
we always set it. So the default is `--set`.

For GHC, the default is `--no-set`.
2022-03-13 22:48:45 +01:00
Julian Ospald 510675622b
Prepare 0.1.17.5 release 2022-02-26 15:33:44 +01:00
Julian Ospald 9faf17634b
Fix hlint and windows build 2022-02-10 21:49:19 +01:00
Julian Ospald c72841ca58
Implement 'ghcup run' 2022-02-09 18:57:59 +01:00
Julian Ospald 63350dab71
Fix recyclePathForcibly on windows 2022-02-06 22:56:22 +01:00
Julian Ospald d110d20879
Fix HLS removal on windows 2022-02-06 22:25:23 +01:00
Julian Ospald b4e58478c3
Fix error handling for HLS make 2022-02-06 22:24:52 +01:00
Julian Ospald 6073ebe476
Fix HLS support and compile errors with boot and TH files 2022-02-06 00:32:18 +01:00
Julian Ospald 684953464b
Silence hlint 2022-02-05 19:39:00 +01:00
Julian Ospald 6b978b42bc
Improve rmHLSNoGHC 2022-02-05 19:12:13 +01:00
Julian Ospald 6831337289
Refactoring and fixes 2022-02-05 19:11:56 +01:00
Julian Ospald e40777a5d3
Resolve paths when using XDG dirs, fixes #311 2022-02-05 16:48:20 +01:00
Julian Ospald 51690d1df3
Support HLS dynamic builds 2022-02-05 16:33:05 +01:00
Julian Ospald b16e561384
Allow unpacking legacy lzma archives, fixes #307 2022-01-28 22:48:23 +01:00
Julian Ospald 67b7b2f292
Don't print to stdout during logging 2022-01-19 15:40:58 +01:00
Julian Ospald 3a7ed5ee2d
Fix hlint warnings 2022-01-12 22:55:00 +01:00
James Hobson 3fd9fae66a
Changed to use IO Exceptions 2022-01-12 13:31:10 +01:00
James Hobson f8548fefb3
Added support for quilt series files when patching 2022-01-12 10:01:48 +01:00
Julian Ospald 3f0befe30d
Fix `ghcup whereis ghc` for non-standard versions, fixes #289 2021-11-22 22:53:59 +01:00
Julian Ospald 76c286f95e
Use upstream terminal-size 2021-11-22 22:51:58 +01:00
Julian Ospald a9630d0802
Cooler patching 2021-11-12 19:52:00 +01:00
Julian Ospald c5c6c431b5
Allow remote URIs for --cabal-project-local wrt #281 2021-11-12 19:05:13 +01:00
Julian Ospald 3a5f8d6139
Fix build on windows 2021-11-12 15:01:24 +01:00
Julian Ospald 274978a8a7
Allow to pass cabal args to 'compile hls'
This breaks the existing cli interface, but whatever.
2021-11-12 01:13:57 +01:00
Julian Ospald 8eea9bd6a5
Prefer forM_ when possible 2021-11-12 01:04:27 +01:00
Julian Ospald 626a2dd020
More debug logging 2021-11-12 01:01:21 +01:00
Julian Ospald d038c361c0
Revert "Fix HLS rebuilds"
This reverts commit 8e8198546f.
2021-11-11 21:40:02 +01:00
Julian Ospald c05876cc60
Fix build with ghc-8.6.5 2021-11-02 19:53:22 +01:00
Julian Ospald b9c4c9a0b7
Fix hlint 2021-11-02 10:57:27 +01:00
Julian Ospald 2c57def8f1
Fix parsing of atypical ghc versions 2021-11-02 01:22:06 +01:00
Julian Ospald 190b5dedba
Allow to control the metadata cache, fixes #278 2021-10-30 14:16:45 +02:00
Julian Ospald c10821c332
Use github.com/haskell/ghcup-metadata 2021-10-25 21:47:42 +02:00
Julian Ospald 4574f3aa4f
Switch to yaml-streamly 2021-10-21 23:39:07 +02:00
Julian Ospald 9f8c9c228d
Reduce IS_WINDOWS CPP 2021-10-17 20:57:22 +02:00
Julian Ospald ccfaedb7ad
Migrate to aeson-2.0.1.0 2021-10-13 19:47:14 +02:00
Julian Ospald c846e52acb
Cleanup during unpack failures as well 2021-10-10 20:48:33 +02:00
Julian Ospald c4ab59f7bf
Make sure to always ass GHC env var, fixes #258 2021-10-03 11:38:53 +02:00
Julian Ospald 3b8f2e8307
Apply patches before bootstrap 2021-09-29 23:08:55 +02:00
Julian Ospald 0af7aaef3c
Fix ``--overwrite-version` for `ghcup compile ghc`
Fixes #253
2021-09-29 22:33:17 +02:00
Julian Ospald d2b4eccac2
Honour GHC bootstrap compiler during git clone stages
Fixes #250
2021-09-27 12:51:59 +02:00
Julian Ospald c19dd5ee8b
Implement `ghcup gc` command
Fixes #241
2021-09-25 22:29:02 +02:00
Julian Ospald 6ae3bfe395
Merge branch 'fix-hls-build' 2021-09-25 19:21:19 +02:00
Julian Ospald 8e8198546f
Fix HLS rebuilds 2021-09-25 18:25:03 +02:00
Julian Ospald 9497e310ca
Improve cli interface with partial versions
Fixes #243
2021-09-25 17:13:11 +02:00
Julian Ospald 041a341879
Merge branch 'issue-242' 2021-09-25 00:19:51 +02:00
Julian Ospald 15dd810d67
Get rid of concurrent-output
Also improve some NO_COLOR foo.
2021-09-24 23:49:50 +02:00
Julian Ospald fa523d590e
Add ListAvailable to ListCriteria 2021-09-24 20:51:29 +02:00
Julian Ospald aece305003
Move logger stuff to logger module 2021-09-23 12:53:01 +02:00
Julian Ospald ef8da9bcec
Make sure NO_COLOR also applies to logging 2021-09-23 12:16:49 +02:00
Julian Ospald d5b41683ca
Improve HLS compile 2021-09-20 22:24:20 +02:00
Julian Ospald 31a523755f
Remove solus support 2021-09-20 19:42:06 +02:00
Julian Ospald f90741f4d3
Implement compiling HLS from source 2021-09-19 22:04:32 +02:00
Julian Ospald 4767f3db5b
Implement ghcup unset 2021-09-19 14:17:55 +02:00
Julian Ospald c431c0ae00
Implement GPG verification wrt #236 2021-09-18 21:51:19 +02:00
Julian Ospald 6f61b5dbef
Make hlint shut up 2021-09-18 15:47:54 +02:00
Julian Ospald c42c4b64f9
Improve logging 2021-09-18 15:46:53 +02:00
Julian Ospald d3a36c2c9a
Merge remote-tracking branch 'origin/merge-requests/156' 2021-09-18 15:19:06 +02:00
Emily Pillmore e8d962ac44 Add language fixes per issue #237 2021-09-17 14:11:00 -06:00
Julian Ospald ae2031174e
Improve warnAboutHlsCompatibility 2021-09-14 12:36:14 +02:00
Arjun Kathuria 8fc128e89b move some code around for better consistency 2021-09-12 09:25:09 +05:30
Chris Smith 737f72f90f Lint fix. 2021-09-11 23:35:39 -04:00
Chris Smith c3aab65521 Rewording 2021-09-11 23:24:21 -04:00
Chris Smith 972474f79a Add version numbers to error message.
Fixes after formatting changes.
2021-09-11 23:17:14 -04:00
Julian Ospald bc64d2ade0 Apply 3 suggestion(s) to 1 file(s) 2021-09-12 03:09:36 +00:00
Chris Smith eddda55fe6 Fix hlint warnings 2021-09-11 19:57:42 -04:00
Chris Smith 13aca91231 Add a warning when the installed HLS and GHC versions are not compatible.
This is triggered when:

1. The user has just set either the GHC or HLS version.
2. There is an HLS version set (so some GHC version is compatible).
3. There is a GHC version.
4. The HLS version doesn't support that GHC version.

Fixes #234
2021-09-11 19:33:27 -04:00
Arjun Kathuria 6011242eae minor cleanup 2021-09-11 23:23:58 +05:30
Arjun Kathuria cadb5086e1 Implements --force install for GHC 2021-09-11 23:20:06 +05:30
Arjun Kathuria 10a30bbf38 Implements --force install for Stack 2021-09-11 22:04:54 +05:30
Arjun Kathuria 6ac7a75bab Implements --force install for HLS 2021-09-11 22:04:40 +05:30
Arjun Kathuria d60f58cf43 simplify `checkIfToolInstalled` for Cabal 2021-09-07 14:22:21 +05:30
Arjun Kathuria 7a6a119829 Patch for MonadLogger deletion since new rebase 2021-09-07 14:21:24 +05:30
Arjun Kathuria 0f98ec6b78 factor out `checkIfCabalInstalled` to `checkIfToolInstalled` 2021-09-07 11:24:28 +05:30
Arjun Kathuria 107fed6e60 refactor nested case statements when installing cabal 2021-09-07 11:23:30 +05:30
Arjun Kathuria 59a9a770a5 implements --force option for cabal installs. 2021-09-07 11:23:26 +05:30
Julian Ospald 787c927de6
Improve logging, fixes #228 2021-09-06 23:01:49 +02:00
Julian Ospald db8207f8b9
Fixup 2021-09-04 16:06:33 +02:00
Julian Ospald d2346a543a
Fixup 2021-09-04 15:53:29 +02:00
Julian Ospald c54dc05d92
Read build.mk from files at build time 2021-09-04 15:09:14 +02:00
Julian Ospald 9bdf6bde17
Only consider .diff/.patch for patch files wrt #226 2021-09-04 14:25:24 +02:00