Compare commits
4 Commits
issue-992
...
refreezeee
| Author | SHA1 | Date | |
|---|---|---|---|
| 3ad785c116 | |||
| 57d23c477d | |||
| 0ec07636fb | |||
| bdd15ad6e7 |
@@ -41,6 +41,7 @@ import Data.Aeson ( decodeStrict', Value )
|
|||||||
import Data.Aeson.Encode.Pretty ( encodePretty )
|
import Data.Aeson.Encode.Pretty ( encodePretty )
|
||||||
import Data.Either
|
import Data.Either
|
||||||
import Data.Functor
|
import Data.Functor
|
||||||
|
import Data.Versions (version)
|
||||||
import Data.Maybe
|
import Data.Maybe
|
||||||
import GHC.IO.Encoding
|
import GHC.IO.Encoding
|
||||||
import Haskus.Utils.Variant.Excepts
|
import Haskus.Utils.Variant.Excepts
|
||||||
@@ -341,12 +342,14 @@ Report bugs at <https://github.com/haskell/ghcup-hs/issues>|]
|
|||||||
alreadyInstalling (Install (Left (InstallCabal InstallOptions{..}))) (Cabal, ver) = cmp' Cabal instVer ver
|
alreadyInstalling (Install (Left (InstallCabal InstallOptions{..}))) (Cabal, ver) = cmp' Cabal instVer ver
|
||||||
alreadyInstalling (Install (Left (InstallHLS InstallOptions{..}))) (HLS, ver) = cmp' HLS instVer ver
|
alreadyInstalling (Install (Left (InstallHLS InstallOptions{..}))) (HLS, ver) = cmp' HLS instVer ver
|
||||||
alreadyInstalling (Install (Left (InstallStack InstallOptions{..}))) (Stack, ver) = cmp' Stack instVer ver
|
alreadyInstalling (Install (Left (InstallStack InstallOptions{..}))) (Stack, ver) = cmp' Stack instVer ver
|
||||||
alreadyInstalling (Compile (CompileGHC GHCCompileOptions{ ovewrwiteVer = Just over }))
|
alreadyInstalling (Compile (CompileGHC GHCCompileOptions{ overwriteVer = Just [S over] })) (GHC, ver)
|
||||||
(GHC, ver) = cmp' GHC (Just $ GHCVersion (mkTVer over)) ver
|
| Right over' <- version (T.pack over) = cmp' GHC (Just $ GHCVersion (mkTVer over')) ver
|
||||||
|
| otherwise = pure False
|
||||||
alreadyInstalling (Compile (CompileGHC GHCCompileOptions{ targetGhc = GHC.SourceDist tver }))
|
alreadyInstalling (Compile (CompileGHC GHCCompileOptions{ targetGhc = GHC.SourceDist tver }))
|
||||||
(GHC, ver) = cmp' GHC (Just $ ToolVersion tver) ver
|
(GHC, ver) = cmp' GHC (Just $ ToolVersion tver) ver
|
||||||
alreadyInstalling (Compile (CompileHLS HLSCompileOptions{ ovewrwiteVer = Right over }))
|
alreadyInstalling (Compile (CompileHLS HLSCompileOptions{ overwriteVer = Just [S over] })) (HLS, ver)
|
||||||
(HLS, ver) = cmp' HLS (Just $ ToolVersion over) ver
|
| Right over' <- version (T.pack over) = cmp' HLS (Just $ ToolVersion over') ver
|
||||||
|
| otherwise = pure False
|
||||||
alreadyInstalling (Compile (CompileHLS HLSCompileOptions{ targetHLS = HLS.SourceDist tver }))
|
alreadyInstalling (Compile (CompileHLS HLSCompileOptions{ targetHLS = HLS.SourceDist tver }))
|
||||||
(HLS, ver) = cmp' HLS (Just $ ToolVersion tver) ver
|
(HLS, ver) = cmp' HLS (Just $ ToolVersion tver) ver
|
||||||
alreadyInstalling (Compile (CompileHLS HLSCompileOptions{ targetHLS = HLS.HackageDist tver }))
|
alreadyInstalling (Compile (CompileHLS HLSCompileOptions{ targetHLS = HLS.HackageDist tver }))
|
||||||
|
|||||||
@@ -26,11 +26,6 @@ source-repository-package
|
|||||||
location: https://github.com/hasufell/uri-bytestring.git
|
location: https://github.com/hasufell/uri-bytestring.git
|
||||||
tag: 4fb5ed14b500c192e6e7a97f6b2b1eb478806001
|
tag: 4fb5ed14b500c192e6e7a97f6b2b1eb478806001
|
||||||
|
|
||||||
source-repository-package
|
|
||||||
type: git
|
|
||||||
location: https://github.com/hasufell/versions.git
|
|
||||||
tag: 79e18fbc44fae3064d8957c550cc0229465db320
|
|
||||||
|
|
||||||
package libarchive
|
package libarchive
|
||||||
flags: -system-libarchive
|
flags: -system-libarchive
|
||||||
|
|
||||||
@@ -49,7 +44,7 @@ package streamly
|
|||||||
package *
|
package *
|
||||||
test-show-details: direct
|
test-show-details: direct
|
||||||
|
|
||||||
allow-newer: cabal-install-parsers:tar
|
allow-newer: cabal-install-parsers:tar, streamly:Win32
|
||||||
|
|
||||||
|
|
||||||
with-compiler: ghc-8.10.7
|
with-compiler: ghc-8.10.7
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
active-repositories: hackage.haskell.org:merge
|
active-repositories: hackage.haskell.org:merge
|
||||||
constraints: any.Cabal ==3.6.3.0,
|
constraints: any.Cabal ==3.10.2.1,
|
||||||
Cabal -bundled-binary-generic,
|
|
||||||
any.Cabal-syntax ==3.10.2.0,
|
any.Cabal-syntax ==3.10.2.0,
|
||||||
any.HUnit ==1.6.2.0,
|
any.HUnit ==1.6.2.0,
|
||||||
any.HsOpenSSL ==0.11.7.6,
|
any.HsOpenSSL ==0.11.7.6,
|
||||||
@@ -11,8 +10,8 @@ constraints: any.Cabal ==3.6.3.0,
|
|||||||
any.StateVar ==1.2.2,
|
any.StateVar ==1.2.2,
|
||||||
any.abstract-deque ==0.3,
|
any.abstract-deque ==0.3,
|
||||||
abstract-deque -usecas,
|
abstract-deque -usecas,
|
||||||
any.aeson ==2.1.2.1,
|
any.aeson ==2.2.1.0,
|
||||||
aeson -cffi +ordered-keymap,
|
aeson +ordered-keymap,
|
||||||
any.aeson-pretty ==0.8.10,
|
any.aeson-pretty ==0.8.10,
|
||||||
aeson-pretty +lib-only,
|
aeson-pretty +lib-only,
|
||||||
any.alex ==3.5.0.0,
|
any.alex ==3.5.0.0,
|
||||||
@@ -26,31 +25,30 @@ constraints: any.Cabal ==3.6.3.0,
|
|||||||
assoc +tagged,
|
assoc +tagged,
|
||||||
any.async ==2.2.5,
|
any.async ==2.2.5,
|
||||||
async -bench,
|
async -bench,
|
||||||
any.atomic-primops ==0.8.4,
|
any.atomic-primops ==0.8.5,
|
||||||
atomic-primops -debug,
|
atomic-primops -debug,
|
||||||
any.attoparsec ==0.14.4,
|
any.attoparsec ==0.14.4,
|
||||||
attoparsec -developer,
|
attoparsec -developer,
|
||||||
any.base ==4.14.3.0,
|
any.base ==4.14.3.0,
|
||||||
any.base-compat ==0.13.1,
|
any.base-compat ==0.13.1,
|
||||||
any.base-compat-batteries ==0.13.1,
|
|
||||||
any.base-orphans ==0.9.1,
|
any.base-orphans ==0.9.1,
|
||||||
any.base16-bytestring ==1.0.2.0,
|
any.base16-bytestring ==1.0.2.0,
|
||||||
any.base64-bytestring ==1.2.1.0,
|
any.base64-bytestring ==1.2.1.0,
|
||||||
any.bifunctors ==5.6.1,
|
any.bifunctors ==5.6.1,
|
||||||
bifunctors +tagged,
|
bifunctors +tagged,
|
||||||
any.bimap ==0.5.0,
|
any.bimap ==0.5.0,
|
||||||
any.binary ==0.8.8.0,
|
any.binary ==0.8.9.1,
|
||||||
any.binary-instances ==1.0.4,
|
any.binary-instances ==1.0.4,
|
||||||
any.binary-orphans ==1.0.4.1,
|
any.binary-orphans ==1.0.4.1,
|
||||||
any.blaze-builder ==0.4.2.3,
|
any.blaze-builder ==0.4.2.3,
|
||||||
any.brick ==2.1.1,
|
any.brick ==2.1.1,
|
||||||
brick -demos,
|
brick -demos,
|
||||||
any.bytestring ==0.10.12.0,
|
any.bytestring ==0.11.5.3,
|
||||||
any.bz2 ==1.0.1.0,
|
any.bz2 ==1.0.1.0,
|
||||||
bz2 -cross +with-bzlib,
|
bz2 -cross +with-bzlib,
|
||||||
any.c2hs ==0.28.8,
|
any.c2hs ==0.28.8,
|
||||||
c2hs +base3 -regression,
|
c2hs +base3 -regression,
|
||||||
any.cabal-install-parsers ==0.6.1,
|
any.cabal-install-parsers ==0.6.1.1,
|
||||||
any.cabal-plan ==0.7.3.0,
|
any.cabal-plan ==0.7.3.0,
|
||||||
cabal-plan -_ -exe -license-report,
|
cabal-plan -_ -exe -license-report,
|
||||||
any.call-stack ==0.4.0,
|
any.call-stack ==0.4.0,
|
||||||
@@ -78,7 +76,7 @@ constraints: any.Cabal ==3.6.3.0,
|
|||||||
any.data-clist ==0.2,
|
any.data-clist ==0.2,
|
||||||
any.data-fix ==0.3.2,
|
any.data-fix ==0.3.2,
|
||||||
any.deepseq ==1.4.4.0,
|
any.deepseq ==1.4.4.0,
|
||||||
any.directory ==1.3.6.0,
|
any.directory ==1.3.8.1,
|
||||||
any.disk-free-space ==0.1.0.1,
|
any.disk-free-space ==0.1.0.1,
|
||||||
any.distributive ==0.6.2.1,
|
any.distributive ==0.6.2.1,
|
||||||
distributive +semigroups +tagged,
|
distributive +semigroups +tagged,
|
||||||
@@ -86,7 +84,8 @@ constraints: any.Cabal ==3.6.3.0,
|
|||||||
dlist -werror,
|
dlist -werror,
|
||||||
any.exceptions ==0.10.4,
|
any.exceptions ==0.10.4,
|
||||||
any.file-uri ==0.1.0.0,
|
any.file-uri ==0.1.0.0,
|
||||||
any.filepath ==1.4.2.1,
|
any.filepath ==1.4.300.1,
|
||||||
|
filepath -cpphs,
|
||||||
any.foldable1-classes-compat ==0.1,
|
any.foldable1-classes-compat ==0.1,
|
||||||
foldable1-classes-compat +tagged,
|
foldable1-classes-compat +tagged,
|
||||||
any.free ==5.2,
|
any.free ==5.2,
|
||||||
@@ -111,17 +110,18 @@ constraints: any.Cabal ==3.6.3.0,
|
|||||||
any.hspec-discover ==2.10.10,
|
any.hspec-discover ==2.10.10,
|
||||||
any.hspec-expectations ==0.8.2,
|
any.hspec-expectations ==0.8.2,
|
||||||
any.hspec-golden-aeson ==0.9.0.0,
|
any.hspec-golden-aeson ==0.9.0.0,
|
||||||
any.http-io-streams ==0.1.6.3,
|
any.http-io-streams ==0.1.7.0,
|
||||||
http-io-streams -brotli +fast-xor,
|
http-io-streams -brotli +fast-xor,
|
||||||
any.indexed-profunctors ==0.1.1.1,
|
any.indexed-profunctors ==0.1.1.1,
|
||||||
any.indexed-traversable ==0.1.3,
|
any.indexed-traversable ==0.1.3,
|
||||||
any.indexed-traversable-instances ==0.1.1.2,
|
any.indexed-traversable-instances ==0.1.1.2,
|
||||||
|
any.integer-conversion ==0.1.0.1,
|
||||||
any.integer-gmp ==1.0.3.0,
|
any.integer-gmp ==1.0.3.0,
|
||||||
any.integer-logarithms ==1.0.3.1,
|
any.integer-logarithms ==1.0.3.1,
|
||||||
integer-logarithms -check-bounds +integer-gmp,
|
integer-logarithms -check-bounds +integer-gmp,
|
||||||
any.io-streams ==1.5.2.2,
|
any.io-streams ==1.5.2.2,
|
||||||
io-streams +network -nointeractivetests +zlib,
|
io-streams +network -nointeractivetests +zlib,
|
||||||
any.language-c ==0.9.2,
|
any.language-c ==0.9.3,
|
||||||
language-c -allwarnings +iecfpextension +usebytestrings,
|
language-c -allwarnings +iecfpextension +usebytestrings,
|
||||||
any.libarchive ==3.0.4.2,
|
any.libarchive ==3.0.4.2,
|
||||||
libarchive -cross -low-memory +no-exe -system-libarchive,
|
libarchive -cross -low-memory +no-exe -system-libarchive,
|
||||||
@@ -159,11 +159,11 @@ constraints: any.Cabal ==3.6.3.0,
|
|||||||
any.pretty ==1.1.3.6,
|
any.pretty ==1.1.3.6,
|
||||||
any.pretty-terminal ==0.1.0.0,
|
any.pretty-terminal ==0.1.0.0,
|
||||||
any.primitive ==0.8.0.0,
|
any.primitive ==0.8.0.0,
|
||||||
any.process ==1.6.13.2,
|
any.process ==1.6.18.0,
|
||||||
any.profunctors ==5.6.2,
|
any.profunctors ==5.6.2,
|
||||||
any.quickcheck-arbitrary-adt ==0.3.1.0,
|
any.quickcheck-arbitrary-adt ==0.3.1.0,
|
||||||
any.quickcheck-io ==0.2.0,
|
any.quickcheck-io ==0.2.0,
|
||||||
any.random ==1.2.1.1,
|
any.random ==1.2.1.2,
|
||||||
any.recursion-schemes ==5.2.2.5,
|
any.recursion-schemes ==5.2.2.5,
|
||||||
recursion-schemes +template-haskell,
|
recursion-schemes +template-haskell,
|
||||||
any.regex-base ==0.94.0.2,
|
any.regex-base ==0.94.0.2,
|
||||||
@@ -205,11 +205,12 @@ constraints: any.Cabal ==3.6.3.0,
|
|||||||
any.text ==2.0.2,
|
any.text ==2.0.2,
|
||||||
text -developer +simdutf,
|
text -developer +simdutf,
|
||||||
any.text-binary ==0.2.1.1,
|
any.text-binary ==0.2.1.1,
|
||||||
|
any.text-iso8601 ==0.1,
|
||||||
any.text-short ==0.1.5,
|
any.text-short ==0.1.5,
|
||||||
text-short -asserts,
|
text-short -asserts,
|
||||||
any.text-zipper ==0.13,
|
any.text-zipper ==0.13,
|
||||||
any.tf-random ==0.5,
|
any.tf-random ==0.5,
|
||||||
any.th-abstraction ==0.5.0.0,
|
any.th-abstraction ==0.6.0.0,
|
||||||
any.th-compat ==0.1.4,
|
any.th-compat ==0.1.4,
|
||||||
any.th-lift ==0.8.4,
|
any.th-lift ==0.8.4,
|
||||||
any.th-lift-instances ==0.1.20,
|
any.th-lift-instances ==0.1.20,
|
||||||
@@ -224,7 +225,8 @@ constraints: any.Cabal ==3.6.3.0,
|
|||||||
transformers-compat -five +five-three -four +generic-deriving +mtl -three -two,
|
transformers-compat -five +five-three -four +generic-deriving +mtl -three -two,
|
||||||
any.unicode-data ==0.3.1,
|
any.unicode-data ==0.3.1,
|
||||||
unicode-data -ucd2haskell,
|
unicode-data -ucd2haskell,
|
||||||
any.unix ==2.7.2.2,
|
any.unix ==2.8.5.0,
|
||||||
|
unix -os-string,
|
||||||
any.unix-bytestring ==0.3.7.8,
|
any.unix-bytestring ==0.3.7.8,
|
||||||
any.unix-compat ==0.7.1,
|
any.unix-compat ==0.7.1,
|
||||||
unix-compat -old-time,
|
unix-compat -old-time,
|
||||||
@@ -239,11 +241,11 @@ constraints: any.Cabal ==3.6.3.0,
|
|||||||
vector +boundschecks -internalchecks -unsafechecks -wall,
|
vector +boundschecks -internalchecks -unsafechecks -wall,
|
||||||
any.vector-binary-instances ==0.2.5.2,
|
any.vector-binary-instances ==0.2.5.2,
|
||||||
any.vector-stream ==0.1.0.1,
|
any.vector-stream ==0.1.0.1,
|
||||||
any.versions ==6.0.4,
|
any.versions ==6.0.5,
|
||||||
any.vty ==6.0,
|
any.vty ==6.2,
|
||||||
any.vty-crossplatform ==0.2.0.0,
|
any.vty-crossplatform ==0.4.0.0,
|
||||||
vty-crossplatform -demos,
|
vty-crossplatform -demos,
|
||||||
any.vty-unix ==0.1.0.0,
|
any.vty-unix ==0.2.0.0,
|
||||||
any.witherable ==0.4.2,
|
any.witherable ==0.4.2,
|
||||||
any.word-wrap ==0.5,
|
any.word-wrap ==0.5,
|
||||||
any.word8 ==0.1.3,
|
any.word8 ==0.1.3,
|
||||||
@@ -253,4 +255,4 @@ constraints: any.Cabal ==3.6.3.0,
|
|||||||
any.zlib ==0.6.3.0,
|
any.zlib ==0.6.3.0,
|
||||||
zlib -bundled-c-zlib -non-blocking-ffi -pkg-config,
|
zlib -bundled-c-zlib -non-blocking-ffi -pkg-config,
|
||||||
any.zlib-bindings ==0.1.1.5
|
any.zlib-bindings ==0.1.1.5
|
||||||
index-state: hackage.haskell.org 2024-01-19T19:48:54Z
|
index-state: hackage.haskell.org 2024-02-18T14:07:35Z
|
||||||
|
|||||||
@@ -26,11 +26,6 @@ source-repository-package
|
|||||||
location: https://github.com/hasufell/uri-bytestring.git
|
location: https://github.com/hasufell/uri-bytestring.git
|
||||||
tag: 4fb5ed14b500c192e6e7a97f6b2b1eb478806001
|
tag: 4fb5ed14b500c192e6e7a97f6b2b1eb478806001
|
||||||
|
|
||||||
source-repository-package
|
|
||||||
type: git
|
|
||||||
location: https://github.com/hasufell/versions.git
|
|
||||||
tag: 79e18fbc44fae3064d8957c550cc0229465db320
|
|
||||||
|
|
||||||
package libarchive
|
package libarchive
|
||||||
flags: -system-libarchive
|
flags: -system-libarchive
|
||||||
|
|
||||||
@@ -49,7 +44,7 @@ package streamly
|
|||||||
package *
|
package *
|
||||||
test-show-details: direct
|
test-show-details: direct
|
||||||
|
|
||||||
allow-newer: cabal-install-parsers:tar
|
allow-newer: cabal-install-parsers:tar, streamly:Win32
|
||||||
|
|
||||||
|
|
||||||
with-compiler: ghc-9.0.2
|
with-compiler: ghc-9.0.2
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
active-repositories: hackage.haskell.org:merge
|
active-repositories: hackage.haskell.org:merge
|
||||||
constraints: any.Cabal ==3.6.3.0,
|
constraints: any.Cabal ==3.10.2.1,
|
||||||
Cabal -bundled-binary-generic,
|
|
||||||
any.Cabal-syntax ==3.10.2.0,
|
any.Cabal-syntax ==3.10.2.0,
|
||||||
any.HUnit ==1.6.2.0,
|
any.HUnit ==1.6.2.0,
|
||||||
any.HsOpenSSL ==0.11.7.6,
|
any.HsOpenSSL ==0.11.7.6,
|
||||||
@@ -11,8 +10,8 @@ constraints: any.Cabal ==3.6.3.0,
|
|||||||
any.StateVar ==1.2.2,
|
any.StateVar ==1.2.2,
|
||||||
any.abstract-deque ==0.3,
|
any.abstract-deque ==0.3,
|
||||||
abstract-deque -usecas,
|
abstract-deque -usecas,
|
||||||
any.aeson ==2.1.2.1,
|
any.aeson ==2.2.1.0,
|
||||||
aeson -cffi +ordered-keymap,
|
aeson +ordered-keymap,
|
||||||
any.aeson-pretty ==0.8.10,
|
any.aeson-pretty ==0.8.10,
|
||||||
aeson-pretty +lib-only,
|
aeson-pretty +lib-only,
|
||||||
any.alex ==3.5.0.0,
|
any.alex ==3.5.0.0,
|
||||||
@@ -26,20 +25,19 @@ constraints: any.Cabal ==3.6.3.0,
|
|||||||
assoc +tagged,
|
assoc +tagged,
|
||||||
any.async ==2.2.5,
|
any.async ==2.2.5,
|
||||||
async -bench,
|
async -bench,
|
||||||
any.atomic-primops ==0.8.4,
|
any.atomic-primops ==0.8.5,
|
||||||
atomic-primops -debug,
|
atomic-primops -debug,
|
||||||
any.attoparsec ==0.14.4,
|
any.attoparsec ==0.14.4,
|
||||||
attoparsec -developer,
|
attoparsec -developer,
|
||||||
any.base ==4.15.1.0,
|
any.base ==4.15.1.0,
|
||||||
any.base-compat ==0.13.1,
|
any.base-compat ==0.13.1,
|
||||||
any.base-compat-batteries ==0.13.1,
|
|
||||||
any.base-orphans ==0.9.1,
|
any.base-orphans ==0.9.1,
|
||||||
any.base16-bytestring ==1.0.2.0,
|
any.base16-bytestring ==1.0.2.0,
|
||||||
any.base64-bytestring ==1.2.1.0,
|
any.base64-bytestring ==1.2.1.0,
|
||||||
any.bifunctors ==5.6.1,
|
any.bifunctors ==5.6.1,
|
||||||
bifunctors +tagged,
|
bifunctors +tagged,
|
||||||
any.bimap ==0.5.0,
|
any.bimap ==0.5.0,
|
||||||
any.binary ==0.8.8.0,
|
any.binary ==0.8.9.1,
|
||||||
any.binary-instances ==1.0.4,
|
any.binary-instances ==1.0.4,
|
||||||
any.binary-orphans ==1.0.4.1,
|
any.binary-orphans ==1.0.4.1,
|
||||||
any.bindings-DSL ==1.0.25,
|
any.bindings-DSL ==1.0.25,
|
||||||
@@ -48,13 +46,13 @@ constraints: any.Cabal ==3.6.3.0,
|
|||||||
any.blaze-builder ==0.4.2.3,
|
any.blaze-builder ==0.4.2.3,
|
||||||
any.brick ==2.1.1,
|
any.brick ==2.1.1,
|
||||||
brick -demos,
|
brick -demos,
|
||||||
any.bytestring ==0.10.12.1,
|
any.bytestring ==0.11.5.3,
|
||||||
any.bz2 ==1.0.1.0,
|
any.bz2 ==1.0.1.0,
|
||||||
bz2 -cross +with-bzlib,
|
bz2 -cross +with-bzlib,
|
||||||
any.bzlib-conduit ==0.3.0.2,
|
any.bzlib-conduit ==0.3.0.2,
|
||||||
any.c2hs ==0.28.8,
|
any.c2hs ==0.28.8,
|
||||||
c2hs +base3 -regression,
|
c2hs +base3 -regression,
|
||||||
any.cabal-install-parsers ==0.6.1,
|
any.cabal-install-parsers ==0.6.1.1,
|
||||||
any.cabal-plan ==0.7.3.0,
|
any.cabal-plan ==0.7.3.0,
|
||||||
cabal-plan -_ -exe -license-report,
|
cabal-plan -_ -exe -license-report,
|
||||||
any.call-stack ==0.4.0,
|
any.call-stack ==0.4.0,
|
||||||
@@ -81,9 +79,9 @@ constraints: any.Cabal ==3.6.3.0,
|
|||||||
any.data-default-class ==0.1.2.0,
|
any.data-default-class ==0.1.2.0,
|
||||||
any.data-fix ==0.3.2,
|
any.data-fix ==0.3.2,
|
||||||
any.deepseq ==1.4.5.0,
|
any.deepseq ==1.4.5.0,
|
||||||
any.digest ==0.0.2.0,
|
any.digest ==0.0.2.1,
|
||||||
digest -have_arm64_crc32c -have_builtin_prefetch -have_mm_prefetch -have_sse42 -have_strong_getauxval -have_weak_getauxval +pkg-config,
|
digest -have_arm64_crc32c -have_builtin_prefetch -have_mm_prefetch -have_sse42 -have_strong_getauxval -have_weak_getauxval +pkg-config,
|
||||||
any.directory ==1.3.6.2,
|
any.directory ==1.3.8.1,
|
||||||
any.disk-free-space ==0.1.0.1,
|
any.disk-free-space ==0.1.0.1,
|
||||||
any.distributive ==0.6.2.1,
|
any.distributive ==0.6.2.1,
|
||||||
distributive +semigroups +tagged,
|
distributive +semigroups +tagged,
|
||||||
@@ -91,7 +89,8 @@ constraints: any.Cabal ==3.6.3.0,
|
|||||||
dlist -werror,
|
dlist -werror,
|
||||||
any.exceptions ==0.10.4,
|
any.exceptions ==0.10.4,
|
||||||
any.file-uri ==0.1.0.0,
|
any.file-uri ==0.1.0.0,
|
||||||
any.filepath ==1.4.2.1,
|
any.filepath ==1.4.300.1,
|
||||||
|
filepath -cpphs,
|
||||||
any.foldable1-classes-compat ==0.1,
|
any.foldable1-classes-compat ==0.1,
|
||||||
foldable1-classes-compat +tagged,
|
foldable1-classes-compat +tagged,
|
||||||
any.free ==5.2,
|
any.free ==5.2,
|
||||||
@@ -117,16 +116,17 @@ constraints: any.Cabal ==3.6.3.0,
|
|||||||
any.hspec-discover ==2.10.10,
|
any.hspec-discover ==2.10.10,
|
||||||
any.hspec-expectations ==0.8.2,
|
any.hspec-expectations ==0.8.2,
|
||||||
any.hspec-golden-aeson ==0.9.0.0,
|
any.hspec-golden-aeson ==0.9.0.0,
|
||||||
any.http-io-streams ==0.1.6.3,
|
any.http-io-streams ==0.1.7.0,
|
||||||
http-io-streams -brotli +fast-xor,
|
http-io-streams -brotli +fast-xor,
|
||||||
any.indexed-profunctors ==0.1.1.1,
|
any.indexed-profunctors ==0.1.1.1,
|
||||||
any.indexed-traversable ==0.1.3,
|
any.indexed-traversable ==0.1.3,
|
||||||
any.indexed-traversable-instances ==0.1.1.2,
|
any.indexed-traversable-instances ==0.1.1.2,
|
||||||
|
any.integer-conversion ==0.1.0.1,
|
||||||
any.integer-logarithms ==1.0.3.1,
|
any.integer-logarithms ==1.0.3.1,
|
||||||
integer-logarithms -check-bounds +integer-gmp,
|
integer-logarithms -check-bounds +integer-gmp,
|
||||||
any.io-streams ==1.5.2.2,
|
any.io-streams ==1.5.2.2,
|
||||||
io-streams +network -nointeractivetests +zlib,
|
io-streams +network -nointeractivetests +zlib,
|
||||||
any.language-c ==0.9.2,
|
any.language-c ==0.9.3,
|
||||||
language-c -allwarnings +iecfpextension +usebytestrings,
|
language-c -allwarnings +iecfpextension +usebytestrings,
|
||||||
any.libyaml-streamly ==0.2.2,
|
any.libyaml-streamly ==0.2.2,
|
||||||
libyaml-streamly -no-unicode -system-libyaml,
|
libyaml-streamly -no-unicode -system-libyaml,
|
||||||
@@ -163,11 +163,11 @@ constraints: any.Cabal ==3.6.3.0,
|
|||||||
any.pretty ==1.1.3.6,
|
any.pretty ==1.1.3.6,
|
||||||
any.pretty-terminal ==0.1.0.0,
|
any.pretty-terminal ==0.1.0.0,
|
||||||
any.primitive ==0.8.0.0,
|
any.primitive ==0.8.0.0,
|
||||||
any.process ==1.6.13.2,
|
any.process ==1.6.18.0,
|
||||||
any.profunctors ==5.6.2,
|
any.profunctors ==5.6.2,
|
||||||
any.quickcheck-arbitrary-adt ==0.3.1.0,
|
any.quickcheck-arbitrary-adt ==0.3.1.0,
|
||||||
any.quickcheck-io ==0.2.0,
|
any.quickcheck-io ==0.2.0,
|
||||||
any.random ==1.2.1.1,
|
any.random ==1.2.1.2,
|
||||||
any.recursion-schemes ==5.2.2.5,
|
any.recursion-schemes ==5.2.2.5,
|
||||||
recursion-schemes +template-haskell,
|
recursion-schemes +template-haskell,
|
||||||
any.regex-base ==0.94.0.2,
|
any.regex-base ==0.94.0.2,
|
||||||
@@ -211,11 +211,12 @@ constraints: any.Cabal ==3.6.3.0,
|
|||||||
any.text ==2.0.2,
|
any.text ==2.0.2,
|
||||||
text -developer +simdutf,
|
text -developer +simdutf,
|
||||||
any.text-binary ==0.2.1.1,
|
any.text-binary ==0.2.1.1,
|
||||||
|
any.text-iso8601 ==0.1,
|
||||||
any.text-short ==0.1.5,
|
any.text-short ==0.1.5,
|
||||||
text-short -asserts,
|
text-short -asserts,
|
||||||
any.text-zipper ==0.13,
|
any.text-zipper ==0.13,
|
||||||
any.tf-random ==0.5,
|
any.tf-random ==0.5,
|
||||||
any.th-abstraction ==0.5.0.0,
|
any.th-abstraction ==0.6.0.0,
|
||||||
any.th-compat ==0.1.4,
|
any.th-compat ==0.1.4,
|
||||||
any.th-lift ==0.8.4,
|
any.th-lift ==0.8.4,
|
||||||
any.th-lift-instances ==0.1.20,
|
any.th-lift-instances ==0.1.20,
|
||||||
@@ -231,7 +232,8 @@ constraints: any.Cabal ==3.6.3.0,
|
|||||||
any.typed-process ==0.2.11.1,
|
any.typed-process ==0.2.11.1,
|
||||||
any.unicode-data ==0.3.1,
|
any.unicode-data ==0.3.1,
|
||||||
unicode-data -ucd2haskell,
|
unicode-data -ucd2haskell,
|
||||||
any.unix ==2.7.2.2,
|
any.unix ==2.8.5.0,
|
||||||
|
unix -os-string,
|
||||||
any.unix-bytestring ==0.3.7.8,
|
any.unix-bytestring ==0.3.7.8,
|
||||||
any.unix-compat ==0.7.1,
|
any.unix-compat ==0.7.1,
|
||||||
unix-compat -old-time,
|
unix-compat -old-time,
|
||||||
@@ -248,11 +250,11 @@ constraints: any.Cabal ==3.6.3.0,
|
|||||||
vector-algorithms +bench +boundschecks -internalchecks -llvm +properties -unsafechecks,
|
vector-algorithms +bench +boundschecks -internalchecks -llvm +properties -unsafechecks,
|
||||||
any.vector-binary-instances ==0.2.5.2,
|
any.vector-binary-instances ==0.2.5.2,
|
||||||
any.vector-stream ==0.1.0.1,
|
any.vector-stream ==0.1.0.1,
|
||||||
any.versions ==6.0.4,
|
any.versions ==6.0.5,
|
||||||
any.vty ==6.0,
|
any.vty ==6.2,
|
||||||
any.vty-crossplatform ==0.2.0.0,
|
any.vty-crossplatform ==0.4.0.0,
|
||||||
vty-crossplatform -demos,
|
vty-crossplatform -demos,
|
||||||
any.vty-unix ==0.1.0.0,
|
any.vty-unix ==0.2.0.0,
|
||||||
any.witherable ==0.4.2,
|
any.witherable ==0.4.2,
|
||||||
any.word-wrap ==0.5,
|
any.word-wrap ==0.5,
|
||||||
any.word8 ==0.1.3,
|
any.word8 ==0.1.3,
|
||||||
@@ -266,4 +268,4 @@ constraints: any.Cabal ==3.6.3.0,
|
|||||||
any.zlib-bindings ==0.1.1.5,
|
any.zlib-bindings ==0.1.1.5,
|
||||||
any.zstd ==0.1.3.0,
|
any.zstd ==0.1.3.0,
|
||||||
zstd +standalone
|
zstd +standalone
|
||||||
index-state: hackage.haskell.org 2024-01-19T19:48:54Z
|
index-state: hackage.haskell.org 2024-02-18T14:07:35Z
|
||||||
|
|||||||
@@ -26,11 +26,6 @@ source-repository-package
|
|||||||
location: https://github.com/hasufell/uri-bytestring.git
|
location: https://github.com/hasufell/uri-bytestring.git
|
||||||
tag: 4fb5ed14b500c192e6e7a97f6b2b1eb478806001
|
tag: 4fb5ed14b500c192e6e7a97f6b2b1eb478806001
|
||||||
|
|
||||||
source-repository-package
|
|
||||||
type: git
|
|
||||||
location: https://github.com/hasufell/versions.git
|
|
||||||
tag: 79e18fbc44fae3064d8957c550cc0229465db320
|
|
||||||
|
|
||||||
package libarchive
|
package libarchive
|
||||||
flags: -system-libarchive
|
flags: -system-libarchive
|
||||||
|
|
||||||
@@ -49,7 +44,7 @@ package streamly
|
|||||||
package *
|
package *
|
||||||
test-show-details: direct
|
test-show-details: direct
|
||||||
|
|
||||||
allow-newer: cabal-install-parsers:tar
|
allow-newer: cabal-install-parsers:tar, streamly:Win32
|
||||||
|
|
||||||
|
|
||||||
with-compiler: ghc-9.2.8
|
with-compiler: ghc-9.2.8
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
active-repositories: hackage.haskell.org:merge
|
active-repositories: hackage.haskell.org:merge
|
||||||
constraints: any.Cabal ==3.6.3.0,
|
constraints: any.Cabal ==3.10.2.1,
|
||||||
Cabal -bundled-binary-generic,
|
|
||||||
any.Cabal-syntax ==3.10.2.0,
|
any.Cabal-syntax ==3.10.2.0,
|
||||||
any.HUnit ==1.6.2.0,
|
any.HUnit ==1.6.2.0,
|
||||||
any.HsOpenSSL ==0.11.7.6,
|
any.HsOpenSSL ==0.11.7.6,
|
||||||
@@ -11,8 +10,8 @@ constraints: any.Cabal ==3.6.3.0,
|
|||||||
any.StateVar ==1.2.2,
|
any.StateVar ==1.2.2,
|
||||||
any.abstract-deque ==0.3,
|
any.abstract-deque ==0.3,
|
||||||
abstract-deque -usecas,
|
abstract-deque -usecas,
|
||||||
any.aeson ==2.1.2.1,
|
any.aeson ==2.2.1.0,
|
||||||
aeson -cffi +ordered-keymap,
|
aeson +ordered-keymap,
|
||||||
any.aeson-pretty ==0.8.10,
|
any.aeson-pretty ==0.8.10,
|
||||||
aeson-pretty +lib-only,
|
aeson-pretty +lib-only,
|
||||||
any.alex ==3.5.0.0,
|
any.alex ==3.5.0.0,
|
||||||
@@ -26,13 +25,12 @@ constraints: any.Cabal ==3.6.3.0,
|
|||||||
assoc +tagged,
|
assoc +tagged,
|
||||||
any.async ==2.2.5,
|
any.async ==2.2.5,
|
||||||
async -bench,
|
async -bench,
|
||||||
any.atomic-primops ==0.8.4,
|
any.atomic-primops ==0.8.5,
|
||||||
atomic-primops -debug,
|
atomic-primops -debug,
|
||||||
any.attoparsec ==0.14.4,
|
any.attoparsec ==0.14.4,
|
||||||
attoparsec -developer,
|
attoparsec -developer,
|
||||||
any.base ==4.16.4.0,
|
any.base ==4.16.4.0,
|
||||||
any.base-compat ==0.13.1,
|
any.base-compat ==0.13.1,
|
||||||
any.base-compat-batteries ==0.13.1,
|
|
||||||
any.base-orphans ==0.9.1,
|
any.base-orphans ==0.9.1,
|
||||||
any.base16-bytestring ==1.0.2.0,
|
any.base16-bytestring ==1.0.2.0,
|
||||||
any.base64-bytestring ==1.2.1.0,
|
any.base64-bytestring ==1.2.1.0,
|
||||||
@@ -54,7 +52,7 @@ constraints: any.Cabal ==3.6.3.0,
|
|||||||
any.bzlib-conduit ==0.3.0.2,
|
any.bzlib-conduit ==0.3.0.2,
|
||||||
any.c2hs ==0.28.8,
|
any.c2hs ==0.28.8,
|
||||||
c2hs +base3 -regression,
|
c2hs +base3 -regression,
|
||||||
any.cabal-install-parsers ==0.6.1,
|
any.cabal-install-parsers ==0.6.1.1,
|
||||||
any.cabal-plan ==0.7.3.0,
|
any.cabal-plan ==0.7.3.0,
|
||||||
cabal-plan -_ -exe -license-report,
|
cabal-plan -_ -exe -license-report,
|
||||||
any.call-stack ==0.4.0,
|
any.call-stack ==0.4.0,
|
||||||
@@ -81,9 +79,9 @@ constraints: any.Cabal ==3.6.3.0,
|
|||||||
any.data-default-class ==0.1.2.0,
|
any.data-default-class ==0.1.2.0,
|
||||||
any.data-fix ==0.3.2,
|
any.data-fix ==0.3.2,
|
||||||
any.deepseq ==1.4.6.1,
|
any.deepseq ==1.4.6.1,
|
||||||
any.digest ==0.0.2.0,
|
any.digest ==0.0.2.1,
|
||||||
digest -have_arm64_crc32c -have_builtin_prefetch -have_mm_prefetch -have_sse42 -have_strong_getauxval -have_weak_getauxval +pkg-config,
|
digest -have_arm64_crc32c -have_builtin_prefetch -have_mm_prefetch -have_sse42 -have_strong_getauxval -have_weak_getauxval +pkg-config,
|
||||||
any.directory ==1.3.6.2,
|
any.directory ==1.3.7.1,
|
||||||
any.disk-free-space ==0.1.0.1,
|
any.disk-free-space ==0.1.0.1,
|
||||||
any.distributive ==0.6.2.1,
|
any.distributive ==0.6.2.1,
|
||||||
distributive +semigroups +tagged,
|
distributive +semigroups +tagged,
|
||||||
@@ -91,7 +89,8 @@ constraints: any.Cabal ==3.6.3.0,
|
|||||||
dlist -werror,
|
dlist -werror,
|
||||||
any.exceptions ==0.10.4,
|
any.exceptions ==0.10.4,
|
||||||
any.file-uri ==0.1.0.0,
|
any.file-uri ==0.1.0.0,
|
||||||
any.filepath ==1.4.2.2,
|
any.filepath ==1.4.300.1,
|
||||||
|
filepath -cpphs,
|
||||||
any.foldable1-classes-compat ==0.1,
|
any.foldable1-classes-compat ==0.1,
|
||||||
foldable1-classes-compat +tagged,
|
foldable1-classes-compat +tagged,
|
||||||
any.free ==5.2,
|
any.free ==5.2,
|
||||||
@@ -117,16 +116,17 @@ constraints: any.Cabal ==3.6.3.0,
|
|||||||
any.hspec-discover ==2.10.10,
|
any.hspec-discover ==2.10.10,
|
||||||
any.hspec-expectations ==0.8.2,
|
any.hspec-expectations ==0.8.2,
|
||||||
any.hspec-golden-aeson ==0.9.0.0,
|
any.hspec-golden-aeson ==0.9.0.0,
|
||||||
any.http-io-streams ==0.1.6.3,
|
any.http-io-streams ==0.1.7.0,
|
||||||
http-io-streams -brotli +fast-xor,
|
http-io-streams -brotli +fast-xor,
|
||||||
any.indexed-profunctors ==0.1.1.1,
|
any.indexed-profunctors ==0.1.1.1,
|
||||||
any.indexed-traversable ==0.1.3,
|
any.indexed-traversable ==0.1.3,
|
||||||
any.indexed-traversable-instances ==0.1.1.2,
|
any.indexed-traversable-instances ==0.1.1.2,
|
||||||
|
any.integer-conversion ==0.1.0.1,
|
||||||
any.integer-logarithms ==1.0.3.1,
|
any.integer-logarithms ==1.0.3.1,
|
||||||
integer-logarithms -check-bounds +integer-gmp,
|
integer-logarithms -check-bounds +integer-gmp,
|
||||||
any.io-streams ==1.5.2.2,
|
any.io-streams ==1.5.2.2,
|
||||||
io-streams +network -nointeractivetests +zlib,
|
io-streams +network -nointeractivetests +zlib,
|
||||||
any.language-c ==0.9.2,
|
any.language-c ==0.9.3,
|
||||||
language-c -allwarnings +iecfpextension +usebytestrings,
|
language-c -allwarnings +iecfpextension +usebytestrings,
|
||||||
any.libyaml-streamly ==0.2.2,
|
any.libyaml-streamly ==0.2.2,
|
||||||
libyaml-streamly -no-unicode -system-libyaml,
|
libyaml-streamly -no-unicode -system-libyaml,
|
||||||
@@ -163,11 +163,11 @@ constraints: any.Cabal ==3.6.3.0,
|
|||||||
any.pretty ==1.1.3.6,
|
any.pretty ==1.1.3.6,
|
||||||
any.pretty-terminal ==0.1.0.0,
|
any.pretty-terminal ==0.1.0.0,
|
||||||
any.primitive ==0.8.0.0,
|
any.primitive ==0.8.0.0,
|
||||||
any.process ==1.6.16.0,
|
any.process ==1.6.18.0,
|
||||||
any.profunctors ==5.6.2,
|
any.profunctors ==5.6.2,
|
||||||
any.quickcheck-arbitrary-adt ==0.3.1.0,
|
any.quickcheck-arbitrary-adt ==0.3.1.0,
|
||||||
any.quickcheck-io ==0.2.0,
|
any.quickcheck-io ==0.2.0,
|
||||||
any.random ==1.2.1.1,
|
any.random ==1.2.1.2,
|
||||||
any.recursion-schemes ==5.2.2.5,
|
any.recursion-schemes ==5.2.2.5,
|
||||||
recursion-schemes +template-haskell,
|
recursion-schemes +template-haskell,
|
||||||
any.regex-base ==0.94.0.2,
|
any.regex-base ==0.94.0.2,
|
||||||
@@ -211,11 +211,12 @@ constraints: any.Cabal ==3.6.3.0,
|
|||||||
any.text ==2.0.2,
|
any.text ==2.0.2,
|
||||||
text -developer +simdutf,
|
text -developer +simdutf,
|
||||||
any.text-binary ==0.2.1.1,
|
any.text-binary ==0.2.1.1,
|
||||||
|
any.text-iso8601 ==0.1,
|
||||||
any.text-short ==0.1.5,
|
any.text-short ==0.1.5,
|
||||||
text-short -asserts,
|
text-short -asserts,
|
||||||
any.text-zipper ==0.13,
|
any.text-zipper ==0.13,
|
||||||
any.tf-random ==0.5,
|
any.tf-random ==0.5,
|
||||||
any.th-abstraction ==0.5.0.0,
|
any.th-abstraction ==0.6.0.0,
|
||||||
any.th-compat ==0.1.4,
|
any.th-compat ==0.1.4,
|
||||||
any.th-lift ==0.8.4,
|
any.th-lift ==0.8.4,
|
||||||
any.th-lift-instances ==0.1.20,
|
any.th-lift-instances ==0.1.20,
|
||||||
@@ -248,11 +249,11 @@ constraints: any.Cabal ==3.6.3.0,
|
|||||||
vector-algorithms +bench +boundschecks -internalchecks -llvm +properties -unsafechecks,
|
vector-algorithms +bench +boundschecks -internalchecks -llvm +properties -unsafechecks,
|
||||||
any.vector-binary-instances ==0.2.5.2,
|
any.vector-binary-instances ==0.2.5.2,
|
||||||
any.vector-stream ==0.1.0.1,
|
any.vector-stream ==0.1.0.1,
|
||||||
any.versions ==6.0.4,
|
any.versions ==6.0.5,
|
||||||
any.vty ==6.0,
|
any.vty ==6.2,
|
||||||
any.vty-crossplatform ==0.2.0.0,
|
any.vty-crossplatform ==0.4.0.0,
|
||||||
vty-crossplatform -demos,
|
vty-crossplatform -demos,
|
||||||
any.vty-unix ==0.1.0.0,
|
any.vty-unix ==0.2.0.0,
|
||||||
any.witherable ==0.4.2,
|
any.witherable ==0.4.2,
|
||||||
any.word-wrap ==0.5,
|
any.word-wrap ==0.5,
|
||||||
any.word8 ==0.1.3,
|
any.word8 ==0.1.3,
|
||||||
@@ -266,4 +267,4 @@ constraints: any.Cabal ==3.6.3.0,
|
|||||||
any.zlib-bindings ==0.1.1.5,
|
any.zlib-bindings ==0.1.1.5,
|
||||||
any.zstd ==0.1.3.0,
|
any.zstd ==0.1.3.0,
|
||||||
zstd +standalone
|
zstd +standalone
|
||||||
index-state: hackage.haskell.org 2024-01-19T19:48:54Z
|
index-state: hackage.haskell.org 2024-02-18T14:07:35Z
|
||||||
|
|||||||
@@ -26,11 +26,6 @@ source-repository-package
|
|||||||
location: https://github.com/hasufell/uri-bytestring.git
|
location: https://github.com/hasufell/uri-bytestring.git
|
||||||
tag: 4fb5ed14b500c192e6e7a97f6b2b1eb478806001
|
tag: 4fb5ed14b500c192e6e7a97f6b2b1eb478806001
|
||||||
|
|
||||||
source-repository-package
|
|
||||||
type: git
|
|
||||||
location: https://github.com/hasufell/versions.git
|
|
||||||
tag: 79e18fbc44fae3064d8957c550cc0229465db320
|
|
||||||
|
|
||||||
package libarchive
|
package libarchive
|
||||||
flags: -system-libarchive
|
flags: -system-libarchive
|
||||||
|
|
||||||
@@ -49,7 +44,7 @@ package streamly
|
|||||||
package *
|
package *
|
||||||
test-show-details: direct
|
test-show-details: direct
|
||||||
|
|
||||||
allow-newer: cabal-install-parsers:tar
|
allow-newer: cabal-install-parsers:tar, streamly:Win32
|
||||||
|
|
||||||
|
|
||||||
with-compiler: ghc-9.4.8
|
with-compiler: ghc-9.4.8
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
active-repositories: hackage.haskell.org:merge
|
active-repositories: hackage.haskell.org:merge
|
||||||
constraints: any.Cabal ==3.6.3.0 || ==3.8.1.0,
|
constraints: any.Cabal ==3.10.2.1,
|
||||||
Cabal -bundled-binary-generic,
|
any.Cabal-syntax ==3.10.2.0,
|
||||||
any.Cabal-syntax ==3.8.1.0 || ==3.10.2.0,
|
|
||||||
any.HUnit ==1.6.2.0,
|
any.HUnit ==1.6.2.0,
|
||||||
any.HsOpenSSL ==0.11.7.6,
|
any.HsOpenSSL ==0.11.7.6,
|
||||||
HsOpenSSL -fast-bignum -homebrew-openssl -macports-openssl -use-pkg-config,
|
HsOpenSSL -fast-bignum -homebrew-openssl -macports-openssl -use-pkg-config,
|
||||||
@@ -11,8 +10,8 @@ constraints: any.Cabal ==3.6.3.0 || ==3.8.1.0,
|
|||||||
any.StateVar ==1.2.2,
|
any.StateVar ==1.2.2,
|
||||||
any.abstract-deque ==0.3,
|
any.abstract-deque ==0.3,
|
||||||
abstract-deque -usecas,
|
abstract-deque -usecas,
|
||||||
any.aeson ==2.1.2.1,
|
any.aeson ==2.2.1.0,
|
||||||
aeson -cffi +ordered-keymap,
|
aeson +ordered-keymap,
|
||||||
any.aeson-pretty ==0.8.10,
|
any.aeson-pretty ==0.8.10,
|
||||||
aeson-pretty +lib-only,
|
aeson-pretty +lib-only,
|
||||||
any.alex ==3.5.0.0,
|
any.alex ==3.5.0.0,
|
||||||
@@ -26,13 +25,12 @@ constraints: any.Cabal ==3.6.3.0 || ==3.8.1.0,
|
|||||||
assoc +tagged,
|
assoc +tagged,
|
||||||
any.async ==2.2.5,
|
any.async ==2.2.5,
|
||||||
async -bench,
|
async -bench,
|
||||||
any.atomic-primops ==0.8.4,
|
any.atomic-primops ==0.8.5,
|
||||||
atomic-primops -debug,
|
atomic-primops -debug,
|
||||||
any.attoparsec ==0.14.4,
|
any.attoparsec ==0.14.4,
|
||||||
attoparsec -developer,
|
attoparsec -developer,
|
||||||
any.base ==4.17.2.1,
|
any.base ==4.17.2.1,
|
||||||
any.base-compat ==0.13.1,
|
any.base-compat ==0.13.1,
|
||||||
any.base-compat-batteries ==0.13.1,
|
|
||||||
any.base-orphans ==0.9.1,
|
any.base-orphans ==0.9.1,
|
||||||
any.base16-bytestring ==1.0.2.0,
|
any.base16-bytestring ==1.0.2.0,
|
||||||
any.base64-bytestring ==1.2.1.0,
|
any.base64-bytestring ==1.2.1.0,
|
||||||
@@ -54,7 +52,7 @@ constraints: any.Cabal ==3.6.3.0 || ==3.8.1.0,
|
|||||||
any.bzlib-conduit ==0.3.0.2,
|
any.bzlib-conduit ==0.3.0.2,
|
||||||
any.c2hs ==0.28.8,
|
any.c2hs ==0.28.8,
|
||||||
c2hs +base3 -regression,
|
c2hs +base3 -regression,
|
||||||
any.cabal-install-parsers ==0.6.1,
|
any.cabal-install-parsers ==0.6.1.1,
|
||||||
any.cabal-plan ==0.7.3.0,
|
any.cabal-plan ==0.7.3.0,
|
||||||
cabal-plan -_ -exe -license-report,
|
cabal-plan -_ -exe -license-report,
|
||||||
any.call-stack ==0.4.0,
|
any.call-stack ==0.4.0,
|
||||||
@@ -80,9 +78,9 @@ constraints: any.Cabal ==3.6.3.0 || ==3.8.1.0,
|
|||||||
any.data-default-class ==0.1.2.0,
|
any.data-default-class ==0.1.2.0,
|
||||||
any.data-fix ==0.3.2,
|
any.data-fix ==0.3.2,
|
||||||
any.deepseq ==1.4.8.0,
|
any.deepseq ==1.4.8.0,
|
||||||
any.digest ==0.0.2.0,
|
any.digest ==0.0.2.1,
|
||||||
digest -have_arm64_crc32c -have_builtin_prefetch -have_mm_prefetch -have_sse42 -have_strong_getauxval -have_weak_getauxval +pkg-config,
|
digest -have_arm64_crc32c -have_builtin_prefetch -have_mm_prefetch -have_sse42 -have_strong_getauxval -have_weak_getauxval +pkg-config,
|
||||||
any.directory ==1.3.7.1,
|
any.directory ==1.3.8.1,
|
||||||
any.disk-free-space ==0.1.0.1,
|
any.disk-free-space ==0.1.0.1,
|
||||||
any.distributive ==0.6.2.1,
|
any.distributive ==0.6.2.1,
|
||||||
distributive +semigroups +tagged,
|
distributive +semigroups +tagged,
|
||||||
@@ -90,7 +88,8 @@ constraints: any.Cabal ==3.6.3.0 || ==3.8.1.0,
|
|||||||
dlist -werror,
|
dlist -werror,
|
||||||
any.exceptions ==0.10.5,
|
any.exceptions ==0.10.5,
|
||||||
any.file-uri ==0.1.0.0,
|
any.file-uri ==0.1.0.0,
|
||||||
any.filepath ==1.4.2.2,
|
any.filepath ==1.4.300.1,
|
||||||
|
filepath -cpphs,
|
||||||
any.foldable1-classes-compat ==0.1,
|
any.foldable1-classes-compat ==0.1,
|
||||||
foldable1-classes-compat +tagged,
|
foldable1-classes-compat +tagged,
|
||||||
any.free ==5.2,
|
any.free ==5.2,
|
||||||
@@ -116,16 +115,17 @@ constraints: any.Cabal ==3.6.3.0 || ==3.8.1.0,
|
|||||||
any.hspec-discover ==2.10.10,
|
any.hspec-discover ==2.10.10,
|
||||||
any.hspec-expectations ==0.8.2,
|
any.hspec-expectations ==0.8.2,
|
||||||
any.hspec-golden-aeson ==0.9.0.0,
|
any.hspec-golden-aeson ==0.9.0.0,
|
||||||
any.http-io-streams ==0.1.6.3,
|
any.http-io-streams ==0.1.7.0,
|
||||||
http-io-streams -brotli +fast-xor,
|
http-io-streams -brotli +fast-xor,
|
||||||
any.indexed-profunctors ==0.1.1.1,
|
any.indexed-profunctors ==0.1.1.1,
|
||||||
any.indexed-traversable ==0.1.3,
|
any.indexed-traversable ==0.1.3,
|
||||||
any.indexed-traversable-instances ==0.1.1.2,
|
any.indexed-traversable-instances ==0.1.1.2,
|
||||||
|
any.integer-conversion ==0.1.0.1,
|
||||||
any.integer-logarithms ==1.0.3.1,
|
any.integer-logarithms ==1.0.3.1,
|
||||||
integer-logarithms -check-bounds +integer-gmp,
|
integer-logarithms -check-bounds +integer-gmp,
|
||||||
any.io-streams ==1.5.2.2,
|
any.io-streams ==1.5.2.2,
|
||||||
io-streams +network -nointeractivetests +zlib,
|
io-streams +network -nointeractivetests +zlib,
|
||||||
any.language-c ==0.9.2,
|
any.language-c ==0.9.3,
|
||||||
language-c -allwarnings +iecfpextension +usebytestrings,
|
language-c -allwarnings +iecfpextension +usebytestrings,
|
||||||
any.libyaml-streamly ==0.2.2,
|
any.libyaml-streamly ==0.2.2,
|
||||||
libyaml-streamly -no-unicode -system-libyaml,
|
libyaml-streamly -no-unicode -system-libyaml,
|
||||||
@@ -166,7 +166,7 @@ constraints: any.Cabal ==3.6.3.0 || ==3.8.1.0,
|
|||||||
any.profunctors ==5.6.2,
|
any.profunctors ==5.6.2,
|
||||||
any.quickcheck-arbitrary-adt ==0.3.1.0,
|
any.quickcheck-arbitrary-adt ==0.3.1.0,
|
||||||
any.quickcheck-io ==0.2.0,
|
any.quickcheck-io ==0.2.0,
|
||||||
any.random ==1.2.1.1,
|
any.random ==1.2.1.2,
|
||||||
any.recursion-schemes ==5.2.2.5,
|
any.recursion-schemes ==5.2.2.5,
|
||||||
recursion-schemes +template-haskell,
|
recursion-schemes +template-haskell,
|
||||||
any.regex-base ==0.94.0.2,
|
any.regex-base ==0.94.0.2,
|
||||||
@@ -209,16 +209,17 @@ constraints: any.Cabal ==3.6.3.0 || ==3.8.1.0,
|
|||||||
any.terminfo ==0.4.1.5,
|
any.terminfo ==0.4.1.5,
|
||||||
any.text ==2.0.2,
|
any.text ==2.0.2,
|
||||||
any.text-binary ==0.2.1.1,
|
any.text-binary ==0.2.1.1,
|
||||||
|
any.text-iso8601 ==0.1,
|
||||||
any.text-short ==0.1.5,
|
any.text-short ==0.1.5,
|
||||||
text-short -asserts,
|
text-short -asserts,
|
||||||
any.text-zipper ==0.13,
|
any.text-zipper ==0.13,
|
||||||
any.tf-random ==0.5,
|
any.tf-random ==0.5,
|
||||||
any.th-abstraction ==0.5.0.0,
|
any.th-abstraction ==0.6.0.0,
|
||||||
any.th-compat ==0.1.4,
|
any.th-compat ==0.1.4,
|
||||||
any.th-lift ==0.8.4,
|
any.th-lift ==0.8.4,
|
||||||
any.th-lift-instances ==0.1.20,
|
any.th-lift-instances ==0.1.20,
|
||||||
any.these ==1.2,
|
any.these ==1.2,
|
||||||
any.time ==1.11.1.2 || ==1.12.2,
|
any.time ==1.11.1.2,
|
||||||
any.time-compat ==1.9.6.1,
|
any.time-compat ==1.9.6.1,
|
||||||
time-compat -old-locale,
|
time-compat -old-locale,
|
||||||
any.transformers ==0.5.6.2,
|
any.transformers ==0.5.6.2,
|
||||||
@@ -229,7 +230,8 @@ constraints: any.Cabal ==3.6.3.0 || ==3.8.1.0,
|
|||||||
any.typed-process ==0.2.11.1,
|
any.typed-process ==0.2.11.1,
|
||||||
any.unicode-data ==0.3.1,
|
any.unicode-data ==0.3.1,
|
||||||
unicode-data -ucd2haskell,
|
unicode-data -ucd2haskell,
|
||||||
any.unix ==2.7.3,
|
any.unix ==2.8.5.0,
|
||||||
|
unix -os-string,
|
||||||
any.unix-bytestring ==0.3.7.8,
|
any.unix-bytestring ==0.3.7.8,
|
||||||
any.unix-compat ==0.7.1,
|
any.unix-compat ==0.7.1,
|
||||||
unix-compat -old-time,
|
unix-compat -old-time,
|
||||||
@@ -246,11 +248,11 @@ constraints: any.Cabal ==3.6.3.0 || ==3.8.1.0,
|
|||||||
vector-algorithms +bench +boundschecks -internalchecks -llvm +properties -unsafechecks,
|
vector-algorithms +bench +boundschecks -internalchecks -llvm +properties -unsafechecks,
|
||||||
any.vector-binary-instances ==0.2.5.2,
|
any.vector-binary-instances ==0.2.5.2,
|
||||||
any.vector-stream ==0.1.0.1,
|
any.vector-stream ==0.1.0.1,
|
||||||
any.versions ==6.0.4,
|
any.versions ==6.0.5,
|
||||||
any.vty ==6.0,
|
any.vty ==6.2,
|
||||||
any.vty-crossplatform ==0.2.0.0,
|
any.vty-crossplatform ==0.4.0.0,
|
||||||
vty-crossplatform -demos,
|
vty-crossplatform -demos,
|
||||||
any.vty-unix ==0.1.0.0,
|
any.vty-unix ==0.2.0.0,
|
||||||
any.witherable ==0.4.2,
|
any.witherable ==0.4.2,
|
||||||
any.word-wrap ==0.5,
|
any.word-wrap ==0.5,
|
||||||
any.word8 ==0.1.3,
|
any.word8 ==0.1.3,
|
||||||
@@ -264,4 +266,4 @@ constraints: any.Cabal ==3.6.3.0 || ==3.8.1.0,
|
|||||||
any.zlib-bindings ==0.1.1.5,
|
any.zlib-bindings ==0.1.1.5,
|
||||||
any.zstd ==0.1.3.0,
|
any.zstd ==0.1.3.0,
|
||||||
zstd +standalone
|
zstd +standalone
|
||||||
index-state: hackage.haskell.org 2024-01-19T19:48:54Z
|
index-state: hackage.haskell.org 2024-02-18T14:07:35Z
|
||||||
|
|||||||
@@ -26,11 +26,6 @@ source-repository-package
|
|||||||
location: https://github.com/hasufell/uri-bytestring.git
|
location: https://github.com/hasufell/uri-bytestring.git
|
||||||
tag: 4fb5ed14b500c192e6e7a97f6b2b1eb478806001
|
tag: 4fb5ed14b500c192e6e7a97f6b2b1eb478806001
|
||||||
|
|
||||||
source-repository-package
|
|
||||||
type: git
|
|
||||||
location: https://github.com/hasufell/versions.git
|
|
||||||
tag: 79e18fbc44fae3064d8957c550cc0229465db320
|
|
||||||
|
|
||||||
package libarchive
|
package libarchive
|
||||||
flags: -system-libarchive
|
flags: -system-libarchive
|
||||||
|
|
||||||
@@ -49,5 +44,5 @@ package streamly
|
|||||||
package *
|
package *
|
||||||
test-show-details: direct
|
test-show-details: direct
|
||||||
|
|
||||||
allow-newer: cabal-install-parsers:tar
|
allow-newer: cabal-install-parsers:tar, streamly:Win32
|
||||||
|
|
||||||
|
|||||||
@@ -1,2 +0,0 @@
|
|||||||
-- windows picks weird version
|
|
||||||
constraints: any.hsc2hs ==0.68.8
|
|
||||||
@@ -29,7 +29,9 @@ elif os(freebsd)
|
|||||||
|
|
||||||
constraints: http-io-streams -brotli,
|
constraints: http-io-streams -brotli,
|
||||||
any.aeson >= 2.0.1.0,
|
any.aeson >= 2.0.1.0,
|
||||||
any.hsc2hs ==0.68.8
|
any.hsc2hs ==0.68.8,
|
||||||
|
directory >= 1.3.8.3,
|
||||||
|
filepath == 1.4.101.0 || == 1.4.300.1 || >= 1.5.2.0
|
||||||
|
|
||||||
package libarchive
|
package libarchive
|
||||||
flags: -system-libarchive
|
flags: -system-libarchive
|
||||||
@@ -56,10 +58,5 @@ source-repository-package
|
|||||||
location: https://github.com/hasufell/uri-bytestring.git
|
location: https://github.com/hasufell/uri-bytestring.git
|
||||||
tag: 4fb5ed14b500c192e6e7a97f6b2b1eb478806001
|
tag: 4fb5ed14b500c192e6e7a97f6b2b1eb478806001
|
||||||
|
|
||||||
source-repository-package
|
allow-newer: cabal-install-parsers:tar, streamly:Win32
|
||||||
type: git
|
|
||||||
location: https://github.com/hasufell/versions.git
|
|
||||||
tag: 79e18fbc44fae3064d8957c550cc0229465db320
|
|
||||||
|
|
||||||
allow-newer: cabal-install-parsers:tar
|
|
||||||
|
|
||||||
|
|||||||
20
ghcup.cabal
20
ghcup.cabal
@@ -43,7 +43,7 @@ flag tui
|
|||||||
description:
|
description:
|
||||||
Build the brick powered tui (ghcup tui).
|
Build the brick powered tui (ghcup tui).
|
||||||
|
|
||||||
default: False
|
default: True
|
||||||
manual: True
|
manual: True
|
||||||
|
|
||||||
flag internal-downloader
|
flag internal-downloader
|
||||||
@@ -75,7 +75,7 @@ common app-common-depends
|
|||||||
, containers ^>=0.6
|
, containers ^>=0.6
|
||||||
, deepseq ^>=1.4
|
, deepseq ^>=1.4
|
||||||
, directory ^>=1.3.6.0
|
, directory ^>=1.3.6.0
|
||||||
, filepath ^>=1.4.2.1
|
, filepath >=1.4.101.0
|
||||||
, haskus-utils-types ^>=1.5
|
, haskus-utils-types ^>=1.5
|
||||||
, haskus-utils-variant ^>=3.3
|
, haskus-utils-variant ^>=3.3
|
||||||
, megaparsec >=8.0.0 && <9.3
|
, megaparsec >=8.0.0 && <9.3
|
||||||
@@ -96,7 +96,7 @@ common app-common-depends
|
|||||||
, uri-bytestring ^>=0.3.2.2
|
, uri-bytestring ^>=0.3.2.2
|
||||||
, utf8-string ^>=1.0
|
, utf8-string ^>=1.0
|
||||||
, vector >=0.12 && <0.14
|
, vector >=0.12 && <0.14
|
||||||
, versions >=6.0.3 && <6.1
|
, versions >=6.0.5 && <6.1
|
||||||
, yaml-streamly ^>=0.12.0
|
, yaml-streamly ^>=0.12.0
|
||||||
|
|
||||||
if flag(tar)
|
if flag(tar)
|
||||||
@@ -175,7 +175,7 @@ library
|
|||||||
, base16-bytestring >=0.1.1.6 && <1.1
|
, base16-bytestring >=0.1.1.6 && <1.1
|
||||||
, binary ^>=0.8.6.0
|
, binary ^>=0.8.6.0
|
||||||
, bytestring >=0.10 && <0.12
|
, bytestring >=0.10 && <0.12
|
||||||
, Cabal ^>=3.0.0.0 || ^>=3.2.0.0 || ^>=3.4.0.0 || ^>=3.6.0.0
|
, Cabal ^>=3.0.0.0 || ^>=3.2.0.0 || ^>=3.4.0.0 || ^>=3.6.0.0 || ^>=3.8.0.0 || ^>= 3.10.0.0
|
||||||
, case-insensitive ^>=1.2.1.0
|
, case-insensitive ^>=1.2.1.0
|
||||||
, casing ^>=0.1.4.1
|
, casing ^>=0.1.4.1
|
||||||
, containers ^>=0.6
|
, containers ^>=0.6
|
||||||
@@ -184,7 +184,7 @@ library
|
|||||||
, directory ^>=1.3.6.0
|
, directory ^>=1.3.6.0
|
||||||
, disk-free-space ^>=0.1.0.1
|
, disk-free-space ^>=0.1.0.1
|
||||||
, exceptions ^>=0.10
|
, exceptions ^>=0.10
|
||||||
, filepath ^>=1.4.2.1
|
, filepath >=1.4.101.0
|
||||||
, file-uri ^>=0.1.0.0
|
, file-uri ^>=0.1.0.0
|
||||||
, haskus-utils-types ^>=1.5
|
, haskus-utils-types ^>=1.5
|
||||||
, haskus-utils-variant ^>=3.3
|
, haskus-utils-variant ^>=3.3
|
||||||
@@ -212,7 +212,7 @@ library
|
|||||||
, unordered-containers ^>=0.2.10.0
|
, unordered-containers ^>=0.2.10.0
|
||||||
, uri-bytestring ^>=0.3.2.2
|
, uri-bytestring ^>=0.3.2.2
|
||||||
, vector >=0.12 && <0.14
|
, vector >=0.12 && <0.14
|
||||||
, versions >=6.0.3 && <6.1
|
, versions >=6.0.5 && <6.1
|
||||||
, word8 ^>=0.1.3
|
, word8 ^>=0.1.3
|
||||||
, yaml-streamly ^>=0.12.0
|
, yaml-streamly ^>=0.12.0
|
||||||
, zlib ^>=0.6.2.2
|
, zlib ^>=0.6.2.2
|
||||||
@@ -268,7 +268,7 @@ library
|
|||||||
|
|
||||||
if flag(tui)
|
if flag(tui)
|
||||||
cpp-options: -DBRICK
|
cpp-options: -DBRICK
|
||||||
build-depends: vty ^>=6.0
|
build-depends: vty ^>=6.0 || ^>=6.1 || ^>=6.2
|
||||||
|
|
||||||
library ghcup-optparse
|
library ghcup-optparse
|
||||||
import: app-common-depends
|
import: app-common-depends
|
||||||
@@ -356,7 +356,7 @@ executable ghcup
|
|||||||
build-depends:
|
build-depends:
|
||||||
, brick ^>=2.1
|
, brick ^>=2.1
|
||||||
, transformers ^>=0.5
|
, transformers ^>=0.5
|
||||||
, vty ^>=6.0
|
, vty ^>=6.0 || ^>=6.1 || ^>=6.2
|
||||||
, optics ^>=0.4
|
, optics ^>=0.4
|
||||||
|
|
||||||
if os(windows)
|
if os(windows)
|
||||||
@@ -397,7 +397,7 @@ test-suite ghcup-test
|
|||||||
, bytestring >=0.10 && <0.12
|
, bytestring >=0.10 && <0.12
|
||||||
, containers ^>=0.6
|
, containers ^>=0.6
|
||||||
, directory ^>=1.3.6.0
|
, directory ^>=1.3.6.0
|
||||||
, filepath ^>=1.4.2.1
|
, filepath >=1.4.101.0
|
||||||
, generic-arbitrary >=0.1.0 && <0.2.1 || >=0.2.2 && <0.3
|
, generic-arbitrary >=0.1.0 && <0.2.1 || >=0.2.2 && <0.3
|
||||||
, ghcup
|
, ghcup
|
||||||
, hspec >=2.7.10 && <2.11
|
, hspec >=2.7.10 && <2.11
|
||||||
@@ -408,7 +408,7 @@ test-suite ghcup-test
|
|||||||
, text ^>=2.0
|
, text ^>=2.0
|
||||||
, time >=1.9.3 && <1.12
|
, time >=1.9.3 && <1.12
|
||||||
, uri-bytestring ^>=0.3.2.2
|
, uri-bytestring ^>=0.3.2.2
|
||||||
, versions >=6.0.3 && <6.1
|
, versions >=6.0.5 && <6.1
|
||||||
|
|
||||||
if os(windows)
|
if os(windows)
|
||||||
cpp-options: -DIS_WINDOWS
|
cpp-options: -DIS_WINDOWS
|
||||||
|
|||||||
6
hie.yaml
6
hie.yaml
@@ -4,7 +4,9 @@ cradle:
|
|||||||
path: ./lib
|
path: ./lib
|
||||||
- component: "ghcup:exe:ghcup"
|
- component: "ghcup:exe:ghcup"
|
||||||
path: ./app/ghcup
|
path: ./app/ghcup
|
||||||
|
- component: "ghcup:lib:ghcup-optparse"
|
||||||
|
path: "./lib-opt"
|
||||||
- component: "ghcup:test:ghcup-test"
|
- component: "ghcup:test:ghcup-test"
|
||||||
path: ./test/ghcup-test
|
path: "./test/ghcup-test"
|
||||||
- component: "ghcup:test:ghcup-optparse-test"
|
- component: "ghcup:test:ghcup-optparse-test"
|
||||||
path: ./test/optparse-test
|
path: "./test/optparse-test"
|
||||||
|
|||||||
@@ -17,7 +17,6 @@ import GHCup.Platform
|
|||||||
import GHCup.Types
|
import GHCup.Types
|
||||||
import GHCup.Types.Optics
|
import GHCup.Types.Optics
|
||||||
import GHCup.Utils
|
import GHCup.Utils
|
||||||
import GHCup.Utils.URI
|
|
||||||
import GHCup.Prelude
|
import GHCup.Prelude
|
||||||
import GHCup.Prelude.Process
|
import GHCup.Prelude.Process
|
||||||
import GHCup.Prelude.Logger
|
import GHCup.Prelude.Logger
|
||||||
@@ -78,7 +77,6 @@ import qualified Cabal.Config as CC
|
|||||||
--[ Types ]--
|
--[ Types ]--
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
|
|
||||||
-- a superset of ToolVersion
|
-- a superset of ToolVersion
|
||||||
data SetToolVersion = SetGHCVersion GHCTargetVersion
|
data SetToolVersion = SetGHCVersion GHCTargetVersion
|
||||||
| SetToolVersion Version
|
| SetToolVersion Version
|
||||||
@@ -314,6 +312,29 @@ gpgParser s' | t == T.pack "strict" = Right GPGStrict
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
overWriteVersionParser :: String -> Either String [VersionPattern]
|
||||||
|
overWriteVersionParser = first (const "Not a valid version pattern") . MP.parse (MP.many versionPattern <* MP.eof) "" . T.pack
|
||||||
|
where
|
||||||
|
versionPattern :: MP.Parsec Void Text VersionPattern
|
||||||
|
versionPattern = do
|
||||||
|
str' <- T.unpack <$> MP.takeWhileP Nothing (/= '%')
|
||||||
|
if str' /= mempty
|
||||||
|
then pure (S str')
|
||||||
|
else fmap (const CabalVer) v_cabal
|
||||||
|
<|> fmap (const GitBranchName) b_name
|
||||||
|
<|> fmap (const GitHashShort) s_hash
|
||||||
|
<|> fmap (const GitHashLong) l_hash
|
||||||
|
<|> fmap (const GitDescribe) g_desc
|
||||||
|
<|> ((\a b -> S (a : T.unpack b)) <$> MP.satisfy (const True) <*> MP.takeWhileP Nothing (== '%')) -- invalid pattern, e.g. "%k"
|
||||||
|
where
|
||||||
|
v_cabal = MP.chunk "%v"
|
||||||
|
b_name = MP.chunk "%b"
|
||||||
|
s_hash = MP.chunk "%h"
|
||||||
|
l_hash = MP.chunk "%H"
|
||||||
|
g_desc = MP.chunk "%g"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
------------------
|
------------------
|
||||||
--[ Completers ]--
|
--[ Completers ]--
|
||||||
------------------
|
------------------
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ import qualified Data.Versions as V
|
|||||||
import Data.Text ( Text )
|
import Data.Text ( Text )
|
||||||
import Haskus.Utils.Variant.Excepts
|
import Haskus.Utils.Variant.Excepts
|
||||||
import Options.Applicative hiding ( style )
|
import Options.Applicative hiding ( style )
|
||||||
import Options.Applicative.Help.Pretty ( text )
|
import Options.Applicative.Help.Pretty ( text, vsep )
|
||||||
import Prelude hiding ( appendFile )
|
import Prelude hiding ( appendFile )
|
||||||
import System.Exit
|
import System.Exit
|
||||||
|
|
||||||
@@ -74,7 +74,7 @@ data GHCCompileOptions = GHCCompileOptions
|
|||||||
, crossTarget :: Maybe Text
|
, crossTarget :: Maybe Text
|
||||||
, addConfArgs :: [Text]
|
, addConfArgs :: [Text]
|
||||||
, setCompile :: Bool
|
, setCompile :: Bool
|
||||||
, ovewrwiteVer :: Maybe Version
|
, overwriteVer :: Maybe [VersionPattern]
|
||||||
, buildFlavour :: Maybe String
|
, buildFlavour :: Maybe String
|
||||||
, buildSystem :: Maybe BuildSystem
|
, buildSystem :: Maybe BuildSystem
|
||||||
, isolateDir :: Maybe FilePath
|
, isolateDir :: Maybe FilePath
|
||||||
@@ -86,7 +86,7 @@ data HLSCompileOptions = HLSCompileOptions
|
|||||||
, jobs :: Maybe Int
|
, jobs :: Maybe Int
|
||||||
, setCompile :: Bool
|
, setCompile :: Bool
|
||||||
, updateCabal :: Bool
|
, updateCabal :: Bool
|
||||||
, ovewrwiteVer :: Either Bool Version
|
, overwriteVer :: Maybe [VersionPattern]
|
||||||
, isolateDir :: Maybe FilePath
|
, isolateDir :: Maybe FilePath
|
||||||
, cabalProject :: Maybe (Either FilePath URI)
|
, cabalProject :: Maybe (Either FilePath URI)
|
||||||
, cabalProjectLocal :: Maybe URI
|
, cabalProjectLocal :: Maybe URI
|
||||||
@@ -155,8 +155,8 @@ Examples:
|
|||||||
Examples:
|
Examples:
|
||||||
# compile 1.7.0.0 from hackage for 8.10.7, running 'cabal update' before the build
|
# compile 1.7.0.0 from hackage for 8.10.7, running 'cabal update' before the build
|
||||||
ghcup compile hls --version 1.7.0.0 --ghc 8.10.7 --cabal-update
|
ghcup compile hls --version 1.7.0.0 --ghc 8.10.7 --cabal-update
|
||||||
# compile from master for ghc 9.2.3 using 'git describe' to name the binary and ignore the pinned index state
|
# compile from master for ghc 9.2.3, appending the short git commit hash to the version and ignore the pinned index state
|
||||||
ghcup compile hls -g master --git-describe-version --ghc 9.2.3 -- --index-state=@(date '+%s')
|
ghcup compile hls -g master -o '%v-%h' --ghc 9.2.3 -- --index-state=@(date '+%s')
|
||||||
# compile a specific commit for ghc 9.2.3 and set a specific version for the binary name
|
# compile a specific commit for ghc 9.2.3 and set a specific version for the binary name
|
||||||
ghcup compile hls -g a32db0b -o 1.7.0.0-p1 --ghc 9.2.3|]
|
ghcup compile hls -g a32db0b -o 1.7.0.0-p1 --ghc 9.2.3|]
|
||||||
|
|
||||||
@@ -253,11 +253,16 @@ ghcCompileOpts =
|
|||||||
<*> fmap (fromMaybe False) (invertableSwitch "set" Nothing False (help "Set as active version after install"))
|
<*> fmap (fromMaybe False) (invertableSwitch "set" Nothing False (help "Set as active version after install"))
|
||||||
<*> optional
|
<*> optional
|
||||||
(option
|
(option
|
||||||
(eitherReader
|
(eitherReader overWriteVersionParser
|
||||||
(first (const "Not a valid version") . version . T.pack)
|
|
||||||
)
|
)
|
||||||
(short 'o' <> long "overwrite-version" <> metavar "OVERWRITE_VERSION" <> help
|
(short 'o' <> long "overwrite-version" <> metavar "OVERWRITE_VERSION"
|
||||||
"Allows to overwrite the finally installed VERSION with a different one, e.g. when you build 8.10.4 with your own patches, you might want to set this to '8.10.4-p1'"
|
<> helpDoc (Just $ vsep [ text "Overwrite the finally installed VERSION with a different one. Allows to specify patterns"
|
||||||
|
, text "%v version"
|
||||||
|
, text "%b branch name"
|
||||||
|
, text "%h short commit hash"
|
||||||
|
, text "%H long commit hash"
|
||||||
|
, text "%g 'git describe' output"
|
||||||
|
])
|
||||||
<> (completer $ versionCompleter [] GHC)
|
<> (completer $ versionCompleter [] GHC)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
@@ -343,19 +348,25 @@ hlsCompileOpts =
|
|||||||
<*> switch (long "cabal-update" <> help "Run 'cabal update' before the build")
|
<*> switch (long "cabal-update" <> help "Run 'cabal update' before the build")
|
||||||
<*>
|
<*>
|
||||||
(
|
(
|
||||||
(Right <$> option
|
optional (option
|
||||||
(eitherReader
|
(eitherReader overWriteVersionParser
|
||||||
(first (const "Not a valid version") . version . T.pack)
|
|
||||||
)
|
)
|
||||||
(short 'o' <> long "overwrite-version" <> metavar "OVERWRITE_VERSION" <> help
|
(short 'o' <> long "overwrite-version" <> metavar "OVERWRITE_VERSION"
|
||||||
"Allows to overwrite the finally installed VERSION with a different one, e.g. when you build 8.10.4 with your own patches, you might want to set this to '8.10.4-p1'"
|
<> helpDoc (Just $ vsep [ text "Overwrite the finally installed VERSION with a different one. Allows to specify patterns"
|
||||||
|
, text "%v version from cabal file"
|
||||||
|
, text "%b branch name"
|
||||||
|
, text "%h short commit hash"
|
||||||
|
, text "%H long commit hash"
|
||||||
|
, text "%g 'git describe' output"
|
||||||
|
])
|
||||||
<> (completer $ versionCompleter [] HLS)
|
<> (completer $ versionCompleter [] HLS)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
<|>
|
<|>
|
||||||
(Left <$> (switch
|
((\b -> if b then Just [GitDescribe] else Nothing) <$> (switch
|
||||||
(long "git-describe-version"
|
(long "git-describe-version"
|
||||||
<> help "Use the output of 'git describe' (if building from git) as the VERSION component of the installed binary."
|
<> help "Use the output of 'git describe' (if building from git) as the VERSION component of the installed binary."
|
||||||
|
<> internal
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
@@ -529,7 +540,7 @@ compile compileCommand settings Dirs{..} runAppState runLogger = do
|
|||||||
targetHLS
|
targetHLS
|
||||||
ghcs
|
ghcs
|
||||||
jobs
|
jobs
|
||||||
ovewrwiteVer
|
overwriteVer
|
||||||
(maybe GHCupInternal IsolateDir isolateDir)
|
(maybe GHCupInternal IsolateDir isolateDir)
|
||||||
cabalProject
|
cabalProject
|
||||||
cabalProjectLocal
|
cabalProjectLocal
|
||||||
@@ -576,7 +587,7 @@ compile compileCommand settings Dirs{..} runAppState runLogger = do
|
|||||||
targetVer <- liftE $ compileGHC
|
targetVer <- liftE $ compileGHC
|
||||||
targetGhc
|
targetGhc
|
||||||
crossTarget
|
crossTarget
|
||||||
ovewrwiteVer
|
overwriteVer
|
||||||
bootstrapGhc
|
bootstrapGhc
|
||||||
jobs
|
jobs
|
||||||
buildConfig
|
buildConfig
|
||||||
|
|||||||
@@ -92,6 +92,8 @@ import qualified Data.Yaml.Aeson as Y
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-- $setup
|
||||||
|
-- >>> :set -XOverloadedStrings
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -807,7 +807,7 @@ compileGHC :: ( MonadMask m
|
|||||||
)
|
)
|
||||||
=> GHCVer
|
=> GHCVer
|
||||||
-> Maybe Text -- ^ cross target
|
-> Maybe Text -- ^ cross target
|
||||||
-> Maybe Version -- ^ overwrite version
|
-> Maybe [VersionPattern]
|
||||||
-> Either Version FilePath -- ^ version to bootstrap with
|
-> Either Version FilePath -- ^ version to bootstrap with
|
||||||
-> Maybe Int -- ^ jobs
|
-> Maybe Int -- ^ jobs
|
||||||
-> Maybe FilePath -- ^ build config
|
-> Maybe FilePath -- ^ build config
|
||||||
@@ -843,12 +843,12 @@ compileGHC :: ( MonadMask m
|
|||||||
]
|
]
|
||||||
m
|
m
|
||||||
GHCTargetVersion
|
GHCTargetVersion
|
||||||
compileGHC targetGhc crossTarget ov bstrap jobs mbuildConfig patches aargs buildFlavour buildSystem installDir
|
compileGHC targetGhc crossTarget vps bstrap jobs mbuildConfig patches aargs buildFlavour buildSystem installDir
|
||||||
= do
|
= do
|
||||||
pfreq@PlatformRequest { .. } <- lift getPlatformReq
|
pfreq@PlatformRequest { .. } <- lift getPlatformReq
|
||||||
GHCupInfo { _ghcupDownloads = dls } <- lift getGHCupInfo
|
GHCupInfo { _ghcupDownloads = dls } <- lift getGHCupInfo
|
||||||
|
|
||||||
(workdir, tmpUnpack, tver) <- case targetGhc of
|
(workdir, tmpUnpack, tver, ov) <- case targetGhc of
|
||||||
-- unpack from version tarball
|
-- unpack from version tarball
|
||||||
SourceDist ver -> do
|
SourceDist ver -> do
|
||||||
lift $ logDebug $ "Requested to compile: " <> prettyVer ver <> " with " <> either prettyVer T.pack bstrap
|
lift $ logDebug $ "Requested to compile: " <> prettyVer ver <> " with " <> either prettyVer T.pack bstrap
|
||||||
@@ -870,7 +870,11 @@ compileGHC targetGhc crossTarget ov bstrap jobs mbuildConfig patches aargs build
|
|||||||
(view dlSubdir dlInfo)
|
(view dlSubdir dlInfo)
|
||||||
liftE $ applyAnyPatch patches (fromGHCupPath workdir)
|
liftE $ applyAnyPatch patches (fromGHCupPath workdir)
|
||||||
|
|
||||||
pure (workdir, tmpUnpack, Just (GHCTargetVersion crossTarget ver))
|
ov <- case vps of
|
||||||
|
Just vps' -> fmap Just $ expandVersionPattern (Just ver) "" "" "" "" vps'
|
||||||
|
Nothing -> pure Nothing
|
||||||
|
|
||||||
|
pure (workdir, tmpUnpack, Just (GHCTargetVersion crossTarget ver), ov)
|
||||||
|
|
||||||
RemoteDist uri -> do
|
RemoteDist uri -> do
|
||||||
lift $ logDebug $ "Requested to compile (from uri): " <> T.pack (show uri)
|
lift $ logDebug $ "Requested to compile (from uri): " <> T.pack (show uri)
|
||||||
@@ -894,13 +898,17 @@ compileGHC targetGhc crossTarget ov bstrap jobs mbuildConfig patches aargs build
|
|||||||
|
|
||||||
let workdir = appendGHCupPath tmpUnpack (takeDirectory bf)
|
let workdir = appendGHCupPath tmpUnpack (takeDirectory bf)
|
||||||
|
|
||||||
pure (workdir, tmpUnpack, GHCTargetVersion crossTarget <$> tver)
|
ov <- case vps of
|
||||||
|
Just vps' -> fmap Just $ expandVersionPattern tver "" "" "" "" vps'
|
||||||
|
Nothing -> pure Nothing
|
||||||
|
|
||||||
|
pure (workdir, tmpUnpack, GHCTargetVersion crossTarget <$> tver, ov)
|
||||||
|
|
||||||
-- clone from git
|
-- clone from git
|
||||||
GitDist GitBranch{..} -> do
|
GitDist GitBranch{..} -> do
|
||||||
tmpUnpack <- lift mkGhcupTmpDir
|
tmpUnpack <- lift mkGhcupTmpDir
|
||||||
let git args = execLogged "git" ("--no-pager":args) (Just $ fromGHCupPath tmpUnpack) "git" Nothing
|
let git args = execLogged "git" ("--no-pager":args) (Just $ fromGHCupPath tmpUnpack) "git" Nothing
|
||||||
tver <- reThrowAll @_ @'[PatchFailed, ProcessError, NotFoundInPATH, DigestError, ContentLengthError, DownloadFailed, GPGError] DownloadFailed $ do
|
(tver, ov) <- reThrowAll @_ @'[PatchFailed, ProcessError, NotFoundInPATH, DigestError, ContentLengthError, DownloadFailed, GPGError] DownloadFailed $ do
|
||||||
let rep = fromMaybe "https://gitlab.haskell.org/ghc/ghc.git" repo
|
let rep = fromMaybe "https://gitlab.haskell.org/ghc/ghc.git" repo
|
||||||
lift $ logInfo $ "Fetching git repo " <> T.pack rep <> " at ref " <> T.pack ref <> " (this may take a while)"
|
lift $ logInfo $ "Fetching git repo " <> T.pack rep <> " at ref " <> T.pack ref <> " (this may take a while)"
|
||||||
lEM $ git [ "init" ]
|
lEM $ git [ "init" ]
|
||||||
@@ -932,6 +940,7 @@ compileGHC targetGhc crossTarget ov bstrap jobs mbuildConfig patches aargs build
|
|||||||
then pure Nothing
|
then pure Nothing
|
||||||
else fmap Just $ liftE $ gitOut ["describe", "--tags"] (fromGHCupPath tmpUnpack)
|
else fmap Just $ liftE $ gitOut ["describe", "--tags"] (fromGHCupPath tmpUnpack)
|
||||||
chash <- liftE $ gitOut ["rev-parse", "HEAD" ] (fromGHCupPath tmpUnpack)
|
chash <- liftE $ gitOut ["rev-parse", "HEAD" ] (fromGHCupPath tmpUnpack)
|
||||||
|
branch <- liftE $ gitOut ["rev-parse", "--abbrev-ref", "HEAD" ] (fromGHCupPath tmpUnpack)
|
||||||
|
|
||||||
-- clone submodules
|
-- clone submodules
|
||||||
lEM $ git [ "submodule", "update", "--init", "--depth", "1" ]
|
lEM $ git [ "submodule", "update", "--init", "--depth", "1" ]
|
||||||
@@ -949,9 +958,19 @@ compileGHC targetGhc crossTarget ov bstrap jobs mbuildConfig patches aargs build
|
|||||||
(if isCommitHash ref then mempty else "\n " <> "commit hash: " <> chash)
|
(if isCommitHash ref then mempty else "\n " <> "commit hash: " <> chash)
|
||||||
liftIO $ threadDelay 5000000 -- give the user a sec to intervene
|
liftIO $ threadDelay 5000000 -- give the user a sec to intervene
|
||||||
|
|
||||||
pure tver
|
ov <- case vps of
|
||||||
|
Just vps' -> fmap Just $ expandVersionPattern
|
||||||
|
tver
|
||||||
|
(take 7 $ T.unpack chash)
|
||||||
|
(T.unpack chash)
|
||||||
|
(maybe "" T.unpack git_describe)
|
||||||
|
(T.unpack branch)
|
||||||
|
vps'
|
||||||
|
Nothing -> pure Nothing
|
||||||
|
|
||||||
pure (tmpUnpack, tmpUnpack, GHCTargetVersion crossTarget <$> tver)
|
pure (tver, ov)
|
||||||
|
|
||||||
|
pure (tmpUnpack, tmpUnpack, GHCTargetVersion crossTarget <$> tver, ov)
|
||||||
-- the version that's installed may differ from the
|
-- the version that's installed may differ from the
|
||||||
-- compiled version, so the user can overwrite it
|
-- compiled version, so the user can overwrite it
|
||||||
installVer <- if | Just ov' <- ov -> pure (GHCTargetVersion crossTarget ov')
|
installVer <- if | Just ov' <- ov -> pure (GHCTargetVersion crossTarget ov')
|
||||||
@@ -1091,7 +1110,7 @@ compileGHC targetGhc crossTarget ov bstrap jobs mbuildConfig patches aargs build
|
|||||||
compileHadrianBindist tver workdir ghcdir = do
|
compileHadrianBindist tver workdir ghcdir = do
|
||||||
liftE $ configureBindist tver workdir ghcdir
|
liftE $ configureBindist tver workdir ghcdir
|
||||||
|
|
||||||
lift $ logInfo "Building (this may take a while)..."
|
lift $ logInfo $ "Building GHC version " <> tVerToText tver <> " (this may take a while)..."
|
||||||
hadrian_build <- liftE $ findHadrianFile workdir
|
hadrian_build <- liftE $ findHadrianFile workdir
|
||||||
lEM $ execLogged hadrian_build
|
lEM $ execLogged hadrian_build
|
||||||
( maybe [] (\j -> ["-j" <> show j] ) jobs
|
( maybe [] (\j -> ["-j" <> show j] ) jobs
|
||||||
@@ -1163,7 +1182,7 @@ compileGHC targetGhc crossTarget ov bstrap jobs mbuildConfig patches aargs build
|
|||||||
|
|
||||||
liftE $ checkBuildConfig (build_mk workdir)
|
liftE $ checkBuildConfig (build_mk workdir)
|
||||||
|
|
||||||
lift $ logInfo "Building (this may take a while)..."
|
lift $ logInfo $ "Building GHC version " <> tVerToText tver <> " (this may take a while)..."
|
||||||
lEM $ make (maybe [] (\j -> ["-j" <> fS (show j)]) jobs) (Just workdir)
|
lEM $ make (maybe [] (\j -> ["-j" <> fS (show j)]) jobs) (Just workdir)
|
||||||
|
|
||||||
if | isCross tver -> do
|
if | isCross tver -> do
|
||||||
|
|||||||
@@ -335,7 +335,7 @@ compileHLS :: ( MonadMask m
|
|||||||
=> HLSVer
|
=> HLSVer
|
||||||
-> [Version]
|
-> [Version]
|
||||||
-> Maybe Int
|
-> Maybe Int
|
||||||
-> Either Bool Version
|
-> Maybe [VersionPattern]
|
||||||
-> InstallDir
|
-> InstallDir
|
||||||
-> Maybe (Either FilePath URI)
|
-> Maybe (Either FilePath URI)
|
||||||
-> Maybe URI
|
-> Maybe URI
|
||||||
@@ -353,7 +353,7 @@ compileHLS :: ( MonadMask m
|
|||||||
, BuildFailed
|
, BuildFailed
|
||||||
, NotInstalled
|
, NotInstalled
|
||||||
] m Version
|
] m Version
|
||||||
compileHLS targetHLS ghcs jobs ov installDir cabalProject cabalProjectLocal updateCabal patches cabalArgs = do
|
compileHLS targetHLS ghcs jobs vps installDir cabalProject cabalProjectLocal updateCabal patches cabalArgs = do
|
||||||
pfreq@PlatformRequest { .. } <- lift getPlatformReq
|
pfreq@PlatformRequest { .. } <- lift getPlatformReq
|
||||||
GHCupInfo { _ghcupDownloads = dls } <- lift getGHCupInfo
|
GHCupInfo { _ghcupDownloads = dls } <- lift getGHCupInfo
|
||||||
Dirs { .. } <- lift getDirs
|
Dirs { .. } <- lift getDirs
|
||||||
@@ -362,7 +362,7 @@ compileHLS targetHLS ghcs jobs ov installDir cabalProject cabalProjectLocal upda
|
|||||||
lift $ logInfo "Updating cabal DB"
|
lift $ logInfo "Updating cabal DB"
|
||||||
lEM $ exec "cabal" ["update"] (Just $ fromGHCupPath tmpDir) Nothing
|
lEM $ exec "cabal" ["update"] (Just $ fromGHCupPath tmpDir) Nothing
|
||||||
|
|
||||||
(workdir, tmpUnpack, tver, git_describe) <- case targetHLS of
|
(workdir, tmpUnpack, tver, ov) <- case targetHLS of
|
||||||
-- unpack from version tarball
|
-- unpack from version tarball
|
||||||
SourceDist tver -> do
|
SourceDist tver -> do
|
||||||
lift $ logDebug $ "Requested to compile: " <> prettyVer tver
|
lift $ logDebug $ "Requested to compile: " <> prettyVer tver
|
||||||
@@ -382,7 +382,11 @@ compileHLS targetHLS ghcs jobs ov installDir cabalProject cabalProjectLocal upda
|
|||||||
(liftE . intoSubdir tmpUnpack)
|
(liftE . intoSubdir tmpUnpack)
|
||||||
(view dlSubdir dlInfo)
|
(view dlSubdir dlInfo)
|
||||||
|
|
||||||
pure (workdir, tmpUnpack, tver, Nothing)
|
ov <- case vps of
|
||||||
|
Just vps' -> fmap Just $ expandVersionPattern (Just tver) "" "" "" "" vps'
|
||||||
|
Nothing -> pure Nothing
|
||||||
|
|
||||||
|
pure (workdir, tmpUnpack, tver, ov)
|
||||||
|
|
||||||
HackageDist tver -> do
|
HackageDist tver -> do
|
||||||
lift $ logDebug $ "Requested to compile (from hackage): " <> prettyVer tver
|
lift $ logDebug $ "Requested to compile (from hackage): " <> prettyVer tver
|
||||||
@@ -396,7 +400,11 @@ compileHLS targetHLS ghcs jobs ov installDir cabalProject cabalProjectLocal upda
|
|||||||
|
|
||||||
let workdir = appendGHCupPath tmpUnpack hls
|
let workdir = appendGHCupPath tmpUnpack hls
|
||||||
|
|
||||||
pure (workdir, tmpUnpack, tver, Nothing)
|
ov <- case vps of
|
||||||
|
Just vps' -> fmap Just $ expandVersionPattern (Just tver) "" "" "" "" vps'
|
||||||
|
Nothing -> pure Nothing
|
||||||
|
|
||||||
|
pure (workdir, tmpUnpack, tver, ov)
|
||||||
|
|
||||||
RemoteDist uri -> do
|
RemoteDist uri -> do
|
||||||
lift $ logDebug $ "Requested to compile (from uri): " <> T.pack (show uri)
|
lift $ logDebug $ "Requested to compile (from uri): " <> T.pack (show uri)
|
||||||
@@ -419,7 +427,11 @@ compileHLS targetHLS ghcs jobs ov installDir cabalProject cabalProjectLocal upda
|
|||||||
|
|
||||||
let workdir = appendGHCupPath tmpUnpack (takeDirectory cf)
|
let workdir = appendGHCupPath tmpUnpack (takeDirectory cf)
|
||||||
|
|
||||||
pure (workdir, tmpUnpack, tver, Nothing)
|
ov <- case vps of
|
||||||
|
Just vps' -> fmap Just $ expandVersionPattern (Just tver) "" "" "" "" vps'
|
||||||
|
Nothing -> pure Nothing
|
||||||
|
|
||||||
|
pure (workdir, tmpUnpack, tver, ov)
|
||||||
|
|
||||||
-- clone from git
|
-- clone from git
|
||||||
GitDist GitBranch{..} -> do
|
GitDist GitBranch{..} -> do
|
||||||
@@ -459,28 +471,31 @@ compileHLS targetHLS ghcs jobs ov installDir cabalProject cabalProjectLocal upda
|
|||||||
then pure Nothing
|
then pure Nothing
|
||||||
else fmap Just $ gitOut ["describe", "--tags"] (fromGHCupPath tmpUnpack)
|
else fmap Just $ gitOut ["describe", "--tags"] (fromGHCupPath tmpUnpack)
|
||||||
chash <- gitOut ["rev-parse", "HEAD" ] (fromGHCupPath tmpUnpack)
|
chash <- gitOut ["rev-parse", "HEAD" ] (fromGHCupPath tmpUnpack)
|
||||||
|
branch <- gitOut ["rev-parse", "--abbrev-ref", "HEAD" ] (fromGHCupPath tmpUnpack)
|
||||||
tver <- getCabalVersion (fromGHCupPath tmpUnpack </> "haskell-language-server.cabal")
|
tver <- getCabalVersion (fromGHCupPath tmpUnpack </> "haskell-language-server.cabal")
|
||||||
|
|
||||||
liftE $ catchWarn $ lEM @_ @'[ProcessError] $ darwinNotarization _rPlatform (fromGHCupPath tmpUnpack)
|
liftE $ catchWarn $ lEM @_ @'[ProcessError] $ darwinNotarization _rPlatform (fromGHCupPath tmpUnpack)
|
||||||
|
|
||||||
|
ov <- case vps of
|
||||||
|
Just vps' -> fmap Just $ expandVersionPattern
|
||||||
|
(Just tver)
|
||||||
|
(take 7 $ T.unpack chash)
|
||||||
|
(T.unpack chash)
|
||||||
|
(maybe "" T.unpack git_describe)
|
||||||
|
(T.unpack branch)
|
||||||
|
vps'
|
||||||
|
Nothing -> pure Nothing
|
||||||
|
|
||||||
lift $ logInfo $ "Examining git ref " <> T.pack ref <> "\n " <>
|
lift $ logInfo $ "Examining git ref " <> T.pack ref <> "\n " <>
|
||||||
"HLS version (from cabal file): " <> prettyVer tver <>
|
"HLS version (from cabal file): " <> prettyVer tver <>
|
||||||
|
"\n branch: " <> branch <>
|
||||||
(if not shallow_clone then "\n " <> "'git describe' output: " <> fromJust git_describe else mempty) <>
|
(if not shallow_clone then "\n " <> "'git describe' output: " <> fromJust git_describe else mempty) <>
|
||||||
(if isCommitHash ref then mempty else "\n " <> "commit hash: " <> chash)
|
(if isCommitHash ref then mempty else "\n " <> "commit hash: " <> chash)
|
||||||
|
pure (tmpUnpack, tmpUnpack, tver, ov)
|
||||||
pure (tmpUnpack, tmpUnpack, tver, git_describe)
|
|
||||||
|
|
||||||
-- the version that's installed may differ from the
|
-- the version that's installed may differ from the
|
||||||
-- compiled version, so the user can overwrite it
|
-- compiled version, so the user can overwrite it
|
||||||
installVer <- case ov of
|
installVer <- maybe (pure tver) pure ov
|
||||||
Left True -> case git_describe of
|
|
||||||
-- git describe
|
|
||||||
Just h -> either (fail . displayException) pure . version $ h
|
|
||||||
-- git describe, but not building from git, lol
|
|
||||||
Nothing -> pure tver
|
|
||||||
-- default: use detected version
|
|
||||||
Left False -> pure tver
|
|
||||||
-- overwrite version with users value
|
|
||||||
Right v -> pure v
|
|
||||||
|
|
||||||
liftE $ runBuildAction
|
liftE $ runBuildAction
|
||||||
tmpUnpack
|
tmpUnpack
|
||||||
@@ -558,9 +573,7 @@ compileHLS targetHLS ghcs jobs ov installDir cabalProject cabalProjectLocal upda
|
|||||||
|
|
||||||
pure installVer
|
pure installVer
|
||||||
where
|
where
|
||||||
gitDescribeRequested = case ov of
|
gitDescribeRequested = maybe False (GitDescribe `elem`) vps
|
||||||
Left b -> b
|
|
||||||
_ -> False
|
|
||||||
|
|
||||||
|
|
||||||
-----------------
|
-----------------
|
||||||
|
|||||||
@@ -57,12 +57,10 @@ import qualified Data.Text.Lazy.Encoding as TLE
|
|||||||
|
|
||||||
-- $setup
|
-- $setup
|
||||||
-- >>> import Data.ByteString.Internal (c2w, w2c)
|
-- >>> import Data.ByteString.Internal (c2w, w2c)
|
||||||
-- >>> import Test.QuickCheck
|
|
||||||
-- >>> import Data.Word8
|
-- >>> import Data.Word8
|
||||||
-- >>> import qualified Data.Text as T
|
-- >>> import qualified Data.Text as T
|
||||||
-- >>> import qualified Data.Char as C
|
-- >>> import qualified Data.Char as C
|
||||||
-- >>> import Data.List
|
-- >>> import Data.List
|
||||||
-- >>> instance Arbitrary T.Text where arbitrary = T.pack <$> arbitrary
|
|
||||||
|
|
||||||
|
|
||||||
fS :: IsString a => String -> a
|
fS :: IsString a => String -> a
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
{-# LANGUAGE CPP #-}
|
||||||
{-# LANGUAGE OverloadedStrings #-}
|
{-# LANGUAGE OverloadedStrings #-}
|
||||||
{-# LANGUAGE FlexibleContexts #-}
|
{-# LANGUAGE FlexibleContexts #-}
|
||||||
{-# LANGUAGE DataKinds #-}
|
{-# LANGUAGE DataKinds #-}
|
||||||
@@ -98,7 +99,12 @@ execLogged exe args chdir lfile env = do
|
|||||||
Dirs {..} <- getDirs
|
Dirs {..} <- getDirs
|
||||||
logDebug $ T.pack $ "Running " <> exe <> " with arguments " <> show args
|
logDebug $ T.pack $ "Running " <> exe <> " with arguments " <> show args
|
||||||
let logfile = fromGHCupPath logsDir </> lfile <> ".log"
|
let logfile = fromGHCupPath logsDir </> lfile <> ".log"
|
||||||
liftIO $ bracket (openFd logfile WriteOnly (Just newFilePerms) defaultFileFlags{ append = True })
|
liftIO $ bracket
|
||||||
|
#if MIN_VERSION_unix(2,8,0)
|
||||||
|
(openFd logfile WriteOnly defaultFileFlags{ append = True, creat = Just newFilePerms })
|
||||||
|
#else
|
||||||
|
(openFd logfile WriteOnly (Just newFilePerms) defaultFileFlags{ append = True })
|
||||||
|
#endif
|
||||||
closeFd
|
closeFd
|
||||||
(action verbose noColor)
|
(action verbose noColor)
|
||||||
where
|
where
|
||||||
@@ -339,7 +345,11 @@ cleanup fds = for_ fds $ \fd -> handleIO (\_ -> pure ()) $ closeFd fd
|
|||||||
-- | Create a new regular file in write-only mode. The file must not exist.
|
-- | Create a new regular file in write-only mode. The file must not exist.
|
||||||
createRegularFileFd :: FileMode -> FilePath -> IO Fd
|
createRegularFileFd :: FileMode -> FilePath -> IO Fd
|
||||||
createRegularFileFd fm dest =
|
createRegularFileFd fm dest =
|
||||||
|
#if MIN_VERSION_unix(2,8,0)
|
||||||
|
openFd dest WriteOnly defaultFileFlags{ exclusive = True, creat = Just fm }
|
||||||
|
#else
|
||||||
openFd dest WriteOnly (Just fm) defaultFileFlags{ exclusive = True }
|
openFd dest WriteOnly (Just fm) defaultFileFlags{ exclusive = True }
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
-- | Thin wrapper around `executeFile`.
|
-- | Thin wrapper around `executeFile`.
|
||||||
|
|||||||
@@ -777,3 +777,13 @@ instance Pretty ToolVersion where
|
|||||||
data BuildSystem = Hadrian
|
data BuildSystem = Hadrian
|
||||||
| Make
|
| Make
|
||||||
deriving (Show, Eq)
|
deriving (Show, Eq)
|
||||||
|
|
||||||
|
|
||||||
|
data VersionPattern = CabalVer
|
||||||
|
| GitHashShort
|
||||||
|
| GitHashLong
|
||||||
|
| GitDescribe
|
||||||
|
| GitBranchName
|
||||||
|
| S String
|
||||||
|
deriving (Eq, Show)
|
||||||
|
|
||||||
|
|||||||
@@ -108,6 +108,7 @@ import Data.Time (Day(..), diffDays, addDays)
|
|||||||
-- >>> import GHCup.Errors
|
-- >>> import GHCup.Errors
|
||||||
-- >>> import GHCup.Types
|
-- >>> import GHCup.Types
|
||||||
-- >>> import GHCup.Types.Optics
|
-- >>> import GHCup.Types.Optics
|
||||||
|
-- >>> import Data.Versions
|
||||||
-- >>> import Optics
|
-- >>> import Optics
|
||||||
-- >>> import GHCup.Prelude.Version.QQ
|
-- >>> import GHCup.Prelude.Version.QQ
|
||||||
-- >>> import qualified Data.Text.Encoding as E
|
-- >>> import qualified Data.Text.Encoding as E
|
||||||
@@ -120,8 +121,8 @@ import Data.Time (Day(..), diffDays, addDays)
|
|||||||
-- >>> let settings = defaultSettings { cache = True, metaCache = 0, noNetwork = True }
|
-- >>> let settings = defaultSettings { cache = True, metaCache = 0, noNetwork = True }
|
||||||
-- >>> let leanAppState = LeanAppState settings dirs' defaultKeyBindings lc
|
-- >>> let leanAppState = LeanAppState settings dirs' defaultKeyBindings lc
|
||||||
-- >>> cwd <- getCurrentDirectory
|
-- >>> cwd <- getCurrentDirectory
|
||||||
-- >>> (Right ref) <- pure $ parseURI strictURIParserOptions $ "file://" <> E.encodeUtf8 (T.pack cwd) <> "/data/metadata/" <> (urlBaseName . view pathL' $ ghcupURL)
|
-- >>> (Right ref) <- pure $ GHCup.Utils.parseURI $ "file://" <> E.encodeUtf8 (T.pack cwd) <> "/data/metadata/" <> (urlBaseName . view pathL' $ ghcupURL)
|
||||||
-- >>> (VRight r) <- (fmap . fmap) _ghcupDownloads $ flip runReaderT leanAppState . runE @'[DigestError, GPGError, JSONError , DownloadFailed , FileDoesNotExistError, ContentLengthError] $ liftE $ getBase ref
|
-- >>> (VRight r) <- (fmap . fmap) _ghcupDownloads $ flip runReaderT leanAppState . runE @'[DigestError, GPGError, JSONError , DownloadFailed , FileDoesNotExistError, ContentLengthError] $ liftE (getBase ref) >>= liftE . decodeMetadata @GHCupInfo
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1275,3 +1276,33 @@ processBranches str' = let lines' = lines (T.unpack str')
|
|||||||
branches = catMaybes $ fmap (stripPrefix "refs/heads/") $ filter (isPrefixOf "refs/heads/") refs
|
branches = catMaybes $ fmap (stripPrefix "refs/heads/") $ filter (isPrefixOf "refs/heads/") refs
|
||||||
in branches
|
in branches
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
------------------
|
||||||
|
--[ Versioning ]--
|
||||||
|
------------------
|
||||||
|
|
||||||
|
|
||||||
|
-- | Expand a list of version patterns describing a string such as "%v-%h".
|
||||||
|
--
|
||||||
|
-- >>> expandVersionPattern (either (const Nothing) Just $ version "3.4.3") "a386748" "a3867484ccc391daad1a42002c3a2ba6a93c5221" "v0.1.20.0-119-ga386748" "issue-998" [CabalVer, S "-", GitHashShort, S "-", GitHashLong, S "-", GitBranchName, S "-", GitDescribe, S "-coco"]
|
||||||
|
-- Version {_vEpoch = Nothing, _vChunks = Chunks (Numeric 3 :| [Numeric 4,Numeric 3]), _vRel = Just (Release (Alphanum "a386748-a3867484ccc391daad1a42002c3a2ba6a93c5221-issue-998-v0" :| [Numeric 1,Numeric 20,Alphanum "0-119-ga386748-coco"])), _vMeta = Nothing}
|
||||||
|
expandVersionPattern :: MonadFail m
|
||||||
|
=> Maybe Version -- ^ cabal ver
|
||||||
|
-> String -- ^ git hash (short), if any
|
||||||
|
-> String -- ^ git hash (long), if any
|
||||||
|
-> String -- ^ git describe output, if any
|
||||||
|
-> String -- ^ git branch name, if any
|
||||||
|
-> [VersionPattern]
|
||||||
|
-> m Version
|
||||||
|
expandVersionPattern cabalVer gitHashS gitHashL gitDescribe gitBranch
|
||||||
|
= either (fail . displayException) pure . version . T.pack . go
|
||||||
|
where
|
||||||
|
go [] = ""
|
||||||
|
go (CabalVer:xs) = T.unpack (maybe "" prettyVer cabalVer) <> go xs
|
||||||
|
go (GitHashShort:xs) = gitHashS <> go xs
|
||||||
|
go (GitHashLong:xs) = gitHashL <> go xs
|
||||||
|
go (GitDescribe:xs) = gitDescribe <> go xs
|
||||||
|
go (GitBranchName:xs) = gitBranch <> go xs
|
||||||
|
go (S str:xs) = str <> go xs
|
||||||
|
|
||||||
|
|||||||
70
stack.yaml
70
stack.yaml
@@ -1,38 +1,66 @@
|
|||||||
resolver: lts-20.26
|
resolver: lts-21.25
|
||||||
|
|
||||||
packages:
|
packages:
|
||||||
- .
|
- .
|
||||||
|
|
||||||
extra-deps:
|
extra-deps:
|
||||||
- Cabal-3.6.3.0
|
- Cabal-3.8.1.0
|
||||||
- Cabal-syntax-3.10.1.0
|
- Cabal-syntax-3.8.1.0
|
||||||
- aeson-2.1.2.1
|
- Win32-2.14.0.0@sha256:e34af84fec733b5c0c8f052ec39499785e719e2fbbe308983adf26c82ea3704d,5942
|
||||||
- cabal-install-parsers-0.6.1
|
- brick-2.1.1@sha256:ff36d64f1027eac17a14a83de053067413accb58b79e5002dce2a79cb8a3dcb3,17385
|
||||||
- chs-cabal-0.1.1.1
|
- bzlib-0.5.1.0@sha256:197ea0ba028dd1fe274f7601dae58d23607c4760119bf40bc2087720f6734e6c,2288
|
||||||
- chs-deps-0.1.0.0
|
- cabal-install-parsers-0.6
|
||||||
|
- cabal-plan-0.7.3.0
|
||||||
|
- chs-cabal-0.1.1.1@sha256:e8c8c1bf1dbeec64ad86d67ae6dca1c45afd644d20869546dfdcd03910d3848d,1149
|
||||||
|
- chs-deps-0.1.0.0@sha256:0cdada6d2c682c41b20331b8c63c2ecfc7e806928585195fd544c9d41f3074fd,2496
|
||||||
|
- directory-1.3.8.3
|
||||||
|
- file-uri-0.1.0.0@sha256:d6dcc12bde249362c93e413f87a41558b827333dfe3f97d953e47e1070c0da6f,1857
|
||||||
|
- filepath-1.4.101.0
|
||||||
- generic-arbitrary-0.2.2@sha256:202ffbf2032672a51318f2e80d7e75b72f8950e690346b4314f38bc7e39215f7,1189
|
- generic-arbitrary-0.2.2@sha256:202ffbf2032672a51318f2e80d7e75b72f8950e690346b4314f38bc7e39215f7,1189
|
||||||
- generically-0.1.1
|
|
||||||
- haskus-utils-data-1.4@sha256:bfa94363b94b14779edd6834fbd59dbb847c3d7b8f48e3844f456ffdc077da4a,1466
|
- haskus-utils-data-1.4@sha256:bfa94363b94b14779edd6834fbd59dbb847c3d7b8f48e3844f456ffdc077da4a,1466
|
||||||
- haskus-utils-types-1.5.1@sha256:991c472f4e751e2f0d7aab6ad4220ef151d6160876dcf0511bbf876bbd432020,1298
|
- haskus-utils-types-1.5.1@sha256:991c472f4e751e2f0d7aab6ad4220ef151d6160876dcf0511bbf876bbd432020,1298
|
||||||
- haskus-utils-variant-3.2.1
|
- haskus-utils-variant-3.3@sha256:3df3fa0a557d75c0e8f94fe9954f76a692eaf8d368c401e30ab028624d55386b,2198
|
||||||
- libarchive-3.0.3.2
|
- language-c-0.9.3
|
||||||
- libyaml-streamly-0.2.1
|
- libarchive-3.0.4.2
|
||||||
- lzma-static-5.2.5.5
|
- libyaml-streamly-0.2.2@sha256:619b15826a4e221cae4f91cfc040f262cd19a4a81858b75e8270e4b009866969,2206
|
||||||
- os-release-1.0.2.1
|
- lzma-static-5.2.5.5@sha256:55ed074cda2b82008e020a51e2f8c22f2487a58a4989ab359bf04dd6c903b894,7431
|
||||||
- parsec-3.1.15.0
|
- megaparsec-9.2.2@sha256:c306a135ec25d91d252032c6128f03598a00e87ea12fcf5fc4878fdffc75c768,3219
|
||||||
- streamly-0.8.2@sha256:ec521b7c1c4db068501c35804af77f40b7d34232f5e29d9b99e722229040eb80,23500
|
- os-release-1.0.2.1@sha256:2c3e8f7a9a0e17d5042d14d2036d52b42c8d5606e8d004697af462a95c87a9e2,2718
|
||||||
- strict-base-0.4.0.0
|
- process-1.6.18.0@sha256:69fbbca4151e1a6d1a5da41a1e17c254871675a4f2aed5213bbdfb10b5e52742,3148
|
||||||
- text-2.0.2
|
- streamly-0.8.3@sha256:c8f1eed7a99d02c902f0338d8c5f53579cf5cf421a5c886405f331bd948214d5,24141
|
||||||
- yaml-streamly-0.12.2
|
- strict-base-0.4.0.0@sha256:2ff4e43cb95eedf2995558d7fc34d19362846413dd39e6aa6a5b3ea8228fef9f,1248
|
||||||
- github: fosskers/versions
|
- time-1.11.1.2@sha256:a957467595420495c2dd440d9efa1f58c62277cf9438c7e7a515d7a4c65571ec,6287
|
||||||
commit: 7bc3355348aac3510771d4622aff09ac38c9924d
|
- unicode-data-0.3.1@sha256:ae3a3aca89a32b912ddde7a644c0c04eaf23ee42014c74fe3d6b9aaf36ce7ec9,5481
|
||||||
|
- unix-2.8.5.0@sha256:633f15ef0bd50a16a7b5c5e86e6659fee6e4e211e098cc8bd0029f452bfcfddc,9808
|
||||||
|
- unix-bytestring-0.3.7.8@sha256:b8070935929a7654ce398fdecc9b5f90b02c455407db8ea7989256e821e33b1f,3053
|
||||||
|
- versions-6.0.5
|
||||||
|
- vty-6.2@sha256:3536dc83a3fee17d9a114baf58fe47b6f080c24987266f0cd0b7b4b1fcd9cf19,3520
|
||||||
|
- vty-crossplatform-0.4.0.0@sha256:50593f91ad16777d921138475a8d2784d538fd206addd30664c620278d6c8544,3172
|
||||||
|
- vty-unix-0.2.0.0@sha256:2af3d0bdae3c4b7b7e567ee374efe32c7439fabdf9096465ce011a6c6736e9ae,2932
|
||||||
|
- vty-windows-0.2.0.1@sha256:6c75230057a708168dbc420975572511ad3ec09956bf73c3b6f4be03324e8b13,2815
|
||||||
|
- yaml-streamly-0.12.4@sha256:b5250c5dc71d668c43c42ed6f86f956d69125136ea960858527a4b2ff712d3d1,5165
|
||||||
|
- github: hasufell/uri-bytestring
|
||||||
|
commit: 4fb5ed14b500c192e6e7a97f6b2b1eb478806001
|
||||||
|
- github: haskell/tar
|
||||||
|
commit: d94a988be4311b830149a9f8fc16739927e5fc1c
|
||||||
|
|
||||||
|
allow-newer: true
|
||||||
|
|
||||||
|
allow-newer-deps:
|
||||||
|
- Cabal
|
||||||
|
- Cabal-syntax
|
||||||
|
- ansi-terminal
|
||||||
|
- mintty
|
||||||
|
- process
|
||||||
|
- streamly
|
||||||
|
- cabal-install-parsers
|
||||||
|
|
||||||
flags:
|
flags:
|
||||||
http-io-streams:
|
http-io-streams:
|
||||||
brotli: false
|
brotli: false
|
||||||
|
|
||||||
libarchive:
|
libarchive:
|
||||||
system-libarchive: true
|
system-libarchive: false
|
||||||
|
|
||||||
regex-posix:
|
regex-posix:
|
||||||
_regex-posix-clib: true
|
_regex-posix-clib: true
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ mkDefaultHLSCompileOptions target ghcs =
|
|||||||
Nothing
|
Nothing
|
||||||
True
|
True
|
||||||
False
|
False
|
||||||
(Left False)
|
Nothing
|
||||||
Nothing
|
Nothing
|
||||||
Nothing
|
Nothing
|
||||||
Nothing
|
Nothing
|
||||||
@@ -91,15 +91,15 @@ compileGhcCheckList = mapSecond CompileGHC
|
|||||||
, (baseCmd <> "--cross-target armv7-unknown-linux-gnueabihf", baseOptions{GHC.crossTarget = Just "armv7-unknown-linux-gnueabihf"})
|
, (baseCmd <> "--cross-target armv7-unknown-linux-gnueabihf", baseOptions{GHC.crossTarget = Just "armv7-unknown-linux-gnueabihf"})
|
||||||
, (baseCmd <> "-- --enable-unregisterised", baseOptions{GHC.addConfArgs = ["--enable-unregisterised"]})
|
, (baseCmd <> "-- --enable-unregisterised", baseOptions{GHC.addConfArgs = ["--enable-unregisterised"]})
|
||||||
, (baseCmd <> "--set", baseOptions{GHC.setCompile = True})
|
, (baseCmd <> "--set", baseOptions{GHC.setCompile = True})
|
||||||
, (baseCmd <> "-o 9.4.5-p1", baseOptions{GHC.ovewrwiteVer = Just $(versionQ "9.4.5-p1")})
|
, (baseCmd <> "-o 9.4.5-p1", baseOptions{GHC.overwriteVer = Just [S "9.4.5-p1"]})
|
||||||
, (baseCmd <> "--overwrite-version 9.4.5-p1", baseOptions{GHC.ovewrwiteVer = Just $(versionQ "9.4.5-p1")})
|
, (baseCmd <> "--overwrite-version 9.4.5-p1", baseOptions{GHC.overwriteVer = Just [S "9.4.5-p1"]})
|
||||||
, (baseCmd <> "-f make", baseOptions{GHC.buildFlavour = Just "make"})
|
, (baseCmd <> "-f make", baseOptions{GHC.buildFlavour = Just "make"})
|
||||||
, (baseCmd <> "--flavour make", baseOptions{GHC.buildFlavour = Just "make"})
|
, (baseCmd <> "--flavour make", baseOptions{GHC.buildFlavour = Just "make"})
|
||||||
, (baseCmd <> "--hadrian", baseOptions{GHC.buildSystem = Just Hadrian})
|
, (baseCmd <> "--hadrian", baseOptions{GHC.buildSystem = Just Hadrian})
|
||||||
, (baseCmd <> "--make", baseOptions{GHC.buildSystem = Just Make})
|
, (baseCmd <> "--make", baseOptions{GHC.buildSystem = Just Make})
|
||||||
#ifdef IS_WINDOWS
|
#ifdef IS_WINDOWS
|
||||||
, (baseCmd <> "-i C:\\\\tmp\\out_dir", baseOptions{GHC.isolateDir = Just "C:\\\\tmp\\out_dir"})
|
, (baseCmd <> "-i C:\\\\tmp\\out_dir", baseOptions{GHC.isolateDir = Just "C:\\tmp\\out_dir"})
|
||||||
, (baseCmd <> "--isolate C:\\\\tmp\\out_dir", baseOptions{GHC.isolateDir = Just "C:\\\\tmp\\out_dir"})
|
, (baseCmd <> "--isolate C:\\\\tmp\\out_dir", baseOptions{GHC.isolateDir = Just "C:\\tmp\\out_dir"})
|
||||||
#else
|
#else
|
||||||
, (baseCmd <> "-i /tmp/out_dir", baseOptions{GHC.isolateDir = Just "/tmp/out_dir"})
|
, (baseCmd <> "-i /tmp/out_dir", baseOptions{GHC.isolateDir = Just "/tmp/out_dir"})
|
||||||
, (baseCmd <> "--isolate /tmp/out_dir", baseOptions{GHC.isolateDir = Just "/tmp/out_dir"})
|
, (baseCmd <> "--isolate /tmp/out_dir", baseOptions{GHC.isolateDir = Just "/tmp/out_dir"})
|
||||||
@@ -158,12 +158,14 @@ compileHlsCheckList = mapSecond CompileHLS
|
|||||||
, (baseCmd <> "--jobs 10", baseOptions{HLS.jobs = Just 10})
|
, (baseCmd <> "--jobs 10", baseOptions{HLS.jobs = Just 10})
|
||||||
, (baseCmd <> "--no-set", baseOptions{HLS.setCompile = False})
|
, (baseCmd <> "--no-set", baseOptions{HLS.setCompile = False})
|
||||||
, (baseCmd <> "--cabal-update", baseOptions{HLS.updateCabal = True})
|
, (baseCmd <> "--cabal-update", baseOptions{HLS.updateCabal = True})
|
||||||
, (baseCmd <> "-o 2.0.0.0-p1", baseOptions{HLS.ovewrwiteVer = Right $(versionQ "2.0.0.0-p1")})
|
, (baseCmd <> "-o 2.0.0.0-p1", baseOptions{HLS.overwriteVer = Just [S "2.0.0.0-p1"]})
|
||||||
, (baseCmd <> "--overwrite-version 2.0.0.0-p1", baseOptions{HLS.ovewrwiteVer = Right $(versionQ "2.0.0.0-p1")})
|
, (baseCmd <> "--overwrite-version 2.0.0.0-p1", baseOptions{HLS.overwriteVer = Just [S "2.0.0.0-p1"]})
|
||||||
, (baseCmd <> "--git-describe-version", baseOptions{HLS.ovewrwiteVer = Left True})
|
, (baseCmd <> "--overwrite-version %v-%h-%H-%b-%g-coco%l", baseOptions{HLS.overwriteVer
|
||||||
|
= Just [CabalVer, S "-", GitHashShort, S "-", GitHashLong, S "-", GitBranchName, S "-", GitDescribe, S "-coco", S "%", S "l"]})
|
||||||
|
, (baseCmd <> "--git-describe-version", baseOptions{HLS.overwriteVer = Just [GitDescribe]})
|
||||||
#ifdef IS_WINDOWS
|
#ifdef IS_WINDOWS
|
||||||
, (baseCmd <> "-i C:\\\\tmp\\out_dir", baseOptions{HLS.isolateDir = Just "C:\\\\tmp\\out_dir"})
|
, (baseCmd <> "-i C:\\\\tmp\\out_dir", baseOptions{HLS.isolateDir = Just "C:\\tmp\\out_dir"})
|
||||||
, (baseCmd <> "--isolate C:\\\\tmp\\out_dir", baseOptions{HLS.isolateDir = Just "C:\\\\tmp\\out_dir"})
|
, (baseCmd <> "--isolate C:\\\\tmp\\out_dir", baseOptions{HLS.isolateDir = Just "C:\\tmp\\out_dir"})
|
||||||
#else
|
#else
|
||||||
, (baseCmd <> "-i /tmp/out_dir", baseOptions{HLS.isolateDir = Just "/tmp/out_dir"})
|
, (baseCmd <> "-i /tmp/out_dir", baseOptions{HLS.isolateDir = Just "/tmp/out_dir"})
|
||||||
, (baseCmd <> "--isolate /tmp/out_dir", baseOptions{HLS.isolateDir = Just "/tmp/out_dir"})
|
, (baseCmd <> "--isolate /tmp/out_dir", baseOptions{HLS.isolateDir = Just "/tmp/out_dir"})
|
||||||
|
|||||||
@@ -48,7 +48,7 @@ oldStyleCheckList =
|
|||||||
: ("install --set", Right defaultOptions{instSet = True})
|
: ("install --set", Right defaultOptions{instSet = True})
|
||||||
: ("install --force", Right defaultOptions{forceInstall = True})
|
: ("install --force", Right defaultOptions{forceInstall = True})
|
||||||
#ifdef IS_WINDOWS
|
#ifdef IS_WINDOWS
|
||||||
: ("install -i C:\\\\", Right defaultOptions{Install.isolateDir = Just "C:\\\\"})
|
: ("install -i C:\\\\", Right defaultOptions{Install.isolateDir = Just "C:\\"})
|
||||||
#else
|
#else
|
||||||
: ("install -i /", Right defaultOptions{Install.isolateDir = Just "/"})
|
: ("install -i /", Right defaultOptions{Install.isolateDir = Just "/"})
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -43,8 +43,8 @@ runCheckList =
|
|||||||
, ("run --hls 2.0", defaultOptions{runHLSVer = Just $ ToolVersion $(versionQ "2.0")})
|
, ("run --hls 2.0", defaultOptions{runHLSVer = Just $ ToolVersion $(versionQ "2.0")})
|
||||||
, ("run --stack 2.9", defaultOptions{runStackVer = Just $ ToolVersion $(versionQ "2.9") })
|
, ("run --stack 2.9", defaultOptions{runStackVer = Just $ ToolVersion $(versionQ "2.9") })
|
||||||
#ifdef IS_WINDOWS
|
#ifdef IS_WINDOWS
|
||||||
, ("run -b C:\\\\tmp\\dir", defaultOptions{runBinDir = Just "C:\\\\tmp\\dir"})
|
, ("run -b C:\\\\tmp\\dir", defaultOptions{runBinDir = Just "C:\\tmp\\dir"})
|
||||||
, ("run --bindir C:\\\\tmp\\dir", defaultOptions{runBinDir = Just "C:\\\\tmp\\dir"})
|
, ("run --bindir C:\\\\tmp\\dir", defaultOptions{runBinDir = Just "C:\\tmp\\dir"})
|
||||||
#else
|
#else
|
||||||
, ("run -b /tmp/dir", defaultOptions{runBinDir = Just "/tmp/dir"})
|
, ("run -b /tmp/dir", defaultOptions{runBinDir = Just "/tmp/dir"})
|
||||||
, ("run --bindir /tmp/dir", defaultOptions{runBinDir = Just "/tmp/dir"})
|
, ("run --bindir /tmp/dir", defaultOptions{runBinDir = Just "/tmp/dir"})
|
||||||
|
|||||||
Reference in New Issue
Block a user