diff --git a/cabal.ghc8107.Unix.project b/cabal.ghc8107.Unix.project index 8e859b2a..56d2c4db 100644 --- a/cabal.ghc8107.Unix.project +++ b/cabal.ghc8107.Unix.project @@ -50,11 +50,8 @@ package cabal-plan package aeson flags: +ordered-keymap -package streamly - flags: +use-unliftio - package * test-show-details: direct -allow-newer: cabal-install-parsers:tar, streamly:Win32 +allow-newer: cabal-install-parsers:tar diff --git a/cabal.ghc8107.Unix.project.freeze b/cabal.ghc8107.Unix.project.freeze index 8652ed96..70265cb0 100644 --- a/cabal.ghc8107.Unix.project.freeze +++ b/cabal.ghc8107.Unix.project.freeze @@ -1,6 +1,6 @@ active-repositories: hackage.haskell.org:merge -constraints: any.Cabal ==3.10.2.1, - any.Cabal-syntax ==3.10.2.0, +constraints: any.Cabal ==3.10.3.0, + any.Cabal-syntax ==3.10.3.0, any.HUnit ==1.6.2.0, any.HsOpenSSL ==0.11.7.6, HsOpenSSL -fast-bignum -homebrew-openssl -macports-openssl -use-pkg-config, @@ -8,8 +8,6 @@ constraints: any.Cabal ==3.10.2.1, any.QuickCheck ==2.14.3, QuickCheck -old-random +templatehaskell, any.StateVar ==1.2.2, - any.abstract-deque ==0.3, - abstract-deque -usecas, any.aeson ==2.2.1.0, aeson +ordered-keymap, any.aeson-pretty ==0.8.10, @@ -25,8 +23,6 @@ constraints: any.Cabal ==3.10.2.1, assoc +tagged, any.async ==2.2.5, async -bench, - any.atomic-primops ==0.8.5, - atomic-primops -debug, any.attoparsec ==0.14.4, attoparsec -developer, any.base ==4.14.3.0, @@ -34,19 +30,20 @@ constraints: any.Cabal ==3.10.2.1, any.base-orphans ==0.9.1, any.base16-bytestring ==1.0.2.0, any.base64-bytestring ==1.2.1.0, - any.bifunctors ==5.6.1, + any.bifunctors ==5.6.2, bifunctors +tagged, any.bimap ==0.5.0, - any.binary ==0.8.9.1, + any.binary ==0.8.9.2, any.binary-instances ==1.0.4, any.binary-orphans ==1.0.4.1, + any.bitvec ==1.1.5.0, + bitvec +simd, any.blaze-builder ==0.4.2.3, any.brick ==2.1.1, brick -demos, any.bytestring ==0.11.5.3, - any.bz2 ==1.0.1.1, + any.bz2 ==1.0.1.2, bz2 -cross +with-bzlib, - any.bzip2-clib ==1.0.8, any.c2hs ==0.28.8, c2hs +base3 -regression, any.cabal-install-parsers ==0.6.1.1, @@ -63,6 +60,7 @@ constraints: any.Cabal ==3.10.2.1, comonad +containers +distributive +indexed-traversable, any.composition-prelude ==3.0.0.2, composition-prelude -development, + any.conduit ==1.3.5, any.config-ini ==0.2.7.0, config-ini -enable-doctests, any.containers ==0.6.5.1, @@ -77,7 +75,7 @@ constraints: any.Cabal ==3.10.2.1, any.data-clist ==0.2, any.data-fix ==0.3.2, any.deepseq ==1.4.4.0, - any.directory ==1.3.8.3, + any.directory ==1.3.8.4, directory -os-string, any.disk-free-space ==0.1.0.1, any.distributive ==0.6.2.1, @@ -86,25 +84,23 @@ constraints: any.Cabal ==3.10.2.1, dlist -werror, any.exceptions ==0.10.4, any.file-uri ==0.1.0.0, - any.filepath ==1.4.101.0, + any.filepath ==1.4.300.1, filepath -cpphs, any.foldable1-classes-compat ==0.1, foldable1-classes-compat +tagged, any.free ==5.2, - any.fusion-plugin-types ==0.1.0, any.generic-arbitrary ==0.2.2, any.generically ==0.1.1, any.ghc-boot-th ==8.10.7, any.ghc-byteorder ==4.11.0.0.10, any.ghc-prim ==0.6.1, any.happy ==1.20.1.1, - any.hashable ==1.4.3.0, + any.hashable ==1.4.4.0, hashable +integer-gmp -random-initial-seed, any.haskell-lexer ==1.1.1, any.haskus-utils-data ==1.4, any.haskus-utils-types ==1.5.1, any.haskus-utils-variant ==3.3, - any.heaps ==0.4, any.hsc2hs ==0.68.8, hsc2hs -in-ghc-tree, any.hspec ==2.10.10, @@ -127,9 +123,9 @@ constraints: any.Cabal ==3.10.2.1, language-c -allwarnings +iecfpextension +usebytestrings, any.libarchive ==3.0.4.2, libarchive -cross -low-memory +no-exe -system-libarchive, - any.libyaml-streamly ==0.2.2.1, - libyaml-streamly -no-unicode +system-libyaml, - any.lockfree-queue ==0.2.4, + any.libyaml ==0.1.4, + libyaml -no-unicode -system-libyaml, + any.libyaml-clib ==0.2.5, any.lukko ==0.1.1.3, lukko +ofd-locking, any.lzma-static ==5.2.5.5, @@ -137,7 +133,8 @@ constraints: any.Cabal ==3.10.2.1, megaparsec -dev, any.microlens ==0.4.13.1, any.microlens-mtl ==0.2.0.3, - any.microlens-th ==0.4.3.14, + any.microlens-th ==0.4.3.15, + any.mono-traversable ==1.0.17.0, any.mtl ==2.2.2, any.mtl-compat ==0.2.2, mtl-compat -two-point-one -two-point-two, @@ -160,8 +157,8 @@ constraints: any.Cabal ==3.10.2.1, any.polyparse ==1.13, any.pretty ==1.1.3.6, any.pretty-terminal ==0.1.0.0, - any.primitive ==0.8.0.0, - any.process ==1.6.18.0, + any.primitive ==0.9.0.0, + any.process ==1.6.19.0, any.profunctors ==5.6.2, any.quickcheck-arbitrary-adt ==0.3.1.0, any.quickcheck-io ==0.2.0, @@ -188,8 +185,6 @@ constraints: any.Cabal ==3.10.2.1, any.splitmix ==0.1.0.5, splitmix -optimised-mixer, any.stm ==2.5.0.1, - any.streamly ==0.8.3, - streamly -debug -dev -fusion-plugin -has-llvm -inspection -limit-build-mem -no-fusion +opt -streamk -streamly-core -use-c-malloc +use-unliftio, any.strict ==0.5, any.strict-base ==0.4.0.0, any.tagged ==0.8.8, @@ -213,7 +208,7 @@ constraints: any.Cabal ==3.10.2.1, any.text-zipper ==0.13, any.tf-random ==0.5, any.th-abstraction ==0.6.0.0, - any.th-compat ==0.1.4, + any.th-compat ==0.1.5, any.th-lift ==0.8.4, any.th-lift-instances ==0.1.20, any.these ==1.2, @@ -225,9 +220,7 @@ constraints: any.Cabal ==3.10.2.1, transformers-base +orphaninstances, any.transformers-compat ==0.7.2, transformers-compat -five +five-three -four +generic-deriving +mtl -three -two, - any.unicode-data ==0.3.1, - unicode-data -ucd2haskell, - any.unix ==2.8.5.0, + any.unix ==2.8.5.1, unix -os-string, any.unix-bytestring ==0.3.7.8, any.unix-compat ==0.7.1, @@ -241,6 +234,8 @@ constraints: any.Cabal ==3.10.2.1, any.uuid-types ==1.0.5.1, any.vector ==0.13.1.0, vector +boundschecks -internalchecks -unsafechecks -wall, + any.vector-algorithms ==0.9.0.1, + vector-algorithms +bench +boundschecks -internalchecks -llvm +properties -unsafechecks, any.vector-binary-instances ==0.2.5.2, any.vector-stream ==0.1.0.1, any.versions ==6.0.6, @@ -252,9 +247,9 @@ constraints: any.Cabal ==3.10.2.1, any.word-wrap ==0.5, any.word8 ==0.1.3, any.xor ==0.0.1.2, - any.yaml-streamly ==0.12.4, - yaml-streamly +no-examples +no-exe, + any.yaml ==0.11.11.2, + yaml +no-examples +no-exe, any.zlib ==0.6.3.0, zlib -bundled-c-zlib -non-blocking-ffi -pkg-config, any.zlib-bindings ==0.1.1.5 -index-state: hackage.haskell.org 2024-03-13T09:43:35Z +index-state: hackage.haskell.org 2024-04-27T07:39:32Z diff --git a/cabal.ghc8107.Win32.project b/cabal.ghc8107.Win32.project index 41696b2e..f7c488ec 100644 --- a/cabal.ghc8107.Win32.project +++ b/cabal.ghc8107.Win32.project @@ -50,11 +50,8 @@ package cabal-plan package aeson flags: +ordered-keymap -package streamly - flags: +use-unliftio - package * test-show-details: direct -allow-newer: cabal-install-parsers:tar, streamly:Win32 +allow-newer: cabal-install-parsers:tar diff --git a/cabal.ghc8107.Win32.project.freeze b/cabal.ghc8107.Win32.project.freeze index 558d999e..34cc141c 100644 --- a/cabal.ghc8107.Win32.project.freeze +++ b/cabal.ghc8107.Win32.project.freeze @@ -1,14 +1,12 @@ active-repositories: hackage.haskell.org:merge -constraints: any.Cabal ==3.10.2.0 || ==3.10.2.1, - any.Cabal-syntax ==3.10.1.0 || ==3.10.2.0, +constraints: any.Cabal ==3.10.2.1 || ==3.10.3.0, + any.Cabal-syntax ==3.10.2.0 || ==3.10.3.0, any.HUnit ==1.6.2.0, any.OneTuple ==0.4.1.1, any.QuickCheck ==2.14.3, QuickCheck -old-random +templatehaskell, any.StateVar ==1.2.2, any.Win32 ==2.6.2.1 || ==2.13.4.0, - any.abstract-deque ==0.3, - abstract-deque -usecas, any.aeson ==2.2.1.0, aeson +ordered-keymap, any.aeson-pretty ==0.8.10, @@ -24,27 +22,26 @@ constraints: any.Cabal ==3.10.2.0 || ==3.10.2.1, assoc +tagged, any.async ==2.2.5, async -bench, - any.atomic-primops ==0.8.5, - atomic-primops -debug, any.attoparsec ==0.14.4, attoparsec -developer, any.base ==4.14.3.0, any.base-compat ==0.13.1, any.base-orphans ==0.9.1, any.base16-bytestring ==1.0.2.0, - any.bifunctors ==5.6.1, + any.bifunctors ==5.6.2, bifunctors +tagged, any.bimap ==0.5.0, - any.binary ==0.8.8.0 || ==0.8.9.1, + any.binary ==0.8.8.0 || ==0.8.9.2, any.binary-instances ==1.0.4, any.binary-orphans ==1.0.4.1, + any.bitvec ==1.1.5.0, + bitvec +simd, any.blaze-builder ==0.4.2.3, any.brick ==2.1.1, brick -demos, any.bytestring ==0.10.12.0 || ==0.11.5.3, - any.bz2 ==1.0.1.1, + any.bz2 ==1.0.1.2, bz2 -cross +with-bzlib, - any.bzip2-clib ==1.0.8, any.c2hs ==0.28.8, c2hs +base3 -regression, any.cabal-install-parsers ==0.6.1.1, @@ -61,6 +58,7 @@ constraints: any.Cabal ==3.10.2.0 || ==3.10.2.1, comonad +containers +distributive +indexed-traversable, any.composition-prelude ==3.0.0.2, composition-prelude -development, + any.conduit ==1.3.5, any.config-ini ==0.2.7.0, config-ini -enable-doctests, any.containers ==0.6.5.1, @@ -74,7 +72,7 @@ constraints: any.Cabal ==3.10.2.0 || ==3.10.2.1, any.data-clist ==0.2, any.data-fix ==0.3.2, any.deepseq ==1.4.4.0, - any.directory ==1.3.6.0 || ==1.3.8.3, + any.directory ==1.3.6.0 || ==1.3.8.4, directory -os-string, any.disk-free-space ==0.1.0.1, any.distributive ==0.6.2.1, @@ -83,24 +81,22 @@ constraints: any.Cabal ==3.10.2.0 || ==3.10.2.1, dlist -werror, any.exceptions ==0.10.4, any.file-uri ==0.1.0.0, - any.filepath ==1.4.2.1 || ==1.4.101.0, + any.filepath ==1.4.2.1 || ==1.4.300.1, filepath -cpphs, any.foldable1-classes-compat ==0.1, foldable1-classes-compat +tagged, any.free ==5.2, - any.fusion-plugin-types ==0.1.0, any.generic-arbitrary ==0.2.2, any.generically ==0.1.1, any.ghc-boot-th ==8.10.7, any.ghc-prim ==0.6.1, any.happy ==1.20.1.1, - any.hashable ==1.4.3.0, + any.hashable ==1.4.4.0, hashable +integer-gmp -random-initial-seed, any.haskell-lexer ==1.1.1, any.haskus-utils-data ==1.4, any.haskus-utils-types ==1.5.1, any.haskus-utils-variant ==3.3, - any.heaps ==0.4, any.hsc2hs ==0.68.8, hsc2hs -in-ghc-tree, any.hspec ==2.10.10, @@ -119,10 +115,9 @@ constraints: any.Cabal ==3.10.2.0 || ==3.10.2.1, language-c -allwarnings +iecfpextension +usebytestrings, any.libarchive ==3.0.4.2, libarchive -cross -low-memory +no-exe -system-libarchive, + any.libyaml ==0.1.4, + libyaml -no-unicode -system-libyaml, any.libyaml-clib ==0.2.5, - any.libyaml-streamly ==0.2.2.1, - libyaml-streamly -no-unicode -system-libyaml, - any.lockfree-queue ==0.2.4, any.lukko ==0.1.1.3, lukko +ofd-locking, any.lzma-static ==5.2.5.5, @@ -131,11 +126,10 @@ constraints: any.Cabal ==3.10.2.0 || ==3.10.2.1, any.microlens ==0.4.13.1, any.microlens-mtl ==0.2.0.3, any.microlens-th ==0.4.3.14, + any.mono-traversable ==1.0.17.0, any.mtl ==2.2.2, any.mtl-compat ==0.2.2, mtl-compat -two-point-one -two-point-two, - any.network ==3.1.4.0, - network -devel, any.network-uri ==2.6.4.2, any.optics ==0.4.2.1, any.optics-core ==0.4.1.1, @@ -152,8 +146,8 @@ constraints: any.Cabal ==3.10.2.0 || ==3.10.2.1, any.polyparse ==1.13, any.pretty ==1.1.3.6, any.pretty-terminal ==0.1.0.0, - any.primitive ==0.8.0.0, - any.process ==1.6.13.2 || ==1.6.18.0, + any.primitive ==0.9.0.0, + any.process ==1.6.13.2 || ==1.6.19.0, any.profunctors ==5.6.2, any.quickcheck-arbitrary-adt ==0.3.1.0, any.quickcheck-io ==0.2.0, @@ -181,8 +175,6 @@ constraints: any.Cabal ==3.10.2.0 || ==3.10.2.1, any.splitmix ==0.1.0.5, splitmix -optimised-mixer, any.stm ==2.5.0.1, - any.streamly ==0.8.3, - streamly -debug -dev -fusion-plugin -has-llvm -inspection -limit-build-mem -no-fusion +opt -streamk -streamly-core -use-c-malloc +use-unliftio, any.strict ==0.5, any.strict-base ==0.4.0.0, any.tagged ==0.8.8, @@ -203,7 +195,7 @@ constraints: any.Cabal ==3.10.2.0 || ==3.10.2.1, any.text-zipper ==0.13, any.tf-random ==0.5, any.th-abstraction ==0.6.0.0, - any.th-compat ==0.1.4, + any.th-compat ==0.1.5, any.th-lift ==0.8.4, any.th-lift-instances ==0.1.20, any.these ==1.2, @@ -215,8 +207,6 @@ constraints: any.Cabal ==3.10.2.0 || ==3.10.2.1, transformers-base +orphaninstances, any.transformers-compat ==0.7.2, transformers-compat -five +five-three -four +generic-deriving +mtl -three -two, - any.unicode-data ==0.3.1, - unicode-data -ucd2haskell, any.unix-compat ==0.7.1, unix-compat -old-time, any.unliftio-core ==0.2.1.0, @@ -228,6 +218,8 @@ constraints: any.Cabal ==3.10.2.0 || ==3.10.2.1, any.uuid-types ==1.0.5.1, any.vector ==0.13.1.0, vector +boundschecks -internalchecks -unsafechecks -wall, + any.vector-algorithms ==0.9.0.1, + vector-algorithms +bench +boundschecks -internalchecks -llvm +properties -unsafechecks, any.vector-binary-instances ==0.2.5.2, any.vector-stream ==0.1.0.1, any.versions ==6.0.6, @@ -238,8 +230,8 @@ constraints: any.Cabal ==3.10.2.0 || ==3.10.2.1, any.witherable ==0.4.2, any.word-wrap ==0.5, any.word8 ==0.1.3, - any.yaml-streamly ==0.12.4, - yaml-streamly +no-examples +no-exe, + any.yaml ==0.11.11.2, + yaml +no-examples +no-exe, any.zlib ==0.6.3.0, zlib +bundled-c-zlib -non-blocking-ffi -pkg-config -index-state: hackage.haskell.org 2024-03-15T23:51:46Z +index-state: hackage.haskell.org 2024-04-15T02:49:22Z diff --git a/cabal.ghc902.Unix.project b/cabal.ghc902.Unix.project index 8e859b2a..56d2c4db 100644 --- a/cabal.ghc902.Unix.project +++ b/cabal.ghc902.Unix.project @@ -50,11 +50,8 @@ package cabal-plan package aeson flags: +ordered-keymap -package streamly - flags: +use-unliftio - package * test-show-details: direct -allow-newer: cabal-install-parsers:tar, streamly:Win32 +allow-newer: cabal-install-parsers:tar diff --git a/cabal.ghc902.Unix.project.freeze b/cabal.ghc902.Unix.project.freeze index cd44ea9a..94738dd8 100644 --- a/cabal.ghc902.Unix.project.freeze +++ b/cabal.ghc902.Unix.project.freeze @@ -1,6 +1,6 @@ active-repositories: hackage.haskell.org:merge -constraints: any.Cabal ==3.10.2.1, - any.Cabal-syntax ==3.10.2.0, +constraints: any.Cabal ==3.10.3.0, + any.Cabal-syntax ==3.10.3.0, any.HUnit ==1.6.2.0, any.HsOpenSSL ==0.11.7.6, HsOpenSSL -fast-bignum -homebrew-openssl -macports-openssl -use-pkg-config, @@ -8,8 +8,6 @@ constraints: any.Cabal ==3.10.2.1, any.QuickCheck ==2.14.3, QuickCheck -old-random +templatehaskell, any.StateVar ==1.2.2, - any.abstract-deque ==0.3, - abstract-deque -usecas, any.aeson ==2.2.1.0, aeson +ordered-keymap, any.aeson-pretty ==0.8.10, @@ -25,8 +23,6 @@ constraints: any.Cabal ==3.10.2.1, assoc +tagged, any.async ==2.2.5, async -bench, - any.atomic-primops ==0.8.5, - atomic-primops -debug, any.attoparsec ==0.14.4, attoparsec -developer, any.base ==4.15.1.0, @@ -34,10 +30,10 @@ constraints: any.Cabal ==3.10.2.1, any.base-orphans ==0.9.1, any.base16-bytestring ==1.0.2.0, any.base64-bytestring ==1.2.1.0, - any.bifunctors ==5.6.1, + any.bifunctors ==5.6.2, bifunctors +tagged, any.bimap ==0.5.0, - any.binary ==0.8.9.1, + any.binary ==0.8.9.2, any.binary-instances ==1.0.4, any.binary-orphans ==1.0.4.1, any.bindings-DSL ==1.0.25, @@ -47,9 +43,8 @@ constraints: any.Cabal ==3.10.2.1, any.brick ==2.1.1, brick -demos, any.bytestring ==0.11.5.3, - any.bz2 ==1.0.1.1, + any.bz2 ==1.0.1.2, bz2 -cross +with-bzlib, - any.bzip2-clib ==1.0.8, any.bzlib-conduit ==0.3.0.3, any.c2hs ==0.28.8, c2hs +base3 -regression, @@ -82,7 +77,7 @@ constraints: any.Cabal ==3.10.2.1, any.deepseq ==1.4.5.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, - any.directory ==1.3.8.3, + any.directory ==1.3.8.4, directory -os-string, any.disk-free-space ==0.1.0.1, any.distributive ==0.6.2.1, @@ -91,12 +86,11 @@ constraints: any.Cabal ==3.10.2.1, dlist -werror, any.exceptions ==0.10.4, any.file-uri ==0.1.0.0, - any.filepath ==1.4.101.0, + any.filepath ==1.4.300.1, filepath -cpphs, any.foldable1-classes-compat ==0.1, foldable1-classes-compat +tagged, any.free ==5.2, - any.fusion-plugin-types ==0.1.0, any.generic-arbitrary ==0.2.2, any.generically ==0.1.1, any.ghc-bignum ==1.1, @@ -104,13 +98,12 @@ constraints: any.Cabal ==3.10.2.1, any.ghc-byteorder ==4.11.0.0.10, any.ghc-prim ==0.7.0, any.happy ==1.20.1.1, - any.hashable ==1.4.3.0, + any.hashable ==1.4.4.0, hashable +integer-gmp -random-initial-seed, any.haskell-lexer ==1.1.1, any.haskus-utils-data ==1.4, any.haskus-utils-types ==1.5.1, any.haskus-utils-variant ==3.3, - any.heaps ==0.4, any.hsc2hs ==0.68.8, hsc2hs -in-ghc-tree, any.hspec ==2.10.10, @@ -130,9 +123,9 @@ constraints: any.Cabal ==3.10.2.1, io-streams +network -nointeractivetests +zlib, any.language-c ==0.9.3, language-c -allwarnings +iecfpextension +usebytestrings, - any.libyaml-streamly ==0.2.2.1, - libyaml-streamly -no-unicode +system-libyaml, - any.lockfree-queue ==0.2.4, + any.libyaml ==0.1.4, + libyaml -no-unicode -system-libyaml, + any.libyaml-clib ==0.2.5, any.lukko ==0.1.1.3, lukko +ofd-locking, any.lzma-static ==5.2.5.5, @@ -140,7 +133,7 @@ constraints: any.Cabal ==3.10.2.1, megaparsec -dev, any.microlens ==0.4.13.1, any.microlens-mtl ==0.2.0.3, - any.microlens-th ==0.4.3.14, + any.microlens-th ==0.4.3.15, any.monad-control ==1.0.3.1, any.mono-traversable ==1.0.17.0, any.mtl ==2.2.2, @@ -164,8 +157,8 @@ constraints: any.Cabal ==3.10.2.1, parser-combinators -dev, any.pretty ==1.1.3.6, any.pretty-terminal ==0.1.0.0, - any.primitive ==0.8.0.0, - any.process ==1.6.18.0, + any.primitive ==0.9.0.0, + any.process ==1.6.19.0, any.profunctors ==5.6.2, any.quickcheck-arbitrary-adt ==0.3.1.0, any.quickcheck-io ==0.2.0, @@ -194,8 +187,6 @@ constraints: any.Cabal ==3.10.2.1, any.stm ==2.5.0.0, any.streaming-commons ==0.2.2.6, streaming-commons -use-bytestring-builder, - any.streamly ==0.8.3, - streamly -debug -dev -fusion-plugin -has-llvm -inspection -limit-build-mem -no-fusion +opt -streamk -streamly-core -use-c-malloc +use-unliftio, any.strict ==0.5, any.strict-base ==0.4.0.0, any.tagged ==0.8.8, @@ -219,7 +210,7 @@ constraints: any.Cabal ==3.10.2.1, any.text-zipper ==0.13, any.tf-random ==0.5, any.th-abstraction ==0.6.0.0, - any.th-compat ==0.1.4, + any.th-compat ==0.1.5, any.th-lift ==0.8.4, any.th-lift-instances ==0.1.20, any.these ==1.2, @@ -232,9 +223,7 @@ constraints: any.Cabal ==3.10.2.1, any.transformers-compat ==0.7.2, transformers-compat -five +five-three -four +generic-deriving +mtl -three -two, any.typed-process ==0.2.11.1, - any.unicode-data ==0.3.1, - unicode-data -ucd2haskell, - any.unix ==2.8.5.0, + any.unix ==2.8.5.1, unix -os-string, any.unix-bytestring ==0.3.7.8, any.unix-compat ==0.7.1, @@ -261,8 +250,8 @@ constraints: any.Cabal ==3.10.2.1, any.word-wrap ==0.5, any.word8 ==0.1.3, any.xor ==0.0.1.2, - any.yaml-streamly ==0.12.4, - yaml-streamly +no-examples +no-exe, + any.yaml ==0.11.11.2, + yaml +no-examples +no-exe, any.zip ==2.0.0, zip -dev -disable-bzip2 -disable-zstd, any.zlib ==0.6.3.0, @@ -270,4 +259,4 @@ constraints: any.Cabal ==3.10.2.1, any.zlib-bindings ==0.1.1.5, any.zstd ==0.1.3.0, zstd +standalone -index-state: hackage.haskell.org 2024-03-13T09:43:35Z +index-state: hackage.haskell.org 2024-04-27T07:39:32Z diff --git a/cabal.ghc902.Win32.project b/cabal.ghc902.Win32.project index 0f7e8bec..f7c488ec 100644 --- a/cabal.ghc902.Win32.project +++ b/cabal.ghc902.Win32.project @@ -50,12 +50,8 @@ package cabal-plan package aeson flags: +ordered-keymap -package streamly - flags: +use-unliftio - package * test-show-details: direct -allow-newer: cabal-install-parsers:tar, streamly:Win32 +allow-newer: cabal-install-parsers:tar - diff --git a/cabal.ghc902.Win32.project.freeze b/cabal.ghc902.Win32.project.freeze index abde6234..91f94c22 100644 --- a/cabal.ghc902.Win32.project.freeze +++ b/cabal.ghc902.Win32.project.freeze @@ -1,14 +1,12 @@ active-repositories: hackage.haskell.org:merge -constraints: any.Cabal ==3.10.2.1, - any.Cabal-syntax ==3.10.2.0, +constraints: any.Cabal ==3.10.3.0, + any.Cabal-syntax ==3.10.3.0, any.HUnit ==1.6.2.0, any.OneTuple ==0.4.1.1, any.QuickCheck ==2.14.3, QuickCheck -old-random +templatehaskell, any.StateVar ==1.2.2, any.Win32 ==2.12.0.1 || ==2.13.4.0, - any.abstract-deque ==0.3, - abstract-deque -usecas, any.aeson ==2.2.1.0, aeson +ordered-keymap, any.aeson-pretty ==0.8.10, @@ -24,18 +22,16 @@ constraints: any.Cabal ==3.10.2.1, assoc +tagged, any.async ==2.2.5, async -bench, - any.atomic-primops ==0.8.5, - atomic-primops -debug, any.attoparsec ==0.14.4, attoparsec -developer, any.base ==4.15.1.0, any.base-compat ==0.13.1, any.base-orphans ==0.9.1, any.base16-bytestring ==1.0.2.0, - any.bifunctors ==5.6.1, + any.bifunctors ==5.6.2, bifunctors +tagged, any.bimap ==0.5.0, - any.binary ==0.8.9.1, + any.binary ==0.8.9.2, any.binary-instances ==1.0.4, any.binary-orphans ==1.0.4.1, any.bindings-DSL ==1.0.25, @@ -45,7 +41,7 @@ constraints: any.Cabal ==3.10.2.1, any.brick ==2.1.1, brick -demos, any.bytestring ==0.11.5.3, - any.bz2 ==1.0.1.1, + any.bz2 ==1.0.1.2, bz2 -cross +with-bzlib, any.bzip2-clib ==1.0.8, any.bzlib-conduit ==0.3.0.3, @@ -79,7 +75,7 @@ constraints: any.Cabal ==3.10.2.1, any.deepseq ==1.4.5.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, - any.directory ==1.3.6.2 || ==1.3.8.3, + any.directory ==1.3.6.2 || ==1.3.8.4, directory -os-string, any.disk-free-space ==0.1.0.1, any.distributive ==0.6.2.1, @@ -88,25 +84,23 @@ constraints: any.Cabal ==3.10.2.1, dlist -werror, any.exceptions ==0.10.4, any.file-uri ==0.1.0.0, - any.filepath ==1.4.2.1 || ==1.4.101.0, + any.filepath ==1.4.2.1 || ==1.4.300.1, filepath -cpphs, any.foldable1-classes-compat ==0.1, foldable1-classes-compat +tagged, any.free ==5.2, - any.fusion-plugin-types ==0.1.0, any.generic-arbitrary ==0.2.2, any.generically ==0.1.1, any.ghc-bignum ==1.1, any.ghc-boot-th ==9.0.2, any.ghc-prim ==0.7.0, any.happy ==1.20.1.1, - any.hashable ==1.4.3.0, + any.hashable ==1.4.4.0, hashable +integer-gmp -random-initial-seed, any.haskell-lexer ==1.1.1, any.haskus-utils-data ==1.4, any.haskus-utils-types ==1.5.1, any.haskus-utils-variant ==3.3, - any.heaps ==0.4, any.hsc2hs ==0.68.8, hsc2hs -in-ghc-tree, any.hspec ==2.10.10, @@ -122,10 +116,9 @@ constraints: any.Cabal ==3.10.2.1, integer-logarithms -check-bounds +integer-gmp, any.language-c ==0.9.3, language-c -allwarnings +iecfpextension +usebytestrings, + any.libyaml ==0.1.4, + libyaml -no-unicode -system-libyaml, any.libyaml-clib ==0.2.5, - any.libyaml-streamly ==0.2.2.1, - libyaml-streamly -no-unicode -system-libyaml, - any.lockfree-queue ==0.2.4, any.lukko ==0.1.1.3, lukko +ofd-locking, any.lzma-static ==5.2.5.5, @@ -139,7 +132,7 @@ constraints: any.Cabal ==3.10.2.1, any.mtl ==2.2.2, any.mtl-compat ==0.2.2, mtl-compat -two-point-one -two-point-two, - any.network ==3.1.4.0, + any.network ==3.2.0.0, network -devel, any.network-uri ==2.6.4.2, any.optics ==0.4.2.1, @@ -156,8 +149,8 @@ constraints: any.Cabal ==3.10.2.1, parser-combinators -dev, any.pretty ==1.1.3.6, any.pretty-terminal ==0.1.0.0, - any.primitive ==0.8.0.0, - any.process ==1.6.13.2 || ==1.6.18.0, + any.primitive ==0.9.0.0, + any.process ==1.6.13.2 || ==1.6.19.0, any.profunctors ==5.6.2, any.quickcheck-arbitrary-adt ==0.3.1.0, any.quickcheck-io ==0.2.0, @@ -187,8 +180,6 @@ constraints: any.Cabal ==3.10.2.1, any.stm ==2.5.0.0, any.streaming-commons ==0.2.2.6, streaming-commons -use-bytestring-builder, - any.streamly ==0.8.3, - streamly -debug -dev -fusion-plugin -has-llvm -inspection -limit-build-mem -no-fusion +opt -streamk -streamly-core -use-c-malloc +use-unliftio, any.strict ==0.5, any.strict-base ==0.4.0.0, any.tagged ==0.8.8, @@ -209,7 +200,7 @@ constraints: any.Cabal ==3.10.2.1, any.text-zipper ==0.13, any.tf-random ==0.5, any.th-abstraction ==0.6.0.0, - any.th-compat ==0.1.4, + any.th-compat ==0.1.5, any.th-lift ==0.8.4, any.th-lift-instances ==0.1.20, any.these ==1.2, @@ -222,8 +213,6 @@ constraints: any.Cabal ==3.10.2.1, any.transformers-compat ==0.7.2, transformers-compat -five +five-three -four +generic-deriving +mtl -three -two, any.typed-process ==0.2.11.1, - any.unicode-data ==0.3.1, - unicode-data -ucd2haskell, any.unix-compat ==0.7.1, unix-compat -old-time, any.unliftio-core ==0.2.1.0, @@ -247,12 +236,12 @@ constraints: any.Cabal ==3.10.2.1, any.witherable ==0.4.2, any.word-wrap ==0.5, any.word8 ==0.1.3, - any.yaml-streamly ==0.12.4, - yaml-streamly +no-examples +no-exe, + any.yaml ==0.11.11.2, + yaml +no-examples +no-exe, any.zip ==2.0.0, zip -dev -disable-bzip2 -disable-zstd, any.zlib ==0.6.3.0, zlib +bundled-c-zlib -non-blocking-ffi -pkg-config, any.zstd ==0.1.3.0, zstd +standalone -index-state: hackage.haskell.org 2024-03-15T23:51:46Z +index-state: hackage.haskell.org 2024-04-15T02:49:22Z diff --git a/cabal.ghc928.Unix.project b/cabal.ghc928.Unix.project index 8e859b2a..56d2c4db 100644 --- a/cabal.ghc928.Unix.project +++ b/cabal.ghc928.Unix.project @@ -50,11 +50,8 @@ package cabal-plan package aeson flags: +ordered-keymap -package streamly - flags: +use-unliftio - package * test-show-details: direct -allow-newer: cabal-install-parsers:tar, streamly:Win32 +allow-newer: cabal-install-parsers:tar diff --git a/cabal.ghc928.Unix.project.freeze b/cabal.ghc928.Unix.project.freeze index 2292f938..aeaf46a0 100644 --- a/cabal.ghc928.Unix.project.freeze +++ b/cabal.ghc928.Unix.project.freeze @@ -1,6 +1,6 @@ active-repositories: hackage.haskell.org:merge -constraints: any.Cabal ==3.10.2.1, - any.Cabal-syntax ==3.10.2.0, +constraints: any.Cabal ==3.10.3.0, + any.Cabal-syntax ==3.10.3.0, any.HUnit ==1.6.2.0, any.HsOpenSSL ==0.11.7.6, HsOpenSSL -fast-bignum -homebrew-openssl -macports-openssl -use-pkg-config, @@ -8,8 +8,6 @@ constraints: any.Cabal ==3.10.2.1, any.QuickCheck ==2.14.3, QuickCheck -old-random +templatehaskell, any.StateVar ==1.2.2, - any.abstract-deque ==0.3, - abstract-deque -usecas, any.aeson ==2.2.1.0, aeson +ordered-keymap, any.aeson-pretty ==0.8.10, @@ -25,8 +23,6 @@ constraints: any.Cabal ==3.10.2.1, assoc +tagged, any.async ==2.2.5, async -bench, - any.atomic-primops ==0.8.5, - atomic-primops -debug, any.attoparsec ==0.14.4, attoparsec -developer, any.base ==4.16.4.0, @@ -34,7 +30,7 @@ constraints: any.Cabal ==3.10.2.1, any.base-orphans ==0.9.1, any.base16-bytestring ==1.0.2.0, any.base64-bytestring ==1.2.1.0, - any.bifunctors ==5.6.1, + any.bifunctors ==5.6.2, bifunctors +tagged, any.bimap ==0.5.0, any.binary ==0.8.9.0, @@ -47,9 +43,8 @@ constraints: any.Cabal ==3.10.2.1, any.brick ==2.1.1, brick -demos, any.bytestring ==0.11.4.0, - any.bz2 ==1.0.1.1, + any.bz2 ==1.0.1.2, bz2 -cross +with-bzlib, - any.bzip2-clib ==1.0.8, any.bzlib-conduit ==0.3.0.3, any.c2hs ==0.28.8, c2hs +base3 -regression, @@ -82,7 +77,7 @@ constraints: any.Cabal ==3.10.2.1, any.deepseq ==1.4.6.1, 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, - any.directory ==1.3.8.3, + any.directory ==1.3.8.4, directory -os-string, any.disk-free-space ==0.1.0.1, any.distributive ==0.6.2.1, @@ -91,12 +86,11 @@ constraints: any.Cabal ==3.10.2.1, dlist -werror, any.exceptions ==0.10.4, any.file-uri ==0.1.0.0, - any.filepath ==1.4.101.0, + any.filepath ==1.4.300.1, filepath -cpphs, any.foldable1-classes-compat ==0.1, foldable1-classes-compat +tagged, any.free ==5.2, - any.fusion-plugin-types ==0.1.0, any.generic-arbitrary ==0.2.2, any.generically ==0.1.1, any.ghc-bignum ==1.2, @@ -104,13 +98,12 @@ constraints: any.Cabal ==3.10.2.1, any.ghc-byteorder ==4.11.0.0.10, any.ghc-prim ==0.8.0, any.happy ==1.20.1.1, - any.hashable ==1.4.3.0, + any.hashable ==1.4.4.0, hashable +integer-gmp -random-initial-seed, any.haskell-lexer ==1.1.1, any.haskus-utils-data ==1.4, any.haskus-utils-types ==1.5.1, any.haskus-utils-variant ==3.3, - any.heaps ==0.4, any.hsc2hs ==0.68.8, hsc2hs -in-ghc-tree, any.hspec ==2.10.10, @@ -130,9 +123,9 @@ constraints: any.Cabal ==3.10.2.1, io-streams +network -nointeractivetests +zlib, any.language-c ==0.9.3, language-c -allwarnings +iecfpextension +usebytestrings, - any.libyaml-streamly ==0.2.2.1, - libyaml-streamly -no-unicode +system-libyaml, - any.lockfree-queue ==0.2.4, + any.libyaml ==0.1.4, + libyaml -no-unicode -system-libyaml, + any.libyaml-clib ==0.2.5, any.lukko ==0.1.1.3, lukko +ofd-locking, any.lzma-static ==5.2.5.5, @@ -140,7 +133,7 @@ constraints: any.Cabal ==3.10.2.1, megaparsec -dev, any.microlens ==0.4.13.1, any.microlens-mtl ==0.2.0.3, - any.microlens-th ==0.4.3.14, + any.microlens-th ==0.4.3.15, any.monad-control ==1.0.3.1, any.mono-traversable ==1.0.17.0, any.mtl ==2.2.2, @@ -159,13 +152,14 @@ constraints: any.Cabal ==3.10.2.1, optparse-applicative +process, any.os-release ==1.0.2.1, os-release -devel, + any.os-string ==2.0.2.1, any.parsec ==3.1.17.0, any.parser-combinators ==1.3.0, parser-combinators -dev, any.pretty ==1.1.3.6, any.pretty-terminal ==0.1.0.0, - any.primitive ==0.8.0.0, - any.process ==1.6.18.0, + any.primitive ==0.9.0.0, + any.process ==1.6.19.0, any.profunctors ==5.6.2, any.quickcheck-arbitrary-adt ==0.3.1.0, any.quickcheck-io ==0.2.0, @@ -194,8 +188,6 @@ constraints: any.Cabal ==3.10.2.1, any.stm ==2.5.0.2, any.streaming-commons ==0.2.2.6, streaming-commons -use-bytestring-builder, - any.streamly ==0.8.3, - streamly -debug -dev -fusion-plugin -has-llvm -inspection -limit-build-mem -no-fusion +opt -streamk -streamly-core -use-c-malloc +use-unliftio, any.strict ==0.5, any.strict-base ==0.4.0.0, any.tagged ==0.8.8, @@ -219,7 +211,7 @@ constraints: any.Cabal ==3.10.2.1, any.text-zipper ==0.13, any.tf-random ==0.5, any.th-abstraction ==0.6.0.0, - any.th-compat ==0.1.4, + any.th-compat ==0.1.5, any.th-lift ==0.8.4, any.th-lift-instances ==0.1.20, any.these ==1.2, @@ -232,9 +224,7 @@ constraints: any.Cabal ==3.10.2.1, any.transformers-compat ==0.7.2, transformers-compat -five +five-three -four +generic-deriving +mtl -three -two, any.typed-process ==0.2.11.1, - any.unicode-data ==0.3.1, - unicode-data -ucd2haskell, - any.unix ==2.8.5.0, + any.unix ==2.8.5.1, unix -os-string, any.unix-bytestring ==0.3.7.8, any.unix-compat ==0.7.1, @@ -261,13 +251,13 @@ constraints: any.Cabal ==3.10.2.1, any.word-wrap ==0.5, any.word8 ==0.1.3, any.xor ==0.0.1.2, - any.yaml-streamly ==0.12.4, - yaml-streamly +no-examples +no-exe, - any.zip ==2.0.0, + any.yaml ==0.11.11.2, + yaml +no-examples +no-exe, + any.zip ==2.0.1, zip -dev -disable-bzip2 -disable-zstd, any.zlib ==0.6.3.0, zlib -bundled-c-zlib -non-blocking-ffi -pkg-config, any.zlib-bindings ==0.1.1.5, any.zstd ==0.1.3.0, zstd +standalone -index-state: hackage.haskell.org 2024-03-13T09:43:35Z +index-state: hackage.haskell.org 2024-04-27T07:39:32Z diff --git a/cabal.ghc928.Win32.project b/cabal.ghc928.Win32.project index 41696b2e..f7c488ec 100644 --- a/cabal.ghc928.Win32.project +++ b/cabal.ghc928.Win32.project @@ -50,11 +50,8 @@ package cabal-plan package aeson flags: +ordered-keymap -package streamly - flags: +use-unliftio - package * test-show-details: direct -allow-newer: cabal-install-parsers:tar, streamly:Win32 +allow-newer: cabal-install-parsers:tar diff --git a/cabal.ghc928.Win32.project.freeze b/cabal.ghc928.Win32.project.freeze index a01ae44d..e1c466d6 100644 --- a/cabal.ghc928.Win32.project.freeze +++ b/cabal.ghc928.Win32.project.freeze @@ -1,14 +1,12 @@ active-repositories: hackage.haskell.org:merge -constraints: any.Cabal ==3.10.2.1, - any.Cabal-syntax ==3.10.2.0, +constraints: any.Cabal ==3.10.3.0, + any.Cabal-syntax ==3.10.3.0, any.HUnit ==1.6.2.0, any.OneTuple ==0.4.1.1, any.QuickCheck ==2.14.3, QuickCheck -old-random +templatehaskell, any.StateVar ==1.2.2, any.Win32 ==2.12.0.1 || ==2.13.4.0, - any.abstract-deque ==0.3, - abstract-deque -usecas, any.aeson ==2.2.1.0, aeson +ordered-keymap, any.aeson-pretty ==0.8.10, @@ -24,15 +22,13 @@ constraints: any.Cabal ==3.10.2.1, assoc +tagged, any.async ==2.2.5, async -bench, - any.atomic-primops ==0.8.5, - atomic-primops -debug, any.attoparsec ==0.14.4, attoparsec -developer, any.base ==4.16.4.0, any.base-compat ==0.13.1, any.base-orphans ==0.9.1, any.base16-bytestring ==1.0.2.0, - any.bifunctors ==5.6.1, + any.bifunctors ==5.6.2, bifunctors +tagged, any.bimap ==0.5.0, any.binary ==0.8.9.0, @@ -45,7 +41,7 @@ constraints: any.Cabal ==3.10.2.1, any.brick ==2.1.1, brick -demos, any.bytestring ==0.11.4.0, - any.bz2 ==1.0.1.1, + any.bz2 ==1.0.1.2, bz2 -cross +with-bzlib, any.bzip2-clib ==1.0.8, any.bzlib-conduit ==0.3.0.3, @@ -79,7 +75,7 @@ constraints: any.Cabal ==3.10.2.1, any.deepseq ==1.4.6.1, 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, - any.directory ==1.3.6.2 || ==1.3.8.3, + any.directory ==1.3.6.2 || ==1.3.8.4, directory -os-string, any.disk-free-space ==0.1.0.1, any.distributive ==0.6.2.1, @@ -88,25 +84,23 @@ constraints: any.Cabal ==3.10.2.1, dlist -werror, any.exceptions ==0.10.4, any.file-uri ==0.1.0.0, - any.filepath ==1.4.2.2 || ==1.4.101.0, + any.filepath ==1.4.2.2 || ==1.4.300.1, filepath -cpphs, any.foldable1-classes-compat ==0.1, foldable1-classes-compat +tagged, any.free ==5.2, - any.fusion-plugin-types ==0.1.0, any.generic-arbitrary ==0.2.2, any.generically ==0.1.1, any.ghc-bignum ==1.2, any.ghc-boot-th ==9.2.8, any.ghc-prim ==0.8.0, any.happy ==1.20.1.1, - any.hashable ==1.4.3.0, + any.hashable ==1.4.4.0, hashable +integer-gmp -random-initial-seed, any.haskell-lexer ==1.1.1, any.haskus-utils-data ==1.4, any.haskus-utils-types ==1.5.1, any.haskus-utils-variant ==3.3, - any.heaps ==0.4, any.hsc2hs ==0.68.8, hsc2hs -in-ghc-tree, any.hspec ==2.10.10, @@ -122,10 +116,9 @@ constraints: any.Cabal ==3.10.2.1, integer-logarithms -check-bounds +integer-gmp, any.language-c ==0.9.3, language-c -allwarnings +iecfpextension +usebytestrings, + any.libyaml ==0.1.4, + libyaml -no-unicode -system-libyaml, any.libyaml-clib ==0.2.5, - any.libyaml-streamly ==0.2.2.1, - libyaml-streamly -no-unicode -system-libyaml, - any.lockfree-queue ==0.2.4, any.lukko ==0.1.1.3, lukko +ofd-locking, any.lzma-static ==5.2.5.5, @@ -139,7 +132,7 @@ constraints: any.Cabal ==3.10.2.1, any.mtl ==2.2.2, any.mtl-compat ==0.2.2, mtl-compat -two-point-one -two-point-two, - any.network ==3.1.4.0, + any.network ==3.2.0.0, network -devel, any.network-uri ==2.6.4.2, any.optics ==0.4.2.1, @@ -151,13 +144,14 @@ constraints: any.Cabal ==3.10.2.1, optparse-applicative +process, any.os-release ==1.0.2.1, os-release -devel, + any.os-string ==2.0.2, any.parsec ==3.1.17.0, any.parser-combinators ==1.3.0, parser-combinators -dev, any.pretty ==1.1.3.6, any.pretty-terminal ==0.1.0.0, - any.primitive ==0.8.0.0, - any.process ==1.6.16.0 || ==1.6.18.0, + any.primitive ==0.9.0.0, + any.process ==1.6.16.0 || ==1.6.19.0, any.profunctors ==5.6.2, any.quickcheck-arbitrary-adt ==0.3.1.0, any.quickcheck-io ==0.2.0, @@ -187,8 +181,6 @@ constraints: any.Cabal ==3.10.2.1, any.stm ==2.5.0.2, any.streaming-commons ==0.2.2.6, streaming-commons -use-bytestring-builder, - any.streamly ==0.8.3, - streamly -debug -dev -fusion-plugin -has-llvm -inspection -limit-build-mem -no-fusion +opt -streamk -streamly-core -use-c-malloc +use-unliftio, any.strict ==0.5, any.strict-base ==0.4.0.0, any.tagged ==0.8.8, @@ -209,7 +201,7 @@ constraints: any.Cabal ==3.10.2.1, any.text-zipper ==0.13, any.tf-random ==0.5, any.th-abstraction ==0.6.0.0, - any.th-compat ==0.1.4, + any.th-compat ==0.1.5, any.th-lift ==0.8.4, any.th-lift-instances ==0.1.20, any.these ==1.2, @@ -222,8 +214,6 @@ constraints: any.Cabal ==3.10.2.1, any.transformers-compat ==0.7.2, transformers-compat -five +five-three -four +generic-deriving +mtl -three -two, any.typed-process ==0.2.11.1, - any.unicode-data ==0.3.1, - unicode-data -ucd2haskell, any.unix-compat ==0.7.1, unix-compat -old-time, any.unliftio-core ==0.2.1.0, @@ -247,12 +237,12 @@ constraints: any.Cabal ==3.10.2.1, any.witherable ==0.4.2, any.word-wrap ==0.5, any.word8 ==0.1.3, - any.yaml-streamly ==0.12.4, - yaml-streamly +no-examples +no-exe, + any.yaml ==0.11.11.2, + yaml +no-examples +no-exe, any.zip ==2.0.0, zip -dev -disable-bzip2 -disable-zstd, any.zlib ==0.6.3.0, zlib +bundled-c-zlib -non-blocking-ffi -pkg-config, any.zstd ==0.1.3.0, zstd +standalone -index-state: hackage.haskell.org 2024-03-15T23:51:46Z +index-state: hackage.haskell.org 2024-04-15T02:49:22Z diff --git a/cabal.ghc948.Unix.project b/cabal.ghc948.Unix.project index 8e859b2a..56d2c4db 100644 --- a/cabal.ghc948.Unix.project +++ b/cabal.ghc948.Unix.project @@ -50,11 +50,8 @@ package cabal-plan package aeson flags: +ordered-keymap -package streamly - flags: +use-unliftio - package * test-show-details: direct -allow-newer: cabal-install-parsers:tar, streamly:Win32 +allow-newer: cabal-install-parsers:tar diff --git a/cabal.ghc948.Unix.project.freeze b/cabal.ghc948.Unix.project.freeze index 490afd28..c3f506d2 100644 --- a/cabal.ghc948.Unix.project.freeze +++ b/cabal.ghc948.Unix.project.freeze @@ -1,6 +1,6 @@ active-repositories: hackage.haskell.org:merge -constraints: any.Cabal ==3.10.2.1, - any.Cabal-syntax ==3.10.2.0, +constraints: any.Cabal ==3.10.3.0, + any.Cabal-syntax ==3.10.3.0, any.HUnit ==1.6.2.0, any.HsOpenSSL ==0.11.7.6, HsOpenSSL -fast-bignum -homebrew-openssl -macports-openssl -use-pkg-config, @@ -8,8 +8,6 @@ constraints: any.Cabal ==3.10.2.1, any.QuickCheck ==2.14.3, QuickCheck -old-random +templatehaskell, any.StateVar ==1.2.2, - any.abstract-deque ==0.3, - abstract-deque -usecas, any.aeson ==2.2.1.0, aeson +ordered-keymap, any.aeson-pretty ==0.8.10, @@ -25,8 +23,6 @@ constraints: any.Cabal ==3.10.2.1, assoc +tagged, any.async ==2.2.5, async -bench, - any.atomic-primops ==0.8.5, - atomic-primops -debug, any.attoparsec ==0.14.4, attoparsec -developer, any.base ==4.17.2.1, @@ -34,7 +30,7 @@ constraints: any.Cabal ==3.10.2.1, any.base-orphans ==0.9.1, any.base16-bytestring ==1.0.2.0, any.base64-bytestring ==1.2.1.0, - any.bifunctors ==5.6.1, + any.bifunctors ==5.6.2, bifunctors +tagged, any.bimap ==0.5.0, any.binary ==0.8.9.1, @@ -47,9 +43,8 @@ constraints: any.Cabal ==3.10.2.1, any.brick ==2.1.1, brick -demos, any.bytestring ==0.11.5.3, - any.bz2 ==1.0.1.1, + any.bz2 ==1.0.1.2, bz2 -cross +with-bzlib, - any.bzip2-clib ==1.0.8, any.bzlib-conduit ==0.3.0.3, any.c2hs ==0.28.8, c2hs +base3 -regression, @@ -81,7 +76,7 @@ constraints: any.Cabal ==3.10.2.1, any.deepseq ==1.4.8.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, - any.directory ==1.3.8.3, + any.directory ==1.3.8.4, directory -os-string, any.disk-free-space ==0.1.0.1, any.distributive ==0.6.2.1, @@ -90,12 +85,11 @@ constraints: any.Cabal ==3.10.2.1, dlist -werror, any.exceptions ==0.10.5, any.file-uri ==0.1.0.0, - any.filepath ==1.4.101.0, + any.filepath ==1.4.300.1, filepath -cpphs, any.foldable1-classes-compat ==0.1, foldable1-classes-compat +tagged, any.free ==5.2, - any.fusion-plugin-types ==0.1.0, any.generic-arbitrary ==0.2.2, any.generically ==0.1.1, any.ghc-bignum ==1.3, @@ -103,13 +97,12 @@ constraints: any.Cabal ==3.10.2.1, any.ghc-byteorder ==4.11.0.0.10, any.ghc-prim ==0.9.1, any.happy ==1.20.1.1, - any.hashable ==1.4.3.0, + any.hashable ==1.4.4.0, hashable +integer-gmp -random-initial-seed, any.haskell-lexer ==1.1.1, any.haskus-utils-data ==1.4, any.haskus-utils-types ==1.5.1, any.haskus-utils-variant ==3.3, - any.heaps ==0.4, any.hsc2hs ==0.68.8, hsc2hs -in-ghc-tree, any.hspec ==2.10.10, @@ -129,9 +122,9 @@ constraints: any.Cabal ==3.10.2.1, io-streams +network -nointeractivetests +zlib, any.language-c ==0.9.3, language-c -allwarnings +iecfpextension +usebytestrings, - any.libyaml-streamly ==0.2.2.1, - libyaml-streamly -no-unicode +system-libyaml, - any.lockfree-queue ==0.2.4, + any.libyaml ==0.1.4, + libyaml -no-unicode -system-libyaml, + any.libyaml-clib ==0.2.5, any.lukko ==0.1.1.3, lukko +ofd-locking, any.lzma-static ==5.2.5.5, @@ -139,7 +132,7 @@ constraints: any.Cabal ==3.10.2.1, megaparsec -dev, any.microlens ==0.4.13.1, any.microlens-mtl ==0.2.0.3, - any.microlens-th ==0.4.3.14, + any.microlens-th ==0.4.3.15, any.monad-control ==1.0.3.1, any.mono-traversable ==1.0.17.0, any.mtl ==2.2.2, @@ -158,13 +151,14 @@ constraints: any.Cabal ==3.10.2.1, optparse-applicative +process, any.os-release ==1.0.2.1, os-release -devel, + any.os-string ==2.0.2.1, any.parsec ==3.1.16.1, any.parser-combinators ==1.3.0, parser-combinators -dev, any.pretty ==1.1.3.6, any.pretty-terminal ==0.1.0.0, - any.primitive ==0.8.0.0, - any.process ==1.6.18.0, + any.primitive ==0.9.0.0, + any.process ==1.6.19.0, any.profunctors ==5.6.2, any.quickcheck-arbitrary-adt ==0.3.1.0, any.quickcheck-io ==0.2.0, @@ -193,8 +187,6 @@ constraints: any.Cabal ==3.10.2.1, any.stm ==2.5.1.0, any.streaming-commons ==0.2.2.6, streaming-commons -use-bytestring-builder, - any.streamly ==0.8.3, - streamly -debug -dev -fusion-plugin -has-llvm -inspection -limit-build-mem -no-fusion +opt -streamk -streamly-core -use-c-malloc +use-unliftio, any.strict ==0.5, any.strict-base ==0.4.0.0, any.tagged ==0.8.8, @@ -217,7 +209,7 @@ constraints: any.Cabal ==3.10.2.1, any.text-zipper ==0.13, any.tf-random ==0.5, any.th-abstraction ==0.6.0.0, - any.th-compat ==0.1.4, + any.th-compat ==0.1.5, any.th-lift ==0.8.4, any.th-lift-instances ==0.1.20, any.these ==1.2, @@ -230,9 +222,7 @@ constraints: any.Cabal ==3.10.2.1, any.transformers-compat ==0.7.2, transformers-compat -five +five-three -four +generic-deriving +mtl -three -two, any.typed-process ==0.2.11.1, - any.unicode-data ==0.3.1, - unicode-data -ucd2haskell, - any.unix ==2.8.5.0, + any.unix ==2.8.5.1, unix -os-string, any.unix-bytestring ==0.3.7.8, any.unix-compat ==0.7.1, @@ -259,13 +249,13 @@ constraints: any.Cabal ==3.10.2.1, any.word-wrap ==0.5, any.word8 ==0.1.3, any.xor ==0.0.1.2, - any.yaml-streamly ==0.12.4, - yaml-streamly +no-examples +no-exe, - any.zip ==2.0.0, + any.yaml ==0.11.11.2, + yaml +no-examples +no-exe, + any.zip ==2.0.1, zip -dev -disable-bzip2 -disable-zstd, any.zlib ==0.6.3.0, zlib -bundled-c-zlib -non-blocking-ffi -pkg-config, any.zlib-bindings ==0.1.1.5, any.zstd ==0.1.3.0, zstd +standalone -index-state: hackage.haskell.org 2024-03-13T09:43:35Z +index-state: hackage.haskell.org 2024-04-27T07:39:32Z diff --git a/cabal.ghc948.Win32.project b/cabal.ghc948.Win32.project index 0f7e8bec..f7c488ec 100644 --- a/cabal.ghc948.Win32.project +++ b/cabal.ghc948.Win32.project @@ -50,12 +50,8 @@ package cabal-plan package aeson flags: +ordered-keymap -package streamly - flags: +use-unliftio - package * test-show-details: direct -allow-newer: cabal-install-parsers:tar, streamly:Win32 +allow-newer: cabal-install-parsers:tar - diff --git a/cabal.ghc948.Win32.project.freeze b/cabal.ghc948.Win32.project.freeze index b7adeb23..21cbbe1e 100644 --- a/cabal.ghc948.Win32.project.freeze +++ b/cabal.ghc948.Win32.project.freeze @@ -1,14 +1,12 @@ active-repositories: hackage.haskell.org:merge -constraints: any.Cabal ==3.10.2.1, - any.Cabal-syntax ==3.10.2.0, +constraints: any.Cabal ==3.10.3.0, + any.Cabal-syntax ==3.10.3.0, any.HUnit ==1.6.2.0, any.OneTuple ==0.4.1.1, any.QuickCheck ==2.14.3, QuickCheck -old-random +templatehaskell, any.StateVar ==1.2.2, any.Win32 ==2.12.0.1 || ==2.13.4.0, - any.abstract-deque ==0.3, - abstract-deque -usecas, any.aeson ==2.2.1.0, aeson +ordered-keymap, any.aeson-pretty ==0.8.10, @@ -24,15 +22,13 @@ constraints: any.Cabal ==3.10.2.1, assoc +tagged, any.async ==2.2.5, async -bench, - any.atomic-primops ==0.8.5, - atomic-primops -debug, any.attoparsec ==0.14.4, attoparsec -developer, any.base ==4.17.2.1, any.base-compat ==0.13.1, any.base-orphans ==0.9.1, any.base16-bytestring ==1.0.2.0, - any.bifunctors ==5.6.1, + any.bifunctors ==5.6.2, bifunctors +tagged, any.bimap ==0.5.0, any.binary ==0.8.9.1, @@ -45,7 +41,7 @@ constraints: any.Cabal ==3.10.2.1, any.brick ==2.1.1, brick -demos, any.bytestring ==0.11.5.3, - any.bz2 ==1.0.1.1, + any.bz2 ==1.0.1.2, bz2 -cross +with-bzlib, any.bzip2-clib ==1.0.8, any.bzlib-conduit ==0.3.0.3, @@ -78,7 +74,7 @@ constraints: any.Cabal ==3.10.2.1, any.deepseq ==1.4.8.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, - any.directory ==1.3.7.1 || ==1.3.8.3, + any.directory ==1.3.7.1 || ==1.3.8.4, directory -os-string, any.disk-free-space ==0.1.0.1, any.distributive ==0.6.2.1, @@ -87,25 +83,23 @@ constraints: any.Cabal ==3.10.2.1, dlist -werror, any.exceptions ==0.10.5, any.file-uri ==0.1.0.0, - any.filepath ==1.4.2.2 || ==1.4.101.0, + any.filepath ==1.4.2.2 || ==1.4.300.1, filepath -cpphs, any.foldable1-classes-compat ==0.1, foldable1-classes-compat +tagged, any.free ==5.2, - any.fusion-plugin-types ==0.1.0, any.generic-arbitrary ==0.2.2, any.generically ==0.1.1, any.ghc-bignum ==1.3, any.ghc-boot-th ==9.4.8, any.ghc-prim ==0.9.1, any.happy ==1.20.1.1, - any.hashable ==1.4.3.0, + any.hashable ==1.4.4.0, hashable +integer-gmp -random-initial-seed, any.haskell-lexer ==1.1.1, any.haskus-utils-data ==1.4, any.haskus-utils-types ==1.5.1, any.haskus-utils-variant ==3.3, - any.heaps ==0.4, any.hsc2hs ==0.68.8, hsc2hs -in-ghc-tree, any.hspec ==2.10.10, @@ -121,10 +115,9 @@ constraints: any.Cabal ==3.10.2.1, integer-logarithms -check-bounds +integer-gmp, any.language-c ==0.9.3, language-c -allwarnings +iecfpextension +usebytestrings, + any.libyaml ==0.1.4, + libyaml -no-unicode -system-libyaml, any.libyaml-clib ==0.2.5, - any.libyaml-streamly ==0.2.2.1, - libyaml-streamly -no-unicode -system-libyaml, - any.lockfree-queue ==0.2.4, any.lukko ==0.1.1.3, lukko +ofd-locking, any.lzma-static ==5.2.5.5, @@ -138,7 +131,7 @@ constraints: any.Cabal ==3.10.2.1, any.mtl ==2.2.2, any.mtl-compat ==0.2.2, mtl-compat -two-point-one -two-point-two, - any.network ==3.1.4.0, + any.network ==3.2.0.0, network -devel, any.network-uri ==2.6.4.2, any.optics ==0.4.2.1, @@ -150,13 +143,14 @@ constraints: any.Cabal ==3.10.2.1, optparse-applicative +process, any.os-release ==1.0.2.1, os-release -devel, + any.os-string ==2.0.2, any.parsec ==3.1.16.1, any.parser-combinators ==1.3.0, parser-combinators -dev, any.pretty ==1.1.3.6, any.pretty-terminal ==0.1.0.0, - any.primitive ==0.8.0.0, - any.process ==1.6.18.0, + any.primitive ==0.9.0.0, + any.process ==1.6.18.0 || ==1.6.19.0, any.profunctors ==5.6.2, any.quickcheck-arbitrary-adt ==0.3.1.0, any.quickcheck-io ==0.2.0, @@ -186,8 +180,6 @@ constraints: any.Cabal ==3.10.2.1, any.stm ==2.5.1.0, any.streaming-commons ==0.2.2.6, streaming-commons -use-bytestring-builder, - any.streamly ==0.8.3, - streamly -debug -dev -fusion-plugin -has-llvm -inspection -limit-build-mem -no-fusion +opt -streamk -streamly-core -use-c-malloc +use-unliftio, any.strict ==0.5, any.strict-base ==0.4.0.0, any.tagged ==0.8.8, @@ -207,7 +199,7 @@ constraints: any.Cabal ==3.10.2.1, any.text-zipper ==0.13, any.tf-random ==0.5, any.th-abstraction ==0.6.0.0, - any.th-compat ==0.1.4, + any.th-compat ==0.1.5, any.th-lift ==0.8.4, any.th-lift-instances ==0.1.20, any.these ==1.2, @@ -220,8 +212,6 @@ constraints: any.Cabal ==3.10.2.1, any.transformers-compat ==0.7.2, transformers-compat -five +five-three -four +generic-deriving +mtl -three -two, any.typed-process ==0.2.11.1, - any.unicode-data ==0.3.1, - unicode-data -ucd2haskell, any.unix-compat ==0.7.1, unix-compat -old-time, any.unliftio-core ==0.2.1.0, @@ -245,12 +235,12 @@ constraints: any.Cabal ==3.10.2.1, any.witherable ==0.4.2, any.word-wrap ==0.5, any.word8 ==0.1.3, - any.yaml-streamly ==0.12.4, - yaml-streamly +no-examples +no-exe, + any.yaml ==0.11.11.2, + yaml +no-examples +no-exe, any.zip ==2.0.0, zip -dev -disable-bzip2 -disable-zstd, any.zlib ==0.6.3.0, zlib +bundled-c-zlib -non-blocking-ffi -pkg-config, any.zstd ==0.1.3.0, zstd +standalone -index-state: hackage.haskell.org 2024-03-15T23:51:46Z +index-state: hackage.haskell.org 2024-04-15T02:49:22Z diff --git a/cabal.project b/cabal.project index 8e859b2a..56d2c4db 100644 --- a/cabal.project +++ b/cabal.project @@ -50,11 +50,8 @@ package cabal-plan package aeson flags: +ordered-keymap -package streamly - flags: +use-unliftio - package * test-show-details: direct -allow-newer: cabal-install-parsers:tar, streamly:Win32 +allow-newer: cabal-install-parsers:tar diff --git a/ghcup.cabal b/ghcup.cabal index f27822ed..3873442e 100644 --- a/ghcup.cabal +++ b/ghcup.cabal @@ -97,7 +97,7 @@ common app-common-depends , utf8-string ^>=1.0 , vector >=0.12 && <0.14 , versions >=6.0.5 && <6.1 - , yaml-streamly ^>=0.12.0 + , yaml ^>=0.11.0 if flag(tar) cpp-options: -DTAR @@ -180,6 +180,7 @@ library , case-insensitive ^>=1.2.1.0 , casing ^>=0.1.4.1 , containers ^>=0.6 + , conduit ^>=1.3 , cryptohash-sha256 ^>=0.11.101.0 , deepseq ^>=1.4.4.0 , directory ^>=1.3.6.0 @@ -202,7 +203,6 @@ library , safe ^>=0.3.18 , safe-exceptions ^>=0.1 , split ^>=0.2.3.4 - , streamly ^>=0.8.2 , strict-base ^>=0.4 , template-haskell >=2.7 && <2.22 , temporary ^>=1.3 @@ -215,7 +215,7 @@ library , vector >=0.12 && <0.14 , versions >=6.0.5 && <6.1 , word8 ^>=0.1.3 - , yaml-streamly ^>=0.12.0 + , yaml ^>=0.11.0 , zlib ^>=0.6.2.2 if flag(tar) @@ -395,6 +395,7 @@ test-suite ghcup-test , base >=4.12 && <5 , bytestring >=0.10 && <0.12 , containers ^>=0.6 + , conduit ^>=1.3 , directory ^>=1.3.6.0 , filepath >=1.4.101.0 , generic-arbitrary >=0.1.0 && <0.2.1 || >=0.2.2 && <0.3 @@ -403,7 +404,6 @@ test-suite ghcup-test , hspec-golden-aeson ^>=0.9 , QuickCheck ^>=2.14.1 , quickcheck-arbitrary-adt ^>=0.3.1.0 - , streamly ^>=0.8.2 , text ^>=2.0 , time >=1.9.3 && <1.12 , uri-bytestring ^>=0.3.2.2 diff --git a/lib/GHCup.hs b/lib/GHCup.hs index 780a9c10..8f4811ff 100644 --- a/lib/GHCup.hs +++ b/lib/GHCup.hs @@ -50,6 +50,7 @@ import GHCup.Prelude.Logger import GHCup.Prelude.String.QQ import GHCup.Version +import Conduit (sourceToList) import Control.Applicative import Control.Exception.Safe import Control.Monad @@ -77,7 +78,6 @@ import System.IO.Temp import Text.Regex.Posix import qualified Data.Text as T -import qualified Streamly.Prelude as S @@ -157,6 +157,7 @@ rmTool ListResult {lVer, lTool, lCross} = do rmGhcupDirs :: ( MonadReader env m , HasDirs env , MonadIO m + , MonadUnliftIO m , HasLog env , MonadCatch m , MonadMask m ) @@ -220,9 +221,9 @@ rmGhcupDirs = do when (not isXDGStyle) $ removeDirIfEmptyOrIsSymlink binDir - reportRemainingFiles :: (MonadMask m, MonadIO m) => FilePath -> m [FilePath] + reportRemainingFiles :: (MonadMask m, MonadIO m, MonadUnliftIO m) => FilePath -> m [FilePath] reportRemainingFiles dir = do - remainingFiles <- liftIO $ S.toList (getDirectoryContentsRecursiveUnsafe dir) + remainingFiles <- runResourceT $ sourceToList $ getDirectoryContentsRecursiveUnsafe dir let normalizedFilePaths = fmap normalise remainingFiles let sortedByDepthRemainingFiles = sortBy (flip compareFn) normalizedFilePaths let remainingFilesAbsolute = fmap (dir ) sortedByDepthRemainingFiles diff --git a/lib/GHCup/Prelude/File.hs b/lib/GHCup/Prelude/File.hs index c397b79c..c1ad1788 100644 --- a/lib/GHCup/Prelude/File.hs +++ b/lib/GHCup/Prelude/File.hs @@ -13,11 +13,7 @@ module GHCup.Prelude.File ( copyFileE, findFilesDeep, getDirectoryContentsRecursive, - getDirectoryContentsRecursiveBFS, - getDirectoryContentsRecursiveDFS, getDirectoryContentsRecursiveUnsafe, - getDirectoryContentsRecursiveBFSUnsafe, - getDirectoryContentsRecursiveDFSUnsafe, recordedInstallationFile, module GHCup.Prelude.File.Search, @@ -64,7 +60,8 @@ import GHCup.Types import GHCup.Types.Optics import Text.Regex.Posix -import Control.Monad.IO.Unlift ( MonadUnliftIO ) +import Conduit +import qualified Data.Conduit.Combinators as C import Control.Exception.Safe import Control.Monad.Reader import Data.ByteString ( ByteString ) @@ -73,7 +70,6 @@ import System.FilePath import Text.PrettyPrint.HughesPJClass (prettyShow) import qualified Data.Text as T -import qualified Streamly.Prelude as S import Control.DeepSeq (force) import Control.Exception (evaluate) import GHC.IO.Exception @@ -88,11 +84,12 @@ import System.IO.Error -- If any copy operation fails, the record file is deleted, as well -- as the partially installed files. mergeFileTree :: ( MonadMask m - , S.MonadAsync m , MonadReader env m , HasDirs env , HasLog env , MonadCatch m + , MonadIO m + , MonadUnliftIO m ) => GHCupPath -- ^ source base directory from which to install findFiles -> InstallDirResolved -- ^ destination base dir @@ -127,11 +124,10 @@ mergeFileTree sourceBase destBase tool v' copyOp = do -- we want the cleanup action to leak through in case of exception onE_ (cleanupOnPartialInstall recFile) $ wrapInExcepts $ do logDebug "Starting merge" - lift $ flip S.mapM_ (getDirectoryContentsRecursive sourceBase) $ \f -> do - copy f + lift $ runConduitRes $ getDirectoryContentsRecursive sourceBase .| C.mapM_ (\f -> do + lift $ copy f logDebug $ T.pack "Recording installed file: " <> T.pack f - recordInstalledFile f recFile - pure f + recordInstalledFile f recFile) where wrapInExcepts = handleIO (\e -> throwE $ MergeFileTreeError e (fromGHCupPath sourceBase) (fromInstallDir destBase)) @@ -182,38 +178,20 @@ copyFileE :: (CopyError :< xs, MonadCatch m, MonadIO m) => FilePath -> FilePath copyFileE from to = handleIO (throwE . CopyError . show) . liftIO . copyFile from to --- | List all the files in a directory and all subdirectories. --- --- The order places files in sub-directories after all the files in their --- parent directories. The list is generated lazily so is not well defined if --- the source directory structure changes before the list is used. --- --- depth first -getDirectoryContentsRecursiveDFS :: (MonadCatch m, S.MonadAsync m, MonadMask m) - => GHCupPath - -> S.SerialT m FilePath -getDirectoryContentsRecursiveDFS (fromGHCupPath -> fp) = getDirectoryContentsRecursiveDFSUnsafe fp - --- breadth first -getDirectoryContentsRecursiveBFS :: (MonadCatch m, S.MonadAsync m, MonadMask m) - => GHCupPath - -> S.SerialT m FilePath -getDirectoryContentsRecursiveBFS (fromGHCupPath -> fp) = getDirectoryContentsRecursiveBFSUnsafe fp - - -getDirectoryContentsRecursive :: (MonadCatch m, S.MonadAsync m, MonadMask m) +getDirectoryContentsRecursive :: (MonadResource m) => GHCupPath - -> S.SerialT m FilePath -getDirectoryContentsRecursive = getDirectoryContentsRecursiveBFS + -> ConduitT i FilePath m () +getDirectoryContentsRecursive (fromGHCupPath -> fp) = getDirectoryContentsRecursiveUnsafe fp -getDirectoryContentsRecursiveUnsafe :: (MonadCatch m, S.MonadAsync m, MonadMask m) +getDirectoryContentsRecursiveUnsafe :: (MonadResource m) => FilePath - -> S.SerialT m FilePath -getDirectoryContentsRecursiveUnsafe = getDirectoryContentsRecursiveBFSUnsafe + -> ConduitT i FilePath m () +getDirectoryContentsRecursiveUnsafe fp = sourceDirectoryDeep False fp .| C.map (joinPath . tail . splitPath) + findFilesDeep :: GHCupPath -> Regex -> IO [FilePath] findFilesDeep path regex = - S.toList $ S.filter (match regex) $ getDirectoryContentsRecursive path + runResourceT $ sourceToList $ getDirectoryContentsRecursive path .| C.filter (match regex) recordedInstallationFile :: ( MonadReader env m diff --git a/lib/GHCup/Prelude/File/Posix.hs b/lib/GHCup/Prelude/File/Posix.hs index dbd3655c..5365783f 100644 --- a/lib/GHCup/Prelude/File/Posix.hs +++ b/lib/GHCup/Prelude/File/Posix.hs @@ -15,10 +15,8 @@ Portability : POSIX -} module GHCup.Prelude.File.Posix where -import GHCup.Prelude.File.Posix.Traversals - +import Conduit import Control.Exception.Safe -import Control.Monad.Reader import Foreign.C.String import Foreign.C.Error import Foreign.C.Types @@ -26,7 +24,6 @@ import System.IO ( hClose, hSetBinaryMode ) import System.IO.Error hiding ( catchIOError ) import System.FilePath import System.Directory ( removeFile, pathIsSymbolicLink, getSymbolicLinkTarget, doesPathExist ) -import System.Posix.Directory import System.Posix.Error ( throwErrnoPathIfMinus1Retry ) import System.Posix.Internals ( withFilePath ) import System.Posix.Files @@ -37,17 +34,7 @@ import qualified System.Posix.Directory as PD import qualified System.Posix.Files as PF import qualified System.Posix.IO as SPI import qualified System.Posix as Posix -import qualified Streamly.FileSystem.Handle as FH -import qualified Streamly.Internal.FileSystem.Handle - as IFH -import qualified Streamly.Prelude as S import qualified GHCup.Prelude.File.Posix.Foreign as FD -import qualified Streamly.Internal.Data.Stream.StreamD.Type - as D -import Streamly.Internal.Data.Unfold.Type -import qualified Streamly.Internal.Data.Unfold as U -import Streamly.Internal.Control.Concurrent ( withRunInIO ) -import Streamly.Internal.Data.IOFinalizer ( newIOFinalizer, runIOFinalizer ) import GHC.IO.Exception (IOException(ioe_type), IOErrorType (..)) @@ -133,14 +120,12 @@ copyFile from to fail' = do $ \(_, tH) -> do hSetBinaryMode fH True hSetBinaryMode tH True - streamlyCopy (fH, tH) + runConduitRes $ sourceHandle fH .| sinkHandle tH where openFdHandle fp omode flags fM = do fd <- openFd' fp omode flags fM handle' <- SPI.fdToHandle fd pure (fd, handle') - streamlyCopy (fH, tH) = - S.fold (FH.writeChunks tH) $ IFH.toChunksWithBufferOf (256 * 1024) fH foreign import capi unsafe "fcntl.h open" c_open :: CString -> CInt -> Posix.CMode -> IO CInt @@ -276,60 +261,3 @@ catchErrno en a1 a2 = removeEmptyDirectory :: FilePath -> IO () removeEmptyDirectory = PD.removeDirectory - --- | Create an 'Unfold' of directory contents. -unfoldDirContents :: (MonadMask m, MonadIO m, S.MonadAsync m) => Unfold m FilePath (FD.DirType, FilePath) -unfoldDirContents = U.bracket (liftIO . openDirStreamPortable) (liftIO . closeDirStreamPortable) (Unfold step return) - where - {-# INLINE [0] step #-} - step dirstream = do - (typ, e) <- liftIO $ readDirEntPortable dirstream - return $ if - | null e -> D.Stop - | "." == e -> D.Skip dirstream - | ".." == e -> D.Skip dirstream - | otherwise -> D.Yield (typ, e) dirstream - - -getDirectoryContentsRecursiveDFSUnsafe :: (MonadMask m, MonadIO m, S.MonadAsync m) - => FilePath - -> S.SerialT m FilePath -getDirectoryContentsRecursiveDFSUnsafe fp = go "" - where - go cd = flip S.concatMap (S.unfold unfoldDirContents (fp cd)) $ \(t, f) -> - if | t == FD.dtDir -> go (cd f) - | otherwise -> pure (cd f) - - -getDirectoryContentsRecursiveUnfold :: (MonadMask m, MonadIO m, S.MonadAsync m) => Unfold m FilePath FilePath -getDirectoryContentsRecursiveUnfold = Unfold step (\s -> return (s, Nothing, [""])) - where - {-# INLINE [0] step #-} - step (_, Nothing, []) = return D.Stop - - step (topdir, Just (cdir, dirstream, finalizer), dirs) = flip onException (runIOFinalizer finalizer) $ do - (dt, f) <- liftIO $ readDirEntPortable dirstream - if | f == "" -> do - runIOFinalizer finalizer - return $ D.Skip (topdir, Nothing, dirs) - | f == "." || f == ".." - -> return $ D.Skip (topdir, Just (cdir, dirstream, finalizer), dirs) - | FD.dtDir == dt -> return $ D.Skip (topdir, Just (cdir, dirstream, finalizer), (cdir f):dirs) - | otherwise -> return $ D.Yield (cdir f) (topdir, Just (cdir, dirstream, finalizer), dirs) - - step (topdir, Nothing, dir:dirs) = do - (s, f) <- acquire (topdir dir) - return $ D.Skip (topdir, Just (dir, s, f), dirs) - - acquire dir = - withRunInIO $ \run -> mask_ $ run $ do - dirstream <- liftIO $ openDirStreamPortable dir - ref <- newIOFinalizer (liftIO $ closeDirStreamPortable dirstream) - return (dirstream, ref) - -getDirectoryContentsRecursiveBFSUnsafe :: (MonadMask m, MonadIO m, S.MonadAsync m) - => FilePath - -> S.SerialT m FilePath -getDirectoryContentsRecursiveBFSUnsafe = S.unfold getDirectoryContentsRecursiveUnfold - - diff --git a/lib/GHCup/Prelude/File/Windows.hs b/lib/GHCup/Prelude/File/Windows.hs index acfca8b3..5a3162b6 100644 --- a/lib/GHCup/Prelude/File/Windows.hs +++ b/lib/GHCup/Prelude/File/Windows.hs @@ -27,14 +27,7 @@ import qualified System.IO.Error as IOE import qualified System.Win32.Info as WS import qualified System.Win32.File as WS -import qualified Streamly.Internal.Data.Stream.StreamD.Type - as D -import Streamly.Internal.Data.Unfold.Type hiding ( concatMap ) import Data.Bits ((.&.)) -import qualified Streamly.Prelude as S -import qualified Streamly.Internal.Data.Unfold as U -import Streamly.Internal.Control.Concurrent ( withRunInIO ) -import Streamly.Internal.Data.IOFinalizer ( newIOFinalizer, runIOFinalizer ) @@ -101,85 +94,6 @@ removeEmptyDirectory :: FilePath -> IO () removeEmptyDirectory = WS.removeDirectory -unfoldDirContents :: (S.MonadAsync m, MonadIO m, MonadCatch m, MonadMask m) => Unfold m FilePath (WS.FileAttributeOrFlag, FilePath) -unfoldDirContents = U.bracket alloc dealloc (Unfold step return) - where - {-# INLINE [0] step #-} - step (_, False, _, _) = return D.Stop - step (topdir, True, h, fd) = flip onException (liftIO $ WS.findClose h) $ do - f <- liftIO $ WS.getFindDataFileName fd - more <- liftIO $ WS.findNextFile h fd - - -- can't get file attribute from FindData yet (needs Win32 PR) - fattr <- liftIO $ WS.getFileAttributes (topdir f) - - if | f == "." || f == ".." -> return $ D.Skip (topdir, more, h, fd) - | otherwise -> return $ D.Yield (fattr, f) (topdir, more, h, fd) - - alloc topdir = do - query <- liftIO $ furnishPath (topdir "*") - (h, fd) <- liftIO $ WS.findFirstFile query - pure (topdir, True, h, fd) - - dealloc (_, _, fd, _) = liftIO $ WS.findClose fd - - -getDirectoryContentsRecursiveDFSUnsafe :: (MonadCatch m, S.MonadAsync m, MonadMask m, S.IsStream t) - => FilePath - -> t m FilePath -getDirectoryContentsRecursiveDFSUnsafe fp = go "" - where - isDir attrs = attrs .&. WS.fILE_ATTRIBUTE_DIRECTORY /= 0 - - go cd = flip S.concatMap (S.unfold unfoldDirContents (fp cd)) $ \(t, f) -> - if | isDir t -> go (cd f) - | otherwise -> pure (cd f) - - -getDirectoryContentsRecursiveUnfold :: (MonadCatch m, S.MonadAsync m, MonadMask m) => Unfold m FilePath FilePath -getDirectoryContentsRecursiveUnfold = Unfold step init' - where - {-# INLINE [0] step #-} - step (_, Nothing, []) = return D.Stop - - step (topdir, state@(Just (cdir, (h, findData, ref))), dirs) = flip onException (runIOFinalizer ref) $ do - f <- liftIO $ WS.getFindDataFileName findData - - more <- liftIO $ WS.findNextFile h findData - when (not more) $ runIOFinalizer ref - let nextState = if more then state else Nothing - - -- can't get file attribute from FindData yet (needs Win32 PR) - fattr <- liftIO $ WS.getFileAttributes (topdir cdir f) - - if | f == "." || f == ".." -> return $ D.Skip (topdir, nextState, dirs) - | isDir fattr -> return $ D.Skip (topdir, nextState, (cdir f):dirs) - | otherwise -> return $ D.Yield (cdir f) (topdir, nextState, dirs) - - step (topdir, Nothing, dir:dirs) = do - (h, findData, ref) <- acquire (topdir dir) - return $ D.Skip (topdir, Just (dir, (h, findData, ref)), dirs) - - init' topdir = do - (h, findData, ref) <- acquire topdir - return (topdir, Just ("", (h, findData, ref)), []) - - isDir attrs = attrs .&. WS.fILE_ATTRIBUTE_DIRECTORY /= 0 - - acquire dir = do - query <- liftIO $ furnishPath (dir "*") - withRunInIO $ \run -> mask_ $ run $ do - (h, findData) <- liftIO $ WS.findFirstFile query - ref <- newIOFinalizer (liftIO $ WS.findClose h) - return (h, findData, ref) - - -getDirectoryContentsRecursiveBFSUnsafe :: (MonadMask m, MonadIO m, S.MonadAsync m) - => FilePath - -> S.SerialT m FilePath -getDirectoryContentsRecursiveBFSUnsafe = S.unfold getDirectoryContentsRecursiveUnfold - - -------------------------------------- --[ Inlined from directory package ]-- diff --git a/lib/GHCup/Utils.hs b/lib/GHCup/Utils.hs index 3cdcbe83..97d0be40 100644 --- a/lib/GHCup/Utils.hs +++ b/lib/GHCup/Utils.hs @@ -59,6 +59,7 @@ import Control.Monad #if !MIN_VERSION_base(4,13,0) import Control.Monad.Fail ( MonadFail ) #endif +import Conduit ((.|), runConduitRes) import Control.Monad.Reader import Control.Monad.Trans.Resource hiding ( throwM ) @@ -87,7 +88,7 @@ import qualified Data.Text as T import qualified Data.Text.Encoding as E import qualified Text.Megaparsec as MP import qualified Data.List.NonEmpty as NE -import qualified Streamly.Prelude as S +import qualified Data.Conduit.Combinators as C import Control.DeepSeq (force) import GHC.IO (evaluate) @@ -1169,12 +1170,13 @@ ghcBinaryName (GHCTargetVersion Nothing _) = T.unpack ("ghc" <> T.pack exeExt) installDestSanityCheck :: ( MonadIO m , MonadCatch m , MonadMask m + , MonadUnliftIO m ) => InstallDirResolved -> Excepts '[DirNotEmpty] m () installDestSanityCheck (IsolateDirResolved isoDir) = do hideErrorDef [doesNotExistErrorType] () $ do - empty' <- liftIO $ S.null $ getDirectoryContentsRecursiveUnsafe isoDir + empty' <- lift $ runConduitRes $ getDirectoryContentsRecursiveUnsafe isoDir .| C.null when (not empty') (throwE $ DirNotEmpty isoDir) installDestSanityCheck _ = pure () diff --git a/stack.yaml b/stack.yaml index 26b3e348..5f4c26c7 100644 --- a/stack.yaml +++ b/stack.yaml @@ -23,12 +23,10 @@ extra-deps: - haskus-utils-variant-3.3@sha256:3df3fa0a557d75c0e8f94fe9954f76a692eaf8d368c401e30ab028624d55386b,2198 - language-c-0.9.3 - libarchive-3.0.4.2 - - libyaml-streamly-0.2.2@sha256:619b15826a4e221cae4f91cfc040f262cd19a4a81858b75e8270e4b009866969,2206 - lzma-static-5.2.5.5@sha256:55ed074cda2b82008e020a51e2f8c22f2487a58a4989ab359bf04dd6c903b894,7431 - megaparsec-9.2.2@sha256:c306a135ec25d91d252032c6128f03598a00e87ea12fcf5fc4878fdffc75c768,3219 - os-release-1.0.2.1@sha256:2c3e8f7a9a0e17d5042d14d2036d52b42c8d5606e8d004697af462a95c87a9e2,2718 - process-1.6.18.0@sha256:69fbbca4151e1a6d1a5da41a1e17c254871675a4f2aed5213bbdfb10b5e52742,3148 - - streamly-0.8.3@sha256:c8f1eed7a99d02c902f0338d8c5f53579cf5cf421a5c886405f331bd948214d5,24141 - strict-base-0.4.0.0@sha256:2ff4e43cb95eedf2995558d7fc34d19362846413dd39e6aa6a5b3ea8228fef9f,1248 - time-1.11.1.2@sha256:a957467595420495c2dd440d9efa1f58c62277cf9438c7e7a515d7a4c65571ec,6287 - unicode-data-0.3.1@sha256:ae3a3aca89a32b912ddde7a644c0c04eaf23ee42014c74fe3d6b9aaf36ce7ec9,5481 @@ -39,7 +37,6 @@ extra-deps: - vty-crossplatform-0.4.0.0@sha256:50593f91ad16777d921138475a8d2784d538fd206addd30664c620278d6c8544,3172 - vty-unix-0.2.0.0@sha256:2af3d0bdae3c4b7b7e567ee374efe32c7439fabdf9096465ce011a6c6736e9ae,2932 - vty-windows-0.2.0.2 - - yaml-streamly-0.12.4@sha256:b5250c5dc71d668c43c42ed6f86f956d69125136ea960858527a4b2ff712d3d1,5165 - github: hasufell/uri-bytestring commit: 4fb5ed14b500c192e6e7a97f6b2b1eb478806001 - github: haskell/tar @@ -53,7 +50,6 @@ allow-newer-deps: - ansi-terminal - mintty - process - - streamly - cabal-install-parsers flags: @@ -72,12 +68,8 @@ flags: cabal-plan: exe: false - streamly: - use-unliftio: true - ghc-options: "$locals": -O2 - streamly: -O2 -fspec-constr-recursive=16 -fmax-worker-args=16 ghcup: -O2 -fspec-constr-recursive=16 -fmax-worker-args=16 build: diff --git a/test/ghcup-test/GHCup/Utils/FileSpec.hs b/test/ghcup-test/GHCup/Utils/FileSpec.hs index aac4e3d5..d001a855 100644 --- a/test/ghcup-test/GHCup/Utils/FileSpec.hs +++ b/test/ghcup-test/GHCup/Utils/FileSpec.hs @@ -2,11 +2,11 @@ module GHCup.Utils.FileSpec where import GHCup.Prelude.File +import Conduit import Data.List import System.Directory import System.FilePath import System.IO.Unsafe -import qualified Streamly.Prelude as S import Test.Hspec @@ -15,14 +15,8 @@ import Test.Hspec spec :: Spec spec = do describe "GHCup.Utils.File" $ do - it "getDirectoryContentsRecursiveBFS" $ do - l1 <- sort <$> S.toList (getDirectoryContentsRecursiveBFSUnsafe "lib") - l2 <- sort <$> getDirectoryContentsRecursiveLazy "lib" - not (null l1) `shouldBe` True - not (null l2) `shouldBe` True - l1 `shouldBe` l2 - it "getDirectoryContentsRecursiveDFS" $ do - l1 <- sort <$> S.toList (getDirectoryContentsRecursiveDFSUnsafe "lib") + it "getDirectoryContentsRecursiveUnsafe" $ do + l1 <- sort <$> (runResourceT $ sourceToList $ getDirectoryContentsRecursiveUnsafe "lib") l2 <- sort <$> getDirectoryContentsRecursiveLazy "lib" not (null l1) `shouldBe` True not (null l2) `shouldBe` True