on 962ecfe help sign in
.buildkite/pipeline.yml+5−17
since splitsnapshots
unifiedsplit
@@ -1,6 +1,6 @@
1steps:
1steps:
2− - label: 'Run tests with ghc8107'
2+ - label: 'Run tests with ghc884'
3− command: "./test/tests.sh ghc8107"
3+ command: "./test/tests.sh ghc884"
4 agents:
4 agents:
5 system: x86_64-linux
5 system: x86_64-linux
6
6
@@ -14,9 +14,9 @@ steps:
14 agents:
14 agents:
15 system: x86_64-linux
15 system: x86_64-linux
16
16
17− - label: 'Check closure size with ghc8107'
17+ - label: 'Check closure size with ghc884'
18 command:
18 command:
19− - nix-build build.nix -A maintainer-scripts.check-closure-size --argstr compiler-nix-name ghc8107 -o check-closure-size.sh
19+ - nix-build build.nix -A maintainer-scripts.check-closure-size --argstr compiler-nix-name ghc884 -o check-closure-size.sh
20 - echo "+++ Closure size (MB)"
20 - echo "+++ Closure size (MB)"
21 - ./check-closure-size.sh
21 - ./check-closure-size.sh
22 agents:
22 agents:
@@ -36,17 +36,5 @@ steps:
36
36
37 - label: 'Make sure non store paths like can be used as src'
37 - label: 'Make sure non store paths like can be used as src'
38 command:
38 command:
39− - nix-build build.nix -A maintainer-scripts.check-path-support --argstr compiler-nix-name ghc8107 -o check-path-support.sh
39+ - nix-build build.nix -A maintainer-scripts.check-path-support --argstr compiler-nix-name ghc884 -o check-path-support.sh
40 - ./check-path-support.sh
40 - ./check-path-support.sh
41−
42− - label: 'Check that the haskell.nix roots do not require IFDs'
43− command:
44− - nix build .#roots.x86_64-linux --option allow-import-from-derivation false
45− agents:
46− system: x86_64-linux
47−
48− - label: 'Check that evaluation of hydra jobs works without using remote builders'
49− command:
50− - nix-instantiate release.nix -A required-unstable-ghc8107-x86_64-darwin-native --show-trace --builders ''
51− agents:
52− system: x86_64-linux
.buildkite/updates.yml+10−3
@@ -1,14 +1,21 @@
1steps:
1steps:
2− - label: 'Update hackage.nix and stackage.nix'
2+ - label: 'Update hackage.nix'
3 command:
3 command:
4 - nix-build build.nix -A maintainer-scripts.update-hackage -o update-hackage.sh
4 - nix-build build.nix -A maintainer-scripts.update-hackage -o update-hackage.sh
5 - echo "+++ Updating hackage.nix"
5 - echo "+++ Updating hackage.nix"
6 - ./update-hackage.sh
6 - ./update-hackage.sh
7+ artifact_paths:
8+ - "hackage-src.json"
9+ agents:
10+ system: x86_64-linux
11+
12+ - label: 'Update stackage.nix'
13+ command:
7 - nix-build build.nix -A maintainer-scripts.update-stackage -o update-stackage.sh
14 - nix-build build.nix -A maintainer-scripts.update-stackage -o update-stackage.sh
8 - echo "+++ Updating stackage.nix"
15 - echo "+++ Updating stackage.nix"
9 - ./update-stackage.sh
16 - ./update-stackage.sh
10 artifact_paths:
17 artifact_paths:
11− - "flake.lock"
18+ - "stackage-src.json"
12 agents:
19 agents:
13 system: x86_64-linux
20 system: x86_64-linux
14
21
@@ -17,7 +24,7 @@ steps:
17
24
18 - label: 'Update pins'
25 - label: 'Update pins'
19 command:
26 command:
20− - 'buildkite-agent artifact download "flake.lock" .'
27+ - 'buildkite-agent artifact download "*.json" .'
21 - nix-build build.nix -A maintainer-scripts.update-pins -o update-pins.sh
28 - nix-build build.nix -A maintainer-scripts.update-pins -o update-pins.sh
22 - ./update-pins.sh
29 - ./update-pins.sh
23 agents:
30 agents:
.github/workflows/rebase.yamldeleted−28
@@ -1,28 +0,0 @@
1−name: Rebase on iohk/haskell.nix
2−
3−on:
4− schedule:
5− - cron: 0 0 * * *
6−
7−jobs:
8− Linux:
9− runs-on: ubuntu-latest
10− steps:
11− - uses: actions/checkout@v2.4.0
12− with:
13− fetch-depth: 0
14− - name: Rebase and push
15− run: |
16− git config --global user.name "GitHub Actions"
17−
18−
19− git remote add iohk https://github.com/input-output-hk/haskell.nix.git
20− git fetch iohk
21−
22− git checkout iko/ghcjs-patch-master
23− git rebase iohk/master
24− git push --force
25−
26− git checkout --track origin/master
27− git reset --hard iohk/master
28− git push --force
.github/workflows/windows-secp256k1.ymldeleted−51
@@ -1,51 +0,0 @@
1−name: "Test secp256k1 on windows"
2−on: workflow_dispatch
3−jobs:
4− tests:
5− runs-on: windows-latest
6−
7− defaults:
8− run:
9− shell: bash
10−
11− steps:
12−
13− - uses: haskell/actions/setup@v1
14− id: setup-haskell
15− with:
16− ghc-version: 8.10.7
17− cabal-version: 3.6.2.0
18−
19− - name: Install pkgconfiglite
20− run: choco install -y pkgconfiglite
21−
22− - name: Install libsecp256k1
23− run: |
24− curl -Ls \
25− --connect-timeout 5 \
26− --max-time 10 \
27− --retry 5 \
28− --retry-delay 0 \
29− --retry-max-time 40 \
30− https://hydra.iohk.io/job/Cardano/haskell-nix/windows-secp256k1/latest/download/1 -o secp256k1.zip
31− mkdir secp256k1
32− cd secp256k1
33− unzip ../secp256k1.zip
34− cd ..
35− export PKG_CONFIG_PATH="$PKG_CONFIG_PATH;$(readlink -f secp256k1/lib/pkgconfig | sed 's|^/d|D:|g' | tr / '\\')"
36− echo "PKG_CONFIG_PATH=$PKG_CONFIG_PATH"
37− echo "PKG_CONFIG_PATH=$PKG_CONFIG_PATH" >> $GITHUB_ENV
38− export SECP256K1_PATH="$(readlink -f secp256k1/bin | sed 's|^/d|D:|g' | tr / '\\')"
39− echo "SECP256K1_PATH=$SECP256K1_PATH"
40− echo "$SECP256K1_PATH" >> $GITHUB_PATH
41−
42− - name: Cabal update
43− run: cabal update
44−
45− - name: Build and run haskell-secp256k1 tests
46− run: |
47− cabal unpack secp256k1-haskell
48− cd secp256k1-haskell-*
49− cabal build --enable-tests
50− cabal test
51−
README.md+6−22
@@ -1,19 +1,3 @@
1−# What is this fork?
2−
3−This fork contains a patched version of GHCJS 8.10 which improves performance and memory usage.
4−
5−For more info see this PR: https://github.com/input-output-hk/haskell.nix/pull/1306
6−
7−## Package versions
8−
9−This branch is updated every day with commits from https://github.com/input-output-hk/haskell.nix/tree/master. This means that it receives all of the updates the initial project does.
10−
11−## Caching
12−
13−Building the patched compiler itself takes around 2-3 hours. The [Typeable](https://typeable.io) public nix cache probably has a cached version of the compiler. You can follow these instruction to set it up: [app.cachix.org/organization/typeable/cache/typeable](https://app.cachix.org/organization/typeable/cache/typeable).
14−
15−---
16−
17# `haskell.nix` is infrastructure for building Haskell packages with Nix
1# `haskell.nix` is infrastructure for building Haskell packages with Nix
18
2
19[![](https://badge.buildkite.com/d453edcd29bd2f8f3f3b32c9b7d6777a33773d9671c37a6ccc.svg?branch=master)](https://buildkite.com/input-output-hk/haskell-dot-nix)
3[![](https://badge.buildkite.com/d453edcd29bd2f8f3f3b32c9b7d6777a33773d9671c37a6ccc.svg?branch=master)](https://buildkite.com/input-output-hk/haskell-dot-nix)
@@ -24,9 +8,9 @@ its dependencies into Nix code.
24
8
25## Documentation
9## Documentation
26
10
27−- [Introduction](https://input-output-hk.github.io/haskell.nix/index.html)
11+- [Introduction](https://input-output-hk.github.io/haskell.nix/)
28−- [Getting Started](https://input-output-hk.github.io/haskell.nix/tutorials/getting-started.html)
12+- [Getting Started](https://input-output-hk.github.io/haskell.nix/tutorials/getting-started/)
29−- [Troubleshooting](https://input-output-hk.github.io/haskell.nix/troubleshooting.html)
13+- [Troubleshooting](https://input-output-hk.github.io/haskell.nix/troubleshooting/)
30- Explore the documentation from there to find further topics.
14- Explore the documentation from there to find further topics.
31
15
32## Help! Something isn't working
16## Help! Something isn't working
@@ -34,13 +18,13 @@ its dependencies into Nix code.
34The #1 problem that people have when using `haskell.nix` is that they find themselves building GHC.
18The #1 problem that people have when using `haskell.nix` is that they find themselves building GHC.
35This should not happen, but you *must* follow the `haskell.nix` setup instructions properly to avoid it.
19This should not happen, but you *must* follow the `haskell.nix` setup instructions properly to avoid it.
36If you find this happening to you, please check that you have followed the
20If you find this happening to you, please check that you have followed the
37−[getting started instructions](https://input-output-hk.github.io/haskell.nix/tutorials/getting-started.html#setting-up-the-binary-cache) and
21+[getting started instructions](https://input-output-hk.github.io/haskell.nix/tutorials/getting-started/#setting-up-the-binary-cache) and
38−consult the corresponding [troubleshooting section](https://input-output-hk.github.io/haskell.nix/troubleshooting.html#why-am-i-building-ghc).
22+consult the corresponding [troubleshooting section](https://input-output-hk.github.io/haskell.nix/troubleshooting/#why-am-i-building-ghc).
39
23
40The troubleshooting documentation also contains some help for other common issues.
24The troubleshooting documentation also contains some help for other common issues.
41Please give it a read before asking on IRC or opening an issue.
25Please give it a read before asking on IRC or opening an issue.
42
26
43−If you're still stuck, join the [#haskell.nix](https://www.irccloud.com/invite?channel=%23haskell.nix&hostname=irc.libera.chat&port=6697&ssl=1) channel on [irc.libera.chat](https://libera.chat/), or open an issue.
27+If you're still stuck, join the [#haskell.nix](https://www.irccloud.com/invite?channel=%23haskell.nix&hostname=irc.freenode.net&port=6697&ssl=1) channel on [irc.freenode.net](https://freenode.net/), or open an issue.
44
28
45## Related repos
29## Related repos
46
30
build.nix+12−28
@@ -5,12 +5,9 @@
5let
5let
6 haskellNix = (import ./default.nix {});
6 haskellNix = (import ./default.nix {});
7in
7in
8−{ nixpkgs ? haskellNix.sources.nixpkgs-2111
8+{ nixpkgs ? haskellNix.sources.nixpkgs
9, nixpkgsArgs ? haskellNix.nixpkgsArgs
9, nixpkgsArgs ? haskellNix.nixpkgsArgs
10, pkgs ? import nixpkgs nixpkgsArgs
10, pkgs ? import nixpkgs nixpkgsArgs
11−, evalPackages ? import nixpkgs nixpkgsArgs
12−, nixpkgsForHydra ? haskellNix.sources.nixpkgs-2105
13−, pkgsForHydra ? import nixpkgsForHydra (nixpkgsArgs // { inherit (pkgs) system; })
14, ifdLevel ? 1000
11, ifdLevel ? 1000
15, compiler-nix-name ? throw "No `compiler-nix-name` passed to build.nix"
12, compiler-nix-name ? throw "No `compiler-nix-name` passed to build.nix"
16}:
13}:
@@ -20,23 +17,14 @@ let
20 buildHaskell = pkgs.buildPackages.haskell-nix;
17 buildHaskell = pkgs.buildPackages.haskell-nix;
21 tool = buildHaskell.tool;
18 tool = buildHaskell.tool;
22in rec {
19in rec {
23− tests = import ./test/default.nix { inherit pkgs evalPackages ifdLevel compiler-nix-name; };
20+ tests = import ./test/default.nix { inherit pkgs ifdLevel compiler-nix-name; };
24
21
25 tools = pkgs.lib.optionalAttrs (ifdLevel >= 3) (
22 tools = pkgs.lib.optionalAttrs (ifdLevel >= 3) (
26− pkgs.recurseIntoAttrs ({
23+ pkgs.recurseIntoAttrs {
27− cabal-latest = tool compiler-nix-name "cabal" { inherit evalPackages; };
24+ cabal-latest = tool compiler-nix-name "cabal" "latest";
28− hlint-latest = tool compiler-nix-name "hlint" {
29− inherit evalPackages;
30− version = {
31− "ghc865" = "3.2.8";
32− "ghc882" = "3.3.6";
33− "ghc883" = "3.3.6";
34− "ghc884" = "3.3.6";
35− }.compiler-nix-name or "latest";
36− };
37− } // pkgs.lib.optionalAttrs (!__elem compiler-nix-name ["ghc921" "ghc922" "ghc923" "ghc924"]) {
38− hls-latest = tool compiler-nix-name "haskell-language-server" { inherit evalPackages; };
25+ hls-latest = tool compiler-nix-name "haskell-language-server" "latest";
26+ hlint-latest = tool compiler-nix-name "hlint" (if compiler-nix-name == "ghc865" then "3.2.7" else "latest");
39− })
27+ }
40 );
28 );
41
29
42 # Scripts for keeping Hackage and Stackage up to date, and CI tasks.
30 # Scripts for keeping Hackage and Stackage up to date, and CI tasks.
@@ -46,7 +34,7 @@ in rec {
46 maintainer-scripts = pkgs.dontRecurseIntoAttrs {
34 maintainer-scripts = pkgs.dontRecurseIntoAttrs {
47 update-hackage = import ./scripts/update-hackage.nix {
35 update-hackage = import ./scripts/update-hackage.nix {
48 inherit (pkgs) stdenv lib writeScript coreutils glibc git
36 inherit (pkgs) stdenv lib writeScript coreutils glibc git
49− openssh nixFlakes gawk bash curl findutils;
37+ openssh nix-prefetch-git gawk bash curl findutils;
50 # Update scripts use the internal nix-tools and cabal-install (compiled with a fixed GHC version)
38 # Update scripts use the internal nix-tools and cabal-install (compiled with a fixed GHC version)
51 nix-tools = haskell.internal-nix-tools;
39 nix-tools = haskell.internal-nix-tools;
52 cabal-install = haskell.internal-cabal-install;
40 cabal-install = haskell.internal-cabal-install;
@@ -54,7 +42,7 @@ in rec {
54 };
42 };
55 update-stackage = haskell.callPackage ./scripts/update-stackage.nix {
43 update-stackage = haskell.callPackage ./scripts/update-stackage.nix {
56 inherit (pkgs) stdenv lib writeScript coreutils glibc git
44 inherit (pkgs) stdenv lib writeScript coreutils glibc git
57− openssh nixFlakes gawk bash curl findutils;
45+ openssh nix-prefetch-git gawk bash curl findutils;
58 # Update scripts use the internal nix-tools and cabal-install (compiled with a fixed GHC version)
46 # Update scripts use the internal nix-tools and cabal-install (compiled with a fixed GHC version)
59 nix-tools = haskell.internal-nix-tools;
47 nix-tools = haskell.internal-nix-tools;
60 cabal-install = haskell.internal-cabal-install;
48 cabal-install = haskell.internal-cabal-install;
@@ -68,7 +56,7 @@ in rec {
68 # it uses `pkgs.buildPackages.callPackage` not `haskell.callPackage`
56 # it uses `pkgs.buildPackages.callPackage` not `haskell.callPackage`
69 # (We could pull in darcs from a known good haskell.nix for hydra to
57 # (We could pull in darcs from a known good haskell.nix for hydra to
70 # use)
58 # use)
71− check-hydra = pkgsForHydra.buildPackages.callPackage ./scripts/check-hydra.nix {};
59+ check-hydra = pkgs.buildPackages.callPackage ./scripts/check-hydra.nix {};
72 check-closure-size = pkgs.buildPackages.callPackage ./scripts/check-closure-size.nix {
60 check-closure-size = pkgs.buildPackages.callPackage ./scripts/check-closure-size.nix {
73 # Includes cabal-install since this is commonly used.
61 # Includes cabal-install since this is commonly used.
74 nix-tools = pkgs.linkFarm "common-tools" [
62 nix-tools = pkgs.linkFarm "common-tools" [
@@ -77,17 +65,13 @@ in rec {
77 ];
65 ];
78 };
66 };
79 check-materialization-concurrency = pkgs.buildPackages.callPackage ./scripts/check-materialization-concurrency/check.nix {};
67 check-materialization-concurrency = pkgs.buildPackages.callPackage ./scripts/check-materialization-concurrency/check.nix {};
80− check-path-support = pkgs.buildPackages.callPackage ./scripts/check-path-support.nix {
68+ check-path-support = pkgs.buildPackages.callPackage ./scripts/check-path-support.nix {};
81− # TODO remove this when nixpkgs-2205 is released and used for `pkgs`
82− # check-path-support fails unless we have nix 2.4 or newer.
83− inherit (import haskellNix.sources.nixpkgs-unstable {}) nix;
84− };
85 };
69 };
86
70
87 # These are pure parts of maintainer-script so they can be built by hydra
71 # These are pure parts of maintainer-script so they can be built by hydra
88 # and added to the cache to speed up buildkite.
72 # and added to the cache to speed up buildkite.
89 maintainer-script-cache = pkgs.recurseIntoAttrs (
73 maintainer-script-cache = pkgs.recurseIntoAttrs (
90− (pkgs.lib.optionalAttrs (pkgsForHydra.system == "x86_64-linux") {
74+ (pkgs.lib.optionalAttrs pkgs.stdenv.hostPlatform.isWindows {
91 inherit (maintainer-scripts) check-hydra;
75 inherit (maintainer-scripts) check-hydra;
92 })
76 })
93 // (pkgs.lib.optionalAttrs (ifdLevel > 2) {
77 // (pkgs.lib.optionalAttrs (ifdLevel > 2) {
builder/Setup.ghcjs.hsdeleted−272
@@ -1,272 +0,0 @@
1−{-# language LambdaCase #-}
2−import Distribution.Simple
3−import Distribution.Simple.Setup
4−import Distribution.Types.PackageDescription
5−import Distribution.Types.LocalBuildInfo
6−import Distribution.Simple.PackageIndex
7−import Distribution.Types.InstalledPackageInfo hiding (includeDirs)
8−import qualified Distribution.Types.InstalledPackageInfo as IPI
9−import Distribution.Types.PackageName
10−import System.FilePath
11−import Control.Monad (filterM, forM_, forM, unless)
12−import System.Directory (doesFileExist)
13−import Distribution.Types.Library (libBuildInfo, Library(..))
14−import Distribution.Types.BuildInfo (cSources, jsSources, includeDirs, emptyBuildInfo, options, extraBundledLibs)
15−import Distribution.Simple.BuildTarget (readBuildTargets, BuildTarget(..), readUserBuildTargets)
16−import Distribution.Verbosity (silent, verbose)
17−import Distribution.Types.ComponentName
18−import Distribution.Simple.Program.Types (programPath)
19−import Distribution.Simple.Program.Db (lookupKnownProgram, lookupProgram, knownPrograms)
20−import Distribution.Simple.Program (Program, gccProgram, arProgram, runDbProgram, simpleProgram, ghcProgram)
21−import Distribution.Simple.Utils (createDirectoryIfMissingVerbose)
22−import Distribution.Types.HookedBuildInfo
23−import Data.List (isPrefixOf, isSuffixOf, intercalate)
24−import System.Environment (getArgs, getProgName)
25−import Distribution.Simple.LocalBuildInfo (Component (..), withAllComponentsInBuildOrder, componentBuildDir)
26−import Distribution.Types.TestSuite (TestSuite(..))
27−import Distribution.Types.TestSuiteInterface (TestSuiteInterface(..) )
28−import Distribution.Simple.Test.LibV09 (stubName)
29−import Distribution.Types.Executable (exeName, Executable(..))
30−import Distribution.Types.Benchmark (Benchmark(..))
31−import Distribution.Types.TestSuite (TestSuite(..))
32−import Distribution.Types.UnqualComponentName (unUnqualComponentName, mkUnqualComponentName)
33−
34−
35−emarProgram :: Program
36−emarProgram = simpleProgram "emar"
37−
38−buildEMCCLib :: PackageDescription -> LocalBuildInfo -> IO ()
39−buildEMCCLib desc lbi = do
40− let verbosity = verbose
41− -- get build dir
42− createDirectoryIfMissingVerbose verbosity True ((buildDir lbi) </> "emcc")
43− --
44− case library desc of
45− Just lib -> do
46− -- Let's see if we are going to export anything. If not there is likely no point in compiling anything
47− -- from the C code.
48− names <- forM (jsSources . libBuildInfo $ lib) $ \src -> do
49− unwords . concatMap (drop 2 . words) . filter (isPrefixOf "// EMCC:EXPORTED_FUNCTIONS") . lines <$> readFile src
50−
51− unless (null names) $ do
52− let depIncludeDirs = concatMap IPI.includeDirs (topologicalOrder $ installedPkgs lbi)
53− -- alright, let's compile all .c files into .o files with emcc, which is the `gcc` program.
54− forM_ (cSources . libBuildInfo $ lib) $ \src -> do
55− let dst = (buildDir lbi) </> "emcc" </> (src -<.> "o")
56− createDirectoryIfMissingVerbose verbosity True (takeDirectory dst)
57− runDbProgram verbosity gccProgram (withPrograms lbi) $
58− ["-c", src, "-o", dst] ++ ["-I" <> incDir | incDir <- (includeDirs . libBuildInfo $ lib) ++ depIncludeDirs]
59−
60− -- and now construct a canonical `.js_a` file, *if* we have any cSources we turned into objects.
61− unless (null . cSources . libBuildInfo $ lib) $ do
62− let dstLib = (buildDir lbi) </> "libEMCC" <> (unPackageName . pkgName . package $ desc) <> ".js_a"
63− runDbProgram verbosity emarProgram (withPrograms lbi) $
64− [ "-r", dstLib ] ++ [ (buildDir lbi) </> "emcc" </> (src -<.> "o") | src <- cSources . libBuildInfo $ lib ]
65−
66− let expLib = (buildDir lbi) </> "libEMCC" <> (unPackageName . pkgName . package $ desc) <> ".exported.js_a"
67− writeFile expLib (unwords names)
68−
69− -- if there's no lib, this is a fairly pointless exercise
70− Nothing -> return ()
71−
72−-- This is here so that we can link multiple libEMCC* libraries fromd ependencies together with emcc.
73−-- however we don't have figured out how to get the EXPORTED_FUNCTIONS from each dependency merged yet.
74−--
75−linkEMCCLib :: PackageDescription -> LocalBuildInfo -> IO ()
76−linkEMCCLib desc lbi = linkCLib ("emcc" </> "lib.js") desc lbi
77−
78−linkEMCCTHLib :: PackageDescription -> LocalBuildInfo -> IO ()
79−linkEMCCTHLib desc lbi = linkCLib ("th-support.js") desc lbi
80−
81−linkCLib :: String -> PackageDescription -> LocalBuildInfo -> IO ()
82−linkCLib libname desc lbi = do
83− withAllComponentsInBuildOrder desc lbi $ \comp clbi -> do
84− let extraLibs = [ "-l" <> l | l <- concatMap IPI.extraLibraries (topologicalOrder $ installedPkgs lbi)
85− , l /= "m"
86− , l /= "dl" ]
87− libDirs = [ "-L" <> path | path <- concatMap IPI.libraryDirs (topologicalOrder $ installedPkgs lbi) ]
88−
89− let verbosity = verbose
90− libs <- filterM doesFileExist $
91− concatMap (\x -> [ libDir </> "libEMCC" <> (unPackageName . pkgName . sourcePackageId $ x) <> ".js_a"
92− | libDir <- libraryDirs x ])
93− (topologicalOrder $ installedPkgs lbi)
94− exff <- filterM doesFileExist $
95− concatMap (\x -> [ libDir </> "libEMCC" <> (unPackageName . pkgName . sourcePackageId $ x) <> ".exported.js_a"
96− | libDir <- libraryDirs x ])
97− (topologicalOrder $ installedPkgs lbi)
98− print exff
99− exfns <- concat <$> forM exff (fmap words . readFile)
100− unless (null libs && null exfns) $ do
101− libs <- case libs of
102− [] -> do writeFile (buildDir lbi </> "emcc_linking_dummy.c") ""
103− runDbProgram verbosity gccProgram (withPrograms lbi) $
104− ["-c", buildDir lbi </> "emcc_linking_dummy.c", "-o", buildDir lbi </> "emcc_linking_dummy.o"]
105− return [(buildDir lbi </> "emcc_linking_dummy.o")]
106− _ -> return libs
107−
108− let dst = if libname == "emcc" </> "lib.js" then buildDir lbi
109− -- who designed this shit in cabal?
110− else case comp of
111− (CTest test@(TestSuite { testInterface = TestSuiteLibV09 _ _ })) -> buildDir lbi </> stubName test </> stubName test ++ "-tmp"
112− (CTest test@(TestSuite { testInterface = TestSuiteExeV10 _ _ })) -> buildDir lbi </> unUnqualComponentName (testName test) </> unUnqualComponentName (testName test) ++ "-tmp"
113− (CExe exe) -> buildDir lbi </> unUnqualComponentName (exeName exe) </> unUnqualComponentName (exeName exe) ++ "-tmp"
114− _ -> componentBuildDir lbi clbi
115− dst' = dst </> libname
116− createDirectoryIfMissingVerbose verbosity True (takeDirectory dst')
117− runDbProgram verbosity gccProgram (withPrograms lbi) $
118− [ "-o", dst'
119− , "-s", "WASM=0"
120− , "-s", "ALLOW_TABLE_GROWTH" -- we need this for addFunction/removeFunction
121− -- addFunction, removeFunction are for dynamic functions.
122− -- getTempRet0/setTempRet0 are for 64bit legalization.
123− , "-s", "EXPORTED_RUNTIME_METHODS=['printErr','addFunction','removeFunction','getTempRet0','setTempRet0']"
124− --
125− , "-s", "EXPORTED_FUNCTIONS=['" <> intercalate "', '" exfns <> "']"
126− ] ++ libs ++ libDirs ++ extraLibs
127−
128−postBuildHook :: Args -> BuildFlags -> PackageDescription -> LocalBuildInfo -> IO ()
129−postBuildHook args flags desc lbi = do
130− case (takeFileName . programPath <$> lookupProgram ghcProgram (withPrograms lbi)) of
131− Just "js-unknown-ghcjs-ghc" ->
132− readBuildTargets silent desc (buildArgs flags) >>= \case
133− [BuildTargetComponent (CLibName _)] -> print "OK. Lib (Build)" >> buildEMCCLib desc lbi
134− [BuildTargetComponent (CExeName _)] -> print "OK. Exe"
135− [BuildTargetComponent (CTestName _)] -> print "OK. Test"
136− [BuildTargetComponent (CBenchName _)] -> print "OK. Bench"
137− _ -> print "EEk!"
138− _ -> return ()
139−
140−postConfHook :: Args -> ConfigFlags -> PackageDescription -> LocalBuildInfo -> IO ()
141−postConfHook args flags desc lbi = do
142− case (takeFileName . programPath <$> lookupProgram ghcProgram (withPrograms lbi)) of
143− Just "js-unknown-ghcjs-ghc" -> do
144− -- always link the TH lib
145− -- this is technically only needed if the package uses TH somewhere.
146− linkEMCCTHLib desc lbi
147− -- only link the final lib if we want to produce an output.
148− readBuildTargets silent desc (configArgs flags) >>= \case
149− [BuildTargetComponent (CLibName _)] -> print "OK. Lib" >> postConf simpleUserHooks args flags desc lbi
150− [BuildTargetComponent (CExeName _)] -> print "OK. Exe (Link)" >> linkEMCCLib desc lbi
151− [BuildTargetComponent (CTestName _)] -> print "OK. Test (Link)" >> linkEMCCLib desc lbi
152− [BuildTargetComponent (CBenchName _)] -> print "OK. Bench (Link)" >> linkEMCCLib desc lbi
153− _ -> print "EEk!"
154− -- defer to default postConf. XXX we should do this for the above cases in linkEMCCLib as well!
155− _ -> postConf simpleUserHooks args flags desc lbi
156−
157−--
158−-- Injecting emcc/lib.js as needed.
159−--
160−-- We inject jsSources: dist/build/emcc/lib.js, the amalgamated emcc library,
161−-- into Executables, Tests and Benchmarks.
162−emccBuildHook :: PackageDescription -> LocalBuildInfo -> UserHooks -> BuildFlags -> IO ()
163−emccBuildHook desc lbi hooks flags = do
164− let lbi' = lbi { localPkgDescr = updatePackageDescription (localPkgDescr lbi) }
165− -- for some reason tests/benchmarks seem to rely on the description, whereas libraries and executables depend on the local build info...
166− desc' = updatePackageDescription desc
167− doesFileExist jsLib >>= \x -> print $ jsLib <> " " <> (if x then "exists" else "doesn't exist!")
168− doesFileExist jsLib >>= \case
169− True -> buildHook simpleUserHooks desc' lbi' hooks flags
170− False -> buildHook simpleUserHooks desc lbi hooks flags
171−
172− where
173− jsLib = "dist/build" </> "emcc" </> "lib.js"
174− extraOpts = PerCompilerFlavor [jsLib] []
175− -- don't inject it for libraries, only for exe, test, bench.
176− updateLibrary :: Library -> Library
177− updateLibrary = id -- lib@Library{ libBuildInfo = bi } = lib { libBuildInfo = bi { options = options bi <> extraOpts } }
178− updateExe :: Executable -> Executable
179− updateExe exe@Executable{ buildInfo = bi } = exe { buildInfo = bi { options = options bi <> extraOpts } }
180− updateTest :: TestSuite -> TestSuite
181− updateTest test@TestSuite{ testBuildInfo = bi } = test { testBuildInfo = bi { options = options bi <> extraOpts } }
182− updateBench :: Benchmark -> Benchmark
183− updateBench bench@Benchmark{ benchmarkBuildInfo = bi } = bench { benchmarkBuildInfo = bi { options = options bi <> extraOpts } }
184− updatePackageDescription :: PackageDescription -> PackageDescription
185− updatePackageDescription desc = desc
186− { library = updateLibrary <$> library desc
187− , executables = updateExe <$> executables desc
188− , testSuites = updateTest <$> testSuites desc
189− , benchmarks = updateBench <$> benchmarks desc
190− }
191−
192−--
193−-- Injecting EMCC<name> extra libraries as needed
194−-- this one we only need alongside library components; as it's shipped and installed
195−-- into the package databse. This is not necesary for executables/test/benchmarks, that
196−-- are not installed into the package database
197−--
198−emccCopyHook :: PackageDescription -> LocalBuildInfo -> UserHooks -> CopyFlags -> IO ()
199−emccCopyHook desc lbi hooks flags = do
200− emccLibs <- filterM (\l -> doesFileExist (buildDir lbi </> "lib" <> l <> ".js_a"))
201− [ "EMCC" <> (unPackageName . pkgName . package $ desc)
202− , "EMCC" <> (unPackageName . pkgName . package $ desc) <> ".exported" ]
203− print $ "EMCC extra lib files: " ++ intercalate ", " emccLibs
204− let lbi' = lbi { localPkgDescr = updatePackageDescription emccLibs (localPkgDescr lbi) }
205− desc' = updatePackageDescription emccLibs desc
206− copyHook simpleUserHooks desc' lbi' hooks flags
207− where
208− emccLib = (buildDir lbi) </> "libEMCC" <> (unPackageName . pkgName . package $ desc) <> ".js_a"
209− -- don't inject it for libraries, only for exe, test, bench.
210− updateLibrary :: [String] -> Library -> Library
211− updateLibrary extraLibs lib@Library{ libBuildInfo = bi } = lib { libBuildInfo = bi { extraBundledLibs = extraBundledLibs bi <> extraLibs } }
212− updatePackageDescription :: [String] -> PackageDescription -> PackageDescription
213− updatePackageDescription extraLibs desc = desc { library = updateLibrary extraLibs <$> library desc }
214−
215−emccRegHook :: PackageDescription -> LocalBuildInfo -> UserHooks -> RegisterFlags -> IO ()
216−emccRegHook desc lbi hooks flags = do
217− emccLibs <- filterM (\l -> doesFileExist (buildDir lbi </> "lib" <> l <> ".js_a"))
218− [ "EMCC" <> (unPackageName . pkgName . package $ desc)
219− , "EMCC" <> (unPackageName . pkgName . package $ desc) <> ".exported" ]
220− print $ "EMCC extra lib files: " ++ intercalate ", " emccLibs
221− let lbi' = lbi { localPkgDescr = updatePackageDescription emccLibs (localPkgDescr lbi) }
222− desc' = updatePackageDescription emccLibs desc
223− regHook simpleUserHooks desc' lbi' hooks flags
224− where
225− emccLib = (buildDir lbi) </> "libEMCC" <> (unPackageName . pkgName . package $ desc) <> ".js_a"
226− -- don't inject it for libraries, only for exe, test, bench.
227− updateLibrary :: [String] -> Library -> Library
228− updateLibrary extraLibs lib@Library{ libBuildInfo = bi } = lib { libBuildInfo = bi { extraBundledLibs = extraBundledLibs bi <> extraLibs } }
229− updatePackageDescription :: [String] -> PackageDescription -> PackageDescription
230− updatePackageDescription extraLibs desc = desc { library = updateLibrary extraLibs <$> library desc }
231−
232−emccUnregHook :: PackageDescription -> LocalBuildInfo -> UserHooks -> RegisterFlags -> IO ()
233−emccUnregHook desc lbi hooks flags = do
234− emccLibs <- filterM (\l -> doesFileExist (buildDir lbi </> "lib" <> l <> ".js_a"))
235− [ "EMCC" <> (unPackageName . pkgName . package $ desc)
236− , "EMCC" <> (unPackageName . pkgName . package $ desc) <> ".exported" ]
237− print $ "EMCC extra lib files: " ++ intercalate ", " emccLibs
238− let lbi' = lbi { localPkgDescr = updatePackageDescription emccLibs (localPkgDescr lbi) }
239− desc' = updatePackageDescription emccLibs desc
240− unregHook simpleUserHooks desc' lbi' hooks flags
241− where
242− emccLib = (buildDir lbi) </> "libEMCC" <> (unPackageName . pkgName . package $ desc) <> ".js_a"
243− -- don't inject it for libraries, only for exe, test, bench.
244− updateLibrary :: [String] -> Library -> Library
245− updateLibrary extraLibs lib@Library{ libBuildInfo = bi } = lib { libBuildInfo = bi { extraBundledLibs = extraBundledLibs bi <> extraLibs } }
246− updatePackageDescription :: [String] -> PackageDescription -> PackageDescription
247− updatePackageDescription extraLibs desc = desc { library = updateLibrary extraLibs <$> library desc }
248−--
249−-- Main
250−--
251−main :: IO ()
252−main = do
253− args <- getArgs
254− defaultMainWithHooksArgs emccHooks (injectEmar args)
255− where
256− injectEmar :: [String] -> [String]
257− injectEmar [] = []
258− injectEmar (x:xs) | "--with-gcc=" `isPrefixOf` x
259− , "emcc" `isSuffixOf` x
260− = x:("--with-emar="<> (takeDirectory $ drop 11 $ x) </> "emar"):injectEmar xs
261− injectEmar (x:xs) = x:injectEmar xs
262−
263− emccHooks :: UserHooks
264− emccHooks = simpleUserHooks
265− { postConf = postConfHook
266− , buildHook = emccBuildHook
267− , postBuild = postBuildHook
268− , copyHook = emccCopyHook
269− , regHook = emccRegHook
270− , unregHook = emccUnregHook
271− , hookedPrograms = [emarProgram]
272− }
builder/Setup.hsdeleted−2
@@ -1,2 +0,0 @@
1−import Distribution.Simple
2−main = defaultMain
builder/comp-builder.nix+40−157
@@ -1,4 +1,4 @@
1−{ pkgs, stdenv, buildPackages, ghc, lib, gobject-introspection ? null, haskellLib, makeConfigFiles, haddockBuilder, ghcForComponent, hsPkgs, compiler, runCommand, libffi, gmp, zlib, ncurses, nodejs }@defaults:
1+{ pkgs, stdenv, buildPackages, ghc, lib, gobject-introspection ? null, haskellLib, makeConfigFiles, haddockBuilder, ghcForComponent, hsPkgs, compiler, runCommand, libffi, gmp, zlib, ncurses, numactl, nodejs }@defaults:
2lib.makeOverridable (
2lib.makeOverridable (
3let self =
3let self =
4{ componentId
4{ componentId
@@ -23,14 +23,6 @@ let self =
23, preInstall ? component.preInstall , postInstall ? component.postInstall
23, preInstall ? component.preInstall , postInstall ? component.postInstall
24, preHaddock ? component.preHaddock , postHaddock ? component.postHaddock
24, preHaddock ? component.preHaddock , postHaddock ? component.postHaddock
25, shellHook ? ""
25, shellHook ? ""
26−, configureAllComponents ? component.configureAllComponents ||
27− # When set, configure all the components in the package
28− # (not just the one we are building).
29− # Enable for tests in packages that use cabal-doctest.
30− ( haskellLib.isTest componentId &&
31− lib.any (x: x.identifier.name or "" == "cabal-doctest") package.setup-depends
32− )
33−, allComponent # Used when `configureAllComponents` is set to get a suitable configuration.
34
26
35, build-tools ? component.build-tools
27, build-tools ? component.build-tools
36, pkgconfig ? component.pkgconfig
28, pkgconfig ? component.pkgconfig
@@ -47,22 +39,20 @@ let self =
47 # ghc's internal linker seems to be broken on x86.
39 # ghc's internal linker seems to be broken on x86.
48 && !(stdenv.hostPlatform.isMusl && !stdenv.hostPlatform.isx86)
40 && !(stdenv.hostPlatform.isMusl && !stdenv.hostPlatform.isx86)
49, enableDeadCodeElimination ? component.enableDeadCodeElimination
41, enableDeadCodeElimination ? component.enableDeadCodeElimination
50−, writeHieFiles ? component.writeHieFiles
51
42
52, ghcOptions ? component.ghcOptions
43, ghcOptions ? component.ghcOptions
53−, contentAddressed ? component.contentAddressed
54
44
55# Options for Haddock generation
45# Options for Haddock generation
56, doHaddock ? component.doHaddock # Enable haddock and hoogle generation
46, doHaddock ? component.doHaddock # Enable haddock and hoogle generation
57, doHoogle ? component.doHoogle # Also build a hoogle index
47, doHoogle ? component.doHoogle # Also build a hoogle index
58, hyperlinkSource ? component.doHyperlinkSource # Link documentation to the source code
48, hyperlinkSource ? component.doHyperlinkSource # Link documentation to the source code
59, quickjump ? component.doQuickjump # Generate an index for interactive documentation navigation
49, quickjump ? component.doQuickjump # Generate an index for interactive documentation navigation
60−, keepSource ? component.keepSource || configureAllComponents # Build from `source` output in the store then delete `dist`
50+, keepSource ? component.keepSource # Build from `source` output in the store then delete `dist`
61, setupHaddockFlags ? component.setupHaddockFlags
51, setupHaddockFlags ? component.setupHaddockFlags
62
52
63# Profiling
53# Profiling
64, enableLibraryProfiling ? component.enableLibraryProfiling
54, enableLibraryProfiling ? component.enableLibraryProfiling
65−, enableProfiling ? component.enableProfiling
55+, enableExecutableProfiling ? component.enableExecutableProfiling
66, profilingDetail ? component.profilingDetail
56, profilingDetail ? component.profilingDetail
67
57
68# Coverage
58# Coverage
@@ -83,16 +73,10 @@ let self =
83
73
84# LLVM
74# LLVM
85, useLLVM ? ghc.useLLVM
75, useLLVM ? ghc.useLLVM
86−, smallAddressSpace ? false
87
76
88}@drvArgs:
77}@drvArgs:
89
78
90let
79let
91− componentForSetup =
92− if configureAllComponents
93− then allComponent
94− else component;
95−
96 # Ignore attempts to include DWARF info when it is not possible
80 # Ignore attempts to include DWARF info when it is not possible
97 enableDWARF = drvArgs.enableDWARF or false
81 enableDWARF = drvArgs.enableDWARF or false
98 && stdenv.hostPlatform.isLinux
82 && stdenv.hostPlatform.isLinux
@@ -100,10 +84,8 @@ let
100 && !stdenv.hostPlatform.isMusl
84 && !stdenv.hostPlatform.isMusl
101 && builtins.compareVersions defaults.ghc.version "8.10.2" >= 0;
85 && builtins.compareVersions defaults.ghc.version "8.10.2" >= 0;
102
86
103− ghc = (if enableDWARF then (x: x.dwarf) else (x: x)) (
87+ ghc = if enableDWARF then defaults.ghc.dwarf else defaults.ghc;
104− (if smallAddressSpace then (x: x.smallAddressSpace) else (x: x)) defaults.ghc);
105− setup = (if enableDWARF then (x: x.dwarf) else (x: x)) (
88+ setup = if enableDWARF then drvArgs.setup.dwarf else drvArgs.setup;
106− (if smallAddressSpace then (x: x.smallAddressSpace) else (x: x)) drvArgs.setup);
107
89
108 # TODO fix cabal wildcard support so hpack wildcards can be mapped to cabal wildcards
90 # TODO fix cabal wildcard support so hpack wildcards can be mapped to cabal wildcards
109 canCleanSource = !(cabal-generator == "hpack" && !(package.cleanHpack or false));
91 canCleanSource = !(cabal-generator == "hpack" && !(package.cleanHpack or false));
@@ -114,7 +96,7 @@ let
114 # is the sub directory in that root path that contains the package.
96 # is the sub directory in that root path that contains the package.
115 # `cleanSrc.subDir` is used in `prePatch` and `lib/cover.nix`.
97 # `cleanSrc.subDir` is used in `prePatch` and `lib/cover.nix`.
116 cleanSrc = haskellLib.rootAndSubDir (if canCleanSource
98 cleanSrc = haskellLib.rootAndSubDir (if canCleanSource
117− then haskellLib.cleanCabalComponent package componentForSetup "${componentId.ctype}-${componentId.cname}" src
99+ then haskellLib.cleanCabalComponent package component "${componentId.ctype}-${componentId.cname}" src
118 else
100 else
119 # We can clean out the siblings though to at least avoid changes to other packages
101 # We can clean out the siblings though to at least avoid changes to other packages
120 # from triggering a rebuild of this one.
102 # from triggering a rebuild of this one.
@@ -133,12 +115,11 @@ let
133
115
134 fullName = "${nameOnly}-${package.identifier.version}";
116 fullName = "${nameOnly}-${package.identifier.version}";
135
117
136− needsProfiling = enableProfiling || enableLibraryProfiling;
118+ needsProfiling = enableExecutableProfiling || enableLibraryProfiling;
137
119
138 configFiles = makeConfigFiles {
120 configFiles = makeConfigFiles {
139− component = componentForSetup;
140 inherit (package) identifier;
121 inherit (package) identifier;
141− inherit fullName flags needsProfiling enableDWARF;
122+ inherit component fullName flags needsProfiling enableDWARF;
142 };
123 };
143
124
144 enableFeature = enable: feature:
125 enableFeature = enable: feature:
@@ -148,21 +129,8 @@ let
148
129
149 finalConfigureFlags = lib.concatStringsSep " " (
130 finalConfigureFlags = lib.concatStringsSep " " (
150 [ "--prefix=$out"
131 [ "--prefix=$out"
151− ] ++
152− # We don't specify this in 'commonConfigureFlags', as these are also
153− # used by haddock-builder.nix. If we do specify these options in
154− # commonConfigureFlags, then the haddock-builder will fail, because it
155− # sets its own outputs which *don't* include $hie
156− lib.optionals writeHieFiles [
157− "--ghc-option=-fwrite-ide-info" "--ghc-option=-hiedir$hie"
158− ] ++
159− (
160− # If configureAllComponents is set we should not specify the component
161− # and Setup will attempt to configure them all.
162− if configureAllComponents
163− then ["--enable-tests" "--enable-benchmarks"]
164− else ["${haskellLib.componentTarget componentId}"]
132+ "${haskellLib.componentTarget componentId}"
165− ) ++ [ "$(cat ${configFiles}/configure-flags)"
133+ "$(cat ${configFiles}/configure-flags)"
166 ] ++ commonConfigureFlags);
134 ] ++ commonConfigureFlags);
167
135
168 # From nixpkgs 20.09, the pkg-config exe has a prefix matching the ghc one
136 # From nixpkgs 20.09, the pkg-config exe has a prefix matching the ghc one
@@ -180,7 +148,7 @@ let
180 [ "--with-gcc=${stdenv.cc.targetPrefix}cc"
148 [ "--with-gcc=${stdenv.cc.targetPrefix}cc"
181 ] ++
149 ] ++
182 # BINTOOLS
150 # BINTOOLS
183− (if stdenv.hostPlatform.isLinux && !stdenv.hostPlatform.isAndroid # might be better check to see if cc is clang/llvm?
151+ (if stdenv.hostPlatform.isLinux
184 # use gold as the linker on linux to improve link times
152 # use gold as the linker on linux to improve link times
185 then [
153 then [
186 "--with-ld=${stdenv.cc.bintools.targetPrefix}ld.gold"
154 "--with-ld=${stdenv.cc.bintools.targetPrefix}ld.gold"
@@ -197,7 +165,7 @@ let
197 (disableFeature dontStrip "executable-stripping")
165 (disableFeature dontStrip "executable-stripping")
198 (disableFeature dontStrip "library-stripping")
166 (disableFeature dontStrip "library-stripping")
199 (enableFeature enableLibraryProfiling "library-profiling")
167 (enableFeature enableLibraryProfiling "library-profiling")
200− (enableFeature enableProfiling "profiling")
168+ (enableFeature enableExecutableProfiling "executable-profiling")
201 (enableFeature enableStatic "static")
169 (enableFeature enableStatic "static")
202 (enableFeature enableShared "shared")
170 (enableFeature enableShared "shared")
203 (enableFeature doCoverage "coverage")
171 (enableFeature doCoverage "coverage")
@@ -205,13 +173,13 @@ let
205 ] ++ lib.optionals (stdenv.hostPlatform.isMusl && (haskellLib.isExecutableType componentId)) [
173 ] ++ lib.optionals (stdenv.hostPlatform.isMusl && (haskellLib.isExecutableType componentId)) [
206 # These flags will make sure the resulting executable is statically linked.
174 # These flags will make sure the resulting executable is statically linked.
207 # If it uses other libraries it may be necessary for to add more
175 # If it uses other libraries it may be necessary for to add more
208− # `--ghc-option=-optl=-L` options to the `configureFlags` of the
176+ # `--ghc-option=-optl=-L` options to the `configurationFlags` of the
209 # component.
177 # component.
210 "--disable-executable-dynamic"
178 "--disable-executable-dynamic"
211 "--ghc-option=-optl=-pthread"
179 "--ghc-option=-optl=-pthread"
212 "--ghc-option=-optl=-static"
180 "--ghc-option=-optl=-static"
213 ] ++ lib.optional enableSeparateDataOutput "--datadir=$data/share/${ghc.name}"
181 ] ++ lib.optional enableSeparateDataOutput "--datadir=$data/share/${ghc.name}"
214− ++ lib.optional (enableLibraryProfiling || enableProfiling) "--profiling-detail=${profilingDetail}"
182+ ++ lib.optional (enableLibraryProfiling || enableExecutableProfiling) "--profiling-detail=${profilingDetail}"
215 ++ lib.optional stdenv.hostPlatform.isLinux (enableFeature enableDeadCodeElimination "split-sections")
183 ++ lib.optional stdenv.hostPlatform.isLinux (enableFeature enableDeadCodeElimination "split-sections")
216 ++ lib.optionals haskellLib.isCrossHost (
184 ++ lib.optionals haskellLib.isCrossHost (
217 map (arg: "--hsc2hs-option=" + arg) (["--cross-compile"] ++ lib.optionals (stdenv.hostPlatform.isWindows) ["--via-asm"])
185 map (arg: "--hsc2hs-option=" + arg) (["--cross-compile"] ++ lib.optionals (stdenv.hostPlatform.isWindows) ["--via-asm"])
@@ -225,14 +193,6 @@ let
225 "--ghc-option=-fPIC" "--gcc-option=-fPIC"
193 "--ghc-option=-fPIC" "--gcc-option=-fPIC"
226 ]
194 ]
227 ++ map (o: ''--ghc${lib.optionalString (stdenv.hostPlatform.isGhcjs) "js"}-options="${o}"'') ghcOptions
195 ++ map (o: ''--ghc${lib.optionalString (stdenv.hostPlatform.isGhcjs) "js"}-options="${o}"'') ghcOptions
228− ++ lib.optional (
229− # GHC 9.2 cross compiler built with older versions of GHC seem to have problems
230− # with unique conters. Perhaps because the name changed for the counters.
231− # TODO This work around to use `-j1` should be removed once we are able to build 9.2 with 9.2.
232− haskellLib.isCrossHost
233− && builtins.compareVersions defaults.ghc.version "9.2.1" >= 0
234− && builtins.compareVersions defaults.ghc.version "9.3" < 0)
235− "--ghc-options=-j1"
236 );
196 );
237
197
238 executableToolDepends =
198 executableToolDepends =
@@ -246,7 +206,6 @@ let
246 shellWrappers = ghcForComponent {
206 shellWrappers = ghcForComponent {
247 componentName = fullName;
207 componentName = fullName;
248 inherit configFiles enableDWARF;
208 inherit configFiles enableDWARF;
249− inherit (component) plugins;
250 };
209 };
251
210
252 # In order to let shell hooks make package-specific things like Hoogle databases
211 # In order to let shell hooks make package-specific things like Hoogle databases
@@ -281,7 +240,7 @@ let
281 (lib.optionalString (cleanSrc.subDir != "") ''
240 (lib.optionalString (cleanSrc.subDir != "") ''
282 cd ${lib.removePrefix "/" cleanSrc.subDir}
241 cd ${lib.removePrefix "/" cleanSrc.subDir}
283 ''
242 ''
284− ) +
243+ ) +
285 (if cabalFile != null
244 (if cabalFile != null
286 then ''cat ${cabalFile} > ${package.identifier.name}.cabal''
245 then ''cat ${cabalFile} > ${package.identifier.name}.cabal''
287 else
246 else
@@ -317,13 +276,7 @@ let
317 componentDrv = drv;
276 componentDrv = drv;
318 };
277 };
319
278
320− contentAddressedAttrs = lib.optionalAttrs contentAddressed {
321− __contentAddressed = true;
322− outputHashMode = "recursive";
323− outputHashAlgo = "sha256";
324− };
325−
326− drv = stdenv.mkDerivation (commonAttrs // contentAddressedAttrs // {
279+ drv = stdenv.mkDerivation (commonAttrs // {
327 pname = nameOnly;
280 pname = nameOnly;
328 inherit (package.identifier) version;
281 inherit (package.identifier) version;
329
282
@@ -356,28 +309,16 @@ let
356 description = package.synopsis or "";
309 description = package.synopsis or "";
357 license = haskellLib.cabalToNixpkgsLicense package.license;
310 license = haskellLib.cabalToNixpkgsLicense package.license;
358 platforms = if platforms == null then lib.platforms.all else platforms;
311 platforms = if platforms == null then lib.platforms.all else platforms;
359− } // lib.optionalAttrs (haskellLib.isExecutableType componentId) {
360− # Set main executable name for executable components, so that `nix run` in
361− # nix flakes will work correctly. When not set, `nix run` would (typically
362− # erroneously) deduce the executable name from the derivation name and
363− # attempt to run, for example,
364− # `/nix/store/...-project-exe-app-0.1.0.0/bin/project-exe-app` instead of
365− # `/nix/store/...-project-exe-app-0.1.0.0/bin/app`.
366− mainProgram = exeName;
367 };
312 };
368
313
369 propagatedBuildInputs =
314 propagatedBuildInputs =
370 frameworks # Frameworks will be needed at link time
315 frameworks # Frameworks will be needed at link time
371 # Not sure why pkgconfig needs to be propagatedBuildInputs but
316 # Not sure why pkgconfig needs to be propagatedBuildInputs but
372 # for gi-gtk-hs it seems to help.
317 # for gi-gtk-hs it seems to help.
373− ++ builtins.concatLists pkgconfig
318+ ++ builtins.concatLists pkgconfig;
374− ++ lib.optionals (stdenv.hostPlatform.isWindows)
375− (lib.flatten component.libs
376− ++ map haskellLib.dependToLib component.depends);
377
319
378− buildInputs = lib.optionals (!stdenv.hostPlatform.isWindows)
379− (lib.flatten component.libs
320+ buildInputs = component.libs
380− ++ map haskellLib.dependToLib component.depends);
321+ ++ map (d: d.components.library or d) component.depends;
381
322
382 nativeBuildInputs =
323 nativeBuildInputs =
383 [shellWrappers buildPackages.removeReferencesTo]
324 [shellWrappers buildPackages.removeReferencesTo]
@@ -385,10 +326,9 @@ let
385
326
386 outputs = ["out" ]
327 outputs = ["out" ]
387 ++ (lib.optional enableSeparateDataOutput "data")
328 ++ (lib.optional enableSeparateDataOutput "data")
388− ++ (lib.optional keepSource "source")
329+ ++ (lib.optional keepSource "source");
389− ++ (lib.optional writeHieFiles "hie");
390
330
391− prePatch =
331+ configurePhase =
392 # emcc is very slow if it cannot cache stuff in $HOME
332 # emcc is very slow if it cannot cache stuff in $HOME
393 (lib.optionalString (stdenv.hostPlatform.isGhcjs) ''
333 (lib.optionalString (stdenv.hostPlatform.isGhcjs) ''
394 export HOME=$(mktemp -d)
334 export HOME=$(mktemp -d)
@@ -400,9 +340,7 @@ let
400 cp -r . $source
340 cp -r . $source
401 cd $source
341 cd $source
402 chmod -R +w .
342 chmod -R +w .
403− '') + commonAttrs.prePatch;
343+ '') + ''
404−
405− configurePhase = ''
406 runHook preConfigure
344 runHook preConfigure
407 echo Configure flags:
345 echo Configure flags:
408 printf "%q " ${finalConfigureFlags}
346 printf "%q " ${finalConfigureFlags}
@@ -411,36 +349,12 @@ let
411 runHook postConfigure
349 runHook postConfigure
412 '';
350 '';
413
351
414− buildPhase =
352+ buildPhase = ''
415− # It seems that by the time the iserv wrapper specifiec by `--ghc-option=-pgmi` runs
416− # all the array environment variables are removed from the environment. To get a list
417− # of all the locations a DLLs might be present we need access to pkgsHostTarget.
418− # Adding a string version of the list array of nix store paths allows us to get that
419− # list when we need it.
420− (lib.optionalString stdenv.hostPlatform.isWindows ''
421− export pkgsHostTargetAsString="''${pkgsHostTarget[@]}"
422− '') +
423− # The following could be refactored but would lead to many rebuilds
424−
425− # In case of content addressed components we need avoid parallel building (passing -j1)
426− # in order to have a deterministic output and therefore avoid potential situations
427− # where the binary cache becomes useless
428− # See also https://gitlab.haskell.org/ghc/ghc/-/issues/12935
429− (if contentAddressed then ''
430− runHook preBuild
353+ runHook preBuild
431− $SETUP_HS build ${haskellLib.componentTarget componentId} -j1 ${lib.concatStringsSep " " setupBuildFlags}
432− runHook postBuild
433− '' else if stdenv.hostPlatform.isGhcjs then ''
434− runHook preBuild
435− # https://gitlab.haskell.org/ghc/ghc/issues/9221
354+ # https://gitlab.haskell.org/ghc/ghc/issues/9221
436− $SETUP_HS build ${haskellLib.componentTarget componentId} ${lib.concatStringsSep " " setupBuildFlags}
437− runHook postBuild
438− '' else ''
439− runHook preBuild
440− # https://gitlab.haskell.org/ghc/ghc/issues/9221
441− $SETUP_HS build ${haskellLib.componentTarget componentId} -j$(($NIX_BUILD_CORES > 4 ? 4 : $NIX_BUILD_CORES)) ${lib.concatStringsSep " " setupBuildFlags}
355+ $SETUP_HS build ${haskellLib.componentTarget componentId} -j$(($NIX_BUILD_CORES > 4 ? 4 : $NIX_BUILD_CORES)) ${lib.concatStringsSep " " setupBuildFlags}
442− runHook postBuild
356+ runHook postBuild
443− '');
357+ '';
444
358
445 # Note: Cabal does *not* copy test executables during the `install` phase.
359 # Note: Cabal does *not* copy test executables during the `install` phase.
446 #
360 #
@@ -454,11 +368,7 @@ let
454 target-pkg-and-db = "${ghc.targetPrefix}ghc-pkg -v0 --package-db $out/package.conf.d";
368 target-pkg-and-db = "${ghc.targetPrefix}ghc-pkg -v0 --package-db $out/package.conf.d";
455 in ''
369 in ''
456 runHook preInstall
370 runHook preInstall
457− $SETUP_HS copy ${lib.concatStringsSep " " (
371+ $SETUP_HS copy ${lib.concatStringsSep " " setupInstallFlags}
458− setupInstallFlags
459− ++ lib.optional configureAllComponents
460− (haskellLib.componentTarget componentId)
461− )}
462 ${lib.optionalString (haskellLib.isLibrary componentId) ''
372 ${lib.optionalString (haskellLib.isLibrary componentId) ''
463 $SETUP_HS register --gen-pkg-config=${name}.conf
373 $SETUP_HS register --gen-pkg-config=${name}.conf
464 ${ghc.targetPrefix}ghc-pkg -v0 init $out/package.conf.d
374 ${ghc.targetPrefix}ghc-pkg -v0 init $out/package.conf.d
@@ -512,7 +422,7 @@ let
512 if [ -f ${testExecutable} ]; then
422 if [ -f ${testExecutable} ]; then
513 mkdir -p $(dirname $out/bin/${exeName})
423 mkdir -p $(dirname $out/bin/${exeName})
514 ${if stdenv.hostPlatform.isGhcjs then ''
424 ${if stdenv.hostPlatform.isGhcjs then ''
515− cat <(echo \#!${lib.getBin buildPackages.nodejs-12_x}/bin/node) ${testExecutable} >| $out/bin/${exeName}
425+ cat <(echo \#!${lib.getBin buildPackages.nodejs}/bin/node) ${testExecutable} >| $out/bin/${exeName}
516 chmod +x $out/bin/${exeName}
426 chmod +x $out/bin/${exeName}
517 '' else ''
427 '' else ''
518 cp -r ${testExecutable} $(dirname $out/bin/${exeName})
428 cp -r ${testExecutable} $(dirname $out/bin/${exeName})
@@ -520,9 +430,7 @@ let
520 fi
430 fi
521 '')
431 '')
522 # In case `setup copy` did not create this
432 # In case `setup copy` did not create this
523− + (lib.optionalString enableSeparateDataOutput ''
433+ + (lib.optionalString enableSeparateDataOutput "mkdir -p $data")
524− mkdir -p $data
525− '')
526 + (lib.optionalString (stdenv.hostPlatform.isWindows && (haskellLib.mayHaveExecutable componentId)) (''
434 + (lib.optionalString (stdenv.hostPlatform.isWindows && (haskellLib.mayHaveExecutable componentId)) (''
527 echo "Symlink libffi and gmp .dlls ..."
435 echo "Symlink libffi and gmp .dlls ..."
528 for p in ${lib.concatStringsSep " " [ libffi gmp ]}; do
436 for p in ${lib.concatStringsSep " " [ libffi gmp ]}; do
@@ -530,10 +438,14 @@ let
530 done
438 done
531 ''
439 ''
532 # symlink all .dlls into the local directory.
440 # symlink all .dlls into the local directory.
441+ # we ask ghc-pkg for *all* dynamic-library-dirs and then iterate over the unique set
442+ # to symlink over dlls as needed.
533 + ''
443 + ''
534− for p in $pkgsHostTargetAsString; do
444+ echo "Symlink library dependencies..."
535− find "$p" -iname '*.dll' -exec ln -s {} $out/bin \;
445+ for libdir in $(x86_64-pc-mingw32-ghc-pkg --package-db=$packageConfDir field "*" dynamic-library-dirs --simple-output|xargs|sed 's/ /\n/g'|sort -u); do
446+ if [ -d "$libdir" ]; then
536− find "$p" -iname '*.dll.a' -exec ln -s {} $out/bin \;
447+ find "$libdir" -iname '*.dll' -exec ln -s {} $out/bin \;
448+ fi
537 done
449 done
538 ''))
450 ''))
539 + (lib.optionalString doCoverage ''
451 + (lib.optionalString doCoverage ''
@@ -543,41 +455,12 @@ let
543 '')
455 '')
544 }
456 }
545 runHook postInstall
457 runHook postInstall
546− '' + (
547− # Keep just the autogen files and package.conf.inplace package
548− # DB (probably empty unless this is a library component).
549− # We also have to remove any refernces to $out to avoid
550− # circular references.
551− lib.optionalString (configureAllComponents || keepSource) ''
458+ '' + (lib.optionalString keepSource ''
552− mv dist dist-tmp-dir
553− mkdir -p dist/build
554− if [ -d dist-tmp-dir/build/${componentId.cname}/autogen ]; then
555− mv dist-tmp-dir/build/${componentId.cname}/autogen dist/build/
556− elif [ -d dist-tmp-dir/build/autogen ]; then
557− mv dist-tmp-dir/build/autogen dist/build/
558− fi
559− mv dist-tmp-dir/package.conf.inplace dist/
560− if [ -d dist/build/autogen ]; then
561− remove-references-to -t $out dist/build/autogen/*
562− fi
563− rm -rf dist-tmp-dir
459+ rm -rf dist
564− ''
565− ) + (lib.optionalString (keepSource && haskellLib.isLibrary componentId) ''
566− remove-references-to -t $out ${name}.conf
567 '') + (lib.optionalString (haskellLib.isTest componentId) ''
460 '') + (lib.optionalString (haskellLib.isTest componentId) ''
568 echo The test ${package.identifier.name}.components.tests.${componentId.cname} was built. To run the test build ${package.identifier.name}.checks.${componentId.cname}.
461 echo The test ${package.identifier.name}.components.tests.${componentId.cname} was built. To run the test build ${package.identifier.name}.checks.${componentId.cname}.
569 '');
462 '');
570
463
571− doInstallCheck = true;
572− installCheckPhase = lib.optionalString (haskellLib.isLibrary componentId) ''
573− if test -n "$(shopt -s nullglob; echo $out/package.conf.d/${name}-*.conf)"; then
574− echo $out/package.conf.d/${name}-*.conf " is present"
575− else
576− echo "ERROR: $out/package.conf.d/${name}-*.conf was not created"
577− exit 1
578− fi
579− '';
580−
581 shellHook = ''
464 shellHook = ''
582 export PATH="${shellWrappers}/bin:$PATH"
465 export PATH="${shellWrappers}/bin:$PATH"
583 ${shellHookApplied}
466 ${shellHookApplied}
builder/default.nix+15−23
@@ -1,4 +1,4 @@
1−{ pkgs, buildPackages, evalPackages, stdenv, lib, haskellLib, ghc, compiler-nix-name, fetchurl, pkgconfig, nonReinstallablePkgs, hsPkgs, compiler }:
1+{ pkgs, buildPackages, stdenv, lib, haskellLib, ghc, compiler-nix-name, fetchurl, pkgconfig, nonReinstallablePkgs, hsPkgs, compiler }:
2
2
3let
3let
4 # Builds a single component of a package.
4 # Builds a single component of a package.
@@ -17,8 +17,8 @@ let
17 # in the native case, it would be the same in the cross case however
17 # in the native case, it would be the same in the cross case however
18 # we *really* want to build the Setup.hs on the build machine and not
18 # we *really* want to build the Setup.hs on the build machine and not
19 # have the stdenv confuse it with the target/host env.
19 # have the stdenv confuse it with the target/host env.
20− inherit (buildPackages) stdenv pkgconfig;
20+ inherit (buildPackages) stdenv;
21− inherit buildPackages;
21+ inherit buildPackages pkgconfig;
22 inherit haskellLib nonReinstallablePkgs makeSetupConfigFiles;
22 inherit haskellLib nonReinstallablePkgs makeSetupConfigFiles;
23 };
23 };
24
24
@@ -26,9 +26,8 @@ let
26 # component builder and for nix-shells.
26 # component builder and for nix-shells.
27 ghcForComponent = import ./ghc-for-component-wrapper.nix {
27 ghcForComponent = import ./ghc-for-component-wrapper.nix {
28 inherit lib ghc haskellLib;
28 inherit lib ghc haskellLib;
29− inherit (buildPackages) stdenv;
29+ inherit (buildPackages) stdenv runCommand makeWrapper;
30− inherit (buildPackages.buildPackages) runCommand makeWrapper;
31− inherit (buildPackages.buildPackages.xorg) lndir;
30+ inherit (buildPackages.xorg) lndir;
32 };
31 };
33
32
34 # Builds a derivation which contains a ghc package-db of
33 # Builds a derivation which contains a ghc package-db of
@@ -45,29 +44,22 @@ let
45
44
46 hoogleLocal = let
45 hoogleLocal = let
47 nixpkgsHoogle = import (pkgs.path + /pkgs/development/haskell-modules/hoogle.nix);
46 nixpkgsHoogle = import (pkgs.path + /pkgs/development/haskell-modules/hoogle.nix);
48− in { packages ? [], hoogle ? pkgs.buildPackages.haskell-nix.tool "ghc8107" "hoogle" {
47+ in { packages ? [], hoogle ? pkgs.buildPackages.haskell-nix.tool compiler.nix-name "hoogle" {
49− inherit evalPackages;
50− version = "5.0.18.3";
48+ version = "5.0.17.15";
51 index-state = pkgs.haskell-nix.internalHackageIndexState;
49 index-state = pkgs.haskell-nix.internalHackageIndexState;
52 }
50 }
53 }:
51 }:
54− let
52+ haskellLib.weakCallPackage pkgs nixpkgsHoogle {
55− haskellPackages = {
56− # For musl we can use haddock from the buildGHC
53+ # For musl we can use haddock from the buildGHC
57− ghc = if stdenv.hostPlatform.isLinux && stdenv.targetPlatform.isMusl && !haskellLib.isNativeMusl
54+ ghc = if stdenv.hostPlatform.isLinux && stdenv.targetPlatform.isMusl && !haskellLib.isNativeMusl
58− then ghc.buildGHC
55+ then ghc.buildGHC
59− else ghc;
56+ else ghc;
60− inherit packages hoogle;
57+ inherit packages hoogle;
61− };
58+ };
62− in if lib.versionAtLeast lib.trivial.release "22.05"
63− then haskellLib.weakCallPackage pkgs nixpkgsHoogle {
64− inherit haskellPackages;
65− } (p: p.packages)
66− else haskellLib.weakCallPackage pkgs nixpkgsHoogle haskellPackages;
67
59
68 # Same as haskellPackages.shellFor in nixpkgs.
60 # Same as haskellPackages.shellFor in nixpkgs.
69 shellFor = haskellLib.weakCallPackage pkgs ./shell-for.nix {
61 shellFor = haskellLib.weakCallPackage pkgs ./shell-for.nix {
70− inherit hsPkgs ghcForComponent makeConfigFiles hoogleLocal haskellLib buildPackages evalPackages compiler;
62+ inherit hsPkgs ghcForComponent makeConfigFiles hoogleLocal haskellLib buildPackages compiler;
71 inherit (buildPackages) glibcLocales;
63 inherit (buildPackages) glibcLocales;
72 };
64 };
73
65
builder/ghc-for-component-wrapper.nix+12−61
@@ -13,7 +13,6 @@
13, configFiles # The component's "config" derivation
13, configFiles # The component's "config" derivation
14, postInstall ? ""
14, postInstall ? ""
15, enableDWARF
15, enableDWARF
16−, plugins
17}:
16}:
18
17
19let
18let
@@ -38,70 +37,27 @@ in runCommand "${componentName}-${ghc.name}-env" {
38 ''
37 ''
39 . ${makeWrapper}/nix-support/setup-hook
38 . ${makeWrapper}/nix-support/setup-hook
40
39
41− ''
42− # Start with a ghc and remove all of the package directories
40+ # Start with a ghc...
43− + ''
44 mkdir -p $out/bin
41 mkdir -p $out/bin
45 ${lndir}/bin/lndir -silent ${ghc} $out
42 ${lndir}/bin/lndir -silent ${ghc} $out
43+ # ... remove all of the package directories
46 rm -rf ${libDir}/*/
44 rm -rf ${libDir}/*/
47− ''
48− # ... but retain the lib/ghc/bin directory. This contains `unlit' and friends.
45+ # ... but retain the lib/ghc/bin directory. This contains `unlit' and friends.
49− + ''
50 ln -s ${ghc}/lib/${ghcCommand}-${ghc.version}/bin ${libDir}
46 ln -s ${ghc}/lib/${ghcCommand}-${ghc.version}/bin ${libDir}
51− ''
52− # ... and the ghcjs shim's if they are available ...
47+ # ... and the ghcjs shim's if they are available ...
53− + ''
54 if [ -d ${ghc}/lib/${ghcCommand}-${ghc.version}/shims ]; then
48 if [ -d ${ghc}/lib/${ghcCommand}-${ghc.version}/shims ]; then
55 ln -s ${ghc}/lib/${ghcCommand}-${ghc.version}/shims ${libDir}
49 ln -s ${ghc}/lib/${ghcCommand}-${ghc.version}/shims ${libDir}
56 fi
50 fi
57− ''
58− # ... and node modules ...
51+ # ... and node modules ...
59− + ''
60 if [ -d ${ghc}/lib/${ghcCommand}-${ghc.version}/ghcjs-node ]; then
52 if [ -d ${ghc}/lib/${ghcCommand}-${ghc.version}/ghcjs-node ]; then
61 ln -s ${ghc}/lib/${ghcCommand}-${ghc.version}/ghcjs-node ${libDir}
53 ln -s ${ghc}/lib/${ghcCommand}-${ghc.version}/ghcjs-node ${libDir}
62 fi
54 fi
63− ''
64− # Replace the package database with the one from target package config.
55+ # Replace the package database with the one from target package config.
65− + ''
66 ln -s ${configFiles}/${packageCfgDir} $out/${packageCfgDir}
56 ln -s ${configFiles}/${packageCfgDir} $out/${packageCfgDir}
67
57
68− ''
58+ # Wrap compiler executables with correct env variables.
69− # Set the GHC_PLUGINS environment variable according to the plugins for the component.
59+ # The NIX_ variables are used by the patched Paths_ghc module.
70− # GHC will automatically load the relevant symbols from the given libraries and
71− # initialize them with the given arguments.
72− #
73− # GHC_PLUGINS is a `read`able [(FilePath,String,String,[String])], where the
74− # first component is a path to the shared library, the second is the package ID,
75− # the third is the module name, and the fourth is the plugin arguments.
76− + ''
77− GHC_PLUGINS="["
78− LIST_PREFIX=""
79− ${builtins.concatStringsSep "\n" (map (plugin: ''
80− id=$(${ghc}/bin/ghc-pkg --package-db ${plugin.library}/package.conf.d field ${plugin.library.package.identifier.name} id --simple-output)
81− lib_dir=$(${ghc}/bin/ghc-pkg --package-db ${plugin.library}/package.conf.d field ${plugin.library.package.identifier.name} dynamic-library-dirs --simple-output)
82− lib_base=$(${ghc}/bin/ghc-pkg --package-db ${plugin.library}/package.conf.d field ${plugin.library.package.identifier.name} hs-libraries --simple-output)
83− lib="$(echo ''${lib_dir}/lib''${lib_base}*)"
84− GHC_PLUGINS="''${GHC_PLUGINS}''${LIST_PREFIX}(\"''${lib}\",\"''${id}\",\"${plugin.moduleName}\",["
85− LIST_PREFIX=""
86− ${builtins.concatStringsSep "\n" (map (arg: ''
87− GHC_PLUGINS="''${GHC_PLUGINS}''${LIST_PREFIX}\"${arg}\""
88− LIST_PREFIX=","
89− '') plugin.args)}
90− GHC_PLUGINS="''${GHC_PLUGINS}])"
91− LIST_PREFIX=","
92− '') plugins)}
93− GHC_PLUGINS="''${GHC_PLUGINS}]"
94−
95− ''
96− # now the tricky bit. For GHCJS (to make plugins work), we need a special
97− # file called ghc_libdir. That points to the build ghc's lib.
98− + ''
99− echo "${ghc.buildGHC or ghc}/lib/${(ghc.buildGHC or ghc).name}" > "${libDir}/ghc_libdir"
100
60
101− ''
102− # Wrap compiler executables with correct env variables.
103− # The NIX_ variables are used by the patched Paths_ghc module.
104− + ''
105 for prg in ${ghcCommand} ${ghcCommand}i ${ghcCommand}-${ghc.version} ${ghcCommand}i-${ghc.version}; do
61 for prg in ${ghcCommand} ${ghcCommand}i ${ghcCommand}-${ghc.version} ${ghcCommand}i-${ghc.version}; do
106 if [[ -x "${ghc}/bin/$prg" ]]; then
62 if [[ -x "${ghc}/bin/$prg" ]]; then
107 rm -f $out/bin/$prg
63 rm -f $out/bin/$prg
@@ -110,7 +66,6 @@ in runCommand "${componentName}-${ghc.name}-env" {
110 --set "NIX_${ghcCommandCaps}" "$out/bin/${ghcCommand}" \
66 --set "NIX_${ghcCommandCaps}" "$out/bin/${ghcCommand}" \
111 --set "NIX_${ghcCommandCaps}PKG" "$out/bin/${ghcCommand}-pkg" \
67 --set "NIX_${ghcCommandCaps}PKG" "$out/bin/${ghcCommand}-pkg" \
112 --set "NIX_${ghcCommandCaps}_DOCDIR" "${docDir}" \
68 --set "NIX_${ghcCommandCaps}_DOCDIR" "${docDir}" \
113− --set "GHC_PLUGINS" "$GHC_PLUGINS" \
114 --set "NIX_${ghcCommandCaps}_LIBDIR" "${libDir}"
69 --set "NIX_${ghcCommandCaps}_LIBDIR" "${libDir}"
115 fi
70 fi
116 done
71 done
@@ -123,14 +78,11 @@ in runCommand "${componentName}-${ghc.name}-env" {
123 --set "NIX_${ghcCommandCaps}" "$out/bin/${ghcCommand}" \
78 --set "NIX_${ghcCommandCaps}" "$out/bin/${ghcCommand}" \
124 --set "NIX_${ghcCommandCaps}PKG" "$out/bin/${ghcCommand}-pkg" \
79 --set "NIX_${ghcCommandCaps}PKG" "$out/bin/${ghcCommand}-pkg" \
125 --set "NIX_${ghcCommandCaps}_DOCDIR" "${docDir}" \
80 --set "NIX_${ghcCommandCaps}_DOCDIR" "${docDir}" \
126− --set "GHC_PLUGINS" "$GHC_PLUGINS" \
127 --set "NIX_${ghcCommandCaps}_LIBDIR" "${libDir}"
81 --set "NIX_${ghcCommandCaps}_LIBDIR" "${libDir}"
128 fi
82 fi
129 done
83 done
130
84
131− ''
132− # Wrap haddock, if the base GHC provides it.
85+ # Wrap haddock, if the base GHC provides it.
133− + ''
134 if [[ -x "${haddock}/bin/haddock" ]]; then
86 if [[ -x "${haddock}/bin/haddock" ]]; then
135 rm -f $out/bin/haddock
87 rm -f $out/bin/haddock
136 makeWrapper ${haddock}/bin/haddock $out/bin/haddock \
88 makeWrapper ${haddock}/bin/haddock $out/bin/haddock \
@@ -138,10 +90,9 @@ in runCommand "${componentName}-${ghc.name}-env" {
138 --set "NIX_${ghcCommandCaps}_LIBDIR" "${libDir}"
90 --set "NIX_${ghcCommandCaps}_LIBDIR" "${libDir}"
139 fi
91 fi
140
92
141− ''
142− # Point ghc-pkg to the package database of the component using the
93+ # Point ghc-pkg to the package database of the component using the
143− # --global-package-db flag.
94+ # --global-package-db flag.
144− + ''
95+
145 for prg in ${ghcCommand}-pkg ${ghcCommand}-pkg-${ghc.version}; do
96 for prg in ${ghcCommand}-pkg ${ghcCommand}-pkg-${ghc.version}; do
146 if [[ -x "${ghc}/bin/$prg" ]]; then
97 if [[ -x "${ghc}/bin/$prg" ]]; then
147 rm -f $out/bin/$prg
98 rm -f $out/bin/$prg
builder/haddock-builder.nix−2
@@ -41,7 +41,6 @@ let
41 inherit (package) identifier;
41 inherit (package) identifier;
42 inherit component fullName flags needsProfiling;
42 inherit component fullName flags needsProfiling;
43 chooseDrv = p: p.haddock;
43 chooseDrv = p: p.haddock;
44− inherit (componentDrv) enableDWARF;
45 };
44 };
46
45
47 finalConfigureFlags = lib.concatStringsSep " " (
46 finalConfigureFlags = lib.concatStringsSep " " (
@@ -56,7 +55,6 @@ let
56 componentName = fullName;
55 componentName = fullName;
57 configFiles = docsConfigFiles;
56 configFiles = docsConfigFiles;
58 inherit (componentDrv) enableDWARF;
57 inherit (componentDrv) enableDWARF;
59− inherit (component) plugins;
60 };
58 };
61
59
62 drv = stdenv.mkDerivation (commonAttrs // {
60 drv = stdenv.mkDerivation (commonAttrs // {
builder/hspkg-builder.nix+25−38
@@ -23,44 +23,38 @@ assert (if ghc.isHaskellNixCompiler or false then true
23 + pkgs.lib.optionalString (name != null) (" for " + name)));
23 + pkgs.lib.optionalString (name != null) (" for " + name)));
24
24
25let
25let
26− # Some packages bundled with GHC are not the same as they are in hackage.
27− bundledSrc = {
28− # These are problematic because the hackage versions will not install and are part of LTS.
29− "ghc902/stm-2.5.0.0" = "/libraries/stm";
30− "ghc902/filepath-1.4.2.1" = "/libraries/filepath";
31− }."${compiler-nix-name}/${name}" or null;
32− src = if bundledSrc == null then pkg.src else ghc.configured-src + bundledSrc;
33− cabalFile = if revision == null || revision == 0 || bundledSrc != null then null else
26+ cabalFile = if revision == null || revision == 0 then null else
34 fetchurl {
27 fetchurl {
35 name = "${name}-${toString revision}.cabal";
28 name = "${name}-${toString revision}.cabal";
36 url = "https://hackage.haskell.org/package/${name}/revision/${toString revision}.cabal";
29 url = "https://hackage.haskell.org/package/${name}/revision/${toString revision}.cabal";
37 sha256 = revisionSha256;
30 sha256 = revisionSha256;
38 };
31 };
39
32
40− defaultSetupSrc = if stdenv.hostPlatform.isGhcjs then ./Setup.ghcjs.hs else ./Setup.hs;
33+ defaultSetupSrc = builtins.toFile "Setup.hs" ''
34+ import Distribution.Simple
35+ main = defaultMain
36+ '';
41
37
42− # This is the `Cabal` library that was built for `cabal-install` to use.
38+ # Get the Cabal lib used to build `cabal-install`.
43− # It makes sense to use this version (when possible) because it will match the behavior of
39+ # To avoid infinite recursion we have to leave this out for packages
44− # building with `cabal-install` (including fixes that may not be in the
40+ # needed to build `cabal-install`.
45− # version of Cabal bundled with GHC).
41+ # We always do this for ghcjs as the patched version of Cabal is needed.
46− cabalFromCabalInstall = buildPackages.haskell-nix.cabal-install-unchecked.${compiler-nix-name}.project.hsPkgs.Cabal.components.library;
42+ cabalLibDepends = lib.optional (
47−
48− # Check there is no chance we are building `cabalFromCabalInstall`. Using `cabalFromCabalInstall`
49− # to build itseld would cause infinite recursion.
50− useCabalFromCabalInstall =
51− # `cabalFromCabalInstall` is not cross compiled
52− stdenv.buildPlatform != stdenv.hostPlatform
43+ stdenv.hostPlatform.isGhcjs || (
53− ||
44+ builtins.elem compiler-nix-name["ghc865" "ghc884"]
54− # These are the dependencies of `Cabal`
45+ &&
55 !builtins.elem package.identifier.name
46 !builtins.elem package.identifier.name
56 ["nix-tools" "alex" "happy" "hscolour" "Cabal" "bytestring" "aeson" "time"
47 ["nix-tools" "alex" "happy" "hscolour" "Cabal" "bytestring" "aeson" "time"
57 "filepath" "base-compat-batteries" "base-compat" "unix" "directory" "transformers"
48 "filepath" "base-compat-batteries" "base-compat" "unix" "directory" "transformers"
58− "containers" "binary" "mtl" "text" "process" "parsec"];
49+ "containers" "binary" "mtl" "text" "process" "parsec"]
50+ )
51+ )
52+ buildPackages.haskell-nix.cabal-install-unchecked.${compiler-nix-name}.project.hsPkgs.Cabal.components.library;
59
53
60− defaultSetup = setup-builder ({
54+ defaultSetup = setup-builder {
61 name = "${ghc.targetPrefix}default-Setup";
55 name = "${ghc.targetPrefix}default-Setup";
62 component = {
56 component = {
63− depends = config.setup-depends ++ lib.optional useCabalFromCabalInstall cabalFromCabalInstall;
57+ depends = config.setup-depends ++ cabalLibDepends;
64 libs = [];
58 libs = [];
65 frameworks = [];
59 frameworks = [];
66 doExactConfig = false;
60 doExactConfig = false;
@@ -88,19 +82,12 @@ let
88 synopsis = null;
82 synopsis = null;
89 license = "MIT";
83 license = "MIT";
90 };
84 };
91− src = null;
92− cleanSrc = buildPackages.runCommand "default-Setup-src" {} ''
85+ src = null; cleanSrc = buildPackages.runCommand "default-Setup-src" {} ''
93 mkdir $out
86 mkdir $out
94 cat ${defaultSetupSrc} > $out/Setup.hs
87 cat ${defaultSetupSrc} > $out/Setup.hs
95 '';
88 '';
96 inherit defaultSetupSrc;
89 inherit defaultSetupSrc;
97− } // lib.optionalAttrs useCabalFromCabalInstall {
98− # This is needed so that we don't get duplicate packages when we
99− # add a custom Cabal package to the dependencies. That way custom
100− # setups won't complain about e.g. binary from the Cabal dependencies
101− # and binary from the global package-db.
102− nonReinstallablePkgs = [];
103− });
90+ };
104
91
105 # buildPackages.runCommand "default-Setup" { nativeBuildInputs = [(ghc.passthru.buildGHC or ghc)]; } ''
92 # buildPackages.runCommand "default-Setup" { nativeBuildInputs = [(ghc.passthru.buildGHC or ghc)]; } ''
106 # cat ${defaultSetupSrc} > Setup.hs
93 # cat ${defaultSetupSrc} > Setup.hs
@@ -120,18 +107,18 @@ let
120 inherit (pkg) preUnpack postUnpack;
107 inherit (pkg) preUnpack postUnpack;
121 };
108 };
122
109
123− buildComp = allComponent: componentId: component: comp-builder {
110+ buildComp = componentId: component: comp-builder {
124− inherit allComponent componentId component package name src flags setup cabalFile cabal-generator patches revision
111+ inherit componentId component package name src flags setup cabalFile cabal-generator patches revision
125 shellHook
112 shellHook
126 ;
113 ;
127 };
114 };
128
115
129in rec {
116in rec {
130− components = haskellLib.applyComponents (buildComp pkg.allComponent) pkg;
117+ components = haskellLib.applyComponents buildComp pkg;
131 checks = pkgs.recurseIntoAttrs (builtins.mapAttrs
118 checks = pkgs.recurseIntoAttrs (builtins.mapAttrs
132 (_: d: haskellLib.check d)
119 (_: d: haskellLib.check d)
133 (lib.filterAttrs (_: d: d.config.doCheck) components.tests));
120 (lib.filterAttrs (_: d: d.config.doCheck) components.tests));
134− inherit (package) identifier detailLevel isLocal isProject buildType;
121+ inherit (package) identifier detailLevel isLocal isProject;
135 inherit setup cabalFile;
122 inherit setup cabalFile;
136 isHaskell = true;
123 isHaskell = true;
137 inherit src;
124 inherit src;
builder/make-config-files.nix+7−16
@@ -1,12 +1,8 @@
1{ stdenv, lib, haskellLib, ghc, nonReinstallablePkgs, runCommand, writeText, writeScript }@defaults:
1{ stdenv, lib, haskellLib, ghc, nonReinstallablePkgs, runCommand, writeText, writeScript }@defaults:
2
2
3−{ identifier, component, fullName, flags ? {}, needsProfiling ? false, enableDWARF ? false, chooseDrv ? drv: drv, nonReinstallablePkgs ? defaults.nonReinstallablePkgs }:
3+{ identifier, component, fullName, flags ? {}, needsProfiling ? false, enableDWARF ? false, chooseDrv ? drv: drv }:
4
4
5let
5let
6− # Sort and remove duplicates from nonReinstallablePkgs.
7− # That way changes to the order of nonReinstallablePkgs does not require rebuilds.
8− nonReinstallablePkgs' = __attrNames (lib.genAttrs nonReinstallablePkgs (x: x));
9−
10 ghc = if enableDWARF then defaults.ghc.dwarf else defaults.ghc;
6 ghc = if enableDWARF then defaults.ghc.dwarf else defaults.ghc;
11
7
12 flagsAndConfig = field: xs: lib.optionalString (xs != []) ''
8 flagsAndConfig = field: xs: lib.optionalString (xs != []) ''
@@ -85,20 +81,15 @@ let
85 ${target-pkg} init $out/${packageCfgDir}
81 ${target-pkg} init $out/${packageCfgDir}
86
82
87 ${lib.concatStringsSep "\n" (lib.mapAttrsToList flagsAndConfig {
83 ${lib.concatStringsSep "\n" (lib.mapAttrsToList flagsAndConfig {
88− "extra-lib-dirs" = map (p: "${lib.getLib p}/lib") (lib.flatten component.libs)
84+ "extra-lib-dirs" = map (p: "${lib.getLib p}/lib") component.libs;
89− # On windows also include `bin` directories that may contain DLLs
90− ++ lib.optionals (stdenv.hostPlatform.isWindows)
91− (map (p: "${lib.getBin p}/bin")
92− (lib.flatten component.libs ++ lib.concatLists component.pkgconfig));
93− "extra-include-dirs" = map (p: "${lib.getDev p}/include") (lib.flatten component.libs);
85+ "extra-include-dirs" = map (p: "${lib.getDev p}/include") component.libs;
94− "extra-framework-dirs" = lib.optionals (stdenv.hostPlatform.isDarwin)
95− (map (p: "${p}/Library/Frameworks") component.frameworks);
86+ "extra-framework-dirs" = map (p: "${p}/Library/Frameworks") component.frameworks;
96 })}
87 })}
97
88
98 ghc=${ghc}
89 ghc=${ghc}
99 ${ # Copy over the nonReinstallablePkgs from the global package db.
90 ${ # Copy over the nonReinstallablePkgs from the global package db.
100 ''
91 ''
101− for p in ${lib.concatStringsSep " " nonReinstallablePkgs'}; do
92+ for p in ${lib.concatStringsSep " " nonReinstallablePkgs}; do
102 find $ghc/lib/${ghc.name}/package.conf.d -name $p'*.conf' -exec cp -f {} $out/${packageCfgDir} \;
93 find $ghc/lib/${ghc.name}/package.conf.d -name $p'*.conf' -exec cp -f {} $out/${packageCfgDir} \;
103 done
94 done
104 ''}
95 ''}
@@ -157,13 +148,13 @@ let
157 cat $p/exactDep/cabal.config >> $out/cabal.config
148 cat $p/exactDep/cabal.config >> $out/cabal.config
158 ''}
149 ''}
159 done
150 done
160− for p in ${lib.concatStringsSep " " (lib.remove "ghc" nonReinstallablePkgs')}; do
151+ for p in ${lib.concatStringsSep " " (lib.remove "ghc" nonReinstallablePkgs)}; do
161 if [ -e $ghc/envDeps/$p ]; then
152 if [ -e $ghc/envDeps/$p ]; then
162 cat $ghc/envDeps/$p >> $out/ghc-environment
153 cat $ghc/envDeps/$p >> $out/ghc-environment
163 fi
154 fi
164 done
155 done
165 '' + lib.optionalString component.doExactConfig ''
156 '' + lib.optionalString component.doExactConfig ''
166− for p in ${lib.concatStringsSep " " nonReinstallablePkgs'}; do
157+ for p in ${lib.concatStringsSep " " nonReinstallablePkgs}; do
167 if [ -e $ghc/exactDeps/$p ]; then
158 if [ -e $ghc/exactDeps/$p ]; then
168 cat $ghc/exactDeps/$p/configure-flags >> $out/configure-flags
159 cat $ghc/exactDeps/$p/configure-flags >> $out/configure-flags
169 cat $ghc/exactDeps/$p/cabal.config >> $out/cabal.config
160 cat $ghc/exactDeps/$p/cabal.config >> $out/cabal.config
builder/setup-builder.nix+6−11
@@ -1,4 +1,4 @@
1−{ pkgs, stdenv, lib, buildPackages, haskellLib, ghc, nonReinstallablePkgs, hsPkgs, makeSetupConfigFiles, pkgconfig }@defaults:
1+{ pkgs, stdenv, lib, buildPackages, haskellLib, ghc, nonReinstallablePkgs, hsPkgs, makeSetupConfigFiles, pkgconfig }:
2
2
3let self =
3let self =
4{ component, package, name, src, enableDWARF ? false, flags ? {}, revision ? null, patches ? [], defaultSetupSrc
4{ component, package, name, src, enableDWARF ? false, flags ? {}, revision ? null, patches ? [], defaultSetupSrc
@@ -7,14 +7,9 @@ let self =
7, preBuild ? component.preBuild , postBuild ? component.postBuild
7, preBuild ? component.preBuild , postBuild ? component.postBuild
8, preInstall ? component.preInstall , postInstall ? component.postInstall
8, preInstall ? component.preInstall , postInstall ? component.postInstall
9, cleanSrc ? haskellLib.cleanCabalComponent package component "setup" src
9, cleanSrc ? haskellLib.cleanCabalComponent package component "setup" src
10−, nonReinstallablePkgs ? defaults.nonReinstallablePkgs
11−, smallAddressSpace ? false
12}@drvArgs:
10}@drvArgs:
13
11
14let
12let
15− ghc = (if enableDWARF then (x: x.dwarf) else (x: x)) (
16− (if smallAddressSpace then (x: x.smallAddressSpace) else (x: x)) defaults.ghc);
17−
18 cleanSrc' = haskellLib.rootAndSubDir cleanSrc;
13 cleanSrc' = haskellLib.rootAndSubDir cleanSrc;
19
14
20 fullName = "${name}-setup";
15 fullName = "${name}-setup";
@@ -23,7 +18,7 @@ let
23
18
24 configFiles = makeSetupConfigFiles {
19 configFiles = makeSetupConfigFiles {
25 inherit (package) identifier;
20 inherit (package) identifier;
26− inherit fullName flags component enableDWARF nonReinstallablePkgs;
21+ inherit fullName flags component enableDWARF;
27 };
22 };
28 hooks = haskellLib.optionalHooks {
23 hooks = haskellLib.optionalHooks {
29 inherit
24 inherit
@@ -57,7 +52,6 @@ let
57 cleanSrc = cleanSrc';
52 cleanSrc = cleanSrc';
58 inherit configFiles;
53 inherit configFiles;
59 dwarf = self (drvArgs // { enableDWARF = true; });
54 dwarf = self (drvArgs // { enableDWARF = true; });
60− smallAddressSpace = self (drvArgs // { smallAddressSpace = true; });
61 };
55 };
62
56
63 meta = {
57 meta = {
@@ -76,12 +70,13 @@ let
76 for f in Setup.hs Setup.lhs; do
70 for f in Setup.hs Setup.lhs; do
77 if [ -f $f ]; then
71 if [ -f $f ]; then
78 echo Compiling package $f
72 echo Compiling package $f
79− ghc $f -threaded ${if includeGhcPackage then "-package ghc " else ""
73+ ghc $f -threaded '' + (if includeGhcPackage then "-package ghc " else "")
80− }-package-db ${configFiles}/${configFiles.packageCfgDir} --make -o ./Setup
74+ + ''-package-db ${configFiles}/${configFiles.packageCfgDir} --make -o ./Setup
75+ setup=$(pwd)/Setup
81 fi
76 fi
82 done
77 done
83 [ -f ./Setup ] || (echo Failed to build Setup && exit 1)
78 [ -f ./Setup ] || (echo Failed to build Setup && exit 1)
84− runHook postBuild
79+ runHook preBuild
85 '';
80 '';
86
81
87 installPhase = ''
82 installPhase = ''
builder/shell-for.nix+36−63
@@ -1,4 +1,4 @@
1−{ lib, stdenv, mkShell, glibcLocales, pkgconfig, ghcForComponent, makeConfigFiles, hsPkgs, hoogleLocal, haskellLib, buildPackages, evalPackages, compiler }:
1+{ lib, stdenv, mkShell, glibcLocales, pkgconfig, ghcForComponent, makeConfigFiles, hsPkgs, hoogleLocal, haskellLib, buildPackages, compiler }:
2
2
3{ # `packages` function selects packages that will be worked on in the shell itself.
3{ # `packages` function selects packages that will be worked on in the shell itself.
4 # These packages will not be built by `shellFor`, but their
4 # These packages will not be built by `shellFor`, but their
@@ -9,11 +9,10 @@
9 # in the selected packages. If only as subset of the components will be
9 # in the selected packages. If only as subset of the components will be
10 # worked on in the shell then we can pass a different `components` function
10 # worked on in the shell then we can pass a different `components` function
11 # to select those.
11 # to select those.
12−, components ? ps: lib.concatMap haskellLib.getAllComponents (packages ps)
12+, components ? ps: lib.concatMap haskellLib.getAllComponents (packages hsPkgs)
13 # Additional packages to be added unconditionally
13 # Additional packages to be added unconditionally
14, additional ? _: []
14, additional ? _: []
15, withHoogle ? true
15, withHoogle ? true
16−, withHaddock ? withHoogle
17, exactDeps ? false
16, exactDeps ? false
18, tools ? {}
17, tools ? {}
19, packageSetupDeps ? true
18, packageSetupDeps ? true
@@ -26,69 +25,51 @@ let
26
25
27 selectedPackages = packages hsPkgs;
26 selectedPackages = packages hsPkgs;
28 additionalPackages = additional hsPkgs;
27 additionalPackages = additional hsPkgs;
29− directlySelectedComponents = components hsPkgs;
28+ selectedComponents = components hsPkgs;
30
29
30+ # The configs of all the selected components
31+ selectedConfigs = map (c: c.config) selectedComponents
32+ ++ lib.optionals packageSetupDeps (map (p: p.setup.config) selectedPackages);
33+
34+ name = if lib.length selectedPackages == 1
35+ then "ghc-shell-for-${(lib.head selectedPackages).identifier.name}"
36+ else "ghc-shell-for-packages";
37+
31− # Given `directlySelectedComponents = [ a b ]`, we construct a shell that includes all of their dependencies
38+ # Given a `packages = [ a b ]` we construct a shell with the dependencies of `a` and `b`.
32 #
39 #
33− # But we want to exclude `a` if it is a transitive dependecy of `b`
40+ # But if `a` depends on `b`, we don't want to include `b`, because
34− # because:
35 # - cabal will end up ignoring that built version;
41 # - cabal will end up ignoring that built version;
36 # - The user has indicated that's what they're working on, so they probably don't want to have to build
42 # - The user has indicated that's what they're working on, so they probably don't want to have to build
37 # it first (and it will change often).
43 # it first (and it will change often).
38− # Generally we never want to include any of `directlySelectedComponents` as dependencies.
44+ # Generally we never want to include any of (the components of) the selected packages as dependencies.
39− #
40− # We do this by defining a set of `selectedComponents`, where `x` is in `selectedComponents` if and only if:
41− # - `x` is in `directlySelectedComponents`
42− # - `x` is a transitive dependency of something in `directlySelectedComponents`
43− # and `x` transitively depends on something in `directlySelectedComponents`
44− # We use the dependencies of `selectedComponents` filtering out members of `selectedComponents`
45 #
45 #
46 # Furthermore, if `a` depends on `b`, `a` will include the library component of `b` in its `buildInputs`
46 # Furthermore, if `a` depends on `b`, `a` will include the library component of `b` in its `buildInputs`
47 # (to make `propagatedBuildInputs` of `pkgconfig-depends` work). So we also need to filter those
47 # (to make `propagatedBuildInputs` of `pkgconfig-depends` work). So we also need to filter those
48 # (the pkgconfig depends of `b` will still be included in the
48 # (the pkgconfig depends of `b` will still be included in the
49 # system shell's `buildInputs` via `b`'s own `buildInputs`).
49 # system shell's `buildInputs` via `b`'s own `buildInputs`).
50+ # We have to do this slightly differently because we will be looking at the actual components rather
51+ # than the packages.
50
52
53+ # Given a list of packages, removes those which were selected as part of the shell.
54+ # We do this on the basis of their identifiers being the same, not direct equality (why?).
55+ removeSelectedPackages =
56+ # All the identifiers of the selected packages
57+ let selectedPackageIds = map (p: p.identifier) selectedPackages;
58+ in lib.filter (input: !(builtins.elem (input.identifier or null) selectedPackageIds));
51
59
52− # all packages that are indirectly depended on by `directlySelectedComponents`
53− # including `directlySelectedComponents`
54− transitiveDependenciesComponents =
55− builtins.listToAttrs
56− (builtins.map (x: lib.nameValuePair (x.name) x)
57− (haskellLib.flatLibDepends {depends = directlySelectedComponents;}));
58−
59− isSelectedComponent =
60− comp: selectedComponentsBitmap."${((haskellLib.dependToLib comp).name or null)}" or false;
61− selectedComponentsBitmap =
62− lib.mapAttrs
63− (_: x: (builtins.any isSelectedComponent x.config.depends))
64− transitiveDependenciesComponents
65− // builtins.listToAttrs (map (x: lib.nameValuePair x.name true) directlySelectedComponents); # base case
66−
67− selectedComponents =
68− lib.filter isSelectedComponent (lib.attrValues transitiveDependenciesComponents);
69−
70− # Given a list of `depends`, removes those which are selected components
60+ # Given a list of derivations, removes those which are components of packages which were selected as part of the shell.
71 removeSelectedInputs =
61 removeSelectedInputs =
72− lib.filter (input: !(isSelectedComponent input));
62+ # All the components of the selected packages: we shouldn't add any of these as dependencies
73−
63+ let selectedPackageComponents = map (x: x.name) (lib.concatMap haskellLib.getAllComponents selectedPackages);
74− # The configs of all the selected components.
64+ in lib.filter (input: !(builtins.elem input.name selectedPackageComponents));
75− # This excludes the `setup` dependencies of `Simple` packages, because
76− # `cabal-install` does not build a `Setup` executable for `Simple` packages.
77− selectedConfigs = map (c: c.config) selectedComponents
78− ++ lib.optionals packageSetupDeps (map (p: p.setup.config)
79− (lib.filter (p: p.buildType != "Simple") selectedPackages));
80−
81− name = if lib.length selectedPackages == 1
82− then "ghc-shell-for-${(lib.head selectedPackages).identifier.name}"
83− else "ghc-shell-for-packages";
84
65
85− # We need to remove any dependencies which would bring in selected components (see above).
66+ # We need to remove any dependencies which are selected packages (see above).
67+ # `depends` contains packages so we use 'removeSelectedPackages`.
86− packageInputs = removeSelectedInputs (lib.concatMap (cfg: cfg.depends) selectedConfigs)
68+ packageInputs = removeSelectedPackages (lib.concatMap (cfg: cfg.depends) selectedConfigs) ++ additionalPackages;
87− ++ additionalPackages;
88
69
89 # Add the system libraries and build tools of the selected haskell packages to the shell.
70 # Add the system libraries and build tools of the selected haskell packages to the shell.
90 # We need to remove any inputs which are selected components (see above).
71 # We need to remove any inputs which are selected components (see above).
91− # `buildInputs`, `propagatedBuildInputs`, and `executableToolDepends` contain component
72+ # `buildInputs`, `propagatedBuildInputs`, and `executableToolDepends` contain component
92 # derivations, not packages, so we use `removeSelectedInputs`).
73 # derivations, not packages, so we use `removeSelectedInputs`).
93 systemInputs = removeSelectedInputs (lib.concatMap
74 systemInputs = removeSelectedInputs (lib.concatMap
94 (c: c.buildInputs ++ c.propagatedBuildInputs) selectedComponents);
75 (c: c.buildInputs ++ c.propagatedBuildInputs) selectedComponents);
@@ -99,15 +80,13 @@ let
99 component = {
80 component = {
100 depends = packageInputs;
81 depends = packageInputs;
101 libs = [];
82 libs = [];
102− pkgconfig = [];
103 frameworks = [];
83 frameworks = [];
104 doExactConfig = false;
84 doExactConfig = false;
105 };
85 };
106 configFiles = makeConfigFiles {
86 configFiles = makeConfigFiles {
107 fullName = args.name or name;
87 fullName = args.name or name;
108 identifier.name = name;
88 identifier.name = name;
109− inherit component enableDWARF;
89+ inherit component;
110− chooseDrv = p: if withHaddock && p ? haddock then p.haddock else p;
111 };
90 };
112 ghcEnv = ghcForComponent {
91 ghcEnv = ghcForComponent {
113 inherit configFiles;
92 inherit configFiles;
@@ -116,7 +95,6 @@ let
116 ln -s ${hoogleIndex}/bin/hoogle $out/bin
95 ln -s ${hoogleIndex}/bin/hoogle $out/bin
117 '';
96 '';
118 inherit enableDWARF;
97 inherit enableDWARF;
119− plugins = [];
120 };
98 };
121
99
122 hoogleIndex = let
100 hoogleIndex = let
@@ -133,16 +111,11 @@ let
133 # inherit (hsPkgs) hoogle;
111 # inherit (hsPkgs) hoogle;
134 } // (
112 } // (
135 lib.optionalAttrs (args ? tools && args.tools ? hoogle) {
113 lib.optionalAttrs (args ? tools && args.tools ? hoogle) {
136− hoogle = buildPackages.haskell-nix.hackage-tool (
114+ hoogle = buildPackages.haskell-nix.tool compiler.nix-name "hoogle" args.tools.hoogle;
137− haskellLib.versionOrModToMods args.tools.hoogle ++ [{
138− name = "hoogle";
139− compiler-nix-name = compiler.nix-name;
140− inherit evalPackages;
141− }]);
142 }
115 }
143 ));
116 ));
144
117
145− mkDrvArgs = builtins.removeAttrs args ["packages" "components" "additional" "withHoogle" "tools"];
118+ mkDrvArgs = builtins.removeAttrs args ["packages" "additional" "withHoogle" "tools"];
146in
119in
147 mkShell (mkDrvArgs // {
120 mkShell (mkDrvArgs // {
148 name = mkDrvArgs.name or name;
121 name = mkDrvArgs.name or name;
@@ -152,15 +125,13 @@ in
152 nativeBuildInputs = [ ghcEnv ]
125 nativeBuildInputs = [ ghcEnv ]
153 ++ nativeBuildInputs
126 ++ nativeBuildInputs
154 ++ mkDrvArgs.nativeBuildInputs or []
127 ++ mkDrvArgs.nativeBuildInputs or []
155− ++ lib.attrValues (buildPackages.haskell-nix.tools' evalPackages compiler.nix-name tools)
128+ ++ lib.attrValues (buildPackages.haskell-nix.tools compiler.nix-name tools)
156 # If this shell is a cross compilation shell include
129 # If this shell is a cross compilation shell include
157 # wrapper script for running cabal build with appropriate args.
130 # wrapper script for running cabal build with appropriate args.
158− # Includes `--with-compiler` in case the `cabal.project` file has `with-compiler:` in it.
159 ++ lib.optional (ghcEnv.targetPrefix != "") (
131 ++ lib.optional (ghcEnv.targetPrefix != "") (
160 buildPackages.writeShellScriptBin "${ghcEnv.targetPrefix}cabal" ''
132 buildPackages.writeShellScriptBin "${ghcEnv.targetPrefix}cabal" ''
161 exec cabal \
133 exec cabal \
162 --with-ghc=${ghcEnv.targetPrefix}ghc \
134 --with-ghc=${ghcEnv.targetPrefix}ghc \
163− --with-compiler=${ghcEnv.targetPrefix}ghc \
164 --with-ghc-pkg=${ghcEnv.targetPrefix}ghc-pkg \
135 --with-ghc-pkg=${ghcEnv.targetPrefix}ghc-pkg \
165 --with-hsc2hs=${ghcEnv.targetPrefix}hsc2hs \
136 --with-hsc2hs=${ghcEnv.targetPrefix}hsc2hs \
166 ${lib.optionalString (ghcEnv.targetPrefix == "js-unknown-ghcjs-") ''
137 ${lib.optionalString (ghcEnv.targetPrefix == "js-unknown-ghcjs-") ''
@@ -175,6 +146,8 @@ in
175 echo "${"Shell for " + toString (builtins.map (p : p.identifier.name) selectedPackages)}"
146 echo "${"Shell for " + toString (builtins.map (p : p.identifier.name) selectedPackages)}"
176 echo $nativeBuildInputs $buildInputs > $out
147 echo $nativeBuildInputs $buildInputs > $out
177 '';
148 '';
149+ LANG = "en_US.UTF-8";
150+ LOCALE_ARCHIVE = lib.optionalString (stdenv.hostPlatform.libc == "glibc") "${glibcLocales}/lib/locale/locale-archive";
178
151
179 # This helps tools like `ghcide` (that use the ghc api) to find
152 # This helps tools like `ghcide` (that use the ghc api) to find
180 # the correct global package DB.
153 # the correct global package DB.
changelog.md−57
@@ -1,63 +1,6 @@
1This file contains a summary of changes to Haskell.nix and `nix-tools`
1This file contains a summary of changes to Haskell.nix and `nix-tools`
2that will impact users.
2that will impact users.
3
3
4−## Jul 27, 2022
5−* Removed reliance on `builtins.currentSystem`. It was used it to provide
6− `pkgs.evalPackages` via an overlay that it used to run derivations
7− used in imports from derivation (IFDs).
8−
9− These derivations are now run on `buildPackages` by default.
10−
11− Passsing `evalPackages` to a project function will change where all the
12− derivations used in IFDs are run for that project (including shell tools):
13− evalPackages = import nixpkgs haskellNix.nixpkgsArgs;
14−
15− Passing `evalSystem` instead will use create a suitable `nixpkgs` using `pkgs.path`
16− and `pkgs.overlay`:
17− evalSystem = "x86_64-linux";
18− or
19− evalSystem = builtins.currentSystem;
20−
21− The `haskellLib.cleanGit` function is also affected by this change. If you are cross
22− compiling and using `cleanGit` you should probably do something like:
23− pkgs = import nixpkgs haskellNix.nixpkgsArgs;
24− evalPackages = import nixpkgs (haskellNix.nixpkgsArgs // { system = evalSystem; });
25− p = pkgs.pkgsCross.mingwW64.haskell-nix.cabalProject {
26− inherit evalPackages;
27− src = evalPackages.haskell-nix.haskellLib.cleanGit { src = ./.; };
28− };
29−
30−## Feb 16, 2022
31−* Removed lookupSha256 argument from project functions.
32− Pass a `sha256map` instead.
33−* Added better support for `repository` in `cabal.project`. These
34− blocks should now work without the need for passing `extra-hackages` and
35− `extra-hackage-tarballs`.
36−
37−## Aug 6, 2021
38−* Included dependencies of haskell.nix that were tracked in `nix/sources.json`
39− as flake inputs (`flake.lock` replaces `nix/sources.json`).
40−* Uses `flake-compat` to continue to provide a compatible interface for non
41− flake projects.
42−
43−## Jul 23, 2021
44−* `source-repository-package` references in `cabal.project` files are now
45− left as a `source-repository-package` when calculating the the `plan-nix` for
46− `cabalProject` based functions.
47− This makes haskell.nix match the behaviour of `cabal` better.
48− Materialized files for projects that use `source-repository-package`
49− references will need to be updated.
50−* Only planned components are included in a haskell.nix cabal project.
51− If cabal solver does not include the component in the `plan.json` file it
52− will not be present in `hsPkgs.pkg.components`.
53−* When the same package occurs more than once in a plan.json file
54− the latest version is picked by haskell.nix.
55−
56−## Apr 8, 2021
57−* Project arguments are now validated with the Nix module system.
58− If unexpected argments are passed to a project function this may now
59− result in an error.
60−
61## Feb 22, 2021
4## Feb 22, 2021
62* Add `.dwarf` to build any component with DWARF dubug info on linux
5* Add `.dwarf` to build any component with DWARF dubug info on linux
63 (ghc >=8.10.2).
6 (ghc >=8.10.2).
ci-lib.nix+4−4
@@ -1,8 +1,8 @@
1−{
1+let
2 # Generic nixpkgs, use *only* for lib functions that are stable across versions
2 # Generic nixpkgs, use *only* for lib functions that are stable across versions
3− pkgs ? (import ./. {}).pkgs,
3+ pkgs = import (import ./nix/sources.nix).nixpkgs {};
4− lib ? pkgs.lib
4+ lib = pkgs.lib;
5−}: rec {
5+in rec {
6 inherit (import ./dimension.nix) dimension;
6 inherit (import ./dimension.nix) dimension;
7
7
8 # A filter for removing packages that aren't supported on the current platform
8 # A filter for removing packages that aren't supported on the current platform
ci.nix+40−53
@@ -4,24 +4,17 @@
4, ifdLevel ? 3
4, ifdLevel ? 3
5# Whether or not we are evaluating in restricted mode. This is true in Hydra, but not in Hercules.
5# Whether or not we are evaluating in restricted mode. This is true in Hydra, but not in Hercules.
6, restrictEval ? false
6, restrictEval ? false
7−, checkMaterialization ? false
7+, checkMaterialization ? false }:
8−, pkgs ? (import ./. {}).pkgs }:
9 let
8 let
10− inherit (import ./ci-lib.nix { inherit pkgs; }) dimension platformFilterGeneric filterAttrsOnlyRecursive;
9+ inherit (import ./ci-lib.nix) dimension platformFilterGeneric filterAttrsOnlyRecursive;
11− inherit (pkgs.haskell-nix) sources;
10+ sources = import ./nix/sources.nix {};
12 nixpkgsVersions = {
11 nixpkgsVersions = {
13− "R2111" = "nixpkgs-2111";
12+ "R2003" = "nixpkgs-2003";
14− "R2205" = "nixpkgs-2205";
13+ "R2009" = "nixpkgs-2009";
15 "unstable" = "nixpkgs-unstable";
14 "unstable" = "nixpkgs-unstable";
16 };
15 };
17− haskellNix = import ./default.nix { inherit checkMaterialization; };
18− nixpkgsArgs = haskellNix.nixpkgsArgs // {
19− # Needed for dwarf tests
20− config = haskellNix.nixpkgsArgs.config // {
21− permittedInsecurePackages = ["libdwarf-20210528" "libdwarf-20181024" "dwarfdump-20181024"];
22− };
23− };
24 compilerNixNames = nixpkgsName: nixpkgs: builtins.mapAttrs (compiler-nix-name: runTests: {
16 compilerNixNames = nixpkgsName: nixpkgs: builtins.mapAttrs (compiler-nix-name: runTests: {
17+ inherit (import ./default.nix { inherit checkMaterialization; }) nixpkgsArgs;
25 inherit runTests;
18 inherit runTests;
26 }) (
19 }) (
27 # GHC version to cache and whether to run the tests against them.
20 # GHC version to cache and whether to run the tests against them.
@@ -30,59 +23,53 @@
30 # cabal-install and nix-tools plans. When removing a ghc version
23 # cabal-install and nix-tools plans. When removing a ghc version
31 # from here (so that is no longer cached) also remove ./materialized/ghcXXX.
24 # from here (so that is no longer cached) also remove ./materialized/ghcXXX.
32 # Update supported-ghc-versions.md to reflect any changes made here.
25 # Update supported-ghc-versions.md to reflect any changes made here.
33− nixpkgs.lib.optionalAttrs (nixpkgsName == "R2111") {
26+ {
34− ghc865 = false;
27+ ghc865 = true;
35− ghc8107 = true;
28+ ghc884 = false; # Just included because the native version is needed at eval time
36− } // nixpkgs.lib.optionalAttrs (nixpkgsName == "R2205") {
29+ } // nixpkgs.lib.optionalAttrs (nixpkgsName == "R2009") {
37− ghc865 = false;
30+ ghc884 = true;
38− ghc8107 = true;
31+ ghc8104 = true;
39 } // nixpkgs.lib.optionalAttrs (nixpkgsName == "unstable") {
32 } // nixpkgs.lib.optionalAttrs (nixpkgsName == "unstable") {
40− ghc865 = false;
33+ ghc884 = true;
41− ghc884 = false; # Native version is used to boot 9.0.1
34+ ghc8104 = true;
42− ghc8107 = true;
35+ ghc810420210212 = false;
43− ghc902 = true;
44− ghc924 = true;
45 });
36 });
46− systems = nixpkgsName: nixpkgs: compiler-nix-name: nixpkgs.lib.genAttrs (
37+ systems = nixpkgs: nixpkgs.lib.filterAttrs (_: v: builtins.elem v supportedSystems) {
47− nixpkgs.lib.filter (v:
38+ # I wanted to take these from 'lib.systems.examples', but apparently there isn't one for linux!
48− # We have less x86_64-darwin build capacity so build fewer GhC versions
39+ linux = "x86_64-linux";
49− (v != "x86_64-darwin" || (
40+ darwin = "x86_64-darwin";
50− !__elem compiler-nix-name ["ghc8104" "ghc810420210212" "ghc8105" "ghc8106" "ghc901" "ghc921" "ghc922"]))
41+ };
51− &&
52− # aarch64-darwin requires ghc 8.10.7
53− (v != "aarch64-darwin" || (
54− !__elem compiler-nix-name ["ghc865" "ghc884" "ghc8104" "ghc810420210212" "ghc8105" "ghc8106" "ghc901" "ghc921" "ghc922"]))
55− &&
56− # aarch64-linux requires ghc 8.8.4
57− (v != "aarch64-linux" || (
58− !__elem compiler-nix-name ["ghc865" "ghc8104" "ghc810420210212" "ghc8105" "ghc8106" "ghc901" "ghc921" "ghc922"]
59− ))) supportedSystems) (v: v);
60 crossSystems = nixpkgsName: nixpkgs: compiler-nix-name: system:
42 crossSystems = nixpkgsName: nixpkgs: compiler-nix-name: system:
61 # We need to use the actual nixpkgs version we're working with here, since the values
43 # We need to use the actual nixpkgs version we're working with here, since the values
62 # of 'lib.systems.examples' are not understood between all versions
44 # of 'lib.systems.examples' are not understood between all versions
63 let lib = nixpkgs.lib;
45 let lib = nixpkgs.lib;
64− in lib.optionalAttrs (nixpkgsName == "unstable"
46+ in lib.optionalAttrs (nixpkgsName == "unstable" && (__elem compiler-nix-name ["ghc865" "ghc884"])) {
65− && ((system == "x86_64-linux" && __elem compiler-nix-name ["ghc865" "ghc884" "ghc8107"])
66− || (system == "x86_64-darwin" && __elem compiler-nix-name ["ghc8107"]))) {
67 inherit (lib.systems.examples) ghcjs;
47 inherit (lib.systems.examples) ghcjs;
68− } // lib.optionalAttrs (nixpkgsName == "unstable"
48+ } // lib.optionalAttrs (system == "x86_64-linux" && (
69− && ((system == "x86_64-linux" && __elem compiler-nix-name ["ghc8107" "ghc902" "ghc924"])
49+ (nixpkgsName == "R2009" && __elem compiler-nix-name ["ghc8101" "ghc8102" "ghc8103" "ghc8104" "ghc810420210212"])
70− || (system == "x86_64-darwin" && __elem compiler-nix-name []))) { # TODO add ghc versions when we have more darwin build capacity
50+ || (nixpkgsName == "R2003" && __elem compiler-nix-name ["ghc865"]))) {
51+ # Windows cross compilation is currently broken on macOS
71 inherit (lib.systems.examples) mingwW64;
52 inherit (lib.systems.examples) mingwW64;
72− } // lib.optionalAttrs (system == "x86_64-linux" && nixpkgsName == "unstable" && __elem compiler-nix-name ["ghc8107" "ghc902" "ghc922" "ghc923" "ghc924"]) {
53+ } // lib.optionalAttrs (system == "x86_64-linux"
54+ && !(nixpkgsName == "R2003" && compiler-nix-name == "ghc884")) {
73 # Musl cross only works on linux
55 # Musl cross only works on linux
74 # aarch64 cross only works on linux
56 # aarch64 cross only works on linux
57+ # We also skip these for the R2003 was build of ghc884 (we only need the
58+ # native so ifdLevel 1 includes compiler needed in ifdLevel2 eval)
75 inherit (lib.systems.examples) musl64 aarch64-multiplatform;
59 inherit (lib.systems.examples) musl64 aarch64-multiplatform;
76 };
60 };
61+ isDisabled = d:
62+ let meta = d.meta or {};
77− isDisabled = d: d.meta.disabled or false;
63+ in meta.disabled or false;
78in
64in
79dimension "Nixpkgs version" nixpkgsVersions (nixpkgsName: nixpkgs-pin:
65dimension "Nixpkgs version" nixpkgsVersions (nixpkgsName: nixpkgs-pin:
80 let pinnedNixpkgsSrc = sources.${nixpkgs-pin};
66 let pinnedNixpkgsSrc = sources.${nixpkgs-pin};
67+ # We need this for generic nixpkgs stuff at the right version
81− evalPackages = import pinnedNixpkgsSrc nixpkgsArgs;
68+ genericPkgs = import pinnedNixpkgsSrc {};
82− in dimension "GHC version" (compilerNixNames nixpkgsName evalPackages) (compiler-nix-name: {runTests}:
69+ in dimension "GHC version" (compilerNixNames nixpkgsName genericPkgs) (compiler-nix-name: {nixpkgsArgs, runTests}:
83− dimension "System" (systems nixpkgsName evalPackages compiler-nix-name) (systemName: system:
70+ dimension "System" (systems genericPkgs) (systemName: system:
84 let pkgs = import pinnedNixpkgsSrc (nixpkgsArgs // { inherit system; });
71 let pkgs = import pinnedNixpkgsSrc (nixpkgsArgs // { inherit system; });
85− build = import ./build.nix { inherit pkgs evalPackages ifdLevel compiler-nix-name; };
72+ build = import ./build.nix { inherit pkgs ifdLevel compiler-nix-name; };
86 platformFilter = platformFilterGeneric pkgs system;
73 platformFilter = platformFilterGeneric pkgs system;
87 in filterAttrsOnlyRecursive (_: v: platformFilter v && !(isDisabled v)) ({
74 in filterAttrsOnlyRecursive (_: v: platformFilter v && !(isDisabled v)) ({
88 # Native builds
75 # Native builds
@@ -95,14 +82,14 @@ dimension "Nixpkgs version" nixpkgsVersions (nixpkgsName: nixpkgs-pin:
95 } // pkgs.lib.optionalAttrs (ifdLevel >= 1) {
82 } // pkgs.lib.optionalAttrs (ifdLevel >= 1) {
96 iserv-proxy = pkgs.ghc-extra-projects."${compiler-nix-name}".getComponent "iserv-proxy:exe:iserv-proxy";
83 iserv-proxy = pkgs.ghc-extra-projects."${compiler-nix-name}".getComponent "iserv-proxy:exe:iserv-proxy";
97 } // pkgs.lib.optionalAttrs (ifdLevel >= 3) {
84 } // pkgs.lib.optionalAttrs (ifdLevel >= 3) {
98− hello = (pkgs.haskell-nix.hackage-package { name = "hello"; version = "1.0.0.2"; inherit evalPackages compiler-nix-name; }).getComponent "exe:hello";
85+ hello = (pkgs.haskell-nix.hackage-package { name = "hello"; version = "1.0.0.2"; inherit compiler-nix-name; }).getComponent "exe:hello";
99 });
86 });
100 }
87 }
101 //
88 //
102− dimension "Cross system" (crossSystems nixpkgsName evalPackages compiler-nix-name system) (crossSystemName: crossSystem:
89+ dimension "Cross system" (crossSystems nixpkgsName genericPkgs compiler-nix-name system) (crossSystemName: crossSystem:
103 # Cross builds
90 # Cross builds
104 let pkgs = import pinnedNixpkgsSrc (nixpkgsArgs // { inherit system crossSystem; });
91 let pkgs = import pinnedNixpkgsSrc (nixpkgsArgs // { inherit system crossSystem; });
105− build = import ./build.nix { inherit pkgs evalPackages ifdLevel compiler-nix-name; };
92+ build = import ./build.nix { inherit pkgs ifdLevel compiler-nix-name; };
106 in pkgs.recurseIntoAttrs (pkgs.lib.optionalAttrs (ifdLevel >= 1) ({
93 in pkgs.recurseIntoAttrs (pkgs.lib.optionalAttrs (ifdLevel >= 1) ({
107 roots = pkgs.haskell-nix.roots' compiler-nix-name ifdLevel;
94 roots = pkgs.haskell-nix.roots' compiler-nix-name ifdLevel;
108 ghc = pkgs.buildPackages.haskell-nix.compiler."${compiler-nix-name}";
95 ghc = pkgs.buildPackages.haskell-nix.compiler."${compiler-nix-name}";
compiler/ghc/configured-src.nixnew file+127
@@ -0,0 +1,127 @@
1+{ stdenv, lib, fetchurl
2+, ghc-version, ghc-version-date, ghc-patches, src-spec
3+, targetPrefix
4+, targetPlatform, hostPlatform
5+, targetPackages
6+, perl, autoconf, automake, m4, python3, sphinx, ghc, bootPkgs
7+, autoreconfHook, toolsForTarget, bash
8+, libDeps
9+, useLLVM, llvmPackages
10+, targetCC
11+, enableIntegerSimple, targetGmp
12+, enableDWARF, elfutils
13+, ncurses, targetLibffi, libiconv
14+, disableLargeAddressSpace
15+, buildMK
16+}:
17+stdenv.mkDerivation (rec {
18+
19+ version = ghc-version;
20+ patches = ghc-patches;
21+ name = "${targetPrefix}ghc-${ghc-version}-configured-src";
22+
23+ # Make sure we never relax`$PATH` and hooks support for compatability.
24+ strictDeps = true;
25+
26+ nativeBuildInputs = [
27+ perl autoconf automake m4 python3 sphinx
28+ ghc bootPkgs.alex bootPkgs.happy bootPkgs.hscolour
29+ ] ++ lib.optional (patches != []) autoreconfHook;
30+
31+ # For building runtime libs
32+ depsBuildTarget = toolsForTarget;
33+
34+ buildInputs = [ perl bash ] ++ (libDeps hostPlatform);
35+
36+ propagatedBuildInputs = [ targetPackages.stdenv.cc ]
37+ ++ lib.optional useLLVM llvmPackages.llvm;
38+
39+ depsTargetTarget = map lib.getDev (libDeps targetPlatform);
40+ depsTargetTargetPropagated = map (lib.getOutput "out") (libDeps targetPlatform);
41+
42+ postPatch = "patchShebangs .";
43+
44+ src = if src-spec ? file
45+ then src-spec.file
46+ else fetchurl { inherit (src-spec) url sha256; };
47+
48+ # GHC is a bit confused on its cross terminology.
49+ preConfigure = ''
50+ for env in $(env | grep '^TARGET_' | sed -E 's|\+?=.*||'); do
51+ export "''${env#TARGET_}=''${!env}"
52+ done
53+ # GHC is a bit confused on its cross terminology, as these would normally be
54+ # the *host* tools.
55+ export CC="${targetCC}/bin/${targetCC.targetPrefix}cc"
56+ export CXX="${targetCC}/bin/${targetCC.targetPrefix}cxx"
57+ # Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177
58+ export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${lib.optionalString targetPlatform.isAarch32 ".gold"}"
59+ export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as"
60+ export AR="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ar"
61+ export NM="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}nm"
62+ export RANLIB="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ranlib"
63+ export READELF="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}readelf"
64+ export STRIP="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}strip"
65+
66+ echo -n "${buildMK}" > mk/build.mk
67+ sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
68+ '' + lib.optionalString (!stdenv.isDarwin) ''
69+ export NIX_LDFLAGS+=" -rpath $out/lib/${targetPrefix}ghc-${version}"
70+ '' + lib.optionalString stdenv.isDarwin ''
71+ export NIX_LDFLAGS+=" -no_dtrace_dof"
72+ '' + lib.optionalString targetPlatform.useAndroidPrebuilt ''
73+ sed -i -e '5i ,("armv7a-unknown-linux-androideabi", ("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "cortex-a8", ""))' llvm-targets
74+ '' + lib.optionalString targetPlatform.isMusl ''
75+ echo "patching llvm-targets for musl targets..."
76+ echo "Cloning these existing '*-linux-gnu*' targets:"
77+ grep linux-gnu llvm-targets | sed 's/^/ /'
78+ echo "(go go gadget sed)"
79+ sed -i 's,\(^.*linux-\)gnu\(.*\)$,\0\n\1musl\2,' llvm-targets
80+ echo "llvm-targets now contains these '*-linux-musl*' targets:"
81+ grep linux-musl llvm-targets | sed 's/^/ /'
82+
83+ echo "And now patching to preserve '-musleabi' as done with '-gnueabi'"
84+ # (aclocal.m4 is actual source, but patch configure as well since we don't re-gen)
85+ for x in configure aclocal.m4; do
86+ substituteInPlace $x \
87+ --replace '*-android*|*-gnueabi*)' \
88+ '*-android*|*-gnueabi*|*-musleabi*)'
89+ done
90+ '' + lib.optionalString (src-spec.version != ghc-version) ''
91+ substituteInPlace configure --replace 'RELEASE=YES' 'RELEASE=NO'
92+ echo '${ghc-version}' > VERSION
93+ '' + lib.optionalString (ghc-version-date != null) ''
94+ substituteInPlace configure --replace 'RELEASE=YES' 'RELEASE=NO'
95+ echo '${ghc-version-date}' > VERSION_DATE
96+ '';
97+
98+ configurePlatforms = [ "build" "host" "target" ];
99+ # `--with` flags for libraries needed for RTS linker
100+ configureFlags = [
101+ "--datadir=$doc/share/doc/ghc"
102+ "--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib"
103+ ] ++ lib.optionals (targetLibffi != null) ["--with-system-libffi" "--with-ffi-includes=${targetLibffi.dev}/include" "--with-ffi-libraries=${targetLibffi.out}/lib"
104+ ] ++ lib.optional (!enableIntegerSimple) [
105+ "--with-gmp-includes=${targetGmp.dev}/include" "--with-gmp-libraries=${targetGmp.out}/lib"
106+ ] ++ lib.optional (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) [
107+ "--with-iconv-includes=${libiconv}/include" "--with-iconv-libraries=${libiconv}/lib"
108+ ] ++ lib.optionals (targetPlatform != hostPlatform) [
109+ "--enable-bootstrap-with-devel-snapshot"
110+ ] ++ lib.optionals (disableLargeAddressSpace) [
111+ "--disable-large-address-space"
112+ ] ++ lib.optionals (targetPlatform.isAarch32) [
113+ "CFLAGS=-fuse-ld=gold"
114+ "CONF_GCC_LINKER_OPTS_STAGE1=-fuse-ld=gold"
115+ "CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold"
116+ ] ++ lib.optionals enableDWARF [
117+ "--enable-dwarf-unwind"
118+ "--with-libdw-includes=${lib.getDev elfutils}/include"
119+ "--with-libdw-libraries=${lib.getLib elfutils}/lib"
120+ ];
121+
122+ outputs = [ "out" ];
123+ phases = [ "unpackPhase" "patchPhase" ]
124+ ++ lib.optional (ghc-patches != []) "autoreconfPhase"
125+ ++ [ "configurePhase" "installPhase" ];
126+ installPhase = "cp -r . $out";
127+})
compiler/ghc/default.nix+64−231
@@ -8,14 +8,11 @@ let self =
8
8
9# build-tools
9# build-tools
10, bootPkgs
10, bootPkgs
11−, buildPackages
12, autoconf, automake, coreutils, fetchurl, fetchpatch, perl, python3, m4, sphinx, numactl, elfutils
11, autoconf, automake, coreutils, fetchurl, fetchpatch, perl, python3, m4, sphinx, numactl, elfutils
13, autoreconfHook
12, autoreconfHook
14, bash
13, bash
15
14
16−, libiconv ? null
15+, libiconv ? null, ncurses
17−
18−, ncurses # TODO remove this once the cross compilers all work without
19
16
20, installDeps
17, installDeps
21
18
@@ -31,9 +28,6 @@ let self =
31, # If enabled, GHC will be built with the GPL-free but slower integer-simple
28, # If enabled, GHC will be built with the GPL-free but slower integer-simple
32 # library instead of the faster but GPLed integer-gmp library.
29 # library instead of the faster but GPLed integer-gmp library.
33 enableIntegerSimple ? !(lib.any (lib.meta.platformMatch stdenv.hostPlatform) gmp.meta.platforms), gmp
30 enableIntegerSimple ? !(lib.any (lib.meta.platformMatch stdenv.hostPlatform) gmp.meta.platforms), gmp
34−, # If enabled, GHC will be built with the GPL-free native backend of the
35− # bignum library that is nearly as fast as GMP
36− enableNativeBignum ? !((lib.any (lib.meta.platformMatch stdenv.hostPlatform) gmp.meta.platforms) || enableIntegerSimple)
37
31
38, # If enabled, use -fPIC when compiling static libs.
32, # If enabled, use -fPIC when compiling static libs.
39 enableRelocatedStaticLibs ? stdenv.targetPlatform != stdenv.hostPlatform && !stdenv.targetPlatform.isAarch32
33 enableRelocatedStaticLibs ? stdenv.targetPlatform != stdenv.hostPlatform && !stdenv.targetPlatform.isAarch32
@@ -46,12 +40,8 @@ let self =
46
40
47, enableDWARF ? false
41, enableDWARF ? false
48
42
49−, enableTerminfo ?
43+, # Whether to build terminfo. Musl fails to build terminfo as ncurses seems to be linked to glibc
50− # Terminfo does not work on older ghc cross arm and windows compilers
44+ enableTerminfo ? !stdenv.targetPlatform.isWindows && !stdenv.targetPlatform.isMusl
51− (!haskell-nix.haskellLib.isCrossTarget || !(stdenv.targetPlatform.isAarch64 || stdenv.targetPlatform.isWindows) || builtins.compareVersions ghc-version "8.10" >= 0)
52−
53−, # Wheter to build in NUMA support
54− enableNUMA ? true
55
45
56, # What flavour to build. An empty string indicates no
46, # What flavour to build. An empty string indicates no
57 # specific flavour and falls back to ghc default values.
47 # specific flavour and falls back to ghc default values.
@@ -74,11 +64,7 @@ let self =
74, extra-passthru ? {}
64, extra-passthru ? {}
75}@args:
65}@args:
76
66
77−assert !(enableIntegerSimple || enableNativeBignum) -> gmp != null;
67+assert !enableIntegerSimple -> gmp != null;
78−
79−# Early check to make sure only one of these is enabled
80−assert enableNativeBignum -> !enableIntegerSimple;
81−assert enableIntegerSimple -> !enableNativeBignum;
82
68
83let
69let
84 inherit (stdenv) buildPlatform hostPlatform targetPlatform;
70 inherit (stdenv) buildPlatform hostPlatform targetPlatform;
@@ -86,17 +72,6 @@ let
86
72
87 inherit (bootPkgs) ghc;
73 inherit (bootPkgs) ghc;
88
74
89− ghcHasNativeBignum = builtins.compareVersions ghc-version "9.0" >= 0;
90−
91− bignumSpec =
92− assert ghcHasNativeBignum -> !enableIntegerSimple;
93− assert !ghcHasNativeBignum -> !enableNativeBignum;
94− if ghcHasNativeBignum then ''
95− BIGNUM_BACKEND = ${if enableNativeBignum then "native" else "gmp"}
96− '' else ''
97− INTEGER_LIBRARY = ${if enableIntegerSimple then "integer-simple" else "integer-gmp"}
98− '';
99−
100 # TODO check if this possible fix for segfaults works or not.
75 # TODO check if this possible fix for segfaults works or not.
101 targetLibffi =
76 targetLibffi =
102 # on native platforms targetPlatform.{libffi, gmp} do not exist; thus fall back
77 # on native platforms targetPlatform.{libffi, gmp} do not exist; thus fall back
@@ -109,10 +84,6 @@ let
109
84
110 targetGmp = targetPackages.gmp or gmp;
85 targetGmp = targetPackages.gmp or gmp;
111
86
112− targetIconv = targetPackages.libiconv or libiconv;
113−
114− targetNumactl = targetPackages.numactl or numactl;
115−
116 # TODO(@Ericson2314) Make unconditional
87 # TODO(@Ericson2314) Make unconditional
117 targetPrefix = lib.optionalString
88 targetPrefix = lib.optionalString
118 (targetPlatform != hostPlatform)
89 (targetPlatform != hostPlatform)
@@ -124,25 +95,17 @@ let
124 include mk/flavours/\$(BuildFlavour).mk
95 include mk/flavours/\$(BuildFlavour).mk
125 endif
96 endif
126 DYNAMIC_GHC_PROGRAMS = ${if enableShared then "YES" else "NO"}
97 DYNAMIC_GHC_PROGRAMS = ${if enableShared then "YES" else "NO"}
127− '' + bignumSpec + ''
98+ INTEGER_LIBRARY = ${if enableIntegerSimple then "integer-simple" else "integer-gmp"}
128− EXTRA_HADDOCK_OPTS += --quickjump --hyperlinked-source
129 '' + lib.optionalString (targetPlatform != hostPlatform) ''
99 '' + lib.optionalString (targetPlatform != hostPlatform) ''
130 CrossCompilePrefix = ${targetPrefix}
100 CrossCompilePrefix = ${targetPrefix}
131 '' + lib.optionalString isCrossTarget ''
101 '' + lib.optionalString isCrossTarget ''
132 Stage1Only = ${if targetPlatform.system == hostPlatform.system then "NO" else "YES"}
102 Stage1Only = ${if targetPlatform.system == hostPlatform.system then "NO" else "YES"}
133− ''
134− # GHC 9.0.1 fails to compile for musl unless HADDOC_DOCS = NO
135− + lib.optionalString (isCrossTarget || (targetPlatform.isMusl && builtins.compareVersions ghc-version "9.0.1" >= 0)) ''
136 HADDOCK_DOCS = NO
103 HADDOCK_DOCS = NO
137 BUILD_SPHINX_HTML = NO
104 BUILD_SPHINX_HTML = NO
138 BUILD_SPHINX_PDF = NO
105 BUILD_SPHINX_PDF = NO
139 '' + lib.optionalString enableRelocatedStaticLibs ''
106 '' + lib.optionalString enableRelocatedStaticLibs ''
140 GhcLibHcOpts += -fPIC
107 GhcLibHcOpts += -fPIC
141 GhcRtsHcOpts += -fPIC
108 GhcRtsHcOpts += -fPIC
142− GhcRtsCcOpts += -fPIC
143− '' + lib.optionalString (enableRelocatedStaticLibs && targetPlatform.isx86_64 && !targetPlatform.isWindows) ''
144− GhcLibHcOpts += -fexternal-dynamic-refs
145− GhcRtsHcOpts += -fexternal-dynamic-refs
146 '' + lib.optionalString enableDWARF ''
109 '' + lib.optionalString enableDWARF ''
147 GhcLibHcOpts += -g3
110 GhcLibHcOpts += -g3
148 GhcRtsHcOpts += -g3
111 GhcRtsHcOpts += -g3
@@ -153,29 +116,24 @@ let
153 ''
116 ''
154 # musl doesn't have a system-linker. Only on x86, and on x86 we need it, as
117 # musl doesn't have a system-linker. Only on x86, and on x86 we need it, as
155 # our elf linker for x86_64 is broken.
118 # our elf linker for x86_64 is broken.
156− + lib.optionalString (targetPlatform.isAndroid || (targetPlatform.isMusl && !targetPlatform.isx86)) ''
119+ + lib.optionalString (targetPlatform.isMusl && !targetPlatform.isx86) ''
157 compiler_CONFIGURE_OPTS += --flags=-dynamic-system-linker
120 compiler_CONFIGURE_OPTS += --flags=-dynamic-system-linker
158 ''
121 ''
159 # While split sections are now enabled by default in ghc 8.8 for windows,
122 # While split sections are now enabled by default in ghc 8.8 for windows,
160 # the seem to lead to `too many sections` errors when building base for
123 # the seem to lead to `too many sections` errors when building base for
161 # profiling.
124 # profiling.
162− #
163− # It appears that loading split sections through iserv on qemu-aarch64, is
164− # particularly slow. Let's disable them for now.
165− + lib.optionalString (targetPlatform.isWindows || targetPlatform.isAndroid) ''
125+ + lib.optionalString targetPlatform.isWindows ''
166 SplitSections = NO
126 SplitSections = NO
167 '' + lib.optionalString (!enableLibraryProfiling) ''
127 '' + lib.optionalString (!enableLibraryProfiling) ''
168 BUILD_PROF_LIBS = NO
128 BUILD_PROF_LIBS = NO
169 '';
129 '';
170
130
171 # Splicer will pull out correct variations
131 # Splicer will pull out correct variations
172− libDeps = platform: lib.optional enableTerminfo [ targetPackages.ncurses targetPackages.ncurses.dev ]
132+ libDeps = platform: lib.optional enableTerminfo [ ncurses ]
173 ++ [targetLibffi]
133 ++ [targetLibffi]
174 ++ lib.optional (!enableIntegerSimple) gmp
134 ++ lib.optional (!enableIntegerSimple) gmp
175 ++ lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv
135 ++ lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv
176− ++ lib.optional (enableNUMA && platform.isLinux && !platform.isAarch32 && !platform.isAndroid) numactl
136+ ++ lib.optional (platform.isLinux && !platform.isAarch32) numactl;
177− # Even with terminfo disabled some older ghc cross arm and windows compilers do not build unless `ncurses` is found and they seem to want the buildPlatform version
178− ++ lib.optional (!enableTerminfo && haskell-nix.haskellLib.isCrossTarget && (stdenv.targetPlatform.isAarch64 || stdenv.targetPlatform.isWindows) && builtins.compareVersions ghc-version "8.10" < 0) ncurses.dev;
179
137
180 toolsForTarget =
138 toolsForTarget =
181 if hostPlatform == buildPlatform then
139 if hostPlatform == buildPlatform then
@@ -185,6 +143,24 @@ let
185
143
186 targetCC = builtins.head toolsForTarget;
144 targetCC = builtins.head toolsForTarget;
187
145
146+ configured-src = import ./configured-src.nix {
147+ inherit stdenv lib fetchurl
148+ ghc-version ghc-version-date ghc-patches src-spec
149+ targetPrefix
150+ targetPlatform hostPlatform
151+ targetPackages
152+ perl autoconf automake m4 python3 sphinx ghc bootPkgs
153+ autoreconfHook toolsForTarget bash
154+ libDeps
155+ useLLVM llvmPackages
156+ targetCC
157+ enableIntegerSimple targetGmp
158+ enableDWARF elfutils
159+ ncurses targetLibffi libiconv
160+ disableLargeAddressSpace
161+ buildMK
162+ ;
163+ };
188in
164in
189stdenv.mkDerivation (rec {
165stdenv.mkDerivation (rec {
190 version = ghc-version;
166 version = ghc-version;
@@ -192,102 +168,42 @@ stdenv.mkDerivation (rec {
192
168
193 patches = ghc-patches;
169 patches = ghc-patches;
194
170
195− src = if src-spec ? file
171+ # for this to properly work (with inheritance of patches, postPatch, ...)
196− then src-spec.file
172+ # this needs to be a function over the values we want to inherit and then called
197− else fetchurl { inherit (src-spec) url sha256; };
173+ # accordingly. Most trivial might be to just have args, and mash them into the
174+ # attrset.
175+ src = configured-src;
198
176
199 # configure was run by configured-src already.
177 # configure was run by configured-src already.
200− phases = [ "unpackPhase" "patchPhase" ]
178+ phases = [ "unpackPhase" "buildPhase"
201− ++ lib.optional (ghc-patches != []) "autoreconfPhase"
202− ++ [ "configurePhase" "buildPhase"
203 "checkPhase" "installPhase"
179 "checkPhase" "installPhase"
204 "fixupPhase"
180 "fixupPhase"
205 "installCheckPhase"
181 "installCheckPhase"
206 "distPhase"
182 "distPhase"
207 ];
183 ];
208
184
209− # GHC is a bit confused on its cross terminology.
185+ # ghc hardcodes the TOP dir during config, this breaks when
210− preConfigure =
186+ # splitting the configured src from the build process.
211− # This code is only included when cross compiling as it breaks aarch64-darwin native compilation
187+ postUnpack = ''
212− lib.optionalString (targetPlatform != hostPlatform) ''
188+ (cd $sourceRoot
213− for env in $(env | grep '^TARGET_' | sed -E 's|\+?=.*||'); do
189+ TOP=$(cat mk/config.mk|grep ^TOP|awk -F\ '{ print $3 }')
214− export "''${env#TARGET_}=''${!env}"
190+ PREFIX=$(cat mk/install.mk|grep ^prefix|awk -F\ '{ print $3 }')
215− done
191+
216− # GHC is a bit confused on its cross terminology, as these would normally be
192+ # these two are required
217− # the *host* tools.
193+ substituteInPlace mk/config.mk --replace "$TOP" "$PWD" \
218− export CC="${targetCC}/bin/${targetCC.targetPrefix}cc"
194+ --replace "$PREFIX" "$out"
219− export CXX="${targetCC}/bin/${targetCC.targetPrefix}cxx"
195+
220− # Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177
196+ substituteInPlace mk/install.mk --replace "$TOP" "$PWD" \
221− export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${lib.optionalString targetPlatform.isAarch32 ".gold"}"
197+ --replace "$PREFIX" "$out"
222− export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as"
198+
223− export AR="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ar"
199+ # these two only for convencience.
224− export NM="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}nm"
200+ substituteInPlace config.log --replace "$TOP" "$PWD"\
225− export RANLIB="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ranlib"
201+ --replace "$PREFIX" "$out"
226− export READELF="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}readelf"
202+ substituteInPlace config.status --replace "$TOP" "$PWD"\
227− export STRIP="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}strip"
203+ --replace "$PREFIX" "$out")
228− '' + ''
204+
229− echo -n "${buildMK}" > mk/build.mk
205+
230− sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
231− '' + lib.optionalString useLLVM ''
232− export LLC="${llvmPackages.llvm}/bin/llc"
233− export OPT="${llvmPackages.llvm}/bin/opt"
234− '' + lib.optionalString (!stdenv.isDarwin) ''
235− export NIX_LDFLAGS+=" -rpath $out/lib/${targetPrefix}ghc-${ghc-version}"
236− '' + lib.optionalString stdenv.isDarwin ''
237− export NIX_LDFLAGS+=" -no_dtrace_dof"
238− '' + lib.optionalString targetPlatform.useAndroidPrebuilt ''
239− sed -i -e '5i ,("armv7a-unknown-linux-androideabi", ("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "cortex-a8", ""))' llvm-targets
240− '' + lib.optionalString targetPlatform.isMusl ''
241− echo "patching llvm-targets for musl targets..."
242− echo "Cloning these existing '*-linux-gnu*' targets:"
243− grep linux-gnu llvm-targets | sed 's/^/ /'
244− echo "(go go gadget sed)"
245− sed -i 's,\(^.*linux-\)gnu\(.*\)$,\0\n\1musl\2,' llvm-targets
246− echo "llvm-targets now contains these '*-linux-musl*' targets:"
247− grep linux-musl llvm-targets | sed 's/^/ /'
248−
249− echo "And now patching to preserve '-musleabi' as done with '-gnueabi'"
250− # (aclocal.m4 is actual source, but patch configure as well since we don't re-gen)
251− for x in configure aclocal.m4; do
252− substituteInPlace $x \
253− --replace '*-android*|*-gnueabi*)' \
254− '*-android*|*-gnueabi*|*-musleabi*)'
255− done
256− '' + lib.optionalString (src-spec.version != ghc-version) ''
257− substituteInPlace configure --replace 'RELEASE=YES' 'RELEASE=NO'
258− echo '${ghc-version}' > VERSION
259− '' + lib.optionalString (ghc-version-date != null) ''
260− substituteInPlace configure --replace 'RELEASE=YES' 'RELEASE=NO'
261− echo '${ghc-version-date}' > VERSION_DATE
262− '' + lib.optionalString (builtins.compareVersions ghc-version "9.2.3" >= 0) ''
263− ./boot
264− '';
265−
266− configurePlatforms = [ "build" "host" "target" ];
267− # `--with` flags for libraries needed for RTS linker
268− configureFlags = [
269− "--datadir=$doc/share/doc/ghc"
270− "--with-curses-includes=${targetPackages.ncurses.dev}/include" "--with-curses-libraries=${targetPackages.ncurses.out}/lib"
271− ] ++ lib.optionals (targetLibffi != null) ["--with-system-libffi" "--with-ffi-includes=${targetLibffi.dev}/include" "--with-ffi-libraries=${targetLibffi.out}/lib"
272− ] ++ lib.optional (!enableIntegerSimple) [
273− "--with-gmp-includes=${targetGmp.dev}/include" "--with-gmp-libraries=${targetGmp.out}/lib"
274− ] ++ lib.optional (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) [
275− "--with-iconv-includes=${libiconv}/include" "--with-iconv-libraries=${libiconv}/lib"
276− ] ++ lib.optional (targetPlatform != hostPlatform) [
277− "--with-iconv-includes=${targetIconv}/include" "--with-iconv-libraries=${targetIconv}/lib"
278− ] ++ lib.optionals (targetPlatform != hostPlatform) [
279− "--enable-bootstrap-with-devel-snapshot"
280− ] ++ lib.optionals (disableLargeAddressSpace) [
281− "--disable-large-address-space"
282− ] ++ lib.optionals (targetPlatform.isAarch32) [
283− "CFLAGS=-fuse-ld=gold"
284− "CONF_GCC_LINKER_OPTS_STAGE1=-fuse-ld=gold"
285− "CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold"
286− ] ++ lib.optionals enableDWARF [
287− "--enable-dwarf-unwind"
288− "--with-libdw-includes=${lib.getDev elfutils}/include"
289− "--with-libdw-libraries=${lib.getLib elfutils}/lib"
290− ];
206+ '';
291
207
292 enableParallelBuilding = true;
208 enableParallelBuilding = true;
293 postPatch = "patchShebangs .";
209 postPatch = "patchShebangs .";
@@ -310,6 +226,9 @@ stdenv.mkDerivation (rec {
310
226
311 buildInputs = [ perl bash ] ++ (libDeps hostPlatform);
227 buildInputs = [ perl bash ] ++ (libDeps hostPlatform);
312
228
229+ propagatedBuildInputs = [ targetPackages.stdenv.cc ]
230+ ++ lib.optional useLLVM llvmPackages.llvm;
231+
313 depsTargetTarget = map lib.getDev (libDeps targetPlatform);
232 depsTargetTarget = map lib.getDev (libDeps targetPlatform);
314 depsTargetTargetPropagated = map (lib.getOutput "out") (libDeps targetPlatform);
233 depsTargetTargetPropagated = map (lib.getOutput "out") (libDeps targetPlatform);
315
234
@@ -327,18 +246,7 @@ stdenv.mkDerivation (rec {
327 ++ lib.optional stdenv.targetPlatform.isAarch32 "pic"
246 ++ lib.optional stdenv.targetPlatform.isAarch32 "pic"
328 ++ lib.optional stdenv.targetPlatform.isMusl "pie";
247 ++ lib.optional stdenv.targetPlatform.isMusl "pie";
329
248
330− postInstall = lib.optionalString (enableNUMA && targetPlatform.isLinux) ''
249+ postInstall = ''
331− # Patch rts.conf to ensure libnuma can be found
332−
333− for file in $(find "$out/lib" -name "rts*.conf"); do
334− if grep -q numa $file; then
335− substituteInPlace $file \
336− --replace "library-dirs:" "library-dirs: ${targetNumactl}/lib" \
337− --replace "include-dirs:" "include-dirs: ${targetNumactl}/include"
338− "$out/bin/${targetPrefix}ghc-pkg" recache
339− fi
340− done
341− '' + ''
342 # Install the bash completion file.
250 # Install the bash completion file.
343 install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc
251 install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc
344
252
@@ -354,9 +262,11 @@ stdenv.mkDerivation (rec {
354 $i
262 $i
355 done
263 done
356
264
357− # Save generated files for needed when building ghc and ghcjs
265+ # Save generated files for needed when building ghcjs
358 mkdir -p $generated/includes/dist-derivedconstants/header
266 mkdir -p $generated/includes/dist-derivedconstants/header
359− cp includes/dist-derivedconstants/header/GHCConstantsHaskell*.hs \
267+ cp includes/dist-derivedconstants/header/GHCConstantsHaskellExports.hs \
268+ includes/dist-derivedconstants/header/GHCConstantsHaskellType.hs \
269+ includes/dist-derivedconstants/header/GHCConstantsHaskellWrappers.hs \
360 $generated/includes/dist-derivedconstants/header
270 $generated/includes/dist-derivedconstants/header
361 if [[ -f includes/ghcplatform.h ]]; then
271 if [[ -f includes/ghcplatform.h ]]; then
362 cp includes/ghcplatform.h $generated/includes
272 cp includes/ghcplatform.h $generated/includes
@@ -365,15 +275,6 @@ stdenv.mkDerivation (rec {
365 fi
275 fi
366 mkdir -p $generated/compiler/stage2/build
276 mkdir -p $generated/compiler/stage2/build
367 cp compiler/stage2/build/Config.hs $generated/compiler/stage2/build || true
277 cp compiler/stage2/build/Config.hs $generated/compiler/stage2/build || true
368− if [[ -f compiler/stage2/build/GHC/Platform/Constants.hs ]]; then
369− mkdir -p $generated/compiler/stage2/build/GHC/Platform
370− cp compiler/stage2/build/GHC/Platform/Constants.hs $generated/compiler/stage2/build/GHC/Platform
371− fi
372− if [[ -f compiler/stage2/build/GHC/Settings/Config.hs ]]; then
373− mkdir -p $generated/compiler/stage2/build/GHC/Settings
374− cp compiler/stage2/build/GHC/Settings/Config.hs $generated/compiler/stage2/build/GHC/Settings
375− fi
376− cp compiler/stage2/build/*.hs-incl $generated/compiler/stage2/build || true
377 mkdir -p $generated/rts/build
278 mkdir -p $generated/rts/build
378 cp rts/build/config.hs-incl $generated/rts/build || true
279 cp rts/build/config.hs-incl $generated/rts/build || true
379
280
@@ -417,40 +318,7 @@ stdenv.mkDerivation (rec {
417 # Our Cabal compiler name
318 # Our Cabal compiler name
418 haskellCompilerName = "ghc-${version}";
319 haskellCompilerName = "ghc-${version}";
419
320
420− # This uses a similar trick to `pkgs.srcOnly` to get the configured src
421− # We could add `configured-src` as an output of the ghc derivation, but
422− # having it as its own derivation means it can be accessed quickly without
423− # building GHC.
424− configured-src = stdenv.mkDerivation ({
425− name = name + "-configured-src";
321+ configured-src = configured-src;
426− inherit
427− buildInputs
428− version
429− nativeBuildInputs
430− patches
431− src
432− strictDeps
433− depsBuildTarget
434− depsTargetTarget
435− depsTargetTargetPropagated
436− postPatch
437− preConfigure
438− configurePlatforms
439− configureFlags
440− outputs
441− ;
442−
443− # Including all the outputs (not just $out) causes `mkDerivation` to use the nixpkgs multiple-outputs.sh hook.
444− # This hook changes the arguments passed to `configure`.
445− installPhase = ''
446− cp -r . $out
447− mkdir $doc
448− mkdir $generated
449− '';
450− phases = [ "unpackPhase" "patchPhase" ]
451− ++ lib.optional (ghc-patches != []) "autoreconfPhase"
452− ++ [ "configurePhase" "installPhase"];
453− });
454
322
455 # Used to detect non haskell-nix compilers (accidental use of nixpkgs compilers can lead to unexpected errors)
323 # Used to detect non haskell-nix compilers (accidental use of nixpkgs compilers can lead to unexpected errors)
456 isHaskellNixCompiler = true;
324 isHaskellNixCompiler = true;
@@ -460,11 +328,6 @@ stdenv.mkDerivation (rec {
460 enableDWARF = stdenv.targetPlatform.isLinux
328 enableDWARF = stdenv.targetPlatform.isLinux
461 && builtins.compareVersions ghc-version "8.10.2" >= 0;
329 && builtins.compareVersions ghc-version "8.10.2" >= 0;
462 });
330 });
463−
464− # The same GHC, but without the large (1TB) address space reservation
465− smallAddressSpace = lib.makeOverridable self (args // {
466− disableLargeAddressSpace = true;
467− });
468 } // extra-passthru;
331 } // extra-passthru;
469
332
470 meta = {
333 meta = {
@@ -474,39 +337,9 @@ stdenv.mkDerivation (rec {
474 inherit (ghc.meta) license platforms;
337 inherit (ghc.meta) license platforms;
475 };
338 };
476
339
477− # Needed for `haddock` to work on source that includes non ASCII chars
478− LANG = "en_US.UTF-8";
479− LC_ALL = "en_US.UTF-8";
480−} // lib.optionalAttrs (stdenv.buildPlatform.libc == "glibc") {
481− LOCALE_ARCHIVE = "${buildPackages.glibcLocales}/lib/locale/locale-archive";
482} // lib.optionalAttrs targetPlatform.useAndroidPrebuilt {
340} // lib.optionalAttrs targetPlatform.useAndroidPrebuilt {
483 dontStrip = true;
341 dontStrip = true;
484 dontPatchELF = true;
342 dontPatchELF = true;
485 noAuditTmpdir = true;
343 noAuditTmpdir = true;
486−} // lib.optionalAttrs (stdenv.buildPlatform.isDarwin || stdenv.targetPlatform.isWindows) {
487− # ghc install on macOS wants to run `xattr -r -c`
488− # The macOS version fails because it wants python 2.
489− # The nix version of xattr does not support those args.
490− # Luckily setting the path to something that does not exist will skip the step.
491− preBuild = lib.optionalString stdenv.buildPlatform.isDarwin ''
492− export XATTR=$(mktemp -d)/nothing
493− ''
494− # We need to point at a stand in `windows.h` header file so that the RTS headers can
495− # work on the hostPlatform. We also need to work around case sensitve file system issues.
496− + lib.optionalString stdenv.targetPlatform.isWindows ''
497− export NIX_CFLAGS_COMPILE_${
498− # We want this only to apply to the non windows hostPlatform (the
499− # windows gcc cross compiler has a full `windows.h`).
500− # This matches the way `suffixSalt` is calculated in nixpkgs.
501− # See https://github.com/NixOS/nixpkgs/blob/8411006d6bcd7f6e6a8a1a80ce8fcdccdd16c6ab/pkgs/build-support/cc-wrapper/default.nix#L58
502− lib.replaceStrings ["-" "."] ["_" "_"] stdenv.hostPlatform.config
503− }+=" -I${../windows/include}"
504− if [[ -f libraries/base/include/winio_structs.h ]]; then
505− substituteInPlace libraries/base/include/winio_structs.h --replace Windows.h windows.h
506− fi
507− if [[ -f rts/win32/ThrIOManager.c ]]; then
508− substituteInPlace rts/win32/ThrIOManager.c --replace rts\\OSThreads.h rts/OSThreads.h
509− fi
510− '';
511});
344});
512in self
345in self
compiler/ghcjs/ghcjs-src.json+2−2
@@ -1,6 +1,6 @@
1{
1{
2 "url": "https://github.com/ghcjs/ghcjs",
2 "url": "https://github.com/ghcjs/ghcjs",
3− "rev": "58ed01e77028108c2b1da10d52cb331788b6a466",
3+ "rev": "30706cd687a301776ba4c1efd3db442fa9c78883",
4− "sha256": "1lr3grk5jjm8bvvkndilm06ry1dj7i66k4g27fr009bggdy9q6ws",
4+ "sha256": "sha256-7mJ/y6l89Rq/rIvZLZAOGpHsiBJ5BPCUuZIu2nxc6Dk=",
5 "fetchSubmodules": true
5 "fetchSubmodules": true
6}
6}
compiler/ghcjs/ghcjs.nix+6−19
@@ -7,22 +7,14 @@
7 then "ghc884"
7 then "ghc884"
8 else "ghc865"
8 else "ghc865"
9, ghc ? pkgs.buildPackages.ghc
9, ghc ? pkgs.buildPackages.ghc
10−, overrideBootPackages ? [] # adds if not present, overrides if present.
11}:
10}:
12let
11let
13− isGhcjs88 = builtins.compareVersions ghcjsVersion "8.8.0.0" >= 0;
12+ isGhcjs88 = builtins.compareVersions ghcjsVersion "8.8.0.0" > 0;
14− isGhcjs810 = builtins.compareVersions ghcjsVersion "8.10.0.0" >= 0;
15
13
16 project = pkgs.buildPackages.haskell-nix.ghcjsProject {
14 project = pkgs.buildPackages.haskell-nix.ghcjsProject {
17 src = ghcjsSrc;
15 src = ghcjsSrc;
18− inherit ghcjsVersion compiler-nix-name overrideBootPackages;
16+ inherit ghcjsVersion compiler-nix-name;
19 index-state = "2020-04-25T00:00:00Z";
17 index-state = "2020-04-25T00:00:00Z";
20− patches = if isGhcjs810
21− then [
22− ./patches/810/fast-weak.patch
23− ./patches/810/boot-optimization-flags.patch
24− ]
25− else [];
26# plan-sha256 = "1wy2lr08maxyi7r8jiwf2gj6pdayk5vxxwh42bj4s2gg4035z0yc";
18# plan-sha256 = "1wy2lr08maxyi7r8jiwf2gj6pdayk5vxxwh42bj4s2gg4035z0yc";
27# materialized = ../../materialized/ghcjs;
19# materialized = ../../materialized/ghcjs;
28 };
20 };
@@ -62,11 +54,10 @@ let
62 ++ pkgs.lib.optional isGhcjs88 pkgs.buildPackages.procps;
54 ++ pkgs.lib.optional isGhcjs88 pkgs.buildPackages.procps;
63 passthru = {
55 passthru = {
64 inherit all-ghcjs bundled-ghcjs project;
56 inherit all-ghcjs bundled-ghcjs project;
65− configured-src = project.configured-src + "/ghc";
57+ inherit (project) configured-src;
66 # Used to detect non haskell-nix compilers (accidental use of nixpkgs compilers can lead to unexpected errors)
58 # Used to detect non haskell-nix compilers (accidental use of nixpkgs compilers can lead to unexpected errors)
67 isHaskellNixCompiler = true;
59 isHaskellNixCompiler = true;
68 } // ghcjs.components.exes;
60 } // ghcjs.components.exes;
69− dontUpdateAutotoolsGnuConfigScripts = true;
70 dontConfigure = true;
61 dontConfigure = true;
71 dontInstall = true;
62 dontInstall = true;
72 buildPhase = ''
63 buildPhase = ''
@@ -113,14 +104,10 @@ let
113 fi
104 fi
114 done
105 done
115 } &
106 } &
116− ${
107+ ${ if isGhcjs88
108+ then
117− # Unsets NIX_CFLAGS_COMPILE so the osx version of iconv.h is not used by mistake
109+ # Unsets NIX_CFLAGS_COMPILE so the osx version of iconv.h is not used by mistake
118− if isGhcjs810 then ''
119− env -u NIX_CFLAGS_COMPILE PATH=$out/bin:$PATH \
120− $out/bin/ghcjs-boot --with-emsdk=${project.emsdk} --no-haddock \
121− || (echo failed > $TMP/done; false)
122 ''
110 ''
123− else if isGhcjs88 then ''
124 env -u NIX_CFLAGS_COMPILE PATH=$out/bin:$PATH \
111 env -u NIX_CFLAGS_COMPILE PATH=$out/bin:$PATH \
125 $out/bin/ghcjs-boot -j1 --with-emsdk=${project.emsdk} --no-prof --no-haddock \
112 $out/bin/ghcjs-boot -j1 --with-emsdk=${project.emsdk} --no-prof --no-haddock \
126 || (echo failed > $TMP/done; false)
113 || (echo failed > $TMP/done; false)
compiler/ghcjs/ghcjs810-patched-boot-packages/aeson.patchdeleted−13
@@ -1,13 +0,0 @@
1−diff --git a/aeson.cabal b/aeson.cabal
2−index a0ebd59..552f160 100755
3−--- a/aeson.cabal
4−+++ b/aeson.cabal
5−@@ -150,7 +150,7 @@ library
6− dlist >= 0.8.0.4 && < 0.9,
7− hashable >= 1.2.7.0 && < 1.4,
8− scientific >= 0.3.6.2 && < 0.4,
9−- th-abstraction >= 0.2.8.0 && < 0.4,
10−+ th-abstraction >= 0.2.8.0 && < 0.5,
11− uuid-types >= 1.0.3 && < 1.1,
12− vector >= 0.12.0.1 && < 0.13
13−
compiler/ghcjs/ghcjs810-patched-boot-packages/default.nixdeleted−176
@@ -1,176 +0,0 @@
1−{ pkgs
2−, ...
3−}:
4−let
5− patch = p: path: pkgs.runCommand "patched" { buildInputs = [ pkgs.gnupatch ]; } ''
6− cp -r ${path} $out
7− chmod -R +w $out
8− cd $out
9− patch -p1 <${p}
10− '';
11− getSubdir = d: path: pkgs.runCommand "subdir" { } ''
12− cp -r ${path}/${d} $out
13− '';
14−in
15−[
16− {
17− name = "primitive";
18− src = pkgs.fetchgit {
19− url = "https://github.com/haskell/primitive.git";
20− rev = "11ff865fd2157a1dfd7dfd525b1cf27e1a300633";
21− sha256 = "1skim1vlmf0v4ixm8h8ja3m1pz0h10xrfdh1rfzawsy8rvrp2cc0";
22− };
23− }
24− {
25− name = "dlist";
26− src = pkgs.fetchgit {
27− url = "https://github.com/spl/dlist.git";
28− rev = "567cfeb2f5da30f2e5faf167895b3ee04c698ca0";
29− sha256 = "0b8ij3ls7bccbp9rlm8dnflnf1wim9xsg42wmirvwxwmh2c0r0hg";
30− };
31− }
32− {
33− name = "vector";
34− src = pkgs.fetchgit {
35− url = "https://github.com/haskell/vector.git";
36− rev = "de10fd281fa5d8beee3623e809a71385a5ef6864";
37− sha256 = "09vhbvrkw90xgqfrybmhy120rwcy4snw2f97004alr3n96lwpg1q";
38− };
39− }
40− {
41− name = "ghcjs-base";
42− src = patch ./ghcjs-base.patch (pkgs.fetchgit {
43− url = "https://github.com/ghcjs/ghcjs-base.git";
44− rev = "85e31beab9beffc3ea91b954b61a5d04e708b8f2";
45− sha256 = "15fdkjv0l7hpbbsn5238xxgzfdg61g666nzbv2sgxkwryn5rycv0";
46− });
47− }
48− {
49− name = "text";
50− src = pkgs.fetchgit {
51− url = "https://github.com/dfordivam/text.git";
52− rev = "126174753ea8e5f45df8fcbba609e3f1c453bf27";
53− sha256 = "0l7nbln2w77s12fm4ybhi0jsfnxkyiwskfx3b682pfisa6n32rgm";
54− };
55− }
56− {
57− name = "hashable";
58− src = patch ./hashable.patch (pkgs.fetchgit {
59− url = "https://github.com/haskell-unordered-containers/hashable.git";
60− rev = "819fdbeaeeb62ed1344fb057de17fa29b10fa3e1";
61− sha256 = "0xnwfwnnh0bxq16wx0qmdakvgvj8i22km3bhvvki15rd9jil04cc";
62− });
63− }
64− {
65− name = "integer-logarithms";
66− src = pkgs.fetchgit {
67− url = "https://github.com/haskellari/integer-logarithms.git";
68− rev = "df09cef2c8eb0d5899e2bcccee2a4fad413bdc11";
69− sha256 = "1k17hjnjmy44dfywx9nr804qiqmjjhkpfpll5bsfvzvpnl5r75nj";
70− };
71− }
72− {
73− name = "scientific";
74− src = pkgs.fetchgit {
75− url = "https://github.com/basvandijk/scientific.git";
76− rev = "1d049cdf04e2d92ab187754044b0df933c5e6b0d";
77− sha256 = "1v4fmfq8hyhdb5ck5r2b45s1izr7hx97v4g7s597ajbv72ldvilq";
78− };
79− }
80− {
81− name = "attoparsec";
82− src = pkgs.fetchgit {
83− url = "https://github.com/dfordivam/attoparsec.git";
84− rev = "cbfb944aeff61144059a28ada93c579e93ccf7d2";
85− sha256 = "0bbr4943439sy3grwpwbna4mk7iv87ijaiv3jjfhxhp7y67z51h8";
86− };
87− }
88− {
89− name = "splitmix";
90− src = pkgs.fetchgit {
91− url = "https://github.com/haskellari/splitmix.git";
92− rev = "d8c1b57bb75178675423f87b1ff58429f37bc9fe";
93− sha256 = "1m8v439vlwqpqw28dbr04n6m0j2cfb169ly285lp0bjmzcwlr289";
94− };
95− }
96− {
97− name = "random";
98− src = pkgs.fetchgit {
99− url = "https://github.com/haskell/random.git";
100− rev = "8c59bd0fda84fa581d53069b45100d810f5a778f";
101− sha256 = "1drdipfbmpg2g2cdrnq1k8yysh86i7ljwm6zkrrs3g8l47n4ha4d";
102− };
103− }
104− {
105− name = "uuid-types";
106− src = getSubdir "uuid-types" (pkgs.fetchgit {
107− url = "https://github.com/haskell-hvr/uuid.git";
108− rev = "e8dc7126582ba4d3abc5e0f26dc1d8477caab01e";
109− sha256 = "037cnfz7rhkw383rn117b994jzs93i3bwdv47x5qiza5h5syd76f";
110− });
111− }
112− {
113− name = "unordered-containers";
114− src = pkgs.fetchgit {
115− url = "https://github.com/haskell-unordered-containers/unordered-containers.git";
116− rev = "db9ddde2b243366976a1bdfbb12a5e257ca762c3";
117− sha256 = "1wd5hxppj1gg9fa1ihcn3s2y0i70ykv2sf8sym6dlf3r4snda9zi";
118− };
119− }
120− {
121− name = "base-orphans";
122− src = pkgs.fetchgit {
123− url = "https://github.com/haskell-compat/base-orphans.git";
124− rev = "1af3a3512efbcc12e0c34637a0e433ab6e195932";
125− sha256 = "14b6qwc3dbnmrhqk66a2cn4pvv3nf6kb3h7ym1hjn5xs7n62zhw1";
126− };
127− }
128− {
129− name = "time-compat";
130− src = pkgs.fetchgit {
131− url = "https://github.com/haskellari/time-compat.git";
132− rev = "67b8b063295601fb1db185baad363a3f33ed63a9";
133− sha256 = "0nbjsn7yrygv4i1fd8x90mnf4janq536ffvkjd5zsnyzm8qk8k3j";
134− };
135− }
136− {
137− name = "th-abstraction";
138− src = pkgs.fetchgit {
139− url = "https://github.com/glguy/th-abstraction.git";
140− rev = "d75761bc5a0f912aeeb508e2c227b9fd830153fd";
141− sha256 = "070ihxncymzsbrgvwmrm717n0qq5bf9nvc2k210nkil1cwrsnhvc";
142− };
143− }
144− {
145− name = "tagged";
146− src = pkgs.fetchgit {
147− url = "https://github.com/ekmett/tagged.git";
148− rev = "15fcfe90c779efea951ecf4d451d709aed5f7d32";
149− sha256 = "1x1wr4zf7k1kvd6rj06h9shw7p5di1jra9fysyw0jx7riiq0v3ch";
150− };
151− }
152− {
153− name = "base-compat";
154− src = getSubdir "base-compat" (pkgs.fetchgit {
155− url = "https://github.com/haskell-compat/base-compat.git";
156− rev = "e8dbac72251e898fc4b1c1abb34d6578da12f476";
157− sha256 = "1gs15g8h7p8gab9j5fjvjlhrfv112w91plraf9chq80c5slvk016";
158− });
159− }
160− {
161− name = "base-compat-batteries";
162− src = getSubdir "base-compat-batteries" (pkgs.fetchgit {
163− url = "https://github.com/haskell-compat/base-compat.git";
164− rev = "e8dbac72251e898fc4b1c1abb34d6578da12f476";
165− sha256 = "1gs15g8h7p8gab9j5fjvjlhrfv112w91plraf9chq80c5slvk016";
166− });
167− }
168− {
169− name = "aeson";
170− src = patch ./aeson.patch (pkgs.fetchgit {
171− url = "https://github.com/dfordivam/aeson.git";
172− rev = "9a8f57a52eb748a030bc2bcf5c3159a5e2e696b2";
173− sha256 = "1y8j3ddxxddpnb7c0vi73ijb08sr09z1gdzfg1rfyzn82d6i38zv";
174− });
175− }
176−]
compiler/ghcjs/ghcjs810-patched-boot-packages/ghcjs-base.patchdeleted−471
@@ -1,471 +0,0 @@
1−diff --git a/Data/JSString.hs b/Data/JSString.hs
2−index 176aad4..9ca6693 100644
3−--- a/Data/JSString.hs
4−+++ b/Data/JSString.hs
5−@@ -99,6 +99,7 @@ module Data.JSString ( JSString
6− , breakOnEnd
7− , break
8− , span
9−+ , span_
10− , group
11− , group'
12− , groupBy
13−@@ -1231,19 +1232,23 @@ splitAt (I# n) x = case js_splitAt n x of (# y, z #) -> (y, z)
14− -- of @t@ of elements that satisfy @p@, and whose second is the
15− -- remainder of the list.
16− span :: (Char -> Bool) -> JSString -> (JSString, JSString)
17−-span p x = case js_length x of
18−- 0# -> (empty, empty)
19−- l -> let c0 = js_uncheckedIndex 0# x
20−- in if p (C# (chr# c0)) then loop 0# l else (empty, x)
21−+span p x = let (# a, b #) = span_ p x in (a, b)
22−+{-# INLINE span #-}
23−+
24−+span_ :: (Char -> Bool) -> JSString -> (# JSString, JSString #)
25−+span_ p x = case js_length x of
26−+ 0# -> (# empty, empty #)
27−+ l -> let c0 = js_uncheckedIndex 0# x
28−+ in if p (C# (chr# c0)) then loop 0# l else (# empty, x #)
29− where
30− loop i l
31−- | isTrue# (i >=# l) = (x, empty)
32−+ | isTrue# (i >=# l) = (# x, empty #)
33− | otherwise =
34− let c = js_uncheckedIndex i x
35− in if p (C# (chr# c))
36− then loop (i +# charWidth c) l
37−- else (js_substr 0# i x, js_substr1 i x)
38−-{-# INLINE span #-}
39−+ else (# js_substr 0# i x, js_substr1 i x #)
40−+{-# INLINE span_ #-}
41−
42− -- | /O(n)/ 'break' is like 'span', but the prefix returned is
43− -- over elements that fail the predicate @p@.
44−diff --git a/GHCJS/Foreign.hs b/GHCJS/Foreign.hs
45−index 5bbc5c5..b128f24 100644
46−--- a/GHCJS/Foreign.hs
47−+++ b/GHCJS/Foreign.hs
48−@@ -82,7 +82,7 @@ import GHCJS.Marshal
49− import GHCJS.Marshal.Pure
50− -}
51− import Data.String (IsString(..))
52−-import qualified Data.Text as T
53−+-- import qualified Data.Text as T
54−
55−
56− class ToJSString a where
57−diff --git a/GHCJS/Foreign/Internal.hs b/GHCJS/Foreign/Internal.hs
58−index 5ac81f0..449bfe4 100644
59−--- a/GHCJS/Foreign/Internal.hs
60−+++ b/GHCJS/Foreign/Internal.hs
61−@@ -100,10 +100,10 @@ import Data.Typeable (Typeable)
62− import Data.ByteString (ByteString)
63− import Data.ByteString.Unsafe (unsafePackAddressLen)
64−
65−-import qualified Data.Text.Array as A
66−-import qualified Data.Text as T
67−-import qualified Data.Text.Internal as T
68−-import qualified Data.Text.Lazy as TL (Text, toStrict, fromStrict)
69−+-- import qualified Data.Text.Array as A
70−+-- import qualified Data.Text as T
71−+-- import qualified Data.Text.Internal as T
72−+-- import qualified Data.Text.Lazy as TL (Text, toStrict, fromStrict)
73−
74− import Unsafe.Coerce
75−
76−diff --git a/GHCJS/Marshal.hs b/GHCJS/Marshal.hs
77−index a36aca2..6256a73 100644
78−--- a/GHCJS/Marshal.hs
79−+++ b/GHCJS/Marshal.hs
80−@@ -16,7 +16,7 @@
81−
82− module GHCJS.Marshal ( FromJSVal(..)
83− , ToJSVal(..)
84−- , toJSVal_aeson
85−+ -- , toJSVal_aeson
86− , toJSVal_pure
87− ) where
88−
89−@@ -24,17 +24,17 @@ import Control.Applicative
90− import Control.Monad
91− import Control.Monad.Trans.Maybe (MaybeT(..), runMaybeT)
92−
93−-import qualified Data.Aeson as AE
94−-import Data.Attoparsec.Number (Number(..))
95−+-- import qualified Data.Aeson as AE
96−+-- import Data.Attoparsec.Number (Number(..))
97− import Data.Bits ((.&.))
98− import Data.Char (chr, ord)
99−-import qualified Data.HashMap.Strict as H
100−+-- import qualified Data.HashMap.Strict as H
101− import Data.Int (Int8, Int16, Int32)
102− import qualified Data.JSString as JSS
103−-import qualified Data.JSString.Text as JSS
104−+-- import qualified Data.JSString.Text as JSS
105− import Data.Maybe
106−-import Data.Scientific (Scientific, scientific, fromFloatDigits)
107−-import Data.Text (Text)
108−+-- import Data.Scientific (Scientific, scientific, fromFloatDigits)
109−+-- import Data.Text (Text)
110− import qualified Data.Vector as V
111− import Data.Word (Word8, Word16, Word32, Word)
112− import Data.Primitive.ByteArray
113−@@ -85,11 +85,11 @@ instance FromJSVal JSString where
114− {-# INLINE fromJSValUnchecked #-}
115− fromJSVal = fromJSVal_pure
116− {-# INLINE fromJSVal #-}
117−-instance FromJSVal Text where
118−- fromJSValUnchecked = fromJSValUnchecked_pure
119−- {-# INLINE fromJSValUnchecked #-}
120−- fromJSVal = fromJSVal_pure
121−- {-# INLINE fromJSVal #-}
122−+-- instance FromJSVal Text where
123−+-- fromJSValUnchecked = fromJSValUnchecked_pure
124−+-- {-# INLINE fromJSValUnchecked #-}
125−+-- fromJSVal = fromJSVal_pure
126−+-- {-# INLINE fromJSVal #-}
127− instance FromJSVal Char where
128− fromJSValUnchecked = fromJSValUnchecked_pure
129− {-# INLINE fromJSValUnchecked #-}
130−@@ -154,24 +154,24 @@ instance FromJSVal Double where
131− {-# INLINE fromJSValUnchecked #-}
132− fromJSVal = fromJSVal_pure
133− {-# INLINE fromJSVal #-}
134−-instance FromJSVal AE.Value where
135−- fromJSVal r = case jsonTypeOf r of
136−- JSONNull -> return (Just AE.Null)
137−- JSONInteger -> liftM (AE.Number . flip scientific 0 . (toInteger :: Int -> Integer))
138−- <$> fromJSVal r
139−- JSONFloat -> liftM (AE.Number . (fromFloatDigits :: Double -> Scientific))
140−- <$> fromJSVal r
141−- JSONBool -> liftM AE.Bool <$> fromJSVal r
142−- JSONString -> liftM AE.String <$> fromJSVal r
143−- JSONArray -> liftM (AE.Array . V.fromList) <$> fromJSVal r
144−- JSONObject -> do
145−- props <- OI.listProps (OI.Object r)
146−- runMaybeT $ do
147−- propVals <- forM props $ \p -> do
148−- v <- MaybeT (fromJSVal =<< OI.getProp p (OI.Object r))
149−- return (JSS.textFromJSString p, v)
150−- return (AE.Object (H.fromList propVals))
151−- {-# INLINE fromJSVal #-}
152−+-- instance FromJSVal AE.Value where
153−+-- fromJSVal r = case jsonTypeOf r of
154−+-- JSONNull -> return (Just AE.Null)
155−+-- JSONInteger -> liftM (AE.Number . flip scientific 0 . (toInteger :: Int -> Integer))
156−+-- <$> fromJSVal r
157−+-- JSONFloat -> liftM (AE.Number . (fromFloatDigits :: Double -> Scientific))
158−+-- <$> fromJSVal r
159−+-- JSONBool -> liftM AE.Bool <$> fromJSVal r
160−+-- JSONString -> liftM AE.String <$> fromJSVal r
161−+-- JSONArray -> liftM (AE.Array . V.fromList) <$> fromJSVal r
162−+-- JSONObject -> do
163−+-- props <- OI.listProps (OI.Object r)
164−+-- runMaybeT $ do
165−+-- propVals <- forM props $ \p -> do
166−+-- v <- MaybeT (fromJSVal =<< OI.getProp p (OI.Object r))
167−+-- return (JSS.textFromJSString p, v)
168−+-- return (AE.Object (H.fromList propVals))
169−+-- {-# INLINE fromJSVal #-}
170− instance (FromJSVal a, FromJSVal b) => FromJSVal (a,b) where
171− fromJSVal r = runMaybeT $ (,) <$> jf r 0 <*> jf r 1
172− {-# INLINE fromJSVal #-}
173−@@ -204,15 +204,15 @@ jf r n = MaybeT $ do
174− instance ToJSVal JSVal where
175− toJSVal = toJSVal_pure
176− {-# INLINE toJSVal #-}
177−-instance ToJSVal AE.Value where
178−- toJSVal = toJSVal_aeson
179−- {-# INLINE toJSVal #-}
180−+-- instance ToJSVal AE.Value where
181−+-- toJSVal = toJSVal_aeson
182−+-- {-# INLINE toJSVal #-}
183− instance ToJSVal JSString where
184− toJSVal = toJSVal_pure
185− {-# INLINE toJSVal #-}
186−-instance ToJSVal Text where
187−- toJSVal = toJSVal_pure
188−- {-# INLINE toJSVal #-}
189−+-- instance ToJSVal Text where
190−+-- toJSVal = toJSVal_pure
191−+-- {-# INLINE toJSVal #-}
192− instance ToJSVal Char where
193− toJSVal = return . pToJSVal
194− {-# INLINE toJSVal #-}
195−@@ -285,21 +285,21 @@ foreign import javascript unsafe "[$1,$2,$3,$4,$5]" arr5 :: JSVal -> J
196− foreign import javascript unsafe "[$1,$2,$3,$4,$5,$6]" arr6 :: JSVal -> JSVal -> JSVal -> JSVal -> JSVal -> JSVal -> IO JSVal
197− foreign import javascript unsafe "[$1,$2,$3,$4,$5,$6,$7]" arr7 :: JSVal -> JSVal -> JSVal -> JSVal -> JSVal -> JSVal -> JSVal -> IO JSVal
198−
199−-toJSVal_aeson :: AE.ToJSON a => a -> IO JSVal
200−-toJSVal_aeson x = cv (AE.toJSON x)
201−- where
202−- cv = convertValue
203−+-- toJSVal_aeson :: AE.ToJSON a => a -> IO JSVal
204−+-- toJSVal_aeson x = cv (AE.toJSON x)
205−+-- where
206−+-- cv = convertValue
207−
208−- convertValue :: AE.Value -> IO JSVal
209−- convertValue AE.Null = return jsNull
210−- convertValue (AE.String t) = return (pToJSVal t)
211−- convertValue (AE.Array a) = (\(AI.SomeJSArray x) -> x) <$>
212−- (AI.fromListIO =<< mapM convertValue (V.toList a))
213−- convertValue (AE.Number n) = toJSVal (realToFrac n :: Double)
214−- convertValue (AE.Bool b) = return (toJSBool b)
215−- convertValue (AE.Object o) = do
216−- obj@(OI.Object obj') <- OI.create
217−- mapM_ (\(k,v) -> convertValue v >>= \v' -> OI.setProp (JSS.textToJSString k) v' obj) (H.toList o)
218−- return obj'
219−+-- convertValue :: AE.Value -> IO JSVal
220−+-- convertValue AE.Null = return jsNull
221−+-- convertValue (AE.String t) = return (pToJSVal t)
222−+-- convertValue (AE.Array a) = (\(AI.SomeJSArray x) -> x) <$>
223−+-- (AI.fromListIO =<< mapM convertValue (V.toList a))
224−+-- convertValue (AE.Number n) = toJSVal (realToFrac n :: Double)
225−+-- convertValue (AE.Bool b) = return (toJSBool b)
226−+-- convertValue (AE.Object o) = do
227−+-- obj@(OI.Object obj') <- OI.create
228−+-- mapM_ (\(k,v) -> convertValue v >>= \v' -> OI.setProp (JSS.textToJSString k) v' obj) (H.toList o)
229−+-- return obj'
230−
231−
232−diff --git a/GHCJS/Marshal/Pure.hs b/GHCJS/Marshal/Pure.hs
233−index 902fa20..268489d 100644
234−--- a/GHCJS/Marshal/Pure.hs
235−+++ b/GHCJS/Marshal/Pure.hs
236−@@ -28,11 +28,11 @@ import Data.Data
237− import Data.Int (Int8, Int16, Int32)
238− import Data.JSString.Internal.Type
239− import Data.Maybe
240−-import Data.Text (Text)
241−+-- import Data.Text (Text)
242− import Data.Typeable
243− import Data.Word (Word8, Word16, Word32, Word)
244− import Data.JSString
245−-import Data.JSString.Text
246−+-- import Data.JSString.Text
247− import Data.Bits ((.&.))
248− import Unsafe.Coerce (unsafeCoerce)
249− import GHC.Int
250−@@ -65,8 +65,8 @@ instance PFromJSVal JSString where pFromJSVal = JSString
251− {-# INLINE pFromJSVal #-}
252− instance PFromJSVal [Char] where pFromJSVal = Prim.fromJSString
253− {-# INLINE pFromJSVal #-}
254−-instance PFromJSVal Text where pFromJSVal = textFromJSVal
255−- {-# INLINE pFromJSVal #-}
256−+-- instance PFromJSVal Text where pFromJSVal = textFromJSVal
257−+-- {-# INLINE pFromJSVal #-}
258− instance PFromJSVal Char where pFromJSVal x = C# (jsvalToChar x)
259− {-# INLINE pFromJSVal #-}
260− instance PFromJSVal Bool where pFromJSVal = isTruthy
261−@@ -103,8 +103,8 @@ instance PToJSVal JSString where pToJSVal = jsval
262− {-# INLINE pToJSVal #-}
263− instance PToJSVal [Char] where pToJSVal = Prim.toJSString
264− {-# INLINE pToJSVal #-}
265−-instance PToJSVal Text where pToJSVal = jsval . textToJSString
266−- {-# INLINE pToJSVal #-}
267−+-- instance PToJSVal Text where pToJSVal = jsval . textToJSString
268−+-- {-# INLINE pToJSVal #-}
269− instance PToJSVal Char where pToJSVal (C# c) = charToJSVal c
270− {-# INLINE pToJSVal #-}
271− instance PToJSVal Bool where pToJSVal True = jsTrue
272−diff --git a/JavaScript/JSON/Types/Instances.hs b/JavaScript/JSON/Types/Instances.hs
273−index 2b288ec..6d7074c 100644
274−--- a/JavaScript/JSON/Types/Instances.hs
275−+++ b/JavaScript/JSON/Types/Instances.hs
276−@@ -57,7 +57,7 @@ import Control.Applicative ((<$>), (<*>), (<|>), pure, empty)
277−
278− import Data.JSString (JSString)
279− import qualified Data.JSString as JSS
280−-import qualified Data.JSString.Text as JSS
281−+-- import qualified Data.JSString.Text as JSS
282−
283− import JavaScript.Array (JSArray)
284− import qualified JavaScript.Array as JSA
285−@@ -335,21 +335,21 @@ instance FromJSON JSString where
286− parseJSON = withJSString "JSString" pure
287− {-# INLINE parseJSON #-}
288−
289−-instance ToJSON Text where
290−- toJSON = stringValue . JSS.textToJSString
291−- {-# INLINE toJSON #-}
292−+-- instance ToJSON Text where
293−+-- toJSON = stringValue . JSS.textToJSString
294−+-- {-# INLINE toJSON #-}
295−
296−-instance FromJSON Text where
297−- parseJSON = withJSString "Text" ( pure . JSS.textFromJSString )
298−- {-# INLINE parseJSON #-}
299−+-- instance FromJSON Text where
300−+-- parseJSON = withJSString "Text" ( pure . JSS.textFromJSString )
301−+-- {-# INLINE parseJSON #-}
302−
303−-instance ToJSON LT.Text where
304−- toJSON = stringValue . JSS.textToJSString . LT.toStrict
305−- {-# INLINE toJSON #-}
306−+-- instance ToJSON LT.Text where
307−+-- toJSON = stringValue . JSS.textToJSString . LT.toStrict
308−+-- {-# INLINE toJSON #-}
309−
310−-instance FromJSON LT.Text where
311−- parseJSON = withJSString "Lazy Text" $ pure . LT.fromStrict . JSS.textFromJSString
312−- {-# INLINE parseJSON #-}
313−+-- instance FromJSON LT.Text where
314−+-- parseJSON = withJSString "Lazy Text" $ pure . LT.fromStrict . JSS.textFromJSString
315−+-- {-# INLINE parseJSON #-}
316−
317− instance (ToJSON a) => ToJSON [a] where
318− toJSON = arrayValue . arrayValueList . map toJSON
319−diff --git a/JavaScript/Web/Canvas.hs b/JavaScript/Web/Canvas.hs
320−index 0a7684c..74490c2 100644
321−--- a/JavaScript/Web/Canvas.hs
322−+++ b/JavaScript/Web/Canvas.hs
323−@@ -69,7 +69,7 @@ import Control.Monad
324−
325− import Data.Data
326− import Data.Maybe (fromJust)
327−-import Data.Text (Text)
328−+-- import Data.Text (Text)
329− import Data.Typeable
330−
331− import GHCJS.Foreign
332−diff --git a/ghcjs-base.cabal b/ghcjs-base.cabal
333−index 4a64694..acf8806 100644
334−--- a/ghcjs-base.cabal
335−+++ b/ghcjs-base.cabal
336−@@ -55,7 +55,7 @@ library
337− Data.JSString.RealFloat
338− Data.JSString.RegExp
339− Data.JSString.Internal
340−- Data.JSString.Text
341−+ -- Data.JSString.Text
342− Data.JSString.Internal.Fusion
343− Data.JSString.Internal.Fusion.Types
344− Data.JSString.Internal.Fusion.Common
345−@@ -78,12 +78,12 @@ library
346− JavaScript.Array.Internal
347− JavaScript.Array.ST
348− JavaScript.Cast
349−- JavaScript.JSON
350−- JavaScript.JSON.Types
351−- JavaScript.JSON.Types.Class
352−- JavaScript.JSON.Types.Generic
353−- JavaScript.JSON.Types.Instances
354−- JavaScript.JSON.Types.Internal
355−+ -- JavaScript.JSON
356−+ -- JavaScript.JSON.Types
357−+ -- JavaScript.JSON.Types.Class
358−+ -- JavaScript.JSON.Types.Generic
359−+ -- JavaScript.JSON.Types.Instances
360−+ -- JavaScript.JSON.Types.Internal
361− JavaScript.Number
362− JavaScript.Object
363− JavaScript.Object.Internal
364−@@ -115,11 +115,11 @@ library
365− JavaScript.Web.Storage
366− JavaScript.Web.Storage.Internal
367− JavaScript.Web.StorageEvent
368−- JavaScript.Web.XMLHttpRequest
369−+ -- JavaScript.Web.XMLHttpRequest
370− JavaScript.Web.WebSocket
371− JavaScript.Web.Worker
372−- other-modules: GHCJS.Internal.Types
373− Data.JSString.Internal.Type
374−+ other-modules: GHCJS.Internal.Types
375− JavaScript.TypedArray.Internal.Types
376− JavaScript.TypedArray.ArrayBuffer.Internal
377− JavaScript.TypedArray.DataView.Internal
378−@@ -144,15 +144,15 @@ library
379− integer-gmp,
380− binary >= 0.8 && < 0.11,
381− bytestring >= 0.10 && < 0.11,
382−- text >= 1.1 && < 1.3,
383−- aeson >= 0.8 && < 1.6,
384−- scientific >= 0.3 && < 0.4,
385−+ -- text >= 1.1 && < 1.3,
386−+ -- aeson >= 0.8 && < 1.6,
387−+ -- scientific >= 0.3 && < 0.4,
388− vector >= 0.10 && < 0.13,
389− containers >= 0.5 && < 0.7,
390− time >= 1.5 && < 1.10,
391−- hashable >= 1.2 && < 1.4,
392−- unordered-containers >= 0.2 && < 0.3,
393−- attoparsec >= 0.11 && < 0.15,
394−+ -- hashable >= 1.2 && < 1.4,
395−+ -- unordered-containers >= 0.2 && < 0.3,
396−+ -- attoparsec >= 0.11 && < 0.15,
397− transformers >= 0.3 && < 0.6,
398− primitive >= 0.5 && < 0.8,
399− deepseq >= 1.3 && < 1.5,
400−@@ -161,37 +161,37 @@ library
401− if !impl(ghcjs) && !os(ghcjs)
402− buildable: False
403−
404−-test-suite tests
405−- type: exitcode-stdio-1.0
406−- hs-source-dirs: test
407−- main-is: Tests.hs
408−- other-modules: Tests.Marshal
409−- Tests.Properties
410−- Tests.Properties.Numeric
411−- Tests.SlowFunctions
412−- Tests.QuickCheckUtils
413−- Tests.Regressions
414−- Tests.Utils
415−- ghc-options:
416−- -Wall -rtsopts
417−- build-depends:
418−- HUnit >= 1.2,
419−- QuickCheck >= 2.7,
420−- array,
421−- text,
422−- base,
423−- bytestring,
424−- deepseq,
425−- directory,
426−- ghc-prim,
427−- ghcjs-prim,
428−- ghcjs-base,
429−- primitive,
430−- quickcheck-unicode,
431−- random,
432−- test-framework >= 0.4,
433−- test-framework-hunit >= 0.2,
434−- test-framework-quickcheck2 >= 0.2
435−- default-language: Haskell2010
436−- if !impl(ghcjs) && !os(ghcjs)
437−- buildable: False
438−+-- test-suite tests
439−+-- type: exitcode-stdio-1.0
440−+-- hs-source-dirs: test
441−+-- main-is: Tests.hs
442−+-- other-modules: Tests.Marshal
443−+-- Tests.Properties
444−+-- Tests.Properties.Numeric
445−+-- Tests.SlowFunctions
446−+-- Tests.QuickCheckUtils
447−+-- Tests.Regressions
448−+-- Tests.Utils
449−+-- ghc-options:
450−+-- -Wall -rtsopts
451−+-- build-depends:
452−+-- HUnit >= 1.2,
453−+-- QuickCheck >= 2.7,
454−+-- array,
455−+-- text,
456−+-- base,
457−+-- bytestring,
458−+-- deepseq,
459−+-- directory,
460−+-- ghc-prim,
461−+-- ghcjs-prim,
462−+-- ghcjs-base,
463−+-- primitive,
464−+-- quickcheck-unicode,
465−+-- random,
466−+-- test-framework >= 0.4,
467−+-- test-framework-hunit >= 0.2,
468−+-- test-framework-quickcheck2 >= 0.2
469−+-- default-language: Haskell2010
470−+-- if !impl(ghcjs) && !os(ghcjs)
471−+-- buildable: False
compiler/ghcjs/ghcjs810-patched-boot-packages/hashable.patchdeleted−99
@@ -1,99 +0,0 @@
1−diff --git a/hashable.cabal b/hashable.cabal
2−index 4197060..8c339b1 100755
3−--- a/hashable.cabal
4−+++ b/hashable.cabal
5−@@ -88,6 +88,8 @@ library
6− build-depends: ghc-bignum ==1.0.* || ==1.2.*
7−
8− else
9−+ if impl(ghcjs)
10−+ build-depends: ghcjs-base
11− if flag(integer-gmp)
12− build-depends: integer-gmp >=0.4 && <1.1
13−
14−diff --git a/src/Data/Hashable/Class.hs b/src/Data/Hashable/Class.hs
15−index c7dd8c5..0e3bbe7 100755
16−--- a/src/Data/Hashable/Class.hs
17−+++ b/src/Data/Hashable/Class.hs
18−@@ -5,6 +5,10 @@
19−
20− {-# LANGUAGE Trustworthy #-}
21−
22−+#ifdef __GHCJS__
23−+{-# LANGUAGE JavaScriptFFI, UnboxedTuples, GHCForeignImportPrim #-}
24−+#endif
25−+
26− #if __GLASGOW_HASKELL__ >= 801
27− {-# LANGUAGE PolyKinds #-} -- For TypeRep instances
28− #endif
29−@@ -72,7 +76,9 @@ import Data.Int (Int8, Int16, Int32, Int64)
30− import Data.List (foldl')
31− import Data.Ratio (Ratio, denominator, numerator)
32− import qualified Data.Text as T
33−+#ifndef __GHCJS__
34− import qualified Data.Text.Array as TA
35−+#endif
36− import qualified Data.Text.Internal as T
37− import qualified Data.Text.Lazy as TL
38− import Data.Version (Version(..))
39−@@ -152,7 +158,11 @@ import GHC.Exts (Int (..), sizeofByteArray#)
40− # define MIN_VERSION_integer_gmp_1_0_0
41− # endif
42−
43−+#ifndef __GHCJS__
44− import GHC.Exts (Int(..))
45−+#else
46−+import GHC.Exts (Int(..), Int#)
47−+#endif
48− import GHC.Integer.GMP.Internals (Integer(..))
49− # if defined(MIN_VERSION_integer_gmp_1_0_0)
50− import GHC.Exts (sizeofByteArray#)
51−@@ -195,6 +205,10 @@ import Data.Kind (Type)
52− import Data.Hashable.Imports
53− import Data.Hashable.LowLevel
54−
55−+#ifdef __GHCJS__
56−+import Data.JSString (JSString)
57−+#endif
58−+
59− #include "MachDeps.h"
60−
61− infixl 0 `hashWithSalt`
62−@@ -676,17 +690,18 @@ instance Hashable BSI.ShortByteString where
63− #endif
64−
65− instance Hashable T.Text where
66−+#ifndef __GHCJS__
67− hashWithSalt salt (T.Text arr off len) =
68− hashByteArrayWithSalt (TA.aBA arr) (off `shiftL` 1) (len `shiftL` 1)
69− (hashWithSalt salt len)
70−+#else
71−+ hashWithSalt salt (T.Text txt) =
72−+ let (# ba, len #) = js_textFromJSString txt
73−+ in hashByteArrayWithSalt ba (0 `shiftL` 1) (I# len `shiftL` 1) salt
74−+#endif
75−
76− instance Hashable TL.Text where
77−- hashWithSalt salt = finalise . TL.foldlChunks step (SP salt 0)
78−- where
79−- finalise (SP s l) = hashWithSalt s l
80−- step (SP s l) (T.Text arr off len) = SP
81−- (hashByteArrayWithSalt (TA.aBA arr) (off `shiftL` 1) (len `shiftL` 1) s)
82−- (l + len)
83−+ hashWithSalt = TL.foldlChunks hashWithSalt
84−
85− -- | Compute the hash of a ThreadId.
86− hashThreadId :: ThreadId -> Int
87−@@ -880,6 +895,12 @@ instance Hashable1 Option where liftHashWithSalt h salt (Option a) = liftHashWit
88− #endif
89− #endif
90−
91−+#ifdef __GHCJS__
92−+foreign import javascript unsafe
93−+ "h$textFromString"
94−+ js_textFromJSString :: JSString -> (# ByteArray#, Int# #)
95−+#endif
96−+
97− -- instances for @Data.Functor.{Product,Sum,Compose}@, present
98− -- in base-4.9 and onward.
99− #if MIN_VERSION_base(4,9,0)
compiler/ghcjs/ghcjs810-src.jsondeleted−6
@@ -1,6 +0,0 @@
1−{
2− "url": "https://github.com/ghcjs/ghcjs",
3− "rev": "bb403ec3a1506831aae2d608b7b21c1937e4fb20",
4− "sha256": "0bs3hijwn0p4wvphwg78mwbz8qyi10wqgfh8yfaszaj1766892ba",
5− "fetchSubmodules": true
6−}
compiler/ghcjs/patches/810/boot-optimization-flags.patchdeleted−14
@@ -1,14 +0,0 @@
1−diff --git a/src-bin/Boot.hs b/src-bin/Boot.hs
2−index 2e35a26..5db2f9b 100755
3−--- a/src-bin/Boot.hs
4−+++ b/src-bin/Boot.hs
5−@@ -721,6 +721,9 @@ cabalConfigureFlags = do
6− , "--prefix", T.pack (locs ^. blGhcjsTopDir)
7− , "--configure-option", "--host=js-unknown-ghcjs"
8− , "--ghcjs-options=-fwrite-ide-info"
9−+ , "--ghcjs-options=-O2"
10−+ , "--ghcjs-options=-fexpose-all-unfoldings"
11−+ , "--ghcjs-options=-fspecialise-aggressively"
12− , "--enable-debug-info"
13− , "--disable-library-stripping"
14− , "--disable-executable-stripping"
compiler/ghcjs/patches/810/fast-weak.patchdeleted−87
@@ -1,87 +0,0 @@
1−diff --git a/lib/boot/shims/src/gc.js.pp b/lib/boot/shims/src/gc.js.pp
2−index 76321b2..a2cf416 100644
3−--- a/lib/boot/shims/src/gc.js.pp
4−+++ b/lib/boot/shims/src/gc.js.pp
5−@@ -444,6 +444,50 @@ function h$follow(obj, sp) {
6− } else if(typeof c.len === 'number' && c.buf instanceof ArrayBuffer) {
7− TRACE_GC("marking ByteArray");
8− MARK_OBJ(c);
9−+ } else if(c instanceof h$FastWeak) {
10−+ MARK_OBJ(c);
11−+ if(c.ticket !== null && !IS_MARKED(c.ticket)) {
12−+ c.ticket = null; // If the ticket isn't reachable, this will let it get cleaned up by the JS gc; if it is reachable, it'll fill this back in
13−+ }
14−+ } else if(c instanceof h$FastWeakTicket) {
15−+ MARK_OBJ(c);
16−+ if(!IS_MARKED(c.val)) {
17−+ ADDW(c.val);
18−+ }
19−+ if(IS_MARKED(c.weak)) {
20−+ // In this case, the weak side has been marked first, which means it's been cleared; restore it
21−+ c.weak.ticket = c;
22−+ }
23−+ } else if(c instanceof h$FastWeakBag) {
24−+ MARK_OBJ(c);
25−+ var j = 0; // j should always be equal to the number of not-yet-necessarily-dead tickets that have been traversed; this should always be less than or equal to i
26−+ for(i = 0; i < c.tickets.length; i++) {
27−+ // Any nulls left in the array prior to checking on the tickets must be tickets that died in the last GC, so we ignore them
28−+ if(c.tickets[i] !== null) {
29−+ if(j !== i) {
30−+ c.tickets[i].pos = j;
31−+ }
32−+ if(!IS_MARKED(c.tickets[i])) {
33−+ // If the ticket isn't reachable, this will let it get cleaned up by the JS gc; if it is reachable, it'll fill this back in
34−+ c.tickets[j] = null;
35−+ } else if(j !== i) {
36−+ // We need to move the item
37−+ c.tickets[j] = c.tickets[i];
38−+ } // If it's marked and not moving, don't do anything
39−+ j++;
40−+ }
41−+ }
42−+ c.tickets.length = j; // Shrink the array if any nulls have been dropped
43−+ } else if(c instanceof h$FastWeakBagTicket) {
44−+ MARK_OBJ(c);
45−+ if(!IS_MARKED(c.val)) {
46−+ ADDW(c.val);
47−+ }
48−+ if(IS_MARKED(c.bag)) {
49−+ // In this case, the weak side has been marked first, which means it's been cleared; restore it
50−+ c.bag.tickets[c.pos] = c;
51−+ }
52−+
53− } else if(c instanceof h$Weak) {
54− MARK_OBJ(c);
55− } else if(c instanceof h$MVar) {
56−diff --git a/lib/boot/shims/src/weak.js.pp b/lib/boot/shims/src/weak.js.pp
57−index 8df313b..d537027 100644
58−--- a/lib/boot/shims/src/weak.js.pp
59−+++ b/lib/boot/shims/src/weak.js.pp
60−@@ -87,3 +87,27 @@ function h$finalizeWeak(w) {
61− RETURN_UBX_TUP2(r, 1);
62− }
63− }
64−+
65−+function h$FastWeak(ticket) {
66−+ this.ticket = ticket;
67−+ this.m = 0;
68−+}
69−+
70−+function h$FastWeakTicket(val) {
71−+ this.val = val;
72−+ this.weak = new h$FastWeak(this);
73−+ this.m = 0;
74−+}
75−+
76−+function h$FastWeakBag() {
77−+ this.tickets = [];
78−+ this.m = 0;
79−+}
80−+
81−+function h$FastWeakBagTicket(bag, val) {
82−+ this.val = val;
83−+ this.bag = bag;
84−+ this.pos = bag.tickets.length;
85−+ bag.tickets.push(this);
86−+ this.m = 0;
87−+};
compiler/windows/include/synchapi.hdeleted−1
@@ -1 +0,0 @@
1−#include <windows.h>
compiler/windows/include/windows.hdeleted−18
@@ -1,18 +0,0 @@
1−// Just enoough windows.h stuff to make rts headers usable when building GHC cross compiler.
2−// See compiler/ghc/default.nix for where this is used.
3−#ifndef _WINDOWS_
4−#define _WINDOWS_
5−
6−#define __stdcall
7−
8−typedef unsigned long DWORD;
9−typedef void * PVOID;
10−
11−typedef struct _RTL_CONDITION_VARIABLE { PVOID Ptr; } RTL_CONDITION_VARIABLE;
12−typedef RTL_CONDITION_VARIABLE CONDITION_VARIABLE;
13−
14−typedef struct _RTL_SRWLOCK { PVOID Ptr; } RTL_SRWLOCK;
15−typedef RTL_SRWLOCK SRWLOCK;
16−
17−#endif
18−
config.nix+4
@@ -2,7 +2,11 @@
2 # allow building for windows
2 # allow building for windows
3 allowUnsupportedSystem = true;
3 allowUnsupportedSystem = true;
4 # we want the 64bit wine version
4 # we want the 64bit wine version
5+ # See overlays/wine.nix as well!
5 wine.build = "wine64";
6 wine.build = "wine64";
6 wine.release = "stable";
7 wine.release = "stable";
8+
9+ # This is marked insecure on 20.03, but many packages still depend on it
10+ permittedInsecurePackages = [ "openssl-1.0.2u" ];
7}
11}
8
12
default.nix+29−29
@@ -1,29 +1,29 @@
1+{ checkMaterialization ? false # Allows us to easily switch on materialization checking
2+, system ? builtins.currentSystem
3+, sourcesOverride ? {}
1−{...}@args:
4+, ... }@args: rec {
2−
5+ sources = (import ./nix/sources.nix) // sourcesOverride;
3−let
6+ config = import ./config.nix;
4− nixpkgsSrc =
7+ overlays = [ allOverlays.combined ] ++ (
5− builtins.fetchTarball {
8+ if checkMaterialization == true
6− url = "https://github.com/NixOS/nixpkgs/archive/110a2c9ebbf5d4a94486854f18a37a938cfacbbb.tar.gz";
9+ then [(
7− sha256 = "sha256-leWXLchbAbqOlLT6tju631G40SzQWPqaAXQG3zH1Imw=";
10+ final: prev: {
8− };
11+ haskell-nix = prev.haskell-nix // {
9− pkgs = args.pkgs or (import nixpkgsSrc {});
12+ checkMaterialization = true;
10− flake-compat =
13+ };
11− pkgs.fetchzip {
14+ }
12− url = "https://github.com/edolstra/flake-compat/archive/5523c47f13259b981c49b26e28499724a5125fd8.tar.gz";
15+ )]
13− sha256 = "sha256-7IySNHriQjzOZ88DDk6VDPf1GoUaOrOeUdukY62o52o=";
16+ else []
14− };
17+ ) ++ [(
15− self = import flake-compat {
18+ final: prev: {
16− # We bypass flake-compat's rootSrc cleaning by evading its detection of this as a git
19+ haskell-nix = prev.haskell-nix // {
17− # repo.
20+ inherit overlays;
18− # This is done for 3 reasons:
21+ sources = prev.haskell-nix.sources // sourcesOverride;
19− # * To workaround https://github.com/edolstra/flake-compat/issues/25
22+ };
20− # * Make `updateMaterilized` scripts work (if filtering is done by `flake-compat`
23+ }
21− # the `updateMaterilized` scripts will try to update the copy in the store).
24+ )];
22− # * Allow more granular filtering done by the tests (the use of `cleanGit` and `cleanSourceWith`
25+ allOverlays = import ./overlays args;
23− # in `test/default.nix`). If `flake-compat` copies the whole git repo, any change to the
26+ nixpkgsArgs = { inherit config overlays system; };
24− # repo causes a change of input for all tests.
27+ pkgs = import sources.nixpkgs nixpkgsArgs;
25− src = { outPath = ./.; };
28+ pkgs-unstable = import sources.nixpkgs-unstable nixpkgsArgs;
26− inherit pkgs;
29+}
27− };
28−in self.defaultNix // (self.defaultNix.internal.compat
29−({ system = args.pkgs.system or builtins.currentSystem; } // args))
docs/dev/hix.mddeleted−27
@@ -1,27 +0,0 @@
1−# Making changes to Hix
2−
3−When making changes to the way Hix works it is often useful to be able to
4−test the changes locally before uploading them to github.
5−
6−## Hix Command Wrappers
7−
8−Install the hix command wrappers after making changes to a local clone of haskell.nix:
9−
10−```
11−nix-env -iA hix -f /path/to/local/haskell.nix
12−hix-shell
13−```
14−
15−Or override the version of haskell.nix used by the commands with the `HIX_ROOT` environment variable:
16−
17−```
18−HIX_ROOT=/path/to/local/haskell.nix hix-shell
19−```
20−
21−## Flakes
22−
23−For flakes use `--override-input` to point to the modified haskell.nix:
24−
25−```
26−nix develop --override-input haskellNix /path/to/local/haskell.nix
27−```
docs/reference/commands.md+3−7
@@ -1,8 +1,4 @@
1−# Command line tools
2−
3−To install the command line tools refer to the [Installing nix-tools](https://input-output-hk.github.io/haskell.nix/dev/manually-generating-nix-expressions/) section.
4−
5−## stack-to-nix
1+# stack-to-nix
6
2
7```
3```
8stack-to-nix - a stack to nix converter
4stack-to-nix - a stack to nix converter
@@ -32,7 +28,7 @@ output directory, it will create a basic one with a
32
28
33[cache-issue]: https://github.com/input-output-hk/haskell.nix/issues/57
29[cache-issue]: https://github.com/input-output-hk/haskell.nix/issues/57
34
30
35−## plan-to-nix
31+# plan-to-nix
36
32
37```
33```
38plan-to-nix - a stack to nix converter
34plan-to-nix - a stack to nix converter
@@ -69,7 +65,7 @@ these files.
69 generated, remove `.nix-tools.cache`
65 generated, remove `.nix-tools.cache`
70 (The open issue is [#57][cache-issue]).
66 (The open issue is [#57][cache-issue]).
71
67
72−## cabal-to-nix
68+# cabal-to-nix
73
69
74```
70```
75Usage: cabal-to-nix FILE.cabal
71Usage: cabal-to-nix FILE.cabal
docs/reference/library.md+3−6
@@ -144,7 +144,7 @@ Then feeding its result into [mkStackPkgSet](#mkstackpkgset) passing also
144| `hsPkgs` | Attrset of [Haskell Packages](#haskell-package) | Buildable packages, created from `packages` |
144| `hsPkgs` | Attrset of [Haskell Packages](#haskell-package) | Buildable packages, created from `packages` |
145| `stack-nix` | | `projectNix` attribute of [`callStackToNix`](#callstacktonix) return value |
145| `stack-nix` | | `projectNix` attribute of [`callStackToNix`](#callstacktonix) return value |
146| `shellFor` | Function | [`shellFor`](#shellfor) |
146| `shellFor` | Function | [`shellFor`](#shellfor) |
147−| `ghcWithHoogle` | Function | [`ghcWithHoogle`](#ghcwithhoogle) |
147+| `ghcWithHoogle` | Function | [`ghcWithHoogle`](#ghcwithhoogle) |
148| `ghcWithPackages` | Function | [`ghcWithPackages`](#ghcwithpackages) |
148| `ghcWithPackages` | Function | [`ghcWithPackages`](#ghcwithpackages) |
149
149
150
150
@@ -163,11 +163,9 @@ Then feeding its result into [mkCabalProjectPkgSet](#mkcabalprojectpkgset) passi
163| `plan-nix` | | `projectNix` attribute of [`callCabalProjectToNix`](#callcabalprojecttonix) return value |
163| `plan-nix` | | `projectNix` attribute of [`callCabalProjectToNix`](#callcabalprojecttonix) return value |
164| `index-state` | | `index-state` attribute of [`callCabalProjectToNix`](#callcabalprojecttonix) return value |
164| `index-state` | | `index-state` attribute of [`callCabalProjectToNix`](#callcabalprojecttonix) return value |
165| `shellFor` | Function | [`shellFor`](#shellfor) |
165| `shellFor` | Function | [`shellFor`](#shellfor) |
166−| `ghcWithHoogle` | Function | [`ghcWithHoogle`](#ghcwithhoogle) |
166+| `ghcWithHoogle` | Function | [`ghcWithHoogle`](#ghcwithhoogle) |
167| `ghcWithPackages` | Function | [`ghcWithPackages`](#ghcwithpackages) |
167| `ghcWithPackages` | Function | [`ghcWithPackages`](#ghcwithpackages) |
168−| `projectCross` | Attrset | Like `pkgs.pkgsCross.<system>` from nixpkgs `p.projectCross.<system>` returns the project results for cross compilation (where system is a member of nixpkgs lib.systems.examples). So `p.projectCross.ghcjs.hsPkgs` is the same as `hsPkgs` but compiled with ghcjs |
168+| `projectCross` | Attrset | Like `pkgs.pkgsCross.X` from nixpkgs `p.projectCross.X` returns the project results for cross compilation to X. So `p.projectCross.ghcjs.hsPkgs` is the same as `hsPkgs` but compiled with ghcjs |
169−| `appendModule` | Function | Re-eval the project with an extra module (or module list). |
170−| `extend` and `appendOverlays` | Function | Modify a project, or add attributes, through overlays: `p.extend(final: prev: { })`. The overlays are carried-over `projectCross` and `appendModule` invocations. |
171
169
172## project, cabalProject and stackProject
170## project, cabalProject and stackProject
173
171
@@ -437,7 +435,6 @@ shellFor =
437| `exactDeps` | Boolean | Prevents the Cabal solver from choosing any package dependency other than what are in the package set. |
435| `exactDeps` | Boolean | Prevents the Cabal solver from choosing any package dependency other than what are in the package set. |
438| `tools` | Function | AttrSet of tools to make available e.g. `{ cabal = "3.2.0.0"; }` or `{ cabal = { version = "3.2.0.0"; }; }`. If an AttrSet is provided for a tool, the additional arguments will be passed to the function creating the derivation for that tool. So you can provide an `index-state` or a `materialized` argument like that `{ cabal = { version = "3.2.0.0"; index-state = "2020-10-30T00:00:00Z"; materialized = ./cabal.materialized; }; }` for example. You can specify and materialize the version of hoogle used to construct the hoogle index by including something like `{ hoogle = { version = "5.0.17.15"; index-state = "2020-05-31T00:00:00Z"; materialized = ./hoogle.materialized; }`. Uses a default version of hoogle if omitted. |
436| `tools` | Function | AttrSet of tools to make available e.g. `{ cabal = "3.2.0.0"; }` or `{ cabal = { version = "3.2.0.0"; }; }`. If an AttrSet is provided for a tool, the additional arguments will be passed to the function creating the derivation for that tool. So you can provide an `index-state` or a `materialized` argument like that `{ cabal = { version = "3.2.0.0"; index-state = "2020-10-30T00:00:00Z"; materialized = ./cabal.materialized; }; }` for example. You can specify and materialize the version of hoogle used to construct the hoogle index by including something like `{ hoogle = { version = "5.0.17.15"; index-state = "2020-05-31T00:00:00Z"; materialized = ./hoogle.materialized; }`. Uses a default version of hoogle if omitted. |
439| `inputsFrom` | List | List of other shells to include in this one. The `buildInputs` and `nativeBuildInputs` of each will be included using [mkShell](https://nixos.org/manual/nixpkgs/stable/#sec-pkgs-mkShell).
437| `inputsFrom` | List | List of other shells to include in this one. The `buildInputs` and `nativeBuildInputs` of each will be included using [mkShell](https://nixos.org/manual/nixpkgs/stable/#sec-pkgs-mkShell).
440−| `crossPlatforms` | Function | Platform selection function for cross compilation targets to support eg. `ps: with ps; [ghcjs mingwW64]` (see nixpkgs lib.systems.examples for list of platform names). |
441| `{ ... }` | Attrset | All the other arguments are passed to [`mkDerivation`](https://nixos.org/nixpkgs/manual/#sec-using-stdenv). |
438| `{ ... }` | Attrset | All the other arguments are passed to [`mkDerivation`](https://nixos.org/nixpkgs/manual/#sec-using-stdenv). |
442
439
443**Return value**: a derivation
440**Return value**: a derivation
docs/reference/supported-ghc-versions.md+18−39
@@ -1,49 +1,28 @@
1# Supported GHC Versions
1# Supported GHC Versions
2
2
3+
3−The following GHC versions are defined in `haskell.nix` (there is a derivation
4+The following GHC versions are defined in `haskell.nix` (i.e. there is a derivation for them even if it isn't necessarily cached):
4−for each, though not all are cached or tested by CI):
5- 8.4.4
5- 8.4.4
6- 8.6.{1,2,3,4,5}
6- 8.6.{1,2,3,4,5}
7- 8.8.{1,2,3,4}
7- 8.8.{1,2,3,4}
8−- 8.10.{1,2,3,4,5}
8+- 8.10.{1,2,3,4}
9−- 9.0.1
10−- 9.2.1
11−- 9.2.2
12−
13−The following table shows the Nixpkgs/GHC versions which are built/cached, and
14−which of those are further tested. If you use a combination of Nixpkgs version
15−and GHC version which is in this table, you should hit our cache, saving
16−considering time by not building GHC and a few additional tools.
17−
18−Note that if you try to use `haskell.nix` as an overlay over Nixpkgs from a
19−standard Nixpkgs channel you will likely get a cache miss. To hit our cache you
20−really should use an instance of Nixpkgs provided by `haskell.nix` itself.
21
9
22−| Nixpkgs version | Nixpkgs pinning | GHC version | `compiler-nix-name` | Tested in CI? |
10+The following table shows the nixpkgs/GHC versions which are built by CI, and which of those are tested.
23−|------------------|--------------------|-------------|-----------------------|---------------|
11+If you use a combination of nixpkgs version and GHC version which is in this table, you should get cache hits from our cache.
24−| 21.11 | `nixpkgs-2111` | 8.6.5 | `ghc865` | No |
12+The "nixpkgs versions" refer to the versions that `haskell.nix` provides; if you use your own version of nixpkgs you will likely not get cache hit.
25−| 21.11 | `nixpkgs-2111` | 8.10.7 | `ghc8107` | Yes |
26−| unstable | `nixpkgs-unstable` | 8.6.5 | `ghc865` | No |
27−| unstable | `nixpkgs-unstable` | 8.8.4 | `ghc884` | No |
28−| unstable | `nixpkgs-unstable` | 8.10.7 | `ghc8107` | Yes |
29−| unstable | `nixpkgs-unstable` | 9.0.2 | `ghc902` | Yes |
30−| unstable | `nixpkgs-unstable` | 9.2.4 | `ghc924` | Yes |
31
13
32−See [ci.nix](https://github.com/input-output-hk/haskell.nix/blob/master/ci.nix)
14+| Nixpkgs version | GHC version | Tested? |
33−for the source of truth about what is built and tested (in the off chance this
15+|------------------|-------------|---------|
34−document is out-of-sync with your checkout).
16+| 20.03 | 8.6.5 | Y |
17+| 20.09 | 8.6.5 | Y |
18+| 20.09 | 8.8.4 | Y |
19+| 20.09 | 8.10.4 | Y |
20+| nixpkgs-unstable | 8.6.5 | Y |
21+| nixpkgs-unstable | 8.8.4 | Y |
22+| nixpkgs-unstable | 8.10.4 | Y |
35
23
36−See the [getting started guide](../tutorials/getting-started.md) for
24+See [ci.nix](https://github.com/input-output-hk/haskell.nix/blob/master/ci.nix) for the source of truth about what is built and tested.
37−instructions on how to set up Nix to take advantage of our cache when building.
38−This guide also covers where to use the Nixpkgs pinning and `compiler-nix-name`
39−settings from the table above. For further information, see the [instructions
40−for how to pin Nixpkgs](../dev/nixpkgs-pin.md).
41
25
42−See
43−[overlays/bootstrap.nix](https://github.com/input-output-hk/haskell.nix/blob/master/overlays/bootstrap.nix)
26+See [overlays/bootstrap.nix](https://github.com/input-output-hk/haskell.nix/blob/master/overlays/bootstrap.nix) for a list of all the valid `compiler-nix-names`.
44−for a full list of all the valid `compiler-nix-name`s beyond what's
45−cached/tested in CI. You're free to use these, but be ready for longer build
46−times.
47
27
48−Lastly, see [instructions on adding new GHC versions](../dev/adding-new-ghc.md)
28+See also: [Instructions on adding new GHC versions](../dev/adding-new-ghc.md).
49−in the event that what's in `haskell.nix` doesn't suit your needs.
docs/tutorials/ca-derivations.mddeleted−65
@@ -1,65 +0,0 @@
1−# Content addressed derivations
2−## Introduction
3−
4−Floating content addressed derivations (from now *CA derivations*) is an experimental feature which substantially change how the hashes in the store paths are calculated.
5−Indeed, normally derivations are input addressed i.e. the outputs store paths depends only on the derivation inputs, instead with CA derivations they depend on the content of the outputs.
6−
7−This has two main advantages:
8−
9−- The so-called "early cutoff", namely the ability of Nix to stop a build if the build outputs would be something already built.
10−For example suppose you add a comment in an Haskell source, at this point Nix will rebuild the component depending on this source but since the output will be the same (adding a comment is an "output-invariant" change for `ghc`) every other component that depends on that will not be rebuilt.
11−- Users of the same Nix store does not need to trust each other when using substituters.
12−
13−You can find more information in the [ca-derivations page on the wiki](https://nixos.wiki/wiki/Ca-derivations) (and in the other resources linked there).
14−
15−## Usage
16−### Enable CA derivations in your system
17−First of all your Nix installation must support the `ca-derivations` experimental feature, this can done by adding the following in your `nix.conf`:
18−
19−```
20−experimental-features = ca-derivations
21−```
22−
23−Or if you use NixOS:
24−```
25−nix.extraOptions = ''
26− experimental-features = ca-derivations
27−'';
28−```
29−
30−## Enable CA derivations in your project
31−At this point you can pass a new module to `project'` that tells `haskell.nix` to build every component in the project as CA derivation.
32−
33−```
34−haskell-nix.project' {
35− # ...
36−
37− modules = [{
38− contentAddressed = true;
39− # packages.project-name.components.exes.executable.contentAddressed = true;
40− }];
41−};
42−```
43−
44−Optionally you can also specify which components you don't want to be content addressed.
45−
46−## Known problems
47−### Limitation of the current CA derivations implementation
48−
49−As explained in the [RFC 62](https://github.com/tweag/rfcs/blob/cas-rfc/rfcs/0062-content-addressed-paths.md)
50−
51−> The current implementation has a naive approach that just forbids fetching a path if the local system has a different realisation for the same drv output. This approach is simple and correct, but it's possible that it might not be good-enough in practice as it can result in a totally useless binary cache in some pathological cases.
52−
53−For example, suppose that your machine builds a derivation `A` producing an output `A.out` in your store and that after that a CI machine builds the same derivation `A` but producing a different output `A.out'` and populating a cache with this output.
54−At this point, if you need to build a derivation `B` that depends on `A`, since you already have the realisation `A.out` in your local store and you can't get `B.out` from the cache and you will end up building `B` even if one of its realisation is in the cache.
55−
56−This means that, in some cases, enabling CA derivations would lead to more rebuilds than not having it.
57−
58−### Hydra
59−Hydra currently doesn't support CA derivations, efforts are being made in this direction.
60−
61−
62−### GHC is not deterministic
63−Currently `ghc` is determinstic only disabling the parallel building i.e. passing `-j1`. [Here](https://gitlab.haskell.org/ghc/ghc/-/issues/12935) the upstream issue.
64−
65−Having a deterministic `ghc` would be a dream since it will automatically fix all the pathological cases about substituters discussed above and would allow `haskell.nix` to parallel build even when using CA derivations.
docs/tutorials/development.md+13−21
@@ -34,14 +34,13 @@ themselves. This is what the [`shellFor`][shellFor] function does.
34
34
35```nix
35```nix
36# shell.nix
36# shell.nix
37+{ pkgs ? import <nixpkgs> {} }:
38+
37let
39let
38− project = import ./default.nix;
40+ hsPkgs = import ./default.nix { inherit pkgs; };
39in
41in
40− project.shellFor {
42+ hsPkgs.shellFor {
41− # ALL of these arguments are optional.
43+ # Include only the *local* packages of your project.
42−
43− # List of packages from the project you want to work on in
44− # the shell (default is all the projects local packages).
45 packages = ps: with ps; [
44 packages = ps: with ps; [
46 pkga
45 pkga
47 pkgb
46 pkgb
@@ -51,22 +50,15 @@ in
51 # and provides a "hoogle" command to search the index.
50 # and provides a "hoogle" command to search the index.
52 withHoogle = true;
51 withHoogle = true;
53
52
53+ # You might want some extra tools in the shell (optional).
54+
54 # Some common tools can be added with the `tools` argument
55 # Some common tools can be added with the `tools` argument
55− tools = {
56− cabal = "3.2.0.0";
56+ tools = { cabal = "3.2.0.0"; hlint = "2.2.11"; };
57− hlint = "latest"; # Selects the latest version in the hackage.nix snapshot
58− haskell-language-server = "latest";
59− };
60 # See overlays/tools.nix for more details
57 # See overlays/tools.nix for more details
61
58
62 # Some you may need to get some other way.
59 # Some you may need to get some other way.
63− buildInputs = [ (import <nixpkgs> {}).git ];
60+ buildInputs = with pkgs.haskellPackages;
64−
65− # Sellect cross compilers to include.
66− crossPlatforms = ps: with ps; [
67− ghcjs # Adds support for `js-unknown-ghcjs-cabal build` in the shell
68− # mingwW64 # Adds support for `x86_64-W64-mingw32-cabal build` in the shell
69− ];
61+ [ ghcid ];
70
62
71 # Prevents cabal from choosing alternate plans, so that
63 # Prevents cabal from choosing alternate plans, so that
72 # *all* dependencies are provided by Nix.
64 # *all* dependencies are provided by Nix.
@@ -85,15 +77,15 @@ If you need a local Hoogle for all the dependencies of your project create this
85```nix
77```nix
86# shell-hoogle.nix
78# shell-hoogle.nix
87let
79let
88− project = import ./default.nix {};
80+ hsPkgs = import ./default.nix {};
89in
81in
90− project.shellFor {
82+ hsPkgs.shellFor {
91 packages = ps: [ps.my-package];
83 packages = ps: [ps.my-package];
92 withHoogle = true;
84 withHoogle = true;
93 }
85 }
94```
86```
95
87
96−and run `nix-shell shell-hoogle.nix --run "hoogle server --local"`.
88+and run `nix-shell shell-hoogle.nix --run "hoogle server --local"`.
97This will open a local Hoogle server at `http://127.0.0.1:8080`.
89This will open a local Hoogle server at `http://127.0.0.1:8080`.
98
90
99
91
docs/tutorials/getting-started-flakes.md+14−44
@@ -22,34 +22,10 @@ You need to add the following sections to `/etc/nix/nix.conf` or, if you are a t
22
22
23```
23```
24trusted-public-keys = [...] hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ= [...]
24trusted-public-keys = [...] hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ= [...]
25−substituters = [...] https://cache.iog.io [...]
25+substituters = [...] https://hydra.iohk.io [...]
26```
26```
27
27
28−If you're running NixOS, you need to add/update the following in your `/etc/nixos/configuration.nix` files instead.
29−
30−```
31−# Binary Cache for Haskell.nix
32−nix.settings.trusted-public-keys = [
33− "hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ="
34−];
35−nix.settings.substituters = [
36− "https://cache.iog.io"
37−];
38−```
39−
40−NixOS-21.11 and older use slightly different settings.
41−
42−```
43−# Binary Cache for Haskell.nix
44−nix.binaryCachePublicKeys = [
45− "hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ="
46−];
47−nix.binaryCaches = [
48− "https://cache.iog.io"
49−];
50−```
51−
52−This can be tricky to get setup properly. If you're still having trouble getting cache hits, consult the corresponding [troubleshooting section](../troubleshooting.md#why-am-i-building-ghc).
28+This can be tricky to get setup properly. If you're still having trouble getting cache hits, consult the corresponding [troubleshooting section](../reference/troubleshooting#why-am-i-building-ghc).
53
29
54## Scaffolding
30## Scaffolding
55
31
@@ -74,30 +50,24 @@ Add `flake.nix`:
74 final.haskell-nix.project' {
50 final.haskell-nix.project' {
75 src = ./.;
51 src = ./.;
76 compiler-nix-name = "ghc8104";
52 compiler-nix-name = "ghc8104";
77− # This is used by `nix develop .` to open a shell for use with
78− # `cabal`, `hlint` and `haskell-language-server`
79− shell.tools = {
80− cabal = {};
81− hlint = {};
82− haskell-language-server = {};
83− };
84− # Non-Haskell shell tools go here
85− shell.buildInputs = with pkgs; [
86− nixpkgs-fmt
87− ];
88− # This adds `js-unknown-ghcjs-cabal` to the shell.
89− # shell.crossPlatforms = p: [p.ghcjs];
90 };
53 };
91 })
54 })
92 ];
55 ];
93− pkgs = import nixpkgs { inherit system overlays; inherit (haskellNix) config; };
56+ pkgs = import nixpkgs { inherit system overlays; };
94− flake = pkgs.helloProject.flake {
57+ flake = pkgs.helloProject.flake {};
95− # This adds support for `nix build .#js-unknown-ghcjs-cabal:hello:exe:hello`
96− # crossPlatforms = p: [p.ghcjs];
97− };
98 in flake // {
58 in flake // {
99 # Built by `nix build .`
59 # Built by `nix build .`
100 defaultPackage = flake.packages."hello:exe:hello";
60 defaultPackage = flake.packages."hello:exe:hello";
61+
62+ # This is used by `nix develop .` to open a shell for use with
63+ # `cabal`, `hlint` and `haskell-language-server`
64+ devShell = pkgs.helloProject.shellFor {
65+ tools = {
66+ cabal = "latest";
67+ hlint = "latest";
68+ haskell-language-server = "latest";
69+ };
70+ };
101 });
71 });
102}
72}
103```
73```
docs/tutorials/getting-started-hix.mddeleted−227
@@ -1,227 +0,0 @@
1−# Getting started with Hix
2−
3−The `hix` tools are wrappers for the various `nix` tools that
4−use `haskell.nix` without the need to add any `.nix` files.
5−
6−This is useful for:
7−
8−* A quick way to try out haskell.nix for new users.
9−
10−* Using haskell.nix to work on projects that do not have
11− `.nix` files.
12−
13−* Testing to see if `haskell.nix` can build a project.
14−
15−* Making `flake` and `non flake` configurations to check `haskell.nix`
16− treats them the same.
17−
18−## Installing Nix
19−
20−To use Hix you will need to install [Nix](https://nixos.org/download.html).
21−
22−## Setting up the binary cache
23−
24−IMPORTANT: you *must* do this or you *will* build several copies of GHC!
25−
26−You can configure Nix to use our binary cache, which is pushed to by CI, so should contain the artifacts that you need.
27−
28−You need to add the following sections to `/etc/nix/nix.conf` or, if you are a trusted user, `~/.config/nix/nix.conf` (if you don't know what a "trusted user" is, you probably want to do the former).
29−
30−```
31−trusted-public-keys = [...] hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ= [...]
32−substituters = [...] https://cache.iog.io [...]
33−```
34−
35−If you're running NixOS, you need to add/update the following in your `/etc/nixos/configuration.nix` files instead.
36−
37−```
38−# Binary Cache for Haskell.nix
39−nix.settings.trusted-public-keys = [
40− "hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ="
41−];
42−nix.settings.substituters = [
43− "https://cache.iog.io"
44−];
45−```
46−
47−NixOS-21.11 and older use slightly different settings.
48−
49−```
50−# Binary Cache for Haskell.nix
51−nix.binaryCachePublicKeys = [
52− "hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ="
53−];
54−nix.binaryCaches = [
55− "https://cache.iog.io"
56−];
57−```
58−
59−This can be tricky to get setup properly. If you're still having trouble getting cache hits, consult the corresponding [troubleshooting section](../troubleshooting.md#why-am-i-building-ghc).
60−
61−## Installing Hix
62−
63−```
64−nix-env -iA hix -f https://github.com/input-output-hk/haskell.nix/tarball/master
65−```
66−
67−## Updating Hix (also updates hackage)
68−
69−```
70−hix update
71−```
72−
73−This is also necessary to make the latest nightly snapshot of hackage
74−avaiable to nix.
75−
76−## Building with Hix
77−
78−To run `cabal build` in a nix-shell with all the dependencies required:
79−
80−```
81−cabal unpack hello
82−cd hello-1.0.0.2
83−hix-shell --run 'cabal build'
84−```
85−
86−Build with nix:
87−
88−```
89−hix-build -A hsPkgs.hello.components.exes.hello
90−```
91−
92−Cross compile to JavaScript:
93−
94−```
95−hix-build -A projectCross.ghcjs.hsPkgs.hello.components.exes.hello
96−```
97−
98−## Configuring Hix
99−
100−The configuration arguments for `Hix` can be (from highest precedence to lowest):
101−
102−* Passed on the command line with `--arg` (or `--argstr` for string args).
103−
104−* Placed in `nix/hix.nix` file in the project dir.
105−
106−* Placed in `~/.config/hix/hix.conf`
107−
108−For example to build with GHC 8.10.7:
109−
110−```
111−hix-shell --argstr compiler-nix-name ghc8107 --run 'cabal build'
112−```
113−
114−or add a `nix/hix.nix` or `~/.config/hix/hix.conf` file:
115−
116−```nix
117−{ compiler-nix-name = "ghc8107"; }
118−```
119−
120−Here are just a few of the other configuration arguments you could use
121−in the files or on the command line (they are all optional):
122−
123−```nix
124−{ name = "hello"; # for better error messages and derivation names
125− nixpkgsPin = "nixpkgs-unstable"; # or nixpkgs-2111 or nixpkgs-2105
126− nixpkgs = <nixpkgs>; # use this instead of nixpkgsPin
127− subDir = "some/sub/dir"; # sub dir containing the haskell project
128− projectFileName = "stack.yaml"; # use this project file
129− tools.haskell-language-server = "latest";
130− tools.hlint = "latest"; # Include the latest hls and hlint in the shell
131− index-state = "2021-02-22T00:00:00Z"; # It is normally best to put this in `cabal.project` (not here)
132−
133−# PLUS MANY MORE! Almost any argument you can pass to the project functions
134−# or to `shellFor` can be used in as a Hix configuration argument.
135−
136−}
137−```
138−
139−## Adding Nix Support with Niv
140−
141−If you have a `nix/hix.nix` file with suitable configuration that
142−you want to make available to users with Nix (without having to
143−install Hix).
144−
145−[Niv](https://github.com/nmattia/niv) is a command line tool for keeping track of Nix project dependencies.
146−
147−After installing niv you can initialize niv and pin the latest haskell.nix
148−commit by running the following in the root directory of the project:
149−
150−```
151−niv init
152−niv add input-output-hk/haskell.nix -n haskellNix
153−```
154−
155−Add `default.nix`:
156−
157−```nix
158−(import (import nix/sources.nix).haskellNix {}).hix.project { src = ./.; }
159−```
160−
161−If you want to also pin `nixpkgs` with Niv use:
162−
163−```nix
164−let
165− sources = import nix/sources.nix;
166−in
167− (import sources.haskellNix {}).hix.project {
168− inherit (sources) nixpkgs;
169− src = ./.;
170− }
171−```
172−
173−Add `shell.nix`:
174−
175−```nix
176−(import ./.).shell
177−```
178−
179−When you want to update to the latest version of haskell.nix use:
180−
181−```
182−niv update haskellNix
183−```
184−
185−## Adding Nix Flake Support
186−
187−To add flake support that uses the `nix/hix.nix` configuration in your
188−follow the [Getting started with flakes](getting-started.md) guide, but
189−use `haskell-nix.hix.project` instead of `haskell-nix.project'`
190−
191−The `nixpkgs` used will need to be selected as a flake input (any selection
192−made in `nix/hix.nix` will be ignored).
193−
194−Example `flake.nix` file:
195−
196−```nix
197−{
198− description = "A very basic flake";
199− inputs.haskellNix.url = "github:input-output-hk/haskell.nix";
200− inputs.nixpkgs.follows = "haskellNix/nixpkgs-unstable";
201− inputs.flake-utils.url = "github:numtide/flake-utils";
202− outputs = { self, nixpkgs, flake-utils, haskellNix }:
203− flake-utils.lib.eachSystem [ "x86_64-linux" "x86_64-darwin" ] (system:
204− let
205− overlays = [ haskellNix.overlay
206− (final: prev: {
207− # This overlay adds our project to pkgs
208− helloProject =
209− final.haskell-nix.hix.project {
210− src = ./.;
211− # Other project options can be put in `nix/hix.nix`
212− };
213− })
214− ];
215− pkgs = import nixpkgs { inherit system overlays; inherit (haskellNix) config; };
216− flake = pkgs.helloProject.flake {
217− # This adds support for `nix build .#js-unknown-ghcjs:hello:exe:hello`
218− crossPlatforms = p: [p.ghcjs];
219− };
220− in flake // {
221− # Built by `nix build .`
222− defaultPackage = flake.packages."hello:exe:hello";
223− });
224−}
225−```
226−
227−
docs/tutorials/getting-started.md+28−93
@@ -18,61 +18,22 @@ You need to add the following sections to `/etc/nix/nix.conf` or, if you are a t
18
18
19```
19```
20trusted-public-keys = [...] hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ= [...]
20trusted-public-keys = [...] hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ= [...]
21−substituters = [...] https://cache.iog.io [...]
21+substituters = [...] https://hydra.iohk.io [...]
22```
22```
23
23
24If you're running NixOS, you need to add/update the following in your `/etc/nixos/configuration.nix` files instead.
24If you're running NixOS, you need to add/update the following in your `/etc/nixos/configuration.nix` files instead.
25
25
26```
26```
27# Binary Cache for Haskell.nix
27# Binary Cache for Haskell.nix
28−nix.settings.trusted-public-keys = [
29− "hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ="
30−];
31−nix.settings.substituters = [
32− "https://cache.iog.io"
33−];
34−```
35−
36−NixOS-21.11 and older use slightly different settings.
37−
38−```
39−# Binary Cache for Haskell.nix
40nix.binaryCachePublicKeys = [
28nix.binaryCachePublicKeys = [
41 "hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ="
29 "hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ="
42];
30];
43nix.binaryCaches = [
31nix.binaryCaches = [
44− "https://cache.iog.io"
32+ "https://hydra.iohk.io"
45−];
33+];
46−```
47−
48−This can be tricky to get setup properly. If you're still having trouble getting cache hits, consult the corresponding [troubleshooting section](../troubleshooting.md#why-am-i-building-ghc).
49−
50−## Niv
51−
52−[Niv](https://github.com/nmattia/niv) is a command line tool for keeping track of Nix project dependencies.
53−
54−This guide assumes that the `sources.haskellNix` will be set to point
55−a pinned copy of the haskell.nix github repo. One easy way to do this
56−is to use Niv. If you prefer not to use Niv another option is described
57−in the in the "Using haskell.nix without niv" section of this document.
58−
59−If you want to use Nix Flakes to pin your dependencies then you should
60−consider following the [Getting started with flakes](./getting-started-flakes.md)
61−document instead of this one.
62−
63−After installing niv you can initialize niv and pin the latest haskell.nix
64−commit by running the following in the root directory of the project:
65−
66−```
67−niv init
68−niv add input-output-hk/haskell.nix -n haskellNix
69```
34```
70
35
71−Then when you want to update to the latest version of haskellNix use:
36+This can be tricky to get setup properly. If you're still having trouble getting cache hits, consult the corresponding [troubleshooting section](../../troubleshooting#why-am-i-building-ghc).
72−
73−```
74−niv update haskellNix
75−```
76
37
77## Scaffolding
38## Scaffolding
78
39
@@ -82,28 +43,21 @@ projects.
82Add `default.nix`:
43Add `default.nix`:
83
44
84```nix
45```nix
85−let
86− # Read in the Niv sources
87− sources = import ./nix/sources.nix {};
88− # If ./nix/sources.nix file is not found run:
89− # niv init
90− # niv add input-output-hk/haskell.nix -n haskellNix
91−
92− # Fetch the haskell.nix commit we have pinned with Niv
46+{ # Fetch the latest haskell.nix and import its default.nix
93− haskellNix = import sources.haskellNix {};
47+ haskellNix ? import (builtins.fetchTarball "https://github.com/input-output-hk/haskell.nix/archive/master.tar.gz") {}
94− # If haskellNix is not found run:
48+
95− # niv add input-output-hk/haskell.nix -n haskellNix
96−
97− # Import nixpkgs and pass the haskell.nix provided nixpkgsArgs
98− pkgs = import
99− # haskell.nix provides access to the nixpkgs pins which are used by our CI,
49+# haskell.nix provides access to the nixpkgs pins which are used by our CI,
100− # hence you will be more likely to get cache hits when using these.
50+# hence you will be more likely to get cache hits when using these.
101− # But you can also just use your own, e.g. '<nixpkgs>'.
51+# But you can also just use your own, e.g. '<nixpkgs>'.
102− haskellNix.sources.nixpkgs-unstable
52+, nixpkgsSrc ? haskellNix.sources.nixpkgs-2009
53+
103− # These arguments passed to nixpkgs, include some patches and also
54+# haskell.nix provides some arguments to be passed to nixpkgs, including some
104− # the haskell.nix functionality itself as an overlay.
55+# patches and also the haskell.nix functionality itself as an overlay.
105− haskellNix.nixpkgsArgs;
56+, nixpkgsArgs ? haskellNix.nixpkgsArgs
57+
58+# import nixpkgs with overlays
59+, pkgs ? import nixpkgsSrc nixpkgsArgs
106−in pkgs.haskell-nix.project {
60+}: pkgs.haskell-nix.project {
107 # 'cleanGit' cleans a source directory based on the files known by git
61 # 'cleanGit' cleans a source directory based on the files known by git
108 src = pkgs.haskell-nix.haskellLib.cleanGit {
62 src = pkgs.haskell-nix.haskellLib.cleanGit {
109 name = "haskell-nix-project";
63 name = "haskell-nix-project";
@@ -142,40 +96,20 @@ nix-build -A projectCross.ghcjs.hsPkgs.your-package-name.components.exes.your-ex
142nix-build -A projectCross.mingwW64.hsPkgs.your-package-name.components.exes.your-exe-name
96nix-build -A projectCross.mingwW64.hsPkgs.your-package-name.components.exes.your-exe-name
143```
97```
144
98
145−To open a shell for use with `cabal`, `hlint` and `haskell-language-server` add `shell.nix`:
99+To open a shell for use with `cabal` run:
146−
147−```nix
148−(import ./default.nix).shellFor {
149− tools = {
150− cabal = "3.2.0.0";
151− hlint = "latest";
152− haskell-language-server = "latest";
153− };
154−}
155−```
156−
157−Then run:
158
100
159```shell
101```shell
160−nix-shell
102+nix-shell -A shellFor
161cabal new-repl your-package-name:library:your-package-name
103cabal new-repl your-package-name:library:your-package-name
162cabal new-build your-package-name
104cabal new-build your-package-name
163```
105```
164
106
165To open a shell for use with `stack` see [the following issue](https://github.com/input-output-hk/haskell.nix/issues/689#issuecomment-643832619).
107To open a shell for use with `stack` see [the following issue](https://github.com/input-output-hk/haskell.nix/issues/689#issuecomment-643832619).
166
108
167−## Using haskell.nix without Niv
109+### Pinning the [haskell.nix][] version
168−
169−If you would prefer not to use niv you can replace
170−`sources = import ./nix/sources.nix {};` in the examples with:
171
110
172−```nix
111+For simplicity's sake we will use `fetchTarball` for the examples in
173−let sources = {
174− haskellNix = builtins.fetchTarball "https://github.com/input-output-hk/haskell.nix/archive/master.tar.gz";
175− };
176−```
177−
178−The `fetchTarball` call above will always get the latest version, and is
112+this documentation. This will always get the latest version, and is
179similar to an auto-updating Nix channel.
113similar to an auto-updating Nix channel.
180
114
181However, in your own project, you may wish to pin [haskell.nix][] (as
115However, in your own project, you may wish to pin [haskell.nix][] (as
@@ -185,9 +119,10 @@ predictable, and faster (because the fixed version is cached).
185Straightforward way of doing this is to change the branch name to a revision.
119Straightforward way of doing this is to change the branch name to a revision.
186
120
187```nix
121```nix
188−let sources = {
122+{ # Fetch a specific haskell.nix and import its default.nix
189− haskellNix = builtins.fetchTarball "https://github.com/input-output-hk/haskell.nix/archive/f1a94a4c82a2ab999a67c3b84269da78d89f0075.tar.gz";
123+ haskellNix ? import (builtins.fetchTarball "https://github.com/input-output-hk/haskell.nix/archive/f1a94a4c82a2ab999a67c3b84269da78d89f0075.tar.gz") {}
190− };
124+
125+...
191```
126```
192
127
193There are other possible schemes for pinning. See
128There are other possible schemes for pinning. See
docs/tutorials/materialization.md+115−99
@@ -2,7 +2,7 @@
2
2
3## What is materialization?
3## What is materialization?
4
4
5−Capturing and storing the Nix files for a project so that they do
5+Capturing and storing the nix files for a project so that they do
6not need to be built (or checked). This allows us to cache the input
6not need to be built (or checked). This allows us to cache the input
7of an IFD (import from derivation).
7of an IFD (import from derivation).
8
8
@@ -16,146 +16,143 @@ dependencies of nix-tools for instance).
16 is not unusual for it to take 5 seconds per project).
16 is not unusual for it to take 5 seconds per project).
17
17
18* They can be slow to build (or download) on machines that do not
18* They can be slow to build (or download) on machines that do not
19− yet have them in the Nix store.
19+ yet have them in the nix store.
20
20
21−* Hydra does not show progress because it does not provide feedback until it
21+* Hydra does not show progress because it does not provide feedback
22− has a list of jobs and the list of jobs cannot depend on the Nix expressions
22+ until it has a list of jobs and the list of jobs cannot depends
23− being present (although this is often blamed on IFD it would be the same if
23+ on the nix being present (although this is often blamed on IFD
24− it wrote out JSON files and read them in)
24+ it would be the same if it wrote out JSON files and read them in)
25
25
26−## When is it OK to materialize?
26+## When is it ok to materialize?
27
27
28−* The Nix expressions are unlikely to change frequently (and when it does you
28+* The nix is unlikely to change frequently (and when it does you
29 are happy to manually update it).
29 are happy to manually update it).
30
30
31−* You are happy to script something to update the materialized Nix files
31+* You are happy to script something to update the materialized
32− automatically.
32+ nix files automatically.
33+* You are certain that the IFD you materialize is not `system`-dependent. If it was you'd
34+ obtain different nix expressions depending on which `system` the IFD was evaluated.
33
35
34−* You are certain that the IFD you materialize is not `system`-dependent. If it
36+## How can we materialize the nix files?
35− was you'd obtain different Nix expressions depending on which `system` the
36− IFD was evaluated.
37
37
38−## How can we materialize the Nix files?
39−
40−Lets say we want to build `hlint`. We might start with an `hlint.nix`
38+Lets say we want to build `hlint`. We might start with an `hlint`
41file that looks like this:
39file that looks like this:
42
40
43```nix
41```nix
44let inherit (import ./. {}) sources nixpkgsArgs;
42let inherit (import ./. {}) sources nixpkgsArgs;
45 pkgs = import sources.nixpkgs nixpkgsArgs;
43 pkgs = import sources.nixpkgs nixpkgsArgs;
46 hlint = pkgs.haskell-nix.hackage-package {
44 hlint = pkgs.haskell-nix.hackage-package {
47− compiler-nix-name = "ghc8102";
45+ compiler-nix-name = "ghc884";
48 name = "hlint";
46 name = "hlint";
49 version = "2.2.11";
47 version = "2.2.11";
50 };
48 };
51−in hlint
49+in hlint.components.exes.hlint
52```
50```
53
51
54Building this may result in a lot of output, but if you build
52Building this may result in a lot of output, but if you build
55it again it should give just:
53it again it should give just:
56
54
57```
55```
58−$ nix-build hlint.nix -A components.exes.hlint
56+$ nix-build hlint.nix
59−trace: No index state specified for hlint, using the latest index state that we know about (2021-01-04T00:00:00Z)!
57+trace: Using latest index state for hlint!
60−/nix/store/2ybrfmcp79gg75ad4pr1cbxjak70yg8b-hlint-exe-hlint-2.2.11
58+trace: Using index-state: 2020-04-15T00:00:00Z for hlint
59+/nix/store/rnfz66v7k8i38c8rsmchzsyqjrmrbdpk-hlint-2.2.11-exe-hlint
61```
60```
62
61
63−To materialize the Nix files we need to take care to pin down the inputs. Stack
62+To materialize the nix files we need to take care to pin down the
64−projects have their inputs pinned through specifying the snapshot. For cabal
65−projects this means we must specify the `index-state` of hackage we want to
63+inputs. For cabal projects this means we must specify the
66−use:
64+`index-state` of hackage we want to use:
67
65
68```nix
66```nix
69let inherit (import ./. {}) sources nixpkgsArgs;
67let inherit (import ./. {}) sources nixpkgsArgs;
70 pkgs = import sources.nixpkgs nixpkgsArgs;
68 pkgs = import sources.nixpkgs nixpkgsArgs;
71 hlint = pkgs.haskell-nix.hackage-package {
69 hlint = pkgs.haskell-nix.hackage-package {
72− compiler-nix-name = "ghc8102";
70+ compiler-nix-name = "ghc884";
73 name = "hlint";
71 name = "hlint";
74 version = "2.2.11";
72 version = "2.2.11";
75− index-state = "2021-01-04T00:00:00Z";
73+ index-state = "2020-04-15T00:00:00Z";
76 };
74 };
77−in hlint
75+in hlint.components.exes.hlint
78```
76```
79
77
80−Now if we build again we get a hint telling use how to calculate a suitable
78+Now if we build again we get a hint telling use how to
79+calculate a suitable sha256 hash to turn the derivation
81−sha256 hash to turn the derivation containing the Nix files into a fixed-output
80+containing the nix files into a fixed output derivation:
82−derivation:
83
81
84```
82```
85−$ nix-build hlint.nix -A components.exes.hlint
83+$ nix-build hlint.nix
86−trace: To make project.plan-nix for hlint a fixed-output derivation but not materialized, set `plan-sha256` to the output of the 'calculateMaterializedSha' script in 'passthru'.
84+trace: Using index-state: 2020-04-15T00:00:00Z for hlint
87−trace: To materialize project.plan-nix for hlint entirely, pass a writable path as the `materialized` argument and run the 'updateMaterialized' script in 'passthru'.
85+trace: Get `plan-sha256` with `nix-hash --base32 --type sha256 /nix/store/8z6p4237rin3c6c1lmjwshmj8rdqrhw2-hlint-plan-to-nix-pkgs/`
88−/nix/store/2ybrfmcp79gg75ad4pr1cbxjak70yg8b-hlint-exe-hlint-2.2.11
86+/nix/store/rnfz66v7k8i38c8rsmchzsyqjrmrbdpk-hlint-2.2.11-exe-hlint
89−
87+
90−$ nix-build hlint.nix -A project.plan-nix.passthru.calculateMaterializedSha | bash
88+$ nix-hash --base32 --type sha256 /nix/store/8z6p4237rin3c6c1lmjwshmj8rdqrhw2-hlint-plan-to-nix-pkgs/
91−trace: To make project.plan-nix for hlint a fixed-output derivation but not materialized, set `plan-sha256` to the output of the 'calculateMaterializedSha' script in 'passthru'.
89+02hasr27a994sml1fzf8swb716lm6lgixxr53y0gxkhw437xkck4
92−trace: To materialize project.plan-nix for hlint entirely, pass a writable path as the `materialized` argument and run the 'updateMaterialized' script in 'passthru'.
93−04hdgqwpaswmyb0ili7fwi6czzihd6x0jlvivw52d1i7wv4gaqy7
94```
90```
95
91
96−For a Stack project all occurences of `plan-nix` and `plan-sha256` are replaced
92+We can add the hash as `plan-sha256` or (`stack-sha256` for
97−by `stack-nix` and `stack-sha256`, respectively. We can add the hash as
93+stack projects)
98−`plan-sha256`:
99
94
100```nix
95```nix
101let inherit (import ./. {}) sources nixpkgsArgs;
96let inherit (import ./. {}) sources nixpkgsArgs;
102 pkgs = import sources.nixpkgs nixpkgsArgs;
97 pkgs = import sources.nixpkgs nixpkgsArgs;
103 hlint = pkgs.haskell-nix.hackage-package {
98 hlint = pkgs.haskell-nix.hackage-package {
104− compiler-nix-name = "ghc8102";
99+ compiler-nix-name = "ghc884";
105 name = "hlint";
100 name = "hlint";
106 version = "2.2.11";
101 version = "2.2.11";
107− index-state = "2021-01-04T00:00:00Z";
102+ index-state = "2020-04-15T00:00:00Z";
108− plan-sha256 = "04hdgqwpaswmyb0ili7fwi6czzihd6x0jlvivw52d1i7wv4gaqy7";
103+ plan-sha256 = "02hasr27a994sml1fzf8swb716lm6lgixxr53y0gxkhw437xkck4";
109 };
104 };
110−in hlint
105+in hlint.components.exes.hlint
111```
106```
112
107
113−Just adding the hash might help reuse of the cached Nix expressions, but Nix
108+Just adding the hash might help reuse of the cached nix, but nix will
114−will still calculate all the dependencies (which can add seconds to `nix-build`
109+still calculate all the dependencies (which can add seconds to
115−and `nix-shell` commands when no other work is needed) and users who do not yet
110+`nix-build` and `nix-shell` commands when no other work is needed)
116−have the dependencies in their store will have to wait while they are built or
111+and users who do not yet have the dependencies in their store will have
117−downloaded.
112+to wait while they are built or downloaded.
118
113
119−Running `nix-build` again gives us a hint on what we can do next:
114+Running nix build again gives us a hint on what we can do next:
120
115
121```
116```
122−$ nix-build hlint.nix -A components.exes.hlint
117+$ nix-build hlint.nix
123−trace: To materialize project.plan-nix for hlint entirely, pass a writable path as the `materialized` argument and run the 'updateMaterialized' script in 'passthru'.
118+trace: Using index-state: 2020-04-15T00:00:00Z for hlint
124−/nix/store/2ybrfmcp79gg75ad4pr1cbxjak70yg8b-hlint-exe-hlint-2.2.11
119+trace: To materialize, point `materialized` to a copy of /nix/store/kk047cqsjvbj4w8psv4l05abdcnyrqdc-hlint-plan-to-nix-pkgs
120+/nix/store/rnfz66v7k8i38c8rsmchzsyqjrmrbdpk-hlint-2.2.11-exe-hlint
125```
121```
126
122
127−To capture the Nix expressions we can do something like:
123+To capture the nix we can do something like:
128
124
129```nix
125```nix
130let inherit (import ./. {}) sources nixpkgsArgs;
126let inherit (import ./. {}) sources nixpkgsArgs;
131 pkgs = import sources.nixpkgs nixpkgsArgs;
127 pkgs = import sources.nixpkgs nixpkgsArgs;
132 hlint = pkgs.haskell-nix.hackage-package {
128 hlint = pkgs.haskell-nix.hackage-package {
133− compiler-nix-name = "ghc8102";
129+ compiler-nix-name = "ghc884";
134 name = "hlint";
130 name = "hlint";
135 version = "2.2.11";
131 version = "2.2.11";
136− index-state = "2021-01-04T00:00:00Z";
132+ index-state = "2020-04-15T00:00:00Z";
137− plan-sha256 = "04hdgqwpaswmyb0ili7fwi6czzihd6x0jlvivw52d1i7wv4gaqy7";
133+ plan-sha256 = "02hasr27a994sml1fzf8swb716lm6lgixxr53y0gxkhw437xkck4";
138 materialized = ./hlint.materialized;
134 materialized = ./hlint.materialized;
139 };
135 };
140−in hlint
136+in hlint.components.exes.hlint
141```
137```
142
138
143−Now we can copy the Nix files needed and build with:
139+Now we can copy the nix files needed and build with:
144
140
145```
141```
146−$ nix-build hlint.nix 2>&1 | grep -om1 '/nix/store/.*-updateMaterialized' | bash
142+$ cp -r /nix/store/8z6p4237rin3c6c1lmjwshmj8rdqrhw2-hlint-plan-to-nix-pkgs hlint.materialized
147−$ nix-build hlint.nix -A components.exes.hlint
143+$ nix-build hlint.nix
148−building '/nix/store/wpxsgzl1z4jnhfqzmzg3xxv3ljpmzr5h-hlint-plan-to-nix-pkgs.drv'...
144+/nix/store/rnfz66v7k8i38c8rsmchzsyqjrmrbdpk-hlint-2.2.11-exe-hlint
149−/nix/store/2ybrfmcp79gg75ad4pr1cbxjak70yg8b-hlint-exe-hlint-2.2.11
150```
145```
151
146
147+We may want to run `chmod -R +w hlint.materialized` as the files copied from the
148+store will be read only.
149+
152## How can we check `sha256` and `materialized` are up to date?
150## How can we check `sha256` and `materialized` are up to date?
153
151
154Let's pretend we had to go back to `hlint` version `2.2.10`.
152Let's pretend we had to go back to `hlint` version `2.2.10`.
155We can tell haskell.nix to check the materialization either by:
153We can tell haskell.nix to check the materialization either by:
156
154
157* Removing the materialization files with `rm -rf hlint.materialized`
155* Removing the materialization files with `rm -rf hlint.materialized`
158−
159* Temporarily adding `checkMaterialization = true;`
156* Temporarily adding `checkMaterialization = true;`
160
157
161If we choose to add the `checkMaterialization` flag you would have:
158If we choose to add the `checkMaterialization` flag you would have:
@@ -164,51 +161,69 @@ If we choose to add the `checkMaterialization` flag you would have:
164let inherit (import ./. {}) sources nixpkgsArgs;
161let inherit (import ./. {}) sources nixpkgsArgs;
165 pkgs = import sources.nixpkgs nixpkgsArgs;
162 pkgs = import sources.nixpkgs nixpkgsArgs;
166 hlint = pkgs.haskell-nix.hackage-package {
163 hlint = pkgs.haskell-nix.hackage-package {
167− compiler-nix-name = "ghc8102";
164+ compiler-nix-name = "ghc884";
168 name = "hlint";
165 name = "hlint";
169 version = "2.2.10";
166 version = "2.2.10";
170− index-state = "2021-01-04T00:00:00Z";
167+ index-state = "2020-04-15T00:00:00Z";
171− plan-sha256 = "04hdgqwpaswmyb0ili7fwi6czzihd6x0jlvivw52d1i7wv4gaqy7";
168+ plan-sha256 = "02hasr27a994sml1fzf8swb716lm6lgixxr53y0gxkhw437xkck4";
172 materialized = ./hlint.materialized;
169 materialized = ./hlint.materialized;
173 checkMaterialization = true;
170 checkMaterialization = true;
174 };
171 };
175−in hlint
172+in hlint.components.exes.hlint
176```
173```
177
174
178This will fail and report the details of what is wrong and how to fix it:
175This will fail and report the details of what is wrong and how to fix it:
179
176
180```
177```
181−$ nix-build hlint.nix -A components.exes.hlint
178+$ nix-build hlint.nix
182
179
183...
180...
184
181
185−Calculated hash for hlint-plan-to-nix-pkgs was not 04hdgqwpaswmyb0ili7fwi6czzihd6x0jlvivw52d1i7wv4gaqy7. New hash is :
182+Calculated hash for hlint-plan-to-nix-pkgs was not 02hasr27a994sml1fzf8swb716lm6lgixxr53y0gxkhw437xkck4. New hash is :
186− plan-sha256 = "0jsgdmii0a6b35sd42cpbc83s4sp4fbx8slphzvamq8n9x49i5b6";
183+ plan-sha256 = "0zsi3wv92qax33ic4n5dfsqd1r9qam1k75za3c5jqgdxl3hy8vph";
187−Materialized nix used for hlint-plan-to-nix-pkgs incorrect. To fix run: /nix/store/6wp0zzal40ls874f5ddpaac7qmii9y4z-updateMaterialized
184+Materialized nix used for hlint-plan-to-nix-pkgs incorrect. To fix run :
185+ rm -rf /Users/hamish/iohk/haskell.nix/hlint.materialized
186+ cp -r /nix/store/ywdhbx9rzzkfc60c5vzk7cins2hnvkgx-hlint-plan-to-nix-pkgs /Users/hamish/iohk/haskell.nix/hlint.materialized
187+ chmod -R +w /Users/hamish/iohk/haskell.nix/hlint.materialized
188−builder for '/nix/store/61a0vginv76w4p9ycyd628pjanav06pl-hlint-plan-to-nix-pkgs.drv' failed with exit code 1
188+builder for '/nix/store/a5zmgfjfxahapw0q8hd2da5bg7knqvbx-hlint-plan-to-nix-pkgs.drv' failed with exit code 1
189−error: build of '/nix/store/61a0vginv76w4p9ycyd628pjanav06pl-hlint-plan-to-nix-pkgs.drv' failed
189+error: build of '/nix/store/a5zmgfjfxahapw0q8hd2da5bg7knqvbx-hlint-plan-to-nix-pkgs.drv' failed
190(use '--show-trace' to show detailed location information)
190(use '--show-trace' to show detailed location information)
191```
191```
192
192
193−Checking the materialization requires Nix to do all the work that
193+Checking the materialization requires nix to do all the work that materialization
194−materialization avoids. So while it might be tempting to leave
194+avoids. So while it might be tempting to leave `checkMaterialization = true` all
195−`checkMaterialization = true` all the time, we would be better off just
196−removing `materialized` and `plan-sha256`.
195+the time, we would be better off just removing `materialized` and `plan-sha256`.
197
196
198−## How can we update the Nix files with a script?
197+## How can we update the nix files with a script?
199
198
200−We can simply put the commands we used earlier in a script:
199+There are versions of the functions (`project'`, `cabalProject'`,
200+`stackProject'` and `hackage-project`) that also return the nix as
201+`plan-nix` or `stack-nix`. By calling one of these functions without
202+the hash and materialized nix we can find out what nix files should be.
203+For instance:
201
204
202```nix
205```nix
203−#!/bin/sh
206+let inherit (import ./. {}) sources nixpkgsArgs;
204−
207+ pkgs = import sources.nixpkgs nixpkgsArgs;
205−# Output new plan-sha256
208+ hlint = pkgs.haskell-nix.hackage-project {
206−nix-build hlint.nix -A project.plan-nix.passthru.calculateMaterializedSha | bash
209+ compiler-nix-name = "ghc884";
210+ name = "hlint";
211+ version = "2.2.10";
212+ index-state = "2020-04-15T00:00:00Z";
213+ };
214+in hlint
215+```
207
216
208−# Update materialized Nix expressions
217+```
209−nix-build hlint.nix 2>&1 | grep -om1 '/nix/store/.*-updateMaterialized' | bash
218+$ nix-build hlint.nix -A plan-nix
219+trace: Using index-state: 2020-04-15T00:00:00Z for hlint
220+trace: Get `plan-sha256` with `nix-hash --base32 --type sha256 /nix/store/ywdhbx9rzzkfc60c5vzk7cins2hnvkgx-hlint-plan-to-nix-pkgs/`
221+/nix/store/ywdhbx9rzzkfc60c5vzk7cins2hnvkgx-hlint-plan-to-nix-pkgs
210```
222```
211
223
224+We can have the script copy `$(nix-build hlint.nix -A plan-nix --no-out-link)`
225+and use `nix-hash` to calculate the new value for `plan-sha256`.
226+
212## Can we skip making a copy and use `materialized = /nix/store/...`?
227## Can we skip making a copy and use `materialized = /nix/store/...`?
213
228
214Yes and it gives us the same speed improvement, however:
229Yes and it gives us the same speed improvement, however:
@@ -216,7 +231,7 @@ Yes and it gives us the same speed improvement, however:
216* It does not help at all in `restricted-eval` mode (Hydra).
231* It does not help at all in `restricted-eval` mode (Hydra).
217
232
218* Users will still wind up building or downloading the dependencies
233* Users will still wind up building or downloading the dependencies
219− needed to build the Nix files (if they do not have them).
234+ needed to build the nix files (if they do not have them).
220
235
221For those reasons it might be best to make a copy instead
236For those reasons it might be best to make a copy instead
222of using the `/nix/store/...` path directly.
237of using the `/nix/store/...` path directly.
@@ -228,29 +243,30 @@ a non-existing path is now an error:
228```nix
243```nix
229let inherit (import ./. {}) sources nixpkgsArgs;
244let inherit (import ./. {}) sources nixpkgsArgs;
230 pkgs = import sources.nixpkgs nixpkgsArgs;
245 pkgs = import sources.nixpkgs nixpkgsArgs;
231− hlintPlan = /nix/store/63k3f8bvsnag7v36vb3149208jyx61rk-hlint-plan-to-nix-pkgs;
246+ hlintPlan = /nix/store/kk047cqsjvbj4w8psv4l05abdcnyrqdc-hlint-plan-to-nix-pkgs;
232 hlint = pkgs.haskell-nix.hackage-package {
247 hlint = pkgs.haskell-nix.hackage-package {
233− compiler-nix-name = "ghc8102";
248+ compiler-nix-name = "ghc884";
234 name = "hlint";
249 name = "hlint";
235 version = "2.2.11";
250 version = "2.2.11";
236− index-state = "2021-01-04T00:00:00Z";
251+ index-state = "2020-04-15T00:00:00Z";
237− plan-sha256 = "04hdgqwpaswmyb0ili7fwi6czzihd6x0jlvivw52d1i7wv4gaqy7";
252+ plan-sha256 = "02hasr27a994sml1fzf8swb716lm6lgixxr53y0gxkhw437xkck4";
238 materialized = if __pathExists hlintPlan then hlintPlan else null;
253 materialized = if __pathExists hlintPlan then hlintPlan else null;
239 };
254 };
240−in hlint
255+in hlint.components.exes.hlint
241```
256```
242
257
243Running when no building is needed is still slow in restricted evaluation mode.
258Running when no building is needed is still slow in restricted evaluation mode.
244
259
245```
260```
246−$ time nix-build --option restrict-eval true -I . --option allowed-uris "https://github.com/NixOS https://github.com/input-output-hk" hlint.nix -A components.exes.hlint --show-trace
261+$ time nix-build --option restrict-eval true -I . --option allowed-uris "https://github.com/NixOS https://github.com/input-output-hk" hlint.nix --show-trace
247−/nix/store/2ybrfmcp79gg75ad4pr1cbxjak70yg8b-hlint-exe-hlint-2.2.11
262+trace: Using index-state: 2020-04-15T00:00:00Z for hlint
263+/nix/store/rnfz66v7k8i38c8rsmchzsyqjrmrbdpk-hlint-2.2.11-exe-hlint
248
264
249real 0m4.463s
265real 0m4.463s
250user 0m4.440s
266user 0m4.440s
251sys 0m0.461s
267sys 0m0.461s
252−$ time nix-build hlint.nix -A components.exes.hlint
268+$ time nix-build hlint.nix
253−/nix/store/2ybrfmcp79gg75ad4pr1cbxjak70yg8b-hlint-exe-hlint-2.2.11
269+/nix/store/rnfz66v7k8i38c8rsmchzsyqjrmrbdpk-hlint-2.2.11-exe-hlint
254
270
255real 0m2.206s
271real 0m2.206s
256user 0m1.665s
272user 0m1.665s
docs/tutorials/pkg-map.md+4−4
@@ -3,10 +3,10 @@
3Cabal files may contain dependencies to external non-Haskell
3Cabal files may contain dependencies to external non-Haskell
4dependencies via:
4dependencies via:
5
5
6−* [`build-tool-depends`](https://cabal.readthedocs.io/en/latest/cabal-package.html#pkg-field-build-tool-depends)
6+* [`build-tool-depends`](https://cabal.readthedocs.io/en/latest/developing-packages.html#pkg-field-build-tool-depends)
7−* [`pkgconfig-depends`](https://cabal.readthedocs.io/en/latest/cabal-package.html#pkg-field-pkgconfig-depends)
7+* [`pkgconfig-depends`](https://cabal.readthedocs.io/en/latest/developing-packages.html#pkg-field-pkgconfig-depends)
8−* [`frameworks`](https://cabal.readthedocs.io/en/latest/cabal-package.html#pkg-field-frameworks)
8+* [`frameworks`](https://cabal.readthedocs.io/en/latest/developing-packages.html#pkg-field-frameworks)
9−* [`extra-libraries`](https://cabal.readthedocs.io/en/latest/cabal-package.html#pkg-field-extra-libraries)
9+* [`extra-libraries`](https://cabal.readthedocs.io/en/latest/developing-packages.html#pkg-field-extra-libraries)
10
10
11If there is a `pkgs` attribute in Nixpkgs that matches the name given
11If there is a `pkgs` attribute in Nixpkgs that matches the name given
12in the Cabal file, then it will be added as a dependency (see the
12in the Cabal file, then it will be added as a dependency (see the
flake.lockdeleted−396
@@ -1,396 +0,0 @@
1−{
2− "nodes": {
3− "HTTP": {
4− "flake": false,
5− "locked": {
6− "lastModified": 1451647621,
7− "narHash": "sha256-oHIyw3x0iKBexEo49YeUDV1k74ZtyYKGR2gNJXXRxts=",
8− "owner": "phadej",
9− "repo": "HTTP",
10− "rev": "9bc0996d412fef1787449d841277ef663ad9a915",
11− "type": "github"
12− },
13− "original": {
14− "owner": "phadej",
15− "repo": "HTTP",
16− "type": "github"
17− }
18− },
19− "cabal-32": {
20− "flake": false,
21− "locked": {
22− "lastModified": 1603716527,
23− "narHash": "sha256-X0TFfdD4KZpwl0Zr6x+PLxUt/VyKQfX7ylXHdmZIL+w=",
24− "owner": "haskell",
25− "repo": "cabal",
26− "rev": "48bf10787e27364730dd37a42b603cee8d6af7ee",
27− "type": "github"
28− },
29− "original": {
30− "owner": "haskell",
31− "ref": "3.2",
32− "repo": "cabal",
33− "type": "github"
34− }
35− },
36− "cabal-34": {
37− "flake": false,
38− "locked": {
39− "lastModified": 1640353650,
40− "narHash": "sha256-N1t6M3/wqj90AEdRkeC8i923gQYUpzSr8b40qVOZ1Rk=",
41− "owner": "haskell",
42− "repo": "cabal",
43− "rev": "942639c18c0cd8ec53e0a6f8d120091af35312cd",
44− "type": "github"
45− },
46− "original": {
47− "owner": "haskell",
48− "ref": "3.4",
49− "repo": "cabal",
50− "type": "github"
51− }
52− },
53− "cabal-36": {
54− "flake": false,
55− "locked": {
56− "lastModified": 1641652457,
57− "narHash": "sha256-BlFPKP4C4HRUJeAbdembX1Rms1LD380q9s0qVDeoAak=",
58− "owner": "haskell",
59− "repo": "cabal",
60− "rev": "f27667f8ec360c475027dcaee0138c937477b070",
61− "type": "github"
62− },
63− "original": {
64− "owner": "haskell",
65− "ref": "3.6",
66− "repo": "cabal",
67− "type": "github"
68− }
69− },
70− "cardano-shell": {
71− "flake": false,
72− "locked": {
73− "lastModified": 1608537748,
74− "narHash": "sha256-PulY1GfiMgKVnBci3ex4ptk2UNYMXqGjJOxcPy2KYT4=",
75− "owner": "input-output-hk",
76− "repo": "cardano-shell",
77− "rev": "9392c75087cb9a3d453998f4230930dea3a95725",
78− "type": "github"
79− },
80− "original": {
81− "owner": "input-output-hk",
82− "repo": "cardano-shell",
83− "type": "github"
84− }
85− },
86− "flake-utils": {
87− "locked": {
88− "lastModified": 1644229661,
89− "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=",
90− "owner": "numtide",
91− "repo": "flake-utils",
92− "rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797",
93− "type": "github"
94− },
95− "original": {
96− "owner": "numtide",
97− "repo": "flake-utils",
98− "type": "github"
99− }
100− },
101− "ghc-8.6.5-iohk": {
102− "flake": false,
103− "locked": {
104− "lastModified": 1600920045,
105− "narHash": "sha256-DO6kxJz248djebZLpSzTGD6s8WRpNI9BTwUeOf5RwY8=",
106− "owner": "input-output-hk",
107− "repo": "ghc",
108− "rev": "95713a6ecce4551240da7c96b6176f980af75cae",
109− "type": "github"
110− },
111− "original": {
112− "owner": "input-output-hk",
113− "ref": "release/8.6.5-iohk",
114− "repo": "ghc",
115− "type": "github"
116− }
117− },
118− "hackage": {
119− "flake": false,
120− "locked": {
121− "lastModified": 1659402819,
122− "narHash": "sha256-1ghmulyIk+obGnyFeouVHBQXxUHMBmgCIRazLfEoT34=",
123− "owner": "input-output-hk",
124− "repo": "hackage.nix",
125− "rev": "2f6f97ca3db96f91eea674ef46f4a0785d1e9d9c",
126− "type": "github"
127− },
128− "original": {
129− "owner": "input-output-hk",
130− "repo": "hackage.nix",
131− "type": "github"
132− }
133− },
134− "hpc-coveralls": {
135− "flake": false,
136− "locked": {
137− "lastModified": 1607498076,
138− "narHash": "sha256-8uqsEtivphgZWYeUo5RDUhp6bO9j2vaaProQxHBltQk=",
139− "owner": "sevanspowell",
140− "repo": "hpc-coveralls",
141− "rev": "14df0f7d229f4cd2e79f8eabb1a740097fdfa430",
142− "type": "github"
143− },
144− "original": {
145− "owner": "sevanspowell",
146− "repo": "hpc-coveralls",
147− "type": "github"
148− }
149− },
150− "hydra": {
151− "inputs": {
152− "nix": "nix",
153− "nixpkgs": [
154− "hydra",
155− "nix",
156− "nixpkgs"
157− ]
158− },
159− "locked": {
160− "lastModified": 1646878427,
161− "narHash": "sha256-KtbrofMtN8GlM7D+n90kixr7QpSlVmdN+vK5CA/aRzc=",
162− "owner": "NixOS",
163− "repo": "hydra",
164− "rev": "28b682b85b7efc5cf7974065792a1f22203a5927",
165− "type": "github"
166− },
167− "original": {
168− "id": "hydra",
169− "type": "indirect"
170− }
171− },
172− "lowdown-src": {
173− "flake": false,
174− "locked": {
175− "lastModified": 1633514407,
176− "narHash": "sha256-Dw32tiMjdK9t3ETl5fzGrutQTzh2rufgZV4A/BbxuD4=",
177− "owner": "kristapsdz",
178− "repo": "lowdown",
179− "rev": "d2c2b44ff6c27b936ec27358a2653caaef8f73b8",
180− "type": "github"
181− },
182− "original": {
183− "owner": "kristapsdz",
184− "repo": "lowdown",
185− "type": "github"
186− }
187− },
188− "nix": {
189− "inputs": {
190− "lowdown-src": "lowdown-src",
191− "nixpkgs": "nixpkgs",
192− "nixpkgs-regression": "nixpkgs-regression"
193− },
194− "locked": {
195− "lastModified": 1643066034,
196− "narHash": "sha256-xEPeMcNJVOeZtoN+d+aRwolpW8mFSEQx76HTRdlhPhg=",
197− "owner": "NixOS",
198− "repo": "nix",
199− "rev": "a1cd7e58606a41fcf62bf8637804cf8306f17f62",
200− "type": "github"
201− },
202− "original": {
203− "owner": "NixOS",
204− "ref": "2.6.0",
205− "repo": "nix",
206− "type": "github"
207− }
208− },
209− "nix-tools": {
210− "flake": false,
211− "locked": {
212− "lastModified": 1658968505,
213− "narHash": "sha256-UnbQ/Ig/23e9hUdDOBwYHwHgHmQawZ2uazpJ8DLIJgE=",
214− "owner": "input-output-hk",
215− "repo": "nix-tools",
216− "rev": "8a754bdcf20b20e116409c2341cf69065d083053",
217− "type": "github"
218− },
219− "original": {
220− "owner": "input-output-hk",
221− "repo": "nix-tools",
222− "type": "github"
223− }
224− },
225− "nixpkgs": {
226− "locked": {
227− "lastModified": 1632864508,
228− "narHash": "sha256-d127FIvGR41XbVRDPVvozUPQ/uRHbHwvfyKHwEt5xFM=",
229− "owner": "NixOS",
230− "repo": "nixpkgs",
231− "rev": "82891b5e2c2359d7e58d08849e4c89511ab94234",
232− "type": "github"
233− },
234− "original": {
235− "id": "nixpkgs",
236− "ref": "nixos-21.05-small",
237− "type": "indirect"
238− }
239− },
240− "nixpkgs-2003": {
241− "locked": {
242− "lastModified": 1620055814,
243− "narHash": "sha256-8LEHoYSJiL901bTMVatq+rf8y7QtWuZhwwpKE2fyaRY=",
244− "owner": "NixOS",
245− "repo": "nixpkgs",
246− "rev": "1db42b7fe3878f3f5f7a4f2dc210772fd080e205",
247− "type": "github"
248− },
249− "original": {
250− "owner": "NixOS",
251− "ref": "nixpkgs-20.03-darwin",
252− "repo": "nixpkgs",
253− "type": "github"
254− }
255− },
256− "nixpkgs-2105": {
257− "locked": {
258− "lastModified": 1655034179,
259− "narHash": "sha256-rf1/7AbzuYDw6+8Xvvf3PtEOygymLBrFsFxvext5ZjI=",
260− "owner": "NixOS",
261− "repo": "nixpkgs",
262− "rev": "046ee4af7a9f016a364f8f78eeaa356ba524ac31",
263− "type": "github"
264− },
265− "original": {
266− "owner": "NixOS",
267− "ref": "nixpkgs-21.05-darwin",
268− "repo": "nixpkgs",
269− "type": "github"
270− }
271− },
272− "nixpkgs-2111": {
273− "locked": {
274− "lastModified": 1656782578,
275− "narHash": "sha256-1eMCBEqJplPotTo/SZ/t5HU6Sf2I8qKlZi9MX7jv9fw=",
276− "owner": "NixOS",
277− "repo": "nixpkgs",
278− "rev": "573603b7fdb9feb0eb8efc16ee18a015c667ab1b",
279− "type": "github"
280− },
281− "original": {
282− "owner": "NixOS",
283− "ref": "nixpkgs-21.11-darwin",
284− "repo": "nixpkgs",
285− "type": "github"
286− }
287− },
288− "nixpkgs-2205": {
289− "locked": {
290− "lastModified": 1657876628,
291− "narHash": "sha256-URmf0O2cQ/3heg2DJOeLyU/JmfVMqG4X5t9crQXMaeY=",
292− "owner": "NixOS",
293− "repo": "nixpkgs",
294− "rev": "549d82bdd40f760a438c3c3497c1c61160f3de55",
295− "type": "github"
296− },
297− "original": {
298− "owner": "NixOS",
299− "ref": "nixpkgs-22.05-darwin",
300− "repo": "nixpkgs",
301− "type": "github"
302− }
303− },
304− "nixpkgs-regression": {
305− "locked": {
306− "lastModified": 1643052045,
307− "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=",
308− "owner": "NixOS",
309− "repo": "nixpkgs",
310− "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2",
311− "type": "github"
312− },
313− "original": {
314− "id": "nixpkgs",
315− "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2",
316− "type": "indirect"
317− }
318− },
319− "nixpkgs-unstable": {
320− "locked": {
321− "lastModified": 1657888067,
322− "narHash": "sha256-GnwJoFBTPfW3+mz7QEeJEEQ9OMHZOiIJ/qDhZxrlKh8=",
323− "owner": "NixOS",
324− "repo": "nixpkgs",
325− "rev": "65fae659e31098ca4ac825a6fef26d890aaf3f4e",
326− "type": "github"
327− },
328− "original": {
329− "owner": "NixOS",
330− "ref": "nixpkgs-unstable",
331− "repo": "nixpkgs",
332− "type": "github"
333− }
334− },
335− "old-ghc-nix": {
336− "flake": false,
337− "locked": {
338− "lastModified": 1631092763,
339− "narHash": "sha256-sIKgO+z7tj4lw3u6oBZxqIhDrzSkvpHtv0Kki+lh9Fg=",
340− "owner": "angerman",
341− "repo": "old-ghc-nix",
342− "rev": "af48a7a7353e418119b6dfe3cd1463a657f342b8",
343− "type": "github"
344− },
345− "original": {
346− "owner": "angerman",
347− "ref": "master",
348− "repo": "old-ghc-nix",
349− "type": "github"
350− }
351− },
352− "root": {
353− "inputs": {
354− "HTTP": "HTTP",
355− "cabal-32": "cabal-32",
356− "cabal-34": "cabal-34",
357− "cabal-36": "cabal-36",
358− "cardano-shell": "cardano-shell",
359− "flake-utils": "flake-utils",
360− "ghc-8.6.5-iohk": "ghc-8.6.5-iohk",
361− "hackage": "hackage",
362− "hpc-coveralls": "hpc-coveralls",
363− "hydra": "hydra",
364− "nix-tools": "nix-tools",
365− "nixpkgs": [
366− "nixpkgs-unstable"
367− ],
368− "nixpkgs-2003": "nixpkgs-2003",
369− "nixpkgs-2105": "nixpkgs-2105",
370− "nixpkgs-2111": "nixpkgs-2111",
371− "nixpkgs-2205": "nixpkgs-2205",
372− "nixpkgs-unstable": "nixpkgs-unstable",
373− "old-ghc-nix": "old-ghc-nix",
374− "stackage": "stackage"
375− }
376− },
377− "stackage": {
378− "flake": false,
379− "locked": {
380− "lastModified": 1659402917,
381− "narHash": "sha256-zRDOtN4A2KmfzmZiqqxOAIw1YVPhnoIaszKKd+qCEcQ=",
382− "owner": "input-output-hk",
383− "repo": "stackage.nix",
384− "rev": "778df3c4b35eac853d57fac7bafc7c9f2dde917f",
385− "type": "github"
386− },
387− "original": {
388− "owner": "input-output-hk",
389− "repo": "stackage.nix",
390− "type": "github"
391− }
392− }
393− },
394− "root": "root",
395− "version": 7
396−}
flake.nix+37−135
@@ -2,147 +2,49 @@
2 description = "Alternative Haskell Infrastructure for Nixpkgs";
2 description = "Alternative Haskell Infrastructure for Nixpkgs";
3
3
4 inputs = {
4 inputs = {
5− nixpkgs.follows = "nixpkgs-unstable";
5+ # Note: keep this in sync with sources.json!
6− nixpkgs-2003 = { url = "github:NixOS/nixpkgs/nixpkgs-20.03-darwin"; };
6+ nixpkgs.url = github:NixOS/nixpkgs/f02bf8ffb9a5ec5e8f6f66f1e5544fd2aa1a0693;
7− nixpkgs-2105 = { url = "github:NixOS/nixpkgs/nixpkgs-21.05-darwin"; };
7+ nixpkgs-2003.url = github:NixOS/nixpkgs/7f73e46625f508a793700f5110b86f1a53341d6e;
8− nixpkgs-2111 = { url = "github:NixOS/nixpkgs/nixpkgs-21.11-darwin"; };
8+ nixpkgs-2009.url = github:NixOS/nixpkgs/f02bf8ffb9a5ec5e8f6f66f1e5544fd2aa1a0693;
9− nixpkgs-2205 = { url = "github:NixOS/nixpkgs/nixpkgs-22.05-darwin"; };
10− nixpkgs-unstable = { url = "github:NixOS/nixpkgs/nixpkgs-unstable"; };
9+ nixpkgs-unstable.url = github:NixOS/nixpkgs/410bbd828cdc6156aecd5bc91772ad3a6b1099c7;
11− flake-utils = { url = "github:numtide/flake-utils"; };
12− hydra.url = "hydra";
13− hackage = {
14− url = "github:input-output-hk/hackage.nix";
15− flake = false;
16− };
17− stackage = {
18− url = "github:input-output-hk/stackage.nix";
19− flake = false;
20− };
21− cabal-32 = {
22− url = "github:haskell/cabal/3.2";
23− flake = false;
24− };
25− cabal-34 = {
26− url = "github:haskell/cabal/3.4";
27− flake = false;
28− };
29− cabal-36 = {
30− url = "github:haskell/cabal/3.6";
31− flake = false;
32− };
33− cardano-shell = {
34− url = "github:input-output-hk/cardano-shell";
35− flake = false;
36− };
37− "ghc-8.6.5-iohk" = {
38− type = "github";
39− owner = "input-output-hk";
40− repo = "ghc";
41− ref = "release/8.6.5-iohk";
42− flake = false;
43− };
44− hpc-coveralls = {
45− url = "github:sevanspowell/hpc-coveralls";
46− flake = false;
47− };
48− nix-tools = {
49− url = "github:input-output-hk/nix-tools";
50− flake = false;
51− };
52− old-ghc-nix = {
53− url = "github:angerman/old-ghc-nix/master";
54− flake = false;
55− };
56− HTTP = {
57− url = "github:phadej/HTTP";
58− flake = false;
59− };
60 };
10 };
61
11
62− outputs = { self, nixpkgs, nixpkgs-unstable, nixpkgs-2105, nixpkgs-2111, nixpkgs-2205, flake-utils, ... }@inputs:
12+ outputs = { self, nixpkgs, ... }:
63− let compiler = "ghc924";
13+ {
64− config = import ./config.nix;
65− in {
66− inherit config;
67− overlay = self.overlays.combined;
68− overlays = import ./overlays { sources = inputs; };
69− internal = rec {
70− nixpkgsArgs = {
71− inherit config;
72− overlays = [ self.overlay ];
73− };
74
14
75− sources = inputs;
15+ internal = rec {
16+ config = import ./config.nix;
17+ # We can't import ./nix/sources.nix directly, because that uses nixpkgs to fetch by default,
18+ # and importing nixpkgs without specifying localSystem doesn't work on flakes.
19+ sources = let
20+ sourcesInfo =
21+ builtins.fromJSON (builtins.readFile ./nix/sources.json);
22+ fetch = sourceInfo:
23+ builtins.fetchTarball { inherit (sourceInfo) url sha256; };
24+ in builtins.mapAttrs (_: fetch) sourcesInfo;
76
25
77− overlaysOverrideable = import ./overlays;
26+ nixpkgsArgs = {
78− # Compatibility with old default.nix
79− compat = { checkMaterialization ?
80− false # Allows us to easily switch on materialization checking
81− , system, sourcesOverride ? { }, ... }@args: rec {
82− sources = inputs // sourcesOverride;
83− allOverlays = import ./overlays (args // { inherit sources; });
84− inherit config;
27+ inherit config;
85− # We are overriding 'overlays' and 'nixpkgsArgs' from the
28+ overlays = [ self.overlay ];
86− # flake outputs so that we can incorporate the args passed
87− # to the compat layer (e.g. sourcesOverride).
88− overlays = [ allOverlays.combined ]
89− ++ (if checkMaterialization == true then
90− [
91− (final: prev: {
92− haskell-nix = prev.haskell-nix // {
93− checkMaterialization = true;
94− };
95− })
96− ]
97− else
98− [ ]);
99− nixpkgsArgs = {
100− inherit config overlays;
101− };
102− pkgs = import nixpkgs
103− (nixpkgsArgs // { localSystem = { inherit system; }; });
104− pkgs-2105 = import nixpkgs-2105
105− (nixpkgsArgs // { localSystem = { inherit system; }; });
106− pkgs-2111 = import nixpkgs-2111
107− (nixpkgsArgs // { localSystem = { inherit system; }; });
108− pkgs-2205 = import nixpkgs-2205
109− (nixpkgsArgs // { localSystem = { inherit system; }; });
110− pkgs-unstable = import nixpkgs-unstable
111− (nixpkgsArgs // { localSystem = { inherit system; }; });
112− hix = import ./hix/default.nix { inherit pkgs; };
113− };
114 };
29 };
115
30
116− # Note: `nix flake check` evaluates outputs for all platforms, and haskell.nix
31+ overlaysOverrideable = import ./overlays;
117− # uses IFD heavily, you have to have the ability to build for all platforms
32+ };
118− # supported by haskell.nix, e.g. with remote builders, in order to check this flake.
119− # If you want to run the tests for just your platform, run `./test/tests.sh` or
120− # `nix-build -A checks.$PLATFORM`
121− } // flake-utils.lib.eachSystem [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin" ] (system: rec {
122− legacyPackages = (self.internal.compat { inherit system; }).pkgs;
123− legacyPackagesUnstable = (self.internal.compat { inherit system; }).pkgs-unstable;
124
33
125− # FIXME: Currently `nix flake check` requires `--impure` because coverage-golden
34+ # Using the eval-on-build version here as the plan is that
126− # (and maybe other tests) import projects that use builtins.currentSystem
35+ # `builtins.currentSystem` will not be supported in flakes.
127− checks = builtins.listToAttrs (map (pkg: {
36+ # https://github.com/NixOS/rfcs/pull/49/files#diff-a5a138ca225433534de8d260f225fe31R429
128− name = pkg.name;
37+ overlay = self.overlays.combined-eval-on-build;
129− value = pkg;
38+ overlays = self.internal.overlaysOverrideable { sourcesOverride = self.internal.sources; };
130− }) (nixpkgs.lib.collect nixpkgs.lib.isDerivation (import ./test rec {
131− haskellNix = self.internal.compat { inherit system; };
132− compiler-nix-name = compiler;
133− pkgs = haskellNix.pkgs;
134− })));
135− # Exposed so that buildkite can check that `allow-import-from-derivation=false` works for core of haskell.nix
136− roots = legacyPackagesUnstable.haskell-nix.roots compiler;
137
39
138− devShell = with self.legacyPackages.${system};
40+ legacyPackages = let
139− mkShell {
41+ genAttrs = lst: f:
140− buildInputs = [
42+ builtins.listToAttrs (map (name: {
141− nixUnstable
43+ inherit name;
142− cabal-install
44+ value = f name;
143− haskell-nix.compiler.${compiler}
45+ }) lst);
144− haskell-nix.nix-tools.${compiler}
46+ in genAttrs [ "x86_64-linux" "x86_64-darwin" ] (system:
145− ];
47+ import nixpkgs
146− };
48+ (self.internal.nixpkgsArgs // { localSystem = { inherit system; }; }));
147− });
49+ };
148}
50}
hackage-src.json+4−4
@@ -1,9 +1,9 @@
1{
1{
2 "url": "https://github.com/input-output-hk/hackage.nix",
2 "url": "https://github.com/input-output-hk/hackage.nix",
3− "rev": "9bdefa51c864bbef48a2758b05b4b568f0ded62b",
3+ "rev": "48960ebaabc5f7f9433b2ed6d5dea66550f5e99e",
4− "date": "2021-08-06T01:11:48+00:00",
4+ "date": "2021-03-18T01:14:50+00:00",
5− "path": "/nix/store/isypgnv4qa5398z6vjc3fi620l4y87c4-hackage.nix-9bdefa5",
5+ "path": "/nix/store/1d449n54vzgyw7sljy1f97yk1nign6ih-hackage.nix-48960eb",
6− "sha256": "0pm3m864wwgf76isjwb8244xh8xykc94b5az6zb1h38q30s9xjji",
6+ "sha256": "024nxylwxikmlbwlniigzp3rcxyksjran1xpig2z7ynixpzwb0k7",
7 "fetchSubmodules": false,
7 "fetchSubmodules": false,
8 "deepClone": false,
8 "deepClone": false,
9 "leaveDotGit": false
9 "leaveDotGit": false
hix/default.nixdeleted−43
@@ -1,43 +0,0 @@
1−{ pkgs }:
2−let
3− args = '' --arg userDefaults "$HOME/.config/hix/hix.conf" --arg src ./.'';
4− # Use HIX_ROOT to override the version of hix used when developing new hix features.
5− # See docs/dev/hix.md for details.
6− hixProject = "\${HIX_ROOT:-${./..}}/hix/project.nix";
7−in pkgs.symlinkJoin {
8− name = "hix";
9− paths = [
10− (pkgs.writeScriptBin "hix-shell" ''
11− nix-shell ${hixProject} ${args} -A shell "$@"
12− '')
13− (pkgs.writeScriptBin "hix-build" ''
14− nix-build ${hixProject} ${args} "$@"
15− '')
16− (pkgs.writeScriptBin "hix-instantiate" ''
17− nix-instantiate ${hixProject} ${args} "$@"
18− '')
19− (pkgs.writeScriptBin "hix-env" ''
20− nix-env -f ${hixProject} ${args} "$@"
21− '')
22− (pkgs.writeScriptBin "hix" ''
23− cmd=$1
24− shift
25− case $cmd in
26− update)
27− nix-env -iA hix -f https://github.com/input-output-hk/haskell.nix/tarball/master
28− ;;
29− build|dump-path|eval|log|path-info|run|search|show-derivation|sign-paths|verify|why-depends)
30− nix $cmd -f ${hixProject} ${args} "$@"
31− ;;
32− repl)
33− nix $cmd ${hixProject} ${args} "$@"
34− ;;
35− *)
36− nix $cmd "$@"
37− ;;
38− esac
39− '')
40− ];
41−} // {
42− project = import ./project.nix;
43−}
hix/project.nixdeleted−77
@@ -1,77 +0,0 @@
1−{ src
2−, userDefaults ? {}
3−, nixpkgs ? null
4−, nixpkgsPin ? null
5−, pkgs ? null
6−, checkMaterialization ? null
7−, compiler-nix-name ? null
8−, shell ? null
9−, ...}@commandArgs:
10−let
11− inherit ((lib.evalModules {
12− modules = [
13− (import ../modules/project-common.nix)
14− (import ../modules/stack-project.nix)
15− (import ../modules/cabal-project.nix)
16− (import ../modules/project.nix)
17− (import ../modules/hix-project.nix)
18− projectDefaults
19− commandArgs'
20− { _module.args.pkgs = {}; }
21− ];
22− }).config) name;
23− inherit (import ./.. {}) sources;
24− lib = import (sources.nixpkgs-unstable + "/lib");
25− commandArgs' =
26− builtins.listToAttrs (
27− builtins.concatMap (
28− name:
29− if commandArgs.${name} == null || name == "src" || name == "userDefaults" || name == "inNixShell"
30− then []
31− else [{ inherit name; value = commandArgs.${name}; }]
32− ) (builtins.attrNames commandArgs));
33− defaultArgs = {
34− nixpkgsPin = "nixpkgs-unstable";
35− };
36− importDefaults = src:
37− if src == null || !(__pathExists src)
38− then {}
39− else import src;
40− userDefaults = importDefaults (commandArgs.userDefaults or null);
41− projectDefaults = importDefaults (toString (src.origSrcSubDir or src) + "/nix/hix.nix");
42− inherit ((lib.evalModules {
43− modules = [
44− (import ../modules/project-common.nix)
45− (import ../modules/stack-project.nix)
46− (import ../modules/cabal-project.nix)
47− (import ../modules/project.nix)
48− (import ../modules/hix-project.nix)
49− userDefaults
50− projectDefaults
51− commandArgs'
52− ({config, pkgs, ...}: {
53− haskellNix = import ./.. { inherit checkMaterialization; };
54− nixpkgsPin = "nixpkgs-unstable";
55− nixpkgs = config.haskellNix.sources.${config.nixpkgsPin};
56− nixpkgsArgs = config.haskellNix.nixpkgsArgs // {
57− overlays = config.haskellNix.nixpkgsArgs.overlays ++ config.overlays;
58− };
59− _module.args.pkgs = import config.nixpkgs config.nixpkgsArgs;
60− project = pkgs.haskell-nix.project [
61− (import ../modules/hix-project.nix)
62− userDefaults
63− projectDefaults
64− commandArgs'
65− ({config, ...}: {
66− src =
67− if __pathExists (toString (src.origSrcSubDir or src) + "/.git")
68− then config.evalPackages.haskell-nix.haskellLib.cleanGit {
69− inherit src name;
70− }
71− else src;
72− })
73− ];
74− })
75− ];
76− }).config) project shell;
77−in project
lib/cabal-os-arch-comp.nix+1−1
@@ -43,7 +43,7 @@
43 isPPC64 = false;
43 isPPC64 = false;
44 isSparc = false;
44 isSparc = false;
45 isArm = false;
45 isArm = false;
46− isAarch64= false;
46+ isAArch64= false;
47 isMips = false;
47 isMips = false;
48 isSH = false;
48 isSH = false;
49 isIA64 = false;
49 isIA64 = false;
lib/cabal-project-parser.nix+14−120
@@ -74,21 +74,20 @@ let
74 # --shar256: 003lm3pm0000hbfmii7xcdd9v20000flxf7gdl2pyxia7p014i8z
74 # --shar256: 003lm3pm0000hbfmii7xcdd9v20000flxf7gdl2pyxia7p014i8z
75 # will be trated like a field and returned here
75 # will be trated like a field and returned here
76 # (used in call-cabal-project-to-nix.nix to create a fixed-output derivation)
76 # (used in call-cabal-project-to-nix.nix to create a fixed-output derivation)
77− extractSourceRepoPackageData = cabalProjectFileName: sha256map: repo: {
77+ extractRepoData = cabalProjectFileName: lookupSha256: repo:
78+ builtins.map (subdir:
79+ {
78− url = repo.location;
80+ url = repo.location;
79− ref = repo.tag;
81+ ref = repo.tag;
80− sha256 = repo."--sha256" or (
82+ sha256 = repo."--sha256" or (lookupSha256 repo);
81− if sha256map != null
83+ inherit subdir;
82− then sha256map."${repo.location}"."${repo.tag}"
84+ })
83− else null);
84− subdirs = if repo ? subdir
85+ (if repo ? subdir
85− then pkgs.lib.filter (x: x != "") (pkgs.lib.splitString " " repo.subdir)
86+ then pkgs.lib.filter (x: x != "") (pkgs.lib.splitString " " repo.subdir)
86− else ["."];
87+ else ["."]);
87− };
88
88
89 # Parse a source-repository-package and return data of `type: git` repositories
89 # Parse a source-repository-package and return data of `type: git` repositories
90− # See tests/unit.nix for examples of input and output.
91− parseSourceRepositoryPackageBlock = cabalProjectFileName: sha256map: block:
90+ parseBlock = cabalProjectFileName: lookupSha256: block:
92 let
91 let
93 x = span (pkgs.lib.strings.hasPrefix " ") (pkgs.lib.splitString "\n" block);
92 x = span (pkgs.lib.strings.hasPrefix " ") (pkgs.lib.splitString "\n" block);
94 attrs = parseBlockLines x.fst;
93 attrs = parseBlockLines x.fst;
@@ -99,115 +98,10 @@ let
99 otherText = "\nsource-repository-package\n" + block;
98 otherText = "\nsource-repository-package\n" + block;
100 }
99 }
101 else {
100 else {
102− sourceRepo = extractSourceRepoPackageData cabalProjectFileName sha256map attrs;
101+ sourceRepo = extractRepoData cabalProjectFileName lookupSha256 attrs;
103 otherText = pkgs.lib.strings.concatStringsSep "\n" x.snd;
102 otherText = pkgs.lib.strings.concatStringsSep "\n" x.snd;
104 };
103 };
105
104
106− parseSourceRepositoryPackages = cabalProjectFileName: sha256map: source-repo-override: projectFile:
107− let
108− blocks = pkgs.lib.splitString "\nsource-repository-package\n" ("\n" + projectFile);
109− initialText = pkgs.lib.lists.take 1 blocks;
110− repoBlocks = builtins.map (parseSourceRepositoryPackageBlock cabalProjectFileName sha256map) (pkgs.lib.lists.drop 1 blocks);
111− overrideSourceRepo = sourceRepo: (source-repo-override.${sourceRepo.url} or (pkgs.lib.id)) sourceRepo;
112− in {
113− sourceRepos = pkgs.lib.lists.map (block: overrideSourceRepo block.sourceRepo) repoBlocks;
114− otherText = pkgs.lib.strings.concatStringsSep "\n" (
115− initialText
116− ++ (builtins.map (x: x.otherText) repoBlocks));
117− };
118−
119− # Parse and replace repository
120− # This works in a similar way to the `source-repository-package` but we are
121− # able to simply replace the `repository` blocks with local `file:/nix/store` ones.
122− # This works because `cabal configure` does not include any of the `/nix/sore/`
123− # paths in the `plan.json` (so materialized plan-nix will still work as expeced).
124− # See tests/unit.nix for examples of input and output.
125− parseRepositoryBlock = evalPackages: cabalProjectFileName: sha256map: inputMap: cabal-install: nix-tools: block:
126− let
127− lines = pkgs.lib.splitString "\n" block;
128− # The first line will contain the repository name.
129− x = span (pkgs.lib.strings.hasPrefix " ") (__tail lines);
130− attrs = parseBlockLines x.fst;
131− sha256 = attrs."--sha256" or (
132− if sha256map != null
133− then sha256map."${attrs.url}"
134− else null);
135− in rec {
136− # This is `some-name` from the `repository some-name` line in the `cabal.project` file.
137− name = __head lines;
138− # The $HOME/.cabal/packages/${name} after running `cabal v2-update` to download the repository
139− repoContents = if inputMap ? ${attrs.url}
140− # If there is an input use it to make `file:` url and create a suitable `.cabal/packages/${name}` directory
141− then evalPackages.runCommand name ({
142− nativeBuildInputs = [ cabal-install ];
143− preferLocalBuild = true;
144− }) ''
145− HOME=$(mktemp -d)
146− mkdir -p $HOME/.cabal/packages/${name}
147− cat <<EOF > $HOME/.cabal/config
148− repository ${name}
149− url: file:${inputMap.${attrs.url}}
150− ${pkgs.lib.optionalString (attrs ? secure) "secure: ${attrs.secure}"}
151− ${pkgs.lib.optionalString (attrs ? root-keys) "root-keys: ${attrs.root-keys}"}
152− ${pkgs.lib.optionalString (attrs ? key-threshold) "key-threshold: ${attrs.key-threshold}"}
153− EOF
154−
155− cabal v2-update ${name}
156− cp -r $HOME/.cabal/packages/${name} $out
157− ''
158− else evalPackages.runCommand name ({
159− nativeBuildInputs = [ cabal-install evalPackages.curl nix-tools ];
160− LOCALE_ARCHIVE = pkgs.lib.optionalString (evalPackages.stdenv.buildPlatform.libc == "glibc") "${evalPackages.glibcLocales}/lib/locale/locale-archive";
161− LANG = "en_US.UTF-8";
162− preferLocalBuild = true;
163− } // pkgs.lib.optionalAttrs (sha256 != null) {
164− outputHashMode = "recursive";
165− outputHashAlgo = "sha256";
166− outputHash = sha256;
167− }) ''
168− HOME=$(mktemp -d)
169− mkdir -p $HOME/.cabal/packages/${name}
170− cat <<EOF > $HOME/.cabal/config
171− repository ${name}
172− url: ${attrs.url}
173− ${pkgs.lib.optionalString (attrs ? secure) "secure: ${attrs.secure}"}
174− ${pkgs.lib.optionalString (attrs ? root-keys) "root-keys: ${attrs.root-keys}"}
175− ${pkgs.lib.optionalString (attrs ? key-threshold) "key-threshold: ${attrs.key-threshold}"}
176− EOF
177−
178− export SSL_CERT_FILE=${evalPackages.cacert}/etc/ssl/certs/ca-bundle.crt
179− cabal v2-update ${name}
180− cp -r $HOME/.cabal/packages/${name} $out
181− '';
182− # Output of hackage-to-nix
183− hackage = import (
184− evalPackages.runCommand ("hackage-to-nix-" + name) {
185− nativeBuildInputs = [ cabal-install evalPackages.curl nix-tools ];
186− LOCALE_ARCHIVE = pkgs.lib.optionalString (evalPackages.stdenv.buildPlatform.libc == "glibc") "${evalPackages.glibcLocales}/lib/locale/locale-archive";
187− LANG = "en_US.UTF-8";
188− preferLocalBuild = true;
189− } ''
190− mkdir -p $out
191− hackage-to-nix $out ${repoContents}/01-index.tar ${attrs.url}
192− '');
193− # Directory to `lndir` when constructing a suitable $HOME/.cabal dir
194− repo = {
195− ${name} = repoContents;
196− };
197− };
198−
199− parseRepositories = evalPackages: cabalProjectFileName: sha256map: inputMap: cabal-install: nix-tools: projectFile:
200− let
201− # This will leave the name of repository in the first line of each block
202− blocks = pkgs.lib.splitString "\nrepository " ("\n" + projectFile);
203− repoBlocks = builtins.map (parseRepositoryBlock evalPackages cabalProjectFileName sha256map inputMap cabal-install nix-tools) (pkgs.lib.lists.drop 1 blocks);
204− in {
205− extra-hackages = pkgs.lib.lists.map (block: block.hackage) repoBlocks;
206− repos = pkgs.lib.lists.foldl' (x: block: x // block.repo) {} repoBlocks;
207− };
208−
209in {
105in {
210− inherit parseIndexState parseSourceRepositoryPackages parseRepositories
106+ inherit parseIndexState parseBlockLines parseBlock;
211− # These are only exposed for tests
212− parseSourceRepositoryPackageBlock parseRepositoryBlock;
213}
107}
lib/call-cabal-project-to-nix.nix+81−165
@@ -1,4 +1,4 @@
1−{ pkgs, runCommand, cacert, index-state-hashes, haskellLib }@defaults:
1+{ dotCabal, pkgs, runCommand, evalPackages, symlinkJoin, cacert, index-state-hashes, haskellLib, materialize }@defaults:
2let readIfExists = src: fileName:
2let readIfExists = src: fileName:
3 let origSrcDir = src.origSrcSubDir or src;
3 let origSrcDir = src.origSrcSubDir or src;
4 in
4 in
@@ -21,6 +21,8 @@ in
21, caller ? "callCabalProjectToNix" # Name of the calling function for better warning messages
21, caller ? "callCabalProjectToNix" # Name of the calling function for better warning messages
22, ghc ? null # Deprecated in favour of `compiler-nix-name`
22, ghc ? null # Deprecated in favour of `compiler-nix-name`
23, ghcOverride ? null # Used when we need to set ghc explicitly during bootstrapping
23, ghcOverride ? null # Used when we need to set ghc explicitly during bootstrapping
24+, nix-tools ? evalPackages.haskell-nix.nix-tools-unchecked.${compiler-nix-name} # When building cabal projects we use the nix-tools
25+, cabal-install ? evalPackages.haskell-nix.cabal-install-unchecked.${compiler-nix-name} # and cabal-install compiled with matching ghc version
24, configureArgs ? "" # Extra arguments to pass to `cabal v2-configure`.
26, configureArgs ? "" # Extra arguments to pass to `cabal v2-configure`.
25 # `--enable-tests --enable-benchmarks` are included by default.
27 # `--enable-tests --enable-benchmarks` are included by default.
26 # If the tests and benchmarks are not needed and they
28 # If the tests and benchmarks are not needed and they
@@ -30,57 +32,17 @@ in
30 # An alternative to adding `--sha256` comments into the
32 # An alternative to adding `--sha256` comments into the
31 # cabal.project file:
33 # cabal.project file:
32 # sha256map =
34 # sha256map =
33− # { # For a `source-repository-package` use the `location` and `tag` as the key
34− # "https://github.com/jgm/pandoc-citeproc"."0.17"
35+ # { "https://github.com/jgm/pandoc-citeproc"."0.17"
35− # = "0dxx8cp2xndpw3jwiawch2dkrkp15mil7pyx7dvd810pwc22pm2q";
36+ # = "0dxx8cp2xndpw3jwiawch2dkrkp15mil7pyx7dvd810pwc22pm2q"; };
36− # # For a `repository` use the `url` as the key
37+, lookupSha256 ?
37− # "https://raw.githubusercontent.com/input-output-hk/hackage-overlay-ghcjs/bfc363b9f879c360e0a0460ec0c18ec87222ec32"
38+ if sha256map != null
38− # = "sha256-g9xGgJqYmiczjxjQ5JOiK5KUUps+9+nlNGI/0SpSOpg=";
39+ then { location, tag, ...}: sha256map."${location}"."${tag}"
39− # };
40+ else _: null
40−, inputMap ? {}
41− # An alternative to providing a `sha256` handy for flakes
42− # cabal.project file:
43− # inputs.pandoc-citeproc.url = "github:jgm/pandoc-citeproc/0.17";
44− # inputs.pandoc-citeproc.flake = false;
45− # outputs = inputs:
46− # ...
47− # inputMap."https://github.com/jgm/pandoc-citeproc" = inputs.inputs.pandoc-citeproc;
48−, extra-hackage-tarballs ? {}
41+, extra-hackage-tarballs ? []
49−, source-repo-override ? {} # Cabal seems to behave incoherently when
50− # two source-repository-package entries
51− # provide the same packages, making it
52− # impossible to override cabal.project
53− # with e.g. a cabal.project.local. In CI,
54− # we want to be able to test against the
55− # latest versions of various dependencies.
56− #
57− # This argument is a map from url to
58− # a function taking the existing repoData
59− # and returning the new repoData in its
60− # place. E.g.
61− #
62− # { "https://github.com/input-output-hk/plutus-apps" = orig: orig // { subdirs = (orig.subdirs or [ "." ]) ++ [ "foo" ]; }; }
63− #
64− # would result in the "foo" subdirectory of
65− # any plutus-apps input being used for a
66− # package.
67−, evalPackages
68, ...
42, ...
69}@args:
43}@args:
70
44
71let
45let
72− inherit (evalPackages.haskell-nix) materialize dotCabal;
73−
74− # These defaults are hear rather than in modules/cabal-project.nix to make them
75− # lazy enough to avoid infinite recursion issues.
76− # Using null as the default also improves performance as they are not forced by the
77− # nix module system for `nix-tools-unchecked` and `cabal-install-unchecked`.
78− nix-tools = if args.nix-tools or null != null
79− then args.nix-tools
80− else evalPackages.haskell-nix.nix-tools-unchecked.${compiler-nix-name};
81− cabal-install = if args.cabal-install or null != null
82− then args.cabal-install
83− else evalPackages.haskell-nix.cabal-install-unchecked.${compiler-nix-name};
84 forName = pkgs.lib.optionalString (name != null) (" for " + name);
46 forName = pkgs.lib.optionalString (name != null) (" for " + name);
85 nameAndSuffix = suffix: if name == null then suffix else name + "-" + suffix;
47 nameAndSuffix = suffix: if name == null then suffix else name + "-" + suffix;
86
48
@@ -114,13 +76,15 @@ let
114 ghc = ghc';
76 ghc = ghc';
115 subDir' = src.origSubDir or "";
77 subDir' = src.origSubDir or "";
116 subDir = pkgs.lib.strings.removePrefix "/" subDir';
78 subDir = pkgs.lib.strings.removePrefix "/" subDir';
117−
79+ maybeCleanedSource =
80+ if haskellLib.canCleanSource src
118− cleanedSource = haskellLib.cleanSourceWith {
81+ then (haskellLib.cleanSourceWith {
119− name = if name != null then "${name}-root-cabal-files" else "source-root-cabal-files";
82+ name = if name != null then "${name}-root-cabal-files" else "source-root-cabal-files";
120− src = src.origSrc or src;
83+ src = src.origSrc or src;
121− filter = path: type: (!(src ? filter) || src.filter path type) && (
84+ filter = path: type: (!(src ? filter) || src.filter path type) && (
122− type == "directory" ||
85+ type == "directory" ||
123− pkgs.lib.any (i: (pkgs.lib.hasSuffix i path)) [ ".cabal" "package.yaml" ]); };
86+ pkgs.lib.any (i: (pkgs.lib.hasSuffix i path)) [ ".cabal" "package.yaml" ]); })
87+ else src.origSrc or src;
124
88
125 # Using origSrcSubDir bypasses any cleanSourceWith so that it will work when
89 # Using origSrcSubDir bypasses any cleanSourceWith so that it will work when
126 # access to the store is restricted. If origSrc was already in the store
90 # access to the store is restricted. If origSrc was already in the store
@@ -200,104 +164,67 @@ let
200 builtins.readFile (pkgs.runCommand "hash-path" { preferLocalBuild = true; }
164 builtins.readFile (pkgs.runCommand "hash-path" { preferLocalBuild = true; }
201 "echo -n $(${pkgs.nix}/bin/nix-hash --type sha256 --base32 ${path}) > $out");
165 "echo -n $(${pkgs.nix}/bin/nix-hash --type sha256 --base32 ${path}) > $out");
202
166
203− replaceSourceRepos = projectFile:
167+ replaceSoureRepos = projectFile:
204 let
168 let
205− fetchPackageRepo = fetchgit: repoData:
169+ fetchRepo = fetchgit: repoData:
206 let
170 let
207 fetched =
171 fetched =
208− if inputMap ? "${repoData.url}/${repoData.ref}"
209− then inputMap."${repoData.url}/${repoData.ref}"
210− else if inputMap ? ${repoData.url}
211− then
212− (if inputMap.${repoData.url}.rev != repoData.ref
213− then throw "${inputMap.${repoData.url}.rev} may not match ${repoData.ref} for ${repoData.url} use \"${repoData.url}/${repoData.ref}\" as the inputMap key if ${repoData.ref} is a branch or tag that points to ${inputMap.${repoData.url}.rev}."
214− else inputMap.${repoData.url})
215− else if repoData.sha256 != null
172+ if repoData.sha256 != null
216− then fetchgit { inherit (repoData) url sha256; rev = repoData.ref; }
173+ then fetchgit { inherit (repoData) url sha256; rev = repoData.ref; }
217 else
174 else
218 let drv = builtins.fetchGit { inherit (repoData) url ref; };
175 let drv = builtins.fetchGit { inherit (repoData) url ref; };
219 in __trace "WARNING: No sha256 found for source-repository-package ${repoData.url} ${repoData.ref} download may fail in restricted mode (hydra)"
176 in __trace "WARNING: No sha256 found for source-repository-package ${repoData.url} ${repoData.ref} download may fail in restricted mode (hydra)"
220− (__trace "Consider adding `--sha256: ${hashPath drv}` to the ${cabalProjectFileName} file or passing in a sha256map argument"
177+ (__trace "Consider adding `--sha256: ${hashPath drv}` to the ${cabalProjectFileName} file or passing in a lookupSha256 argument"
221 drv);
178 drv);
222− in {
179+ in fetched + (if repoData.subdir == "." then "" else "/" + repoData.subdir);
223− # Download the source-repository-package commit and add it to a minimal git
180+
224− # repository that `cabal` will be able to access from a non fixed output derivation.
181+ blocks = pkgs.lib.splitString "\nsource-repository-package\n" ("\n" + projectFile);
225− location = evalPackages.runCommand "source-repository-package" {
182+ initialText = pkgs.lib.lists.take 1 blocks;
226− nativeBuildInputs = [ evalPackages.rsync evalPackages.gitMinimal ];
183+ repoBlocks = builtins.map (pkgs.haskell-nix.haskellLib.parseBlock cabalProjectFileName lookupSha256) (pkgs.lib.lists.drop 1 blocks);
227− } ''
184+ sourceRepoData = pkgs.lib.lists.concatMap (x: x.sourceRepo) repoBlocks;
228− mkdir $out
185+ otherText = pkgs.evalPackages.writeText "cabal.project" (pkgs.lib.strings.concatStringsSep "\n" (
229− rsync -a --prune-empty-dirs "${fetched}/" "$out/"
186+ initialText
230− cd $out
187+ ++ (builtins.map (x: x.otherText) repoBlocks)));
231− chmod -R +w .
232− git init -b minimal
233− git add --force .
234− GIT_COMMITTER_NAME='No One' GIT_COMMITTER_EMAIL= git commit -m "Minimal Repo For Haskell.Nix" --author 'No One <>'
235− '';
236− inherit (repoData) subdirs;
237− inherit fetched;
238− tag = "minimal";
239− };
240−
241− # Parse the `source-repository-package` blocks
242− sourceRepoPackageResult = pkgs.haskell-nix.haskellLib.parseSourceRepositoryPackages
243− cabalProjectFileName sha256map source-repo-override projectFile;
244−
245− # Parse the `repository` blocks
246− repoResult = pkgs.haskell-nix.haskellLib.parseRepositories
247− evalPackages cabalProjectFileName sha256map inputMap cabal-install nix-tools sourceRepoPackageResult.otherText;
248
188
249 # we need the repository content twice:
189 # we need the repository content twice:
250 # * at eval time (below to build the fixed project file)
190 # * at eval time (below to build the fixed project file)
251− # Here we want to use evalPackages.fetchgit, so one can calculate
191+ # Here we want to use pkgs.evalPackages.fetchgit, so one can calculate
252 # the build plan for any target without a remote builder
192 # the build plan for any target without a remote builder
253 # * at built time (passed out)
193 # * at built time (passed out)
254 # Here we want to use plain pkgs.fetchgit, which is what a builder
194 # Here we want to use plain pkgs.fetchgit, which is what a builder
255 # on the target system would use, so that the derivation is unaffected
195 # on the target system would use, so that the derivation is unaffected
256 # and, say, a linux release build job can identify the derivation
196 # and, say, a linux release build job can identify the derivation
257 # as built by a darwin builder, and fetch it from a cache
197 # as built by a darwin builder, and fetch it from a cache
258− sourceReposEval = builtins.map (fetchPackageRepo evalPackages.fetchgit) sourceRepoPackageResult.sourceRepos;
198+ sourceReposBuild = builtins.map (fetchRepo pkgs.evalPackages.fetchgit) sourceRepoData ;
259− sourceReposBuild = builtins.map (x: (fetchPackageRepo pkgs.fetchgit x).fetched) sourceRepoPackageResult.sourceRepos;
199+ sourceReposEval = builtins.map (fetchRepo pkgs.fetchgit) sourceRepoData;
260 in {
200 in {
261 sourceRepos = sourceReposBuild;
201 sourceRepos = sourceReposBuild;
262− inherit (repoResult) repos extra-hackages;
263 makeFixedProjectFile = ''
202 makeFixedProjectFile = ''
264− cp -f ${evalPackages.writeText "cabal.project" sourceRepoPackageResult.otherText} ./cabal.project
203+ cp -f ${otherText} ./cabal.project
265− '' +
266− pkgs.lib.optionalString (builtins.length sourceReposEval != 0) (''
267 chmod +w -R ./cabal.project
204 chmod +w -R ./cabal.project
268 # The newline here is important in case cabal.project does not have one at the end
205 # The newline here is important in case cabal.project does not have one at the end
269− echo >> ./cabal.project
206+ printf "\npackages:" >> ./cabal.project
207+ mkdir -p ./.source-repository-packages
270 '' +
208 '' +
271− # Add replacement `source-repository-package` blocks pointing to the minimal git repos
272− ( pkgs.lib.strings.concatMapStrings (f: ''
273− echo "source-repository-package" >> ./cabal.project
274− echo " type: git" >> ./cabal.project
275− echo " location: file://${f.location}" >> ./cabal.project
276− echo " subdir: ${builtins.concatStringsSep " " f.subdirs}" >> ./cabal.project
277− echo " tag: ${f.tag}" >> ./cabal.project
278− '') sourceReposEval
279− ));
280− # This will be used to replace refernces to the minimal git repos with just the index
281− # of the repo. The index will be used in lib/import-and-filter-project.nix to
282− # lookup the correct repository in `sourceReposBuild`. This avoids having
283− # `/nix/store` paths in the `plan-nix` output so that it can be materialized safely.
284− replaceLocations = pkgs.lib.strings.concatStrings (
209+ ( pkgs.lib.strings.concatStrings (
285 pkgs.lib.lists.zipListsWith (n: f: ''
210 pkgs.lib.lists.zipListsWith (n: f: ''
286− (cd $out${subDir'}
211+ mkdir -p ./.source-repository-packages/${builtins.toString n}
287− substituteInPlace $tmp${subDir'}/dist-newstyle/cache/plan.json --replace file://${f.location} ${builtins.toString n}
212+ rsync -a --prune-empty-dirs \
288− for a in $(grep -rl file://${f.location} .plan.nix/*.nix); do
213+ --include '*/' --include '*.cabal' --include 'package.yaml' \
289− substituteInPlace $a --replace file://${f.location} ${builtins.toString n}
214+ --exclude '*' \
290− done)
215+ "${f}/" "./.source-repository-packages/${builtins.toString n}/"
216+ echo " ./.source-repository-packages/${builtins.toString n}" >> ./cabal.project
291 '')
217 '')
292 (pkgs.lib.lists.range 0 ((builtins.length sourceReposEval) - 1))
218 (pkgs.lib.lists.range 0 ((builtins.length sourceReposEval) - 1))
293 sourceReposEval
219 sourceReposEval
294− );
220+ )
221+ );
295 };
222 };
296
223
297 fixedProject =
224 fixedProject =
298 if rawCabalProject == null
225 if rawCabalProject == null
299− then { sourceRepos = []; repos = {}; extra-hackages = []; makeFixedProjectFile = ""; replaceLocations = ""; }
226+ then { sourceRepos = []; makeFixedProjectFile = ""; }
300− else replaceSourceRepos rawCabalProject;
227+ else replaceSoureRepos rawCabalProject;
301
228
302 # The use of the actual GHC can cause significant problems:
229 # The use of the actual GHC can cause significant problems:
303 # * For hydra to assemble a list of jobs from `components.tests` it must
230 # * For hydra to assemble a list of jobs from `components.tests` it must
@@ -368,12 +295,12 @@ let
368 '');
295 '');
369
296
370 # Dummy `ghc` that uses the captured output
297 # Dummy `ghc` that uses the captured output
371− dummy-ghc = evalPackages.writeTextFile {
298+ dummy-ghc = pkgs.evalPackages.writeTextFile {
372 name = "dummy-" + ghc.name;
299 name = "dummy-" + ghc.name;
373 executable = true;
300 executable = true;
374 destination = "/bin/${ghc.targetPrefix}ghc";
301 destination = "/bin/${ghc.targetPrefix}ghc";
375 text = ''
302 text = ''
376− #!${evalPackages.runtimeShell}
303+ #!${pkgs.evalPackages.runtimeShell}
377 case "$*" in
304 case "$*" in
378 --version*)
305 --version*)
379 cat ${dummy-ghc-data}/ghc/version
306 cat ${dummy-ghc-data}/ghc/version
@@ -411,12 +338,12 @@ let
411 };
338 };
412
339
413 # Dummy `ghc-pkg` that uses the captured output
340 # Dummy `ghc-pkg` that uses the captured output
414− dummy-ghc-pkg = evalPackages.writeTextFile {
341+ dummy-ghc-pkg = pkgs.evalPackages.writeTextFile {
415 name = "dummy-pkg-" + ghc.name;
342 name = "dummy-pkg-" + ghc.name;
416 executable = true;
343 executable = true;
417 destination = "/bin/${ghc.targetPrefix}ghc-pkg";
344 destination = "/bin/${ghc.targetPrefix}ghc-pkg";
418 text = ''
345 text = ''
419− #!${evalPackages.runtimeShell}
346+ #!${pkgs.evalPackages.runtimeShell}
420 case "$*" in
347 case "$*" in
421 --version)
348 --version)
422 cat ${dummy-ghc-data}/ghc-pkg/version
349 cat ${dummy-ghc-data}/ghc-pkg/version
@@ -452,10 +379,10 @@ let
452 else null;
379 else null;
453 } // pkgs.lib.optionalAttrs (checkMaterialization != null) {
380 } // pkgs.lib.optionalAttrs (checkMaterialization != null) {
454 inherit checkMaterialization;
381 inherit checkMaterialization;
455− }) (evalPackages.runCommand (nameAndSuffix "plan-to-nix-pkgs") {
382+ }) (pkgs.evalPackages.runCommand (nameAndSuffix "plan-to-nix-pkgs") {
456− nativeBuildInputs = [ nix-tools dummy-ghc dummy-ghc-pkg cabal-install evalPackages.rsync evalPackages.gitMinimal ];
383+ nativeBuildInputs = [ nix-tools dummy-ghc dummy-ghc-pkg cabal-install pkgs.evalPackages.rsync ];
457 # Needed or stack-to-nix will die on unicode inputs
384 # Needed or stack-to-nix will die on unicode inputs
458− LOCALE_ARCHIVE = pkgs.lib.optionalString (evalPackages.stdenv.buildPlatform.libc == "glibc") "${evalPackages.glibcLocales}/lib/locale/locale-archive";
385+ LOCALE_ARCHIVE = pkgs.lib.optionalString (pkgs.evalPackages.stdenv.buildPlatform.libc == "glibc") "${pkgs.evalPackages.glibcLocales}/lib/locale/locale-archive";
459 LANG = "en_US.UTF-8";
386 LANG = "en_US.UTF-8";
460 meta.platforms = pkgs.lib.platforms.all;
387 meta.platforms = pkgs.lib.platforms.all;
461 preferLocalBuild = false;
388 preferLocalBuild = false;
@@ -477,11 +404,11 @@ let
477 '';
404 '';
478 in {
405 in {
479 # These check for cabal configure failure
406 # These check for cabal configure failure
480− json = evalPackages.runCommand (nameAndSuffix "plan-json") {} ''
407+ json = pkgs.evalPackages.runCommand (nameAndSuffix "plan-json") {} ''
481 ${checkCabalConfigure}
408 ${checkCabalConfigure}
482 cp ${plan-nix.maybeJson} $out
409 cp ${plan-nix.maybeJson} $out
483 '';
410 '';
484− freeze = evalPackages.runCommand (nameAndSuffix "plan-freeze") {} ''
411+ freeze = pkgs.evalPackages.runCommand (nameAndSuffix "plan-freeze") {} ''
485 ${checkCabalConfigure}
412 ${checkCabalConfigure}
486 cp ${plan-nix.maybeFreeze} $out
413 cp ${plan-nix.maybeFreeze} $out
487 '';
414 '';
@@ -489,18 +416,14 @@ let
489 } ''
416 } ''
490 tmp=$(mktemp -d)
417 tmp=$(mktemp -d)
491 cd $tmp
418 cd $tmp
492− # if cleanedSource is empty, this means it's a new
419+ # if maybeCleanedSource is empty, this means it's a new
493 # project where the files haven't been added to the git
420 # project where the files haven't been added to the git
494 # repo yet. We fail early and provide a useful error
421 # repo yet. We fail early and provide a useful error
495 # message to prevent headaches (#290).
422 # message to prevent headaches (#290).
496− if [ -z "$(ls -A ${cleanedSource})" ]; then
423+ if [ -z "$(ls -A ${maybeCleanedSource})" ]; then
497− echo "cleaned source is empty. Did you forget to 'git add -A'?"
424+ echo "cleaned source is empty. Did you forget to 'git add -A'?"; exit 1;
498− ${pkgs.lib.optionalString (__length fixedProject.sourceRepos == 0) ''
499− exit 1
500− ''}
501− else
502− cp -r ${cleanedSource}/* .
503 fi
425 fi
426+ cp -r ${maybeCleanedSource}/* .
504 chmod +w -R .
427 chmod +w -R .
505 # Decide what to do for each `package.yaml` file.
428 # Decide what to do for each `package.yaml` file.
506 for hpackFile in $(find . -name package.yaml); do (
429 for hpackFile in $(find . -name package.yaml); do (
@@ -523,13 +446,15 @@ let
523 ${pkgs.lib.optionalString (subDir != "") "cd ${subDir}"}
446 ${pkgs.lib.optionalString (subDir != "") "cd ${subDir}"}
524 ${fixedProject.makeFixedProjectFile}
447 ${fixedProject.makeFixedProjectFile}
525 ${pkgs.lib.optionalString (cabalProjectFreeze != null) ''
448 ${pkgs.lib.optionalString (cabalProjectFreeze != null) ''
526− cp ${evalPackages.writeText "cabal.project.freeze" cabalProjectFreeze} \
449+ cp ${pkgs.evalPackages.writeText "cabal.project.freeze" cabalProjectFreeze} \
527 cabal.project.freeze
450 cabal.project.freeze
528 chmod +w cabal.project.freeze
451 chmod +w cabal.project.freeze
529 ''}
452 ''}
530 export SSL_CERT_FILE=${cacert}/etc/ssl/certs/ca-bundle.crt
453 export SSL_CERT_FILE=${cacert}/etc/ssl/certs/ca-bundle.crt
531 export GIT_SSL_CAINFO=${cacert}/etc/ssl/certs/ca-bundle.crt
454 export GIT_SSL_CAINFO=${cacert}/etc/ssl/certs/ca-bundle.crt
532
455
456+ mkdir -p $out
457+
533 # Using `cabal v2-freeze` will configure the project (since
458 # Using `cabal v2-freeze` will configure the project (since
534 # it is not configured yet), taking the existing `cabal.project.freeze`
459 # it is not configured yet), taking the existing `cabal.project.freeze`
535 # file into account. Then it "writes out a freeze file which
460 # file into account. Then it "writes out a freeze file which
@@ -542,16 +467,15 @@ let
542 # which is used by cabal (cached-index-state >= index-state-found).
467 # which is used by cabal (cached-index-state >= index-state-found).
543 dotCabal {
468 dotCabal {
544 inherit cabal-install nix-tools extra-hackage-tarballs;
469 inherit cabal-install nix-tools extra-hackage-tarballs;
545− extra-hackage-repos = fixedProject.repos;
546 index-state = cached-index-state;
470 index-state = cached-index-state;
547 sha256 = index-sha256-found;
471 sha256 = index-sha256-found;
548 }
472 }
549− } cabal v2-freeze ${
473+ } cabal v2-freeze \
474+ --index-state=${
550− # Setting the desired `index-state` here in case it is not
475+ # Setting the desired `index-state` here in case it was not
551− # in the cabal.project file. This will further restrict the
476+ # from the cabal.project file. This will further restrict the
552− # packages used by the solver (cached-index-state >= index-state-found).
477+ # packages used by the solver (cached-index-state >= index-state-found).
553− pkgs.lib.optionalString (index-state != null) "--index-state=${index-state}"
478+ index-state-found} \
554− } \
555 -w ${
479 -w ${
556 # We are using `-w` rather than `--with-ghc` here to override
480 # We are using `-w` rather than `--with-ghc` here to override
557 # the `with-compiler:` in the `cabal.project` file.
481 # the `with-compiler:` in the `cabal.project` file.
@@ -563,8 +487,6 @@ let
563 "--ghcjs --with-ghcjs=js-unknown-ghcjs-ghc --with-ghcjs-pkg=js-unknown-ghcjs-ghc-pkg"} \
487 "--ghcjs --with-ghcjs=js-unknown-ghcjs-ghc --with-ghcjs-pkg=js-unknown-ghcjs-ghc-pkg"} \
564 ${configureArgs} 2>&1 | tee -a cabal-configure.out); then
488 ${configureArgs} 2>&1 | tee -a cabal-configure.out); then
565
489
566− mkdir -p $out
567−
568 cp cabal.project.freeze $maybeFreeze
490 cp cabal.project.freeze $maybeFreeze
569 # Not needed any more (we don't want it to wind up in the $out hash)
491 # Not needed any more (we don't want it to wind up in the $out hash)
570 rm cabal.project.freeze
492 rm cabal.project.freeze
@@ -589,15 +511,16 @@ let
589 # proper relative paths.
511 # proper relative paths.
590 (cd $out${subDir'} && plan-to-nix --full --plan-json $tmp${subDir'}/dist-newstyle/cache/plan.json -o .)
512 (cd $out${subDir'} && plan-to-nix --full --plan-json $tmp${subDir'}/dist-newstyle/cache/plan.json -o .)
591
513
592− # Replace the /nix/store paths to minimal git repos with indexes (that will work with materialization).
593− ${fixedProject.replaceLocations}
594−
595 # Make the plan.json file available in case we need to debug plan-to-nix
514 # Make the plan.json file available in case we need to debug plan-to-nix
596 cp $tmp${subDir'}/dist-newstyle/cache/plan.json $maybeJson
515 cp $tmp${subDir'}/dist-newstyle/cache/plan.json $maybeJson
597
516
598 # Remove the non nix files ".project" ".cabal" "package.yaml" files
517 # Remove the non nix files ".project" ".cabal" "package.yaml" files
599 # as they should not be in the output hash (they may change slightly
518 # as they should not be in the output hash (they may change slightly
600 # without affecting the nix).
519 # without affecting the nix).
520+ if [ -d $out${subDir'}/.source-repository-packages ]; then
521+ chmod +w -R $out${subDir'}/.source-repository-packages
522+ rm -rf $out${subDir'}/.source-repository-packages
523+ fi
601 find $out \( -type f -or -type l \) ! -name '*.nix' -delete
524 find $out \( -type f -or -type l \) ! -name '*.nix' -delete
602 # Remove empty dirs
525 # Remove empty dirs
603 find $out -type d -empty -delete
526 find $out -type d -empty -delete
@@ -605,28 +528,21 @@ let
605 # move pkgs.nix to default.nix ensure we can just nix `import` the result.
528 # move pkgs.nix to default.nix ensure we can just nix `import` the result.
606 mv $out${subDir'}/pkgs.nix $out${subDir'}/default.nix
529 mv $out${subDir'}/pkgs.nix $out${subDir'}/default.nix
607 else
530 else
608− # Check that this was a solver failure that (not some other
609− # possibly non deterministic failure).
610− # TODO replace grep once https://github.com/haskell/cabal/issues/5191
611− # is fixed.
612− grep "cabal: Could not resolve dependencies" cabal-configure.out
613−
614 # When cabal configure fails copy the output that we captured above and
531 # When cabal configure fails copy the output that we captured above and
615 # use `failed-cabal-configure.nix` to make a suitable derviation with.
532 # use `failed-cabal-configure.nix` to make a suitable derviation with.
616− mkdir -p $out${subDir'}
617− cp cabal-configure.out $out${subDir'}
533+ cp cabal-configure.out $out
618− cp ${./failed-cabal-configure.nix} $out${subDir'}/default.nix
534+ cp ${./failed-cabal-configure.nix} $out/default.nix
619
535
620 # These should only be used indirectly by `passthru.json` and `passthru.freeze`.
536 # These should only be used indirectly by `passthru.json` and `passthru.freeze`.
621 # Those derivations will check for `cabal-configure.out` out first to see if
537 # Those derivations will check for `cabal-configure.out` out first to see if
622 # it is ok to use these files.
538 # it is ok to use these files.
623− echo "Cabal configure failed see $out${subDir'}/cabal-configure.out for details" > $maybeJson
539+ echo "Cabal configure failed see $out/cabal-configure.out for details" > $maybeJson
624− echo "Cabal configure failed see $out${subDir'}/cabal-configure.out for details" > $maybeFreeze
540+ echo "Cabal configure failed see $out/cabal-configure.out for details" > $maybeFreeze
625 fi
541 fi
626 '');
542 '');
627in {
543in {
628 projectNix = plan-nix;
544 projectNix = plan-nix;
629 index-state = index-state-found;
545 index-state = index-state-found;
630 inherit src;
546 inherit src;
631− inherit (fixedProject) sourceRepos extra-hackages;
547+ inherit (fixedProject) sourceRepos;
632}
548}
lib/call-stack-to-nix.nix+18−32
@@ -5,6 +5,7 @@
5 *
5 *
6 * see also `call-cabal-project-to-nix`!
6 * see also `call-cabal-project-to-nix`!
7 */
7 */
8+{ runCommand, pkgs, mkCacheFile, materialize, haskellLib }:
8{ name ? src.name or null # optional name for better error messages
9{ name ? src.name or null # optional name for better error messages
9, src
10, src
10, stackYaml ? "stack.yaml"
11, stackYaml ? "stack.yaml"
@@ -14,28 +15,17 @@
14, resolverSha256 ? null
15, resolverSha256 ? null
15, materialized ? null # Location of a materialized copy of the nix files
16, materialized ? null # Location of a materialized copy of the nix files
16, checkMaterialization ? null # If true the nix files will be generated used to check plan-sha256 and material
17, checkMaterialization ? null # If true the nix files will be generated used to check plan-sha256 and material
17−, nix-tools
18+, nix-tools ? pkgs.haskell-nix.internal-nix-tools # When building stack projects we use the internal nix-tools (compiled with a fixed GHC version)
18−, evalPackages
19−, ... }@args:
19+, ... }:
20let
20let
21− inherit (evalPackages) runCommand;
22− inherit (evalPackages.haskell-nix) mkCacheFile materialize haskellLib;
23 inherit (haskellLib.fetchResolver {
21 inherit (haskellLib.fetchResolver {
24 inherit src stackYaml resolverSha256;
22 inherit src stackYaml resolverSha256;
25 }) resolver fetchedResolver;
23 }) resolver fetchedResolver;
26
24
27 subDir' = src.origSubDir or "";
25 subDir' = src.origSubDir or "";
28− subDir = evalPackages.lib.strings.removePrefix "/" subDir';
29− cleanedSource = (haskellLib.cleanSourceWith {
30− name = if name != null then "${name}-root-cabal-files" else "source-root-cabal-files";
31− src = src.origSrc or src;
32− filter = path: type: (!(src ? filter) || src.filter path type) && (
33− type == "directory" ||
34− evalPackages.lib.any (i: (evalPackages.lib.hasSuffix i path)) [ stackYaml ".cabal" "package.yaml" ]); });
35−
36 stackToNixArgs = builtins.concatStringsSep " " [
26 stackToNixArgs = builtins.concatStringsSep " " [
37 "--full"
27 "--full"
38− "--stack-yaml=$SRC${subDir'}/${stackYaml}"
28+ "--stack-yaml=$SRC/${stackYaml}"
39 (if ignorePackageYaml then "--ignore-package-yaml" else "")
29 (if ignorePackageYaml then "--ignore-package-yaml" else "")
40 "-o ."
30 "-o ."
41 ];
31 ];
@@ -45,39 +35,35 @@ let
45 sha256Arg = "stack-sha256";
35 sha256Arg = "stack-sha256";
46 reasonNotSafe = null;
36 reasonNotSafe = null;
47 this = "project.stack-nix" + (if name != null then " for ${name}" else "");
37 this = "project.stack-nix" + (if name != null then " for ${name}" else "");
48− } // evalPackages.lib.optionalAttrs (checkMaterialization != null) {
38+ } // pkgs.lib.optionalAttrs (checkMaterialization != null) {
49 inherit checkMaterialization;
39 inherit checkMaterialization;
50 }) (runCommand (if name == null then "stack-to-nix-pkgs" else name + "-stack-to-nix-pkgs") {
40 }) (runCommand (if name == null then "stack-to-nix-pkgs" else name + "-stack-to-nix-pkgs") {
51− nativeBuildInputs = [ nix-tools evalPackages.nix-prefetch-git evalPackages.cacert evalPackages.xorg.lndir ];
41+ nativeBuildInputs = [ nix-tools pkgs.nix-prefetch-git pkgs.cacert pkgs.xorg.lndir ];
52 # Needed or stack-to-nix will die on unicode inputs
42 # Needed or stack-to-nix will die on unicode inputs
53− LOCALE_ARCHIVE = evalPackages.lib.optionalString (evalPackages.stdenv.hostPlatform.libc == "glibc") "${evalPackages.glibcLocales}/lib/locale/locale-archive";
43+ LOCALE_ARCHIVE = pkgs.lib.optionalString (pkgs.stdenv.hostPlatform.libc == "glibc") "${pkgs.glibcLocales}/lib/locale/locale-archive";
54 LANG = "en_US.UTF-8";
44 LANG = "en_US.UTF-8";
55 LC_ALL = "en_US.UTF-8";
45 LC_ALL = "en_US.UTF-8";
56 preferLocalBuild = false;
46 preferLocalBuild = false;
57 } (''
47 } (''
58 mkdir -p $out${subDir'}
48 mkdir -p $out${subDir'}
59− SRC=$(mktemp -d)
60− cd $SRC
61− # if cleanedSource is empty, this means it's a new
62− # project where the files haven't been added to the git
63− # repo yet. We fail early and provide a useful error
64− # message to prevent headaches (#290).
65− if [ -z "$(ls -A ${cleanedSource})" ]; then
66− echo "cleaned source is empty. Did you forget to 'git add -A'?"; exit 1;
67− fi
68− lndir -silent "${cleanedSource}/." $SRC
69− ${evalPackages.lib.optionalString (subDir != "") "cd ${subDir}"}
70 ${
49 ${
71− # If a resolver was fetched use the it instead of the original stack.yaml
50+ # If no resolver was fetched use the original stack.yaml
72− evalPackages.lib.optionalString (fetchedResolver != null)
51+ if fetchedResolver == null
52+ then ''
53+ SRC=${src}
54+ ''
55+ else
73 # Replace the resolver path in the stack.yaml with the fetched version
56 # Replace the resolver path in the stack.yaml with the fetched version
74 ''
57 ''
58+ SRC=$(mktemp -d)
59+ cd $SRC
60+ lndir -silent "${src}/." $SRC
75 rm ${stackYaml}
61 rm ${stackYaml}
76 cp ${src}/${stackYaml} .
62 cp ${src}/${stackYaml} .
77 chmod +w ${stackYaml}
63 chmod +w ${stackYaml}
78 substituteInPlace ${stackYaml} --replace "${resolver}" "${fetchedResolver}"
64 substituteInPlace ${stackYaml} --replace "${resolver}" "${fetchedResolver}"
79 ''}
65 ''}
80− ${evalPackages.lib.optionalString (cache != null) ''
66+ ${pkgs.lib.optionalString (cache != null) ''
81 cp ${mkCacheFile cache}/.stack-to-nix.cache* $out${subDir'}
67 cp ${mkCacheFile cache}/.stack-to-nix.cache* $out${subDir'}
82 ''}
68 ''}
83 (cd $out${subDir'} && stack-to-nix ${stackToNixArgs})
69 (cd $out${subDir'} && stack-to-nix ${stackToNixArgs})
@@ -85,7 +71,7 @@ let
85 # We need to strip out any references to $src, as those won't
71 # We need to strip out any references to $src, as those won't
86 # be accessable in restricted mode.
72 # be accessable in restricted mode.
87 for nixf in $(find $out -name "*.nix" -type f); do
73 for nixf in $(find $out -name "*.nix" -type f); do
88− substituteInPlace $nixf --replace "$SRC${subDir'}" "."
74+ substituteInPlace $nixf --replace "$SRC" "."
89 done
75 done
90
76
91 # move pkgs.nix to default.nix ensure we can just nix `import` the result.
77 # move pkgs.nix to default.nix ensure we can just nix `import` the result.
lib/check.nix+14−19
@@ -1,4 +1,4 @@
1−{ stdenv, lib, haskellLib }:
1+{ stdenv, lib, haskellLib, srcOnly }:
2drv:
2drv:
3
3
4let
4let
@@ -7,25 +7,13 @@ let
7# This derivation can be used to execute test component.
7# This derivation can be used to execute test component.
8# The $out of the derivation is a file containing the resulting
8# The $out of the derivation is a file containing the resulting
9# stdout output.
9# stdout output.
10−in stdenv.mkDerivation ((
10+in stdenv.mkDerivation ({
11− if drv ? source
12− then {
13− src = drv.source;
14− patchPhase =
15− # This `cd` is normally done in the `prePatch` of the drv
16− lib.optionalString (drv.srcSubDir != "") ''
17− cd ${lib.removePrefix "/" drv.srcSubDir}
18− '';
19− }
20− else
21− # This makes the derivation work a bit like `srcOnly`,
22− # using the original derivation, but replacing the `buildPhase`.
23− (drv.drvAttrs or drv) // {
24− outputs = [ "out" ];
25− separateDebugInfo = false;
26− }) // {
27 name = (drv.name + "-check");
11 name = (drv.name + "-check");
28
12
13+ # Useing `srcOnly` (rather than getting the `src` via a `drv.passthru`)
14+ # should correctly apply the patches from `drv` (if any).
15+ src = drv.source or (srcOnly drv);
16+
29 passthru = {
17 passthru = {
30 inherit (drv) identifier config configFiles executableToolDepends cleanSrc env exeName;
18 inherit (drv) identifier config configFiles executableToolDepends cleanSrc env exeName;
31 };
19 };
@@ -34,12 +22,19 @@ in stdenv.mkDerivation ((
34
22
35 inherit (component) doCheck doCrossCheck;
23 inherit (component) doCheck doCrossCheck;
36
24
37− phases = ["unpackPhase" "patchPhase" "buildPhase"];
25+ phases = ["unpackPhase" "buildPhase"];
38
26
39 # If doCheck or doCrossCheck are false we may still build this
27 # If doCheck or doCrossCheck are false we may still build this
40 # component and we want it to quietly succeed.
28 # component and we want it to quietly succeed.
41 buildPhase = ''
29 buildPhase = ''
42 mkdir $out
30 mkdir $out
31+ ${
32+ # Change to the source sub directory if there is one.
33+ lib.optionalString (drv.srcSubDir or "" != "") ''
34+ cd ${lib.removePrefix "/" drv.srcSubDir}
35+ ''
36+ }
37+
43 runHook preCheck
38 runHook preCheck
44
39
45 ${toString component.testWrapper} ${drv}/bin/${drv.exeName} ${lib.concatStringsSep " " component.testFlags} | tee $out/test-stdout
40 ${toString component.testWrapper} ${drv}/bin/${drv.exeName} ${lib.concatStringsSep " " component.testFlags} | tee $out/test-stdout
lib/clean-cabal-component.nix+2−2
@@ -1,6 +1,6 @@
1# Use cleanSourceWith to filter just the files needed for a particular
1# Use cleanSourceWith to filter just the files needed for a particular
2# component of the package
2# component of the package
3−{ lib, cleanSourceWith }: package: component: componentName: src:
3+{ lib, cleanSourceWith, canCleanSource }: package: component: componentName: src:
4let
4let
5 srcStr' = src.origSrc or null;
5 srcStr' = src.origSrc or null;
6 subDir = if src.origSubDir or "" == ""
6 subDir = if src.origSubDir or "" == ""
@@ -56,7 +56,7 @@ let
56 then p
56 then p
57 else p + "/";
57 else p + "/";
58in
58in
59− if srcStr' == null || package.detailLevel != "FullDetails"
59+ if srcStr' == null || package.detailLevel != "FullDetails" || !canCleanSource src
60 then src
60 then src
61 else
61 else
62 let
62 let
lib/clean-git.nix+24−63
@@ -65,13 +65,9 @@ then
65 first_line = head git_content;
65 first_line = head git_content;
66 prefix = "gitdir: ";
66 prefix = "gitdir: ";
67 ok = length git_content == 1 && lib.hasPrefix prefix first_line;
67 ok = length git_content == 1 && lib.hasPrefix prefix first_line;
68− raw_path = remove_prefix prefix first_line;
69 in
68 in
70 if ok
69 if ok
71− then
70+ then /. + remove_prefix prefix first_line
72− if lib.hasPrefix "/" raw_path
73− then /. + raw_path
74− else /. + builtins.toPath (origSrcSubDir + "/" + raw_path)
75 else abort "gitSource.nix: Cannot parse ${origSrcSubDir + "/.git"}";
71 else abort "gitSource.nix: Cannot parse ${origSrcSubDir + "/.git"}";
76 }));
72 }));
77
73
@@ -91,37 +87,32 @@ then
91 gitModulesStr = origSrcSubDir + "/.gitmodules";
87 gitModulesStr = origSrcSubDir + "/.gitmodules";
92 gitModules = builtins.path { name = "gitmodules"; path = gitModulesStr; };
88 gitModules = builtins.path { name = "gitmodules"; path = gitModulesStr; };
93
89
94− # Files from the git repository related knownSubmoduleDirs.
95− gitSubmoduleFiles = knownSubmoduleDirs:
96− let pathsNeeded = map (p: toString (src.origSrcSubDir or src) + "/${p}") (
97− lib.concatMap (x: all_paren_dirs (x + "/.git")) knownSubmoduleDirs);
98− in cleanSourceWith {
90+ gitSubmoduleFiles = cleanSourceWith {
99− caller = "cleanGit";
91+ caller = "cleanGit";
100− name = (if name == null then "" else name + "-") + "gitSubmoduleFiles";
92+ name = (if name == null then "" else name + "-") + "gitSubmoduleFiles";
101− inherit src;
93+ inherit src;
102− filter = path: type:
94+ filter = path: type:
103− elem path pathsNeeded
95+ type == "directory" # TODO get sudmodule directories from `.gitmodules`
104− ||
96+ # and use that to filter directory tree here
97+ ||
98+ lib.any (i: (lib.hasSuffix i path)) [
99+ "/.git" ".gitmodules" ".git/config" ".git/index" ".git/HEAD" ".git/objects" ".git/refs" ] ||
100+ (lib.strings.hasInfix ".git/modules/" path &&
105 lib.any (i: (lib.hasSuffix i path)) [
101 lib.any (i: (lib.hasSuffix i path)) [
106− ".gitmodules" ".git/config" ".git/index" ".git/HEAD" ".git/objects" ".git/refs" ]
102+ "config" "index" "HEAD" "objects" "refs" ]);
107− ||
103+ };
108− (lib.strings.hasInfix ".git/modules/" path &&
109− lib.any (i: (lib.hasSuffix i path)) [
110− "config" "index" "HEAD" "objects" "refs" ]);
111− };
112−
113− hasSubmodules = !isWorktree && builtins.pathExists gitModulesStr;
114
104
115 # Make a temporary dir that looks enough like the real thing for
105 # Make a temporary dir that looks enough like the real thing for
116 # `git ls-files --recurse-submodules` to give us an accurate list
106 # `git ls-files --recurse-submodules` to give us an accurate list
117 # of all the files in the index.
107 # of all the files in the index.
118− whitelist_files = knownSubmoduleDirs:
108+ whitelist_file =
119− runCommand "git-ls-files" { preferLocalBuild = true; } ''
109+ runCommand "git-ls-files" {envVariable = true;} ''
120 tmp=$(mktemp -d)
110 tmp=$(mktemp -d)
121 cd $tmp
111 cd $tmp
122− ${ lib.optionalString hasSubmodules ''
112+ ${ lib.optionalString (!isWorktree && builtins.pathExists gitModulesStr) ''
123− cp -ra ${gitSubmoduleFiles knownSubmoduleDirs}/. $tmp
113+ cp -ra ${gitSubmoduleFiles}/. $tmp
124 chmod +w -R $tmp
114 chmod +w -R $tmp
115+ rm -rf .git
125 ''}
116 ''}
126 cp -r ${gitDir} .git
117 cp -r ${gitDir} .git
127 chmod +w -R .git
118 chmod +w -R .git
@@ -132,37 +123,10 @@ then
132 ${ lib.optionalString (isWorktree && builtins.pathExists gitModulesStr) ''
123 ${ lib.optionalString (isWorktree && builtins.pathExists gitModulesStr) ''
133 cp ${gitModules} ./.gitmodules
124 cp ${gitModules} ./.gitmodules
134 ''}
125 ''}
135− mkdir $out
136− ${ lib.optionalString hasSubmodules ''
137− ${git}/bin/git submodule status --recursive | awk '{ print $2 }' > $out/submoduleDirs
138− ''}
139− ${git}/bin/git ls-files --recurse-submodules > $out/files
126+ ${git}/bin/git ls-files --recurse-submodules > $out
140 '';
127 '';
141
128
142− # Find the submodules
129+ whitelist = lines (readFile (whitelist_file.out));
143− whitelist_recursive = knownSubmoduleDirs:
144− let
145− # Get the new list of submoduleDirs and files
146− # (useing the submoduleDirs we already know about)
147− files = whitelist_files knownSubmoduleDirs;
148− new = {
149− submoduleDirs = lines (readFile (files + "/submoduleDirs"));
150− files = lines (readFile (files + "/files"));
151− };
152− in
153− # If we are not expecting submodules or if the new list does not
154− # contain any additional submodules we are done.
155− if !hasSubmodules || lib.all (x: elem x knownSubmoduleDirs) new.submoduleDirs
156− then new
157− else
158− # Look again using what we know now about the submodules
159− whitelist_recursive new.submoduleDirs;
160−
161− # Use empty as a starting point for looking for submodules.
162− # We could allow a list to be passed into cleanGit, but when testing
163− # on the `ghcjs` repo (one with a lot of submodules) it did not
164− # make much of a difference to the speed of `cleanGit`.
165− whitelist = whitelist_recursive [];
166
130
167 all_paren_dirs = p:
131 all_paren_dirs = p:
168 if p == "." || p == "/"
132 if p == "." || p == "/"
@@ -174,13 +138,13 @@ then
174 concatMap (p:
138 concatMap (p:
175 # Using `origSrcSubDir` (if present) makes it possible to cleanGit src that
139 # Using `origSrcSubDir` (if present) makes it possible to cleanGit src that
176 # has already been cleaned with cleanSrcWith.
140 # has already been cleaned with cleanSrcWith.
177− let full_path = toString (src.origSrcSubDir or src) + "/${p}"; in
141+ let full_path = src.origSrcSubDir or (toString src) + "/${p}"; in
178 map (p': { name = p'; value = true; }) (all_paren_dirs full_path)
142 map (p': { name = p'; value = true; }) (all_paren_dirs full_path)
179− ) whitelist.files
143+ ) whitelist
180 );
144 );
181
145
182 # Identify files in the `.git` dir
146 # Identify files in the `.git` dir
183− isGitDirPath = path:
147+ isGitDirPath = path:
184 path == origSrcSubDir + "/.git"
148 path == origSrcSubDir + "/.git"
185 || lib.hasPrefix (origSrcSubDir + "/.git/") path;
149 || lib.hasPrefix (origSrcSubDir + "/.git/") path;
186
150
@@ -191,9 +155,6 @@ then
191 cleanSourceWith {
155 cleanSourceWith {
192 caller = "cleanGit";
156 caller = "cleanGit";
193 inherit name src subDir includeSiblings filter;
157 inherit name src subDir includeSiblings filter;
194− } // {
195− # For testing
196− # inherit whitelist whitelist_set;
197 }
158 }
198
159
199else
160else
lib/clean-source-with.nix+8−35
@@ -50,33 +50,6 @@
50 # (and forward a `name` argument) can use this to make
50 # (and forward a `name` argument) can use this to make
51 # the message to the use more meaningful.
51 # the message to the use more meaningful.
52 #
52 #
53− # Nix <2.4 Suport with filterPath
54− #
55− # As of Nix >=2.4 filtering is now possible on all paths (including those in the store).
56− # If you still need to support older versions of Nix and want to maximise cache hits for your project
57− # you may want to consider using setting the `filterPath` attribute on `src` (must be done on
58− # the original src not the output of another `cleanSourceWith`).
59− #
60− # To disable filtering completely replace:
61− #
62− # src = ./.;
63− #
64− # with:
65− #
66− # src = { outPath = ./.; filterPath = { path, ... }: path; };
67− #
68− # To disable filtering only when the path is in the store use (when Nix <2.4 is unable to filter it):
69− #
70− # src = {
71− # outPath = ./.;
72− # filterPath = { path, ... }@args:
73− # if builtins.hasContext (toString path) then path else builtins.path args;
74− # };
75− #
76− # Currently `haskell-nix.hackage-project` (used by `hackage-package`, `tool` and `tools`) disables
77− # filtering. See `overlays/haskell.nix` for details.
78− #
79− # For more see https://github.com/input-output-hk/haskell.nix/pull/1418
80 cleanSourceWith = { filter ? _path: _type: true, src, subDir ? "", name ? null
53 cleanSourceWith = { filter ? _path: _type: true, src, subDir ? "", name ? null
81 , caller ? "cleanSourceWith", includeSiblings ? false }:
54 , caller ? "cleanSourceWith", includeSiblings ? false }:
82 let
55 let
@@ -130,21 +103,21 @@
130 __trace (
103 __trace (
131 "WARNING: `${caller}` called on ${toString src} without a `name`. "
104 "WARNING: `${caller}` called on ${toString src} without a `name`. "
132 + "Consider adding `name = \"${baseNameOf src}\";`") "source";
105 + "Consider adding `name = \"${baseNameOf src}\";`") "source";
133− filterPath = origSrc.filterPath or (
134− if builtins.compareVersions builtins.nixVersion "2.4" >= 0
135− then builtins.path
136− else __trace "WARNING: Using nix <2.4 will result in inconsistent filtering of ${toString origSrc} (see lib/clean-source-with.nix)"
137− (if builtins.hasContext or (lib.hasPrefix builtins.storeDir) (toString origSrc)
138− then { path, ... }: path
139− else builtins.path));
140 in {
106 in {
141 inherit origSrc origSubDir origSrcSubDir;
107 inherit origSrc origSubDir origSrcSubDir;
142 filter = filter';
108 filter = filter';
143− outPath = (filterPath { filter = filter'; path = origSrc; name = name'; }) + origSubDir;
109+ outPath = (builtins.path { filter = filter'; path = origSrc; name = name'; }) + origSubDir;
144 _isLibCleanSourceWithEx = true;
110 _isLibCleanSourceWithEx = true;
145 # It is only safe for older cleanSourceWith to filter this one
111 # It is only safe for older cleanSourceWith to filter this one
146 # if the we are still looking at the root of origSrc
112 # if the we are still looking at the root of origSrc
147 _isLibCleanSourceWith = origSubDir == "";
113 _isLibCleanSourceWith = origSubDir == "";
148 name = name';
114 name = name';
149 };
115 };
116+
117+ pathHasContext = builtins.hasContext or (lib.hasPrefix builtins.storeDir);
118+
119+ canCleanSource = src:
120+ src ? _isLibCleanSourceWithEx
121+ || src ? _isLibCleanSourceWith
122+ || !(pathHasContext (toString src));
150}
123}
lib/cover-project.nix+47−44
@@ -10,12 +10,19 @@ coverageReports:
10let
10let
11 toBashArray = arr: "(" + (lib.concatStringsSep " " arr) + ")";
11 toBashArray = arr: "(" + (lib.concatStringsSep " " arr) + ")";
12
12
13− # Create a list element for a project coverage index page.
13+ # Create table rows for a project coverage index page that look something like:
14+ #
15+ # | Package |
16+ # |------------------|
17+ # | cardano-shell |
18+ # | cardano-launcher |
14− coverageListElement = coverageReport:
19+ coverageTableRows = coverageReport:
15 ''
20 ''
16− <li>
21+ <tr>
22+ <td>
17− <a href="${coverageReport.passthru.name}/hpc_index.html">${coverageReport.passthru.name}</a>
23+ <a href="${coverageReport.passthru.name}/hpc_index.html">${coverageReport.passthru.name}</href>
18− </li>
24+ </td>
25+ </tr>
19 '';
26 '';
20
27
21 projectIndexHtml = pkgs.writeText "index.html" ''
28 projectIndexHtml = pkgs.writeText "index.html" ''
@@ -24,32 +31,23 @@ let
24 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
31 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
25 </head>
32 </head>
26 <body>
33 <body>
27− <div>
34+ <table border="1" width="100%">
28− WARNING: Modules with no coverage are not included in any of these reports, this is just how HPC works under the hood.
35+ <tbody>
29− </div>
36+ <tr>
30− <div>
37+ <th>Report</th>
31− <h2>Union Report</h2>
38+ </tr>
32− <p>The following report shows how each module is covered by any test in the project:</p>
39+
33− <ul>
34− <li>
35− <a href="all/hpc_index.html">all</a>
36− </li>
37− </ul>
38− </div>
39− <div>
40− <h2>Individual Reports</h2>
41− <p>The following reports show how the tests of each package cover modules in the project:</p>
42− <ul>
43− ${with lib; concatStringsSep "\n" (map coverageListElement coverageReports)}
40+ ${with lib; concatStringsSep "\n" (map coverageTableRows coverageReports)}
44− </ul>
41+
45− </div>
42+ </tbody>
43+ </table>
46 </body>
44 </body>
47 </html>
45 </html>
48 '';
46 '';
49
47
50 ghc = project.pkg-set.config.ghc.package;
48 ghc = project.pkg-set.config.ghc.package;
51
49
52− libs = lib.unique (lib.concatMap (r: r.mixLibraries) coverageReports);
50+ libs = lib.remove null (map (r: r.library) coverageReports);
53
51
54 mixDirs =
52 mixDirs =
55 map
53 map
@@ -58,17 +56,6 @@ let
58
56
59 srcDirs = map (l: l.srcSubDirPath) libs;
57 srcDirs = map (l: l.srcSubDirPath) libs;
60
58
61− allCoverageReport = haskellLib.coverageReport {
62− name = "all";
63− checks = lib.flatten (lib.concatMap
64− (pkg: lib.optional (pkg ? checks) (lib.filter lib.isDerivation (lib.attrValues pkg.checks)))
65− (lib.attrValues (haskellLib.selectProjectPackages project.hsPkgs)));
66− mixLibraries = lib.concatMap
67− (pkg: lib.optional (pkg.components ? library) pkg.components.library)
68− (lib.attrValues (haskellLib.selectProjectPackages project.hsPkgs));
69− ghc = project.pkg-set.config.ghc.package;
70− };
71−
72in pkgs.runCommand "project-coverage-report"
59in pkgs.runCommand "project-coverage-report"
73 ({ nativeBuildInputs = [ (ghc.buildGHC or ghc) pkgs.buildPackages.zip ];
60 ({ nativeBuildInputs = [ (ghc.buildGHC or ghc) pkgs.buildPackages.zip ];
74 LANG = "en_US.UTF-8";
61 LANG = "en_US.UTF-8";
@@ -137,14 +124,30 @@ in pkgs.runCommand "project-coverage-report"
137 cp -R $report/share/hpc/vanilla/html/* $out/share/hpc/vanilla/html/
124 cp -R $report/share/hpc/vanilla/html/* $out/share/hpc/vanilla/html/
138 '') coverageReports)}
125 '') coverageReports)}
139
126
127+ if [ ''${#tixFiles[@]} -ne 0 ]; then
128+ # Create tix file with test run information for all packages
129+ tixFile="$out/share/hpc/vanilla/tix/all/all.tix"
130+ hpcSumCmd=("hpc" "sum" "--union" "--output=$tixFile")
131+ hpcSumCmd+=("''${tixFiles[@]}")
132+ echo "''${hpcSumCmd[@]}"
133+ eval "''${hpcSumCmd[@]}"
134+
140− # Copy out "all" coverage report
135+ # Markup a HTML coverage report for the entire project
141− cp -R ${allCoverageReport}/share/hpc/vanilla/tix/all $out/share/hpc/vanilla/tix
136+ cp ${projectIndexHtml} $out/share/hpc/vanilla/html/index.html
137+ echo "report coverage-per-package $out/share/hpc/vanilla/html/index.html" >> $out/nix-support/hydra-build-products
138+
142− cp -R ${allCoverageReport}/share/hpc/vanilla/html/all $out/share/hpc/vanilla/html
139+ local markupOutDir="$out/share/hpc/vanilla/html/all"
140+ local srcDirs=${toBashArray srcDirs}
141+ local mixDirs=${toBashArray mixDirs}
142+ local allMixModules=()
143+
144+ mkdir $markupOutDir
145+ findModules allMixModules "$out/share/hpc/vanilla/mix/" "*.mix"
143
146
144− # Markup a HTML coverage summary report for the entire project
147+ markup srcDirs mixDirs allMixModules "$markupOutDir" "$tixFile"
145− cp ${projectIndexHtml} $out/share/hpc/vanilla/html/index.html
146
148
147− echo "report coverage $out/share/hpc/vanilla/html/index.html" >> $out/nix-support/hydra-build-products
149+ echo "report coverage $markupOutDir/hpc_index.html" >> $out/nix-support/hydra-build-products
148− ( cd $out/share/hpc/vanilla/html ; zip -r $out/share/hpc/vanilla/html.zip . )
150+ ( cd $out/share/hpc/vanilla/html ; zip -r $out/share/hpc/vanilla/html.zip . )
149− echo "file zip $out/share/hpc/vanilla/html.zip" >> $out/nix-support/hydra-build-products
151+ echo "file zip $out/share/hpc/vanilla/html.zip" >> $out/nix-support/hydra-build-products
152+ fi
150 ''
153 ''
lib/cover.nix+69−102
@@ -1,18 +1,18 @@
1−# The following collects coverage information from a set of given "checks" and
2−# provides a coverage report showing how those "checks" cover a set of given
3−# "mixLibraries".
4{ stdenv, lib, haskellLib, pkgs }:
1{ stdenv, lib, haskellLib, pkgs }:
5
2
6−# Name of the coverage report, which should be unique.
3+# Name of the coverage report, which should be unique
7{ name
4{ name
5+# Library to check coverage of
6+, library
8−# List of check derivations that generate coverage.
7+# List of check derivations that generate coverage
9−, checks ? []
8+, checks
10−# List of libraries to include in the coverage report. If one of the above
9+# List of other libraries to include in the coverage report. The
11−# checks generates coverage for a particular library, coverage will only
10+# default value if just the derivation provided as the `library`
12−# be included if that library is in this list.
11+# argument. Use a larger list of libraries if you would like the tests
12+# of one local package to generate coverage for another.
13−, mixLibraries ? []
13+, mixLibraries ? [library]
14−# Hack for project-less projects.
14+# hack for project-less projects
15−, ghc ? if mixLibraries == [] then null else (lib.head mixLibraries).project.pkg-set.config.ghc.package
15+, ghc ? library.project.pkg-set.config.ghc.package
16}:
16}:
17
17
18let
18let
@@ -26,7 +26,7 @@ let
26in pkgs.runCommand (name + "-coverage-report")
26in pkgs.runCommand (name + "-coverage-report")
27 ({nativeBuildInputs = [ (ghc.buildGHC or ghc) pkgs.buildPackages.zip ];
27 ({nativeBuildInputs = [ (ghc.buildGHC or ghc) pkgs.buildPackages.zip ];
28 passthru = {
28 passthru = {
29− inherit name checks mixLibraries;
29+ inherit name library checks;
30 };
30 };
31 # HPC will fail if the Haskell file contains non-ASCII characters,
31 # HPC will fail if the Haskell file contains non-ASCII characters,
32 # unless our locale is set correctly. This has been fixed, but we
32 # unless our locale is set correctly. This has been fixed, but we
@@ -70,105 +70,71 @@ in pkgs.runCommand (name + "-coverage-report")
70 local -n tixFs=$2
70 local -n tixFs=$2
71 local outFile="$3"
71 local outFile="$3"
72
72
73− if (( "''${#tixFs[@]}" > 0 )); then
74− local hpcSumCmd=("hpc" "sum" "--union" "--output=$outFile")
73+ local hpcSumCmd=("hpc" "sum" "--union" "--output=$outFile")
75
74
76− for module in "''${includedModules[@]}"; do
75+ for module in "''${includedModules[@]}"; do
77− hpcSumCmd+=("--include=$module")
76+ hpcSumCmd+=("--include=$module")
78− done
77+ done
79
78
80− for tixFile in "''${tixFs[@]}"; do
79+ for tixFile in "''${tixFs[@]}"; do
81− hpcSumCmd+=("$tixFile")
80+ hpcSumCmd+=("$tixFile")
82− done
81+ done
83
82
84− echo "''${hpcSumCmd[@]}"
83+ echo "''${hpcSumCmd[@]}"
85− eval "''${hpcSumCmd[@]}"
84+ eval "''${hpcSumCmd[@]}"
86− else
87− # If there are no tix files we output an empty tix file so that we can
88− # markup an empty HTML coverage report. This is preferable to failing to
89− # output a HTML report.
90− echo 'Tix []' > $outFile
91− fi
92 }
85 }
93
86
94 function findModules() {
87 function findModules() {
95− local -n result=$1
88+ local searchDir=$2
96− local -n searchDirs=$2
97 local pattern=$3
89 local pattern=$3
98
90
99− for dir in "''${searchDirs[@]}"; do
100− pushd $dir
91+ pushd $searchDir
101− local temp=()
102− mapfile -d $'\0' temp < <(find ./ -type f \
92+ mapfile -d $'\0' $1 < <(find ./ -type f \
103− -wholename "$pattern" -not -name "Paths*" \
93+ -wholename "$pattern" -not -name "Paths*" \
104− -exec basename {} \; \
94+ -exec basename {} \; \
105− | sed "s/\.mix$//" \
95+ | sed "s/\.mix$//" \
106− | tr "\n" "\0")
96+ | tr "\n" "\0")
107− result+=("''${temp[@]}")
108− popd
97+ popd
109− done
110 }
98 }
111
99
100+ local mixDirs=${toBashArray mixDirs}
101+
112 mkdir -p $out/nix-support
102 mkdir -p $out/nix-support
113− mkdir -p $out/share/hpc/vanilla/mix/
103+ mkdir -p $out/share/hpc/vanilla/mix/${name}
114 mkdir -p $out/share/hpc/vanilla/tix/${name}
104 mkdir -p $out/share/hpc/vanilla/tix/${name}
115 mkdir -p $out/share/hpc/vanilla/html/${name}
105 mkdir -p $out/share/hpc/vanilla/html/${name}
116
106
117− local srcDirs=${toBashArray srcDirs}
118− local mixDirs=${toBashArray mixDirs}
119−
120− # Copy out mix files used for this report
107+ # Copy over mix files verbatim
121 for dir in "''${mixDirs[@]}"; do
108 for dir in "''${mixDirs[@]}"; do
122 if [ -d "$dir" ]; then
109 if [ -d "$dir" ]; then
123− cp -R "$dir" $out/share/hpc/vanilla/mix/
110+ cp -R "$dir"/* $out/share/hpc/vanilla/mix/${name}
124 fi
111 fi
125 done
112 done
126
113
127− local mixModules=()
114+ local srcDirs=${toBashArray srcDirs}
128− # Mix modules for all packages in "mixLibraries"
115+ local allMixModules=()
129− findModules mixModules mixDirs "*.mix"
116+ local pkgMixModules=()
130−
117+
131− # We need to make a distinction between library "exposed-modules" and
118+ # The behaviour of stack coverage reports is to provide tix files
132− # "other-modules" used in test suites:
119+ # that include coverage information for every local package, but
133− # - "exposed-modules" are addressed as "$library-$version-$hash/module"
120+ # to provide HTML reports that only include coverage info for the
134− # - "other-modules" are addressed as "module"
121+ # current package. We emulate the same behaviour here. If the user
135− #
122+ # includes all local packages in the mix libraries argument, they
136− # This complicates the code required to find the mix modules. For a given mix directory:
123+ # will get a coverage report very similar to stack.
137− #
124+
138− # mix
125+ # All mix modules
139− # └── ntp-client-0.0.1
126+ findModules allMixModules "$out/share/hpc/vanilla/mix/${name}" "*.mix"
140− # └── ntp-client-0.0.1-gYjRsBHUCaHX7ENcjHnw5
127+ # Only mix modules corresponding to this package
141− # ├── Network.NTP.Client.mix
128+ findModules pkgMixModules "$out/share/hpc/vanilla/mix/${name}" "*${name}*/*.mix"
142− # ├── Network.NTP.Client.Packet.mix
129+
143− # └── Network.NTP.Client.Query.mix
130+ # For each test
144− #
145− # Iff ntp-client uses "other-modules" in a test suite, both:
146− # - "mix/ntp-client-0.0.1", and
147− # - "mix/ntp-client-0.0.1/ntp-client-0.0.1-gYjRsBHUCaHX7ENcjHnw5"
148− # need to be provided to hpc as search directories.
149− #
150− # I'd prefer to just exclude "other-modules", but I can't think of an easy
151− # way to do that in bash.
152− #
153− # Here we expand the search dirs and modify the mix dirs accordingly:
154− for dir in "''${mixDirs[@]}"; do
155− local otherModulesSearchDirs=()
156− # Simply consider any directory with a mix file as a search directory.
157− mapfile -d $'\0' otherModulesSearchDirs < <(find $dir -type f \
158− -wholename "*.mix" \
159− -exec dirname {} \; \
160− | uniq \
161− | tr "\n" "\0")
162− mixDirs+=("''${otherModulesSearchDirs[@]}")
163− done
164−
165 local tixFiles=()
131 local tixFiles=()
166 ${lib.concatStringsSep "\n" (builtins.map (check: ''
132 ${lib.concatStringsSep "\n" (builtins.map (check: ''
167 if [ -d "${check}/share/hpc/vanilla/tix" ]; then
133 if [ -d "${check}/share/hpc/vanilla/tix" ]; then
168 pushd ${check}/share/hpc/vanilla/tix
134 pushd ${check}/share/hpc/vanilla/tix
169
135
170 tixFile="$(find . -iwholename "*.tix" -type f -print -quit)"
136 tixFile="$(find . -iwholename "*.tix" -type f -print -quit)"
171− local newTixFile=$out/share/hpc/vanilla/tix/${check.name}/"$(basename $tixFile)"
137+ local newTixFile=$out/share/hpc/vanilla/tix/${name}/"$tixFile"
172
138
173 mkdir -p "$(dirname $newTixFile)"
139 mkdir -p "$(dirname $newTixFile)"
174 # Copy over the tix file verbatim
140 # Copy over the tix file verbatim
@@ -177,28 +143,29 @@ in pkgs.runCommand (name + "-coverage-report")
177 # Add the tix file to our list
143 # Add the tix file to our list
178 tixFiles+=("$newTixFile")
144 tixFiles+=("$newTixFile")
179
145
180− # Create a coverage report for *just that check* affecting any of the
146+ # Create a coverage report for *just that test*
181− # "mixLibraries"
182− markup srcDirs mixDirs mixModules "$out/share/hpc/vanilla/html/${check.name}/" "$newTixFile"
147+ markup srcDirs mixDirs pkgMixModules "$out/share/hpc/vanilla/html/${name}/${check.exeName}/" "$newTixFile"
183
148
184 popd
149 popd
185 fi
150 fi
186 '') checks)
151 '') checks)
187 }
152 }
188
153
189− # Sum tix files to create a tix file with tix information from all tests in
154+ # Sum tix files to create a tix file with all relevant tix
190− # the package and markup a HTML report from this info.
155+ # information and markup a HTML report from this info.
156+ if (( "''${#tixFiles[@]}" > 0 )); then
191− local sumTixFile="$out/share/hpc/vanilla/tix/${name}/${name}.tix"
157+ local sumTixFile="$out/share/hpc/vanilla/tix/${name}/${name}.tix"
192− local markupOutDir="$out/share/hpc/vanilla/html/${name}"
158+ local markupOutDir="$out/share/hpc/vanilla/html/${name}"
193
159
194− # Sum all of our tix files
160+ # Sum all of our tix file, including modules from any local package
195− sumTix mixModules tixFiles "$sumTixFile"
161+ sumTix allMixModules tixFiles "$sumTixFile"
196
162
197− # Markup a HTML report
163+ # Markup a HTML report, included modules from only this package
198− markup srcDirs mixDirs mixModules "$markupOutDir" "$sumTixFile"
164+ markup srcDirs mixDirs pkgMixModules "$markupOutDir" "$sumTixFile"
199
165
200− # Provide a HTML zipfile and Hydra links
166+ # Provide a HTML zipfile and Hydra links
201− ( cd "$markupOutDir" ; zip -r $out/share/hpc/vanilla/${name}-html.zip . )
167+ ( cd "$markupOutDir" ; zip -r $out/share/hpc/vanilla/${name}-html.zip . )
202− echo "report coverage $markupOutDir/hpc_index.html" >> $out/nix-support/hydra-build-products
168+ echo "report coverage $markupOutDir/hpc_index.html" >> $out/nix-support/hydra-build-products
203− echo "file zip $out/share/hpc/vanilla/${name}-html.zip" >> $out/nix-support/hydra-build-products
169+ echo "file zip $out/share/hpc/vanilla/${name}-html.zip" >> $out/nix-support/hydra-build-products
170+ fi
204 ''
171 ''
lib/default.nix+50−60
@@ -4,8 +4,11 @@
4with haskellLib;
4with haskellLib;
5
5
6let
6let
7− # Why `final.buildPackages.buildPackages.gitMinimal`?
7+ # Why `final.evalPackages.buildPackages.gitMinimal`?
8− # Why not just final.buildPackages.gitMinimal?
8+ # Why not just final.evalPackages.gitMinimal?
9+ #
10+ # A problem arises when `evalPackages` is `buildPackages`.i
11+ # As may be the case in a flake.
9 #
12 #
10 # It turns out `git` depends on `gdb` in a round about way:
13 # It turns out `git` depends on `gdb` in a round about way:
11 # git -> openssh -> libfido2 -> systemd -> python libxml -> Cython -> gdb
14 # git -> openssh -> libfido2 -> systemd -> python libxml -> Cython -> gdb
@@ -21,7 +24,7 @@ let
21 # * When `gdb` does not exist for `js`, so when cross
24 # * When `gdb` does not exist for `js`, so when cross
22 # compiling with ghcjs `final.buildPackages.git` fails
25 # compiling with ghcjs `final.buildPackages.git` fails
23 # to build at all.
26 # to build at all.
24− inherit (pkgs.buildPackages.buildPackages) gitMinimal;
27+ inherit (pkgs.evalPackages.buildPackages) gitMinimal;
25
28
26in {
29in {
27 # Within the package components, these are the attribute names of
30 # Within the package components, these are the attribute names of
@@ -70,12 +73,8 @@ in {
70 comps = config.components;
73 comps = config.components;
71 applyLibrary = cname: f { cname = config.package.identifier.name; ctype = "lib"; };
74 applyLibrary = cname: f { cname = config.package.identifier.name; ctype = "lib"; };
72 applySubComp = ctype: cname: f { inherit cname; ctype = componentPrefix.${ctype} or (throw "Missing component mapping for ${ctype}."); };
75 applySubComp = ctype: cname: f { inherit cname; ctype = componentPrefix.${ctype} or (throw "Missing component mapping for ${ctype}."); };
73− isBuildable = comp:
74− config.package.buildable # Set manually in a module (allows whole packages to be disabled)
75− && comp.buildable # Set based on `buildable` in `.cabal` files
76− && comp.planned; # Set if the component was in the `plan.json`
77− buildableAttrs = lib.filterAttrs (n: isBuildable);
76+ buildableAttrs = lib.filterAttrs (n: comp: comp.buildable or true);
78− libComp = if comps.library == null || !(isBuildable comps.library)
77+ libComp = if comps.library == null || !(comps.library.buildable or true)
79 then {}
78 then {}
80 else lib.mapAttrs applyLibrary (removeAttrs comps (subComponentTypes ++ [ "setup" ]));
79 else lib.mapAttrs applyLibrary (removeAttrs comps (subComponentTypes ++ [ "setup" ]));
81 subComps = lib.mapAttrs
80 subComps = lib.mapAttrs
@@ -133,7 +132,14 @@ in {
133 ## flatLibDepends :: Component -> [Package]
132 ## flatLibDepends :: Component -> [Package]
134 flatLibDepends = component:
133 flatLibDepends = component:
135 let
134 let
135+ # this is a minor improvement over the "cannot coerce set to string"
136+ # error. It will now say:
137+ #
138+ # > The option `packages.Win32.package.identifier.name' is used but not defined.
139+ #
140+ # which indicates that the package.Win32 is missing and not defined.
141+ getKey = x: if x ? "outPath" then "${x}" else (throw x.identifier.name);
136− makePairs = map (p: rec { key=val.name; val=(p.components.library or p); });
142+ makePairs = map (p: rec { key=getKey val; val=(p.components.library or p); });
137 closure = builtins.genericClosure {
143 closure = builtins.genericClosure {
138 startSet = makePairs component.depends;
144 startSet = makePairs component.depends;
139 operator = {val,...}: makePairs val.config.depends;
145 operator = {val,...}: makePairs val.config.depends;
@@ -189,17 +195,17 @@ in {
189 collectChecks' = collectChecks (_: true);
195 collectChecks' = collectChecks (_: true);
190
196
191 # Replacement for lib.cleanSourceWith that has a subDir argument.
197 # Replacement for lib.cleanSourceWith that has a subDir argument.
192− inherit (import ./clean-source-with.nix { inherit lib; }) cleanSourceWith;
198+ inherit (import ./clean-source-with.nix { inherit lib; }) cleanSourceWith canCleanSource;
193
199
194 # Use cleanSourceWith to filter just the files needed for a particular
200 # Use cleanSourceWith to filter just the files needed for a particular
195 # component of a package
201 # component of a package
196− cleanCabalComponent = import ./clean-cabal-component.nix { inherit lib cleanSourceWith; };
202+ cleanCabalComponent = import ./clean-cabal-component.nix { inherit lib cleanSourceWith canCleanSource; };
197
203
198 # Clean git directory based on `git ls-files --recurse-submodules`
204 # Clean git directory based on `git ls-files --recurse-submodules`
199 cleanGit = import ./clean-git.nix {
205 cleanGit = import ./clean-git.nix {
200 inherit lib cleanSourceWith;
206 inherit lib cleanSourceWith;
201 git = gitMinimal;
207 git = gitMinimal;
202− inherit (pkgs.buildPackages.buildPackages) runCommand;
208+ inherit (pkgs.evalPackages) runCommand;
203 };
209 };
204
210
205 # Some times it is handy to temporarily use a relative path between git
211 # Some times it is handy to temporarily use a relative path between git
@@ -229,7 +235,7 @@ in {
229
235
230 # Check a test component
236 # Check a test component
231 check = import ./check.nix {
237 check = import ./check.nix {
232− inherit stdenv lib haskellLib;
238+ inherit stdenv lib haskellLib srcOnly;
233 };
239 };
234
240
235 # Do coverage of a package
241 # Do coverage of a package
@@ -248,33 +254,31 @@ in {
248 # In most cases we do not want to treat musl as a cross compiler.
254 # In most cases we do not want to treat musl as a cross compiler.
249 # For instance when building ghc we want to include ghci.
255 # For instance when building ghc we want to include ghci.
250 isCrossHost = stdenv.hostPlatform != stdenv.buildPlatform
256 isCrossHost = stdenv.hostPlatform != stdenv.buildPlatform
251− && !(stdenv.buildPlatform.isLinux && stdenv.hostPlatform.isMusl && stdenv.buildPlatform.linuxArch == stdenv.hostPlatform.linuxArch);
257+ && !(stdenv.buildPlatform.isLinux && stdenv.hostPlatform.isMusl && stdenv.buildPlatform.isx86 && stdenv.hostPlatform.isx86);
252 # This is the same as isCrossHost but for use when building ghc itself
258 # This is the same as isCrossHost but for use when building ghc itself
253 isCrossTarget = stdenv.targetPlatform != stdenv.hostPlatform
259 isCrossTarget = stdenv.targetPlatform != stdenv.hostPlatform
254− && !(stdenv.hostPlatform.isLinux && stdenv.targetPlatform.isMusl && stdenv.hostPlatform.linuxArch == stdenv.targetPlatform.linuxArch);
260+ && !(stdenv.hostPlatform.isLinux && stdenv.targetPlatform.isMusl && stdenv.hostPlatform.isx86 && stdenv.targetPlatform.isx86);
255 # Native musl build-host-target combo
261 # Native musl build-host-target combo
256 isNativeMusl = stdenv.hostPlatform.isMusl
262 isNativeMusl = stdenv.hostPlatform.isMusl
257 && stdenv.buildPlatform == stdenv.hostPlatform
263 && stdenv.buildPlatform == stdenv.hostPlatform
258 && stdenv.hostPlatform == stdenv.targetPlatform;
264 && stdenv.hostPlatform == stdenv.targetPlatform;
259
265
260− # Takes a version number, module or list of modules (for cabalProject)
266+ # Takes a version number or attr set of arguments (for cabalProject)
261− # and converts it to an list of project modules. This allows
267+ # and converts it to an attr set of arguments. This allows
262 # the use of "1.0.0.0" or { version = "1.0.0.0"; ... }
268 # the use of "1.0.0.0" or { version = "1.0.0.0"; ... }
263− versionOrModToMods = versionOrMod:
269+ versionOrArgsToArgs = versionOrArgs:
264− if lib.isString versionOrMod
270+ if lib.isAttrs versionOrArgs
265− then [{ version = versionOrMod; }]
271+ then versionOrArgs
266− else if lib.isList versionOrMod
272+ else { version = versionOrArgs; };
267− then versionOrMod
268− else [versionOrMod];
269
273
270 # Find the resolver in the stack.yaml file and fetch it if a sha256 value is provided
274 # Find the resolver in the stack.yaml file and fetch it if a sha256 value is provided
271 fetchResolver = import ./fetch-resolver.nix {
275 fetchResolver = import ./fetch-resolver.nix {
272− inherit (pkgs.buildPackages) pkgs;
276+ inherit (pkgs.evalPackages) pkgs;
273 };
277 };
274
278
275 inherit (import ./cabal-project-parser.nix {
279 inherit (import ./cabal-project-parser.nix {
276 inherit pkgs;
280 inherit pkgs;
277− }) parseIndexState parseSourceRepositoryPackages parseRepositories parseSourceRepositoryPackageBlock parseRepositoryBlock;
281+ }) parseIndexState parseBlock;
278
282
279
283
280 cabalToNixpkgsLicense = import ./spdx/cabal.nix pkgs;
284 cabalToNixpkgsLicense = import ./spdx/cabal.nix pkgs;
@@ -289,9 +293,26 @@ in {
289 if subDir == ""
293 if subDir == ""
290 then src
294 then src
291 else
295 else
296+ if haskellLib.canCleanSource src
292− haskellLib.cleanSourceWith {
297+ then haskellLib.cleanSourceWith {
293− inherit src subDir includeSiblings;
298+ inherit src subDir includeSiblings;
299+ }
300+ else let name = src.name or "source" + "-" + __replaceStrings ["/"] ["-"] subDir;
301+ in if includeSiblings
302+ then rec {
303+ # Keep `src.origSrc` so it can be used to allow references
304+ # to other parts of that root.
305+ inherit name;
306+ origSrc = src.origSrc or src;
307+ origSubDir = src.origSubDir or "" + "/" + subDir;
308+ outPath = origSrc + origSubDir;
309+ }
310+ else {
311+ # We are not going to need other parts of `origSrc` if there
312+ # was one and we can ignore it
313+ inherit name;
314+ outPath = src + "/" + subDir;
294− };
315+ };
295
316
296 # Givin a `src` split it into a `root` path (based on `src.origSrc` if
317 # Givin a `src` split it into a `root` path (based on `src.origSrc` if
297 # present) and `subDir` (based on `src.origSubDir). The
318 # present) and `subDir` (based on `src.origSubDir). The
@@ -312,35 +333,4 @@ in {
312 }
333 }
313 else src.origSrc or src; # If there is a subDir and origSrc (but no filter) use origSrc
334 else src.origSrc or src; # If there is a subDir and origSrc (but no filter) use origSrc
314 };
335 };
315−
316− # Run evalModules passing the project function argument (m) as a module along with
317− # the the a projectType module (../modules/cabal-project.nix or ../modules/stack-project.nix).
318− # The resulting config is then passed to the project function's implementation.
319− evalProjectModule = projectType: m: f:
320− let project = f
321− (lib.evalModules {
322− modules = (if builtins.isList m then m else [m]) ++ [
323− # Include ../modules/cabal-project.nix or ../modules/stack-project.nix
324− (import ../modules/project-common.nix)
325− (import projectType)
326− # Pass the pkgs and the buildProject to the modules
327− ({ config, lib, ... }: {
328− _module.args = {
329− inherit pkgs;
330− # to make it easy to depends on build packages in, eg., shell definition:
331− inherit (project) buildProject;
332− };
333− inherit (project) hsPkgs;
334− })
335− ];
336− }).config;
337− in project;
338−
339− # Converts from a `compoent.depends` value to a library derivation.
340− # In the case of sublibs the `depends` value should already be the derivation.
341− dependToLib = d: d.components.library or d;
342−
343− projectOverlays = import ./project-overlays.nix {
344− inherit lib haskellLib;
345− };
346}
336}
lib/fetch-resolver.nix+2−6
@@ -5,12 +5,10 @@
5, resolverSha256 ? null
5, resolverSha256 ? null
6}:
6}:
7let
7let
8− srcDir = src.origSrcSubDir or src;
9−
10 # Using origSrcSubDir bypasses any cleanSourceWith so that it will work when
8 # Using origSrcSubDir bypasses any cleanSourceWith so that it will work when
11 # access to the store is restricted. If origSrc was already in the store
9 # access to the store is restricted. If origSrc was already in the store
12 # you can pass the project in as a string.
10 # you can pass the project in as a string.
13− rawStackYaml = builtins.readFile (srcDir + "/${stackYaml}");
11+ rawStackYaml = builtins.readFile ((src.origSrcSubDir or src) + ("/" + stackYaml));
14
12
15 # Determine the resolver as it may point to another file we need
13 # Determine the resolver as it may point to another file we need
16 # to look at.
14 # to look at.
@@ -30,8 +28,6 @@ let
30 url = resolver;
28 url = resolver;
31 sha256 = resolverSha256;
29 sha256 = resolverSha256;
32 }
30 }
33− else if resolver != null && __pathExists (srcDir + "/${resolver}")
34− then pkgs.copyPathToStore (srcDir + "/${resolver}")
35− else null;
31+ else null;
36
32
37in { inherit resolver fetchedResolver; }
33in { inherit resolver fetchedResolver; }
lib/ghcjs-project.nix+17−68
@@ -23,7 +23,7 @@
23{ src
23{ src
24, compiler-nix-name
24, compiler-nix-name
25, ghc ? pkgs.buildPackages.haskell-nix.compiler.${compiler-nix-name}
25, ghc ? pkgs.buildPackages.haskell-nix.compiler.${compiler-nix-name}
26−, ghcjsVersion # Version in the ghcjs.cabal file (that we will replace)
26+, ghcjsVersion
27, ghcVersion ? ghc.version
27, ghcVersion ? ghc.version
28, happy ? pkgs.haskell-nix.tool compiler-nix-name "happy" {
28, happy ? pkgs.haskell-nix.tool compiler-nix-name "happy" {
29 index-state = pkgs.haskell-nix.internalHackageIndexState;
29 index-state = pkgs.haskell-nix.internalHackageIndexState;
@@ -35,14 +35,7 @@
35 version = "3.2.5";
35 version = "3.2.5";
36 materialized = ../materialized/ghcjs/alex + "/${compiler-nix-name}";
36 materialized = ../materialized/ghcjs/alex + "/${compiler-nix-name}";
37 }
37 }
38−, cabal-install ?
39− if (builtins.compareVersions ghcjsVersion "8.10.0.0" >= 0)
40− then pkgs.haskell-nix.tool compiler-nix-name "cabal" {
41− index-state = pkgs.haskell-nix.internalHackageIndexState;
42− version = "3.6.2.0";
43− materialized = ../materialized/ghcjs/cabal + "/${compiler-nix-name}";
44− }
45− else pkgs.haskell-nix.tool compiler-nix-name "cabal" {
38+, cabal-install ? pkgs.haskell-nix.tool compiler-nix-name "cabal" {
46 index-state = pkgs.haskell-nix.internalHackageIndexState;
39 index-state = pkgs.haskell-nix.internalHackageIndexState;
47 version = "3.2.0.0";
40 version = "3.2.0.0";
48 # Cabal 3.2.1.0 no longer supports he mix of `cabal-version`,
41 # Cabal 3.2.1.0 no longer supports he mix of `cabal-version`,
@@ -52,13 +45,10 @@
52 '';
45 '';
53 materialized = ../materialized/ghcjs/cabal + "/${compiler-nix-name}";
46 materialized = ../materialized/ghcjs/cabal + "/${compiler-nix-name}";
54 }
47 }
55−, overrideBootPackages ? []
56−, patches ? []
57, ...
48, ...
58}@args:
49}@args:
59let
50let
60− isGhcjs88 = builtins.compareVersions ghcjsVersion "8.8.0.0" >= 0;
51+ isGhcjs88 = builtins.compareVersions ghcjsVersion "8.8.0.0" > 0;
61− isGhcjs810 = builtins.compareVersions ghcjsVersion "8.10.0.0" >= 0;
62
52
63 # Inputs needed to configure the GHCJS source tree
53 # Inputs needed to configure the GHCJS source tree
64 configureInputs = with pkgs; [
54 configureInputs = with pkgs; [
@@ -77,11 +67,7 @@ let
77
67
78 # Inputs needed to boot the GHCJS compiler
68 # Inputs needed to boot the GHCJS compiler
79 bootInputs = with pkgs.buildPackages; [
69 bootInputs = with pkgs.buildPackages; [
80− # We used to pin nodejs to the 12 series, as strings can only be half the length in node 14+
81− # see https://github.com/nodejs/node/issues/33960
82− # Large TH splices are likely broken.
83− # TODO reinstate the pin of find a work around for ghcjs to send TH splice in chunks.
84− nodejs-18_x
70+ nodejs
85 makeWrapper
71 makeWrapper
86 xorg.lndir
72 xorg.lndir
87 gmp
73 gmp
@@ -89,9 +75,9 @@ let
89 ]
75 ]
90 ++ [ ghc cabal-install emsdk ];
76 ++ [ ghc cabal-install emsdk ];
91 # Configured the GHCJS source
77 # Configured the GHCJS source
92− configured-src = (pkgs.runCommandCC "configured-ghcjs-src" {
78+ configured-src = pkgs.runCommand "configured-ghcjs-src" {
93 buildInputs = configureInputs;
79 buildInputs = configureInputs;
94− inherit src patches;
80+ inherit src;
95 } ''
81 } ''
96 export HOME=$(pwd)
82 export HOME=$(pwd)
97 mkdir $HOME/.cabal
83 mkdir $HOME/.cabal
@@ -100,11 +86,6 @@ let
100 chmod -R +w "$out"
86 chmod -R +w "$out"
101 cd "$out"
87 cd "$out"
102
88
103− for p in $patches
104− do
105− patch -p1 <$p
106− done
107−
108 # TODO: Find a better way to avoid impure version numbers
89 # TODO: Find a better way to avoid impure version numbers
109 sed -i 's/RELEASE=NO/RELEASE=YES/' ghc/configure.ac
90 sed -i 's/RELEASE=NO/RELEASE=YES/' ghc/configure.ac
110 sed -i 's/${ghcjsVersion}/${ghcVersion}/' ghcjs.cabal
91 sed -i 's/${ghcjsVersion}/${ghcVersion}/' ghcjs.cabal
@@ -122,58 +103,26 @@ let
122 rm -rf utils/pkg-cache/ghc
103 rm -rf utils/pkg-cache/ghc
123 cp -r ${ghc.generated} utils/pkg-cache/ghc
104 cp -r ${ghc.generated} utils/pkg-cache/ghc
124
105
125− for a in integer-gmp base unix; do
106+ cp ${../overlays/patches/config.sub} ghc/libraries/integer-gmp/config.sub
126− cp ${../overlays/patches/config.sub} ghc/libraries/$a/config.sub
107+ cp ${../overlays/patches/config.sub} ghc/libraries/base/config.sub
127− cp ${../overlays/patches/config.guess} ghc/libraries/$a/config.guess
108+ cp ${../overlays/patches/config.sub} ghc/libraries/unix/config.sub
128− chmod +w ghc/libraries/$a/config.*
129− done
130−
131− sed -i 's/_AC_PROG_CC_C99/AC_PROG_CC_C99/' ghc/aclocal.m4
132
109
133 patchShebangs .
110 patchShebangs .
134 sed -i 's/gcc /cc /g' utils/makePackages.sh
111 sed -i 's/gcc /cc /g' utils/makePackages.sh
135 ./utils/makePackages.sh copy
112 ./utils/makePackages.sh copy
136
113
137− for a in integer-gmp base unix; do
138− cp ${../overlays/patches/config.sub} lib/boot/pkg/$a/config.sub
139− done
140− ${ # it just so happens that all existing uses of overriding boot packages
141− # need to be installed right after template-haskell
142− # if at some point we would need to insert them at different points
143− # then we will have gto come up with something more clever
144− builtins.concatStringsSep "\n" (map ({name, src}: ''
145− rm -rf $out/lib/boot/pkg/${name}
146− cp -r ${src} $out/lib/boot/pkg/${name}
147− sed -i 's/^ - ${name}$//g' $out/lib/boot/boot.yaml
148− sed -i 's/^ - template-haskell$/ - template-haskell\n - ${name}/g' $out/lib/boot/boot.yaml
149− echo "Added ${name} to boot.yaml"
150− ''
151− ) (pkgs.lib.reverseList overrideBootPackages))
152− }
153−
154− chmod -R +w $out/lib/boot/pkg
155− '') // {
156− # The configured source includes /nix/store paths and so filtering can fail.
157− filterPath = { path, ... }: path;
158− };
114+ '';
159 # see https://github.com/ghcjs/ghcjs/issues/751 for the happy upper bound.
115 # see https://github.com/ghcjs/ghcjs/issues/751 for the happy upper bound.
160
116
161 ghcjsProject = pkgs.haskell-nix.cabalProject' (
117 ghcjsProject = pkgs.haskell-nix.cabalProject' (
162− (pkgs.lib.filterAttrs
118+ (pkgs.lib.filterAttrs
163 (n: _: !(builtins.any (x: x == n)
119 (n: _: !(builtins.any (x: x == n)
164− [ "src" "ghcjsVersion" "ghcVersion" "happy" "alex" "cabal-install"
120+ ["src" "ghcjsVersion" "ghcVersion" "happy" "alex" "cabal-install"])) args) // {
165− "overrideBootPackages" "patches"])) args) // {
166 src = configured-src;
121 src = configured-src;
167− index-state = "2021-03-20T00:00:00Z";
122+ index-state = "2020-11-16T00:00:00Z";
168− inherit compiler-nix-name;
123+ compiler-nix-name = if isGhcjs88 then "ghc884" else "ghc865";
169− configureArgs = pkgs.lib.optionalString (isGhcjs88 && !isGhcjs810) "--constraint='Cabal >=3.0.2.0 && <3.1'";
124+ configureArgs = pkgs.lib.optionalString isGhcjs88 "--constraint='Cabal >=3.0.2.0 && <3.1'";
170− # If a package is in both build-depends and build-tool-depends multiple versions may
171− # be in the `plan.json` file. Haskell.nix will pick the newer one, but when nbuilding
172− # ghcjs 8.6 we need to use the older happy version.
173− pkg-def-extras = pkgs.lib.optional (!isGhcjs88) (hackage: {
174− packages.happy.revision = hackage.happy."1.19.9".revisions.default;
175− });
176− materialized = ../materialized + "/ghcjs/${compiler-nix-name}";
125+ materialized = ../materialized + (if isGhcjs88 then "/ghcjs884" else "/ghcjs865");
177 modules = [
126 modules = [
178 {
127 {
179 # we need ghc-boot in here for ghcjs.
128 # we need ghc-boot in here for ghcjs.
@@ -186,7 +135,6 @@ let
186 packages.Cabal.patches = [ ./../overlays/patches/Cabal/fix-data-dir.patch ];
135 packages.Cabal.patches = [ ./../overlays/patches/Cabal/fix-data-dir.patch ];
187 })
136 })
188 {
137 {
189− ghcOptions = ["-O2"];
190 packages.ghcjs.doHaddock = false;
138 packages.ghcjs.doHaddock = false;
191 packages.haddock-ghcjs.doHaddock = false;
139 packages.haddock-ghcjs.doHaddock = false;
192 packages.haddock-api-ghcjs.doHaddock = false;
140 packages.haddock-api-ghcjs.doHaddock = false;
@@ -216,3 +164,4 @@ in ghcjsProject // {
216 };
164 };
217 inherit configureInputs bootInputs configured-src emscriptenupstream emscripten emsdk;
165 inherit configureInputs bootInputs configured-src emscriptenupstream emscripten emsdk;
218}
166}
167+
lib/import-and-filter-project.nix+21−15
@@ -6,11 +6,14 @@
6let
6let
7 # Full source including possible relative paths form the
7 # Full source including possible relative paths form the
8 # project directory.
8 # project directory.
9+ srcRoot =
10+ if haskellLib.canCleanSource src
9− srcRoot = haskellLib.cleanSourceWith {
11+ then haskellLib.cleanSourceWith {
10− name = if src ? name then "${src.name}-root" else "source-root";
12+ name = if src ? name then "${src.name}-root" else "source-root";
11− src = src.origSrc or src;
13+ src = src.origSrc or src;
12− filter = src.filter or (_: _: true);
14+ filter = src.filter or (_: _: true);
13− };
15+ }
16+ else src.origSrc or src;
14 # The sub directory containing the cabal.project or stack.yaml file
17 # The sub directory containing the cabal.project or stack.yaml file
15 projectSubDir' = src.origSubDir or ""; # With leading /
18 projectSubDir' = src.origSubDir or ""; # With leading /
16 projectSubDir = pkgs.lib.strings.removePrefix "/" projectSubDir'; # Without /
19 projectSubDir = pkgs.lib.strings.removePrefix "/" projectSubDir'; # Without /
@@ -24,28 +27,31 @@ in project // {
24 else {...}@args: with pkgs.lib.strings;
27 else {...}@args: with pkgs.lib.strings;
25 let
28 let
26 oldPkg = import value args;
29 oldPkg = import value args;
30+ # When the package src is in the project dir, this is the subDir it is in.
31+ subDir = removePrefix "/" (removePrefix (toString projectNix)
32+ (toString oldPkg.src.content));
33+ srcRepoPrefix = projectSubDir'' + ".source-repository-packages/";
34+
27 packageInfo =
35 packageInfo =
28− if oldPkg.src ? url
36+ if !hasPrefix (toString projectNix) (toString oldPkg.src.content)
29 then {
37 then {
30− # The source is from a source-repository-package in a cabal.project file
38+ # Source location does not match project prefix
31− # and lib/call-cabal-project-to-nix.nix should have replaced the url with
32− # an index into the sourceRepos list.
33 isProject = false;
39 isProject = false;
34− packageSrc = pkgs.lib.lists.elemAt sourceRepos (toInt oldPkg.src.url);
40+ packageSrc = toString oldPkg.src.content;
35 }
41 }
36− else if !hasPrefix "${projectNix}" (toString oldPkg.src.content)
42+ else if hasPrefix srcRepoPrefix subDir
37 then {
43 then {
38− # Source location does not match project prefix
44+ # The source is from a source repository
39 isProject = false;
45 isProject = false;
40− packageSrc = toString oldPkg.src.content;
46+ packageSrc = pkgs.lib.lists.elemAt sourceRepos (
47+ toInt (removePrefix srcRepoPrefix subDir));
41 }
48 }
42 else {
49 else {
43 # Source does match project prefix and it is not from a source repository
50 # Source does match project prefix and it is not from a source repository
44 isProject = true;
51 isProject = true;
45 packageSrc = haskellLib.appendSubDir {
52 packageSrc = haskellLib.appendSubDir {
46 src = srcRoot;
53 src = srcRoot;
47− subDir = removePrefix "/" (removePrefix "${projectNix}"
54+ inherit subDir;
48− (toString oldPkg.src.content));
49 includeSiblings = true; # Filtering sibling dirs of the package dir is done in the
55 includeSiblings = true; # Filtering sibling dirs of the package dir is done in the
50 # component builder so that relative paths can be used to
56 # component builder so that relative paths can be used to
51 # reference project directories not in the package subDir.
57 # reference project directories not in the package subDir.
lib/materialize.nix+10−12
@@ -24,7 +24,7 @@
24}: derivation:
24}: derivation:
25
25
26let
26let
27− name = derivation.name + pkgs.lib.optionalString (derivation ? version) "-${derivation.version}";
27+ inherit (derivation) name;
28
28
29 traceIgnoringSha256 = reason: x:
29 traceIgnoringSha256 = reason: x:
30 if sha256 != null
30 if sha256 != null
@@ -36,15 +36,10 @@ let
36 then builtins.trace ("Warning: ignoring materialized for " + name + " " + reason) x
36 then builtins.trace ("Warning: ignoring materialized for " + name + " " + reason) x
37 else x;
37 else x;
38
38
39− traceWhenChecking = message: x:
40− if checkMaterialization
41− then builtins.trace message x
42− else x;
43−
44 unchecked =
39 unchecked =
45 let
40 let
46− sha256message = "${name}: To make ${this} a fixed-output derivation but not materialized, set `${sha256Arg}` to the output of the 'calculateMaterializedSha' script in 'passthru'.";
41+ sha256message = "To make ${this} a fixed-output derivation but not materialized, set `${sha256Arg}` to the output of the 'calculateMaterializedSha' script in 'passthru'.";
47− materializeMessage = "${name}: To materialize ${this} entirely, pass a writable path as the `materialized` argument and run the 'updateMaterialized' script in 'passthru'.";
42+ materializeMessage = "To materialize ${this} entirely, pass a writable path as the `materialized` argument and run the 'updateMaterialized' script in 'passthru'.";
48 in if reasonNotSafe != null
43 in if reasonNotSafe != null
49 then
44 then
50 # Warn the user if they tried to pin stuff down when it is not safe
45 # Warn the user if they tried to pin stuff down when it is not safe
@@ -55,10 +50,10 @@ let
55 else if sha256 != null
50 else if sha256 != null
56 then
51 then
57 # Let the user know how to materialize if they want to.
52 # Let the user know how to materialize if they want to.
58− traceWhenChecking materializeMessage calculateUseHash
53+ builtins.trace materializeMessage calculateUseHash
59 else # materialized == null && sha256 == null
54 else # materialized == null && sha256 == null
60 # Let the user know how to calculate a sha256 or materialize if they want to.
55 # Let the user know how to calculate a sha256 or materialize if they want to.
61− traceWhenChecking sha256message (traceWhenChecking materializeMessage calculateNoHash);
56+ builtins.trace sha256message (builtins.trace materializeMessage calculateNoHash);
62
57
63 # Build fully and check the hash and materialized versions
58 # Build fully and check the hash and materialized versions
64 checked =
59 checked =
@@ -128,7 +123,11 @@ let
128 calculateUseMaterialized =
123 calculateUseMaterialized =
129 assert materialized != null;
124 assert materialized != null;
130 assert __pathExists materialized;
125 assert __pathExists materialized;
126+ runCommand name (pkgs.lib.optionalAttrs (sha256 == null) hashArgs) ''
131− { outPath = materialized; inherit name; };
127+ cp -Lr ${materialized} $out
128+ # Make sure output files can be removed from the sandbox
129+ chmod -R +w $out
130+ '';
132 calculateMaterializedSha =
131 calculateMaterializedSha =
133 writeShellScript "calculateSha" ''${nix}/bin/nix-hash --base32 --type sha256 ${calculateNoHash}'';
132 writeShellScript "calculateSha" ''${nix}/bin/nix-hash --base32 --type sha256 ${calculateNoHash}'';
134
133
@@ -144,7 +143,6 @@ let
144 fi
143 fi
145
144
146 # Generate the files
145 # Generate the files
147− mkdir -p $TARGET
148 rm -rf $TARGET
146 rm -rf $TARGET
149 cp -r ${calculateNoHash} "$TARGET"
147 cp -r ${calculateNoHash} "$TARGET"
150 chmod -R +w "$TARGET"
148 chmod -R +w "$TARGET"
lib/pkgconf-nixpkgs-map.nix+1−9
@@ -27,12 +27,11 @@ pkgs:
27 "dl" = []; # provided by glibc
27 "dl" = []; # provided by glibc
28 "fftw3" = [ pkgs."fftw" ];
28 "fftw3" = [ pkgs."fftw" ];
29 "fftw3f" = [ pkgs."fftwFloat" ];
29 "fftw3f" = [ pkgs."fftwFloat" ];
30− "freetype2" = [ pkgs."freetype" ];
31 "gconf" = [ pkgs."GConf" ];
30 "gconf" = [ pkgs."GConf" ];
32 "gconf-2.0" = [ pkgs."GConf" ];
31 "gconf-2.0" = [ pkgs."GConf" ];
33 "gdk-2.0" = [ pkgs."gtk2" ];
32 "gdk-2.0" = [ pkgs."gtk2" ];
34 "gdk-3.0" = [ pkgs."gtk3" ];
33 "gdk-3.0" = [ pkgs."gtk3" ];
35− "gdk-pixbuf-2.0" = [ (pkgs."gdk-pixbuf" or pkgs."gdk_pixbuf") ];
34+ "gdk-pixbuf-2.0" = [ pkgs."gdk_pixbuf" ];
36 "gdk-x11-2.0" = [ pkgs."gdk_x11" ];
35 "gdk-x11-2.0" = [ pkgs."gdk_x11" ];
37 "gdk-x11-3.0" = [ pkgs."gtk3" ];
36 "gdk-x11-3.0" = [ pkgs."gtk3" ];
38 "gio-2.0" = [ pkgs."glib" ];
37 "gio-2.0" = [ pkgs."glib" ];
@@ -45,9 +44,7 @@ pkgs:
45 "gnome-vfs-2.0" = [ pkgs."gnome-vfs" ];
44 "gnome-vfs-2.0" = [ pkgs."gnome-vfs" ];
46 "gnome-vfs-module-2.0" = [ pkgs."gnome-vfs_module" ];
45 "gnome-vfs-module-2.0" = [ pkgs."gnome-vfs_module" ];
47 "gobject-2.0" = [ pkgs."glib" ];
46 "gobject-2.0" = [ pkgs."glib" ];
48− "gmodule-2.0" = [ pkgs."glib" ];
49 "gobject-introspection-1.0" = [ pkgs."gobject-introspection" ];
47 "gobject-introspection-1.0" = [ pkgs."gobject-introspection" ];
50− "graphene-gobject-1.0" = [ pkgs."graphene" ];
51 "gstreamer-audio-0.10" = [ pkgs."gst-plugins-base" ];
48 "gstreamer-audio-0.10" = [ pkgs."gst-plugins-base" ];
52 "gstreamer-audio-1.0" = [ pkgs."gst-plugins-base" ];
49 "gstreamer-audio-1.0" = [ pkgs."gst-plugins-base" ];
53 "gstreamer-base-0.10" = [ pkgs."gst-plugins-base" ];
50 "gstreamer-base-0.10" = [ pkgs."gst-plugins-base" ];
@@ -67,7 +64,6 @@ pkgs:
67 "hidapi-libusb" = [ pkgs."hidapi" ];
64 "hidapi-libusb" = [ pkgs."hidapi" ];
68 "icudata" = [ pkgs."icu" ];
65 "icudata" = [ pkgs."icu" ];
69 "icui18n" = [ pkgs."icu" ];
66 "icui18n" = [ pkgs."icu" ];
70− "icu-i18n" = [ pkgs."icu" ];
71 "icuuc" = [ pkgs."icu" ];
67 "icuuc" = [ pkgs."icu" ];
72 "idn" = [ pkgs."libidn" ];
68 "idn" = [ pkgs."libidn" ];
73 "IL" = [ pkgs."libdevil" ];
69 "IL" = [ pkgs."libdevil" ];
@@ -84,9 +80,7 @@ pkgs:
84 "ldap" = [ pkgs."openldap" ];
80 "ldap" = [ pkgs."openldap" ];
85 "libavutil" = [ pkgs."ffmpeg" ];
81 "libavutil" = [ pkgs."ffmpeg" ];
86 "libcrypto" = [ pkgs."openssl".dev ];
82 "libcrypto" = [ pkgs."openssl".dev ];
87− "libfreenect" = [ pkgs."freenect" ];
88 "libgsasl" = [ pkgs."gsasl" ];
83 "libgsasl" = [ pkgs."gsasl" ];
89− "liboath" = [ pkgs."liboauth" ];
90 "libpcre" = [ pkgs."pcre" ];
84 "libpcre" = [ pkgs."pcre" ];
91 "libqrencode" = [ pkgs."qrencode" ];
85 "libqrencode" = [ pkgs."qrencode" ];
92 "libR" = [ pkgs."R" ];
86 "libR" = [ pkgs."R" ];
@@ -101,7 +95,6 @@ pkgs:
101 "libxml-2.0" = [ pkgs."libxml2" ];
95 "libxml-2.0" = [ pkgs."libxml2" ];
102 "libzip" = [ pkgs."libzip" ];
96 "libzip" = [ pkgs."libzip" ];
103 "libzmq" = [ pkgs."zeromq" ];
97 "libzmq" = [ pkgs."zeromq" ];
104− "libzstd" = [ pkgs."zstd" ];
105 "m" = []; # in stdenv
98 "m" = []; # in stdenv
106 "magic" = [ pkgs."file" ];
99 "magic" = [ pkgs."file" ];
107 "MagickWand" = [ pkgs."imagemagick" ];
100 "MagickWand" = [ pkgs."imagemagick" ];
@@ -122,7 +115,6 @@ pkgs:
122 "pfs-1.2" = [ pkgs."pfstools" ];
115 "pfs-1.2" = [ pkgs."pfstools" ];
123 "png" = [ pkgs."libpng" ];
116 "png" = [ pkgs."libpng" ];
124 "poppler-glib" = [ pkgs."poppler" ];
117 "poppler-glib" = [ pkgs."poppler" ];
125− "poppler-cpp" = [ pkgs."poppler" ];
126 "pq" = [ pkgs."postgresql" ];
118 "pq" = [ pkgs."postgresql" ];
127 "libpq" = [ pkgs."postgresql" ];
119 "libpq" = [ pkgs."postgresql" ];
128 "pthread" = [];
120 "pthread" = [];
lib/project-overlays.nixdeleted−37
@@ -1,37 +0,0 @@
1−{
2− lib
3−, haskellLib
4−}: {
5− # Provide a devshell profile (https://github.com/numtide/devshell),
6− # adapted from the project normal shell.
7− devshell = final: prev: {
8− devshell = let
9− in {
10− packages = final.shell.nativeBuildInputs
11− # devshell does not use pkgs.mkShell / pkgs.stdenv.mkDerivation,
12− # so we need to explicit required dependencies which
13− # are provided implicitely by stdenv when using the normal shell:
14− ++ (lib.filter lib.isDerivation final.shell.stdenv.defaultNativeBuildInputs)
15− ++ [ final.pkgs.buildPackages.binutils ];
16− env = lib.mapAttrsToList lib.nameValuePair {
17− inherit (final.shell) CABAL_CONFIG NIX_GHC_LIBDIR;
18− };
19− };
20− };
21−
22− # Provides easily accessible attrset for each type of
23− # components belonging to the project packages.
24− projectComponents = final: prev: {
25− # local project packages:
26− packages = haskellLib.selectProjectPackages final.hsPkgs;
27− # set of all exes (as first level entries):
28− exes = lib.foldl' lib.mergeAttrs { } (map (p: p.components.exes) (lib.attrValues final.packages));
29− # `tests` are the test suites which have been built.
30− tests = haskellLib.collectComponents' "tests" final.packages;
31− # `benchmarks` (only built, not run).
32− benchmarks = haskellLib.collectComponents' "benchmarks" final.packages;
33− # `checks` collect results of executing the tests:
34− checks = haskellLib.collectChecks' final.packages;
35− };
36−
37−}
lib/spdx/licenses.nix+7−14
@@ -1,25 +1,18 @@
1pkgs:
1pkgs:
2with builtins; let
2with builtins; let
3− spdxJson = pkgs.buildPackages.spdx-license-list-data.json or pkgs.buildPackages.spdx-license-list-data;
4− materialized' = ../../materialized + "/spdx-${spdxJson.version}";
5 licensesJSON = fromJSON (replaceStrings
3 licensesJSON = fromJSON (replaceStrings
6 [ "\\u0026" "\\u0027" "\\u003d" ]
4 [ "\\u0026" "\\u0027" "\\u003d" ]
7 [ "&" "'" "=" ]
5 [ "&" "'" "=" ]
8− (readFile "${pkgs.buildPackages.haskell-nix.materialize {
6+ (readFile "${pkgs.evalPackages.spdx-license-list-data}/json/licenses.json")
9− materialized = if pathExists materialized' then materialized' else null;
10− } (pkgs.buildPackages.runCommand "spdx-json" { inherit (spdxJson) version; } ''
11− mkdir $out
12− cp ${spdxJson}/json/licenses.json $out
13− '')
14− }/licenses.json")
15 );
7 );
16 dropFour = s: substring 0 (stringLength s - 4) s;
8 dropFour = s: substring 0 (stringLength s - 4) s;
17 toSpdx = lic: with lic;
9 toSpdx = lic: with lic;
18− { spdxId = licenseId;
10+ { spdxId = licenseId
19− shortName = licenseId;
11+ ; shortName = licenseId
20− fullName = name;
12+ ; fullName = name
21− url = dropFour detailsUrl + "html";
13+ ; url = dropFour detailsUrl + "html"
22− free = isOsiApproved || lic.isFsfLibre or false;
14+ ; free = isOsiApproved
15+ ;
23 };
16 };
24 toNamedValue = lic: { name = lic.spdxId; value = lic; };
17 toNamedValue = lic: { name = lic.spdxId; value = lic; };
25in
18in
lib/stack-cache-generator.nix+39−33
@@ -1,5 +1,6 @@
1# Generate cache entries for dependencies of package defined in `src`
1# Generate cache entries for dependencies of package defined in `src`
2
2
3+{ pkgs, haskellLib }:
3{ src
4{ src
4, stackYaml ? "stack.yaml"
5, stackYaml ? "stack.yaml"
5, sha256map ? null
6, sha256map ? null
@@ -8,6 +9,10 @@
8 # sha256map =
9 # sha256map =
9 # { "https://github.com/jgm/pandoc-citeproc"."0.17"
10 # { "https://github.com/jgm/pandoc-citeproc"."0.17"
10 # = "0dxx8cp2xndpw3jwiawch2dkrkp15mil7pyx7dvd810pwc22pm2q"; };
11 # = "0dxx8cp2xndpw3jwiawch2dkrkp15mil7pyx7dvd810pwc22pm2q"; };
12+, lookupSha256 ?
13+ if sha256map != null
14+ then { location, tag, ...}: sha256map."${location}"."${tag}"
15+ else _: null
11, branchMap ? null
16, branchMap ? null
12 # A way to specify in which branch a git commit can
17 # A way to specify in which branch a git commit can
13 # be found
18 # be found
@@ -16,14 +21,10 @@
16 then { location, tag, ...}: branchMap."${location}"."${tag}" or null
21 then { location, tag, ...}: branchMap."${location}"."${tag}" or null
17 else _: null
22 else _: null
18, resolverSha256 ? null
23, resolverSha256 ? null
19−, nix-tools
24+, nix-tools ? pkgs.haskell-nix.internal-nix-tools # When building stack projects we use the internal nix-tools (compiled with a fixed GHC version)
20−, evalPackages
21, ...
25, ...
22−}@args:
26+}:
23let
27let
24− inherit (evalPackages) runCommand;
25− inherit (evalPackages.haskell-nix) haskellLib;
26−
27 # We only care about the stackYaml file. If src is a local directory
28 # We only care about the stackYaml file. If src is a local directory
28 # we want to avoid recalculating the cache unless the stack.yaml file
29 # we want to avoid recalculating the cache unless the stack.yaml file
29 # changes.
30 # changes.
@@ -33,27 +34,30 @@ let
33 }) resolver fetchedResolver;
34 }) resolver fetchedResolver;
34
35
35 # Filter just the stack yaml file and any resolver yaml file it points to.
36 # Filter just the stack yaml file and any resolver yaml file it points to.
37+ maybeCleanedSource =
38+ if haskellLib.canCleanSource src
36− maybeCleanedSource = haskellLib.cleanSourceWith {
39+ then haskellLib.cleanSourceWith {
37− inherit src;
40+ inherit src;
38− filter = path: type:
41+ filter = path: type:
39− let
42+ let
40− origSrc = if src ? _isLibCleanSourceWith then src.origSrc else src;
43+ origSrc = if src ? _isLibCleanSourceWith then src.origSrc else src;
41− origSubDir = if src ? _isLibCleanSourceWithEx then src.origSubDir else "";
44+ origSubDir = if src ? _isLibCleanSourceWithEx then src.origSubDir else "";
42− relPath = evalPackages.lib.removePrefix (toString origSrc + origSubDir + "/") path;
45+ relPath = pkgs.lib.removePrefix (toString origSrc + origSubDir + "/") path;
43
46
44− # checks if path1 is a parent directory for path2
47+ # checks if path1 is a parent directory for path2
45− isParent = path1: path2: evalPackages.lib.hasPrefix "${path1}/" path2;
48+ isParent = path1: path2: pkgs.lib.hasPrefix "${path1}/" path2;
46
49
47− in
50+ in
48− (relPath == stackYaml)
51+ (relPath == stackYaml)
49− || (resolver != null && (relPath == resolver || isParent relPath resolver))
52+ || (resolver != null && (relPath == resolver || isParent relPath resolver))
50− ;
53+ ;
51− };
54+ }
55+ else src;
52
56
53 # All repos served via ssh or git protocols are usually private
57 # All repos served via ssh or git protocols are usually private
54− private = url: evalPackages.lib.substring 0 4 url != "http";
58+ private = url: pkgs.lib.substring 0 4 url != "http";
55
59
56− repos = builtins.fromJSON (builtins.readFile (evalPackages.runCommand "stack-repos" {
60+ repos = builtins.fromJSON (builtins.readFile (pkgs.runCommand "stack-repos" {
57 buildInputs = [ nix-tools ];
61 buildInputs = [ nix-tools ];
58 } ''
62 } ''
59 TMP=$(mktemp -d)
63 TMP=$(mktemp -d)
@@ -61,43 +65,45 @@ let
61 cp -r "${maybeCleanedSource}/." $TMP
65 cp -r "${maybeCleanedSource}/." $TMP
62 chmod -R +w $TMP
66 chmod -R +w $TMP
63 substituteInPlace ${stackYaml} --replace "# nix-sha256:" "nix-sha256:"
67 substituteInPlace ${stackYaml} --replace "# nix-sha256:" "nix-sha256:"
64− ${evalPackages.lib.optionalString (fetchedResolver != null) ''
68+ ${pkgs.lib.optionalString (fetchedResolver != null) ''
65 substituteInPlace ${stackYaml} --replace "${resolver}" "${fetchedResolver}"
69 substituteInPlace ${stackYaml} --replace "${resolver}" "${fetchedResolver}"
66 ''}
70 ''}
67 stack-repos --stack-yaml ${stackYaml}
71 stack-repos --stack-yaml ${stackYaml}
68 cp repos.json $out
72 cp repos.json $out
69 ''));
73 ''));
70
74
71− cabalName = path: builtins.readFile (evalPackages.runCommand "cabal-name" {
75+ cabalName = path: builtins.readFile (pkgs.runCommand "cabal-name" {
72 buildInputs = [ nix-tools ];
76 buildInputs = [ nix-tools ];
73 } ''
77 } ''
74 cabal-name ${path} > $out
78 cabal-name ${path} > $out
75 '');
79 '');
76
80
77 hashPath = path:
81 hashPath = path:
78− builtins.readFile (evalPackages.runCommand "hash-path" { preferLocalBuild = true; }
82+ builtins.readFile (pkgs.runCommand "hash-path" { preferLocalBuild = true; }
79− "echo -n $(${evalPackages.nix}/bin/nix-hash --type sha256 --base32 ${path}) > $out");
83+ "echo -n $(${pkgs.nix}/bin/nix-hash --type sha256 --base32 ${path}) > $out");
80−in with evalPackages.lib;
84+in with pkgs.lib;
81concatMap (dep:
85concatMap (dep:
82 let
86 let
83 is-private = private dep.url;
87 is-private = private dep.url;
84− sha256 =
88+ sha256 = if dep.sha256 != null
85− if dep.sha256 != null then dep.sha256
89+ then dep.sha256
86− else if sha256map != null then sha256map."${dep.url}"."${dep.rev}"
90+ else lookupSha256 {
87− else null;
91+ location = dep.url;
92+ tag = dep.rev;
93+ };
88 branch = lookupBranch {
94 branch = lookupBranch {
89 location = dep.url;
95 location = dep.url;
90 tag = dep.rev;
96 tag = dep.rev;
91 };
97 };
92 pkgsrc =
98 pkgsrc =
93 if !is-private && sha256 != null
99 if !is-private && sha256 != null
94− then evalPackages.fetchgit {
100+ then pkgs.fetchgit {
95 inherit (dep) url rev;
101 inherit (dep) url rev;
96 inherit sha256;
102 inherit sha256;
97 }
103 }
98 else builtins.fetchGit ({
104 else builtins.fetchGit ({
99 inherit (dep) url rev;
105 inherit (dep) url rev;
100− } // evalPackages.lib.optionalAttrs (branch != null) { ref = branch; });
106+ } // pkgs.lib.optionalAttrs (branch != null) { ref = branch; });
101 in map (subdir: {
107 in map (subdir: {
102 name = cabalName "${pkgsrc}/${subdir}";
108 name = cabalName "${pkgsrc}/${subdir}";
103 inherit (dep) url rev;
109 inherit (dep) url rev;
lib/system-nixpkgs-map.nix+4−35
@@ -6,32 +6,16 @@ pkgs:
6
6
7with pkgs;
7with pkgs;
8
8
9−let
10− # On windows systems we need these to be propagatedBuildInputs so that the DLLs will be found.
11− gcclibs = if pkgs.stdenv.hostPlatform.isWindows then [
12− pkgs.windows.mcfgthreads
13− # If we just use `pkgs.buildPackages.gcc.cc` here it breaks the `th-dlls` test. TODO figure out why exactly.
14− (pkgs.buildPackages.runCommand "gcc-only" { nativeBuildInputs = [ pkgs.buildPackages.xorg.lndir ]; } ''
15− mkdir $out
16− lndir ${pkgs.buildPackages.gcc.cc} $out
17− '')
18− ] else [];
19−in
20# -- linux
9# -- linux
21{ crypto = [ openssl ];
10{ crypto = [ openssl ];
22− "c++" = []; # no libc++
11+ "c++" = null; # no libc++
23− "stdc++" = gcclibs;
12+ "stdc++" = null;
24− "stdc++-6" = gcclibs;
13+ "stdc++-6" = null;
25− gcc_s_seh-1 = gcclibs;
26− gcc_s = gcclibs;
27− gcc = gcclibs;
28 ssl = [ openssl ];
14 ssl = [ openssl ];
29 z = [ zlib ];
15 z = [ zlib ];
30− m = []; # Included with ghc
31 pcap = [ libpcap ];
16 pcap = [ libpcap ];
32 pthread = null; # available by default
17 pthread = null; # available by default
33 GL = [ libGL ];
18 GL = [ libGL ];
34− GLEW = [ glew ];
35 GLU = [ libGLU ];
19 GLU = [ libGLU ];
36 alut = [ freealut ];
20 alut = [ freealut ];
37 X11 = with xorg; [ libX11 ];
21 X11 = with xorg; [ libX11 ];
@@ -51,7 +35,6 @@ in
51 util = [ utillinux ];
35 util = [ utillinux ];
52 magic = [ file ];
36 magic = [ file ];
53 pq = [ postgresql ];
37 pq = [ postgresql ];
54− libpq = [ postgresql ];
55 iconv = [ libiconv ];
38 iconv = [ libiconv ];
56 lapack = [ liblapack ];
39 lapack = [ liblapack ];
57 boost_atomic = [ boost ];
40 boost_atomic = [ boost ];
@@ -97,39 +80,25 @@ in
97 opencv = [ opencv3 ];
80 opencv = [ opencv3 ];
98 icuuc = [ icu ];
81 icuuc = [ icu ];
99 icui18n = [ icu ];
82 icui18n = [ icu ];
100− icu-i18n = [ icu ];
101 icudata = [ icu ];
83 icudata = [ icu ];
102 vulkan = [ vulkan-loader ];
84 vulkan = [ vulkan-loader ];
103 sodium = [ libsodium ];
85 sodium = [ libsodium ];
104 gfortran = [ gfortran.cc.lib ];
86 gfortran = [ gfortran.cc.lib ];
105− ssh2 = [ libssh2 ];
106− gpiod = [ libgpiod ];
107− png = [ libpng ];
108− jpeg = [ libjpeg ];
109− freenect_sync = [ freenect ];
110− FLAC = [ flac ];
111− mp3lame = [ lame ];
112− tag_c = [ taglib ];
113− jwt = [ libjwt ];
114− GeoIP = [ geoip ];
115− pulse-simple = [ libpulseaudio ];
116− oath = [ liboauth ];
117}
87}
118# -- windows
88# -- windows
119// { advapi32 = null; gdi32 = null; imm32 = null; msimg32 = null;
89// { advapi32 = null; gdi32 = null; imm32 = null; msimg32 = null;
120 shell32 = null; shfolder = null; shlwapi = null; user32 = null;
90 shell32 = null; shfolder = null; shlwapi = null; user32 = null;
121− ole32 = null; rpcrt4 = null;
122 winmm = null; userenv = null;
91 winmm = null; userenv = null;
123 kernel32 = null; ws2_32 = null;
92 kernel32 = null; ws2_32 = null;
124 # this should be bundled with gcc.
93 # this should be bundled with gcc.
125 # if it's not we have more severe
94 # if it's not we have more severe
126 # issues anyway.
95 # issues anyway.
96+ gcc_s_seh-1 = null;
127 ssl32 = null; eay32 = [ openssl ];
97 ssl32 = null; eay32 = [ openssl ];
128 iphlpapi = null; # IP Help API
98 iphlpapi = null; # IP Help API
129 msvcrt = null; # this is the libc
99 msvcrt = null; # this is the libc
130 Crypt32 = null;
100 Crypt32 = null;
131 mswsock = null;
101 mswsock = null;
132− bcrypt = null;
133 }
102 }
134# -- os x
103# -- os x
135# NB: these map almost 1:1 to the framework names
104# NB: these map almost 1:1 to the framework names
lib/system-pkgs.nix+18−1
@@ -9,8 +9,25 @@
9
9
10pkgs:
10pkgs:
11
11
12+let
13+ buildEnvMaybe = name: paths:
14+ if builtins.length paths == 1
15+ then builtins.head paths
16+ else pkgs.buildEnv { name = "${name}-env"; inherit paths; };
17+
18+ mapPackages = name: ps:
19+ if builtins.typeOf ps == "list"
20+ then buildEnvMaybe name ps
21+ else ps;
22+
23+in
12 # Base packages.
24 # Base packages.
13 pkgs
25 pkgs
14
26
27+ # fetchgit should always come from the evalPackages
28+ # if it comes from the targetPackages we won't even
29+ # be able to execute it.
30+ // { fetchgit = pkgs.evalPackages.fetchgit; }
31+
15 # Apply the mapping.
32 # Apply the mapping.
16− // import ./system-nixpkgs-map.nix pkgs
33+ // builtins.mapAttrs mapPackages (import ./system-nixpkgs-map.nix pkgs)
materialized/bootstrap/ghc8107/alex/.plan.nix/alex.nixdeleted−160
@@ -1,160 +0,0 @@
1−{ system
2− , compiler
3− , flags
4− , pkgs
5− , hsPkgs
6− , pkgconfPkgs
7− , errorHandler
8− , config
9− , ... }:
10− {
11− flags = { small_base = true; };
12− package = {
13− specVersion = "1.8";
14− identifier = { name = "alex"; version = "3.2.4"; };
15− license = "BSD-3-Clause";
16− copyright = "(c) Chis Dornan, Simon Marlow";
17− maintainer = "Simon Marlow <marlowsd@gmail.com>";
18− author = "Chris Dornan and Simon Marlow";
19− homepage = "http://www.haskell.org/alex/";
20− url = "";
21− synopsis = "Alex is a tool for generating lexical analysers in Haskell";
22− description = "Alex is a tool for generating lexical analysers in Haskell.\nIt takes a description of tokens based on regular\nexpressions and generates a Haskell module containing code\nfor scanning text efficiently. It is similar to the tool\nlex or flex for C/C++.";
23− buildType = "Simple";
24− isLocal = true;
25− detailLevel = "FullDetails";
26− licenseFiles = [ "LICENSE" ];
27− dataDir = "data/";
28− dataFiles = [
29− "AlexTemplate"
30− "AlexTemplate-ghc"
31− "AlexTemplate-ghc-nopred"
32− "AlexTemplate-ghc-debug"
33− "AlexTemplate-debug"
34− "AlexWrapper-basic"
35− "AlexWrapper-basic-bytestring"
36− "AlexWrapper-strict-bytestring"
37− "AlexWrapper-posn"
38− "AlexWrapper-posn-bytestring"
39− "AlexWrapper-monad"
40− "AlexWrapper-monad-bytestring"
41− "AlexWrapper-monadUserState"
42− "AlexWrapper-monadUserState-bytestring"
43− "AlexWrapper-gscan"
44− ];
45− extraSrcFiles = [
46− "CHANGELOG.md"
47− "README.md"
48− "TODO"
49− "alex.spec"
50− "doc/Makefile"
51− "doc/aclocal.m4"
52− "doc/alex.1.in"
53− "doc/alex.xml"
54− "doc/config.mk.in"
55− "doc/configure.ac"
56− "doc/docbook-xml.mk"
57− "doc/fptools.css"
58− "examples/Makefile"
59− "examples/Tokens.x"
60− "examples/Tokens_gscan.x"
61− "examples/Tokens_posn.x"
62− "examples/examples.x"
63− "examples/haskell.x"
64− "examples/lit.x"
65− "examples/pp.x"
66− "examples/state.x"
67− "examples/tiny.y"
68− "examples/words.x"
69− "examples/words_monad.x"
70− "examples/words_posn.x"
71− "src/Parser.y.boot"
72− "src/Scan.x.boot"
73− "src/ghc_hooks.c"
74− "templates/GenericTemplate.hs"
75− "templates/wrappers.hs"
76− "tests/Makefile"
77− "tests/simple.x"
78− "tests/null.x"
79− "tests/tokens.x"
80− "tests/tokens_gscan.x"
81− "tests/tokens_posn.x"
82− "tests/tokens_bytestring.x"
83− "tests/tokens_posn_bytestring.x"
84− "tests/tokens_scan_user.x"
85− "tests/tokens_strict_bytestring.x"
86− "tests/tokens_monad_bytestring.x"
87− "tests/tokens_monadUserState_bytestring.x"
88− "tests/tokens_bytestring_unicode.x"
89− "tests/basic_typeclass.x"
90− "tests/basic_typeclass_bytestring.x"
91− "tests/default_typeclass.x"
92− "tests/gscan_typeclass.x"
93− "tests/posn_typeclass.x"
94− "tests/monad_typeclass.x"
95− "tests/monad_typeclass_bytestring.x"
96− "tests/monadUserState_typeclass.x"
97− "tests/monadUserState_typeclass_bytestring.x"
98− "tests/posn_typeclass_bytestring.x"
99− "tests/strict_typeclass.x"
100− "tests/unicode.x"
101− ];
102− extraTmpFiles = [];
103− extraDocFiles = [];
104− };
105− components = {
106− exes = {
107− "alex" = {
108− depends = [
109− (hsPkgs."base" or (errorHandler.buildDepError "base"))
110− ] ++ (if flags.small_base
111− then [
112− (hsPkgs."base" or (errorHandler.buildDepError "base"))
113− (hsPkgs."array" or (errorHandler.buildDepError "array"))
114− (hsPkgs."containers" or (errorHandler.buildDepError "containers"))
115− (hsPkgs."directory" or (errorHandler.buildDepError "directory"))
116− ]
117− else [ (hsPkgs."base" or (errorHandler.buildDepError "base")) ]);
118− buildable = true;
119− modules = [
120− "AbsSyn"
121− "CharSet"
122− "DFA"
123− "DFAMin"
124− "DFS"
125− "Info"
126− "Map"
127− "NFA"
128− "Output"
129− "Paths_alex"
130− "Parser"
131− "ParseMonad"
132− "Scan"
133− "Set"
134− "Sort"
135− "Util"
136− "UTF8"
137− "Data/Ranged"
138− "Data/Ranged/Boundaries"
139− "Data/Ranged/RangedSet"
140− "Data/Ranged/Ranges"
141− ];
142− hsSourceDirs = [ "src" ];
143− mainPath = [ "Main.hs" ] ++ [ "" ];
144− };
145− };
146− tests = {
147− "tests" = {
148− depends = [
149− (hsPkgs."base" or (errorHandler.buildDepError "base"))
150− (hsPkgs."process" or (errorHandler.buildDepError "process"))
151− ];
152− build-tools = [
153− (hsPkgs.buildPackages.alex.components.exes.alex or (pkgs.buildPackages.alex or (errorHandler.buildToolDepError "alex:alex")))
154− ];
155− buildable = true;
156− mainPath = [ "test.hs" ];
157− };
158− };
159− };
160− } // rec { src = (pkgs.lib).mkDefault ../.; }
materialized/bootstrap/ghc8107/alex/default.nixdeleted−69
@@ -1,69 +0,0 @@
1−{
2− pkgs = hackage:
3− {
4− packages = {
5− "ghc-prim".revision = (((hackage."ghc-prim")."0.6.1").revisions).default;
6− "array".revision = (((hackage."array")."0.5.4.0").revisions).default;
7− "integer-gmp".revision = (((hackage."integer-gmp")."1.0.3.0").revisions).default;
8− "process".revision = (((hackage."process")."1.6.13.2").revisions).default;
9− "base".revision = (((hackage."base")."4.14.3.0").revisions).default;
10− "rts".revision = (((hackage."rts")."1.0.1").revisions).default;
11− "time".revision = (((hackage."time")."1.9.3").revisions).default;
12− "unix".revision = (((hackage."unix")."2.7.2.2").revisions).default;
13− "bytestring".revision = (((hackage."bytestring")."0.10.12.0").revisions).default;
14− "containers".revision = (((hackage."containers")."0.6.5.1").revisions).default;
15− "directory".revision = (((hackage."directory")."1.3.6.0").revisions).default;
16− "filepath".revision = (((hackage."filepath")."1.4.2.1").revisions).default;
17− "deepseq".revision = (((hackage."deepseq")."1.4.4.0").revisions).default;
18− };
19− compiler = {
20− version = "8.10.7";
21− nix-name = "ghc8107";
22− packages = {
23− "ghc-prim" = "0.6.1";
24− "array" = "0.5.4.0";
25− "integer-gmp" = "1.0.3.0";
26− "process" = "1.6.13.2";
27− "base" = "4.14.3.0";
28− "rts" = "1.0.1";
29− "time" = "1.9.3";
30− "unix" = "2.7.2.2";
31− "bytestring" = "0.10.12.0";
32− "containers" = "0.6.5.1";
33− "directory" = "1.3.6.0";
34− "filepath" = "1.4.2.1";
35− "deepseq" = "1.4.4.0";
36− };
37− };
38− };
39− extras = hackage:
40− { packages = { alex = ./.plan.nix/alex.nix; }; };
41− modules = [
42− ({ lib, ... }:
43− {
44− packages = {
45− "alex" = { flags = { "small_base" = lib.mkOverride 900 true; }; };
46− };
47− })
48− ({ lib, ... }:
49− {
50− packages = {
51− "containers".components.library.planned = lib.mkOverride 900 true;
52− "ghc-prim".components.library.planned = lib.mkOverride 900 true;
53− "process".components.library.planned = lib.mkOverride 900 true;
54− "integer-gmp".components.library.planned = lib.mkOverride 900 true;
55− "array".components.library.planned = lib.mkOverride 900 true;
56− "bytestring".components.library.planned = lib.mkOverride 900 true;
57− "unix".components.library.planned = lib.mkOverride 900 true;
58− "alex".components.exes."alex".planned = lib.mkOverride 900 true;
59− "base".components.library.planned = lib.mkOverride 900 true;
60− "rts".components.library.planned = lib.mkOverride 900 true;
61− "time".components.library.planned = lib.mkOverride 900 true;
62− "deepseq".components.library.planned = lib.mkOverride 900 true;
63− "filepath".components.library.planned = lib.mkOverride 900 true;
64− "directory".components.library.planned = lib.mkOverride 900 true;
65− "alex".components.tests."tests".planned = lib.mkOverride 900 true;
66− };
67− })
68− ];
69− }
materialized/bootstrap/ghc8107/happy-1.19.12/.plan.nix/happy.nixdeleted−200
@@ -1,200 +0,0 @@
1−{ system
2− , compiler
3− , flags
4− , pkgs
5− , hsPkgs
6− , pkgconfPkgs
7− , errorHandler
8− , config
9− , ... }:
10− {
11− flags = { small_base = true; };
12− package = {
13− specVersion = "1.8";
14− identifier = { name = "happy"; version = "1.19.12"; };
15− license = "BSD-2-Clause";
16− copyright = "(c) Andy Gill, Simon Marlow";
17− maintainer = "Simon Marlow <marlowsd@gmail.com>";
18− author = "Andy Gill and Simon Marlow";
19− homepage = "https://www.haskell.org/happy/";
20− url = "";
21− synopsis = "Happy is a parser generator for Haskell";
22− description = "Happy is a parser generator for Haskell. Given a grammar\nspecification in BNF, Happy generates Haskell code to parse the\ngrammar. Happy works in a similar way to the @yacc@ tool for C.";
23− buildType = "Simple";
24− isLocal = true;
25− detailLevel = "FullDetails";
26− licenseFiles = [ "LICENSE" ];
27− dataDir = "data/";
28− dataFiles = [
29− "HappyTemplate"
30− "HappyTemplate-arrays"
31− "HappyTemplate-arrays-coerce"
32− "HappyTemplate-arrays-coerce-debug"
33− "HappyTemplate-arrays-debug"
34− "HappyTemplate-arrays-ghc"
35− "HappyTemplate-arrays-ghc-debug"
36− "HappyTemplate-coerce"
37− "HappyTemplate-ghc"
38− "GLR_Base"
39− "GLR_Lib"
40− "GLR_Lib-ghc"
41− "GLR_Lib-ghc-debug"
42− ];
43− extraSrcFiles = [
44− "ANNOUNCE"
45− "CHANGES"
46− "Makefile"
47− "README.md"
48− "TODO"
49− "doc/Makefile"
50− "doc/aclocal.m4"
51− "doc/config.mk.in"
52− "doc/configure.ac"
53− "doc/docbook-xml.mk"
54− "doc/fptools.css"
55− "doc/happy.1.in"
56− "doc/happy.xml"
57− "examples/glr/nlp/Main.lhs"
58− "examples/glr/nlp/Makefile"
59− "examples/glr/nlp/README"
60− "examples/glr/nlp/English.y"
61− "examples/glr/nlp/Hugs.lhs"
62− "examples/glr/Makefile"
63− "examples/glr/Makefile.defs"
64− "examples/glr/expr-eval/Main.lhs"
65− "examples/glr/expr-eval/Makefile"
66− "examples/glr/expr-eval/Expr.y"
67− "examples/glr/expr-eval/README"
68− "examples/glr/expr-eval/Hugs.lhs"
69− "examples/glr/expr-tree/Main.lhs"
70− "examples/glr/expr-tree/Makefile"
71− "examples/glr/expr-tree/Expr.y"
72− "examples/glr/expr-tree/README"
73− "examples/glr/expr-tree/Tree.lhs"
74− "examples/glr/expr-tree/Hugs.lhs"
75− "examples/glr/highly-ambiguous/Main.lhs"
76− "examples/glr/highly-ambiguous/Makefile"
77− "examples/glr/highly-ambiguous/Expr.y"
78− "examples/glr/highly-ambiguous/README"
79− "examples/glr/highly-ambiguous/Hugs.lhs"
80− "examples/glr/hidden-leftrec/Main.lhs"
81− "examples/glr/hidden-leftrec/Makefile"
82− "examples/glr/hidden-leftrec/Expr.y"
83− "examples/glr/hidden-leftrec/README"
84− "examples/glr/hidden-leftrec/Hugs.lhs"
85− "examples/glr/expr-monad/Main.lhs"
86− "examples/glr/expr-monad/Makefile"
87− "examples/glr/expr-monad/Expr.y"
88− "examples/glr/expr-monad/README"
89− "examples/glr/expr-monad/Hugs.lhs"
90− "examples/glr/bio-eg/Main.lhs"
91− "examples/glr/bio-eg/Makefile"
92− "examples/glr/bio-eg/Bio.y"
93− "examples/glr/bio-eg/README"
94− "examples/glr/bio-eg/1-1200.dna"
95− "examples/glr/bio-eg/1-600.dna"
96− "examples/glr/common/DV_lhs"
97− "examples/glr/common/DaVinciTypes.hs"
98− "examples/glr/packing/Main.lhs"
99− "examples/glr/packing/Makefile"
100− "examples/glr/packing/Expr.y"
101− "examples/glr/packing/README"
102− "examples/glr/packing/Hugs.lhs"
103− "examples/PgnParser.ly"
104− "examples/MonadTest.ly"
105− "examples/igloo/ParserM.hs"
106− "examples/igloo/Makefile"
107− "examples/igloo/Parser.y"
108− "examples/igloo/Foo.hs"
109− "examples/igloo/README"
110− "examples/igloo/Lexer.x"
111− "examples/README"
112− "examples/Calc.ly"
113− "examples/DavesExample.ly"
114− "examples/ErrorTest.ly"
115− "examples/ErlParser.ly"
116− "examples/SimonsExample.ly"
117− "examples/LexerTest.ly"
118− "happy.spec"
119− "src/ARRAY-NOTES"
120− "tests/AttrGrammar001.y"
121− "tests/AttrGrammar002.y"
122− "tests/Makefile"
123− "tests/Partial.ly"
124− "tests/Test.ly"
125− "tests/TestMulti.ly"
126− "tests/TestPrecedence.ly"
127− "tests/bogus-token.y"
128− "tests/bug001.ly"
129− "tests/bug002.y"
130− "tests/error001.stderr"
131− "tests/error001.stdout"
132− "tests/error001.y"
133− "tests/monad001.y"
134− "tests/monad002.ly"
135− "tests/monaderror.y"
136− "tests/precedence001.ly"
137− "tests/precedence002.y"
138− "tests/test_rules.y"
139− "tests/issue91.y"
140− "tests/issue93.y"
141− "tests/issue94.y"
142− "tests/issue95.y"
143− "tests/monaderror-explist.y"
144− "tests/typeclass_monad001.y"
145− "tests/typeclass_monad002.ly"
146− "tests/typeclass_monad_lexer.y"
147− "tests/rank2.y"
148− ];
149− extraTmpFiles = [];
150− extraDocFiles = [];
151− };
152− components = {
153− exes = {
154− "happy" = {
155− depends = [
156− (hsPkgs."base" or (errorHandler.buildDepError "base"))
157− (hsPkgs."array" or (errorHandler.buildDepError "array"))
158− (hsPkgs."containers" or (errorHandler.buildDepError "containers"))
159− (hsPkgs."mtl" or (errorHandler.buildDepError "mtl"))
160− ];
161− buildable = true;
162− modules = [
163− "Paths_happy"
164− "AbsSyn"
165− "First"
166− "GenUtils"
167− "Grammar"
168− "Info"
169− "LALR"
170− "Lexer"
171− "ParseMonad"
172− "Parser"
173− "ProduceCode"
174− "ProduceGLRCode"
175− "NameSet"
176− "Target"
177− "AttrGrammar"
178− "AttrGrammarParser"
179− "ParamRules"
180− "PrettyGrammar"
181− ];
182− hsSourceDirs = [ "src" ];
183− mainPath = [ "Main.lhs" ];
184− };
185− };
186− tests = {
187− "tests" = {
188− depends = [
189− (hsPkgs."base" or (errorHandler.buildDepError "base"))
190− (hsPkgs."process" or (errorHandler.buildDepError "process"))
191− ];
192− build-tools = [
193− (hsPkgs.buildPackages.happy.components.exes.happy or (pkgs.buildPackages.happy or (errorHandler.buildToolDepError "happy:happy")))
194− ];
195− buildable = true;
196− mainPath = [ "test.hs" ];
197− };
198− };
199− };
200− } // rec { src = (pkgs.lib).mkDefault ../.; }
materialized/bootstrap/ghc8107/happy-1.19.12/default.nixdeleted−75
@@ -1,75 +0,0 @@
1−{
2− pkgs = hackage:
3− {
4− packages = {
5− "ghc-prim".revision = (((hackage."ghc-prim")."0.6.1").revisions).default;
6− "array".revision = (((hackage."array")."0.5.4.0").revisions).default;
7− "integer-gmp".revision = (((hackage."integer-gmp")."1.0.3.0").revisions).default;
8− "process".revision = (((hackage."process")."1.6.13.2").revisions).default;
9− "base".revision = (((hackage."base")."4.14.3.0").revisions).default;
10− "rts".revision = (((hackage."rts")."1.0.1").revisions).default;
11− "mtl".revision = (((hackage."mtl")."2.2.2").revisions).default;
12− "time".revision = (((hackage."time")."1.9.3").revisions).default;
13− "unix".revision = (((hackage."unix")."2.7.2.2").revisions).default;
14− "bytestring".revision = (((hackage."bytestring")."0.10.12.0").revisions).default;
15− "containers".revision = (((hackage."containers")."0.6.5.1").revisions).default;
16− "directory".revision = (((hackage."directory")."1.3.6.0").revisions).default;
17− "filepath".revision = (((hackage."filepath")."1.4.2.1").revisions).default;
18− "deepseq".revision = (((hackage."deepseq")."1.4.4.0").revisions).default;
19− "transformers".revision = (((hackage."transformers")."0.5.6.2").revisions).default;
20− };
21− compiler = {
22− version = "8.10.7";
23− nix-name = "ghc8107";
24− packages = {
25− "ghc-prim" = "0.6.1";
26− "array" = "0.5.4.0";
27− "integer-gmp" = "1.0.3.0";
28− "process" = "1.6.13.2";
29− "base" = "4.14.3.0";
30− "rts" = "1.0.1";
31− "mtl" = "2.2.2";
32− "time" = "1.9.3";
33− "unix" = "2.7.2.2";
34− "bytestring" = "0.10.12.0";
35− "containers" = "0.6.5.1";
36− "directory" = "1.3.6.0";
37− "filepath" = "1.4.2.1";
38− "deepseq" = "1.4.4.0";
39− "transformers" = "0.5.6.2";
40− };
41− };
42− };
43− extras = hackage:
44− { packages = { happy = ./.plan.nix/happy.nix; }; };
45− modules = [
46− ({ lib, ... }:
47− {
48− packages = {
49− "happy" = { flags = { "small_base" = lib.mkOverride 900 true; }; };
50− };
51− })
52− ({ lib, ... }:
53− {
54− packages = {
55− "containers".components.library.planned = lib.mkOverride 900 true;
56− "ghc-prim".components.library.planned = lib.mkOverride 900 true;
57− "happy".components.exes."happy".planned = lib.mkOverride 900 true;
58− "transformers".components.library.planned = lib.mkOverride 900 true;
59− "process".components.library.planned = lib.mkOverride 900 true;
60− "integer-gmp".components.library.planned = lib.mkOverride 900 true;
61− "array".components.library.planned = lib.mkOverride 900 true;
62− "bytestring".components.library.planned = lib.mkOverride 900 true;
63− "unix".components.library.planned = lib.mkOverride 900 true;
64− "base".components.library.planned = lib.mkOverride 900 true;
65− "rts".components.library.planned = lib.mkOverride 900 true;
66− "mtl".components.library.planned = lib.mkOverride 900 true;
67− "time".components.library.planned = lib.mkOverride 900 true;
68− "deepseq".components.library.planned = lib.mkOverride 900 true;
69− "filepath".components.library.planned = lib.mkOverride 900 true;
70− "happy".components.tests."tests".planned = lib.mkOverride 900 true;
71− "directory".components.library.planned = lib.mkOverride 900 true;
72− };
73− })
74− ];
75− }
materialized/bootstrap/ghc8107/hscolour/.plan.nix/hscolour.nixdeleted−70
@@ -1,70 +0,0 @@
1−{ system
2− , compiler
3− , flags
4− , pkgs
5− , hsPkgs
6− , pkgconfPkgs
7− , errorHandler
8− , config
9− , ... }:
10− {
11− flags = {};
12− package = {
13− specVersion = "1.6";
14− identifier = { name = "hscolour"; version = "1.24.4"; };
15− license = "LicenseRef-LGPL";
16− copyright = "2003-2017 Malcolm Wallace; 2006 Bjorn Bringert";
17− maintainer = "Malcolm Wallace";
18− author = "Malcolm Wallace";
19− homepage = "http://code.haskell.org/~malcolm/hscolour/";
20− url = "";
21− synopsis = "Colourise Haskell code.";
22− description = "hscolour is a small Haskell script to colourise Haskell code. It currently\nhas six output formats:\nANSI terminal codes (optionally XTerm-256colour codes),\nHTML 3.2 with <font> tags,\nHTML 4.01 with CSS,\nHTML 4.01 with CSS and mouseover annotations,\nXHTML 1.0 with inline CSS styling,\nLaTeX,\nand mIRC chat codes.";
23− buildType = "Simple";
24− isLocal = true;
25− detailLevel = "FullDetails";
26− licenseFiles = [ "LICENCE-LGPL" ];
27− dataDir = ".";
28− dataFiles = [ "hscolour.css" "data/rgb24-example-.hscolour" ];
29− extraSrcFiles = [];
30− extraTmpFiles = [];
31− extraDocFiles = [];
32− };
33− components = {
34− "library" = {
35− depends = [
36− (hsPkgs."base" or (errorHandler.buildDepError "base"))
37− (hsPkgs."containers" or (errorHandler.buildDepError "containers"))
38− ];
39− buildable = true;
40− modules = [
41− "Language/Haskell/HsColour"
42− "Language/Haskell/HsColour/ANSI"
43− "Language/Haskell/HsColour/Anchors"
44− "Language/Haskell/HsColour/ACSS"
45− "Language/Haskell/HsColour/CSS"
46− "Language/Haskell/HsColour/Classify"
47− "Language/Haskell/HsColour/ColourHighlight"
48− "Language/Haskell/HsColour/Colourise"
49− "Language/Haskell/HsColour/General"
50− "Language/Haskell/HsColour/HTML"
51− "Language/Haskell/HsColour/InlineCSS"
52− "Language/Haskell/HsColour/LaTeX"
53− "Language/Haskell/HsColour/MIRC"
54− "Language/Haskell/HsColour/Options"
55− "Language/Haskell/HsColour/Output"
56− "Language/Haskell/HsColour/TTY"
57− ];
58− };
59− exes = {
60− "HsColour" = {
61− depends = [
62− (hsPkgs."base" or (errorHandler.buildDepError "base"))
63− (hsPkgs."containers" or (errorHandler.buildDepError "containers"))
64− ];
65− buildable = true;
66− mainPath = [ "HsColour.hs" ];
67− };
68− };
69− };
70− } // rec { src = (pkgs.lib).mkDefault ../.; }
materialized/bootstrap/ghc8107/hscolour/default.nixdeleted−47
@@ -1,47 +0,0 @@
1−{
2− pkgs = hackage:
3− {
4− packages = {
5− "ghc-prim".revision = (((hackage."ghc-prim")."0.6.1").revisions).default;
6− "array".revision = (((hackage."array")."0.5.4.0").revisions).default;
7− "integer-gmp".revision = (((hackage."integer-gmp")."1.0.3.0").revisions).default;
8− "base".revision = (((hackage."base")."4.14.3.0").revisions).default;
9− "rts".revision = (((hackage."rts")."1.0.1").revisions).default;
10− "containers".revision = (((hackage."containers")."0.6.5.1").revisions).default;
11− "deepseq".revision = (((hackage."deepseq")."1.4.4.0").revisions).default;
12− };
13− compiler = {
14− version = "8.10.7";
15− nix-name = "ghc8107";
16− packages = {
17− "ghc-prim" = "0.6.1";
18− "array" = "0.5.4.0";
19− "integer-gmp" = "1.0.3.0";
20− "base" = "4.14.3.0";
21− "rts" = "1.0.1";
22− "containers" = "0.6.5.1";
23− "deepseq" = "1.4.4.0";
24− };
25− };
26− };
27− extras = hackage:
28− { packages = { hscolour = ./.plan.nix/hscolour.nix; }; };
29− modules = [
30− ({ lib, ... }:
31− { packages = { "hscolour" = { flags = {}; }; }; })
32− ({ lib, ... }:
33− {
34− packages = {
35− "containers".components.library.planned = lib.mkOverride 900 true;
36− "ghc-prim".components.library.planned = lib.mkOverride 900 true;
37− "hscolour".components.exes."HsColour".planned = lib.mkOverride 900 true;
38− "hscolour".components.library.planned = lib.mkOverride 900 true;
39− "integer-gmp".components.library.planned = lib.mkOverride 900 true;
40− "array".components.library.planned = lib.mkOverride 900 true;
41− "base".components.library.planned = lib.mkOverride 900 true;
42− "rts".components.library.planned = lib.mkOverride 900 true;
43− "deepseq".components.library.planned = lib.mkOverride 900 true;
44− };
45− })
46− ];
47− }
materialized/bootstrap/ghc844/alex/default.nix+18−34
@@ -3,34 +3,36 @@
3 {
3 {
4 packages = {
4 packages = {
5 "ghc-prim".revision = (((hackage."ghc-prim")."0.5.2.0").revisions).default;
5 "ghc-prim".revision = (((hackage."ghc-prim")."0.5.2.0").revisions).default;
6− "array".revision = (((hackage."array")."0.5.2.0").revisions).default;
7− "integer-gmp".revision = (((hackage."integer-gmp")."1.0.2.0").revisions).default;
8− "base".revision = (((hackage."base")."4.11.1.0").revisions).default;
9− "rts".revision = (((hackage."rts")."1.0").revisions).default;
10− "time".revision = (((hackage."time")."1.8.0.2").revisions).default;
11 "unix".revision = (((hackage."unix")."2.7.2.2").revisions).default;
6 "unix".revision = (((hackage."unix")."2.7.2.2").revisions).default;
12− "bytestring".revision = (((hackage."bytestring")."0.10.8.2").revisions).default;
7+ "rts".revision = (((hackage."rts")."1.0").revisions).default;
13− "containers".revision = (((hackage."containers")."0.5.11.0").revisions).default;
8+ "deepseq".revision = (((hackage."deepseq")."1.4.3.0").revisions).default;
14 "directory".revision = (((hackage."directory")."1.3.1.5").revisions).default;
9 "directory".revision = (((hackage."directory")."1.3.1.5").revisions).default;
10+ "containers".revision = (((hackage."containers")."0.5.11.0").revisions).default;
11+ "bytestring".revision = (((hackage."bytestring")."0.10.8.2").revisions).default;
12+ "base".revision = (((hackage."base")."4.11.1.0").revisions).default;
13+ "time".revision = (((hackage."time")."1.8.0.2").revisions).default;
15 "filepath".revision = (((hackage."filepath")."1.4.2").revisions).default;
14 "filepath".revision = (((hackage."filepath")."1.4.2").revisions).default;
16− "deepseq".revision = (((hackage."deepseq")."1.4.3.0").revisions).default;
15+ "process".revision = (((hackage."process")."1.6.3.0").revisions).default;
16+ "array".revision = (((hackage."array")."0.5.2.0").revisions).default;
17+ "integer-gmp".revision = (((hackage."integer-gmp")."1.0.2.0").revisions).default;
17 };
18 };
18 compiler = {
19 compiler = {
19 version = "8.4.4";
20 version = "8.4.4";
20 nix-name = "ghc844";
21 nix-name = "ghc844";
21 packages = {
22 packages = {
22 "ghc-prim" = "0.5.2.0";
23 "ghc-prim" = "0.5.2.0";
23− "array" = "0.5.2.0";
24− "integer-gmp" = "1.0.2.0";
25− "base" = "4.11.1.0";
26− "rts" = "1.0";
27− "time" = "1.8.0.2";
28 "unix" = "2.7.2.2";
24 "unix" = "2.7.2.2";
29− "bytestring" = "0.10.8.2";
25+ "rts" = "1.0";
30− "containers" = "0.5.11.0";
26+ "deepseq" = "1.4.3.0";
31 "directory" = "1.3.1.5";
27 "directory" = "1.3.1.5";
28+ "containers" = "0.5.11.0";
29+ "bytestring" = "0.10.8.2";
30+ "base" = "4.11.1.0";
31+ "time" = "1.8.0.2";
32 "filepath" = "1.4.2";
32 "filepath" = "1.4.2";
33− "deepseq" = "1.4.3.0";
33+ "process" = "1.6.3.0";
34+ "array" = "0.5.2.0";
35+ "integer-gmp" = "1.0.2.0";
34 };
36 };
35 };
37 };
36 };
38 };
@@ -43,23 +45,5 @@
43 "alex" = { flags = { "small_base" = lib.mkOverride 900 true; }; };
45 "alex" = { flags = { "small_base" = lib.mkOverride 900 true; }; };
44 };
46 };
45 })
47 })
46− ({ lib, ... }:
47− {
48− packages = {
49− "containers".components.library.planned = lib.mkOverride 900 true;
50− "ghc-prim".components.library.planned = lib.mkOverride 900 true;
51− "integer-gmp".components.library.planned = lib.mkOverride 900 true;
52− "array".components.library.planned = lib.mkOverride 900 true;
53− "bytestring".components.library.planned = lib.mkOverride 900 true;
54− "unix".components.library.planned = lib.mkOverride 900 true;
55− "alex".components.exes."alex".planned = lib.mkOverride 900 true;
56− "base".components.library.planned = lib.mkOverride 900 true;
57− "rts".components.library.planned = lib.mkOverride 900 true;
58− "time".components.library.planned = lib.mkOverride 900 true;
59− "deepseq".components.library.planned = lib.mkOverride 900 true;
60− "filepath".components.library.planned = lib.mkOverride 900 true;
61− "directory".components.library.planned = lib.mkOverride 900 true;
62− };
63− })
64 ];
48 ];
65 }
49 }
materialized/bootstrap/ghc844/happy-1.19.11/.plan.nix/happy.nix+1−1
@@ -30,7 +30,7 @@
30 ];
30 ];
31 detailLevel = "FullDetails";
31 detailLevel = "FullDetails";
32 licenseFiles = [ "LICENSE" ];
32 licenseFiles = [ "LICENSE" ];
33− dataDir = ".";
33+ dataDir = "";
34 dataFiles = [];
34 dataFiles = [];
35 extraSrcFiles = [
35 extraSrcFiles = [
36 "ANNOUNCE"
36 "ANNOUNCE"
materialized/bootstrap/ghc844/happy-1.19.11/default.nix+28−55
@@ -4,24 +4,24 @@
4 packages = {
4 packages = {
5 "binary".revision = (((hackage."binary")."0.8.5.1").revisions).default;
5 "binary".revision = (((hackage."binary")."0.8.5.1").revisions).default;
6 "ghc-prim".revision = (((hackage."ghc-prim")."0.5.2.0").revisions).default;
6 "ghc-prim".revision = (((hackage."ghc-prim")."0.5.2.0").revisions).default;
7− "array".revision = (((hackage."array")."0.5.2.0").revisions).default;
7+ "unix".revision = (((hackage."unix")."2.7.2.2").revisions).default;
8− "integer-gmp".revision = (((hackage."integer-gmp")."1.0.2.0").revisions).default;
8+ "mtl".revision = (((hackage."mtl")."2.2.2").revisions).default;
9− "pretty".revision = (((hackage."pretty")."1.1.3.6").revisions).default;
10− "process".revision = (((hackage."process")."1.6.3.0").revisions).default;
11− "base".revision = (((hackage."base")."4.11.1.0").revisions).default;
12 "rts".revision = (((hackage."rts")."1.0").revisions).default;
9 "rts".revision = (((hackage."rts")."1.0").revisions).default;
10+ "deepseq".revision = (((hackage."deepseq")."1.4.3.0").revisions).default;
11+ "parsec".revision = (((hackage."parsec")."3.1.13.0").revisions).default;
12+ "directory".revision = (((hackage."directory")."1.3.1.5").revisions).default;
13+ "containers".revision = (((hackage."containers")."0.5.11.0").revisions).default;
14+ "bytestring".revision = (((hackage."bytestring")."0.10.8.2").revisions).default;
13 "text".revision = (((hackage."text")."1.2.3.1").revisions).default;
15 "text".revision = (((hackage."text")."1.2.3.1").revisions).default;
14− "mtl".revision = (((hackage."mtl")."2.2.2").revisions).default;
16+ "Cabal".revision = (((hackage."Cabal")."2.2.0.1").revisions).default;
17+ "base".revision = (((hackage."base")."4.11.1.0").revisions).default;
15 "time".revision = (((hackage."time")."1.8.0.2").revisions).default;
18 "time".revision = (((hackage."time")."1.8.0.2").revisions).default;
16− "unix".revision = (((hackage."unix")."2.7.2.2").revisions).default;
17− "bytestring".revision = (((hackage."bytestring")."0.10.8.2").revisions).default;
18− "containers".revision = (((hackage."containers")."0.5.11.0").revisions).default;
19− "directory".revision = (((hackage."directory")."1.3.1.5").revisions).default;
20− "parsec".revision = (((hackage."parsec")."3.1.13.0").revisions).default;
21− "filepath".revision = (((hackage."filepath")."1.4.2").revisions).default;
22− "deepseq".revision = (((hackage."deepseq")."1.4.3.0").revisions).default;
23 "transformers".revision = (((hackage."transformers")."0.5.5.0").revisions).default;
19 "transformers".revision = (((hackage."transformers")."0.5.5.0").revisions).default;
24− "Cabal".revision = (((hackage."Cabal")."2.2.0.1").revisions).default;
20+ "filepath".revision = (((hackage."filepath")."1.4.2").revisions).default;
21+ "process".revision = (((hackage."process")."1.6.3.0").revisions).default;
22+ "pretty".revision = (((hackage."pretty")."1.1.3.6").revisions).default;
23+ "array".revision = (((hackage."array")."0.5.2.0").revisions).default;
24+ "integer-gmp".revision = (((hackage."integer-gmp")."1.0.2.0").revisions).default;
25 };
25 };
26 compiler = {
26 compiler = {
27 version = "8.4.4";
27 version = "8.4.4";
@@ -29,24 +29,24 @@
29 packages = {
29 packages = {
30 "binary" = "0.8.5.1";
30 "binary" = "0.8.5.1";
31 "ghc-prim" = "0.5.2.0";
31 "ghc-prim" = "0.5.2.0";
32− "array" = "0.5.2.0";
32+ "unix" = "2.7.2.2";
33− "integer-gmp" = "1.0.2.0";
33+ "mtl" = "2.2.2";
34− "pretty" = "1.1.3.6";
35− "process" = "1.6.3.0";
36− "base" = "4.11.1.0";
37 "rts" = "1.0";
34 "rts" = "1.0";
35+ "deepseq" = "1.4.3.0";
36+ "parsec" = "3.1.13.0";
37+ "directory" = "1.3.1.5";
38+ "containers" = "0.5.11.0";
39+ "bytestring" = "0.10.8.2";
38 "text" = "1.2.3.1";
40 "text" = "1.2.3.1";
39− "mtl" = "2.2.2";
41+ "Cabal" = "2.2.0.1";
42+ "base" = "4.11.1.0";
40 "time" = "1.8.0.2";
43 "time" = "1.8.0.2";
41− "unix" = "2.7.2.2";
42− "bytestring" = "0.10.8.2";
43− "containers" = "0.5.11.0";
44− "directory" = "1.3.1.5";
45− "parsec" = "3.1.13.0";
46− "filepath" = "1.4.2";
47− "deepseq" = "1.4.3.0";
48 "transformers" = "0.5.5.0";
44 "transformers" = "0.5.5.0";
49− "Cabal" = "2.2.0.1";
45+ "filepath" = "1.4.2";
46+ "process" = "1.6.3.0";
47+ "pretty" = "1.1.3.6";
48+ "array" = "0.5.2.0";
49+ "integer-gmp" = "1.0.2.0";
50 };
50 };
51 };
51 };
52 };
52 };
@@ -59,32 +59,5 @@
59 "happy" = { flags = { "small_base" = lib.mkOverride 900 true; }; };
59 "happy" = { flags = { "small_base" = lib.mkOverride 900 true; }; };
60 };
60 };
61 })
61 })
62− ({ lib, ... }:
63− {
64− packages = {
65− "containers".components.library.planned = lib.mkOverride 900 true;
66− "binary".components.library.planned = lib.mkOverride 900 true;
67− "ghc-prim".components.library.planned = lib.mkOverride 900 true;
68− "happy".components.exes."happy".planned = lib.mkOverride 900 true;
69− "Cabal".components.library.planned = lib.mkOverride 900 true;
70− "transformers".components.library.planned = lib.mkOverride 900 true;
71− "process".components.library.planned = lib.mkOverride 900 true;
72− "pretty".components.library.planned = lib.mkOverride 900 true;
73− "integer-gmp".components.library.planned = lib.mkOverride 900 true;
74− "array".components.library.planned = lib.mkOverride 900 true;
75− "bytestring".components.library.planned = lib.mkOverride 900 true;
76− "unix".components.library.planned = lib.mkOverride 900 true;
77− "text".components.library.planned = lib.mkOverride 900 true;
78− "base".components.library.planned = lib.mkOverride 900 true;
79− "rts".components.library.planned = lib.mkOverride 900 true;
80− "mtl".components.library.planned = lib.mkOverride 900 true;
81− "time".components.library.planned = lib.mkOverride 900 true;
82− "happy".components.setup.planned = lib.mkOverride 900 true;
83− "deepseq".components.library.planned = lib.mkOverride 900 true;
84− "filepath".components.library.planned = lib.mkOverride 900 true;
85− "parsec".components.library.planned = lib.mkOverride 900 true;
86− "directory".components.library.planned = lib.mkOverride 900 true;
87− };
88− })
89 ];
62 ];
90 }
63 }
materialized/bootstrap/ghc844/happy-1.19.12/default.nix+22−25
@@ -3,28 +3,40 @@
3 {
3 {
4 packages = {
4 packages = {
5 "ghc-prim".revision = (((hackage."ghc-prim")."0.5.2.0").revisions).default;
5 "ghc-prim".revision = (((hackage."ghc-prim")."0.5.2.0").revisions).default;
6− "array".revision = (((hackage."array")."0.5.2.0").revisions).default;
6+ "unix".revision = (((hackage."unix")."2.7.2.2").revisions).default;
7− "integer-gmp".revision = (((hackage."integer-gmp")."1.0.2.0").revisions).default;
8− "base".revision = (((hackage."base")."4.11.1.0").revisions).default;
9− "rts".revision = (((hackage."rts")."1.0").revisions).default;
10 "mtl".revision = (((hackage."mtl")."2.2.2").revisions).default;
7 "mtl".revision = (((hackage."mtl")."2.2.2").revisions).default;
11− "containers".revision = (((hackage."containers")."0.5.11.0").revisions).default;
8+ "rts".revision = (((hackage."rts")."1.0").revisions).default;
12 "deepseq".revision = (((hackage."deepseq")."1.4.3.0").revisions).default;
9 "deepseq".revision = (((hackage."deepseq")."1.4.3.0").revisions).default;
10+ "directory".revision = (((hackage."directory")."1.3.1.5").revisions).default;
11+ "containers".revision = (((hackage."containers")."0.5.11.0").revisions).default;
12+ "bytestring".revision = (((hackage."bytestring")."0.10.8.2").revisions).default;
13+ "base".revision = (((hackage."base")."4.11.1.0").revisions).default;
14+ "time".revision = (((hackage."time")."1.8.0.2").revisions).default;
13 "transformers".revision = (((hackage."transformers")."0.5.5.0").revisions).default;
15 "transformers".revision = (((hackage."transformers")."0.5.5.0").revisions).default;
16+ "filepath".revision = (((hackage."filepath")."1.4.2").revisions).default;
17+ "process".revision = (((hackage."process")."1.6.3.0").revisions).default;
18+ "array".revision = (((hackage."array")."0.5.2.0").revisions).default;
19+ "integer-gmp".revision = (((hackage."integer-gmp")."1.0.2.0").revisions).default;
14 };
20 };
15 compiler = {
21 compiler = {
16 version = "8.4.4";
22 version = "8.4.4";
17 nix-name = "ghc844";
23 nix-name = "ghc844";
18 packages = {
24 packages = {
19 "ghc-prim" = "0.5.2.0";
25 "ghc-prim" = "0.5.2.0";
20− "array" = "0.5.2.0";
26+ "unix" = "2.7.2.2";
21− "integer-gmp" = "1.0.2.0";
22− "base" = "4.11.1.0";
23− "rts" = "1.0";
24 "mtl" = "2.2.2";
27 "mtl" = "2.2.2";
25− "containers" = "0.5.11.0";
28+ "rts" = "1.0";
26 "deepseq" = "1.4.3.0";
29 "deepseq" = "1.4.3.0";
30+ "directory" = "1.3.1.5";
31+ "containers" = "0.5.11.0";
32+ "bytestring" = "0.10.8.2";
33+ "base" = "4.11.1.0";
34+ "time" = "1.8.0.2";
27 "transformers" = "0.5.5.0";
35 "transformers" = "0.5.5.0";
36+ "filepath" = "1.4.2";
37+ "process" = "1.6.3.0";
38+ "array" = "0.5.2.0";
39+ "integer-gmp" = "1.0.2.0";
28 };
40 };
29 };
41 };
30 };
42 };
@@ -37,20 +49,5 @@
37 "happy" = { flags = { "small_base" = lib.mkOverride 900 true; }; };
49 "happy" = { flags = { "small_base" = lib.mkOverride 900 true; }; };
38 };
50 };
39 })
51 })
40− ({ lib, ... }:
41− {
42− packages = {
43− "containers".components.library.planned = lib.mkOverride 900 true;
44− "ghc-prim".components.library.planned = lib.mkOverride 900 true;
45− "happy".components.exes."happy".planned = lib.mkOverride 900 true;
46− "transformers".components.library.planned = lib.mkOverride 900 true;
47− "integer-gmp".components.library.planned = lib.mkOverride 900 true;
48− "array".components.library.planned = lib.mkOverride 900 true;
49− "base".components.library.planned = lib.mkOverride 900 true;
50− "rts".components.library.planned = lib.mkOverride 900 true;
51− "mtl".components.library.planned = lib.mkOverride 900 true;
52− "deepseq".components.library.planned = lib.mkOverride 900 true;
53− };
54− })
55 ];
52 ];
56 }
53 }
materialized/bootstrap/ghc844/hscolour/default.nix+8−22
@@ -3,24 +3,24 @@
3 {
3 {
4 packages = {
4 packages = {
5 "ghc-prim".revision = (((hackage."ghc-prim")."0.5.2.0").revisions).default;
5 "ghc-prim".revision = (((hackage."ghc-prim")."0.5.2.0").revisions).default;
6− "array".revision = (((hackage."array")."0.5.2.0").revisions).default;
7− "integer-gmp".revision = (((hackage."integer-gmp")."1.0.2.0").revisions).default;
8− "base".revision = (((hackage."base")."4.11.1.0").revisions).default;
9 "rts".revision = (((hackage."rts")."1.0").revisions).default;
6 "rts".revision = (((hackage."rts")."1.0").revisions).default;
10− "containers".revision = (((hackage."containers")."0.5.11.0").revisions).default;
11 "deepseq".revision = (((hackage."deepseq")."1.4.3.0").revisions).default;
7 "deepseq".revision = (((hackage."deepseq")."1.4.3.0").revisions).default;
8+ "containers".revision = (((hackage."containers")."0.5.11.0").revisions).default;
9+ "base".revision = (((hackage."base")."4.11.1.0").revisions).default;
10+ "array".revision = (((hackage."array")."0.5.2.0").revisions).default;
11+ "integer-gmp".revision = (((hackage."integer-gmp")."1.0.2.0").revisions).default;
12 };
12 };
13 compiler = {
13 compiler = {
14 version = "8.4.4";
14 version = "8.4.4";
15 nix-name = "ghc844";
15 nix-name = "ghc844";
16 packages = {
16 packages = {
17 "ghc-prim" = "0.5.2.0";
17 "ghc-prim" = "0.5.2.0";
18− "array" = "0.5.2.0";
19− "integer-gmp" = "1.0.2.0";
20− "base" = "4.11.1.0";
21 "rts" = "1.0";
18 "rts" = "1.0";
22− "containers" = "0.5.11.0";
23 "deepseq" = "1.4.3.0";
19 "deepseq" = "1.4.3.0";
20+ "containers" = "0.5.11.0";
21+ "base" = "4.11.1.0";
22+ "array" = "0.5.2.0";
23+ "integer-gmp" = "1.0.2.0";
24 };
24 };
25 };
25 };
26 };
26 };
@@ -29,19 +29,5 @@
29 modules = [
29 modules = [
30 ({ lib, ... }:
30 ({ lib, ... }:
31 { packages = { "hscolour" = { flags = {}; }; }; })
31 { packages = { "hscolour" = { flags = {}; }; }; })
32− ({ lib, ... }:
33− {
34− packages = {
35− "containers".components.library.planned = lib.mkOverride 900 true;
36− "ghc-prim".components.library.planned = lib.mkOverride 900 true;
37− "hscolour".components.exes."HsColour".planned = lib.mkOverride 900 true;
38− "hscolour".components.library.planned = lib.mkOverride 900 true;
39− "integer-gmp".components.library.planned = lib.mkOverride 900 true;
40− "array".components.library.planned = lib.mkOverride 900 true;
41− "base".components.library.planned = lib.mkOverride 900 true;
42− "rts".components.library.planned = lib.mkOverride 900 true;
43− "deepseq".components.library.planned = lib.mkOverride 900 true;
44− };
45− })
46 ];
32 ];
47 }
33 }
materialized/bootstrap/ghc882/alex/.plan.nix/alex.nix+1−1
@@ -150,7 +150,7 @@
150 (hsPkgs."process" or (errorHandler.buildDepError "process"))
150 (hsPkgs."process" or (errorHandler.buildDepError "process"))
151 ];
151 ];
152 build-tools = [
152 build-tools = [
153− (hsPkgs.buildPackages.alex.components.exes.alex or (pkgs.buildPackages.alex or (errorHandler.buildToolDepError "alex:alex")))
153+ (hsPkgs.buildPackages.alex or (pkgs.buildPackages.alex or (errorHandler.buildToolDepError "alex")))
154 ];
154 ];
155 buildable = true;
155 buildable = true;
156 mainPath = [ "test.hs" ];
156 mainPath = [ "test.hs" ];
materialized/bootstrap/ghc882/alex/default.nix+18−38
@@ -3,36 +3,36 @@
3 {
3 {
4 packages = {
4 packages = {
5 "ghc-prim".revision = (((hackage."ghc-prim")."0.5.3").revisions).default;
5 "ghc-prim".revision = (((hackage."ghc-prim")."0.5.3").revisions).default;
6− "array".revision = (((hackage."array")."0.5.4.0").revisions).default;
7− "integer-gmp".revision = (((hackage."integer-gmp")."1.0.2.0").revisions).default;
8− "process".revision = (((hackage."process")."1.6.7.0").revisions).default;
9− "base".revision = (((hackage."base")."4.13.0.0").revisions).default;
10− "rts".revision = (((hackage."rts")."1.0").revisions).default;
11− "time".revision = (((hackage."time")."1.9.3").revisions).default;
12 "unix".revision = (((hackage."unix")."2.7.2.2").revisions).default;
6 "unix".revision = (((hackage."unix")."2.7.2.2").revisions).default;
13− "bytestring".revision = (((hackage."bytestring")."0.10.10.0").revisions).default;
7+ "rts".revision = (((hackage."rts")."1.0").revisions).default;
14− "containers".revision = (((hackage."containers")."0.6.2.1").revisions).default;
8+ "deepseq".revision = (((hackage."deepseq")."1.4.4.0").revisions).default;
15 "directory".revision = (((hackage."directory")."1.3.4.0").revisions).default;
9 "directory".revision = (((hackage."directory")."1.3.4.0").revisions).default;
10+ "containers".revision = (((hackage."containers")."0.6.2.1").revisions).default;
11+ "bytestring".revision = (((hackage."bytestring")."0.10.10.0").revisions).default;
12+ "base".revision = (((hackage."base")."4.13.0.0").revisions).default;
13+ "time".revision = (((hackage."time")."1.9.3").revisions).default;
16 "filepath".revision = (((hackage."filepath")."1.4.2.1").revisions).default;
14 "filepath".revision = (((hackage."filepath")."1.4.2.1").revisions).default;
17− "deepseq".revision = (((hackage."deepseq")."1.4.4.0").revisions).default;
15+ "process".revision = (((hackage."process")."1.6.7.0").revisions).default;
16+ "array".revision = (((hackage."array")."0.5.4.0").revisions).default;
17+ "integer-gmp".revision = (((hackage."integer-gmp")."1.0.2.0").revisions).default;
18 };
18 };
19 compiler = {
19 compiler = {
20 version = "8.8.2";
20 version = "8.8.2";
21 nix-name = "ghc882";
21 nix-name = "ghc882";
22 packages = {
22 packages = {
23 "ghc-prim" = "0.5.3";
23 "ghc-prim" = "0.5.3";
24− "array" = "0.5.4.0";
25− "integer-gmp" = "1.0.2.0";
26− "process" = "1.6.7.0";
27− "base" = "4.13.0.0";
28− "rts" = "1.0";
29− "time" = "1.9.3";
30 "unix" = "2.7.2.2";
24 "unix" = "2.7.2.2";
31− "bytestring" = "0.10.10.0";
25+ "rts" = "1.0";
32− "containers" = "0.6.2.1";
26+ "deepseq" = "1.4.4.0";
33 "directory" = "1.3.4.0";
27 "directory" = "1.3.4.0";
28+ "containers" = "0.6.2.1";
29+ "bytestring" = "0.10.10.0";
30+ "base" = "4.13.0.0";
31+ "time" = "1.9.3";
34 "filepath" = "1.4.2.1";
32 "filepath" = "1.4.2.1";
35− "deepseq" = "1.4.4.0";
33+ "process" = "1.6.7.0";
34+ "array" = "0.5.4.0";
35+ "integer-gmp" = "1.0.2.0";
36 };
36 };
37 };
37 };
38 };
38 };
@@ -45,25 +45,5 @@
45 "alex" = { flags = { "small_base" = lib.mkOverride 900 true; }; };
45 "alex" = { flags = { "small_base" = lib.mkOverride 900 true; }; };
46 };
46 };
47 })
47 })
48− ({ lib, ... }:
49− {
50− packages = {
51− "containers".components.library.planned = lib.mkOverride 900 true;
52− "ghc-prim".components.library.planned = lib.mkOverride 900 true;
53− "process".components.library.planned = lib.mkOverride 900 true;
54− "integer-gmp".components.library.planned = lib.mkOverride 900 true;
55− "array".components.library.planned = lib.mkOverride 900 true;
56− "bytestring".components.library.planned = lib.mkOverride 900 true;
57− "unix".components.library.planned = lib.mkOverride 900 true;
58− "alex".components.exes."alex".planned = lib.mkOverride 900 true;
59− "base".components.library.planned = lib.mkOverride 900 true;
60− "rts".components.library.planned = lib.mkOverride 900 true;
61− "time".components.library.planned = lib.mkOverride 900 true;
62− "deepseq".components.library.planned = lib.mkOverride 900 true;
63− "filepath".components.library.planned = lib.mkOverride 900 true;
64− "directory".components.library.planned = lib.mkOverride 900 true;
65− "alex".components.tests."tests".planned = lib.mkOverride 900 true;
66− };
67− })
68 ];
48 ];
69 }
49 }
materialized/bootstrap/ghc882/happy-1.19.12/.plan.nix/happy.nix+1−1
@@ -190,7 +190,7 @@
190 (hsPkgs."process" or (errorHandler.buildDepError "process"))
190 (hsPkgs."process" or (errorHandler.buildDepError "process"))
191 ];
191 ];
192 build-tools = [
192 build-tools = [
193− (hsPkgs.buildPackages.happy.components.exes.happy or (pkgs.buildPackages.happy or (errorHandler.buildToolDepError "happy:happy")))
193+ (hsPkgs.buildPackages.happy or (pkgs.buildPackages.happy or (errorHandler.buildToolDepError "happy")))
194 ];
194 ];
195 buildable = true;
195 buildable = true;
196 mainPath = [ "test.hs" ];
196 mainPath = [ "test.hs" ];
materialized/bootstrap/ghc882/happy-1.19.12/default.nix+22−44
@@ -3,40 +3,40 @@
3 {
3 {
4 packages = {
4 packages = {
5 "ghc-prim".revision = (((hackage."ghc-prim")."0.5.3").revisions).default;
5 "ghc-prim".revision = (((hackage."ghc-prim")."0.5.3").revisions).default;
6− "array".revision = (((hackage."array")."0.5.4.0").revisions).default;
7− "integer-gmp".revision = (((hackage."integer-gmp")."1.0.2.0").revisions).default;
8− "process".revision = (((hackage."process")."1.6.7.0").revisions).default;
9− "base".revision = (((hackage."base")."4.13.0.0").revisions).default;
10− "rts".revision = (((hackage."rts")."1.0").revisions).default;
11− "mtl".revision = (((hackage."mtl")."2.2.2").revisions).default;
12− "time".revision = (((hackage."time")."1.9.3").revisions).default;
13 "unix".revision = (((hackage."unix")."2.7.2.2").revisions).default;
6 "unix".revision = (((hackage."unix")."2.7.2.2").revisions).default;
14− "bytestring".revision = (((hackage."bytestring")."0.10.10.0").revisions).default;
15− "containers".revision = (((hackage."containers")."0.6.2.1").revisions).default;
7+ "mtl".revision = (((hackage."mtl")."2.2.2").revisions).default;
16− "directory".revision = (((hackage."directory")."1.3.4.0").revisions).default;
8+ "rts".revision = (((hackage."rts")."1.0").revisions).default;
17− "filepath".revision = (((hackage."filepath")."1.4.2.1").revisions).default;
18 "deepseq".revision = (((hackage."deepseq")."1.4.4.0").revisions).default;
9 "deepseq".revision = (((hackage."deepseq")."1.4.4.0").revisions).default;
10+ "directory".revision = (((hackage."directory")."1.3.4.0").revisions).default;
11+ "containers".revision = (((hackage."containers")."0.6.2.1").revisions).default;
12+ "bytestring".revision = (((hackage."bytestring")."0.10.10.0").revisions).default;
13+ "base".revision = (((hackage."base")."4.13.0.0").revisions).default;
14+ "time".revision = (((hackage."time")."1.9.3").revisions).default;
19 "transformers".revision = (((hackage."transformers")."0.5.6.2").revisions).default;
15 "transformers".revision = (((hackage."transformers")."0.5.6.2").revisions).default;
16+ "filepath".revision = (((hackage."filepath")."1.4.2.1").revisions).default;
17+ "process".revision = (((hackage."process")."1.6.7.0").revisions).default;
18+ "array".revision = (((hackage."array")."0.5.4.0").revisions).default;
19+ "integer-gmp".revision = (((hackage."integer-gmp")."1.0.2.0").revisions).default;
20 };
20 };
21 compiler = {
21 compiler = {
22 version = "8.8.2";
22 version = "8.8.2";
23 nix-name = "ghc882";
23 nix-name = "ghc882";
24 packages = {
24 packages = {
25 "ghc-prim" = "0.5.3";
25 "ghc-prim" = "0.5.3";
26− "array" = "0.5.4.0";
27− "integer-gmp" = "1.0.2.0";
28− "process" = "1.6.7.0";
29− "base" = "4.13.0.0";
30− "rts" = "1.0";
31− "mtl" = "2.2.2";
32− "time" = "1.9.3";
33 "unix" = "2.7.2.2";
26 "unix" = "2.7.2.2";
34− "bytestring" = "0.10.10.0";
27+ "mtl" = "2.2.2";
35− "containers" = "0.6.2.1";
28+ "rts" = "1.0";
36− "directory" = "1.3.4.0";
37− "filepath" = "1.4.2.1";
38 "deepseq" = "1.4.4.0";
29 "deepseq" = "1.4.4.0";
30+ "directory" = "1.3.4.0";
31+ "containers" = "0.6.2.1";
32+ "bytestring" = "0.10.10.0";
33+ "base" = "4.13.0.0";
34+ "time" = "1.9.3";
39 "transformers" = "0.5.6.2";
35 "transformers" = "0.5.6.2";
36+ "filepath" = "1.4.2.1";
37+ "process" = "1.6.7.0";
38+ "array" = "0.5.4.0";
39+ "integer-gmp" = "1.0.2.0";
40 };
40 };
41 };
41 };
42 };
42 };
@@ -49,27 +49,5 @@
49 "happy" = { flags = { "small_base" = lib.mkOverride 900 true; }; };
49 "happy" = { flags = { "small_base" = lib.mkOverride 900 true; }; };
50 };
50 };
51 })
51 })
52− ({ lib, ... }:
53− {
54− packages = {
55− "containers".components.library.planned = lib.mkOverride 900 true;
56− "ghc-prim".components.library.planned = lib.mkOverride 900 true;
57− "happy".components.exes."happy".planned = lib.mkOverride 900 true;
58− "transformers".components.library.planned = lib.mkOverride 900 true;
59− "process".components.library.planned = lib.mkOverride 900 true;
60− "integer-gmp".components.library.planned = lib.mkOverride 900 true;
61− "array".components.library.planned = lib.mkOverride 900 true;
62− "bytestring".components.library.planned = lib.mkOverride 900 true;
63− "unix".components.library.planned = lib.mkOverride 900 true;
64− "base".components.library.planned = lib.mkOverride 900 true;
65− "rts".components.library.planned = lib.mkOverride 900 true;
66− "mtl".components.library.planned = lib.mkOverride 900 true;
67− "time".components.library.planned = lib.mkOverride 900 true;
68− "deepseq".components.library.planned = lib.mkOverride 900 true;
69− "filepath".components.library.planned = lib.mkOverride 900 true;
70− "happy".components.tests."tests".planned = lib.mkOverride 900 true;
71− "directory".components.library.planned = lib.mkOverride 900 true;
72− };
73− })
74 ];
52 ];
75 }
53 }
materialized/bootstrap/ghc882/hscolour/.plan.nix/hscolour.nix+1−1
@@ -24,7 +24,7 @@
24 isLocal = true;
24 isLocal = true;
25 detailLevel = "FullDetails";
25 detailLevel = "FullDetails";
26 licenseFiles = [ "LICENCE-LGPL" ];
26 licenseFiles = [ "LICENCE-LGPL" ];
27− dataDir = ".";
27+ dataDir = "";
28 dataFiles = [ "hscolour.css" "data/rgb24-example-.hscolour" ];
28 dataFiles = [ "hscolour.css" "data/rgb24-example-.hscolour" ];
29 extraSrcFiles = [];
29 extraSrcFiles = [];
30 extraTmpFiles = [];
30 extraTmpFiles = [];
materialized/bootstrap/ghc882/hscolour/default.nix+8−22
@@ -3,24 +3,24 @@
3 {
3 {
4 packages = {
4 packages = {
5 "ghc-prim".revision = (((hackage."ghc-prim")."0.5.3").revisions).default;
5 "ghc-prim".revision = (((hackage."ghc-prim")."0.5.3").revisions).default;
6− "array".revision = (((hackage."array")."0.5.4.0").revisions).default;
7− "integer-gmp".revision = (((hackage."integer-gmp")."1.0.2.0").revisions).default;
8− "base".revision = (((hackage."base")."4.13.0.0").revisions).default;
9 "rts".revision = (((hackage."rts")."1.0").revisions).default;
6 "rts".revision = (((hackage."rts")."1.0").revisions).default;
10− "containers".revision = (((hackage."containers")."0.6.2.1").revisions).default;
11 "deepseq".revision = (((hackage."deepseq")."1.4.4.0").revisions).default;
7 "deepseq".revision = (((hackage."deepseq")."1.4.4.0").revisions).default;
8+ "containers".revision = (((hackage."containers")."0.6.2.1").revisions).default;
9+ "base".revision = (((hackage."base")."4.13.0.0").revisions).default;
10+ "array".revision = (((hackage."array")."0.5.4.0").revisions).default;
11+ "integer-gmp".revision = (((hackage."integer-gmp")."1.0.2.0").revisions).default;
12 };
12 };
13 compiler = {
13 compiler = {
14 version = "8.8.2";
14 version = "8.8.2";
15 nix-name = "ghc882";
15 nix-name = "ghc882";
16 packages = {
16 packages = {
17 "ghc-prim" = "0.5.3";
17 "ghc-prim" = "0.5.3";
18− "array" = "0.5.4.0";
19− "integer-gmp" = "1.0.2.0";
20− "base" = "4.13.0.0";
21 "rts" = "1.0";
18 "rts" = "1.0";
22− "containers" = "0.6.2.1";
23 "deepseq" = "1.4.4.0";
19 "deepseq" = "1.4.4.0";
20+ "containers" = "0.6.2.1";
21+ "base" = "4.13.0.0";
22+ "array" = "0.5.4.0";
23+ "integer-gmp" = "1.0.2.0";
24 };
24 };
25 };
25 };
26 };
26 };
@@ -29,19 +29,5 @@
29 modules = [
29 modules = [
30 ({ lib, ... }:
30 ({ lib, ... }:
31 { packages = { "hscolour" = { flags = {}; }; }; })
31 { packages = { "hscolour" = { flags = {}; }; }; })
32− ({ lib, ... }:
33− {
34− packages = {
35− "containers".components.library.planned = lib.mkOverride 900 true;
36− "ghc-prim".components.library.planned = lib.mkOverride 900 true;
37− "hscolour".components.exes."HsColour".planned = lib.mkOverride 900 true;
38− "hscolour".components.library.planned = lib.mkOverride 900 true;
39− "integer-gmp".components.library.planned = lib.mkOverride 900 true;
40− "array".components.library.planned = lib.mkOverride 900 true;
41− "base".components.library.planned = lib.mkOverride 900 true;
42− "rts".components.library.planned = lib.mkOverride 900 true;
43− "deepseq".components.library.planned = lib.mkOverride 900 true;
44− };
45− })
46 ];
32 ];
47 }
33 }
materialized/bootstrap/ghc883/alex/.plan.nix/alex.nixdeleted−160
@@ -1,160 +0,0 @@
1−{ system
2− , compiler
3− , flags
4− , pkgs
5− , hsPkgs
6− , pkgconfPkgs
7− , errorHandler
8− , config
9− , ... }:
10− {
11− flags = { small_base = true; };
12− package = {
13− specVersion = "1.8";
14− identifier = { name = "alex"; version = "3.2.4"; };
15− license = "BSD-3-Clause";
16− copyright = "(c) Chis Dornan, Simon Marlow";
17− maintainer = "Simon Marlow <marlowsd@gmail.com>";
18− author = "Chris Dornan and Simon Marlow";
19− homepage = "http://www.haskell.org/alex/";
20− url = "";
21− synopsis = "Alex is a tool for generating lexical analysers in Haskell";
22− description = "Alex is a tool for generating lexical analysers in Haskell.\nIt takes a description of tokens based on regular\nexpressions and generates a Haskell module containing code\nfor scanning text efficiently. It is similar to the tool\nlex or flex for C/C++.";
23− buildType = "Simple";
24− isLocal = true;
25− detailLevel = "FullDetails";
26− licenseFiles = [ "LICENSE" ];
27− dataDir = "data/";
28− dataFiles = [
29− "AlexTemplate"
30− "AlexTemplate-ghc"
31− "AlexTemplate-ghc-nopred"
32− "AlexTemplate-ghc-debug"
33− "AlexTemplate-debug"
34− "AlexWrapper-basic"
35− "AlexWrapper-basic-bytestring"
36− "AlexWrapper-strict-bytestring"
37− "AlexWrapper-posn"
38− "AlexWrapper-posn-bytestring"
39− "AlexWrapper-monad"
40− "AlexWrapper-monad-bytestring"
41− "AlexWrapper-monadUserState"
42− "AlexWrapper-monadUserState-bytestring"
43− "AlexWrapper-gscan"
44− ];
45− extraSrcFiles = [
46− "CHANGELOG.md"
47− "README.md"
48− "TODO"
49− "alex.spec"
50− "doc/Makefile"
51− "doc/aclocal.m4"
52− "doc/alex.1.in"
53− "doc/alex.xml"
54− "doc/config.mk.in"
55− "doc/configure.ac"
56− "doc/docbook-xml.mk"
57− "doc/fptools.css"
58− "examples/Makefile"
59− "examples/Tokens.x"
60− "examples/Tokens_gscan.x"
61− "examples/Tokens_posn.x"
62− "examples/examples.x"
63− "examples/haskell.x"
64− "examples/lit.x"
65− "examples/pp.x"
66− "examples/state.x"
67− "examples/tiny.y"
68− "examples/words.x"
69− "examples/words_monad.x"
70− "examples/words_posn.x"
71− "src/Parser.y.boot"
72− "src/Scan.x.boot"
73− "src/ghc_hooks.c"
74− "templates/GenericTemplate.hs"
75− "templates/wrappers.hs"
76− "tests/Makefile"
77− "tests/simple.x"
78− "tests/null.x"
79− "tests/tokens.x"
80− "tests/tokens_gscan.x"
81− "tests/tokens_posn.x"
82− "tests/tokens_bytestring.x"
83− "tests/tokens_posn_bytestring.x"
84− "tests/tokens_scan_user.x"
85− "tests/tokens_strict_bytestring.x"
86− "tests/tokens_monad_bytestring.x"
87− "tests/tokens_monadUserState_bytestring.x"
88− "tests/tokens_bytestring_unicode.x"
89− "tests/basic_typeclass.x"
90− "tests/basic_typeclass_bytestring.x"
91− "tests/default_typeclass.x"
92− "tests/gscan_typeclass.x"
93− "tests/posn_typeclass.x"
94− "tests/monad_typeclass.x"
95− "tests/monad_typeclass_bytestring.x"
96− "tests/monadUserState_typeclass.x"
97− "tests/monadUserState_typeclass_bytestring.x"
98− "tests/posn_typeclass_bytestring.x"
99− "tests/strict_typeclass.x"
100− "tests/unicode.x"
101− ];
102− extraTmpFiles = [];
103− extraDocFiles = [];
104− };
105− components = {
106− exes = {
107− "alex" = {
108− depends = [
109− (hsPkgs."base" or (errorHandler.buildDepError "base"))
110− ] ++ (if flags.small_base
111− then [
112− (hsPkgs."base" or (errorHandler.buildDepError "base"))
113− (hsPkgs."array" or (errorHandler.buildDepError "array"))
114− (hsPkgs."containers" or (errorHandler.buildDepError "containers"))
115− (hsPkgs."directory" or (errorHandler.buildDepError "directory"))
116− ]
117− else [ (hsPkgs."base" or (errorHandler.buildDepError "base")) ]);
118− buildable = true;
119− modules = [
120− "AbsSyn"
121− "CharSet"
122− "DFA"
123− "DFAMin"
124− "DFS"
125− "Info"
126− "Map"
127− "NFA"
128− "Output"
129− "Paths_alex"
130− "Parser"
131− "ParseMonad"
132− "Scan"
133− "Set"
134− "Sort"
135− "Util"
136− "UTF8"
137− "Data/Ranged"
138− "Data/Ranged/Boundaries"
139− "Data/Ranged/RangedSet"
140− "Data/Ranged/Ranges"
141− ];
142− hsSourceDirs = [ "src" ];
143− mainPath = [ "Main.hs" ] ++ [ "" ];
144− };
145− };
146− tests = {
147− "tests" = {
148− depends = [
149− (hsPkgs."base" or (errorHandler.buildDepError "base"))
150− (hsPkgs."process" or (errorHandler.buildDepError "process"))
151− ];
152− build-tools = [
153− (hsPkgs.buildPackages.alex.components.exes.alex or (pkgs.buildPackages.alex or (errorHandler.buildToolDepError "alex:alex")))
154− ];
155− buildable = true;
156− mainPath = [ "test.hs" ];
157− };
158− };
159− };
160− } // rec { src = (pkgs.lib).mkDefault ../.; }
materialized/bootstrap/ghc883/alex/default.nixdeleted−65
@@ -1,65 +0,0 @@
1−{
2− pkgs = hackage:
3− {
4− packages = {
5− "array".revision = (((hackage."array")."0.5.4.0").revisions).default;
6− "bytestring".revision = (((hackage."bytestring")."0.10.10.0").revisions).default;
7− "filepath".revision = (((hackage."filepath")."1.4.2.1").revisions).default;
8− "ghc-prim".revision = (((hackage."ghc-prim")."0.5.3").revisions).default;
9− "base".revision = (((hackage."base")."4.13.0.0").revisions).default;
10− "time".revision = (((hackage."time")."1.9.3").revisions).default;
11− "directory".revision = (((hackage."directory")."1.3.6.0").revisions).default;
12− "rts".revision = (((hackage."rts")."1.0").revisions).default;
13− "deepseq".revision = (((hackage."deepseq")."1.4.4.0").revisions).default;
14− "unix".revision = (((hackage."unix")."2.7.2.2").revisions).default;
15− "integer-gmp".revision = (((hackage."integer-gmp")."1.0.2.0").revisions).default;
16− "containers".revision = (((hackage."containers")."0.6.2.1").revisions).default;
17− };
18− compiler = {
19− version = "8.8.3";
20− nix-name = "ghc883";
21− packages = {
22− "array" = "0.5.4.0";
23− "bytestring" = "0.10.10.0";
24− "filepath" = "1.4.2.1";
25− "ghc-prim" = "0.5.3";
26− "base" = "4.13.0.0";
27− "time" = "1.9.3";
28− "directory" = "1.3.6.0";
29− "rts" = "1.0";
30− "deepseq" = "1.4.4.0";
31− "unix" = "2.7.2.2";
32− "integer-gmp" = "1.0.2.0";
33− "containers" = "0.6.2.1";
34− };
35− };
36− };
37− extras = hackage:
38− { packages = { alex = ./.plan.nix/alex.nix; }; };
39− modules = [
40− ({ lib, ... }:
41− {
42− packages = {
43− "alex" = { flags = { "small_base" = lib.mkOverride 900 true; }; };
44− };
45− })
46− ({ lib, ... }:
47− {
48− packages = {
49− "filepath".components.library.planned = lib.mkOverride 900 true;
50− "bytestring".components.library.planned = lib.mkOverride 900 true;
51− "ghc-prim".components.library.planned = lib.mkOverride 900 true;
52− "array".components.library.planned = lib.mkOverride 900 true;
53− "rts".components.library.planned = lib.mkOverride 900 true;
54− "unix".components.library.planned = lib.mkOverride 900 true;
55− "directory".components.library.planned = lib.mkOverride 900 true;
56− "time".components.library.planned = lib.mkOverride 900 true;
57− "alex".components.exes."alex".planned = lib.mkOverride 900 true;
58− "deepseq".components.library.planned = lib.mkOverride 900 true;
59− "base".components.library.planned = lib.mkOverride 900 true;
60− "integer-gmp".components.library.planned = lib.mkOverride 900 true;
61− "containers".components.library.planned = lib.mkOverride 900 true;
62− };
63− })
64− ];
65− }
materialized/bootstrap/ghc883/happy-1.19.12/.plan.nix/happy.nixdeleted−200
@@ -1,200 +0,0 @@
1−{ system
2− , compiler
3− , flags
4− , pkgs
5− , hsPkgs
6− , pkgconfPkgs
7− , errorHandler
8− , config
9− , ... }:
10− {
11− flags = { small_base = true; };
12− package = {
13− specVersion = "1.8";
14− identifier = { name = "happy"; version = "1.19.12"; };
15− license = "BSD-2-Clause";
16− copyright = "(c) Andy Gill, Simon Marlow";
17− maintainer = "Simon Marlow <marlowsd@gmail.com>";
18− author = "Andy Gill and Simon Marlow";
19− homepage = "https://www.haskell.org/happy/";
20− url = "";
21− synopsis = "Happy is a parser generator for Haskell";
22− description = "Happy is a parser generator for Haskell. Given a grammar\nspecification in BNF, Happy generates Haskell code to parse the\ngrammar. Happy works in a similar way to the @yacc@ tool for C.";
23− buildType = "Simple";
24− isLocal = true;
25− detailLevel = "FullDetails";
26− licenseFiles = [ "LICENSE" ];
27− dataDir = "data/";
28− dataFiles = [
29− "HappyTemplate"
30− "HappyTemplate-arrays"
31− "HappyTemplate-arrays-coerce"
32− "HappyTemplate-arrays-coerce-debug"
33− "HappyTemplate-arrays-debug"
34− "HappyTemplate-arrays-ghc"
35− "HappyTemplate-arrays-ghc-debug"
36− "HappyTemplate-coerce"
37− "HappyTemplate-ghc"
38− "GLR_Base"
39− "GLR_Lib"
40− "GLR_Lib-ghc"
41− "GLR_Lib-ghc-debug"
42− ];
43− extraSrcFiles = [
44− "ANNOUNCE"
45− "CHANGES"
46− "Makefile"
47− "README.md"
48− "TODO"
49− "doc/Makefile"
50− "doc/aclocal.m4"
51− "doc/config.mk.in"
52− "doc/configure.ac"
53− "doc/docbook-xml.mk"
54− "doc/fptools.css"
55− "doc/happy.1.in"
56− "doc/happy.xml"
57− "examples/glr/nlp/Main.lhs"
58− "examples/glr/nlp/Makefile"
59− "examples/glr/nlp/README"
60− "examples/glr/nlp/English.y"
61− "examples/glr/nlp/Hugs.lhs"
62− "examples/glr/Makefile"
63− "examples/glr/Makefile.defs"
64− "examples/glr/expr-eval/Main.lhs"
65− "examples/glr/expr-eval/Makefile"
66− "examples/glr/expr-eval/Expr.y"
67− "examples/glr/expr-eval/README"
68− "examples/glr/expr-eval/Hugs.lhs"
69− "examples/glr/expr-tree/Main.lhs"
70− "examples/glr/expr-tree/Makefile"
71− "examples/glr/expr-tree/Expr.y"
72− "examples/glr/expr-tree/README"
73− "examples/glr/expr-tree/Tree.lhs"
74− "examples/glr/expr-tree/Hugs.lhs"
75− "examples/glr/highly-ambiguous/Main.lhs"
76− "examples/glr/highly-ambiguous/Makefile"
77− "examples/glr/highly-ambiguous/Expr.y"
78− "examples/glr/highly-ambiguous/README"
79− "examples/glr/highly-ambiguous/Hugs.lhs"
80− "examples/glr/hidden-leftrec/Main.lhs"
81− "examples/glr/hidden-leftrec/Makefile"
82− "examples/glr/hidden-leftrec/Expr.y"
83− "examples/glr/hidden-leftrec/README"
84− "examples/glr/hidden-leftrec/Hugs.lhs"
85− "examples/glr/expr-monad/Main.lhs"
86− "examples/glr/expr-monad/Makefile"
87− "examples/glr/expr-monad/Expr.y"
88− "examples/glr/expr-monad/README"
89− "examples/glr/expr-monad/Hugs.lhs"
90− "examples/glr/bio-eg/Main.lhs"
91− "examples/glr/bio-eg/Makefile"
92− "examples/glr/bio-eg/Bio.y"
93− "examples/glr/bio-eg/README"
94− "examples/glr/bio-eg/1-1200.dna"
95− "examples/glr/bio-eg/1-600.dna"
96− "examples/glr/common/DV_lhs"
97− "examples/glr/common/DaVinciTypes.hs"
98− "examples/glr/packing/Main.lhs"
99− "examples/glr/packing/Makefile"
100− "examples/glr/packing/Expr.y"
101− "examples/glr/packing/README"
102− "examples/glr/packing/Hugs.lhs"
103− "examples/PgnParser.ly"
104− "examples/MonadTest.ly"
105− "examples/igloo/ParserM.hs"
106− "examples/igloo/Makefile"
107− "examples/igloo/Parser.y"
108− "examples/igloo/Foo.hs"
109− "examples/igloo/README"
110− "examples/igloo/Lexer.x"
111− "examples/README"
112− "examples/Calc.ly"
113− "examples/DavesExample.ly"
114− "examples/ErrorTest.ly"
115− "examples/ErlParser.ly"
116− "examples/SimonsExample.ly"
117− "examples/LexerTest.ly"
118− "happy.spec"
119− "src/ARRAY-NOTES"
120− "tests/AttrGrammar001.y"
121− "tests/AttrGrammar002.y"
122− "tests/Makefile"
123− "tests/Partial.ly"
124− "tests/Test.ly"
125− "tests/TestMulti.ly"
126− "tests/TestPrecedence.ly"
127− "tests/bogus-token.y"
128− "tests/bug001.ly"
129− "tests/bug002.y"
130− "tests/error001.stderr"
131− "tests/error001.stdout"
132− "tests/error001.y"
133− "tests/monad001.y"
134− "tests/monad002.ly"
135− "tests/monaderror.y"
136− "tests/precedence001.ly"
137− "tests/precedence002.y"
138− "tests/test_rules.y"
139− "tests/issue91.y"
140− "tests/issue93.y"
141− "tests/issue94.y"
142− "tests/issue95.y"
143− "tests/monaderror-explist.y"
144− "tests/typeclass_monad001.y"
145− "tests/typeclass_monad002.ly"
146− "tests/typeclass_monad_lexer.y"
147− "tests/rank2.y"
148− ];
149− extraTmpFiles = [];
150− extraDocFiles = [];
151− };
152− components = {
153− exes = {
154− "happy" = {
155− depends = [
156− (hsPkgs."base" or (errorHandler.buildDepError "base"))
157− (hsPkgs."array" or (errorHandler.buildDepError "array"))
158− (hsPkgs."containers" or (errorHandler.buildDepError "containers"))
159− (hsPkgs."mtl" or (errorHandler.buildDepError "mtl"))
160− ];
161− buildable = true;
162− modules = [
163− "Paths_happy"
164− "AbsSyn"
165− "First"
166− "GenUtils"
167− "Grammar"
168− "Info"
169− "LALR"
170− "Lexer"
171− "ParseMonad"
172− "Parser"
173− "ProduceCode"
174− "ProduceGLRCode"
175− "NameSet"
176− "Target"
177− "AttrGrammar"
178− "AttrGrammarParser"
179− "ParamRules"
180− "PrettyGrammar"
181− ];
182− hsSourceDirs = [ "src" ];
183− mainPath = [ "Main.lhs" ];
184− };
185− };
186− tests = {
187− "tests" = {
188− depends = [
189− (hsPkgs."base" or (errorHandler.buildDepError "base"))
190− (hsPkgs."process" or (errorHandler.buildDepError "process"))
191− ];
192− build-tools = [
193− (hsPkgs.buildPackages.happy.components.exes.happy or (pkgs.buildPackages.happy or (errorHandler.buildToolDepError "happy:happy")))
194− ];
195− buildable = true;
196− mainPath = [ "test.hs" ];
197− };
198− };
199− };
200− } // rec { src = (pkgs.lib).mkDefault ../.; }
materialized/bootstrap/ghc883/happy-1.19.12/default.nixdeleted−56
@@ -1,56 +0,0 @@
1−{
2− pkgs = hackage:
3− {
4− packages = {
5− "array".revision = (((hackage."array")."0.5.4.0").revisions).default;
6− "mtl".revision = (((hackage."mtl")."2.2.2").revisions).default;
7− "ghc-prim".revision = (((hackage."ghc-prim")."0.5.3").revisions).default;
8− "base".revision = (((hackage."base")."4.13.0.0").revisions).default;
9− "rts".revision = (((hackage."rts")."1.0").revisions).default;
10− "transformers".revision = (((hackage."transformers")."0.5.6.2").revisions).default;
11− "deepseq".revision = (((hackage."deepseq")."1.4.4.0").revisions).default;
12− "integer-gmp".revision = (((hackage."integer-gmp")."1.0.2.0").revisions).default;
13− "containers".revision = (((hackage."containers")."0.6.2.1").revisions).default;
14− };
15− compiler = {
16− version = "8.8.3";
17− nix-name = "ghc883";
18− packages = {
19− "array" = "0.5.4.0";
20− "mtl" = "2.2.2";
21− "ghc-prim" = "0.5.3";
22− "base" = "4.13.0.0";
23− "rts" = "1.0";
24− "transformers" = "0.5.6.2";
25− "deepseq" = "1.4.4.0";
26− "integer-gmp" = "1.0.2.0";
27− "containers" = "0.6.2.1";
28− };
29− };
30− };
31− extras = hackage:
32− { packages = { happy = ./.plan.nix/happy.nix; }; };
33− modules = [
34− ({ lib, ... }:
35− {
36− packages = {
37− "happy" = { flags = { "small_base" = lib.mkOverride 900 true; }; };
38− };
39− })
40− ({ lib, ... }:
41− {
42− packages = {
43− "ghc-prim".components.library.planned = lib.mkOverride 900 true;
44− "array".components.library.planned = lib.mkOverride 900 true;
45− "rts".components.library.planned = lib.mkOverride 900 true;
46− "happy".components.exes."happy".planned = lib.mkOverride 900 true;
47− "mtl".components.library.planned = lib.mkOverride 900 true;
48− "transformers".components.library.planned = lib.mkOverride 900 true;
49− "deepseq".components.library.planned = lib.mkOverride 900 true;
50− "base".components.library.planned = lib.mkOverride 900 true;
51− "integer-gmp".components.library.planned = lib.mkOverride 900 true;
52− "containers".components.library.planned = lib.mkOverride 900 true;
53− };
54− })
55− ];
56− }
materialized/bootstrap/ghc883/hscolour/.plan.nix/hscolour.nixdeleted−70
@@ -1,70 +0,0 @@
1−{ system
2− , compiler
3− , flags
4− , pkgs
5− , hsPkgs
6− , pkgconfPkgs
7− , errorHandler
8− , config
9− , ... }:
10− {
11− flags = {};
12− package = {
13− specVersion = "1.6";
14− identifier = { name = "hscolour"; version = "1.24.4"; };
15− license = "LicenseRef-LGPL";
16− copyright = "2003-2017 Malcolm Wallace; 2006 Bjorn Bringert";
17− maintainer = "Malcolm Wallace";
18− author = "Malcolm Wallace";
19− homepage = "http://code.haskell.org/~malcolm/hscolour/";
20− url = "";
21− synopsis = "Colourise Haskell code.";
22− description = "hscolour is a small Haskell script to colourise Haskell code. It currently\nhas six output formats:\nANSI terminal codes (optionally XTerm-256colour codes),\nHTML 3.2 with <font> tags,\nHTML 4.01 with CSS,\nHTML 4.01 with CSS and mouseover annotations,\nXHTML 1.0 with inline CSS styling,\nLaTeX,\nand mIRC chat codes.";
23− buildType = "Simple";
24− isLocal = true;
25− detailLevel = "FullDetails";
26− licenseFiles = [ "LICENCE-LGPL" ];
27− dataDir = ".";
28− dataFiles = [ "hscolour.css" "data/rgb24-example-.hscolour" ];
29− extraSrcFiles = [];
30− extraTmpFiles = [];
31− extraDocFiles = [];
32− };
33− components = {
34− "library" = {
35− depends = [
36− (hsPkgs."base" or (errorHandler.buildDepError "base"))
37− (hsPkgs."containers" or (errorHandler.buildDepError "containers"))
38− ];
39− buildable = true;
40− modules = [
41− "Language/Haskell/HsColour"
42− "Language/Haskell/HsColour/ANSI"
43− "Language/Haskell/HsColour/Anchors"
44− "Language/Haskell/HsColour/ACSS"
45− "Language/Haskell/HsColour/CSS"
46− "Language/Haskell/HsColour/Classify"
47− "Language/Haskell/HsColour/ColourHighlight"
48− "Language/Haskell/HsColour/Colourise"
49− "Language/Haskell/HsColour/General"
50− "Language/Haskell/HsColour/HTML"
51− "Language/Haskell/HsColour/InlineCSS"
52− "Language/Haskell/HsColour/LaTeX"
53− "Language/Haskell/HsColour/MIRC"
54− "Language/Haskell/HsColour/Options"
55− "Language/Haskell/HsColour/Output"
56− "Language/Haskell/HsColour/TTY"
57− ];
58− };
59− exes = {
60− "HsColour" = {
61− depends = [
62− (hsPkgs."base" or (errorHandler.buildDepError "base"))
63− (hsPkgs."containers" or (errorHandler.buildDepError "containers"))
64− ];
65− buildable = true;
66− mainPath = [ "HsColour.hs" ];
67− };
68− };
69− };
70− } // rec { src = (pkgs.lib).mkDefault ../.; }
materialized/bootstrap/ghc883/hscolour/default.nixdeleted−47
@@ -1,47 +0,0 @@
1−{
2− pkgs = hackage:
3− {
4− packages = {
5− "array".revision = (((hackage."array")."0.5.4.0").revisions).default;
6− "ghc-prim".revision = (((hackage."ghc-prim")."0.5.3").revisions).default;
7− "base".revision = (((hackage."base")."4.13.0.0").revisions).default;
8− "rts".revision = (((hackage."rts")."1.0").revisions).default;
9− "deepseq".revision = (((hackage."deepseq")."1.4.4.0").revisions).default;
10− "integer-gmp".revision = (((hackage."integer-gmp")."1.0.2.0").revisions).default;
11− "containers".revision = (((hackage."containers")."0.6.2.1").revisions).default;
12− };
13− compiler = {
14− version = "8.8.3";
15− nix-name = "ghc883";
16− packages = {
17− "array" = "0.5.4.0";
18− "ghc-prim" = "0.5.3";
19− "base" = "4.13.0.0";
20− "rts" = "1.0";
21− "deepseq" = "1.4.4.0";
22− "integer-gmp" = "1.0.2.0";
23− "containers" = "0.6.2.1";
24− };
25− };
26− };
27− extras = hackage:
28− { packages = { hscolour = ./.plan.nix/hscolour.nix; }; };
29− modules = [
30− ({ lib, ... }:
31− { packages = { "hscolour" = { flags = {}; }; }; })
32− ({ lib, ... }:
33− {
34− packages = {
35− "ghc-prim".components.library.planned = lib.mkOverride 900 true;
36− "array".components.library.planned = lib.mkOverride 900 true;
37− "rts".components.library.planned = lib.mkOverride 900 true;
38− "hscolour".components.library.planned = lib.mkOverride 900 true;
39− "hscolour".components.exes."HsColour".planned = lib.mkOverride 900 true;
40− "deepseq".components.library.planned = lib.mkOverride 900 true;
41− "base".components.library.planned = lib.mkOverride 900 true;
42− "integer-gmp".components.library.planned = lib.mkOverride 900 true;
43− "containers".components.library.planned = lib.mkOverride 900 true;
44− };
45− })
46− ];
47− }
materialized/bootstrap/ghc884/alex/.plan.nix/alex.nixdeleted−160
@@ -1,160 +0,0 @@
1−{ system
2− , compiler
3− , flags
4− , pkgs
5− , hsPkgs
6− , pkgconfPkgs
7− , errorHandler
8− , config
9− , ... }:
10− {
11− flags = { small_base = true; };
12− package = {
13− specVersion = "1.8";
14− identifier = { name = "alex"; version = "3.2.4"; };
15− license = "BSD-3-Clause";
16− copyright = "(c) Chis Dornan, Simon Marlow";
17− maintainer = "Simon Marlow <marlowsd@gmail.com>";
18− author = "Chris Dornan and Simon Marlow";
19− homepage = "http://www.haskell.org/alex/";
20− url = "";
21− synopsis = "Alex is a tool for generating lexical analysers in Haskell";
22− description = "Alex is a tool for generating lexical analysers in Haskell.\nIt takes a description of tokens based on regular\nexpressions and generates a Haskell module containing code\nfor scanning text efficiently. It is similar to the tool\nlex or flex for C/C++.";
23− buildType = "Simple";
24− isLocal = true;
25− detailLevel = "FullDetails";
26− licenseFiles = [ "LICENSE" ];
27− dataDir = "data/";
28− dataFiles = [
29− "AlexTemplate"
30− "AlexTemplate-ghc"
31− "AlexTemplate-ghc-nopred"
32− "AlexTemplate-ghc-debug"
33− "AlexTemplate-debug"
34− "AlexWrapper-basic"
35− "AlexWrapper-basic-bytestring"
36− "AlexWrapper-strict-bytestring"
37− "AlexWrapper-posn"
38− "AlexWrapper-posn-bytestring"
39− "AlexWrapper-monad"
40− "AlexWrapper-monad-bytestring"
41− "AlexWrapper-monadUserState"
42− "AlexWrapper-monadUserState-bytestring"
43− "AlexWrapper-gscan"
44− ];
45− extraSrcFiles = [
46− "CHANGELOG.md"
47− "README.md"
48− "TODO"
49− "alex.spec"
50− "doc/Makefile"
51− "doc/aclocal.m4"
52− "doc/alex.1.in"
53− "doc/alex.xml"
54− "doc/config.mk.in"
55− "doc/configure.ac"
56− "doc/docbook-xml.mk"
57− "doc/fptools.css"
58− "examples/Makefile"
59− "examples/Tokens.x"
60− "examples/Tokens_gscan.x"
61− "examples/Tokens_posn.x"
62− "examples/examples.x"
63− "examples/haskell.x"
64− "examples/lit.x"
65− "examples/pp.x"
66− "examples/state.x"
67− "examples/tiny.y"
68− "examples/words.x"
69− "examples/words_monad.x"
70− "examples/words_posn.x"
71− "src/Parser.y.boot"
72− "src/Scan.x.boot"
73− "src/ghc_hooks.c"
74− "templates/GenericTemplate.hs"
75− "templates/wrappers.hs"
76− "tests/Makefile"
77− "tests/simple.x"
78− "tests/null.x"
79− "tests/tokens.x"
80− "tests/tokens_gscan.x"
81− "tests/tokens_posn.x"
82− "tests/tokens_bytestring.x"
83− "tests/tokens_posn_bytestring.x"
84− "tests/tokens_scan_user.x"
85− "tests/tokens_strict_bytestring.x"
86− "tests/tokens_monad_bytestring.x"
87− "tests/tokens_monadUserState_bytestring.x"
88− "tests/tokens_bytestring_unicode.x"
89− "tests/basic_typeclass.x"
90− "tests/basic_typeclass_bytestring.x"
91− "tests/default_typeclass.x"
92− "tests/gscan_typeclass.x"
93− "tests/posn_typeclass.x"
94− "tests/monad_typeclass.x"
95− "tests/monad_typeclass_bytestring.x"
96− "tests/monadUserState_typeclass.x"
97− "tests/monadUserState_typeclass_bytestring.x"
98− "tests/posn_typeclass_bytestring.x"
99− "tests/strict_typeclass.x"
100− "tests/unicode.x"
101− ];
102− extraTmpFiles = [];
103− extraDocFiles = [];
104− };
105− components = {
106− exes = {
107− "alex" = {
108− depends = [
109− (hsPkgs."base" or (errorHandler.buildDepError "base"))
110− ] ++ (if flags.small_base
111− then [
112− (hsPkgs."base" or (errorHandler.buildDepError "base"))
113− (hsPkgs."array" or (errorHandler.buildDepError "array"))
114− (hsPkgs."containers" or (errorHandler.buildDepError "containers"))
115− (hsPkgs."directory" or (errorHandler.buildDepError "directory"))
116− ]
117− else [ (hsPkgs."base" or (errorHandler.buildDepError "base")) ]);
118− buildable = true;
119− modules = [
120− "AbsSyn"
121− "CharSet"
122− "DFA"
123− "DFAMin"
124− "DFS"
125− "Info"
126− "Map"
127− "NFA"
128− "Output"
129− "Paths_alex"
130− "Parser"
131− "ParseMonad"
132− "Scan"
133− "Set"
134− "Sort"
135− "Util"
136− "UTF8"
137− "Data/Ranged"
138− "Data/Ranged/Boundaries"
139− "Data/Ranged/RangedSet"
140− "Data/Ranged/Ranges"
141− ];
142− hsSourceDirs = [ "src" ];
143− mainPath = [ "Main.hs" ] ++ [ "" ];
144− };
145− };
146− tests = {
147− "tests" = {
148− depends = [
149− (hsPkgs."base" or (errorHandler.buildDepError "base"))
150− (hsPkgs."process" or (errorHandler.buildDepError "process"))
151− ];
152− build-tools = [
153− (hsPkgs.buildPackages.alex.components.exes.alex or (pkgs.buildPackages.alex or (errorHandler.buildToolDepError "alex:alex")))
154− ];
155− buildable = true;
156− mainPath = [ "test.hs" ];
157− };
158− };
159− };
160− } // rec { src = (pkgs.lib).mkDefault ../.; }
materialized/bootstrap/ghc884/alex/default.nixdeleted−65
@@ -1,65 +0,0 @@
1−{
2− pkgs = hackage:
3− {
4− packages = {
5− "array".revision = (((hackage."array")."0.5.4.0").revisions).default;
6− "bytestring".revision = (((hackage."bytestring")."0.10.10.1").revisions).default;
7− "filepath".revision = (((hackage."filepath")."1.4.2.1").revisions).default;
8− "ghc-prim".revision = (((hackage."ghc-prim")."0.5.3").revisions).default;
9− "base".revision = (((hackage."base")."4.13.0.0").revisions).default;
10− "time".revision = (((hackage."time")."1.9.3").revisions).default;
11− "directory".revision = (((hackage."directory")."1.3.6.0").revisions).default;
12− "rts".revision = (((hackage."rts")."1.0").revisions).default;
13− "deepseq".revision = (((hackage."deepseq")."1.4.4.0").revisions).default;
14− "unix".revision = (((hackage."unix")."2.7.2.2").revisions).default;
15− "integer-gmp".revision = (((hackage."integer-gmp")."1.0.2.0").revisions).default;
16− "containers".revision = (((hackage."containers")."0.6.2.1").revisions).default;
17− };
18− compiler = {
19− version = "8.8.4";
20− nix-name = "ghc884";
21− packages = {
22− "array" = "0.5.4.0";
23− "bytestring" = "0.10.10.1";
24− "filepath" = "1.4.2.1";
25− "ghc-prim" = "0.5.3";
26− "base" = "4.13.0.0";
27− "time" = "1.9.3";
28− "directory" = "1.3.6.0";
29− "rts" = "1.0";
30− "deepseq" = "1.4.4.0";
31− "unix" = "2.7.2.2";
32− "integer-gmp" = "1.0.2.0";
33− "containers" = "0.6.2.1";
34− };
35− };
36− };
37− extras = hackage:
38− { packages = { alex = ./.plan.nix/alex.nix; }; };
39− modules = [
40− ({ lib, ... }:
41− {
42− packages = {
43− "alex" = { flags = { "small_base" = lib.mkOverride 900 true; }; };
44− };
45− })
46− ({ lib, ... }:
47− {
48− packages = {
49− "filepath".components.library.planned = lib.mkOverride 900 true;
50− "bytestring".components.library.planned = lib.mkOverride 900 true;
51− "ghc-prim".components.library.planned = lib.mkOverride 900 true;
52− "array".components.library.planned = lib.mkOverride 900 true;
53− "rts".components.library.planned = lib.mkOverride 900 true;
54− "unix".components.library.planned = lib.mkOverride 900 true;
55− "directory".components.library.planned = lib.mkOverride 900 true;
56− "time".components.library.planned = lib.mkOverride 900 true;
57− "alex".components.exes."alex".planned = lib.mkOverride 900 true;
58− "deepseq".components.library.planned = lib.mkOverride 900 true;
59− "base".components.library.planned = lib.mkOverride 900 true;
60− "integer-gmp".components.library.planned = lib.mkOverride 900 true;
61− "containers".components.library.planned = lib.mkOverride 900 true;
62− };
63− })
64− ];
65− }
materialized/bootstrap/ghc884/happy-1.19.12/.plan.nix/happy.nixdeleted−200
@@ -1,200 +0,0 @@
1−{ system
2− , compiler
3− , flags
4− , pkgs
5− , hsPkgs
6− , pkgconfPkgs
7− , errorHandler
8− , config
9− , ... }:
10− {
11− flags = { small_base = true; };
12− package = {
13− specVersion = "1.8";
14− identifier = { name = "happy"; version = "1.19.12"; };
15− license = "BSD-2-Clause";
16− copyright = "(c) Andy Gill, Simon Marlow";
17− maintainer = "Simon Marlow <marlowsd@gmail.com>";
18− author = "Andy Gill and Simon Marlow";
19− homepage = "https://www.haskell.org/happy/";
20− url = "";
21− synopsis = "Happy is a parser generator for Haskell";
22− description = "Happy is a parser generator for Haskell. Given a grammar\nspecification in BNF, Happy generates Haskell code to parse the\ngrammar. Happy works in a similar way to the @yacc@ tool for C.";
23− buildType = "Simple";
24− isLocal = true;
25− detailLevel = "FullDetails";
26− licenseFiles = [ "LICENSE" ];
27− dataDir = "data/";
28− dataFiles = [
29− "HappyTemplate"
30− "HappyTemplate-arrays"
31− "HappyTemplate-arrays-coerce"
32− "HappyTemplate-arrays-coerce-debug"
33− "HappyTemplate-arrays-debug"
34− "HappyTemplate-arrays-ghc"
35− "HappyTemplate-arrays-ghc-debug"
36− "HappyTemplate-coerce"
37− "HappyTemplate-ghc"
38− "GLR_Base"
39− "GLR_Lib"
40− "GLR_Lib-ghc"
41− "GLR_Lib-ghc-debug"
42− ];
43− extraSrcFiles = [
44− "ANNOUNCE"
45− "CHANGES"
46− "Makefile"
47− "README.md"
48− "TODO"
49− "doc/Makefile"
50− "doc/aclocal.m4"
51− "doc/config.mk.in"
52− "doc/configure.ac"
53− "doc/docbook-xml.mk"
54− "doc/fptools.css"
55− "doc/happy.1.in"
56− "doc/happy.xml"
57− "examples/glr/nlp/Main.lhs"
58− "examples/glr/nlp/Makefile"
59− "examples/glr/nlp/README"
60− "examples/glr/nlp/English.y"
61− "examples/glr/nlp/Hugs.lhs"
62− "examples/glr/Makefile"
63− "examples/glr/Makefile.defs"
64− "examples/glr/expr-eval/Main.lhs"
65− "examples/glr/expr-eval/Makefile"
66− "examples/glr/expr-eval/Expr.y"
67− "examples/glr/expr-eval/README"
68− "examples/glr/expr-eval/Hugs.lhs"
69− "examples/glr/expr-tree/Main.lhs"
70− "examples/glr/expr-tree/Makefile"
71− "examples/glr/expr-tree/Expr.y"
72− "examples/glr/expr-tree/README"
73− "examples/glr/expr-tree/Tree.lhs"
74− "examples/glr/expr-tree/Hugs.lhs"
75− "examples/glr/highly-ambiguous/Main.lhs"
76− "examples/glr/highly-ambiguous/Makefile"
77− "examples/glr/highly-ambiguous/Expr.y"
78− "examples/glr/highly-ambiguous/README"
79− "examples/glr/highly-ambiguous/Hugs.lhs"
80− "examples/glr/hidden-leftrec/Main.lhs"
81− "examples/glr/hidden-leftrec/Makefile"
82− "examples/glr/hidden-leftrec/Expr.y"
83− "examples/glr/hidden-leftrec/README"
84− "examples/glr/hidden-leftrec/Hugs.lhs"
85− "examples/glr/expr-monad/Main.lhs"
86− "examples/glr/expr-monad/Makefile"
87− "examples/glr/expr-monad/Expr.y"
88− "examples/glr/expr-monad/README"
89− "examples/glr/expr-monad/Hugs.lhs"
90− "examples/glr/bio-eg/Main.lhs"
91− "examples/glr/bio-eg/Makefile"
92− "examples/glr/bio-eg/Bio.y"
93− "examples/glr/bio-eg/README"
94− "examples/glr/bio-eg/1-1200.dna"
95− "examples/glr/bio-eg/1-600.dna"
96− "examples/glr/common/DV_lhs"
97− "examples/glr/common/DaVinciTypes.hs"
98− "examples/glr/packing/Main.lhs"
99− "examples/glr/packing/Makefile"
100− "examples/glr/packing/Expr.y"
101− "examples/glr/packing/README"
102− "examples/glr/packing/Hugs.lhs"
103− "examples/PgnParser.ly"
104− "examples/MonadTest.ly"
105− "examples/igloo/ParserM.hs"
106− "examples/igloo/Makefile"
107− "examples/igloo/Parser.y"
108− "examples/igloo/Foo.hs"
109− "examples/igloo/README"
110− "examples/igloo/Lexer.x"
111− "examples/README"
112− "examples/Calc.ly"
113− "examples/DavesExample.ly"
114− "examples/ErrorTest.ly"
115− "examples/ErlParser.ly"
116− "examples/SimonsExample.ly"
117− "examples/LexerTest.ly"
118− "happy.spec"
119− "src/ARRAY-NOTES"
120− "tests/AttrGrammar001.y"
121− "tests/AttrGrammar002.y"
122− "tests/Makefile"
123− "tests/Partial.ly"
124− "tests/Test.ly"
125− "tests/TestMulti.ly"
126− "tests/TestPrecedence.ly"
127− "tests/bogus-token.y"
128− "tests/bug001.ly"
129− "tests/bug002.y"
130− "tests/error001.stderr"
131− "tests/error001.stdout"
132− "tests/error001.y"
133− "tests/monad001.y"
134− "tests/monad002.ly"
135− "tests/monaderror.y"
136− "tests/precedence001.ly"
137− "tests/precedence002.y"
138− "tests/test_rules.y"
139− "tests/issue91.y"
140− "tests/issue93.y"
141− "tests/issue94.y"
142− "tests/issue95.y"
143− "tests/monaderror-explist.y"
144− "tests/typeclass_monad001.y"
145− "tests/typeclass_monad002.ly"
146− "tests/typeclass_monad_lexer.y"
147− "tests/rank2.y"
148− ];
149− extraTmpFiles = [];
150− extraDocFiles = [];
151− };
152− components = {
153− exes = {
154− "happy" = {
155− depends = [
156− (hsPkgs."base" or (errorHandler.buildDepError "base"))
157− (hsPkgs."array" or (errorHandler.buildDepError "array"))
158− (hsPkgs."containers" or (errorHandler.buildDepError "containers"))
159− (hsPkgs."mtl" or (errorHandler.buildDepError "mtl"))
160− ];
161− buildable = true;
162− modules = [
163− "Paths_happy"
164− "AbsSyn"
165− "First"
166− "GenUtils"
167− "Grammar"
168− "Info"
169− "LALR"
170− "Lexer"
171− "ParseMonad"
172− "Parser"
173− "ProduceCode"
174− "ProduceGLRCode"
175− "NameSet"
176− "Target"
177− "AttrGrammar"
178− "AttrGrammarParser"
179− "ParamRules"
180− "PrettyGrammar"
181− ];
182− hsSourceDirs = [ "src" ];
183− mainPath = [ "Main.lhs" ];
184− };
185− };
186− tests = {
187− "tests" = {
188− depends = [
189− (hsPkgs."base" or (errorHandler.buildDepError "base"))
190− (hsPkgs."process" or (errorHandler.buildDepError "process"))
191− ];
192− build-tools = [
193− (hsPkgs.buildPackages.happy.components.exes.happy or (pkgs.buildPackages.happy or (errorHandler.buildToolDepError "happy:happy")))
194− ];
195− buildable = true;
196− mainPath = [ "test.hs" ];
197− };
198− };
199− };
200− } // rec { src = (pkgs.lib).mkDefault ../.; }
materialized/bootstrap/ghc884/happy-1.19.12/default.nixdeleted−56
@@ -1,56 +0,0 @@
1−{
2− pkgs = hackage:
3− {
4− packages = {
5− "array".revision = (((hackage."array")."0.5.4.0").revisions).default;
6− "mtl".revision = (((hackage."mtl")."2.2.2").revisions).default;
7− "ghc-prim".revision = (((hackage."ghc-prim")."0.5.3").revisions).default;
8− "base".revision = (((hackage."base")."4.13.0.0").revisions).default;
9− "rts".revision = (((hackage."rts")."1.0").revisions).default;
10− "transformers".revision = (((hackage."transformers")."0.5.6.2").revisions).default;
11− "deepseq".revision = (((hackage."deepseq")."1.4.4.0").revisions).default;
12− "integer-gmp".revision = (((hackage."integer-gmp")."1.0.2.0").revisions).default;
13− "containers".revision = (((hackage."containers")."0.6.2.1").revisions).default;
14− };
15− compiler = {
16− version = "8.8.4";
17− nix-name = "ghc884";
18− packages = {
19− "array" = "0.5.4.0";
20− "mtl" = "2.2.2";
21− "ghc-prim" = "0.5.3";
22− "base" = "4.13.0.0";
23− "rts" = "1.0";
24− "transformers" = "0.5.6.2";
25− "deepseq" = "1.4.4.0";
26− "integer-gmp" = "1.0.2.0";
27− "containers" = "0.6.2.1";
28− };
29− };
30− };
31− extras = hackage:
32− { packages = { happy = ./.plan.nix/happy.nix; }; };
33− modules = [
34− ({ lib, ... }:
35− {
36− packages = {
37− "happy" = { flags = { "small_base" = lib.mkOverride 900 true; }; };
38− };
39− })
40− ({ lib, ... }:
41− {
42− packages = {
43− "ghc-prim".components.library.planned = lib.mkOverride 900 true;
44− "array".components.library.planned = lib.mkOverride 900 true;
45− "rts".components.library.planned = lib.mkOverride 900 true;
46− "happy".components.exes."happy".planned = lib.mkOverride 900 true;
47− "mtl".components.library.planned = lib.mkOverride 900 true;
48− "transformers".components.library.planned = lib.mkOverride 900 true;
49− "deepseq".components.library.planned = lib.mkOverride 900 true;
50− "base".components.library.planned = lib.mkOverride 900 true;
51− "integer-gmp".components.library.planned = lib.mkOverride 900 true;
52− "containers".components.library.planned = lib.mkOverride 900 true;
53− };
54− })
55− ];
56− }
materialized/bootstrap/ghc884/hscolour/.plan.nix/hscolour.nixdeleted−70
@@ -1,70 +0,0 @@
1−{ system
2− , compiler
3− , flags
4− , pkgs
5− , hsPkgs
6− , pkgconfPkgs
7− , errorHandler
8− , config
9− , ... }:
10− {
11− flags = {};
12− package = {
13− specVersion = "1.6";
14− identifier = { name = "hscolour"; version = "1.24.4"; };
15− license = "LicenseRef-LGPL";
16− copyright = "2003-2017 Malcolm Wallace; 2006 Bjorn Bringert";
17− maintainer = "Malcolm Wallace";
18− author = "Malcolm Wallace";
19− homepage = "http://code.haskell.org/~malcolm/hscolour/";
20− url = "";
21− synopsis = "Colourise Haskell code.";
22− description = "hscolour is a small Haskell script to colourise Haskell code. It currently\nhas six output formats:\nANSI terminal codes (optionally XTerm-256colour codes),\nHTML 3.2 with <font> tags,\nHTML 4.01 with CSS,\nHTML 4.01 with CSS and mouseover annotations,\nXHTML 1.0 with inline CSS styling,\nLaTeX,\nand mIRC chat codes.";
23− buildType = "Simple";
24− isLocal = true;
25− detailLevel = "FullDetails";
26− licenseFiles = [ "LICENCE-LGPL" ];
27− dataDir = ".";
28− dataFiles = [ "hscolour.css" "data/rgb24-example-.hscolour" ];
29− extraSrcFiles = [];
30− extraTmpFiles = [];
31− extraDocFiles = [];
32− };
33− components = {
34− "library" = {
35− depends = [
36− (hsPkgs."base" or (errorHandler.buildDepError "base"))
37− (hsPkgs."containers" or (errorHandler.buildDepError "containers"))
38− ];
39− buildable = true;
40− modules = [
41− "Language/Haskell/HsColour"
42− "Language/Haskell/HsColour/ANSI"
43− "Language/Haskell/HsColour/Anchors"
44− "Language/Haskell/HsColour/ACSS"
45− "Language/Haskell/HsColour/CSS"
46− "Language/Haskell/HsColour/Classify"
47− "Language/Haskell/HsColour/ColourHighlight"
48− "Language/Haskell/HsColour/Colourise"
49− "Language/Haskell/HsColour/General"
50− "Language/Haskell/HsColour/HTML"
51− "Language/Haskell/HsColour/InlineCSS"
52− "Language/Haskell/HsColour/LaTeX"
53− "Language/Haskell/HsColour/MIRC"
54− "Language/Haskell/HsColour/Options"
55− "Language/Haskell/HsColour/Output"
56− "Language/Haskell/HsColour/TTY"
57− ];
58− };
59− exes = {
60− "HsColour" = {
61− depends = [
62− (hsPkgs."base" or (errorHandler.buildDepError "base"))
63− (hsPkgs."containers" or (errorHandler.buildDepError "containers"))
64− ];
65− buildable = true;
66− mainPath = [ "HsColour.hs" ];
67− };
68− };
69− };
70− } // rec { src = (pkgs.lib).mkDefault ../.; }
materialized/bootstrap/ghc884/hscolour/default.nixdeleted−47
@@ -1,47 +0,0 @@
1−{
2− pkgs = hackage:
3− {
4− packages = {
5− "array".revision = (((hackage."array")."0.5.4.0").revisions).default;
6− "ghc-prim".revision = (((hackage."ghc-prim")."0.5.3").revisions).default;
7− "base".revision = (((hackage."base")."4.13.0.0").revisions).default;
8− "rts".revision = (((hackage."rts")."1.0").revisions).default;
9− "deepseq".revision = (((hackage."deepseq")."1.4.4.0").revisions).default;
10− "integer-gmp".revision = (((hackage."integer-gmp")."1.0.2.0").revisions).default;
11− "containers".revision = (((hackage."containers")."0.6.2.1").revisions).default;
12− };
13− compiler = {
14− version = "8.8.4";
15− nix-name = "ghc884";
16− packages = {
17− "array" = "0.5.4.0";
18− "ghc-prim" = "0.5.3";
19− "base" = "4.13.0.0";
20− "rts" = "1.0";
21− "deepseq" = "1.4.4.0";
22− "integer-gmp" = "1.0.2.0";
23− "containers" = "0.6.2.1";
24− };
25− };
26− };
27− extras = hackage:
28− { packages = { hscolour = ./.plan.nix/hscolour.nix; }; };
29− modules = [
30− ({ lib, ... }:
31− { packages = { "hscolour" = { flags = {}; }; }; })
32− ({ lib, ... }:
33− {
34− packages = {
35− "ghc-prim".components.library.planned = lib.mkOverride 900 true;
36− "array".components.library.planned = lib.mkOverride 900 true;
37− "rts".components.library.planned = lib.mkOverride 900 true;
38− "hscolour".components.library.planned = lib.mkOverride 900 true;
39− "hscolour".components.exes."HsColour".planned = lib.mkOverride 900 true;
40− "deepseq".components.library.planned = lib.mkOverride 900 true;
41− "base".components.library.planned = lib.mkOverride 900 true;
42− "integer-gmp".components.library.planned = lib.mkOverride 900 true;
43− "containers".components.library.planned = lib.mkOverride 900 true;
44− };
45− })
46− ];
47− }
materialized/dummy-ghc/aarch64-unknown-linux-gnu-aarch64-unknown-linux-gnu-ghc-8.10.5-x86_64-linux/ghc-pkg/dump-globaldeleted−1443
@@ -1,1443 +0,0 @@
1−name: Cabal
2−version: 3.2.1.0
3−visibility: public
4−id: Cabal-3.2.1.0
5−key: Cabal-3.2.1.0
6−license: BSD-3-Clause
7−copyright: 2003-2020, Cabal Development Team (see AUTHORS file)
8−maintainer: cabal-devel@haskell.org
9−author: Cabal Development Team <cabal-devel@haskell.org>
10−homepage: http://www.haskell.org/cabal/
11−synopsis: A framework for packaging Haskell software
12−description:
13− The Haskell Common Architecture for Building Applications and
14− Libraries: a framework defining a common interface for authors to more
15− easily build their Haskell applications in a portable way.
16− The Haskell Cabal is part of a larger infrastructure for distributing,
17− organizing, and cataloging Haskell libraries and tools.
18−category: Distribution
19−exposed: True
20−exposed-modules:
21− Distribution.Backpack Distribution.Backpack.ComponentsGraph
22− Distribution.Backpack.Configure
23− Distribution.Backpack.ConfiguredComponent
24− Distribution.Backpack.DescribeUnitId
25− Distribution.Backpack.FullUnitId
26− Distribution.Backpack.LinkedComponent
27− Distribution.Backpack.ModSubst Distribution.Backpack.ModuleShape
28− Distribution.Backpack.PreModuleShape Distribution.CabalSpecVersion
29− Distribution.Compat.Binary Distribution.Compat.CharParsing
30− Distribution.Compat.CreatePipe Distribution.Compat.DList
31− Distribution.Compat.Directory Distribution.Compat.Environment
32− Distribution.Compat.Exception Distribution.Compat.FilePath
33− Distribution.Compat.Graph Distribution.Compat.Internal.TempFile
34− Distribution.Compat.Lens Distribution.Compat.Newtype
35− Distribution.Compat.Parsing Distribution.Compat.Prelude.Internal
36− Distribution.Compat.Process Distribution.Compat.ResponseFile
37− Distribution.Compat.Semigroup Distribution.Compat.Stack
38− Distribution.Compat.Time Distribution.Compat.Typeable
39− Distribution.Compiler Distribution.FieldGrammar
40− Distribution.FieldGrammar.Class
41− Distribution.FieldGrammar.FieldDescrs
42− Distribution.FieldGrammar.Parsec Distribution.FieldGrammar.Pretty
43− Distribution.Fields Distribution.Fields.ConfVar
44− Distribution.Fields.Field Distribution.Fields.Lexer
45− Distribution.Fields.LexerMonad Distribution.Fields.ParseResult
46− Distribution.Fields.Parser Distribution.Fields.Pretty
47− Distribution.InstalledPackageInfo Distribution.License
48− Distribution.Make Distribution.ModuleName Distribution.Package
49− Distribution.PackageDescription
50− Distribution.PackageDescription.Check
51− Distribution.PackageDescription.Configuration
52− Distribution.PackageDescription.FieldGrammar
53− Distribution.PackageDescription.Parsec
54− Distribution.PackageDescription.PrettyPrint
55− Distribution.PackageDescription.Quirks
56− Distribution.PackageDescription.Utils Distribution.Parsec
57− Distribution.Parsec.Error Distribution.Parsec.FieldLineStream
58− Distribution.Parsec.Newtypes Distribution.Parsec.Position
59− Distribution.Parsec.Warning Distribution.Pretty Distribution.ReadE
60− Distribution.SPDX Distribution.SPDX.License
61− Distribution.SPDX.LicenseExceptionId
62− Distribution.SPDX.LicenseExpression Distribution.SPDX.LicenseId
63− Distribution.SPDX.LicenseListVersion
64− Distribution.SPDX.LicenseReference Distribution.Simple
65− Distribution.Simple.Bench Distribution.Simple.Build
66− Distribution.Simple.Build.Macros
67− Distribution.Simple.Build.PathsModule
68− Distribution.Simple.BuildPaths Distribution.Simple.BuildTarget
69− Distribution.Simple.BuildToolDepends Distribution.Simple.CCompiler
70− Distribution.Simple.Command Distribution.Simple.Compiler
71− Distribution.Simple.Configure Distribution.Simple.Doctest
72− Distribution.Simple.Flag Distribution.Simple.GHC
73− Distribution.Simple.GHCJS Distribution.Simple.Glob
74− Distribution.Simple.Haddock Distribution.Simple.HaskellSuite
75− Distribution.Simple.Hpc Distribution.Simple.Install
76− Distribution.Simple.InstallDirs
77− Distribution.Simple.InstallDirs.Internal
78− Distribution.Simple.LocalBuildInfo Distribution.Simple.PackageIndex
79− Distribution.Simple.PreProcess Distribution.Simple.PreProcess.Unlit
80− Distribution.Simple.Program Distribution.Simple.Program.Ar
81− Distribution.Simple.Program.Builtin Distribution.Simple.Program.Db
82− Distribution.Simple.Program.Find Distribution.Simple.Program.GHC
83− Distribution.Simple.Program.HcPkg Distribution.Simple.Program.Hpc
84− Distribution.Simple.Program.Internal Distribution.Simple.Program.Ld
85− Distribution.Simple.Program.ResponseFile
86− Distribution.Simple.Program.Run Distribution.Simple.Program.Script
87− Distribution.Simple.Program.Strip Distribution.Simple.Program.Types
88− Distribution.Simple.Register Distribution.Simple.Setup
89− Distribution.Simple.ShowBuildInfo Distribution.Simple.SrcDist
90− Distribution.Simple.Test Distribution.Simple.Test.ExeV10
91− Distribution.Simple.Test.LibV09 Distribution.Simple.Test.Log
92− Distribution.Simple.UHC Distribution.Simple.UserHooks
93− Distribution.Simple.Utils Distribution.System
94− Distribution.TestSuite Distribution.Text
95− Distribution.Types.AbiDependency Distribution.Types.AbiHash
96− Distribution.Types.AnnotatedId Distribution.Types.Benchmark
97− Distribution.Types.Benchmark.Lens
98− Distribution.Types.BenchmarkInterface
99− Distribution.Types.BenchmarkType Distribution.Types.BuildInfo
100− Distribution.Types.BuildInfo.Lens Distribution.Types.BuildType
101− Distribution.Types.Component Distribution.Types.ComponentId
102− Distribution.Types.ComponentInclude
103− Distribution.Types.ComponentLocalBuildInfo
104− Distribution.Types.ComponentName
105− Distribution.Types.ComponentRequestedSpec
106− Distribution.Types.CondTree Distribution.Types.Condition
107− Distribution.Types.ConfVar Distribution.Types.Dependency
108− Distribution.Types.DependencyMap Distribution.Types.ExeDependency
109− Distribution.Types.Executable Distribution.Types.Executable.Lens
110− Distribution.Types.ExecutableScope Distribution.Types.ExposedModule
111− Distribution.Types.Flag Distribution.Types.ForeignLib
112− Distribution.Types.ForeignLib.Lens
113− Distribution.Types.ForeignLibOption
114− Distribution.Types.ForeignLibType
115− Distribution.Types.GenericPackageDescription
116− Distribution.Types.GenericPackageDescription.Lens
117− Distribution.Types.GivenComponent
118− Distribution.Types.HookedBuildInfo
119− Distribution.Types.IncludeRenaming
120− Distribution.Types.InstalledPackageInfo
121− Distribution.Types.InstalledPackageInfo.FieldGrammar
122− Distribution.Types.InstalledPackageInfo.Lens
123− Distribution.Types.LegacyExeDependency Distribution.Types.Lens
124− Distribution.Types.Library Distribution.Types.Library.Lens
125− Distribution.Types.LibraryName Distribution.Types.LibraryVisibility
126− Distribution.Types.LocalBuildInfo Distribution.Types.Mixin
127− Distribution.Types.Module Distribution.Types.ModuleReexport
128− Distribution.Types.ModuleRenaming
129− Distribution.Types.MungedPackageId
130− Distribution.Types.MungedPackageName
131− Distribution.Types.PackageDescription
132− Distribution.Types.PackageDescription.Lens
133− Distribution.Types.PackageId Distribution.Types.PackageId.Lens
134− Distribution.Types.PackageName Distribution.Types.PackageName.Magic
135− Distribution.Types.PackageVersionConstraint
136− Distribution.Types.PkgconfigDependency
137− Distribution.Types.PkgconfigName
138− Distribution.Types.PkgconfigVersion
139− Distribution.Types.PkgconfigVersionRange
140− Distribution.Types.SetupBuildInfo
141− Distribution.Types.SetupBuildInfo.Lens
142− Distribution.Types.SourceRepo Distribution.Types.SourceRepo.Lens
143− Distribution.Types.TargetInfo Distribution.Types.TestSuite
144− Distribution.Types.TestSuite.Lens
145− Distribution.Types.TestSuiteInterface Distribution.Types.TestType
146− Distribution.Types.UnitId Distribution.Types.UnqualComponentName
147− Distribution.Types.Version Distribution.Types.VersionInterval
148− Distribution.Types.VersionRange
149− Distribution.Types.VersionRange.Internal Distribution.Utils.Generic
150− Distribution.Utils.IOData Distribution.Utils.LogProgress
151− Distribution.Utils.MD5 Distribution.Utils.MapAccum
152− Distribution.Utils.NubList Distribution.Utils.Progress
153− Distribution.Utils.ShortText Distribution.Utils.Structured
154− Distribution.Verbosity Distribution.Verbosity.Internal
155− Distribution.Version Language.Haskell.Extension
156−hidden-modules:
157− Distribution.Backpack.PreExistingComponent
158− Distribution.Backpack.ReadyComponent Distribution.Backpack.MixLink
159− Distribution.Backpack.ModuleScope Distribution.Backpack.UnifyM
160− Distribution.Backpack.Id Distribution.Utils.UnionFind
161− Distribution.Utils.Base62 Distribution.Compat.Async
162− Distribution.Compat.CopyFile Distribution.Compat.GetShortPathName
163− Distribution.Compat.MonadFail Distribution.Compat.Prelude
164− Distribution.Compat.SnocList Distribution.GetOpt Distribution.Lex
165− Distribution.Utils.String Distribution.Simple.GHC.EnvironmentParser
166− Distribution.Simple.GHC.Internal Distribution.Simple.GHC.ImplInfo
167− Distribution.Simple.Utils.Json Paths_Cabal
168−import-dirs:
169−library-dirs:
170−dynamic-library-dirs:
171−data-dir:
172−hs-libraries: HSCabal-3.2.1.0
173−depends:
174− array-0.5.4.0 base-4.14.2.0 binary-0.8.8.0 bytestring-0.10.12.0
175− containers-0.6.4.1 deepseq-1.4.4.0 directory-1.3.6.0
176− filepath-1.4.2.1 mtl-2.2.2 parsec-3.1.14.0 pretty-1.1.3.6
177− process-1.6.9.0 text-1.2.4.1 time-1.9.3 transformers-0.5.6.2
178− unix-2.7.2.2
179−haddock-interfaces:
180−haddock-html:
181−---
182−name: array
183−version: 0.5.4.0
184−visibility: public
185−id: array-0.5.4.0
186−key: array-0.5.4.0
187−license: BSD-3-Clause
188−maintainer: libraries@haskell.org
189−synopsis: Mutable and immutable arrays
190−description:
191− In addition to providing the "Data.Array" module
192− <http://www.haskell.org/onlinereport/haskell2010/haskellch14.html as specified in the Haskell 2010 Language Report>,
193− this package also defines the classes 'IArray' of
194− immutable arrays and 'MArray' of arrays mutable within appropriate
195− monads, as well as some instances of these classes.
196−category: Data Structures
197−exposed: True
198−exposed-modules:
199− Data.Array Data.Array.Base Data.Array.IArray Data.Array.IO
200− Data.Array.IO.Internals Data.Array.IO.Safe Data.Array.MArray
201− Data.Array.MArray.Safe Data.Array.ST Data.Array.ST.Safe
202− Data.Array.Storable Data.Array.Storable.Internals
203− Data.Array.Storable.Safe Data.Array.Unboxed Data.Array.Unsafe
204−import-dirs:
205−library-dirs:
206−dynamic-library-dirs:
207−data-dir:
208−hs-libraries: HSarray-0.5.4.0
209−depends: base-4.14.2.0
210−haddock-interfaces:
211−haddock-html:
212−---
213−name: base
214−version: 4.14.2.0
215−visibility: public
216−id: base-4.14.2.0
217−key: base-4.14.2.0
218−license: BSD-3-Clause
219−maintainer: libraries@haskell.org
220−synopsis: Basic libraries
221−description:
222− This package contains the Standard Haskell "Prelude" and its support libraries,
223− and a large collection of useful libraries ranging from data
224− structures to parsing combinators and debugging utilities.
225−category: Prelude
226−exposed: True
227−exposed-modules:
228− Control.Applicative Control.Arrow Control.Category
229− Control.Concurrent Control.Concurrent.Chan Control.Concurrent.MVar
230− Control.Concurrent.QSem Control.Concurrent.QSemN Control.Exception
231− Control.Exception.Base Control.Monad Control.Monad.Fail
232− Control.Monad.Fix Control.Monad.IO.Class Control.Monad.Instances
233− Control.Monad.ST Control.Monad.ST.Lazy Control.Monad.ST.Lazy.Safe
234− Control.Monad.ST.Lazy.Unsafe Control.Monad.ST.Safe
235− Control.Monad.ST.Strict Control.Monad.ST.Unsafe Control.Monad.Zip
236− Data.Bifoldable Data.Bifunctor Data.Bitraversable Data.Bits
237− Data.Bool Data.Char Data.Coerce Data.Complex Data.Data Data.Dynamic
238− Data.Either Data.Eq Data.Fixed Data.Foldable Data.Function
239− Data.Functor Data.Functor.Classes Data.Functor.Compose
240− Data.Functor.Const Data.Functor.Contravariant Data.Functor.Identity
241− Data.Functor.Product Data.Functor.Sum Data.IORef Data.Int Data.Ix
242− Data.Kind Data.List Data.List.NonEmpty Data.Maybe Data.Monoid
243− Data.Ord Data.Proxy Data.Ratio Data.STRef Data.STRef.Lazy
244− Data.STRef.Strict Data.Semigroup Data.String Data.Traversable
245− Data.Tuple Data.Type.Bool Data.Type.Coercion Data.Type.Equality
246− Data.Typeable Data.Unique Data.Version Data.Void Data.Word
247− Debug.Trace Foreign Foreign.C Foreign.C.Error Foreign.C.String
248− Foreign.C.Types Foreign.Concurrent Foreign.ForeignPtr
249− Foreign.ForeignPtr.Safe Foreign.ForeignPtr.Unsafe Foreign.Marshal
250− Foreign.Marshal.Alloc Foreign.Marshal.Array Foreign.Marshal.Error
251− Foreign.Marshal.Pool Foreign.Marshal.Safe Foreign.Marshal.Unsafe
252− Foreign.Marshal.Utils Foreign.Ptr Foreign.Safe Foreign.StablePtr
253− Foreign.Storable GHC.Arr GHC.Base GHC.ByteOrder GHC.Char GHC.Clock
254− GHC.Conc GHC.Conc.IO GHC.Conc.Signal GHC.Conc.Sync
255− GHC.ConsoleHandler GHC.Constants GHC.Desugar GHC.Enum
256− GHC.Environment GHC.Err GHC.Event GHC.Exception GHC.Exception.Type
257− GHC.ExecutionStack GHC.ExecutionStack.Internal GHC.Exts
258− GHC.Fingerprint GHC.Fingerprint.Type GHC.Float
259− GHC.Float.ConversionUtils GHC.Float.RealFracMethods GHC.Foreign
260− GHC.ForeignPtr GHC.GHCi GHC.GHCi.Helpers GHC.Generics GHC.IO
261− GHC.IO.Buffer GHC.IO.BufferedIO GHC.IO.Device GHC.IO.Encoding
262− GHC.IO.Encoding.CodePage GHC.IO.Encoding.Failure
263− GHC.IO.Encoding.Iconv GHC.IO.Encoding.Latin1 GHC.IO.Encoding.Types
264− GHC.IO.Encoding.UTF16 GHC.IO.Encoding.UTF32 GHC.IO.Encoding.UTF8
265− GHC.IO.Exception GHC.IO.FD GHC.IO.Handle GHC.IO.Handle.FD
266− GHC.IO.Handle.Internals GHC.IO.Handle.Lock GHC.IO.Handle.Text
267− GHC.IO.Handle.Types GHC.IO.IOMode GHC.IO.Unsafe GHC.IOArray
268− GHC.IORef GHC.Int GHC.Ix GHC.List GHC.MVar GHC.Maybe GHC.Natural
269− GHC.Num GHC.OldList GHC.OverloadedLabels GHC.Pack GHC.Profiling
270− GHC.Ptr GHC.RTS.Flags GHC.Read GHC.Real GHC.Records
271− GHC.ResponseFile GHC.ST GHC.STRef GHC.Show GHC.Stable
272− GHC.StableName GHC.Stack GHC.Stack.CCS GHC.Stack.Types
273− GHC.StaticPtr GHC.Stats GHC.Storable GHC.TopHandler GHC.TypeLits
274− GHC.TypeNats GHC.Unicode GHC.Weak GHC.Word Numeric Numeric.Natural
275− Prelude System.CPUTime System.Console.GetOpt System.Environment
276− System.Environment.Blank System.Exit System.IO System.IO.Error
277− System.IO.Unsafe System.Info System.Mem System.Mem.StableName
278− System.Mem.Weak System.Posix.Internals System.Posix.Types
279− System.Timeout Text.ParserCombinators.ReadP
280− Text.ParserCombinators.ReadPrec Text.Printf Text.Read Text.Read.Lex
281− Text.Show Text.Show.Functions Type.Reflection
282− Type.Reflection.Unsafe Unsafe.Coerce
283−hidden-modules:
284− Control.Monad.ST.Imp Control.Monad.ST.Lazy.Imp Data.Functor.Utils
285− Data.OldList Data.Semigroup.Internal Data.Typeable.Internal
286− Foreign.ForeignPtr.Imp GHC.IO.Handle.Lock.Common
287− GHC.IO.Handle.Lock.Flock GHC.IO.Handle.Lock.LinuxOFD
288− GHC.IO.Handle.Lock.NoOp GHC.IO.Handle.Lock.Windows
289− GHC.StaticPtr.Internal System.Environment.ExecutablePath
290− System.CPUTime.Utils GHC.Event.Arr GHC.Event.Array
291− GHC.Event.Control GHC.Event.EPoll GHC.Event.IntTable
292− GHC.Event.Internal GHC.Event.KQueue GHC.Event.Manager GHC.Event.PSQ
293− GHC.Event.Poll GHC.Event.Thread GHC.Event.TimerManager
294− GHC.Event.Unique System.CPUTime.Posix.ClockGetTime
295− System.CPUTime.Posix.Times System.CPUTime.Posix.RUsage
296− System.CPUTime.Unsupported
297−import-dirs:
298−library-dirs:
299−dynamic-library-dirs:
300−data-dir:
301−hs-libraries: HSbase-4.14.2.0
302−include-dirs:
303−includes: HsBase.h
304−depends: ghc-prim-0.6.1 integer-gmp-1.0.3.0 rts
305−haddock-interfaces:
306−haddock-html:
307−---
308−name: binary
309−version: 0.8.8.0
310−visibility: public
311−id: binary-0.8.8.0
312−key: binary-0.8.8.0
313−license: BSD-3-Clause
314−maintainer: Lennart Kolmodin, Don Stewart <dons00@gmail.com>
315−author: Lennart Kolmodin <kolmodin@gmail.com>
316−stability: provisional
317−homepage: https://github.com/kolmodin/binary
318−synopsis:
319− Binary serialisation for Haskell values using lazy ByteStrings
320−description:
321− Efficient, pure binary serialisation using lazy ByteStrings.
322− Haskell values may be encoded to and from binary formats,
323− written to disk as binary, or sent over the network.
324− The format used can be automatically generated, or
325− you can choose to implement a custom format if needed.
326− Serialisation speeds of over 1 G\/sec have been observed,
327− so this library should be suitable for high performance
328− scenarios.
329−category: Data, Parsing
330−exposed: True
331−exposed-modules:
332− Data.Binary Data.Binary.Builder Data.Binary.Get
333− Data.Binary.Get.Internal Data.Binary.Put
334−hidden-modules:
335− Data.Binary.Class Data.Binary.Internal Data.Binary.Generic
336− Data.Binary.FloatCast
337−import-dirs:
338−library-dirs:
339−dynamic-library-dirs:
340−data-dir:
341−hs-libraries: HSbinary-0.8.8.0
342−depends:
343− array-0.5.4.0 base-4.14.2.0 bytestring-0.10.12.0 containers-0.6.4.1
344−haddock-interfaces:
345−haddock-html:
346−---
347−name: bytestring
348−version: 0.10.12.0
349−visibility: public
350−id: bytestring-0.10.12.0
351−key: bytestring-0.10.12.0
352−license: BSD-3-Clause
353−copyright:
354− Copyright (c) Don Stewart 2005-2009,
355− (c) Duncan Coutts 2006-2015,
356− (c) David Roundy 2003-2005,
357− (c) Jasper Van der Jeugt 2010,
358− (c) Simon Meier 2010-2013.
359−maintainer: Duncan Coutts <duncan@community.haskell.org>
360−author:
361− Don Stewart,
362− Duncan Coutts
363−homepage: https://github.com/haskell/bytestring
364−synopsis:
365− Fast, compact, strict and lazy byte strings with a list interface
366−description:
367− An efficient compact, immutable byte string type (both strict and lazy)
368− suitable for binary or 8-bit character data.
369− The 'ByteString' type represents sequences of bytes or 8-bit characters.
370− It is suitable for high performance use, both in terms of large data
371− quantities, or high speed requirements. The 'ByteString' functions follow
372− the same style as Haskell\'s ordinary lists, so it is easy to convert code
373− from using 'String' to 'ByteString'.
374− Two 'ByteString' variants are provided:
375− * Strict 'ByteString's keep the string as a single large array. This
376− makes them convenient for passing data between C and Haskell.
377− * Lazy 'ByteString's use a lazy list of strict chunks which makes it
378− suitable for I\/O streaming tasks.
379− The @Char8@ modules provide a character-based view of the same
380− underlying 'ByteString' types. This makes it convenient to handle mixed
381− binary and 8-bit character content (which is common in many file formats
382− and network protocols).
383− The 'Builder' module provides an efficient way to build up 'ByteString's
384− in an ad-hoc way by repeated concatenation. This is ideal for fast
385− serialisation or pretty printing.
386− There is also a 'ShortByteString' type which has a lower memory overhead
387− and can can be converted to or from a 'ByteString', but supports very few
388− other operations. It is suitable for keeping many short strings in memory.
389− 'ByteString's are not designed for Unicode. For Unicode strings you should
390− use the 'Text' type from the @text@ package.
391− These modules are intended to be imported qualified, to avoid name clashes
392− with "Prelude" functions, e.g.
393− > import qualified Data.ByteString as BS
394−category: Data
395−exposed: True
396−exposed-modules:
397− Data.ByteString Data.ByteString.Builder
398− Data.ByteString.Builder.Extra Data.ByteString.Builder.Internal
399− Data.ByteString.Builder.Prim Data.ByteString.Builder.Prim.Internal
400− Data.ByteString.Char8 Data.ByteString.Internal Data.ByteString.Lazy
401− Data.ByteString.Lazy.Builder Data.ByteString.Lazy.Builder.ASCII
402− Data.ByteString.Lazy.Builder.Extras Data.ByteString.Lazy.Char8
403− Data.ByteString.Lazy.Internal Data.ByteString.Short
404− Data.ByteString.Short.Internal Data.ByteString.Unsafe
405−hidden-modules:
406− Data.ByteString.Builder.ASCII Data.ByteString.Builder.Prim.Binary
407− Data.ByteString.Builder.Prim.ASCII
408− Data.ByteString.Builder.Prim.Internal.Floating
409− Data.ByteString.Builder.Prim.Internal.UncheckedShifts
410− Data.ByteString.Builder.Prim.Internal.Base16
411−import-dirs:
412−library-dirs:
413−dynamic-library-dirs:
414−data-dir:
415−hs-libraries: HSbytestring-0.10.12.0
416−include-dirs:
417−includes: fpstring.h
418−depends:
419− base-4.14.2.0 deepseq-1.4.4.0 ghc-prim-0.6.1 integer-gmp-1.0.3.0
420−haddock-interfaces:
421−haddock-html:
422−---
423−name: containers
424−version: 0.6.4.1
425−visibility: public
426−id: containers-0.6.4.1
427−key: containers-0.6.4.1
428−license: BSD-3-Clause
429−maintainer: libraries@haskell.org
430−synopsis: Assorted concrete container types
431−description:
432− This package contains efficient general-purpose implementations
433− of various immutable container types including sets, maps, sequences,
434− trees, and graphs.
435− For a walkthrough of what this package provides with examples of common
436− operations see the [containers
437− introduction](https://haskell-containers.readthedocs.io).
438− The declared cost of each operation is either worst-case or amortized, but
439− remains valid even if structures are shared.
440−category: Data Structures
441−exposed: True
442−exposed-modules:
443− Data.Containers.ListUtils Data.Graph Data.IntMap
444− Data.IntMap.Internal Data.IntMap.Internal.Debug Data.IntMap.Lazy
445− Data.IntMap.Merge.Lazy Data.IntMap.Merge.Strict Data.IntMap.Strict
446− Data.IntMap.Strict.Internal Data.IntSet Data.IntSet.Internal
447− Data.Map Data.Map.Internal Data.Map.Internal.Debug Data.Map.Lazy
448− Data.Map.Merge.Lazy Data.Map.Merge.Strict Data.Map.Strict
449− Data.Map.Strict.Internal Data.Sequence Data.Sequence.Internal
450− Data.Sequence.Internal.Sorting Data.Set Data.Set.Internal Data.Tree
451− Utils.Containers.Internal.BitQueue
452− Utils.Containers.Internal.BitUtil
453− Utils.Containers.Internal.StrictPair
454−hidden-modules:
455− Utils.Containers.Internal.State
456− Utils.Containers.Internal.StrictMaybe
457− Utils.Containers.Internal.PtrEquality
458− Utils.Containers.Internal.Coercions
459− Utils.Containers.Internal.TypeError
460− Data.Map.Internal.DeprecatedShowTree
461− Data.IntMap.Internal.DeprecatedDebug
462−import-dirs:
463−library-dirs:
464−dynamic-library-dirs:
465−data-dir:
466−hs-libraries: HScontainers-0.6.4.1
467−depends: array-0.5.4.0 base-4.14.2.0 deepseq-1.4.4.0
468−haddock-interfaces:
469−haddock-html:
470−---
471−name: deepseq
472−version: 1.4.4.0
473−visibility: public
474−id: deepseq-1.4.4.0
475−key: deepseq-1.4.4.0
476−license: BSD-3-Clause
477−maintainer: libraries@haskell.org
478−synopsis: Deep evaluation of data structures
479−description:
480− This package provides methods for fully evaluating data structures
481− (\"deep evaluation\"). Deep evaluation is often used for adding
482− strictness to a program, e.g. in order to force pending exceptions,
483− remove space leaks, or force lazy I/O to happen. It is also useful
484− in parallel programs, to ensure pending work does not migrate to the
485− wrong thread.
486− The primary use of this package is via the 'deepseq' function, a
487− \"deep\" version of 'seq'. It is implemented on top of an 'NFData'
488− typeclass (\"Normal Form Data\", data structures with no unevaluated
489− components) which defines strategies for fully evaluating different
490− data types. See module documentation in "Control.DeepSeq" for more
491− details.
492−category: Control
493−exposed: True
494−exposed-modules: Control.DeepSeq
495−hidden-modules: Control.DeepSeq.BackDoor
496−import-dirs:
497−library-dirs:
498−dynamic-library-dirs:
499−data-dir:
500−hs-libraries: HSdeepseq-1.4.4.0
501−depends: array-0.5.4.0 base-4.14.2.0
502−haddock-interfaces:
503−haddock-html:
504−---
505−name: directory
506−version: 1.3.6.0
507−visibility: public
508−id: directory-1.3.6.0
509−key: directory-1.3.6.0
510−license: BSD-3-Clause
511−maintainer: libraries@haskell.org
512−synopsis: Platform-agnostic library for filesystem operations
513−description:
514− This library provides a basic set of operations for manipulating files and
515− directories in a portable way.
516−category: System
517−exposed: True
518−exposed-modules:
519− System.Directory System.Directory.Internal
520− System.Directory.Internal.Prelude
521−hidden-modules:
522− System.Directory.Internal.C_utimensat
523− System.Directory.Internal.Common System.Directory.Internal.Config
524− System.Directory.Internal.Posix System.Directory.Internal.Windows
525−import-dirs:
526−library-dirs:
527−dynamic-library-dirs:
528−data-dir:
529−hs-libraries: HSdirectory-1.3.6.0
530−depends:
531− base-4.14.2.0 filepath-1.4.2.1 time-1.9.3 unix-2.7.2.2
532−haddock-interfaces:
533−haddock-html:
534−---
535−name: exceptions
536−version: 0.10.4
537−visibility: public
538−id: exceptions-0.10.4
539−key: exceptions-0.10.4
540−license: BSD-3-Clause
541−copyright:
542− Copyright (C) 2013-2015 Edward A. Kmett
543− Copyright (C) 2012 Google Inc.
544−maintainer: Edward A. Kmett <ekmett@gmail.com>
545−author: Edward A. Kmett
546−stability: provisional
547−homepage: http://github.com/ekmett/exceptions/
548−synopsis: Extensible optionally-pure exceptions
549−description: Extensible optionally-pure exceptions.
550−category: Control, Exceptions, Monad
551−exposed: True
552−exposed-modules: Control.Monad.Catch Control.Monad.Catch.Pure
553−import-dirs:
554−library-dirs:
555−dynamic-library-dirs:
556−data-dir:
557−hs-libraries: HSexceptions-0.10.4
558−depends:
559− base-4.14.2.0 mtl-2.2.2 stm-2.5.0.1 template-haskell-2.16.0.0
560− transformers-0.5.6.2
561−haddock-interfaces:
562−haddock-html:
563−---
564−name: filepath
565−version: 1.4.2.1
566−visibility: public
567−id: filepath-1.4.2.1
568−key: filepath-1.4.2.1
569−license: BSD-3-Clause
570−copyright: Neil Mitchell 2005-2018
571−maintainer: Neil Mitchell <ndmitchell@gmail.com>
572−author: Neil Mitchell <ndmitchell@gmail.com>
573−homepage: https://github.com/haskell/filepath#readme
574−synopsis: Library for manipulating FilePaths in a cross platform way.
575−description:
576− This package provides functionality for manipulating @FilePath@ values, and is shipped with both <https://www.haskell.org/ghc/ GHC> and the <https://www.haskell.org/platform/ Haskell Platform>. It provides three modules:
577− * "System.FilePath.Posix" manipulates POSIX\/Linux style @FilePath@ values (with @\/@ as the path separator).
578− * "System.FilePath.Windows" manipulates Windows style @FilePath@ values (with either @\\@ or @\/@ as the path separator, and deals with drives).
579− * "System.FilePath" is an alias for the module appropriate to your platform.
580− All three modules provide the same API, and the same documentation (calling out differences in the different variants).
581−category: System
582−exposed: True
583−exposed-modules:
584− System.FilePath System.FilePath.Posix System.FilePath.Windows
585−import-dirs:
586−library-dirs:
587−dynamic-library-dirs:
588−data-dir:
589−hs-libraries: HSfilepath-1.4.2.1
590−depends: base-4.14.2.0
591−haddock-interfaces:
592−haddock-html:
593−---
594−name: ghc-boot
595−version: 8.10.5
596−visibility: public
597−id: ghc-boot-8.10.5
598−key: ghc-boot-8.10.5
599−license: BSD-3-Clause
600−maintainer: ghc-devs@haskell.org
601−synopsis: Shared functionality between GHC and its boot libraries
602−description:
603− This library is shared between GHC, ghc-pkg, and other boot
604− libraries.
605− A note about "GHC.PackageDb": it only deals with the subset of
606− the package database that the compiler cares about: modules
607− paths etc and not package metadata like description, authors
608− etc. It is thus not a library interface to ghc-pkg and is *not*
609− suitable for modifying GHC package databases.
610− The package database format and this library are constructed in
611− such a way that while ghc-pkg depends on Cabal, the GHC library
612− and program do not have to depend on Cabal.
613−category: GHC
614−exposed: True
615−exposed-modules:
616− GHC.BaseDir GHC.ForeignSrcLang GHC.HandleEncoding
617− GHC.LanguageExtensions GHC.PackageDb GHC.Platform GHC.Platform.Host
618− GHC.Serialized GHC.Settings GHC.UniqueSubdir GHC.Version
619−import-dirs:
620−library-dirs:
621−dynamic-library-dirs:
622−data-dir:
623−hs-libraries: HSghc-boot-8.10.5
624−depends:
625− base-4.14.2.0 binary-0.8.8.0 bytestring-0.10.12.0
626− containers-0.6.4.1 directory-1.3.6.0 filepath-1.4.2.1
627− ghc-boot-th-8.10.5
628−haddock-interfaces:
629−haddock-html:
630−---
631−name: ghc-boot-th
632−version: 8.10.5
633−visibility: public
634−id: ghc-boot-th-8.10.5
635−key: ghc-boot-th-8.10.5
636−license: BSD-3-Clause
637−maintainer: ghc-devs@haskell.org
638−synopsis:
639− Shared functionality between GHC and the @template-haskell@
640− library
641−description:
642− This library contains various bits shared between the @ghc@ and
643− @template-haskell@ libraries.
644− This package exists to ensure that @template-haskell@ has a
645− minimal set of transitive dependencies, since it is intended to
646− be depended upon by user code.
647−category: GHC
648−exposed: True
649−exposed-modules:
650− GHC.ForeignSrcLang.Type GHC.LanguageExtensions.Type GHC.Lexeme
651−import-dirs:
652−library-dirs:
653−dynamic-library-dirs:
654−data-dir:
655−hs-libraries: HSghc-boot-th-8.10.5
656−depends: base-4.14.2.0
657−haddock-interfaces:
658−haddock-html:
659−---
660−name: ghc-compact
661−version: 0.1.0.0
662−visibility: public
663−id: ghc-compact-0.1.0.0
664−key: ghc-compact-0.1.0.0
665−license: BSD-3-Clause
666−maintainer: libraries@haskell.org
667−synopsis: In memory storage of deeply evaluated data structure
668−description:
669− This package provides minimal functionality for working with
670− "compact regions", which hold a fully evaluated Haskell object graph.
671− These regions maintain the invariant that no pointers live inside the struct
672− that point outside it, which ensures efficient garbage collection without
673− ever reading the structure contents (effectively, it works as a manually
674− managed "oldest generation" which is never freed until the whole is
675− released).
676− Internally, the struct is stored a single contiguous block of memory,
677− which allows efficient serialization and deserialization of structs
678− for distributed computing.
679−category: Data
680−exposed: True
681−exposed-modules: GHC.Compact GHC.Compact.Serialized
682−import-dirs:
683−library-dirs:
684−dynamic-library-dirs:
685−data-dir:
686−hs-libraries: HSghc-compact-0.1.0.0
687−depends: base-4.14.2.0 bytestring-0.10.12.0 ghc-prim-0.6.1
688−haddock-interfaces:
689−haddock-html:
690−---
691−name: ghc-heap
692−version: 8.10.5
693−visibility: public
694−id: ghc-heap-8.10.5
695−key: ghc-heap-8.10.5
696−license: BSD-3-Clause
697−maintainer: libraries@haskell.org
698−synopsis: Functions for walking GHC's heap
699−description:
700− This package provides functions for walking the GHC heap data structures
701− and retrieving information about those data structures.
702−category: GHC
703−exposed: True
704−exposed-modules:
705− GHC.Exts.Heap GHC.Exts.Heap.ClosureTypes GHC.Exts.Heap.Closures
706− GHC.Exts.Heap.Constants GHC.Exts.Heap.InfoTable
707− GHC.Exts.Heap.InfoTable.Types GHC.Exts.Heap.InfoTableProf
708− GHC.Exts.Heap.Utils
709−import-dirs:
710−library-dirs:
711−dynamic-library-dirs:
712−data-dir:
713−hs-libraries: HSghc-heap-8.10.5
714−depends: base-4.14.2.0 ghc-prim-0.6.1 rts
715−haddock-interfaces:
716−haddock-html:
717−---
718−name: ghc-prim
719−version: 0.6.1
720−visibility: public
721−id: ghc-prim-0.6.1
722−key: ghc-prim-0.6.1
723−license: BSD-3-Clause
724−maintainer: libraries@haskell.org
725−synopsis: GHC primitives
726−description:
727− This package contains the primitive types and operations supplied by GHC.
728−category: GHC
729−exposed: True
730−exposed-modules:
731− GHC.CString GHC.Classes GHC.Debug GHC.IntWord64 GHC.Magic
732− GHC.Prim.Ext GHC.PrimopWrappers GHC.Tuple GHC.Types GHC.Prim
733−import-dirs:
734−library-dirs:
735−dynamic-library-dirs:
736−data-dir:
737−hs-libraries: HSghc-prim-0.6.1
738−extra-libraries: gcc c m
739−depends: rts
740−haddock-interfaces:
741−haddock-html:
742−---
743−name: ghci
744−version: 8.10.5
745−visibility: public
746−id: ghci-8.10.5
747−key: ghci-8.10.5
748−license: BSD-3-Clause
749−maintainer: ghc-devs@haskell.org
750−synopsis: The library supporting GHC's interactive interpreter
751−description:
752− This library offers interfaces which mediate interactions between the
753− @ghci@ interactive shell and @iserv@, GHC's out-of-process interpreter
754− backend.
755−category: GHC
756−exposed: True
757−exposed-modules:
758− GHCi.BinaryArray GHCi.BreakArray GHCi.CreateBCO GHCi.FFI
759− GHCi.InfoTable GHCi.Message GHCi.ObjLink GHCi.RemoteTypes
760− GHCi.ResolvedBCO GHCi.Run GHCi.Signals GHCi.StaticPtrTable GHCi.TH
761− GHCi.TH.Binary SizedSeq
762−import-dirs:
763−library-dirs:
764−dynamic-library-dirs:
765−data-dir:
766−hs-libraries: HSghci-8.10.5
767−include-dirs:
768−depends:
769− array-0.5.4.0 base-4.14.2.0 binary-0.8.8.0 bytestring-0.10.12.0
770− containers-0.6.4.1 deepseq-1.4.4.0 filepath-1.4.2.1 ghc-boot-8.10.5
771− ghc-boot-th-8.10.5 ghc-heap-8.10.5 rts template-haskell-2.16.0.0
772− transformers-0.5.6.2 unix-2.7.2.2
773−haddock-interfaces:
774−haddock-html:
775−---
776−name: haskeline
777−version: 0.8.0.1
778−visibility: public
779−id: haskeline-0.8.0.1
780−key: haskeline-0.8.0.1
781−license: BSD-3-Clause
782−copyright: (c) Judah Jacobson
783−maintainer: Judah Jacobson <judah.jacobson@gmail.com>
784−author: Judah Jacobson
785−stability: Stable
786−homepage: https://github.com/judah/haskeline
787−synopsis:
788− A command-line interface for user input, written in Haskell.
789−description:
790− Haskeline provides a user interface for line input in command-line
791− programs. This library is similar in purpose to readline, but since
792− it is written in Haskell it is (hopefully) more easily used in other
793− Haskell programs.
794− Haskeline runs both on POSIX-compatible systems and on Windows.
795−category: User Interfaces
796−exposed: True
797−exposed-modules:
798− System.Console.Haskeline System.Console.Haskeline.Completion
799− System.Console.Haskeline.History System.Console.Haskeline.IO
800− System.Console.Haskeline.Internal
801−hidden-modules:
802− System.Console.Haskeline.Backend
803− System.Console.Haskeline.Backend.WCWidth
804− System.Console.Haskeline.Command
805− System.Console.Haskeline.Command.Completion
806− System.Console.Haskeline.Command.History
807− System.Console.Haskeline.Command.KillRing
808− System.Console.Haskeline.Directory System.Console.Haskeline.Emacs
809− System.Console.Haskeline.InputT System.Console.Haskeline.Key
810− System.Console.Haskeline.LineState System.Console.Haskeline.Monads
811− System.Console.Haskeline.Prefs System.Console.Haskeline.Recover
812− System.Console.Haskeline.RunCommand System.Console.Haskeline.Term
813− System.Console.Haskeline.Command.Undo System.Console.Haskeline.Vi
814− System.Console.Haskeline.Backend.Posix
815− System.Console.Haskeline.Backend.Posix.Encoder
816− System.Console.Haskeline.Backend.DumbTerm
817−import-dirs:
818−library-dirs:
819−dynamic-library-dirs:
820−data-dir:
821−hs-libraries: HShaskeline-0.8.0.1
822−depends:
823− base-4.14.2.0 bytestring-0.10.12.0 containers-0.6.4.1
824− directory-1.3.6.0 exceptions-0.10.4 filepath-1.4.2.1
825− process-1.6.9.0 stm-2.5.0.1 transformers-0.5.6.2 unix-2.7.2.2
826−haddock-interfaces:
827−haddock-html:
828−---
829−name: hpc
830−version: 0.6.1.0
831−visibility: public
832−id: hpc-0.6.1.0
833−key: hpc-0.6.1.0
834−license: BSD-3-Clause
835−maintainer: ghc-devs@haskell.org
836−author: Andy Gill
837−synopsis: Code Coverage Library for Haskell
838−description:
839− This package provides the code coverage library for Haskell.
840− See <http://www.haskell.org/haskellwiki/Haskell_program_coverage> for more
841− information.
842−category: Control
843−exposed: True
844−exposed-modules:
845− Trace.Hpc.Mix Trace.Hpc.Reflect Trace.Hpc.Tix Trace.Hpc.Util
846−import-dirs:
847−library-dirs:
848−dynamic-library-dirs:
849−data-dir:
850−hs-libraries: HShpc-0.6.1.0
851−depends:
852− base-4.14.2.0 containers-0.6.4.1 deepseq-1.4.4.0 directory-1.3.6.0
853− filepath-1.4.2.1 time-1.9.3
854−haddock-interfaces:
855−haddock-html:
856−---
857−name: integer-gmp
858−version: 1.0.3.0
859−visibility: public
860−id: integer-gmp-1.0.3.0
861−key: integer-gmp-1.0.3.0
862−license: BSD-3-Clause
863−maintainer: hvr@gnu.org
864−author: Herbert Valerio Riedel
865−synopsis: Integer library based on GMP
866−description:
867− This package provides the low-level implementation of the standard
868− 'Integer' type based on the
869− <http://gmplib.org/ GNU Multiple Precision Arithmetic Library (GMP)>.
870− This package provides access to the internal representation of
871− 'Integer' as well as primitive operations with no proper error
872− handling, and should only be used directly with the utmost care.
873−category: Numeric, Algebra
874−exposed: True
875−exposed-modules:
876− GHC.Integer GHC.Integer.GMP.Internals GHC.Integer.Logarithms
877− GHC.Integer.Logarithms.Internals
878−hidden-modules: GHC.Integer.Type
879−import-dirs:
880−library-dirs:
881−dynamic-library-dirs:
882−data-dir:
883−hs-libraries: HSinteger-gmp-1.0.3.0
884−extra-libraries: gmp
885−include-dirs:
886−depends: ghc-prim-0.6.1
887−haddock-interfaces:
888−haddock-html:
889−---
890−name: libiserv
891−version: 8.10.5
892−visibility: public
893−id: libiserv-8.10.5
894−key: libiserv-8.10.5
895−license: BSD-3-Clause
896−copyright: XXX
897−maintainer: XXX
898−author: XXX
899−synopsis: Provides shared functionality between iserv and iserv-proxy
900−category: Development
901−exposed: True
902−exposed-modules: GHCi.Utils Lib
903−import-dirs:
904−library-dirs:
905−dynamic-library-dirs:
906−data-dir:
907−hs-libraries: HSlibiserv-8.10.5
908−depends:
909− base-4.14.2.0 binary-0.8.8.0 bytestring-0.10.12.0
910− containers-0.6.4.1 deepseq-1.4.4.0 ghci-8.10.5 unix-2.7.2.2
911−haddock-interfaces:
912−haddock-html:
913−---
914−name: mtl
915−version: 2.2.2
916−visibility: public
917−id: mtl-2.2.2
918−key: mtl-2.2.2
919−license: BSD-3-Clause
920−maintainer: Edward Kmett <ekmett@gmail.com>
921−author: Andy Gill
922−homepage: http://github.com/haskell/mtl
923−synopsis: Monad classes, using functional dependencies
924−description:
925− Monad classes using functional dependencies, with instances
926− for various monad transformers, inspired by the paper
927− /Functional Programming with Overloading and Higher-Order Polymorphism/,
928− by Mark P Jones, in /Advanced School of Functional Programming/, 1995
929− (<http://web.cecs.pdx.edu/~mpj/pubs/springschool.html>).
930−category: Control
931−exposed: True
932−exposed-modules:
933− Control.Monad.Cont Control.Monad.Cont.Class Control.Monad.Error
934− Control.Monad.Error.Class Control.Monad.Except
935− Control.Monad.Identity Control.Monad.List Control.Monad.RWS
936− Control.Monad.RWS.Class Control.Monad.RWS.Lazy
937− Control.Monad.RWS.Strict Control.Monad.Reader
938− Control.Monad.Reader.Class Control.Monad.State
939− Control.Monad.State.Class Control.Monad.State.Lazy
940− Control.Monad.State.Strict Control.Monad.Trans Control.Monad.Writer
941− Control.Monad.Writer.Class Control.Monad.Writer.Lazy
942− Control.Monad.Writer.Strict
943−import-dirs:
944−library-dirs:
945−dynamic-library-dirs:
946−data-dir:
947−hs-libraries: HSmtl-2.2.2
948−depends: base-4.14.2.0 transformers-0.5.6.2
949−haddock-interfaces:
950−haddock-html:
951−---
952−name: parsec
953−version: 3.1.14.0
954−visibility: public
955−id: parsec-3.1.14.0
956−key: parsec-3.1.14.0
957−license: BSD-3-Clause
958−maintainer: Herbert Valerio Riedel <hvr@gnu.org>
959−author:
960− Daan Leijen <daan@microsoft.com>, Paolo Martini <paolo@nemail.it>, Antoine Latter <aslatter@gmail.com>
961−homepage: https://github.com/haskell/parsec
962−synopsis: Monadic parser combinators
963−description:
964− Parsec is designed from scratch as an industrial-strength parser
965− library. It is simple, safe, well documented (on the package
966− homepage), has extensive libraries, good error messages,
967− and is fast. It is defined as a monad transformer that can be
968− stacked on arbitrary monads, and it is also parametric in the
969− input stream type.
970− The main entry point is the "Text.Parsec" module which provides
971− defaults for parsing 'Char'acter data.
972− The "Text.ParserCombinators.Parsec" module hierarchy contains
973− the legacy @parsec-2@ API and may be removed at some point in
974− the future.
975−category: Parsing
976−exposed: True
977−exposed-modules:
978− Text.Parsec Text.Parsec.ByteString Text.Parsec.ByteString.Lazy
979− Text.Parsec.Char Text.Parsec.Combinator Text.Parsec.Error
980− Text.Parsec.Expr Text.Parsec.Language Text.Parsec.Perm
981− Text.Parsec.Pos Text.Parsec.Prim Text.Parsec.String
982− Text.Parsec.Text Text.Parsec.Text.Lazy Text.Parsec.Token
983− Text.ParserCombinators.Parsec Text.ParserCombinators.Parsec.Char
984− Text.ParserCombinators.Parsec.Combinator
985− Text.ParserCombinators.Parsec.Error
986− Text.ParserCombinators.Parsec.Expr
987− Text.ParserCombinators.Parsec.Language
988− Text.ParserCombinators.Parsec.Perm
989− Text.ParserCombinators.Parsec.Pos
990− Text.ParserCombinators.Parsec.Prim
991− Text.ParserCombinators.Parsec.Token
992−import-dirs:
993−library-dirs:
994−dynamic-library-dirs:
995−data-dir:
996−hs-libraries: HSparsec-3.1.14.0
997−depends:
998− base-4.14.2.0 bytestring-0.10.12.0 mtl-2.2.2 text-1.2.4.1
999−haddock-interfaces:
1000−haddock-html:
1001−---
1002−name: pretty
1003−version: 1.1.3.6
1004−visibility: public
1005−id: pretty-1.1.3.6
1006−key: pretty-1.1.3.6
1007−license: BSD-3-Clause
1008−maintainer: David Terei <code@davidterei.com>
1009−stability: Stable
1010−homepage: http://github.com/haskell/pretty
1011−synopsis: Pretty-printing library
1012−description:
1013− This package contains a pretty-printing library, a set of API's
1014− that provides a way to easily print out text in a consistent
1015− format of your choosing. This is useful for compilers and related
1016− tools.
1017− This library was originally designed by John Hughes's and has since
1018− been heavily modified by Simon Peyton Jones.
1019−category: Text
1020−exposed: True
1021−exposed-modules:
1022− Text.PrettyPrint Text.PrettyPrint.Annotated
1023− Text.PrettyPrint.Annotated.HughesPJ
1024− Text.PrettyPrint.Annotated.HughesPJClass Text.PrettyPrint.HughesPJ
1025− Text.PrettyPrint.HughesPJClass
1026−import-dirs:
1027−library-dirs:
1028−dynamic-library-dirs:
1029−data-dir:
1030−hs-libraries: HSpretty-1.1.3.6
1031−depends: base-4.14.2.0 deepseq-1.4.4.0 ghc-prim-0.6.1
1032−haddock-interfaces:
1033−haddock-html:
1034−---
1035−name: process
1036−version: 1.6.9.0
1037−visibility: public
1038−id: process-1.6.9.0
1039−key: process-1.6.9.0
1040−license: BSD-3-Clause
1041−maintainer: libraries@haskell.org
1042−synopsis: Process libraries
1043−description:
1044− This package contains libraries for dealing with system processes.
1045− The typed-process package is a more recent take on a process API,
1046− which uses this package internally. It features better binary
1047− support, easier concurrency, and a more composable API. You can
1048− read more about it at
1049− <https://github.com/fpco/typed-process/#readme>.
1050−category: System
1051−exposed: True
1052−exposed-modules: System.Cmd System.Process System.Process.Internals
1053−hidden-modules: System.Process.Common System.Process.Posix
1054−import-dirs:
1055−library-dirs:
1056−dynamic-library-dirs:
1057−data-dir:
1058−hs-libraries: HSprocess-1.6.9.0
1059−include-dirs:
1060−includes: runProcess.h
1061−depends:
1062− base-4.14.2.0 deepseq-1.4.4.0 directory-1.3.6.0 filepath-1.4.2.1
1063− unix-2.7.2.2
1064−haddock-interfaces:
1065−haddock-html:
1066−---
1067−name: stm
1068−version: 2.5.0.1
1069−visibility: public
1070−id: stm-2.5.0.1
1071−key: stm-2.5.0.1
1072−license: BSD-3-Clause
1073−maintainer: libraries@haskell.org
1074−homepage: https://wiki.haskell.org/Software_transactional_memory
1075−synopsis: Software Transactional Memory
1076−description:
1077− Software Transactional Memory, or STM, is an abstraction for
1078− concurrent communication. The main benefits of STM are
1079− /composability/ and /modularity/. That is, using STM you can write
1080− concurrent abstractions that can be easily composed with any other
1081− abstraction built using STM, without exposing the details of how
1082− your abstraction ensures safety. This is typically not the case
1083− with other forms of concurrent communication, such as locks or
1084− 'MVar's.
1085−category: Concurrency
1086−exposed: True
1087−exposed-modules:
1088− Control.Concurrent.STM Control.Concurrent.STM.TArray
1089− Control.Concurrent.STM.TBQueue Control.Concurrent.STM.TChan
1090− Control.Concurrent.STM.TMVar Control.Concurrent.STM.TQueue
1091− Control.Concurrent.STM.TSem Control.Concurrent.STM.TVar
1092− Control.Monad.STM
1093−hidden-modules: Control.Sequential.STM
1094−import-dirs:
1095−library-dirs:
1096−dynamic-library-dirs:
1097−data-dir:
1098−hs-libraries: HSstm-2.5.0.1
1099−depends: array-0.5.4.0 base-4.14.2.0
1100−haddock-interfaces:
1101−haddock-html:
1102−---
1103−name: template-haskell
1104−version: 2.16.0.0
1105−visibility: public
1106−id: template-haskell-2.16.0.0
1107−key: template-haskell-2.16.0.0
1108−license: BSD-3-Clause
1109−maintainer: libraries@haskell.org
1110−synopsis: Support library for Template Haskell
1111−description:
1112− This package provides modules containing facilities for manipulating
1113− Haskell source code using Template Haskell.
1114− See <http://www.haskell.org/haskellwiki/Template_Haskell> for more
1115− information.
1116−category: Template Haskell
1117−exposed: True
1118−exposed-modules:
1119− Language.Haskell.TH Language.Haskell.TH.LanguageExtensions
1120− Language.Haskell.TH.Lib Language.Haskell.TH.Lib.Internal
1121− Language.Haskell.TH.Ppr Language.Haskell.TH.PprLib
1122− Language.Haskell.TH.Quote Language.Haskell.TH.Syntax
1123−hidden-modules: Language.Haskell.TH.Lib.Map
1124−import-dirs:
1125−library-dirs:
1126−dynamic-library-dirs:
1127−data-dir:
1128−hs-libraries: HStemplate-haskell-2.16.0.0
1129−depends:
1130− base-4.14.2.0 ghc-boot-th-8.10.5 ghc-prim-0.6.1 pretty-1.1.3.6
1131−haddock-interfaces:
1132−haddock-html:
1133−---
1134−name: text
1135−version: 1.2.4.1
1136−visibility: public
1137−id: text-1.2.4.1
1138−key: text-1.2.4.1
1139−license: BSD-2-Clause
1140−copyright: 2009-2011 Bryan O'Sullivan, 2008-2009 Tom Harper
1141−maintainer:
1142− Bryan O'Sullivan <bos@serpentine.com>, Herbert Valerio Riedel <hvr@gnu.org>
1143−author: Bryan O'Sullivan <bos@serpentine.com>
1144−homepage: https://github.com/haskell/text
1145−synopsis: An efficient packed Unicode text type.
1146−description:
1147− An efficient packed, immutable Unicode text type (both strict and
1148− lazy), with a powerful loop fusion optimization framework.
1149− The 'Text' type represents Unicode character strings, in a time and
1150− space-efficient manner. This package provides text processing
1151− capabilities that are optimized for performance critical use, both
1152− in terms of large data quantities and high speed.
1153− The 'Text' type provides character-encoding, type-safe case
1154− conversion via whole-string case conversion functions (see "Data.Text").
1155− It also provides a range of functions for converting 'Text' values to
1156− and from 'ByteStrings', using several standard encodings
1157− (see "Data.Text.Encoding").
1158− Efficient locale-sensitive support for text IO is also supported
1159− (see "Data.Text.IO").
1160− These modules are intended to be imported qualified, to avoid name
1161− clashes with Prelude functions, e.g.
1162− > import qualified Data.Text as T
1163− == ICU Support
1164− To use an extended and very rich family of functions for working
1165− with Unicode text (including normalization, regular expressions,
1166− non-standard encodings, text breaking, and locales), see
1167− the [text-icu package](https://hackage.haskell.org/package/text-icu)
1168− based on the well-respected and liberally
1169− licensed [ICU library](http://site.icu-project.org/).
1170− == Internal Representation: UTF-16 vs. UTF-8
1171− Currently the @text@ library uses UTF-16 as its internal representation
1172− which is [neither a fixed-width nor always the most dense representation](http://utf8everywhere.org/)
1173− for Unicode text. We're currently investigating the feasibility
1174− of [changing Text's internal representation to UTF-8](https://github.com/text-utf8)
1175− and if you need such a 'Text' type right now you might be interested in using the spin-off
1176− packages <https://hackage.haskell.org/package/text-utf8 text-utf8> and
1177− <https://hackage.haskell.org/package/text-short text-short>.
1178−category: Data, Text
1179−exposed: True
1180−exposed-modules:
1181− Data.Text Data.Text.Array Data.Text.Encoding
1182− Data.Text.Encoding.Error Data.Text.Foreign Data.Text.IO
1183− Data.Text.Internal Data.Text.Internal.Builder
1184− Data.Text.Internal.Builder.Functions
1185− Data.Text.Internal.Builder.Int.Digits
1186− Data.Text.Internal.Builder.RealFloat.Functions
1187− Data.Text.Internal.ByteStringCompat
1188− Data.Text.Internal.Encoding.Fusion
1189− Data.Text.Internal.Encoding.Fusion.Common
1190− Data.Text.Internal.Encoding.Utf16 Data.Text.Internal.Encoding.Utf32
1191− Data.Text.Internal.Encoding.Utf8 Data.Text.Internal.Functions
1192− Data.Text.Internal.Fusion Data.Text.Internal.Fusion.CaseMapping
1193− Data.Text.Internal.Fusion.Common Data.Text.Internal.Fusion.Size
1194− Data.Text.Internal.Fusion.Types Data.Text.Internal.IO
1195− Data.Text.Internal.Lazy Data.Text.Internal.Lazy.Encoding.Fusion
1196− Data.Text.Internal.Lazy.Fusion Data.Text.Internal.Lazy.Search
1197− Data.Text.Internal.Private Data.Text.Internal.Read
1198− Data.Text.Internal.Search Data.Text.Internal.Unsafe
1199− Data.Text.Internal.Unsafe.Char Data.Text.Internal.Unsafe.Shift
1200− Data.Text.Lazy Data.Text.Lazy.Builder Data.Text.Lazy.Builder.Int
1201− Data.Text.Lazy.Builder.RealFloat Data.Text.Lazy.Encoding
1202− Data.Text.Lazy.IO Data.Text.Lazy.Internal Data.Text.Lazy.Read
1203− Data.Text.Read Data.Text.Unsafe
1204−hidden-modules: Data.Text.Show
1205−import-dirs:
1206−library-dirs:
1207−dynamic-library-dirs:
1208−data-dir:
1209−hs-libraries: HStext-1.2.4.1
1210−depends:
1211− array-0.5.4.0 base-4.14.2.0 binary-0.8.8.0 bytestring-0.10.12.0
1212− deepseq-1.4.4.0 ghc-prim-0.6.1 integer-gmp-1.0.3.0
1213− template-haskell-2.16.0.0
1214−haddock-interfaces:
1215−haddock-html:
1216−---
1217−name: time
1218−version: 1.9.3
1219−visibility: public
1220−id: time-1.9.3
1221−key: time-1.9.3
1222−license: BSD-3-Clause
1223−maintainer: <ashley@semantic.org>
1224−author: Ashley Yakeley
1225−stability: stable
1226−homepage: https://github.com/haskell/time
1227−synopsis: A time library
1228−description: Time, clocks and calendars
1229−category: Time
1230−exposed: True
1231−exposed-modules:
1232− Data.Time Data.Time.Calendar Data.Time.Calendar.Easter
1233− Data.Time.Calendar.Julian Data.Time.Calendar.MonthDay
1234− Data.Time.Calendar.OrdinalDate Data.Time.Calendar.WeekDate
1235− Data.Time.Clock Data.Time.Clock.POSIX Data.Time.Clock.System
1236− Data.Time.Clock.TAI Data.Time.Format Data.Time.Format.ISO8601
1237− Data.Time.Format.Internal Data.Time.LocalTime
1238−hidden-modules:
1239− Data.Format Data.Time.Calendar.Private Data.Time.Calendar.Days
1240− Data.Time.Calendar.Gregorian Data.Time.Calendar.CalendarDiffDays
1241− Data.Time.Calendar.Week Data.Time.Calendar.JulianYearDay
1242− Data.Time.Clock.Internal.DiffTime
1243− Data.Time.Clock.Internal.AbsoluteTime
1244− Data.Time.Clock.Internal.NominalDiffTime
1245− Data.Time.Clock.Internal.POSIXTime
1246− Data.Time.Clock.Internal.UniversalTime
1247− Data.Time.Clock.Internal.SystemTime
1248− Data.Time.Clock.Internal.UTCTime Data.Time.Clock.Internal.CTimeval
1249− Data.Time.Clock.Internal.CTimespec Data.Time.Clock.Internal.UTCDiff
1250− Data.Time.LocalTime.Internal.TimeZone
1251− Data.Time.LocalTime.Internal.TimeOfDay
1252− Data.Time.LocalTime.Internal.CalendarDiffTime
1253− Data.Time.LocalTime.Internal.LocalTime
1254− Data.Time.LocalTime.Internal.ZonedTime Data.Time.Format.Parse
1255− Data.Time.Format.Locale Data.Time.Format.Format.Class
1256− Data.Time.Format.Format.Instances Data.Time.Format.Parse.Class
1257− Data.Time.Format.Parse.Instances
1258−import-dirs:
1259−library-dirs:
1260−dynamic-library-dirs:
1261−data-dir:
1262−hs-libraries: HStime-1.9.3
1263−include-dirs:
1264−depends: base-4.14.2.0 deepseq-1.4.4.0
1265−haddock-interfaces:
1266−haddock-html:
1267−---
1268−name: transformers
1269−version: 0.5.6.2
1270−visibility: public
1271−id: transformers-0.5.6.2
1272−key: transformers-0.5.6.2
1273−license: BSD-3-Clause
1274−maintainer: Ross Paterson <R.Paterson@city.ac.uk>
1275−author: Andy Gill, Ross Paterson
1276−synopsis: Concrete functor and monad transformers
1277−description:
1278− A portable library of functor and monad transformers, inspired by
1279− the paper
1280− * \"Functional Programming with Overloading and Higher-Order
1281− Polymorphism\", by Mark P Jones,
1282− in /Advanced School of Functional Programming/, 1995
1283− (<http://web.cecs.pdx.edu/~mpj/pubs/springschool.html>).
1284− This package contains:
1285− * the monad transformer class (in "Control.Monad.Trans.Class")
1286− * concrete functor and monad transformers, each with associated
1287− operations and functions to lift operations associated with other
1288− transformers.
1289− The package can be used on its own in portable Haskell code, in
1290− which case operations need to be manually lifted through transformer
1291− stacks (see "Control.Monad.Trans.Class" for some examples).
1292− Alternatively, it can be used with the non-portable monad classes in
1293− the @mtl@ or @monads-tf@ packages, which automatically lift operations
1294− introduced by monad transformers through other transformers.
1295−category: Control
1296−exposed: True
1297−exposed-modules:
1298− Control.Applicative.Backwards Control.Applicative.Lift
1299− Control.Monad.Signatures Control.Monad.Trans.Accum
1300− Control.Monad.Trans.Class Control.Monad.Trans.Cont
1301− Control.Monad.Trans.Error Control.Monad.Trans.Except
1302− Control.Monad.Trans.Identity Control.Monad.Trans.List
1303− Control.Monad.Trans.Maybe Control.Monad.Trans.RWS
1304− Control.Monad.Trans.RWS.CPS Control.Monad.Trans.RWS.Lazy
1305− Control.Monad.Trans.RWS.Strict Control.Monad.Trans.Reader
1306− Control.Monad.Trans.Select Control.Monad.Trans.State
1307− Control.Monad.Trans.State.Lazy Control.Monad.Trans.State.Strict
1308− Control.Monad.Trans.Writer Control.Monad.Trans.Writer.CPS
1309− Control.Monad.Trans.Writer.Lazy Control.Monad.Trans.Writer.Strict
1310− Data.Functor.Constant Data.Functor.Reverse
1311−import-dirs:
1312−library-dirs:
1313−dynamic-library-dirs:
1314−data-dir:
1315−hs-libraries: HStransformers-0.5.6.2
1316−depends: base-4.14.2.0
1317−haddock-interfaces:
1318−haddock-html:
1319−---
1320−name: unix
1321−version: 2.7.2.2
1322−visibility: public
1323−id: unix-2.7.2.2
1324−key: unix-2.7.2.2
1325−license: BSD-3-Clause
1326−maintainer: libraries@haskell.org
1327−homepage: https://github.com/haskell/unix
1328−synopsis: POSIX functionality
1329−description:
1330− This package gives you access to the set of operating system
1331− services standardised by
1332− <http://pubs.opengroup.org/onlinepubs/9699919799/ POSIX.1-2008>
1333− (or the IEEE Portable Operating System Interface for Computing
1334− Environments - IEEE Std. 1003.1).
1335− The package is not supported under Windows.
1336−category: System
1337−exposed: True
1338−exposed-modules:
1339− System.Posix System.Posix.ByteString
1340− System.Posix.ByteString.FilePath System.Posix.Directory
1341− System.Posix.Directory.ByteString System.Posix.DynamicLinker
1342− System.Posix.DynamicLinker.ByteString
1343− System.Posix.DynamicLinker.Module
1344− System.Posix.DynamicLinker.Module.ByteString
1345− System.Posix.DynamicLinker.Prim System.Posix.Env
1346− System.Posix.Env.ByteString System.Posix.Error System.Posix.Fcntl
1347− System.Posix.Files System.Posix.Files.ByteString System.Posix.IO
1348− System.Posix.IO.ByteString System.Posix.Process
1349− System.Posix.Process.ByteString System.Posix.Process.Internals
1350− System.Posix.Resource System.Posix.Semaphore System.Posix.SharedMem
1351− System.Posix.Signals System.Posix.Signals.Exts System.Posix.Temp
1352− System.Posix.Temp.ByteString System.Posix.Terminal
1353− System.Posix.Terminal.ByteString System.Posix.Time
1354− System.Posix.Unistd System.Posix.User
1355−hidden-modules:
1356− System.Posix.Directory.Common System.Posix.DynamicLinker.Common
1357− System.Posix.Files.Common System.Posix.IO.Common
1358− System.Posix.Process.Common System.Posix.Terminal.Common
1359−import-dirs:
1360−library-dirs:
1361−dynamic-library-dirs:
1362−data-dir:
1363−hs-libraries: HSunix-2.7.2.2
1364−extra-libraries: rt util dl pthread
1365−include-dirs:
1366−includes: HsUnix.h execvpe.h
1367−depends: base-4.14.2.0 bytestring-0.10.12.0 time-1.9.3
1368−haddock-interfaces:
1369−haddock-html:
1370−---
1371−name: rts
1372−version: 1.0.1
1373−visibility: public
1374−id: rts
1375−key: rts
1376−license: BSD-3-Clause
1377−maintainer: glasgow-haskell-users@haskell.org
1378−exposed: True
1379−library-dirs:
1380−hs-libraries: HSrts
1381−extra-libraries: m rt dl ffi numa pthread
1382−include-dirs:
1383−includes: Stg.h
1384−ld-options:
1385− "-Wl,-u,base_GHCziTopHandler_runIO_closure"
1386− "-Wl,-u,base_GHCziTopHandler_runNonIO_closure"
1387− "-Wl,-u,ghczmprim_GHCziTuple_Z0T_closure"
1388− "-Wl,-u,ghczmprim_GHCziTypes_True_closure"
1389− "-Wl,-u,ghczmprim_GHCziTypes_False_closure"
1390− "-Wl,-u,base_GHCziPack_unpackCString_closure"
1391− "-Wl,-u,base_GHCziWeak_runFinalizzerBatch_closure"
1392− "-Wl,-u,base_GHCziIOziException_stackOverflow_closure"
1393− "-Wl,-u,base_GHCziIOziException_heapOverflow_closure"
1394− "-Wl,-u,base_GHCziIOziException_allocationLimitExceeded_closure"
1395− "-Wl,-u,base_GHCziIOziException_blockedIndefinitelyOnMVar_closure"
1396− "-Wl,-u,base_GHCziIOziException_blockedIndefinitelyOnSTM_closure"
1397− "-Wl,-u,base_GHCziIOziException_cannotCompactFunction_closure"
1398− "-Wl,-u,base_GHCziIOziException_cannotCompactPinned_closure"
1399− "-Wl,-u,base_GHCziIOziException_cannotCompactMutable_closure"
1400− "-Wl,-u,base_ControlziExceptionziBase_absentSumFieldError_closure"
1401− "-Wl,-u,base_ControlziExceptionziBase_nonTermination_closure"
1402− "-Wl,-u,base_ControlziExceptionziBase_nestedAtomically_closure"
1403− "-Wl,-u,base_GHCziEventziThread_blockedOnBadFD_closure"
1404− "-Wl,-u,base_GHCziConcziSync_runSparks_closure"
1405− "-Wl,-u,base_GHCziConcziIO_ensureIOManagerIsRunning_closure"
1406− "-Wl,-u,base_GHCziConcziIO_ioManagerCapabilitiesChanged_closure"
1407− "-Wl,-u,base_GHCziConcziSignal_runHandlersPtr_closure"
1408− "-Wl,-u,base_GHCziTopHandler_flushStdHandles_closure"
1409− "-Wl,-u,base_GHCziTopHandler_runMainIO_closure"
1410− "-Wl,-u,ghczmprim_GHCziTypes_Czh_con_info"
1411− "-Wl,-u,ghczmprim_GHCziTypes_Izh_con_info"
1412− "-Wl,-u,ghczmprim_GHCziTypes_Fzh_con_info"
1413− "-Wl,-u,ghczmprim_GHCziTypes_Dzh_con_info"
1414− "-Wl,-u,ghczmprim_GHCziTypes_Wzh_con_info"
1415− "-Wl,-u,base_GHCziPtr_Ptr_con_info"
1416− "-Wl,-u,base_GHCziPtr_FunPtr_con_info"
1417− "-Wl,-u,base_GHCziInt_I8zh_con_info"
1418− "-Wl,-u,base_GHCziInt_I16zh_con_info"
1419− "-Wl,-u,base_GHCziInt_I32zh_con_info"
1420− "-Wl,-u,base_GHCziInt_I64zh_con_info"
1421− "-Wl,-u,base_GHCziWord_W8zh_con_info"
1422− "-Wl,-u,base_GHCziWord_W16zh_con_info"
1423− "-Wl,-u,base_GHCziWord_W32zh_con_info"
1424− "-Wl,-u,base_GHCziWord_W64zh_con_info"
1425− "-Wl,-u,base_GHCziStable_StablePtr_con_info"
1426− "-Wl,-u,hs_atomic_add8" "-Wl,-u,hs_atomic_add16"
1427− "-Wl,-u,hs_atomic_add32" "-Wl,-u,hs_atomic_add64"
1428− "-Wl,-u,hs_atomic_sub8" "-Wl,-u,hs_atomic_sub16"
1429− "-Wl,-u,hs_atomic_sub32" "-Wl,-u,hs_atomic_sub64"
1430− "-Wl,-u,hs_atomic_and8" "-Wl,-u,hs_atomic_and16"
1431− "-Wl,-u,hs_atomic_and32" "-Wl,-u,hs_atomic_and64"
1432− "-Wl,-u,hs_atomic_nand8" "-Wl,-u,hs_atomic_nand16"
1433− "-Wl,-u,hs_atomic_nand32" "-Wl,-u,hs_atomic_nand64"
1434− "-Wl,-u,hs_atomic_or8" "-Wl,-u,hs_atomic_or16"
1435− "-Wl,-u,hs_atomic_or32" "-Wl,-u,hs_atomic_or64"
1436− "-Wl,-u,hs_atomic_xor8" "-Wl,-u,hs_atomic_xor16"
1437− "-Wl,-u,hs_atomic_xor32" "-Wl,-u,hs_atomic_xor64"
1438− "-Wl,-u,hs_cmpxchg8" "-Wl,-u,hs_cmpxchg16" "-Wl,-u,hs_cmpxchg32"
1439− "-Wl,-u,hs_cmpxchg64" "-Wl,-u,hs_atomicread8"
1440− "-Wl,-u,hs_atomicread16" "-Wl,-u,hs_atomicread32"
1441− "-Wl,-u,hs_atomicread64" "-Wl,-u,hs_atomicwrite8"
1442− "-Wl,-u,hs_atomicwrite16" "-Wl,-u,hs_atomicwrite32"
1443− "-Wl,-u,hs_atomicwrite64"
materialized/dummy-ghc/aarch64-unknown-linux-gnu-aarch64-unknown-linux-gnu-ghc-8.10.5-x86_64-linux/ghc-pkg/versiondeleted−1
@@ -1 +0,0 @@
1−GHC package manager version 8.10.5
materialized/dummy-ghc/aarch64-unknown-linux-gnu-aarch64-unknown-linux-gnu-ghc-8.10.5-x86_64-linux/ghc/infodeleted−69
@@ -1,69 +0,0 @@
1− [("Project name","The Glorious Glasgow Haskell Compilation System")
2− ,("GCC extra via C opts","")
3− ,("C compiler flags","")
4− ,("C++ compiler flags","")
5− ,("C compiler link flags","-Wl,-z,noexecstack")
6− ,("C compiler supports -no-pie","YES")
7− ,("Haskell CPP flags","-E -undef -traditional")
8− ,("ld flags","-z noexecstack")
9− ,("ld supports compact unwind","YES")
10− ,("ld supports build-id","YES")
11− ,("ld supports filelist","NO")
12− ,("ld is GNU ld","YES")
13− ,("Merge objects flags","-r")
14− ,("ar flags","q")
15− ,("ar supports at file","YES")
16− ,("otool command","otool")
17− ,("install_name_tool command","install_name_tool")
18− ,("touch command","touch")
19− ,("dllwrap command","/bin/false")
20− ,("windres command","/bin/false")
21− ,("libtool command","libtool")
22− ,("cross compiling","YES")
23− ,("target platform string","aarch64-unknown-linux")
24− ,("target os","OSLinux")
25− ,("target arch","ArchAArch64")
26− ,("target word size","8")
27− ,("target has GNU nonexec stack","YES")
28− ,("target has .ident directive","YES")
29− ,("target has subsections via symbols","NO")
30− ,("target has RTS linker","YES")
31− ,("Unregisterised","NO")
32− ,("LLVM target","aarch64-unknown-linux")
33− ,("LLVM llc command","llc")
34− ,("LLVM opt command","opt")
35− ,("LLVM clang command","clang")
36− ,("integer library","integer-gmp")
37− ,("Use interpreter","YES")
38− ,("Use native code generator","NO")
39− ,("Support SMP","YES")
40− ,("RTS ways","l debug thr thr_debug thr_l thr_p thr_debug_p debug_p")
41− ,("Tables next to code","YES")
42− ,("Leading underscore","NO")
43− ,("Use LibFFI","YES")
44− ,("Use Threads","YES")
45− ,("Use Debugging","NO")
46− ,("RTS expects libdw","NO")
47− ,("Project version","8.10.5")
48− ,("Project Git commit id","a43a5650f51fdc04d757abc3d86b0a23ec518259")
49− ,("Booter version","8.8.4")
50− ,("Stage","1")
51− ,("Build platform","x86_64-unknown-linux")
52− ,("Host platform","x86_64-unknown-linux")
53− ,("Target platform","aarch64-unknown-linux")
54− ,("Have interpreter","YES")
55− ,("Object splitting supported","NO")
56− ,("Have native code generator","NO")
57− ,("Support dynamic-too","YES")
58− ,("Support parallel --make","YES")
59− ,("Support reexported-modules","YES")
60− ,("Support thinning and renaming package flags","YES")
61− ,("Support Backpack","YES")
62− ,("Requires unified installed package IDs","YES")
63− ,("Uses package keys","YES")
64− ,("Uses unit IDs","YES")
65− ,("Dynamic by default","NO")
66− ,("GHC Dynamic","NO")
67− ,("GHC Profiled","NO")
68− ,("Debug on","NO")
69− ]
materialized/dummy-ghc/aarch64-unknown-linux-gnu-aarch64-unknown-linux-gnu-ghc-8.10.5-x86_64-linux/ghc/numeric-versiondeleted−1
@@ -1 +0,0 @@
1−8.10.5
materialized/dummy-ghc/aarch64-unknown-linux-gnu-aarch64-unknown-linux-gnu-ghc-8.10.5-x86_64-linux/ghc/supported-languagesdeleted−255
@@ -1,255 +0,0 @@
1−Haskell98
2−Haskell2010
3−Unsafe
4−Trustworthy
5−Safe
6−AllowAmbiguousTypes
7−NoAllowAmbiguousTypes
8−AlternativeLayoutRule
9−NoAlternativeLayoutRule
10−AlternativeLayoutRuleTransitional
11−NoAlternativeLayoutRuleTransitional
12−Arrows
13−NoArrows
14−AutoDeriveTypeable
15−NoAutoDeriveTypeable
16−BangPatterns
17−NoBangPatterns
18−BinaryLiterals
19−NoBinaryLiterals
20−CApiFFI
21−NoCApiFFI
22−CPP
23−NoCPP
24−CUSKs
25−NoCUSKs
26−ConstrainedClassMethods
27−NoConstrainedClassMethods
28−ConstraintKinds
29−NoConstraintKinds
30−DataKinds
31−NoDataKinds
32−DatatypeContexts
33−NoDatatypeContexts
34−DefaultSignatures
35−NoDefaultSignatures
36−DeriveAnyClass
37−NoDeriveAnyClass
38−DeriveDataTypeable
39−NoDeriveDataTypeable
40−DeriveFoldable
41−NoDeriveFoldable
42−DeriveFunctor
43−NoDeriveFunctor
44−DeriveGeneric
45−NoDeriveGeneric
46−DeriveLift
47−NoDeriveLift
48−DeriveTraversable
49−NoDeriveTraversable
50−DerivingStrategies
51−NoDerivingStrategies
52−DerivingVia
53−NoDerivingVia
54−DisambiguateRecordFields
55−NoDisambiguateRecordFields
56−DoAndIfThenElse
57−NoDoAndIfThenElse
58−BlockArguments
59−NoBlockArguments
60−DoRec
61−NoDoRec
62−DuplicateRecordFields
63−NoDuplicateRecordFields
64−EmptyCase
65−NoEmptyCase
66−EmptyDataDecls
67−NoEmptyDataDecls
68−EmptyDataDeriving
69−NoEmptyDataDeriving
70−ExistentialQuantification
71−NoExistentialQuantification
72−ExplicitForAll
73−NoExplicitForAll
74−ExplicitNamespaces
75−NoExplicitNamespaces
76−ExtendedDefaultRules
77−NoExtendedDefaultRules
78−FlexibleContexts
79−NoFlexibleContexts
80−FlexibleInstances
81−NoFlexibleInstances
82−ForeignFunctionInterface
83−NoForeignFunctionInterface
84−FunctionalDependencies
85−NoFunctionalDependencies
86−GADTSyntax
87−NoGADTSyntax
88−GADTs
89−NoGADTs
90−GHCForeignImportPrim
91−NoGHCForeignImportPrim
92−GeneralizedNewtypeDeriving
93−NoGeneralizedNewtypeDeriving
94−GeneralisedNewtypeDeriving
95−NoGeneralisedNewtypeDeriving
96−ImplicitParams
97−NoImplicitParams
98−ImplicitPrelude
99−NoImplicitPrelude
100−ImportQualifiedPost
101−NoImportQualifiedPost
102−ImpredicativeTypes
103−NoImpredicativeTypes
104−IncoherentInstances
105−NoIncoherentInstances
106−TypeFamilyDependencies
107−NoTypeFamilyDependencies
108−InstanceSigs
109−NoInstanceSigs
110−ApplicativeDo
111−NoApplicativeDo
112−InterruptibleFFI
113−NoInterruptibleFFI
114−JavaScriptFFI
115−NoJavaScriptFFI
116−KindSignatures
117−NoKindSignatures
118−LambdaCase
119−NoLambdaCase
120−LiberalTypeSynonyms
121−NoLiberalTypeSynonyms
122−MagicHash
123−NoMagicHash
124−MonadComprehensions
125−NoMonadComprehensions
126−MonadFailDesugaring
127−NoMonadFailDesugaring
128−MonoLocalBinds
129−NoMonoLocalBinds
130−MonoPatBinds
131−NoMonoPatBinds
132−MonomorphismRestriction
133−NoMonomorphismRestriction
134−MultiParamTypeClasses
135−NoMultiParamTypeClasses
136−MultiWayIf
137−NoMultiWayIf
138−NumericUnderscores
139−NoNumericUnderscores
140−NPlusKPatterns
141−NoNPlusKPatterns
142−NamedFieldPuns
143−NoNamedFieldPuns
144−NamedWildCards
145−NoNamedWildCards
146−NegativeLiterals
147−NoNegativeLiterals
148−HexFloatLiterals
149−NoHexFloatLiterals
150−NondecreasingIndentation
151−NoNondecreasingIndentation
152−NullaryTypeClasses
153−NoNullaryTypeClasses
154−NumDecimals
155−NoNumDecimals
156−OverlappingInstances
157−NoOverlappingInstances
158−OverloadedLabels
159−NoOverloadedLabels
160−OverloadedLists
161−NoOverloadedLists
162−OverloadedStrings
163−NoOverloadedStrings
164−PackageImports
165−NoPackageImports
166−ParallelArrays
167−NoParallelArrays
168−ParallelListComp
169−NoParallelListComp
170−PartialTypeSignatures
171−NoPartialTypeSignatures
172−PatternGuards
173−NoPatternGuards
174−PatternSignatures
175−NoPatternSignatures
176−PatternSynonyms
177−NoPatternSynonyms
178−PolyKinds
179−NoPolyKinds
180−PolymorphicComponents
181−NoPolymorphicComponents
182−QuantifiedConstraints
183−NoQuantifiedConstraints
184−PostfixOperators
185−NoPostfixOperators
186−QuasiQuotes
187−NoQuasiQuotes
188−Rank2Types
189−NoRank2Types
190−RankNTypes
191−NoRankNTypes
192−RebindableSyntax
193−NoRebindableSyntax
194−RecordPuns
195−NoRecordPuns
196−RecordWildCards
197−NoRecordWildCards
198−RecursiveDo
199−NoRecursiveDo
200−RelaxedLayout
201−NoRelaxedLayout
202−RelaxedPolyRec
203−NoRelaxedPolyRec
204−RoleAnnotations
205−NoRoleAnnotations
206−ScopedTypeVariables
207−NoScopedTypeVariables
208−StandaloneDeriving
209−NoStandaloneDeriving
210−StarIsType
211−NoStarIsType
212−StaticPointers
213−NoStaticPointers
214−Strict
215−NoStrict
216−StrictData
217−NoStrictData
218−TemplateHaskell
219−NoTemplateHaskell
220−TemplateHaskellQuotes
221−NoTemplateHaskellQuotes
222−StandaloneKindSignatures
223−NoStandaloneKindSignatures
224−TraditionalRecordSyntax
225−NoTraditionalRecordSyntax
226−TransformListComp
227−NoTransformListComp
228−TupleSections
229−NoTupleSections
230−TypeApplications
231−NoTypeApplications
232−TypeInType
233−NoTypeInType
234−TypeFamilies
235−NoTypeFamilies
236−TypeOperators
237−NoTypeOperators
238−TypeSynonymInstances
239−NoTypeSynonymInstances
240−UnboxedTuples
241−NoUnboxedTuples
242−UnboxedSums
243−NoUnboxedSums
244−UndecidableInstances
245−NoUndecidableInstances
246−UndecidableSuperClasses
247−NoUndecidableSuperClasses
248−UnicodeSyntax
249−NoUnicodeSyntax
250−UnliftedFFITypes
251−NoUnliftedFFITypes
252−UnliftedNewtypes
253−NoUnliftedNewtypes
254−ViewPatterns
255−NoViewPatterns
materialized/dummy-ghc/aarch64-unknown-linux-gnu-aarch64-unknown-linux-gnu-ghc-8.10.5-x86_64-linux/ghc/versiondeleted−1
@@ -1 +0,0 @@
1−The Glorious Glasgow Haskell Compilation System, version 8.10.5
materialized/dummy-ghc/aarch64-unknown-linux-gnu-aarch64-unknown-linux-gnu-ghc-8.10.6-x86_64-linux/ghc-pkg/dump-globaldeleted−1443
@@ -1,1443 +0,0 @@
1−name: Cabal
2−version: 3.2.1.0
3−visibility: public
4−id: Cabal-3.2.1.0
5−key: Cabal-3.2.1.0
6−license: BSD-3-Clause
7−copyright: 2003-2020, Cabal Development Team (see AUTHORS file)
8−maintainer: cabal-devel@haskell.org
9−author: Cabal Development Team <cabal-devel@haskell.org>
10−homepage: http://www.haskell.org/cabal/
11−synopsis: A framework for packaging Haskell software
12−description:
13− The Haskell Common Architecture for Building Applications and
14− Libraries: a framework defining a common interface for authors to more
15− easily build their Haskell applications in a portable way.
16− The Haskell Cabal is part of a larger infrastructure for distributing,
17− organizing, and cataloging Haskell libraries and tools.
18−category: Distribution
19−exposed: True
20−exposed-modules:
21− Distribution.Backpack Distribution.Backpack.ComponentsGraph
22− Distribution.Backpack.Configure
23− Distribution.Backpack.ConfiguredComponent
24− Distribution.Backpack.DescribeUnitId
25− Distribution.Backpack.FullUnitId
26− Distribution.Backpack.LinkedComponent
27− Distribution.Backpack.ModSubst Distribution.Backpack.ModuleShape
28− Distribution.Backpack.PreModuleShape Distribution.CabalSpecVersion
29− Distribution.Compat.Binary Distribution.Compat.CharParsing
30− Distribution.Compat.CreatePipe Distribution.Compat.DList
31− Distribution.Compat.Directory Distribution.Compat.Environment
32− Distribution.Compat.Exception Distribution.Compat.FilePath
33− Distribution.Compat.Graph Distribution.Compat.Internal.TempFile
34− Distribution.Compat.Lens Distribution.Compat.Newtype
35− Distribution.Compat.Parsing Distribution.Compat.Prelude.Internal
36− Distribution.Compat.Process Distribution.Compat.ResponseFile
37− Distribution.Compat.Semigroup Distribution.Compat.Stack
38− Distribution.Compat.Time Distribution.Compat.Typeable
39− Distribution.Compiler Distribution.FieldGrammar
40− Distribution.FieldGrammar.Class
41− Distribution.FieldGrammar.FieldDescrs
42− Distribution.FieldGrammar.Parsec Distribution.FieldGrammar.Pretty
43− Distribution.Fields Distribution.Fields.ConfVar
44− Distribution.Fields.Field Distribution.Fields.Lexer
45− Distribution.Fields.LexerMonad Distribution.Fields.ParseResult
46− Distribution.Fields.Parser Distribution.Fields.Pretty
47− Distribution.InstalledPackageInfo Distribution.License
48− Distribution.Make Distribution.ModuleName Distribution.Package
49− Distribution.PackageDescription
50− Distribution.PackageDescription.Check
51− Distribution.PackageDescription.Configuration
52− Distribution.PackageDescription.FieldGrammar
53− Distribution.PackageDescription.Parsec
54− Distribution.PackageDescription.PrettyPrint
55− Distribution.PackageDescription.Quirks
56− Distribution.PackageDescription.Utils Distribution.Parsec
57− Distribution.Parsec.Error Distribution.Parsec.FieldLineStream
58− Distribution.Parsec.Newtypes Distribution.Parsec.Position
59− Distribution.Parsec.Warning Distribution.Pretty Distribution.ReadE
60− Distribution.SPDX Distribution.SPDX.License
61− Distribution.SPDX.LicenseExceptionId
62− Distribution.SPDX.LicenseExpression Distribution.SPDX.LicenseId
63− Distribution.SPDX.LicenseListVersion
64− Distribution.SPDX.LicenseReference Distribution.Simple
65− Distribution.Simple.Bench Distribution.Simple.Build
66− Distribution.Simple.Build.Macros
67− Distribution.Simple.Build.PathsModule
68− Distribution.Simple.BuildPaths Distribution.Simple.BuildTarget
69− Distribution.Simple.BuildToolDepends Distribution.Simple.CCompiler
70− Distribution.Simple.Command Distribution.Simple.Compiler
71− Distribution.Simple.Configure Distribution.Simple.Doctest
72− Distribution.Simple.Flag Distribution.Simple.GHC
73− Distribution.Simple.GHCJS Distribution.Simple.Glob
74− Distribution.Simple.Haddock Distribution.Simple.HaskellSuite
75− Distribution.Simple.Hpc Distribution.Simple.Install
76− Distribution.Simple.InstallDirs
77− Distribution.Simple.InstallDirs.Internal
78− Distribution.Simple.LocalBuildInfo Distribution.Simple.PackageIndex
79− Distribution.Simple.PreProcess Distribution.Simple.PreProcess.Unlit
80− Distribution.Simple.Program Distribution.Simple.Program.Ar
81− Distribution.Simple.Program.Builtin Distribution.Simple.Program.Db
82− Distribution.Simple.Program.Find Distribution.Simple.Program.GHC
83− Distribution.Simple.Program.HcPkg Distribution.Simple.Program.Hpc
84− Distribution.Simple.Program.Internal Distribution.Simple.Program.Ld
85− Distribution.Simple.Program.ResponseFile
86− Distribution.Simple.Program.Run Distribution.Simple.Program.Script
87− Distribution.Simple.Program.Strip Distribution.Simple.Program.Types
88− Distribution.Simple.Register Distribution.Simple.Setup
89− Distribution.Simple.ShowBuildInfo Distribution.Simple.SrcDist
90− Distribution.Simple.Test Distribution.Simple.Test.ExeV10
91− Distribution.Simple.Test.LibV09 Distribution.Simple.Test.Log
92− Distribution.Simple.UHC Distribution.Simple.UserHooks
93− Distribution.Simple.Utils Distribution.System
94− Distribution.TestSuite Distribution.Text
95− Distribution.Types.AbiDependency Distribution.Types.AbiHash
96− Distribution.Types.AnnotatedId Distribution.Types.Benchmark
97− Distribution.Types.Benchmark.Lens
98− Distribution.Types.BenchmarkInterface
99− Distribution.Types.BenchmarkType Distribution.Types.BuildInfo
100− Distribution.Types.BuildInfo.Lens Distribution.Types.BuildType
101− Distribution.Types.Component Distribution.Types.ComponentId
102− Distribution.Types.ComponentInclude
103− Distribution.Types.ComponentLocalBuildInfo
104− Distribution.Types.ComponentName
105− Distribution.Types.ComponentRequestedSpec
106− Distribution.Types.CondTree Distribution.Types.Condition
107− Distribution.Types.ConfVar Distribution.Types.Dependency
108− Distribution.Types.DependencyMap Distribution.Types.ExeDependency
109− Distribution.Types.Executable Distribution.Types.Executable.Lens
110− Distribution.Types.ExecutableScope Distribution.Types.ExposedModule
111− Distribution.Types.Flag Distribution.Types.ForeignLib
112− Distribution.Types.ForeignLib.Lens
113− Distribution.Types.ForeignLibOption
114− Distribution.Types.ForeignLibType
115− Distribution.Types.GenericPackageDescription
116− Distribution.Types.GenericPackageDescription.Lens
117− Distribution.Types.GivenComponent
118− Distribution.Types.HookedBuildInfo
119− Distribution.Types.IncludeRenaming
120− Distribution.Types.InstalledPackageInfo
121− Distribution.Types.InstalledPackageInfo.FieldGrammar
122− Distribution.Types.InstalledPackageInfo.Lens
123− Distribution.Types.LegacyExeDependency Distribution.Types.Lens
124− Distribution.Types.Library Distribution.Types.Library.Lens
125− Distribution.Types.LibraryName Distribution.Types.LibraryVisibility
126− Distribution.Types.LocalBuildInfo Distribution.Types.Mixin
127− Distribution.Types.Module Distribution.Types.ModuleReexport
128− Distribution.Types.ModuleRenaming
129− Distribution.Types.MungedPackageId
130− Distribution.Types.MungedPackageName
131− Distribution.Types.PackageDescription
132− Distribution.Types.PackageDescription.Lens
133− Distribution.Types.PackageId Distribution.Types.PackageId.Lens
134− Distribution.Types.PackageName Distribution.Types.PackageName.Magic
135− Distribution.Types.PackageVersionConstraint
136− Distribution.Types.PkgconfigDependency
137− Distribution.Types.PkgconfigName
138− Distribution.Types.PkgconfigVersion
139− Distribution.Types.PkgconfigVersionRange
140− Distribution.Types.SetupBuildInfo
141− Distribution.Types.SetupBuildInfo.Lens
142− Distribution.Types.SourceRepo Distribution.Types.SourceRepo.Lens
143− Distribution.Types.TargetInfo Distribution.Types.TestSuite
144− Distribution.Types.TestSuite.Lens
145− Distribution.Types.TestSuiteInterface Distribution.Types.TestType
146− Distribution.Types.UnitId Distribution.Types.UnqualComponentName
147− Distribution.Types.Version Distribution.Types.VersionInterval
148− Distribution.Types.VersionRange
149− Distribution.Types.VersionRange.Internal Distribution.Utils.Generic
150− Distribution.Utils.IOData Distribution.Utils.LogProgress
151− Distribution.Utils.MD5 Distribution.Utils.MapAccum
152− Distribution.Utils.NubList Distribution.Utils.Progress
153− Distribution.Utils.ShortText Distribution.Utils.Structured
154− Distribution.Verbosity Distribution.Verbosity.Internal
155− Distribution.Version Language.Haskell.Extension
156−hidden-modules:
157− Distribution.Backpack.PreExistingComponent
158− Distribution.Backpack.ReadyComponent Distribution.Backpack.MixLink
159− Distribution.Backpack.ModuleScope Distribution.Backpack.UnifyM
160− Distribution.Backpack.Id Distribution.Utils.UnionFind
161− Distribution.Utils.Base62 Distribution.Compat.Async
162− Distribution.Compat.CopyFile Distribution.Compat.GetShortPathName
163− Distribution.Compat.MonadFail Distribution.Compat.Prelude
164− Distribution.Compat.SnocList Distribution.GetOpt Distribution.Lex
165− Distribution.Utils.String Distribution.Simple.GHC.EnvironmentParser
166− Distribution.Simple.GHC.Internal Distribution.Simple.GHC.ImplInfo
167− Distribution.Simple.Utils.Json Paths_Cabal
168−import-dirs:
169−library-dirs:
170−dynamic-library-dirs:
171−data-dir:
172−hs-libraries: HSCabal-3.2.1.0
173−depends:
174− array-0.5.4.0 base-4.14.3.0 binary-0.8.8.0 bytestring-0.10.12.0
175− containers-0.6.5.1 deepseq-1.4.4.0 directory-1.3.6.0
176− filepath-1.4.2.1 mtl-2.2.2 parsec-3.1.14.0 pretty-1.1.3.6
177− process-1.6.13.2 text-1.2.4.1 time-1.9.3 transformers-0.5.6.2
178− unix-2.7.2.2
179−haddock-interfaces:
180−haddock-html:
181−---
182−name: array
183−version: 0.5.4.0
184−visibility: public
185−id: array-0.5.4.0
186−key: array-0.5.4.0
187−license: BSD-3-Clause
188−maintainer: libraries@haskell.org
189−synopsis: Mutable and immutable arrays
190−description:
191− In addition to providing the "Data.Array" module
192− <http://www.haskell.org/onlinereport/haskell2010/haskellch14.html as specified in the Haskell 2010 Language Report>,
193− this package also defines the classes 'IArray' of
194− immutable arrays and 'MArray' of arrays mutable within appropriate
195− monads, as well as some instances of these classes.
196−category: Data Structures
197−exposed: True
198−exposed-modules:
199− Data.Array Data.Array.Base Data.Array.IArray Data.Array.IO
200− Data.Array.IO.Internals Data.Array.IO.Safe Data.Array.MArray
201− Data.Array.MArray.Safe Data.Array.ST Data.Array.ST.Safe
202− Data.Array.Storable Data.Array.Storable.Internals
203− Data.Array.Storable.Safe Data.Array.Unboxed Data.Array.Unsafe
204−import-dirs:
205−library-dirs:
206−dynamic-library-dirs:
207−data-dir:
208−hs-libraries: HSarray-0.5.4.0
209−depends: base-4.14.3.0
210−haddock-interfaces:
211−haddock-html:
212−---
213−name: base
214−version: 4.14.3.0
215−visibility: public
216−id: base-4.14.3.0
217−key: base-4.14.3.0
218−license: BSD-3-Clause
219−maintainer: libraries@haskell.org
220−synopsis: Basic libraries
221−description:
222− This package contains the Standard Haskell "Prelude" and its support libraries,
223− and a large collection of useful libraries ranging from data
224− structures to parsing combinators and debugging utilities.
225−category: Prelude
226−exposed: True
227−exposed-modules:
228− Control.Applicative Control.Arrow Control.Category
229− Control.Concurrent Control.Concurrent.Chan Control.Concurrent.MVar
230− Control.Concurrent.QSem Control.Concurrent.QSemN Control.Exception
231− Control.Exception.Base Control.Monad Control.Monad.Fail
232− Control.Monad.Fix Control.Monad.IO.Class Control.Monad.Instances
233− Control.Monad.ST Control.Monad.ST.Lazy Control.Monad.ST.Lazy.Safe
234− Control.Monad.ST.Lazy.Unsafe Control.Monad.ST.Safe
235− Control.Monad.ST.Strict Control.Monad.ST.Unsafe Control.Monad.Zip
236− Data.Bifoldable Data.Bifunctor Data.Bitraversable Data.Bits
237− Data.Bool Data.Char Data.Coerce Data.Complex Data.Data Data.Dynamic
238− Data.Either Data.Eq Data.Fixed Data.Foldable Data.Function
239− Data.Functor Data.Functor.Classes Data.Functor.Compose
240− Data.Functor.Const Data.Functor.Contravariant Data.Functor.Identity
241− Data.Functor.Product Data.Functor.Sum Data.IORef Data.Int Data.Ix
242− Data.Kind Data.List Data.List.NonEmpty Data.Maybe Data.Monoid
243− Data.Ord Data.Proxy Data.Ratio Data.STRef Data.STRef.Lazy
244− Data.STRef.Strict Data.Semigroup Data.String Data.Traversable
245− Data.Tuple Data.Type.Bool Data.Type.Coercion Data.Type.Equality
246− Data.Typeable Data.Unique Data.Version Data.Void Data.Word
247− Debug.Trace Foreign Foreign.C Foreign.C.Error Foreign.C.String
248− Foreign.C.Types Foreign.Concurrent Foreign.ForeignPtr
249− Foreign.ForeignPtr.Safe Foreign.ForeignPtr.Unsafe Foreign.Marshal
250− Foreign.Marshal.Alloc Foreign.Marshal.Array Foreign.Marshal.Error
251− Foreign.Marshal.Pool Foreign.Marshal.Safe Foreign.Marshal.Unsafe
252− Foreign.Marshal.Utils Foreign.Ptr Foreign.Safe Foreign.StablePtr
253− Foreign.Storable GHC.Arr GHC.Base GHC.ByteOrder GHC.Char GHC.Clock
254− GHC.Conc GHC.Conc.IO GHC.Conc.Signal GHC.Conc.Sync
255− GHC.ConsoleHandler GHC.Constants GHC.Desugar GHC.Enum
256− GHC.Environment GHC.Err GHC.Event GHC.Exception GHC.Exception.Type
257− GHC.ExecutionStack GHC.ExecutionStack.Internal GHC.Exts
258− GHC.Fingerprint GHC.Fingerprint.Type GHC.Float
259− GHC.Float.ConversionUtils GHC.Float.RealFracMethods GHC.Foreign
260− GHC.ForeignPtr GHC.GHCi GHC.GHCi.Helpers GHC.Generics GHC.IO
261− GHC.IO.Buffer GHC.IO.BufferedIO GHC.IO.Device GHC.IO.Encoding
262− GHC.IO.Encoding.CodePage GHC.IO.Encoding.Failure
263− GHC.IO.Encoding.Iconv GHC.IO.Encoding.Latin1 GHC.IO.Encoding.Types
264− GHC.IO.Encoding.UTF16 GHC.IO.Encoding.UTF32 GHC.IO.Encoding.UTF8
265− GHC.IO.Exception GHC.IO.FD GHC.IO.Handle GHC.IO.Handle.FD
266− GHC.IO.Handle.Internals GHC.IO.Handle.Lock GHC.IO.Handle.Text
267− GHC.IO.Handle.Types GHC.IO.IOMode GHC.IO.Unsafe GHC.IOArray
268− GHC.IORef GHC.Int GHC.Ix GHC.List GHC.MVar GHC.Maybe GHC.Natural
269− GHC.Num GHC.OldList GHC.OverloadedLabels GHC.Pack GHC.Profiling
270− GHC.Ptr GHC.RTS.Flags GHC.Read GHC.Real GHC.Records
271− GHC.ResponseFile GHC.ST GHC.STRef GHC.Show GHC.Stable
272− GHC.StableName GHC.Stack GHC.Stack.CCS GHC.Stack.Types
273− GHC.StaticPtr GHC.Stats GHC.Storable GHC.TopHandler GHC.TypeLits
274− GHC.TypeNats GHC.Unicode GHC.Weak GHC.Word Numeric Numeric.Natural
275− Prelude System.CPUTime System.Console.GetOpt System.Environment
276− System.Environment.Blank System.Exit System.IO System.IO.Error
277− System.IO.Unsafe System.Info System.Mem System.Mem.StableName
278− System.Mem.Weak System.Posix.Internals System.Posix.Types
279− System.Timeout Text.ParserCombinators.ReadP
280− Text.ParserCombinators.ReadPrec Text.Printf Text.Read Text.Read.Lex
281− Text.Show Text.Show.Functions Type.Reflection
282− Type.Reflection.Unsafe Unsafe.Coerce
283−hidden-modules:
284− Control.Monad.ST.Imp Control.Monad.ST.Lazy.Imp Data.Functor.Utils
285− Data.OldList Data.Semigroup.Internal Data.Typeable.Internal
286− Foreign.ForeignPtr.Imp GHC.IO.Handle.Lock.Common
287− GHC.IO.Handle.Lock.Flock GHC.IO.Handle.Lock.LinuxOFD
288− GHC.IO.Handle.Lock.NoOp GHC.IO.Handle.Lock.Windows
289− GHC.StaticPtr.Internal System.Environment.ExecutablePath
290− System.CPUTime.Utils GHC.Event.Arr GHC.Event.Array
291− GHC.Event.Control GHC.Event.EPoll GHC.Event.IntTable
292− GHC.Event.Internal GHC.Event.KQueue GHC.Event.Manager GHC.Event.PSQ
293− GHC.Event.Poll GHC.Event.Thread GHC.Event.TimerManager
294− GHC.Event.Unique System.CPUTime.Posix.ClockGetTime
295− System.CPUTime.Posix.Times System.CPUTime.Posix.RUsage
296− System.CPUTime.Unsupported
297−import-dirs:
298−library-dirs:
299−dynamic-library-dirs:
300−data-dir:
301−hs-libraries: HSbase-4.14.3.0
302−include-dirs:
303−includes: HsBase.h
304−depends: ghc-prim-0.6.1 integer-gmp-1.0.3.0 rts
305−haddock-interfaces:
306−haddock-html:
307−---
308−name: binary
309−version: 0.8.8.0
310−visibility: public
311−id: binary-0.8.8.0
312−key: binary-0.8.8.0
313−license: BSD-3-Clause
314−maintainer: Lennart Kolmodin, Don Stewart <dons00@gmail.com>
315−author: Lennart Kolmodin <kolmodin@gmail.com>
316−stability: provisional
317−homepage: https://github.com/kolmodin/binary
318−synopsis:
319− Binary serialisation for Haskell values using lazy ByteStrings
320−description:
321− Efficient, pure binary serialisation using lazy ByteStrings.
322− Haskell values may be encoded to and from binary formats,
323− written to disk as binary, or sent over the network.
324− The format used can be automatically generated, or
325− you can choose to implement a custom format if needed.
326− Serialisation speeds of over 1 G\/sec have been observed,
327− so this library should be suitable for high performance
328− scenarios.
329−category: Data, Parsing
330−exposed: True
331−exposed-modules:
332− Data.Binary Data.Binary.Builder Data.Binary.Get
333− Data.Binary.Get.Internal Data.Binary.Put
334−hidden-modules:
335− Data.Binary.Class Data.Binary.Internal Data.Binary.Generic
336− Data.Binary.FloatCast
337−import-dirs:
338−library-dirs:
339−dynamic-library-dirs:
340−data-dir:
341−hs-libraries: HSbinary-0.8.8.0
342−depends:
343− array-0.5.4.0 base-4.14.3.0 bytestring-0.10.12.0 containers-0.6.5.1
344−haddock-interfaces:
345−haddock-html:
346−---
347−name: bytestring
348−version: 0.10.12.0
349−visibility: public
350−id: bytestring-0.10.12.0
351−key: bytestring-0.10.12.0
352−license: BSD-3-Clause
353−copyright:
354− Copyright (c) Don Stewart 2005-2009,
355− (c) Duncan Coutts 2006-2015,
356− (c) David Roundy 2003-2005,
357− (c) Jasper Van der Jeugt 2010,
358− (c) Simon Meier 2010-2013.
359−maintainer: Duncan Coutts <duncan@community.haskell.org>
360−author:
361− Don Stewart,
362− Duncan Coutts
363−homepage: https://github.com/haskell/bytestring
364−synopsis:
365− Fast, compact, strict and lazy byte strings with a list interface
366−description:
367− An efficient compact, immutable byte string type (both strict and lazy)
368− suitable for binary or 8-bit character data.
369− The 'ByteString' type represents sequences of bytes or 8-bit characters.
370− It is suitable for high performance use, both in terms of large data
371− quantities, or high speed requirements. The 'ByteString' functions follow
372− the same style as Haskell\'s ordinary lists, so it is easy to convert code
373− from using 'String' to 'ByteString'.
374− Two 'ByteString' variants are provided:
375− * Strict 'ByteString's keep the string as a single large array. This
376− makes them convenient for passing data between C and Haskell.
377− * Lazy 'ByteString's use a lazy list of strict chunks which makes it
378− suitable for I\/O streaming tasks.
379− The @Char8@ modules provide a character-based view of the same
380− underlying 'ByteString' types. This makes it convenient to handle mixed
381− binary and 8-bit character content (which is common in many file formats
382− and network protocols).
383− The 'Builder' module provides an efficient way to build up 'ByteString's
384− in an ad-hoc way by repeated concatenation. This is ideal for fast
385− serialisation or pretty printing.
386− There is also a 'ShortByteString' type which has a lower memory overhead
387− and can can be converted to or from a 'ByteString', but supports very few
388− other operations. It is suitable for keeping many short strings in memory.
389− 'ByteString's are not designed for Unicode. For Unicode strings you should
390− use the 'Text' type from the @text@ package.
391− These modules are intended to be imported qualified, to avoid name clashes
392− with "Prelude" functions, e.g.
393− > import qualified Data.ByteString as BS
394−category: Data
395−exposed: True
396−exposed-modules:
397− Data.ByteString Data.ByteString.Builder
398− Data.ByteString.Builder.Extra Data.ByteString.Builder.Internal
399− Data.ByteString.Builder.Prim Data.ByteString.Builder.Prim.Internal
400− Data.ByteString.Char8 Data.ByteString.Internal Data.ByteString.Lazy
401− Data.ByteString.Lazy.Builder Data.ByteString.Lazy.Builder.ASCII
402− Data.ByteString.Lazy.Builder.Extras Data.ByteString.Lazy.Char8
403− Data.ByteString.Lazy.Internal Data.ByteString.Short
404− Data.ByteString.Short.Internal Data.ByteString.Unsafe
405−hidden-modules:
406− Data.ByteString.Builder.ASCII Data.ByteString.Builder.Prim.Binary
407− Data.ByteString.Builder.Prim.ASCII
408− Data.ByteString.Builder.Prim.Internal.Floating
409− Data.ByteString.Builder.Prim.Internal.UncheckedShifts
410− Data.ByteString.Builder.Prim.Internal.Base16
411−import-dirs:
412−library-dirs:
413−dynamic-library-dirs:
414−data-dir:
415−hs-libraries: HSbytestring-0.10.12.0
416−include-dirs:
417−includes: fpstring.h
418−depends:
419− base-4.14.3.0 deepseq-1.4.4.0 ghc-prim-0.6.1 integer-gmp-1.0.3.0
420−haddock-interfaces:
421−haddock-html:
422−---
423−name: containers
424−version: 0.6.5.1
425−visibility: public
426−id: containers-0.6.5.1
427−key: containers-0.6.5.1
428−license: BSD-3-Clause
429−maintainer: libraries@haskell.org
430−synopsis: Assorted concrete container types
431−description:
432− This package contains efficient general-purpose implementations
433− of various immutable container types including sets, maps, sequences,
434− trees, and graphs.
435− For a walkthrough of what this package provides with examples of common
436− operations see the [containers
437− introduction](https://haskell-containers.readthedocs.io).
438− The declared cost of each operation is either worst-case or amortized, but
439− remains valid even if structures are shared.
440−category: Data Structures
441−exposed: True
442−exposed-modules:
443− Data.Containers.ListUtils Data.Graph Data.IntMap
444− Data.IntMap.Internal Data.IntMap.Internal.Debug Data.IntMap.Lazy
445− Data.IntMap.Merge.Lazy Data.IntMap.Merge.Strict Data.IntMap.Strict
446− Data.IntMap.Strict.Internal Data.IntSet Data.IntSet.Internal
447− Data.Map Data.Map.Internal Data.Map.Internal.Debug Data.Map.Lazy
448− Data.Map.Merge.Lazy Data.Map.Merge.Strict Data.Map.Strict
449− Data.Map.Strict.Internal Data.Sequence Data.Sequence.Internal
450− Data.Sequence.Internal.Sorting Data.Set Data.Set.Internal Data.Tree
451− Utils.Containers.Internal.BitQueue
452− Utils.Containers.Internal.BitUtil
453− Utils.Containers.Internal.StrictPair
454−hidden-modules:
455− Utils.Containers.Internal.State
456− Utils.Containers.Internal.StrictMaybe
457− Utils.Containers.Internal.PtrEquality
458− Utils.Containers.Internal.Coercions
459− Utils.Containers.Internal.TypeError
460− Data.Map.Internal.DeprecatedShowTree
461− Data.IntMap.Internal.DeprecatedDebug
462−import-dirs:
463−library-dirs:
464−dynamic-library-dirs:
465−data-dir:
466−hs-libraries: HScontainers-0.6.5.1
467−depends: array-0.5.4.0 base-4.14.3.0 deepseq-1.4.4.0
468−haddock-interfaces:
469−haddock-html:
470−---
471−name: deepseq
472−version: 1.4.4.0
473−visibility: public
474−id: deepseq-1.4.4.0
475−key: deepseq-1.4.4.0
476−license: BSD-3-Clause
477−maintainer: libraries@haskell.org
478−synopsis: Deep evaluation of data structures
479−description:
480− This package provides methods for fully evaluating data structures
481− (\"deep evaluation\"). Deep evaluation is often used for adding
482− strictness to a program, e.g. in order to force pending exceptions,
483− remove space leaks, or force lazy I/O to happen. It is also useful
484− in parallel programs, to ensure pending work does not migrate to the
485− wrong thread.
486− The primary use of this package is via the 'deepseq' function, a
487− \"deep\" version of 'seq'. It is implemented on top of an 'NFData'
488− typeclass (\"Normal Form Data\", data structures with no unevaluated
489− components) which defines strategies for fully evaluating different
490− data types. See module documentation in "Control.DeepSeq" for more
491− details.
492−category: Control
493−exposed: True
494−exposed-modules: Control.DeepSeq
495−hidden-modules: Control.DeepSeq.BackDoor
496−import-dirs:
497−library-dirs:
498−dynamic-library-dirs:
499−data-dir:
500−hs-libraries: HSdeepseq-1.4.4.0
501−depends: array-0.5.4.0 base-4.14.3.0
502−haddock-interfaces:
503−haddock-html:
504−---
505−name: directory
506−version: 1.3.6.0
507−visibility: public
508−id: directory-1.3.6.0
509−key: directory-1.3.6.0
510−license: BSD-3-Clause
511−maintainer: libraries@haskell.org
512−synopsis: Platform-agnostic library for filesystem operations
513−description:
514− This library provides a basic set of operations for manipulating files and
515− directories in a portable way.
516−category: System
517−exposed: True
518−exposed-modules:
519− System.Directory System.Directory.Internal
520− System.Directory.Internal.Prelude
521−hidden-modules:
522− System.Directory.Internal.C_utimensat
523− System.Directory.Internal.Common System.Directory.Internal.Config
524− System.Directory.Internal.Posix System.Directory.Internal.Windows
525−import-dirs:
526−library-dirs:
527−dynamic-library-dirs:
528−data-dir:
529−hs-libraries: HSdirectory-1.3.6.0
530−depends:
531− base-4.14.3.0 filepath-1.4.2.1 time-1.9.3 unix-2.7.2.2
532−haddock-interfaces:
533−haddock-html:
534−---
535−name: exceptions
536−version: 0.10.4
537−visibility: public
538−id: exceptions-0.10.4
539−key: exceptions-0.10.4
540−license: BSD-3-Clause
541−copyright:
542− Copyright (C) 2013-2015 Edward A. Kmett
543− Copyright (C) 2012 Google Inc.
544−maintainer: Edward A. Kmett <ekmett@gmail.com>
545−author: Edward A. Kmett
546−stability: provisional
547−homepage: http://github.com/ekmett/exceptions/
548−synopsis: Extensible optionally-pure exceptions
549−description: Extensible optionally-pure exceptions.
550−category: Control, Exceptions, Monad
551−exposed: True
552−exposed-modules: Control.Monad.Catch Control.Monad.Catch.Pure
553−import-dirs:
554−library-dirs:
555−dynamic-library-dirs:
556−data-dir:
557−hs-libraries: HSexceptions-0.10.4
558−depends:
559− base-4.14.3.0 mtl-2.2.2 stm-2.5.0.1 template-haskell-2.16.0.0
560− transformers-0.5.6.2
561−haddock-interfaces:
562−haddock-html:
563−---
564−name: filepath
565−version: 1.4.2.1
566−visibility: public
567−id: filepath-1.4.2.1
568−key: filepath-1.4.2.1
569−license: BSD-3-Clause
570−copyright: Neil Mitchell 2005-2018
571−maintainer: Neil Mitchell <ndmitchell@gmail.com>
572−author: Neil Mitchell <ndmitchell@gmail.com>
573−homepage: https://github.com/haskell/filepath#readme
574−synopsis: Library for manipulating FilePaths in a cross platform way.
575−description:
576− This package provides functionality for manipulating @FilePath@ values, and is shipped with both <https://www.haskell.org/ghc/ GHC> and the <https://www.haskell.org/platform/ Haskell Platform>. It provides three modules:
577− * "System.FilePath.Posix" manipulates POSIX\/Linux style @FilePath@ values (with @\/@ as the path separator).
578− * "System.FilePath.Windows" manipulates Windows style @FilePath@ values (with either @\\@ or @\/@ as the path separator, and deals with drives).
579− * "System.FilePath" is an alias for the module appropriate to your platform.
580− All three modules provide the same API, and the same documentation (calling out differences in the different variants).
581−category: System
582−exposed: True
583−exposed-modules:
584− System.FilePath System.FilePath.Posix System.FilePath.Windows
585−import-dirs:
586−library-dirs:
587−dynamic-library-dirs:
588−data-dir:
589−hs-libraries: HSfilepath-1.4.2.1
590−depends: base-4.14.3.0
591−haddock-interfaces:
592−haddock-html:
593−---
594−name: ghc-boot
595−version: 8.10.6
596−visibility: public
597−id: ghc-boot-8.10.6
598−key: ghc-boot-8.10.6
599−license: BSD-3-Clause
600−maintainer: ghc-devs@haskell.org
601−synopsis: Shared functionality between GHC and its boot libraries
602−description:
603− This library is shared between GHC, ghc-pkg, and other boot
604− libraries.
605− A note about "GHC.PackageDb": it only deals with the subset of
606− the package database that the compiler cares about: modules
607− paths etc and not package metadata like description, authors
608− etc. It is thus not a library interface to ghc-pkg and is *not*
609− suitable for modifying GHC package databases.
610− The package database format and this library are constructed in
611− such a way that while ghc-pkg depends on Cabal, the GHC library
612− and program do not have to depend on Cabal.
613−category: GHC
614−exposed: True
615−exposed-modules:
616− GHC.BaseDir GHC.ForeignSrcLang GHC.HandleEncoding
617− GHC.LanguageExtensions GHC.PackageDb GHC.Platform GHC.Platform.Host
618− GHC.Serialized GHC.Settings GHC.UniqueSubdir GHC.Version
619−import-dirs:
620−library-dirs:
621−dynamic-library-dirs:
622−data-dir:
623−hs-libraries: HSghc-boot-8.10.6
624−depends:
625− base-4.14.3.0 binary-0.8.8.0 bytestring-0.10.12.0
626− containers-0.6.5.1 directory-1.3.6.0 filepath-1.4.2.1
627− ghc-boot-th-8.10.6
628−haddock-interfaces:
629−haddock-html:
630−---
631−name: ghc-boot-th
632−version: 8.10.6
633−visibility: public
634−id: ghc-boot-th-8.10.6
635−key: ghc-boot-th-8.10.6
636−license: BSD-3-Clause
637−maintainer: ghc-devs@haskell.org
638−synopsis:
639− Shared functionality between GHC and the @template-haskell@
640− library
641−description:
642− This library contains various bits shared between the @ghc@ and
643− @template-haskell@ libraries.
644− This package exists to ensure that @template-haskell@ has a
645− minimal set of transitive dependencies, since it is intended to
646− be depended upon by user code.
647−category: GHC
648−exposed: True
649−exposed-modules:
650− GHC.ForeignSrcLang.Type GHC.LanguageExtensions.Type GHC.Lexeme
651−import-dirs:
652−library-dirs:
653−dynamic-library-dirs:
654−data-dir:
655−hs-libraries: HSghc-boot-th-8.10.6
656−depends: base-4.14.3.0
657−haddock-interfaces:
658−haddock-html:
659−---
660−name: ghc-compact
661−version: 0.1.0.0
662−visibility: public
663−id: ghc-compact-0.1.0.0
664−key: ghc-compact-0.1.0.0
665−license: BSD-3-Clause
666−maintainer: libraries@haskell.org
667−synopsis: In memory storage of deeply evaluated data structure
668−description:
669− This package provides minimal functionality for working with
670− "compact regions", which hold a fully evaluated Haskell object graph.
671− These regions maintain the invariant that no pointers live inside the struct
672− that point outside it, which ensures efficient garbage collection without
673− ever reading the structure contents (effectively, it works as a manually
674− managed "oldest generation" which is never freed until the whole is
675− released).
676− Internally, the struct is stored a single contiguous block of memory,
677− which allows efficient serialization and deserialization of structs
678− for distributed computing.
679−category: Data
680−exposed: True
681−exposed-modules: GHC.Compact GHC.Compact.Serialized
682−import-dirs:
683−library-dirs:
684−dynamic-library-dirs:
685−data-dir:
686−hs-libraries: HSghc-compact-0.1.0.0
687−depends: base-4.14.3.0 bytestring-0.10.12.0 ghc-prim-0.6.1
688−haddock-interfaces:
689−haddock-html:
690−---
691−name: ghc-heap
692−version: 8.10.6
693−visibility: public
694−id: ghc-heap-8.10.6
695−key: ghc-heap-8.10.6
696−license: BSD-3-Clause
697−maintainer: libraries@haskell.org
698−synopsis: Functions for walking GHC's heap
699−description:
700− This package provides functions for walking the GHC heap data structures
701− and retrieving information about those data structures.
702−category: GHC
703−exposed: True
704−exposed-modules:
705− GHC.Exts.Heap GHC.Exts.Heap.ClosureTypes GHC.Exts.Heap.Closures
706− GHC.Exts.Heap.Constants GHC.Exts.Heap.InfoTable
707− GHC.Exts.Heap.InfoTable.Types GHC.Exts.Heap.InfoTableProf
708− GHC.Exts.Heap.Utils
709−import-dirs:
710−library-dirs:
711−dynamic-library-dirs:
712−data-dir:
713−hs-libraries: HSghc-heap-8.10.6
714−depends: base-4.14.3.0 ghc-prim-0.6.1 rts
715−haddock-interfaces:
716−haddock-html:
717−---
718−name: ghc-prim
719−version: 0.6.1
720−visibility: public
721−id: ghc-prim-0.6.1
722−key: ghc-prim-0.6.1
723−license: BSD-3-Clause
724−maintainer: libraries@haskell.org
725−synopsis: GHC primitives
726−description:
727− This package contains the primitive types and operations supplied by GHC.
728−category: GHC
729−exposed: True
730−exposed-modules:
731− GHC.CString GHC.Classes GHC.Debug GHC.IntWord64 GHC.Magic
732− GHC.Prim.Ext GHC.PrimopWrappers GHC.Tuple GHC.Types GHC.Prim
733−import-dirs:
734−library-dirs:
735−dynamic-library-dirs:
736−data-dir:
737−hs-libraries: HSghc-prim-0.6.1
738−extra-libraries: gcc c m
739−depends: rts
740−haddock-interfaces:
741−haddock-html:
742−---
743−name: ghci
744−version: 8.10.6
745−visibility: public
746−id: ghci-8.10.6
747−key: ghci-8.10.6
748−license: BSD-3-Clause
749−maintainer: ghc-devs@haskell.org
750−synopsis: The library supporting GHC's interactive interpreter
751−description:
752− This library offers interfaces which mediate interactions between the
753− @ghci@ interactive shell and @iserv@, GHC's out-of-process interpreter
754− backend.
755−category: GHC
756−exposed: True
757−exposed-modules:
758− GHCi.BinaryArray GHCi.BreakArray GHCi.CreateBCO GHCi.FFI
759− GHCi.InfoTable GHCi.Message GHCi.ObjLink GHCi.RemoteTypes
760− GHCi.ResolvedBCO GHCi.Run GHCi.Signals GHCi.StaticPtrTable GHCi.TH
761− GHCi.TH.Binary SizedSeq
762−import-dirs:
763−library-dirs:
764−dynamic-library-dirs:
765−data-dir:
766−hs-libraries: HSghci-8.10.6
767−include-dirs:
768−depends:
769− array-0.5.4.0 base-4.14.3.0 binary-0.8.8.0 bytestring-0.10.12.0
770− containers-0.6.5.1 deepseq-1.4.4.0 filepath-1.4.2.1 ghc-boot-8.10.6
771− ghc-boot-th-8.10.6 ghc-heap-8.10.6 rts template-haskell-2.16.0.0
772− transformers-0.5.6.2 unix-2.7.2.2
773−haddock-interfaces:
774−haddock-html:
775−---
776−name: haskeline
777−version: 0.8.2
778−visibility: public
779−id: haskeline-0.8.2
780−key: haskeline-0.8.2
781−license: BSD-3-Clause
782−copyright: (c) Judah Jacobson
783−maintainer: Judah Jacobson <judah.jacobson@gmail.com>
784−author: Judah Jacobson
785−stability: Stable
786−homepage: https://github.com/judah/haskeline
787−synopsis:
788− A command-line interface for user input, written in Haskell.
789−description:
790− Haskeline provides a user interface for line input in command-line
791− programs. This library is similar in purpose to readline, but since
792− it is written in Haskell it is (hopefully) more easily used in other
793− Haskell programs.
794− Haskeline runs both on POSIX-compatible systems and on Windows.
795−category: User Interfaces
796−exposed: True
797−exposed-modules:
798− System.Console.Haskeline System.Console.Haskeline.Completion
799− System.Console.Haskeline.History System.Console.Haskeline.IO
800− System.Console.Haskeline.Internal
801−hidden-modules:
802− System.Console.Haskeline.Backend
803− System.Console.Haskeline.Backend.WCWidth
804− System.Console.Haskeline.Command
805− System.Console.Haskeline.Command.Completion
806− System.Console.Haskeline.Command.History
807− System.Console.Haskeline.Command.KillRing
808− System.Console.Haskeline.Directory System.Console.Haskeline.Emacs
809− System.Console.Haskeline.InputT System.Console.Haskeline.Key
810− System.Console.Haskeline.LineState System.Console.Haskeline.Monads
811− System.Console.Haskeline.Prefs System.Console.Haskeline.Recover
812− System.Console.Haskeline.RunCommand System.Console.Haskeline.Term
813− System.Console.Haskeline.Command.Undo System.Console.Haskeline.Vi
814− System.Console.Haskeline.Backend.Posix
815− System.Console.Haskeline.Backend.Posix.Encoder
816− System.Console.Haskeline.Backend.DumbTerm
817−import-dirs:
818−library-dirs:
819−dynamic-library-dirs:
820−data-dir:
821−hs-libraries: HShaskeline-0.8.2
822−depends:
823− base-4.14.3.0 bytestring-0.10.12.0 containers-0.6.5.1
824− directory-1.3.6.0 exceptions-0.10.4 filepath-1.4.2.1
825− process-1.6.13.2 stm-2.5.0.1 transformers-0.5.6.2 unix-2.7.2.2
826−haddock-interfaces:
827−haddock-html:
828−---
829−name: hpc
830−version: 0.6.1.0
831−visibility: public
832−id: hpc-0.6.1.0
833−key: hpc-0.6.1.0
834−license: BSD-3-Clause
835−maintainer: ghc-devs@haskell.org
836−author: Andy Gill
837−synopsis: Code Coverage Library for Haskell
838−description:
839− This package provides the code coverage library for Haskell.
840− See <http://www.haskell.org/haskellwiki/Haskell_program_coverage> for more
841− information.
842−category: Control
843−exposed: True
844−exposed-modules:
845− Trace.Hpc.Mix Trace.Hpc.Reflect Trace.Hpc.Tix Trace.Hpc.Util
846−import-dirs:
847−library-dirs:
848−dynamic-library-dirs:
849−data-dir:
850−hs-libraries: HShpc-0.6.1.0
851−depends:
852− base-4.14.3.0 containers-0.6.5.1 deepseq-1.4.4.0 directory-1.3.6.0
853− filepath-1.4.2.1 time-1.9.3
854−haddock-interfaces:
855−haddock-html:
856−---
857−name: integer-gmp
858−version: 1.0.3.0
859−visibility: public
860−id: integer-gmp-1.0.3.0
861−key: integer-gmp-1.0.3.0
862−license: BSD-3-Clause
863−maintainer: hvr@gnu.org
864−author: Herbert Valerio Riedel
865−synopsis: Integer library based on GMP
866−description:
867− This package provides the low-level implementation of the standard
868− 'Integer' type based on the
869− <http://gmplib.org/ GNU Multiple Precision Arithmetic Library (GMP)>.
870− This package provides access to the internal representation of
871− 'Integer' as well as primitive operations with no proper error
872− handling, and should only be used directly with the utmost care.
873−category: Numeric, Algebra
874−exposed: True
875−exposed-modules:
876− GHC.Integer GHC.Integer.GMP.Internals GHC.Integer.Logarithms
877− GHC.Integer.Logarithms.Internals
878−hidden-modules: GHC.Integer.Type
879−import-dirs:
880−library-dirs:
881−dynamic-library-dirs:
882−data-dir:
883−hs-libraries: HSinteger-gmp-1.0.3.0
884−extra-libraries: gmp
885−include-dirs:
886−depends: ghc-prim-0.6.1
887−haddock-interfaces:
888−haddock-html:
889−---
890−name: libiserv
891−version: 8.10.6
892−visibility: public
893−id: libiserv-8.10.6
894−key: libiserv-8.10.6
895−license: BSD-3-Clause
896−copyright: XXX
897−maintainer: XXX
898−author: XXX
899−synopsis: Provides shared functionality between iserv and iserv-proxy
900−category: Development
901−exposed: True
902−exposed-modules: GHCi.Utils Lib
903−import-dirs:
904−library-dirs:
905−dynamic-library-dirs:
906−data-dir:
907−hs-libraries: HSlibiserv-8.10.6
908−depends:
909− base-4.14.3.0 binary-0.8.8.0 bytestring-0.10.12.0
910− containers-0.6.5.1 deepseq-1.4.4.0 ghci-8.10.6 unix-2.7.2.2
911−haddock-interfaces:
912−haddock-html:
913−---
914−name: mtl
915−version: 2.2.2
916−visibility: public
917−id: mtl-2.2.2
918−key: mtl-2.2.2
919−license: BSD-3-Clause
920−maintainer: Edward Kmett <ekmett@gmail.com>
921−author: Andy Gill
922−homepage: http://github.com/haskell/mtl
923−synopsis: Monad classes, using functional dependencies
924−description:
925− Monad classes using functional dependencies, with instances
926− for various monad transformers, inspired by the paper
927− /Functional Programming with Overloading and Higher-Order Polymorphism/,
928− by Mark P Jones, in /Advanced School of Functional Programming/, 1995
929− (<http://web.cecs.pdx.edu/~mpj/pubs/springschool.html>).
930−category: Control
931−exposed: True
932−exposed-modules:
933− Control.Monad.Cont Control.Monad.Cont.Class Control.Monad.Error
934− Control.Monad.Error.Class Control.Monad.Except
935− Control.Monad.Identity Control.Monad.List Control.Monad.RWS
936− Control.Monad.RWS.Class Control.Monad.RWS.Lazy
937− Control.Monad.RWS.Strict Control.Monad.Reader
938− Control.Monad.Reader.Class Control.Monad.State
939− Control.Monad.State.Class Control.Monad.State.Lazy
940− Control.Monad.State.Strict Control.Monad.Trans Control.Monad.Writer
941− Control.Monad.Writer.Class Control.Monad.Writer.Lazy
942− Control.Monad.Writer.Strict
943−import-dirs:
944−library-dirs:
945−dynamic-library-dirs:
946−data-dir:
947−hs-libraries: HSmtl-2.2.2
948−depends: base-4.14.3.0 transformers-0.5.6.2
949−haddock-interfaces:
950−haddock-html:
951−---
952−name: parsec
953−version: 3.1.14.0
954−visibility: public
955−id: parsec-3.1.14.0
956−key: parsec-3.1.14.0
957−license: BSD-3-Clause
958−maintainer: Herbert Valerio Riedel <hvr@gnu.org>
959−author:
960− Daan Leijen <daan@microsoft.com>, Paolo Martini <paolo@nemail.it>, Antoine Latter <aslatter@gmail.com>
961−homepage: https://github.com/haskell/parsec
962−synopsis: Monadic parser combinators
963−description:
964− Parsec is designed from scratch as an industrial-strength parser
965− library. It is simple, safe, well documented (on the package
966− homepage), has extensive libraries, good error messages,
967− and is fast. It is defined as a monad transformer that can be
968− stacked on arbitrary monads, and it is also parametric in the
969− input stream type.
970− The main entry point is the "Text.Parsec" module which provides
971− defaults for parsing 'Char'acter data.
972− The "Text.ParserCombinators.Parsec" module hierarchy contains
973− the legacy @parsec-2@ API and may be removed at some point in
974− the future.
975−category: Parsing
976−exposed: True
977−exposed-modules:
978− Text.Parsec Text.Parsec.ByteString Text.Parsec.ByteString.Lazy
979− Text.Parsec.Char Text.Parsec.Combinator Text.Parsec.Error
980− Text.Parsec.Expr Text.Parsec.Language Text.Parsec.Perm
981− Text.Parsec.Pos Text.Parsec.Prim Text.Parsec.String
982− Text.Parsec.Text Text.Parsec.Text.Lazy Text.Parsec.Token
983− Text.ParserCombinators.Parsec Text.ParserCombinators.Parsec.Char
984− Text.ParserCombinators.Parsec.Combinator
985− Text.ParserCombinators.Parsec.Error
986− Text.ParserCombinators.Parsec.Expr
987− Text.ParserCombinators.Parsec.Language
988− Text.ParserCombinators.Parsec.Perm
989− Text.ParserCombinators.Parsec.Pos
990− Text.ParserCombinators.Parsec.Prim
991− Text.ParserCombinators.Parsec.Token
992−import-dirs:
993−library-dirs:
994−dynamic-library-dirs:
995−data-dir:
996−hs-libraries: HSparsec-3.1.14.0
997−depends:
998− base-4.14.3.0 bytestring-0.10.12.0 mtl-2.2.2 text-1.2.4.1
999−haddock-interfaces:
1000−haddock-html:
1001−---
1002−name: pretty
1003−version: 1.1.3.6
1004−visibility: public
1005−id: pretty-1.1.3.6
1006−key: pretty-1.1.3.6
1007−license: BSD-3-Clause
1008−maintainer: David Terei <code@davidterei.com>
1009−stability: Stable
1010−homepage: http://github.com/haskell/pretty
1011−synopsis: Pretty-printing library
1012−description:
1013− This package contains a pretty-printing library, a set of API's
1014− that provides a way to easily print out text in a consistent
1015− format of your choosing. This is useful for compilers and related
1016− tools.
1017− This library was originally designed by John Hughes's and has since
1018− been heavily modified by Simon Peyton Jones.
1019−category: Text
1020−exposed: True
1021−exposed-modules:
1022− Text.PrettyPrint Text.PrettyPrint.Annotated
1023− Text.PrettyPrint.Annotated.HughesPJ
1024− Text.PrettyPrint.Annotated.HughesPJClass Text.PrettyPrint.HughesPJ
1025− Text.PrettyPrint.HughesPJClass
1026−import-dirs:
1027−library-dirs:
1028−dynamic-library-dirs:
1029−data-dir:
1030−hs-libraries: HSpretty-1.1.3.6
1031−depends: base-4.14.3.0 deepseq-1.4.4.0 ghc-prim-0.6.1
1032−haddock-interfaces:
1033−haddock-html:
1034−---
1035−name: process
1036−version: 1.6.13.2
1037−visibility: public
1038−id: process-1.6.13.2
1039−key: process-1.6.13.2
1040−license: BSD-3-Clause
1041−maintainer: libraries@haskell.org
1042−synopsis: Process libraries
1043−description:
1044− This package contains libraries for dealing with system processes.
1045− The typed-process package is a more recent take on a process API,
1046− which uses this package internally. It features better binary
1047− support, easier concurrency, and a more composable API. You can
1048− read more about it at
1049− <https://github.com/fpco/typed-process/#readme>.
1050−category: System
1051−exposed: True
1052−exposed-modules: System.Cmd System.Process System.Process.Internals
1053−hidden-modules: System.Process.Common System.Process.Posix
1054−import-dirs:
1055−library-dirs:
1056−dynamic-library-dirs:
1057−data-dir:
1058−hs-libraries: HSprocess-1.6.13.2
1059−include-dirs:
1060−includes: runProcess.h
1061−depends:
1062− base-4.14.3.0 deepseq-1.4.4.0 directory-1.3.6.0 filepath-1.4.2.1
1063− unix-2.7.2.2
1064−haddock-interfaces:
1065−haddock-html:
1066−---
1067−name: stm
1068−version: 2.5.0.1
1069−visibility: public
1070−id: stm-2.5.0.1
1071−key: stm-2.5.0.1
1072−license: BSD-3-Clause
1073−maintainer: libraries@haskell.org
1074−homepage: https://wiki.haskell.org/Software_transactional_memory
1075−synopsis: Software Transactional Memory
1076−description:
1077− Software Transactional Memory, or STM, is an abstraction for
1078− concurrent communication. The main benefits of STM are
1079− /composability/ and /modularity/. That is, using STM you can write
1080− concurrent abstractions that can be easily composed with any other
1081− abstraction built using STM, without exposing the details of how
1082− your abstraction ensures safety. This is typically not the case
1083− with other forms of concurrent communication, such as locks or
1084− 'MVar's.
1085−category: Concurrency
1086−exposed: True
1087−exposed-modules:
1088− Control.Concurrent.STM Control.Concurrent.STM.TArray
1089− Control.Concurrent.STM.TBQueue Control.Concurrent.STM.TChan
1090− Control.Concurrent.STM.TMVar Control.Concurrent.STM.TQueue
1091− Control.Concurrent.STM.TSem Control.Concurrent.STM.TVar
1092− Control.Monad.STM
1093−hidden-modules: Control.Sequential.STM
1094−import-dirs:
1095−library-dirs:
1096−dynamic-library-dirs:
1097−data-dir:
1098−hs-libraries: HSstm-2.5.0.1
1099−depends: array-0.5.4.0 base-4.14.3.0
1100−haddock-interfaces:
1101−haddock-html:
1102−---
1103−name: template-haskell
1104−version: 2.16.0.0
1105−visibility: public
1106−id: template-haskell-2.16.0.0
1107−key: template-haskell-2.16.0.0
1108−license: BSD-3-Clause
1109−maintainer: libraries@haskell.org
1110−synopsis: Support library for Template Haskell
1111−description:
1112− This package provides modules containing facilities for manipulating
1113− Haskell source code using Template Haskell.
1114− See <http://www.haskell.org/haskellwiki/Template_Haskell> for more
1115− information.
1116−category: Template Haskell
1117−exposed: True
1118−exposed-modules:
1119− Language.Haskell.TH Language.Haskell.TH.LanguageExtensions
1120− Language.Haskell.TH.Lib Language.Haskell.TH.Lib.Internal
1121− Language.Haskell.TH.Ppr Language.Haskell.TH.PprLib
1122− Language.Haskell.TH.Quote Language.Haskell.TH.Syntax
1123−hidden-modules: Language.Haskell.TH.Lib.Map
1124−import-dirs:
1125−library-dirs:
1126−dynamic-library-dirs:
1127−data-dir:
1128−hs-libraries: HStemplate-haskell-2.16.0.0
1129−depends:
1130− base-4.14.3.0 ghc-boot-th-8.10.6 ghc-prim-0.6.1 pretty-1.1.3.6
1131−haddock-interfaces:
1132−haddock-html:
1133−---
1134−name: text
1135−version: 1.2.4.1
1136−visibility: public
1137−id: text-1.2.4.1
1138−key: text-1.2.4.1
1139−license: BSD-2-Clause
1140−copyright: 2009-2011 Bryan O'Sullivan, 2008-2009 Tom Harper
1141−maintainer:
1142− Bryan O'Sullivan <bos@serpentine.com>, Herbert Valerio Riedel <hvr@gnu.org>
1143−author: Bryan O'Sullivan <bos@serpentine.com>
1144−homepage: https://github.com/haskell/text
1145−synopsis: An efficient packed Unicode text type.
1146−description:
1147− An efficient packed, immutable Unicode text type (both strict and
1148− lazy), with a powerful loop fusion optimization framework.
1149− The 'Text' type represents Unicode character strings, in a time and
1150− space-efficient manner. This package provides text processing
1151− capabilities that are optimized for performance critical use, both
1152− in terms of large data quantities and high speed.
1153− The 'Text' type provides character-encoding, type-safe case
1154− conversion via whole-string case conversion functions (see "Data.Text").
1155− It also provides a range of functions for converting 'Text' values to
1156− and from 'ByteStrings', using several standard encodings
1157− (see "Data.Text.Encoding").
1158− Efficient locale-sensitive support for text IO is also supported
1159− (see "Data.Text.IO").
1160− These modules are intended to be imported qualified, to avoid name
1161− clashes with Prelude functions, e.g.
1162− > import qualified Data.Text as T
1163− == ICU Support
1164− To use an extended and very rich family of functions for working
1165− with Unicode text (including normalization, regular expressions,
1166− non-standard encodings, text breaking, and locales), see
1167− the [text-icu package](https://hackage.haskell.org/package/text-icu)
1168− based on the well-respected and liberally
1169− licensed [ICU library](http://site.icu-project.org/).
1170− == Internal Representation: UTF-16 vs. UTF-8
1171− Currently the @text@ library uses UTF-16 as its internal representation
1172− which is [neither a fixed-width nor always the most dense representation](http://utf8everywhere.org/)
1173− for Unicode text. We're currently investigating the feasibility
1174− of [changing Text's internal representation to UTF-8](https://github.com/text-utf8)
1175− and if you need such a 'Text' type right now you might be interested in using the spin-off
1176− packages <https://hackage.haskell.org/package/text-utf8 text-utf8> and
1177− <https://hackage.haskell.org/package/text-short text-short>.
1178−category: Data, Text
1179−exposed: True
1180−exposed-modules:
1181− Data.Text Data.Text.Array Data.Text.Encoding
1182− Data.Text.Encoding.Error Data.Text.Foreign Data.Text.IO
1183− Data.Text.Internal Data.Text.Internal.Builder
1184− Data.Text.Internal.Builder.Functions
1185− Data.Text.Internal.Builder.Int.Digits
1186− Data.Text.Internal.Builder.RealFloat.Functions
1187− Data.Text.Internal.ByteStringCompat
1188− Data.Text.Internal.Encoding.Fusion
1189− Data.Text.Internal.Encoding.Fusion.Common
1190− Data.Text.Internal.Encoding.Utf16 Data.Text.Internal.Encoding.Utf32
1191− Data.Text.Internal.Encoding.Utf8 Data.Text.Internal.Functions
1192− Data.Text.Internal.Fusion Data.Text.Internal.Fusion.CaseMapping
1193− Data.Text.Internal.Fusion.Common Data.Text.Internal.Fusion.Size
1194− Data.Text.Internal.Fusion.Types Data.Text.Internal.IO
1195− Data.Text.Internal.Lazy Data.Text.Internal.Lazy.Encoding.Fusion
1196− Data.Text.Internal.Lazy.Fusion Data.Text.Internal.Lazy.Search
1197− Data.Text.Internal.Private Data.Text.Internal.Read
1198− Data.Text.Internal.Search Data.Text.Internal.Unsafe
1199− Data.Text.Internal.Unsafe.Char Data.Text.Internal.Unsafe.Shift
1200− Data.Text.Lazy Data.Text.Lazy.Builder Data.Text.Lazy.Builder.Int
1201− Data.Text.Lazy.Builder.RealFloat Data.Text.Lazy.Encoding
1202− Data.Text.Lazy.IO Data.Text.Lazy.Internal Data.Text.Lazy.Read
1203− Data.Text.Read Data.Text.Unsafe
1204−hidden-modules: Data.Text.Show
1205−import-dirs:
1206−library-dirs:
1207−dynamic-library-dirs:
1208−data-dir:
1209−hs-libraries: HStext-1.2.4.1
1210−depends:
1211− array-0.5.4.0 base-4.14.3.0 binary-0.8.8.0 bytestring-0.10.12.0
1212− deepseq-1.4.4.0 ghc-prim-0.6.1 integer-gmp-1.0.3.0
1213− template-haskell-2.16.0.0
1214−haddock-interfaces:
1215−haddock-html:
1216−---
1217−name: time
1218−version: 1.9.3
1219−visibility: public
1220−id: time-1.9.3
1221−key: time-1.9.3
1222−license: BSD-3-Clause
1223−maintainer: <ashley@semantic.org>
1224−author: Ashley Yakeley
1225−stability: stable
1226−homepage: https://github.com/haskell/time
1227−synopsis: A time library
1228−description: Time, clocks and calendars
1229−category: Time
1230−exposed: True
1231−exposed-modules:
1232− Data.Time Data.Time.Calendar Data.Time.Calendar.Easter
1233− Data.Time.Calendar.Julian Data.Time.Calendar.MonthDay
1234− Data.Time.Calendar.OrdinalDate Data.Time.Calendar.WeekDate
1235− Data.Time.Clock Data.Time.Clock.POSIX Data.Time.Clock.System
1236− Data.Time.Clock.TAI Data.Time.Format Data.Time.Format.ISO8601
1237− Data.Time.Format.Internal Data.Time.LocalTime
1238−hidden-modules:
1239− Data.Format Data.Time.Calendar.Private Data.Time.Calendar.Days
1240− Data.Time.Calendar.Gregorian Data.Time.Calendar.CalendarDiffDays
1241− Data.Time.Calendar.Week Data.Time.Calendar.JulianYearDay
1242− Data.Time.Clock.Internal.DiffTime
1243− Data.Time.Clock.Internal.AbsoluteTime
1244− Data.Time.Clock.Internal.NominalDiffTime
1245− Data.Time.Clock.Internal.POSIXTime
1246− Data.Time.Clock.Internal.UniversalTime
1247− Data.Time.Clock.Internal.SystemTime
1248− Data.Time.Clock.Internal.UTCTime Data.Time.Clock.Internal.CTimeval
1249− Data.Time.Clock.Internal.CTimespec Data.Time.Clock.Internal.UTCDiff
1250− Data.Time.LocalTime.Internal.TimeZone
1251− Data.Time.LocalTime.Internal.TimeOfDay
1252− Data.Time.LocalTime.Internal.CalendarDiffTime
1253− Data.Time.LocalTime.Internal.LocalTime
1254− Data.Time.LocalTime.Internal.ZonedTime Data.Time.Format.Parse
1255− Data.Time.Format.Locale Data.Time.Format.Format.Class
1256− Data.Time.Format.Format.Instances Data.Time.Format.Parse.Class
1257− Data.Time.Format.Parse.Instances
1258−import-dirs:
1259−library-dirs:
1260−dynamic-library-dirs:
1261−data-dir:
1262−hs-libraries: HStime-1.9.3
1263−include-dirs:
1264−depends: base-4.14.3.0 deepseq-1.4.4.0
1265−haddock-interfaces:
1266−haddock-html:
1267−---
1268−name: transformers
1269−version: 0.5.6.2
1270−visibility: public
1271−id: transformers-0.5.6.2
1272−key: transformers-0.5.6.2
1273−license: BSD-3-Clause
1274−maintainer: Ross Paterson <R.Paterson@city.ac.uk>
1275−author: Andy Gill, Ross Paterson
1276−synopsis: Concrete functor and monad transformers
1277−description:
1278− A portable library of functor and monad transformers, inspired by
1279− the paper
1280− * \"Functional Programming with Overloading and Higher-Order
1281− Polymorphism\", by Mark P Jones,
1282− in /Advanced School of Functional Programming/, 1995
1283− (<http://web.cecs.pdx.edu/~mpj/pubs/springschool.html>).
1284− This package contains:
1285− * the monad transformer class (in "Control.Monad.Trans.Class")
1286− * concrete functor and monad transformers, each with associated
1287− operations and functions to lift operations associated with other
1288− transformers.
1289− The package can be used on its own in portable Haskell code, in
1290− which case operations need to be manually lifted through transformer
1291− stacks (see "Control.Monad.Trans.Class" for some examples).
1292− Alternatively, it can be used with the non-portable monad classes in
1293− the @mtl@ or @monads-tf@ packages, which automatically lift operations
1294− introduced by monad transformers through other transformers.
1295−category: Control
1296−exposed: True
1297−exposed-modules:
1298− Control.Applicative.Backwards Control.Applicative.Lift
1299− Control.Monad.Signatures Control.Monad.Trans.Accum
1300− Control.Monad.Trans.Class Control.Monad.Trans.Cont
1301− Control.Monad.Trans.Error Control.Monad.Trans.Except
1302− Control.Monad.Trans.Identity Control.Monad.Trans.List
1303− Control.Monad.Trans.Maybe Control.Monad.Trans.RWS
1304− Control.Monad.Trans.RWS.CPS Control.Monad.Trans.RWS.Lazy
1305− Control.Monad.Trans.RWS.Strict Control.Monad.Trans.Reader
1306− Control.Monad.Trans.Select Control.Monad.Trans.State
1307− Control.Monad.Trans.State.Lazy Control.Monad.Trans.State.Strict
1308− Control.Monad.Trans.Writer Control.Monad.Trans.Writer.CPS
1309− Control.Monad.Trans.Writer.Lazy Control.Monad.Trans.Writer.Strict
1310− Data.Functor.Constant Data.Functor.Reverse
1311−import-dirs:
1312−library-dirs:
1313−dynamic-library-dirs:
1314−data-dir:
1315−hs-libraries: HStransformers-0.5.6.2
1316−depends: base-4.14.3.0
1317−haddock-interfaces:
1318−haddock-html:
1319−---
1320−name: unix
1321−version: 2.7.2.2
1322−visibility: public
1323−id: unix-2.7.2.2
1324−key: unix-2.7.2.2
1325−license: BSD-3-Clause
1326−maintainer: libraries@haskell.org
1327−homepage: https://github.com/haskell/unix
1328−synopsis: POSIX functionality
1329−description:
1330− This package gives you access to the set of operating system
1331− services standardised by
1332− <http://pubs.opengroup.org/onlinepubs/9699919799/ POSIX.1-2008>
1333− (or the IEEE Portable Operating System Interface for Computing
1334− Environments - IEEE Std. 1003.1).
1335− The package is not supported under Windows.
1336−category: System
1337−exposed: True
1338−exposed-modules:
1339− System.Posix System.Posix.ByteString
1340− System.Posix.ByteString.FilePath System.Posix.Directory
1341− System.Posix.Directory.ByteString System.Posix.DynamicLinker
1342− System.Posix.DynamicLinker.ByteString
1343− System.Posix.DynamicLinker.Module
1344− System.Posix.DynamicLinker.Module.ByteString
1345− System.Posix.DynamicLinker.Prim System.Posix.Env
1346− System.Posix.Env.ByteString System.Posix.Error System.Posix.Fcntl
1347− System.Posix.Files System.Posix.Files.ByteString System.Posix.IO
1348− System.Posix.IO.ByteString System.Posix.Process
1349− System.Posix.Process.ByteString System.Posix.Process.Internals
1350− System.Posix.Resource System.Posix.Semaphore System.Posix.SharedMem
1351− System.Posix.Signals System.Posix.Signals.Exts System.Posix.Temp
1352− System.Posix.Temp.ByteString System.Posix.Terminal
1353− System.Posix.Terminal.ByteString System.Posix.Time
1354− System.Posix.Unistd System.Posix.User
1355−hidden-modules:
1356− System.Posix.Directory.Common System.Posix.DynamicLinker.Common
1357− System.Posix.Files.Common System.Posix.IO.Common
1358− System.Posix.Process.Common System.Posix.Terminal.Common
1359−import-dirs:
1360−library-dirs:
1361−dynamic-library-dirs:
1362−data-dir:
1363−hs-libraries: HSunix-2.7.2.2
1364−extra-libraries: rt util dl pthread
1365−include-dirs:
1366−includes: HsUnix.h execvpe.h
1367−depends: base-4.14.3.0 bytestring-0.10.12.0 time-1.9.3
1368−haddock-interfaces:
1369−haddock-html:
1370−---
1371−name: rts
1372−version: 1.0.1
1373−visibility: public
1374−id: rts
1375−key: rts
1376−license: BSD-3-Clause
1377−maintainer: glasgow-haskell-users@haskell.org
1378−exposed: True
1379−library-dirs:
1380−hs-libraries: HSrts
1381−extra-libraries: m rt dl ffi numa pthread
1382−include-dirs:
1383−includes: Stg.h
1384−ld-options:
1385− "-Wl,-u,base_GHCziTopHandler_runIO_closure"
1386− "-Wl,-u,base_GHCziTopHandler_runNonIO_closure"
1387− "-Wl,-u,ghczmprim_GHCziTuple_Z0T_closure"
1388− "-Wl,-u,ghczmprim_GHCziTypes_True_closure"
1389− "-Wl,-u,ghczmprim_GHCziTypes_False_closure"
1390− "-Wl,-u,base_GHCziPack_unpackCString_closure"
1391− "-Wl,-u,base_GHCziWeak_runFinalizzerBatch_closure"
1392− "-Wl,-u,base_GHCziIOziException_stackOverflow_closure"
1393− "-Wl,-u,base_GHCziIOziException_heapOverflow_closure"
1394− "-Wl,-u,base_GHCziIOziException_allocationLimitExceeded_closure"
1395− "-Wl,-u,base_GHCziIOziException_blockedIndefinitelyOnMVar_closure"
1396− "-Wl,-u,base_GHCziIOziException_blockedIndefinitelyOnSTM_closure"
1397− "-Wl,-u,base_GHCziIOziException_cannotCompactFunction_closure"
1398− "-Wl,-u,base_GHCziIOziException_cannotCompactPinned_closure"
1399− "-Wl,-u,base_GHCziIOziException_cannotCompactMutable_closure"
1400− "-Wl,-u,base_ControlziExceptionziBase_absentSumFieldError_closure"
1401− "-Wl,-u,base_ControlziExceptionziBase_nonTermination_closure"
1402− "-Wl,-u,base_ControlziExceptionziBase_nestedAtomically_closure"
1403− "-Wl,-u,base_GHCziEventziThread_blockedOnBadFD_closure"
1404− "-Wl,-u,base_GHCziConcziSync_runSparks_closure"
1405− "-Wl,-u,base_GHCziConcziIO_ensureIOManagerIsRunning_closure"
1406− "-Wl,-u,base_GHCziConcziIO_ioManagerCapabilitiesChanged_closure"
1407− "-Wl,-u,base_GHCziConcziSignal_runHandlersPtr_closure"
1408− "-Wl,-u,base_GHCziTopHandler_flushStdHandles_closure"
1409− "-Wl,-u,base_GHCziTopHandler_runMainIO_closure"
1410− "-Wl,-u,ghczmprim_GHCziTypes_Czh_con_info"
1411− "-Wl,-u,ghczmprim_GHCziTypes_Izh_con_info"
1412− "-Wl,-u,ghczmprim_GHCziTypes_Fzh_con_info"
1413− "-Wl,-u,ghczmprim_GHCziTypes_Dzh_con_info"
1414− "-Wl,-u,ghczmprim_GHCziTypes_Wzh_con_info"
1415− "-Wl,-u,base_GHCziPtr_Ptr_con_info"
1416− "-Wl,-u,base_GHCziPtr_FunPtr_con_info"
1417− "-Wl,-u,base_GHCziInt_I8zh_con_info"
1418− "-Wl,-u,base_GHCziInt_I16zh_con_info"
1419− "-Wl,-u,base_GHCziInt_I32zh_con_info"
1420− "-Wl,-u,base_GHCziInt_I64zh_con_info"
1421− "-Wl,-u,base_GHCziWord_W8zh_con_info"
1422− "-Wl,-u,base_GHCziWord_W16zh_con_info"
1423− "-Wl,-u,base_GHCziWord_W32zh_con_info"
1424− "-Wl,-u,base_GHCziWord_W64zh_con_info"
1425− "-Wl,-u,base_GHCziStable_StablePtr_con_info"
1426− "-Wl,-u,hs_atomic_add8" "-Wl,-u,hs_atomic_add16"
1427− "-Wl,-u,hs_atomic_add32" "-Wl,-u,hs_atomic_add64"
1428− "-Wl,-u,hs_atomic_sub8" "-Wl,-u,hs_atomic_sub16"
1429− "-Wl,-u,hs_atomic_sub32" "-Wl,-u,hs_atomic_sub64"
1430− "-Wl,-u,hs_atomic_and8" "-Wl,-u,hs_atomic_and16"
1431− "-Wl,-u,hs_atomic_and32" "-Wl,-u,hs_atomic_and64"
1432− "-Wl,-u,hs_atomic_nand8" "-Wl,-u,hs_atomic_nand16"
1433− "-Wl,-u,hs_atomic_nand32" "-Wl,-u,hs_atomic_nand64"
1434− "-Wl,-u,hs_atomic_or8" "-Wl,-u,hs_atomic_or16"
1435− "-Wl,-u,hs_atomic_or32" "-Wl,-u,hs_atomic_or64"
1436− "-Wl,-u,hs_atomic_xor8" "-Wl,-u,hs_atomic_xor16"
1437− "-Wl,-u,hs_atomic_xor32" "-Wl,-u,hs_atomic_xor64"
1438− "-Wl,-u,hs_cmpxchg8" "-Wl,-u,hs_cmpxchg16" "-Wl,-u,hs_cmpxchg32"
1439− "-Wl,-u,hs_cmpxchg64" "-Wl,-u,hs_atomicread8"
1440− "-Wl,-u,hs_atomicread16" "-Wl,-u,hs_atomicread32"
1441− "-Wl,-u,hs_atomicread64" "-Wl,-u,hs_atomicwrite8"
1442− "-Wl,-u,hs_atomicwrite16" "-Wl,-u,hs_atomicwrite32"
1443− "-Wl,-u,hs_atomicwrite64"
materialized/dummy-ghc/aarch64-unknown-linux-gnu-aarch64-unknown-linux-gnu-ghc-8.10.6-x86_64-linux/ghc-pkg/versiondeleted−1
@@ -1 +0,0 @@
1−GHC package manager version 8.10.6
materialized/dummy-ghc/aarch64-unknown-linux-gnu-aarch64-unknown-linux-gnu-ghc-8.10.6-x86_64-linux/ghc/infodeleted−67
@@ -1,67 +0,0 @@
1− [("Project name","The Glorious Glasgow Haskell Compilation System")
2− ,("GCC extra via C opts","")
3− ,("C compiler flags","")
4− ,("C++ compiler flags","")
5− ,("C compiler link flags","-Wl,-z,noexecstack")
6− ,("C compiler supports -no-pie","YES")
7− ,("Haskell CPP flags","-E -undef -traditional")
8− ,("ld flags","-z noexecstack")
9− ,("ld supports compact unwind","YES")
10− ,("ld supports build-id","YES")
11− ,("ld supports filelist","NO")
12− ,("ld is GNU ld","YES")
13− ,("Merge objects flags","-r")
14− ,("ar flags","q")
15− ,("ar supports at file","YES")
16− ,("otool command","otool")
17− ,("install_name_tool command","install_name_tool")
18− ,("touch command","touch")
19− ,("dllwrap command","/bin/false")
20− ,("windres command","/bin/false")
21− ,("libtool command","libtool")
22− ,("cross compiling","YES")
23− ,("target platform string","aarch64-unknown-linux")
24− ,("target os","OSLinux")
25− ,("target arch","ArchAArch64")
26− ,("target word size","8")
27− ,("target has GNU nonexec stack","YES")
28− ,("target has .ident directive","YES")
29− ,("target has subsections via symbols","NO")
30− ,("target has RTS linker","YES")
31− ,("Unregisterised","NO")
32− ,("LLVM target","aarch64-unknown-linux")
33− ,("LLVM clang command","clang")
34− ,("integer library","integer-gmp")
35− ,("Use interpreter","YES")
36− ,("Use native code generator","NO")
37− ,("Support SMP","YES")
38− ,("RTS ways","l debug thr thr_debug thr_l thr_p thr_debug_p debug_p")
39− ,("Tables next to code","YES")
40− ,("Leading underscore","NO")
41− ,("Use LibFFI","YES")
42− ,("Use Threads","YES")
43− ,("Use Debugging","NO")
44− ,("RTS expects libdw","NO")
45− ,("Project version","8.10.6")
46− ,("Project Git commit id","f7b3359be12030d762b299681e1aeef0292417ce")
47− ,("Booter version","8.8.4")
48− ,("Stage","1")
49− ,("Build platform","x86_64-unknown-linux")
50− ,("Host platform","x86_64-unknown-linux")
51− ,("Target platform","aarch64-unknown-linux")
52− ,("Have interpreter","YES")
53− ,("Object splitting supported","NO")
54− ,("Have native code generator","NO")
55− ,("Support dynamic-too","YES")
56− ,("Support parallel --make","YES")
57− ,("Support reexported-modules","YES")
58− ,("Support thinning and renaming package flags","YES")
59− ,("Support Backpack","YES")
60− ,("Requires unified installed package IDs","YES")
61− ,("Uses package keys","YES")
62− ,("Uses unit IDs","YES")
63− ,("Dynamic by default","NO")
64− ,("GHC Dynamic","NO")
65− ,("GHC Profiled","NO")
66− ,("Debug on","NO")
67− ]
materialized/dummy-ghc/aarch64-unknown-linux-gnu-aarch64-unknown-linux-gnu-ghc-8.10.6-x86_64-linux/ghc/numeric-versiondeleted−1
@@ -1 +0,0 @@
1−8.10.6
materialized/dummy-ghc/aarch64-unknown-linux-gnu-aarch64-unknown-linux-gnu-ghc-8.10.6-x86_64-linux/ghc/supported-languagesdeleted−255
@@ -1,255 +0,0 @@
1−Haskell98
2−Haskell2010
3−Unsafe
4−Trustworthy
5−Safe
6−AllowAmbiguousTypes
7−NoAllowAmbiguousTypes
8−AlternativeLayoutRule
9−NoAlternativeLayoutRule
10−AlternativeLayoutRuleTransitional
11−NoAlternativeLayoutRuleTransitional
12−Arrows
13−NoArrows
14−AutoDeriveTypeable
15−NoAutoDeriveTypeable
16−BangPatterns
17−NoBangPatterns
18−BinaryLiterals
19−NoBinaryLiterals
20−CApiFFI
21−NoCApiFFI
22−CPP
23−NoCPP
24−CUSKs
25−NoCUSKs
26−ConstrainedClassMethods
27−NoConstrainedClassMethods
28−ConstraintKinds
29−NoConstraintKinds
30−DataKinds
31−NoDataKinds
32−DatatypeContexts
33−NoDatatypeContexts
34−DefaultSignatures
35−NoDefaultSignatures
36−DeriveAnyClass
37−NoDeriveAnyClass
38−DeriveDataTypeable
39−NoDeriveDataTypeable
40−DeriveFoldable
41−NoDeriveFoldable
42−DeriveFunctor
43−NoDeriveFunctor
44−DeriveGeneric
45−NoDeriveGeneric
46−DeriveLift
47−NoDeriveLift
48−DeriveTraversable
49−NoDeriveTraversable
50−DerivingStrategies
51−NoDerivingStrategies
52−DerivingVia
53−NoDerivingVia
54−DisambiguateRecordFields
55−NoDisambiguateRecordFields
56−DoAndIfThenElse
57−NoDoAndIfThenElse
58−BlockArguments
59−NoBlockArguments
60−DoRec
61−NoDoRec
62−DuplicateRecordFields
63−NoDuplicateRecordFields
64−EmptyCase
65−NoEmptyCase
66−EmptyDataDecls
67−NoEmptyDataDecls
68−EmptyDataDeriving
69−NoEmptyDataDeriving
70−ExistentialQuantification
71−NoExistentialQuantification
72−ExplicitForAll
73−NoExplicitForAll
74−ExplicitNamespaces
75−NoExplicitNamespaces
76−ExtendedDefaultRules
77−NoExtendedDefaultRules
78−FlexibleContexts
79−NoFlexibleContexts
80−FlexibleInstances
81−NoFlexibleInstances
82−ForeignFunctionInterface
83−NoForeignFunctionInterface
84−FunctionalDependencies
85−NoFunctionalDependencies
86−GADTSyntax
87−NoGADTSyntax
88−GADTs
89−NoGADTs
90−GHCForeignImportPrim
91−NoGHCForeignImportPrim
92−GeneralizedNewtypeDeriving
93−NoGeneralizedNewtypeDeriving
94−GeneralisedNewtypeDeriving
95−NoGeneralisedNewtypeDeriving
96−ImplicitParams
97−NoImplicitParams
98−ImplicitPrelude
99−NoImplicitPrelude
100−ImportQualifiedPost
101−NoImportQualifiedPost
102−ImpredicativeTypes
103−NoImpredicativeTypes
104−IncoherentInstances
105−NoIncoherentInstances
106−TypeFamilyDependencies
107−NoTypeFamilyDependencies
108−InstanceSigs
109−NoInstanceSigs
110−ApplicativeDo
111−NoApplicativeDo
112−InterruptibleFFI
113−NoInterruptibleFFI
114−JavaScriptFFI
115−NoJavaScriptFFI
116−KindSignatures
117−NoKindSignatures
118−LambdaCase
119−NoLambdaCase
120−LiberalTypeSynonyms
121−NoLiberalTypeSynonyms
122−MagicHash
123−NoMagicHash
124−MonadComprehensions
125−NoMonadComprehensions
126−MonadFailDesugaring
127−NoMonadFailDesugaring
128−MonoLocalBinds
129−NoMonoLocalBinds
130−MonoPatBinds
131−NoMonoPatBinds
132−MonomorphismRestriction
133−NoMonomorphismRestriction
134−MultiParamTypeClasses
135−NoMultiParamTypeClasses
136−MultiWayIf
137−NoMultiWayIf
138−NumericUnderscores
139−NoNumericUnderscores
140−NPlusKPatterns
141−NoNPlusKPatterns
142−NamedFieldPuns
143−NoNamedFieldPuns
144−NamedWildCards
145−NoNamedWildCards
146−NegativeLiterals
147−NoNegativeLiterals
148−HexFloatLiterals
149−NoHexFloatLiterals
150−NondecreasingIndentation
151−NoNondecreasingIndentation
152−NullaryTypeClasses
153−NoNullaryTypeClasses
154−NumDecimals
155−NoNumDecimals
156−OverlappingInstances
157−NoOverlappingInstances
158−OverloadedLabels
159−NoOverloadedLabels
160−OverloadedLists
161−NoOverloadedLists
162−OverloadedStrings
163−NoOverloadedStrings
164−PackageImports
165−NoPackageImports
166−ParallelArrays
167−NoParallelArrays
168−ParallelListComp
169−NoParallelListComp
170−PartialTypeSignatures
171−NoPartialTypeSignatures
172−PatternGuards
173−NoPatternGuards
174−PatternSignatures
175−NoPatternSignatures
176−PatternSynonyms
177−NoPatternSynonyms
178−PolyKinds
179−NoPolyKinds
180−PolymorphicComponents
181−NoPolymorphicComponents
182−QuantifiedConstraints
183−NoQuantifiedConstraints
184−PostfixOperators
185−NoPostfixOperators
186−QuasiQuotes
187−NoQuasiQuotes
188−Rank2Types
189−NoRank2Types
190−RankNTypes
191−NoRankNTypes
192−RebindableSyntax
193−NoRebindableSyntax
194−RecordPuns
195−NoRecordPuns
196−RecordWildCards
197−NoRecordWildCards
198−RecursiveDo
199−NoRecursiveDo
200−RelaxedLayout
201−NoRelaxedLayout
202−RelaxedPolyRec
203−NoRelaxedPolyRec
204−RoleAnnotations
205−NoRoleAnnotations
206−ScopedTypeVariables
207−NoScopedTypeVariables
208−StandaloneDeriving
209−NoStandaloneDeriving
210−StarIsType
211−NoStarIsType
212−StaticPointers
213−NoStaticPointers
214−Strict
215−NoStrict
216−StrictData
217−NoStrictData
218−TemplateHaskell
219−NoTemplateHaskell
220−TemplateHaskellQuotes
221−NoTemplateHaskellQuotes
222−StandaloneKindSignatures
223−NoStandaloneKindSignatures
224−TraditionalRecordSyntax
225−NoTraditionalRecordSyntax
226−TransformListComp
227−NoTransformListComp
228−TupleSections
229−NoTupleSections
230−TypeApplications
231−NoTypeApplications
232−TypeInType
233−NoTypeInType
234−TypeFamilies
235−NoTypeFamilies
236−TypeOperators
237−NoTypeOperators
238−TypeSynonymInstances
239−NoTypeSynonymInstances
240−UnboxedTuples
241−NoUnboxedTuples
242−UnboxedSums
243−NoUnboxedSums
244−UndecidableInstances
245−NoUndecidableInstances
246−UndecidableSuperClasses
247−NoUndecidableSuperClasses
248−UnicodeSyntax
249−NoUnicodeSyntax
250−UnliftedFFITypes
251−NoUnliftedFFITypes
252−UnliftedNewtypes
253−NoUnliftedNewtypes
254−ViewPatterns
255−NoViewPatterns
materialized/dummy-ghc/aarch64-unknown-linux-gnu-aarch64-unknown-linux-gnu-ghc-8.10.6-x86_64-linux/ghc/versiondeleted−1
@@ -1 +0,0 @@
1−The Glorious Glasgow Haskell Compilation System, version 8.10.6
materialized/dummy-ghc/aarch64-unknown-linux-gnu-aarch64-unknown-linux-gnu-ghc-8.10.7-x86_64-linux/ghc-pkg/dump-globaldeleted−1443
@@ -1,1443 +0,0 @@
1−name: Cabal
2−version: 3.2.1.0
3−visibility: public
4−id: Cabal-3.2.1.0
5−key: Cabal-3.2.1.0
6−license: BSD-3-Clause
7−copyright: 2003-2020, Cabal Development Team (see AUTHORS file)
8−maintainer: cabal-devel@haskell.org
9−author: Cabal Development Team <cabal-devel@haskell.org>
10−homepage: http://www.haskell.org/cabal/
11−synopsis: A framework for packaging Haskell software
12−description:
13− The Haskell Common Architecture for Building Applications and
14− Libraries: a framework defining a common interface for authors to more
15− easily build their Haskell applications in a portable way.
16− The Haskell Cabal is part of a larger infrastructure for distributing,
17− organizing, and cataloging Haskell libraries and tools.
18−category: Distribution
19−exposed: True
20−exposed-modules:
21− Distribution.Backpack Distribution.Backpack.ComponentsGraph
22− Distribution.Backpack.Configure
23− Distribution.Backpack.ConfiguredComponent
24− Distribution.Backpack.DescribeUnitId
25− Distribution.Backpack.FullUnitId
26− Distribution.Backpack.LinkedComponent
27− Distribution.Backpack.ModSubst Distribution.Backpack.ModuleShape
28− Distribution.Backpack.PreModuleShape Distribution.CabalSpecVersion
29− Distribution.Compat.Binary Distribution.Compat.CharParsing
30− Distribution.Compat.CreatePipe Distribution.Compat.DList
31− Distribution.Compat.Directory Distribution.Compat.Environment
32− Distribution.Compat.Exception Distribution.Compat.FilePath
33− Distribution.Compat.Graph Distribution.Compat.Internal.TempFile
34− Distribution.Compat.Lens Distribution.Compat.Newtype
35− Distribution.Compat.Parsing Distribution.Compat.Prelude.Internal
36− Distribution.Compat.Process Distribution.Compat.ResponseFile
37− Distribution.Compat.Semigroup Distribution.Compat.Stack
38− Distribution.Compat.Time Distribution.Compat.Typeable
39− Distribution.Compiler Distribution.FieldGrammar
40− Distribution.FieldGrammar.Class
41− Distribution.FieldGrammar.FieldDescrs
42− Distribution.FieldGrammar.Parsec Distribution.FieldGrammar.Pretty
43− Distribution.Fields Distribution.Fields.ConfVar
44− Distribution.Fields.Field Distribution.Fields.Lexer
45− Distribution.Fields.LexerMonad Distribution.Fields.ParseResult
46− Distribution.Fields.Parser Distribution.Fields.Pretty
47− Distribution.InstalledPackageInfo Distribution.License
48− Distribution.Make Distribution.ModuleName Distribution.Package
49− Distribution.PackageDescription
50− Distribution.PackageDescription.Check
51− Distribution.PackageDescription.Configuration
52− Distribution.PackageDescription.FieldGrammar
53− Distribution.PackageDescription.Parsec
54− Distribution.PackageDescription.PrettyPrint
55− Distribution.PackageDescription.Quirks
56− Distribution.PackageDescription.Utils Distribution.Parsec
57− Distribution.Parsec.Error Distribution.Parsec.FieldLineStream
58− Distribution.Parsec.Newtypes Distribution.Parsec.Position
59− Distribution.Parsec.Warning Distribution.Pretty Distribution.ReadE
60− Distribution.SPDX Distribution.SPDX.License
61− Distribution.SPDX.LicenseExceptionId
62− Distribution.SPDX.LicenseExpression Distribution.SPDX.LicenseId
63− Distribution.SPDX.LicenseListVersion
64− Distribution.SPDX.LicenseReference Distribution.Simple
65− Distribution.Simple.Bench Distribution.Simple.Build
66− Distribution.Simple.Build.Macros
67− Distribution.Simple.Build.PathsModule
68− Distribution.Simple.BuildPaths Distribution.Simple.BuildTarget
69− Distribution.Simple.BuildToolDepends Distribution.Simple.CCompiler
70− Distribution.Simple.Command Distribution.Simple.Compiler
71− Distribution.Simple.Configure Distribution.Simple.Doctest
72− Distribution.Simple.Flag Distribution.Simple.GHC
73− Distribution.Simple.GHCJS Distribution.Simple.Glob
74− Distribution.Simple.Haddock Distribution.Simple.HaskellSuite
75− Distribution.Simple.Hpc Distribution.Simple.Install
76− Distribution.Simple.InstallDirs
77− Distribution.Simple.InstallDirs.Internal
78− Distribution.Simple.LocalBuildInfo Distribution.Simple.PackageIndex
79− Distribution.Simple.PreProcess Distribution.Simple.PreProcess.Unlit
80− Distribution.Simple.Program Distribution.Simple.Program.Ar
81− Distribution.Simple.Program.Builtin Distribution.Simple.Program.Db
82− Distribution.Simple.Program.Find Distribution.Simple.Program.GHC
83− Distribution.Simple.Program.HcPkg Distribution.Simple.Program.Hpc
84− Distribution.Simple.Program.Internal Distribution.Simple.Program.Ld
85− Distribution.Simple.Program.ResponseFile
86− Distribution.Simple.Program.Run Distribution.Simple.Program.Script
87− Distribution.Simple.Program.Strip Distribution.Simple.Program.Types
88− Distribution.Simple.Register Distribution.Simple.Setup
89− Distribution.Simple.ShowBuildInfo Distribution.Simple.SrcDist
90− Distribution.Simple.Test Distribution.Simple.Test.ExeV10
91− Distribution.Simple.Test.LibV09 Distribution.Simple.Test.Log
92− Distribution.Simple.UHC Distribution.Simple.UserHooks
93− Distribution.Simple.Utils Distribution.System
94− Distribution.TestSuite Distribution.Text
95− Distribution.Types.AbiDependency Distribution.Types.AbiHash
96− Distribution.Types.AnnotatedId Distribution.Types.Benchmark
97− Distribution.Types.Benchmark.Lens
98− Distribution.Types.BenchmarkInterface
99− Distribution.Types.BenchmarkType Distribution.Types.BuildInfo
100− Distribution.Types.BuildInfo.Lens Distribution.Types.BuildType
101− Distribution.Types.Component Distribution.Types.ComponentId
102− Distribution.Types.ComponentInclude
103− Distribution.Types.ComponentLocalBuildInfo
104− Distribution.Types.ComponentName
105− Distribution.Types.ComponentRequestedSpec
106− Distribution.Types.CondTree Distribution.Types.Condition
107− Distribution.Types.ConfVar Distribution.Types.Dependency
108− Distribution.Types.DependencyMap Distribution.Types.ExeDependency
109− Distribution.Types.Executable Distribution.Types.Executable.Lens
110− Distribution.Types.ExecutableScope Distribution.Types.ExposedModule
111− Distribution.Types.Flag Distribution.Types.ForeignLib
112− Distribution.Types.ForeignLib.Lens
113− Distribution.Types.ForeignLibOption
114− Distribution.Types.ForeignLibType
115− Distribution.Types.GenericPackageDescription
116− Distribution.Types.GenericPackageDescription.Lens
117− Distribution.Types.GivenComponent
118− Distribution.Types.HookedBuildInfo
119− Distribution.Types.IncludeRenaming
120− Distribution.Types.InstalledPackageInfo
121− Distribution.Types.InstalledPackageInfo.FieldGrammar
122− Distribution.Types.InstalledPackageInfo.Lens
123− Distribution.Types.LegacyExeDependency Distribution.Types.Lens
124− Distribution.Types.Library Distribution.Types.Library.Lens
125− Distribution.Types.LibraryName Distribution.Types.LibraryVisibility
126− Distribution.Types.LocalBuildInfo Distribution.Types.Mixin
127− Distribution.Types.Module Distribution.Types.ModuleReexport
128− Distribution.Types.ModuleRenaming
129− Distribution.Types.MungedPackageId
130− Distribution.Types.MungedPackageName
131− Distribution.Types.PackageDescription
132− Distribution.Types.PackageDescription.Lens
133− Distribution.Types.PackageId Distribution.Types.PackageId.Lens
134− Distribution.Types.PackageName Distribution.Types.PackageName.Magic
135− Distribution.Types.PackageVersionConstraint
136− Distribution.Types.PkgconfigDependency
137− Distribution.Types.PkgconfigName
138− Distribution.Types.PkgconfigVersion
139− Distribution.Types.PkgconfigVersionRange
140− Distribution.Types.SetupBuildInfo
141− Distribution.Types.SetupBuildInfo.Lens
142− Distribution.Types.SourceRepo Distribution.Types.SourceRepo.Lens
143− Distribution.Types.TargetInfo Distribution.Types.TestSuite
144− Distribution.Types.TestSuite.Lens
145− Distribution.Types.TestSuiteInterface Distribution.Types.TestType
146− Distribution.Types.UnitId Distribution.Types.UnqualComponentName
147− Distribution.Types.Version Distribution.Types.VersionInterval
148− Distribution.Types.VersionRange
149− Distribution.Types.VersionRange.Internal Distribution.Utils.Generic
150− Distribution.Utils.IOData Distribution.Utils.LogProgress
151− Distribution.Utils.MD5 Distribution.Utils.MapAccum
152− Distribution.Utils.NubList Distribution.Utils.Progress
153− Distribution.Utils.ShortText Distribution.Utils.Structured
154− Distribution.Verbosity Distribution.Verbosity.Internal
155− Distribution.Version Language.Haskell.Extension
156−hidden-modules:
157− Distribution.Backpack.PreExistingComponent
158− Distribution.Backpack.ReadyComponent Distribution.Backpack.MixLink
159− Distribution.Backpack.ModuleScope Distribution.Backpack.UnifyM
160− Distribution.Backpack.Id Distribution.Utils.UnionFind
161− Distribution.Utils.Base62 Distribution.Compat.Async
162− Distribution.Compat.CopyFile Distribution.Compat.GetShortPathName
163− Distribution.Compat.MonadFail Distribution.Compat.Prelude
164− Distribution.Compat.SnocList Distribution.GetOpt Distribution.Lex
165− Distribution.Utils.String Distribution.Simple.GHC.EnvironmentParser
166− Distribution.Simple.GHC.Internal Distribution.Simple.GHC.ImplInfo
167− Distribution.Simple.Utils.Json Paths_Cabal
168−import-dirs:
169−library-dirs:
170−dynamic-library-dirs:
171−data-dir:
172−hs-libraries: HSCabal-3.2.1.0
173−depends:
174− array-0.5.4.0 base-4.14.3.0 binary-0.8.8.0 bytestring-0.10.12.0
175− containers-0.6.5.1 deepseq-1.4.4.0 directory-1.3.6.0
176− filepath-1.4.2.1 mtl-2.2.2 parsec-3.1.14.0 pretty-1.1.3.6
177− process-1.6.13.2 text-1.2.4.1 time-1.9.3 transformers-0.5.6.2
178− unix-2.7.2.2
179−haddock-interfaces:
180−haddock-html:
181−---
182−name: array
183−version: 0.5.4.0
184−visibility: public
185−id: array-0.5.4.0
186−key: array-0.5.4.0
187−license: BSD-3-Clause
188−maintainer: libraries@haskell.org
189−synopsis: Mutable and immutable arrays
190−description:
191− In addition to providing the "Data.Array" module
192− <http://www.haskell.org/onlinereport/haskell2010/haskellch14.html as specified in the Haskell 2010 Language Report>,
193− this package also defines the classes 'IArray' of
194− immutable arrays and 'MArray' of arrays mutable within appropriate
195− monads, as well as some instances of these classes.
196−category: Data Structures
197−exposed: True
198−exposed-modules:
199− Data.Array Data.Array.Base Data.Array.IArray Data.Array.IO
200− Data.Array.IO.Internals Data.Array.IO.Safe Data.Array.MArray
201− Data.Array.MArray.Safe Data.Array.ST Data.Array.ST.Safe
202− Data.Array.Storable Data.Array.Storable.Internals
203− Data.Array.Storable.Safe Data.Array.Unboxed Data.Array.Unsafe
204−import-dirs:
205−library-dirs:
206−dynamic-library-dirs:
207−data-dir:
208−hs-libraries: HSarray-0.5.4.0
209−depends: base-4.14.3.0
210−haddock-interfaces:
211−haddock-html:
212−---
213−name: base
214−version: 4.14.3.0
215−visibility: public
216−id: base-4.14.3.0
217−key: base-4.14.3.0
218−license: BSD-3-Clause
219−maintainer: libraries@haskell.org
220−synopsis: Basic libraries
221−description:
222− This package contains the Standard Haskell "Prelude" and its support libraries,
223− and a large collection of useful libraries ranging from data
224− structures to parsing combinators and debugging utilities.
225−category: Prelude
226−exposed: True
227−exposed-modules:
228− Control.Applicative Control.Arrow Control.Category
229− Control.Concurrent Control.Concurrent.Chan Control.Concurrent.MVar
230− Control.Concurrent.QSem Control.Concurrent.QSemN Control.Exception
231− Control.Exception.Base Control.Monad Control.Monad.Fail
232− Control.Monad.Fix Control.Monad.IO.Class Control.Monad.Instances
233− Control.Monad.ST Control.Monad.ST.Lazy Control.Monad.ST.Lazy.Safe
234− Control.Monad.ST.Lazy.Unsafe Control.Monad.ST.Safe
235− Control.Monad.ST.Strict Control.Monad.ST.Unsafe Control.Monad.Zip
236− Data.Bifoldable Data.Bifunctor Data.Bitraversable Data.Bits
237− Data.Bool Data.Char Data.Coerce Data.Complex Data.Data Data.Dynamic
238− Data.Either Data.Eq Data.Fixed Data.Foldable Data.Function
239− Data.Functor Data.Functor.Classes Data.Functor.Compose
240− Data.Functor.Const Data.Functor.Contravariant Data.Functor.Identity
241− Data.Functor.Product Data.Functor.Sum Data.IORef Data.Int Data.Ix
242− Data.Kind Data.List Data.List.NonEmpty Data.Maybe Data.Monoid
243− Data.Ord Data.Proxy Data.Ratio Data.STRef Data.STRef.Lazy
244− Data.STRef.Strict Data.Semigroup Data.String Data.Traversable
245− Data.Tuple Data.Type.Bool Data.Type.Coercion Data.Type.Equality
246− Data.Typeable Data.Unique Data.Version Data.Void Data.Word
247− Debug.Trace Foreign Foreign.C Foreign.C.Error Foreign.C.String
248− Foreign.C.Types Foreign.Concurrent Foreign.ForeignPtr
249− Foreign.ForeignPtr.Safe Foreign.ForeignPtr.Unsafe Foreign.Marshal
250− Foreign.Marshal.Alloc Foreign.Marshal.Array Foreign.Marshal.Error
251− Foreign.Marshal.Pool Foreign.Marshal.Safe Foreign.Marshal.Unsafe
252− Foreign.Marshal.Utils Foreign.Ptr Foreign.Safe Foreign.StablePtr
253− Foreign.Storable GHC.Arr GHC.Base GHC.ByteOrder GHC.Char GHC.Clock
254− GHC.Conc GHC.Conc.IO GHC.Conc.Signal GHC.Conc.Sync
255− GHC.ConsoleHandler GHC.Constants GHC.Desugar GHC.Enum
256− GHC.Environment GHC.Err GHC.Event GHC.Exception GHC.Exception.Type
257− GHC.ExecutionStack GHC.ExecutionStack.Internal GHC.Exts
258− GHC.Fingerprint GHC.Fingerprint.Type GHC.Float
259− GHC.Float.ConversionUtils GHC.Float.RealFracMethods GHC.Foreign
260− GHC.ForeignPtr GHC.GHCi GHC.GHCi.Helpers GHC.Generics GHC.IO
261− GHC.IO.Buffer GHC.IO.BufferedIO GHC.IO.Device GHC.IO.Encoding
262− GHC.IO.Encoding.CodePage GHC.IO.Encoding.Failure
263− GHC.IO.Encoding.Iconv GHC.IO.Encoding.Latin1 GHC.IO.Encoding.Types
264− GHC.IO.Encoding.UTF16 GHC.IO.Encoding.UTF32 GHC.IO.Encoding.UTF8
265− GHC.IO.Exception GHC.IO.FD GHC.IO.Handle GHC.IO.Handle.FD
266− GHC.IO.Handle.Internals GHC.IO.Handle.Lock GHC.IO.Handle.Text
267− GHC.IO.Handle.Types GHC.IO.IOMode GHC.IO.Unsafe GHC.IOArray
268− GHC.IORef GHC.Int GHC.Ix GHC.List GHC.MVar GHC.Maybe GHC.Natural
269− GHC.Num GHC.OldList GHC.OverloadedLabels GHC.Pack GHC.Profiling
270− GHC.Ptr GHC.RTS.Flags GHC.Read GHC.Real GHC.Records
271− GHC.ResponseFile GHC.ST GHC.STRef GHC.Show GHC.Stable
272− GHC.StableName GHC.Stack GHC.Stack.CCS GHC.Stack.Types
273− GHC.StaticPtr GHC.Stats GHC.Storable GHC.TopHandler GHC.TypeLits
274− GHC.TypeNats GHC.Unicode GHC.Weak GHC.Word Numeric Numeric.Natural
275− Prelude System.CPUTime System.Console.GetOpt System.Environment
276− System.Environment.Blank System.Exit System.IO System.IO.Error
277− System.IO.Unsafe System.Info System.Mem System.Mem.StableName
278− System.Mem.Weak System.Posix.Internals System.Posix.Types
279− System.Timeout Text.ParserCombinators.ReadP
280− Text.ParserCombinators.ReadPrec Text.Printf Text.Read Text.Read.Lex
281− Text.Show Text.Show.Functions Type.Reflection
282− Type.Reflection.Unsafe Unsafe.Coerce
283−hidden-modules:
284− Control.Monad.ST.Imp Control.Monad.ST.Lazy.Imp Data.Functor.Utils
285− Data.OldList Data.Semigroup.Internal Data.Typeable.Internal
286− Foreign.ForeignPtr.Imp GHC.IO.Handle.Lock.Common
287− GHC.IO.Handle.Lock.Flock GHC.IO.Handle.Lock.LinuxOFD
288− GHC.IO.Handle.Lock.NoOp GHC.IO.Handle.Lock.Windows
289− GHC.StaticPtr.Internal System.Environment.ExecutablePath
290− System.CPUTime.Utils GHC.Event.Arr GHC.Event.Array
291− GHC.Event.Control GHC.Event.EPoll GHC.Event.IntTable
292− GHC.Event.Internal GHC.Event.KQueue GHC.Event.Manager GHC.Event.PSQ
293− GHC.Event.Poll GHC.Event.Thread GHC.Event.TimerManager
294− GHC.Event.Unique System.CPUTime.Posix.ClockGetTime
295− System.CPUTime.Posix.Times System.CPUTime.Posix.RUsage
296− System.CPUTime.Unsupported
297−import-dirs:
298−library-dirs:
299−dynamic-library-dirs:
300−data-dir:
301−hs-libraries: HSbase-4.14.3.0
302−include-dirs:
303−includes: HsBase.h
304−depends: ghc-prim-0.6.1 integer-gmp-1.0.3.0 rts
305−haddock-interfaces:
306−haddock-html:
307−---
308−name: binary
309−version: 0.8.8.0
310−visibility: public
311−id: binary-0.8.8.0
312−key: binary-0.8.8.0
313−license: BSD-3-Clause
314−maintainer: Lennart Kolmodin, Don Stewart <dons00@gmail.com>
315−author: Lennart Kolmodin <kolmodin@gmail.com>
316−stability: provisional
317−homepage: https://github.com/kolmodin/binary
318−synopsis:
319− Binary serialisation for Haskell values using lazy ByteStrings
320−description:
321− Efficient, pure binary serialisation using lazy ByteStrings.
322− Haskell values may be encoded to and from binary formats,
323− written to disk as binary, or sent over the network.
324− The format used can be automatically generated, or
325− you can choose to implement a custom format if needed.
326− Serialisation speeds of over 1 G\/sec have been observed,
327− so this library should be suitable for high performance
328− scenarios.
329−category: Data, Parsing
330−exposed: True
331−exposed-modules:
332− Data.Binary Data.Binary.Builder Data.Binary.Get
333− Data.Binary.Get.Internal Data.Binary.Put
334−hidden-modules:
335− Data.Binary.Class Data.Binary.Internal Data.Binary.Generic
336− Data.Binary.FloatCast
337−import-dirs:
338−library-dirs:
339−dynamic-library-dirs:
340−data-dir:
341−hs-libraries: HSbinary-0.8.8.0
342−depends:
343− array-0.5.4.0 base-4.14.3.0 bytestring-0.10.12.0 containers-0.6.5.1
344−haddock-interfaces:
345−haddock-html:
346−---
347−name: bytestring
348−version: 0.10.12.0
349−visibility: public
350−id: bytestring-0.10.12.0
351−key: bytestring-0.10.12.0
352−license: BSD-3-Clause
353−copyright:
354− Copyright (c) Don Stewart 2005-2009,
355− (c) Duncan Coutts 2006-2015,
356− (c) David Roundy 2003-2005,
357− (c) Jasper Van der Jeugt 2010,
358− (c) Simon Meier 2010-2013.
359−maintainer: Duncan Coutts <duncan@community.haskell.org>
360−author:
361− Don Stewart,
362− Duncan Coutts
363−homepage: https://github.com/haskell/bytestring
364−synopsis:
365− Fast, compact, strict and lazy byte strings with a list interface
366−description:
367− An efficient compact, immutable byte string type (both strict and lazy)
368− suitable for binary or 8-bit character data.
369− The 'ByteString' type represents sequences of bytes or 8-bit characters.
370− It is suitable for high performance use, both in terms of large data
371− quantities, or high speed requirements. The 'ByteString' functions follow
372− the same style as Haskell\'s ordinary lists, so it is easy to convert code
373− from using 'String' to 'ByteString'.
374− Two 'ByteString' variants are provided:
375− * Strict 'ByteString's keep the string as a single large array. This
376− makes them convenient for passing data between C and Haskell.
377− * Lazy 'ByteString's use a lazy list of strict chunks which makes it
378− suitable for I\/O streaming tasks.
379− The @Char8@ modules provide a character-based view of the same
380− underlying 'ByteString' types. This makes it convenient to handle mixed
381− binary and 8-bit character content (which is common in many file formats
382− and network protocols).
383− The 'Builder' module provides an efficient way to build up 'ByteString's
384− in an ad-hoc way by repeated concatenation. This is ideal for fast
385− serialisation or pretty printing.
386− There is also a 'ShortByteString' type which has a lower memory overhead
387− and can can be converted to or from a 'ByteString', but supports very few
388− other operations. It is suitable for keeping many short strings in memory.
389− 'ByteString's are not designed for Unicode. For Unicode strings you should
390− use the 'Text' type from the @text@ package.
391− These modules are intended to be imported qualified, to avoid name clashes
392− with "Prelude" functions, e.g.
393− > import qualified Data.ByteString as BS
394−category: Data
395−exposed: True
396−exposed-modules:
397− Data.ByteString Data.ByteString.Builder
398− Data.ByteString.Builder.Extra Data.ByteString.Builder.Internal
399− Data.ByteString.Builder.Prim Data.ByteString.Builder.Prim.Internal
400− Data.ByteString.Char8 Data.ByteString.Internal Data.ByteString.Lazy
401− Data.ByteString.Lazy.Builder Data.ByteString.Lazy.Builder.ASCII
402− Data.ByteString.Lazy.Builder.Extras Data.ByteString.Lazy.Char8
403− Data.ByteString.Lazy.Internal Data.ByteString.Short
404− Data.ByteString.Short.Internal Data.ByteString.Unsafe
405−hidden-modules:
406− Data.ByteString.Builder.ASCII Data.ByteString.Builder.Prim.Binary
407− Data.ByteString.Builder.Prim.ASCII
408− Data.ByteString.Builder.Prim.Internal.Floating
409− Data.ByteString.Builder.Prim.Internal.UncheckedShifts
410− Data.ByteString.Builder.Prim.Internal.Base16
411−import-dirs:
412−library-dirs:
413−dynamic-library-dirs:
414−data-dir:
415−hs-libraries: HSbytestring-0.10.12.0
416−include-dirs:
417−includes: fpstring.h
418−depends:
419− base-4.14.3.0 deepseq-1.4.4.0 ghc-prim-0.6.1 integer-gmp-1.0.3.0
420−haddock-interfaces:
421−haddock-html:
422−---
423−name: containers
424−version: 0.6.5.1
425−visibility: public
426−id: containers-0.6.5.1
427−key: containers-0.6.5.1
428−license: BSD-3-Clause
429−maintainer: libraries@haskell.org
430−synopsis: Assorted concrete container types
431−description:
432− This package contains efficient general-purpose implementations
433− of various immutable container types including sets, maps, sequences,
434− trees, and graphs.
435− For a walkthrough of what this package provides with examples of common
436− operations see the [containers
437− introduction](https://haskell-containers.readthedocs.io).
438− The declared cost of each operation is either worst-case or amortized, but
439− remains valid even if structures are shared.
440−category: Data Structures
441−exposed: True
442−exposed-modules:
443− Data.Containers.ListUtils Data.Graph Data.IntMap
444− Data.IntMap.Internal Data.IntMap.Internal.Debug Data.IntMap.Lazy
445− Data.IntMap.Merge.Lazy Data.IntMap.Merge.Strict Data.IntMap.Strict
446− Data.IntMap.Strict.Internal Data.IntSet Data.IntSet.Internal
447− Data.Map Data.Map.Internal Data.Map.Internal.Debug Data.Map.Lazy
448− Data.Map.Merge.Lazy Data.Map.Merge.Strict Data.Map.Strict
449− Data.Map.Strict.Internal Data.Sequence Data.Sequence.Internal
450− Data.Sequence.Internal.Sorting Data.Set Data.Set.Internal Data.Tree
451− Utils.Containers.Internal.BitQueue
452− Utils.Containers.Internal.BitUtil
453− Utils.Containers.Internal.StrictPair
454−hidden-modules:
455− Utils.Containers.Internal.State
456− Utils.Containers.Internal.StrictMaybe
457− Utils.Containers.Internal.PtrEquality
458− Utils.Containers.Internal.Coercions
459− Utils.Containers.Internal.TypeError
460− Data.Map.Internal.DeprecatedShowTree
461− Data.IntMap.Internal.DeprecatedDebug
462−import-dirs:
463−library-dirs:
464−dynamic-library-dirs:
465−data-dir:
466−hs-libraries: HScontainers-0.6.5.1
467−depends: array-0.5.4.0 base-4.14.3.0 deepseq-1.4.4.0
468−haddock-interfaces:
469−haddock-html:
470−---
471−name: deepseq
472−version: 1.4.4.0
473−visibility: public
474−id: deepseq-1.4.4.0
475−key: deepseq-1.4.4.0
476−license: BSD-3-Clause
477−maintainer: libraries@haskell.org
478−synopsis: Deep evaluation of data structures
479−description:
480− This package provides methods for fully evaluating data structures
481− (\"deep evaluation\"). Deep evaluation is often used for adding
482− strictness to a program, e.g. in order to force pending exceptions,
483− remove space leaks, or force lazy I/O to happen. It is also useful
484− in parallel programs, to ensure pending work does not migrate to the
485− wrong thread.
486− The primary use of this package is via the 'deepseq' function, a
487− \"deep\" version of 'seq'. It is implemented on top of an 'NFData'
488− typeclass (\"Normal Form Data\", data structures with no unevaluated
489− components) which defines strategies for fully evaluating different
490− data types. See module documentation in "Control.DeepSeq" for more
491− details.
492−category: Control
493−exposed: True
494−exposed-modules: Control.DeepSeq
495−hidden-modules: Control.DeepSeq.BackDoor
496−import-dirs:
497−library-dirs:
498−dynamic-library-dirs:
499−data-dir:
500−hs-libraries: HSdeepseq-1.4.4.0
501−depends: array-0.5.4.0 base-4.14.3.0
502−haddock-interfaces:
503−haddock-html:
504−---
505−name: directory
506−version: 1.3.6.0
507−visibility: public
508−id: directory-1.3.6.0
509−key: directory-1.3.6.0
510−license: BSD-3-Clause
511−maintainer: libraries@haskell.org
512−synopsis: Platform-agnostic library for filesystem operations
513−description:
514− This library provides a basic set of operations for manipulating files and
515− directories in a portable way.
516−category: System
517−exposed: True
518−exposed-modules:
519− System.Directory System.Directory.Internal
520− System.Directory.Internal.Prelude
521−hidden-modules:
522− System.Directory.Internal.C_utimensat
523− System.Directory.Internal.Common System.Directory.Internal.Config
524− System.Directory.Internal.Posix System.Directory.Internal.Windows
525−import-dirs:
526−library-dirs:
527−dynamic-library-dirs:
528−data-dir:
529−hs-libraries: HSdirectory-1.3.6.0
530−depends:
531− base-4.14.3.0 filepath-1.4.2.1 time-1.9.3 unix-2.7.2.2
532−haddock-interfaces:
533−haddock-html:
534−---
535−name: exceptions
536−version: 0.10.4
537−visibility: public
538−id: exceptions-0.10.4
539−key: exceptions-0.10.4
540−license: BSD-3-Clause
541−copyright:
542− Copyright (C) 2013-2015 Edward A. Kmett
543− Copyright (C) 2012 Google Inc.
544−maintainer: Edward A. Kmett <ekmett@gmail.com>
545−author: Edward A. Kmett
546−stability: provisional
547−homepage: http://github.com/ekmett/exceptions/
548−synopsis: Extensible optionally-pure exceptions
549−description: Extensible optionally-pure exceptions.
550−category: Control, Exceptions, Monad
551−exposed: True
552−exposed-modules: Control.Monad.Catch Control.Monad.Catch.Pure
553−import-dirs:
554−library-dirs:
555−dynamic-library-dirs:
556−data-dir:
557−hs-libraries: HSexceptions-0.10.4
558−depends:
559− base-4.14.3.0 mtl-2.2.2 stm-2.5.0.1 template-haskell-2.16.0.0
560− transformers-0.5.6.2
561−haddock-interfaces:
562−haddock-html:
563−---
564−name: filepath
565−version: 1.4.2.1
566−visibility: public
567−id: filepath-1.4.2.1
568−key: filepath-1.4.2.1
569−license: BSD-3-Clause
570−copyright: Neil Mitchell 2005-2018
571−maintainer: Neil Mitchell <ndmitchell@gmail.com>
572−author: Neil Mitchell <ndmitchell@gmail.com>
573−homepage: https://github.com/haskell/filepath#readme
574−synopsis: Library for manipulating FilePaths in a cross platform way.
575−description:
576− This package provides functionality for manipulating @FilePath@ values, and is shipped with both <https://www.haskell.org/ghc/ GHC> and the <https://www.haskell.org/platform/ Haskell Platform>. It provides three modules:
577− * "System.FilePath.Posix" manipulates POSIX\/Linux style @FilePath@ values (with @\/@ as the path separator).
578− * "System.FilePath.Windows" manipulates Windows style @FilePath@ values (with either @\\@ or @\/@ as the path separator, and deals with drives).
579− * "System.FilePath" is an alias for the module appropriate to your platform.
580− All three modules provide the same API, and the same documentation (calling out differences in the different variants).
581−category: System
582−exposed: True
583−exposed-modules:
584− System.FilePath System.FilePath.Posix System.FilePath.Windows
585−import-dirs:
586−library-dirs:
587−dynamic-library-dirs:
588−data-dir:
589−hs-libraries: HSfilepath-1.4.2.1
590−depends: base-4.14.3.0
591−haddock-interfaces:
592−haddock-html:
593−---
594−name: ghc-boot
595−version: 8.10.7
596−visibility: public
597−id: ghc-boot-8.10.7
598−key: ghc-boot-8.10.7
599−license: BSD-3-Clause
600−maintainer: ghc-devs@haskell.org
601−synopsis: Shared functionality between GHC and its boot libraries
602−description:
603− This library is shared between GHC, ghc-pkg, and other boot
604− libraries.
605− A note about "GHC.PackageDb": it only deals with the subset of
606− the package database that the compiler cares about: modules
607− paths etc and not package metadata like description, authors
608− etc. It is thus not a library interface to ghc-pkg and is *not*
609− suitable for modifying GHC package databases.
610− The package database format and this library are constructed in
611− such a way that while ghc-pkg depends on Cabal, the GHC library
612− and program do not have to depend on Cabal.
613−category: GHC
614−exposed: True
615−exposed-modules:
616− GHC.BaseDir GHC.ForeignSrcLang GHC.HandleEncoding
617− GHC.LanguageExtensions GHC.PackageDb GHC.Platform GHC.Platform.Host
618− GHC.Serialized GHC.Settings GHC.UniqueSubdir GHC.Version
619−import-dirs:
620−library-dirs:
621−dynamic-library-dirs:
622−data-dir:
623−hs-libraries: HSghc-boot-8.10.7
624−depends:
625− base-4.14.3.0 binary-0.8.8.0 bytestring-0.10.12.0
626− containers-0.6.5.1 directory-1.3.6.0 filepath-1.4.2.1
627− ghc-boot-th-8.10.7
628−haddock-interfaces:
629−haddock-html:
630−---
631−name: ghc-boot-th
632−version: 8.10.7
633−visibility: public
634−id: ghc-boot-th-8.10.7
635−key: ghc-boot-th-8.10.7
636−license: BSD-3-Clause
637−maintainer: ghc-devs@haskell.org
638−synopsis:
639− Shared functionality between GHC and the @template-haskell@
640− library
641−description:
642− This library contains various bits shared between the @ghc@ and
643− @template-haskell@ libraries.
644− This package exists to ensure that @template-haskell@ has a
645− minimal set of transitive dependencies, since it is intended to
646− be depended upon by user code.
647−category: GHC
648−exposed: True
649−exposed-modules:
650− GHC.ForeignSrcLang.Type GHC.LanguageExtensions.Type GHC.Lexeme
651−import-dirs:
652−library-dirs:
653−dynamic-library-dirs:
654−data-dir:
655−hs-libraries: HSghc-boot-th-8.10.7
656−depends: base-4.14.3.0
657−haddock-interfaces:
658−haddock-html:
659−---
660−name: ghc-compact
661−version: 0.1.0.0
662−visibility: public
663−id: ghc-compact-0.1.0.0
664−key: ghc-compact-0.1.0.0
665−license: BSD-3-Clause
666−maintainer: libraries@haskell.org
667−synopsis: In memory storage of deeply evaluated data structure
668−description:
669− This package provides minimal functionality for working with
670− "compact regions", which hold a fully evaluated Haskell object graph.
671− These regions maintain the invariant that no pointers live inside the struct
672− that point outside it, which ensures efficient garbage collection without
673− ever reading the structure contents (effectively, it works as a manually
674− managed "oldest generation" which is never freed until the whole is
675− released).
676− Internally, the struct is stored a single contiguous block of memory,
677− which allows efficient serialization and deserialization of structs
678− for distributed computing.
679−category: Data
680−exposed: True
681−exposed-modules: GHC.Compact GHC.Compact.Serialized
682−import-dirs:
683−library-dirs:
684−dynamic-library-dirs:
685−data-dir:
686−hs-libraries: HSghc-compact-0.1.0.0
687−depends: base-4.14.3.0 bytestring-0.10.12.0 ghc-prim-0.6.1
688−haddock-interfaces:
689−haddock-html:
690−---
691−name: ghc-heap
692−version: 8.10.7
693−visibility: public
694−id: ghc-heap-8.10.7
695−key: ghc-heap-8.10.7
696−license: BSD-3-Clause
697−maintainer: libraries@haskell.org
698−synopsis: Functions for walking GHC's heap
699−description:
700− This package provides functions for walking the GHC heap data structures
701− and retrieving information about those data structures.
702−category: GHC
703−exposed: True
704−exposed-modules:
705− GHC.Exts.Heap GHC.Exts.Heap.ClosureTypes GHC.Exts.Heap.Closures
706− GHC.Exts.Heap.Constants GHC.Exts.Heap.InfoTable
707− GHC.Exts.Heap.InfoTable.Types GHC.Exts.Heap.InfoTableProf
708− GHC.Exts.Heap.Utils
709−import-dirs:
710−library-dirs:
711−dynamic-library-dirs:
712−data-dir:
713−hs-libraries: HSghc-heap-8.10.7
714−depends: base-4.14.3.0 ghc-prim-0.6.1 rts
715−haddock-interfaces:
716−haddock-html:
717−---
718−name: ghc-prim
719−version: 0.6.1
720−visibility: public
721−id: ghc-prim-0.6.1
722−key: ghc-prim-0.6.1
723−license: BSD-3-Clause
724−maintainer: libraries@haskell.org
725−synopsis: GHC primitives
726−description:
727− This package contains the primitive types and operations supplied by GHC.
728−category: GHC
729−exposed: True
730−exposed-modules:
731− GHC.CString GHC.Classes GHC.Debug GHC.IntWord64 GHC.Magic
732− GHC.Prim.Ext GHC.PrimopWrappers GHC.Tuple GHC.Types GHC.Prim
733−import-dirs:
734−library-dirs:
735−dynamic-library-dirs:
736−data-dir:
737−hs-libraries: HSghc-prim-0.6.1
738−extra-libraries: gcc c m
739−depends: rts
740−haddock-interfaces:
741−haddock-html:
742−---
743−name: ghci
744−version: 8.10.7
745−visibility: public
746−id: ghci-8.10.7
747−key: ghci-8.10.7
748−license: BSD-3-Clause
749−maintainer: ghc-devs@haskell.org
750−synopsis: The library supporting GHC's interactive interpreter
751−description:
752− This library offers interfaces which mediate interactions between the
753− @ghci@ interactive shell and @iserv@, GHC's out-of-process interpreter
754− backend.
755−category: GHC
756−exposed: True
757−exposed-modules:
758− GHCi.BinaryArray GHCi.BreakArray GHCi.CreateBCO GHCi.FFI
759− GHCi.InfoTable GHCi.Message GHCi.ObjLink GHCi.RemoteTypes
760− GHCi.ResolvedBCO GHCi.Run GHCi.Signals GHCi.StaticPtrTable GHCi.TH
761− GHCi.TH.Binary SizedSeq
762−import-dirs:
763−library-dirs:
764−dynamic-library-dirs:
765−data-dir:
766−hs-libraries: HSghci-8.10.7
767−include-dirs:
768−depends:
769− array-0.5.4.0 base-4.14.3.0 binary-0.8.8.0 bytestring-0.10.12.0
770− containers-0.6.5.1 deepseq-1.4.4.0 filepath-1.4.2.1 ghc-boot-8.10.7
771− ghc-boot-th-8.10.7 ghc-heap-8.10.7 rts template-haskell-2.16.0.0
772− transformers-0.5.6.2 unix-2.7.2.2
773−haddock-interfaces:
774−haddock-html:
775−---
776−name: haskeline
777−version: 0.8.2
778−visibility: public
779−id: haskeline-0.8.2
780−key: haskeline-0.8.2
781−license: BSD-3-Clause
782−copyright: (c) Judah Jacobson
783−maintainer: Judah Jacobson <judah.jacobson@gmail.com>
784−author: Judah Jacobson
785−stability: Stable
786−homepage: https://github.com/judah/haskeline
787−synopsis:
788− A command-line interface for user input, written in Haskell.
789−description:
790− Haskeline provides a user interface for line input in command-line
791− programs. This library is similar in purpose to readline, but since
792− it is written in Haskell it is (hopefully) more easily used in other
793− Haskell programs.
794− Haskeline runs both on POSIX-compatible systems and on Windows.
795−category: User Interfaces
796−exposed: True
797−exposed-modules:
798− System.Console.Haskeline System.Console.Haskeline.Completion
799− System.Console.Haskeline.History System.Console.Haskeline.IO
800− System.Console.Haskeline.Internal
801−hidden-modules:
802− System.Console.Haskeline.Backend
803− System.Console.Haskeline.Backend.WCWidth
804− System.Console.Haskeline.Command
805− System.Console.Haskeline.Command.Completion
806− System.Console.Haskeline.Command.History
807− System.Console.Haskeline.Command.KillRing
808− System.Console.Haskeline.Directory System.Console.Haskeline.Emacs
809− System.Console.Haskeline.InputT System.Console.Haskeline.Key
810− System.Console.Haskeline.LineState System.Console.Haskeline.Monads
811− System.Console.Haskeline.Prefs System.Console.Haskeline.Recover
812− System.Console.Haskeline.RunCommand System.Console.Haskeline.Term
813− System.Console.Haskeline.Command.Undo System.Console.Haskeline.Vi
814− System.Console.Haskeline.Backend.Posix
815− System.Console.Haskeline.Backend.Posix.Encoder
816− System.Console.Haskeline.Backend.DumbTerm
817−import-dirs:
818−library-dirs:
819−dynamic-library-dirs:
820−data-dir:
821−hs-libraries: HShaskeline-0.8.2
822−depends:
823− base-4.14.3.0 bytestring-0.10.12.0 containers-0.6.5.1
824− directory-1.3.6.0 exceptions-0.10.4 filepath-1.4.2.1
825− process-1.6.13.2 stm-2.5.0.1 transformers-0.5.6.2 unix-2.7.2.2
826−haddock-interfaces:
827−haddock-html:
828−---
829−name: hpc
830−version: 0.6.1.0
831−visibility: public
832−id: hpc-0.6.1.0
833−key: hpc-0.6.1.0
834−license: BSD-3-Clause
835−maintainer: ghc-devs@haskell.org
836−author: Andy Gill
837−synopsis: Code Coverage Library for Haskell
838−description:
839− This package provides the code coverage library for Haskell.
840− See <http://www.haskell.org/haskellwiki/Haskell_program_coverage> for more
841− information.
842−category: Control
843−exposed: True
844−exposed-modules:
845− Trace.Hpc.Mix Trace.Hpc.Reflect Trace.Hpc.Tix Trace.Hpc.Util
846−import-dirs:
847−library-dirs:
848−dynamic-library-dirs:
849−data-dir:
850−hs-libraries: HShpc-0.6.1.0
851−depends:
852− base-4.14.3.0 containers-0.6.5.1 deepseq-1.4.4.0 directory-1.3.6.0
853− filepath-1.4.2.1 time-1.9.3
854−haddock-interfaces:
855−haddock-html:
856−---
857−name: integer-gmp
858−version: 1.0.3.0
859−visibility: public
860−id: integer-gmp-1.0.3.0
861−key: integer-gmp-1.0.3.0
862−license: BSD-3-Clause
863−maintainer: hvr@gnu.org
864−author: Herbert Valerio Riedel
865−synopsis: Integer library based on GMP
866−description:
867− This package provides the low-level implementation of the standard
868− 'Integer' type based on the
869− <http://gmplib.org/ GNU Multiple Precision Arithmetic Library (GMP)>.
870− This package provides access to the internal representation of
871− 'Integer' as well as primitive operations with no proper error
872− handling, and should only be used directly with the utmost care.
873−category: Numeric, Algebra
874−exposed: True
875−exposed-modules:
876− GHC.Integer GHC.Integer.GMP.Internals GHC.Integer.Logarithms
877− GHC.Integer.Logarithms.Internals
878−hidden-modules: GHC.Integer.Type
879−import-dirs:
880−library-dirs:
881−dynamic-library-dirs:
882−data-dir:
883−hs-libraries: HSinteger-gmp-1.0.3.0
884−extra-libraries: gmp
885−include-dirs:
886−depends: ghc-prim-0.6.1
887−haddock-interfaces:
888−haddock-html:
889−---
890−name: libiserv
891−version: 8.10.7
892−visibility: public
893−id: libiserv-8.10.7
894−key: libiserv-8.10.7
895−license: BSD-3-Clause
896−copyright: XXX
897−maintainer: XXX
898−author: XXX
899−synopsis: Provides shared functionality between iserv and iserv-proxy
900−category: Development
901−exposed: True
902−exposed-modules: GHCi.Utils Lib
903−import-dirs:
904−library-dirs:
905−dynamic-library-dirs:
906−data-dir:
907−hs-libraries: HSlibiserv-8.10.7
908−depends:
909− base-4.14.3.0 binary-0.8.8.0 bytestring-0.10.12.0
910− containers-0.6.5.1 deepseq-1.4.4.0 ghci-8.10.7 unix-2.7.2.2
911−haddock-interfaces:
912−haddock-html:
913−---
914−name: mtl
915−version: 2.2.2
916−visibility: public
917−id: mtl-2.2.2
918−key: mtl-2.2.2
919−license: BSD-3-Clause
920−maintainer: Edward Kmett <ekmett@gmail.com>
921−author: Andy Gill
922−homepage: http://github.com/haskell/mtl
923−synopsis: Monad classes, using functional dependencies
924−description:
925− Monad classes using functional dependencies, with instances
926− for various monad transformers, inspired by the paper
927− /Functional Programming with Overloading and Higher-Order Polymorphism/,
928− by Mark P Jones, in /Advanced School of Functional Programming/, 1995
929− (<http://web.cecs.pdx.edu/~mpj/pubs/springschool.html>).
930−category: Control
931−exposed: True
932−exposed-modules:
933− Control.Monad.Cont Control.Monad.Cont.Class Control.Monad.Error
934− Control.Monad.Error.Class Control.Monad.Except
935− Control.Monad.Identity Control.Monad.List Control.Monad.RWS
936− Control.Monad.RWS.Class Control.Monad.RWS.Lazy
937− Control.Monad.RWS.Strict Control.Monad.Reader
938− Control.Monad.Reader.Class Control.Monad.State
939− Control.Monad.State.Class Control.Monad.State.Lazy
940− Control.Monad.State.Strict Control.Monad.Trans Control.Monad.Writer
941− Control.Monad.Writer.Class Control.Monad.Writer.Lazy
942− Control.Monad.Writer.Strict
943−import-dirs:
944−library-dirs:
945−dynamic-library-dirs:
946−data-dir:
947−hs-libraries: HSmtl-2.2.2
948−depends: base-4.14.3.0 transformers-0.5.6.2
949−haddock-interfaces:
950−haddock-html:
951−---
952−name: parsec
953−version: 3.1.14.0
954−visibility: public
955−id: parsec-3.1.14.0
956−key: parsec-3.1.14.0
957−license: BSD-3-Clause
958−maintainer: Herbert Valerio Riedel <hvr@gnu.org>
959−author:
960− Daan Leijen <daan@microsoft.com>, Paolo Martini <paolo@nemail.it>, Antoine Latter <aslatter@gmail.com>
961−homepage: https://github.com/haskell/parsec
962−synopsis: Monadic parser combinators
963−description:
964− Parsec is designed from scratch as an industrial-strength parser
965− library. It is simple, safe, well documented (on the package
966− homepage), has extensive libraries, good error messages,
967− and is fast. It is defined as a monad transformer that can be
968− stacked on arbitrary monads, and it is also parametric in the
969− input stream type.
970− The main entry point is the "Text.Parsec" module which provides
971− defaults for parsing 'Char'acter data.
972− The "Text.ParserCombinators.Parsec" module hierarchy contains
973− the legacy @parsec-2@ API and may be removed at some point in
974− the future.
975−category: Parsing
976−exposed: True
977−exposed-modules:
978− Text.Parsec Text.Parsec.ByteString Text.Parsec.ByteString.Lazy
979− Text.Parsec.Char Text.Parsec.Combinator Text.Parsec.Error
980− Text.Parsec.Expr Text.Parsec.Language Text.Parsec.Perm
981− Text.Parsec.Pos Text.Parsec.Prim Text.Parsec.String
982− Text.Parsec.Text Text.Parsec.Text.Lazy Text.Parsec.Token
983− Text.ParserCombinators.Parsec Text.ParserCombinators.Parsec.Char
984− Text.ParserCombinators.Parsec.Combinator
985− Text.ParserCombinators.Parsec.Error
986− Text.ParserCombinators.Parsec.Expr
987− Text.ParserCombinators.Parsec.Language
988− Text.ParserCombinators.Parsec.Perm
989− Text.ParserCombinators.Parsec.Pos
990− Text.ParserCombinators.Parsec.Prim
991− Text.ParserCombinators.Parsec.Token
992−import-dirs:
993−library-dirs:
994−dynamic-library-dirs:
995−data-dir:
996−hs-libraries: HSparsec-3.1.14.0
997−depends:
998− base-4.14.3.0 bytestring-0.10.12.0 mtl-2.2.2 text-1.2.4.1
999−haddock-interfaces:
1000−haddock-html:
1001−---
1002−name: pretty
1003−version: 1.1.3.6
1004−visibility: public
1005−id: pretty-1.1.3.6
1006−key: pretty-1.1.3.6
1007−license: BSD-3-Clause
1008−maintainer: David Terei <code@davidterei.com>
1009−stability: Stable
1010−homepage: http://github.com/haskell/pretty
1011−synopsis: Pretty-printing library
1012−description:
1013− This package contains a pretty-printing library, a set of API's
1014− that provides a way to easily print out text in a consistent
1015− format of your choosing. This is useful for compilers and related
1016− tools.
1017− This library was originally designed by John Hughes's and has since
1018− been heavily modified by Simon Peyton Jones.
1019−category: Text
1020−exposed: True
1021−exposed-modules:
1022− Text.PrettyPrint Text.PrettyPrint.Annotated
1023− Text.PrettyPrint.Annotated.HughesPJ
1024− Text.PrettyPrint.Annotated.HughesPJClass Text.PrettyPrint.HughesPJ
1025− Text.PrettyPrint.HughesPJClass
1026−import-dirs:
1027−library-dirs:
1028−dynamic-library-dirs:
1029−data-dir:
1030−hs-libraries: HSpretty-1.1.3.6
1031−depends: base-4.14.3.0 deepseq-1.4.4.0 ghc-prim-0.6.1
1032−haddock-interfaces:
1033−haddock-html:
1034−---
1035−name: process
1036−version: 1.6.13.2
1037−visibility: public
1038−id: process-1.6.13.2
1039−key: process-1.6.13.2
1040−license: BSD-3-Clause
1041−maintainer: libraries@haskell.org
1042−synopsis: Process libraries
1043−description:
1044− This package contains libraries for dealing with system processes.
1045− The typed-process package is a more recent take on a process API,
1046− which uses this package internally. It features better binary
1047− support, easier concurrency, and a more composable API. You can
1048− read more about it at
1049− <https://github.com/fpco/typed-process/#readme>.
1050−category: System
1051−exposed: True
1052−exposed-modules: System.Cmd System.Process System.Process.Internals
1053−hidden-modules: System.Process.Common System.Process.Posix
1054−import-dirs:
1055−library-dirs:
1056−dynamic-library-dirs:
1057−data-dir:
1058−hs-libraries: HSprocess-1.6.13.2
1059−include-dirs:
1060−includes: runProcess.h
1061−depends:
1062− base-4.14.3.0 deepseq-1.4.4.0 directory-1.3.6.0 filepath-1.4.2.1
1063− unix-2.7.2.2
1064−haddock-interfaces:
1065−haddock-html:
1066−---
1067−name: stm
1068−version: 2.5.0.1
1069−visibility: public
1070−id: stm-2.5.0.1
1071−key: stm-2.5.0.1
1072−license: BSD-3-Clause
1073−maintainer: libraries@haskell.org
1074−homepage: https://wiki.haskell.org/Software_transactional_memory
1075−synopsis: Software Transactional Memory
1076−description:
1077− Software Transactional Memory, or STM, is an abstraction for
1078− concurrent communication. The main benefits of STM are
1079− /composability/ and /modularity/. That is, using STM you can write
1080− concurrent abstractions that can be easily composed with any other
1081− abstraction built using STM, without exposing the details of how
1082− your abstraction ensures safety. This is typically not the case
1083− with other forms of concurrent communication, such as locks or
1084− 'MVar's.
1085−category: Concurrency
1086−exposed: True
1087−exposed-modules:
1088− Control.Concurrent.STM Control.Concurrent.STM.TArray
1089− Control.Concurrent.STM.TBQueue Control.Concurrent.STM.TChan
1090− Control.Concurrent.STM.TMVar Control.Concurrent.STM.TQueue
1091− Control.Concurrent.STM.TSem Control.Concurrent.STM.TVar
1092− Control.Monad.STM
1093−hidden-modules: Control.Sequential.STM
1094−import-dirs:
1095−library-dirs:
1096−dynamic-library-dirs:
1097−data-dir:
1098−hs-libraries: HSstm-2.5.0.1
1099−depends: array-0.5.4.0 base-4.14.3.0
1100−haddock-interfaces:
1101−haddock-html:
1102−---
1103−name: template-haskell
1104−version: 2.16.0.0
1105−visibility: public
1106−id: template-haskell-2.16.0.0
1107−key: template-haskell-2.16.0.0
1108−license: BSD-3-Clause
1109−maintainer: libraries@haskell.org
1110−synopsis: Support library for Template Haskell
1111−description:
1112− This package provides modules containing facilities for manipulating
1113− Haskell source code using Template Haskell.
1114− See <http://www.haskell.org/haskellwiki/Template_Haskell> for more
1115− information.
1116−category: Template Haskell
1117−exposed: True
1118−exposed-modules:
1119− Language.Haskell.TH Language.Haskell.TH.LanguageExtensions
1120− Language.Haskell.TH.Lib Language.Haskell.TH.Lib.Internal
1121− Language.Haskell.TH.Ppr Language.Haskell.TH.PprLib
1122− Language.Haskell.TH.Quote Language.Haskell.TH.Syntax
1123−hidden-modules: Language.Haskell.TH.Lib.Map
1124−import-dirs:
1125−library-dirs:
1126−dynamic-library-dirs:
1127−data-dir:
1128−hs-libraries: HStemplate-haskell-2.16.0.0
1129−depends:
1130− base-4.14.3.0 ghc-boot-th-8.10.7 ghc-prim-0.6.1 pretty-1.1.3.6
1131−haddock-interfaces:
1132−haddock-html:
1133−---
1134−name: text
1135−version: 1.2.4.1
1136−visibility: public
1137−id: text-1.2.4.1
1138−key: text-1.2.4.1
1139−license: BSD-2-Clause
1140−copyright: 2009-2011 Bryan O'Sullivan, 2008-2009 Tom Harper
1141−maintainer:
1142− Bryan O'Sullivan <bos@serpentine.com>, Herbert Valerio Riedel <hvr@gnu.org>
1143−author: Bryan O'Sullivan <bos@serpentine.com>
1144−homepage: https://github.com/haskell/text
1145−synopsis: An efficient packed Unicode text type.
1146−description:
1147− An efficient packed, immutable Unicode text type (both strict and
1148− lazy), with a powerful loop fusion optimization framework.
1149− The 'Text' type represents Unicode character strings, in a time and
1150− space-efficient manner. This package provides text processing
1151− capabilities that are optimized for performance critical use, both
1152− in terms of large data quantities and high speed.
1153− The 'Text' type provides character-encoding, type-safe case
1154− conversion via whole-string case conversion functions (see "Data.Text").
1155− It also provides a range of functions for converting 'Text' values to
1156− and from 'ByteStrings', using several standard encodings
1157− (see "Data.Text.Encoding").
1158− Efficient locale-sensitive support for text IO is also supported
1159− (see "Data.Text.IO").
1160− These modules are intended to be imported qualified, to avoid name
1161− clashes with Prelude functions, e.g.
1162− > import qualified Data.Text as T
1163− == ICU Support
1164− To use an extended and very rich family of functions for working
1165− with Unicode text (including normalization, regular expressions,
1166− non-standard encodings, text breaking, and locales), see
1167− the [text-icu package](https://hackage.haskell.org/package/text-icu)
1168− based on the well-respected and liberally
1169− licensed [ICU library](http://site.icu-project.org/).
1170− == Internal Representation: UTF-16 vs. UTF-8
1171− Currently the @text@ library uses UTF-16 as its internal representation
1172− which is [neither a fixed-width nor always the most dense representation](http://utf8everywhere.org/)
1173− for Unicode text. We're currently investigating the feasibility
1174− of [changing Text's internal representation to UTF-8](https://github.com/text-utf8)
1175− and if you need such a 'Text' type right now you might be interested in using the spin-off
1176− packages <https://hackage.haskell.org/package/text-utf8 text-utf8> and
1177− <https://hackage.haskell.org/package/text-short text-short>.
1178−category: Data, Text
1179−exposed: True
1180−exposed-modules:
1181− Data.Text Data.Text.Array Data.Text.Encoding
1182− Data.Text.Encoding.Error Data.Text.Foreign Data.Text.IO
1183− Data.Text.Internal Data.Text.Internal.Builder
1184− Data.Text.Internal.Builder.Functions
1185− Data.Text.Internal.Builder.Int.Digits
1186− Data.Text.Internal.Builder.RealFloat.Functions
1187− Data.Text.Internal.ByteStringCompat
1188− Data.Text.Internal.Encoding.Fusion
1189− Data.Text.Internal.Encoding.Fusion.Common
1190− Data.Text.Internal.Encoding.Utf16 Data.Text.Internal.Encoding.Utf32
1191− Data.Text.Internal.Encoding.Utf8 Data.Text.Internal.Functions
1192− Data.Text.Internal.Fusion Data.Text.Internal.Fusion.CaseMapping
1193− Data.Text.Internal.Fusion.Common Data.Text.Internal.Fusion.Size
1194− Data.Text.Internal.Fusion.Types Data.Text.Internal.IO
1195− Data.Text.Internal.Lazy Data.Text.Internal.Lazy.Encoding.Fusion
1196− Data.Text.Internal.Lazy.Fusion Data.Text.Internal.Lazy.Search
1197− Data.Text.Internal.Private Data.Text.Internal.Read
1198− Data.Text.Internal.Search Data.Text.Internal.Unsafe
1199− Data.Text.Internal.Unsafe.Char Data.Text.Internal.Unsafe.Shift
1200− Data.Text.Lazy Data.Text.Lazy.Builder Data.Text.Lazy.Builder.Int
1201− Data.Text.Lazy.Builder.RealFloat Data.Text.Lazy.Encoding
1202− Data.Text.Lazy.IO Data.Text.Lazy.Internal Data.Text.Lazy.Read
1203− Data.Text.Read Data.Text.Unsafe
1204−hidden-modules: Data.Text.Show
1205−import-dirs:
1206−library-dirs:
1207−dynamic-library-dirs:
1208−data-dir:
1209−hs-libraries: HStext-1.2.4.1
1210−depends:
1211− array-0.5.4.0 base-4.14.3.0 binary-0.8.8.0 bytestring-0.10.12.0
1212− deepseq-1.4.4.0 ghc-prim-0.6.1 integer-gmp-1.0.3.0
1213− template-haskell-2.16.0.0
1214−haddock-interfaces:
1215−haddock-html:
1216−---
1217−name: time
1218−version: 1.9.3
1219−visibility: public
1220−id: time-1.9.3
1221−key: time-1.9.3
1222−license: BSD-3-Clause
1223−maintainer: <ashley@semantic.org>
1224−author: Ashley Yakeley
1225−stability: stable
1226−homepage: https://github.com/haskell/time
1227−synopsis: A time library
1228−description: Time, clocks and calendars
1229−category: Time
1230−exposed: True
1231−exposed-modules:
1232− Data.Time Data.Time.Calendar Data.Time.Calendar.Easter
1233− Data.Time.Calendar.Julian Data.Time.Calendar.MonthDay
1234− Data.Time.Calendar.OrdinalDate Data.Time.Calendar.WeekDate
1235− Data.Time.Clock Data.Time.Clock.POSIX Data.Time.Clock.System
1236− Data.Time.Clock.TAI Data.Time.Format Data.Time.Format.ISO8601
1237− Data.Time.Format.Internal Data.Time.LocalTime
1238−hidden-modules:
1239− Data.Format Data.Time.Calendar.Private Data.Time.Calendar.Days
1240− Data.Time.Calendar.Gregorian Data.Time.Calendar.CalendarDiffDays
1241− Data.Time.Calendar.Week Data.Time.Calendar.JulianYearDay
1242− Data.Time.Clock.Internal.DiffTime
1243− Data.Time.Clock.Internal.AbsoluteTime
1244− Data.Time.Clock.Internal.NominalDiffTime
1245− Data.Time.Clock.Internal.POSIXTime
1246− Data.Time.Clock.Internal.UniversalTime
1247− Data.Time.Clock.Internal.SystemTime
1248− Data.Time.Clock.Internal.UTCTime Data.Time.Clock.Internal.CTimeval
1249− Data.Time.Clock.Internal.CTimespec Data.Time.Clock.Internal.UTCDiff
1250− Data.Time.LocalTime.Internal.TimeZone
1251− Data.Time.LocalTime.Internal.TimeOfDay
1252− Data.Time.LocalTime.Internal.CalendarDiffTime
1253− Data.Time.LocalTime.Internal.LocalTime
1254− Data.Time.LocalTime.Internal.ZonedTime Data.Time.Format.Parse
1255− Data.Time.Format.Locale Data.Time.Format.Format.Class
1256− Data.Time.Format.Format.Instances Data.Time.Format.Parse.Class
1257− Data.Time.Format.Parse.Instances
1258−import-dirs:
1259−library-dirs:
1260−dynamic-library-dirs:
1261−data-dir:
1262−hs-libraries: HStime-1.9.3
1263−include-dirs:
1264−depends: base-4.14.3.0 deepseq-1.4.4.0
1265−haddock-interfaces:
1266−haddock-html:
1267−---
1268−name: transformers
1269−version: 0.5.6.2
1270−visibility: public
1271−id: transformers-0.5.6.2
1272−key: transformers-0.5.6.2
1273−license: BSD-3-Clause
1274−maintainer: Ross Paterson <R.Paterson@city.ac.uk>
1275−author: Andy Gill, Ross Paterson
1276−synopsis: Concrete functor and monad transformers
1277−description:
1278− A portable library of functor and monad transformers, inspired by
1279− the paper
1280− * \"Functional Programming with Overloading and Higher-Order
1281− Polymorphism\", by Mark P Jones,
1282− in /Advanced School of Functional Programming/, 1995
1283− (<http://web.cecs.pdx.edu/~mpj/pubs/springschool.html>).
1284− This package contains:
1285− * the monad transformer class (in "Control.Monad.Trans.Class")
1286− * concrete functor and monad transformers, each with associated
1287− operations and functions to lift operations associated with other
1288− transformers.
1289− The package can be used on its own in portable Haskell code, in
1290− which case operations need to be manually lifted through transformer
1291− stacks (see "Control.Monad.Trans.Class" for some examples).
1292− Alternatively, it can be used with the non-portable monad classes in
1293− the @mtl@ or @monads-tf@ packages, which automatically lift operations
1294− introduced by monad transformers through other transformers.
1295−category: Control
1296−exposed: True
1297−exposed-modules:
1298− Control.Applicative.Backwards Control.Applicative.Lift
1299− Control.Monad.Signatures Control.Monad.Trans.Accum
1300− Control.Monad.Trans.Class Control.Monad.Trans.Cont
1301− Control.Monad.Trans.Error Control.Monad.Trans.Except
1302− Control.Monad.Trans.Identity Control.Monad.Trans.List
1303− Control.Monad.Trans.Maybe Control.Monad.Trans.RWS
1304− Control.Monad.Trans.RWS.CPS Control.Monad.Trans.RWS.Lazy
1305− Control.Monad.Trans.RWS.Strict Control.Monad.Trans.Reader
1306− Control.Monad.Trans.Select Control.Monad.Trans.State
1307− Control.Monad.Trans.State.Lazy Control.Monad.Trans.State.Strict
1308− Control.Monad.Trans.Writer Control.Monad.Trans.Writer.CPS
1309− Control.Monad.Trans.Writer.Lazy Control.Monad.Trans.Writer.Strict
1310− Data.Functor.Constant Data.Functor.Reverse
1311−import-dirs:
1312−library-dirs:
1313−dynamic-library-dirs:
1314−data-dir:
1315−hs-libraries: HStransformers-0.5.6.2
1316−depends: base-4.14.3.0
1317−haddock-interfaces:
1318−haddock-html:
1319−---
1320−name: unix
1321−version: 2.7.2.2
1322−visibility: public
1323−id: unix-2.7.2.2
1324−key: unix-2.7.2.2
1325−license: BSD-3-Clause
1326−maintainer: libraries@haskell.org
1327−homepage: https://github.com/haskell/unix
1328−synopsis: POSIX functionality
1329−description:
1330− This package gives you access to the set of operating system
1331− services standardised by
1332− <http://pubs.opengroup.org/onlinepubs/9699919799/ POSIX.1-2008>
1333− (or the IEEE Portable Operating System Interface for Computing
1334− Environments - IEEE Std. 1003.1).
1335− The package is not supported under Windows.
1336−category: System
1337−exposed: True
1338−exposed-modules:
1339− System.Posix System.Posix.ByteString
1340− System.Posix.ByteString.FilePath System.Posix.Directory
1341− System.Posix.Directory.ByteString System.Posix.DynamicLinker
1342− System.Posix.DynamicLinker.ByteString
1343− System.Posix.DynamicLinker.Module
1344− System.Posix.DynamicLinker.Module.ByteString
1345− System.Posix.DynamicLinker.Prim System.Posix.Env
1346− System.Posix.Env.ByteString System.Posix.Error System.Posix.Fcntl
1347− System.Posix.Files System.Posix.Files.ByteString System.Posix.IO
1348− System.Posix.IO.ByteString System.Posix.Process
1349− System.Posix.Process.ByteString System.Posix.Process.Internals
1350− System.Posix.Resource System.Posix.Semaphore System.Posix.SharedMem
1351− System.Posix.Signals System.Posix.Signals.Exts System.Posix.Temp
1352− System.Posix.Temp.ByteString System.Posix.Terminal
1353− System.Posix.Terminal.ByteString System.Posix.Time
1354− System.Posix.Unistd System.Posix.User
1355−hidden-modules:
1356− System.Posix.Directory.Common System.Posix.DynamicLinker.Common
1357− System.Posix.Files.Common System.Posix.IO.Common
1358− System.Posix.Process.Common System.Posix.Terminal.Common
1359−import-dirs:
1360−library-dirs:
1361−dynamic-library-dirs:
1362−data-dir:
1363−hs-libraries: HSunix-2.7.2.2
1364−extra-libraries: rt util dl pthread
1365−include-dirs:
1366−includes: HsUnix.h execvpe.h
1367−depends: base-4.14.3.0 bytestring-0.10.12.0 time-1.9.3
1368−haddock-interfaces:
1369−haddock-html:
1370−---
1371−name: rts
1372−version: 1.0.1
1373−visibility: public
1374−id: rts
1375−key: rts
1376−license: BSD-3-Clause
1377−maintainer: glasgow-haskell-users@haskell.org
1378−exposed: True
1379−library-dirs:
1380−hs-libraries: HSrts
1381−extra-libraries: m rt dl ffi numa pthread
1382−include-dirs:
1383−includes: Stg.h
1384−ld-options:
1385− "-Wl,-u,base_GHCziTopHandler_runIO_closure"
1386− "-Wl,-u,base_GHCziTopHandler_runNonIO_closure"
1387− "-Wl,-u,ghczmprim_GHCziTuple_Z0T_closure"
1388− "-Wl,-u,ghczmprim_GHCziTypes_True_closure"
1389− "-Wl,-u,ghczmprim_GHCziTypes_False_closure"
1390− "-Wl,-u,base_GHCziPack_unpackCString_closure"
1391− "-Wl,-u,base_GHCziWeak_runFinalizzerBatch_closure"
1392− "-Wl,-u,base_GHCziIOziException_stackOverflow_closure"
1393− "-Wl,-u,base_GHCziIOziException_heapOverflow_closure"
1394− "-Wl,-u,base_GHCziIOziException_allocationLimitExceeded_closure"
1395− "-Wl,-u,base_GHCziIOziException_blockedIndefinitelyOnMVar_closure"
1396− "-Wl,-u,base_GHCziIOziException_blockedIndefinitelyOnSTM_closure"
1397− "-Wl,-u,base_GHCziIOziException_cannotCompactFunction_closure"
1398− "-Wl,-u,base_GHCziIOziException_cannotCompactPinned_closure"
1399− "-Wl,-u,base_GHCziIOziException_cannotCompactMutable_closure"
1400− "-Wl,-u,base_ControlziExceptionziBase_absentSumFieldError_closure"
1401− "-Wl,-u,base_ControlziExceptionziBase_nonTermination_closure"
1402− "-Wl,-u,base_ControlziExceptionziBase_nestedAtomically_closure"
1403− "-Wl,-u,base_GHCziEventziThread_blockedOnBadFD_closure"
1404− "-Wl,-u,base_GHCziConcziSync_runSparks_closure"
1405− "-Wl,-u,base_GHCziConcziIO_ensureIOManagerIsRunning_closure"
1406− "-Wl,-u,base_GHCziConcziIO_ioManagerCapabilitiesChanged_closure"
1407− "-Wl,-u,base_GHCziConcziSignal_runHandlersPtr_closure"
1408− "-Wl,-u,base_GHCziTopHandler_flushStdHandles_closure"
1409− "-Wl,-u,base_GHCziTopHandler_runMainIO_closure"
1410− "-Wl,-u,ghczmprim_GHCziTypes_Czh_con_info"
1411− "-Wl,-u,ghczmprim_GHCziTypes_Izh_con_info"
1412− "-Wl,-u,ghczmprim_GHCziTypes_Fzh_con_info"
1413− "-Wl,-u,ghczmprim_GHCziTypes_Dzh_con_info"
1414− "-Wl,-u,ghczmprim_GHCziTypes_Wzh_con_info"
1415− "-Wl,-u,base_GHCziPtr_Ptr_con_info"
1416− "-Wl,-u,base_GHCziPtr_FunPtr_con_info"
1417− "-Wl,-u,base_GHCziInt_I8zh_con_info"
1418− "-Wl,-u,base_GHCziInt_I16zh_con_info"
1419− "-Wl,-u,base_GHCziInt_I32zh_con_info"
1420− "-Wl,-u,base_GHCziInt_I64zh_con_info"
1421− "-Wl,-u,base_GHCziWord_W8zh_con_info"
1422− "-Wl,-u,base_GHCziWord_W16zh_con_info"
1423− "-Wl,-u,base_GHCziWord_W32zh_con_info"
1424− "-Wl,-u,base_GHCziWord_W64zh_con_info"
1425− "-Wl,-u,base_GHCziStable_StablePtr_con_info"
1426− "-Wl,-u,hs_atomic_add8" "-Wl,-u,hs_atomic_add16"
1427− "-Wl,-u,hs_atomic_add32" "-Wl,-u,hs_atomic_add64"
1428− "-Wl,-u,hs_atomic_sub8" "-Wl,-u,hs_atomic_sub16"
1429− "-Wl,-u,hs_atomic_sub32" "-Wl,-u,hs_atomic_sub64"
1430− "-Wl,-u,hs_atomic_and8" "-Wl,-u,hs_atomic_and16"
1431− "-Wl,-u,hs_atomic_and32" "-Wl,-u,hs_atomic_and64"
1432− "-Wl,-u,hs_atomic_nand8" "-Wl,-u,hs_atomic_nand16"
1433− "-Wl,-u,hs_atomic_nand32" "-Wl,-u,hs_atomic_nand64"
1434− "-Wl,-u,hs_atomic_or8" "-Wl,-u,hs_atomic_or16"
1435− "-Wl,-u,hs_atomic_or32" "-Wl,-u,hs_atomic_or64"
1436− "-Wl,-u,hs_atomic_xor8" "-Wl,-u,hs_atomic_xor16"
1437− "-Wl,-u,hs_atomic_xor32" "-Wl,-u,hs_atomic_xor64"
1438− "-Wl,-u,hs_cmpxchg8" "-Wl,-u,hs_cmpxchg16" "-Wl,-u,hs_cmpxchg32"
1439− "-Wl,-u,hs_cmpxchg64" "-Wl,-u,hs_atomicread8"
1440− "-Wl,-u,hs_atomicread16" "-Wl,-u,hs_atomicread32"
1441− "-Wl,-u,hs_atomicread64" "-Wl,-u,hs_atomicwrite8"
1442− "-Wl,-u,hs_atomicwrite16" "-Wl,-u,hs_atomicwrite32"
1443− "-Wl,-u,hs_atomicwrite64"
materialized/dummy-ghc/aarch64-unknown-linux-gnu-aarch64-unknown-linux-gnu-ghc-8.10.7-x86_64-linux/ghc-pkg/versiondeleted−1
@@ -1 +0,0 @@
1−GHC package manager version 8.10.7
materialized/dummy-ghc/aarch64-unknown-linux-gnu-aarch64-unknown-linux-gnu-ghc-8.10.7-x86_64-linux/ghc/infodeleted−67
@@ -1,67 +0,0 @@
1− [("Project name","The Glorious Glasgow Haskell Compilation System")
2− ,("GCC extra via C opts","")
3− ,("C compiler flags","")
4− ,("C++ compiler flags","")
5− ,("C compiler link flags","-Wl,-z,noexecstack")
6− ,("C compiler supports -no-pie","YES")
7− ,("Haskell CPP flags","-E -undef -traditional")
8− ,("ld flags","-z noexecstack")
9− ,("ld supports compact unwind","YES")
10− ,("ld supports build-id","YES")
11− ,("ld supports filelist","NO")
12− ,("ld is GNU ld","YES")
13− ,("Merge objects flags","-r")
14− ,("ar flags","q")
15− ,("ar supports at file","YES")
16− ,("otool command","otool")
17− ,("install_name_tool command","install_name_tool")
18− ,("touch command","touch")
19− ,("dllwrap command","/bin/false")
20− ,("windres command","/bin/false")
21− ,("libtool command","libtool")
22− ,("cross compiling","YES")
23− ,("target platform string","aarch64-unknown-linux")
24− ,("target os","OSLinux")
25− ,("target arch","ArchAArch64")
26− ,("target word size","8")
27− ,("target has GNU nonexec stack","YES")
28− ,("target has .ident directive","YES")
29− ,("target has subsections via symbols","NO")
30− ,("target has RTS linker","YES")
31− ,("Unregisterised","NO")
32− ,("LLVM target","aarch64-unknown-linux")
33− ,("LLVM clang command","clang")
34− ,("integer library","integer-gmp")
35− ,("Use interpreter","YES")
36− ,("Use native code generator","NO")
37− ,("Support SMP","YES")
38− ,("RTS ways","l debug thr thr_debug thr_l thr_p thr_debug_p debug_p")
39− ,("Tables next to code","YES")
40− ,("Leading underscore","NO")
41− ,("Use LibFFI","YES")
42− ,("Use Threads","YES")
43− ,("Use Debugging","NO")
44− ,("RTS expects libdw","NO")
45− ,("Project version","8.10.7")
46− ,("Project Git commit id","1f02b7430b2fbab403d7ffdde9cfd006e884678e")
47− ,("Booter version","8.8.4")
48− ,("Stage","1")
49− ,("Build platform","x86_64-unknown-linux")
50− ,("Host platform","x86_64-unknown-linux")
51− ,("Target platform","aarch64-unknown-linux")
52− ,("Have interpreter","YES")
53− ,("Object splitting supported","NO")
54− ,("Have native code generator","NO")
55− ,("Support dynamic-too","YES")
56− ,("Support parallel --make","YES")
57− ,("Support reexported-modules","YES")
58− ,("Support thinning and renaming package flags","YES")
59− ,("Support Backpack","YES")
60− ,("Requires unified installed package IDs","YES")
61− ,("Uses package keys","YES")
62− ,("Uses unit IDs","YES")
63− ,("Dynamic by default","NO")
64− ,("GHC Dynamic","NO")
65− ,("GHC Profiled","NO")
66− ,("Debug on","NO")
67− ]
materialized/dummy-ghc/aarch64-unknown-linux-gnu-aarch64-unknown-linux-gnu-ghc-8.10.7-x86_64-linux/ghc/numeric-versiondeleted−1
@@ -1 +0,0 @@
1−8.10.7
materialized/dummy-ghc/aarch64-unknown-linux-gnu-aarch64-unknown-linux-gnu-ghc-8.10.7-x86_64-linux/ghc/supported-languagesdeleted−255
@@ -1,255 +0,0 @@
1−Haskell98
2−Haskell2010
3−Unsafe
4−Trustworthy
5−Safe
6−AllowAmbiguousTypes
7−NoAllowAmbiguousTypes
8−AlternativeLayoutRule
9−NoAlternativeLayoutRule
10−AlternativeLayoutRuleTransitional
11−NoAlternativeLayoutRuleTransitional
12−Arrows
13−NoArrows
14−AutoDeriveTypeable
15−NoAutoDeriveTypeable
16−BangPatterns
17−NoBangPatterns
18−BinaryLiterals
19−NoBinaryLiterals
20−CApiFFI
21−NoCApiFFI
22−CPP
23−NoCPP
24−CUSKs
25−NoCUSKs
26−ConstrainedClassMethods
27−NoConstrainedClassMethods
28−ConstraintKinds
29−NoConstraintKinds
30−DataKinds
31−NoDataKinds
32−DatatypeContexts
33−NoDatatypeContexts
34−DefaultSignatures
35−NoDefaultSignatures
36−DeriveAnyClass
37−NoDeriveAnyClass
38−DeriveDataTypeable
39−NoDeriveDataTypeable
40−DeriveFoldable
41−NoDeriveFoldable
42−DeriveFunctor
43−NoDeriveFunctor
44−DeriveGeneric
45−NoDeriveGeneric
46−DeriveLift
47−NoDeriveLift
48−DeriveTraversable
49−NoDeriveTraversable
50−DerivingStrategies
51−NoDerivingStrategies
52−DerivingVia
53−NoDerivingVia
54−DisambiguateRecordFields
55−NoDisambiguateRecordFields
56−DoAndIfThenElse
57−NoDoAndIfThenElse
58−BlockArguments
59−NoBlockArguments
60−DoRec
61−NoDoRec
62−DuplicateRecordFields
63−NoDuplicateRecordFields
64−EmptyCase
65−NoEmptyCase
66−EmptyDataDecls
67−NoEmptyDataDecls
68−EmptyDataDeriving
69−NoEmptyDataDeriving
70−ExistentialQuantification
71−NoExistentialQuantification
72−ExplicitForAll
73−NoExplicitForAll
74−ExplicitNamespaces
75−NoExplicitNamespaces
76−ExtendedDefaultRules
77−NoExtendedDefaultRules
78−FlexibleContexts
79−NoFlexibleContexts
80−FlexibleInstances
81−NoFlexibleInstances
82−ForeignFunctionInterface
83−NoForeignFunctionInterface
84−FunctionalDependencies
85−NoFunctionalDependencies
86−GADTSyntax
87−NoGADTSyntax
88−GADTs
89−NoGADTs
90−GHCForeignImportPrim
91−NoGHCForeignImportPrim
92−GeneralizedNewtypeDeriving
93−NoGeneralizedNewtypeDeriving
94−GeneralisedNewtypeDeriving
95−NoGeneralisedNewtypeDeriving
96−ImplicitParams
97−NoImplicitParams
98−ImplicitPrelude
99−NoImplicitPrelude
100−ImportQualifiedPost
101−NoImportQualifiedPost
102−ImpredicativeTypes
103−NoImpredicativeTypes
104−IncoherentInstances
105−NoIncoherentInstances
106−TypeFamilyDependencies
107−NoTypeFamilyDependencies
108−InstanceSigs
109−NoInstanceSigs
110−ApplicativeDo
111−NoApplicativeDo
112−InterruptibleFFI
113−NoInterruptibleFFI
114−JavaScriptFFI
115−NoJavaScriptFFI
116−KindSignatures
117−NoKindSignatures
118−LambdaCase
119−NoLambdaCase
120−LiberalTypeSynonyms
121−NoLiberalTypeSynonyms
122−MagicHash
123−NoMagicHash
124−MonadComprehensions
125−NoMonadComprehensions
126−MonadFailDesugaring
127−NoMonadFailDesugaring
128−MonoLocalBinds
129−NoMonoLocalBinds
130−MonoPatBinds
131−NoMonoPatBinds
132−MonomorphismRestriction
133−NoMonomorphismRestriction
134−MultiParamTypeClasses
135−NoMultiParamTypeClasses
136−MultiWayIf
137−NoMultiWayIf
138−NumericUnderscores
139−NoNumericUnderscores
140−NPlusKPatterns
141−NoNPlusKPatterns
142−NamedFieldPuns
143−NoNamedFieldPuns
144−NamedWildCards
145−NoNamedWildCards
146−NegativeLiterals
147−NoNegativeLiterals
148−HexFloatLiterals
149−NoHexFloatLiterals
150−NondecreasingIndentation
151−NoNondecreasingIndentation
152−NullaryTypeClasses
153−NoNullaryTypeClasses
154−NumDecimals
155−NoNumDecimals
156−OverlappingInstances
157−NoOverlappingInstances
158−OverloadedLabels
159−NoOverloadedLabels
160−OverloadedLists
161−NoOverloadedLists
162−OverloadedStrings
163−NoOverloadedStrings
164−PackageImports
165−NoPackageImports
166−ParallelArrays
167−NoParallelArrays
168−ParallelListComp
169−NoParallelListComp
170−PartialTypeSignatures
171−NoPartialTypeSignatures
172−PatternGuards
173−NoPatternGuards
174−PatternSignatures
175−NoPatternSignatures
176−PatternSynonyms
177−NoPatternSynonyms
178−PolyKinds
179−NoPolyKinds
180−PolymorphicComponents
181−NoPolymorphicComponents
182−QuantifiedConstraints
183−NoQuantifiedConstraints
184−PostfixOperators
185−NoPostfixOperators
186−QuasiQuotes
187−NoQuasiQuotes
188−Rank2Types
189−NoRank2Types
190−RankNTypes
191−NoRankNTypes
192−RebindableSyntax
193−NoRebindableSyntax
194−RecordPuns
195−NoRecordPuns
196−RecordWildCards
197−NoRecordWildCards
198−RecursiveDo
199−NoRecursiveDo
200−RelaxedLayout
201−NoRelaxedLayout
202−RelaxedPolyRec
203−NoRelaxedPolyRec
204−RoleAnnotations
205−NoRoleAnnotations
206−ScopedTypeVariables
207−NoScopedTypeVariables
208−StandaloneDeriving
209−NoStandaloneDeriving
210−StarIsType
211−NoStarIsType
212−StaticPointers
213−NoStaticPointers
214−Strict
215−NoStrict
216−StrictData
217−NoStrictData
218−TemplateHaskell
219−NoTemplateHaskell
220−TemplateHaskellQuotes
221−NoTemplateHaskellQuotes
222−StandaloneKindSignatures
223−NoStandaloneKindSignatures
224−TraditionalRecordSyntax
225−NoTraditionalRecordSyntax
226−TransformListComp
227−NoTransformListComp
228−TupleSections
229−NoTupleSections
230−TypeApplications
231−NoTypeApplications
232−TypeInType
233−NoTypeInType
234−TypeFamilies
235−NoTypeFamilies
236−TypeOperators
237−NoTypeOperators
238−TypeSynonymInstances
239−NoTypeSynonymInstances
240−UnboxedTuples
241−NoUnboxedTuples
242−UnboxedSums
243−NoUnboxedSums
244−UndecidableInstances
245−NoUndecidableInstances
246−UndecidableSuperClasses
247−NoUndecidableSuperClasses
248−UnicodeSyntax
249−NoUnicodeSyntax
250−UnliftedFFITypes
251−NoUnliftedFFITypes
252−UnliftedNewtypes
253−NoUnliftedNewtypes
254−ViewPatterns
255−NoViewPatterns
materialized/dummy-ghc/aarch64-unknown-linux-gnu-aarch64-unknown-linux-gnu-ghc-8.10.7-x86_64-linux/ghc/versiondeleted−1
@@ -1 +0,0 @@
1−The Glorious Glasgow Haskell Compilation System, version 8.10.7
materialized/dummy-ghc/aarch64-unknown-linux-gnu-aarch64-unknown-linux-gnu-ghc-8.8.4-x86_64-linux/ghc/info+3−1
@@ -24,10 +24,12 @@
24 ,("target has subsections via symbols","False")
24 ,("target has subsections via symbols","False")
25 ,("target has RTS linker","YES")
25 ,("target has RTS linker","YES")
26 ,("Unregisterised","NO")
26 ,("Unregisterised","NO")
27+ ,("LLVM llc command","llc")
28+ ,("LLVM opt command","opt")
27 ,("LLVM clang command","clang")
29 ,("LLVM clang command","clang")
28 ,("Project version","8.8.4")
30 ,("Project version","8.8.4")
29 ,("Project Git commit id","6cf8f835267581d551ca6695b3b02c34797e2cf4")
31 ,("Project Git commit id","6cf8f835267581d551ca6695b3b02c34797e2cf4")
30− ,("Booter version","8.8.4")
32+ ,("Booter version","8.4.4")
31 ,("Stage","1")
33 ,("Stage","1")
32 ,("Build platform","x86_64-unknown-linux")
34 ,("Build platform","x86_64-unknown-linux")
33 ,("Host platform","x86_64-unknown-linux")
35 ,("Host platform","x86_64-unknown-linux")
materialized/dummy-ghc/aarch64-unknown-linux-gnu-aarch64-unknown-linux-gnu-ghc-9.0.1-x86_64-linux/ghc-pkg/dump-globaldeleted−1485
@@ -1,1485 +0,0 @@
1−name: Cabal
2−version: 3.4.0.0
3−visibility: public
4−id: Cabal-3.4.0.0
5−key: Cabal-3.4.0.0
6−license: BSD-3-Clause
7−copyright: 2003-2020, Cabal Development Team (see AUTHORS file)
8−maintainer: cabal-devel@haskell.org
9−author: Cabal Development Team <cabal-devel@haskell.org>
10−homepage: http://www.haskell.org/cabal/
11−synopsis: A framework for packaging Haskell software
12−description:
13− The Haskell Common Architecture for Building Applications and
14− Libraries: a framework defining a common interface for authors to more
15− easily build their Haskell applications in a portable way.
16− The Haskell Cabal is part of a larger infrastructure for distributing,
17− organizing, and cataloging Haskell libraries and tools.
18−category: Distribution
19−exposed: True
20−exposed-modules:
21− Distribution.Backpack Distribution.Backpack.ComponentsGraph
22− Distribution.Backpack.Configure
23− Distribution.Backpack.ConfiguredComponent
24− Distribution.Backpack.DescribeUnitId
25− Distribution.Backpack.FullUnitId
26− Distribution.Backpack.LinkedComponent
27− Distribution.Backpack.ModSubst Distribution.Backpack.ModuleShape
28− Distribution.Backpack.PreModuleShape Distribution.CabalSpecVersion
29− Distribution.Compat.Binary Distribution.Compat.CharParsing
30− Distribution.Compat.CreatePipe Distribution.Compat.DList
31− Distribution.Compat.Directory Distribution.Compat.Environment
32− Distribution.Compat.Exception Distribution.Compat.FilePath
33− Distribution.Compat.Graph Distribution.Compat.Internal.TempFile
34− Distribution.Compat.Lens Distribution.Compat.Newtype
35− Distribution.Compat.NonEmptySet Distribution.Compat.Parsing
36− Distribution.Compat.Prelude.Internal Distribution.Compat.Process
37− Distribution.Compat.ResponseFile Distribution.Compat.Semigroup
38− Distribution.Compat.Stack Distribution.Compat.Time
39− Distribution.Compat.Typeable Distribution.Compiler
40− Distribution.FieldGrammar Distribution.FieldGrammar.Class
41− Distribution.FieldGrammar.FieldDescrs
42− Distribution.FieldGrammar.Newtypes Distribution.FieldGrammar.Parsec
43− Distribution.FieldGrammar.Pretty Distribution.Fields
44− Distribution.Fields.ConfVar Distribution.Fields.Field
45− Distribution.Fields.Lexer Distribution.Fields.LexerMonad
46− Distribution.Fields.ParseResult Distribution.Fields.Parser
47− Distribution.Fields.Pretty Distribution.InstalledPackageInfo
48− Distribution.License Distribution.Make Distribution.ModuleName
49− Distribution.Package Distribution.PackageDescription
50− Distribution.PackageDescription.Check
51− Distribution.PackageDescription.Configuration
52− Distribution.PackageDescription.FieldGrammar
53− Distribution.PackageDescription.Parsec
54− Distribution.PackageDescription.PrettyPrint
55− Distribution.PackageDescription.Quirks
56− Distribution.PackageDescription.Utils Distribution.Parsec
57− Distribution.Parsec.Error Distribution.Parsec.FieldLineStream
58− Distribution.Parsec.Position Distribution.Parsec.Warning
59− Distribution.Pretty Distribution.ReadE Distribution.SPDX
60− Distribution.SPDX.License Distribution.SPDX.LicenseExceptionId
61− Distribution.SPDX.LicenseExpression Distribution.SPDX.LicenseId
62− Distribution.SPDX.LicenseListVersion
63− Distribution.SPDX.LicenseReference Distribution.Simple
64− Distribution.Simple.Bench Distribution.Simple.Build
65− Distribution.Simple.Build.Macros
66− Distribution.Simple.Build.PathsModule
67− Distribution.Simple.BuildPaths Distribution.Simple.BuildTarget
68− Distribution.Simple.BuildToolDepends Distribution.Simple.CCompiler
69− Distribution.Simple.Command Distribution.Simple.Compiler
70− Distribution.Simple.Configure Distribution.Simple.Doctest
71− Distribution.Simple.Flag Distribution.Simple.GHC
72− Distribution.Simple.GHCJS Distribution.Simple.Glob
73− Distribution.Simple.Haddock Distribution.Simple.HaskellSuite
74− Distribution.Simple.Hpc Distribution.Simple.Install
75− Distribution.Simple.InstallDirs
76− Distribution.Simple.InstallDirs.Internal
77− Distribution.Simple.LocalBuildInfo Distribution.Simple.PackageIndex
78− Distribution.Simple.PreProcess Distribution.Simple.PreProcess.Unlit
79− Distribution.Simple.Program Distribution.Simple.Program.Ar
80− Distribution.Simple.Program.Builtin Distribution.Simple.Program.Db
81− Distribution.Simple.Program.Find Distribution.Simple.Program.GHC
82− Distribution.Simple.Program.HcPkg Distribution.Simple.Program.Hpc
83− Distribution.Simple.Program.Internal Distribution.Simple.Program.Ld
84− Distribution.Simple.Program.ResponseFile
85− Distribution.Simple.Program.Run Distribution.Simple.Program.Script
86− Distribution.Simple.Program.Strip Distribution.Simple.Program.Types
87− Distribution.Simple.Register Distribution.Simple.Setup
88− Distribution.Simple.ShowBuildInfo Distribution.Simple.SrcDist
89− Distribution.Simple.Test Distribution.Simple.Test.ExeV10
90− Distribution.Simple.Test.LibV09 Distribution.Simple.Test.Log
91− Distribution.Simple.UHC Distribution.Simple.UserHooks
92− Distribution.Simple.Utils Distribution.System
93− Distribution.TestSuite Distribution.Text
94− Distribution.Types.AbiDependency Distribution.Types.AbiHash
95− Distribution.Types.AnnotatedId Distribution.Types.Benchmark
96− Distribution.Types.Benchmark.Lens
97− Distribution.Types.BenchmarkInterface
98− Distribution.Types.BenchmarkType Distribution.Types.BuildInfo
99− Distribution.Types.BuildInfo.Lens Distribution.Types.BuildType
100− Distribution.Types.Component Distribution.Types.ComponentId
101− Distribution.Types.ComponentInclude
102− Distribution.Types.ComponentLocalBuildInfo
103− Distribution.Types.ComponentName
104− Distribution.Types.ComponentRequestedSpec
105− Distribution.Types.CondTree Distribution.Types.Condition
106− Distribution.Types.ConfVar Distribution.Types.Dependency
107− Distribution.Types.DependencyMap Distribution.Types.ExeDependency
108− Distribution.Types.Executable Distribution.Types.Executable.Lens
109− Distribution.Types.ExecutableScope Distribution.Types.ExposedModule
110− Distribution.Types.Flag Distribution.Types.ForeignLib
111− Distribution.Types.ForeignLib.Lens
112− Distribution.Types.ForeignLibOption
113− Distribution.Types.ForeignLibType
114− Distribution.Types.GenericPackageDescription
115− Distribution.Types.GenericPackageDescription.Lens
116− Distribution.Types.GivenComponent
117− Distribution.Types.HookedBuildInfo
118− Distribution.Types.IncludeRenaming
119− Distribution.Types.InstalledPackageInfo
120− Distribution.Types.InstalledPackageInfo.FieldGrammar
121− Distribution.Types.InstalledPackageInfo.Lens
122− Distribution.Types.LegacyExeDependency Distribution.Types.Lens
123− Distribution.Types.Library Distribution.Types.Library.Lens
124− Distribution.Types.LibraryName Distribution.Types.LibraryVisibility
125− Distribution.Types.LocalBuildInfo Distribution.Types.Mixin
126− Distribution.Types.Module Distribution.Types.ModuleReexport
127− Distribution.Types.ModuleRenaming
128− Distribution.Types.MungedPackageId
129− Distribution.Types.MungedPackageName
130− Distribution.Types.PackageDescription
131− Distribution.Types.PackageDescription.Lens
132− Distribution.Types.PackageId Distribution.Types.PackageId.Lens
133− Distribution.Types.PackageName Distribution.Types.PackageName.Magic
134− Distribution.Types.PackageVersionConstraint
135− Distribution.Types.PkgconfigDependency
136− Distribution.Types.PkgconfigName
137− Distribution.Types.PkgconfigVersion
138− Distribution.Types.PkgconfigVersionRange
139− Distribution.Types.SetupBuildInfo
140− Distribution.Types.SetupBuildInfo.Lens
141− Distribution.Types.SourceRepo Distribution.Types.SourceRepo.Lens
142− Distribution.Types.TargetInfo Distribution.Types.TestSuite
143− Distribution.Types.TestSuite.Lens
144− Distribution.Types.TestSuiteInterface Distribution.Types.TestType
145− Distribution.Types.UnitId Distribution.Types.UnqualComponentName
146− Distribution.Types.Version Distribution.Types.VersionInterval
147− Distribution.Types.VersionRange
148− Distribution.Types.VersionRange.Internal Distribution.Utils.Generic
149− Distribution.Utils.IOData Distribution.Utils.LogProgress
150− Distribution.Utils.MD5 Distribution.Utils.MapAccum
151− Distribution.Utils.NubList Distribution.Utils.Progress
152− Distribution.Utils.ShortText Distribution.Utils.Structured
153− Distribution.Verbosity Distribution.Verbosity.Internal
154− Distribution.Version Language.Haskell.Extension
155−hidden-modules:
156− Distribution.Backpack.PreExistingComponent
157− Distribution.Backpack.ReadyComponent Distribution.Backpack.MixLink
158− Distribution.Backpack.ModuleScope Distribution.Backpack.UnifyM
159− Distribution.Backpack.Id Distribution.Utils.UnionFind
160− Distribution.Utils.Base62 Distribution.Compat.Async
161− Distribution.Compat.CopyFile Distribution.Compat.GetShortPathName
162− Distribution.Compat.MonadFail Distribution.Compat.Prelude
163− Distribution.Compat.SnocList Distribution.GetOpt Distribution.Lex
164− Distribution.Utils.String Distribution.Simple.Build.Macros.Z
165− Distribution.Simple.GHC.EnvironmentParser
166− Distribution.Simple.GHC.Internal Distribution.Simple.GHC.ImplInfo
167− Distribution.Simple.Utils.Json Distribution.ZinzaPrelude
168− Paths_Cabal
169−import-dirs:
170−library-dirs:
171−dynamic-library-dirs:
172−data-dir:
173−hs-libraries: HSCabal-3.4.0.0
174−depends:
175− array-0.5.4.0 base-4.15.0.0 binary-0.8.8.0 bytestring-0.10.12.1
176− containers-0.6.4.1 deepseq-1.4.5.0 directory-1.3.6.1
177− filepath-1.4.2.1 mtl-2.2.2 parsec-3.1.14.0 pretty-1.1.3.6
178− process-1.6.11.0 text-1.2.4.1 time-1.9.3 transformers-0.5.6.2
179− unix-2.7.2.2
180−haddock-interfaces:
181−haddock-html:
182−---
183−name: array
184−version: 0.5.4.0
185−visibility: public
186−id: array-0.5.4.0
187−key: array-0.5.4.0
188−license: BSD-3-Clause
189−maintainer: libraries@haskell.org
190−synopsis: Mutable and immutable arrays
191−description:
192− In addition to providing the "Data.Array" module
193− <http://www.haskell.org/onlinereport/haskell2010/haskellch14.html as specified in the Haskell 2010 Language Report>,
194− this package also defines the classes 'IArray' of
195− immutable arrays and 'MArray' of arrays mutable within appropriate
196− monads, as well as some instances of these classes.
197−category: Data Structures
198−exposed: True
199−exposed-modules:
200− Data.Array Data.Array.Base Data.Array.IArray Data.Array.IO
201− Data.Array.IO.Internals Data.Array.IO.Safe Data.Array.MArray
202− Data.Array.MArray.Safe Data.Array.ST Data.Array.ST.Safe
203− Data.Array.Storable Data.Array.Storable.Internals
204− Data.Array.Storable.Safe Data.Array.Unboxed Data.Array.Unsafe
205−import-dirs:
206−library-dirs:
207−dynamic-library-dirs:
208−data-dir:
209−hs-libraries: HSarray-0.5.4.0
210−depends: base-4.15.0.0
211−haddock-interfaces:
212−haddock-html:
213−---
214−name: base
215−version: 4.15.0.0
216−visibility: public
217−id: base-4.15.0.0
218−key: base-4.15.0.0
219−license: BSD-3-Clause
220−maintainer: libraries@haskell.org
221−synopsis: Basic libraries
222−description:
223− This package contains the Standard Haskell "Prelude" and its support libraries,
224− and a large collection of useful libraries ranging from data
225− structures to parsing combinators and debugging utilities.
226−category: Prelude
227−exposed: True
228−exposed-modules:
229− Control.Applicative, Control.Arrow, Control.Category,
230− Control.Concurrent, Control.Concurrent.Chan,
231− Control.Concurrent.MVar, Control.Concurrent.QSem,
232− Control.Concurrent.QSemN, Control.Exception,
233− Control.Exception.Base, Control.Monad, Control.Monad.Fail,
234− Control.Monad.Fix, Control.Monad.IO.Class, Control.Monad.Instances,
235− Control.Monad.ST, Control.Monad.ST.Lazy,
236− Control.Monad.ST.Lazy.Safe, Control.Monad.ST.Lazy.Unsafe,
237− Control.Monad.ST.Safe, Control.Monad.ST.Strict,
238− Control.Monad.ST.Unsafe, Control.Monad.Zip, Data.Bifoldable,
239− Data.Bifunctor, Data.Bitraversable, Data.Bits, Data.Bool,
240− Data.Char, Data.Coerce, Data.Complex, Data.Data, Data.Dynamic,
241− Data.Either, Data.Eq, Data.Fixed, Data.Foldable, Data.Function,
242− Data.Functor, Data.Functor.Classes, Data.Functor.Compose,
243− Data.Functor.Const, Data.Functor.Contravariant,
244− Data.Functor.Identity, Data.Functor.Product, Data.Functor.Sum,
245− Data.IORef, Data.Int, Data.Ix, Data.Kind, Data.List,
246− Data.List.NonEmpty, Data.Maybe, Data.Monoid, Data.Ord, Data.Proxy,
247− Data.Ratio, Data.STRef, Data.STRef.Lazy, Data.STRef.Strict,
248− Data.Semigroup, Data.String, Data.Traversable, Data.Tuple,
249− Data.Type.Bool, Data.Type.Coercion, Data.Type.Equality,
250− Data.Typeable, Data.Unique, Data.Version, Data.Void, Data.Word,
251− Debug.Trace, Foreign, Foreign.C, Foreign.C.Error, Foreign.C.String,
252− Foreign.C.Types, Foreign.Concurrent, Foreign.ForeignPtr,
253− Foreign.ForeignPtr.Safe, Foreign.ForeignPtr.Unsafe,
254− Foreign.Marshal, Foreign.Marshal.Alloc, Foreign.Marshal.Array,
255− Foreign.Marshal.Error, Foreign.Marshal.Pool, Foreign.Marshal.Safe,
256− Foreign.Marshal.Unsafe, Foreign.Marshal.Utils, Foreign.Ptr,
257− Foreign.Safe, Foreign.StablePtr, Foreign.Storable, GHC.Arr,
258− GHC.Base, GHC.ByteOrder, GHC.Char, GHC.Clock, GHC.Conc,
259− GHC.Conc.IO, GHC.Conc.Signal, GHC.Conc.Sync, GHC.ConsoleHandler,
260− GHC.Constants, GHC.Desugar, GHC.Enum, GHC.Environment, GHC.Err,
261− GHC.Event, GHC.Event.TimeOut, GHC.Exception, GHC.Exception.Type,
262− GHC.ExecutionStack, GHC.ExecutionStack.Internal, GHC.Exts,
263− GHC.Fingerprint, GHC.Fingerprint.Type, GHC.Float,
264− GHC.Float.ConversionUtils, GHC.Float.RealFracMethods, GHC.Foreign,
265− GHC.ForeignPtr, GHC.GHCi, GHC.GHCi.Helpers, GHC.Generics, GHC.IO,
266− GHC.IO.Buffer, GHC.IO.BufferedIO, GHC.IO.Device, GHC.IO.Encoding,
267− GHC.IO.Encoding.CodePage, GHC.IO.Encoding.Failure,
268− GHC.IO.Encoding.Iconv, GHC.IO.Encoding.Latin1,
269− GHC.IO.Encoding.Types, GHC.IO.Encoding.UTF16,
270− GHC.IO.Encoding.UTF32, GHC.IO.Encoding.UTF8, GHC.IO.Exception,
271− GHC.IO.FD, GHC.IO.Handle, GHC.IO.Handle.FD,
272− GHC.IO.Handle.Internals, GHC.IO.Handle.Lock, GHC.IO.Handle.Text,
273− GHC.IO.Handle.Types, GHC.IO.IOMode, GHC.IO.StdHandles,
274− GHC.IO.SubSystem, GHC.IO.Unsafe, GHC.IOArray, GHC.IOPort,
275− GHC.IORef, GHC.Int, GHC.Integer, GHC.Integer.Logarithms, GHC.Ix,
276− GHC.List, GHC.MVar, GHC.Maybe, GHC.Natural, GHC.Num,
277− GHC.Num.BigNat from ghc-bignum-1.0:GHC.Num.BigNat,
278− GHC.Num.Integer from ghc-bignum-1.0:GHC.Num.Integer,
279− GHC.Num.Natural from ghc-bignum-1.0:GHC.Num.Natural, GHC.OldList,
280− GHC.OverloadedLabels, GHC.Pack, GHC.Profiling, GHC.Ptr,
281− GHC.RTS.Flags, GHC.Read, GHC.Real, GHC.Records, GHC.ResponseFile,
282− GHC.ST, GHC.STRef, GHC.Show, GHC.Stable, GHC.StableName, GHC.Stack,
283− GHC.Stack.CCS, GHC.Stack.Types, GHC.StaticPtr, GHC.Stats,
284− GHC.Storable, GHC.TopHandler, GHC.TypeLits, GHC.TypeNats,
285− GHC.Unicode, GHC.Weak, GHC.Word, Numeric, Numeric.Natural, Prelude,
286− System.CPUTime, System.Console.GetOpt, System.Environment,
287− System.Environment.Blank, System.Exit, System.IO, System.IO.Error,
288− System.IO.Unsafe, System.Info, System.Mem, System.Mem.StableName,
289− System.Mem.Weak, System.Posix.Internals, System.Posix.Types,
290− System.Timeout, Text.ParserCombinators.ReadP,
291− Text.ParserCombinators.ReadPrec, Text.Printf, Text.Read,
292− Text.Read.Lex, Text.Show, Text.Show.Functions, Type.Reflection,
293− Type.Reflection.Unsafe, Unsafe.Coerce
294−hidden-modules:
295− Control.Monad.ST.Imp Control.Monad.ST.Lazy.Imp Data.Functor.Utils
296− Data.OldList Data.Semigroup.Internal Data.Typeable.Internal
297− Foreign.ForeignPtr.Imp GHC.IO.Handle.Lock.Common
298− GHC.IO.Handle.Lock.Flock GHC.IO.Handle.Lock.LinuxOFD
299− GHC.IO.Handle.Lock.NoOp GHC.IO.Handle.Lock.Windows
300− GHC.StaticPtr.Internal GHC.Event.Internal.Types
301− System.Environment.ExecutablePath System.CPUTime.Utils
302− GHC.Event.Arr GHC.Event.Array GHC.Event.Control GHC.Event.EPoll
303− GHC.Event.IntTable GHC.Event.Internal GHC.Event.KQueue
304− GHC.Event.Manager GHC.Event.PSQ GHC.Event.Poll GHC.Event.Thread
305− GHC.Event.TimerManager GHC.Event.Unique
306− System.CPUTime.Posix.ClockGetTime System.CPUTime.Posix.Times
307− System.CPUTime.Posix.RUsage System.CPUTime.Unsupported
308−import-dirs:
309−library-dirs:
310−dynamic-library-dirs:
311−data-dir:
312−hs-libraries: HSbase-4.15.0.0
313−include-dirs:
314−includes: HsBase.h
315−depends: ghc-bignum-1.0 ghc-prim-0.7.0 rts
316−haddock-interfaces:
317−haddock-html:
318−---
319−name: binary
320−version: 0.8.8.0
321−visibility: public
322−id: binary-0.8.8.0
323−key: binary-0.8.8.0
324−license: BSD-3-Clause
325−maintainer: Lennart Kolmodin, Don Stewart <dons00@gmail.com>
326−author: Lennart Kolmodin <kolmodin@gmail.com>
327−stability: provisional
328−homepage: https://github.com/kolmodin/binary
329−synopsis:
330− Binary serialisation for Haskell values using lazy ByteStrings
331−description:
332− Efficient, pure binary serialisation using lazy ByteStrings.
333− Haskell values may be encoded to and from binary formats,
334− written to disk as binary, or sent over the network.
335− The format used can be automatically generated, or
336− you can choose to implement a custom format if needed.
337− Serialisation speeds of over 1 G\/sec have been observed,
338− so this library should be suitable for high performance
339− scenarios.
340−category: Data, Parsing
341−exposed: True
342−exposed-modules:
343− Data.Binary Data.Binary.Builder Data.Binary.Get
344− Data.Binary.Get.Internal Data.Binary.Put
345−hidden-modules:
346− Data.Binary.Class Data.Binary.Internal Data.Binary.Generic
347− Data.Binary.FloatCast
348−import-dirs:
349−library-dirs:
350−dynamic-library-dirs:
351−data-dir:
352−hs-libraries: HSbinary-0.8.8.0
353−depends:
354− array-0.5.4.0 base-4.15.0.0 bytestring-0.10.12.1 containers-0.6.4.1
355−haddock-interfaces:
356−haddock-html:
357−---
358−name: bytestring
359−version: 0.10.12.1
360−visibility: public
361−id: bytestring-0.10.12.1
362−key: bytestring-0.10.12.1
363−license: BSD-3-Clause
364−copyright:
365− Copyright (c) Don Stewart 2005-2009,
366− (c) Duncan Coutts 2006-2015,
367− (c) David Roundy 2003-2005,
368− (c) Jasper Van der Jeugt 2010,
369− (c) Simon Meier 2010-2013.
370−maintainer:
371− Haskell Bytestring Team <andrew.lelechenko@gmail.com>, Core Libraries Committee
372−author:
373− Don Stewart,
374− Duncan Coutts
375−homepage: https://github.com/haskell/bytestring
376−synopsis:
377− Fast, compact, strict and lazy byte strings with a list interface
378−description:
379− An efficient compact, immutable byte string type (both strict and lazy)
380− suitable for binary or 8-bit character data.
381− The 'ByteString' type represents sequences of bytes or 8-bit characters.
382− It is suitable for high performance use, both in terms of large data
383− quantities, or high speed requirements. The 'ByteString' functions follow
384− the same style as Haskell\'s ordinary lists, so it is easy to convert code
385− from using 'String' to 'ByteString'.
386− Two 'ByteString' variants are provided:
387− * Strict 'ByteString's keep the string as a single large array. This
388− makes them convenient for passing data between C and Haskell.
389− * Lazy 'ByteString's use a lazy list of strict chunks which makes it
390− suitable for I\/O streaming tasks.
391− The @Char8@ modules provide a character-based view of the same
392− underlying 'ByteString' types. This makes it convenient to handle mixed
393− binary and 8-bit character content (which is common in many file formats
394− and network protocols).
395− The 'Builder' module provides an efficient way to build up 'ByteString's
396− in an ad-hoc way by repeated concatenation. This is ideal for fast
397− serialisation or pretty printing.
398− There is also a 'ShortByteString' type which has a lower memory overhead
399− and can can be converted to or from a 'ByteString', but supports very few
400− other operations. It is suitable for keeping many short strings in memory.
401− 'ByteString's are not designed for Unicode. For Unicode strings you should
402− use the 'Text' type from the @text@ package.
403− These modules are intended to be imported qualified, to avoid name clashes
404− with "Prelude" functions, e.g.
405− > import qualified Data.ByteString as BS
406−category: Data
407−exposed: True
408−exposed-modules:
409− Data.ByteString Data.ByteString.Builder
410− Data.ByteString.Builder.Extra Data.ByteString.Builder.Internal
411− Data.ByteString.Builder.Prim Data.ByteString.Builder.Prim.Internal
412− Data.ByteString.Char8 Data.ByteString.Internal Data.ByteString.Lazy
413− Data.ByteString.Lazy.Builder Data.ByteString.Lazy.Builder.ASCII
414− Data.ByteString.Lazy.Builder.Extras Data.ByteString.Lazy.Char8
415− Data.ByteString.Lazy.Internal Data.ByteString.Short
416− Data.ByteString.Short.Internal Data.ByteString.Unsafe
417−hidden-modules:
418− Data.ByteString.Builder.ASCII Data.ByteString.Builder.Prim.Binary
419− Data.ByteString.Builder.Prim.ASCII
420− Data.ByteString.Builder.Prim.Internal.Floating
421− Data.ByteString.Builder.Prim.Internal.UncheckedShifts
422− Data.ByteString.Builder.Prim.Internal.Base16
423−import-dirs:
424−library-dirs:
425−dynamic-library-dirs:
426−data-dir:
427−hs-libraries: HSbytestring-0.10.12.1
428−include-dirs:
429−includes: fpstring.h
430−depends:
431− base-4.15.0.0 deepseq-1.4.5.0 ghc-bignum-1.0 ghc-prim-0.7.0
432−haddock-interfaces:
433−haddock-html:
434−---
435−name: containers
436−version: 0.6.4.1
437−visibility: public
438−id: containers-0.6.4.1
439−key: containers-0.6.4.1
440−license: BSD-3-Clause
441−maintainer: libraries@haskell.org
442−synopsis: Assorted concrete container types
443−description:
444− This package contains efficient general-purpose implementations
445− of various immutable container types including sets, maps, sequences,
446− trees, and graphs.
447− For a walkthrough of what this package provides with examples of common
448− operations see the [containers
449− introduction](https://haskell-containers.readthedocs.io).
450− The declared cost of each operation is either worst-case or amortized, but
451− remains valid even if structures are shared.
452−category: Data Structures
453−exposed: True
454−exposed-modules:
455− Data.Containers.ListUtils Data.Graph Data.IntMap
456− Data.IntMap.Internal Data.IntMap.Internal.Debug Data.IntMap.Lazy
457− Data.IntMap.Merge.Lazy Data.IntMap.Merge.Strict Data.IntMap.Strict
458− Data.IntMap.Strict.Internal Data.IntSet Data.IntSet.Internal
459− Data.Map Data.Map.Internal Data.Map.Internal.Debug Data.Map.Lazy
460− Data.Map.Merge.Lazy Data.Map.Merge.Strict Data.Map.Strict
461− Data.Map.Strict.Internal Data.Sequence Data.Sequence.Internal
462− Data.Sequence.Internal.Sorting Data.Set Data.Set.Internal Data.Tree
463− Utils.Containers.Internal.BitQueue
464− Utils.Containers.Internal.BitUtil
465− Utils.Containers.Internal.StrictPair
466−hidden-modules:
467− Utils.Containers.Internal.State
468− Utils.Containers.Internal.StrictMaybe
469− Utils.Containers.Internal.PtrEquality
470− Utils.Containers.Internal.Coercions
471− Utils.Containers.Internal.TypeError
472− Data.Map.Internal.DeprecatedShowTree
473− Data.IntMap.Internal.DeprecatedDebug
474−import-dirs:
475−library-dirs:
476−dynamic-library-dirs:
477−data-dir:
478−hs-libraries: HScontainers-0.6.4.1
479−depends: array-0.5.4.0 base-4.15.0.0 deepseq-1.4.5.0
480−haddock-interfaces:
481−haddock-html:
482−---
483−name: deepseq
484−version: 1.4.5.0
485−visibility: public
486−id: deepseq-1.4.5.0
487−key: deepseq-1.4.5.0
488−license: BSD-3-Clause
489−maintainer: libraries@haskell.org
490−synopsis: Deep evaluation of data structures
491−description:
492− This package provides methods for fully evaluating data structures
493− (\"deep evaluation\"). Deep evaluation is often used for adding
494− strictness to a program, e.g. in order to force pending exceptions,
495− remove space leaks, or force lazy I/O to happen. It is also useful
496− in parallel programs, to ensure pending work does not migrate to the
497− wrong thread.
498− The primary use of this package is via the 'deepseq' function, a
499− \"deep\" version of 'seq'. It is implemented on top of an 'NFData'
500− typeclass (\"Normal Form Data\", data structures with no unevaluated
501− components) which defines strategies for fully evaluating different
502− data types. See module documentation in "Control.DeepSeq" for more
503− details.
504−category: Control
505−exposed: True
506−exposed-modules: Control.DeepSeq
507−hidden-modules: Control.DeepSeq.BackDoor
508−import-dirs:
509−library-dirs:
510−dynamic-library-dirs:
511−data-dir:
512−hs-libraries: HSdeepseq-1.4.5.0
513−depends: array-0.5.4.0 base-4.15.0.0
514−haddock-interfaces:
515−haddock-html:
516−---
517−name: directory
518−version: 1.3.6.1
519−visibility: public
520−id: directory-1.3.6.1
521−key: directory-1.3.6.1
522−license: BSD-3-Clause
523−maintainer: libraries@haskell.org
524−synopsis: Platform-agnostic library for filesystem operations
525−description:
526− This library provides a basic set of operations for manipulating files and
527− directories in a portable way.
528−category: System
529−exposed: True
530−exposed-modules:
531− System.Directory System.Directory.Internal
532− System.Directory.Internal.Prelude
533−hidden-modules:
534− System.Directory.Internal.C_utimensat
535− System.Directory.Internal.Common System.Directory.Internal.Config
536− System.Directory.Internal.Posix System.Directory.Internal.Windows
537−import-dirs:
538−library-dirs:
539−dynamic-library-dirs:
540−data-dir:
541−hs-libraries: HSdirectory-1.3.6.1
542−depends:
543− base-4.15.0.0 filepath-1.4.2.1 time-1.9.3 unix-2.7.2.2
544−haddock-interfaces:
545−haddock-html:
546−---
547−name: exceptions
548−version: 0.10.4
549−visibility: public
550−id: exceptions-0.10.4
551−key: exceptions-0.10.4
552−license: BSD-3-Clause
553−copyright:
554− Copyright (C) 2013-2015 Edward A. Kmett
555− Copyright (C) 2012 Google Inc.
556−maintainer: Edward A. Kmett <ekmett@gmail.com>
557−author: Edward A. Kmett
558−stability: provisional
559−homepage: http://github.com/ekmett/exceptions/
560−synopsis: Extensible optionally-pure exceptions
561−description: Extensible optionally-pure exceptions.
562−category: Control, Exceptions, Monad
563−exposed: True
564−exposed-modules: Control.Monad.Catch Control.Monad.Catch.Pure
565−import-dirs:
566−library-dirs:
567−dynamic-library-dirs:
568−data-dir:
569−hs-libraries: HSexceptions-0.10.4
570−depends:
571− base-4.15.0.0 mtl-2.2.2 stm-2.5.0.0 template-haskell-2.17.0.0
572− transformers-0.5.6.2
573−haddock-interfaces:
574−haddock-html:
575−---
576−name: filepath
577−version: 1.4.2.1
578−visibility: public
579−id: filepath-1.4.2.1
580−key: filepath-1.4.2.1
581−license: BSD-3-Clause
582−copyright: Neil Mitchell 2005-2020
583−maintainer: Neil Mitchell <ndmitchell@gmail.com>
584−author: Neil Mitchell <ndmitchell@gmail.com>
585−homepage: https://github.com/haskell/filepath#readme
586−synopsis: Library for manipulating FilePaths in a cross platform way.
587−description:
588− This package provides functionality for manipulating @FilePath@ values, and is shipped with both <https://www.haskell.org/ghc/ GHC> and the <https://www.haskell.org/platform/ Haskell Platform>. It provides three modules:
589− * "System.FilePath.Posix" manipulates POSIX\/Linux style @FilePath@ values (with @\/@ as the path separator).
590− * "System.FilePath.Windows" manipulates Windows style @FilePath@ values (with either @\\@ or @\/@ as the path separator, and deals with drives).
591− * "System.FilePath" is an alias for the module appropriate to your platform.
592− All three modules provide the same API, and the same documentation (calling out differences in the different variants).
593−category: System
594−exposed: True
595−exposed-modules:
596− System.FilePath System.FilePath.Posix System.FilePath.Windows
597−import-dirs:
598−library-dirs:
599−dynamic-library-dirs:
600−data-dir:
601−hs-libraries: HSfilepath-1.4.2.1
602−depends: base-4.15.0.0
603−haddock-interfaces:
604−haddock-html:
605−---
606−name: ghc-bignum
607−version: 1.0
608−visibility: public
609−id: ghc-bignum-1.0
610−key: ghc-bignum-1.0
611−license: BSD-3-Clause
612−maintainer: libraries@haskell.org
613−author: Sylvain Henry
614−synopsis: GHC BigNum library
615−description:
616− This package provides the low-level implementation of the standard
617− 'BigNat', 'Natural' and 'Integer' types.
618−category: Numeric, Algebra, GHC
619−exposed: True
620−exposed-modules:
621− GHC.Num.Backend GHC.Num.Backend.Native GHC.Num.Backend.Selected
622− GHC.Num.BigNat GHC.Num.Integer GHC.Num.Natural GHC.Num.Primitives
623− GHC.Num.WordArray
624−import-dirs:
625−library-dirs:
626−dynamic-library-dirs:
627−data-dir:
628−hs-libraries: HSghc-bignum-1.0
629−depends: ghc-prim-0.7.0
630−haddock-interfaces:
631−haddock-html:
632−---
633−name: ghc-boot
634−version: 9.0.1
635−visibility: public
636−id: ghc-boot-9.0.1
637−key: ghc-boot-9.0.1
638−license: BSD-3-Clause
639−maintainer: ghc-devs@haskell.org
640−synopsis: Shared functionality between GHC and its boot libraries
641−description:
642− This library is shared between GHC, ghc-pkg, and other boot
643− libraries.
644− A note about "GHC.Unit.Database": it only deals with the subset of
645− the package database that the compiler cares about: modules
646− paths etc and not package metadata like description, authors
647− etc. It is thus not a library interface to ghc-pkg and is *not*
648− suitable for modifying GHC package databases.
649− The package database format and this library are constructed in
650− such a way that while ghc-pkg depends on Cabal, the GHC library
651− and program do not have to depend on Cabal.
652−category: GHC
653−exposed: True
654−exposed-modules:
655− GHC.BaseDir GHC.ForeignSrcLang GHC.HandleEncoding
656− GHC.LanguageExtensions GHC.Platform GHC.Platform.Host
657− GHC.Serialized GHC.Settings.Platform GHC.Settings.Utils
658− GHC.UniqueSubdir GHC.Unit.Database GHC.Version
659−import-dirs:
660−library-dirs:
661−dynamic-library-dirs:
662−data-dir:
663−hs-libraries: HSghc-boot-9.0.1
664−depends:
665− base-4.15.0.0 binary-0.8.8.0 bytestring-0.10.12.1
666− containers-0.6.4.1 directory-1.3.6.1 filepath-1.4.2.1
667− ghc-boot-th-9.0.1
668−haddock-interfaces:
669−haddock-html:
670−---
671−name: ghc-boot-th
672−version: 9.0.1
673−visibility: public
674−id: ghc-boot-th-9.0.1
675−key: ghc-boot-th-9.0.1
676−license: BSD-3-Clause
677−maintainer: ghc-devs@haskell.org
678−synopsis:
679− Shared functionality between GHC and the @template-haskell@
680− library
681−description:
682− This library contains various bits shared between the @ghc@ and
683− @template-haskell@ libraries.
684− This package exists to ensure that @template-haskell@ has a
685− minimal set of transitive dependencies, since it is intended to
686− be depended upon by user code.
687−category: GHC
688−exposed: True
689−exposed-modules:
690− GHC.ForeignSrcLang.Type GHC.LanguageExtensions.Type GHC.Lexeme
691−import-dirs:
692−library-dirs:
693−dynamic-library-dirs:
694−data-dir:
695−hs-libraries: HSghc-boot-th-9.0.1
696−depends: base-4.15.0.0
697−haddock-interfaces:
698−haddock-html:
699−---
700−name: ghc-compact
701−version: 0.1.0.0
702−visibility: public
703−id: ghc-compact-0.1.0.0
704−key: ghc-compact-0.1.0.0
705−license: BSD-3-Clause
706−maintainer: libraries@haskell.org
707−synopsis: In memory storage of deeply evaluated data structure
708−description:
709− This package provides minimal functionality for working with
710− "compact regions", which hold a fully evaluated Haskell object graph.
711− These regions maintain the invariant that no pointers live inside the struct
712− that point outside it, which ensures efficient garbage collection without
713− ever reading the structure contents (effectively, it works as a manually
714− managed "oldest generation" which is never freed until the whole is
715− released).
716− Internally, the struct is stored a single contiguous block of memory,
717− which allows efficient serialization and deserialization of structs
718− for distributed computing.
719−category: Data
720−exposed: True
721−exposed-modules: GHC.Compact GHC.Compact.Serialized
722−import-dirs:
723−library-dirs:
724−dynamic-library-dirs:
725−data-dir:
726−hs-libraries: HSghc-compact-0.1.0.0
727−depends: base-4.15.0.0 bytestring-0.10.12.1 ghc-prim-0.7.0
728−haddock-interfaces:
729−haddock-html:
730−---
731−name: ghc-heap
732−version: 9.0.1
733−visibility: public
734−id: ghc-heap-9.0.1
735−key: ghc-heap-9.0.1
736−license: BSD-3-Clause
737−maintainer: libraries@haskell.org
738−synopsis: Functions for walking GHC's heap
739−description:
740− This package provides functions for walking the GHC heap data structures
741− and retrieving information about those data structures.
742−category: GHC
743−exposed: True
744−exposed-modules:
745− GHC.Exts.Heap GHC.Exts.Heap.ClosureTypes GHC.Exts.Heap.Closures
746− GHC.Exts.Heap.Constants GHC.Exts.Heap.InfoTable
747− GHC.Exts.Heap.InfoTable.Types GHC.Exts.Heap.InfoTableProf
748− GHC.Exts.Heap.Utils
749−import-dirs:
750−library-dirs:
751−dynamic-library-dirs:
752−data-dir:
753−hs-libraries: HSghc-heap-9.0.1
754−depends: base-4.15.0.0 ghc-prim-0.7.0 rts
755−haddock-interfaces:
756−haddock-html:
757−---
758−name: ghc-prim
759−version: 0.7.0
760−visibility: public
761−id: ghc-prim-0.7.0
762−key: ghc-prim-0.7.0
763−license: BSD-3-Clause
764−maintainer: libraries@haskell.org
765−synopsis: GHC primitives
766−description:
767− This package contains the primitive types and operations supplied by GHC.
768−category: GHC
769−exposed: True
770−exposed-modules:
771− GHC.CString GHC.Classes GHC.Debug GHC.IntWord64 GHC.Magic
772− GHC.Prim.Exception GHC.Prim.Ext GHC.Prim.Panic GHC.PrimopWrappers
773− GHC.Tuple GHC.Types GHC.Prim
774−import-dirs:
775−library-dirs:
776−dynamic-library-dirs:
777−data-dir:
778−hs-libraries: HSghc-prim-0.7.0
779−extra-libraries: gcc c m
780−depends: rts
781−haddock-interfaces:
782−haddock-html:
783−---
784−name: ghci
785−version: 9.0.1
786−visibility: public
787−id: ghci-9.0.1
788−key: ghci-9.0.1
789−license: BSD-3-Clause
790−maintainer: ghc-devs@haskell.org
791−synopsis: The library supporting GHC's interactive interpreter
792−description:
793− This library offers interfaces which mediate interactions between the
794− @ghci@ interactive shell and @iserv@, GHC's out-of-process interpreter
795− backend.
796−category: GHC
797−exposed: True
798−exposed-modules:
799− GHCi.BinaryArray GHCi.BreakArray GHCi.CreateBCO GHCi.FFI
800− GHCi.InfoTable GHCi.Message GHCi.ObjLink GHCi.RemoteTypes
801− GHCi.ResolvedBCO GHCi.Run GHCi.Signals GHCi.StaticPtrTable GHCi.TH
802− GHCi.TH.Binary SizedSeq
803−import-dirs:
804−library-dirs:
805−dynamic-library-dirs:
806−data-dir:
807−hs-libraries: HSghci-9.0.1
808−include-dirs:
809−depends:
810− array-0.5.4.0 base-4.15.0.0 binary-0.8.8.0 bytestring-0.10.12.1
811− containers-0.6.4.1 deepseq-1.4.5.0 filepath-1.4.2.1 ghc-boot-9.0.1
812− ghc-boot-th-9.0.1 ghc-heap-9.0.1 template-haskell-2.17.0.0
813− transformers-0.5.6.2 unix-2.7.2.2
814−haddock-interfaces:
815−haddock-html:
816−---
817−name: haskeline
818−version: 0.8.1.0
819−visibility: public
820−id: haskeline-0.8.1.0
821−key: haskeline-0.8.1.0
822−license: BSD-3-Clause
823−copyright: (c) Judah Jacobson
824−maintainer: Judah Jacobson <judah.jacobson@gmail.com>
825−author: Judah Jacobson
826−stability: Stable
827−homepage: https://github.com/judah/haskeline
828−synopsis:
829− A command-line interface for user input, written in Haskell.
830−description:
831− Haskeline provides a user interface for line input in command-line
832− programs. This library is similar in purpose to readline, but since
833− it is written in Haskell it is (hopefully) more easily used in other
834− Haskell programs.
835− Haskeline runs both on POSIX-compatible systems and on Windows.
836−category: User Interfaces
837−exposed: True
838−exposed-modules:
839− System.Console.Haskeline System.Console.Haskeline.Completion
840− System.Console.Haskeline.History System.Console.Haskeline.IO
841− System.Console.Haskeline.Internal
842−hidden-modules:
843− System.Console.Haskeline.Backend
844− System.Console.Haskeline.Backend.WCWidth
845− System.Console.Haskeline.Command
846− System.Console.Haskeline.Command.Completion
847− System.Console.Haskeline.Command.History
848− System.Console.Haskeline.Command.KillRing
849− System.Console.Haskeline.Directory System.Console.Haskeline.Emacs
850− System.Console.Haskeline.InputT System.Console.Haskeline.Key
851− System.Console.Haskeline.LineState System.Console.Haskeline.Monads
852− System.Console.Haskeline.Prefs System.Console.Haskeline.Recover
853− System.Console.Haskeline.RunCommand System.Console.Haskeline.Term
854− System.Console.Haskeline.Command.Undo System.Console.Haskeline.Vi
855− System.Console.Haskeline.Backend.Posix
856− System.Console.Haskeline.Backend.Posix.Encoder
857− System.Console.Haskeline.Backend.DumbTerm
858−import-dirs:
859−library-dirs:
860−dynamic-library-dirs:
861−data-dir:
862−hs-libraries: HShaskeline-0.8.1.0
863−depends:
864− base-4.15.0.0 bytestring-0.10.12.1 containers-0.6.4.1
865− directory-1.3.6.1 exceptions-0.10.4 filepath-1.4.2.1
866− process-1.6.11.0 stm-2.5.0.0 transformers-0.5.6.2 unix-2.7.2.2
867−haddock-interfaces:
868−haddock-html:
869−---
870−name: hpc
871−version: 0.6.1.0
872−visibility: public
873−id: hpc-0.6.1.0
874−key: hpc-0.6.1.0
875−license: BSD-3-Clause
876−maintainer: ghc-devs@haskell.org
877−author: Andy Gill
878−synopsis: Code Coverage Library for Haskell
879−description:
880− This package provides the code coverage library for Haskell.
881− See <http://www.haskell.org/haskellwiki/Haskell_program_coverage> for more
882− information.
883−category: Control
884−exposed: True
885−exposed-modules:
886− Trace.Hpc.Mix Trace.Hpc.Reflect Trace.Hpc.Tix Trace.Hpc.Util
887−import-dirs:
888−library-dirs:
889−dynamic-library-dirs:
890−data-dir:
891−hs-libraries: HShpc-0.6.1.0
892−depends:
893− base-4.15.0.0 containers-0.6.4.1 deepseq-1.4.5.0 directory-1.3.6.1
894− filepath-1.4.2.1 time-1.9.3
895−haddock-interfaces:
896−haddock-html:
897−---
898−name: integer-gmp
899−version: 1.1
900−visibility: public
901−id: integer-gmp-1.1
902−key: integer-gmp-1.1
903−license: BSD-3-Clause
904−maintainer: hvr@gnu.org
905−author: Herbert Valerio Riedel
906−synopsis: Integer library based on GMP
907−description:
908− This package used to provide an implementation of the standard 'Integer'
909− type based on the
910− <http://gmplib.org/ GNU Multiple Precision Arithmetic Library (GMP)>.
911− It is now deprecated in favor of the 'ghc-bignum' package.
912− Its purpose is to provide backward compatibility for codes directly
913− depending on the `integer-gmp` package.
914−category: Numeric, Algebra
915−exposed: True
916−exposed-modules: GHC.Integer.GMP.Internals
917−import-dirs:
918−library-dirs:
919−dynamic-library-dirs:
920−data-dir:
921−hs-libraries: HSinteger-gmp-1.1
922−depends: base-4.15.0.0 ghc-bignum-1.0 ghc-prim-0.7.0
923−haddock-interfaces:
924−haddock-html:
925−---
926−name: libiserv
927−version: 9.0.1
928−visibility: public
929−id: libiserv-9.0.1
930−key: libiserv-9.0.1
931−license: BSD-3-Clause
932−copyright: XXX
933−maintainer: XXX
934−author: XXX
935−synopsis: Provides shared functionality between iserv and iserv-proxy
936−category: Development
937−exposed: True
938−exposed-modules: GHCi.Utils Lib
939−import-dirs:
940−library-dirs:
941−dynamic-library-dirs:
942−data-dir:
943−hs-libraries: HSlibiserv-9.0.1
944−depends:
945− base-4.15.0.0 binary-0.8.8.0 bytestring-0.10.12.1
946− containers-0.6.4.1 deepseq-1.4.5.0 ghci-9.0.1 unix-2.7.2.2
947−haddock-interfaces:
948−haddock-html:
949−---
950−name: mtl
951−version: 2.2.2
952−visibility: public
953−id: mtl-2.2.2
954−key: mtl-2.2.2
955−license: BSD-3-Clause
956−maintainer: Edward Kmett <ekmett@gmail.com>
957−author: Andy Gill
958−homepage: http://github.com/haskell/mtl
959−synopsis: Monad classes, using functional dependencies
960−description:
961− Monad classes using functional dependencies, with instances
962− for various monad transformers, inspired by the paper
963− /Functional Programming with Overloading and Higher-Order Polymorphism/,
964− by Mark P Jones, in /Advanced School of Functional Programming/, 1995
965− (<http://web.cecs.pdx.edu/~mpj/pubs/springschool.html>).
966−category: Control
967−exposed: True
968−exposed-modules:
969− Control.Monad.Cont Control.Monad.Cont.Class Control.Monad.Error
970− Control.Monad.Error.Class Control.Monad.Except
971− Control.Monad.Identity Control.Monad.List Control.Monad.RWS
972− Control.Monad.RWS.Class Control.Monad.RWS.Lazy
973− Control.Monad.RWS.Strict Control.Monad.Reader
974− Control.Monad.Reader.Class Control.Monad.State
975− Control.Monad.State.Class Control.Monad.State.Lazy
976− Control.Monad.State.Strict Control.Monad.Trans Control.Monad.Writer
977− Control.Monad.Writer.Class Control.Monad.Writer.Lazy
978− Control.Monad.Writer.Strict
979−import-dirs:
980−library-dirs:
981−dynamic-library-dirs:
982−data-dir:
983−hs-libraries: HSmtl-2.2.2
984−depends: base-4.15.0.0 transformers-0.5.6.2
985−haddock-interfaces:
986−haddock-html:
987−---
988−name: parsec
989−version: 3.1.14.0
990−visibility: public
991−id: parsec-3.1.14.0
992−key: parsec-3.1.14.0
993−license: BSD-3-Clause
994−maintainer: Herbert Valerio Riedel <hvr@gnu.org>
995−author:
996− Daan Leijen <daan@microsoft.com>, Paolo Martini <paolo@nemail.it>, Antoine Latter <aslatter@gmail.com>
997−homepage: https://github.com/haskell/parsec
998−synopsis: Monadic parser combinators
999−description:
1000− Parsec is designed from scratch as an industrial-strength parser
1001− library. It is simple, safe, well documented (on the package
1002− homepage), has extensive libraries, good error messages,
1003− and is fast. It is defined as a monad transformer that can be
1004− stacked on arbitrary monads, and it is also parametric in the
1005− input stream type.
1006− The main entry point is the "Text.Parsec" module which provides
1007− defaults for parsing 'Char'acter data.
1008− The "Text.ParserCombinators.Parsec" module hierarchy contains
1009− the legacy @parsec-2@ API and may be removed at some point in
1010− the future.
1011−category: Parsing
1012−exposed: True
1013−exposed-modules:
1014− Text.Parsec Text.Parsec.ByteString Text.Parsec.ByteString.Lazy
1015− Text.Parsec.Char Text.Parsec.Combinator Text.Parsec.Error
1016− Text.Parsec.Expr Text.Parsec.Language Text.Parsec.Perm
1017− Text.Parsec.Pos Text.Parsec.Prim Text.Parsec.String
1018− Text.Parsec.Text Text.Parsec.Text.Lazy Text.Parsec.Token
1019− Text.ParserCombinators.Parsec Text.ParserCombinators.Parsec.Char
1020− Text.ParserCombinators.Parsec.Combinator
1021− Text.ParserCombinators.Parsec.Error
1022− Text.ParserCombinators.Parsec.Expr
1023− Text.ParserCombinators.Parsec.Language
1024− Text.ParserCombinators.Parsec.Perm
1025− Text.ParserCombinators.Parsec.Pos
1026− Text.ParserCombinators.Parsec.Prim
1027− Text.ParserCombinators.Parsec.Token
1028−import-dirs:
1029−library-dirs:
1030−dynamic-library-dirs:
1031−data-dir:
1032−hs-libraries: HSparsec-3.1.14.0
1033−depends:
1034− base-4.15.0.0 bytestring-0.10.12.1 mtl-2.2.2 text-1.2.4.1
1035−haddock-interfaces:
1036−haddock-html:
1037−---
1038−name: pretty
1039−version: 1.1.3.6
1040−visibility: public
1041−id: pretty-1.1.3.6
1042−key: pretty-1.1.3.6
1043−license: BSD-3-Clause
1044−maintainer: David Terei <code@davidterei.com>
1045−stability: Stable
1046−homepage: http://github.com/haskell/pretty
1047−synopsis: Pretty-printing library
1048−description:
1049− This package contains a pretty-printing library, a set of API's
1050− that provides a way to easily print out text in a consistent
1051− format of your choosing. This is useful for compilers and related
1052− tools.
1053− This library was originally designed by John Hughes's and has since
1054− been heavily modified by Simon Peyton Jones.
1055−category: Text
1056−exposed: True
1057−exposed-modules:
1058− Text.PrettyPrint Text.PrettyPrint.Annotated
1059− Text.PrettyPrint.Annotated.HughesPJ
1060− Text.PrettyPrint.Annotated.HughesPJClass Text.PrettyPrint.HughesPJ
1061− Text.PrettyPrint.HughesPJClass
1062−import-dirs:
1063−library-dirs:
1064−dynamic-library-dirs:
1065−data-dir:
1066−hs-libraries: HSpretty-1.1.3.6
1067−depends: base-4.15.0.0 deepseq-1.4.5.0 ghc-prim-0.7.0
1068−haddock-interfaces:
1069−haddock-html:
1070−---
1071−name: process
1072−version: 1.6.11.0
1073−visibility: public
1074−id: process-1.6.11.0
1075−key: process-1.6.11.0
1076−license: BSD-3-Clause
1077−maintainer: libraries@haskell.org
1078−synopsis: Process libraries
1079−description:
1080− This package contains libraries for dealing with system processes.
1081− The typed-process package is a more recent take on a process API,
1082− which uses this package internally. It features better binary
1083− support, easier concurrency, and a more composable API. You can
1084− read more about it at
1085− <https://github.com/fpco/typed-process/#readme>.
1086−category: System
1087−exposed: True
1088−exposed-modules: System.Cmd System.Process System.Process.Internals
1089−hidden-modules: System.Process.Common System.Process.Posix
1090−import-dirs:
1091−library-dirs:
1092−dynamic-library-dirs:
1093−data-dir:
1094−hs-libraries: HSprocess-1.6.11.0
1095−include-dirs:
1096−includes: runProcess.h
1097−depends:
1098− base-4.15.0.0 deepseq-1.4.5.0 directory-1.3.6.1 filepath-1.4.2.1
1099− unix-2.7.2.2
1100−haddock-interfaces:
1101−haddock-html:
1102−---
1103−name: stm
1104−version: 2.5.0.0
1105−visibility: public
1106−id: stm-2.5.0.0
1107−key: stm-2.5.0.0
1108−license: BSD-3-Clause
1109−maintainer: libraries@haskell.org
1110−homepage: https://wiki.haskell.org/Software_transactional_memory
1111−synopsis: Software Transactional Memory
1112−description:
1113− Software Transactional Memory, or STM, is an abstraction for
1114− concurrent communication. The main benefits of STM are
1115− /composability/ and /modularity/. That is, using STM you can write
1116− concurrent abstractions that can be easily composed with any other
1117− abstraction built using STM, without exposing the details of how
1118− your abstraction ensures safety. This is typically not the case
1119− with other forms of concurrent communication, such as locks or
1120− 'MVar's.
1121−category: Concurrency
1122−exposed: True
1123−exposed-modules:
1124− Control.Concurrent.STM Control.Concurrent.STM.TArray
1125− Control.Concurrent.STM.TBQueue Control.Concurrent.STM.TChan
1126− Control.Concurrent.STM.TMVar Control.Concurrent.STM.TQueue
1127− Control.Concurrent.STM.TSem Control.Concurrent.STM.TVar
1128− Control.Monad.STM
1129−hidden-modules: Control.Sequential.STM
1130−import-dirs:
1131−library-dirs:
1132−dynamic-library-dirs:
1133−data-dir:
1134−hs-libraries: HSstm-2.5.0.0
1135−depends: array-0.5.4.0 base-4.15.0.0
1136−haddock-interfaces:
1137−haddock-html:
1138−---
1139−name: template-haskell
1140−version: 2.17.0.0
1141−visibility: public
1142−id: template-haskell-2.17.0.0
1143−key: template-haskell-2.17.0.0
1144−license: BSD-3-Clause
1145−maintainer: libraries@haskell.org
1146−synopsis: Support library for Template Haskell
1147−description:
1148− This package provides modules containing facilities for manipulating
1149− Haskell source code using Template Haskell.
1150− See <http://www.haskell.org/haskellwiki/Template_Haskell> for more
1151− information.
1152−category: Template Haskell
1153−exposed: True
1154−exposed-modules:
1155− Language.Haskell.TH Language.Haskell.TH.CodeDo
1156− Language.Haskell.TH.LanguageExtensions Language.Haskell.TH.Lib
1157− Language.Haskell.TH.Lib.Internal Language.Haskell.TH.Ppr
1158− Language.Haskell.TH.PprLib Language.Haskell.TH.Quote
1159− Language.Haskell.TH.Syntax
1160−hidden-modules: Language.Haskell.TH.Lib.Map
1161−import-dirs:
1162−library-dirs:
1163−dynamic-library-dirs:
1164−data-dir:
1165−hs-libraries: HStemplate-haskell-2.17.0.0
1166−depends:
1167− base-4.15.0.0 ghc-boot-th-9.0.1 ghc-prim-0.7.0 pretty-1.1.3.6
1168−haddock-interfaces:
1169−haddock-html:
1170−---
1171−name: text
1172−version: 1.2.4.1
1173−visibility: public
1174−id: text-1.2.4.1
1175−key: text-1.2.4.1
1176−license: BSD-2-Clause
1177−copyright: 2009-2011 Bryan O'Sullivan, 2008-2009 Tom Harper
1178−maintainer:
1179− Bryan O'Sullivan <bos@serpentine.com>, Herbert Valerio Riedel <hvr@gnu.org>
1180−author: Bryan O'Sullivan <bos@serpentine.com>
1181−homepage: https://github.com/haskell/text
1182−synopsis: An efficient packed Unicode text type.
1183−description:
1184− An efficient packed, immutable Unicode text type (both strict and
1185− lazy), with a powerful loop fusion optimization framework.
1186− The 'Text' type represents Unicode character strings, in a time and
1187− space-efficient manner. This package provides text processing
1188− capabilities that are optimized for performance critical use, both
1189− in terms of large data quantities and high speed.
1190− The 'Text' type provides character-encoding, type-safe case
1191− conversion via whole-string case conversion functions (see "Data.Text").
1192− It also provides a range of functions for converting 'Text' values to
1193− and from 'ByteStrings', using several standard encodings
1194− (see "Data.Text.Encoding").
1195− Efficient locale-sensitive support for text IO is also supported
1196− (see "Data.Text.IO").
1197− These modules are intended to be imported qualified, to avoid name
1198− clashes with Prelude functions, e.g.
1199− > import qualified Data.Text as T
1200− == ICU Support
1201− To use an extended and very rich family of functions for working
1202− with Unicode text (including normalization, regular expressions,
1203− non-standard encodings, text breaking, and locales), see
1204− the [text-icu package](https://hackage.haskell.org/package/text-icu)
1205− based on the well-respected and liberally
1206− licensed [ICU library](http://site.icu-project.org/).
1207− == Internal Representation: UTF-16 vs. UTF-8
1208− Currently the @text@ library uses UTF-16 as its internal representation
1209− which is [neither a fixed-width nor always the most dense representation](http://utf8everywhere.org/)
1210− for Unicode text. We're currently investigating the feasibility
1211− of [changing Text's internal representation to UTF-8](https://github.com/text-utf8)
1212− and if you need such a 'Text' type right now you might be interested in using the spin-off
1213− packages <https://hackage.haskell.org/package/text-utf8 text-utf8> and
1214− <https://hackage.haskell.org/package/text-short text-short>.
1215−category: Data, Text
1216−exposed: True
1217−exposed-modules:
1218− Data.Text Data.Text.Array Data.Text.Encoding
1219− Data.Text.Encoding.Error Data.Text.Foreign Data.Text.IO
1220− Data.Text.Internal Data.Text.Internal.Builder
1221− Data.Text.Internal.Builder.Functions
1222− Data.Text.Internal.Builder.Int.Digits
1223− Data.Text.Internal.Builder.RealFloat.Functions
1224− Data.Text.Internal.ByteStringCompat
1225− Data.Text.Internal.Encoding.Fusion
1226− Data.Text.Internal.Encoding.Fusion.Common
1227− Data.Text.Internal.Encoding.Utf16 Data.Text.Internal.Encoding.Utf32
1228− Data.Text.Internal.Encoding.Utf8 Data.Text.Internal.Functions
1229− Data.Text.Internal.Fusion Data.Text.Internal.Fusion.CaseMapping
1230− Data.Text.Internal.Fusion.Common Data.Text.Internal.Fusion.Size
1231− Data.Text.Internal.Fusion.Types Data.Text.Internal.IO
1232− Data.Text.Internal.Lazy Data.Text.Internal.Lazy.Encoding.Fusion
1233− Data.Text.Internal.Lazy.Fusion Data.Text.Internal.Lazy.Search
1234− Data.Text.Internal.Private Data.Text.Internal.Read
1235− Data.Text.Internal.Search Data.Text.Internal.Unsafe
1236− Data.Text.Internal.Unsafe.Char Data.Text.Internal.Unsafe.Shift
1237− Data.Text.Lazy Data.Text.Lazy.Builder Data.Text.Lazy.Builder.Int
1238− Data.Text.Lazy.Builder.RealFloat Data.Text.Lazy.Encoding
1239− Data.Text.Lazy.IO Data.Text.Lazy.Internal Data.Text.Lazy.Read
1240− Data.Text.Read Data.Text.Unsafe
1241−hidden-modules: Data.Text.Show
1242−import-dirs:
1243−library-dirs:
1244−dynamic-library-dirs:
1245−data-dir:
1246−hs-libraries: HStext-1.2.4.1
1247−depends:
1248− array-0.5.4.0 base-4.15.0.0 binary-0.8.8.0 bytestring-0.10.12.1
1249− deepseq-1.4.5.0 ghc-bignum-1.0 ghc-prim-0.7.0
1250− template-haskell-2.17.0.0
1251−haddock-interfaces:
1252−haddock-html:
1253−---
1254−name: time
1255−version: 1.9.3
1256−visibility: public
1257−id: time-1.9.3
1258−key: time-1.9.3
1259−license: BSD-3-Clause
1260−maintainer: <ashley@semantic.org>
1261−author: Ashley Yakeley
1262−stability: stable
1263−homepage: https://github.com/haskell/time
1264−synopsis: A time library
1265−description: Time, clocks and calendars
1266−category: Time
1267−exposed: True
1268−exposed-modules:
1269− Data.Time Data.Time.Calendar Data.Time.Calendar.Easter
1270− Data.Time.Calendar.Julian Data.Time.Calendar.MonthDay
1271− Data.Time.Calendar.OrdinalDate Data.Time.Calendar.WeekDate
1272− Data.Time.Clock Data.Time.Clock.POSIX Data.Time.Clock.System
1273− Data.Time.Clock.TAI Data.Time.Format Data.Time.Format.ISO8601
1274− Data.Time.Format.Internal Data.Time.LocalTime
1275−hidden-modules:
1276− Data.Format Data.Time.Calendar.Private Data.Time.Calendar.Days
1277− Data.Time.Calendar.Gregorian Data.Time.Calendar.CalendarDiffDays
1278− Data.Time.Calendar.Week Data.Time.Calendar.JulianYearDay
1279− Data.Time.Clock.Internal.DiffTime
1280− Data.Time.Clock.Internal.AbsoluteTime
1281− Data.Time.Clock.Internal.NominalDiffTime
1282− Data.Time.Clock.Internal.POSIXTime
1283− Data.Time.Clock.Internal.UniversalTime
1284− Data.Time.Clock.Internal.SystemTime
1285− Data.Time.Clock.Internal.UTCTime Data.Time.Clock.Internal.CTimeval
1286− Data.Time.Clock.Internal.CTimespec Data.Time.Clock.Internal.UTCDiff
1287− Data.Time.LocalTime.Internal.TimeZone
1288− Data.Time.LocalTime.Internal.TimeOfDay
1289− Data.Time.LocalTime.Internal.CalendarDiffTime
1290− Data.Time.LocalTime.Internal.LocalTime
1291− Data.Time.LocalTime.Internal.ZonedTime Data.Time.Format.Parse
1292− Data.Time.Format.Locale Data.Time.Format.Format.Class
1293− Data.Time.Format.Format.Instances Data.Time.Format.Parse.Class
1294− Data.Time.Format.Parse.Instances
1295−import-dirs:
1296−library-dirs:
1297−dynamic-library-dirs:
1298−data-dir:
1299−hs-libraries: HStime-1.9.3
1300−include-dirs:
1301−depends: base-4.15.0.0 deepseq-1.4.5.0
1302−haddock-interfaces:
1303−haddock-html:
1304−---
1305−name: transformers
1306−version: 0.5.6.2
1307−visibility: public
1308−id: transformers-0.5.6.2
1309−key: transformers-0.5.6.2
1310−license: BSD-3-Clause
1311−maintainer: Ross Paterson <R.Paterson@city.ac.uk>
1312−author: Andy Gill, Ross Paterson
1313−synopsis: Concrete functor and monad transformers
1314−description:
1315− A portable library of functor and monad transformers, inspired by
1316− the paper
1317− * \"Functional Programming with Overloading and Higher-Order
1318− Polymorphism\", by Mark P Jones,
1319− in /Advanced School of Functional Programming/, 1995
1320− (<http://web.cecs.pdx.edu/~mpj/pubs/springschool.html>).
1321− This package contains:
1322− * the monad transformer class (in "Control.Monad.Trans.Class")
1323− * concrete functor and monad transformers, each with associated
1324− operations and functions to lift operations associated with other
1325− transformers.
1326− The package can be used on its own in portable Haskell code, in
1327− which case operations need to be manually lifted through transformer
1328− stacks (see "Control.Monad.Trans.Class" for some examples).
1329− Alternatively, it can be used with the non-portable monad classes in
1330− the @mtl@ or @monads-tf@ packages, which automatically lift operations
1331− introduced by monad transformers through other transformers.
1332−category: Control
1333−exposed: True
1334−exposed-modules:
1335− Control.Applicative.Backwards Control.Applicative.Lift
1336− Control.Monad.Signatures Control.Monad.Trans.Accum
1337− Control.Monad.Trans.Class Control.Monad.Trans.Cont
1338− Control.Monad.Trans.Error Control.Monad.Trans.Except
1339− Control.Monad.Trans.Identity Control.Monad.Trans.List
1340− Control.Monad.Trans.Maybe Control.Monad.Trans.RWS
1341− Control.Monad.Trans.RWS.CPS Control.Monad.Trans.RWS.Lazy
1342− Control.Monad.Trans.RWS.Strict Control.Monad.Trans.Reader
1343− Control.Monad.Trans.Select Control.Monad.Trans.State
1344− Control.Monad.Trans.State.Lazy Control.Monad.Trans.State.Strict
1345− Control.Monad.Trans.Writer Control.Monad.Trans.Writer.CPS
1346− Control.Monad.Trans.Writer.Lazy Control.Monad.Trans.Writer.Strict
1347− Data.Functor.Constant Data.Functor.Reverse
1348−import-dirs:
1349−library-dirs:
1350−dynamic-library-dirs:
1351−data-dir:
1352−hs-libraries: HStransformers-0.5.6.2
1353−depends: base-4.15.0.0
1354−haddock-interfaces:
1355−haddock-html:
1356−---
1357−name: unix
1358−version: 2.7.2.2
1359−visibility: public
1360−id: unix-2.7.2.2
1361−key: unix-2.7.2.2
1362−license: BSD-3-Clause
1363−maintainer: libraries@haskell.org
1364−homepage: https://github.com/haskell/unix
1365−synopsis: POSIX functionality
1366−description:
1367− This package gives you access to the set of operating system
1368− services standardised by
1369− <http://pubs.opengroup.org/onlinepubs/9699919799/ POSIX.1-2008>
1370− (or the IEEE Portable Operating System Interface for Computing
1371− Environments - IEEE Std. 1003.1).
1372− The package is not supported under Windows.
1373−category: System
1374−exposed: True
1375−exposed-modules:
1376− System.Posix System.Posix.ByteString
1377− System.Posix.ByteString.FilePath System.Posix.Directory
1378− System.Posix.Directory.ByteString System.Posix.DynamicLinker
1379− System.Posix.DynamicLinker.ByteString
1380− System.Posix.DynamicLinker.Module
1381− System.Posix.DynamicLinker.Module.ByteString
1382− System.Posix.DynamicLinker.Prim System.Posix.Env
1383− System.Posix.Env.ByteString System.Posix.Error System.Posix.Fcntl
1384− System.Posix.Files System.Posix.Files.ByteString System.Posix.IO
1385− System.Posix.IO.ByteString System.Posix.Process
1386− System.Posix.Process.ByteString System.Posix.Process.Internals
1387− System.Posix.Resource System.Posix.Semaphore System.Posix.SharedMem
1388− System.Posix.Signals System.Posix.Signals.Exts System.Posix.Temp
1389− System.Posix.Temp.ByteString System.Posix.Terminal
1390− System.Posix.Terminal.ByteString System.Posix.Time
1391− System.Posix.Unistd System.Posix.User
1392−hidden-modules:
1393− System.Posix.Directory.Common System.Posix.DynamicLinker.Common
1394− System.Posix.Files.Common System.Posix.IO.Common
1395− System.Posix.Process.Common System.Posix.Terminal.Common
1396−import-dirs:
1397−library-dirs:
1398−dynamic-library-dirs:
1399−data-dir:
1400−hs-libraries: HSunix-2.7.2.2
1401−extra-libraries: rt util dl pthread
1402−include-dirs:
1403−includes: HsUnix.h execvpe.h
1404−depends: base-4.15.0.0 bytestring-0.10.12.1 time-1.9.3
1405−haddock-interfaces:
1406−haddock-html:
1407−---
1408−name: rts
1409−version: 1.0
1410−visibility: public
1411−id: rts
1412−key: rts
1413−license: BSD-3-Clause
1414−maintainer: glasgow-haskell-users@haskell.org
1415−exposed: True
1416−library-dirs:
1417−hs-libraries: HSrts
1418−extra-libraries: m rt dl ffi numa pthread
1419−include-dirs:
1420−includes: Stg.h
1421−ld-options:
1422− "-Wl,-u,base_GHCziTopHandler_runIO_closure"
1423− "-Wl,-u,base_GHCziTopHandler_runNonIO_closure"
1424− "-Wl,-u,ghczmprim_GHCziTuple_Z0T_closure"
1425− "-Wl,-u,ghczmprim_GHCziTypes_True_closure"
1426− "-Wl,-u,ghczmprim_GHCziTypes_False_closure"
1427− "-Wl,-u,base_GHCziPack_unpackCString_closure"
1428− "-Wl,-u,base_GHCziWeak_runFinalizzerBatch_closure"
1429− "-Wl,-u,base_GHCziIOziException_stackOverflow_closure"
1430− "-Wl,-u,base_GHCziIOziException_heapOverflow_closure"
1431− "-Wl,-u,base_GHCziIOziException_allocationLimitExceeded_closure"
1432− "-Wl,-u,base_GHCziIOziException_blockedIndefinitelyOnMVar_closure"
1433− "-Wl,-u,base_GHCziIOziException_blockedIndefinitelyOnSTM_closure"
1434− "-Wl,-u,base_GHCziIOziException_cannotCompactFunction_closure"
1435− "-Wl,-u,base_GHCziIOziException_cannotCompactPinned_closure"
1436− "-Wl,-u,base_GHCziIOziException_cannotCompactMutable_closure"
1437− "-Wl,-u,base_GHCziIOPort_doubleReadException_closure"
1438− "-Wl,-u,base_ControlziExceptionziBase_nonTermination_closure"
1439− "-Wl,-u,base_ControlziExceptionziBase_nestedAtomically_closure"
1440− "-Wl,-u,base_GHCziEventziThread_blockedOnBadFD_closure"
1441− "-Wl,-u,base_GHCziExceptionziType_divZZeroException_closure"
1442− "-Wl,-u,base_GHCziExceptionziType_underflowException_closure"
1443− "-Wl,-u,base_GHCziExceptionziType_overflowException_closure"
1444− "-Wl,-u,base_GHCziConcziSync_runSparks_closure"
1445− "-Wl,-u,base_GHCziConcziIO_ensureIOManagerIsRunning_closure"
1446− "-Wl,-u,base_GHCziConcziIO_interruptIOManager_closure"
1447− "-Wl,-u,base_GHCziConcziIO_ioManagerCapabilitiesChanged_closure"
1448− "-Wl,-u,base_GHCziConcziSignal_runHandlersPtr_closure"
1449− "-Wl,-u,base_GHCziTopHandler_flushStdHandles_closure"
1450− "-Wl,-u,base_GHCziTopHandler_runMainIO_closure"
1451− "-Wl,-u,ghczmprim_GHCziTypes_Czh_con_info"
1452− "-Wl,-u,ghczmprim_GHCziTypes_Izh_con_info"
1453− "-Wl,-u,ghczmprim_GHCziTypes_Fzh_con_info"
1454− "-Wl,-u,ghczmprim_GHCziTypes_Dzh_con_info"
1455− "-Wl,-u,ghczmprim_GHCziTypes_Wzh_con_info"
1456− "-Wl,-u,base_GHCziPtr_Ptr_con_info"
1457− "-Wl,-u,base_GHCziPtr_FunPtr_con_info"
1458− "-Wl,-u,base_GHCziInt_I8zh_con_info"
1459− "-Wl,-u,base_GHCziInt_I16zh_con_info"
1460− "-Wl,-u,base_GHCziInt_I32zh_con_info"
1461− "-Wl,-u,base_GHCziInt_I64zh_con_info"
1462− "-Wl,-u,base_GHCziWord_W8zh_con_info"
1463− "-Wl,-u,base_GHCziWord_W16zh_con_info"
1464− "-Wl,-u,base_GHCziWord_W32zh_con_info"
1465− "-Wl,-u,base_GHCziWord_W64zh_con_info"
1466− "-Wl,-u,base_GHCziStable_StablePtr_con_info"
1467− "-Wl,-u,hs_atomic_add8" "-Wl,-u,hs_atomic_add16"
1468− "-Wl,-u,hs_atomic_add32" "-Wl,-u,hs_atomic_add64"
1469− "-Wl,-u,hs_atomic_sub8" "-Wl,-u,hs_atomic_sub16"
1470− "-Wl,-u,hs_atomic_sub32" "-Wl,-u,hs_atomic_sub64"
1471− "-Wl,-u,hs_atomic_and8" "-Wl,-u,hs_atomic_and16"
1472− "-Wl,-u,hs_atomic_and32" "-Wl,-u,hs_atomic_and64"
1473− "-Wl,-u,hs_atomic_nand8" "-Wl,-u,hs_atomic_nand16"
1474− "-Wl,-u,hs_atomic_nand32" "-Wl,-u,hs_atomic_nand64"
1475− "-Wl,-u,hs_atomic_or8" "-Wl,-u,hs_atomic_or16"
1476− "-Wl,-u,hs_atomic_or32" "-Wl,-u,hs_atomic_or64"
1477− "-Wl,-u,hs_atomic_xor8" "-Wl,-u,hs_atomic_xor16"
1478− "-Wl,-u,hs_atomic_xor32" "-Wl,-u,hs_atomic_xor64"
1479− "-Wl,-u,hs_cmpxchg8" "-Wl,-u,hs_cmpxchg16" "-Wl,-u,hs_cmpxchg32"
1480− "-Wl,-u,hs_cmpxchg64" "-Wl,-u,hs_xchg8" "-Wl,-u,hs_xchg16"
1481− "-Wl,-u,hs_xchg32" "-Wl,-u,hs_xchg64" "-Wl,-u,hs_atomicread8"
1482− "-Wl,-u,hs_atomicread16" "-Wl,-u,hs_atomicread32"
1483− "-Wl,-u,hs_atomicread64" "-Wl,-u,hs_atomicwrite8"
1484− "-Wl,-u,hs_atomicwrite16" "-Wl,-u,hs_atomicwrite32"
1485− "-Wl,-u,hs_atomicwrite64"
materialized/dummy-ghc/aarch64-unknown-linux-gnu-aarch64-unknown-linux-gnu-ghc-9.0.1-x86_64-linux/ghc-pkg/versiondeleted−1
@@ -1 +0,0 @@
1−GHC package manager version 9.0.1
materialized/dummy-ghc/aarch64-unknown-linux-gnu-aarch64-unknown-linux-gnu-ghc-9.0.1-x86_64-linux/ghc/infodeleted−70
@@ -1,70 +0,0 @@
1− [("Project name","The Glorious Glasgow Haskell Compilation System")
2− ,("GCC extra via C opts","")
3− ,("C compiler flags","")
4− ,("C++ compiler flags","")
5− ,("C compiler link flags","-Wl,-z,noexecstack")
6− ,("C compiler supports -no-pie","YES")
7− ,("Haskell CPP flags","-E -undef -traditional")
8− ,("ld flags","-z noexecstack")
9− ,("ld supports compact unwind","YES")
10− ,("ld supports build-id","YES")
11− ,("ld supports filelist","NO")
12− ,("ld is GNU ld","YES")
13− ,("Merge objects flags","-r")
14− ,("ar flags","q")
15− ,("ar supports at file","YES")
16− ,("otool command","otool")
17− ,("install_name_tool command","install_name_tool")
18− ,("touch command","touch")
19− ,("dllwrap command","/bin/false")
20− ,("windres command","/bin/false")
21− ,("libtool command","libtool")
22− ,("cross compiling","YES")
23− ,("target platform string","aarch64-unknown-linux")
24− ,("target os","OSLinux")
25− ,("target arch","ArchAArch64")
26− ,("target word size","8")
27− ,("target word big endian","NO")
28− ,("target has GNU nonexec stack","YES")
29− ,("target has .ident directive","YES")
30− ,("target has subsections via symbols","NO")
31− ,("target has RTS linker","YES")
32− ,("Unregisterised","NO")
33− ,("LLVM target","aarch64-unknown-linux")
34− ,("LLVM llc command","llc")
35− ,("LLVM opt command","opt")
36− ,("LLVM clang command","clang")
37− ,("bignum backend","native")
38− ,("Use interpreter","YES")
39− ,("Support SMP","YES")
40− ,("RTS ways","l debug thr thr_debug thr_l thr_p thr_debug_p debug_p")
41− ,("Tables next to code","YES")
42− ,("Leading underscore","NO")
43− ,("Use LibFFI","YES")
44− ,("Use Threads","YES")
45− ,("Use Debugging","NO")
46− ,("RTS expects libdw","NO")
47− ,("Project version","9.0.1")
48− ,("Project Git commit id","da53a348150d30193a6f28e1b7ddcabdf45ab726")
49− ,("Booter version","8.8.4")
50− ,("Stage","1")
51− ,("Build platform","x86_64-unknown-linux")
52− ,("Host platform","x86_64-unknown-linux")
53− ,("Target platform","aarch64-unknown-linux")
54− ,("Have interpreter","YES")
55− ,("Object splitting supported","NO")
56− ,("Have native code generator","NO")
57− ,("Target default backend","LLVM")
58− ,("Support dynamic-too","YES")
59− ,("Support parallel --make","YES")
60− ,("Support reexported-modules","YES")
61− ,("Support thinning and renaming package flags","YES")
62− ,("Support Backpack","YES")
63− ,("Requires unified installed package IDs","YES")
64− ,("Uses package keys","YES")
65− ,("Uses unit IDs","YES")
66− ,("Dynamic by default","NO")
67− ,("GHC Dynamic","NO")
68− ,("GHC Profiled","NO")
69− ,("Debug on","NO")
70− ]
materialized/dummy-ghc/aarch64-unknown-linux-gnu-aarch64-unknown-linux-gnu-ghc-9.0.1-x86_64-linux/ghc/numeric-versiondeleted−1
@@ -1 +0,0 @@
1−9.0.1
materialized/dummy-ghc/aarch64-unknown-linux-gnu-aarch64-unknown-linux-gnu-ghc-9.0.1-x86_64-linux/ghc/supported-languagesdeleted−261
@@ -1,261 +0,0 @@
1−Haskell98
2−Haskell2010
3−Unsafe
4−Trustworthy
5−Safe
6−AllowAmbiguousTypes
7−NoAllowAmbiguousTypes
8−AlternativeLayoutRule
9−NoAlternativeLayoutRule
10−AlternativeLayoutRuleTransitional
11−NoAlternativeLayoutRuleTransitional
12−Arrows
13−NoArrows
14−AutoDeriveTypeable
15−NoAutoDeriveTypeable
16−BangPatterns
17−NoBangPatterns
18−BinaryLiterals
19−NoBinaryLiterals
20−CApiFFI
21−NoCApiFFI
22−CPP
23−NoCPP
24−CUSKs
25−NoCUSKs
26−ConstrainedClassMethods
27−NoConstrainedClassMethods
28−ConstraintKinds
29−NoConstraintKinds
30−DataKinds
31−NoDataKinds
32−DatatypeContexts
33−NoDatatypeContexts
34−DefaultSignatures
35−NoDefaultSignatures
36−DeriveAnyClass
37−NoDeriveAnyClass
38−DeriveDataTypeable
39−NoDeriveDataTypeable
40−DeriveFoldable
41−NoDeriveFoldable
42−DeriveFunctor
43−NoDeriveFunctor
44−DeriveGeneric
45−NoDeriveGeneric
46−DeriveLift
47−NoDeriveLift
48−DeriveTraversable
49−NoDeriveTraversable
50−DerivingStrategies
51−NoDerivingStrategies
52−DerivingVia
53−NoDerivingVia
54−DisambiguateRecordFields
55−NoDisambiguateRecordFields
56−DoAndIfThenElse
57−NoDoAndIfThenElse
58−BlockArguments
59−NoBlockArguments
60−DoRec
61−NoDoRec
62−DuplicateRecordFields
63−NoDuplicateRecordFields
64−EmptyCase
65−NoEmptyCase
66−EmptyDataDecls
67−NoEmptyDataDecls
68−EmptyDataDeriving
69−NoEmptyDataDeriving
70−ExistentialQuantification
71−NoExistentialQuantification
72−ExplicitForAll
73−NoExplicitForAll
74−ExplicitNamespaces
75−NoExplicitNamespaces
76−ExtendedDefaultRules
77−NoExtendedDefaultRules
78−FlexibleContexts
79−NoFlexibleContexts
80−FlexibleInstances
81−NoFlexibleInstances
82−ForeignFunctionInterface
83−NoForeignFunctionInterface
84−FunctionalDependencies
85−NoFunctionalDependencies
86−GADTSyntax
87−NoGADTSyntax
88−GADTs
89−NoGADTs
90−GHCForeignImportPrim
91−NoGHCForeignImportPrim
92−GeneralizedNewtypeDeriving
93−NoGeneralizedNewtypeDeriving
94−GeneralisedNewtypeDeriving
95−NoGeneralisedNewtypeDeriving
96−ImplicitParams
97−NoImplicitParams
98−ImplicitPrelude
99−NoImplicitPrelude
100−ImportQualifiedPost
101−NoImportQualifiedPost
102−ImpredicativeTypes
103−NoImpredicativeTypes
104−IncoherentInstances
105−NoIncoherentInstances
106−TypeFamilyDependencies
107−NoTypeFamilyDependencies
108−InstanceSigs
109−NoInstanceSigs
110−ApplicativeDo
111−NoApplicativeDo
112−InterruptibleFFI
113−NoInterruptibleFFI
114−JavaScriptFFI
115−NoJavaScriptFFI
116−KindSignatures
117−NoKindSignatures
118−LambdaCase
119−NoLambdaCase
120−LexicalNegation
121−NoLexicalNegation
122−LiberalTypeSynonyms
123−NoLiberalTypeSynonyms
124−LinearTypes
125−NoLinearTypes
126−MagicHash
127−NoMagicHash
128−MonadComprehensions
129−NoMonadComprehensions
130−MonadFailDesugaring
131−NoMonadFailDesugaring
132−MonoLocalBinds
133−NoMonoLocalBinds
134−MonoPatBinds
135−NoMonoPatBinds
136−MonomorphismRestriction
137−NoMonomorphismRestriction
138−MultiParamTypeClasses
139−NoMultiParamTypeClasses
140−MultiWayIf
141−NoMultiWayIf
142−NumericUnderscores
143−NoNumericUnderscores
144−NPlusKPatterns
145−NoNPlusKPatterns
146−NamedFieldPuns
147−NoNamedFieldPuns
148−NamedWildCards
149−NoNamedWildCards
150−NegativeLiterals
151−NoNegativeLiterals
152−HexFloatLiterals
153−NoHexFloatLiterals
154−NondecreasingIndentation
155−NoNondecreasingIndentation
156−NullaryTypeClasses
157−NoNullaryTypeClasses
158−NumDecimals
159−NoNumDecimals
160−OverlappingInstances
161−NoOverlappingInstances
162−OverloadedLabels
163−NoOverloadedLabels
164−OverloadedLists
165−NoOverloadedLists
166−OverloadedStrings
167−NoOverloadedStrings
168−PackageImports
169−NoPackageImports
170−ParallelArrays
171−NoParallelArrays
172−ParallelListComp
173−NoParallelListComp
174−PartialTypeSignatures
175−NoPartialTypeSignatures
176−PatternGuards
177−NoPatternGuards
178−PatternSignatures
179−NoPatternSignatures
180−PatternSynonyms
181−NoPatternSynonyms
182−PolyKinds
183−NoPolyKinds
184−PolymorphicComponents
185−NoPolymorphicComponents
186−QuantifiedConstraints
187−NoQuantifiedConstraints
188−PostfixOperators
189−NoPostfixOperators
190−QuasiQuotes
191−NoQuasiQuotes
192−QualifiedDo
193−NoQualifiedDo
194−Rank2Types
195−NoRank2Types
196−RankNTypes
197−NoRankNTypes
198−RebindableSyntax
199−NoRebindableSyntax
200−RecordPuns
201−NoRecordPuns
202−RecordWildCards
203−NoRecordWildCards
204−RecursiveDo
205−NoRecursiveDo
206−RelaxedLayout
207−NoRelaxedLayout
208−RelaxedPolyRec
209−NoRelaxedPolyRec
210−RoleAnnotations
211−NoRoleAnnotations
212−ScopedTypeVariables
213−NoScopedTypeVariables
214−StandaloneDeriving
215−NoStandaloneDeriving
216−StarIsType
217−NoStarIsType
218−StaticPointers
219−NoStaticPointers
220−Strict
221−NoStrict
222−StrictData
223−NoStrictData
224−TemplateHaskell
225−NoTemplateHaskell
226−TemplateHaskellQuotes
227−NoTemplateHaskellQuotes
228−StandaloneKindSignatures
229−NoStandaloneKindSignatures
230−TraditionalRecordSyntax
231−NoTraditionalRecordSyntax
232−TransformListComp
233−NoTransformListComp
234−TupleSections
235−NoTupleSections
236−TypeApplications
237−NoTypeApplications
238−TypeInType
239−NoTypeInType
240−TypeFamilies
241−NoTypeFamilies
242−TypeOperators
243−NoTypeOperators
244−TypeSynonymInstances
245−NoTypeSynonymInstances
246−UnboxedTuples
247−NoUnboxedTuples
248−UnboxedSums
249−NoUnboxedSums
250−UndecidableInstances
251−NoUndecidableInstances
252−UndecidableSuperClasses
253−NoUndecidableSuperClasses
254−UnicodeSyntax
255−NoUnicodeSyntax
256−UnliftedFFITypes
257−NoUnliftedFFITypes
258−UnliftedNewtypes
259−NoUnliftedNewtypes
260−ViewPatterns
261−NoViewPatterns
materialized/dummy-ghc/aarch64-unknown-linux-gnu-aarch64-unknown-linux-gnu-ghc-9.0.1-x86_64-linux/ghc/versiondeleted−1
@@ -1 +0,0 @@
1−The Glorious Glasgow Haskell Compilation System, version 9.0.1
materialized/dummy-ghc/aarch64-unknown-linux-gnu-aarch64-unknown-linux-gnu-ghc-9.2.4-x86_64-linux/ghc-pkg/dump-globaldeleted−1512
@@ -1,1512 +0,0 @@
1−name: Cabal
2−version: 3.6.3.0
3−visibility: public
4−id: Cabal-3.6.3.0
5−key: Cabal-3.6.3.0
6−license: BSD-3-Clause
7−copyright: 2003-2021, Cabal Development Team (see AUTHORS file)
8−maintainer: cabal-devel@haskell.org
9−author: Cabal Development Team <cabal-devel@haskell.org>
10−homepage: http://www.haskell.org/cabal/
11−synopsis: A framework for packaging Haskell software
12−description:
13− The Haskell Common Architecture for Building Applications and
14− Libraries: a framework defining a common interface for authors to more
15− easily build their Haskell applications in a portable way.
16− The Haskell Cabal is part of a larger infrastructure for distributing,
17− organizing, and cataloging Haskell libraries and tools.
18−category: Distribution
19−exposed: True
20−exposed-modules:
21− Distribution.Backpack Distribution.Backpack.ComponentsGraph
22− Distribution.Backpack.Configure
23− Distribution.Backpack.ConfiguredComponent
24− Distribution.Backpack.DescribeUnitId
25− Distribution.Backpack.FullUnitId
26− Distribution.Backpack.LinkedComponent
27− Distribution.Backpack.ModSubst Distribution.Backpack.ModuleShape
28− Distribution.Backpack.PreModuleShape Distribution.CabalSpecVersion
29− Distribution.Compat.Binary Distribution.Compat.CharParsing
30− Distribution.Compat.CreatePipe Distribution.Compat.DList
31− Distribution.Compat.Directory Distribution.Compat.Environment
32− Distribution.Compat.Exception Distribution.Compat.FilePath
33− Distribution.Compat.Graph Distribution.Compat.Internal.TempFile
34− Distribution.Compat.Lens Distribution.Compat.Newtype
35− Distribution.Compat.NonEmptySet Distribution.Compat.Parsing
36− Distribution.Compat.Prelude.Internal Distribution.Compat.Process
37− Distribution.Compat.ResponseFile Distribution.Compat.Semigroup
38− Distribution.Compat.Stack Distribution.Compat.Time
39− Distribution.Compat.Typeable Distribution.Compiler
40− Distribution.FieldGrammar Distribution.FieldGrammar.Class
41− Distribution.FieldGrammar.FieldDescrs
42− Distribution.FieldGrammar.Newtypes Distribution.FieldGrammar.Parsec
43− Distribution.FieldGrammar.Pretty Distribution.Fields
44− Distribution.Fields.ConfVar Distribution.Fields.Field
45− Distribution.Fields.Lexer Distribution.Fields.LexerMonad
46− Distribution.Fields.ParseResult Distribution.Fields.Parser
47− Distribution.Fields.Pretty Distribution.InstalledPackageInfo
48− Distribution.License Distribution.Make Distribution.ModuleName
49− Distribution.Package Distribution.PackageDescription
50− Distribution.PackageDescription.Check
51− Distribution.PackageDescription.Configuration
52− Distribution.PackageDescription.FieldGrammar
53− Distribution.PackageDescription.Parsec
54− Distribution.PackageDescription.PrettyPrint
55− Distribution.PackageDescription.Quirks
56− Distribution.PackageDescription.Utils Distribution.Parsec
57− Distribution.Parsec.Error Distribution.Parsec.FieldLineStream
58− Distribution.Parsec.Position Distribution.Parsec.Warning
59− Distribution.Pretty Distribution.ReadE Distribution.SPDX
60− Distribution.SPDX.License Distribution.SPDX.LicenseExceptionId
61− Distribution.SPDX.LicenseExpression Distribution.SPDX.LicenseId
62− Distribution.SPDX.LicenseListVersion
63− Distribution.SPDX.LicenseReference Distribution.Simple
64− Distribution.Simple.Bench Distribution.Simple.Build
65− Distribution.Simple.Build.Macros
66− Distribution.Simple.Build.PathsModule
67− Distribution.Simple.BuildPaths Distribution.Simple.BuildTarget
68− Distribution.Simple.BuildToolDepends Distribution.Simple.CCompiler
69− Distribution.Simple.Command Distribution.Simple.Compiler
70− Distribution.Simple.Configure Distribution.Simple.Flag
71− Distribution.Simple.GHC Distribution.Simple.GHCJS
72− Distribution.Simple.Glob Distribution.Simple.Haddock
73− Distribution.Simple.HaskellSuite Distribution.Simple.Hpc
74− Distribution.Simple.Install Distribution.Simple.InstallDirs
75− Distribution.Simple.InstallDirs.Internal
76− Distribution.Simple.LocalBuildInfo Distribution.Simple.PackageIndex
77− Distribution.Simple.PreProcess Distribution.Simple.PreProcess.Unlit
78− Distribution.Simple.Program Distribution.Simple.Program.Ar
79− Distribution.Simple.Program.Builtin Distribution.Simple.Program.Db
80− Distribution.Simple.Program.Find Distribution.Simple.Program.GHC
81− Distribution.Simple.Program.HcPkg Distribution.Simple.Program.Hpc
82− Distribution.Simple.Program.Internal Distribution.Simple.Program.Ld
83− Distribution.Simple.Program.ResponseFile
84− Distribution.Simple.Program.Run Distribution.Simple.Program.Script
85− Distribution.Simple.Program.Strip Distribution.Simple.Program.Types
86− Distribution.Simple.Register Distribution.Simple.Setup
87− Distribution.Simple.ShowBuildInfo Distribution.Simple.SrcDist
88− Distribution.Simple.Test Distribution.Simple.Test.ExeV10
89− Distribution.Simple.Test.LibV09 Distribution.Simple.Test.Log
90− Distribution.Simple.UHC Distribution.Simple.UserHooks
91− Distribution.Simple.Utils Distribution.System
92− Distribution.TestSuite Distribution.Text
93− Distribution.Types.AbiDependency Distribution.Types.AbiHash
94− Distribution.Types.AnnotatedId Distribution.Types.Benchmark
95− Distribution.Types.Benchmark.Lens
96− Distribution.Types.BenchmarkInterface
97− Distribution.Types.BenchmarkType Distribution.Types.BuildInfo
98− Distribution.Types.BuildInfo.Lens Distribution.Types.BuildType
99− Distribution.Types.Component Distribution.Types.ComponentId
100− Distribution.Types.ComponentInclude
101− Distribution.Types.ComponentLocalBuildInfo
102− Distribution.Types.ComponentName
103− Distribution.Types.ComponentRequestedSpec
104− Distribution.Types.CondTree Distribution.Types.Condition
105− Distribution.Types.ConfVar Distribution.Types.Dependency
106− Distribution.Types.DependencyMap Distribution.Types.ExeDependency
107− Distribution.Types.Executable Distribution.Types.Executable.Lens
108− Distribution.Types.ExecutableScope Distribution.Types.ExposedModule
109− Distribution.Types.Flag Distribution.Types.ForeignLib
110− Distribution.Types.ForeignLib.Lens
111− Distribution.Types.ForeignLibOption
112− Distribution.Types.ForeignLibType
113− Distribution.Types.GenericPackageDescription
114− Distribution.Types.GenericPackageDescription.Lens
115− Distribution.Types.GivenComponent
116− Distribution.Types.HookedBuildInfo
117− Distribution.Types.IncludeRenaming
118− Distribution.Types.InstalledPackageInfo
119− Distribution.Types.InstalledPackageInfo.FieldGrammar
120− Distribution.Types.InstalledPackageInfo.Lens
121− Distribution.Types.LegacyExeDependency Distribution.Types.Lens
122− Distribution.Types.Library Distribution.Types.Library.Lens
123− Distribution.Types.LibraryName Distribution.Types.LibraryVisibility
124− Distribution.Types.LocalBuildInfo Distribution.Types.Mixin
125− Distribution.Types.Module Distribution.Types.ModuleReexport
126− Distribution.Types.ModuleRenaming
127− Distribution.Types.MungedPackageId
128− Distribution.Types.MungedPackageName
129− Distribution.Types.PackageDescription
130− Distribution.Types.PackageDescription.Lens
131− Distribution.Types.PackageId Distribution.Types.PackageId.Lens
132− Distribution.Types.PackageName Distribution.Types.PackageName.Magic
133− Distribution.Types.PackageVersionConstraint
134− Distribution.Types.PkgconfigDependency
135− Distribution.Types.PkgconfigName
136− Distribution.Types.PkgconfigVersion
137− Distribution.Types.PkgconfigVersionRange
138− Distribution.Types.SetupBuildInfo
139− Distribution.Types.SetupBuildInfo.Lens
140− Distribution.Types.SourceRepo Distribution.Types.SourceRepo.Lens
141− Distribution.Types.TargetInfo Distribution.Types.TestSuite
142− Distribution.Types.TestSuite.Lens
143− Distribution.Types.TestSuiteInterface Distribution.Types.TestType
144− Distribution.Types.UnitId Distribution.Types.UnqualComponentName
145− Distribution.Types.Version Distribution.Types.VersionInterval
146− Distribution.Types.VersionInterval.Legacy
147− Distribution.Types.VersionRange
148− Distribution.Types.VersionRange.Internal Distribution.Utils.Generic
149− Distribution.Utils.IOData Distribution.Utils.LogProgress
150− Distribution.Utils.MD5 Distribution.Utils.MapAccum
151− Distribution.Utils.NubList Distribution.Utils.Path
152− Distribution.Utils.Progress Distribution.Utils.ShortText
153− Distribution.Utils.Structured Distribution.Verbosity
154− Distribution.Verbosity.Internal Distribution.Version
155− Language.Haskell.Extension
156−hidden-modules:
157− Distribution.Backpack.PreExistingComponent
158− Distribution.Backpack.ReadyComponent Distribution.Backpack.MixLink
159− Distribution.Backpack.ModuleScope Distribution.Backpack.UnifyM
160− Distribution.Backpack.Id Distribution.Utils.UnionFind
161− Distribution.Utils.Base62 Distribution.Compat.Async
162− Distribution.Compat.CopyFile Distribution.Compat.GetShortPathName
163− Distribution.Compat.MonadFail Distribution.Compat.Prelude
164− Distribution.Compat.SnocList Distribution.GetOpt Distribution.Lex
165− Distribution.Utils.String Distribution.Simple.Build.Macros.Z
166− Distribution.Simple.Build.PathsModule.Z
167− Distribution.Simple.GHC.EnvironmentParser
168− Distribution.Simple.GHC.Internal Distribution.Simple.GHC.ImplInfo
169− Distribution.Simple.Utils.Json Distribution.ZinzaPrelude
170− Paths_Cabal
171−import-dirs:
172−library-dirs:
173−dynamic-library-dirs:
174−data-dir:
175−hs-libraries: HSCabal-3.6.3.0
176−depends:
177− array-0.5.4.0 base-4.16.3.0 binary-0.8.9.0 bytestring-0.11.3.1
178− containers-0.6.5.1 deepseq-1.4.6.1 directory-1.3.6.2
179− filepath-1.4.2.2 mtl-2.2.2 parsec-3.1.15.0 pretty-1.1.3.6
180− process-1.6.13.2 text-1.2.5.0 time-1.11.1.1 transformers-0.5.6.2
181− unix-2.7.2.2
182−haddock-interfaces:
183−haddock-html:
184−---
185−name: array
186−version: 0.5.4.0
187−visibility: public
188−id: array-0.5.4.0
189−key: array-0.5.4.0
190−license: BSD-3-Clause
191−maintainer: libraries@haskell.org
192−synopsis: Mutable and immutable arrays
193−description:
194− In addition to providing the "Data.Array" module
195− <http://www.haskell.org/onlinereport/haskell2010/haskellch14.html as specified in the Haskell 2010 Language Report>,
196− this package also defines the classes 'IArray' of
197− immutable arrays and 'MArray' of arrays mutable within appropriate
198− monads, as well as some instances of these classes.
199−category: Data Structures
200−exposed: True
201−exposed-modules:
202− Data.Array Data.Array.Base Data.Array.IArray Data.Array.IO
203− Data.Array.IO.Internals Data.Array.IO.Safe Data.Array.MArray
204− Data.Array.MArray.Safe Data.Array.ST Data.Array.ST.Safe
205− Data.Array.Storable Data.Array.Storable.Internals
206− Data.Array.Storable.Safe Data.Array.Unboxed Data.Array.Unsafe
207−import-dirs:
208−library-dirs:
209−dynamic-library-dirs:
210−data-dir:
211−hs-libraries: HSarray-0.5.4.0
212−depends: base-4.16.3.0
213−haddock-interfaces:
214−haddock-html:
215−---
216−name: base
217−version: 4.16.3.0
218−visibility: public
219−id: base-4.16.3.0
220−key: base-4.16.3.0
221−license: BSD-3-Clause
222−maintainer: libraries@haskell.org
223−synopsis: Basic libraries
224−description:
225− This package contains the Standard Haskell "Prelude" and its support libraries,
226− and a large collection of useful libraries ranging from data
227− structures to parsing combinators and debugging utilities.
228−category: Prelude
229−exposed: True
230−exposed-modules:
231− Control.Applicative, Control.Arrow, Control.Category,
232− Control.Concurrent, Control.Concurrent.Chan,
233− Control.Concurrent.MVar, Control.Concurrent.QSem,
234− Control.Concurrent.QSemN, Control.Exception,
235− Control.Exception.Base, Control.Monad, Control.Monad.Fail,
236− Control.Monad.Fix, Control.Monad.IO.Class, Control.Monad.Instances,
237− Control.Monad.ST, Control.Monad.ST.Lazy,
238− Control.Monad.ST.Lazy.Safe, Control.Monad.ST.Lazy.Unsafe,
239− Control.Monad.ST.Safe, Control.Monad.ST.Strict,
240− Control.Monad.ST.Unsafe, Control.Monad.Zip, Data.Bifoldable,
241− Data.Bifunctor, Data.Bitraversable, Data.Bits, Data.Bool,
242− Data.Char, Data.Coerce, Data.Complex, Data.Data, Data.Dynamic,
243− Data.Either, Data.Eq, Data.Fixed, Data.Foldable, Data.Function,
244− Data.Functor, Data.Functor.Classes, Data.Functor.Compose,
245− Data.Functor.Const, Data.Functor.Contravariant,
246− Data.Functor.Identity, Data.Functor.Product, Data.Functor.Sum,
247− Data.IORef, Data.Int, Data.Ix, Data.Kind, Data.List,
248− Data.List.NonEmpty, Data.Maybe, Data.Monoid, Data.Ord, Data.Proxy,
249− Data.Ratio, Data.STRef, Data.STRef.Lazy, Data.STRef.Strict,
250− Data.Semigroup, Data.String, Data.Traversable, Data.Tuple,
251− Data.Type.Bool, Data.Type.Coercion, Data.Type.Equality,
252− Data.Type.Ord, Data.Typeable, Data.Unique, Data.Version, Data.Void,
253− Data.Word, Debug.Trace, Foreign, Foreign.C, Foreign.C.Error,
254− Foreign.C.String, Foreign.C.Types, Foreign.Concurrent,
255− Foreign.ForeignPtr, Foreign.ForeignPtr.Safe,
256− Foreign.ForeignPtr.Unsafe, Foreign.Marshal, Foreign.Marshal.Alloc,
257− Foreign.Marshal.Array, Foreign.Marshal.Error, Foreign.Marshal.Pool,
258− Foreign.Marshal.Safe, Foreign.Marshal.Unsafe,
259− Foreign.Marshal.Utils, Foreign.Ptr, Foreign.Safe,
260− Foreign.StablePtr, Foreign.Storable, GHC.Arr, GHC.Base, GHC.Bits,
261− GHC.ByteOrder, GHC.Char, GHC.Clock, GHC.Conc, GHC.Conc.IO,
262− GHC.Conc.Signal, GHC.Conc.Sync, GHC.ConsoleHandler, GHC.Constants,
263− GHC.Desugar, GHC.Enum, GHC.Environment, GHC.Err, GHC.Event,
264− GHC.Event.TimeOut, GHC.Exception, GHC.Exception.Type,
265− GHC.ExecutionStack, GHC.ExecutionStack.Internal, GHC.Exts,
266− GHC.Fingerprint, GHC.Fingerprint.Type, GHC.Float,
267− GHC.Float.ConversionUtils, GHC.Float.RealFracMethods, GHC.Foreign,
268− GHC.ForeignPtr, GHC.GHCi, GHC.GHCi.Helpers, GHC.Generics, GHC.IO,
269− GHC.IO.Buffer, GHC.IO.BufferedIO, GHC.IO.Device, GHC.IO.Encoding,
270− GHC.IO.Encoding.CodePage, GHC.IO.Encoding.Failure,
271− GHC.IO.Encoding.Iconv, GHC.IO.Encoding.Latin1,
272− GHC.IO.Encoding.Types, GHC.IO.Encoding.UTF16,
273− GHC.IO.Encoding.UTF32, GHC.IO.Encoding.UTF8, GHC.IO.Exception,
274− GHC.IO.FD, GHC.IO.Handle, GHC.IO.Handle.FD,
275− GHC.IO.Handle.Internals, GHC.IO.Handle.Lock, GHC.IO.Handle.Text,
276− GHC.IO.Handle.Types, GHC.IO.IOMode, GHC.IO.StdHandles,
277− GHC.IO.SubSystem, GHC.IO.Unsafe, GHC.IOArray, GHC.IOPort,
278− GHC.IORef, GHC.Int, GHC.Integer, GHC.Integer.Logarithms, GHC.Ix,
279− GHC.List, GHC.MVar, GHC.Maybe, GHC.Natural, GHC.Num,
280− GHC.Num.BigNat from ghc-bignum-1.2:GHC.Num.BigNat,
281− GHC.Num.Integer from ghc-bignum-1.2:GHC.Num.Integer,
282− GHC.Num.Natural from ghc-bignum-1.2:GHC.Num.Natural, GHC.OldList,
283− GHC.OverloadedLabels, GHC.Pack, GHC.Profiling, GHC.Ptr,
284− GHC.RTS.Flags, GHC.Read, GHC.Real, GHC.Records, GHC.ResponseFile,
285− GHC.ST, GHC.STRef, GHC.Show, GHC.Stable, GHC.StableName, GHC.Stack,
286− GHC.Stack.CCS, GHC.Stack.Types, GHC.StaticPtr, GHC.Stats,
287− GHC.Storable, GHC.TopHandler, GHC.TypeLits, GHC.TypeLits.Internal,
288− GHC.TypeNats, GHC.TypeNats.Internal, GHC.Unicode, GHC.Weak,
289− GHC.Word, Numeric, Numeric.Natural, Prelude, System.CPUTime,
290− System.Console.GetOpt, System.Environment,
291− System.Environment.Blank, System.Exit, System.IO, System.IO.Error,
292− System.IO.Unsafe, System.Info, System.Mem, System.Mem.StableName,
293− System.Mem.Weak, System.Posix.Internals, System.Posix.Types,
294− System.Timeout, Text.ParserCombinators.ReadP,
295− Text.ParserCombinators.ReadPrec, Text.Printf, Text.Read,
296− Text.Read.Lex, Text.Show, Text.Show.Functions, Type.Reflection,
297− Type.Reflection.Unsafe, Unsafe.Coerce
298−hidden-modules:
299− Control.Monad.ST.Imp Control.Monad.ST.Lazy.Imp Data.Functor.Utils
300− Data.OldList Data.Semigroup.Internal Data.Typeable.Internal
301− Foreign.ForeignPtr.Imp GHC.IO.Handle.Lock.Common
302− GHC.IO.Handle.Lock.Flock GHC.IO.Handle.Lock.LinuxOFD
303− GHC.IO.Handle.Lock.NoOp GHC.IO.Handle.Lock.Windows
304− GHC.StaticPtr.Internal GHC.Event.Arr GHC.Event.Array
305− GHC.Event.Internal GHC.Event.Internal.Types GHC.Event.IntTable
306− GHC.Event.IntVar GHC.Event.PSQ GHC.Event.Unique
307− System.Environment.ExecutablePath System.CPUTime.Utils
308− GHC.Event.Control GHC.Event.EPoll GHC.Event.KQueue
309− GHC.Event.Manager GHC.Event.Poll GHC.Event.Thread
310− GHC.Event.TimerManager System.CPUTime.Posix.ClockGetTime
311− System.CPUTime.Posix.Times System.CPUTime.Posix.RUsage
312− System.CPUTime.Unsupported
313−import-dirs:
314−library-dirs:
315−dynamic-library-dirs:
316−data-dir:
317−hs-libraries: HSbase-4.16.3.0
318−include-dirs:
319−includes: HsBase.h
320−depends: ghc-bignum-1.2 ghc-prim-0.8.0 rts
321−haddock-interfaces:
322−haddock-html:
323−---
324−name: binary
325−version: 0.8.9.0
326−visibility: public
327−id: binary-0.8.9.0
328−key: binary-0.8.9.0
329−license: BSD-3-Clause
330−maintainer: Lennart Kolmodin, Don Stewart <dons00@gmail.com>
331−author: Lennart Kolmodin <kolmodin@gmail.com>
332−stability: provisional
333−homepage: https://github.com/kolmodin/binary
334−synopsis:
335− Binary serialisation for Haskell values using lazy ByteStrings
336−description:
337− Efficient, pure binary serialisation using lazy ByteStrings.
338− Haskell values may be encoded to and from binary formats,
339− written to disk as binary, or sent over the network.
340− The format used can be automatically generated, or
341− you can choose to implement a custom format if needed.
342− Serialisation speeds of over 1 G\/sec have been observed,
343− so this library should be suitable for high performance
344− scenarios.
345−category: Data, Parsing
346−exposed: True
347−exposed-modules:
348− Data.Binary Data.Binary.Builder Data.Binary.Get
349− Data.Binary.Get.Internal Data.Binary.Put
350−hidden-modules:
351− Data.Binary.Class Data.Binary.Internal Data.Binary.Generic
352− Data.Binary.FloatCast
353−import-dirs:
354−library-dirs:
355−dynamic-library-dirs:
356−data-dir:
357−hs-libraries: HSbinary-0.8.9.0
358−depends:
359− array-0.5.4.0 base-4.16.3.0 bytestring-0.11.3.1 containers-0.6.5.1
360−haddock-interfaces:
361−haddock-html:
362−---
363−name: bytestring
364−version: 0.11.3.1
365−visibility: public
366−id: bytestring-0.11.3.1
367−key: bytestring-0.11.3.1
368−license: BSD-3-Clause
369−copyright:
370− Copyright (c) Don Stewart 2005-2009,
371− (c) Duncan Coutts 2006-2015,
372− (c) David Roundy 2003-2005,
373− (c) Jasper Van der Jeugt 2010,
374− (c) Simon Meier 2010-2013.
375−maintainer:
376− Haskell Bytestring Team <andrew.lelechenko@gmail.com>, Core Libraries Committee
377−author:
378− Don Stewart,
379− Duncan Coutts
380−homepage: https://github.com/haskell/bytestring
381−synopsis:
382− Fast, compact, strict and lazy byte strings with a list interface
383−description:
384− An efficient compact, immutable byte string type (both strict and lazy)
385− suitable for binary or 8-bit character data.
386− The 'ByteString' type represents sequences of bytes or 8-bit characters.
387− It is suitable for high performance use, both in terms of large data
388− quantities, or high speed requirements. The 'ByteString' functions follow
389− the same style as Haskell\'s ordinary lists, so it is easy to convert code
390− from using 'String' to 'ByteString'.
391− Two 'ByteString' variants are provided:
392− * Strict 'ByteString's keep the string as a single large array. This
393− makes them convenient for passing data between C and Haskell.
394− * Lazy 'ByteString's use a lazy list of strict chunks which makes it
395− suitable for I\/O streaming tasks.
396− The @Char8@ modules provide a character-based view of the same
397− underlying 'ByteString' types. This makes it convenient to handle mixed
398− binary and 8-bit character content (which is common in many file formats
399− and network protocols).
400− The 'Builder' module provides an efficient way to build up 'ByteString's
401− in an ad-hoc way by repeated concatenation. This is ideal for fast
402− serialisation or pretty printing.
403− There is also a 'ShortByteString' type which has a lower memory overhead
404− and can be converted to or from a 'ByteString'. It is suitable for keeping
405− many short strings in memory.
406− 'ByteString's are not designed for Unicode. For Unicode strings you should
407− use the 'Text' type from the @text@ package.
408− These modules are intended to be imported qualified, to avoid name clashes
409− with "Prelude" functions, e.g.
410− > import qualified Data.ByteString as BS
411−category: Data
412−exposed: True
413−exposed-modules:
414− Data.ByteString Data.ByteString.Builder
415− Data.ByteString.Builder.Extra Data.ByteString.Builder.Internal
416− Data.ByteString.Builder.Prim Data.ByteString.Builder.Prim.Internal
417− Data.ByteString.Builder.RealFloat Data.ByteString.Char8
418− Data.ByteString.Internal Data.ByteString.Lazy
419− Data.ByteString.Lazy.Char8 Data.ByteString.Lazy.Internal
420− Data.ByteString.Short Data.ByteString.Short.Internal
421− Data.ByteString.Unsafe
422−hidden-modules:
423− Data.ByteString.Builder.ASCII Data.ByteString.Builder.Prim.ASCII
424− Data.ByteString.Builder.Prim.Binary
425− Data.ByteString.Builder.Prim.Internal.Base16
426− Data.ByteString.Builder.Prim.Internal.Floating
427− Data.ByteString.Builder.RealFloat.F2S
428− Data.ByteString.Builder.RealFloat.D2S
429− Data.ByteString.Builder.RealFloat.Internal
430− Data.ByteString.Builder.RealFloat.TableGenerator
431− Data.ByteString.Lazy.Internal.Deque
432−import-dirs:
433−library-dirs:
434−dynamic-library-dirs:
435−data-dir:
436−hs-libraries: HSbytestring-0.11.3.1
437−include-dirs:
438−includes: fpstring.h
439−depends:
440− base-4.16.3.0 deepseq-1.4.6.1 ghc-prim-0.8.0
441− template-haskell-2.18.0.0
442−haddock-interfaces:
443−haddock-html:
444−---
445−name: containers
446−version: 0.6.5.1
447−visibility: public
448−id: containers-0.6.5.1
449−key: containers-0.6.5.1
450−license: BSD-3-Clause
451−maintainer: libraries@haskell.org
452−synopsis: Assorted concrete container types
453−description:
454− This package contains efficient general-purpose implementations
455− of various immutable container types including sets, maps, sequences,
456− trees, and graphs.
457− For a walkthrough of what this package provides with examples of common
458− operations see the [containers
459− introduction](https://haskell-containers.readthedocs.io).
460− The declared cost of each operation is either worst-case or amortized, but
461− remains valid even if structures are shared.
462−category: Data Structures
463−exposed: True
464−exposed-modules:
465− Data.Containers.ListUtils Data.Graph Data.IntMap
466− Data.IntMap.Internal Data.IntMap.Internal.Debug Data.IntMap.Lazy
467− Data.IntMap.Merge.Lazy Data.IntMap.Merge.Strict Data.IntMap.Strict
468− Data.IntMap.Strict.Internal Data.IntSet Data.IntSet.Internal
469− Data.Map Data.Map.Internal Data.Map.Internal.Debug Data.Map.Lazy
470− Data.Map.Merge.Lazy Data.Map.Merge.Strict Data.Map.Strict
471− Data.Map.Strict.Internal Data.Sequence Data.Sequence.Internal
472− Data.Sequence.Internal.Sorting Data.Set Data.Set.Internal Data.Tree
473− Utils.Containers.Internal.BitQueue
474− Utils.Containers.Internal.BitUtil
475− Utils.Containers.Internal.StrictPair
476−hidden-modules:
477− Utils.Containers.Internal.State
478− Utils.Containers.Internal.StrictMaybe
479− Utils.Containers.Internal.PtrEquality
480− Utils.Containers.Internal.Coercions
481− Utils.Containers.Internal.TypeError
482− Data.Map.Internal.DeprecatedShowTree
483− Data.IntMap.Internal.DeprecatedDebug
484−import-dirs:
485−library-dirs:
486−dynamic-library-dirs:
487−data-dir:
488−hs-libraries: HScontainers-0.6.5.1
489−depends: array-0.5.4.0 base-4.16.3.0 deepseq-1.4.6.1
490−haddock-interfaces:
491−haddock-html:
492−---
493−name: deepseq
494−version: 1.4.6.1
495−visibility: public
496−id: deepseq-1.4.6.1
497−key: deepseq-1.4.6.1
498−license: BSD-3-Clause
499−maintainer: libraries@haskell.org
500−synopsis: Deep evaluation of data structures
501−description:
502− This package provides methods for fully evaluating data structures
503− (\"deep evaluation\"). Deep evaluation is often used for adding
504− strictness to a program, e.g. in order to force pending exceptions,
505− remove space leaks, or force lazy I/O to happen. It is also useful
506− in parallel programs, to ensure pending work does not migrate to the
507− wrong thread.
508− The primary use of this package is via the 'deepseq' function, a
509− \"deep\" version of 'seq'. It is implemented on top of an 'NFData'
510− typeclass (\"Normal Form Data\", data structures with no unevaluated
511− components) which defines strategies for fully evaluating different
512− data types. See module documentation in "Control.DeepSeq" for more
513− details.
514−category: Control
515−exposed: True
516−exposed-modules: Control.DeepSeq
517−hidden-modules: Control.DeepSeq.BackDoor
518−import-dirs:
519−library-dirs:
520−dynamic-library-dirs:
521−data-dir:
522−hs-libraries: HSdeepseq-1.4.6.1
523−depends: array-0.5.4.0 base-4.16.3.0
524−haddock-interfaces:
525−haddock-html:
526−---
527−name: directory
528−version: 1.3.6.2
529−visibility: public
530−id: directory-1.3.6.2
531−key: directory-1.3.6.2
532−license: BSD-3-Clause
533−maintainer: libraries@haskell.org
534−synopsis: Platform-agnostic library for filesystem operations
535−description:
536− This library provides a basic set of operations for manipulating files and
537− directories in a portable way.
538−category: System
539−exposed: True
540−exposed-modules:
541− System.Directory System.Directory.Internal
542− System.Directory.Internal.Prelude
543−hidden-modules:
544− System.Directory.Internal.C_utimensat
545− System.Directory.Internal.Common System.Directory.Internal.Config
546− System.Directory.Internal.Posix System.Directory.Internal.Windows
547−import-dirs:
548−library-dirs:
549−dynamic-library-dirs:
550−data-dir:
551−hs-libraries: HSdirectory-1.3.6.2
552−depends:
553− base-4.16.3.0 filepath-1.4.2.2 time-1.11.1.1 unix-2.7.2.2
554−haddock-interfaces:
555−haddock-html:
556−---
557−name: exceptions
558−version: 0.10.4
559−visibility: public
560−id: exceptions-0.10.4
561−key: exceptions-0.10.4
562−license: BSD-3-Clause
563−copyright:
564− Copyright (C) 2013-2015 Edward A. Kmett
565− Copyright (C) 2012 Google Inc.
566−maintainer: Edward A. Kmett <ekmett@gmail.com>
567−author: Edward A. Kmett
568−stability: provisional
569−homepage: http://github.com/ekmett/exceptions/
570−synopsis: Extensible optionally-pure exceptions
571−description: Extensible optionally-pure exceptions.
572−category: Control, Exceptions, Monad
573−exposed: True
574−exposed-modules: Control.Monad.Catch Control.Monad.Catch.Pure
575−import-dirs:
576−library-dirs:
577−dynamic-library-dirs:
578−data-dir:
579−hs-libraries: HSexceptions-0.10.4
580−depends:
581− base-4.16.3.0 mtl-2.2.2 stm-2.5.0.2 template-haskell-2.18.0.0
582− transformers-0.5.6.2
583−haddock-interfaces:
584−haddock-html:
585−---
586−name: filepath
587−version: 1.4.2.2
588−visibility: public
589−id: filepath-1.4.2.2
590−key: filepath-1.4.2.2
591−license: BSD-3-Clause
592−copyright: Neil Mitchell 2005-2020
593−maintainer: Julian Ospald <hasufell@posteo.de>
594−author: Neil Mitchell <ndmitchell@gmail.com>
595−homepage: https://github.com/haskell/filepath#readme
596−synopsis: Library for manipulating FilePaths in a cross platform way.
597−description:
598− This package provides functionality for manipulating @FilePath@ values, and is shipped with both <https://www.haskell.org/ghc/ GHC> and the <https://www.haskell.org/platform/ Haskell Platform>. It provides three modules:
599− * "System.FilePath.Posix" manipulates POSIX\/Linux style @FilePath@ values (with @\/@ as the path separator).
600− * "System.FilePath.Windows" manipulates Windows style @FilePath@ values (with either @\\@ or @\/@ as the path separator, and deals with drives).
601− * "System.FilePath" is an alias for the module appropriate to your platform.
602− All three modules provide the same API, and the same documentation (calling out differences in the different variants).
603−category: System
604−exposed: True
605−exposed-modules:
606− System.FilePath System.FilePath.Posix System.FilePath.Windows
607−import-dirs:
608−library-dirs:
609−dynamic-library-dirs:
610−data-dir:
611−hs-libraries: HSfilepath-1.4.2.2
612−depends: base-4.16.3.0
613−haddock-interfaces:
614−haddock-html:
615−---
616−name: ghc-bignum
617−version: 1.2
618−visibility: public
619−id: ghc-bignum-1.2
620−key: ghc-bignum-1.2
621−license: BSD-3-Clause
622−maintainer: libraries@haskell.org
623−author: Sylvain Henry
624−synopsis: GHC BigNum library
625−description:
626− This package provides the low-level implementation of the standard
627− 'BigNat', 'Natural' and 'Integer' types.
628−category: Numeric, Algebra, GHC
629−exposed: True
630−exposed-modules:
631− GHC.Num.Backend GHC.Num.Backend.Native GHC.Num.Backend.Selected
632− GHC.Num.BigNat GHC.Num.Integer GHC.Num.Natural GHC.Num.Primitives
633− GHC.Num.WordArray
634−import-dirs:
635−library-dirs:
636−dynamic-library-dirs:
637−data-dir:
638−hs-libraries: HSghc-bignum-1.2
639−depends: ghc-prim-0.8.0
640−haddock-interfaces:
641−haddock-html:
642−---
643−name: ghc-boot
644−version: 9.2.4
645−visibility: public
646−id: ghc-boot-9.2.4
647−key: ghc-boot-9.2.4
648−license: BSD-3-Clause
649−maintainer: ghc-devs@haskell.org
650−synopsis: Shared functionality between GHC and its boot libraries
651−description:
652− This library is shared between GHC, ghc-pkg, and other boot
653− libraries.
654− .
655− A note about "GHC.Unit.Database": it only deals with the subset of
656− the package database that the compiler cares about: modules
657− paths etc and not package metadata like description, authors
658− etc. It is thus not a library interface to ghc-pkg and is *not*
659− suitable for modifying GHC package databases.
660− .
661− The package database format and this library are constructed in
662− such a way that while ghc-pkg depends on Cabal, the GHC library
663− and program do not have to depend on Cabal.
664−category: GHC
665−exposed: True
666−exposed-modules:
667− GHC.BaseDir, GHC.Data.ShortText, GHC.Data.SizedSeq,
668− GHC.ForeignSrcLang,
669− GHC.ForeignSrcLang.Type from ghc-boot-th-9.2.4:GHC.ForeignSrcLang.Type,
670− GHC.HandleEncoding, GHC.LanguageExtensions,
671− GHC.LanguageExtensions.Type from ghc-boot-th-9.2.4:GHC.LanguageExtensions.Type,
672− GHC.Lexeme from ghc-boot-th-9.2.4:GHC.Lexeme, GHC.Platform.ArchOS,
673− GHC.Platform.Host, GHC.Serialized, GHC.Settings.Utils,
674− GHC.UniqueSubdir, GHC.Unit.Database, GHC.Utils.Encoding,
675− GHC.Version
676−import-dirs:
677−library-dirs:
678−dynamic-library-dirs:
679−data-dir:
680−hs-libraries: HSghc-boot-9.2.4
681−depends:
682− base-4.16.3.0 binary-0.8.9.0 bytestring-0.11.3.1 containers-0.6.5.1
683− deepseq-1.4.6.1 directory-1.3.6.2 filepath-1.4.2.2
684− ghc-boot-th-9.2.4 unix-2.7.2.2
685−haddock-interfaces:
686−haddock-html:
687−---
688−name: ghc-boot-th
689−version: 9.2.4
690−visibility: public
691−id: ghc-boot-th-9.2.4
692−key: ghc-boot-th-9.2.4
693−license: BSD-3-Clause
694−maintainer: ghc-devs@haskell.org
695−synopsis:
696− Shared functionality between GHC and the @template-haskell@
697− library
698−description:
699− This library contains various bits shared between the @ghc@ and
700− @template-haskell@ libraries.
701− This package exists to ensure that @template-haskell@ has a
702− minimal set of transitive dependencies, since it is intended to
703− be depended upon by user code.
704−category: GHC
705−exposed: True
706−exposed-modules:
707− GHC.ForeignSrcLang.Type GHC.LanguageExtensions.Type GHC.Lexeme
708−import-dirs:
709−library-dirs:
710−dynamic-library-dirs:
711−data-dir:
712−hs-libraries: HSghc-boot-th-9.2.4
713−depends: base-4.16.3.0
714−haddock-interfaces:
715−haddock-html:
716−---
717−name: ghc-compact
718−version: 0.1.0.0
719−visibility: public
720−id: ghc-compact-0.1.0.0
721−key: ghc-compact-0.1.0.0
722−license: BSD-3-Clause
723−maintainer: libraries@haskell.org
724−synopsis: In memory storage of deeply evaluated data structure
725−description:
726− This package provides minimal functionality for working with
727− "compact regions", which hold a fully evaluated Haskell object graph.
728− These regions maintain the invariant that no pointers live inside the struct
729− that point outside it, which ensures efficient garbage collection without
730− ever reading the structure contents (effectively, it works as a manually
731− managed "oldest generation" which is never freed until the whole is
732− released).
733− Internally, the struct is stored a single contiguous block of memory,
734− which allows efficient serialization and deserialization of structs
735− for distributed computing.
736− This package provides a low-level API; see also the </package/compact
737− compact package> which provides a user-facing API.
738−category: Data
739−exposed: True
740−exposed-modules: GHC.Compact GHC.Compact.Serialized
741−import-dirs:
742−library-dirs:
743−dynamic-library-dirs:
744−data-dir:
745−hs-libraries: HSghc-compact-0.1.0.0
746−depends: base-4.16.3.0 bytestring-0.11.3.1 ghc-prim-0.8.0
747−haddock-interfaces:
748−haddock-html:
749−---
750−name: ghc-heap
751−version: 9.2.4
752−visibility: public
753−id: ghc-heap-9.2.4
754−key: ghc-heap-9.2.4
755−license: BSD-3-Clause
756−maintainer: libraries@haskell.org
757−synopsis: Functions for walking GHC's heap
758−description:
759− This package provides functions for walking the GHC heap data structures
760− and retrieving information about those data structures.
761−category: GHC
762−exposed: True
763−exposed-modules:
764− GHC.Exts.Heap GHC.Exts.Heap.ClosureTypes GHC.Exts.Heap.Closures
765− GHC.Exts.Heap.Constants GHC.Exts.Heap.FFIClosures
766− GHC.Exts.Heap.FFIClosures_ProfilingDisabled
767− GHC.Exts.Heap.FFIClosures_ProfilingEnabled GHC.Exts.Heap.InfoTable
768− GHC.Exts.Heap.InfoTable.Types GHC.Exts.Heap.InfoTableProf
769− GHC.Exts.Heap.ProfInfo.PeekProfInfo
770− GHC.Exts.Heap.ProfInfo.PeekProfInfo_ProfilingDisabled
771− GHC.Exts.Heap.ProfInfo.PeekProfInfo_ProfilingEnabled
772− GHC.Exts.Heap.ProfInfo.Types GHC.Exts.Heap.Utils
773−import-dirs:
774−library-dirs:
775−dynamic-library-dirs:
776−data-dir:
777−hs-libraries: HSghc-heap-9.2.4
778−depends: base-4.16.3.0 containers-0.6.5.1 ghc-prim-0.8.0 rts
779−haddock-interfaces:
780−haddock-html:
781−---
782−name: ghc-prim
783−version: 0.8.0
784−visibility: public
785−id: ghc-prim-0.8.0
786−key: ghc-prim-0.8.0
787−license: BSD-3-Clause
788−maintainer: libraries@haskell.org
789−synopsis: GHC primitives
790−description:
791− This package contains the primitive types and operations supplied by GHC.
792−category: GHC
793−exposed: True
794−exposed-modules:
795− GHC.CString GHC.Classes GHC.Debug GHC.Magic GHC.Prim.Exception
796− GHC.Prim.Ext GHC.Prim.Panic GHC.PrimopWrappers GHC.Tuple GHC.Types
797− GHC.Prim
798−import-dirs:
799−library-dirs:
800−dynamic-library-dirs:
801−data-dir:
802−hs-libraries: HSghc-prim-0.8.0
803−extra-libraries: gcc c m
804−depends: rts
805−haddock-interfaces:
806−haddock-html:
807−---
808−name: ghci
809−version: 9.2.4
810−visibility: public
811−id: ghci-9.2.4
812−key: ghci-9.2.4
813−license: BSD-3-Clause
814−maintainer: ghc-devs@haskell.org
815−synopsis: The library supporting GHC's interactive interpreter
816−description:
817− This library offers interfaces which mediate interactions between the
818− @ghci@ interactive shell and @iserv@, GHC's out-of-process interpreter
819− backend.
820−category: GHC
821−exposed: True
822−exposed-modules:
823− GHCi.BinaryArray GHCi.BreakArray GHCi.CreateBCO GHCi.FFI
824− GHCi.InfoTable GHCi.Message GHCi.ObjLink GHCi.RemoteTypes
825− GHCi.ResolvedBCO GHCi.Run GHCi.Signals GHCi.StaticPtrTable GHCi.TH
826− GHCi.TH.Binary
827−import-dirs:
828−library-dirs:
829−dynamic-library-dirs:
830−data-dir:
831−hs-libraries: HSghci-9.2.4
832−depends:
833− array-0.5.4.0 base-4.16.3.0 binary-0.8.9.0 bytestring-0.11.3.1
834− containers-0.6.5.1 deepseq-1.4.6.1 filepath-1.4.2.2 ghc-boot-9.2.4
835− ghc-heap-9.2.4 ghc-prim-0.8.0 rts template-haskell-2.18.0.0
836− transformers-0.5.6.2 unix-2.7.2.2
837−haddock-interfaces:
838−haddock-html:
839−---
840−name: haskeline
841−version: 0.8.2
842−visibility: public
843−id: haskeline-0.8.2
844−key: haskeline-0.8.2
845−license: BSD-3-Clause
846−copyright: (c) Judah Jacobson
847−maintainer: Judah Jacobson <judah.jacobson@gmail.com>
848−author: Judah Jacobson
849−stability: Stable
850−homepage: https://github.com/judah/haskeline
851−synopsis:
852− A command-line interface for user input, written in Haskell.
853−description:
854− Haskeline provides a user interface for line input in command-line
855− programs. This library is similar in purpose to readline, but since
856− it is written in Haskell it is (hopefully) more easily used in other
857− Haskell programs.
858− Haskeline runs both on POSIX-compatible systems and on Windows.
859−category: User Interfaces
860−exposed: True
861−exposed-modules:
862− System.Console.Haskeline System.Console.Haskeline.Completion
863− System.Console.Haskeline.History System.Console.Haskeline.IO
864− System.Console.Haskeline.Internal
865−hidden-modules:
866− System.Console.Haskeline.Backend
867− System.Console.Haskeline.Backend.WCWidth
868− System.Console.Haskeline.Command
869− System.Console.Haskeline.Command.Completion
870− System.Console.Haskeline.Command.History
871− System.Console.Haskeline.Command.KillRing
872− System.Console.Haskeline.Directory System.Console.Haskeline.Emacs
873− System.Console.Haskeline.InputT System.Console.Haskeline.Key
874− System.Console.Haskeline.LineState System.Console.Haskeline.Monads
875− System.Console.Haskeline.Prefs System.Console.Haskeline.Recover
876− System.Console.Haskeline.RunCommand System.Console.Haskeline.Term
877− System.Console.Haskeline.Command.Undo System.Console.Haskeline.Vi
878− System.Console.Haskeline.Backend.Posix
879− System.Console.Haskeline.Backend.Posix.Encoder
880− System.Console.Haskeline.Backend.DumbTerm
881−import-dirs:
882−library-dirs:
883−dynamic-library-dirs:
884−data-dir:
885−hs-libraries: HShaskeline-0.8.2
886−depends:
887− base-4.16.3.0 bytestring-0.11.3.1 containers-0.6.5.1
888− directory-1.3.6.2 exceptions-0.10.4 filepath-1.4.2.2
889− process-1.6.13.2 stm-2.5.0.2 transformers-0.5.6.2 unix-2.7.2.2
890−haddock-interfaces:
891−haddock-html:
892−---
893−name: hpc
894−version: 0.6.1.0
895−visibility: public
896−id: hpc-0.6.1.0
897−key: hpc-0.6.1.0
898−license: BSD-3-Clause
899−maintainer: ghc-devs@haskell.org
900−author: Andy Gill
901−synopsis: Code Coverage Library for Haskell
902−description:
903− This package provides the code coverage library for Haskell.
904− See <http://www.haskell.org/haskellwiki/Haskell_program_coverage> for more
905− information.
906−category: Control
907−exposed: True
908−exposed-modules:
909− Trace.Hpc.Mix Trace.Hpc.Reflect Trace.Hpc.Tix Trace.Hpc.Util
910−import-dirs:
911−library-dirs:
912−dynamic-library-dirs:
913−data-dir:
914−hs-libraries: HShpc-0.6.1.0
915−depends:
916− base-4.16.3.0 containers-0.6.5.1 deepseq-1.4.6.1 directory-1.3.6.2
917− filepath-1.4.2.2 time-1.11.1.1
918−haddock-interfaces:
919−haddock-html:
920−---
921−name: integer-gmp
922−version: 1.1
923−visibility: public
924−id: integer-gmp-1.1
925−key: integer-gmp-1.1
926−license: BSD-3-Clause
927−maintainer: hvr@gnu.org
928−author: Herbert Valerio Riedel
929−synopsis: Integer library based on GMP
930−description:
931− This package used to provide an implementation of the standard 'Integer'
932− type based on the
933− <http://gmplib.org/ GNU Multiple Precision Arithmetic Library (GMP)>.
934− It is now deprecated in favor of the 'ghc-bignum' package.
935− Its purpose is to provide backward compatibility for codes directly
936− depending on the `integer-gmp` package.
937−category: Numeric, Algebra
938−exposed: True
939−exposed-modules: GHC.Integer.GMP.Internals
940−import-dirs:
941−library-dirs:
942−dynamic-library-dirs:
943−data-dir:
944−hs-libraries: HSinteger-gmp-1.1
945−depends: base-4.16.3.0 ghc-bignum-1.2 ghc-prim-0.8.0
946−haddock-interfaces:
947−haddock-html:
948−---
949−name: libiserv
950−version: 9.2.4
951−visibility: public
952−id: libiserv-9.2.4
953−key: libiserv-9.2.4
954−license: BSD-3-Clause
955−copyright: XXX
956−maintainer: XXX
957−author: XXX
958−synopsis:
959− Provides shared functionality between iserv and iserv-proxy.
960−description:
961− Provides shared functionality between iserv and iserv-proxy.
962−category: Development
963−exposed: True
964−exposed-modules: GHCi.Utils Lib
965−import-dirs:
966−library-dirs:
967−dynamic-library-dirs:
968−data-dir:
969−hs-libraries: HSlibiserv-9.2.4
970−depends:
971− base-4.16.3.0 binary-0.8.9.0 bytestring-0.11.3.1 containers-0.6.5.1
972− deepseq-1.4.6.1 ghci-9.2.4 unix-2.7.2.2
973−haddock-interfaces:
974−haddock-html:
975−---
976−name: mtl
977−version: 2.2.2
978−visibility: public
979−id: mtl-2.2.2
980−key: mtl-2.2.2
981−license: BSD-3-Clause
982−maintainer: Edward Kmett <ekmett@gmail.com>
983−author: Andy Gill
984−homepage: http://github.com/haskell/mtl
985−synopsis: Monad classes, using functional dependencies
986−description:
987− Monad classes using functional dependencies, with instances
988− for various monad transformers, inspired by the paper
989− /Functional Programming with Overloading and Higher-Order Polymorphism/,
990− by Mark P Jones, in /Advanced School of Functional Programming/, 1995
991− (<http://web.cecs.pdx.edu/~mpj/pubs/springschool.html>).
992−category: Control
993−exposed: True
994−exposed-modules:
995− Control.Monad.Cont Control.Monad.Cont.Class Control.Monad.Error
996− Control.Monad.Error.Class Control.Monad.Except
997− Control.Monad.Identity Control.Monad.List Control.Monad.RWS
998− Control.Monad.RWS.Class Control.Monad.RWS.Lazy
999− Control.Monad.RWS.Strict Control.Monad.Reader
1000− Control.Monad.Reader.Class Control.Monad.State
1001− Control.Monad.State.Class Control.Monad.State.Lazy
1002− Control.Monad.State.Strict Control.Monad.Trans Control.Monad.Writer
1003− Control.Monad.Writer.Class Control.Monad.Writer.Lazy
1004− Control.Monad.Writer.Strict
1005−import-dirs:
1006−library-dirs:
1007−dynamic-library-dirs:
1008−data-dir:
1009−hs-libraries: HSmtl-2.2.2
1010−depends: base-4.16.3.0 transformers-0.5.6.2
1011−haddock-interfaces:
1012−haddock-html:
1013−---
1014−name: parsec
1015−version: 3.1.15.0
1016−visibility: public
1017−id: parsec-3.1.15.0
1018−key: parsec-3.1.15.0
1019−license: BSD-2-Clause
1020−maintainer:
1021− Oleg Grenrus <oleg.grenrus@iki.fi>, Herbert Valerio Riedel <hvr@gnu.org>
1022−author:
1023− Daan Leijen <daan@microsoft.com>, Paolo Martini <paolo@nemail.it>, Antoine Latter <aslatter@gmail.com>
1024−homepage: https://github.com/haskell/parsec
1025−synopsis: Monadic parser combinators
1026−description:
1027− Parsec is designed from scratch as an industrial-strength parser
1028− library. It is simple, safe, well documented (on the package
1029− homepage), has extensive libraries, good error messages,
1030− and is fast. It is defined as a monad transformer that can be
1031− stacked on arbitrary monads, and it is also parametric in the
1032− input stream type.
1033− The main entry point is the "Text.Parsec" module which provides
1034− defaults for parsing 'Char'acter data.
1035− The "Text.ParserCombinators.Parsec" module hierarchy contains
1036− the legacy @parsec-2@ API and may be removed at some point in
1037− the future.
1038−category: Parsing
1039−exposed: True
1040−exposed-modules:
1041− Text.Parsec Text.Parsec.ByteString Text.Parsec.ByteString.Lazy
1042− Text.Parsec.Char Text.Parsec.Combinator Text.Parsec.Error
1043− Text.Parsec.Expr Text.Parsec.Language Text.Parsec.Perm
1044− Text.Parsec.Pos Text.Parsec.Prim Text.Parsec.String
1045− Text.Parsec.Text Text.Parsec.Text.Lazy Text.Parsec.Token
1046− Text.ParserCombinators.Parsec Text.ParserCombinators.Parsec.Char
1047− Text.ParserCombinators.Parsec.Combinator
1048− Text.ParserCombinators.Parsec.Error
1049− Text.ParserCombinators.Parsec.Expr
1050− Text.ParserCombinators.Parsec.Language
1051− Text.ParserCombinators.Parsec.Perm
1052− Text.ParserCombinators.Parsec.Pos
1053− Text.ParserCombinators.Parsec.Prim
1054− Text.ParserCombinators.Parsec.Token
1055−import-dirs:
1056−library-dirs:
1057−dynamic-library-dirs:
1058−data-dir:
1059−hs-libraries: HSparsec-3.1.15.0
1060−depends:
1061− base-4.16.3.0 bytestring-0.11.3.1 mtl-2.2.2 text-1.2.5.0
1062−haddock-interfaces:
1063−haddock-html:
1064−---
1065−name: pretty
1066−version: 1.1.3.6
1067−visibility: public
1068−id: pretty-1.1.3.6
1069−key: pretty-1.1.3.6
1070−license: BSD-3-Clause
1071−maintainer: David Terei <code@davidterei.com>
1072−stability: Stable
1073−homepage: http://github.com/haskell/pretty
1074−synopsis: Pretty-printing library
1075−description:
1076− This package contains a pretty-printing library, a set of API's
1077− that provides a way to easily print out text in a consistent
1078− format of your choosing. This is useful for compilers and related
1079− tools.
1080− This library was originally designed by John Hughes's and has since
1081− been heavily modified by Simon Peyton Jones.
1082−category: Text
1083−exposed: True
1084−exposed-modules:
1085− Text.PrettyPrint Text.PrettyPrint.Annotated
1086− Text.PrettyPrint.Annotated.HughesPJ
1087− Text.PrettyPrint.Annotated.HughesPJClass Text.PrettyPrint.HughesPJ
1088− Text.PrettyPrint.HughesPJClass
1089−import-dirs:
1090−library-dirs:
1091−dynamic-library-dirs:
1092−data-dir:
1093−hs-libraries: HSpretty-1.1.3.6
1094−depends: base-4.16.3.0 deepseq-1.4.6.1 ghc-prim-0.8.0
1095−haddock-interfaces:
1096−haddock-html:
1097−---
1098−name: process
1099−version: 1.6.13.2
1100−visibility: public
1101−id: process-1.6.13.2
1102−key: process-1.6.13.2
1103−license: BSD-3-Clause
1104−maintainer: libraries@haskell.org
1105−synopsis: Process libraries
1106−description:
1107− This package contains libraries for dealing with system processes.
1108− The typed-process package is a more recent take on a process API,
1109− which uses this package internally. It features better binary
1110− support, easier concurrency, and a more composable API. You can
1111− read more about it at
1112− <https://github.com/fpco/typed-process/#readme>.
1113−category: System
1114−exposed: True
1115−exposed-modules: System.Cmd System.Process System.Process.Internals
1116−hidden-modules: System.Process.Common System.Process.Posix
1117−import-dirs:
1118−library-dirs:
1119−dynamic-library-dirs:
1120−data-dir:
1121−hs-libraries: HSprocess-1.6.13.2
1122−include-dirs:
1123−includes: runProcess.h
1124−depends:
1125− base-4.16.3.0 deepseq-1.4.6.1 directory-1.3.6.2 filepath-1.4.2.2
1126− unix-2.7.2.2
1127−haddock-interfaces:
1128−haddock-html:
1129−---
1130−name: stm
1131−version: 2.5.0.2
1132−visibility: public
1133−id: stm-2.5.0.2
1134−key: stm-2.5.0.2
1135−license: BSD-3-Clause
1136−maintainer: libraries@haskell.org
1137−homepage: https://wiki.haskell.org/Software_transactional_memory
1138−synopsis: Software Transactional Memory
1139−description:
1140− Software Transactional Memory, or STM, is an abstraction for
1141− concurrent communication. The main benefits of STM are
1142− /composability/ and /modularity/. That is, using STM you can write
1143− concurrent abstractions that can be easily composed with any other
1144− abstraction built using STM, without exposing the details of how
1145− your abstraction ensures safety. This is typically not the case
1146− with other forms of concurrent communication, such as locks or
1147− 'MVar's.
1148−category: Concurrency
1149−exposed: True
1150−exposed-modules:
1151− Control.Concurrent.STM Control.Concurrent.STM.TArray
1152− Control.Concurrent.STM.TBQueue Control.Concurrent.STM.TChan
1153− Control.Concurrent.STM.TMVar Control.Concurrent.STM.TQueue
1154− Control.Concurrent.STM.TSem Control.Concurrent.STM.TVar
1155− Control.Monad.STM
1156−hidden-modules: Control.Sequential.STM
1157−import-dirs:
1158−library-dirs:
1159−dynamic-library-dirs:
1160−data-dir:
1161−hs-libraries: HSstm-2.5.0.2
1162−depends: array-0.5.4.0 base-4.16.3.0
1163−haddock-interfaces:
1164−haddock-html:
1165−---
1166−name: template-haskell
1167−version: 2.18.0.0
1168−visibility: public
1169−id: template-haskell-2.18.0.0
1170−key: template-haskell-2.18.0.0
1171−license: BSD-3-Clause
1172−maintainer: libraries@haskell.org
1173−synopsis: Support library for Template Haskell
1174−description:
1175− This package provides modules containing facilities for manipulating
1176− Haskell source code using Template Haskell.
1177− See <http://www.haskell.org/haskellwiki/Template_Haskell> for more
1178− information.
1179−category: Template Haskell
1180−exposed: True
1181−exposed-modules:
1182− Language.Haskell.TH Language.Haskell.TH.CodeDo
1183− Language.Haskell.TH.LanguageExtensions Language.Haskell.TH.Lib
1184− Language.Haskell.TH.Lib.Internal Language.Haskell.TH.Ppr
1185− Language.Haskell.TH.PprLib Language.Haskell.TH.Quote
1186− Language.Haskell.TH.Syntax
1187−hidden-modules: Language.Haskell.TH.Lib.Map
1188−import-dirs:
1189−library-dirs:
1190−dynamic-library-dirs:
1191−data-dir:
1192−hs-libraries: HStemplate-haskell-2.18.0.0
1193−depends:
1194− base-4.16.3.0 ghc-boot-th-9.2.4 ghc-prim-0.8.0 pretty-1.1.3.6
1195−haddock-interfaces:
1196−haddock-html:
1197−---
1198−name: text
1199−version: 1.2.5.0
1200−visibility: public
1201−id: text-1.2.5.0
1202−key: text-1.2.5.0
1203−license: BSD-2-Clause
1204−copyright: 2009-2011 Bryan O'Sullivan, 2008-2009 Tom Harper
1205−maintainer:
1206− Haskell Text Team <andrew.lelechenko@gmail.com>, Core Libraries Committee
1207−author: Bryan O'Sullivan <bos@serpentine.com>
1208−homepage: https://github.com/haskell/text
1209−synopsis: An efficient packed Unicode text type.
1210−description:
1211− An efficient packed, immutable Unicode text type (both strict and
1212− lazy), with a powerful loop fusion optimization framework.
1213− The 'Text' type represents Unicode character strings, in a time and
1214− space-efficient manner. This package provides text processing
1215− capabilities that are optimized for performance critical use, both
1216− in terms of large data quantities and high speed.
1217− The 'Text' type provides character-encoding, type-safe case
1218− conversion via whole-string case conversion functions (see "Data.Text").
1219− It also provides a range of functions for converting 'Text' values to
1220− and from 'ByteStrings', using several standard encodings
1221− (see "Data.Text.Encoding").
1222− Efficient locale-sensitive support for text IO is also supported
1223− (see "Data.Text.IO").
1224− These modules are intended to be imported qualified, to avoid name
1225− clashes with Prelude functions, e.g.
1226− > import qualified Data.Text as T
1227− == ICU Support
1228− To use an extended and very rich family of functions for working
1229− with Unicode text (including normalization, regular expressions,
1230− non-standard encodings, text breaking, and locales), see
1231− the [text-icu package](https://hackage.haskell.org/package/text-icu)
1232− based on the well-respected and liberally
1233− licensed [ICU library](http://site.icu-project.org/).
1234− == Internal Representation: UTF-16 vs. UTF-8
1235− Currently the @text@ library uses UTF-16 as its internal representation
1236− which is [neither a fixed-width nor always the most dense representation](http://utf8everywhere.org/)
1237− for Unicode text. We're currently investigating the feasibility
1238− of [changing Text's internal representation to UTF-8](https://github.com/text-utf8)
1239− and if you need such a 'Text' type right now you might be interested in using the spin-off
1240− packages <https://hackage.haskell.org/package/text-utf8 text-utf8> and
1241− <https://hackage.haskell.org/package/text-short text-short>.
1242−category: Data, Text
1243−exposed: True
1244−exposed-modules:
1245− Data.Text Data.Text.Array Data.Text.Encoding
1246− Data.Text.Encoding.Error Data.Text.Foreign Data.Text.IO
1247− Data.Text.Internal Data.Text.Internal.Builder
1248− Data.Text.Internal.Builder.Functions
1249− Data.Text.Internal.Builder.Int.Digits
1250− Data.Text.Internal.Builder.RealFloat.Functions
1251− Data.Text.Internal.ByteStringCompat
1252− Data.Text.Internal.Encoding.Fusion
1253− Data.Text.Internal.Encoding.Fusion.Common
1254− Data.Text.Internal.Encoding.Utf16 Data.Text.Internal.Encoding.Utf32
1255− Data.Text.Internal.Encoding.Utf8 Data.Text.Internal.Functions
1256− Data.Text.Internal.Fusion Data.Text.Internal.Fusion.CaseMapping
1257− Data.Text.Internal.Fusion.Common Data.Text.Internal.Fusion.Size
1258− Data.Text.Internal.Fusion.Types Data.Text.Internal.IO
1259− Data.Text.Internal.Lazy Data.Text.Internal.Lazy.Encoding.Fusion
1260− Data.Text.Internal.Lazy.Fusion Data.Text.Internal.Lazy.Search
1261− Data.Text.Internal.PrimCompat Data.Text.Internal.Private
1262− Data.Text.Internal.Read Data.Text.Internal.Search
1263− Data.Text.Internal.Unsafe Data.Text.Internal.Unsafe.Char
1264− Data.Text.Internal.Unsafe.Shift Data.Text.Lazy
1265− Data.Text.Lazy.Builder Data.Text.Lazy.Builder.Int
1266− Data.Text.Lazy.Builder.RealFloat Data.Text.Lazy.Encoding
1267− Data.Text.Lazy.IO Data.Text.Lazy.Internal Data.Text.Lazy.Read
1268− Data.Text.Read Data.Text.Unsafe
1269−hidden-modules: Data.Text.Show
1270−import-dirs:
1271−library-dirs:
1272−dynamic-library-dirs:
1273−data-dir:
1274−hs-libraries: HStext-1.2.5.0
1275−depends:
1276− array-0.5.4.0 base-4.16.3.0 binary-0.8.9.0 bytestring-0.11.3.1
1277− deepseq-1.4.6.1 ghc-prim-0.8.0 template-haskell-2.18.0.0
1278−haddock-interfaces:
1279−haddock-html:
1280−---
1281−name: time
1282−version: 1.11.1.1
1283−visibility: public
1284−id: time-1.11.1.1
1285−key: time-1.11.1.1
1286−license: BSD-3-Clause
1287−maintainer: <ashley@semantic.org>
1288−author: Ashley Yakeley
1289−stability: stable
1290−homepage: https://github.com/haskell/time
1291−synopsis: A time library
1292−description: Time, clocks and calendars
1293−category: Time
1294−exposed: True
1295−exposed-modules:
1296− Data.Time Data.Time.Calendar Data.Time.Calendar.Easter
1297− Data.Time.Calendar.Julian Data.Time.Calendar.Month
1298− Data.Time.Calendar.MonthDay Data.Time.Calendar.OrdinalDate
1299− Data.Time.Calendar.Quarter Data.Time.Calendar.WeekDate
1300− Data.Time.Clock Data.Time.Clock.POSIX Data.Time.Clock.System
1301− Data.Time.Clock.TAI Data.Time.Format Data.Time.Format.ISO8601
1302− Data.Time.Format.Internal Data.Time.LocalTime
1303−hidden-modules:
1304− Data.Format Data.Time.Calendar.Types Data.Time.Calendar.Private
1305− Data.Time.Calendar.Days Data.Time.Calendar.Gregorian
1306− Data.Time.Calendar.CalendarDiffDays Data.Time.Calendar.Week
1307− Data.Time.Calendar.JulianYearDay Data.Time.Clock.Internal.DiffTime
1308− Data.Time.Clock.Internal.AbsoluteTime
1309− Data.Time.Clock.Internal.NominalDiffTime
1310− Data.Time.Clock.Internal.POSIXTime
1311− Data.Time.Clock.Internal.UniversalTime
1312− Data.Time.Clock.Internal.SystemTime
1313− Data.Time.Clock.Internal.UTCTime Data.Time.Clock.Internal.CTimeval
1314− Data.Time.Clock.Internal.CTimespec Data.Time.Clock.Internal.UTCDiff
1315− Data.Time.LocalTime.Internal.TimeZone
1316− Data.Time.LocalTime.Internal.TimeOfDay
1317− Data.Time.LocalTime.Internal.CalendarDiffTime
1318− Data.Time.LocalTime.Internal.LocalTime
1319− Data.Time.LocalTime.Internal.ZonedTime Data.Time.Format.Parse
1320− Data.Time.Format.Locale Data.Time.Format.Format.Class
1321− Data.Time.Format.Format.Instances Data.Time.Format.Parse.Class
1322− Data.Time.Format.Parse.Instances
1323−import-dirs:
1324−library-dirs:
1325−dynamic-library-dirs:
1326−data-dir:
1327−hs-libraries: HStime-1.11.1.1
1328−include-dirs:
1329−depends: base-4.16.3.0 deepseq-1.4.6.1
1330−haddock-interfaces:
1331−haddock-html:
1332−---
1333−name: transformers
1334−version: 0.5.6.2
1335−visibility: public
1336−id: transformers-0.5.6.2
1337−key: transformers-0.5.6.2
1338−license: BSD-3-Clause
1339−maintainer: Ross Paterson <R.Paterson@city.ac.uk>
1340−author: Andy Gill, Ross Paterson
1341−synopsis: Concrete functor and monad transformers
1342−description:
1343− A portable library of functor and monad transformers, inspired by
1344− the paper
1345− * \"Functional Programming with Overloading and Higher-Order
1346− Polymorphism\", by Mark P Jones,
1347− in /Advanced School of Functional Programming/, 1995
1348− (<http://web.cecs.pdx.edu/~mpj/pubs/springschool.html>).
1349− This package contains:
1350− * the monad transformer class (in "Control.Monad.Trans.Class")
1351− * concrete functor and monad transformers, each with associated
1352− operations and functions to lift operations associated with other
1353− transformers.
1354− The package can be used on its own in portable Haskell code, in
1355− which case operations need to be manually lifted through transformer
1356− stacks (see "Control.Monad.Trans.Class" for some examples).
1357− Alternatively, it can be used with the non-portable monad classes in
1358− the @mtl@ or @monads-tf@ packages, which automatically lift operations
1359− introduced by monad transformers through other transformers.
1360−category: Control
1361−exposed: True
1362−exposed-modules:
1363− Control.Applicative.Backwards Control.Applicative.Lift
1364− Control.Monad.Signatures Control.Monad.Trans.Accum
1365− Control.Monad.Trans.Class Control.Monad.Trans.Cont
1366− Control.Monad.Trans.Error Control.Monad.Trans.Except
1367− Control.Monad.Trans.Identity Control.Monad.Trans.List
1368− Control.Monad.Trans.Maybe Control.Monad.Trans.RWS
1369− Control.Monad.Trans.RWS.CPS Control.Monad.Trans.RWS.Lazy
1370− Control.Monad.Trans.RWS.Strict Control.Monad.Trans.Reader
1371− Control.Monad.Trans.Select Control.Monad.Trans.State
1372− Control.Monad.Trans.State.Lazy Control.Monad.Trans.State.Strict
1373− Control.Monad.Trans.Writer Control.Monad.Trans.Writer.CPS
1374− Control.Monad.Trans.Writer.Lazy Control.Monad.Trans.Writer.Strict
1375− Data.Functor.Constant Data.Functor.Reverse
1376−import-dirs:
1377−library-dirs:
1378−dynamic-library-dirs:
1379−data-dir:
1380−hs-libraries: HStransformers-0.5.6.2
1381−depends: base-4.16.3.0
1382−haddock-interfaces:
1383−haddock-html:
1384−---
1385−name: unix
1386−version: 2.7.2.2
1387−visibility: public
1388−id: unix-2.7.2.2
1389−key: unix-2.7.2.2
1390−license: BSD-3-Clause
1391−maintainer: libraries@haskell.org
1392−homepage: https://github.com/haskell/unix
1393−synopsis: POSIX functionality
1394−description:
1395− This package gives you access to the set of operating system
1396− services standardised by
1397− <http://pubs.opengroup.org/onlinepubs/9699919799/ POSIX.1-2008>
1398− (or the IEEE Portable Operating System Interface for Computing
1399− Environments - IEEE Std. 1003.1).
1400− The package is not supported under Windows.
1401−category: System
1402−exposed: True
1403−exposed-modules:
1404− System.Posix System.Posix.ByteString
1405− System.Posix.ByteString.FilePath System.Posix.Directory
1406− System.Posix.Directory.ByteString System.Posix.DynamicLinker
1407− System.Posix.DynamicLinker.ByteString
1408− System.Posix.DynamicLinker.Module
1409− System.Posix.DynamicLinker.Module.ByteString
1410− System.Posix.DynamicLinker.Prim System.Posix.Env
1411− System.Posix.Env.ByteString System.Posix.Error System.Posix.Fcntl
1412− System.Posix.Files System.Posix.Files.ByteString System.Posix.IO
1413− System.Posix.IO.ByteString System.Posix.Process
1414− System.Posix.Process.ByteString System.Posix.Process.Internals
1415− System.Posix.Resource System.Posix.Semaphore System.Posix.SharedMem
1416− System.Posix.Signals System.Posix.Signals.Exts System.Posix.Temp
1417− System.Posix.Temp.ByteString System.Posix.Terminal
1418− System.Posix.Terminal.ByteString System.Posix.Time
1419− System.Posix.Unistd System.Posix.User
1420−hidden-modules:
1421− System.Posix.Directory.Common System.Posix.DynamicLinker.Common
1422− System.Posix.Files.Common System.Posix.IO.Common
1423− System.Posix.Process.Common System.Posix.Terminal.Common
1424−import-dirs:
1425−library-dirs:
1426−dynamic-library-dirs:
1427−data-dir:
1428−hs-libraries: HSunix-2.7.2.2
1429−include-dirs:
1430−includes: HsUnix.h execvpe.h
1431−depends: base-4.16.3.0 bytestring-0.11.3.1 time-1.11.1.1
1432−haddock-interfaces:
1433−haddock-html:
1434−---
1435−name: rts
1436−version: 1.0.2
1437−visibility: public
1438−id: rts
1439−key: rts
1440−license: BSD-3-Clause
1441−maintainer: glasgow-haskell-users@haskell.org
1442−exposed: True
1443−library-dirs:
1444−hs-libraries: HSrts
1445−extra-libraries: m rt dl ffi numa
1446−include-dirs:
1447−includes: Stg.h
1448−ld-options:
1449− "-Wl,-u,base_GHCziTopHandler_runIO_closure"
1450− "-Wl,-u,base_GHCziTopHandler_runNonIO_closure"
1451− "-Wl,-u,ghczmprim_GHCziTuple_Z0T_closure"
1452− "-Wl,-u,ghczmprim_GHCziTypes_True_closure"
1453− "-Wl,-u,ghczmprim_GHCziTypes_False_closure"
1454− "-Wl,-u,base_GHCziPack_unpackCString_closure"
1455− "-Wl,-u,base_GHCziWeak_runFinalizzerBatch_closure"
1456− "-Wl,-u,base_GHCziIOziException_stackOverflow_closure"
1457− "-Wl,-u,base_GHCziIOziException_heapOverflow_closure"
1458− "-Wl,-u,base_GHCziIOziException_allocationLimitExceeded_closure"
1459− "-Wl,-u,base_GHCziIOziException_blockedIndefinitelyOnMVar_closure"
1460− "-Wl,-u,base_GHCziIOziException_blockedIndefinitelyOnSTM_closure"
1461− "-Wl,-u,base_GHCziIOziException_cannotCompactFunction_closure"
1462− "-Wl,-u,base_GHCziIOziException_cannotCompactPinned_closure"
1463− "-Wl,-u,base_GHCziIOziException_cannotCompactMutable_closure"
1464− "-Wl,-u,base_GHCziIOPort_doubleReadException_closure"
1465− "-Wl,-u,base_ControlziExceptionziBase_nonTermination_closure"
1466− "-Wl,-u,base_ControlziExceptionziBase_nestedAtomically_closure"
1467− "-Wl,-u,base_GHCziEventziThread_blockedOnBadFD_closure"
1468− "-Wl,-u,base_GHCziExceptionziType_divZZeroException_closure"
1469− "-Wl,-u,base_GHCziExceptionziType_underflowException_closure"
1470− "-Wl,-u,base_GHCziExceptionziType_overflowException_closure"
1471− "-Wl,-u,base_GHCziConcziSync_runSparks_closure"
1472− "-Wl,-u,base_GHCziConcziIO_ensureIOManagerIsRunning_closure"
1473− "-Wl,-u,base_GHCziConcziIO_interruptIOManager_closure"
1474− "-Wl,-u,base_GHCziConcziIO_ioManagerCapabilitiesChanged_closure"
1475− "-Wl,-u,base_GHCziConcziSignal_runHandlersPtr_closure"
1476− "-Wl,-u,base_GHCziTopHandler_flushStdHandles_closure"
1477− "-Wl,-u,base_GHCziTopHandler_runMainIO_closure"
1478− "-Wl,-u,ghczmprim_GHCziTypes_Czh_con_info"
1479− "-Wl,-u,ghczmprim_GHCziTypes_Izh_con_info"
1480− "-Wl,-u,ghczmprim_GHCziTypes_Fzh_con_info"
1481− "-Wl,-u,ghczmprim_GHCziTypes_Dzh_con_info"
1482− "-Wl,-u,ghczmprim_GHCziTypes_Wzh_con_info"
1483− "-Wl,-u,base_GHCziPtr_Ptr_con_info"
1484− "-Wl,-u,base_GHCziPtr_FunPtr_con_info"
1485− "-Wl,-u,base_GHCziInt_I8zh_con_info"
1486− "-Wl,-u,base_GHCziInt_I16zh_con_info"
1487− "-Wl,-u,base_GHCziInt_I32zh_con_info"
1488− "-Wl,-u,base_GHCziInt_I64zh_con_info"
1489− "-Wl,-u,base_GHCziWord_W8zh_con_info"
1490− "-Wl,-u,base_GHCziWord_W16zh_con_info"
1491− "-Wl,-u,base_GHCziWord_W32zh_con_info"
1492− "-Wl,-u,base_GHCziWord_W64zh_con_info"
1493− "-Wl,-u,base_GHCziStable_StablePtr_con_info"
1494− "-Wl,-u,hs_atomic_add8" "-Wl,-u,hs_atomic_add16"
1495− "-Wl,-u,hs_atomic_add32" "-Wl,-u,hs_atomic_add64"
1496− "-Wl,-u,hs_atomic_sub8" "-Wl,-u,hs_atomic_sub16"
1497− "-Wl,-u,hs_atomic_sub32" "-Wl,-u,hs_atomic_sub64"
1498− "-Wl,-u,hs_atomic_and8" "-Wl,-u,hs_atomic_and16"
1499− "-Wl,-u,hs_atomic_and32" "-Wl,-u,hs_atomic_and64"
1500− "-Wl,-u,hs_atomic_nand8" "-Wl,-u,hs_atomic_nand16"
1501− "-Wl,-u,hs_atomic_nand32" "-Wl,-u,hs_atomic_nand64"
1502− "-Wl,-u,hs_atomic_or8" "-Wl,-u,hs_atomic_or16"
1503− "-Wl,-u,hs_atomic_or32" "-Wl,-u,hs_atomic_or64"
1504− "-Wl,-u,hs_atomic_xor8" "-Wl,-u,hs_atomic_xor16"
1505− "-Wl,-u,hs_atomic_xor32" "-Wl,-u,hs_atomic_xor64"
1506− "-Wl,-u,hs_cmpxchg8" "-Wl,-u,hs_cmpxchg16" "-Wl,-u,hs_cmpxchg32"
1507− "-Wl,-u,hs_cmpxchg64" "-Wl,-u,hs_xchg8" "-Wl,-u,hs_xchg16"
1508− "-Wl,-u,hs_xchg32" "-Wl,-u,hs_xchg64" "-Wl,-u,hs_atomicread8"
1509− "-Wl,-u,hs_atomicread16" "-Wl,-u,hs_atomicread32"
1510− "-Wl,-u,hs_atomicread64" "-Wl,-u,hs_atomicwrite8"
1511− "-Wl,-u,hs_atomicwrite16" "-Wl,-u,hs_atomicwrite32"
1512− "-Wl,-u,hs_atomicwrite64"
materialized/dummy-ghc/aarch64-unknown-linux-gnu-aarch64-unknown-linux-gnu-ghc-9.2.4-x86_64-linux/ghc-pkg/versiondeleted−1
@@ -1 +0,0 @@
1−GHC package manager version 9.2.4
materialized/dummy-ghc/aarch64-unknown-linux-gnu-aarch64-unknown-linux-gnu-ghc-9.2.4-x86_64-linux/ghc/infodeleted−66
@@ -1,66 +0,0 @@
1− [("Project name","The Glorious Glasgow Haskell Compilation System")
2− ,("GCC extra via C opts","")
3− ,("C compiler flags","")
4− ,("C++ compiler flags","")
5− ,("C compiler link flags","-Wl,-z,noexecstack")
6− ,("C compiler supports -no-pie","YES")
7− ,("Haskell CPP flags","-E -undef -traditional")
8− ,("ld flags","-z noexecstack")
9− ,("ld supports compact unwind","NO")
10− ,("ld supports build-id","YES")
11− ,("ld supports filelist","NO")
12− ,("ld is GNU ld","YES")
13− ,("Merge objects flags","-r")
14− ,("ar flags","q")
15− ,("ar supports at file","YES")
16− ,("otool command","otool")
17− ,("install_name_tool command","install_name_tool")
18− ,("touch command","touch")
19− ,("dllwrap command","/bin/false")
20− ,("windres command","/bin/false")
21− ,("libtool command","libtool")
22− ,("cross compiling","YES")
23− ,("target platform string","aarch64-unknown-linux")
24− ,("target os","OSLinux")
25− ,("target arch","ArchAArch64")
26− ,("target word size","8")
27− ,("target word big endian","NO")
28− ,("target has GNU nonexec stack","YES")
29− ,("target has .ident directive","YES")
30− ,("target has subsections via symbols","NO")
31− ,("target has RTS linker","YES")
32− ,("Unregisterised","NO")
33− ,("LLVM target","aarch64-unknown-linux")
34− ,("LLVM llc command","llc")
35− ,("LLVM opt command","opt")
36− ,("LLVM clang command","clang")
37− ,("Use interpreter","YES")
38− ,("Support SMP","YES")
39− ,("RTS ways","l debug thr thr_debug thr_l thr_p thr_debug_p debug_p")
40− ,("Tables next to code","YES")
41− ,("Leading underscore","NO")
42− ,("Use LibFFI","YES")
43− ,("RTS expects libdw","NO")
44− ,("Project version","9.2.4")
45− ,("Project Git commit id","a54827e0b48af33fa9cfde6ad131c6751c2fe321")
46− ,("Booter version","8.10.7")
47− ,("Stage","1")
48− ,("Build platform","x86_64-unknown-linux")
49− ,("Host platform","x86_64-unknown-linux")
50− ,("Target platform","aarch64-unknown-linux")
51− ,("Have interpreter","YES")
52− ,("Object splitting supported","NO")
53− ,("Have native code generator","YES")
54− ,("Target default backend","NCG")
55− ,("Support dynamic-too","YES")
56− ,("Support parallel --make","YES")
57− ,("Support reexported-modules","YES")
58− ,("Support thinning and renaming package flags","YES")
59− ,("Support Backpack","YES")
60− ,("Requires unified installed package IDs","YES")
61− ,("Uses package keys","YES")
62− ,("Uses unit IDs","YES")
63− ,("GHC Dynamic","NO")
64− ,("GHC Profiled","NO")
65− ,("Debug on","NO")
66− ]
materialized/dummy-ghc/aarch64-unknown-linux-gnu-aarch64-unknown-linux-gnu-ghc-9.2.4-x86_64-linux/ghc/numeric-versiondeleted−1
@@ -1 +0,0 @@
1−9.2.4
materialized/dummy-ghc/aarch64-unknown-linux-gnu-aarch64-unknown-linux-gnu-ghc-9.2.4-x86_64-linux/ghc/supported-languagesdeleted−268
@@ -1,268 +0,0 @@
1−Haskell98
2−Haskell2010
3−GHC2021
4−Unsafe
5−Trustworthy
6−Safe
7−AllowAmbiguousTypes
8−NoAllowAmbiguousTypes
9−AlternativeLayoutRule
10−NoAlternativeLayoutRule
11−AlternativeLayoutRuleTransitional
12−NoAlternativeLayoutRuleTransitional
13−Arrows
14−NoArrows
15−AutoDeriveTypeable
16−NoAutoDeriveTypeable
17−BangPatterns
18−NoBangPatterns
19−BinaryLiterals
20−NoBinaryLiterals
21−CApiFFI
22−NoCApiFFI
23−CPP
24−NoCPP
25−CUSKs
26−NoCUSKs
27−ConstrainedClassMethods
28−NoConstrainedClassMethods
29−ConstraintKinds
30−NoConstraintKinds
31−DataKinds
32−NoDataKinds
33−DatatypeContexts
34−NoDatatypeContexts
35−DefaultSignatures
36−NoDefaultSignatures
37−DeriveAnyClass
38−NoDeriveAnyClass
39−DeriveDataTypeable
40−NoDeriveDataTypeable
41−DeriveFoldable
42−NoDeriveFoldable
43−DeriveFunctor
44−NoDeriveFunctor
45−DeriveGeneric
46−NoDeriveGeneric
47−DeriveLift
48−NoDeriveLift
49−DeriveTraversable
50−NoDeriveTraversable
51−DerivingStrategies
52−NoDerivingStrategies
53−DerivingVia
54−NoDerivingVia
55−DisambiguateRecordFields
56−NoDisambiguateRecordFields
57−DoAndIfThenElse
58−NoDoAndIfThenElse
59−BlockArguments
60−NoBlockArguments
61−DoRec
62−NoDoRec
63−DuplicateRecordFields
64−NoDuplicateRecordFields
65−FieldSelectors
66−NoFieldSelectors
67−EmptyCase
68−NoEmptyCase
69−EmptyDataDecls
70−NoEmptyDataDecls
71−EmptyDataDeriving
72−NoEmptyDataDeriving
73−ExistentialQuantification
74−NoExistentialQuantification
75−ExplicitForAll
76−NoExplicitForAll
77−ExplicitNamespaces
78−NoExplicitNamespaces
79−ExtendedDefaultRules
80−NoExtendedDefaultRules
81−FlexibleContexts
82−NoFlexibleContexts
83−FlexibleInstances
84−NoFlexibleInstances
85−ForeignFunctionInterface
86−NoForeignFunctionInterface
87−FunctionalDependencies
88−NoFunctionalDependencies
89−GADTSyntax
90−NoGADTSyntax
91−GADTs
92−NoGADTs
93−GHCForeignImportPrim
94−NoGHCForeignImportPrim
95−GeneralizedNewtypeDeriving
96−NoGeneralizedNewtypeDeriving
97−GeneralisedNewtypeDeriving
98−NoGeneralisedNewtypeDeriving
99−ImplicitParams
100−NoImplicitParams
101−ImplicitPrelude
102−NoImplicitPrelude
103−ImportQualifiedPost
104−NoImportQualifiedPost
105−ImpredicativeTypes
106−NoImpredicativeTypes
107−IncoherentInstances
108−NoIncoherentInstances
109−TypeFamilyDependencies
110−NoTypeFamilyDependencies
111−InstanceSigs
112−NoInstanceSigs
113−ApplicativeDo
114−NoApplicativeDo
115−InterruptibleFFI
116−NoInterruptibleFFI
117−JavaScriptFFI
118−NoJavaScriptFFI
119−KindSignatures
120−NoKindSignatures
121−LambdaCase
122−NoLambdaCase
123−LexicalNegation
124−NoLexicalNegation
125−LiberalTypeSynonyms
126−NoLiberalTypeSynonyms
127−LinearTypes
128−NoLinearTypes
129−MagicHash
130−NoMagicHash
131−MonadComprehensions
132−NoMonadComprehensions
133−MonoLocalBinds
134−NoMonoLocalBinds
135−DeepSubsumption
136−NoDeepSubsumption
137−MonomorphismRestriction
138−NoMonomorphismRestriction
139−MultiParamTypeClasses
140−NoMultiParamTypeClasses
141−MultiWayIf
142−NoMultiWayIf
143−NumericUnderscores
144−NoNumericUnderscores
145−NPlusKPatterns
146−NoNPlusKPatterns
147−NamedFieldPuns
148−NoNamedFieldPuns
149−NamedWildCards
150−NoNamedWildCards
151−NegativeLiterals
152−NoNegativeLiterals
153−HexFloatLiterals
154−NoHexFloatLiterals
155−NondecreasingIndentation
156−NoNondecreasingIndentation
157−NullaryTypeClasses
158−NoNullaryTypeClasses
159−NumDecimals
160−NoNumDecimals
161−OverlappingInstances
162−NoOverlappingInstances
163−OverloadedLabels
164−NoOverloadedLabels
165−OverloadedLists
166−NoOverloadedLists
167−OverloadedStrings
168−NoOverloadedStrings
169−PackageImports
170−NoPackageImports
171−ParallelArrays
172−NoParallelArrays
173−ParallelListComp
174−NoParallelListComp
175−PartialTypeSignatures
176−NoPartialTypeSignatures
177−PatternGuards
178−NoPatternGuards
179−PatternSignatures
180−NoPatternSignatures
181−PatternSynonyms
182−NoPatternSynonyms
183−PolyKinds
184−NoPolyKinds
185−PolymorphicComponents
186−NoPolymorphicComponents
187−QuantifiedConstraints
188−NoQuantifiedConstraints
189−PostfixOperators
190−NoPostfixOperators
191−QuasiQuotes
192−NoQuasiQuotes
193−QualifiedDo
194−NoQualifiedDo
195−Rank2Types
196−NoRank2Types
197−RankNTypes
198−NoRankNTypes
199−RebindableSyntax
200−NoRebindableSyntax
201−OverloadedRecordDot
202−NoOverloadedRecordDot
203−OverloadedRecordUpdate
204−NoOverloadedRecordUpdate
205−RecordPuns
206−NoRecordPuns
207−RecordWildCards
208−NoRecordWildCards
209−RecursiveDo
210−NoRecursiveDo
211−RelaxedLayout
212−NoRelaxedLayout
213−RelaxedPolyRec
214−NoRelaxedPolyRec
215−RoleAnnotations
216−NoRoleAnnotations
217−ScopedTypeVariables
218−NoScopedTypeVariables
219−StandaloneDeriving
220−NoStandaloneDeriving
221−StarIsType
222−NoStarIsType
223−StaticPointers
224−NoStaticPointers
225−Strict
226−NoStrict
227−StrictData
228−NoStrictData
229−TemplateHaskell
230−NoTemplateHaskell
231−TemplateHaskellQuotes
232−NoTemplateHaskellQuotes
233−StandaloneKindSignatures
234−NoStandaloneKindSignatures
235−TraditionalRecordSyntax
236−NoTraditionalRecordSyntax
237−TransformListComp
238−NoTransformListComp
239−TupleSections
240−NoTupleSections
241−TypeApplications
242−NoTypeApplications
243−TypeInType
244−NoTypeInType
245−TypeFamilies
246−NoTypeFamilies
247−TypeOperators
248−NoTypeOperators
249−TypeSynonymInstances
250−NoTypeSynonymInstances
251−UnboxedTuples
252−NoUnboxedTuples
253−UnboxedSums
254−NoUnboxedSums
255−UndecidableInstances
256−NoUndecidableInstances
257−UndecidableSuperClasses
258−NoUndecidableSuperClasses
259−UnicodeSyntax
260−NoUnicodeSyntax
261−UnliftedDatatypes
262−NoUnliftedDatatypes
263−UnliftedFFITypes
264−NoUnliftedFFITypes
265−UnliftedNewtypes
266−NoUnliftedNewtypes
267−ViewPatterns
268−NoViewPatterns
materialized/dummy-ghc/aarch64-unknown-linux-gnu-aarch64-unknown-linux-gnu-ghc-9.2.4-x86_64-linux/ghc/versiondeleted−1
@@ -1 +0,0 @@
1−The Glorious Glasgow Haskell Compilation System, version 9.2.4
materialized/dummy-ghc/ghc-8.10.2-x86_64-linux/ghc/info−6
@@ -1,24 +1,18 @@
1 [("Project name","The Glorious Glasgow Haskell Compilation System")
1 [("Project name","The Glorious Glasgow Haskell Compilation System")
2 ,("GCC extra via C opts","")
2 ,("GCC extra via C opts","")
3− ,("C compiler command","gcc")
4 ,("C compiler flags","")
3 ,("C compiler flags","")
5 ,("C++ compiler flags","")
4 ,("C++ compiler flags","")
6 ,("C compiler link flags","")
5 ,("C compiler link flags","")
7 ,("C compiler supports -no-pie","YES")
6 ,("C compiler supports -no-pie","YES")
8− ,("Haskell CPP command","gcc")
9 ,("Haskell CPP flags","-E -undef -traditional")
7 ,("Haskell CPP flags","-E -undef -traditional")
10− ,("ld command","ld")
11 ,("ld flags","")
8 ,("ld flags","")
12 ,("ld supports compact unwind","YES")
9 ,("ld supports compact unwind","YES")
13 ,("ld supports build-id","YES")
10 ,("ld supports build-id","YES")
14 ,("ld supports filelist","NO")
11 ,("ld supports filelist","NO")
15 ,("ld is GNU ld","YES")
12 ,("ld is GNU ld","YES")
16− ,("Merge objects command","ld")
17 ,("Merge objects flags","-r")
13 ,("Merge objects flags","-r")
18− ,("ar command","ar")
19 ,("ar flags","q")
14 ,("ar flags","q")
20 ,("ar supports at file","YES")
15 ,("ar supports at file","YES")
21− ,("ranlib command","ranlib")
22 ,("touch command","touch")
16 ,("touch command","touch")
23 ,("dllwrap command","/bin/false")
17 ,("dllwrap command","/bin/false")
24 ,("windres command","/bin/false")
18 ,("windres command","/bin/false")
materialized/dummy-ghc/ghc-8.10.3-x86_64-linux/ghc/info−6
@@ -1,24 +1,18 @@
1 [("Project name","The Glorious Glasgow Haskell Compilation System")
1 [("Project name","The Glorious Glasgow Haskell Compilation System")
2 ,("GCC extra via C opts","")
2 ,("GCC extra via C opts","")
3− ,("C compiler command","gcc")
4 ,("C compiler flags","")
3 ,("C compiler flags","")
5 ,("C++ compiler flags","")
4 ,("C++ compiler flags","")
6 ,("C compiler link flags","")
5 ,("C compiler link flags","")
7 ,("C compiler supports -no-pie","YES")
6 ,("C compiler supports -no-pie","YES")
8− ,("Haskell CPP command","gcc")
9 ,("Haskell CPP flags","-E -undef -traditional")
7 ,("Haskell CPP flags","-E -undef -traditional")
10− ,("ld command","ld")
11 ,("ld flags","")
8 ,("ld flags","")
12 ,("ld supports compact unwind","YES")
9 ,("ld supports compact unwind","YES")
13 ,("ld supports build-id","YES")
10 ,("ld supports build-id","YES")
14 ,("ld supports filelist","NO")
11 ,("ld supports filelist","NO")
15 ,("ld is GNU ld","YES")
12 ,("ld is GNU ld","YES")
16− ,("Merge objects command","ld")
17 ,("Merge objects flags","-r")
13 ,("Merge objects flags","-r")
18− ,("ar command","ar")
19 ,("ar flags","q")
14 ,("ar flags","q")
20 ,("ar supports at file","YES")
15 ,("ar supports at file","YES")
21− ,("ranlib command","ranlib")
22 ,("otool command","otool")
16 ,("otool command","otool")
23 ,("install_name_tool command","install_name_tool")
17 ,("install_name_tool command","install_name_tool")
24 ,("touch command","touch")
18 ,("touch command","touch")
materialized/dummy-ghc/ghc-8.10.4-x86_64-darwin/ghc/info−6
@@ -1,24 +1,18 @@
1 [("Project name","The Glorious Glasgow Haskell Compilation System")
1 [("Project name","The Glorious Glasgow Haskell Compilation System")
2 ,("GCC extra via C opts","")
2 ,("GCC extra via C opts","")
3− ,("C compiler command","clang")
4 ,("C compiler flags","")
3 ,("C compiler flags","")
5 ,("C++ compiler flags","")
4 ,("C++ compiler flags","")
6 ,("C compiler link flags","")
5 ,("C compiler link flags","")
7 ,("C compiler supports -no-pie","NO")
6 ,("C compiler supports -no-pie","NO")
8− ,("Haskell CPP command","clang")
9 ,("Haskell CPP flags","-E -undef -traditional -Wno-invalid-pp-token -Wno-unicode -Wno-trigraphs")
7 ,("Haskell CPP flags","-E -undef -traditional -Wno-invalid-pp-token -Wno-unicode -Wno-trigraphs")
10− ,("ld command","ld")
11 ,("ld flags","")
8 ,("ld flags","")
12 ,("ld supports compact unwind","YES")
9 ,("ld supports compact unwind","YES")
13 ,("ld supports build-id","NO")
10 ,("ld supports build-id","NO")
14 ,("ld supports filelist","YES")
11 ,("ld supports filelist","YES")
15 ,("ld is GNU ld","NO")
12 ,("ld is GNU ld","NO")
16− ,("Merge objects command","ld")
17 ,("Merge objects flags","-r")
13 ,("Merge objects flags","-r")
18− ,("ar command","ar")
19 ,("ar flags","qcls")
14 ,("ar flags","qcls")
20 ,("ar supports at file","NO")
15 ,("ar supports at file","NO")
21− ,("ranlib command","ranlib")
22 ,("otool command","otool")
16 ,("otool command","otool")
23 ,("install_name_tool command","install_name_tool")
17 ,("install_name_tool command","install_name_tool")
24 ,("touch command","touch")
18 ,("touch command","touch")
materialized/dummy-ghc/ghc-8.10.4-x86_64-linux/ghc/info−6
@@ -1,24 +1,18 @@
1 [("Project name","The Glorious Glasgow Haskell Compilation System")
1 [("Project name","The Glorious Glasgow Haskell Compilation System")
2 ,("GCC extra via C opts","")
2 ,("GCC extra via C opts","")
3− ,("C compiler command","gcc")
4 ,("C compiler flags","")
3 ,("C compiler flags","")
5 ,("C++ compiler flags","")
4 ,("C++ compiler flags","")
6 ,("C compiler link flags","")
5 ,("C compiler link flags","")
7 ,("C compiler supports -no-pie","YES")
6 ,("C compiler supports -no-pie","YES")
8− ,("Haskell CPP command","gcc")
9 ,("Haskell CPP flags","-E -undef -traditional")
7 ,("Haskell CPP flags","-E -undef -traditional")
10− ,("ld command","ld")
11 ,("ld flags","")
8 ,("ld flags","")
12 ,("ld supports compact unwind","YES")
9 ,("ld supports compact unwind","YES")
13 ,("ld supports build-id","YES")
10 ,("ld supports build-id","YES")
14 ,("ld supports filelist","NO")
11 ,("ld supports filelist","NO")
15 ,("ld is GNU ld","YES")
12 ,("ld is GNU ld","YES")
16− ,("Merge objects command","ld")
17 ,("Merge objects flags","-r")
13 ,("Merge objects flags","-r")
18− ,("ar command","ar")
19 ,("ar flags","q")
14 ,("ar flags","q")
20 ,("ar supports at file","YES")
15 ,("ar supports at file","YES")
21− ,("ranlib command","ranlib")
22 ,("otool command","otool")
16 ,("otool command","otool")
23 ,("install_name_tool command","install_name_tool")
17 ,("install_name_tool command","install_name_tool")
24 ,("touch command","touch")
18 ,("touch command","touch")
materialized/dummy-ghc/ghc-8.10.4.20210212-x86_64-linux/ghc/info−6
@@ -1,24 +1,18 @@
1 [("Project name","The Glorious Glasgow Haskell Compilation System")
1 [("Project name","The Glorious Glasgow Haskell Compilation System")
2 ,("GCC extra via C opts","")
2 ,("GCC extra via C opts","")
3− ,("C compiler command","gcc")
4 ,("C compiler flags","")
3 ,("C compiler flags","")
5 ,("C++ compiler flags","")
4 ,("C++ compiler flags","")
6 ,("C compiler link flags","")
5 ,("C compiler link flags","")
7 ,("C compiler supports -no-pie","YES")
6 ,("C compiler supports -no-pie","YES")
8− ,("Haskell CPP command","gcc")
9 ,("Haskell CPP flags","-E -undef -traditional")
7 ,("Haskell CPP flags","-E -undef -traditional")
10− ,("ld command","ld")
11 ,("ld flags","")
8 ,("ld flags","")
12 ,("ld supports compact unwind","YES")
9 ,("ld supports compact unwind","YES")
13 ,("ld supports build-id","YES")
10 ,("ld supports build-id","YES")
14 ,("ld supports filelist","NO")
11 ,("ld supports filelist","NO")
15 ,("ld is GNU ld","YES")
12 ,("ld is GNU ld","YES")
16− ,("Merge objects command","ld")
17 ,("Merge objects flags","-r")
13 ,("Merge objects flags","-r")
18− ,("ar command","ar")
19 ,("ar flags","q")
14 ,("ar flags","q")
20 ,("ar supports at file","YES")
15 ,("ar supports at file","YES")
21− ,("ranlib command","ranlib")
22 ,("otool command","otool")
16 ,("otool command","otool")
23 ,("install_name_tool command","install_name_tool")
17 ,("install_name_tool command","install_name_tool")
24 ,("touch command","touch")
18 ,("touch command","touch")
materialized/dummy-ghc/ghc-8.10.5-x86_64-darwin/ghc-pkg/dump-globaldeleted−1638

This diff is too big to show here.

materialized/dummy-ghc/ghc-8.10.5-x86_64-darwin/ghc-pkg/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-8.10.5-x86_64-darwin/ghc/infodeleted−75

This diff is too big to show here.

materialized/dummy-ghc/ghc-8.10.5-x86_64-darwin/ghc/numeric-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-8.10.5-x86_64-darwin/ghc/supported-languagesdeleted−255

This diff is too big to show here.

materialized/dummy-ghc/ghc-8.10.5-x86_64-darwin/ghc/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-8.10.5-x86_64-linux/ghc-pkg/dump-globaldeleted−1639

This diff is too big to show here.

materialized/dummy-ghc/ghc-8.10.5-x86_64-linux/ghc-pkg/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-8.10.5-x86_64-linux/ghc/infodeleted−75

This diff is too big to show here.

materialized/dummy-ghc/ghc-8.10.5-x86_64-linux/ghc/numeric-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-8.10.5-x86_64-linux/ghc/supported-languagesdeleted−255

This diff is too big to show here.

materialized/dummy-ghc/ghc-8.10.5-x86_64-linux/ghc/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-8.10.6-x86_64-darwin/ghc-pkg/dump-globaldeleted−1638

This diff is too big to show here.

materialized/dummy-ghc/ghc-8.10.6-x86_64-darwin/ghc-pkg/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-8.10.6-x86_64-darwin/ghc/infodeleted−75

This diff is too big to show here.

materialized/dummy-ghc/ghc-8.10.6-x86_64-darwin/ghc/numeric-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-8.10.6-x86_64-darwin/ghc/supported-languagesdeleted−255

This diff is too big to show here.

materialized/dummy-ghc/ghc-8.10.6-x86_64-darwin/ghc/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-8.10.6-x86_64-linux/ghc-pkg/dump-globaldeleted−1639

This diff is too big to show here.

materialized/dummy-ghc/ghc-8.10.6-x86_64-linux/ghc-pkg/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-8.10.6-x86_64-linux/ghc/infodeleted−75

This diff is too big to show here.

materialized/dummy-ghc/ghc-8.10.6-x86_64-linux/ghc/numeric-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-8.10.6-x86_64-linux/ghc/supported-languagesdeleted−255

This diff is too big to show here.

materialized/dummy-ghc/ghc-8.10.6-x86_64-linux/ghc/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-8.10.7-aarch64-darwin/ghc-pkg/dump-globaldeleted−1639

This diff is too big to show here.

materialized/dummy-ghc/ghc-8.10.7-aarch64-darwin/ghc-pkg/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-8.10.7-aarch64-darwin/ghc/infodeleted−73

This diff is too big to show here.

materialized/dummy-ghc/ghc-8.10.7-aarch64-darwin/ghc/numeric-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-8.10.7-aarch64-darwin/ghc/supported-languagesdeleted−255

This diff is too big to show here.

materialized/dummy-ghc/ghc-8.10.7-aarch64-darwin/ghc/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-8.10.7-aarch64-linux/ghc-pkg/dump-globaldeleted−1638

This diff is too big to show here.

materialized/dummy-ghc/ghc-8.10.7-aarch64-linux/ghc-pkg/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-8.10.7-aarch64-linux/ghc/infodeleted−73

This diff is too big to show here.

materialized/dummy-ghc/ghc-8.10.7-aarch64-linux/ghc/numeric-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-8.10.7-aarch64-linux/ghc/supported-languagesdeleted−255

This diff is too big to show here.

materialized/dummy-ghc/ghc-8.10.7-aarch64-linux/ghc/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-8.10.7-x86_64-darwin/ghc-pkg/dump-globaldeleted−1639

This diff is too big to show here.

materialized/dummy-ghc/ghc-8.10.7-x86_64-darwin/ghc-pkg/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-8.10.7-x86_64-darwin/ghc/infodeleted−75

This diff is too big to show here.

materialized/dummy-ghc/ghc-8.10.7-x86_64-darwin/ghc/numeric-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-8.10.7-x86_64-darwin/ghc/supported-languagesdeleted−255

This diff is too big to show here.

materialized/dummy-ghc/ghc-8.10.7-x86_64-darwin/ghc/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-8.10.7-x86_64-linux/ghc-pkg/dump-globaldeleted−1638

This diff is too big to show here.

materialized/dummy-ghc/ghc-8.10.7-x86_64-linux/ghc-pkg/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-8.10.7-x86_64-linux/ghc/infodeleted−75

This diff is too big to show here.

materialized/dummy-ghc/ghc-8.10.7-x86_64-linux/ghc/numeric-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-8.10.7-x86_64-linux/ghc/supported-languagesdeleted−255

This diff is too big to show here.

materialized/dummy-ghc/ghc-8.10.7-x86_64-linux/ghc/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-8.6.5-x86_64-darwin/ghc/info−5

This diff is too big to show here.

materialized/dummy-ghc/ghc-8.6.5-x86_64-linux/ghc/info−5

This diff is too big to show here.

materialized/dummy-ghc/ghc-8.8.2-x86_64-darwin/ghc-pkg/dump-global+3−6

This diff is too big to show here.

materialized/dummy-ghc/ghc-8.8.2-x86_64-darwin/ghc/info+1−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-8.8.2-x86_64-linux/ghc-pkg/dump-global+2−4

This diff is too big to show here.

materialized/dummy-ghc/ghc-8.8.3-aarch64-linux/ghc/info+3−5

This diff is too big to show here.

materialized/dummy-ghc/ghc-8.8.3-aarch64-linux/ghc/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-8.8.3-x86_64-darwin/ghc/info−5

This diff is too big to show here.

materialized/dummy-ghc/ghc-8.8.3-x86_64-linux/ghc/info−5

This diff is too big to show here.

materialized/dummy-ghc/ghc-8.8.4-aarch64-linux/ghc-pkg/dump-globaldeleted−1592

This diff is too big to show here.

materialized/dummy-ghc/ghc-8.8.4-aarch64-linux/ghc-pkg/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-8.8.4-aarch64-linux/ghc/infodeleted−60

This diff is too big to show here.

materialized/dummy-ghc/ghc-8.8.4-aarch64-linux/ghc/numeric-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-8.8.4-aarch64-linux/ghc/supported-languagesdeleted−247

This diff is too big to show here.

materialized/dummy-ghc/ghc-8.8.4-aarch64-linux/ghc/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-8.8.4-x86_64-darwin/ghc/info−5

This diff is too big to show here.

materialized/dummy-ghc/ghc-8.8.4-x86_64-linux/ghc/info−5

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.0.1-aarch64-darwin/ghc-pkg/dump-globaldeleted−1759

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.0.1-aarch64-darwin/ghc-pkg/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.0.1-aarch64-darwin/ghc/infodeleted−74

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.0.1-aarch64-darwin/ghc/numeric-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.0.1-aarch64-darwin/ghc/supported-languagesdeleted−261

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.0.1-aarch64-darwin/ghc/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.0.1-aarch64-linux/ghc-pkg/dump-globaldeleted−1760

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.0.1-aarch64-linux/ghc-pkg/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.0.1-aarch64-linux/ghc/infodeleted−74

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.0.1-aarch64-linux/ghc/numeric-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.0.1-aarch64-linux/ghc/supported-languagesdeleted−261

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.0.1-aarch64-linux/ghc/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.0.1-x86_64-darwin/ghc-pkg/dump-globaldeleted−1759

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.0.1-x86_64-darwin/ghc-pkg/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.0.1-x86_64-darwin/ghc/infodeleted−76

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.0.1-x86_64-darwin/ghc/numeric-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.0.1-x86_64-darwin/ghc/supported-languagesdeleted−261

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.0.1-x86_64-darwin/ghc/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.0.1-x86_64-linux/ghc-pkg/dump-globaldeleted−1760

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.0.1-x86_64-linux/ghc-pkg/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.0.1-x86_64-linux/ghc/infodeleted−76

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.0.1-x86_64-linux/ghc/numeric-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.0.1-x86_64-linux/ghc/supported-languagesdeleted−261

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.0.1-x86_64-linux/ghc/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.0.2-aarch64-darwin/ghc-pkg/dump-globaldeleted−1766

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.0.2-aarch64-darwin/ghc-pkg/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.0.2-aarch64-darwin/ghc/infodeleted−74

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.0.2-aarch64-darwin/ghc/numeric-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.0.2-aarch64-darwin/ghc/supported-languagesdeleted−261

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.0.2-aarch64-darwin/ghc/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.0.2-aarch64-linux/ghc-pkg/dump-globaldeleted−1767

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.0.2-aarch64-linux/ghc-pkg/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.0.2-aarch64-linux/ghc/infodeleted−74

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.0.2-aarch64-linux/ghc/numeric-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.0.2-aarch64-linux/ghc/supported-languagesdeleted−261

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.0.2-aarch64-linux/ghc/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.0.2-x86_64-darwin/ghc-pkg/dump-globaldeleted−1766

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.0.2-x86_64-darwin/ghc-pkg/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.0.2-x86_64-darwin/ghc/infodeleted−76

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.0.2-x86_64-darwin/ghc/numeric-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.0.2-x86_64-darwin/ghc/supported-languagesdeleted−261

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.0.2-x86_64-darwin/ghc/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.0.2-x86_64-linux/ghc-pkg/dump-globaldeleted−1767

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.0.2-x86_64-linux/ghc-pkg/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.0.2-x86_64-linux/ghc/infodeleted−76

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.0.2-x86_64-linux/ghc/numeric-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.0.2-x86_64-linux/ghc/supported-languagesdeleted−261

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.0.2-x86_64-linux/ghc/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.1-aarch64-darwin/ghc-pkg/dump-globaldeleted−1826

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.1-aarch64-darwin/ghc-pkg/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.1-aarch64-darwin/ghc/infodeleted−73

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.1-aarch64-darwin/ghc/numeric-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.1-aarch64-darwin/ghc/supported-languagesdeleted−266

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.1-aarch64-darwin/ghc/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.1-aarch64-linux/ghc-pkg/dump-globaldeleted−1826

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.1-aarch64-linux/ghc-pkg/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.1-aarch64-linux/ghc/infodeleted−73

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.1-aarch64-linux/ghc/numeric-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.1-aarch64-linux/ghc/supported-languagesdeleted−266

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.1-aarch64-linux/ghc/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.1-x86_64-darwin/ghc-pkg/dump-globaldeleted−1826

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.1-x86_64-darwin/ghc-pkg/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.1-x86_64-darwin/ghc/infodeleted−73

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.1-x86_64-darwin/ghc/numeric-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.1-x86_64-darwin/ghc/supported-languagesdeleted−266

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.1-x86_64-darwin/ghc/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.1-x86_64-linux/ghc-pkg/dump-globaldeleted−1826

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.1-x86_64-linux/ghc-pkg/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.1-x86_64-linux/ghc/infodeleted−73

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.1-x86_64-linux/ghc/numeric-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.1-x86_64-linux/ghc/supported-languagesdeleted−266

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.1-x86_64-linux/ghc/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.2-aarch64-darwin/ghc-pkg/dump-globaldeleted−1834

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.2-aarch64-darwin/ghc-pkg/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.2-aarch64-darwin/ghc/infodeleted−72

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.2-aarch64-darwin/ghc/numeric-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.2-aarch64-darwin/ghc/supported-languagesdeleted−266

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.2-aarch64-darwin/ghc/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.2-aarch64-linux/ghc-pkg/dump-globaldeleted−1834

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.2-aarch64-linux/ghc-pkg/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.2-aarch64-linux/ghc/infodeleted−72

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.2-aarch64-linux/ghc/numeric-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.2-aarch64-linux/ghc/supported-languagesdeleted−266

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.2-aarch64-linux/ghc/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.2-x86_64-darwin/ghc-pkg/dump-globaldeleted−1834

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.2-x86_64-darwin/ghc-pkg/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.2-x86_64-darwin/ghc/infodeleted−72

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.2-x86_64-darwin/ghc/numeric-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.2-x86_64-darwin/ghc/supported-languagesdeleted−266

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.2-x86_64-darwin/ghc/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.2-x86_64-linux/ghc-pkg/dump-globaldeleted−1834

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.2-x86_64-linux/ghc-pkg/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.2-x86_64-linux/ghc/infodeleted−72

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.2-x86_64-linux/ghc/numeric-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.2-x86_64-linux/ghc/supported-languagesdeleted−266

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.2-x86_64-linux/ghc/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.3-aarch64-darwin/ghc-pkg/dump-globaldeleted−1834

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.3-aarch64-darwin/ghc-pkg/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.3-aarch64-darwin/ghc/infodeleted−72

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.3-aarch64-darwin/ghc/numeric-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.3-aarch64-darwin/ghc/supported-languagesdeleted−266

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.3-aarch64-darwin/ghc/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.3-aarch64-linux/ghc-pkg/dump-globaldeleted−1834

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.3-aarch64-linux/ghc-pkg/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.3-aarch64-linux/ghc/infodeleted−72

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.3-aarch64-linux/ghc/numeric-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.3-aarch64-linux/ghc/supported-languagesdeleted−266

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.3-aarch64-linux/ghc/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.3-x86_64-darwin/ghc-pkg/dump-globaldeleted−1834

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.3-x86_64-darwin/ghc-pkg/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.3-x86_64-darwin/ghc/infodeleted−72

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.3-x86_64-darwin/ghc/numeric-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.3-x86_64-darwin/ghc/supported-languagesdeleted−266

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.3-x86_64-darwin/ghc/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.3-x86_64-linux/ghc-pkg/dump-globaldeleted−1834

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.3-x86_64-linux/ghc-pkg/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.3-x86_64-linux/ghc/infodeleted−72

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.3-x86_64-linux/ghc/numeric-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.3-x86_64-linux/ghc/supported-languagesdeleted−266

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.3-x86_64-linux/ghc/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.4-aarch64-darwin/ghc-pkg/dump-globaldeleted−1834

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.4-aarch64-darwin/ghc-pkg/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.4-aarch64-darwin/ghc/infodeleted−72

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.4-aarch64-darwin/ghc/numeric-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.4-aarch64-darwin/ghc/supported-languagesdeleted−268

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.4-aarch64-darwin/ghc/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.4-aarch64-linux/ghc-pkg/dump-globaldeleted−1833

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.4-aarch64-linux/ghc-pkg/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.4-aarch64-linux/ghc/infodeleted−72

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.4-aarch64-linux/ghc/numeric-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.4-aarch64-linux/ghc/supported-languagesdeleted−268

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.4-aarch64-linux/ghc/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.4-x86_64-darwin/ghc-pkg/dump-globaldeleted−1834

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.4-x86_64-darwin/ghc-pkg/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.4-x86_64-darwin/ghc/infodeleted−72

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.4-x86_64-darwin/ghc/numeric-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.4-x86_64-darwin/ghc/supported-languagesdeleted−268

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.4-x86_64-darwin/ghc/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.4-x86_64-linux/ghc-pkg/dump-globaldeleted−1833

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.4-x86_64-linux/ghc-pkg/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.4-x86_64-linux/ghc/infodeleted−72

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.4-x86_64-linux/ghc/numeric-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.4-x86_64-linux/ghc/supported-languagesdeleted−268

This diff is too big to show here.

materialized/dummy-ghc/ghc-9.2.4-x86_64-linux/ghc/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.10.4-x86_64-darwin/ghc-pkg/dump-globaldeleted−1328

This diff is too big to show here.

materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.10.4-x86_64-darwin/ghc-pkg/numeric-ghcjs-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.10.4-x86_64-darwin/ghc-pkg/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.10.4-x86_64-darwin/ghc/infodeleted−71

This diff is too big to show here.

materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.10.4-x86_64-darwin/ghc/numeric-ghc-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.10.4-x86_64-darwin/ghc/numeric-ghcjs-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.10.4-x86_64-darwin/ghc/numeric-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.10.4-x86_64-darwin/ghc/supported-languagesdeleted−255

This diff is too big to show here.

materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.10.4-x86_64-darwin/ghc/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.10.4-x86_64-linux/ghc-pkg/dump-globaldeleted−1328

This diff is too big to show here.

materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.10.4-x86_64-linux/ghc-pkg/numeric-ghcjs-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.10.4-x86_64-linux/ghc-pkg/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.10.4-x86_64-linux/ghc/infodeleted−71

This diff is too big to show here.

materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.10.4-x86_64-linux/ghc/numeric-ghc-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.10.4-x86_64-linux/ghc/numeric-ghcjs-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.10.4-x86_64-linux/ghc/numeric-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.10.4-x86_64-linux/ghc/supported-languagesdeleted−255

This diff is too big to show here.

materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.10.4-x86_64-linux/ghc/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.10.5-x86_64-darwin/ghc-pkg/dump-globaldeleted−1330

This diff is too big to show here.

materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.10.5-x86_64-darwin/ghc-pkg/numeric-ghcjs-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.10.5-x86_64-darwin/ghc-pkg/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.10.5-x86_64-darwin/ghc/infodeleted−71

This diff is too big to show here.

materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.10.5-x86_64-darwin/ghc/numeric-ghc-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.10.5-x86_64-darwin/ghc/numeric-ghcjs-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.10.5-x86_64-darwin/ghc/numeric-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.10.5-x86_64-darwin/ghc/supported-languagesdeleted−255

This diff is too big to show here.

materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.10.5-x86_64-darwin/ghc/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.10.5-x86_64-linux/ghc-pkg/dump-globaldeleted−1330

This diff is too big to show here.

materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.10.5-x86_64-linux/ghc-pkg/numeric-ghcjs-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.10.5-x86_64-linux/ghc-pkg/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.10.5-x86_64-linux/ghc/infodeleted−71

This diff is too big to show here.

materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.10.5-x86_64-linux/ghc/numeric-ghc-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.10.5-x86_64-linux/ghc/numeric-ghcjs-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.10.5-x86_64-linux/ghc/numeric-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.10.5-x86_64-linux/ghc/supported-languagesdeleted−255

This diff is too big to show here.

materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.10.5-x86_64-linux/ghc/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.10.6-x86_64-darwin/ghc-pkg/dump-globaldeleted−1330

This diff is too big to show here.

materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.10.6-x86_64-darwin/ghc-pkg/numeric-ghcjs-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.10.6-x86_64-darwin/ghc-pkg/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.10.6-x86_64-darwin/ghc/infodeleted−71

This diff is too big to show here.

materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.10.6-x86_64-darwin/ghc/numeric-ghc-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.10.6-x86_64-darwin/ghc/numeric-ghcjs-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.10.6-x86_64-darwin/ghc/numeric-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.10.6-x86_64-darwin/ghc/supported-languagesdeleted−255

This diff is too big to show here.

materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.10.6-x86_64-darwin/ghc/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.10.6-x86_64-linux/ghc-pkg/dump-globaldeleted−1330

This diff is too big to show here.

materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.10.6-x86_64-linux/ghc-pkg/numeric-ghcjs-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.10.6-x86_64-linux/ghc-pkg/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.10.6-x86_64-linux/ghc/infodeleted−71

This diff is too big to show here.

materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.10.6-x86_64-linux/ghc/numeric-ghc-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.10.6-x86_64-linux/ghc/numeric-ghcjs-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.10.6-x86_64-linux/ghc/numeric-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.10.6-x86_64-linux/ghc/supported-languagesdeleted−255

This diff is too big to show here.

materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.10.6-x86_64-linux/ghc/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.10.7-x86_64-darwin/ghc-pkg/dump-globaldeleted−1330

This diff is too big to show here.

materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.10.7-x86_64-darwin/ghc-pkg/numeric-ghcjs-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.10.7-x86_64-darwin/ghc-pkg/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.10.7-x86_64-darwin/ghc/infodeleted−71

This diff is too big to show here.

materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.10.7-x86_64-darwin/ghc/numeric-ghc-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.10.7-x86_64-darwin/ghc/numeric-ghcjs-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.10.7-x86_64-darwin/ghc/numeric-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.10.7-x86_64-darwin/ghc/supported-languagesdeleted−255

This diff is too big to show here.

materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.10.7-x86_64-darwin/ghc/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.10.7-x86_64-linux/ghc-pkg/dump-globaldeleted−1330

This diff is too big to show here.

materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.10.7-x86_64-linux/ghc-pkg/numeric-ghcjs-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.10.7-x86_64-linux/ghc-pkg/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.10.7-x86_64-linux/ghc/infodeleted−71

This diff is too big to show here.

materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.10.7-x86_64-linux/ghc/numeric-ghc-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.10.7-x86_64-linux/ghc/numeric-ghcjs-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.10.7-x86_64-linux/ghc/numeric-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.10.7-x86_64-linux/ghc/supported-languagesdeleted−255

This diff is too big to show here.

materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.10.7-x86_64-linux/ghc/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-unknown-linux-musl-x86_64-unknown-linux-musl-ghc-8.10.4-x86_64-linux/ghc-pkg/dump-global+3−38

This diff is too big to show here.

materialized/dummy-ghc/x86_64-unknown-linux-musl-x86_64-unknown-linux-musl-ghc-8.10.5-x86_64-linux/ghc-pkg/dump-globaldeleted−1638

This diff is too big to show here.

materialized/dummy-ghc/x86_64-unknown-linux-musl-x86_64-unknown-linux-musl-ghc-8.10.5-x86_64-linux/ghc-pkg/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-unknown-linux-musl-x86_64-unknown-linux-musl-ghc-8.10.5-x86_64-linux/ghc/infodeleted−69

This diff is too big to show here.

materialized/dummy-ghc/x86_64-unknown-linux-musl-x86_64-unknown-linux-musl-ghc-8.10.5-x86_64-linux/ghc/numeric-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-unknown-linux-musl-x86_64-unknown-linux-musl-ghc-8.10.5-x86_64-linux/ghc/supported-languagesdeleted−255

This diff is too big to show here.

materialized/dummy-ghc/x86_64-unknown-linux-musl-x86_64-unknown-linux-musl-ghc-8.10.5-x86_64-linux/ghc/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-unknown-linux-musl-x86_64-unknown-linux-musl-ghc-8.10.6-x86_64-linux/ghc-pkg/dump-globaldeleted−1638

This diff is too big to show here.

materialized/dummy-ghc/x86_64-unknown-linux-musl-x86_64-unknown-linux-musl-ghc-8.10.6-x86_64-linux/ghc-pkg/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-unknown-linux-musl-x86_64-unknown-linux-musl-ghc-8.10.6-x86_64-linux/ghc/infodeleted−69

This diff is too big to show here.

materialized/dummy-ghc/x86_64-unknown-linux-musl-x86_64-unknown-linux-musl-ghc-8.10.6-x86_64-linux/ghc/numeric-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-unknown-linux-musl-x86_64-unknown-linux-musl-ghc-8.10.6-x86_64-linux/ghc/supported-languagesdeleted−255

This diff is too big to show here.

materialized/dummy-ghc/x86_64-unknown-linux-musl-x86_64-unknown-linux-musl-ghc-8.10.6-x86_64-linux/ghc/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-unknown-linux-musl-x86_64-unknown-linux-musl-ghc-8.10.7-x86_64-linux/ghc-pkg/dump-globaldeleted−1638

This diff is too big to show here.

materialized/dummy-ghc/x86_64-unknown-linux-musl-x86_64-unknown-linux-musl-ghc-8.10.7-x86_64-linux/ghc-pkg/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-unknown-linux-musl-x86_64-unknown-linux-musl-ghc-8.10.7-x86_64-linux/ghc/infodeleted−69

This diff is too big to show here.

materialized/dummy-ghc/x86_64-unknown-linux-musl-x86_64-unknown-linux-musl-ghc-8.10.7-x86_64-linux/ghc/numeric-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-unknown-linux-musl-x86_64-unknown-linux-musl-ghc-8.10.7-x86_64-linux/ghc/supported-languagesdeleted−255

This diff is too big to show here.

materialized/dummy-ghc/x86_64-unknown-linux-musl-x86_64-unknown-linux-musl-ghc-8.10.7-x86_64-linux/ghc/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-unknown-linux-musl-x86_64-unknown-linux-musl-ghc-8.6.5-x86_64-linux/ghc-pkg/dump-global+2−31

This diff is too big to show here.

materialized/dummy-ghc/x86_64-unknown-linux-musl-x86_64-unknown-linux-musl-ghc-8.8.2-x86_64-linux/ghc-pkg/dump-globaldeleted−1590

This diff is too big to show here.

materialized/dummy-ghc/x86_64-unknown-linux-musl-x86_64-unknown-linux-musl-ghc-8.8.2-x86_64-linux/ghc-pkg/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-unknown-linux-musl-x86_64-unknown-linux-musl-ghc-8.8.2-x86_64-linux/ghc/infodeleted−57

This diff is too big to show here.

materialized/dummy-ghc/x86_64-unknown-linux-musl-x86_64-unknown-linux-musl-ghc-8.8.2-x86_64-linux/ghc/numeric-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-unknown-linux-musl-x86_64-unknown-linux-musl-ghc-8.8.2-x86_64-linux/ghc/supported-languagesdeleted−247

This diff is too big to show here.

materialized/dummy-ghc/x86_64-unknown-linux-musl-x86_64-unknown-linux-musl-ghc-8.8.2-x86_64-linux/ghc/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-unknown-linux-musl-x86_64-unknown-linux-musl-ghc-8.8.3-x86_64-linux/ghc-pkg/dump-global+3−37

This diff is too big to show here.

materialized/dummy-ghc/x86_64-unknown-linux-musl-x86_64-unknown-linux-musl-ghc-8.8.4-x86_64-linux/ghc-pkg/dump-global+3−37

This diff is too big to show here.

materialized/dummy-ghc/x86_64-unknown-linux-musl-x86_64-unknown-linux-musl-ghc-9.0.1-x86_64-linux/ghc-pkg/dump-globaldeleted−1722

This diff is too big to show here.

materialized/dummy-ghc/x86_64-unknown-linux-musl-x86_64-unknown-linux-musl-ghc-9.0.1-x86_64-linux/ghc-pkg/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-unknown-linux-musl-x86_64-unknown-linux-musl-ghc-9.0.1-x86_64-linux/ghc/infodeleted−70

This diff is too big to show here.

materialized/dummy-ghc/x86_64-unknown-linux-musl-x86_64-unknown-linux-musl-ghc-9.0.1-x86_64-linux/ghc/numeric-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-unknown-linux-musl-x86_64-unknown-linux-musl-ghc-9.0.1-x86_64-linux/ghc/supported-languagesdeleted−261

This diff is too big to show here.

materialized/dummy-ghc/x86_64-unknown-linux-musl-x86_64-unknown-linux-musl-ghc-9.0.1-x86_64-linux/ghc/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-unknown-linux-musl-x86_64-unknown-linux-musl-ghc-9.0.2-x86_64-linux/ghc-pkg/dump-globaldeleted−1729

This diff is too big to show here.

materialized/dummy-ghc/x86_64-unknown-linux-musl-x86_64-unknown-linux-musl-ghc-9.0.2-x86_64-linux/ghc-pkg/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-unknown-linux-musl-x86_64-unknown-linux-musl-ghc-9.0.2-x86_64-linux/ghc/infodeleted−70

This diff is too big to show here.

materialized/dummy-ghc/x86_64-unknown-linux-musl-x86_64-unknown-linux-musl-ghc-9.0.2-x86_64-linux/ghc/numeric-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-unknown-linux-musl-x86_64-unknown-linux-musl-ghc-9.0.2-x86_64-linux/ghc/supported-languagesdeleted−261

This diff is too big to show here.

materialized/dummy-ghc/x86_64-unknown-linux-musl-x86_64-unknown-linux-musl-ghc-9.0.2-x86_64-linux/ghc/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-unknown-linux-musl-x86_64-unknown-linux-musl-ghc-9.2.1-x86_64-linux/ghc-pkg/dump-globaldeleted−1788

This diff is too big to show here.

materialized/dummy-ghc/x86_64-unknown-linux-musl-x86_64-unknown-linux-musl-ghc-9.2.1-x86_64-linux/ghc-pkg/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-unknown-linux-musl-x86_64-unknown-linux-musl-ghc-9.2.1-x86_64-linux/ghc/infodeleted−67

This diff is too big to show here.

materialized/dummy-ghc/x86_64-unknown-linux-musl-x86_64-unknown-linux-musl-ghc-9.2.1-x86_64-linux/ghc/numeric-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-unknown-linux-musl-x86_64-unknown-linux-musl-ghc-9.2.1-x86_64-linux/ghc/supported-languagesdeleted−266

This diff is too big to show here.

materialized/dummy-ghc/x86_64-unknown-linux-musl-x86_64-unknown-linux-musl-ghc-9.2.1-x86_64-linux/ghc/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-unknown-linux-musl-x86_64-unknown-linux-musl-ghc-9.2.2-x86_64-linux/ghc-pkg/dump-globaldeleted−1796

This diff is too big to show here.

materialized/dummy-ghc/x86_64-unknown-linux-musl-x86_64-unknown-linux-musl-ghc-9.2.2-x86_64-linux/ghc-pkg/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-unknown-linux-musl-x86_64-unknown-linux-musl-ghc-9.2.2-x86_64-linux/ghc/infodeleted−66

This diff is too big to show here.

materialized/dummy-ghc/x86_64-unknown-linux-musl-x86_64-unknown-linux-musl-ghc-9.2.2-x86_64-linux/ghc/numeric-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-unknown-linux-musl-x86_64-unknown-linux-musl-ghc-9.2.2-x86_64-linux/ghc/supported-languagesdeleted−266

This diff is too big to show here.

materialized/dummy-ghc/x86_64-unknown-linux-musl-x86_64-unknown-linux-musl-ghc-9.2.2-x86_64-linux/ghc/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-unknown-linux-musl-x86_64-unknown-linux-musl-ghc-9.2.3-x86_64-linux/ghc-pkg/dump-globaldeleted−1796

This diff is too big to show here.

materialized/dummy-ghc/x86_64-unknown-linux-musl-x86_64-unknown-linux-musl-ghc-9.2.3-x86_64-linux/ghc-pkg/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-unknown-linux-musl-x86_64-unknown-linux-musl-ghc-9.2.3-x86_64-linux/ghc/infodeleted−66

This diff is too big to show here.

materialized/dummy-ghc/x86_64-unknown-linux-musl-x86_64-unknown-linux-musl-ghc-9.2.3-x86_64-linux/ghc/numeric-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-unknown-linux-musl-x86_64-unknown-linux-musl-ghc-9.2.3-x86_64-linux/ghc/supported-languagesdeleted−266

This diff is too big to show here.

materialized/dummy-ghc/x86_64-unknown-linux-musl-x86_64-unknown-linux-musl-ghc-9.2.3-x86_64-linux/ghc/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-unknown-linux-musl-x86_64-unknown-linux-musl-ghc-9.2.4-x86_64-linux/ghc-pkg/dump-globaldeleted−1796

This diff is too big to show here.

materialized/dummy-ghc/x86_64-unknown-linux-musl-x86_64-unknown-linux-musl-ghc-9.2.4-x86_64-linux/ghc-pkg/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-unknown-linux-musl-x86_64-unknown-linux-musl-ghc-9.2.4-x86_64-linux/ghc/infodeleted−66

This diff is too big to show here.

materialized/dummy-ghc/x86_64-unknown-linux-musl-x86_64-unknown-linux-musl-ghc-9.2.4-x86_64-linux/ghc/numeric-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-unknown-linux-musl-x86_64-unknown-linux-musl-ghc-9.2.4-x86_64-linux/ghc/supported-languagesdeleted−268

This diff is too big to show here.

materialized/dummy-ghc/x86_64-unknown-linux-musl-x86_64-unknown-linux-musl-ghc-9.2.4-x86_64-linux/ghc/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-8.10.4-x86_64-darwin/ghc-pkg/dump-globaldeleted−1449

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-8.10.4-x86_64-darwin/ghc-pkg/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-8.10.4-x86_64-darwin/ghc/infodeleted−69

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-8.10.4-x86_64-darwin/ghc/numeric-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-8.10.4-x86_64-darwin/ghc/supported-languagesdeleted−255

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-8.10.4-x86_64-darwin/ghc/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-8.10.5-x86_64-darwin/ghc-pkg/dump-globaldeleted−1449

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-8.10.5-x86_64-darwin/ghc-pkg/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-8.10.5-x86_64-darwin/ghc/infodeleted−69

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-8.10.5-x86_64-darwin/ghc/numeric-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-8.10.5-x86_64-darwin/ghc/supported-languagesdeleted−255

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-8.10.5-x86_64-darwin/ghc/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-8.10.5-x86_64-linux/ghc-pkg/dump-globaldeleted−1449

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-8.10.5-x86_64-linux/ghc-pkg/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-8.10.5-x86_64-linux/ghc/infodeleted−69

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-8.10.5-x86_64-linux/ghc/numeric-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-8.10.5-x86_64-linux/ghc/supported-languagesdeleted−255

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-8.10.5-x86_64-linux/ghc/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-8.10.6-x86_64-darwin/ghc-pkg/dump-globaldeleted−1450

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-8.10.6-x86_64-darwin/ghc-pkg/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-8.10.6-x86_64-darwin/ghc/infodeleted−69

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-8.10.6-x86_64-darwin/ghc/numeric-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-8.10.6-x86_64-darwin/ghc/supported-languagesdeleted−255

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-8.10.6-x86_64-darwin/ghc/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-8.10.6-x86_64-linux/ghc-pkg/dump-globaldeleted−1450

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-8.10.6-x86_64-linux/ghc-pkg/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-8.10.6-x86_64-linux/ghc/infodeleted−69

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-8.10.6-x86_64-linux/ghc/numeric-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-8.10.6-x86_64-linux/ghc/supported-languagesdeleted−255

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-8.10.6-x86_64-linux/ghc/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-8.10.7-x86_64-darwin/ghc-pkg/dump-globaldeleted−1450

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-8.10.7-x86_64-darwin/ghc-pkg/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-8.10.7-x86_64-darwin/ghc/infodeleted−69

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-8.10.7-x86_64-darwin/ghc/numeric-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-8.10.7-x86_64-darwin/ghc/supported-languagesdeleted−255

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-8.10.7-x86_64-darwin/ghc/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-8.10.7-x86_64-linux/ghc-pkg/dump-globaldeleted−1450

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-8.10.7-x86_64-linux/ghc-pkg/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-8.10.7-x86_64-linux/ghc/infodeleted−69

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-8.10.7-x86_64-linux/ghc/numeric-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-8.10.7-x86_64-linux/ghc/supported-languagesdeleted−255

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-8.10.7-x86_64-linux/ghc/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-8.8.2-x86_64-darwin/ghc-pkg/dump-globaldeleted−1411

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-8.8.2-x86_64-darwin/ghc-pkg/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-8.8.2-x86_64-darwin/ghc/infodeleted−57

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-8.8.2-x86_64-darwin/ghc/numeric-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-8.8.2-x86_64-darwin/ghc/supported-languagesdeleted−247

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-8.8.2-x86_64-darwin/ghc/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-8.8.2-x86_64-linux/ghc-pkg/dump-globaldeleted−1411

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-8.8.2-x86_64-linux/ghc-pkg/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-8.8.2-x86_64-linux/ghc/infodeleted−57

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-8.8.2-x86_64-linux/ghc/numeric-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-8.8.2-x86_64-linux/ghc/supported-languagesdeleted−247

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-8.8.2-x86_64-linux/ghc/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-8.8.3-x86_64-darwin/ghc-pkg/dump-globaldeleted−1411

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-8.8.3-x86_64-darwin/ghc-pkg/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-8.8.3-x86_64-darwin/ghc/infodeleted−57

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-8.8.3-x86_64-darwin/ghc/numeric-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-8.8.3-x86_64-darwin/ghc/supported-languagesdeleted−247

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-8.8.3-x86_64-darwin/ghc/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-8.8.4-x86_64-darwin/ghc-pkg/dump-globaldeleted−1411

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-8.8.4-x86_64-darwin/ghc-pkg/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-8.8.4-x86_64-darwin/ghc/infodeleted−57

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-8.8.4-x86_64-darwin/ghc/numeric-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-8.8.4-x86_64-darwin/ghc/supported-languagesdeleted−247

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-8.8.4-x86_64-darwin/ghc/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-9.0.1-x86_64-darwin/ghc-pkg/dump-globaldeleted−1504

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-9.0.1-x86_64-darwin/ghc-pkg/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-9.0.1-x86_64-darwin/ghc/infodeleted−70

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-9.0.1-x86_64-darwin/ghc/numeric-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-9.0.1-x86_64-darwin/ghc/supported-languagesdeleted−261

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-9.0.1-x86_64-darwin/ghc/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-9.0.1-x86_64-linux/ghc-pkg/dump-globaldeleted−1504

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-9.0.1-x86_64-linux/ghc-pkg/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-9.0.1-x86_64-linux/ghc/infodeleted−70

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-9.0.1-x86_64-linux/ghc/numeric-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-9.0.1-x86_64-linux/ghc/supported-languagesdeleted−261

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-9.0.1-x86_64-linux/ghc/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-9.0.2-x86_64-darwin/ghc-pkg/dump-globaldeleted−1512

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-9.0.2-x86_64-darwin/ghc-pkg/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-9.0.2-x86_64-darwin/ghc/infodeleted−70

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-9.0.2-x86_64-darwin/ghc/numeric-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-9.0.2-x86_64-darwin/ghc/supported-languagesdeleted−261

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-9.0.2-x86_64-darwin/ghc/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-9.0.2-x86_64-linux/ghc-pkg/dump-globaldeleted−1512

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-9.0.2-x86_64-linux/ghc-pkg/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-9.0.2-x86_64-linux/ghc/infodeleted−70

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-9.0.2-x86_64-linux/ghc/numeric-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-9.0.2-x86_64-linux/ghc/supported-languagesdeleted−261

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-9.0.2-x86_64-linux/ghc/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-9.2.1-x86_64-darwin/ghc-pkg/dump-globaldeleted−1522

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-9.2.1-x86_64-darwin/ghc-pkg/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-9.2.1-x86_64-darwin/ghc/infodeleted−67

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-9.2.1-x86_64-darwin/ghc/numeric-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-9.2.1-x86_64-darwin/ghc/supported-languagesdeleted−266

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-9.2.1-x86_64-darwin/ghc/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-9.2.1-x86_64-linux/ghc-pkg/dump-globaldeleted−1522

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-9.2.1-x86_64-linux/ghc-pkg/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-9.2.1-x86_64-linux/ghc/infodeleted−67

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-9.2.1-x86_64-linux/ghc/numeric-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-9.2.1-x86_64-linux/ghc/supported-languagesdeleted−266

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-9.2.1-x86_64-linux/ghc/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-9.2.2-x86_64-darwin/ghc-pkg/dump-globaldeleted−1533

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-9.2.2-x86_64-darwin/ghc-pkg/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-9.2.2-x86_64-darwin/ghc/infodeleted−66

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-9.2.2-x86_64-darwin/ghc/numeric-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-9.2.2-x86_64-darwin/ghc/supported-languagesdeleted−266

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-9.2.2-x86_64-darwin/ghc/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-9.2.2-x86_64-linux/ghc-pkg/dump-globaldeleted−1533

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-9.2.2-x86_64-linux/ghc-pkg/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-9.2.2-x86_64-linux/ghc/infodeleted−66

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-9.2.2-x86_64-linux/ghc/numeric-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-9.2.2-x86_64-linux/ghc/supported-languagesdeleted−266

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-9.2.2-x86_64-linux/ghc/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-9.2.3-x86_64-darwin/ghc-pkg/dump-globaldeleted−1533

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-9.2.3-x86_64-darwin/ghc-pkg/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-9.2.3-x86_64-darwin/ghc/infodeleted−66

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-9.2.3-x86_64-darwin/ghc/numeric-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-9.2.3-x86_64-darwin/ghc/supported-languagesdeleted−266

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-9.2.3-x86_64-darwin/ghc/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-9.2.3-x86_64-linux/ghc-pkg/dump-globaldeleted−1533

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-9.2.3-x86_64-linux/ghc-pkg/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-9.2.3-x86_64-linux/ghc/infodeleted−66

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-9.2.3-x86_64-linux/ghc/numeric-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-9.2.3-x86_64-linux/ghc/supported-languagesdeleted−266

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-9.2.3-x86_64-linux/ghc/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-9.2.4-x86_64-darwin/ghc-pkg/dump-globaldeleted−1533

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-9.2.4-x86_64-darwin/ghc-pkg/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-9.2.4-x86_64-darwin/ghc/infodeleted−66

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-9.2.4-x86_64-darwin/ghc/numeric-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-9.2.4-x86_64-darwin/ghc/supported-languagesdeleted−268

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-9.2.4-x86_64-darwin/ghc/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-9.2.4-x86_64-linux/ghc-pkg/dump-globaldeleted−1533

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-9.2.4-x86_64-linux/ghc-pkg/versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-9.2.4-x86_64-linux/ghc/infodeleted−66

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-9.2.4-x86_64-linux/ghc/numeric-versiondeleted−1

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-9.2.4-x86_64-linux/ghc/supported-languagesdeleted−268

This diff is too big to show here.

materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-9.2.4-x86_64-linux/ghc/versiondeleted−1

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8101/Win32.nixdeleted−46

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8101/base.nixdeleted−43

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8101/ghc-heap.nixdeleted−35

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8101/ghc-prim.nixdeleted−40

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8101/integer-gmp.nixdeleted−33

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8101/template-haskell.nixdeleted−36

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8102/Win32.nixdeleted−46

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8102/base.nixdeleted−43

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8102/ghc-heap.nixdeleted−35

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8102/ghc-prim.nixdeleted−43

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8102/integer-gmp.nixdeleted−33

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8102/iserv-proxy.nix+1−1

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8102/template-haskell.nixdeleted−36

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8103/Win32.nixdeleted−46

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8103/base.nixdeleted−43

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8103/ghc-heap.nixdeleted−35

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8103/ghc-prim.nixdeleted−43

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8103/integer-gmp.nixdeleted−33

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8103/iserv-proxy.nix+1−1

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8103/template-haskell.nixdeleted−36

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8104/Win32.nixdeleted−46

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8104/base.nixdeleted−43

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8104/ghc-heap.nixdeleted−35

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8104/ghc-prim.nixdeleted−43

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8104/integer-gmp.nixdeleted−33

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8104/iserv-proxy.nix+1−1

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8104/template-haskell.nixdeleted−36

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc810420210212/Win32.nixdeleted−46

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc810420210212/base.nixdeleted−43

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc810420210212/ghc-heap.nixdeleted−35

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc810420210212/ghc-prim.nixdeleted−43

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc810420210212/integer-gmp.nixdeleted−33

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc810420210212/iserv-proxy.nix+1−1

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc810420210212/template-haskell.nixdeleted−36

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8105-aarch64/Win32.nixdeleted−46

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8105-aarch64/base.nixdeleted−43

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8105-aarch64/ghc-boot.nixdeleted−39

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8105-aarch64/ghc-heap.nixdeleted−35

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8105-aarch64/ghc-prim.nixdeleted−44

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8105-aarch64/ghc.nixdeleted−62

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8105-aarch64/ghci.nixdeleted−45

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8105-aarch64/hpc.nixdeleted−38

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8105-aarch64/integer-gmp.nixdeleted−33

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8105-aarch64/iserv-proxy.nixdeleted−45

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8105-aarch64/iserv.nixdeleted−42

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8105-aarch64/libiserv.nixdeleted−42

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8105-aarch64/remote-iserv.nixdeleted−36

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8105-aarch64/template-haskell.nixdeleted−36

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8105/Win32.nixdeleted−46

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8105/base.nixdeleted−43

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8105/ghc-boot.nixdeleted−39

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8105/ghc-heap.nixdeleted−35

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8105/ghc-prim.nixdeleted−43

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8105/ghc.nixdeleted−62

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8105/ghci.nixdeleted−45

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8105/hpc.nixdeleted−38

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8105/integer-gmp.nixdeleted−33

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8105/iserv-proxy.nixdeleted−45

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8105/iserv.nixdeleted−42

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8105/libiserv.nixdeleted−42

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8105/remote-iserv.nixdeleted−36

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8105/template-haskell.nixdeleted−36

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8106-aarch64/Win32.nixdeleted−46

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8106-aarch64/base.nixdeleted−43

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8106-aarch64/ghc-boot.nixdeleted−39

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8106-aarch64/ghc-heap.nixdeleted−35

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8106-aarch64/ghc-prim.nixdeleted−44

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8106-aarch64/ghc.nixdeleted−62

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8106-aarch64/ghci.nixdeleted−45

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8106-aarch64/hpc.nixdeleted−38

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8106-aarch64/integer-gmp.nixdeleted−33

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8106-aarch64/iserv-proxy.nixdeleted−45

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8106-aarch64/iserv.nixdeleted−42

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8106-aarch64/libiserv.nixdeleted−42

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8106-aarch64/remote-iserv.nixdeleted−36

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8106-aarch64/template-haskell.nixdeleted−36

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8106/Win32.nixdeleted−46

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8106/base.nixdeleted−43

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8106/ghc-boot.nixdeleted−39

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8106/ghc-heap.nixdeleted−35

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8106/ghc-prim.nixdeleted−43

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8106/ghc.nixdeleted−62

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8106/ghci.nixdeleted−45

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8106/hpc.nixdeleted−38

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8106/integer-gmp.nixdeleted−33

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8106/iserv-proxy.nixdeleted−45

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8106/iserv.nixdeleted−42

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8106/libiserv.nixdeleted−42

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8106/remote-iserv.nixdeleted−36

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8106/template-haskell.nixdeleted−36

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8107-aarch64/Win32.nixdeleted−46

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8107-aarch64/base.nixdeleted−43

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8107-aarch64/bytestring.nixdeleted−35

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8107-aarch64/ghc-boot.nixdeleted−39

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8107-aarch64/ghc-heap.nixdeleted−35

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8107-aarch64/ghc-prim.nixdeleted−44

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8107-aarch64/ghc.nixdeleted−62

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8107-aarch64/ghci.nixdeleted−45

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8107-aarch64/hpc.nixdeleted−38

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8107-aarch64/integer-gmp.nixdeleted−33

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8107-aarch64/iserv-proxy.nixdeleted−45

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8107-aarch64/iserv.nixdeleted−42

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8107-aarch64/libiserv.nixdeleted−42

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8107-aarch64/remote-iserv.nixdeleted−36

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8107-aarch64/template-haskell.nixdeleted−36

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8107/Win32.nixdeleted−46

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8107/base.nixdeleted−43

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8107/bytestring.nixdeleted−35

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8107/ghc-boot.nixdeleted−39

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8107/ghc-heap.nixdeleted−35

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8107/ghc-prim.nixdeleted−43

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8107/ghc.nixdeleted−62

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8107/ghci.nixdeleted−45

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8107/hpc.nixdeleted−38

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8107/integer-gmp.nixdeleted−33

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8107/iserv-proxy.nixdeleted−45

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8107/iserv.nixdeleted−42

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8107/libiserv.nixdeleted−42

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8107/remote-iserv.nixdeleted−36

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8107/template-haskell.nixdeleted−36

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc844/ghc.nix+4

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc863/Win32.nixdeleted−46

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc863/base.nixdeleted−42

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc863/ghc-boot.nixdeleted−38

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc863/ghc-heap.nixdeleted−35

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc863/ghc-prim.nixdeleted−40

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc863/ghc.nixdeleted−59

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc863/ghci.nixdeleted−44

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc863/hpc.nixdeleted−37

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc863/integer-gmp.nixdeleted−33

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc863/iserv-proxy.nixdeleted−45

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc863/iserv.nixdeleted−42

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc863/libiserv.nixdeleted−42

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc863/remote-iserv.nixdeleted−36

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc863/template-haskell.nixdeleted−35

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc864/Win32.nixdeleted−46

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc864/base.nixdeleted−42

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc864/ghc-boot.nixdeleted−38

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc864/ghc-heap.nixdeleted−35

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc864/ghc-prim.nixdeleted−40

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc864/ghc.nixdeleted−60

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc864/ghci.nixdeleted−44

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc864/hpc.nixdeleted−37

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc864/integer-gmp.nixdeleted−33

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc864/iserv-proxy.nixdeleted−45

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc864/iserv.nixdeleted−42

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc864/libiserv.nixdeleted−42

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc864/remote-iserv.nixdeleted−36

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc864/template-haskell.nixdeleted−35

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc865/Win32.nixdeleted−46

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc865/base.nix+1−1

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc865/ghc-heap.nix+1−1

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc865/ghc-prim.nixdeleted−40

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc865/ghc.nix+4

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc865/integer-gmp.nixdeleted−33

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc865/iserv-proxy.nix+1−1

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc865/template-haskell.nixdeleted−35

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc882/Win32.nixdeleted−46

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc882/base.nixdeleted−42

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc882/ghc-boot.nixdeleted−38

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc882/ghc-heap.nixdeleted−35

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc882/ghc-prim.nixdeleted−40

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc882/ghc.nixdeleted−61

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc882/ghci.nixdeleted−44

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc882/hpc.nixdeleted−37

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc882/integer-gmp.nixdeleted−33

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc882/iserv-proxy.nixdeleted−45

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc882/iserv.nixdeleted−42

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc882/libiserv.nixdeleted−42

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc882/remote-iserv.nixdeleted−36

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc882/template-haskell.nixdeleted−35

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc883-aarch64/Win32.nixdeleted−46

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc883-aarch64/base.nixdeleted−42

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc883-aarch64/ghc-boot.nixdeleted−38

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc883-aarch64/ghc-heap.nixdeleted−35

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc883-aarch64/ghc-prim.nixdeleted−40

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc883-aarch64/ghc.nixdeleted−61

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc883-aarch64/ghci.nixdeleted−44

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc883-aarch64/hpc.nixdeleted−37

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc883-aarch64/integer-gmp.nixdeleted−33

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc883-aarch64/iserv-proxy.nixdeleted−45

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc883-aarch64/iserv.nixdeleted−42

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc883-aarch64/libiserv.nixdeleted−42

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc883-aarch64/remote-iserv.nixdeleted−36

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc883-aarch64/template-haskell.nixdeleted−35

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc883/Win32.nixdeleted−46

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc883/base.nixdeleted−42

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc883/ghc-heap.nixdeleted−35

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc883/ghc-prim.nixdeleted−40

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc883/ghc.nix+4

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc883/integer-gmp.nixdeleted−33

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc883/iserv-proxy.nix+1−1

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc883/template-haskell.nixdeleted−35

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc884-aarch64/Win32.nixdeleted−46

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc884-aarch64/base.nixdeleted−42

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc884-aarch64/ghc-boot.nixdeleted−38

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc884-aarch64/ghc-heap.nixdeleted−35

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc884-aarch64/ghc-prim.nixdeleted−43

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc884-aarch64/ghc.nixdeleted−61

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc884-aarch64/ghci.nixdeleted−44

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc884-aarch64/hpc.nixdeleted−37

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc884-aarch64/integer-gmp.nixdeleted−33

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc884-aarch64/iserv-proxy.nixdeleted−45

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc884-aarch64/iserv.nixdeleted−42

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc884-aarch64/libiserv.nixdeleted−42

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc884-aarch64/remote-iserv.nixdeleted−36

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc884-aarch64/template-haskell.nixdeleted−35

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc884/Win32.nixdeleted−46

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc884/base.nixdeleted−42

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc884/ghc-heap.nixdeleted−35

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc884/ghc-prim.nixdeleted−43

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc884/ghc.nix+4

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc884/integer-gmp.nixdeleted−33

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc884/iserv-proxy.nix+1−1

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc884/template-haskell.nixdeleted−35

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc901-aarch64/Win32.nixdeleted−49

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc901-aarch64/base.nixdeleted−48

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc901-aarch64/bytestring.nixdeleted−35

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc901-aarch64/ghc-bignum.nixdeleted−37

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc901-aarch64/ghc-boot.nixdeleted−39

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc901-aarch64/ghc-heap.nixdeleted−35

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc901-aarch64/ghc-prim.nixdeleted−44

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc901-aarch64/ghc.nixdeleted−61

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc901-aarch64/ghci.nixdeleted−44

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc901-aarch64/hpc.nixdeleted−38

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc901-aarch64/integer-gmp.nixdeleted−35

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc901-aarch64/iserv-proxy.nixdeleted−45

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc901-aarch64/iserv.nixdeleted−42

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc901-aarch64/libiserv.nixdeleted−42

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc901-aarch64/remote-iserv.nixdeleted−36

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc901-aarch64/template-haskell.nixdeleted−36

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc901/Win32.nixdeleted−49

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc901/base.nixdeleted−48

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc901/bytestring.nixdeleted−35

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc901/ghc-bignum.nixdeleted−37

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc901/ghc-boot.nixdeleted−39

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc901/ghc-heap.nixdeleted−35

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc901/ghc-prim.nixdeleted−43

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc901/ghc.nixdeleted−61

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc901/ghci.nixdeleted−44

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc901/hpc.nixdeleted−38

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc901/integer-gmp.nixdeleted−35

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc901/iserv-proxy.nixdeleted−45

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc901/iserv.nixdeleted−42

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc901/libiserv.nixdeleted−42

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc901/remote-iserv.nixdeleted−36

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc901/template-haskell.nixdeleted−36

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc902-aarch64/Win32.nixdeleted−48

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc902-aarch64/base.nixdeleted−48

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc902-aarch64/bytestring.nixdeleted−35

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc902-aarch64/ghc-bignum.nixdeleted−37

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc902-aarch64/ghc-boot.nixdeleted−39

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc902-aarch64/ghc-heap.nixdeleted−35

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc902-aarch64/ghc-prim.nixdeleted−44

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc902-aarch64/ghc.nixdeleted−61

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc902-aarch64/ghci.nixdeleted−45

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc902-aarch64/hpc.nixdeleted−38

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc902-aarch64/integer-gmp.nixdeleted−35

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc902-aarch64/iserv-proxy.nixdeleted−45

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc902-aarch64/iserv.nixdeleted−42

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc902-aarch64/libiserv.nixdeleted−42

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc902-aarch64/remote-iserv.nixdeleted−36

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc902-aarch64/template-haskell.nixdeleted−36

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc902/Win32.nixdeleted−48

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc902/base.nixdeleted−48

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc902/bytestring.nixdeleted−35

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc902/ghc-bignum.nixdeleted−37

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc902/ghc-boot.nixdeleted−39

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc902/ghc-heap.nixdeleted−35

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc902/ghc-prim.nixdeleted−43

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc902/ghc.nixdeleted−61

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc902/ghci.nixdeleted−45

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc902/hpc.nixdeleted−38

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc902/integer-gmp.nixdeleted−35

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc902/iserv-proxy.nixdeleted−45

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc902/iserv.nixdeleted−42

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc902/libiserv.nixdeleted−42

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc902/remote-iserv.nixdeleted−36

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc902/template-haskell.nixdeleted−36

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc921-aarch64/Win32.nixdeleted−48

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc921-aarch64/base.nixdeleted−48

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc921-aarch64/bytestring.nixdeleted−86

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc921-aarch64/deepseq.nixdeleted−47

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc921-aarch64/ghc-bignum.nixdeleted−37

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc921-aarch64/ghc-boot.nixdeleted−40

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc921-aarch64/ghc-heap.nixdeleted−36

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc921-aarch64/ghc-prim.nixdeleted−44

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc921-aarch64/ghc.nixdeleted−61

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc921-aarch64/ghci.nixdeleted−45

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc921-aarch64/hpc.nixdeleted−38

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc921-aarch64/integer-gmp.nixdeleted−35

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc921-aarch64/iserv-proxy.nixdeleted−45

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc921-aarch64/iserv.nixdeleted−42

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc921-aarch64/libiserv.nixdeleted−42

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc921-aarch64/pretty.nixdeleted−56

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc921-aarch64/remote-iserv.nixdeleted−36

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc921-aarch64/template-haskell.nixdeleted−36

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc921/Win32.nixdeleted−48

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc921/base.nixdeleted−48

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc921/bytestring.nixdeleted−86

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc921/deepseq.nixdeleted−47

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc921/ghc-bignum.nixdeleted−37

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc921/ghc-boot.nixdeleted−40

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc921/ghc-heap.nixdeleted−36

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc921/ghc-prim.nixdeleted−43

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc921/ghc.nixdeleted−61

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc921/ghci.nixdeleted−45

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc921/hpc.nixdeleted−38

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc921/integer-gmp.nixdeleted−35

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc921/iserv-proxy.nixdeleted−45

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc921/iserv.nixdeleted−42

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc921/libiserv.nixdeleted−42

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc921/pretty.nixdeleted−56

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc921/remote-iserv.nixdeleted−36

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc921/template-haskell.nixdeleted−36

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc922-aarch64/Win32.nixdeleted−48

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc922-aarch64/base.nixdeleted−48

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc922-aarch64/bytestring.nixdeleted−68

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc922-aarch64/deepseq.nixdeleted−47

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc922-aarch64/ghc-bignum.nixdeleted−37

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc922-aarch64/ghc-boot.nixdeleted−40

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc922-aarch64/ghc-heap.nixdeleted−36

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc922-aarch64/ghc-prim.nixdeleted−44

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc922-aarch64/ghc.nixdeleted−60

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc922-aarch64/ghci.nixdeleted−45

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc922-aarch64/hpc.nixdeleted−38

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc922-aarch64/integer-gmp.nixdeleted−35

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc922-aarch64/iserv-proxy.nixdeleted−45

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc922-aarch64/iserv.nixdeleted−42

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc922-aarch64/libiserv.nixdeleted−42

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc922-aarch64/pretty.nixdeleted−56

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc922-aarch64/remote-iserv.nixdeleted−36

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc922-aarch64/template-haskell.nixdeleted−36

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc922/Win32.nixdeleted−48

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc922/base.nixdeleted−48

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc922/bytestring.nixdeleted−68

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc922/deepseq.nixdeleted−47

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc922/ghc-bignum.nixdeleted−37

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc922/ghc-boot.nixdeleted−40

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc922/ghc-heap.nixdeleted−36

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc922/ghc-prim.nixdeleted−43

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc922/ghc.nixdeleted−60

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc922/ghci.nixdeleted−45

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc922/hpc.nixdeleted−38

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc922/integer-gmp.nixdeleted−35

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc922/iserv-proxy.nixdeleted−45

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc922/iserv.nixdeleted−42

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc922/libiserv.nixdeleted−42

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc922/pretty.nixdeleted−56

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc922/remote-iserv.nixdeleted−36

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc922/template-haskell.nixdeleted−36

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc923-aarch64/Win32.nixdeleted−48

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc923-aarch64/base.nixdeleted−48

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc923-aarch64/bytestring.nixdeleted−65

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc923-aarch64/deepseq.nixdeleted−47

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc923-aarch64/ghc-bignum.nixdeleted−37

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc923-aarch64/ghc-boot.nixdeleted−40

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc923-aarch64/ghc-heap.nixdeleted−36

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc923-aarch64/ghc-prim.nixdeleted−44

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc923-aarch64/ghc.nixdeleted−60

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc923-aarch64/ghci.nixdeleted−45

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc923-aarch64/hpc.nixdeleted−38

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc923-aarch64/integer-gmp.nixdeleted−35

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc923-aarch64/iserv-proxy.nixdeleted−45

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc923-aarch64/iserv.nixdeleted−42

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc923-aarch64/libiserv.nixdeleted−42

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc923-aarch64/pretty.nixdeleted−56

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc923-aarch64/remote-iserv.nixdeleted−36

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc923-aarch64/template-haskell.nixdeleted−36

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc923/Win32.nixdeleted−48

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc923/base.nixdeleted−48

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc923/bytestring.nixdeleted−65

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc923/deepseq.nixdeleted−47

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc923/ghc-bignum.nixdeleted−37

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc923/ghc-boot.nixdeleted−40

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc923/ghc-heap.nixdeleted−36

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc923/ghc-prim.nixdeleted−43

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc923/ghc.nixdeleted−60

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc923/ghci.nixdeleted−45

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc923/hpc.nixdeleted−38

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc923/integer-gmp.nixdeleted−35

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc923/iserv-proxy.nixdeleted−45

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc923/iserv.nixdeleted−42

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc923/libiserv.nixdeleted−42

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc923/pretty.nixdeleted−56

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc923/remote-iserv.nixdeleted−36

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc923/template-haskell.nixdeleted−36

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc924-aarch64/Win32.nixdeleted−48

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc924-aarch64/base.nixdeleted−48

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc924-aarch64/bytestring.nixdeleted−65

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc924-aarch64/deepseq.nixdeleted−47

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc924-aarch64/ghc-bignum.nixdeleted−37

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc924-aarch64/ghc-boot.nixdeleted−40

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc924-aarch64/ghc-heap.nixdeleted−36

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc924-aarch64/ghc-prim.nixdeleted−44

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc924-aarch64/ghc.nixdeleted−60

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc924-aarch64/ghci.nixdeleted−45

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc924-aarch64/hpc.nixdeleted−38

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc924-aarch64/integer-gmp.nixdeleted−35

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc924-aarch64/iserv-proxy.nixdeleted−45

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc924-aarch64/iserv.nixdeleted−42

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc924-aarch64/libiserv.nixdeleted−42

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc924-aarch64/pretty.nixdeleted−56

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc924-aarch64/remote-iserv.nixdeleted−36

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc924-aarch64/template-haskell.nixdeleted−36

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc924/Win32.nixdeleted−48

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc924/base.nixdeleted−48

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc924/bytestring.nixdeleted−65

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc924/deepseq.nixdeleted−47

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc924/ghc-bignum.nixdeleted−37

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc924/ghc-boot.nixdeleted−40

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc924/ghc-heap.nixdeleted−36

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc924/ghc-prim.nixdeleted−43

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc924/ghc.nixdeleted−60

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc924/ghci.nixdeleted−45

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc924/hpc.nixdeleted−38

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc924/integer-gmp.nixdeleted−35

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc924/iserv-proxy.nixdeleted−45

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc924/iserv.nixdeleted−42

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc924/libiserv.nixdeleted−42

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc924/pretty.nixdeleted−56

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc924/remote-iserv.nixdeleted−36

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc924/template-haskell.nixdeleted−36

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc8101/.plan.nix/Win32.nixdeleted−155

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc882/bytestring.nix → materialized/ghc-extra-projects/cross/ghc8101/.plan.nix/bytestring.nixrenamed+57−1

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc8101/.plan.nix/ghc-boot.nix+1−1

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc8101/.plan.nix/ghc.nix+1−1

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc8101/.plan.nix/ghci.nix+1−1

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc8101/.plan.nix/hpc.nix+1−1

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc8101/.plan.nix/iserv-proxy.nix+1−1

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc8101/.plan.nix/iserv.nix+1−1

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc8101/.plan.nix/libiserv.nix+1−1

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc8101/.plan.nix/remote-iserv.nix+1−1

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc8101/default.nix+39−77

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc8102/.plan.nix/Win32.nixdeleted−155

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc8102/.plan.nix/bytestring.nixnew file+136

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc8102/.plan.nix/iserv-proxy.nix+1−1

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc8102/default.nix+41−79

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc8103/.plan.nix/Win32.nixdeleted−155

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8105/bytestring.nix → materialized/ghc-extra-projects/cross/ghc8103/.plan.nix/bytestring.nixrenamed+37−1

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc8103/.plan.nix/iserv-proxy.nix+1−1

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc8103/default.nix+41−79

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc8104/.plan.nix/Win32.nixdeleted−155

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8106-aarch64/bytestring.nix → materialized/ghc-extra-projects/cross/ghc8104/.plan.nix/bytestring.nixrenamed+37−1

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc8104/.plan.nix/iserv-proxy.nix+1−1

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc8104/default.nix+41−79

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc810420210212/.plan.nix/Win32.nixdeleted−155

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc8106/bytestring.nix → materialized/ghc-extra-projects/cross/ghc810420210212/.plan.nix/bytestring.nixrenamed+37−1

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc810420210212/.plan.nix/iserv-proxy.nix+1−1

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc810420210212/default.nix+41−79

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc8105/.plan.nix/Win32.nixdeleted−155

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc8105/.plan.nix/ghc-boot.nixdeleted−60

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc8105/.plan.nix/ghc.nixdeleted−586

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc8105/.plan.nix/ghci.nixdeleted−71

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc8105/.plan.nix/hpc.nixdeleted−52

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc8105/.plan.nix/iserv-proxy.nixdeleted−55

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc8105/.plan.nix/iserv.nixdeleted−54

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc8105/.plan.nix/libiserv.nixdeleted−58

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc8105/.plan.nix/remote-iserv.nixdeleted−46

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc8105/default.nixdeleted−128

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc8106/.plan.nix/Win32.nixdeleted−155

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc8106/.plan.nix/ghc-boot.nixdeleted−60

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc8106/.plan.nix/ghc.nixdeleted−586

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc8106/.plan.nix/ghci.nixdeleted−71

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc8106/.plan.nix/hpc.nixdeleted−52

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc8106/.plan.nix/iserv-proxy.nixdeleted−55

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc8106/.plan.nix/iserv.nixdeleted−54

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc8106/.plan.nix/libiserv.nixdeleted−58

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc8106/.plan.nix/remote-iserv.nixdeleted−46

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc8106/default.nixdeleted−128

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc8107/.plan.nix/Win32.nixdeleted−155

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc8107/.plan.nix/ghc-boot.nixdeleted−60

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc8107/.plan.nix/ghc.nixdeleted−586

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc8107/.plan.nix/ghci.nixdeleted−71

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc8107/.plan.nix/hpc.nixdeleted−52

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc8107/.plan.nix/iserv-proxy.nixdeleted−55

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc8107/.plan.nix/iserv.nixdeleted−54

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc8107/.plan.nix/libiserv.nixdeleted−58

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc8107/.plan.nix/remote-iserv.nixdeleted−46

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc8107/default.nixdeleted−128

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc865/.plan.nix/Win32.nixdeleted−155

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc864/bytestring.nix → materialized/ghc-extra-projects/cross/ghc865/.plan.nix/bytestring.nixrenamed+57−1

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc865/.plan.nix/ghc.nix+4

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc865/.plan.nix/iserv-proxy.nix+1−1

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc865/default.nix+45−79

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc882/.plan.nix/Win32.nixdeleted−155

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc882/.plan.nix/ghc-boot.nixdeleted−53

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc882/.plan.nix/ghc.nixdeleted−573

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc882/.plan.nix/ghci.nixdeleted−70

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc882/.plan.nix/hpc.nixdeleted−51

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc882/.plan.nix/iserv-proxy.nixdeleted−55

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc882/.plan.nix/iserv.nixdeleted−54

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc882/.plan.nix/libiserv.nixdeleted−58

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc882/.plan.nix/remote-iserv.nixdeleted−46

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc882/default.nixdeleted−127

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc883/.plan.nix/Win32.nixdeleted−155

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc883/.plan.nix/bytestring.nixnew file+136

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc883/.plan.nix/ghc.nix+4

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc883/.plan.nix/iserv-proxy.nix+1−1

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc883/default.nix+45−78

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc884/.plan.nix/Win32.nixdeleted−155

This diff is too big to show here.

materialized/ghc-boot-packages-nix/ghc884-aarch64/bytestring.nix → materialized/ghc-extra-projects/cross/ghc884/.plan.nix/bytestring.nixrenamed+88−1

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc884/.plan.nix/ghc.nix+4

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc884/.plan.nix/iserv-proxy.nix+1−1

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc884/default.nix+45−78

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc901/.plan.nix/Win32.nixdeleted−158

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc901/.plan.nix/ghc-boot.nixdeleted−61

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc901/.plan.nix/ghc.nixdeleted−572

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc901/.plan.nix/ghci.nixdeleted−70

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc901/.plan.nix/hpc.nixdeleted−52

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc901/.plan.nix/iserv-proxy.nixdeleted−55

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc901/.plan.nix/iserv.nixdeleted−54

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc901/.plan.nix/libiserv.nixdeleted−58

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc901/.plan.nix/remote-iserv.nixdeleted−46

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc901/default.nix−135

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc902/.plan.nix/Win32.nix−158

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc902/.plan.nix/ghc-boot.nix−61

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc902/.plan.nix/ghc.nix−572

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc902/.plan.nix/ghci.nix−71

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc902/.plan.nix/hpc.nix−52

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc902/.plan.nix/iserv-proxy.nix−55

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc902/.plan.nix/iserv.nix−54

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc902/.plan.nix/libiserv.nix−58

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc902/.plan.nix/remote-iserv.nix−46

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc902/default.nix−136

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc921/.plan.nix/Win32.nix−158

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc921/.plan.nix/ghc-boot.nix−64

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc921/.plan.nix/ghc.nix−663

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc921/.plan.nix/ghci.nix−70

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc921/.plan.nix/hpc.nix−52

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc921/.plan.nix/iserv-proxy.nix−55

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc921/.plan.nix/iserv.nix−54

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc921/.plan.nix/libiserv.nix−58

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc921/.plan.nix/remote-iserv.nix−46

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc921/default.nix−143

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc922/.plan.nix/Win32.nix−158

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc922/.plan.nix/ghc-boot.nix−64

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc922/.plan.nix/ghc.nix−661

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc922/.plan.nix/ghci.nix−70

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc922/.plan.nix/hpc.nix−52

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc922/.plan.nix/iserv-proxy.nix−55

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc922/.plan.nix/iserv.nix−54

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc922/.plan.nix/libiserv.nix−58

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc922/.plan.nix/remote-iserv.nix−46

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc922/default.nix−138

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc923/.plan.nix/Win32.nix−158

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc923/.plan.nix/ghc-boot.nix−64

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc923/.plan.nix/ghc.nix−661

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc923/.plan.nix/ghci.nix−70

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc923/.plan.nix/hpc.nix−52

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc923/.plan.nix/iserv-proxy.nix−55

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc923/.plan.nix/iserv.nix−54

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc923/.plan.nix/libiserv.nix−58

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc923/.plan.nix/remote-iserv.nix−46

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc923/default.nix−138

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc924/.plan.nix/Win32.nix−158

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc924/.plan.nix/ghc-boot.nix−64

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc924/.plan.nix/ghc.nix−661

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc924/.plan.nix/ghci.nix−70

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc924/.plan.nix/hpc.nix−52

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc924/.plan.nix/iserv-proxy.nix−55

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc924/.plan.nix/iserv.nix−54

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc924/.plan.nix/libiserv.nix−58

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc924/.plan.nix/remote-iserv.nix−46

This diff is too big to show here.

materialized/ghc-extra-projects/cross/ghc924/default.nix−137

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc8101/.plan.nix/Win32.nix−155

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc8101/.plan.nix/bytestring.nix+57−1

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc8101/.plan.nix/ghc-boot.nix+1−1

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc8101/.plan.nix/ghc.nix+1−1

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc8101/.plan.nix/ghci.nix+1−1

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc8101/.plan.nix/hpc.nix+1−1

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc8101/.plan.nix/iserv-proxy.nix+1−1

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc8101/.plan.nix/iserv.nix+1−1

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc8101/.plan.nix/libiserv.nix+1−1

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc8101/.plan.nix/remote-iserv.nix+1−1

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc8101/default.nix+40−78

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc8102/.plan.nix/Win32.nix−155

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc8102/.plan.nix/bytestring.nix+136

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc8102/.plan.nix/iserv-proxy.nix+1−1

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc8102/default.nix+42−80

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc8103/.plan.nix/Win32.nix−155

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc8103/.plan.nix/bytestring.nix+37−1

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc8103/.plan.nix/iserv-proxy.nix+1−1

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc8103/default.nix+42−80

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc8104/.plan.nix/Win32.nix−155

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc8104/.plan.nix/bytestring.nix+71

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc8104/.plan.nix/iserv-proxy.nix+1−1

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc8104/default.nix+42−80

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc810420210212/.plan.nix/Win32.nix−155

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc810420210212/.plan.nix/bytestring.nix+71

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc810420210212/.plan.nix/iserv-proxy.nix+1−1

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc810420210212/default.nix+42−80

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc8105/.plan.nix/Win32.nix−155

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc8105/.plan.nix/ghc-boot.nix−60

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc8105/.plan.nix/ghc.nix−586

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc8105/.plan.nix/ghci.nix−71

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc8105/.plan.nix/hpc.nix−52

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc8105/.plan.nix/iserv-proxy.nix−55

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc8105/.plan.nix/iserv.nix−54

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc8105/.plan.nix/libiserv.nix−58

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc8105/.plan.nix/remote-iserv.nix−46

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc8105/default.nix−129

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc8106/.plan.nix/Win32.nix−155

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc8106/.plan.nix/ghc-boot.nix−60

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc8106/.plan.nix/ghc.nix−586

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc8106/.plan.nix/ghci.nix−71

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc8106/.plan.nix/hpc.nix−52

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc8106/.plan.nix/iserv-proxy.nix−55

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc8106/.plan.nix/iserv.nix−54

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc8106/.plan.nix/libiserv.nix−58

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc8106/.plan.nix/remote-iserv.nix−46

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc8106/default.nix−129

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc8107/.plan.nix/Win32.nix−155

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc8107/.plan.nix/ghc-boot.nix−60

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc8107/.plan.nix/ghc.nix−586

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc8107/.plan.nix/ghci.nix−71

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc8107/.plan.nix/hpc.nix−52

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc8107/.plan.nix/iserv-proxy.nix−55

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc8107/.plan.nix/iserv.nix−54

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc8107/.plan.nix/libiserv.nix−58

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc8107/.plan.nix/remote-iserv.nix−46

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc8107/default.nix−129

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc863/.plan.nix/Win32.nix−155

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc863/.plan.nix/ghc-boot.nix−53

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc863/.plan.nix/ghc.nix−555

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc863/.plan.nix/ghci.nix−70

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc863/.plan.nix/hpc.nix−51

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc863/.plan.nix/iserv-proxy.nix−55

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc863/.plan.nix/iserv.nix−54

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc863/.plan.nix/libiserv.nix−58

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc863/.plan.nix/remote-iserv.nix−46

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc863/default.nix−126

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc864/.plan.nix/Win32.nix−155

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc864/.plan.nix/ghc-boot.nix−53

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc864/.plan.nix/ghc.nix−556

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc864/.plan.nix/ghci.nix−70

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc864/.plan.nix/hpc.nix−51

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc864/.plan.nix/iserv-proxy.nix−55

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc864/.plan.nix/iserv.nix−54

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc864/.plan.nix/libiserv.nix−58

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc864/.plan.nix/remote-iserv.nix−46

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc864/default.nix−127

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc865/.plan.nix/Win32.nix−155

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc865/.plan.nix/bytestring.nix+57−1

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc865/.plan.nix/ghc.nix+4

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc865/.plan.nix/iserv-proxy.nix+1−1

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc865/default.nix+46−79

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc882/.plan.nix/Win32.nix−155

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc882/.plan.nix/ghc-boot.nix−53

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc882/.plan.nix/ghc.nix−573

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc882/.plan.nix/ghci.nix−70

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc882/.plan.nix/hpc.nix−51

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc882/.plan.nix/iserv-proxy.nix−55

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc882/.plan.nix/iserv.nix−54

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc882/.plan.nix/libiserv.nix−58

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc882/.plan.nix/remote-iserv.nix−46

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc882/default.nix−128

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc883/.plan.nix/Win32.nix−155

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc883/.plan.nix/bytestring.nix+136

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc883/.plan.nix/ghc.nix+4

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc883/.plan.nix/iserv-proxy.nix+1−1

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc883/default.nix+46−79

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc884/.plan.nix/Win32.nix−155

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc884/.plan.nix/bytestring.nix+167

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc884/.plan.nix/ghc.nix+4

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc884/.plan.nix/iserv-proxy.nix+1−1

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc884/default.nix+46−79

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc901/.plan.nix/Win32.nix−158

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc901/.plan.nix/ghc-boot.nix−61

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc901/.plan.nix/ghc.nix−572

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc901/.plan.nix/ghci.nix−70

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc901/.plan.nix/hpc.nix−52

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc901/.plan.nix/iserv-proxy.nix−55

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc901/.plan.nix/iserv.nix−54

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc901/.plan.nix/libiserv.nix−58

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc901/.plan.nix/remote-iserv.nix−46

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc901/default.nix−136

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc902/.plan.nix/Win32.nix−158

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc902/.plan.nix/ghc-boot.nix−61

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc902/.plan.nix/ghc.nix−572

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc902/.plan.nix/ghci.nix−71

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc902/.plan.nix/hpc.nix−52

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc902/.plan.nix/iserv-proxy.nix−55

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc902/.plan.nix/iserv.nix−54

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc902/.plan.nix/libiserv.nix−58

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc902/.plan.nix/remote-iserv.nix−46

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc902/default.nix−136

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc921/.plan.nix/Win32.nix−158

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc921/.plan.nix/ghc-boot.nix−64

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc921/.plan.nix/ghc.nix−663

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc921/.plan.nix/ghci.nix−70

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc921/.plan.nix/hpc.nix−52

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc921/.plan.nix/iserv-proxy.nix−55

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc921/.plan.nix/iserv.nix−54

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc921/.plan.nix/libiserv.nix−58

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc921/.plan.nix/remote-iserv.nix−46

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc921/default.nix−144

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc922/.plan.nix/Win32.nix−158

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc922/.plan.nix/ghc-boot.nix−64

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc922/.plan.nix/ghc.nix−661

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc922/.plan.nix/ghci.nix−70

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc922/.plan.nix/hpc.nix−52

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc922/.plan.nix/iserv-proxy.nix−55

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc922/.plan.nix/iserv.nix−54

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc922/.plan.nix/libiserv.nix−58

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc922/.plan.nix/remote-iserv.nix−46

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc922/default.nix−138

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc923/.plan.nix/Win32.nix−158

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc923/.plan.nix/ghc-boot.nix−64

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc923/.plan.nix/ghc.nix−661

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc923/.plan.nix/ghci.nix−70

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc923/.plan.nix/hpc.nix−52

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc923/.plan.nix/iserv-proxy.nix−55

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc923/.plan.nix/iserv.nix−54

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc923/.plan.nix/libiserv.nix−58

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc923/.plan.nix/remote-iserv.nix−46

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc923/default.nix−138

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc924/.plan.nix/Win32.nix−158

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc924/.plan.nix/ghc-boot.nix−64

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc924/.plan.nix/ghc.nix−661

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc924/.plan.nix/ghci.nix−70

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc924/.plan.nix/hpc.nix−52

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc924/.plan.nix/iserv-proxy.nix−55

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc924/.plan.nix/iserv.nix−54

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc924/.plan.nix/libiserv.nix−58

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc924/.plan.nix/remote-iserv.nix−46

This diff is too big to show here.

materialized/ghc-extra-projects/default/ghc924/default.nix−138

This diff is too big to show here.

materialized/ghc-extra-projects/ghcjs/ghc8105/.plan.nix/Win32.nix−155

This diff is too big to show here.

materialized/ghc-extra-projects/ghcjs/ghc8105/.plan.nix/ghc-boot.nix−60

This diff is too big to show here.

materialized/ghc-extra-projects/ghcjs/ghc8105/.plan.nix/ghc.nix−586

This diff is too big to show here.

materialized/ghc-extra-projects/ghcjs/ghc8105/.plan.nix/ghci.nix−71

This diff is too big to show here.

materialized/ghc-extra-projects/ghcjs/ghc8105/.plan.nix/hpc.nix−52

This diff is too big to show here.

materialized/ghc-extra-projects/ghcjs/ghc8105/.plan.nix/iserv-proxy.nix−55

This diff is too big to show here.

materialized/ghc-extra-projects/ghcjs/ghc8105/.plan.nix/iserv.nix−54

This diff is too big to show here.

materialized/ghc-extra-projects/ghcjs/ghc8105/.plan.nix/libiserv.nix−58

This diff is too big to show here.

materialized/ghc-extra-projects/ghcjs/ghc8105/.plan.nix/remote-iserv.nix−46

This diff is too big to show here.

materialized/ghc-extra-projects/ghcjs/ghc8105/default.nix−131

This diff is too big to show here.

materialized/ghc-extra-projects/ghcjs/ghc8106/.plan.nix/Win32.nix−155

This diff is too big to show here.

materialized/ghc-extra-projects/ghcjs/ghc8106/.plan.nix/ghc-boot.nix−60

This diff is too big to show here.

materialized/ghc-extra-projects/ghcjs/ghc8106/.plan.nix/ghc.nix−586

This diff is too big to show here.

materialized/ghc-extra-projects/ghcjs/ghc8106/.plan.nix/ghci.nix−71

This diff is too big to show here.

materialized/ghc-extra-projects/ghcjs/ghc8106/.plan.nix/hpc.nix−52

This diff is too big to show here.

materialized/ghc-extra-projects/ghcjs/ghc8106/.plan.nix/iserv-proxy.nix−55

This diff is too big to show here.

materialized/ghc-extra-projects/ghcjs/ghc8106/.plan.nix/iserv.nix−54

This diff is too big to show here.

materialized/ghc-extra-projects/ghcjs/ghc8106/.plan.nix/libiserv.nix−58

This diff is too big to show here.

materialized/ghc-extra-projects/ghcjs/ghc8106/.plan.nix/remote-iserv.nix−46

This diff is too big to show here.

materialized/ghc-extra-projects/ghcjs/ghc8106/default.nix−131

This diff is too big to show here.

materialized/ghc-extra-projects/ghcjs/ghc8107/.plan.nix/Win32.nix−155

This diff is too big to show here.

materialized/ghc-extra-projects/ghcjs/ghc8107/.plan.nix/ghc-boot.nix−60

This diff is too big to show here.

materialized/ghc-extra-projects/ghcjs/ghc8107/.plan.nix/ghc.nix−586

This diff is too big to show here.

materialized/ghc-extra-projects/ghcjs/ghc8107/.plan.nix/ghci.nix−71

This diff is too big to show here.

materialized/ghc-extra-projects/ghcjs/ghc8107/.plan.nix/hpc.nix−52

This diff is too big to show here.

materialized/ghc-extra-projects/ghcjs/ghc8107/.plan.nix/iserv-proxy.nix−55

This diff is too big to show here.

materialized/ghc-extra-projects/ghcjs/ghc8107/.plan.nix/iserv.nix−54

This diff is too big to show here.

materialized/ghc-extra-projects/ghcjs/ghc8107/.plan.nix/libiserv.nix−58

This diff is too big to show here.

materialized/ghc-extra-projects/ghcjs/ghc8107/.plan.nix/remote-iserv.nix−46

This diff is too big to show here.

materialized/ghc-extra-projects/ghcjs/ghc8107/default.nix−131

This diff is too big to show here.

materialized/ghc-extra-projects/ghcjs/ghc865/.plan.nix/Win32.nix−155

This diff is too big to show here.

materialized/ghc-extra-projects/ghcjs/ghc865/.plan.nix/ghc-boot.nix−53

This diff is too big to show here.

materialized/ghc-extra-projects/ghcjs/ghc865/.plan.nix/ghc.nix−554

This diff is too big to show here.

materialized/ghc-extra-projects/ghcjs/ghc865/.plan.nix/ghci.nix−70

This diff is too big to show here.

materialized/ghc-extra-projects/ghcjs/ghc865/.plan.nix/hpc.nix−51

This diff is too big to show here.

materialized/ghc-extra-projects/ghcjs/ghc865/.plan.nix/iserv-proxy.nix−55

This diff is too big to show here.

materialized/ghc-extra-projects/ghcjs/ghc865/.plan.nix/iserv.nix−54

This diff is too big to show here.

materialized/ghc-extra-projects/ghcjs/ghc865/.plan.nix/libiserv.nix−58

This diff is too big to show here.

materialized/ghc-extra-projects/ghcjs/ghc865/default.nix−123

This diff is too big to show here.

materialized/ghc-extra-projects/ghcjs/ghc884/.plan.nix/Win32.nix−155

This diff is too big to show here.

materialized/ghc-extra-projects/ghcjs/ghc884/.plan.nix/ghc-boot.nix−53

This diff is too big to show here.

materialized/ghc-extra-projects/ghcjs/ghc884/.plan.nix/ghc.nix−572

This diff is too big to show here.

materialized/ghc-extra-projects/ghcjs/ghc884/.plan.nix/ghci.nix−70

This diff is too big to show here.

materialized/ghc-extra-projects/ghcjs/ghc884/.plan.nix/hpc.nix−51

This diff is too big to show here.

materialized/ghc-extra-projects/ghcjs/ghc884/.plan.nix/iserv-proxy.nix−55

This diff is too big to show here.

materialized/ghc-extra-projects/ghcjs/ghc884/.plan.nix/iserv.nix−54

This diff is too big to show here.

materialized/ghc-extra-projects/ghcjs/ghc884/.plan.nix/libiserv.nix−58

This diff is too big to show here.

materialized/ghc-extra-projects/ghcjs/ghc884/default.nix−125

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc8101/.plan.nix/Win32.nix−155

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc8101/.plan.nix/bytestring.nix+136

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc8101/.plan.nix/ghc-boot.nix+1−1

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc8101/.plan.nix/ghc.nix+1−1

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc8101/.plan.nix/ghci.nix+1−1

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc8101/.plan.nix/hpc.nix+1−1

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc8101/.plan.nix/iserv-proxy.nix+1−1

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc8101/.plan.nix/iserv.nix+1−1

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc8101/.plan.nix/libiserv.nix+1−1

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc8101/.plan.nix/remote-iserv.nix+1−1

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc8101/default.nix+38−71

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc8102/.plan.nix/Win32.nix−155

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc8102/.plan.nix/bytestring.nix+136

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc8102/.plan.nix/iserv-proxy.nix+1−1

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc8102/default.nix+40−73

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc8103/.plan.nix/Win32.nix−155

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc8103/.plan.nix/bytestring.nix+71

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc8103/.plan.nix/iserv-proxy.nix+1−1

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc8103/default.nix+40−73

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc8104/.plan.nix/Win32.nix−155

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc8104/.plan.nix/bytestring.nix+71

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc8104/.plan.nix/iserv-proxy.nix+1−1

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc8104/default.nix+40−73

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc810420210212/.plan.nix/Win32.nix−155

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc810420210212/.plan.nix/bytestring.nix+71

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc810420210212/.plan.nix/iserv-proxy.nix+1−1

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc810420210212/default.nix+40−73

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc8105/.plan.nix/Win32.nix−155

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc8105/.plan.nix/ghc-boot.nix−60

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc8105/.plan.nix/ghc.nix−586

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc8105/.plan.nix/ghci.nix−71

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc8105/.plan.nix/hpc.nix−52

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc8105/.plan.nix/iserv-proxy.nix−55

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc8105/.plan.nix/iserv.nix−54

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc8105/.plan.nix/libiserv.nix−58

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc8105/.plan.nix/remote-iserv.nix−46

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc8105/default.nix−121

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc8106/.plan.nix/Win32.nix−155

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc8106/.plan.nix/ghc-boot.nix−60

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc8106/.plan.nix/ghc.nix−586

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc8106/.plan.nix/ghci.nix−71

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc8106/.plan.nix/hpc.nix−52

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc8106/.plan.nix/iserv-proxy.nix−55

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc8106/.plan.nix/iserv.nix−54

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc8106/.plan.nix/libiserv.nix−58

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc8106/.plan.nix/remote-iserv.nix−46

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc8106/default.nix−121

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc8107/.plan.nix/Win32.nix−155

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc8107/.plan.nix/ghc-boot.nix−60

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc8107/.plan.nix/ghc.nix−586

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc8107/.plan.nix/ghci.nix−71

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc8107/.plan.nix/hpc.nix−52

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc8107/.plan.nix/iserv-proxy.nix−55

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc8107/.plan.nix/iserv.nix−54

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc8107/.plan.nix/libiserv.nix−58

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc8107/.plan.nix/remote-iserv.nix−46

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc8107/default.nix−121

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc863/.plan.nix/Win32.nix−155

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc863/.plan.nix/ghc-boot.nix−53

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc863/.plan.nix/ghc.nix−555

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc863/.plan.nix/ghci.nix−70

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc863/.plan.nix/hpc.nix−51

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc863/.plan.nix/iserv-proxy.nix−55

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc863/.plan.nix/iserv.nix−54

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc863/.plan.nix/libiserv.nix−58

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc863/.plan.nix/remote-iserv.nix−46

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc863/default.nix−118

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc864/.plan.nix/Win32.nix−155

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc864/.plan.nix/ghc-boot.nix−53

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc864/.plan.nix/ghc.nix−556

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc864/.plan.nix/ghci.nix−70

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc864/.plan.nix/hpc.nix−51

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc864/.plan.nix/iserv-proxy.nix−55

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc864/.plan.nix/iserv.nix−54

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc864/.plan.nix/libiserv.nix−58

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc864/.plan.nix/remote-iserv.nix−46

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc864/default.nix−119

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc865/.plan.nix/Win32.nix−155

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc865/.plan.nix/bytestring.nix+136

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc865/.plan.nix/ghc.nix+4

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc865/.plan.nix/iserv-proxy.nix+1−1

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc865/default.nix+44−72

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc882/.plan.nix/Win32.nix−155

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc882/.plan.nix/ghc-boot.nix−53

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc882/.plan.nix/ghc.nix−573

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc882/.plan.nix/ghci.nix−70

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc882/.plan.nix/hpc.nix−51

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc882/.plan.nix/iserv-proxy.nix−55

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc882/.plan.nix/iserv.nix−54

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc882/.plan.nix/libiserv.nix−58

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc882/.plan.nix/remote-iserv.nix−46

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc882/default.nix−120

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc883/.plan.nix/Win32.nix−155

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc883/.plan.nix/bytestring.nix+136

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc883/.plan.nix/ghc.nix+4

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc883/.plan.nix/iserv-proxy.nix+1−1

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc883/default.nix+44−72

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc884/.plan.nix/Win32.nix−155

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc884/.plan.nix/bytestring.nix+167

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc884/.plan.nix/ghc.nix+4

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc884/.plan.nix/iserv-proxy.nix+1−1

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc884/default.nix+44−72

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc901/.plan.nix/Win32.nix−158

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc901/.plan.nix/ghc-boot.nix−61

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc901/.plan.nix/ghc.nix−572

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc901/.plan.nix/ghci.nix−70

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc901/.plan.nix/hpc.nix−52

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc901/.plan.nix/iserv-proxy.nix−55

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc901/.plan.nix/iserv.nix−54

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc901/.plan.nix/libiserv.nix−58

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc901/.plan.nix/remote-iserv.nix−46

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc901/default.nix−132

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc902/.plan.nix/Win32.nix−158

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc902/.plan.nix/ghc-boot.nix−61

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc902/.plan.nix/ghc.nix−572

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc902/.plan.nix/ghci.nix−71

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc902/.plan.nix/hpc.nix−52

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc902/.plan.nix/iserv-proxy.nix−55

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc902/.plan.nix/iserv.nix−54

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc902/.plan.nix/libiserv.nix−58

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc902/.plan.nix/remote-iserv.nix−46

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc902/default.nix−132

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc921/.plan.nix/Win32.nix−158

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc921/.plan.nix/ghc-boot.nix−64

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc921/.plan.nix/ghc.nix−663

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc921/.plan.nix/ghci.nix−70

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc921/.plan.nix/hpc.nix−52

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc921/.plan.nix/iserv-proxy.nix−55

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc921/.plan.nix/iserv.nix−54

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc921/.plan.nix/libiserv.nix−58

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc921/.plan.nix/remote-iserv.nix−46

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc921/default.nix−140

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc922/.plan.nix/Win32.nix−158

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc922/.plan.nix/ghc-boot.nix−64

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc922/.plan.nix/ghc.nix−661

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc922/.plan.nix/ghci.nix−70

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc922/.plan.nix/hpc.nix−52

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc922/.plan.nix/iserv-proxy.nix−55

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc922/.plan.nix/iserv.nix−54

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc922/.plan.nix/libiserv.nix−58

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc922/.plan.nix/remote-iserv.nix−46

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc922/default.nix−134

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc923/.plan.nix/Win32.nix−158

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc923/.plan.nix/ghc-boot.nix−64

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc923/.plan.nix/ghc.nix−661

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc923/.plan.nix/ghci.nix−70

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc923/.plan.nix/hpc.nix−52

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc923/.plan.nix/iserv-proxy.nix−55

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc923/.plan.nix/iserv.nix−54

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc923/.plan.nix/libiserv.nix−58

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc923/.plan.nix/remote-iserv.nix−46

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc923/default.nix−134

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc924/.plan.nix/Win32.nix−158

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc924/.plan.nix/ghc-boot.nix−64

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc924/.plan.nix/ghc.nix−661

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc924/.plan.nix/ghci.nix−70

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc924/.plan.nix/hpc.nix−52

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc924/.plan.nix/iserv-proxy.nix−55

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc924/.plan.nix/iserv.nix−54

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc924/.plan.nix/libiserv.nix−58

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc924/.plan.nix/remote-iserv.nix−46

This diff is too big to show here.

materialized/ghc-extra-projects/windows/ghc924/default.nix−134

This diff is too big to show here.

materialized/ghc8101/cabal-install/.plan.nix/cabal-install.nix+79−10

This diff is too big to show here.

materialized/ghc8101/cabal-install/default.nix+79−131

This diff is too big to show here.

materialized/ghc8101/nix-tools/.plan.nix/hackage-db.nix+1−11

This diff is too big to show here.

materialized/ghc8101/nix-tools/.plan.nix/nix-tools.nix−1

This diff is too big to show here.

materialized/ghc8101/nix-tools/default.nix+362

This diff is too big to show here.

materialized/ghc8102/cabal-install/.plan.nix/cabal-install.nix+78−9

This diff is too big to show here.

materialized/ghc8102/cabal-install/default.nix+79−131

This diff is too big to show here.

materialized/ghc8102/nix-tools/.plan.nix/hackage-db.nix+1−11

This diff is too big to show here.

materialized/ghc8102/nix-tools/.plan.nix/nix-tools.nix−1

This diff is too big to show here.

materialized/ghc8102/nix-tools/default.nix+297−453

This diff is too big to show here.

materialized/ghc8103/cabal-install/.plan.nix/cabal-install.nix+78−9

This diff is too big to show here.

materialized/ghc8103/cabal-install/default.nix+79−131

This diff is too big to show here.

materialized/ghc8103/nix-tools/.plan.nix/hackage-db.nix+1−11

This diff is too big to show here.

materialized/ghc8103/nix-tools/.plan.nix/nix-tools.nix−1

This diff is too big to show here.

materialized/ghc8103/nix-tools/default.nix+297−453

This diff is too big to show here.

materialized/ghc8104/cabal-install/.plan.nix/cabal-install.nix+78−9

This diff is too big to show here.

materialized/ghc8104/cabal-install/default.nix+79−131

This diff is too big to show here.

materialized/ghc8104/nix-tools/.plan.nix/hackage-db.nix+1−11

This diff is too big to show here.

materialized/ghc8104/nix-tools/.plan.nix/nix-tools.nix−1

This diff is too big to show here.

materialized/ghc8104/nix-tools/default.nix+297−453

This diff is too big to show here.

materialized/ghc810420210212/cabal-install/.plan.nix/cabal-install.nix+78−9

This diff is too big to show here.

materialized/ghc810420210212/cabal-install/default.nix+79−131

This diff is too big to show here.

materialized/ghc810420210212/nix-tools/.plan.nix/hackage-db.nix+1−11

This diff is too big to show here.

materialized/ghc810420210212/nix-tools/.plan.nix/nix-tools.nix−1

This diff is too big to show here.

materialized/ghc810420210212/nix-tools/default.nix+297−453

This diff is too big to show here.

materialized/ghc8105/cabal-install/.plan.nix/cabal-install.nix−292

This diff is too big to show here.

materialized/ghc8105/cabal-install/default.nix−180

This diff is too big to show here.

materialized/ghc8105/nix-tools/default.nix−518

This diff is too big to show here.

materialized/ghc8106/cabal-install/.plan.nix/cabal-install.nix−292

This diff is too big to show here.

materialized/ghc8106/cabal-install/default.nix−180

This diff is too big to show here.

materialized/ghc8106/nix-tools/.plan.nix/hackage-db.nix−110

This diff is too big to show here.

materialized/ghc8106/nix-tools/.plan.nix/nix-tools.nix−234

This diff is too big to show here.

materialized/ghc8106/nix-tools/default.nix−518

This diff is too big to show here.

materialized/ghc8107/cabal-install/.plan.nix/cabal-install.nix−292

This diff is too big to show here.

materialized/ghc8107/cabal-install/default.nix−180

This diff is too big to show here.

materialized/ghc8107/nix-tools/.plan.nix/hackage-db.nix−110

This diff is too big to show here.

materialized/ghc8107/nix-tools/.plan.nix/nix-tools.nix−234

This diff is too big to show here.

materialized/ghc8107/nix-tools/default.nix−518

This diff is too big to show here.

materialized/ghc863/cabal-install/.plan.nix/cabal-install.nix−292

This diff is too big to show here.

materialized/ghc863/cabal-install/default.nix−180

This diff is too big to show here.

materialized/ghc863/nix-tools/.plan.nix/hackage-db.nix−110

This diff is too big to show here.

materialized/ghc863/nix-tools/.plan.nix/nix-tools.nix−234

This diff is too big to show here.

materialized/ghc863/nix-tools/default.nix−509

This diff is too big to show here.

materialized/ghc864/cabal-install/.plan.nix/cabal-install.nix−292

This diff is too big to show here.

materialized/ghc864/cabal-install/default.nix−180

This diff is too big to show here.

materialized/ghc864/nix-tools/.plan.nix/hackage-db.nix−110

This diff is too big to show here.

materialized/ghc864/nix-tools/.plan.nix/nix-tools.nix−234

This diff is too big to show here.

materialized/ghc864/nix-tools/default.nix−509

This diff is too big to show here.

materialized/ghc865/cabal-install/.plan.nix/cabal-install.nix+78−9

This diff is too big to show here.

materialized/ghc865/cabal-install/default.nix+79−131

This diff is too big to show here.

materialized/ghc865/nix-tools/.plan.nix/hackage-db.nix+1−11

This diff is too big to show here.

materialized/ghc865/nix-tools/.plan.nix/nix-tools.nix−1

This diff is too big to show here.

materialized/ghc865/nix-tools/default.nix+293−445

This diff is too big to show here.

materialized/ghc882/cabal-install/.plan.nix/cabal-install.nix−292

This diff is too big to show here.

materialized/ghc882/cabal-install/default.nix−180

This diff is too big to show here.

materialized/ghc882/nix-tools/.plan.nix/hackage-db.nix−110

This diff is too big to show here.

materialized/ghc882/nix-tools/.plan.nix/nix-tools.nix−234

This diff is too big to show here.

materialized/ghc882/nix-tools/default.nix−509

This diff is too big to show here.

materialized/ghc883/cabal-install/.plan.nix/cabal-install.nix+78−9

This diff is too big to show here.

materialized/ghc883/cabal-install/default.nix+79−131

This diff is too big to show here.

materialized/ghc883/nix-tools/.plan.nix/hackage-db.nix+1−11

This diff is too big to show here.

materialized/ghc883/nix-tools/.plan.nix/nix-tools.nix−1

This diff is too big to show here.

materialized/ghc883/nix-tools/default.nix+293−445

This diff is too big to show here.

materialized/ghc884/cabal-install/.plan.nix/cabal-install.nix+78−9

This diff is too big to show here.

materialized/ghc884/cabal-install/default.nix+79−131

This diff is too big to show here.

materialized/ghc884/nix-tools/.plan.nix/hackage-db.nix+1−11

This diff is too big to show here.

materialized/ghc884/nix-tools/.plan.nix/nix-tools.nix−1

This diff is too big to show here.

materialized/ghc884/nix-tools/default.nix+293−445

This diff is too big to show here.

materialized/ghc901/cabal-install/.plan.nix/cabal-install.nix−292

This diff is too big to show here.

materialized/ghc901/cabal-install/default.nix−178

This diff is too big to show here.

materialized/ghc902/cabal-install/.plan.nix/cabal-install.nix−292

This diff is too big to show here.

materialized/ghc902/cabal-install/default.nix−183

This diff is too big to show here.

materialized/ghc921/cabal-install/.plan.nix/cabal-install.nix−292

This diff is too big to show here.

materialized/ghc921/cabal-install/default.nix−174

This diff is too big to show here.

materialized/ghc922/cabal-install/.plan.nix/cabal-install.nix−292

This diff is too big to show here.

materialized/ghc922/cabal-install/default.nix−174

This diff is too big to show here.

materialized/ghc923/cabal-install/.plan.nix/cabal-install.nix−292

This diff is too big to show here.

materialized/ghc923/cabal-install/default.nix−174

This diff is too big to show here.

materialized/ghc924/cabal-install/.plan.nix/cabal-install.nix−292

This diff is too big to show here.

materialized/ghc924/cabal-install/default.nix−174

This diff is too big to show here.

materialized/ghcjs/alex/ghc8104/.plan.nix/alex.nix−160

This diff is too big to show here.

materialized/ghcjs/alex/ghc8104/default.nix−47

This diff is too big to show here.

materialized/ghcjs/alex/ghc8105/.plan.nix/alex.nix−160

This diff is too big to show here.

materialized/ghcjs/alex/ghc8105/default.nix−65

This diff is too big to show here.

materialized/ghcjs/alex/ghc8106/.plan.nix/alex.nix−160

This diff is too big to show here.

materialized/ghcjs/alex/ghc8106/default.nix−65

This diff is too big to show here.

materialized/ghcjs/alex/ghc8107/.plan.nix/alex.nix−160

This diff is too big to show here.

materialized/ghcjs/alex/ghc8107/default.nix−65

This diff is too big to show here.

materialized/ghcjs/alex/ghc865/default.nix+16−34

This diff is too big to show here.

materialized/ghcjs/alex/ghc884/default.nix+16−34

This diff is too big to show here.

materialized/ghcjs/cabal/ghc8104/.plan.nix/cabal-install.nix−361

This diff is too big to show here.

materialized/ghcjs/cabal/ghc8104/default.nix−128

This diff is too big to show here.

materialized/ghcjs/cabal/ghc8105/.plan.nix/cabal-install.nix−292

This diff is too big to show here.

materialized/ghcjs/cabal/ghc8105/default.nix−180

This diff is too big to show here.

materialized/ghcjs/cabal/ghc8106/.plan.nix/cabal-install.nix−292

This diff is too big to show here.

materialized/ghcjs/cabal/ghc8106/default.nix−180

This diff is too big to show here.

materialized/ghcjs/cabal/ghc8107/.plan.nix/cabal-install.nix−292

This diff is too big to show here.

materialized/ghcjs/cabal/ghc8107/default.nix−180

This diff is too big to show here.

materialized/ghcjs/cabal/ghc865/default.nix+74−124

This diff is too big to show here.

materialized/ghcjs/cabal/ghc884/default.nix+74−124

This diff is too big to show here.

materialized/ghcjs/ghc8104/.plan.nix/ghcjs-th.nix−48

This diff is too big to show here.

materialized/ghcjs/ghc8104/.plan.nix/ghcjs.nix−985

This diff is too big to show here.

materialized/ghcjs/ghc8105/.plan.nix/ghcjs-th.nix−48

This diff is too big to show here.

materialized/ghcjs/ghc8105/.plan.nix/ghcjs.nix−985

This diff is too big to show here.

materialized/ghcjs/ghc8105/default.nix−576

This diff is too big to show here.

materialized/ghcjs/ghc8106/.plan.nix/ghcjs-th.nix−48

This diff is too big to show here.

materialized/ghcjs/ghc8106/.plan.nix/ghcjs.nix−985

This diff is too big to show here.

materialized/ghcjs/ghc8106/default.nix−576

This diff is too big to show here.

materialized/ghcjs/ghc8107/.plan.nix/ghcjs-th.nix−48

This diff is too big to show here.

materialized/ghcjs/ghc8107/.plan.nix/ghcjs.nix−985

This diff is too big to show here.

materialized/ghcjs/ghc8107/default.nix−576

This diff is too big to show here.

materialized/ghcjs/ghc884/default.nix−581

This diff is too big to show here.

materialized/ghcjs/happy/ghc8104/.plan.nix/happy.nix−200

This diff is too big to show here.

materialized/ghcjs/happy/ghc8104/default.nix−41

This diff is too big to show here.

materialized/ghcjs/happy/ghc8105/.plan.nix/happy.nix−200

This diff is too big to show here.

materialized/ghcjs/happy/ghc8105/default.nix−56

This diff is too big to show here.

materialized/ghcjs/happy/ghc8106/.plan.nix/happy.nix−200

This diff is too big to show here.

materialized/ghcjs/happy/ghc8106/default.nix−56

This diff is too big to show here.

materialized/ghcjs/happy/ghc8107/.plan.nix/happy.nix−200

This diff is too big to show here.

materialized/ghcjs/happy/ghc8107/default.nix−56

This diff is too big to show here.

materialized/ghcjs/happy/ghc865/default.nix+10−25

This diff is too big to show here.

materialized/ghcjs/happy/ghc884/default.nix+10−25

This diff is too big to show here.

materialized/ghcjs865/.plan.nix/ghci-ghcjs.nix

This diff is too big to show here.

materialized/ghcjs865/.plan.nix/ghcjs-th.nix

This diff is too big to show here.

materialized/ghcjs865/.plan.nix/ghcjs.nix

This diff is too big to show here.

materialized/ghcjs865/.plan.nix/haddock-library-ghcjs.nix

This diff is too big to show here.

materialized/ghcjs865/.plan.nix/template-haskell-ghcjs.nix

This diff is too big to show here.

materialized/ghcjs865/default.nix+330−552

This diff is too big to show here.

materialized/ghcjs884/.plan.nix/ghcjs-th.nix

This diff is too big to show here.

materialized/ghcjs884/.plan.nix/ghcjs.nix

This diff is too big to show here.

materialized/ghcjs884/default.nix+79−76

This diff is too big to show here.

materialized/spdx-3.12/licenses.json−5622

This diff is too big to show here.

materialized/spdx-3.14/licenses.json−5937

This diff is too big to show here.

materialized/spdx-3.16/licenses.json−6090

This diff is too big to show here.

materialized/spdx-3.17/licenses.json−6155

This diff is too big to show here.

mk-local-hackage-repo/default.nix+9−9

This diff is too big to show here.

mkdocs.yml+1−2

This diff is too big to show here.

modules/cabal-project.nix−134

This diff is too big to show here.

modules/component-driver.nix+12−14

This diff is too big to show here.

modules/configuration-nix.nix+1−95

This diff is too big to show here.

modules/hackage-project.nix−60

This diff is too big to show here.

modules/hackage-quirks.nix−88

This diff is too big to show here.

modules/hix-project.nix−47

This diff is too big to show here.

modules/package.nix+80−141

This diff is too big to show here.

modules/plan.nix+3−35

This diff is too big to show here.

modules/project-common.nix−65

This diff is too big to show here.

modules/project.nix−9

This diff is too big to show here.

modules/stack-project.nix−94

This diff is too big to show here.

nix/sources.json+146

This diff is too big to show here.

nix/sources.nix+174

This diff is too big to show here.

overlays/android.nix−28

This diff is too big to show here.

overlays/armv6l-linux.nix+1−2

This diff is too big to show here.

overlays/bootstrap.nix+110−478

This diff is too big to show here.

overlays/default.nix+10−9

This diff is too big to show here.

overlays/emscripten.nix+50−2

This diff is too big to show here.

overlays/emscripten/binaryen.nix+46

This diff is too big to show here.

overlays/emscripten/default.nix+71

This diff is too big to show here.

overlays/emscripten/fastcomp/emscripten-fastcomp.nix+55

This diff is too big to show here.

overlays/emscripten/upstream/emscripten-upstream.nix+60

This diff is too big to show here.

overlays/eval-on-build.nix+6

This diff is too big to show here.

overlays/eval-on-current.nix+8

This diff is too big to show here.

overlays/ghc-packages.nix+53−93

This diff is too big to show here.

overlays/ghc.nix+8−12

This diff is too big to show here.

overlays/ghcjs.nix+9−34

This diff is too big to show here.

overlays/hackage-quirks.nix+91

This diff is too big to show here.

overlays/haskell.nix+177−276

This diff is too big to show here.

overlays/hix.nix−51

This diff is too big to show here.

overlays/hydra.nix−9

This diff is too big to show here.

overlays/linux-cross.nix+1−1

This diff is too big to show here.

overlays/mingw_w64.nix+22−22

This diff is too big to show here.

overlays/musl.nix+2−9

This diff is too big to show here.

overlays/nix-prefetch-git-minimal.nix−14

This diff is too big to show here.

overlays/patches/Cabal/Cabal-3.4-defer-build-tool-depends-7532.patch−63

This diff is too big to show here.

overlays/patches/Cabal/Cabal-3.4-speedup-solver-when-tests-enabled-7490.patch−147

This diff is too big to show here.

overlays/patches/Cabal/Cabal-3.6.0.0-drop-pkg-db-check.diff−20

This diff is too big to show here.

overlays/patches/Cabal/Cabal-3.6.0.0-no-final-checks.diff−24

This diff is too big to show here.

overlays/patches/config.guess−1702

This diff is too big to show here.

overlays/patches/config.sub+12−23

This diff is too big to show here.

overlays/patches/file-embed-lzma-0.patch+44

This diff is too big to show here.

overlays/patches/ghc-lib-parser-8.10-global-unique-counters-in-rts.patch−20

This diff is too big to show here.

overlays/patches/ghc-lib-parser-9.2-global-unique-counters-in-rts.patch−20

This diff is too big to show here.

overlays/patches/ghc/3434.patch

This diff is too big to show here.

overlays/patches/ghc/AC_PROG_CC_99.patch−13

This diff is too big to show here.

overlays/patches/ghc/Cabal-unbreak-GHCJS.patch−20

This diff is too big to show here.

overlays/patches/ghc/MR6595-nonmoving-mutvar.patch−521

This diff is too big to show here.

overlays/patches/ghc/MR6617-nonmoving-mvar.patch−174

This diff is too big to show here.

overlays/patches/ghc/MR6654-nonmoving-maxmem.patch−31

This diff is too big to show here.

overlays/patches/ghc/Sphinx_Unicode_Error.patch−20

This diff is too big to show here.

overlays/patches/ghc/android-base-needs-iconv.patch−14

This diff is too big to show here.

overlays/patches/ghc/external-static-8.10.4.patch−219

This diff is too big to show here.

overlays/patches/ghc/ghc-8.10-global-unique-counters-in-rts.patch−55

This diff is too big to show here.

overlays/patches/ghc/ghc-8.10-windows-add-dependent-file.patch−22

This diff is too big to show here.

overlays/patches/ghc/ghc-8.10-z-drive-fix.patch−14

This diff is too big to show here.

overlays/patches/ghc/ghc-8.10.3-rts-make-markLiveObject-thread-safe.patch−63

This diff is too big to show here.

overlays/patches/ghc/ghc-8.10.3-ubxt.patch+7−34

This diff is too big to show here.

overlays/patches/ghc/ghc-8.10.5-add-rts-exports.patch−26

This diff is too big to show here.

overlays/patches/ghc/ghc-8.10.5-darwin-allocateExec.patch−13

This diff is too big to show here.

overlays/patches/ghc/ghc-8.10.5-ubxt.patch−7884

This diff is too big to show here.

overlays/patches/ghc/ghc-8.10.7-linker-weak-and-common.patch−189

This diff is too big to show here.

overlays/patches/ghc/ghc-8.4.4-reinstallable-lib-ghc.patch+10

This diff is too big to show here.

overlays/patches/ghc/ghc-8.6.3-reinstallable-lib-ghc.patch+10

This diff is too big to show here.

overlays/patches/ghc/ghc-8.6.4-reinstallable-lib-ghc.patch+10

This diff is too big to show here.

overlays/patches/ghc/ghc-8.6.5-reinstallable-lib-ghc.patch+10

This diff is too big to show here.

overlays/patches/ghc/ghc-8.8.1-reinstallable-lib-ghc.patch+10

This diff is too big to show here.

overlays/patches/ghc/ghc-8.8.2-reinstallable-lib-ghc.patch+10

This diff is too big to show here.

overlays/patches/ghc/ghc-9.0-macOS-loadArchive-fix.patch−9

This diff is too big to show here.

overlays/patches/ghc/ghc-9.2-3434.patch−68

This diff is too big to show here.

overlays/patches/ghc/ghc-9.2-Cabal-3886.patch−170

This diff is too big to show here.

overlays/patches/ghc/ghc-9.2-cabal-host.patch−13

This diff is too big to show here.

overlays/patches/ghc/ghc-9.2-global-unique-counters-in-rts.patch−83

This diff is too big to show here.

overlays/patches/ghc/ghc-9.2-macOS-loadArchive-fix.patch−9

This diff is too big to show here.

overlays/patches/ghc/ghc-9.2.1-xattr-fix.patch−30

This diff is too big to show here.

overlays/patches/ghc/ghc-mprotect-nonzero-len.patch−14

This diff is too big to show here.

overlays/patches/ghc/ghc-rts-linker-condbr.patch−73

This diff is too big to show here.

overlays/patches/ghc/issue-18708.patch−39

This diff is too big to show here.

overlays/patches/ghc/libc-memory-symbols.patch−43

This diff is too big to show here.

overlays/patches/ghc/libraries-prim-os-android.patch−13

This diff is too big to show here.

overlays/patches/ghc/mmap-next.patch−70

This diff is too big to show here.

overlays/patches/ghc/rts-android-jemalloc-qemu.patch−48

This diff is too big to show here.

overlays/patches/ghc/stack-protector-symbols.patch−67

This diff is too big to show here.

overlays/tools.nix+42−28

This diff is too big to show here.

overlays/windows.nix+35−16

This diff is too big to show here.

overlays/wine.nix+8−10

This diff is too big to show here.

patches/default.nix−1

This diff is too big to show here.

patches/ghc862/default.nix+1−1

This diff is too big to show here.

patches/ghc863/default.nix+1−1

This diff is too big to show here.

patches/ghc864/default.nix+1−1

This diff is too big to show here.

patches/ghc865/default.nix+1−1

This diff is too big to show here.

patches/ghcide-1.7-plutus-ghc.patch−13

This diff is too big to show here.

patches/ghcide-1.7-unboxed-tuple-fix-issue-1455.patch−76

This diff is too big to show here.

patches/hnix.patch−13

This diff is too big to show here.

patches/js-ghc8107/buffer-builder.patch−79

This diff is too big to show here.

patches/js-ghc8107/conduit-extra.patch−48

This diff is too big to show here.

patches/js-ghc8107/default.nix−7

This diff is too big to show here.

patches/js-ghc8107/double-conversion.patch−64

This diff is too big to show here.

patches/js-ghc8107/network.patch−16

This diff is too big to show here.

patches/js-ghc8107/say.patch−22

This diff is too big to show here.

patches/languge-c-int128.patch−146

This diff is too big to show here.

patches/update-patches.sh+2−6

This diff is too big to show here.

release-linux-only.nix−1

This diff is too big to show here.

release.nix+7−25

This diff is too big to show here.

scripts/check-compiler-materialization/default.nix+12−40

This diff is too big to show here.

scripts/check-hydra.nix+3−4

This diff is too big to show here.

scripts/check-path-support.nix+2−2

This diff is too big to show here.

scripts/options-doc.nix+1−1

This diff is too big to show here.

scripts/update-external.nix+3−3

This diff is too big to show here.

scripts/update-hackage.nix+1−1

This diff is too big to show here.

scripts/update-pins.nix+1−1

This diff is too big to show here.

scripts/update-stackage.nix+1−1

This diff is too big to show here.

shell.nix+12−1

This diff is too big to show here.

snapshots.nix+1−1

This diff is too big to show here.

stackage-src.json+4−4

This diff is too big to show here.

test/buildable/default.nix+3−2

This diff is too big to show here.

test/builder-haddock/.plan.nix/test-haddock.nix+43−12

This diff is too big to show here.

test/builder-haddock/default.nix+2−4

This diff is too big to show here.

test/builder-haddock/pkgs.nix+6−18

This diff is too big to show here.

test/c-ffi/c-ffi.cabal−24

This diff is too big to show here.

test/c-ffi/cbits/test.c−7

This diff is too big to show here.

test/c-ffi/default.nix−65

This diff is too big to show here.

test/c-ffi/exe/Main.hs−15

This diff is too big to show here.

test/c-ffi/jsbits/bindings.js−6

This diff is too big to show here.

test/c-ffi/src/Lib.hs−6

This diff is too big to show here.

test/ca-derivations-include/default.nix−57

This diff is too big to show here.

test/ca-derivations/default.nix−59

This diff is too big to show here.

test/cabal-22/default.nix+2−7

This diff is too big to show here.

test/cabal-doctests/Setup.hs−6

This diff is too big to show here.

test/cabal-doctests/cabal-doctests-test.cabal−31

This diff is too big to show here.

test/cabal-doctests/default.nix−48

This diff is too big to show here.

test/cabal-doctests/doctests/Doctests.hs−16

This diff is too big to show here.

test/cabal-doctests/src/Lib.hs−18

This diff is too big to show here.

test/cabal-hpack/default.nix+3−3

This diff is too big to show here.

test/cabal-simple-debug/default.nix+5−10

This diff is too big to show here.

test/cabal-simple-prof/default.nix+5−9

This diff is too big to show here.

test/cabal-simple/default.nix+4−8

This diff is too big to show here.

test/cabal-source-repo-comments/cabal.project−2

This diff is too big to show here.

test/cabal-source-repo-comments/default.nix+4−3

This diff is too big to show here.

test/cabal-source-repo/cabal.project+1−3

This diff is too big to show here.

test/cabal-source-repo/default.nix+4−3

This diff is too big to show here.

test/cabal-sublib/default.nix+2−6

This diff is too big to show here.

test/call-cabal-project-to-nix/default.nix+3−7

This diff is too big to show here.

test/call-stack-to-nix/default.nix+2−4

This diff is too big to show here.

test/call-stack-to-nix/stack.yaml+1−1

This diff is too big to show here.

test/coverage-golden/default.nix+2−5

This diff is too big to show here.

test/coverage-no-libs/default.nix+2−5

This diff is too big to show here.

test/coverage/default.nix+2−5

This diff is too big to show here.

test/default.nix+55−58

This diff is too big to show here.

test/exe-dlls/default.nix−25

This diff is too big to show here.

test/exe-dlls/exe-dlls.cabal−18

This diff is too big to show here.

test/exe-dlls/src/Main.hs−14

This diff is too big to show here.

test/exe-lib-dlls/default.nix−25

This diff is too big to show here.

test/exe-lib-dlls/exe-lib-dlls.cabal−24

This diff is too big to show here.

test/exe-lib-dlls/exes/Main.hs−6

This diff is too big to show here.

test/exe-lib-dlls/src/Lib.hs−14

This diff is too big to show here.

test/exe-only/default.nix+3−3

This diff is too big to show here.

test/external-static-plugin/cabal.project−1

This diff is too big to show here.

test/external-static-plugin/default.nix−27

This diff is too big to show here.

test/external-static-plugin/plugin/CHANGELOG.md−5

This diff is too big to show here.

test/external-static-plugin/plugin/plugin.cabal−12

This diff is too big to show here.

test/external-static-plugin/plugin/src/Plugin.hs−16

This diff is too big to show here.

test/external-static-plugin/prog/CHANGELOG.md−5

This diff is too big to show here.

test/external-static-plugin/prog/app/Main.hs−4

This diff is too big to show here.

test/external-static-plugin/prog/prog.cabal−12

This diff is too big to show here.

test/extra-hackage/default.nix+7−6

This diff is too big to show here.

test/extra-hackage/external-package-user/cabal.project+2−6

This diff is too big to show here.

test/fully-static/cross.nix+1−1

This diff is too big to show here.

test/fully-static/default.nix−5

This diff is too big to show here.

test/ghc-options/cabal.nix+4−3

This diff is too big to show here.

test/ghc-options/stack.nix+2−10

This diff is too big to show here.

test/ghcjs-overlay/CHANGELOG.md−5

This diff is too big to show here.

test/ghcjs-overlay/Main.hs−8

This diff is too big to show here.

test/ghcjs-overlay/MyLib.hs−4

This diff is too big to show here.

test/ghcjs-overlay/Setup.hs−2

This diff is too big to show here.

test/ghcjs-overlay/cabal.project−2

This diff is too big to show here.

test/ghcjs-overlay/default.nix−60

This diff is too big to show here.

test/ghcjs-overlay/ghcjs-overlay-test.cabal−21

This diff is too big to show here.

test/githash/default.nix+2−6

This diff is too big to show here.

test/haskell-language-server/cabal.nix+2−5

This diff is too big to show here.

test/haskell-language-server/stack.nix+10−10

This diff is too big to show here.

test/index-state/default.nix+2−7

This diff is too big to show here.

test/lookup-sha256/default.nix+17

This diff is too big to show here.

test/project-flags/cabal.nix+4−3

This diff is too big to show here.

test/project-flags/stack.nix+1−3

This diff is too big to show here.

test/setup-deps/cabal.project+2

This diff is too big to show here.

test/setup-deps/default.nix+7−6

This diff is too big to show here.

test/setup-deps/pkg/Setup.hs−5

This diff is too big to show here.

test/setup-deps/pkg/pkg.cabal−1

This diff is too big to show here.

test/sha256map/default.nix−21

This diff is too big to show here.

test/shell-for-setup-deps/cabal.project+2

This diff is too big to show here.

test/shell-for-setup-deps/default.nix+9−12

This diff is too big to show here.

test/shell-for-setup-deps/pkg/pkg.cabal−1

This diff is too big to show here.

test/shell-for/.plan.nix/pkga.nix+45−14

This diff is too big to show here.

test/shell-for/.plan.nix/pkgb.nix+55−24

This diff is too big to show here.

test/shell-for/default.nix+2−6

This diff is too big to show here.

test/shell-for/pkgb/pkgb.cabal+1−1

This diff is too big to show here.

test/shell-for/pkgs.nix+164−250

This diff is too big to show here.

test/snapshots/default.nix+1−3

This diff is too big to show here.

test/stack-local-resolver-subdir/default.nix+1−3

This diff is too big to show here.

test/stack-local-resolver/default.nix+1−3

This diff is too big to show here.

test/stack-remote-resolver/default.nix+1−3

This diff is too big to show here.

test/stack-simple/default.nix+2−4

This diff is too big to show here.

test/stack-simple/pkgs.nix+1−7

This diff is too big to show here.

test/stack-simple/stack-simple.nix+47−16

This diff is too big to show here.

test/stack-source-repo/default.nix+1−3

This diff is too big to show here.

test/sublib-docs/default.nix+2−8

This diff is too big to show here.

test/tests.sh+4−10

This diff is too big to show here.

test/th-dlls/apps/Main.hs−9

This diff is too big to show here.

test/th-dlls/default.nix−24

This diff is too big to show here.

test/th-dlls/src/Lib.hs−14

This diff is too big to show here.

test/th-dlls/th-dlls.cabal−24

This diff is too big to show here.

test/unit.nix+15−128

This diff is too big to show here.

test/with-packages/.plan.nix/test-with-packages.nix+43−12

This diff is too big to show here.

test/with-packages/default.nix+10−24

This diff is too big to show here.

test/with-packages/pkgs.nix+118−161

This diff is too big to show here.