2235 files changed+11639−354499
.buildkite/pipeline.yml+5−17
@@ -1,6 +1,6 @@
11steps:
2− - label: 'Run tests with ghc8107'
3− command: "./test/tests.sh ghc8107"
2+ - label: 'Run tests with ghc884'
3+ command: "./test/tests.sh ghc884"
44 agents:
55 system: x86_64-linux
66
@@ -14,9 +14,9 @@ steps:
1414 agents:
1515 system: x86_64-linux
1616
17− - label: 'Check closure size with ghc8107'
17+ - label: 'Check closure size with ghc884'
1818 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
2020 - echo "+++ Closure size (MB)"
2121 - ./check-closure-size.sh
2222 agents:
@@ -36,17 +36,5 @@ steps:
3636
3737 - label: 'Make sure non store paths like can be used as src'
3838 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
4040 - ./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 @@
11steps:
2− - label: 'Update hackage.nix and stackage.nix'
2+ - label: 'Update hackage.nix'
33 command:
44 - nix-build build.nix -A maintainer-scripts.update-hackage -o update-hackage.sh
55 - echo "+++ Updating hackage.nix"
66 - ./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:
714 - nix-build build.nix -A maintainer-scripts.update-stackage -o update-stackage.sh
815 - echo "+++ Updating stackage.nix"
916 - ./update-stackage.sh
1017 artifact_paths:
11− - "flake.lock"
18+ - "stackage-src.json"
1219 agents:
1320 system: x86_64-linux
1421
@@ -17,7 +24,7 @@ steps:
1724
1825 - label: 'Update pins'
1926 command:
20− - 'buildkite-agent artifact download "flake.lock" .'
27+ - 'buildkite-agent artifact download "*.json" .'
2128 - nix-build build.nix -A maintainer-scripts.update-pins -o update-pins.sh
2229 - ./update-pins.sh
2330 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−
171# `haskell.nix` is infrastructure for building Haskell packages with Nix
182
193[](https://buildkite.com/input-output-hk/haskell-dot-nix)
@@ -24,9 +8,9 @@ its dependencies into Nix code.
248
259## Documentation
2610
27−- [Introduction](https://input-output-hk.github.io/haskell.nix/index.html)
28−- [Getting Started](https://input-output-hk.github.io/haskell.nix/tutorials/getting-started.html)
29−- [Troubleshooting](https://input-output-hk.github.io/haskell.nix/troubleshooting.html)
11+- [Introduction](https://input-output-hk.github.io/haskell.nix/)
12+- [Getting Started](https://input-output-hk.github.io/haskell.nix/tutorials/getting-started/)
13+- [Troubleshooting](https://input-output-hk.github.io/haskell.nix/troubleshooting/)
3014- Explore the documentation from there to find further topics.
3115
3216## Help! Something isn't working
@@ -34,13 +18,13 @@ its dependencies into Nix code.
3418The #1 problem that people have when using `haskell.nix` is that they find themselves building GHC.
3519This should not happen, but you *must* follow the `haskell.nix` setup instructions properly to avoid it.
3620If 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
38−consult the corresponding [troubleshooting section](https://input-output-hk.github.io/haskell.nix/troubleshooting.html#why-am-i-building-ghc).
21+[getting started instructions](https://input-output-hk.github.io/haskell.nix/tutorials/getting-started/#setting-up-the-binary-cache) and
22+consult the corresponding [troubleshooting section](https://input-output-hk.github.io/haskell.nix/troubleshooting/#why-am-i-building-ghc).
3923
4024The troubleshooting documentation also contains some help for other common issues.
4125Please give it a read before asking on IRC or opening an issue.
4226
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.
4428
4529## Related repos
4630
build.nix+14−30
@@ -5,12 +5,9 @@
55let
66 haskellNix = (import ./default.nix {});
77in
8−{ nixpkgs ? haskellNix.sources.nixpkgs-2111
8+{ nixpkgs ? haskellNix.sources.nixpkgs
99, nixpkgsArgs ? haskellNix.nixpkgsArgs
1010, pkgs ? import nixpkgs nixpkgsArgs
11−, evalPackages ? import nixpkgs nixpkgsArgs
12−, nixpkgsForHydra ? haskellNix.sources.nixpkgs-2105
13−, pkgsForHydra ? import nixpkgsForHydra (nixpkgsArgs // { inherit (pkgs) system; })
1411, ifdLevel ? 1000
1512, compiler-nix-name ? throw "No `compiler-nix-name` passed to build.nix"
1613}:
@@ -20,23 +17,14 @@ let
2017 buildHaskell = pkgs.buildPackages.haskell-nix;
2118 tool = buildHaskell.tool;
2219in 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; };
2421
2522 tools = pkgs.lib.optionalAttrs (ifdLevel >= 3) (
26− pkgs.recurseIntoAttrs ({
27− cabal-latest = tool compiler-nix-name "cabal" { inherit evalPackages; };
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; };
39− })
23+ pkgs.recurseIntoAttrs {
24+ ghcide-020 = tool compiler-nix-name "ghcide" "0.2.0";
25+ cabal-32 = tool compiler-nix-name "cabal" "3.2.0.0";
26+ hls-051 = tool compiler-nix-name "haskell-language-server" "0.5.1";
27+ }
4028 );
4129
4230 # Scripts for keeping Hackage and Stackage up to date, and CI tasks.
@@ -45,16 +33,16 @@ in rec {
4533 # are not pure).
4634 maintainer-scripts = pkgs.dontRecurseIntoAttrs {
4735 update-hackage = import ./scripts/update-hackage.nix {
48− inherit (pkgs) stdenv lib writeScript coreutils glibc git
49− openssh nixFlakes gawk bash curl findutils;
36+ inherit (pkgs) stdenv writeScript coreutils glibc git
37+ openssh nix-prefetch-git gawk bash curl findutils;
5038 # Update scripts use the internal nix-tools and cabal-install (compiled with a fixed GHC version)
5139 nix-tools = haskell.internal-nix-tools;
5240 cabal-install = haskell.internal-cabal-install;
5341 inherit (haskell) update-index-state-hashes;
5442 };
5543 update-stackage = haskell.callPackage ./scripts/update-stackage.nix {
56− inherit (pkgs) stdenv lib writeScript coreutils glibc git
57− openssh nixFlakes gawk bash curl findutils;
44+ inherit (pkgs) stdenv writeScript coreutils glibc git
45+ openssh nix-prefetch-git gawk bash curl findutils;
5846 # Update scripts use the internal nix-tools and cabal-install (compiled with a fixed GHC version)
5947 nix-tools = haskell.internal-nix-tools;
6048 cabal-install = haskell.internal-cabal-install;
@@ -68,7 +56,7 @@ in rec {
6856 # it uses `pkgs.buildPackages.callPackage` not `haskell.callPackage`
6957 # (We could pull in darcs from a known good haskell.nix for hydra to
7058 # use)
71− check-hydra = pkgsForHydra.buildPackages.callPackage ./scripts/check-hydra.nix {};
59+ check-hydra = pkgs.buildPackages.callPackage ./scripts/check-hydra.nix {};
7260 check-closure-size = pkgs.buildPackages.callPackage ./scripts/check-closure-size.nix {
7361 # Includes cabal-install since this is commonly used.
7462 nix-tools = pkgs.linkFarm "common-tools" [
@@ -77,17 +65,13 @@ in rec {
7765 ];
7866 };
7967 check-materialization-concurrency = pkgs.buildPackages.callPackage ./scripts/check-materialization-concurrency/check.nix {};
80− 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− };
68+ check-path-support = pkgs.buildPackages.callPackage ./scripts/check-path-support.nix {};
8569 };
8670
8771 # These are pure parts of maintainer-script so they can be built by hydra
8872 # and added to the cache to speed up buildkite.
8973 maintainer-script-cache = pkgs.recurseIntoAttrs (
90− (pkgs.lib.optionalAttrs (pkgsForHydra.system == "x86_64-linux") {
74+ (pkgs.lib.optionalAttrs pkgs.stdenv.hostPlatform.isWindows {
9175 inherit (maintainer-scripts) check-hydra;
9276 })
9377 // (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+91−271
@@ -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+{ stdenv, buildPackages, ghc, lib, gobject-introspection ? null, haskellLib, makeConfigFiles, haddockBuilder, ghcForComponent, hsPkgs, compiler, runCommand, libffi, gmp, zlib, ncurses, numactl, nodejs }:
22lib.makeOverridable (
33let self =
44{ componentId
@@ -23,14 +23,6 @@ let self =
2323, preInstall ? component.preInstall , postInstall ? component.postInstall
2424, preHaddock ? component.preHaddock , postHaddock ? component.postHaddock
2525, 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.
3426
3527, build-tools ? component.build-tools
3628, pkgconfig ? component.pkgconfig
@@ -47,22 +39,18 @@ let self =
4739 # ghc's internal linker seems to be broken on x86.
4840 && !(stdenv.hostPlatform.isMusl && !stdenv.hostPlatform.isx86)
4941, enableDeadCodeElimination ? component.enableDeadCodeElimination
50−, writeHieFiles ? component.writeHieFiles
51−
52−, ghcOptions ? component.ghcOptions
53−, contentAddressed ? component.contentAddressed
5442
5543# Options for Haddock generation
5644, doHaddock ? component.doHaddock # Enable haddock and hoogle generation
5745, doHoogle ? component.doHoogle # Also build a hoogle index
5846, hyperlinkSource ? component.doHyperlinkSource # Link documentation to the source code
5947, 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`
48+, keepSource ? component.keepSource # Build from `source` output in the store then delete `dist`
6149, setupHaddockFlags ? component.setupHaddockFlags
6250
6351# Profiling
6452, enableLibraryProfiling ? component.enableLibraryProfiling
65−, enableProfiling ? component.enableProfiling
53+, enableExecutableProfiling ? component.enableExecutableProfiling
6654, profilingDetail ? component.profilingDetail
6755
6856# Coverage
@@ -83,62 +71,24 @@ let self =
8371
8472# LLVM
8573, useLLVM ? ghc.useLLVM
86−, smallAddressSpace ? false
8774
8875}@drvArgs:
8976
9077let
91− componentForSetup =
92− if configureAllComponents
93− then allComponent
94− else component;
95−
96− # Ignore attempts to include DWARF info when it is not possible
97− enableDWARF = drvArgs.enableDWARF or false
98− && stdenv.hostPlatform.isLinux
99− && !haskellLib.isCrossHost
100− && !stdenv.hostPlatform.isMusl
101− && builtins.compareVersions defaults.ghc.version "8.10.2" >= 0;
102−
103− ghc = (if enableDWARF then (x: x.dwarf) else (x: x)) (
104− (if smallAddressSpace then (x: x.smallAddressSpace) else (x: x)) defaults.ghc);
105− setup = (if enableDWARF then (x: x.dwarf) else (x: x)) (
106− (if smallAddressSpace then (x: x.smallAddressSpace) else (x: x)) drvArgs.setup);
107−
10878 # TODO fix cabal wildcard support so hpack wildcards can be mapped to cabal wildcards
109− canCleanSource = !(cabal-generator == "hpack" && !(package.cleanHpack or false));
110− # In order to support relative references to other packages we need to use
111− # the `origSrc` diretory as the root `src` for the derivation.
112− # We use `rootAndSubDir` here to split the cleaned source into a `cleanSrc.root`
113− # path (that respects the filtering) and a `cleanSrc.subDir` that
114− # is the sub directory in that root path that contains the package.
115− # `cleanSrc.subDir` is used in `prePatch` and `lib/cover.nix`.
116− cleanSrc = haskellLib.rootAndSubDir (if canCleanSource
117− then haskellLib.cleanCabalComponent package componentForSetup "${componentId.ctype}-${componentId.cname}" src
118− else
119− # We can clean out the siblings though to at least avoid changes to other packages
120− # from triggering a rebuild of this one.
121− # Passing `subDir` but not `includeSiblings = true;` will exclude anything not
122− # in the `subDir`.
123− if src ? origSrc && src ? filter && src.origSubDir or "" != ""
124− then haskellLib.cleanSourceWith {
125− name = src.name or "source";
126− src = src.origSrc;
127− subDir = lib.removePrefix "/" src.origSubDir;
128− inherit (src) filter;
129− }
130− else src);
79+ cleanSrc = if cabal-generator == "hpack" && !(package.cleanHpack or false)
80+ then builtins.trace ("Cleaning component source not supported for hpack package: " + name) src
81+ else haskellLib.cleanCabalComponent package component src;
13182
13283 nameOnly = "${package.identifier.name}-${componentId.ctype}-${componentId.cname}";
13384
13485 fullName = "${nameOnly}-${package.identifier.version}";
13586
136− needsProfiling = enableProfiling || enableLibraryProfiling;
87+ needsProfiling = enableExecutableProfiling || enableLibraryProfiling;
13788
13889 configFiles = makeConfigFiles {
139− component = componentForSetup;
14090 inherit (package) identifier;
141− inherit fullName flags needsProfiling enableDWARF;
91+ inherit component fullName flags needsProfiling;
14292 };
14393
14494 enableFeature = enable: feature:
@@ -148,21 +98,8 @@ let
14898
14999 finalConfigureFlags = lib.concatStringsSep " " (
150100 [ "--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}"]
165− ) ++ [ "$(cat ${configFiles}/configure-flags)"
101+ "${haskellLib.componentTarget componentId}"
102+ "$(cat ${configFiles}/configure-flags)"
166103 ] ++ commonConfigureFlags);
167104
168105 # From nixpkgs 20.09, the pkg-config exe has a prefix matching the ghc one
@@ -180,7 +117,7 @@ let
180117 [ "--with-gcc=${stdenv.cc.targetPrefix}cc"
181118 ] ++
182119 # BINTOOLS
183− (if stdenv.hostPlatform.isLinux && !stdenv.hostPlatform.isAndroid # might be better check to see if cc is clang/llvm?
120+ (if stdenv.hostPlatform.isLinux
184121 # use gold as the linker on linux to improve link times
185122 then [
186123 "--with-ld=${stdenv.cc.bintools.targetPrefix}ld.gold"
@@ -197,7 +134,7 @@ let
197134 (disableFeature dontStrip "executable-stripping")
198135 (disableFeature dontStrip "library-stripping")
199136 (enableFeature enableLibraryProfiling "library-profiling")
200− (enableFeature enableProfiling "profiling")
137+ (enableFeature enableExecutableProfiling "executable-profiling")
201138 (enableFeature enableStatic "static")
202139 (enableFeature enableShared "shared")
203140 (enableFeature doCoverage "coverage")
@@ -205,13 +142,13 @@ let
205142 ] ++ lib.optionals (stdenv.hostPlatform.isMusl && (haskellLib.isExecutableType componentId)) [
206143 # These flags will make sure the resulting executable is statically linked.
207144 # If it uses other libraries it may be necessary for to add more
208− # `--ghc-option=-optl=-L` options to the `configureFlags` of the
145+ # `--ghc-option=-optl=-L` options to the `configurationFlags` of the
209146 # component.
210147 "--disable-executable-dynamic"
211148 "--ghc-option=-optl=-pthread"
212149 "--ghc-option=-optl=-static"
213150 ] ++ lib.optional enableSeparateDataOutput "--datadir=$data/share/${ghc.name}"
214− ++ lib.optional (enableLibraryProfiling || enableProfiling) "--profiling-detail=${profilingDetail}"
151+ ++ lib.optional (enableLibraryProfiling || enableExecutableProfiling) "--profiling-detail=${profilingDetail}"
215152 ++ lib.optional stdenv.hostPlatform.isLinux (enableFeature enableDeadCodeElimination "split-sections")
216153 ++ lib.optionals haskellLib.isCrossHost (
217154 map (arg: "--hsc2hs-option=" + arg) (["--cross-compile"] ++ lib.optionals (stdenv.hostPlatform.isWindows) ["--via-asm"])
@@ -220,21 +157,14 @@ let
220157 ++ (ghc.extraConfigureFlags or [])
221158 ++ lib.optional enableDebugRTS "--ghc-option=-debug"
222159 ++ lib.optional enableTSanRTS "--ghc-option=-tsan"
223− ++ lib.optional enableDWARF "--ghc-option=-g3"
160+ ++ lib.optional enableDWARF "--ghc-option=-g"
224161 ++ lib.optionals useLLVM [
225162 "--ghc-option=-fPIC" "--gcc-option=-fPIC"
226163 ]
227− ++ 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"
236164 );
237165
166+ setupGhcOptions = lib.optional (package.ghcOptions != null) '' --ghc${lib.optionalString (stdenv.hostPlatform.isGhcjs) "js"}-options="${package.ghcOptions}"'';
167+
238168 executableToolDepends =
239169 (lib.concatMap (c: if c.isHaskell or false
240170 then builtins.attrValues (c.components.exes or {})
@@ -245,8 +175,7 @@ let
245175 # work in the nix-shell. See ../doc/removing-with-package-wrapper.md.
246176 shellWrappers = ghcForComponent {
247177 componentName = fullName;
248− inherit configFiles enableDWARF;
249− inherit (component) plugins;
178+ inherit configFiles;
250179 };
251180
252181 # In order to let shell hooks make package-specific things like Hoogle databases
@@ -261,7 +190,7 @@ let
261190
262191 # Attributes that are common to both the build and haddock derivations
263192 commonAttrs = {
264− src = cleanSrc.root;
193+ src = cleanSrc;
265194
266195 LANG = "en_US.UTF-8"; # GHC needs the locale configured during the Haddock phase.
267196 LC_ALL = "en_US.UTF-8";
@@ -270,27 +199,14 @@ let
270199
271200 SETUP_HS = setup + /bin/Setup;
272201
273− prePatch =
274− # If the package is in a sub directory `cd` there first.
275− # In some cases the `cleanSrc.subDir` will be empty and the `.cabal`
276− # file will be in the root of `src` (`cleanSrc.root`). This
277− # will happen when:
278− # * the .cabal file is in the projects `src.origSrc or src`
279− # * the package src was overridden with a value that does not
280− # include an `origSubDir`
281− (lib.optionalString (cleanSrc.subDir != "") ''
282− cd ${lib.removePrefix "/" cleanSrc.subDir}
283− ''
284− ) +
285− (if cabalFile != null
286− then ''cat ${cabalFile} > ${package.identifier.name}.cabal''
287− else
288− # When building hpack package we use the internal nix-tools
289− # (compiled with a fixed GHC version)
290− lib.optionalString (cabal-generator == "hpack") ''
291− ${buildPackages.haskell-nix.internal-nix-tools}/bin/hpack
292− ''
293− );
202+ prePatch = if (cabalFile != null)
203+ then ''cat ${cabalFile} > ${package.identifier.name}.cabal''
204+ else
205+ # When building hpack package we use the internal nix-tools
206+ # (compiled with a fixed GHC version)
207+ lib.optionalString (cabal-generator == "hpack") ''
208+ ${buildPackages.haskell-nix.internal-nix-tools}/bin/hpack
209+ '';
294210 }
295211 # patches can (if they like) depend on the version and revision of the package.
296212 // lib.optionalAttrs (patches != []) {
@@ -310,20 +226,14 @@ let
310226
311227 haddock = haddockBuilder {
312228 inherit componentId component package flags commonConfigureFlags
313− commonAttrs revision doHaddock
229+ commonAttrs revision setupGhcOptions doHaddock
314230 doHoogle hyperlinkSource quickjump setupHaddockFlags
315231 needsProfiling configFiles preHaddock postHaddock pkgconfig;
316232
317233 componentDrv = drv;
318234 };
319235
320− contentAddressedAttrs = lib.optionalAttrs contentAddressed {
321− __contentAddressed = true;
322− outputHashMode = "recursive";
323− outputHashAlgo = "sha256";
324− };
325−
326− drv = stdenv.mkDerivation (commonAttrs // contentAddressedAttrs // {
236+ drv = stdenv.mkDerivation (commonAttrs // {
327237 pname = nameOnly;
328238 inherit (package.identifier) version;
329239
@@ -335,13 +245,10 @@ let
335245 passthru = {
336246 inherit (package) identifier;
337247 config = component;
338− srcSubDir = cleanSrc.subDir;
339− srcSubDirPath = cleanSrc.root + cleanSrc.subDir;
340− inherit configFiles executableToolDepends exeName enableDWARF;
248+ inherit configFiles executableToolDepends cleanSrc exeName;
341249 exePath = drv + "/bin/${exeName}";
342250 env = shellWrappers;
343251 profiled = self (drvArgs // { enableLibraryProfiling = true; });
344− dwarf = self (drvArgs // { enableDWARF = true; });
345252 } // lib.optionalAttrs (haskellLib.isLibrary componentId) ({
346253 inherit haddock;
347254 inherit (haddock) haddockDir; # This is null if `doHaddock = false`
@@ -354,30 +261,22 @@ let
354261 meta = {
355262 homepage = package.homepage or "";
356263 description = package.synopsis or "";
357− license = haskellLib.cabalToNixpkgsLicense package.license;
358− 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;
264+ license =
265+ let
266+ license-map = import ../lib/cabal-licenses.nix lib;
267+ in license-map.${package.license} or
268+ (builtins.trace "WARNING: license \"${package.license}\" not found" license-map.LicenseRef-OtherLicense);
269+ platforms = if platforms == null then stdenv.lib.platforms.all else platforms;
367270 };
368271
369272 propagatedBuildInputs =
370273 frameworks # Frameworks will be needed at link time
371274 # Not sure why pkgconfig needs to be propagatedBuildInputs but
372275 # for gi-gtk-hs it seems to help.
373− ++ builtins.concatLists pkgconfig
374− ++ lib.optionals (stdenv.hostPlatform.isWindows)
375− (lib.flatten component.libs
376− ++ map haskellLib.dependToLib component.depends);
276+ ++ builtins.concatLists pkgconfig;
377277
378− buildInputs = lib.optionals (!stdenv.hostPlatform.isWindows)
379− (lib.flatten component.libs
380− ++ map haskellLib.dependToLib component.depends);
278+ buildInputs = component.libs
279+ ++ map (d: d.components.library or d) component.depends;
381280
382281 nativeBuildInputs =
383282 [shellWrappers buildPackages.removeReferencesTo]
@@ -385,24 +284,14 @@ let
385284
386285 outputs = ["out" ]
387286 ++ (lib.optional enableSeparateDataOutput "data")
388− ++ (lib.optional keepSource "source")
389− ++ (lib.optional writeHieFiles "hie");
390−
391− prePatch =
392− # emcc is very slow if it cannot cache stuff in $HOME
393− (lib.optionalString (stdenv.hostPlatform.isGhcjs) ''
394− export HOME=$(mktemp -d)
395− '') +
396− (lib.optionalString (!canCleanSource) ''
397− echo "Cleaning component source not supported, leaving it un-cleaned"
398− '') +
287+ ++ (lib.optional keepSource "source");
288+
289+ configurePhase =
399290 (lib.optionalString keepSource ''
400291 cp -r . $source
401292 cd $source
402293 chmod -R +w .
403− '') + commonAttrs.prePatch;
404−
405− configurePhase = ''
294+ '') + ''
406295 runHook preConfigure
407296 echo Configure flags:
408297 printf "%q " ${finalConfigureFlags}
@@ -411,36 +300,12 @@ let
411300 runHook postConfigure
412301 '';
413302
414− 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
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
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}
442− runHook postBuild
443− '');
303+ buildPhase = ''
304+ runHook preBuild
305+ # https://gitlab.haskell.org/ghc/ghc/issues/9221
306+ $SETUP_HS build ${haskellLib.componentTarget componentId} -j$(($NIX_BUILD_CORES > 4 ? 4 : $NIX_BUILD_CORES)) ${lib.concatStringsSep " " (setupBuildFlags ++ setupGhcOptions)}
307+ runHook postBuild
308+ '';
444309
445310 # Note: Cabal does *not* copy test executables during the `install` phase.
446311 #
@@ -454,65 +319,49 @@ let
454319 target-pkg-and-db = "${ghc.targetPrefix}ghc-pkg -v0 --package-db $out/package.conf.d";
455320 in ''
456321 runHook preInstall
457− $SETUP_HS copy ${lib.concatStringsSep " " (
458− setupInstallFlags
459− ++ lib.optional configureAllComponents
460− (haskellLib.componentTarget componentId)
461− )}
322+ $SETUP_HS copy ${lib.concatStringsSep " " setupInstallFlags}
462323 ${lib.optionalString (haskellLib.isLibrary componentId) ''
463324 $SETUP_HS register --gen-pkg-config=${name}.conf
464325 ${ghc.targetPrefix}ghc-pkg -v0 init $out/package.conf.d
465− ${ghc.targetPrefix}ghc-pkg -v0 --package-db ${configFiles}/${configFiles.packageCfgDir} -f $out/package.conf.d register ${name}.conf
326+ if [ -d "${name}.conf" ]; then
327+ for pkg in ${name}.conf/*; do
328+ ${ghc.targetPrefix}ghc-pkg -v0 --package-db ${configFiles}/${configFiles.packageCfgDir} -f $out/package.conf.d register "$pkg"
329+ done
330+ elif [ -e "${name}.conf" ]; then
331+ ${ghc.targetPrefix}ghc-pkg -v0 --package-db ${configFiles}/${configFiles.packageCfgDir} -f $out/package.conf.d register ${name}.conf
332+ fi
466333
467334 mkdir -p $out/exactDep
468335 touch $out/exactDep/configure-flags
469336 touch $out/exactDep/cabal.config
470337 touch $out/envDep
471338
472− ${ # The main library in a package has the same name as the package
473− if package.identifier.name == componentId.cname
474− then ''
475− if id=$(${target-pkg-and-db} field ${package.identifier.name} id --simple-output); then
476− echo "--dependency=${package.identifier.name}=$id" >> $out/exactDep/configure-flags
477− echo "package-id $id" >> $out/envDep
478− else
479− echo 'ERROR: ${package.identifier.name} id could not be found with ${target-pkg-and-db}'
480− exit 1
481− fi
482− if ver=$(${target-pkg-and-db} field ${package.identifier.name} version --simple-output); then
483− echo "constraint: ${package.identifier.name} == $ver" >> $out/exactDep/cabal.config
484− echo "constraint: ${package.identifier.name} installed" >> $out/exactDep/cabal.config
485− else
486− echo 'ERROR: ${package.identifier.name} version could not be found with ${target-pkg-and-db}'
487− exit 1
488− fi
489− ''
490− else
491− # If the component name is not the package name this must be a sublib.
492− # As we build sublibs separately, the following query should be safe.
493− (''
494− if id=$(${target-pkg-and-db} field "z-${package.identifier.name}-z-*" id --simple-output); then
495− name=$(${target-pkg-and-db} field "z-${package.identifier.name}-z-*" name --simple-output)
496− echo "--dependency=''${name#z-${package.identifier.name}-z-}=$id" >> $out/exactDep/configure-flags
497− ''
498− # Allow `package-name:sublib-name` to work in `build-depends`
499− # by adding the same `--dependency` again, but with the package
500− # name added.
501− + ''
502− echo "--dependency=${package.identifier.name}:''${name#z-${package.identifier.name}-z-}=$id" >> $out/exactDep/configure-flags
503− else
504− echo 'ERROR: ${package.identifier.name} id could not be found with ${target-pkg-and-db}'
505− exit 1
506− fi
507− '')
508− }
339+ if id=$(${target-pkg-and-db} field ${package.identifier.name} id --simple-output); then
340+ echo "--dependency=${package.identifier.name}=$id" >> $out/exactDep/configure-flags
341+ echo "package-id $id" >> $out/envDep
342+ elif id=$(${target-pkg-and-db} field "z-${package.identifier.name}-z-*" id --simple-output); then
343+ name=$(${target-pkg-and-db} field "z-${package.identifier.name}-z-*" name --simple-output)
344+ # so we are dealing with a sublib. As we build sublibs separately, the above
345+ # query should be safe.
346+ echo "--dependency=''${name#z-${package.identifier.name}-z-}=$id" >> $out/exactDep/configure-flags
347+ else
348+ echo 'ERROR: ${package.identifier.name} id could not be found with ${target-pkg-and-db}'
349+ exit 0
350+ fi
351+ if ver=$(${target-pkg-and-db} field ${package.identifier.name} version --simple-output); then
352+ echo "constraint: ${package.identifier.name} == $ver" >> $out/exactDep/cabal.config
353+ echo "constraint: ${package.identifier.name} installed" >> $out/exactDep/cabal.config
354+ else
355+ echo 'ERROR: ${package.identifier.name} version could not be found with ${target-pkg-and-db}'
356+ exit 0
357+ fi
509358 ''}
510359 ${(lib.optionalString (haskellLib.isTest componentId || haskellLib.isBenchmark componentId) ''
511360 mkdir -p $out/bin
512361 if [ -f ${testExecutable} ]; then
513362 mkdir -p $(dirname $out/bin/${exeName})
514363 ${if stdenv.hostPlatform.isGhcjs then ''
515− cat <(echo \#!${lib.getBin buildPackages.nodejs-12_x}/bin/node) ${testExecutable} >| $out/bin/${exeName}
364+ cat <(echo \#!${lib.getBin buildPackages.nodejs}/bin/node) ${testExecutable} >| $out/bin/${exeName}
516365 chmod +x $out/bin/${exeName}
517366 '' else ''
518367 cp -r ${testExecutable} $(dirname $out/bin/${exeName})
@@ -520,22 +369,22 @@ let
520369 fi
521370 '')
522371 # In case `setup copy` did not create this
523− + (lib.optionalString enableSeparateDataOutput ''
524− mkdir -p $data
525− '')
526− + (lib.optionalString (stdenv.hostPlatform.isWindows && (haskellLib.mayHaveExecutable componentId)) (''
372+ + (lib.optionalString enableSeparateDataOutput "mkdir -p $data")
373+ + (lib.optionalString (stdenv.hostPlatform.isWindows && (haskellLib.mayHaveExecutable componentId)) ''
527374 echo "Symlink libffi and gmp .dlls ..."
528375 for p in ${lib.concatStringsSep " " [ libffi gmp ]}; do
529376 find "$p" -iname '*.dll' -exec ln -s {} $out/bin \;
530377 done
531− ''
532378 # symlink all .dlls into the local directory.
533− + ''
534− for p in $pkgsHostTargetAsString; do
535− find "$p" -iname '*.dll' -exec ln -s {} $out/bin \;
536− find "$p" -iname '*.dll.a' -exec ln -s {} $out/bin \;
379+ # we ask ghc-pkg for *all* dynamic-library-dirs and then iterate over the unique set
380+ # to symlink over dlls as needed.
381+ echo "Symlink library dependencies..."
382+ 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
383+ if [ -d "$libdir" ]; then
384+ find "$libdir" -iname '*.dll' -exec ln -s {} $out/bin \;
385+ fi
537386 done
538− ''))
387+ '')
539388 + (lib.optionalString doCoverage ''
540389 mkdir -p $out/share
541390 cp -r dist/hpc $out/share
@@ -543,41 +392,12 @@ let
543392 '')
544393 }
545394 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) ''
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
564− ''
565− ) + (lib.optionalString (keepSource && haskellLib.isLibrary componentId) ''
566− remove-references-to -t $out ${name}.conf
395+ '' + (lib.optionalString keepSource ''
396+ rm -rf dist
567397 '') + (lib.optionalString (haskellLib.isTest componentId) ''
568398 echo The test ${package.identifier.name}.components.tests.${componentId.cname} was built. To run the test build ${package.identifier.name}.checks.${componentId.cname}.
569399 '');
570400
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−
581401 shellHook = ''
582402 export PATH="${shellWrappers}/bin:$PATH"
583403 ${shellHookApplied}
@@ -590,7 +410,7 @@ let
590410 preBuild postBuild
591411 preInstall postInstall;
592412 }
593− // lib.optionalAttrs (hardeningDisable != [] || stdenv.hostPlatform.isMusl) {
594− hardeningDisable = hardeningDisable ++ lib.optional stdenv.hostPlatform.isMusl "pie";
413+ // lib.optionalAttrs (hardeningDisable != []) {
414+ inherit hardeningDisable;
595415 });
596416in drv; in self)
builder/default.nix+16−24
@@ -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, fetchurl, pkgconfig, nonReinstallablePkgs, hsPkgs, compiler }:
22
33let
44 # Builds a single component of a package.
@@ -17,8 +17,8 @@ let
1717 # in the native case, it would be the same in the cross case however
1818 # we *really* want to build the Setup.hs on the build machine and not
1919 # have the stdenv confuse it with the target/host env.
20− inherit (buildPackages) stdenv pkgconfig;
21− inherit buildPackages;
20+ inherit (buildPackages) stdenv;
21+ inherit buildPackages pkgconfig;
2222 inherit haskellLib nonReinstallablePkgs makeSetupConfigFiles;
2323 };
2424
@@ -26,9 +26,8 @@ let
2626 # component builder and for nix-shells.
2727 ghcForComponent = import ./ghc-for-component-wrapper.nix {
2828 inherit lib ghc haskellLib;
29− inherit (buildPackages) stdenv;
30− inherit (buildPackages.buildPackages) runCommand makeWrapper;
31− inherit (buildPackages.buildPackages.xorg) lndir;
29+ inherit (buildPackages) stdenv runCommand makeWrapper;
30+ inherit (buildPackages.xorg) lndir;
3231 };
3332
3433 # Builds a derivation which contains a ghc package-db of
@@ -45,29 +44,22 @@ let
4544
4645 hoogleLocal = let
4746 nixpkgsHoogle = import (pkgs.path + /pkgs/development/haskell-modules/hoogle.nix);
48− in { packages ? [], hoogle ? pkgs.buildPackages.haskell-nix.tool "ghc8107" "hoogle" {
49− inherit evalPackages;
50− version = "5.0.18.3";
47+ in { packages ? [], hoogle ? pkgs.buildPackages.haskell-nix.tool compiler.nix-name "hoogle" {
48+ version = "5.0.17.15";
5149 index-state = pkgs.haskell-nix.internalHackageIndexState;
5250 }
5351 }:
54− let
55− haskellPackages = {
56− # For musl we can use haddock from the buildGHC
57− ghc = if stdenv.hostPlatform.isLinux && stdenv.targetPlatform.isMusl && !haskellLib.isNativeMusl
58− then ghc.buildGHC
59− else ghc;
60− inherit packages hoogle;
61− };
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;
52+ haskellLib.weakCallPackage pkgs nixpkgsHoogle {
53+ # For musl we can use haddock from the buildGHC
54+ ghc = if stdenv.hostPlatform.isLinux && stdenv.targetPlatform.isMusl && !haskellLib.isNativeMusl
55+ then ghc.buildGHC
56+ else ghc;
57+ inherit packages hoogle;
58+ };
6759
6860 # Same as haskellPackages.shellFor in nixpkgs.
6961 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;
7163 inherit (buildPackages) glibcLocales;
7264 };
7365
@@ -83,7 +75,7 @@ in {
8375 # Build a Haskell package from its config.
8476 # TODO: this pkgs is the adjusted pkgs, but pkgs.pkgs is unadjusted
8577 build-package = haskellLib.weakCallPackage pkgs ./hspkg-builder.nix {
86− inherit haskellLib ghc compiler-nix-name comp-builder setup-builder;
78+ inherit haskellLib ghc comp-builder setup-builder;
8779 };
8880
8981 inherit shellFor makeConfigFiles;
builder/ghc-for-component-wrapper.nix+13−65
@@ -7,18 +7,14 @@
77# database.
88
99{ lib, stdenv, ghc, runCommand, lndir, makeWrapper, haskellLib
10−}@defaults:
10+}:
1111
1212{ componentName # Full derivation name of the component
1313, configFiles # The component's "config" derivation
1414, postInstall ? ""
15−, enableDWARF
16−, plugins
1715}:
1816
1917let
20− ghc = if enableDWARF then defaults.ghc.dwarf else defaults.ghc;
21−
2218 inherit (configFiles) targetPrefix ghcCommand ghcCommandCaps packageCfgDir;
2319 libDir = "$out/${configFiles.libDir}";
2420 docDir = "$out/share/doc/ghc/html";
@@ -38,70 +34,27 @@ in runCommand "${componentName}-${ghc.name}-env" {
3834 ''
3935 . ${makeWrapper}/nix-support/setup-hook
4036
41− ''
42− # Start with a ghc and remove all of the package directories
43− + ''
37+ # Start with a ghc...
4438 mkdir -p $out/bin
4539 ${lndir}/bin/lndir -silent ${ghc} $out
40+ # ... remove all of the package directories
4641 rm -rf ${libDir}/*/
47− ''
48− # ... but retain the lib/ghc/bin directory. This contains `unlit' and friends.
49− + ''
42+ # ... but retain the lib/ghc/bin directory. This contains `unlit' and friends.
5043 ln -s ${ghc}/lib/${ghcCommand}-${ghc.version}/bin ${libDir}
51− ''
52− # ... and the ghcjs shim's if they are available ...
53− + ''
44+ # ... and the ghcjs shim's if they are available ...
5445 if [ -d ${ghc}/lib/${ghcCommand}-${ghc.version}/shims ]; then
5546 ln -s ${ghc}/lib/${ghcCommand}-${ghc.version}/shims ${libDir}
5647 fi
57− ''
58− # ... and node modules ...
59− + ''
48+ # ... and node modules ...
6049 if [ -d ${ghc}/lib/${ghcCommand}-${ghc.version}/ghcjs-node ]; then
6150 ln -s ${ghc}/lib/${ghcCommand}-${ghc.version}/ghcjs-node ${libDir}
6251 fi
63− ''
64− # Replace the package database with the one from target package config.
65− + ''
52+ # Replace the package database with the one from target package config.
6653 ln -s ${configFiles}/${packageCfgDir} $out/${packageCfgDir}
6754
68− ''
69− # Set the GHC_PLUGINS environment variable according to the plugins for the component.
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"
55+ # Wrap compiler executables with correct env variables.
56+ # The NIX_ variables are used by the patched Paths_ghc module.
10057
101− ''
102− # Wrap compiler executables with correct env variables.
103− # The NIX_ variables are used by the patched Paths_ghc module.
104− + ''
10558 for prg in ${ghcCommand} ${ghcCommand}i ${ghcCommand}-${ghc.version} ${ghcCommand}i-${ghc.version}; do
10659 if [[ -x "${ghc}/bin/$prg" ]]; then
10760 rm -f $out/bin/$prg
@@ -110,7 +63,6 @@ in runCommand "${componentName}-${ghc.name}-env" {
11063 --set "NIX_${ghcCommandCaps}" "$out/bin/${ghcCommand}" \
11164 --set "NIX_${ghcCommandCaps}PKG" "$out/bin/${ghcCommand}-pkg" \
11265 --set "NIX_${ghcCommandCaps}_DOCDIR" "${docDir}" \
113− --set "GHC_PLUGINS" "$GHC_PLUGINS" \
11466 --set "NIX_${ghcCommandCaps}_LIBDIR" "${libDir}"
11567 fi
11668 done
@@ -123,14 +75,11 @@ in runCommand "${componentName}-${ghc.name}-env" {
12375 --set "NIX_${ghcCommandCaps}" "$out/bin/${ghcCommand}" \
12476 --set "NIX_${ghcCommandCaps}PKG" "$out/bin/${ghcCommand}-pkg" \
12577 --set "NIX_${ghcCommandCaps}_DOCDIR" "${docDir}" \
126− --set "GHC_PLUGINS" "$GHC_PLUGINS" \
12778 --set "NIX_${ghcCommandCaps}_LIBDIR" "${libDir}"
12879 fi
12980 done
13081
131− ''
132− # Wrap haddock, if the base GHC provides it.
133− + ''
82+ # Wrap haddock, if the base GHC provides it.
13483 if [[ -x "${haddock}/bin/haddock" ]]; then
13584 rm -f $out/bin/haddock
13685 makeWrapper ${haddock}/bin/haddock $out/bin/haddock \
@@ -138,10 +87,9 @@ in runCommand "${componentName}-${ghc.name}-env" {
13887 --set "NIX_${ghcCommandCaps}_LIBDIR" "${libDir}"
13988 fi
14089
141− ''
142− # Point ghc-pkg to the package database of the component using the
143− # --global-package-db flag.
144− + ''
90+ # Point ghc-pkg to the package database of the component using the
91+ # --global-package-db flag.
92+
14593 for prg in ${ghcCommand}-pkg ${ghcCommand}-pkg-${ghc.version}; do
14694 if [[ -x "${ghc}/bin/$prg" ]]; then
14795 rm -f $out/bin/$prg
builder/haddock-builder.nix+2−4
@@ -16,6 +16,7 @@
1616, hyperlinkSource
1717, quickjump
1818, setupHaddockFlags
19+, setupGhcOptions
1920
2021, needsProfiling
2122, componentDrv
@@ -41,7 +42,6 @@ let
4142 inherit (package) identifier;
4243 inherit component fullName flags needsProfiling;
4344 chooseDrv = p: p.haddock;
44− inherit (componentDrv) enableDWARF;
4545 };
4646
4747 finalConfigureFlags = lib.concatStringsSep " " (
@@ -55,8 +55,6 @@ let
5555 shellWrappers = ghcForComponent {
5656 componentName = fullName;
5757 configFiles = docsConfigFiles;
58− inherit (componentDrv) enableDWARF;
59− inherit (component) plugins;
6058 };
6159
6260 drv = stdenv.mkDerivation (commonAttrs // {
@@ -110,7 +108,7 @@ let
110108 ${lib.optionalString doHoogle "--hoogle"} \
111109 ${lib.optionalString hyperlinkSource "--hyperlink-source"} \
112110 ${lib.optionalString quickjump "--quickjump"} \
113− ${lib.concatStringsSep " " setupHaddockFlags}
111+ ${lib.concatStringsSep " " (setupHaddockFlags ++ setupGhcOptions)}
114112 }
115113 runHook postHaddock
116114 '';
builder/hspkg-builder.nix+14−44
@@ -1,4 +1,4 @@
1−{ pkgs, buildPackages, stdenv, lib, haskellLib, ghc, compiler-nix-name, fetchurl, runCommand, comp-builder, setup-builder }:
1+{ pkgs, buildPackages, stdenv, lib, haskellLib, ghc, fetchurl, runCommand, comp-builder, setup-builder }:
22
33config:
44{ flags
@@ -23,44 +23,21 @@ assert (if ghc.isHaskellNixCompiler or false then true
2323 + pkgs.lib.optionalString (name != null) (" for " + name)));
2424
2525let
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
3427 fetchurl {
3528 name = "${name}-${toString revision}.cabal";
3629 url = "https://hackage.haskell.org/package/${name}/revision/${toString revision}.cabal";
3730 sha256 = revisionSha256;
3831 };
3932
40− defaultSetupSrc = if stdenv.hostPlatform.isGhcjs then ./Setup.ghcjs.hs else ./Setup.hs;
41−
42− # This is the `Cabal` library that was built for `cabal-install` to use.
43− # It makes sense to use this version (when possible) because it will match the behavior of
44− # building with `cabal-install` (including fixes that may not be in the
45− # version of Cabal bundled with GHC).
46− cabalFromCabalInstall = buildPackages.haskell-nix.cabal-install-unchecked.${compiler-nix-name}.project.hsPkgs.Cabal.components.library;
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
53− ||
54− # These are the dependencies of `Cabal`
55− !builtins.elem package.identifier.name
56− ["nix-tools" "alex" "happy" "hscolour" "Cabal" "bytestring" "aeson" "time"
57− "filepath" "base-compat-batteries" "base-compat" "unix" "directory" "transformers"
58− "containers" "binary" "mtl" "text" "process" "parsec"];
59−
60− defaultSetup = setup-builder ({
33+ defaultSetupSrc = builtins.toFile "Setup.hs" ''
34+ import Distribution.Simple
35+ main = defaultMain
36+ '';
37+ defaultSetup = setup-builder {
6138 name = "${ghc.targetPrefix}default-Setup";
6239 component = {
63− depends = config.setup-depends ++ lib.optional useCabalFromCabalInstall cabalFromCabalInstall;
40+ depends = config.setup-depends;
6441 libs = [];
6542 frameworks = [];
6643 doExactConfig = false;
@@ -88,19 +65,12 @@ let
8865 synopsis = null;
8966 license = "MIT";
9067 };
91− src = null;
92− cleanSrc = buildPackages.runCommand "default-Setup-src" {} ''
68+ src = null; cleanSrc = buildPackages.runCommand "default-Setup-src" {} ''
9369 mkdir $out
9470 cat ${defaultSetupSrc} > $out/Setup.hs
9571 '';
9672 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− });
73+ };
10474
10575 # buildPackages.runCommand "default-Setup" { nativeBuildInputs = [(ghc.passthru.buildGHC or ghc)]; } ''
10676 # cat ${defaultSetupSrc} > Setup.hs
@@ -120,18 +90,18 @@ let
12090 inherit (pkg) preUnpack postUnpack;
12191 };
12292
123− buildComp = allComponent: componentId: component: comp-builder {
124− inherit allComponent componentId component package name src flags setup cabalFile cabal-generator patches revision
93+ buildComp = componentId: component: comp-builder {
94+ inherit componentId component package name src flags setup cabalFile cabal-generator patches revision
12595 shellHook
12696 ;
12797 };
12898
12999in rec {
130− components = haskellLib.applyComponents (buildComp pkg.allComponent) pkg;
100+ components = haskellLib.applyComponents buildComp pkg;
131101 checks = pkgs.recurseIntoAttrs (builtins.mapAttrs
132102 (_: d: haskellLib.check d)
133103 (lib.filterAttrs (_: d: d.config.doCheck) components.tests));
134− inherit (package) identifier detailLevel isLocal isProject buildType;
104+ inherit (package) identifier detailLevel isLocal;
135105 inherit setup cabalFile;
136106 isHaskell = true;
137107 inherit src;
builder/make-config-files.nix+12−36
@@ -1,14 +1,8 @@
1−{ stdenv, lib, haskellLib, ghc, nonReinstallablePkgs, runCommand, writeText, writeScript }@defaults:
1+{ stdenv, lib, haskellLib, ghc, nonReinstallablePkgs, runCommand, writeText, writeScript }:
22
3−{ identifier, component, fullName, flags ? {}, needsProfiling ? false, enableDWARF ? false, chooseDrv ? drv: drv, nonReinstallablePkgs ? defaults.nonReinstallablePkgs }:
3+{ identifier, component, fullName, flags ? {}, needsProfiling ? false, chooseDrv ? drv: drv }:
44
55let
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;
11−
126 flagsAndConfig = field: xs: lib.optionalString (xs != []) ''
137 echo ${lib.concatStringsSep " " (map (x: "--${field}=${x}") xs)} >> $out/configure-flags
148 echo "${field}: ${lib.concatStringsSep " " xs}" >> $out/cabal.config
@@ -53,10 +47,9 @@ let
5347 # TODO investigate why this is needed
5448 # TODO find out why p ? configFiles helps (for instance for `R1909.aarch64-unknown-linux-gnu.tests.cabal-22.run.x86_64-linux`)
5549 libDeps = map chooseDrv (
56− (if enableDWARF then (x: map (p: p.dwarf or p) x) else x: x)
57− ((if needsProfiling then (x: map (p: p.profiled or p) x) else x: x)
50+ (if needsProfiling then (x: map (p: p.profiled or p) x) else x: x)
5851 (lib.filter (p: (p ? configFiles) && p.configFiles.targetPrefix == ghc.targetPrefix)
59− (map getLibComponent component.depends)))
52+ (map getLibComponent component.depends))
6053 );
6154 cfgFiles =
6255 let xs = map
@@ -85,44 +78,27 @@ let
8578 ${target-pkg} init $out/${packageCfgDir}
8679
8780 ${lib.concatStringsSep "\n" (lib.mapAttrsToList flagsAndConfig {
88− "extra-lib-dirs" = map (p: "${lib.getLib p}/lib") (lib.flatten 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);
94− "extra-framework-dirs" = lib.optionals (stdenv.hostPlatform.isDarwin)
95− (map (p: "${p}/Library/Frameworks") component.frameworks);
81+ "extra-lib-dirs" = map (p: "${lib.getLib p}/lib") component.libs;
82+ "extra-include-dirs" = map (p: "${lib.getDev p}/include") component.libs;
83+ "extra-framework-dirs" = map (p: "${p}/Library/Frameworks") component.frameworks;
9684 })}
9785
9886 ghc=${ghc}
9987 ${ # Copy over the nonReinstallablePkgs from the global package db.
10088 ''
101− for p in ${lib.concatStringsSep " " nonReinstallablePkgs'}; do
89+ for p in ${lib.concatStringsSep " " nonReinstallablePkgs}; do
10290 find $ghc/lib/${ghc.name}/package.conf.d -name $p'*.conf' -exec cp -f {} $out/${packageCfgDir} \;
10391 done
10492 ''}
10593
10694 for l in "${cfgFiles}"; do
10795 if [ -n "$l" ]; then
108− files=("$l/${packageCfgDir}/"*.conf)
109− if (( ''${#files[@]} )); then
110− cp -f "''${files[@]}" $out/${packageCfgDir}
111− else
112− echo "$l/${packageCfgDir} didn't contain any *.conf files!"
113− exit 1
114− fi
96+ cp -f "$l/${packageCfgDir}/"*.conf $out/${packageCfgDir}
11597 fi
11698 done
11799 for l in "${libs}"; do
118100 if [ -n "$l" ]; then
119− files=("$l/package.conf.d/"*.conf)
120− if (( ''${#files[@]} )); then
121− cp -f "''${files[@]}" $out/${packageCfgDir}
122− else
123− echo "$l/package.conf.d didn't contain any *.conf files!"
124− exit 1
125− fi
101+ cp -f "$l/package.conf.d/"*.conf $out/${packageCfgDir}
126102 fi
127103 done
128104
@@ -157,13 +133,13 @@ let
157133 cat $p/exactDep/cabal.config >> $out/cabal.config
158134 ''}
159135 done
160− for p in ${lib.concatStringsSep " " (lib.remove "ghc" nonReinstallablePkgs')}; do
136+ for p in ${lib.concatStringsSep " " (lib.remove "ghc" nonReinstallablePkgs)}; do
161137 if [ -e $ghc/envDeps/$p ]; then
162138 cat $ghc/envDeps/$p >> $out/ghc-environment
163139 fi
164140 done
165141 '' + lib.optionalString component.doExactConfig ''
166− for p in ${lib.concatStringsSep " " nonReinstallablePkgs'}; do
142+ for p in ${lib.concatStringsSep " " nonReinstallablePkgs}; do
167143 if [ -e $ghc/exactDeps/$p ]; then
168144 cat $ghc/exactDeps/$p/configure-flags >> $out/configure-flags
169145 cat $ghc/exactDeps/$p/cabal.config >> $out/cabal.config
builder/setup-builder.nix+18−33
@@ -1,29 +1,21 @@
1−{ pkgs, stdenv, lib, buildPackages, haskellLib, ghc, nonReinstallablePkgs, hsPkgs, makeSetupConfigFiles, pkgconfig }@defaults:
1+{ stdenv, lib, buildPackages, haskellLib, ghc, nonReinstallablePkgs, hsPkgs, makeSetupConfigFiles, pkgconfig }:
22
3−let self =
4−{ component, package, name, src, enableDWARF ? false, flags ? {}, revision ? null, patches ? [], defaultSetupSrc
3+{ component, package, name, src, flags ? {}, revision ? null, patches ? [], defaultSetupSrc
54, preUnpack ? component.preUnpack, postUnpack ? component.postUnpack
65, prePatch ? null, postPatch ? null
76, preBuild ? component.preBuild , postBuild ? component.postBuild
87, preInstall ? component.preInstall , postInstall ? component.postInstall
9−, cleanSrc ? haskellLib.cleanCabalComponent package component "setup" src
10−, nonReinstallablePkgs ? defaults.nonReinstallablePkgs
11−, smallAddressSpace ? false
12−}@drvArgs:
8+, cleanSrc ? haskellLib.cleanCabalComponent package component src
9+}:
1310
1411let
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;
19−
2012 fullName = "${name}-setup";
2113
2214 includeGhcPackage = lib.any (p: p.identifier.name == "ghc") component.depends;
2315
2416 configFiles = makeSetupConfigFiles {
2517 inherit (package) identifier;
26− inherit fullName flags component enableDWARF nonReinstallablePkgs;
18+ inherit fullName flags component;
2719 };
2820 hooks = haskellLib.optionalHooks {
2921 inherit
@@ -43,7 +35,7 @@ let
4335 drv =
4436 stdenv.mkDerivation ({
4537 name = "${ghc.targetPrefix}${fullName}";
46− src = cleanSrc'.root;
38+ src = cleanSrc;
4739 buildInputs = component.libs
4840 ++ component.frameworks
4941 ++ builtins.concatLists component.pkgconfig;
@@ -52,19 +44,18 @@ let
5244 passthru = {
5345 inherit (package) identifier;
5446 config = component;
55− srcSubDir = cleanSrc'.subDir;
56− srcSubDirPath = cleanSrc'.root + cleanSrc'.subDir;
57− cleanSrc = cleanSrc';
58− inherit configFiles;
59− dwarf = self (drvArgs // { enableDWARF = true; });
60− smallAddressSpace = self (drvArgs // { smallAddressSpace = true; });
47+ inherit configFiles cleanSrc;
6148 };
6249
6350 meta = {
6451 homepage = package.homepage or "";
6552 description = package.synopsis or "";
66− license = haskellLib.cabalToNixpkgsLicense package.license;
67− platforms = if component.platforms == null then lib.platforms.all else component.platforms;
53+ license =
54+ let
55+ license-map = import ../lib/cabal-licenses.nix lib;
56+ in license-map.${package.license} or
57+ (builtins.trace "WARNING: license \"${package.license}\" not found" license-map.LicenseRef-OtherLicense);
58+ platforms = if component.platforms == null then stdenv.lib.platforms.all else component.platforms;
6859 };
6960
7061 phases = ["unpackPhase" "patchPhase" "buildPhase" "installPhase"];
@@ -76,12 +67,13 @@ let
7667 for f in Setup.hs Setup.lhs; do
7768 if [ -f $f ]; then
7869 echo Compiling package $f
79− ghc $f -threaded ${if includeGhcPackage then "-package ghc " else ""
80− }-package-db ${configFiles}/${configFiles.packageCfgDir} --make -o ./Setup
70+ ghc $f -threaded '' + (if includeGhcPackage then "-package ghc " else "")
71+ + ''-package-db ${configFiles}/${configFiles.packageCfgDir} --make -o ./Setup
72+ setup=$(pwd)/Setup
8173 fi
8274 done
8375 [ -f ./Setup ] || (echo Failed to build Setup && exit 1)
84− runHook postBuild
76+ runHook preBuild
8577 '';
8678
8779 installPhase = ''
@@ -91,14 +83,7 @@ let
9183 runHook postInstall
9284 '';
9385 }
94− // (lib.optionalAttrs (cleanSrc'.subDir != "") {
95− prePatch =
96− # If the package is in a sub directory `cd` there first
97− ''
98− cd ${lib.removePrefix "/" cleanSrc'.subDir}
99− '';
100− })
10186 // (lib.optionalAttrs (patches != []) { patches = map (p: if builtins.isFunction p then p { inherit (package.identifier) version; inherit revision; } else p) patches; })
10287 // hooks
10388 );
104−in drv; in self
89+in drv
builder/shell-for.nix+48−73
@@ -1,23 +1,26 @@
1−{ lib, stdenv, mkShell, glibcLocales, pkgconfig, ghcForComponent, makeConfigFiles, hsPkgs, hoogleLocal, haskellLib, buildPackages, evalPackages, compiler }:
1+{ lib, stdenv, glibcLocales, pkgconfig, ghcForComponent, makeConfigFiles, hsPkgs, hoogleLocal, haskellLib, buildPackages, compiler }:
22
33{ # `packages` function selects packages that will be worked on in the shell itself.
44 # These packages will not be built by `shellFor`, but their
55 # dependencies will be included in the shell's `ghc-pkg list`.
6− packages ? ps: builtins.attrValues (haskellLib.selectLocalPackages ps)
6+ packages ? ps:
7+ let
8+ selected = haskellLib.selectLocalPackages ps;
9+ in
10+ builtins.trace ("Shell for " + toString (builtins.attrNames selected))
11+ (builtins.attrValues selected)
712 # `components` function selects components that will be worked on in the shell itself.
813 # By default `shellFor` will include the dependencies of all of the components
914 # in the selected packages. If only as subset of the components will be
1015 # worked on in the shell then we can pass a different `components` function
1116 # to select those.
12−, components ? ps: lib.concatMap haskellLib.getAllComponents (packages ps)
17+, components ? ps: lib.concatMap haskellLib.getAllComponents (packages hsPkgs)
1318 # Additional packages to be added unconditionally
1419, additional ? _: []
1520, withHoogle ? true
16−, withHaddock ? withHoogle
1721, exactDeps ? false
1822, tools ? {}
19−, packageSetupDeps ? true
20−, enableDWARF ? false
23+, otherShells ? [] # List of other shells to include in this one
2124, ... } @ args:
2225
2326let
@@ -26,69 +29,50 @@ let
2629
2730 selectedPackages = packages hsPkgs;
2831 additionalPackages = additional hsPkgs;
29− directlySelectedComponents = components hsPkgs;
32+ selectedComponents = components hsPkgs;
3033
31− # Given `directlySelectedComponents = [ a b ]`, we construct a shell that includes all of their dependencies
34+ # The configs of all the selected components
35+ selectedConfigs = map (c: c.config) selectedComponents ++ map (p: p.setup.config) selectedPackages;
36+
37+ name = if lib.length selectedPackages == 1
38+ then "ghc-shell-for-${(lib.head selectedPackages).identifier.name}"
39+ else "ghc-shell-for-packages";
40+
41+ # Given a `packages = [ a b ]` we construct a shell with the dependencies of `a` and `b`.
3242 #
33− # But we want to exclude `a` if it is a transitive dependecy of `b`
34− # because:
43+ # But if `a` depends on `b`, we don't want to include `b`, because
3544 # - cabal will end up ignoring that built version;
3645 # - The user has indicated that's what they're working on, so they probably don't want to have to build
3746 # it first (and it will change often).
38− # Generally we never want to include any of `directlySelectedComponents` 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`
47+ # Generally we never want to include any of (the components of) the selected packages as dependencies.
4548 #
4649 # Furthermore, if `a` depends on `b`, `a` will include the library component of `b` in its `buildInputs`
4750 # (to make `propagatedBuildInputs` of `pkgconfig-depends` work). So we also need to filter those
4851 # (the pkgconfig depends of `b` will still be included in the
4952 # system shell's `buildInputs` via `b`'s own `buildInputs`).
53+ # We have to do this slightly differently because we will be looking at the actual components rather
54+ # than the packages.
5055
56+ # Given a list of packages, removes those which were selected as part of the shell.
57+ # We do this on the basis of their identifiers being the same, not direct equality (why?).
58+ removeSelectedPackages =
59+ # All the identifiers of the selected packages
60+ let selectedPackageIds = map (p: p.identifier) selectedPackages;
61+ in lib.filter (input: !(builtins.elem (input.identifier or null) selectedPackageIds));
5162
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
63+ # Given a list of derivations, removes those which are components of packages which were selected as part of the shell.
7164 removeSelectedInputs =
72− lib.filter (input: !(isSelectedComponent input));
65+ # All the components of the selected packages: we shouldn't add any of these as dependencies
66+ let selectedPackageComponents = lib.concatMap haskellLib.getAllComponents selectedPackages;
67+ in lib.filter (input: !(builtins.elem input selectedPackageComponents));
7368
74− # The configs of all the selected components.
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−
85− # We need to remove any dependencies which would bring in selected components (see above).
86− packageInputs = removeSelectedInputs (lib.concatMap (cfg: cfg.depends) selectedConfigs)
87− ++ additionalPackages;
69+ # We need to remove any dependencies which are selected packages (see above).
70+ # `depends` contains packages so we use 'removeSelectedPackages`.
71+ packageInputs = removeSelectedPackages (lib.concatMap (cfg: cfg.depends) selectedConfigs) ++ additionalPackages;
8872
8973 # Add the system libraries and build tools of the selected haskell packages to the shell.
9074 # We need to remove any inputs which are selected components (see above).
91− # `buildInputs`, `propagatedBuildInputs`, and `executableToolDepends` contain component
75+ # `buildInputs`, `propagatedBuildInputs`, and `executableToolDepends` contain component
9276 # derivations, not packages, so we use `removeSelectedInputs`).
9377 systemInputs = removeSelectedInputs (lib.concatMap
9478 (c: c.buildInputs ++ c.propagatedBuildInputs) selectedComponents);
@@ -99,15 +83,13 @@ let
9983 component = {
10084 depends = packageInputs;
10185 libs = [];
102− pkgconfig = [];
10386 frameworks = [];
10487 doExactConfig = false;
10588 };
10689 configFiles = makeConfigFiles {
10790 fullName = args.name or name;
10891 identifier.name = name;
109− inherit component enableDWARF;
110− chooseDrv = p: if withHaddock && p ? haddock then p.haddock else p;
92+ inherit component;
11193 };
11294 ghcEnv = ghcForComponent {
11395 inherit configFiles;
@@ -115,8 +97,6 @@ let
11597 postInstall = lib.optionalString withHoogle' ''
11698 ln -s ${hoogleIndex}/bin/hoogle $out/bin
11799 '';
118− inherit enableDWARF;
119− plugins = [];
120100 };
121101
122102 hoogleIndex = let
@@ -133,34 +113,30 @@ let
133113 # inherit (hsPkgs) hoogle;
134114 } // (
135115 lib.optionalAttrs (args ? tools && args.tools ? hoogle) {
136− hoogle = buildPackages.haskell-nix.hackage-tool (
137− haskellLib.versionOrModToMods args.tools.hoogle ++ [{
138− name = "hoogle";
139− compiler-nix-name = compiler.nix-name;
140− inherit evalPackages;
141− }]);
116+ hoogle = buildPackages.haskell-nix.tool compiler.nix-name "hoogle" args.tools.hoogle;
142117 }
143118 ));
144119
145− mkDrvArgs = builtins.removeAttrs args ["packages" "components" "additional" "withHoogle" "tools"];
120+ mkDrvArgs = builtins.removeAttrs args ["packages" "additional" "withHoogle" "tools" "otherShells"];
146121in
147− mkShell (mkDrvArgs // {
122+ stdenv.mkDerivation (mkDrvArgs // {
148123 name = mkDrvArgs.name or name;
149124
150125 buildInputs = systemInputs
151− ++ mkDrvArgs.buildInputs or [];
126+ ++ mkDrvArgs.buildInputs or []
127+ ++ lib.optional withHoogle' hoogleIndex
128+ ++ lib.concatMap (s: s.buildInputs) otherShells;
152129 nativeBuildInputs = [ ghcEnv ]
153130 ++ nativeBuildInputs
154131 ++ mkDrvArgs.nativeBuildInputs or []
155− ++ lib.attrValues (buildPackages.haskell-nix.tools' evalPackages compiler.nix-name tools)
132+ ++ lib.attrValues (buildPackages.haskell-nix.tools compiler.nix-name tools)
133+ ++ lib.concatMap (s: s.nativeBuildInputs) otherShells
156134 # If this shell is a cross compilation shell include
157135 # wrapper script for running cabal build with appropriate args.
158− # Includes `--with-compiler` in case the `cabal.project` file has `with-compiler:` in it.
159136 ++ lib.optional (ghcEnv.targetPrefix != "") (
160137 buildPackages.writeShellScriptBin "${ghcEnv.targetPrefix}cabal" ''
161138 exec cabal \
162139 --with-ghc=${ghcEnv.targetPrefix}ghc \
163− --with-compiler=${ghcEnv.targetPrefix}ghc \
164140 --with-ghc-pkg=${ghcEnv.targetPrefix}ghc-pkg \
165141 --with-hsc2hs=${ghcEnv.targetPrefix}hsc2hs \
166142 ${lib.optionalString (ghcEnv.targetPrefix == "js-unknown-ghcjs-") ''
@@ -171,10 +147,9 @@ in
171147 "$@"
172148 '');
173149 phases = ["installPhase"];
174− installPhase = ''
175− echo "${"Shell for " + toString (builtins.map (p : p.identifier.name) selectedPackages)}"
176− echo $nativeBuildInputs $buildInputs > $out
177− '';
150+ installPhase = "echo $nativeBuildInputs $buildInputs > $out";
151+ LANG = "en_US.UTF-8";
152+ LOCALE_ARCHIVE = lib.optionalString (stdenv.hostPlatform.libc == "glibc") "${glibcLocales}/lib/locale/locale-archive";
178153
179154 # This helps tools like `ghcide` (that use the ghc api) to find
180155 # the correct global package DB.
changelog.md−96
@@ -1,102 +1,6 @@
11This file contains a summary of changes to Haskell.nix and `nix-tools`
22that will impact users.
33
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
62−* Add `.dwarf` to build any component with DWARF dubug info on linux
63− (ghc >=8.10.2).
64−* Pass `enableDWARF` to `shellFor` for to get a shell where all the
65− components are the `.dwarf` ones.
66−
67−## Feb 18, 2021
68−* `ghcOptions` has been moved from package and is now a list of strings.
69− old: packages.x.package.ghcOptions = "someGHCoption";
70− new: packages.x.ghcOptions = ["someGHCoption"];
71− To specify ghcOptions for all packages:
72− ghcOptions = ["someGHCoption"];
73− For a single component:
74− packages.x.compoents.library.ghcOptions = ["someGHCoption"];
75−
76−## Feb 8, 2021
77−* Removed older versions of haskell-language-server from custom-tools
78− (0.8.0 is in hackage so we can still get that version).
79−
80−## Jan 14, 2021
81−* Added support for cross package refs (with a project). Relative
82− directory references between packages within a project should now
83− work.
84−* Added `includeSiblings` to `cleanSourceWith`. When `true` it
85− prevents the `subDir` arg from causing filtering of other directories.
86−* Added `keepGitDir` to `cleanGit` to allow `.git` directory to be kept
87− (useful for components that use the `githash` package).
88−
89−## Nov 26, 2020
90−* Renamed `otherShells` arg for `shellFor` to `inputsFrom
91−
92−## Nov 25, 2020
93−* The `shellFor` `makeConfigFiles` `ghcWithHoogle` and `ghcWithPackages`
94− functions have been removed from `project.hsPkgs`. Instead access
95− them from `project` itself (e.g. change `p.hsPkgs.shellFor` to `p.shellFor`).
96−* The reflex-platform like `project.shells.ghc` has been removed.
97− If needed, add something like `p // { shells.ghc = p.shellFor {} }`
98− to `shell.nix`.
99−
1004## Nov 24, 2020
1015* Added `${targetPrefix}cabal` wrapper script for running cross
1026 compilers in `shellFor`.
ci-lib.nix+4−4
@@ -1,8 +1,8 @@
1−{
1+let
22 # Generic nixpkgs, use *only* for lib functions that are stable across versions
3− pkgs ? (import ./. {}).pkgs,
4− lib ? pkgs.lib
5−}: rec {
3+ pkgs = import (import ./nix/sources.nix).nixpkgs {};
4+ lib = pkgs.lib;
5+in rec {
66 inherit (import ./dimension.nix) dimension;
77
88 # A filter for removing packages that aren't supported on the current platform
ci.nix+40−61
@@ -4,24 +4,17 @@
44, ifdLevel ? 3
55# Whether or not we are evaluating in restricted mode. This is true in Hydra, but not in Hercules.
66, restrictEval ? false
7−, checkMaterialization ? false
8−, pkgs ? (import ./. {}).pkgs }:
7+, checkMaterialization ? false }:
98 let
10− inherit (import ./ci-lib.nix { inherit pkgs; }) dimension platformFilterGeneric filterAttrsOnlyRecursive;
11− inherit (pkgs.haskell-nix) sources;
9+ inherit (import ./ci-lib.nix) dimension platformFilterGeneric filterAttrsOnlyRecursive;
10+ sources = import ./nix/sources.nix {};
1211 nixpkgsVersions = {
13− "R2111" = "nixpkgs-2111";
14− "R2205" = "nixpkgs-2205";
15− "unstable" = "nixpkgs-unstable";
16− };
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− };
12+ "R1909" = "nixpkgs-1909";
13+ "R2003" = "nixpkgs-2003";
14+ "R2009" = "nixpkgs-2009";
2315 };
2416 compilerNixNames = nixpkgsName: nixpkgs: builtins.mapAttrs (compiler-nix-name: runTests: {
17+ inherit (import ./default.nix { inherit checkMaterialization; }) nixpkgsArgs;
2518 inherit runTests;
2619 }) (
2720 # GHC version to cache and whether to run the tests against them.
@@ -30,61 +23,47 @@
3023 # cabal-install and nix-tools plans. When removing a ghc version
3124 # from here (so that is no longer cached) also remove ./materialized/ghcXXX.
3225 # Update supported-ghc-versions.md to reflect any changes made here.
33− nixpkgs.lib.optionalAttrs (nixpkgsName == "R2111") {
34− ghc865 = false;
35− ghc8107 = true;
36− } // nixpkgs.lib.optionalAttrs (nixpkgsName == "R2205") {
37− ghc865 = false;
38− ghc8107 = true;
39− } // nixpkgs.lib.optionalAttrs (nixpkgsName == "unstable") {
40− ghc865 = false;
41− ghc884 = false; # Native version is used to boot 9.0.1
42− ghc8107 = true;
43− ghc902 = true;
44− ghc924 = true;
26+ {
27+ ghc865 = true;
28+ } // nixpkgs.lib.optionalAttrs (nixpkgsName == "R2003") {
29+ ghc883 = false;
30+ ghc884 = true;
31+ ghc8101 = false;
32+ ghc8102 = true;
33+ ghc8102-experimental = true;
34+ } // nixpkgs.lib.optionalAttrs (nixpkgsName == "R2009") {
35+ ghc8102 = true;
4536 });
46− systems = nixpkgsName: nixpkgs: compiler-nix-name: nixpkgs.lib.genAttrs (
47− nixpkgs.lib.filter (v:
48− # We have less x86_64-darwin build capacity so build fewer GhC versions
49− (v != "x86_64-darwin" || (
50− !__elem compiler-nix-name ["ghc8104" "ghc810420210212" "ghc8105" "ghc8106" "ghc901" "ghc921" "ghc922"]))
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);
37+ systems = nixpkgs: nixpkgs.lib.filterAttrs (_: v: builtins.elem v supportedSystems) {
38+ # I wanted to take these from 'lib.systems.examples', but apparently there isn't one for linux!
39+ linux = "x86_64-linux";
40+ darwin = "x86_64-darwin";
41+ };
6042 crossSystems = nixpkgsName: nixpkgs: compiler-nix-name: system:
6143 # We need to use the actual nixpkgs version we're working with here, since the values
6244 # of 'lib.systems.examples' are not understood between all versions
6345 let lib = nixpkgs.lib;
64− in lib.optionalAttrs (nixpkgsName == "unstable"
65− && ((system == "x86_64-linux" && __elem compiler-nix-name ["ghc865" "ghc884" "ghc8107"])
66− || (system == "x86_64-darwin" && __elem compiler-nix-name ["ghc8107"]))) {
46+ in lib.optionalAttrs (nixpkgsName == "R2003" && (__elem compiler-nix-name ["ghc865" "ghc884"])) {
6747 inherit (lib.systems.examples) ghcjs;
68− } // lib.optionalAttrs (nixpkgsName == "unstable"
69− && ((system == "x86_64-linux" && __elem compiler-nix-name ["ghc8107" "ghc902" "ghc924"])
70− || (system == "x86_64-darwin" && __elem compiler-nix-name []))) { # TODO add ghc versions when we have more darwin build capacity
48+ } // lib.optionalAttrs (system == "x86_64-linux" && (nixpkgsName == "R2009" || (!(__elem compiler-nix-name ["ghc8101" "ghc8102" "ghc8102-experimental"])))) {
49+ # Windows cross compilation is currently broken on macOS
7150 inherit (lib.systems.examples) mingwW64;
72− } // lib.optionalAttrs (system == "x86_64-linux" && nixpkgsName == "unstable" && __elem compiler-nix-name ["ghc8107" "ghc902" "ghc922" "ghc923" "ghc924"]) {
51+ } // lib.optionalAttrs (system == "x86_64-linux") {
7352 # Musl cross only works on linux
7453 # aarch64 cross only works on linux
7554 inherit (lib.systems.examples) musl64 aarch64-multiplatform;
7655 };
77− isDisabled = d: d.meta.disabled or false;
7856in
7957dimension "Nixpkgs version" nixpkgsVersions (nixpkgsName: nixpkgs-pin:
8058 let pinnedNixpkgsSrc = sources.${nixpkgs-pin};
81− evalPackages = import pinnedNixpkgsSrc nixpkgsArgs;
82− in dimension "GHC version" (compilerNixNames nixpkgsName evalPackages) (compiler-nix-name: {runTests}:
83− dimension "System" (systems nixpkgsName evalPackages compiler-nix-name) (systemName: system:
59+ # We need this for generic nixpkgs stuff at the right version
60+ genericPkgs = import pinnedNixpkgsSrc {};
61+ in dimension "GHC version" (compilerNixNames nixpkgsName genericPkgs) (compiler-nix-name: {nixpkgsArgs, runTests}:
62+ dimension "System" (systems genericPkgs) (systemName: system:
8463 let pkgs = import pinnedNixpkgsSrc (nixpkgsArgs // { inherit system; });
85− build = import ./build.nix { inherit pkgs evalPackages ifdLevel compiler-nix-name; };
64+ build = import ./build.nix { inherit pkgs ifdLevel compiler-nix-name; };
8665 platformFilter = platformFilterGeneric pkgs system;
87− in filterAttrsOnlyRecursive (_: v: platformFilter v && !(isDisabled v)) ({
66+ in filterAttrsOnlyRecursive (_: v: platformFilter v) {
8867 # Native builds
8968 # TODO: can we merge this into the general case by picking an appropriate "cross system" to mean native?
9069 native = pkgs.recurseIntoAttrs ({
@@ -93,16 +72,16 @@ dimension "Nixpkgs version" nixpkgsVersions (nixpkgsName: nixpkgs-pin:
9372 } // pkgs.lib.optionalAttrs runTests {
9473 inherit (build) tests tools maintainer-scripts maintainer-script-cache;
9574 } // pkgs.lib.optionalAttrs (ifdLevel >= 1) {
96− iserv-proxy = pkgs.ghc-extra-projects."${compiler-nix-name}".getComponent "iserv-proxy:exe:iserv-proxy";
75+ iserv-proxy = pkgs.ghc-extra-packages."${compiler-nix-name}".iserv-proxy.components.exes.iserv-proxy;
9776 } // 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";
77+ hello = (pkgs.haskell-nix.hackage-package { name = "hello"; version = "1.0.0.2"; inherit compiler-nix-name; }).components.exes.hello;
9978 });
10079 }
10180 //
102− dimension "Cross system" (crossSystems nixpkgsName evalPackages compiler-nix-name system) (crossSystemName: crossSystem:
81+ dimension "Cross system" (crossSystems nixpkgsName genericPkgs compiler-nix-name system) (crossSystemName: crossSystem:
10382 # Cross builds
10483 let pkgs = import pinnedNixpkgsSrc (nixpkgsArgs // { inherit system crossSystem; });
105− build = import ./build.nix { inherit pkgs evalPackages ifdLevel compiler-nix-name; };
84+ build = import ./build.nix { inherit pkgs ifdLevel compiler-nix-name; };
10685 in pkgs.recurseIntoAttrs (pkgs.lib.optionalAttrs (ifdLevel >= 1) ({
10786 roots = pkgs.haskell-nix.roots' compiler-nix-name ifdLevel;
10887 ghc = pkgs.buildPackages.haskell-nix.compiler."${compiler-nix-name}";
@@ -115,12 +94,12 @@ dimension "Nixpkgs version" nixpkgsVersions (nixpkgsName: nixpkgs-pin:
11594 inherit (build) tests;
11695 }) // pkgs.lib.optionalAttrs (ifdLevel >= 2 && crossSystemName != "ghcjs") {
11796 # GHCJS builds its own template haskell runner.
118− remote-iserv = pkgs.ghc-extra-projects."${compiler-nix-name}".getComponent "remote-iserv:exe:remote-iserv";
119− iserv-proxy = pkgs.ghc-extra-projects."${compiler-nix-name}".getComponent "iserv-proxy:exe:iserv-proxy";
97+ remote-iserv = pkgs.ghc-extra-packages."${compiler-nix-name}".remote-iserv.components.exes.remote-iserv;
98+ iserv-proxy = pkgs.ghc-extra-packages."${compiler-nix-name}".iserv-proxy.components.exes.iserv-proxy;
12099 } // pkgs.lib.optionalAttrs (ifdLevel >= 3) {
121− hello = (pkgs.haskell-nix.hackage-package { name = "hello"; version = "1.0.0.2"; inherit compiler-nix-name; }).getComponent "exe:hello";
100+ hello = (pkgs.haskell-nix.hackage-package { name = "hello"; version = "1.0.0.2"; inherit compiler-nix-name; }).components.exes.hello;
122101 })
123− ))
102+ )
124103 )
125104 )
126105)
compiler/bootstrap/cabal-install.nix+2−2
@@ -1,4 +1,4 @@
1−{ fetchurl, hackage, stdenv, lib, ghc, zlib, src, version }:
1+{ fetchurl, hackage, stdenv, ghc, zlib, src, version }:
22let dependencies =
33 [ { name = "deepseq"; version = "1.4.3.0"; }
44 { name = "binary"; version = "0.8.5.1"; }
@@ -42,7 +42,7 @@ in stdenv.mkDerivation ({
4242 };
4343
4444 meta = {
45− platforms = lib.platforms.all;
45+ platforms = stdenv.lib.platforms.all;
4646 };
4747
4848 nativeBuildInputs = [ ghc zlib ];
compiler/ghc/configured-src.nixnew file+116
@@ -0,0 +1,116 @@
1+{ stdenv, fetchurl
2+, ghc-version, 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+, ncurses, targetLibffi, libiconv
13+, disableLargeAddressSpace
14+, buildMK
15+}:
16+stdenv.mkDerivation (rec {
17+
18+ version = ghc-version;
19+ patches = ghc-patches;
20+ name = "${targetPrefix}ghc-${ghc-version}-configured-src";
21+
22+ # Make sure we never relax`$PATH` and hooks support for compatability.
23+ strictDeps = true;
24+
25+ nativeBuildInputs = [
26+ perl autoconf automake m4 python3 sphinx
27+ ghc bootPkgs.alex bootPkgs.happy bootPkgs.hscolour
28+ ] ++ stdenv.lib.optional (patches != []) autoreconfHook;
29+
30+ # For building runtime libs
31+ depsBuildTarget = toolsForTarget;
32+
33+ buildInputs = [ perl bash ] ++ (libDeps hostPlatform);
34+
35+ propagatedBuildInputs = [ targetPackages.stdenv.cc ]
36+ ++ stdenv.lib.optional useLLVM llvmPackages.llvm;
37+
38+ depsTargetTarget = map stdenv.lib.getDev (libDeps targetPlatform);
39+ depsTargetTargetPropagated = map (stdenv.lib.getOutput "out") (libDeps targetPlatform);
40+
41+ postPatch = "patchShebangs .";
42+
43+ src = if src-spec ? file
44+ then src-spec.file
45+ else fetchurl { inherit (src-spec) url sha256; };
46+
47+ # GHC is a bit confused on its cross terminology.
48+ preConfigure = ''
49+ for env in $(env | grep '^TARGET_' | sed -E 's|\+?=.*||'); do
50+ export "''${env#TARGET_}=''${!env}"
51+ done
52+ # GHC is a bit confused on its cross terminology, as these would normally be
53+ # the *host* tools.
54+ export CC="${targetCC}/bin/${targetCC.targetPrefix}cc"
55+ export CXX="${targetCC}/bin/${targetCC.targetPrefix}cxx"
56+ # Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177
57+ export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${stdenv.lib.optionalString targetPlatform.isAarch32 ".gold"}"
58+ export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as"
59+ export AR="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ar"
60+ export NM="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}nm"
61+ export RANLIB="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ranlib"
62+ export READELF="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}readelf"
63+ export STRIP="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}strip"
64+
65+ echo -n "${buildMK}" > mk/build.mk
66+ sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
67+ '' + stdenv.lib.optionalString (!stdenv.isDarwin) ''
68+ export NIX_LDFLAGS+=" -rpath $out/lib/${targetPrefix}ghc-${version}"
69+ '' + stdenv.lib.optionalString stdenv.isDarwin ''
70+ export NIX_LDFLAGS+=" -no_dtrace_dof"
71+ '' + stdenv.lib.optionalString targetPlatform.useAndroidPrebuilt ''
72+ 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
73+ '' + stdenv.lib.optionalString targetPlatform.isMusl ''
74+ echo "patching llvm-targets for musl targets..."
75+ echo "Cloning these existing '*-linux-gnu*' targets:"
76+ grep linux-gnu llvm-targets | sed 's/^/ /'
77+ echo "(go go gadget sed)"
78+ sed -i 's,\(^.*linux-\)gnu\(.*\)$,\0\n\1musl\2,' llvm-targets
79+ echo "llvm-targets now contains these '*-linux-musl*' targets:"
80+ grep linux-musl llvm-targets | sed 's/^/ /'
81+
82+ echo "And now patching to preserve '-musleabi' as done with '-gnueabi'"
83+ # (aclocal.m4 is actual source, but patch configure as well since we don't re-gen)
84+ for x in configure aclocal.m4; do
85+ substituteInPlace $x \
86+ --replace '*-android*|*-gnueabi*)' \
87+ '*-android*|*-gnueabi*|*-musleabi*)'
88+ done
89+ '';
90+
91+ configurePlatforms = [ "build" "host" "target" ];
92+ # `--with` flags for libraries needed for RTS linker
93+ configureFlags = [
94+ "--datadir=$doc/share/doc/ghc"
95+ "--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib"
96+ ] ++ stdenv.lib.optionals (targetLibffi != null) ["--with-system-libffi" "--with-ffi-includes=${targetLibffi.dev}/include" "--with-ffi-libraries=${targetLibffi.out}/lib"
97+ ] ++ stdenv.lib.optional (!enableIntegerSimple) [
98+ "--with-gmp-includes=${targetGmp.dev}/include" "--with-gmp-libraries=${targetGmp.out}/lib"
99+ ] ++ stdenv.lib.optional (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) [
100+ "--with-iconv-includes=${libiconv}/include" "--with-iconv-libraries=${libiconv}/lib"
101+ ] ++ stdenv.lib.optionals (targetPlatform != hostPlatform) [
102+ "--enable-bootstrap-with-devel-snapshot"
103+ ] ++ stdenv.lib.optionals (disableLargeAddressSpace) [
104+ "--disable-large-address-space"
105+ ] ++ stdenv.lib.optionals (targetPlatform.isAarch32) [
106+ "CFLAGS=-fuse-ld=gold"
107+ "CONF_GCC_LINKER_OPTS_STAGE1=-fuse-ld=gold"
108+ "CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold"
109+ ] ;
110+
111+ outputs = [ "out" ];
112+ phases = [ "unpackPhase" "patchPhase" ]
113+ ++ stdenv.lib.optional (ghc-patches != []) "autoreconfPhase"
114+ ++ [ "configurePhase" "installPhase" ];
115+ installPhase = "cp -r . $out";
116+})
compiler/ghc/default.nix+93−275
@@ -3,19 +3,15 @@
33# haskell.nix ships its own version of the ghc expression as it needs more
44# control over the expression to isolate it against varying <nixpkgs> and
55# allow us to customize it to the way haskell.nix works.
6−let self =
7−{ stdenv, lib, haskell-nix, targetPackages
6+{ stdenv, haskell-nix, targetPackages
87
98# build-tools
109, bootPkgs
11−, buildPackages
12−, autoconf, automake, coreutils, fetchurl, fetchpatch, perl, python3, m4, sphinx, numactl, elfutils
10+, autoconf, automake, coreutils, fetchurl, fetchpatch, perl, python3, m4, sphinx, numactl
1311, autoreconfHook
1412, bash
1513
16−, libiconv ? null
17−
18−, ncurses # TODO remove this once the cross compilers all work without
14+, libiconv ? null, ncurses
1915
2016, installDeps
2117
@@ -30,10 +26,7 @@ let self =
3026
3127, # If enabled, GHC will be built with the GPL-free but slower integer-simple
3228 # library instead of the faster but GPLed integer-gmp library.
33− 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)
29+ enableIntegerSimple ? !(stdenv.lib.any (stdenv.lib.meta.platformMatch stdenv.hostPlatform) gmp.meta.platforms), gmp
3730
3831, # If enabled, use -fPIC when compiling static libs.
3932 enableRelocatedStaticLibs ? stdenv.targetPlatform != stdenv.hostPlatform && !stdenv.targetPlatform.isAarch32
@@ -44,18 +37,12 @@ let self =
4437
4538, enableLibraryProfiling ? true
4639
47−, enableDWARF ? false
48−
49−, enableTerminfo ?
50− # Terminfo does not work on older ghc cross arm and windows compilers
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
40+, # Whether to build terminfo. Musl fails to build terminfo as ncurses seems to be linked to glibc
41+ enableTerminfo ? !stdenv.targetPlatform.isWindows && !stdenv.targetPlatform.isMusl
5542
5643, # What flavour to build. An empty string indicates no
5744 # specific flavour and falls back to ghc default values.
58− ghcFlavour ? lib.optionalString haskell-nix.haskellLib.isCrossTarget (
45+ ghcFlavour ? stdenv.lib.optionalString haskell-nix.haskellLib.isCrossTarget (
5946 if useLLVM
6047 then "perf-cross"
6148 else "perf-cross-ncg"
@@ -66,19 +53,14 @@ let self =
6653 disableLargeAddressSpace ? stdenv.targetPlatform.isDarwin && stdenv.targetPlatform.isAarch64
6754
6855, ghc-version ? src-spec.version
69−, ghc-version-date ? null
7056, src-spec
7157, ghc-patches ? []
7258
7359# extra values we want to have available as passthru values.
7460, extra-passthru ? {}
75−}@args:
76−
77−assert !(enableIntegerSimple || enableNativeBignum) -> gmp != null;
61+}:
7862
79−# Early check to make sure only one of these is enabled
80−assert enableNativeBignum -> !enableIntegerSimple;
81−assert enableIntegerSimple -> !enableNativeBignum;
63+assert !enableIntegerSimple -> gmp != null;
8264
8365let
8466 inherit (stdenv) buildPlatform hostPlatform targetPlatform;
@@ -86,17 +68,6 @@ let
8668
8769 inherit (bootPkgs) ghc;
8870
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−
10071 # TODO check if this possible fix for segfaults works or not.
10172 targetLibffi =
10273 # on native platforms targetPlatform.{libffi, gmp} do not exist; thus fall back
@@ -109,12 +80,8 @@ let
10980
11081 targetGmp = targetPackages.gmp or gmp;
11182
112− targetIconv = targetPackages.libiconv or libiconv;
113−
114− targetNumactl = targetPackages.numactl or numactl;
115−
11683 # TODO(@Ericson2314) Make unconditional
117− targetPrefix = lib.optionalString
84+ targetPrefix = stdenv.lib.optionalString
11885 (targetPlatform != hostPlatform)
11986 "${targetPlatform.config}-";
12087
@@ -124,67 +91,68 @@ let
12491 include mk/flavours/\$(BuildFlavour).mk
12592 endif
12693 DYNAMIC_GHC_PROGRAMS = ${if enableShared then "YES" else "NO"}
127− '' + bignumSpec + ''
128− EXTRA_HADDOCK_OPTS += --quickjump --hyperlinked-source
129− '' + lib.optionalString (targetPlatform != hostPlatform) ''
94+ INTEGER_LIBRARY = ${if enableIntegerSimple then "integer-simple" else "integer-gmp"}
95+ '' + stdenv.lib.optionalString (targetPlatform != hostPlatform) ''
13096 CrossCompilePrefix = ${targetPrefix}
131− '' + lib.optionalString isCrossTarget ''
97+ '' + stdenv.lib.optionalString isCrossTarget ''
13298 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)) ''
13699 HADDOCK_DOCS = NO
137100 BUILD_SPHINX_HTML = NO
138101 BUILD_SPHINX_PDF = NO
139− '' + lib.optionalString enableRelocatedStaticLibs ''
102+ '' + stdenv.lib.optionalString enableRelocatedStaticLibs ''
140103 GhcLibHcOpts += -fPIC
141104 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 ''
147− GhcLibHcOpts += -g3
148− GhcRtsHcOpts += -g3
149− '' + lib.optionalString targetPlatform.useAndroidPrebuilt ''
105+ '' + stdenv.lib.optionalString targetPlatform.useAndroidPrebuilt ''
150106 EXTRA_CC_OPTS += -std=gnu99
151− '' + lib.optionalString (!enableTerminfo) ''
107+ '' + stdenv.lib.optionalString (!enableTerminfo) ''
152108 WITH_TERMINFO=NO
153109 ''
154110 # musl doesn't have a system-linker. Only on x86, and on x86 we need it, as
155111 # our elf linker for x86_64 is broken.
156− + lib.optionalString (targetPlatform.isAndroid || (targetPlatform.isMusl && !targetPlatform.isx86)) ''
112+ + stdenv.lib.optionalString (targetPlatform.isMusl && !targetPlatform.isx86) ''
157113 compiler_CONFIGURE_OPTS += --flags=-dynamic-system-linker
158114 ''
159115 # While split sections are now enabled by default in ghc 8.8 for windows,
160116 # the seem to lead to `too many sections` errors when building base for
161117 # 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) ''
118+ + stdenv.lib.optionalString targetPlatform.isWindows ''
166119 SplitSections = NO
167− '' + lib.optionalString (!enableLibraryProfiling) ''
120+ '' + stdenv.lib.optionalString (!enableLibraryProfiling) ''
168121 BUILD_PROF_LIBS = NO
169122 '';
170123
171124 # Splicer will pull out correct variations
172− libDeps = platform: lib.optional enableTerminfo [ targetPackages.ncurses targetPackages.ncurses.dev ]
125+ libDeps = platform: stdenv.lib.optional enableTerminfo [ ncurses ]
173126 ++ [targetLibffi]
174− ++ lib.optional (!enableIntegerSimple) gmp
175− ++ lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv
176− ++ lib.optional (enableNUMA && platform.isLinux && !platform.isAarch32 && !platform.isAndroid) 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;
127+ ++ stdenv.lib.optional (!enableIntegerSimple) gmp
128+ ++ stdenv.lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv
129+ ++ stdenv.lib.optional (platform.isLinux && !platform.isAarch32) numactl;
179130
180131 toolsForTarget =
181132 if hostPlatform == buildPlatform then
182− [ targetPackages.stdenv.cc ] ++ lib.optional useLLVM llvmPackages.llvm
133+ [ targetPackages.stdenv.cc ] ++ stdenv.lib.optional useLLVM llvmPackages.llvm
183134 else assert targetPlatform == hostPlatform; # build != host == target
184− [ stdenv.cc ] ++ lib.optional useLLVM buildLlvmPackages.llvm;
135+ [ stdenv.cc ] ++ stdenv.lib.optional useLLVM buildLlvmPackages.llvm;
185136
186137 targetCC = builtins.head toolsForTarget;
187138
139+ configured-src = import ./configured-src.nix {
140+ inherit stdenv fetchurl
141+ ghc-version ghc-patches src-spec
142+ targetPrefix
143+ targetPlatform hostPlatform
144+ targetPackages
145+ perl autoconf automake m4 python3 sphinx ghc bootPkgs
146+ autoreconfHook toolsForTarget bash
147+ libDeps
148+ useLLVM llvmPackages
149+ targetCC
150+ enableIntegerSimple targetGmp
151+ ncurses targetLibffi libiconv
152+ disableLargeAddressSpace
153+ buildMK
154+ ;
155+ };
188156in
189157stdenv.mkDerivation (rec {
190158 version = ghc-version;
@@ -192,102 +160,42 @@ stdenv.mkDerivation (rec {
192160
193161 patches = ghc-patches;
194162
195− src = if src-spec ? file
196− then src-spec.file
197− else fetchurl { inherit (src-spec) url sha256; };
163+ # for this to properly work (with inheritance of patches, postPatch, ...)
164+ # this needs to be a function over the values we want to inherit and then called
165+ # accordingly. Most trivial might be to just have args, and mash them into the
166+ # attrset.
167+ src = configured-src;
198168
199169 # configure was run by configured-src already.
200− phases = [ "unpackPhase" "patchPhase" ]
201− ++ lib.optional (ghc-patches != []) "autoreconfPhase"
202− ++ [ "configurePhase" "buildPhase"
170+ phases = [ "unpackPhase" "buildPhase"
203171 "checkPhase" "installPhase"
204172 "fixupPhase"
205173 "installCheckPhase"
206174 "distPhase"
207175 ];
208176
209− # GHC is a bit confused on its cross terminology.
210− preConfigure =
211− # This code is only included when cross compiling as it breaks aarch64-darwin native compilation
212− lib.optionalString (targetPlatform != hostPlatform) ''
213− for env in $(env | grep '^TARGET_' | sed -E 's|\+?=.*||'); do
214− export "''${env#TARGET_}=''${!env}"
215− done
216− # GHC is a bit confused on its cross terminology, as these would normally be
217− # the *host* tools.
218− export CC="${targetCC}/bin/${targetCC.targetPrefix}cc"
219− export CXX="${targetCC}/bin/${targetCC.targetPrefix}cxx"
220− # Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177
221− export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${lib.optionalString targetPlatform.isAarch32 ".gold"}"
222− export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as"
223− export AR="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ar"
224− export NM="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}nm"
225− export RANLIB="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ranlib"
226− export READELF="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}readelf"
227− export STRIP="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}strip"
228− '' + ''
229− echo -n "${buildMK}" > mk/build.mk
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− ];
177+ # ghc hardcodes the TOP dir during config, this breaks when
178+ # splitting the configured src from the build process.
179+ postUnpack = ''
180+ (cd $sourceRoot
181+ TOP=$(cat mk/config.mk|grep ^TOP|awk -F\ '{ print $3 }')
182+ PREFIX=$(cat mk/install.mk|grep ^prefix|awk -F\ '{ print $3 }')
183+
184+ # these two are required
185+ substituteInPlace mk/config.mk --replace "$TOP" "$PWD" \
186+ --replace "$PREFIX" "$out"
187+
188+ substituteInPlace mk/install.mk --replace "$TOP" "$PWD" \
189+ --replace "$PREFIX" "$out"
190+
191+ # these two only for convencience.
192+ substituteInPlace config.log --replace "$TOP" "$PWD"\
193+ --replace "$PREFIX" "$out"
194+ substituteInPlace config.status --replace "$TOP" "$PWD"\
195+ --replace "$PREFIX" "$out")
196+
197+
198+ '';
291199
292200 enableParallelBuilding = true;
293201 postPatch = "patchShebangs .";
@@ -303,19 +211,22 @@ stdenv.mkDerivation (rec {
303211 nativeBuildInputs = [
304212 perl autoconf automake m4 python3 sphinx
305213 ghc bootPkgs.alex bootPkgs.happy bootPkgs.hscolour
306− ] ++ lib.optional (patches != []) autoreconfHook;
214+ ] ++ stdenv.lib.optional (patches != []) autoreconfHook;
307215
308216 # For building runtime libs
309217 depsBuildTarget = toolsForTarget;
310218
311219 buildInputs = [ perl bash ] ++ (libDeps hostPlatform);
312220
313− depsTargetTarget = map lib.getDev (libDeps targetPlatform);
314− depsTargetTargetPropagated = map (lib.getOutput "out") (libDeps targetPlatform);
221+ propagatedBuildInputs = [ targetPackages.stdenv.cc ]
222+ ++ stdenv.lib.optional useLLVM llvmPackages.llvm;
223+
224+ depsTargetTarget = map stdenv.lib.getDev (libDeps targetPlatform);
225+ depsTargetTargetPropagated = map (stdenv.lib.getOutput "out") (libDeps targetPlatform);
315226
316227 # required, because otherwise all symbols from HSffi.o are stripped, and
317228 # that in turn causes GHCi to abort
318− stripDebugFlags = [ "-S" ] ++ lib.optional (!targetPlatform.isDarwin) "--keep-file-symbols";
229+ stripDebugFlags = [ "-S" ] ++ stdenv.lib.optional (!targetPlatform.isDarwin) "--keep-file-symbols";
319230
320231 # See #63511 - the only unstripped file is the debug rts which isn't meant to
321232 # be stripped.
@@ -324,21 +235,10 @@ stdenv.mkDerivation (rec {
324235 checkTarget = "test";
325236
326237 hardeningDisable = [ "format" ]
327− ++ lib.optional stdenv.targetPlatform.isAarch32 "pic"
328− ++ lib.optional stdenv.targetPlatform.isMusl "pie";
329−
330− postInstall = lib.optionalString (enableNUMA && targetPlatform.isLinux) ''
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− '' + ''
238+ ++ stdenv.lib.optional stdenv.targetPlatform.isAarch32 "pic"
239+ ++ stdenv.lib.optional stdenv.targetPlatform.isMusl "pie";
240+
241+ postInstall = ''
342242 # Install the bash completion file.
343243 install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc
344244
@@ -349,14 +249,16 @@ stdenv.mkDerivation (rec {
349249 # The ghcprog fixup is for musl (where runhaskell script just needs to point to the correct
350250 # ghc program to work).
351251 sed -i \
352− -e '2i export PATH="$PATH:${lib.makeBinPath [ targetPackages.stdenv.cc.bintools coreutils ]}"' \
252+ -e '2i export PATH="$PATH:${stdenv.lib.makeBinPath [ targetPackages.stdenv.cc.bintools coreutils ]}"' \
353253 -e 's/ghcprog="ghc-/ghcprog="${targetPrefix}ghc-/' \
354254 $i
355255 done
356256
357− # Save generated files for needed when building ghc and ghcjs
257+ # Save generated files for needed when building ghcjs
358258 mkdir -p $generated/includes/dist-derivedconstants/header
359− cp includes/dist-derivedconstants/header/GHCConstantsHaskell*.hs \
259+ cp includes/dist-derivedconstants/header/GHCConstantsHaskellExports.hs \
260+ includes/dist-derivedconstants/header/GHCConstantsHaskellType.hs \
261+ includes/dist-derivedconstants/header/GHCConstantsHaskellWrappers.hs \
360262 $generated/includes/dist-derivedconstants/header
361263 if [[ -f includes/ghcplatform.h ]]; then
362264 cp includes/ghcplatform.h $generated/includes
@@ -365,15 +267,6 @@ stdenv.mkDerivation (rec {
365267 fi
366268 mkdir -p $generated/compiler/stage2/build
367269 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
377270 mkdir -p $generated/rts/build
378271 cp rts/build/config.hs-incl $generated/rts/build || true
379272
@@ -391,19 +284,19 @@ stdenv.mkDerivation (rec {
391284 # Sanity checks for https://github.com/input-output-hk/haskell.nix/issues/660
392285 if ! "$out/bin/${targetPrefix}ghc" --version; then
393286 echo "ERROR: Missing file $out/bin/${targetPrefix}ghc"
394− exit 1
287+ exit 0
395288 fi
396289 if ! "$out/bin/${targetPrefix}ghc-pkg" --version; then
397290 echo "ERROR: Missing file $out/bin/${targetPrefix}ghc-pkg"
398− exit 1
291+ exit 0
399292 fi
400293 if [[ ! -d "$out/lib/${targetPrefix}ghc-${version}" ]]; then
401294 echo "ERROR: Missing directory $out/lib/${targetPrefix}ghc-${version}"
402− exit 1
295+ exit 0
403296 fi
404297 if (( $(ls -1 "$out/lib/${targetPrefix}ghc-${version}" | wc -l) < 30 )); then
405298 echo "ERROR: Expected more files in $out/lib/${targetPrefix}ghc-${version}"
406− exit 1
299+ exit 0
407300 fi
408301 '';
409302
@@ -417,54 +310,10 @@ stdenv.mkDerivation (rec {
417310 # Our Cabal compiler name
418311 haskellCompilerName = "ghc-${version}";
419312
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";
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− });
313+ configured-src = configured-src;
454314
455315 # Used to detect non haskell-nix compilers (accidental use of nixpkgs compilers can lead to unexpected errors)
456316 isHaskellNixCompiler = true;
457−
458− # The same GHC, but with debug enabled (if it can be)
459− dwarf = lib.makeOverridable self (args // {
460− enableDWARF = stdenv.targetPlatform.isLinux
461− && builtins.compareVersions ghc-version "8.10.2" >= 0;
462− });
463−
464− # The same GHC, but without the large (1TB) address space reservation
465− smallAddressSpace = lib.makeOverridable self (args // {
466− disableLargeAddressSpace = true;
467− });
468317 } // extra-passthru;
469318
470319 meta = {
@@ -474,39 +323,8 @@ stdenv.mkDerivation (rec {
474323 inherit (ghc.meta) license platforms;
475324 };
476325
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 {
326+} // stdenv.lib.optionalAttrs targetPlatform.useAndroidPrebuilt {
483327 dontStrip = true;
484328 dontPatchELF = true;
485329 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−});
512−in self
330+})
compiler/ghcjs/ghcjs-src.json+2−2
@@ -1,6 +1,6 @@
11{
22 "url": "https://github.com/ghcjs/ghcjs",
3− "rev": "58ed01e77028108c2b1da10d52cb331788b6a466",
4− "sha256": "1lr3grk5jjm8bvvkndilm06ry1dj7i66k4g27fr009bggdy9q6ws",
3+ "rev": "31a54f7320b1f9700eb6389c2eb2d50c712e8371",
4+ "sha256": "1cj1gfqcj0ygc23xj5gbm0ym9wmh8ini57zlgd6s25avgjbrwga6",
55 "fetchSubmodules": true
66}
compiler/ghcjs/ghcjs.nix+27−48
@@ -1,28 +1,20 @@
11{ pkgs
22, ghcjsSrcJson ? ./ghcjs-src.json
33, ghcjsSrc ? pkgs.buildPackages.fetchgit (builtins.fromJSON (builtins.readFile ghcjsSrcJson))
4−, ghcjsVersion ? "8.6.0.0.10"
4+, ghcjsVersion ? "8.6.0.1"
55, ghcVersion ? "8.6.5"
66, compiler-nix-name ? if builtins.compareVersions ghcjsVersion "8.8.0.0" > 0
77 then "ghc884"
88 else "ghc865"
99, ghc ? pkgs.buildPackages.ghc
10−, overrideBootPackages ? [] # adds if not present, overrides if present.
1110}:
1211let
13− isGhcjs88 = builtins.compareVersions ghcjsVersion "8.8.0.0" >= 0;
14− isGhcjs810 = builtins.compareVersions ghcjsVersion "8.10.0.0" >= 0;
12+ isGhcjs88 = builtins.compareVersions ghcjsVersion "8.8.0.0" > 0;
1513
1614 project = pkgs.buildPackages.haskell-nix.ghcjsProject {
1715 src = ghcjsSrc;
18− inherit ghcjsVersion compiler-nix-name overrideBootPackages;
16+ inherit ghcjsVersion compiler-nix-name;
1917 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 [];
2618# plan-sha256 = "1wy2lr08maxyi7r8jiwf2gj6pdayk5vxxwh42bj4s2gg4035z0yc";
2719# materialized = ../../materialized/ghcjs;
2820 };
@@ -32,25 +24,21 @@ let
3224 all-ghcjs = pkgs.buildPackages.symlinkJoin {
3325 name = "ghcjs-${ghcjsVersion}-symlinked";
3426 paths = [
35− (ghcjs.getComponent "exe:ghcjs-boot")
27+ ghcjs.components.exes.ghcjs
28+ ghcjs.components.exes.ghcjs-pkg
29+ ghcjs.components.exes.ghcjs-boot
30+ ghcjs.components.exes.ghcjs-dumparchive
3631 ] ++ (if isGhcjs88
3732 then [
38− (ghcjs.getComponent "exe:ghcjs")
39− (ghcjs.getComponent "exe:ghcjs-pkg")
40− (ghcjs.getComponent "exe:private-ghcjs-hsc2hs")
41− (ghcjs.getComponent "exe:haddock")
42− (ghcjs.getComponent "exe:ghcjs-dumparchive")
43− (ghcjs.getComponent "exe:private-ghcjs-run")
44− (ghcjs.getComponent "exe:private-ghcjs-unlit")
33+ ghcjs.components.exes.haddock
34+ ghcjs.components.exes.private-ghcjs-run
35+ ghcjs.components.exes.private-ghcjs-unlit
36+ ghcjs.components.exes.private-ghcjs-hsc2hs
4537 ]
4638 else [
47− (ghcjs.getComponent "exe:private-ghcjs-ghcjs")
48− (ghcjs.getComponent "exe:private-ghcjs-ghcjs-pkg")
49− (ghcjs.getComponent "exe:private-ghcjs-run")
50− (ghcjs.getComponent "exe:private-ghcjs-unlit")
51− (ghcjs.getComponent "exe:private-ghcjs-hsc2hs")
52− (ghcjs.getComponent "exe:private-ghcjs-haddock")
53− (ghcjs.getComponent "exe:private-ghcjs-ghcjs-dumparchive")
39+ ghcjs.components.exes.haddock-ghcjs
40+ ghcjs.components.exes.hsc2hs-ghcjs
41+ ghcjs.components.exes.ghcjs-run
5442 ]);
5543 };
5644 libexec = "libexec/${builtins.replaceStrings ["darwin" "i686"] ["osx" "i386"] pkgs.stdenv.buildPlatform.system}-${ghc.name}/ghcjs-${ghcVersion}";
@@ -62,11 +50,10 @@ let
6250 ++ pkgs.lib.optional isGhcjs88 pkgs.buildPackages.procps;
6351 passthru = {
6452 inherit all-ghcjs bundled-ghcjs project;
65− configured-src = project.configured-src + "/ghc";
53+ inherit (project) configured-src;
6654 # Used to detect non haskell-nix compilers (accidental use of nixpkgs compilers can lead to unexpected errors)
6755 isHaskellNixCompiler = true;
6856 } // ghcjs.components.exes;
69− dontUpdateAutotoolsGnuConfigScripts = true;
7057 dontConfigure = true;
7158 dontInstall = true;
7259 buildPhase = ''
@@ -81,26 +68,22 @@ let
8168 lndir ${all-ghcjs}/bin $out/bin
8269 chmod -R +w $out/bin
8370 rm $out/bin/ghcjs-boot
84− cp ${ghcjs.getComponent "exe:ghcjs-boot"}/bin/ghcjs-boot $out/bin
71+ cp ${ghcjs.components.exes.ghcjs-boot}/bin/ghcjs-boot $out/bin
8572 rm $out/bin/haddock
86− cp ${ghcjs.getComponent "exe:haddock"}/bin/haddock $out/bin
73+ cp ${ghcjs.components.exes.haddock}/bin/haddock $out/bin
8774
8875 wrapProgram $out/bin/ghcjs --add-flags "-B$out/lib"
8976 wrapProgram $out/bin/haddock --add-flags "-B$out/lib"
9077 wrapProgram $out/bin/ghcjs-pkg --add-flags "--global-package-db=$out/lib/package.conf.d"
9178 ''
9279 else ''
93− mkdir -p $out
94− lndir ${all-ghcjs} $out
80+ mkdir -p $out/bin
9581 mkdir -p $out/lib/ghcjs-${ghcVersion}
96− rm $out/bin/ghcjs-boot
97− cp ${ghcjs.getComponent "exe:ghcjs-boot"}/bin/ghcjs-boot $out/bin
98− wrapProgram $out/bin/ghcjs-boot --set ghcjs_libexecdir $out/bin
99− mv $out/${libexec}/* $out/bin
82+ lndir ${all-ghcjs}/${libexec} $out/bin
10083
101− wrapProgram $out/bin/private-ghcjs-ghcjs --add-flags "-B$out/lib"
102− wrapProgram $out/bin/private-ghcjs-haddock --add-flags "-B$out/lib"
103− wrapProgram $out/bin/private-ghcjs-ghcjs-pkg --add-flags "--global-package-db=$out/lib/package.conf.d"
84+ wrapProgram $out/bin/ghcjs --add-flags "-B$out/lib/ghcjs-${ghcVersion}"
85+ wrapProgram $out/bin/haddock-ghcjs --add-flags "-B$out/lib/ghcjs-${ghcVersion}"
86+ wrapProgram $out/bin/ghcjs-pkg --add-flags "--global-package-db=$out/lib/ghcjs-${ghcVersion}/package.conf.d"
10487 ''
10588 }
10689 # Avoid timeouts while unix package runs hsc2hs (it does not print anything
@@ -113,21 +96,17 @@ let
11396 fi
11497 done
11598 } &
116− ${
117− # 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)
99+ ${ if isGhcjs88
100+ then
101+ # Unsets NIX_CFLAGS_COMPILE so the osx version of iconv.h is not used by mistake
122102 ''
123− else if isGhcjs88 then ''
124103 env -u NIX_CFLAGS_COMPILE PATH=$out/bin:$PATH \
104+ PYTHON=${pkgs.buildPackages.python3}/bin/python3 \
125105 $out/bin/ghcjs-boot -j1 --with-emsdk=${project.emsdk} --no-prof --no-haddock \
126106 || (echo failed > $TMP/done; false)
127107 ''
128108 else ''
129− env -u NIX_CFLAGS_COMPILE PATH=$out/bin:$PATH \
130− $out/bin/ghcjs-boot -j1 --with-ghcjs-libdir=$out --with-emsdk=${project.emsdk} \
109+ env PATH=$out/bin:$PATH $out/bin/ghcjs-boot -j1 --with-ghcjs-bin $out/bin \
131110 || (echo failed > $TMP/done; false)
132111 ''
133112 }
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/ghcjs88-src.json+2−2
@@ -1,6 +1,6 @@
11{
22 "url": "https://github.com/ghcjs/ghcjs",
3− "rev": "1af48a877fdf1f647a3b81e828a1e61adb0baceb",
4− "sha256": "sha256-B4LFpd1nl96SO6/gsTjkizMGSglMkrujmwgXVjahC68=",
3+ "rev": "1193ead2c760bab1e2ab461458ec771237ccf9b5",
4+ "sha256": "1h7gaq1lhf61b5x693phgpm2z0w393b1sbkxrd9mxzz9xxlyrhkl",
55 "fetchSubmodules": true
66}
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/old-ghc-nix/default.nixnew file+10
@@ -0,0 +1,10 @@
1+{ pkgs ? import <nixpkgs> {} }:
2+let
3+ fetch = jsonFile:
4+ with builtins;
5+ let spec = fromJSON (readFile jsonFile);
6+ in pkgs.fetchgit {
7+ name = "old-ghc-nix";
8+ inherit (spec) sha256 url rev;
9+ };
10+in import (fetch ./old-ghc-nix.json) { inherit pkgs; }
compiler/old-ghc-nix/old-ghc-nix.jsonnew file+7
@@ -0,0 +1,7 @@
1+{
2+ "url": "https://github.com/angerman/old-ghc-nix",
3+ "rev": "2a41a09127f6dc7a6384823d1acd51ba257f95bd",
4+ "date": "2020-06-03T12:50:09+08:00",
5+ "sha256": "1cp6aksb6ldgjb5zyqikyjrjij79n9z7wd86migph0wp19vmszkf",
6+ "fetchSubmodules": false
7+}
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 @@
22 # allow building for windows
33 allowUnsupportedSystem = true;
44 # we want the 64bit wine version
5+ # See overlays/wine.nix as well!
56 wine.build = "wine64";
67 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" ];
711}
812
default.nix+28−29
@@ -1,29 +1,28 @@
1−{...}@args:
2−
3−let
4− nixpkgsSrc =
5− builtins.fetchTarball {
6− url = "https://github.com/NixOS/nixpkgs/archive/110a2c9ebbf5d4a94486854f18a37a938cfacbbb.tar.gz";
7− sha256 = "sha256-leWXLchbAbqOlLT6tju631G40SzQWPqaAXQG3zH1Imw=";
8− };
9− pkgs = args.pkgs or (import nixpkgsSrc {});
10− flake-compat =
11− pkgs.fetchzip {
12− url = "https://github.com/edolstra/flake-compat/archive/5523c47f13259b981c49b26e28499724a5125fd8.tar.gz";
13− sha256 = "sha256-7IySNHriQjzOZ88DDk6VDPf1GoUaOrOeUdukY62o52o=";
14− };
15− self = import flake-compat {
16− # We bypass flake-compat's rootSrc cleaning by evading its detection of this as a git
17− # repo.
18− # This is done for 3 reasons:
19− # * To workaround https://github.com/edolstra/flake-compat/issues/25
20− # * Make `updateMaterilized` scripts work (if filtering is done by `flake-compat`
21− # the `updateMaterilized` scripts will try to update the copy in the store).
22− # * Allow more granular filtering done by the tests (the use of `cleanGit` and `cleanSourceWith`
23− # in `test/default.nix`). If `flake-compat` copies the whole git repo, any change to the
24− # repo causes a change of input for all tests.
25− src = { outPath = ./.; };
26− inherit pkgs;
27− };
28−in self.defaultNix // (self.defaultNix.internal.compat
29−({ system = args.pkgs.system or builtins.currentSystem; } // args))
1+{ checkMaterialization ? false # Allows us to easily switch on materialization checking
2+, system ? builtins.currentSystem
3+, sourcesOverride ? {}
4+, ... }@args: rec {
5+ sources = (import ./nix/sources.nix) // sourcesOverride;
6+ config = import ./config.nix;
7+ overlays = [ allOverlays.combined ] ++ (
8+ if checkMaterialization == true
9+ then [(
10+ final: prev: {
11+ haskell-nix = prev.haskell-nix // {
12+ checkMaterialization = true;
13+ };
14+ }
15+ )]
16+ else []
17+ ) ++ [(
18+ final: prev: {
19+ haskell-nix = prev.haskell-nix // {
20+ inherit overlays;
21+ sources = prev.haskell-nix.sources // sourcesOverride;
22+ };
23+ }
24+ )];
25+ allOverlays = import ./overlays args;
26+ nixpkgsArgs = { inherit config overlays system; };
27+ pkgs = import sources.nixpkgs nixpkgsArgs;
28+}
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/dev/nix-tools-pin.mddeleted−16
@@ -1,16 +0,0 @@
1−## How to update [`nix-tools`](https://github.com/input-output-hk/nix-tools)
2−
3−1. Use niv to update the sources.json:
4−
5− ```
6− niv update nix-tools
7− ```
8−
9−
10−2. If `nix-tools.cabal` or `plan-to-nix` have changed, check the
11− materialized files for each of the compiler nix name in
12− `ls -d materialized/ghc*/nix-tools` with:
13−
14− ```
15− nix-build scripts/check-compiler-materialization --argstr compiler-nix-name ghc884
16− ```
docs/dev/nixpkgs-pin.md+15−7
@@ -1,17 +1,25 @@
11# Haskell.nix Nixpkgs Pin
22
3−Haskell.nix contains several Nixpkgs pins imanaged by `niv` in
4−`nix/sources.json`.
5−
6−These are used in testing various versions of nixpkgs.
3+Haskell.nix contains a Nixpkgs pin in
4+[`nixpkgs/github.json`](https://github.com/input-output-hk/haskell.nix/blob/master/nixpkgs/github.json).
5+This is the version of Nixpkgs used for builds of `nix-tools` and
6+running the tests.
77
88To use haskell.nix the `config` and `overlays` need to be applied to
99Nixpkgs. Users should probably pin a suitable version of nixpkgs, although things might not work for them if their Nixpkgs version is
1010too different.
1111
1212We aim to keep this pin somewhere on a channel of the **Nixpkgs latest
13−stable release**. That is currently 20.09.
13+stable release**. That is currently 19.09.
1414
1515We also execute tests on MacOS (darwin). The darwin channel is usually
16−behind the NixOS channel. So we follow the `nixpkgs-20.09-darwin`
17−channel.
16+behind the NixOS channel. So we choose the `nixpkgs-19.09-darwin`
17+channel:
18+
19+```
20+nix-prefetch-git https://github.com/NixOS/nixpkgs-channels refs/heads/nixpkgs-19.09-darwin
21+```
22+
23+Keep the URL in `github.json` pointing at
24+<https://github.com/NixOS/nixpkgs>. Case matters because the Hydra
25+trusted URL whitelist is case-sensitive.
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
62
73```
84stack-to-nix - a stack to nix converter
@@ -32,7 +28,7 @@ output directory, it will create a basic one with a
3228
3329[cache-issue]: https://github.com/input-output-hk/haskell.nix/issues/57
3430
35−## plan-to-nix
31+# plan-to-nix
3632
3733```
3834plan-to-nix - a stack to nix converter
@@ -69,7 +65,7 @@ these files.
6965 generated, remove `.nix-tools.cache`
7066 (The open issue is [#57][cache-issue]).
7167
72−## cabal-to-nix
68+# cabal-to-nix
7369
7470```
7571Usage: cabal-to-nix FILE.cabal
docs/reference/library.md+12−21
@@ -112,16 +112,16 @@ will be passed to it:
112112
113113# Top-level attributes
114114
115−## project'
115+## project
116116
117117Function that accepts attribute set with a `src` attribute and looks for `stack.yaml` file relative to it.
118118
119−If file exists, it calls [stackProject](#stackproject') function. Otherwise it will call [cabalProject](#cabalproject') function.
119+If file exists, it calls [stackProject](#stackproject) function. Otherwise it will call [cabalProject](#cabalproject) function.
120120
121121**Example**:
122122
123123```nix
124−pkgs.haskell-nix.project' {
124+pkgs.haskell-nix.project {
125125 # 'cleanGit' cleans a source directory based on the files known by git
126126 src = pkgs.haskell-nix.haskellLib.cleanGit {
127127 name = "haskell-nix-project";
@@ -130,7 +130,7 @@ pkgs.haskell-nix.project' {
130130}
131131```
132132
133−## stackProject'
133+## stackProject
134134
135135A function calling [callStackToNix](#callstacktonix) with all arguments.
136136
@@ -142,13 +142,14 @@ Then feeding its result into [mkStackPkgSet](#mkstackpkgset) passing also
142142| Attribute | Type | Description |
143143|-------------------|--------------------------------------------------|----------------------------------------------------------------------------|
144144| `hsPkgs` | Attrset of [Haskell Packages](#haskell-package) | Buildable packages, created from `packages` |
145+| `pkg-set` | Attrset | [`pkgSet`](#package-set) |
145146| `stack-nix` | | `projectNix` attribute of [`callStackToNix`](#callstacktonix) return value |
146147| `shellFor` | Function | [`shellFor`](#shellfor) |
147−| `ghcWithHoogle` | Function | [`ghcWithHoogle`](#ghcwithhoogle) |
148+| `ghcWithHoogle` | Function | [`ghcWithHoogle`](#ghcwithhoogle) |
148149| `ghcWithPackages` | Function | [`ghcWithPackages`](#ghcwithpackages) |
149150
150151
151−## cabalProject'
152+## cabalProject
152153
153154A function calling [callCabalProjectToNix](#callcabalprojecttonix) with all arguments.
154155
@@ -160,21 +161,14 @@ Then feeding its result into [mkCabalProjectPkgSet](#mkcabalprojectpkgset) passi
160161| Attribute | Type | Description |
161162|-------------------|--------------------------------------------------|-----------------------------------------------------------------------------|
162163| `hsPkgs` | Attrset of [Haskell Packages](#haskell-package) | Buildable packages, created from `packages` |
164+| `pkg-set` | Attrset | [`pkgSet`](#package-set) |
163165| `plan-nix` | | `projectNix` attribute of [`callCabalProjectToNix`](#callcabalprojecttonix) return value |
164166| `index-state` | | `index-state` attribute of [`callCabalProjectToNix`](#callcabalprojecttonix) return value |
165167| `shellFor` | Function | [`shellFor`](#shellfor) |
166−| `ghcWithHoogle` | Function | [`ghcWithHoogle`](#ghcwithhoogle) |
168+| `ghcWithHoogle` | Function | [`ghcWithHoogle`](#ghcwithhoogle) |
167169| `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 |
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. |
171170
172−## project, cabalProject and stackProject
173171
174−These versions of the function are the same as project', cabalProject'
175−and stackProject', but `hsPkgs` attributes are also included in the
176−return value directly. That way a package can be referenced as
177−`(project {...}).foo` instead of `(project' {...}).hsPkgs.foo`.
178172
179173## mkStackPkgSet
180174
@@ -410,11 +404,9 @@ Sub-component types identify [components](#component) and are one of:
410404 - `tests`
411405 - `benchmarks`
412406
413−# Project functions
407+# Package-set functions
414408
415−These functions are included in the `project` return values.
416−In the past they also existed within `project.hsPkgs`,
417−but have now been removed from there.
409+These functions exist within the `hsPkgs` package set.
418410
419411## shellFor
420412
@@ -436,8 +428,7 @@ shellFor =
436428| `withHoogle` | Boolean | Whether to build a Hoogle documentation index and provide the `hoogle` command. |
437429| `exactDeps` | Boolean | Prevents the Cabal solver from choosing any package dependency other than what are in the package set. |
438430| `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).
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). |
431+| `otherShells | List | List of other shells to include in this one. The `buildInputs` and `nativeBuildInputs` of each will be included.
441432| `{ ... }` | Attrset | All the other arguments are passed to [`mkDerivation`](https://nixos.org/nixpkgs/manual/#sec-using-stdenv). |
442433
443434**Return value**: a derivation
docs/reference/supported-ghc-versions.md+26−45
@@ -1,49 +1,30 @@
11# Supported GHC Versions
22
3−The following GHC versions are defined in `haskell.nix` (there is a derivation
4−for each, though not all are cached or tested by CI):
5−- 8.4.4
6−- 8.6.{1,2,3,4,5}
7−- 8.8.{1,2,3,4}
8−- 8.10.{1,2,3,4,5}
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−
22−| Nixpkgs version | Nixpkgs pinning | GHC version | `compiler-nix-name` | Tested in CI? |
23−|------------------|--------------------|-------------|-----------------------|---------------|
24−| 21.11 | `nixpkgs-2111` | 8.6.5 | `ghc865` | No |
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 |
3+The following versions of GHC built on the CI servers and should be included
4+in the binary cache (for the default haskell.nix `nixpkgs`).
5+
6+* 8.6.5 `compiler-nix-name = "ghc865";`
7+* 8.8.3 `compiler-nix-name = "ghc883";`
8+* 8.8.4 `compiler-nix-name = "ghc884";`
9+* 8.10.1 `compiler-nix-name = "ghc8101";`
10+* 8.10.2 `compiler-nix-name = "ghc8102";`
11+
12+Full test suite is run against 8.6.5, 8.8.4 and 8.10.2.
3113
3214See [ci.nix](https://github.com/input-output-hk/haskell.nix/blob/master/ci.nix)
33−for the source of truth about what is built and tested (in the off chance this
34−document is out-of-sync with your checkout).
35−
36−See the [getting started guide](../tutorials/getting-started.md) for
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−
42−See
43−[overlays/bootstrap.nix](https://github.com/input-output-hk/haskell.nix/blob/master/overlays/bootstrap.nix)
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−
48−Lastly, see [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.
15+for the list of tested GHC versions.
16+
17+The following GHC versions are not included in CI and will not be cached:
18+
19+* 8.4.4 `compiler-nix-name = "ghc844";`
20+* 8.6.1 `compiler-nix-name = "ghc861";`
21+* 8.6.2 `compiler-nix-name = "ghc862";`
22+* 8.6.3 `compiler-nix-name = "ghc863";`
23+* 8.6.4 `compiler-nix-name = "ghc864";`
24+* 8.8.1 `compiler-nix-name = "ghc881";`
25+* 8.8.2 `compiler-nix-name = "ghc882";`
26+
27+See [overlays/bootstrap.nix](https://github.com/input-output-hk/haskell.nix/blob/master/overlays/bootstrap.nix)
28+for a list of all the valid `compiler-nix-names`.
29+
30+See also: [Instructions on adding new GHC versions](../dev/adding-new-ghc.md).
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/cross-compilation.md+1−1
@@ -90,7 +90,7 @@ executables you must add package overrides to:
9090```nix
9191{
9292 packages.bench.components.exes.bench.configureFlags =
93− lib.optionals stdenv.hostPlatform.isMusl [
93+ stdenv.lib.optionals stdenv.hostPlatform.isMusl [
9494 "--disable-executable-dynamic"
9595 "--disable-shared"
9696 "--ghc-option=-optl=-pthread"
docs/tutorials/development.md+15−23
@@ -34,14 +34,13 @@ themselves. This is what the [`shellFor`][shellFor] function does.
3434
3535```nix
3636# shell.nix
37+{ pkgs ? import <nixpkgs> {} }:
38+
3739let
38− project = import ./default.nix;
40+ hsPkgs = import ./default.nix { inherit pkgs; };
3941in
40− project.shellFor {
41− # ALL of these arguments are optional.
42−
43− # List of packages from the project you want to work on in
44− # the shell (default is all the projects local packages).
42+ hsPkgs.shellFor {
43+ # Include only the *local* packages of your project.
4544 packages = ps: with ps; [
4645 pkga
4746 pkgb
@@ -51,22 +50,15 @@ in
5150 # and provides a "hoogle" command to search the index.
5251 withHoogle = true;
5352
53+ # You might want some extra tools in the shell (optional).
54+
5455 # Some common tools can be added with the `tools` argument
55− tools = {
56− cabal = "3.2.0.0";
57− hlint = "latest"; # Selects the latest version in the hackage.nix snapshot
58− haskell-language-server = "latest";
59− };
56+ tools = { cabal = "3.2.0.0"; hlint = "2.2.11"; };
6057 # See overlays/tools.nix for more details
6158
6259 # Some you may need to get some other way.
63− buildInputs = [ (import <nixpkgs> {}).git ];
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− ];
60+ buildInputs = with pkgs.haskellPackages;
61+ [ ghcid ];
7062
7163 # Prevents cabal from choosing alternate plans, so that
7264 # *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
8577```nix
8678# shell-hoogle.nix
8779let
88− project = import ./default.nix {};
80+ hsPkgs = import ./default.nix {};
8981in
90− project.shellFor {
82+ hsPkgs.shellFor {
9183 packages = ps: [ps.my-package];
9284 withHoogle = true;
9385 }
9486```
9587
96−and run `nix-shell shell-hoogle.nix --run "hoogle server --local"`.
88+and run `nix-shell shell-hoogle.nix --run "hoogle server --local"`.
9789This will open a local Hoogle server at `http://127.0.0.1:8080`.
9890
9991
@@ -108,7 +100,7 @@ selects packages from the larger package set.
108100# shell.nix
109101let
110102 haskellNix = import (builtins.fetchTarball https://github.com/input-output-hk/haskell.nix/archive/master.tar.gz) {};
111− nixpkgs = import haskellNix.sources.nixpkgs haskellNix.nixpkgsArgs;
103+ nixpkgs = import haskellNix.sources.nixpkgs-1909 haskellNix.nixpkgsArgs;
112104 haskell = nixpkgs.haskell-nix;
113105in
114106 haskell.haskellPackages.ghcWithPackages (ps: with ps;
@@ -127,7 +119,7 @@ project.
127119```nix
128120let
129121 haskellNix = import (builtins.fetchTarball https://github.com/input-output-hk/haskell.nix/archive/master.tar.gz) {};
130− nixpkgs = import haskellNix.sources.nixpkgs haskellNix.nixpkgsArgs;
122+ nixpkgs = import haskellNix.sources.nixpkgs-1909 haskellNix.nixpkgsArgs;
131123 haskell = nixpkgs.haskell-nix;
132124in
133125 haskell.snapshots."lts-13.18".alex.components.exes.alex
docs/tutorials/getting-started-flakes.mddeleted−142
@@ -1,142 +0,0 @@
1−# Getting started with flakes
2−
3−This version of the getting started guide is for users who
4−are using [Nix Flakes](https://nixos.wiki/wiki/Flakes).
5−The non flakes version of the guide is [here](getting-started.md).
6−
7−`haskell.nix` can automatically translate your
8−[Cabal](https://cabal.readthedocs.io/en/latest/cabal-project.html)
9−or [Stack](https://docs.haskellstack.org/en/stable/README/#quick-start-guide)
10−project and its dependencies into Nix code.
11−
12−Assuming you have [Nix](https://nixos.org/download.html) installed, you can
13−start setting up your project.
14−
15−## Setting up the binary cache
16−
17−IMPORTANT: you *must* do this or you *will* build several copies of GHC!
18−
19−You can configure Nix to use our binary cache, which is pushed to by CI, so should contain the artifacts that you need.
20−
21−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).
22−
23−```
24−trusted-public-keys = [...] hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ= [...]
25−substituters = [...] https://cache.iog.io [...]
26−```
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).
53−
54−## Scaffolding
55−
56−The following work with `stack.yaml` and `cabal.project` based
57−projects.
58−
59−Add `flake.nix`:
60−
61−```nix
62−{
63− description = "A very basic flake";
64− inputs.haskellNix.url = "github:input-output-hk/haskell.nix";
65− inputs.nixpkgs.follows = "haskellNix/nixpkgs-unstable";
66− inputs.flake-utils.url = "github:numtide/flake-utils";
67− outputs = { self, nixpkgs, flake-utils, haskellNix }:
68− flake-utils.lib.eachSystem [ "x86_64-linux" "x86_64-darwin" ] (system:
69− let
70− overlays = [ haskellNix.overlay
71− (final: prev: {
72− # This overlay adds our project to pkgs
73− helloProject =
74− final.haskell-nix.project' {
75− src = ./.;
76− 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− };
91− })
92− ];
93− pkgs = import nixpkgs { inherit system overlays; inherit (haskellNix) config; };
94− 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 // {
99− # Built by `nix build .`
100− defaultPackage = flake.packages."hello:exe:hello";
101− });
102−}
103−```
104−
105−!!! note "git dependencies"
106− If you have git dependencies in your project, you'll need
107− to [calculate sha256 hashes for them](./source-repository-hashes.md).
108−
109−### Working with a project
110−
111−Top-level attributes are Haskell packages (incl. dependencies) part of your project.
112−
113−To build the library component of a package in the project run:
114−
115−```shell
116−nix build .#your-package-name:lib:your-package-name
117−```
118−
119−There are also other components such as `exe`, `test` and `benchmark`.
120−To build an executable:
121−
122−```shell
123−nix build .#your-package-name:exe:your-exe-name
124−```
125−
126−To use the `devShell` provided by the flake run:
127−
128−```shell
129−nix develop .
130−cabal repl your-package-name:lib:your-package-name
131−cabal build your-package-name
132−```
133−
134−To open a shell for use with `stack` see [the following issue](https://github.com/input-output-hk/haskell.nix/issues/689#issuecomment-643832619).
135−
136−## Going forward
137−
138−Read through [project](../reference/library.md#project) function reference to see how the API works.
139−
140−There are a number of things to explore further in the tutorials section.
141−
142−[haskell.nix]: https://github.com/input-output-hk/haskell.nix
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+26−110
@@ -18,61 +18,10 @@ You need to add the following sections to `/etc/nix/nix.conf` or, if you are a t
1818
1919```
2020trusted-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 [...]
2222```
2323
24−If you're running NixOS, you need to add/update the following in your `/etc/nixos/configuration.nix` files instead.
25−
26−```
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
40−nix.binaryCachePublicKeys = [
41− "hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ="
42−];
43−nix.binaryCaches = [
44− "https://cache.iog.io"
45−];
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−```
70−
71−Then when you want to update to the latest version of haskellNix use:
72−
73−```
74−niv update haskellNix
75−```
24+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).
7625
7726## Scaffolding
7827
@@ -82,28 +31,21 @@ projects.
8231Add `default.nix`:
8332
8433```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
93− haskellNix = import sources.haskellNix {};
94− # If haskellNix is not found run:
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,
100− # 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>'.
102− haskellNix.sources.nixpkgs-unstable
103− # These arguments passed to nixpkgs, include some patches and also
104− # the haskell.nix functionality itself as an overlay.
105− haskellNix.nixpkgsArgs;
106−in pkgs.haskell-nix.project {
34+{ # Fetch the latest haskell.nix and import its default.nix
35+ haskellNix ? import (builtins.fetchTarball "https://github.com/input-output-hk/haskell.nix/archive/master.tar.gz") {}
36+
37+# haskell.nix provides access to the nixpkgs pins which are used by our CI,
38+# hence you will be more likely to get cache hits when using these.
39+# But you can also just use your own, e.g. '<nixpkgs>'.
40+, nixpkgsSrc ? haskellNix.sources.nixpkgs-2003
41+
42+# haskell.nix provides some arguments to be passed to nixpkgs, including some
43+# patches and also the haskell.nix functionality itself as an overlay.
44+, nixpkgsArgs ? haskellNix.nixpkgsArgs
45+
46+# import nixpkgs with overlays
47+, pkgs ? import nixpkgsSrc nixpkgsArgs
48+}: pkgs.haskell-nix.project {
10749 # 'cleanGit' cleans a source directory based on the files known by git
10850 src = pkgs.haskell-nix.haskellLib.cleanGit {
10951 name = "haskell-nix-project";
@@ -135,47 +77,20 @@ To build an executable:
13577nix-build -A your-package-name.components.exes.your-exe-name
13678```
13779
138−To cross compile use the `projectCross` attribute:
139−
140−```
141−nix-build -A projectCross.ghcjs.hsPkgs.your-package-name.components.exes.your-exe-name
142−nix-build -A projectCross.mingwW64.hsPkgs.your-package-name.components.exes.your-exe-name
143−```
144−
145−To open a shell for use with `cabal`, `hlint` and `haskell-language-server` add `shell.nix`:
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:
80+To open a shell for use with `cabal` run:
15881
15982```shell
160−nix-shell
83+nix-shell -A shellFor
16184cabal new-repl your-package-name:library:your-package-name
16285cabal new-build your-package-name
16386```
16487
16588To open a shell for use with `stack` see [the following issue](https://github.com/input-output-hk/haskell.nix/issues/689#issuecomment-643832619).
16689
167−## Using haskell.nix without Niv
168−
169−If you would prefer not to use niv you can replace
170−`sources = import ./nix/sources.nix {};` in the examples with:
171−
172−```nix
173−let sources = {
174− haskellNix = builtins.fetchTarball "https://github.com/input-output-hk/haskell.nix/archive/master.tar.gz";
175− };
176−```
90+### Pinning the [haskell.nix][] version
17791
178−The `fetchTarball` call above will always get the latest version, and is
92+For simplicity's sake we will use `fetchTarball` for the examples in
93+this documentation. This will always get the latest version, and is
17994similar to an auto-updating Nix channel.
18095
18196However, in your own project, you may wish to pin [haskell.nix][] (as
@@ -185,9 +100,10 @@ predictable, and faster (because the fixed version is cached).
185100Straightforward way of doing this is to change the branch name to a revision.
186101
187102```nix
188−let sources = {
189− haskellNix = builtins.fetchTarball "https://github.com/input-output-hk/haskell.nix/archive/f1a94a4c82a2ab999a67c3b84269da78d89f0075.tar.gz";
190− };
103+{ # Fetch a specific haskell.nix and import its default.nix
104+ haskellNix ? import (builtins.fetchTarball "https://github.com/input-output-hk/haskell.nix/archive/f1a94a4c82a2ab999a67c3b84269da78d89f0075.tar.gz") {}
105+
106+...
191107```
192108
193109There are other possible schemes for pinning. See
docs/tutorials/materialization.md+115−99
@@ -2,7 +2,7 @@
22
33## What is materialization?
44
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
66not need to be built (or checked). This allows us to cache the input
77of an IFD (import from derivation).
88
@@ -16,146 +16,143 @@ dependencies of nix-tools for instance).
1616 is not unusual for it to take 5 seconds per project).
1717
1818* 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.
2020
21−* Hydra does not show progress because it does not provide feedback until it
22− has a list of jobs and the list of jobs cannot depend on the Nix expressions
23− being present (although this is often blamed on IFD it would be the same if
24− it wrote out JSON files and read them in)
21+* Hydra does not show progress because it does not provide feedback
22+ until it has a list of jobs and the list of jobs cannot depends
23+ on the nix being present (although this is often blamed on IFD
24+ it would be the same if it wrote out JSON files and read them in)
2525
26−## When is it OK to materialize?
26+## When is it ok to materialize?
2727
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
2929 are happy to manually update it).
3030
31−* You are happy to script something to update the materialized Nix files
32− automatically.
31+* You are happy to script something to update the materialized
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.
3335
34−* You are certain that the IFD you materialize is not `system`-dependent. If it
35− was you'd obtain different Nix expressions depending on which `system` the
36− IFD was evaluated.
36+## How can we materialize the nix files?
3737
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`
4139file that looks like this:
4240
4341```nix
4442let inherit (import ./. {}) sources nixpkgsArgs;
4543 pkgs = import sources.nixpkgs nixpkgsArgs;
4644 hlint = pkgs.haskell-nix.hackage-package {
47− compiler-nix-name = "ghc8102";
45+ compiler-nix-name = "ghc884";
4846 name = "hlint";
4947 version = "2.2.11";
5048 };
51−in hlint
49+in hlint.components.exes.hlint
5250```
5351
5452Building this may result in a lot of output, but if you build
5553it again it should give just:
5654
5755```
58−$ nix-build hlint.nix -A components.exes.hlint
59−trace: No index state specified for hlint, using the latest index state that we know about (2021-01-04T00:00:00Z)!
60−/nix/store/2ybrfmcp79gg75ad4pr1cbxjak70yg8b-hlint-exe-hlint-2.2.11
56+$ nix-build hlint.nix
57+trace: Using latest index state for hlint!
58+trace: Using index-state: 2020-04-15T00:00:00Z for hlint
59+/nix/store/rnfz66v7k8i38c8rsmchzsyqjrmrbdpk-hlint-2.2.11-exe-hlint
6160```
6261
63−To materialize the Nix files we need to take care to pin down the inputs. Stack
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
66−use:
62+To materialize the nix files we need to take care to pin down the
63+inputs. For cabal projects this means we must specify the
64+`index-state` of hackage we want to use:
6765
6866```nix
6967let inherit (import ./. {}) sources nixpkgsArgs;
7068 pkgs = import sources.nixpkgs nixpkgsArgs;
7169 hlint = pkgs.haskell-nix.hackage-package {
72− compiler-nix-name = "ghc8102";
70+ compiler-nix-name = "ghc884";
7371 name = "hlint";
7472 version = "2.2.11";
75− index-state = "2021-01-04T00:00:00Z";
73+ index-state = "2020-04-15T00:00:00Z";
7674 };
77−in hlint
75+in hlint.components.exes.hlint
7876```
7977
80−Now if we build again we get a hint telling use how to calculate a suitable
81−sha256 hash to turn the derivation containing the Nix files into a fixed-output
82−derivation:
78+Now if we build again we get a hint telling use how to
79+calculate a suitable sha256 hash to turn the derivation
80+containing the nix files into a fixed output derivation:
8381
8482```
85−$ nix-build hlint.nix -A components.exes.hlint
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'.
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'.
88−/nix/store/2ybrfmcp79gg75ad4pr1cbxjak70yg8b-hlint-exe-hlint-2.2.11
89−
90−$ nix-build hlint.nix -A project.plan-nix.passthru.calculateMaterializedSha | bash
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'.
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
83+$ nix-build hlint.nix
84+trace: Using index-state: 2020-04-15T00:00:00Z for hlint
85+trace: Get `plan-sha256` with `nix-hash --base32 --type sha256 /nix/store/8z6p4237rin3c6c1lmjwshmj8rdqrhw2-hlint-plan-to-nix-pkgs/`
86+/nix/store/rnfz66v7k8i38c8rsmchzsyqjrmrbdpk-hlint-2.2.11-exe-hlint
87+
88+$ nix-hash --base32 --type sha256 /nix/store/8z6p4237rin3c6c1lmjwshmj8rdqrhw2-hlint-plan-to-nix-pkgs/
89+02hasr27a994sml1fzf8swb716lm6lgixxr53y0gxkhw437xkck4
9490```
9591
96−For a Stack project all occurences of `plan-nix` and `plan-sha256` are replaced
97−by `stack-nix` and `stack-sha256`, respectively. We can add the hash as
98−`plan-sha256`:
92+We can add the hash as `plan-sha256` or (`stack-sha256` for
93+stack projects)
9994
10095```nix
10196let inherit (import ./. {}) sources nixpkgsArgs;
10297 pkgs = import sources.nixpkgs nixpkgsArgs;
10398 hlint = pkgs.haskell-nix.hackage-package {
104− compiler-nix-name = "ghc8102";
99+ compiler-nix-name = "ghc884";
105100 name = "hlint";
106101 version = "2.2.11";
107− index-state = "2021-01-04T00:00:00Z";
108− plan-sha256 = "04hdgqwpaswmyb0ili7fwi6czzihd6x0jlvivw52d1i7wv4gaqy7";
102+ index-state = "2020-04-15T00:00:00Z";
103+ plan-sha256 = "02hasr27a994sml1fzf8swb716lm6lgixxr53y0gxkhw437xkck4";
109104 };
110−in hlint
105+in hlint.components.exes.hlint
111106```
112107
113−Just adding the hash might help reuse of the cached Nix expressions, but Nix
114−will still calculate all the dependencies (which can add seconds to `nix-build`
115−and `nix-shell` commands when no other work is needed) and users who do not yet
116−have the dependencies in their store will have to wait while they are built or
117−downloaded.
108+Just adding the hash might help reuse of the cached nix, but nix will
109+still calculate all the dependencies (which can add seconds to
110+`nix-build` and `nix-shell` commands when no other work is needed)
111+and users who do not yet have the dependencies in their store will have
112+to wait while they are built or downloaded.
118113
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:
120115
121116```
122−$ nix-build hlint.nix -A components.exes.hlint
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'.
124−/nix/store/2ybrfmcp79gg75ad4pr1cbxjak70yg8b-hlint-exe-hlint-2.2.11
117+$ nix-build hlint.nix
118+trace: Using index-state: 2020-04-15T00:00:00Z for hlint
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
125121```
126122
127−To capture the Nix expressions we can do something like:
123+To capture the nix we can do something like:
128124
129125```nix
130126let inherit (import ./. {}) sources nixpkgsArgs;
131127 pkgs = import sources.nixpkgs nixpkgsArgs;
132128 hlint = pkgs.haskell-nix.hackage-package {
133− compiler-nix-name = "ghc8102";
129+ compiler-nix-name = "ghc884";
134130 name = "hlint";
135131 version = "2.2.11";
136− index-state = "2021-01-04T00:00:00Z";
137− plan-sha256 = "04hdgqwpaswmyb0ili7fwi6czzihd6x0jlvivw52d1i7wv4gaqy7";
132+ index-state = "2020-04-15T00:00:00Z";
133+ plan-sha256 = "02hasr27a994sml1fzf8swb716lm6lgixxr53y0gxkhw437xkck4";
138134 materialized = ./hlint.materialized;
139135 };
140−in hlint
136+in hlint.components.exes.hlint
141137```
142138
143−Now we can copy the Nix files needed and build with:
139+Now we can copy the nix files needed and build with:
144140
145141```
146−$ nix-build hlint.nix 2>&1 | grep -om1 '/nix/store/.*-updateMaterialized' | bash
147−$ nix-build hlint.nix -A components.exes.hlint
148−building '/nix/store/wpxsgzl1z4jnhfqzmzg3xxv3ljpmzr5h-hlint-plan-to-nix-pkgs.drv'...
149−/nix/store/2ybrfmcp79gg75ad4pr1cbxjak70yg8b-hlint-exe-hlint-2.2.11
142+$ cp -r /nix/store/8z6p4237rin3c6c1lmjwshmj8rdqrhw2-hlint-plan-to-nix-pkgs hlint.materialized
143+$ nix-build hlint.nix
144+/nix/store/rnfz66v7k8i38c8rsmchzsyqjrmrbdpk-hlint-2.2.11-exe-hlint
150145```
151146
147+We may want to run `chmod -R +w hlint.materialized` as the files copied from the
148+store will be read only.
149+
152150## How can we check `sha256` and `materialized` are up to date?
153151
154152Let's pretend we had to go back to `hlint` version `2.2.10`.
155153We can tell haskell.nix to check the materialization either by:
156154
157155* Removing the materialization files with `rm -rf hlint.materialized`
158−
159156* Temporarily adding `checkMaterialization = true;`
160157
161158If 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:
164161let inherit (import ./. {}) sources nixpkgsArgs;
165162 pkgs = import sources.nixpkgs nixpkgsArgs;
166163 hlint = pkgs.haskell-nix.hackage-package {
167− compiler-nix-name = "ghc8102";
164+ compiler-nix-name = "ghc884";
168165 name = "hlint";
169166 version = "2.2.10";
170− index-state = "2021-01-04T00:00:00Z";
171− plan-sha256 = "04hdgqwpaswmyb0ili7fwi6czzihd6x0jlvivw52d1i7wv4gaqy7";
167+ index-state = "2020-04-15T00:00:00Z";
168+ plan-sha256 = "02hasr27a994sml1fzf8swb716lm6lgixxr53y0gxkhw437xkck4";
172169 materialized = ./hlint.materialized;
173170 checkMaterialization = true;
174171 };
175−in hlint
172+in hlint.components.exes.hlint
176173```
177174
178175This will fail and report the details of what is wrong and how to fix it:
179176
180177```
181−$ nix-build hlint.nix -A components.exes.hlint
178+$ nix-build hlint.nix
182179
183180...
184181
185−Calculated hash for hlint-plan-to-nix-pkgs was not 04hdgqwpaswmyb0ili7fwi6czzihd6x0jlvivw52d1i7wv4gaqy7. New hash is :
186− plan-sha256 = "0jsgdmii0a6b35sd42cpbc83s4sp4fbx8slphzvamq8n9x49i5b6";
187−Materialized nix used for hlint-plan-to-nix-pkgs incorrect. To fix run: /nix/store/6wp0zzal40ls874f5ddpaac7qmii9y4z-updateMaterialized
188−builder for '/nix/store/61a0vginv76w4p9ycyd628pjanav06pl-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
182+Calculated hash for hlint-plan-to-nix-pkgs was not 02hasr27a994sml1fzf8swb716lm6lgixxr53y0gxkhw437xkck4. New hash is :
183+ plan-sha256 = "0zsi3wv92qax33ic4n5dfsqd1r9qam1k75za3c5jqgdxl3hy8vph";
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/a5zmgfjfxahapw0q8hd2da5bg7knqvbx-hlint-plan-to-nix-pkgs.drv' failed with exit code 1
189+error: build of '/nix/store/a5zmgfjfxahapw0q8hd2da5bg7knqvbx-hlint-plan-to-nix-pkgs.drv' failed
190190(use '--show-trace' to show detailed location information)
191191```
192192
193−Checking the materialization requires Nix to do all the work that
194−materialization avoids. So while it might be tempting to leave
195−`checkMaterialization = true` all the time, we would be better off just
196−removing `materialized` and `plan-sha256`.
193+Checking the materialization requires nix to do all the work that materialization
194+avoids. So while it might be tempting to leave `checkMaterialization = true` all
195+the time, we would be better off just removing `materialized` and `plan-sha256`.
197196
198−## How can we update the Nix files with a script?
197+## How can we update the nix files with a script?
199198
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:
201204
202205```nix
203−#!/bin/sh
204−
205−# Output new plan-sha256
206−nix-build hlint.nix -A project.plan-nix.passthru.calculateMaterializedSha | bash
206+let inherit (import ./. {}) sources nixpkgsArgs;
207+ pkgs = import sources.nixpkgs nixpkgsArgs;
208+ hlint = pkgs.haskell-nix.hackage-project {
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+```
207216
208−# Update materialized Nix expressions
209−nix-build hlint.nix 2>&1 | grep -om1 '/nix/store/.*-updateMaterialized' | bash
217+```
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
210222```
211223
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+
212227## Can we skip making a copy and use `materialized = /nix/store/...`?
213228
214229Yes and it gives us the same speed improvement, however:
@@ -216,7 +231,7 @@ Yes and it gives us the same speed improvement, however:
216231* It does not help at all in `restricted-eval` mode (Hydra).
217232
218233* 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).
220235
221236For those reasons it might be best to make a copy instead
222237of using the `/nix/store/...` path directly.
@@ -228,29 +243,30 @@ a non-existing path is now an error:
228243```nix
229244let inherit (import ./. {}) sources nixpkgsArgs;
230245 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;
232247 hlint = pkgs.haskell-nix.hackage-package {
233− compiler-nix-name = "ghc8102";
248+ compiler-nix-name = "ghc884";
234249 name = "hlint";
235250 version = "2.2.11";
236− index-state = "2021-01-04T00:00:00Z";
237− plan-sha256 = "04hdgqwpaswmyb0ili7fwi6czzihd6x0jlvivw52d1i7wv4gaqy7";
251+ index-state = "2020-04-15T00:00:00Z";
252+ plan-sha256 = "02hasr27a994sml1fzf8swb716lm6lgixxr53y0gxkhw437xkck4";
238253 materialized = if __pathExists hlintPlan then hlintPlan else null;
239254 };
240−in hlint
255+in hlint.components.exes.hlint
241256```
242257
243258Running when no building is needed is still slow in restricted evaluation mode.
244259
245260```
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
247−/nix/store/2ybrfmcp79gg75ad4pr1cbxjak70yg8b-hlint-exe-hlint-2.2.11
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
262+trace: Using index-state: 2020-04-15T00:00:00Z for hlint
263+/nix/store/rnfz66v7k8i38c8rsmchzsyqjrmrbdpk-hlint-2.2.11-exe-hlint
248264
249265real 0m4.463s
250266user 0m4.440s
251267sys 0m0.461s
252−$ time nix-build hlint.nix -A components.exes.hlint
253−/nix/store/2ybrfmcp79gg75ad4pr1cbxjak70yg8b-hlint-exe-hlint-2.2.11
268+$ time nix-build hlint.nix
269+/nix/store/rnfz66v7k8i38c8rsmchzsyqjrmrbdpk-hlint-2.2.11-exe-hlint
254270
255271real 0m2.206s
256272user 0m1.665s
docs/tutorials/pkg-map.md+6−32
@@ -3,10 +3,10 @@
33Cabal files may contain dependencies to external non-Haskell
44dependencies via:
55
6−* [`build-tool-depends`](https://cabal.readthedocs.io/en/latest/cabal-package.html#pkg-field-build-tool-depends)
7−* [`pkgconfig-depends`](https://cabal.readthedocs.io/en/latest/cabal-package.html#pkg-field-pkgconfig-depends)
8−* [`frameworks`](https://cabal.readthedocs.io/en/latest/cabal-package.html#pkg-field-frameworks)
9−* [`extra-libraries`](https://cabal.readthedocs.io/en/latest/cabal-package.html#pkg-field-extra-libraries)
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/developing-packages.html#pkg-field-pkgconfig-depends)
8+* [`frameworks`](https://cabal.readthedocs.io/en/latest/developing-packages.html#pkg-field-frameworks)
9+* [`extra-libraries`](https://cabal.readthedocs.io/en/latest/developing-packages.html#pkg-field-extra-libraries)
1010
1111If there is a `pkgs` attribute in Nixpkgs that matches the name given
1212in the Cabal file, then it will be added as a dependency (see the
@@ -29,39 +29,13 @@ nixpkgs.overlays = [
2929];
3030```
3131
32−### Replace libraries of components
33−
34−If a component is missing a dependency it can be added via modules. For example:
35−
36−``` nix
37−project = pkgs.haskell-nix.project' {
38− src = self;
39− compiler-nix-name = "ghc8102";
40− modules = [{
41− # Replace `extra-libraries` dependencies
42− packages.X11.components.library.libs = pkgs.lib.mkForce (with pkgs.xorg;
43− [ libX11 libXrandr libXext libXScrnSaver libXinerama ]);
44− }];
45−};
46−```
47−
4832### Mapping in Haskell.nix
4933
5034Alternatively, if the name is commonly used, an alias can be added to
5135the Haskell.nix sources, so that it's solved for all users.
5236
53−* [`lib/pkgconf-nixpkgs-map.nix`](https://github.com/input-output-hk/haskell.nix/blob/master/lib/pkgconf-nixpkgs-map.nix)
54− — for `pkgconfig-depends`.
55−
56− Each mapping entry is a list of packages.
57−
58−* [`lib/system-nixpkgs-map.nix`](https://github.com/input-output-hk/haskell.nix/blob/master/lib/system-nixpkgs-map.nix)
59− — for `build-tool-depends`, `frameworks`, `extra-libraries`, etc.
60−
61− Each name can be mapped to:
62− 1. A single package from nixkpgs.
63− 2. `null` — eliminates the dependency
64− 3. A list of packages — sometimes needed for dependencies such as `X11`.
37+* [`lib/pkgconf-nixpkgs-map.nix`](https://github.com/input-output-hk/haskell.nix/blob/master/lib/pkgconf-nixpkgs-map.nix) - for `pkgconfig-depends`
38+* [`lib/system-nixpkgs-map.nix`](https://github.com/input-output-hk/haskell.nix/blob/master/lib/system-nixpkgs-map.nix) - for `build-tool-depends`, `frameworks`, `extra-libraries`, etc.
6539
6640!!! tip "Open a PR"
6741 Please go ahead and open a [pull request](https://github.com/input-output-hk/haskell.nix/pulls)
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+29−143
@@ -1,148 +1,34 @@
11{
22 description = "Alternative Haskell Infrastructure for Nixpkgs";
33
4− inputs = {
5− nixpkgs.follows = "nixpkgs-unstable";
6− nixpkgs-2003 = { url = "github:NixOS/nixpkgs/nixpkgs-20.03-darwin"; };
7− nixpkgs-2105 = { url = "github:NixOS/nixpkgs/nixpkgs-21.05-darwin"; };
8− nixpkgs-2111 = { url = "github:NixOS/nixpkgs/nixpkgs-21.11-darwin"; };
9− nixpkgs-2205 = { url = "github:NixOS/nixpkgs/nixpkgs-22.05-darwin"; };
10− nixpkgs-unstable = { url = "github:NixOS/nixpkgs/nixpkgs-unstable"; };
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− };
61−
62− outputs = { self, nixpkgs, nixpkgs-unstable, nixpkgs-2105, nixpkgs-2111, nixpkgs-2205, flake-utils, ... }@inputs:
63− let compiler = "ghc924";
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−
75− sources = inputs;
4+ outputs = { self }: {
5+ # Using the eval-on-build version here as the plan is that
6+ # `builtins.currentSystem` will not be supported in flakes.
7+ # https://github.com/NixOS/rfcs/pull/49/files#diff-a5a138ca225433534de8d260f225fe31R429
8+ overlay = (self.overlays {sourcesOverride = self.sources;}).combined-eval-on-build;
9+ overlays = import ./overlays;
10+ config = import ./config.nix;
11+ # We can't import ./nix/sources.nix directly, because that uses nixpkgs to fetch by default,
12+ # and importing nixpkgs without specifying localSystem doesn't work on flakes.
13+ sources = let
14+ sourcesInfo =
15+ builtins.fromJSON (builtins.readFile ./nix/sources.json);
16+ fetch = sourceInfo:
17+ builtins.fetchTarball { inherit (sourceInfo) url sha256; };
18+ in builtins.mapAttrs (_: fetch) sourcesInfo;
7619
77− overlaysOverrideable = import ./overlays;
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;
85− # We are overriding 'overlays' and 'nixpkgsArgs' from the
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− };
115−
116− # Note: `nix flake check` evaluates outputs for all platforms, and haskell.nix
117− # uses IFD heavily, you have to have the ability to build for all platforms
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−
125− # FIXME: Currently `nix flake check` requires `--impure` because coverage-golden
126− # (and maybe other tests) import projects that use builtins.currentSystem
127− checks = builtins.listToAttrs (map (pkg: {
128− name = pkg.name;
129− value = pkg;
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−
138− devShell = with self.legacyPackages.${system};
139− mkShell {
140− buildInputs = [
141− nixUnstable
142− cabal-install
143− haskell-nix.compiler.${compiler}
144− haskell-nix.nix-tools.${compiler}
145− ];
146− };
147− });
20+ nixpkgsArgs = {
21+ inherit (self) config;
22+ overlays = [ self.overlay ];
23+ };
24+ legacyPackages = let
25+ genAttrs = lst: f:
26+ builtins.listToAttrs (map (name: {
27+ inherit name;
28+ value = f name;
29+ }) lst);
30+ in genAttrs [ "x86_64-linux" "x86_64-darwin" ] (system:
31+ import self.sources.nixpkgs
32+ (self.nixpkgsArgs // { localSystem = { inherit system; }; }));
33+ };
14834}
hackage-src.json+4−7
@@ -1,10 +1,7 @@
11{
22 "url": "https://github.com/input-output-hk/hackage.nix",
3− "rev": "9bdefa51c864bbef48a2758b05b4b568f0ded62b",
4− "date": "2021-08-06T01:11:48+00:00",
5− "path": "/nix/store/isypgnv4qa5398z6vjc3fi620l4y87c4-hackage.nix-9bdefa5",
6− "sha256": "0pm3m864wwgf76isjwb8244xh8xykc94b5az6zb1h38q30s9xjji",
7− "fetchSubmodules": false,
8− "deepClone": false,
9− "leaveDotGit": false
3+ "rev": "661ededb5510b00f9049add0dfedfbafb321527a",
4+ "date": "2020-11-25T01:12:48+00:00",
5+ "sha256": "1m8d86fa9zknyzljn5fxmyqqj4n1q4761zdg93cipgwf7p4jn8w3",
6+ "fetchSubmodules": false
107}
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-licenses.nix+21−18
@@ -1,21 +1,24 @@
1−pkgs:
2−let licenses = import spdx/licenses.nix pkgs;
3−in licenses // {
1+lib: with lib.licenses;
2+{ BSD-3-Clause = bsd3;
3+ BSD-2-Clause = bsd2;
4+ MIT = mit;
5+ "MPL-2.0" = mpl20;
6+ ISC = isc;
7+ "LGPL-2.1-only" = lgpl21;
8+ "LGPL-3.0-only" = lgpl3;
9+ "GPL-2.0-only" = gpl2;
10+ "GPL-2.0-or-later" = gpl2Plus;
11+ "GPL-3.0-only" = gpl3;
12+ "AGPL-3.0-only" = agpl3;
13+ "AGPL-3.0-or-later" = agpl3Plus;
14+ "Apache-2.0" = asl20;
15+ "GPL-2.0-or-later AND BSD-3-Clause" = [gpl2Plus bsd3];
16+ "NCSA" = ncsa;
417 # Generic
5− LicenseRef-PublicDomain = {
6− spdxId = "LicenseRef-PublicDomain";
7− shortName = "Public Domain";
8− fullName = "This work is dedicated to the Public Domain";
9− url = "https://wikipedia.org/wiki/Public_domain";
10− free = true;
11− };
12− LicenseRef-OtherLicense = {
13− spdxId = "LicenseRef-OtherLicense";
14− shortName = "Other License";
15− fullName = "Unidentified Other License";
16− url = "https://spdx.github.io/spdx-spec/appendix-IV-SPDX-license-expressions/";
17− # Not setting `free` here. The license may or may not be `free`.
18− # See https://github.com/input-output-hk/haskell.nix/pull/1006
19− };
18+ LicenseRef-Apache = "Apache";
19+ LicenseRef-GPL = "GPL";
20+ LicenseRef-LGPL = "LGPL";
21+ LicenseRef-PublicDomain = publicDomain;
22+ LicenseRef-OtherLicense = null;
2023 NONE = null;
2124}
lib/cabal-os-arch-comp.nix+1−1
@@ -43,7 +43,7 @@
4343 isPPC64 = false;
4444 isSparc = false;
4545 isArm = false;
46− isAarch64= false;
46+ isAArch64= false;
4747 isMips = false;
4848 isSH = false;
4949 isIA64 = false;
lib/cabal-project-parser.nix+14−120
@@ -74,21 +74,20 @@ let
7474 # --shar256: 003lm3pm0000hbfmii7xcdd9v20000flxf7gdl2pyxia7p014i8z
7575 # will be trated like a field and returned here
7676 # (used in call-cabal-project-to-nix.nix to create a fixed-output derivation)
77− extractSourceRepoPackageData = cabalProjectFileName: sha256map: repo: {
78− url = repo.location;
79− ref = repo.tag;
80− sha256 = repo."--sha256" or (
81− if sha256map != null
82− then sha256map."${repo.location}"."${repo.tag}"
83− else null);
84− subdirs = if repo ? subdir
85− then pkgs.lib.filter (x: x != "") (pkgs.lib.splitString " " repo.subdir)
86− else ["."];
87− };
77+ extractRepoData = cabalProjectFileName: lookupSha256: repo:
78+ builtins.map (subdir:
79+ {
80+ url = repo.location;
81+ ref = repo.tag;
82+ sha256 = repo."--sha256" or (lookupSha256 repo);
83+ inherit subdir;
84+ })
85+ (if repo ? subdir
86+ then pkgs.lib.filter (x: x != "") (pkgs.lib.splitString " " repo.subdir)
87+ else ["."]);
8888
8989 # 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:
9291 let
9392 x = span (pkgs.lib.strings.hasPrefix " ") (pkgs.lib.splitString "\n" block);
9493 attrs = parseBlockLines x.fst;
@@ -99,115 +98,10 @@ let
9998 otherText = "\nsource-repository-package\n" + block;
10099 }
101100 else {
102− sourceRepo = extractSourceRepoPackageData cabalProjectFileName sha256map attrs;
101+ sourceRepo = extractRepoData cabalProjectFileName lookupSha256 attrs;
103102 otherText = pkgs.lib.strings.concatStringsSep "\n" x.snd;
104103 };
105104
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−
209105in {
210− inherit parseIndexState parseSourceRepositoryPackages parseRepositories
211− # These are only exposed for tests
212− parseSourceRepositoryPackageBlock parseRepositoryBlock;
106+ inherit parseIndexState parseBlockLines parseBlock;
213107}
lib/call-cabal-project-to-nix.nix+79−214
@@ -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:
22let readIfExists = src: fileName:
33 let origSrcDir = src.origSrcSubDir or src;
44 in
@@ -21,6 +21,8 @@ in
2121, caller ? "callCabalProjectToNix" # Name of the calling function for better warning messages
2222, ghc ? null # Deprecated in favour of `compiler-nix-name`
2323, 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
2426, configureArgs ? "" # Extra arguments to pass to `cabal v2-configure`.
2527 # `--enable-tests --enable-benchmarks` are included by default.
2628 # If the tests and benchmarks are not needed and they
@@ -30,59 +32,18 @@ in
3032 # An alternative to adding `--sha256` comments into the
3133 # cabal.project file:
3234 # 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− # = "0dxx8cp2xndpw3jwiawch2dkrkp15mil7pyx7dvd810pwc22pm2q";
36− # # For a `repository` use the `url` as the key
37− # "https://raw.githubusercontent.com/input-output-hk/hackage-overlay-ghcjs/bfc363b9f879c360e0a0460ec0c18ec87222ec32"
38− # = "sha256-g9xGgJqYmiczjxjQ5JOiK5KUUps+9+nlNGI/0SpSOpg=";
39− # };
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 ? {}
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
35+ # { "https://github.com/jgm/pandoc-citeproc"."0.17"
36+ # = "0dxx8cp2xndpw3jwiawch2dkrkp15mil7pyx7dvd810pwc22pm2q"; };
37+, lookupSha256 ?
38+ if sha256map != null
39+ then { location, tag, ...}: sha256map."${location}"."${tag}"
40+ else _: null
41+, extra-hackage-tarballs ? []
6842, ...
6943}@args:
7044
7145let
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};
8446 forName = pkgs.lib.optionalString (name != null) (" for " + name);
85− nameAndSuffix = suffix: if name == null then suffix else name + "-" + suffix;
8647
8748 ghc' =
8849 if ghcOverride != null
@@ -114,13 +75,15 @@ let
11475 ghc = ghc';
11576 subDir' = src.origSubDir or "";
11677 subDir = pkgs.lib.strings.removePrefix "/" subDir';
117−
118− cleanedSource = haskellLib.cleanSourceWith {
119− name = if name != null then "${name}-root-cabal-files" else "source-root-cabal-files";
120− src = src.origSrc or src;
121− filter = path: type: (!(src ? filter) || src.filter path type) && (
122− type == "directory" ||
123− pkgs.lib.any (i: (pkgs.lib.hasSuffix i path)) [ ".cabal" "package.yaml" ]); };
78+ maybeCleanedSource =
79+ if haskellLib.canCleanSource src
80+ then (haskellLib.cleanSourceWith {
81+ name = if name != null then "${name}-root-cabal-files" else "source-root-cabal-files";
82+ src = src.origSrc or src;
83+ filter = path: type: (!(src ? filter) || src.filter path type) && (
84+ type == "directory" ||
85+ pkgs.lib.any (i: (pkgs.lib.hasSuffix i path)) [ ".cabal" "package.yaml" ]); })
86+ else src.origSrc or src;
12487
12588 # Using origSrcSubDir bypasses any cleanSourceWith so that it will work when
12689 # access to the store is restricted. If origSrc was already in the store
@@ -148,9 +111,8 @@ let
148111 then index-state
149112 else if cabalProjectIndexState != null
150113 then cabalProjectIndexState
151− else
152− let latest-index-state = pkgs.lib.last (builtins.attrNames index-state-hashes);
153− in builtins.trace ("No index state specified" + (if name == null then "" else " for " + name) + ", using the latest index state that we know about (${latest-index-state})!") latest-index-state;
114+ else builtins.trace ("Using latest index state" + (if name == null then "" else " for " + name) + "!")
115+ (pkgs.lib.last (builtins.attrNames index-state-hashes));
154116
155117 index-state-pinned = index-state != null || cabalProjectIndexState != null;
156118
@@ -200,104 +162,67 @@ let
200162 builtins.readFile (pkgs.runCommand "hash-path" { preferLocalBuild = true; }
201163 "echo -n $(${pkgs.nix}/bin/nix-hash --type sha256 --base32 ${path}) > $out");
202164
203− replaceSourceRepos = projectFile:
165+ replaceSoureRepos = projectFile:
204166 let
205− fetchPackageRepo = fetchgit: repoData:
167+ fetchRepo = fetchgit: repoData:
206168 let
207169 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
216− then fetchgit { inherit (repoData) url sha256; rev = repoData.ref; }
170+ if repoData.sha256 != null
171+ then fetchgit { inherit (repoData) url sha256; rev = repoData.ref; }
217172 else
218173 let drv = builtins.fetchGit { inherit (repoData) url ref; };
219174 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"
175+ (__trace "Consider adding `--sha256: ${hashPath drv}` to the ${cabalProjectFileName} file or passing in a lookupSha256 argument"
221176 drv);
222− in {
223− # Download the source-repository-package commit and add it to a minimal git
224− # repository that `cabal` will be able to access from a non fixed output derivation.
225− location = evalPackages.runCommand "source-repository-package" {
226− nativeBuildInputs = [ evalPackages.rsync evalPackages.gitMinimal ];
227− } ''
228− mkdir $out
229− rsync -a --prune-empty-dirs "${fetched}/" "$out/"
230− cd $out
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;
177+ in fetched + (if repoData.subdir == "." then "" else "/" + repoData.subdir);
244178
245− # Parse the `repository` blocks
246− repoResult = pkgs.haskell-nix.haskellLib.parseRepositories
247− evalPackages cabalProjectFileName sha256map inputMap cabal-install nix-tools sourceRepoPackageResult.otherText;
179+ blocks = pkgs.lib.splitString "\nsource-repository-package\n" ("\n" + projectFile);
180+ initialText = pkgs.lib.lists.take 1 blocks;
181+ repoBlocks = builtins.map (pkgs.haskell-nix.haskellLib.parseBlock cabalProjectFileName lookupSha256) (pkgs.lib.lists.drop 1 blocks);
182+ sourceRepoData = pkgs.lib.lists.concatMap (x: x.sourceRepo) repoBlocks;
183+ otherText = pkgs.evalPackages.writeText "cabal.project" (pkgs.lib.strings.concatStringsSep "\n" (
184+ initialText
185+ ++ (builtins.map (x: x.otherText) repoBlocks)));
248186
249187 # we need the repository content twice:
250188 # * at eval time (below to build the fixed project file)
251− # Here we want to use evalPackages.fetchgit, so one can calculate
189+ # Here we want to use pkgs.evalPackages.fetchgit, so one can calculate
252190 # the build plan for any target without a remote builder
253191 # * at built time (passed out)
254192 # Here we want to use plain pkgs.fetchgit, which is what a builder
255193 # on the target system would use, so that the derivation is unaffected
256194 # and, say, a linux release build job can identify the derivation
257195 # as built by a darwin builder, and fetch it from a cache
258− sourceReposEval = builtins.map (fetchPackageRepo evalPackages.fetchgit) sourceRepoPackageResult.sourceRepos;
259− sourceReposBuild = builtins.map (x: (fetchPackageRepo pkgs.fetchgit x).fetched) sourceRepoPackageResult.sourceRepos;
196+ sourceReposBuild = builtins.map (fetchRepo pkgs.evalPackages.fetchgit) sourceRepoData ;
197+ sourceReposEval = builtins.map (fetchRepo pkgs.fetchgit) sourceRepoData;
260198 in {
261199 sourceRepos = sourceReposBuild;
262− inherit (repoResult) repos extra-hackages;
263200 makeFixedProjectFile = ''
264− cp -f ${evalPackages.writeText "cabal.project" sourceRepoPackageResult.otherText} ./cabal.project
265− '' +
266− pkgs.lib.optionalString (builtins.length sourceReposEval != 0) (''
201+ cp -f ${otherText} ./cabal.project
267202 chmod +w -R ./cabal.project
268203 # The newline here is important in case cabal.project does not have one at the end
269− echo >> ./cabal.project
204+ printf "\npackages:" >> ./cabal.project
205+ mkdir -p ./.source-repository-packages
270206 '' +
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 (
207+ ( pkgs.lib.strings.concatStrings (
285208 pkgs.lib.lists.zipListsWith (n: f: ''
286− (cd $out${subDir'}
287− substituteInPlace $tmp${subDir'}/dist-newstyle/cache/plan.json --replace file://${f.location} ${builtins.toString n}
288− for a in $(grep -rl file://${f.location} .plan.nix/*.nix); do
289− substituteInPlace $a --replace file://${f.location} ${builtins.toString n}
290− done)
209+ mkdir -p ./.source-repository-packages/${builtins.toString n}
210+ rsync -a --prune-empty-dirs \
211+ --include '*/' --include '*.cabal' --include 'package.yaml' \
212+ --exclude '*' \
213+ "${f}/" "./.source-repository-packages/${builtins.toString n}/"
214+ echo " ./.source-repository-packages/${builtins.toString n}" >> ./cabal.project
291215 '')
292216 (pkgs.lib.lists.range 0 ((builtins.length sourceReposEval) - 1))
293217 sourceReposEval
294− );
218+ )
219+ );
295220 };
296221
297222 fixedProject =
298223 if rawCabalProject == null
299− then { sourceRepos = []; repos = {}; extra-hackages = []; makeFixedProjectFile = ""; replaceLocations = ""; }
300− else replaceSourceRepos rawCabalProject;
224+ then { sourceRepos = []; makeFixedProjectFile = ""; }
225+ else replaceSoureRepos rawCabalProject;
301226
302227 # The use of the actual GHC can cause significant problems:
303228 # * For hydra to assemble a list of jobs from `components.tests` it must
@@ -368,12 +293,12 @@ let
368293 '');
369294
370295 # Dummy `ghc` that uses the captured output
371− dummy-ghc = evalPackages.writeTextFile {
296+ dummy-ghc = pkgs.evalPackages.writeTextFile {
372297 name = "dummy-" + ghc.name;
373298 executable = true;
374299 destination = "/bin/${ghc.targetPrefix}ghc";
375300 text = ''
376− #!${evalPackages.runtimeShell}
301+ #!${pkgs.evalPackages.runtimeShell}
377302 case "$*" in
378303 --version*)
379304 cat ${dummy-ghc-data}/ghc/version
@@ -411,12 +336,12 @@ let
411336 };
412337
413338 # Dummy `ghc-pkg` that uses the captured output
414− dummy-ghc-pkg = evalPackages.writeTextFile {
339+ dummy-ghc-pkg = pkgs.evalPackages.writeTextFile {
415340 name = "dummy-pkg-" + ghc.name;
416341 executable = true;
417342 destination = "/bin/${ghc.targetPrefix}ghc-pkg";
418343 text = ''
419− #!${evalPackages.runtimeShell}
344+ #!${pkgs.evalPackages.runtimeShell}
420345 case "$*" in
421346 --version)
422347 cat ${dummy-ghc-data}/ghc-pkg/version
@@ -444,7 +369,6 @@ let
444369 inherit materialized;
445370 sha256 = plan-sha256;
446371 sha256Arg = "plan-sha256";
447− this = "project.plan-nix" + (if name != null then " for ${name}" else "");
448372 # Before pinning stuff down we need an index state to use
449373 reasonNotSafe =
450374 if !index-state-pinned
@@ -452,55 +376,25 @@ let
452376 else null;
453377 } // pkgs.lib.optionalAttrs (checkMaterialization != null) {
454378 inherit checkMaterialization;
455− }) (evalPackages.runCommand (nameAndSuffix "plan-to-nix-pkgs") {
456− nativeBuildInputs = [ nix-tools dummy-ghc dummy-ghc-pkg cabal-install evalPackages.rsync evalPackages.gitMinimal ];
379+ }) (pkgs.evalPackages.runCommand (if name == null then "plan-to-nix-pkgs" else name + "-plan-to-nix-pkgs") {
380+ nativeBuildInputs = [ nix-tools dummy-ghc dummy-ghc-pkg cabal-install pkgs.evalPackages.rsync ];
457381 # 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";
382+ LOCALE_ARCHIVE = pkgs.lib.optionalString (pkgs.evalPackages.stdenv.buildPlatform.libc == "glibc") "${pkgs.evalPackages.glibcLocales}/lib/locale/locale-archive";
459383 LANG = "en_US.UTF-8";
460384 meta.platforms = pkgs.lib.platforms.all;
461385 preferLocalBuild = false;
462− outputs = [
463− "out" # The results of plan-to-nix
464− # These two output will be present if in cabal configure failed.
465− # They are used to provide passthru.json and passthru.freeze that
466− # check first for cabal configure failure.
467− "maybeJson" # The `plan.json` file generated by cabal and used for `plan-to-nix` input
468− "maybeFreeze" # The `cabal.project.freeze` file created by `cabal v2-freeze`
469− ];
470− passthru =
471− let
472− checkCabalConfigure = ''
473− if [[ -f ${plan-nix}/cabal-configure.out ]]; then
474− cat ${plan-nix}/cabal-configure.out
475− exit 1
476− fi
477− '';
478− in {
479− # These check for cabal configure failure
480− json = evalPackages.runCommand (nameAndSuffix "plan-json") {} ''
481− ${checkCabalConfigure}
482− cp ${plan-nix.maybeJson} $out
483− '';
484− freeze = evalPackages.runCommand (nameAndSuffix "plan-freeze") {} ''
485− ${checkCabalConfigure}
486− cp ${plan-nix.maybeFreeze} $out
487− '';
488− };
386+ outputs = ["out" "json"];
489387 } ''
490388 tmp=$(mktemp -d)
491389 cd $tmp
492− # if cleanedSource is empty, this means it's a new
390+ # if maybeCleanedSource is empty, this means it's a new
493391 # project where the files haven't been added to the git
494392 # repo yet. We fail early and provide a useful error
495393 # message to prevent headaches (#290).
496− if [ -z "$(ls -A ${cleanedSource})" ]; then
497− echo "cleaned source is empty. Did you forget to 'git add -A'?"
498− ${pkgs.lib.optionalString (__length fixedProject.sourceRepos == 0) ''
499− exit 1
500− ''}
501− else
502− cp -r ${cleanedSource}/* .
394+ if [ -z "$(ls -A ${maybeCleanedSource})" ]; then
395+ echo "cleaned source is empty. Did you forget to 'git add -A'?"; exit 1;
503396 fi
397+ cp -r ${maybeCleanedSource}/* .
504398 chmod +w -R .
505399 # Decide what to do for each `package.yaml` file.
506400 for hpackFile in $(find . -name package.yaml); do (
@@ -523,35 +417,28 @@ let
523417 ${pkgs.lib.optionalString (subDir != "") "cd ${subDir}"}
524418 ${fixedProject.makeFixedProjectFile}
525419 ${pkgs.lib.optionalString (cabalProjectFreeze != null) ''
526− cp ${evalPackages.writeText "cabal.project.freeze" cabalProjectFreeze} \
420+ cp ${pkgs.evalPackages.writeText "cabal.project.freeze" cabalProjectFreeze} \
527421 cabal.project.freeze
528− chmod +w cabal.project.freeze
529422 ''}
530423 export SSL_CERT_FILE=${cacert}/etc/ssl/certs/ca-bundle.crt
531424 export GIT_SSL_CAINFO=${cacert}/etc/ssl/certs/ca-bundle.crt
532−
533− # Using `cabal v2-freeze` will configure the project (since
534− # it is not configured yet), taking the existing `cabal.project.freeze`
535− # file into account. Then it "writes out a freeze file which
536− # records all of the versions and flags that are picked" (from cabal docs).
537− echo "Using index-state ${index-state-found}"
538− if(HOME=${
425+ HOME=${
539426 # This creates `.cabal` directory that is as it would have
540427 # been at the time `cached-index-state`. We may include
541428 # some packages that will be excluded by `index-state-found`
542429 # which is used by cabal (cached-index-state >= index-state-found).
543430 dotCabal {
544431 inherit cabal-install nix-tools extra-hackage-tarballs;
545− extra-hackage-repos = fixedProject.repos;
546432 index-state = cached-index-state;
547433 sha256 = index-sha256-found;
548434 }
549− } cabal v2-freeze ${
550− # Setting the desired `index-state` here in case it is not
551− # in the cabal.project file. This will further restrict the
552− # packages used by the solver (cached-index-state >= index-state-found).
553− pkgs.lib.optionalString (index-state != null) "--index-state=${index-state}"
554− } \
435+ } cabal v2-configure \
436+ --index-state=${
437+ # Setting the desired `index-state` here in case it was not
438+ # from the cabal.project file. This will further restrict the
439+ # packages used by the solver (cached-index-state >= index-state-found).
440+ builtins.trace ("Using index-state: ${index-state-found}" + (if name == null then "" else " for " + name))
441+ index-state-found} \
555442 -w ${
556443 # We are using `-w` rather than `--with-ghc` here to override
557444 # the `with-compiler:` in the `cabal.project` file.
@@ -561,14 +448,10 @@ let
561448 --enable-benchmarks \
562449 ${pkgs.lib.optionalString (ghc.targetPrefix == "js-unknown-ghcjs-")
563450 "--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
451+ ${configureArgs}
565452
566453 mkdir -p $out
567454
568− cp cabal.project.freeze $maybeFreeze
569− # Not needed any more (we don't want it to wind up in the $out hash)
570− rm cabal.project.freeze
571−
572455 # ensure we have all our .cabal files (also those generated from package.yaml) files.
573456 # otherwise we'd need to be careful about putting the `cabal-generator = hpack` into
574457 # the nix expression. As we already called `hpack` on all `package.yaml` files we can
@@ -589,44 +472,26 @@ let
589472 # proper relative paths.
590473 (cd $out${subDir'} && plan-to-nix --full --plan-json $tmp${subDir'}/dist-newstyle/cache/plan.json -o .)
591474
592− # Replace the /nix/store paths to minimal git repos with indexes (that will work with materialization).
593− ${fixedProject.replaceLocations}
594−
595475 # 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
476+ cp $tmp${subDir'}/dist-newstyle/cache/plan.json $json
597477
598478 # Remove the non nix files ".project" ".cabal" "package.yaml" files
599479 # as they should not be in the output hash (they may change slightly
600480 # without affecting the nix).
481+ if [ -d $out${subDir'}/.source-repository-packages ]; then
482+ chmod +w -R $out${subDir'}/.source-repository-packages
483+ rm -rf $out${subDir'}/.source-repository-packages
484+ fi
601485 find $out \( -type f -or -type l \) ! -name '*.nix' -delete
602486 # Remove empty dirs
603487 find $out -type d -empty -delete
604488
605489 # move pkgs.nix to default.nix ensure we can just nix `import` the result.
606490 mv $out${subDir'}/pkgs.nix $out${subDir'}/default.nix
607− 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
615− # use `failed-cabal-configure.nix` to make a suitable derviation with.
616− mkdir -p $out${subDir'}
617− cp cabal-configure.out $out${subDir'}
618− cp ${./failed-cabal-configure.nix} $out${subDir'}/default.nix
619−
620− # 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
622− # it is ok to use these files.
623− echo "Cabal configure failed see $out${subDir'}/cabal-configure.out for details" > $maybeJson
624− echo "Cabal configure failed see $out${subDir'}/cabal-configure.out for details" > $maybeFreeze
625− fi
626491 '');
627492in {
628493 projectNix = plan-nix;
629494 index-state = index-state-found;
630495 inherit src;
631− inherit (fixedProject) sourceRepos extra-hackages;
496+ inherit (fixedProject) sourceRepos;
632497}
lib/call-stack-to-nix.nix+18−33
@@ -5,6 +5,7 @@
55 *
66 * see also `call-cabal-project-to-nix`!
77 */
8+{ runCommand, pkgs, mkCacheFile, materialize, haskellLib }:
89{ name ? src.name or null # optional name for better error messages
910, src
1011, stackYaml ? "stack.yaml"
@@ -14,28 +15,17 @@
1415, resolverSha256 ? null
1516, materialized ? null # Location of a materialized copy of the nix files
1617, checkMaterialization ? null # If true the nix files will be generated used to check plan-sha256 and material
17−, nix-tools
18−, evalPackages
19−, ... }@args:
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)
19+, ... }:
2020let
21− inherit (evalPackages) runCommand;
22− inherit (evalPackages.haskell-nix) mkCacheFile materialize haskellLib;
2321 inherit (haskellLib.fetchResolver {
2422 inherit src stackYaml resolverSha256;
2523 }) resolver fetchedResolver;
2624
2725 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−
3626 stackToNixArgs = builtins.concatStringsSep " " [
3727 "--full"
38− "--stack-yaml=$SRC${subDir'}/${stackYaml}"
28+ "--stack-yaml=$SRC/${stackYaml}"
3929 (if ignorePackageYaml then "--ignore-package-yaml" else "")
4030 "-o ."
4131 ];
@@ -44,40 +34,35 @@ let
4434 sha256 = stack-sha256;
4535 sha256Arg = "stack-sha256";
4636 reasonNotSafe = null;
47− this = "project.stack-nix" + (if name != null then " for ${name}" else "");
48− } // evalPackages.lib.optionalAttrs (checkMaterialization != null) {
37+ } // pkgs.lib.optionalAttrs (checkMaterialization != null) {
4938 inherit checkMaterialization;
5039 }) (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 ];
40+ nativeBuildInputs = [ nix-tools pkgs.nix-prefetch-git pkgs.cacert pkgs.xorg.lndir ];
5241 # 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";
42+ LOCALE_ARCHIVE = pkgs.lib.optionalString (pkgs.stdenv.hostPlatform.libc == "glibc") "${pkgs.glibcLocales}/lib/locale/locale-archive";
5443 LANG = "en_US.UTF-8";
5544 LC_ALL = "en_US.UTF-8";
5645 preferLocalBuild = false;
5746 } (''
5847 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}"}
7048 ${
71− # If a resolver was fetched use the it instead of the original stack.yaml
72− evalPackages.lib.optionalString (fetchedResolver != null)
49+ # If no resolver was fetched use the original stack.yaml
50+ if fetchedResolver == null
51+ then ''
52+ SRC=${src}
53+ ''
54+ else
7355 # Replace the resolver path in the stack.yaml with the fetched version
7456 ''
57+ SRC=$(mktemp -d)
58+ cd $SRC
59+ lndir -silent "${src}/." $SRC
7560 rm ${stackYaml}
7661 cp ${src}/${stackYaml} .
7762 chmod +w ${stackYaml}
7863 substituteInPlace ${stackYaml} --replace "${resolver}" "${fetchedResolver}"
7964 ''}
80− ${evalPackages.lib.optionalString (cache != null) ''
65+ ${pkgs.lib.optionalString (cache != null) ''
8166 cp ${mkCacheFile cache}/.stack-to-nix.cache* $out${subDir'}
8267 ''}
8368 (cd $out${subDir'} && stack-to-nix ${stackToNixArgs})
@@ -85,7 +70,7 @@ let
8570 # We need to strip out any references to $src, as those won't
8671 # be accessable in restricted mode.
8772 for nixf in $(find $out -name "*.nix" -type f); do
88− substituteInPlace $nixf --replace "$SRC${subDir'}" "."
73+ substituteInPlace $nixf --replace "$SRC" "."
8974 done
9075
9176 # move pkgs.nix to default.nix ensure we can just nix `import` the result.
lib/check.nix+8−19
@@ -1,4 +1,4 @@
1−{ stdenv, lib, haskellLib }:
1+{ stdenv, lib, haskellLib, srcOnly }:
22drv:
33
44let
@@ -7,25 +7,13 @@ let
77# This derivation can be used to execute test component.
88# The $out of the derivation is a file containing the resulting
99# stdout output.
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− }) // {
10+in stdenv.mkDerivation ({
2711 name = (drv.name + "-check");
2812
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+
2917 passthru = {
3018 inherit (drv) identifier config configFiles executableToolDepends cleanSrc env exeName;
3119 };
@@ -34,12 +22,13 @@ in stdenv.mkDerivation ((
3422
3523 inherit (component) doCheck doCrossCheck;
3624
37− phases = ["unpackPhase" "patchPhase" "buildPhase"];
25+ phases = ["unpackPhase" "buildPhase"];
3826
3927 # If doCheck or doCrossCheck are false we may still build this
4028 # component and we want it to quietly succeed.
4129 buildPhase = ''
4230 mkdir $out
31+
4332 runHook preCheck
4433
4534 ${toString component.testWrapper} ${drv}/bin/${drv.exeName} ${lib.concatStringsSep " " component.testFlags} | tee $out/test-stdout
lib/clean-cabal-component.nix+56−105
@@ -1,55 +1,19 @@
11# Use cleanSourceWith to filter just the files needed for a particular
22# component of the package
3−{ lib, cleanSourceWith }: package: component: componentName: src:
3+{ lib, cleanSourceWith }: package: component: src:
44let
5− srcStr' = src.origSrc or null;
6− subDir = if src.origSubDir or "" == ""
7− then ""
8− else lib.removePrefix "/" src.origSubDir + "/";
9− # Remove a directory for each .. part of a path.
10− removeDotDots = parts: lib.reverseList (
11− builtins.foldl' (a: b:
12− if b == ".."
13− then builtins.tail a
14− else builtins.concatLists [ [b] a ]) [] parts);
5+ srcStr' = src.origSrcSubDir or src.origSrc or null;
156 # Transform
16− # "." -> ""
17− # "./." -> ""
18− # "./xyz" -> "xyz"
19− # "../abc" -> ERROR
20− # "abc/.." -> ""
21− # "abc/../xyz" -> "xyz"
22− # "abc/./xyz" -> "abc/xyz"
23− # "abc/./../xyz" -> "xyz"
24− # "abc/.././xyz" -> "xyz"
25− # "abc/" -> "abc/"
26− normalizeRelativePath = path:
27− let
28− # Split the path into component parts and remove the empty ones and single dots.
29− nonEmptyParts = lib.filter (x: x != "" && x != ".") (lib.splitString "/" path);
30− in lib.concatStringsSep "/" (removeDotDots nonEmptyParts)
31− # Keep the trailing slash if there was one.
32− + (if lib.hasSuffix "/" path then "/" else "");
33− isAbsolutePath = path: lib.hasPrefix "/" path;
34− isRelativePath = path: !(isAbsolutePath path);
35− normalizePath = path:
36− (if isAbsolutePath path
37− then "/"
38− else ""
39− ) + normalizeRelativePath path;
40− combinePaths = a: b:
41− if isAbsolutePath b
42− then b
43− else normalizePath (
44− if a == ""
45− then b
46− else if b == ""
47− then a
48− else a + "/" + b
49− );
50− # Like normalizePath but with a trailing / when needed
51− normalizeDir = dir:
52− let p = normalizePath dir;
7+ # "." -> ""
8+ # "./." -> ""
9+ # "./xyz" -> "xyz"
10+ normalizeRelativePath = rel:
11+ if rel == "." || rel == "./."
12+ then ""
13+ else lib.strings.removePrefix "./" rel;
14+ # Like normalizeRelativePath but with a trailing / when needed
15+ normalizeRelativeDir = dir:
16+ let p = normalizeRelativePath dir;
5317 in if p == "" || p == "/"
5418 then ""
5519 else if lib.hasSuffix "/" p
@@ -61,78 +25,65 @@ in
6125 else
6226 let
6327 srcStr = toString srcStr';
64− dataDir = combinePaths subDir package.dataDir;
65− hsSourceDirs = builtins.map (d: combinePaths subDir d) component.hsSourceDirs
66− ++ (if component.hsSourceDirs == [] then [subDir] else []);
67− includeDirs = builtins.map (d: combinePaths subDir d) component.includeDirs;
68− # paths that will be needed (used to check if a parent dir should be included)
69− dirsNeeded =
70− # These already include subDir
71− [dataDir]
28+ dataDir = normalizeRelativeDir package.dataDir;
29+ hsSourceDirs = builtins.map normalizeRelativeDir component.hsSourceDirs
30+ ++ (if component.hsSourceDirs == [] then [""] else []);
31+ includeDirs = builtins.map normalizeRelativeDir component.includeDirs;
32+ dirsNeeded = [dataDir]
7233 ++ hsSourceDirs
73− ++ includeDirs
74− ++ builtins.map (f: combinePaths dataDir f) package.dataFiles
75− ++ otherSourceFiles
76− ++ builtins.map (d: combinePaths subDir d) (
77− # These need the subDir added
78− package.licenseFiles
79− ++ package.extraSrcFiles
80− ++ component.extraSrcFiles
81− ++ package.extraDocFiles);
34+ ++ includeDirs;
8235 fileMatch = dir: list:
8336 let
84− prefixes = builtins.map (f: combinePaths dir f) (
37+ prefixes = builtins.map (f: dir + f) (
8538 lib.lists.remove null (lib.lists.flatten (
8639 builtins.map (f: builtins.match "([^*]*)[*].*" f) list)));
87− exactMatches = builtins.map (f: combinePaths dir f) (
40+ exactMatches = builtins.map (f: dataDir + f) (
8841 lib.lists.remove null (lib.lists.flatten (
8942 builtins.map (f: builtins.match "([^*]*)" f) list)));
9043 in rPath: lib.any (d: lib.strings.hasPrefix d rPath) prefixes
9144 || lib.any (d: d == rPath) exactMatches;
9245 dataFileMatch = fileMatch dataDir package.dataFiles;
93− licenseMatch = fileMatch subDir package.licenseFiles;
94− extraSrcMatch = fileMatch subDir (
46+ licenseMatch = fileMatch "" package.licenseFiles;
47+ extraSrcMatch = fileMatch "" (
9548 package.extraSrcFiles
9649 ++ component.extraSrcFiles);
97− extraDocMatch = fileMatch subDir package.extraDocFiles;
98− otherSourceFiles = builtins.map (f: combinePaths subDir f) (
50+ extraDocMatch = fileMatch "" package.extraDocFiles;
51+ otherSourceFiles =
9952 component.asmSources
10053 ++ component.cmmSources
10154 ++ component.cSources
10255 ++ component.cxxSources
103− ++ component.jsSources);
56+ ++ component.jsSources;
10457 in cleanSourceWith {
105− name = src.name or "source" + "-${componentName}";
106− subDir = lib.removePrefix "/" (src.origSubDir or "");
107− includeSiblings = true;
108− src = cleanSourceWith {
109− src = src.origSrc or src;
110− filter = path: type:
111− (!(src ? filter) || src.filter path type) && (
112− assert (if !lib.strings.hasPrefix (srcStr + "/") (path + "/")
113− then throw ("Unexpected path " + path + " (expected something in " + srcStr + "/)")
114− else true);
115− let
116− srcStrLen = lib.strings.stringLength srcStr;
117− rPath = lib.strings.substring (srcStrLen + 1) (lib.strings.stringLength path - srcStrLen - 1) path;
118− # This is a handy way to find out why different files are included
119− # traceReason = reason: v: if v then builtins.trace (rPath + " : " + reason) true else false;
120− traceReason = reason: v: v;
121− in
122− traceReason "directory is needed" (
123− lib.any (d: lib.strings.hasPrefix (rPath + "/") d) dirsNeeded)
124− || traceReason "cabal package definition" (lib.strings.hasPrefix subDir rPath
125− && lib.strings.hasSuffix ".cabal" rPath)
126− || traceReason "hpack package defintion" (lib.strings.hasPrefix subDir rPath
127− && rPath == "package.yaml")
128− || traceReason "data file" (lib.strings.hasPrefix dataDir rPath
129− && dataFileMatch rPath)
130− || traceReason "haskell source dir" (lib.any (d: lib.strings.hasPrefix d rPath) hsSourceDirs)
131− || traceReason "include dir" (lib.any (d: lib.strings.hasPrefix d rPath) includeDirs)
132− || traceReason "license file" (licenseMatch rPath)
133− || traceReason "extra source file" (extraSrcMatch rPath)
134− || traceReason "extra doc file" (extraDocMatch rPath)
135− || traceReason "other source file" (lib.any (f: f == rPath) otherSourceFiles)
136− );
137− };
58+ inherit src;
59+ filter = path: type:
60+ assert (if !lib.strings.hasPrefix (srcStr + "/") (path + "/")
61+ then throw ("Unexpected path " + path + " (expected something in " + srcStr + "/)")
62+ else true);
63+ let
64+ srcStrLen = lib.strings.stringLength srcStr;
65+ rPath = lib.strings.substring (srcStrLen + 1) (lib.strings.stringLength path - srcStrLen - 1) path;
66+ # This is a handy way to find out why different files are included
67+ # traceReason = reason: v: if v then builtins.trace (rPath + " : " + reason) true else false;
68+ traceReason = reason: v: v;
69+ in
70+ traceReason "directory is needed" (
71+ lib.any (d: lib.strings.hasPrefix (rPath + "/") d) (
72+ dirsNeeded
73+ ++ package.licenseFiles
74+ ++ package.extraSrcFiles
75+ ++ component.extraSrcFiles
76+ ++ package.extraDocFiles
77+ ++ builtins.map (f: dataDir + f) package.dataFiles
78+ ++ otherSourceFiles))
79+ || traceReason "cabal package definition" (lib.strings.hasSuffix ".cabal" rPath)
80+ || traceReason "hpack package defintion" (rPath == "package.yaml")
81+ || traceReason "data file" (lib.strings.hasPrefix dataDir rPath
82+ && dataFileMatch rPath)
83+ || traceReason "haskell source dir" (lib.any (d: lib.strings.hasPrefix d rPath) hsSourceDirs)
84+ || traceReason "include dir" (lib.any (d: lib.strings.hasPrefix d rPath) includeDirs)
85+ || traceReason "license file" (licenseMatch rPath)
86+ || traceReason "extra source file" (extraSrcMatch rPath)
87+ || traceReason "extra doc file" (extraDocMatch rPath)
88+ || traceReason "other source file" (lib.any (f: f == rPath) otherSourceFiles);
13889 }
lib/clean-git.nix+47−88
@@ -1,6 +1,6 @@
11# From https://github.com/NixOS/nix/issues/2944
22{ lib, runCommand, git, cleanSourceWith }:
3−{ name ? null, src, subDir ? "", includeSiblings ? false, keepGitDir ? false }:
3+{ name ? null, src, subDir ? "" }:
44
55# The function call
66#
@@ -24,6 +24,26 @@ with builtins;
2424# is shared among multiple invocations of gitSource:
2525
2626let
27+ filter_from_list = root: files:
28+ let
29+ all_paren_dirs = p:
30+ if p == "." || p == "/"
31+ then []
32+ else [ p ] ++ all_paren_dirs (dirOf p);
33+
34+ whitelist_set = listToAttrs (
35+ concatMap (p:
36+ # Using `origSrcSubDir` (if present) makes it possible to cleanGit src that
37+ # has already been cleaned with cleanSrcWith.
38+ let full_path = root.origSrcSubDir or (toString root) + "/${p}"; in
39+ map (p': { name = p'; value = true; }) (all_paren_dirs full_path)
40+ ) files
41+ );
42+ in
43+ p: t: hasAttr (toString p) whitelist_set;
44+
45+ has_prefix = prefix: s:
46+ prefix == builtins.substring 0 (builtins.stringLength prefix) s;
2747 remove_prefix = prefix: s:
2848 builtins.substring
2949 (builtins.stringLength prefix)
@@ -64,14 +84,10 @@ then
6484 git_content = lines (readFile (origSrcSubDir + "/.git"));
6585 first_line = head git_content;
6686 prefix = "gitdir: ";
67− ok = length git_content == 1 && lib.hasPrefix prefix first_line;
68− raw_path = remove_prefix prefix first_line;
87+ ok = length git_content == 1 && has_prefix prefix first_line;
6988 in
7089 if ok
71− then
72− if lib.hasPrefix "/" raw_path
73− then /. + raw_path
74− else /. + builtins.toPath (origSrcSubDir + "/" + raw_path)
90+ then /. + remove_prefix prefix first_line
7591 else abort "gitSource.nix: Cannot parse ${origSrcSubDir + "/.git"}";
7692 }));
7793
@@ -91,37 +107,32 @@ then
91107 gitModulesStr = origSrcSubDir + "/.gitmodules";
92108 gitModules = builtins.path { name = "gitmodules"; path = gitModulesStr; };
93109
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 {
99− caller = "cleanGit";
100− name = (if name == null then "" else name + "-") + "gitSubmoduleFiles";
101− inherit src;
102− filter = path: type:
103− elem path pathsNeeded
104− ||
110+ gitSubmoduleFiles = cleanSourceWith {
111+ caller = "cleanGit";
112+ name = (if name == null then "" else name + "-") + "gitSubmoduleFiles";
113+ inherit src;
114+ filter = path: type:
115+ type == "directory" # TODO get sudmodule directories from `.gitmodules`
116+ # and use that to filter directory tree here
117+ ||
118+ lib.any (i: (lib.hasSuffix i path)) [
119+ "/.git" ".gitmodules" ".git/config" ".git/index" ".git/HEAD" ".git/objects" ".git/refs" ] ||
120+ (lib.strings.hasInfix ".git/modules/" path &&
105121 lib.any (i: (lib.hasSuffix i path)) [
106− ".gitmodules" ".git/config" ".git/index" ".git/HEAD" ".git/objects" ".git/refs" ]
107− ||
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;
122+ "config" "index" "HEAD" "objects" "refs" ]);
123+ };
114124
115125 # Make a temporary dir that looks enough like the real thing for
116126 # `git ls-files --recurse-submodules` to give us an accurate list
117127 # of all the files in the index.
118− whitelist_files = knownSubmoduleDirs:
119− runCommand "git-ls-files" { preferLocalBuild = true; } ''
128+ whitelist_file =
129+ runCommand "git-ls-files" {envVariable = true;} ''
120130 tmp=$(mktemp -d)
121131 cd $tmp
122− ${ lib.optionalString hasSubmodules ''
123− cp -ra ${gitSubmoduleFiles knownSubmoduleDirs}/. $tmp
132+ ${ lib.optionalString (!isWorktree && builtins.pathExists gitModulesStr) ''
133+ cp -ra ${gitSubmoduleFiles}/. $tmp
124134 chmod +w -R $tmp
135+ rm -rf .git
125136 ''}
126137 cp -r ${gitDir} .git
127138 chmod +w -R .git
@@ -132,74 +143,22 @@ then
132143 ${ lib.optionalString (isWorktree && builtins.pathExists gitModulesStr) ''
133144 cp ${gitModules} ./.gitmodules
134145 ''}
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
146+ ${git}/bin/git ls-files --recurse-submodules > $out
140147 '';
141148
142− # Find the submodules
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−
167− all_paren_dirs = p:
168− if p == "." || p == "/"
169− then []
170− else [ p ] ++ all_paren_dirs (dirOf p);
171−
172− # All the paths that we need to keep as a set (including parent dirs)
173− whitelist_set = listToAttrs (
174− concatMap (p:
175− # Using `origSrcSubDir` (if present) makes it possible to cleanGit src that
176− # has already been cleaned with cleanSrcWith.
177− let full_path = toString (src.origSrcSubDir or src) + "/${p}"; in
178− map (p': { name = p'; value = true; }) (all_paren_dirs full_path)
179− ) whitelist.files
180− );
181−
182− # Identify files in the `.git` dir
183− isGitDirPath = path:
184− path == origSrcSubDir + "/.git"
185− || lib.hasPrefix (origSrcSubDir + "/.git/") path;
149+ whitelist = lines (readFile (whitelist_file.out));
186150
187− filter = path: type:
188− hasAttr (toString path) whitelist_set
189− || (keepGitDir && isGitDirPath path);
151+ filter = filter_from_list src whitelist;
190152 in
191153 cleanSourceWith {
192154 caller = "cleanGit";
193− inherit name src subDir includeSiblings filter;
194− } // {
195− # For testing
196− # inherit whitelist whitelist_set;
155+ inherit name src subDir filter;
197156 }
198157
199158else
200− trace "haskell-nix.haskellLib.cleanGit: ${origSrcSubDir} does not seem to be a git repository,\nassuming it is a clean checkout." (
159+ trace "gitSource.nix: ${origSrcSubDir} does not seem to be a git repository,\nassuming it is a clean checkout." (
201160 cleanSourceWith {
202161 caller = "cleanGit";
203− inherit name src subDir includeSiblings;
162+ inherit name src subDir;
204163 }
205164 )
lib/clean-source-haskell.nix+15−1
@@ -35,7 +35,21 @@ rec {
3535 src = lib.cleanSource src;
3636 inherit name;
3737 };
38+ # Copy function from 19.09 for compatibility with 19.03.
39+ # Does require at least Nix 2.0.
40+ compat = let
41+ isFiltered = src ? _isLibCleanSourceWith;
42+ origSrc = if isFiltered then src.origSrc else src;
43+ filter' = name: type: haskellSourceFilter name type && lib.cleanSourceFilter name type;
44+ name' = if name != null then name else if isFiltered then src.name else baseNameOf src;
45+ in {
46+ inherit origSrc;
47+ filter = filter';
48+ outPath = builtins.path { filter = filter'; path = origSrc; name = name'; };
49+ _isLibCleanSourceWith = true;
50+ name = name';
51+ };
3852 in
3953 if (builtins.typeOf src) == "path"
40− then clean else src;
54+ then (if lib.versionAtLeast lib.version "19.09" then clean else compat) else src;
4155}
lib/clean-source-with.nix+8−35
@@ -50,33 +50,6 @@
5050 # (and forward a `name` argument) can use this to make
5151 # the message to the use more meaningful.
5252 #
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
8053 cleanSourceWith = { filter ? _path: _type: true, src, subDir ? "", name ? null
8154 , caller ? "cleanSourceWith", includeSiblings ? false }:
8255 let
@@ -130,21 +103,21 @@
130103 __trace (
131104 "WARNING: `${caller}` called on ${toString src} without a `name`. "
132105 + "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));
140106 in {
141107 inherit origSrc origSubDir origSrcSubDir;
142108 filter = filter';
143− outPath = (filterPath { filter = filter'; path = origSrc; name = name'; }) + origSubDir;
109+ outPath = (builtins.path { filter = filter'; path = origSrc; name = name'; }) + origSubDir;
144110 _isLibCleanSourceWithEx = true;
145111 # It is only safe for older cleanSourceWith to filter this one
146112 # if the we are still looking at the root of origSrc
147113 _isLibCleanSourceWith = origSubDir == "";
148114 name = name';
149115 };
116+
117+ pathHasContext = builtins.hasContext or (lib.hasPrefix builtins.storeDir);
118+
119+ canCleanSource = src:
120+ src ? _isLibCleanSourceWithEx
121+ || src ? _isLibCleanSourceWith
122+ || !(pathHasContext (toString src));
150123}
lib/cover-project.nix+56−50
@@ -2,20 +2,25 @@
22# reports
33{ stdenv, pkgs, lib, haskellLib }:
44
5−# haskell.nix project
6−project:
75# List of coverage reports to accumulate
86coverageReports:
97
108let
119 toBashArray = arr: "(" + (lib.concatStringsSep " " arr) + ")";
1210
13− # Create a list element for a project coverage index page.
14− coverageListElement = coverageReport:
11+ # Create table rows for a project coverage index page that look something like:
12+ #
13+ # | Package |
14+ # |------------------|
15+ # | cardano-shell |
16+ # | cardano-launcher |
17+ coverageTableRows = coverageReport:
1518 ''
16− <li>
17− <a href="${coverageReport.passthru.name}/hpc_index.html">${coverageReport.passthru.name}</a>
18− </li>
19+ <tr>
20+ <td>
21+ <a href="${coverageReport.passthru.name}/hpc_index.html">${coverageReport.passthru.name}</href>
22+ </td>
23+ </tr>
1924 '';
2025
2126 projectIndexHtml = pkgs.writeText "index.html" ''
@@ -24,50 +29,35 @@ let
2429 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
2530 </head>
2631 <body>
27− <div>
28− WARNING: Modules with no coverage are not included in any of these reports, this is just how HPC works under the hood.
29− </div>
30− <div>
31− <h2>Union Report</h2>
32− <p>The following report shows how each module is covered by any test in the project:</p>
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)}
44− </ul>
45− </div>
32+ <table border="1" width="100%">
33+ <tbody>
34+ <tr>
35+ <th>Report</th>
36+ </tr>
37+
38+ ${with lib; concatStringsSep "\n" (map coverageTableRows coverageReports)}
39+
40+ </tbody>
41+ </table>
4642 </body>
4743 </html>
4844 '';
4945
50− ghc = project.pkg-set.config.ghc.package;
46+ ghc =
47+ if (builtins.length coverageReports) > 0
48+ then (builtins.head coverageReports).library.project.pkg-set.config.ghc.package or pkgs.ghc
49+ else pkgs.ghc;
5150
52− libs = lib.unique (lib.concatMap (r: r.mixLibraries) coverageReports);
51+ libs = map (r: r.library) coverageReports;
52+
53+ projectLibs = map (pkg: pkg.components.library) (lib.attrValues (haskellLib.selectProjectPackages ((lib.head libs).project.hsPkgs)));
5354
5455 mixDirs =
5556 map
5657 (l: "${l}/share/hpc/vanilla/mix/${l.identifier.name}-${l.identifier.version}")
57− libs;
58−
59− srcDirs = map (l: l.srcSubDirPath) libs;
58+ (projectLibs);
6059
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− };
60+ srcDirs = map (l: l.src.outPath) (projectLibs);
7161
7262in pkgs.runCommand "project-coverage-report"
7363 ({ nativeBuildInputs = [ (ghc.buildGHC or ghc) pkgs.buildPackages.zip ];
@@ -132,19 +122,35 @@ in pkgs.runCommand "project-coverage-report"
132122 fi
133123
134124 # Copy mix, tix, and html information over from each report
135− cp -Rn $report/share/hpc/vanilla/mix/$identifier $out/share/hpc/vanilla/mix/
125+ cp -Rn $report/share/hpc/vanilla/mix/$identifier/* $out/share/hpc/vanilla/mix/
136126 cp -R $report/share/hpc/vanilla/tix/* $out/share/hpc/vanilla/tix/
137127 cp -R $report/share/hpc/vanilla/html/* $out/share/hpc/vanilla/html/
138128 '') coverageReports)}
139129
140− # Copy out "all" coverage report
141− cp -R ${allCoverageReport}/share/hpc/vanilla/tix/all $out/share/hpc/vanilla/tix
142− cp -R ${allCoverageReport}/share/hpc/vanilla/html/all $out/share/hpc/vanilla/html
130+ if [ ''${#tixFiles[@]} -ne 0 ]; then
131+ # Create tix file with test run information for all packages
132+ tixFile="$out/share/hpc/vanilla/tix/all/all.tix"
133+ hpcSumCmd=("hpc" "sum" "--union" "--output=$tixFile")
134+ hpcSumCmd+=("''${tixFiles[@]}")
135+ echo "''${hpcSumCmd[@]}"
136+ eval "''${hpcSumCmd[@]}"
137+
138+ # Markup a HTML coverage report for the entire project
139+ cp ${projectIndexHtml} $out/share/hpc/vanilla/html/index.html
140+ echo "report coverage-per-package $out/share/hpc/vanilla/html/index.html" >> $out/nix-support/hydra-build-products
141+
142+ local markupOutDir="$out/share/hpc/vanilla/html/all"
143+ local srcDirs=${toBashArray srcDirs}
144+ local mixDirs=${toBashArray mixDirs}
145+ local allMixModules=()
146+
147+ mkdir $markupOutDir
148+ findModules allMixModules "$out/share/hpc/vanilla/mix/" "*.mix"
143149
144− # Markup a HTML coverage summary report for the entire project
145− cp ${projectIndexHtml} $out/share/hpc/vanilla/html/index.html
150+ markup srcDirs mixDirs allMixModules "$markupOutDir" "$tixFile"
146151
147− echo "report coverage $out/share/hpc/vanilla/html/index.html" >> $out/nix-support/hydra-build-products
148− ( 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
152+ echo "report coverage $markupOutDir/hpc_index.html" >> $out/nix-support/hydra-build-products
153+ ( cd $out/share/hpc/vanilla/html ; zip -r $out/share/hpc/vanilla/html.zip . )
154+ echo "file zip $out/share/hpc/vanilla/html.zip" >> $out/nix-support/hydra-build-products
155+ fi
150156 ''
lib/cover.nix+70−103
@@ -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".
41{ stdenv, lib, haskellLib, pkgs }:
52
6−# Name of the coverage report, which should be unique.
3+# Name of the coverage report, which should be unique
74{ name
8−# List of check derivations that generate coverage.
9−, checks ? []
10−# List of libraries to include in the coverage report. If one of the above
11−# checks generates coverage for a particular library, coverage will only
12−# be included if that library is in this list.
13−, mixLibraries ? []
14−# Hack for project-less projects.
15−, ghc ? if mixLibraries == [] then null else (lib.head mixLibraries).project.pkg-set.config.ghc.package
5+# Library to check coverage of
6+, library
7+# List of check derivations that generate coverage
8+, checks
9+# List of other libraries to include in the coverage report. The
10+# default value if just the derivation provided as the `library`
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 ? [library]
14+# hack for project-less projects
15+, ghc ? library.project.pkg-set.config.ghc.package
1616}:
1717
1818let
@@ -21,12 +21,12 @@ let
2121 mixDir = l: "${l}/share/hpc/vanilla/mix/${l.identifier.name}-${l.identifier.version}";
2222 mixDirs = map mixDir mixLibraries;
2323
24− srcDirs = map (l: l.srcSubDirPath) mixLibraries;
24+ srcDirs = map (l: l.src.outPath) mixLibraries;
2525
2626in pkgs.runCommand (name + "-coverage-report")
2727 ({nativeBuildInputs = [ (ghc.buildGHC or ghc) pkgs.buildPackages.zip ];
2828 passthru = {
29− inherit name checks mixLibraries;
29+ inherit name library checks;
3030 };
3131 # HPC will fail if the Haskell file contains non-ASCII characters,
3232 # unless our locale is set correctly. This has been fixed, but we
@@ -70,105 +70,71 @@ in pkgs.runCommand (name + "-coverage-report")
7070 local -n tixFs=$2
7171 local outFile="$3"
7272
73− if (( "''${#tixFs[@]}" > 0 )); then
74− local hpcSumCmd=("hpc" "sum" "--union" "--output=$outFile")
73+ local hpcSumCmd=("hpc" "sum" "--union" "--output=$outFile")
7574
76− for module in "''${includedModules[@]}"; do
77− hpcSumCmd+=("--include=$module")
78− done
75+ for module in "''${includedModules[@]}"; do
76+ hpcSumCmd+=("--include=$module")
77+ done
7978
80− for tixFile in "''${tixFs[@]}"; do
81− hpcSumCmd+=("$tixFile")
82− done
79+ for tixFile in "''${tixFs[@]}"; do
80+ hpcSumCmd+=("$tixFile")
81+ done
8382
84− echo "''${hpcSumCmd[@]}"
85− 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
83+ echo "''${hpcSumCmd[@]}"
84+ eval "''${hpcSumCmd[@]}"
9285 }
9386
9487 function findModules() {
95− local -n result=$1
96− local -n searchDirs=$2
88+ local searchDir=$2
9789 local pattern=$3
9890
99− for dir in "''${searchDirs[@]}"; do
100− pushd $dir
101− local temp=()
102− mapfile -d $'\0' temp < <(find ./ -type f \
103− -wholename "$pattern" -not -name "Paths*" \
104− -exec basename {} \; \
105− | sed "s/\.mix$//" \
106− | tr "\n" "\0")
107− result+=("''${temp[@]}")
108− popd
109− done
91+ pushd $searchDir
92+ mapfile -d $'\0' $1 < <(find ./ -type f \
93+ -wholename "$pattern" -not -name "Paths*" \
94+ -exec basename {} \; \
95+ | sed "s/\.mix$//" \
96+ | tr "\n" "\0")
97+ popd
11098 }
11199
100+ local mixDirs=${toBashArray mixDirs}
101+
112102 mkdir -p $out/nix-support
113− mkdir -p $out/share/hpc/vanilla/mix/
103+ mkdir -p $out/share/hpc/vanilla/mix/${name}
114104 mkdir -p $out/share/hpc/vanilla/tix/${name}
115105 mkdir -p $out/share/hpc/vanilla/html/${name}
116106
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
121108 for dir in "''${mixDirs[@]}"; do
122109 if [ -d "$dir" ]; then
123− cp -R "$dir" $out/share/hpc/vanilla/mix/
110+ cp -R "$dir"/* $out/share/hpc/vanilla/mix/${name}
124111 fi
125112 done
126113
127− local mixModules=()
128− # Mix modules for all packages in "mixLibraries"
129− findModules mixModules mixDirs "*.mix"
130−
131− # We need to make a distinction between library "exposed-modules" and
132− # "other-modules" used in test suites:
133− # - "exposed-modules" are addressed as "$library-$version-$hash/module"
134− # - "other-modules" are addressed as "module"
135− #
136− # This complicates the code required to find the mix modules. For a given mix directory:
137− #
138− # mix
139− # └── ntp-client-0.0.1
140− # └── ntp-client-0.0.1-gYjRsBHUCaHX7ENcjHnw5
141− # ├── Network.NTP.Client.mix
142− # ├── Network.NTP.Client.Packet.mix
143− # └── Network.NTP.Client.Query.mix
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−
114+ local srcDirs=${toBashArray srcDirs}
115+ local allMixModules=()
116+ local pkgMixModules=()
117+
118+ # The behaviour of stack coverage reports is to provide tix files
119+ # that include coverage information for every local package, but
120+ # to provide HTML reports that only include coverage info for the
121+ # current package. We emulate the same behaviour here. If the user
122+ # includes all local packages in the mix libraries argument, they
123+ # will get a coverage report very similar to stack.
124+
125+ # All mix modules
126+ findModules allMixModules "$out/share/hpc/vanilla/mix/${name}" "*.mix"
127+ # Only mix modules corresponding to this package
128+ findModules pkgMixModules "$out/share/hpc/vanilla/mix/${name}" "*${name}*/*.mix"
129+
130+ # For each test
165131 local tixFiles=()
166132 ${lib.concatStringsSep "\n" (builtins.map (check: ''
167133 if [ -d "${check}/share/hpc/vanilla/tix" ]; then
168134 pushd ${check}/share/hpc/vanilla/tix
169135
170136 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"
172138
173139 mkdir -p "$(dirname $newTixFile)"
174140 # Copy over the tix file verbatim
@@ -177,28 +143,29 @@ in pkgs.runCommand (name + "-coverage-report")
177143 # Add the tix file to our list
178144 tixFiles+=("$newTixFile")
179145
180− # Create a coverage report for *just that check* affecting any of the
181− # "mixLibraries"
182− markup srcDirs mixDirs mixModules "$out/share/hpc/vanilla/html/${check.name}/" "$newTixFile"
146+ # Create a coverage report for *just that test*
147+ markup srcDirs mixDirs pkgMixModules "$out/share/hpc/vanilla/html/${name}/${check.exeName}/" "$newTixFile"
183148
184149 popd
185150 fi
186151 '') checks)
187152 }
188153
189− # Sum tix files to create a tix file with tix information from all tests in
190− # the package and markup a HTML report from this info.
191− local sumTixFile="$out/share/hpc/vanilla/tix/${name}/${name}.tix"
192− local markupOutDir="$out/share/hpc/vanilla/html/${name}"
154+ # Sum tix files to create a tix file with all relevant tix
155+ # information and markup a HTML report from this info.
156+ if (( "''${#tixFiles[@]}" > 0 )); then
157+ local sumTixFile="$out/share/hpc/vanilla/tix/${name}/${name}.tix"
158+ local markupOutDir="$out/share/hpc/vanilla/html/${name}"
193159
194− # Sum all of our tix files
195− sumTix mixModules tixFiles "$sumTixFile"
160+ # Sum all of our tix file, including modules from any local package
161+ sumTix allMixModules tixFiles "$sumTixFile"
196162
197− # Markup a HTML report
198− markup srcDirs mixDirs mixModules "$markupOutDir" "$sumTixFile"
163+ # Markup a HTML report, included modules from only this package
164+ markup srcDirs mixDirs pkgMixModules "$markupOutDir" "$sumTixFile"
199165
200− # Provide a HTML zipfile and Hydra links
201− ( 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
203− echo "file zip $out/share/hpc/vanilla/${name}-html.zip" >> $out/nix-support/hydra-build-products
166+ # Provide a HTML zipfile and Hydra links
167+ ( cd "$markupOutDir" ; zip -r $out/share/hpc/vanilla/${name}-html.zip . )
168+ echo "report coverage $markupOutDir/hpc_index.html" >> $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
204171 ''
lib/default.nix+30−100
@@ -4,8 +4,11 @@
44with haskellLib;
55
66let
7− # Why `final.buildPackages.buildPackages.gitMinimal`?
8− # Why not just final.buildPackages.gitMinimal?
7+ # Why `final.evalPackages.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.
912 #
1013 # It turns out `git` depends on `gdb` in a round about way:
1114 # git -> openssh -> libfido2 -> systemd -> python libxml -> Cython -> gdb
@@ -21,7 +24,7 @@ let
2124 # * When `gdb` does not exist for `js`, so when cross
2225 # compiling with ghcjs `final.buildPackages.git` fails
2326 # to build at all.
24− inherit (pkgs.buildPackages.buildPackages) gitMinimal;
27+ inherit (pkgs.evalPackages.buildPackages) gitMinimal;
2528
2629in {
2730 # Within the package components, these are the attribute names of
@@ -59,23 +62,13 @@ in {
5962 benchmarks = "bench";
6063 };
6164
62− # For looking up the components attribute based on the cabal component type
63− prefixComponent =
64− lib.listToAttrs (
65− lib.mapAttrsToList (value: name: { inherit name value; })
66− componentPrefix);
67−
6865 applyComponents = f: config:
6966 let
7067 comps = config.components;
7168 applyLibrary = cname: f { cname = config.package.identifier.name; ctype = "lib"; };
7269 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);
78− libComp = if comps.library == null || !(isBuildable comps.library)
70+ buildableAttrs = lib.filterAttrs (n: comp: comp.buildable or true);
71+ libComp = if comps.library == null || !(comps.library.buildable or true)
7972 then {}
8073 else lib.mapAttrs applyLibrary (removeAttrs comps (subComponentTypes ++ [ "setup" ]));
8174 subComps = lib.mapAttrs
@@ -101,7 +94,7 @@ in {
10194
10295 # if it's a project package it has a src attribute set with an origSubDir attribute.
10396 # project packages are a subset of localPackages
104− isProjectPackage = p: p.isProject or false;
97+ isProjectPackage = p: p ? src && p.src ? origSubDir;
10598 selectProjectPackages = ps: lib.filterAttrs (n: p: p != null && isLocalPackage p && isProjectPackage p) ps;
10699
107100 # Format a componentId as it should appear as a target on the
@@ -133,7 +126,14 @@ in {
133126 ## flatLibDepends :: Component -> [Package]
134127 flatLibDepends = component:
135128 let
136− makePairs = map (p: rec { key=val.name; val=(p.components.library or p); });
129+ # this is a minor improvement over the "cannot coerce set to string"
130+ # error. It will now say:
131+ #
132+ # > The option `packages.Win32.package.identifier.name' is used but not defined.
133+ #
134+ # which indicates that the package.Win32 is missing and not defined.
135+ getKey = x: if x ? "outPath" then "${x}" else (throw x.identifier.name);
136+ makePairs = map (p: rec { key=getKey val; val=(p.components.library or p); });
137137 closure = builtins.genericClosure {
138138 startSet = makePairs component.depends;
139139 operator = {val,...}: makePairs val.config.depends;
@@ -189,7 +189,7 @@ in {
189189 collectChecks' = collectChecks (_: true);
190190
191191 # Replacement for lib.cleanSourceWith that has a subDir argument.
192− inherit (import ./clean-source-with.nix { inherit lib; }) cleanSourceWith;
192+ inherit (import ./clean-source-with.nix { inherit lib; }) cleanSourceWith canCleanSource;
193193
194194 # Use cleanSourceWith to filter just the files needed for a particular
195195 # component of a package
@@ -199,7 +199,7 @@ in {
199199 cleanGit = import ./clean-git.nix {
200200 inherit lib cleanSourceWith;
201201 git = gitMinimal;
202− inherit (pkgs.buildPackages.buildPackages) runCommand;
202+ inherit (pkgs.evalPackages) runCommand;
203203 };
204204
205205 # Some times it is handy to temporarily use a relative path between git
@@ -229,7 +229,7 @@ in {
229229
230230 # Check a test component
231231 check = import ./check.nix {
232− inherit stdenv lib haskellLib;
232+ inherit stdenv lib haskellLib srcOnly;
233233 };
234234
235235 # Do coverage of a package
@@ -248,99 +248,29 @@ in {
248248 # In most cases we do not want to treat musl as a cross compiler.
249249 # For instance when building ghc we want to include ghci.
250250 isCrossHost = stdenv.hostPlatform != stdenv.buildPlatform
251− && !(stdenv.buildPlatform.isLinux && stdenv.hostPlatform.isMusl && stdenv.buildPlatform.linuxArch == stdenv.hostPlatform.linuxArch);
251+ && !(stdenv.buildPlatform.isLinux && stdenv.hostPlatform.isMusl && stdenv.buildPlatform.isx86 && stdenv.hostPlatform.isx86);
252252 # This is the same as isCrossHost but for use when building ghc itself
253253 isCrossTarget = stdenv.targetPlatform != stdenv.hostPlatform
254− && !(stdenv.hostPlatform.isLinux && stdenv.targetPlatform.isMusl && stdenv.hostPlatform.linuxArch == stdenv.targetPlatform.linuxArch);
254+ && !(stdenv.hostPlatform.isLinux && stdenv.targetPlatform.isMusl && stdenv.hostPlatform.isx86 && stdenv.targetPlatform.isx86);
255255 # Native musl build-host-target combo
256256 isNativeMusl = stdenv.hostPlatform.isMusl
257257 && stdenv.buildPlatform == stdenv.hostPlatform
258258 && stdenv.hostPlatform == stdenv.targetPlatform;
259259
260− # Takes a version number, module or list of modules (for cabalProject)
261− # and converts it to an list of project modules. This allows
260+ # Takes a version number or attr set of arguments (for cabalProject)
261+ # and converts it to an attr set of arguments. This allows
262262 # the use of "1.0.0.0" or { version = "1.0.0.0"; ... }
263− versionOrModToMods = versionOrMod:
264− if lib.isString versionOrMod
265− then [{ version = versionOrMod; }]
266− else if lib.isList versionOrMod
267− then versionOrMod
268− else [versionOrMod];
263+ versionOrArgsToArgs = versionOrArgs:
264+ if lib.isAttrs versionOrArgs
265+ then versionOrArgs
266+ else { version = versionOrArgs; };
269267
270268 # Find the resolver in the stack.yaml file and fetch it if a sha256 value is provided
271269 fetchResolver = import ./fetch-resolver.nix {
272− inherit (pkgs.buildPackages) pkgs;
270+ inherit (pkgs.evalPackages) pkgs;
273271 };
274272
275273 inherit (import ./cabal-project-parser.nix {
276274 inherit pkgs;
277− }) parseIndexState parseSourceRepositoryPackages parseRepositories parseSourceRepositoryPackageBlock parseRepositoryBlock;
278−
279−
280− cabalToNixpkgsLicense = import ./spdx/cabal.nix pkgs;
281−
282− # This function is like
283− # `src + (if subDir == "" then "" else "/" + subDir)`
284− # however when `includeSiblings` is set it maintains
285− # `src.origSrc` if there is one and instead adds to
286− # `src.origSubDir`. It uses `cleanSourceWith` when possible
287− # to keep `cleanSourceWith` support in the result.
288− appendSubDir = { src, subDir, includeSiblings ? false }:
289− if subDir == ""
290− then src
291− else
292− haskellLib.cleanSourceWith {
293− inherit src subDir includeSiblings;
294− };
295−
296− # Givin a `src` split it into a `root` path (based on `src.origSrc` if
297− # present) and `subDir` (based on `src.origSubDir). The
298− # `root` will still use the `filter` of `src` if there was one.
299− rootAndSubDir = src: rec {
300− subDir = src.origSubDir or "";
301− root =
302− if subDir == ""
303− then src # if there was no subdir use the original src
304− else
305− # Use `cleanSourceWith` to make sure the `filter` is still used
306− if src ? origSrc && src ? filter
307− then haskellLib.cleanSourceWith {
308− name = src.name or "source" + "-root";
309− src = src.origSrc;
310− # Not passing src.origSubDir so that the result points `origSrc`
311− inherit (src) filter;
312− }
313− else src.origSrc or src; # If there is a subDir and origSrc (but no filter) use origSrc
314− };
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− };
275+ }) parseIndexState parseBlock;
346276}
lib/failed-cabal-configure.nixdeleted−9
@@ -1,9 +0,0 @@
1−let
2− configurationError = ./cabal-configure.out;
3−in
4− # Trace the error output to make sure the user has a chance to see it
5− # (even if the choose not to build anything from the project)
6− __trace ''
7− ERROR: cabal configure failed with:
8− ${__readFile configurationError}
9− '' { inherit configurationError; }
lib/fetch-resolver.nix+2−6
@@ -5,12 +5,10 @@
55, resolverSha256 ? null
66}:
77let
8− srcDir = src.origSrcSubDir or src;
9−
108 # Using origSrcSubDir bypasses any cleanSourceWith so that it will work when
119 # access to the store is restricted. If origSrc was already in the store
1210 # you can pass the project in as a string.
13− rawStackYaml = builtins.readFile (srcDir + "/${stackYaml}");
11+ rawStackYaml = builtins.readFile ((src.origSrcSubDir or src) + ("/" + stackYaml));
1412
1513 # Determine the resolver as it may point to another file we need
1614 # to look at.
@@ -30,8 +28,6 @@ let
3028 url = resolver;
3129 sha256 = resolverSha256;
3230 }
33− else if resolver != null && __pathExists (srcDir + "/${resolver}")
34− then pkgs.copyPathToStore (srcDir + "/${resolver}")
35− else null;
31+ else null;
3632
3733in { inherit resolver fetchedResolver; }
lib/ghcjs-project.nix+40−81
@@ -23,7 +23,7 @@
2323{ src
2424, compiler-nix-name
2525, ghc ? pkgs.buildPackages.haskell-nix.compiler.${compiler-nix-name}
26−, ghcjsVersion # Version in the ghcjs.cabal file (that we will replace)
26+, ghcjsVersion
2727, ghcVersion ? ghc.version
2828, happy ? pkgs.haskell-nix.tool compiler-nix-name "happy" {
2929 index-state = pkgs.haskell-nix.internalHackageIndexState;
@@ -35,30 +35,11 @@
3535 version = "3.2.5";
3636 materialized = ../materialized/ghcjs/alex + "/${compiler-nix-name}";
3737 }
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" {
46− index-state = pkgs.haskell-nix.internalHackageIndexState;
47− version = "3.2.0.0";
48− # Cabal 3.2.1.0 no longer supports he mix of `cabal-version`,
49− # lack of `custom-setup` and `v1-install` used by ghcjs boot.
50− cabalProjectLocal = ''
51− constraints: Cabal <3.2.1.0
52− '';
53− materialized = ../materialized/ghcjs/cabal + "/${compiler-nix-name}";
54− }
55−, overrideBootPackages ? []
56−, patches ? []
38+, cabal-install ? pkgs.haskell-nix.cabal-install.${compiler-nix-name}
5739, ...
5840}@args:
5941let
60− isGhcjs88 = builtins.compareVersions ghcjsVersion "8.8.0.0" >= 0;
61− isGhcjs810 = builtins.compareVersions ghcjsVersion "8.10.0.0" >= 0;
42+ isGhcjs88 = builtins.compareVersions ghcjsVersion "8.8.0.0" > 0;
6243
6344 # Inputs needed to configure the GHCJS source tree
6445 configureInputs = with pkgs; [
@@ -72,26 +53,34 @@ let
7253 alex
7354 cabal-install
7455 ];
75−
76− inherit (pkgs.buildPackages) emscriptenupstream emscripten emsdk;
77−
56+ # nixpkgs does not have an emsdk, this derivation uses symlinks to make something
57+ # that matches enought for `ghcjs-boot` to work
58+ emscriptenupstream = pkgs.buildPackages.emscriptenupstream;
59+ emscripten = pkgs.buildPackages.emscripten.override {
60+ emscriptenBackend = emscriptenupstream;
61+ };
62+ emsdk = pkgs.linkFarm "emsdk" [
63+ { name = "upstream/bin"; path = emscriptenupstream + "/bin"; }
64+ { name = "upstream/emscripten"; path = emscripten + "/bin"; }
65+ { name = "share"; path = emscripten + "/share"; }
66+ ];
7867 # Inputs needed to boot the GHCJS compiler
7968 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
69+ nodejs
8570 makeWrapper
8671 xorg.lndir
8772 gmp
8873 pkgconfig
8974 ]
90− ++ [ ghc cabal-install emsdk ];
75+ ++ [ ghc cabal-install ]
76+ ++ lib.optionals stdenv.isDarwin [
77+ pkgs.buildPackages.gcc # https://github.com/ghcjs/ghcjs/issues/663
78+ ]
79+ ++ lib.optional isGhcjs88 [ emsdk ];
9180 # Configured the GHCJS source
92− configured-src = (pkgs.runCommandCC "configured-ghcjs-src" {
81+ configured-src = pkgs.runCommand "configured-ghcjs-src" {
9382 buildInputs = configureInputs;
94− inherit src patches;
83+ inherit src;
9584 } ''
9685 export HOME=$(pwd)
9786 mkdir $HOME/.cabal
@@ -100,11 +89,6 @@ let
10089 chmod -R +w "$out"
10190 cd "$out"
10291
103− for p in $patches
104− do
105− patch -p1 <$p
106− done
107−
10892 # TODO: Find a better way to avoid impure version numbers
10993 sed -i 's/RELEASE=NO/RELEASE=YES/' ghc/configure.ac
11094 sed -i 's/${ghcjsVersion}/${ghcVersion}/' ghcjs.cabal
@@ -122,58 +106,33 @@ let
122106 rm -rf utils/pkg-cache/ghc
123107 cp -r ${ghc.generated} utils/pkg-cache/ghc
124108
125− for a in integer-gmp base unix; do
126− cp ${../overlays/patches/config.sub} ghc/libraries/$a/config.sub
127− cp ${../overlays/patches/config.guess} ghc/libraries/$a/config.guess
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
109+ cp ${../overlays/patches/config.sub} ghc/libraries/integer-gmp/config.sub
110+ cp ${../overlays/patches/config.sub} ghc/libraries/base/config.sub
111+ cp ${../overlays/patches/config.sub} ghc/libraries/unix/config.sub
132112
133113 patchShebangs .
134114 sed -i 's/gcc /cc /g' utils/makePackages.sh
135115 ./utils/makePackages.sh copy
136116
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− };
117+ ${
118+ # nuke the HsBaseConfig.h from base.buildinfo.in; this will
119+ # prevent it from being installed and provide incorrect values.
120+ pkgs.lib.optionalString (!isGhcjs88) ''
121+ echo " build-tool-depends: alex:alex, happy:happy <= 1.19.9" >> lib/ghc-api-ghcjs/ghc-api-ghcjs.cabal
122+ sed -i 's/HsBaseConfig.h//g' lib/boot/pkg/base/base.buildinfo.in
123+ ''
124+ }'';
159125 # see https://github.com/ghcjs/ghcjs/issues/751 for the happy upper bound.
160126
161127 ghcjsProject = pkgs.haskell-nix.cabalProject' (
162− (pkgs.lib.filterAttrs
128+ (pkgs.lib.filterAttrs
163129 (n: _: !(builtins.any (x: x == n)
164− [ "src" "ghcjsVersion" "ghcVersion" "happy" "alex" "cabal-install"
165− "overrideBootPackages" "patches"])) args) // {
130+ ["src" "ghcjsVersion" "ghcVersion" "happy" "alex" "cabal-install"])) args) // {
166131 src = configured-src;
167− index-state = "2021-03-20T00:00:00Z";
168− inherit compiler-nix-name;
169− configureArgs = pkgs.lib.optionalString (isGhcjs88 && !isGhcjs810) "--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}";
132+ index-state = "2020-11-16T00:00:00Z";
133+ compiler-nix-name = if isGhcjs88 then "ghc884" else "ghc865";
134+ configureArgs = pkgs.lib.optionalString isGhcjs88 "--constraint='Cabal >=3.0.2.0 && <3.1'";
135+ materialized = ../materialized + (if isGhcjs88 then "/ghcjs884" else "/ghcjs865");
177136 modules = [
178137 {
179138 # we need ghc-boot in here for ghcjs.
@@ -186,7 +145,6 @@ let
186145 packages.Cabal.patches = [ ./../overlays/patches/Cabal/fix-data-dir.patch ];
187146 })
188147 {
189− ghcOptions = ["-O2"];
190148 packages.ghcjs.doHaddock = false;
191149 packages.haddock-ghcjs.doHaddock = false;
192150 packages.haddock-api-ghcjs.doHaddock = false;
@@ -216,3 +174,4 @@ in ghcjsProject // {
216174 };
217175 inherit configureInputs bootInputs configured-src emscriptenupstream emscripten emsdk;
218176}
177+
lib/import-and-filter-project.nix+25−39
@@ -6,11 +6,14 @@
66let
77 # Full source including possible relative paths form the
88 # project directory.
9− srcRoot = haskellLib.cleanSourceWith {
10− name = if src ? name then "${src.name}-root" else "source-root";
11− src = src.origSrc or src;
12− filter = src.filter or (_: _: true);
13− };
9+ srcRoot =
10+ if haskellLib.canCleanSource src
11+ then haskellLib.cleanSourceWith {
12+ name = if src ? name then "${src.name}-root" else "source-root";
13+ src = src.origSrc or src;
14+ filter = src.filter or (_: _: true);
15+ }
16+ else src.origSrc or src;
1417 # The sub directory containing the cabal.project or stack.yaml file
1518 projectSubDir' = src.origSubDir or ""; # With leading /
1619 projectSubDir = pkgs.lib.strings.removePrefix "/" projectSubDir'; # Without /
@@ -21,41 +24,24 @@ in project // {
2124 packages = pkgs.lib.attrsets.mapAttrs (name: value:
2225 if builtins.isFunction value
2326 then value
24− else {...}@args: with pkgs.lib.strings;
25− let
26− oldPkg = import value args;
27− packageInfo =
28− if oldPkg.src ? url
29− then {
30− # The source is from a source-repository-package in a cabal.project file
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;
34− packageSrc = pkgs.lib.lists.elemAt sourceRepos (toInt oldPkg.src.url);
35− }
36− else if !hasPrefix "${projectNix}" (toString oldPkg.src.content)
37− then {
38− # Source location does not match project prefix
39− isProject = false;
40− packageSrc = toString oldPkg.src.content;
41− }
42− else {
43− # Source does match project prefix and it is not from a source repository
44− isProject = true;
45− packageSrc = haskellLib.appendSubDir {
46− src = srcRoot;
47− subDir = removePrefix "/" (removePrefix "${projectNix}"
48− (toString oldPkg.src.content));
49− includeSiblings = true; # Filtering sibling dirs of the package dir is done in the
50− # component builder so that relative paths can be used to
51− # reference project directories not in the package subDir.
52− };
53− };
27+ else {...}@args:
28+ let oldPkg = import value args;
29+ packageSrc = if !pkgs.lib.strings.hasPrefix (toString projectNix) (toString oldPkg.src.content)
30+ then toString oldPkg.src.content
31+ else let
32+ subDir = pkgs.lib.strings.removePrefix "/" (
33+ pkgs.lib.strings.removePrefix (toString projectNix)
34+ (toString oldPkg.src.content));
35+ srcRepoPrefix = projectSubDir'' + ".source-repository-packages/";
36+ in if pkgs.lib.strings.hasPrefix srcRepoPrefix subDir
37+ then
38+ pkgs.lib.lists.elemAt sourceRepos (
39+ pkgs.lib.strings.toInt (pkgs.lib.strings.removePrefix srcRepoPrefix subDir))
40+ else if haskellLib.canCleanSource srcRoot
41+ then haskellLib.cleanSourceWith { src = srcRoot; inherit subDir; }
42+ else srcRoot + (if subDir == "" then "" else "/" + subDir);
5443 in oldPkg // {
55− src = (pkgs.lib).mkDefault packageInfo.packageSrc;
56− package = oldPkg.package // {
57− isProject = (pkgs.lib).mkDefault packageInfo.isProject;
58− };
44+ src = (pkgs.lib).mkDefault packageSrc;
5945 }) old;
6046 };
6147 }
lib/materialize.nix+11−23
@@ -7,9 +7,6 @@
77 # the output. If this is set but does not exist
88 # the derivation will fail but with a message
99 # advising how to populate it.
10−, this ? "this"
11− # A name to use when referring to the thing currently being
12− # materialized. Clients can pass in an attribute name or similar.
1310, reasonNotSafe ? null
1411 # Some times there a reasont the derivation will
1512 # not produce output that can be safely materialized.
@@ -24,7 +21,7 @@
2421}: derivation:
2522
2623let
27− name = derivation.name + pkgs.lib.optionalString (derivation ? version) "-${derivation.version}";
24+ inherit (derivation) name;
2825
2926 traceIgnoringSha256 = reason: x:
3027 if sha256 != null
@@ -36,15 +33,10 @@ let
3633 then builtins.trace ("Warning: ignoring materialized for " + name + " " + reason) x
3734 else x;
3835
39− traceWhenChecking = message: x:
40− if checkMaterialization
41− then builtins.trace message x
42− else x;
43−
4436 unchecked =
4537 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'.";
47− materializeMessage = "${name}: To materialize ${this} entirely, pass a writable path as the `materialized` argument and run the 'updateMaterialized' script in 'passthru'.";
38+ sha256message = "To make this a fixed-output derivation but not materialized, set `${sha256Arg}` to the output of ${calculateMaterializedSha}";
39+ materializeMessage = "To materialize the output entirely, pass a writable path as the `materialized` argument and pass that path to ${generateMaterialized}";
4840 in if reasonNotSafe != null
4941 then
5042 # Warn the user if they tried to pin stuff down when it is not safe
@@ -55,20 +47,13 @@ let
5547 else if sha256 != null
5648 then
5749 # Let the user know how to materialize if they want to.
58− traceWhenChecking materializeMessage calculateUseHash
50+ builtins.trace materializeMessage calculateUseHash
5951 else # materialized == null && sha256 == null
6052 # Let the user know how to calculate a sha256 or materialize if they want to.
61− traceWhenChecking sha256message (traceWhenChecking materializeMessage calculateNoHash);
53+ builtins.trace sha256message (builtins.trace materializeMessage calculateNoHash);
6254
6355 # Build fully and check the hash and materialized versions
64− checked =
65− # Let the user know what we are checking. This is useful for debugging issues
66− # where materialization fails to prevent infinite recurstion when:
67− # checkMaterialization = true;
68− (if materialized != null
69− then __trace "Checking materialization in ${toString materialized}"
70− else x: x)
71− runCommand name {} (''
56+ checked = runCommand name {} (''
7257 ERR=$(mktemp -d)/errors.txt
7358 ''
7459 + (pkgs.lib.optionalString (sha256 != null) ''
@@ -128,7 +113,11 @@ let
128113 calculateUseMaterialized =
129114 assert materialized != null;
130115 assert __pathExists materialized;
131− { outPath = materialized; inherit name; };
116+ runCommand name (pkgs.lib.optionalAttrs (sha256 == null) hashArgs) ''
117+ cp -Lr ${materialized} $out
118+ # Make sure output files can be removed from the sandbox
119+ chmod -R +w $out
120+ '';
132121 calculateMaterializedSha =
133122 writeShellScript "calculateSha" ''${nix}/bin/nix-hash --base32 --type sha256 ${calculateNoHash}'';
134123
@@ -144,7 +133,6 @@ let
144133 fi
145134
146135 # Generate the files
147− mkdir -p $TARGET
148136 rm -rf $TARGET
149137 cp -r ${calculateNoHash} "$TARGET"
150138 chmod -R +w "$TARGET"
lib/pkgconf-nixpkgs-map.nix+17−27
@@ -21,18 +21,18 @@ pkgs:
2121 "cairo-ps" = [ pkgs."cairo" ];
2222 "cairo-svg" = [ pkgs."cairo" ];
2323 "crypt" = []; # provided by glibc
24+ "crypto" = [ pkgs."openssl" ];
2425 "curses" = [ pkgs."ncurses" ];
2526 "dbusmenu-glib-0.4" = [ pkgs."libdbusmenu" ];
2627 "dbusmenu-gtk3-0.4" = [ pkgs."libdbusmenu-gtk3" ]; # do we also need pkgs."gtk3"
2728 "dl" = []; # provided by glibc
2829 "fftw3" = [ pkgs."fftw" ];
2930 "fftw3f" = [ pkgs."fftwFloat" ];
30− "freetype2" = [ pkgs."freetype" ];
3131 "gconf" = [ pkgs."GConf" ];
3232 "gconf-2.0" = [ pkgs."GConf" ];
3333 "gdk-2.0" = [ pkgs."gtk2" ];
3434 "gdk-3.0" = [ pkgs."gtk3" ];
35− "gdk-pixbuf-2.0" = [ (pkgs."gdk-pixbuf" or pkgs."gdk_pixbuf") ];
35+ "gdk-pixbuf-2.0" = [ pkgs."gdk_pixbuf" ];
3636 "gdk-x11-2.0" = [ pkgs."gdk_x11" ];
3737 "gdk-x11-3.0" = [ pkgs."gtk3" ];
3838 "gio-2.0" = [ pkgs."glib" ];
@@ -45,9 +45,7 @@ pkgs:
4545 "gnome-vfs-2.0" = [ pkgs."gnome-vfs" ];
4646 "gnome-vfs-module-2.0" = [ pkgs."gnome-vfs_module" ];
4747 "gobject-2.0" = [ pkgs."glib" ];
48− "gmodule-2.0" = [ pkgs."glib" ];
4948 "gobject-introspection-1.0" = [ pkgs."gobject-introspection" ];
50− "graphene-gobject-1.0" = [ pkgs."graphene" ];
5149 "gstreamer-audio-0.10" = [ pkgs."gst-plugins-base" ];
5250 "gstreamer-audio-1.0" = [ pkgs."gst-plugins-base" ];
5351 "gstreamer-base-0.10" = [ pkgs."gst-plugins-base" ];
@@ -67,7 +65,6 @@ pkgs:
6765 "hidapi-libusb" = [ pkgs."hidapi" ];
6866 "icudata" = [ pkgs."icu" ];
6967 "icui18n" = [ pkgs."icu" ];
70− "icu-i18n" = [ pkgs."icu" ];
7168 "icuuc" = [ pkgs."icu" ];
7269 "idn" = [ pkgs."libidn" ];
7370 "IL" = [ pkgs."libdevil" ];
@@ -83,10 +80,7 @@ pkgs:
8380 "lber" = [ pkgs."openldap" ];
8481 "ldap" = [ pkgs."openldap" ];
8582 "libavutil" = [ pkgs."ffmpeg" ];
86− "libcrypto" = [ pkgs."openssl".dev ];
87− "libfreenect" = [ pkgs."freenect" ];
8883 "libgsasl" = [ pkgs."gsasl" ];
89− "liboath" = [ pkgs."liboauth" ];
9084 "libpcre" = [ pkgs."pcre" ];
9185 "libqrencode" = [ pkgs."qrencode" ];
9286 "libR" = [ pkgs."R" ];
@@ -94,14 +88,12 @@ pkgs:
9488 "libsecp256k1" = [ pkgs."secp256k1" ];
9589 "libsoup-2.4" = [ pkgs."libsoup" ];
9690 "libsoup-gnome-2.4" = [ pkgs."libsoup" ];
97− "libssl" = [ pkgs."openssl".dev ];
9891 "libsystemd" = [ pkgs."systemd" ];
9992 "libudev" = [ pkgs."systemd" ];
10093 "libusb-1.0" = [ pkgs."libusb1" ];
10194 "libxml-2.0" = [ pkgs."libxml2" ];
10295 "libzip" = [ pkgs."libzip" ];
10396 "libzmq" = [ pkgs."zeromq" ];
104− "libzstd" = [ pkgs."zstd" ];
10597 "m" = []; # in stdenv
10698 "magic" = [ pkgs."file" ];
10799 "MagickWand" = [ pkgs."imagemagick" ];
@@ -122,9 +114,7 @@ pkgs:
122114 "pfs-1.2" = [ pkgs."pfstools" ];
123115 "png" = [ pkgs."libpng" ];
124116 "poppler-glib" = [ pkgs."poppler" ];
125− "poppler-cpp" = [ pkgs."poppler" ];
126117 "pq" = [ pkgs."postgresql" ];
127− "libpq" = [ pkgs."postgresql" ];
128118 "pthread" = [];
129119 "pulse" = [ pkgs."libpulseaudio" ];
130120 "pulse-simple" = [ pkgs."libpulseaudio" ];
@@ -146,6 +136,7 @@ pkgs:
146136 "sodium" = [ pkgs."libsodium" ];
147137 "sqlite3" = [ pkgs."sqlite" ];
148138 "ssh2" = [ pkgs."libssh2" ];
139+ "ssl" = [ pkgs."openssl" ];
149140 "statgrab" = [ pkgs."libstatgrab" ];
150141 "stdc++" = []; # What is that?
151142 "stdc++.dll" = []; # What is that?
@@ -164,24 +155,23 @@ pkgs:
164155 "webkit2gtk-4.0" = [ pkgs."webkitgtk" ];
165156 "webkit2gtk-web-extension-4.0" = [ pkgs."webkitgtk" ];
166157 "webkitgtk-3.0" = [ pkgs."webkitgtk24x-gtk3" ]; # These are the old APIs, of which 2.4 is the last provider, so map directly to that
167− "vulkan" = [ pkgs."vulkan-loader" ]; # vulkan-loader provides vulkan.pc file for pkg-config.
168− "X11" = [ pkgs.xorg."libX11" ];
169− "x11" = [ pkgs.xorg."xlibsWrapper" ];
170− "xau" = [ pkgs.xorg."libXau" ];
171− "Xcursor" = [ pkgs.xorg."libXcursor" ];
158+ "X11" = [ pkgs."libX11" ];
159+ "x11" = [ pkgs."xlibsWrapper" ];
160+ "xau" = [ pkgs."libXau" ];
161+ "Xcursor" = [ pkgs."libXcursor" ];
172162 "xerces-c" = [ pkgs."xercesc" ];
173− "Xext" = [ pkgs.xorg."libXext" ];
174− "xft" = [ pkgs.xorg."libXft" ];
175− "Xi" = [ pkgs.xorg."libXi" ];
176− "Xinerama" = [ pkgs.xorg."libXinerama" ];
163+ "Xext" = [ pkgs."libXext" ];
164+ "xft" = [ pkgs."libXft" ];
165+ "Xi" = [ pkgs."libXi" ];
166+ "Xinerama" = [ pkgs."libXinerama" ];
177167 "xkbcommon" = [ pkgs."libxkbcommon" ];
178168 "xml2" = [ pkgs."libxml2" ];
179− "Xpm" = [ pkgs.xorg."libXpm" ];
180− "Xrandr" = [ pkgs.xorg."libXrandr" ];
181− "Xrender" = [ pkgs.xorg."libXrender" ];
182− "Xss" = [ pkgs.xorg."libXScrnSaver" ];
183− "Xtst" = [ pkgs.xorg."libXtst" ];
184− "Xxf86vm" = [ pkgs.xorg."libXxf86vm" ];
169+ "Xpm" = [ pkgs."libXpm" ];
170+ "Xrandr" = [ pkgs."libXrandr" ];
171+ "Xrender" = [ pkgs."libXrender" ];
172+ "Xss" = [ pkgs."libXScrnSaver" ];
173+ "Xtst" = [ pkgs."libXtst" ];
174+ "Xxf86vm" = [ pkgs."libXxf86vm" ];
185175 "yaml" = [ pkgs."libyaml" ];
186176 "yaml-0.1" = [ pkgs."libyaml" ];
187177 "z" = [ pkgs."zlib" ];
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/cabal.nixdeleted−19
@@ -1,19 +0,0 @@
1−let
2− spdx = import ./parser.nix;
3−in pkgs:
4−with builtins;
5−let
6− # For better performance these are not in the
7− # let block below (probably helps by increasing
8− # the sharing)
9− license-map = import ../cabal-licenses.nix pkgs;
10− otherLicenseWarning = lic:
11− trace "WARNING: license \"${lic}\" not found"
12− license-map.LicenseRef-OtherLicense;
13−in license:
14−let
15− licenses = spdx.compound-expression license;
16−in if licenses == []
17− then otherLicenseWarning license
18− else map (lic: license-map.${lic} or (otherLicenseWarning lic))
19− (pkgs.lib.unique (head licenses)._1)
lib/spdx/licenses.nixdeleted−27
@@ -1,27 +0,0 @@
1−pkgs:
2−with 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
6− [ "\\u0026" "\\u0027" "\\u003d" ]
7− [ "&" "'" "=" ]
8− (readFile "${pkgs.buildPackages.haskell-nix.materialize {
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− );
16− dropFour = s: substring 0 (stringLength s - 4) s;
17− toSpdx = lic: with lic;
18− { spdxId = licenseId;
19− shortName = licenseId;
20− fullName = name;
21− url = dropFour detailsUrl + "html";
22− free = isOsiApproved || lic.isFsfLibre or false;
23− };
24− toNamedValue = lic: { name = lic.spdxId; value = lic; };
25−in
26−
27−listToAttrs (map (l: toNamedValue (toSpdx l)) licensesJSON.licenses)
lib/spdx/parser.nixdeleted−115
@@ -1,115 +0,0 @@
1−let String = { mempty = ""; mappend = a: b: a + b; };
2− List = { singleton = x: [x]; };
3− pair = a: b: { _1 = a; _2 = b; };
4− Pair = { pure = s: pair String.mempty s;
5− mappend = a: b: pair (String.mappend a._1 b._1) b._2;
6− map = f: p: pair (f p._1) p._2;
7− };
8− compose = f: g: x: f (g x);
9−in with builtins; rec {
10− # Parser a = String -> [(a, String)]
11− string = str: s:
12− let strL = stringLength str;
13− sL = stringLength s;
14− in if str == substring 0 strL s
15− then [ (pair str (substring strL sL s)) ]
16− else [];
17−
18− regex = capture_groups: re: s:
19− let result = match "(${re})(.*)" s;
20− in if result == null
21− then []
22− else [ (pair (elemAt result 0) (elemAt result (1 + capture_groups))) ];
23−
24− # Left-biased choice
25− choice = cs: s:
26− if cs == []
27− then []
28− else let c = head cs;
29− cs' = tail cs;
30− result = c s;
31− in if result == []
32− then choice cs' s
33− else result;
34−
35− optional = p: s:
36− let result = p s;
37− in if result == []
38− then [ (Pair.pure s) ]
39− else result;
40−
41− chain = ps: s:
42− if ps == []
43− then [ (Pair.pure s) ]
44− else let p = head ps;
45− ps' = tail ps;
46− result = p s;
47− in if result == []
48− then []
49− else let r = head result;
50− rest = chain ps' r._2;
51− in if rest == []
52− then []
53− else let r' = head rest;
54− in [ (Pair.mappend r r') ];
55−
56− idstring = regex 0 "[-\.0-9a-zA-Z]+";
57−
58− license-ref = let documentref = chain [ (string "DocumentRef-")
59− idstring
60− (string ":")
61− ];
62− in chain [
63− (optional documentref)
64− (string "LicenseRef-")
65− idstring
66− ];
67−
68− simple-expression = choice [ license-ref
69− (chain [ idstring (string "+") ])
70− idstring
71− ];
72−
73− compound-expression = let wrap = compose (map (Pair.map List.singleton));
74− in choice [
75− (s: let result = simple-expression s;
76− in if result == []
77− then []
78− else let r = head result;
79− rest = chain [(string " WITH ") idstring ] r._2;
80− in if rest == []
81− then []
82− else [(pair r._1 (head rest)._2)]
83− )
84− (s: let result = simple-expression s;
85− in if result == []
86− then []
87− else let r = head result;
88− firstLicense = r._1;
89− operator = choice [ (string " AND ")
90− (string " OR ")
91− ]
92− r._2;
93− in if operator == []
94− then []
95− else let s' = (head operator)._2;
96− licenses = compound-expression s';
97− in if licenses == []
98− then []
99− else let ls = head licenses;
100− in [(pair ([firstLicense] ++ ls._1) ls._2)]
101− )
102− (wrap simple-expression)
103− (s: let openParen = string "(" s;
104− in if openParen == []
105− then []
106− else let result = compound-expression (head openParen)._2;
107− in if result == []
108− then []
109− else let r = head result;
110− closeParen = string ")" r._2;
111− in if closeParen == []
112− then []
113− else [(pair r._1 (head closeParen)._2)])
114− ];
115−}
lib/spdx/test.nixdeleted−32
@@ -1,32 +0,0 @@
1−let spdx = import ./parser.nix;
2−in {
3− idstringF = [ (spdx.idstring "$@#!$") ];
4− idstringP = [ (spdx.idstring "blah") ];
5−
6− license-refF = [ (spdx.license-ref "LicenseRef-$@#!$") ];
7− license-refP = [ (spdx.license-ref "LicenseRef-blah")
8− (spdx.license-ref "DocumentRef-beep:LicenseRef-boop")
9− ];
10−
11− simple-expressionF = [ (spdx.simple-expression "$@#!$") ];
12− simple-expressionP = [
13− (spdx.simple-expression "blah")
14− (spdx.simple-expression "blah+")
15− (spdx.simple-expression "LicenseRef-blah")
16− (spdx.simple-expression "DocumentRef-beep:LicenseRef-boop")
17− ];
18−
19− compound-expressionF = [ (spdx.compound-expression "$@#!$") ];
20− compound-expressionP = [
21− (spdx.compound-expression "blah")
22− (spdx.compound-expression "blah+")
23− (spdx.compound-expression "LicenseRef-blah")
24− (spdx.compound-expression "DocumentRef-beep:LicenseRef-boop")
25− (spdx.compound-expression "(blah)")
26− (spdx.compound-expression "beep OR boop")
27− (spdx.compound-expression "beep AND boop")
28− (spdx.compound-expression "beep WITH boop")
29− (spdx.compound-expression "beep AND (boop OR blap)")
30− (spdx.compound-expression "(beep AND ((boop OR ((blap)))))")
31− ];
32−}
lib/stack-cache-generator.nix+31−46
@@ -1,5 +1,6 @@
11# Generate cache entries for dependencies of package defined in `src`
22
3+{ pkgs, haskellLib }:
34{ src
45, stackYaml ? "stack.yaml"
56, sha256map ? null
@@ -8,22 +9,15 @@
89 # sha256map =
910 # { "https://github.com/jgm/pandoc-citeproc"."0.17"
1011 # = "0dxx8cp2xndpw3jwiawch2dkrkp15mil7pyx7dvd810pwc22pm2q"; };
11−, branchMap ? null
12− # A way to specify in which branch a git commit can
13− # be found
14−, lookupBranch ?
15− if branchMap != null
16− then { location, tag, ...}: branchMap."${location}"."${tag}" or null
12+, lookupSha256 ?
13+ if sha256map != null
14+ then { location, tag, ...}: sha256map."${location}"."${tag}"
1715 else _: null
1816, resolverSha256 ? null
19−, nix-tools
20−, evalPackages
17+, nix-tools ? pkgs.haskell-nix.internal-nix-tools # When building stack projects we use the internal nix-tools (compiled with a fixed GHC version)
2118, ...
22−}@args:
19+}:
2320let
24− inherit (evalPackages) runCommand;
25− inherit (evalPackages.haskell-nix) haskellLib;
26−
2721 # We only care about the stackYaml file. If src is a local directory
2822 # we want to avoid recalculating the cache unless the stack.yaml file
2923 # changes.
@@ -33,27 +27,20 @@ let
3327 }) resolver fetchedResolver;
3428
3529 # Filter just the stack yaml file and any resolver yaml file it points to.
36− maybeCleanedSource = haskellLib.cleanSourceWith {
37− inherit src;
38− filter = path: type:
39− let
40− origSrc = if src ? _isLibCleanSourceWith then src.origSrc else src;
41− origSubDir = if src ? _isLibCleanSourceWithEx then src.origSubDir else "";
42− relPath = evalPackages.lib.removePrefix (toString origSrc + origSubDir + "/") path;
43−
44− # checks if path1 is a parent directory for path2
45− isParent = path1: path2: evalPackages.lib.hasPrefix "${path1}/" path2;
46−
47− in
48− (relPath == stackYaml)
49− || (resolver != null && (relPath == resolver || isParent relPath resolver))
50− ;
51− };
30+ maybeCleanedSource =
31+ if haskellLib.canCleanSource src
32+ then haskellLib.cleanSourceWith {
33+ inherit src;
34+ filter = path: type:
35+ pkgs.lib.hasSuffix ("/" + stackYaml) path
36+ || (resolver != null && pkgs.lib.hasSuffix ("/" + resolver) path);
37+ }
38+ else src;
5239
5340 # All repos served via ssh or git protocols are usually private
54− private = url: evalPackages.lib.substring 0 4 url != "http";
41+ private = url: pkgs.lib.substring 0 4 url != "http";
5542
56− repos = builtins.fromJSON (builtins.readFile (evalPackages.runCommand "stack-repos" {
43+ repos = builtins.fromJSON (builtins.readFile (pkgs.runCommand "stack-repos" {
5744 buildInputs = [ nix-tools ];
5845 } ''
5946 TMP=$(mktemp -d)
@@ -61,43 +48,41 @@ let
6148 cp -r "${maybeCleanedSource}/." $TMP
6249 chmod -R +w $TMP
6350 substituteInPlace ${stackYaml} --replace "# nix-sha256:" "nix-sha256:"
64− ${evalPackages.lib.optionalString (fetchedResolver != null) ''
51+ ${pkgs.lib.optionalString (fetchedResolver != null) ''
6552 substituteInPlace ${stackYaml} --replace "${resolver}" "${fetchedResolver}"
6653 ''}
6754 stack-repos --stack-yaml ${stackYaml}
6855 cp repos.json $out
6956 ''));
7057
71− cabalName = path: builtins.readFile (evalPackages.runCommand "cabal-name" {
58+ cabalName = path: builtins.readFile (pkgs.runCommand "cabal-name" {
7259 buildInputs = [ nix-tools ];
7360 } ''
7461 cabal-name ${path} > $out
7562 '');
7663
7764 hashPath = path:
78− builtins.readFile (evalPackages.runCommand "hash-path" { preferLocalBuild = true; }
79− "echo -n $(${evalPackages.nix}/bin/nix-hash --type sha256 --base32 ${path}) > $out");
80−in with evalPackages.lib;
65+ builtins.readFile (pkgs.runCommand "hash-path" { preferLocalBuild = true; }
66+ "echo -n $(${pkgs.nix}/bin/nix-hash --type sha256 --base32 ${path}) > $out");
67+in with pkgs.lib;
8168concatMap (dep:
8269 let
8370 is-private = private dep.url;
84− sha256 =
85− if dep.sha256 != null then dep.sha256
86− else if sha256map != null then sha256map."${dep.url}"."${dep.rev}"
87− else null;
88− branch = lookupBranch {
89− location = dep.url;
90− tag = dep.rev;
91− };
71+ sha256 = if dep.sha256 != null
72+ then dep.sha256
73+ else lookupSha256 {
74+ location = dep.url;
75+ tag = dep.rev;
76+ };
9277 pkgsrc =
9378 if !is-private && sha256 != null
94− then evalPackages.fetchgit {
79+ then pkgs.fetchgit {
9580 inherit (dep) url rev;
9681 inherit sha256;
9782 }
98− else builtins.fetchGit ({
83+ else builtins.fetchGit {
9984 inherit (dep) url rev;
100− } // evalPackages.lib.optionalAttrs (branch != null) { ref = branch; });
85+ };
10186 in map (subdir: {
10287 name = cabalName "${pkgsrc}/${subdir}";
10388 inherit (dep) url rev;
lib/system-nixpkgs-map.nix+82−119
@@ -1,136 +1,99 @@
1−# Maps of system pkg references from cabal file to nixpkgs pkgs.
2−# library name (from `extra-libraries` field of `.cabal` file) -> nixpkgs package(s) mapping.
3−# This mapping is used to construct the `libs` component attribute.
4−# See ../docs/tutorials/pkg-map.md
1+# Maps of system pkg references from
2+# cabal file to nixpkgs pkgs.
3+# See ../docs/dev/pkg-map.md
54pkgs:
6−
7−with pkgs;
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
5+# fetchgit should always come from the evalPackages
6+# if it comes from the targetPackages we won't even
7+# be able to execute it.
8+ { fetchgit = pkgs.evalPackages.fetchgit; }
9+# haskell lib -> nix lib mapping
2010# -- linux
21−{ crypto = [ openssl ];
22− "c++" = []; # no libc++
23− "stdc++" = gcclibs;
24− "stdc++-6" = gcclibs;
25− gcc_s_seh-1 = gcclibs;
26− gcc_s = gcclibs;
27− gcc = gcclibs;
28− ssl = [ openssl ];
29− z = [ zlib ];
30− m = []; # Included with ghc
31− pcap = [ libpcap ];
32− pthread = null; # available by default
33− GL = [ libGL ];
34− GLEW = [ glew ];
35− GLU = [ libGLU ];
36− alut = [ freealut ];
37− X11 = with xorg; [ libX11 ];
38− Xrandr = [ xorg.libXrandr ];
39− Xrender = [ xorg.libXrender ];
40− Xss = [ xorg.libXScrnSaver ];
41− Xext = [ xorg.libXext ];
42− Xi = [ xorg.libXi ];
43− Xxf86vm = [ xorg.libXxf86vm ];
44− Xcursor = [ xorg.libXcursor ];
45− Xinerama = [ xorg.libXinerama ];
46− mysqlclient = [ mysql ];
47− Imlib2 = [ imlib2 ];
48− asound = [ alsaLib ];
49− ffi = null;
50− bz2 = [ bzip2 ];
51− util = [ utillinux ];
52− magic = [ file ];
53− pq = [ postgresql ];
54− libpq = [ postgresql ];
55− iconv = [ libiconv ];
56− lapack = [ liblapack ];
57− boost_atomic = [ boost ];
58− boost_chrono = [ boost ];
59− boost_container = [ boost ];
60− boost_context = [ boost ];
61− boost_contract = [ boost ];
62− boost_coroutine = [ boost ];
63− boost_date_time = [ boost ];
64− boost_fiber = [ boost ];
65− boost_filesystem = [ boost ];
66− boost_graph = [ boost ];
67− boost_iostreams = [ boost ];
68− boost_locale = [ boost ];
69− boost_log_setup = [ boost ];
70− boost_log = [ boost ];
71− boost_math_c99f = [ boost ];
72− boost_math_c99l = [ boost ];
73− boost_math_c99 = [ boost ];
74− boost_math_tr1f = [ boost ];
75− boost_math_tr1l = [ boost ];
76− boost_math_tr1 = [ boost ];
77− boost_prg_exec_monitor = [ boost ];
78− boost_program_options = [ boost ];
79− boost_random = [ boost ];
80− boost_regex = [ boost ];
81− boost_serialization = [ boost ];
82− boost_signals = [ boost ];
83− boost_stacktrace_addr2line = [ boost ];
84− boost_stacktrace_basic = [ boost ];
85− boost_stacktrace_noop = [ boost ];
86− boost_system = [ boost ];
87− boost_thread = [ boost ];
88− boost_timer = [ boost ];
89− boost_type_erasure = [ boost ];
90− boost_unit_test_framework = [ boost ];
91− boost_wave = [ boost ];
92− boost_wserialization = [ boost ];
93− tensorflow = [ libtensorflow ];
94− # odbc package requires unixODBC packages to be installed in order to successfully
95− # compile C sources (https://github.com/fpco/odbc/blob/master/cbits/odbc.c)
96− odbc = [ unixODBC ];
97− opencv = [ opencv3 ];
98− icuuc = [ icu ];
99− icui18n = [ icu ];
100− icu-i18n = [ icu ];
101− icudata = [ icu ];
102− vulkan = [ vulkan-loader ];
103− sodium = [ libsodium ];
104− 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−}
11+// { crypto = pkgs.openssl;
12+ "c++" = null; # no libc++
13+ "stdc++" = null; "stdc++-6" = null;
14+ ssl = pkgs.openssl;
15+ z = pkgs.zlib;
16+ pthread = null; # available by default
17+ GL = pkgs.libGL;
18+ GLU = pkgs.libGLU;
19+ alut = pkgs.freealut;
20+ X11 = pkgs.xorg.libX11;
21+ Xrandr = pkgs.xorg.libXrandr;
22+ Xext = pkgs.xorg.libXext;
23+ Xi = pkgs.xorg.libXi;
24+ Xxf86vm = pkgs.xorg.libXxf86vm;
25+ Xcursor = pkgs.xorg.libXcursor;
26+ Xinerama = pkgs.xorg.libXinerama;
27+ mysqlclient = pkgs.mysql;
28+ Imlib2 = pkgs.imlib2;
29+ asound = pkgs.alsaLib;
30+ ffi = null;
31+ bz2 = pkgs.bzip2;
32+ util = pkgs.utillinux;
33+ magic = pkgs.file;
34+ pq = pkgs.postgresql;
35+ iconv = pkgs.libiconv;
36+ lapack = pkgs.liblapack;
37+ boost_atomic = pkgs.boost;
38+ boost_chrono = pkgs.boost;
39+ boost_container = pkgs.boost;
40+ boost_context = pkgs.boost;
41+ boost_contract = pkgs.boost;
42+ boost_coroutine = pkgs.boost;
43+ boost_date_time = pkgs.boost;
44+ boost_fiber = pkgs.boost;
45+ boost_filesystem = pkgs.boost;
46+ boost_graph = pkgs.boost;
47+ boost_iostreams = pkgs.boost;
48+ boost_locale = pkgs.boost;
49+ boost_log_setup = pkgs.boost;
50+ boost_log = pkgs.boost;
51+ boost_math_c99f = pkgs.boost;
52+ boost_math_c99l = pkgs.boost;
53+ boost_math_c99 = pkgs.boost;
54+ boost_math_tr1f = pkgs.boost;
55+ boost_math_tr1l = pkgs.boost;
56+ boost_math_tr1 = pkgs.boost;
57+ boost_prg_exec_monitor = pkgs.boost;
58+ boost_program_options = pkgs.boost;
59+ boost_random = pkgs.boost;
60+ boost_regex = pkgs.boost;
61+ boost_serialization = pkgs.boost;
62+ boost_signals = pkgs.boost;
63+ boost_stacktrace_addr2line = pkgs.boost;
64+ boost_stacktrace_basic = pkgs.boost;
65+ boost_stacktrace_noop = pkgs.boost;
66+ boost_system = pkgs.boost;
67+ boost_thread = pkgs.boost;
68+ boost_timer = pkgs.boost;
69+ boost_type_erasure = pkgs.boost;
70+ boost_unit_test_framework = pkgs.boost;
71+ boost_wave = pkgs.boost;
72+ boost_wserialization = pkgs.boost;
73+ tensorflow = pkgs.libtensorflow;
74+ opencv = pkgs.opencv3;
75+ icuuc = pkgs.icu;
76+ icui18n = pkgs.icu;
77+ icudata = pkgs.icu;
78+ vulkan = pkgs.vulkan-loader;
79+ sodium = pkgs.libsodium;
80+ gfortran = pkgs.gfortran.cc.lib;
81+ }
11882# -- windows
11983// { advapi32 = null; gdi32 = null; imm32 = null; msimg32 = null;
12084 shell32 = null; shfolder = null; shlwapi = null; user32 = null;
121− ole32 = null; rpcrt4 = null;
12285 winmm = null; userenv = null;
12386 kernel32 = null; ws2_32 = null;
12487 # this should be bundled with gcc.
12588 # if it's not we have more severe
12689 # issues anyway.
127− ssl32 = null; eay32 = [ openssl ];
90+ gcc_s_seh-1 = null;
91+ ssl32 = null; eay32 = pkgs.openssl;
12892 iphlpapi = null; # IP Help API
12993 msvcrt = null; # this is the libc
13094 Crypt32 = null;
13195 mswsock = null;
132− bcrypt = null;
13396 }
13497# -- os x
13598# NB: these map almost 1:1 to the framework names
136−// darwin.apple_sdk.frameworks
99+// pkgs.darwin.apple_sdk.frameworks
lib/system-pkgs.nixdeleted−16
@@ -1,16 +0,0 @@
1−# Cabal packages can depend on operating system packages. However
2−# package names vary between distributions - there is no standard.
3−#
4−# This file augments the nixpkgs package set with extra attributes
5−# from the system packages map file.
6−#
7−# This package set will be used when resolving system package
8−# dependencies of package descriptions.
9−
10−pkgs:
11−
12− # Base packages.
13− pkgs
14−
15− # Apply the mapping.
16− // 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/.plan.nix/alex.nix+1−1
@@ -150,7 +150,7 @@
150150 (hsPkgs."process" or (errorHandler.buildDepError "process"))
151151 ];
152152 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")))
154154 ];
155155 buildable = true;
156156 mainPath = [ "test.hs" ];
materialized/bootstrap/ghc844/alex/default.nix+18−34
@@ -3,34 +3,36 @@
33 {
44 packages = {
55 "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;
116 "unix".revision = (((hackage."unix")."2.7.2.2").revisions).default;
12− "bytestring".revision = (((hackage."bytestring")."0.10.8.2").revisions).default;
13− "containers".revision = (((hackage."containers")."0.5.11.0").revisions).default;
7+ "rts".revision = (((hackage."rts")."1.0").revisions).default;
8+ "deepseq".revision = (((hackage."deepseq")."1.4.3.0").revisions).default;
149 "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;
1514 "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;
1718 };
1819 compiler = {
1920 version = "8.4.4";
2021 nix-name = "ghc844";
2122 packages = {
2223 "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";
2824 "unix" = "2.7.2.2";
29− "bytestring" = "0.10.8.2";
30− "containers" = "0.5.11.0";
25+ "rts" = "1.0";
26+ "deepseq" = "1.4.3.0";
3127 "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";
3232 "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";
3436 };
3537 };
3638 };
@@ -43,23 +45,5 @@
4345 "alex" = { flags = { "small_base" = lib.mkOverride 900 true; }; };
4446 };
4547 })
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− })
6448 ];
6549 }
materialized/bootstrap/ghc844/happy-1.19.11/.plan.nix/happy.nix+5−5
@@ -23,14 +23,14 @@
2323 buildType = "Custom";
2424 isLocal = true;
2525 setup-depends = [
26− (hsPkgs.buildPackages.Cabal or (pkgs.buildPackages.Cabal or (errorHandler.setupDepError "Cabal")))
27− (hsPkgs.buildPackages.base or (pkgs.buildPackages.base or (errorHandler.setupDepError "base")))
28− (hsPkgs.buildPackages.directory or (pkgs.buildPackages.directory or (errorHandler.setupDepError "directory")))
29− (hsPkgs.buildPackages.filepath or (pkgs.buildPackages.filepath or (errorHandler.setupDepError "filepath")))
26+ (hsPkgs.buildPackages.Cabal or (pkgs.buildPackages.Cabal or (errorHandler.buildToolDepError "Cabal")))
27+ (hsPkgs.buildPackages.base or (pkgs.buildPackages.base or (errorHandler.buildToolDepError "base")))
28+ (hsPkgs.buildPackages.directory or (pkgs.buildPackages.directory or (errorHandler.buildToolDepError "directory")))
29+ (hsPkgs.buildPackages.filepath or (pkgs.buildPackages.filepath or (errorHandler.buildToolDepError "filepath")))
3030 ];
3131 detailLevel = "FullDetails";
3232 licenseFiles = [ "LICENSE" ];
33− dataDir = ".";
33+ dataDir = "";
3434 dataFiles = [];
3535 extraSrcFiles = [
3636 "ANNOUNCE"
materialized/bootstrap/ghc844/happy-1.19.11/default.nix+28−55
@@ -4,24 +4,24 @@
44 packages = {
55 "binary".revision = (((hackage."binary")."0.8.5.1").revisions).default;
66 "ghc-prim".revision = (((hackage."ghc-prim")."0.5.2.0").revisions).default;
7− "array".revision = (((hackage."array")."0.5.2.0").revisions).default;
8− "integer-gmp".revision = (((hackage."integer-gmp")."1.0.2.0").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;
7+ "unix".revision = (((hackage."unix")."2.7.2.2").revisions).default;
8+ "mtl".revision = (((hackage."mtl")."2.2.2").revisions).default;
129 "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;
1315 "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;
1518 "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;
2319 "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;
2525 };
2626 compiler = {
2727 version = "8.4.4";
@@ -29,24 +29,24 @@
2929 packages = {
3030 "binary" = "0.8.5.1";
3131 "ghc-prim" = "0.5.2.0";
32− "array" = "0.5.2.0";
33− "integer-gmp" = "1.0.2.0";
34− "pretty" = "1.1.3.6";
35− "process" = "1.6.3.0";
36− "base" = "4.11.1.0";
32+ "unix" = "2.7.2.2";
33+ "mtl" = "2.2.2";
3734 "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";
3840 "text" = "1.2.3.1";
39− "mtl" = "2.2.2";
41+ "Cabal" = "2.2.0.1";
42+ "base" = "4.11.1.0";
4043 "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";
4844 "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";
5050 };
5151 };
5252 };
@@ -59,32 +59,5 @@
5959 "happy" = { flags = { "small_base" = lib.mkOverride 900 true; }; };
6060 };
6161 })
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− })
8962 ];
9063 }
materialized/bootstrap/ghc844/happy-1.19.12/.plan.nix/happy.nix+1−1
@@ -190,7 +190,7 @@
190190 (hsPkgs."process" or (errorHandler.buildDepError "process"))
191191 ];
192192 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")))
194194 ];
195195 buildable = true;
196196 mainPath = [ "test.hs" ];
materialized/bootstrap/ghc844/happy-1.19.12/default.nix+22−25
@@ -3,28 +3,40 @@
33 {
44 packages = {
55 "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+ "unix".revision = (((hackage."unix")."2.7.2.2").revisions).default;
107 "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;
129 "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;
1315 "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;
1420 };
1521 compiler = {
1622 version = "8.4.4";
1723 nix-name = "ghc844";
1824 packages = {
1925 "ghc-prim" = "0.5.2.0";
20− "array" = "0.5.2.0";
21− "integer-gmp" = "1.0.2.0";
22− "base" = "4.11.1.0";
23− "rts" = "1.0";
26+ "unix" = "2.7.2.2";
2427 "mtl" = "2.2.2";
25− "containers" = "0.5.11.0";
28+ "rts" = "1.0";
2629 "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";
2735 "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";
2840 };
2941 };
3042 };
@@ -37,20 +49,5 @@
3749 "happy" = { flags = { "small_base" = lib.mkOverride 900 true; }; };
3850 };
3951 })
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− })
5552 ];
5653 }
materialized/bootstrap/ghc844/hscolour/.plan.nix/hscolour.nix+1−1
@@ -24,7 +24,7 @@
2424 isLocal = true;
2525 detailLevel = "FullDetails";
2626 licenseFiles = [ "LICENCE-LGPL" ];
27− dataDir = ".";
27+ dataDir = "";
2828 dataFiles = [ "hscolour.css" "data/rgb24-example-.hscolour" ];
2929 extraSrcFiles = [];
3030 extraTmpFiles = [];
materialized/bootstrap/ghc844/hscolour/default.nix+8−22
@@ -3,24 +3,24 @@
33 {
44 packages = {
55 "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;
96 "rts".revision = (((hackage."rts")."1.0").revisions).default;
10− "containers".revision = (((hackage."containers")."0.5.11.0").revisions).default;
117 "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;
1212 };
1313 compiler = {
1414 version = "8.4.4";
1515 nix-name = "ghc844";
1616 packages = {
1717 "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";
2118 "rts" = "1.0";
22− "containers" = "0.5.11.0";
2319 "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";
2424 };
2525 };
2626 };
@@ -29,19 +29,5 @@
2929 modules = [
3030 ({ lib, ... }:
3131 { 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− })
4632 ];
4733 }
materialized/bootstrap/ghc882/alex/.plan.nix/alex.nix+1−1
@@ -150,7 +150,7 @@
150150 (hsPkgs."process" or (errorHandler.buildDepError "process"))
151151 ];
152152 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")))
154154 ];
155155 buildable = true;
156156 mainPath = [ "test.hs" ];
materialized/bootstrap/ghc882/alex/default.nix+18−38
@@ -3,36 +3,36 @@
33 {
44 packages = {
55 "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;
126 "unix".revision = (((hackage."unix")."2.7.2.2").revisions).default;
13− "bytestring".revision = (((hackage."bytestring")."0.10.10.0").revisions).default;
14− "containers".revision = (((hackage."containers")."0.6.2.1").revisions).default;
7+ "rts".revision = (((hackage."rts")."1.0").revisions).default;
8+ "deepseq".revision = (((hackage."deepseq")."1.4.4.0").revisions).default;
159 "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;
1614 "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;
1818 };
1919 compiler = {
2020 version = "8.8.2";
2121 nix-name = "ghc882";
2222 packages = {
2323 "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";
3024 "unix" = "2.7.2.2";
31− "bytestring" = "0.10.10.0";
32− "containers" = "0.6.2.1";
25+ "rts" = "1.0";
26+ "deepseq" = "1.4.4.0";
3327 "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";
3432 "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";
3636 };
3737 };
3838 };
@@ -45,25 +45,5 @@
4545 "alex" = { flags = { "small_base" = lib.mkOverride 900 true; }; };
4646 };
4747 })
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− })
6848 ];
6949 }
materialized/bootstrap/ghc882/happy-1.19.12/.plan.nix/happy.nix+1−1
@@ -190,7 +190,7 @@
190190 (hsPkgs."process" or (errorHandler.buildDepError "process"))
191191 ];
192192 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")))
194194 ];
195195 buildable = true;
196196 mainPath = [ "test.hs" ];
materialized/bootstrap/ghc882/happy-1.19.12/default.nix+22−44
@@ -3,40 +3,40 @@
33 {
44 packages = {
55 "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;
136 "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;
16− "directory".revision = (((hackage."directory")."1.3.4.0").revisions).default;
17− "filepath".revision = (((hackage."filepath")."1.4.2.1").revisions).default;
7+ "mtl".revision = (((hackage."mtl")."2.2.2").revisions).default;
8+ "rts".revision = (((hackage."rts")."1.0").revisions).default;
189 "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;
1915 "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;
2020 };
2121 compiler = {
2222 version = "8.8.2";
2323 nix-name = "ghc882";
2424 packages = {
2525 "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";
3326 "unix" = "2.7.2.2";
34− "bytestring" = "0.10.10.0";
35− "containers" = "0.6.2.1";
36− "directory" = "1.3.4.0";
37− "filepath" = "1.4.2.1";
27+ "mtl" = "2.2.2";
28+ "rts" = "1.0";
3829 "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";
3935 "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";
4040 };
4141 };
4242 };
@@ -49,27 +49,5 @@
4949 "happy" = { flags = { "small_base" = lib.mkOverride 900 true; }; };
5050 };
5151 })
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− })
7452 ];
7553 }
materialized/bootstrap/ghc882/hscolour/.plan.nix/hscolour.nix+1−1
@@ -24,7 +24,7 @@
2424 isLocal = true;
2525 detailLevel = "FullDetails";
2626 licenseFiles = [ "LICENCE-LGPL" ];
27− dataDir = ".";
27+ dataDir = "";
2828 dataFiles = [ "hscolour.css" "data/rgb24-example-.hscolour" ];
2929 extraSrcFiles = [];
3030 extraTmpFiles = [];
materialized/bootstrap/ghc882/hscolour/default.nix+8−22
@@ -3,24 +3,24 @@
33 {
44 packages = {
55 "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;
96 "rts".revision = (((hackage."rts")."1.0").revisions).default;
10− "containers".revision = (((hackage."containers")."0.6.2.1").revisions).default;
117 "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;
1212 };
1313 compiler = {
1414 version = "8.8.2";
1515 nix-name = "ghc882";
1616 packages = {
1717 "ghc-prim" = "0.5.3";
18− "array" = "0.5.4.0";
19− "integer-gmp" = "1.0.2.0";
20− "base" = "4.13.0.0";
2118 "rts" = "1.0";
22− "containers" = "0.6.2.1";
2319 "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";
2424 };
2525 };
2626 };
@@ -29,19 +29,5 @@
2929 modules = [
3030 ({ lib, ... }:
3131 { 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− })
4632 ];
4733 }
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.3-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.1.0 binary-0.8.8.0 bytestring-0.10.12.0
175− containers-0.6.2.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.1.0
210−haddock-interfaces:
211−haddock-html:
212−---
213−name: base
214−version: 4.14.1.0
215−visibility: public
216−id: base-4.14.1.0
217−key: base-4.14.1.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.1.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.1.0 bytestring-0.10.12.0 containers-0.6.2.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.1.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.2.1
425−visibility: public
426−id: containers-0.6.2.1
427−key: containers-0.6.2.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.2.1
467−depends: array-0.5.4.0 base-4.14.1.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.1.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.1.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.1.0 mtl-2.2.2 stm-2.5.0.0 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.1.0
591−haddock-interfaces:
592−haddock-html:
593−---
594−name: ghc-boot
595−version: 8.10.3
596−visibility: public
597−id: ghc-boot-8.10.3
598−key: ghc-boot-8.10.3
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.3
624−depends:
625− base-4.14.1.0 binary-0.8.8.0 bytestring-0.10.12.0
626− containers-0.6.2.1 directory-1.3.6.0 filepath-1.4.2.1
627− ghc-boot-th-8.10.3
628−haddock-interfaces:
629−haddock-html:
630−---
631−name: ghc-boot-th
632−version: 8.10.3
633−visibility: public
634−id: ghc-boot-th-8.10.3
635−key: ghc-boot-th-8.10.3
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.3
656−depends: base-4.14.1.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.1.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.3
693−visibility: public
694−id: ghc-heap-8.10.3
695−key: ghc-heap-8.10.3
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.3
714−depends: base-4.14.1.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.3
745−visibility: public
746−id: ghci-8.10.3
747−key: ghci-8.10.3
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.3
767−include-dirs:
768−depends:
769− array-0.5.4.0 base-4.14.1.0 binary-0.8.8.0 bytestring-0.10.12.0
770− containers-0.6.2.1 deepseq-1.4.4.0 filepath-1.4.2.1 ghc-boot-8.10.3
771− ghc-boot-th-8.10.3 ghc-heap-8.10.3 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.1.0 bytestring-0.10.12.0 containers-0.6.2.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.0 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.1.0 containers-0.6.2.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.3
892−visibility: public
893−id: libiserv-8.10.3
894−key: libiserv-8.10.3
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.3
908−depends:
909− base-4.14.1.0 binary-0.8.8.0 bytestring-0.10.12.0
910− containers-0.6.2.1 deepseq-1.4.4.0 ghci-8.10.3 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.1.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.1.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.1.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.1.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.0
1069−visibility: public
1070−id: stm-2.5.0.0
1071−key: stm-2.5.0.0
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.0
1099−depends: array-0.5.4.0 base-4.14.1.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.1.0 ghc-boot-th-8.10.3 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.1.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.1.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.1.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.1.0 bytestring-0.10.12.0 time-1.9.3
1368−haddock-interfaces:
1369−haddock-html:
1370−---
1371−name: rts
1372−version: 1.0
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.3-x86_64-linux/ghc-pkg/versiondeleted−1
@@ -1 +0,0 @@
1−GHC package manager version 8.10.3
materialized/dummy-ghc/aarch64-unknown-linux-gnu-aarch64-unknown-linux-gnu-ghc-8.10.3-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","ArchARM64")
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.3")
48− ,("Project Git commit id","6db6db46af6f8e3e24d7d16b0b43a984a9a14677")
49− ,("Booter version","8.6.5")
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.3-x86_64-linux/ghc/numeric-versiondeleted−1
materialized/dummy-ghc/aarch64-unknown-linux-gnu-aarch64-unknown-linux-gnu-ghc-8.10.3-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.3-x86_64-linux/ghc/versiondeleted−1
@@ -1 +0,0 @@
1−The Glorious Glasgow Haskell Compilation System, version 8.10.3
materialized/dummy-ghc/aarch64-unknown-linux-gnu-aarch64-unknown-linux-gnu-ghc-8.10.4-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.1.0 binary-0.8.8.0 bytestring-0.10.12.0
175− containers-0.6.2.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.1.0
210−haddock-interfaces:
211−haddock-html:
212−---
213−name: base
214−version: 4.14.1.0
215−visibility: public
216−id: base-4.14.1.0
217−key: base-4.14.1.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.1.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.1.0 bytestring-0.10.12.0 containers-0.6.2.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.1.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.2.1
425−visibility: public
426−id: containers-0.6.2.1
427−key: containers-0.6.2.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.2.1
467−depends: array-0.5.4.0 base-4.14.1.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.1.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.1.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.1.0 mtl-2.2.2 stm-2.5.0.0 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.1.0
591−haddock-interfaces:
592−haddock-html:
593−---
594−name: ghc-boot
595−version: 8.10.4
596−visibility: public
597−id: ghc-boot-8.10.4
598−key: ghc-boot-8.10.4
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.4
624−depends:
625− base-4.14.1.0 binary-0.8.8.0 bytestring-0.10.12.0
626− containers-0.6.2.1 directory-1.3.6.0 filepath-1.4.2.1
627− ghc-boot-th-8.10.4
628−haddock-interfaces:
629−haddock-html:
630−---
631−name: ghc-boot-th
632−version: 8.10.4
633−visibility: public
634−id: ghc-boot-th-8.10.4
635−key: ghc-boot-th-8.10.4
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.4
656−depends: base-4.14.1.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.1.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.4
693−visibility: public
694−id: ghc-heap-8.10.4
695−key: ghc-heap-8.10.4
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.4
714−depends: base-4.14.1.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.4
745−visibility: public
746−id: ghci-8.10.4
747−key: ghci-8.10.4
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.4
767−include-dirs:
768−depends:
769− array-0.5.4.0 base-4.14.1.0 binary-0.8.8.0 bytestring-0.10.12.0
770− containers-0.6.2.1 deepseq-1.4.4.0 filepath-1.4.2.1 ghc-boot-8.10.4
771− ghc-boot-th-8.10.4 ghc-heap-8.10.4 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.1.0 bytestring-0.10.12.0 containers-0.6.2.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.0 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.1.0 containers-0.6.2.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.4
892−visibility: public
893−id: libiserv-8.10.4
894−key: libiserv-8.10.4
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.4
908−depends:
909− base-4.14.1.0 binary-0.8.8.0 bytestring-0.10.12.0
910− containers-0.6.2.1 deepseq-1.4.4.0 ghci-8.10.4 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.1.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.1.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.1.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.1.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.0
1069−visibility: public
1070−id: stm-2.5.0.0
1071−key: stm-2.5.0.0
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.0
1099−depends: array-0.5.4.0 base-4.14.1.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.1.0 ghc-boot-th-8.10.4 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.1.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.1.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.1.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.1.0 bytestring-0.10.12.0 time-1.9.3
1368−haddock-interfaces:
1369−haddock-html:
1370−---
1371−name: rts
1372−version: 1.0
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.4-x86_64-linux/ghc-pkg/versiondeleted−1
@@ -1 +0,0 @@
1−GHC package manager version 8.10.4
materialized/dummy-ghc/aarch64-unknown-linux-gnu-aarch64-unknown-linux-gnu-ghc-8.10.4-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","ArchARM64")
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.4")
48− ,("Project Git commit id","6a01e28f4204ec17c587931311711fa76e0ea08d")
49− ,("Booter version","8.6.5")
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.4-x86_64-linux/ghc/numeric-versiondeleted−1
materialized/dummy-ghc/aarch64-unknown-linux-gnu-aarch64-unknown-linux-gnu-ghc-8.10.4-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.4-x86_64-linux/ghc/versiondeleted−1
@@ -1 +0,0 @@
1−The Glorious Glasgow Haskell Compilation System, version 8.10.4
materialized/dummy-ghc/aarch64-unknown-linux-gnu-aarch64-unknown-linux-gnu-ghc-8.10.4.20210212-x86_64-linux/ghc-pkg/dump-globaldeleted−1446
@@ -1,1446 +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.1.0 binary-0.8.8.0 bytestring-0.10.12.0
175− containers-0.6.2.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.1.0
210−haddock-interfaces:
211−haddock-html:
212−---
213−name: base
214−version: 4.14.1.0
215−visibility: public
216−id: base-4.14.1.0
217−key: base-4.14.1.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.1.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.1.0 bytestring-0.10.12.0 containers-0.6.2.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.1.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.2.1
425−visibility: public
426−id: containers-0.6.2.1
427−key: containers-0.6.2.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.2.1
467−depends: array-0.5.4.0 base-4.14.1.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.1.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.1.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.1.0 mtl-2.2.2 stm-2.5.0.0 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.1.0
591−haddock-interfaces:
592−haddock-html:
593−---
594−name: ghc-boot
595−version: 8.10.4.20210212
596−visibility: public
597−id: ghc-boot-8.10.4.20210212
598−key: ghc-boot-8.10.4.20210212
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.4.20210212
624−depends:
625− base-4.14.1.0 binary-0.8.8.0 bytestring-0.10.12.0
626− containers-0.6.2.1 directory-1.3.6.0 filepath-1.4.2.1
627− ghc-boot-th-8.10.4.20210212
628−haddock-interfaces:
629−haddock-html:
630−---
631−name: ghc-boot-th
632−version: 8.10.4.20210212
633−visibility: public
634−id: ghc-boot-th-8.10.4.20210212
635−key: ghc-boot-th-8.10.4.20210212
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.4.20210212
656−depends: base-4.14.1.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.1.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.4.20210212
693−visibility: public
694−id: ghc-heap-8.10.4.20210212
695−key: ghc-heap-8.10.4.20210212
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.4.20210212
714−depends: base-4.14.1.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.4.20210212
745−visibility: public
746−id: ghci-8.10.4.20210212
747−key: ghci-8.10.4.20210212
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.4.20210212
767−include-dirs:
768−depends:
769− array-0.5.4.0 base-4.14.1.0 binary-0.8.8.0 bytestring-0.10.12.0
770− containers-0.6.2.1 deepseq-1.4.4.0 filepath-1.4.2.1
771− ghc-boot-8.10.4.20210212 ghc-boot-th-8.10.4.20210212
772− ghc-heap-8.10.4.20210212 template-haskell-2.16.0.0
773− transformers-0.5.6.2 unix-2.7.2.2
774−haddock-interfaces:
775−haddock-html:
776−---
777−name: haskeline
778−version: 0.8.0.1
779−visibility: public
780−id: haskeline-0.8.0.1
781−key: haskeline-0.8.0.1
782−license: BSD-3-Clause
783−copyright: (c) Judah Jacobson
784−maintainer: Judah Jacobson <judah.jacobson@gmail.com>
785−author: Judah Jacobson
786−stability: Stable
787−homepage: https://github.com/judah/haskeline
788−synopsis:
789− A command-line interface for user input, written in Haskell.
790−description:
791− Haskeline provides a user interface for line input in command-line
792− programs. This library is similar in purpose to readline, but since
793− it is written in Haskell it is (hopefully) more easily used in other
794− Haskell programs.
795− Haskeline runs both on POSIX-compatible systems and on Windows.
796−category: User Interfaces
797−exposed: True
798−exposed-modules:
799− System.Console.Haskeline System.Console.Haskeline.Completion
800− System.Console.Haskeline.History System.Console.Haskeline.IO
801− System.Console.Haskeline.Internal
802−hidden-modules:
803− System.Console.Haskeline.Backend
804− System.Console.Haskeline.Backend.WCWidth
805− System.Console.Haskeline.Command
806− System.Console.Haskeline.Command.Completion
807− System.Console.Haskeline.Command.History
808− System.Console.Haskeline.Command.KillRing
809− System.Console.Haskeline.Directory System.Console.Haskeline.Emacs
810− System.Console.Haskeline.InputT System.Console.Haskeline.Key
811− System.Console.Haskeline.LineState System.Console.Haskeline.Monads
812− System.Console.Haskeline.Prefs System.Console.Haskeline.Recover
813− System.Console.Haskeline.RunCommand System.Console.Haskeline.Term
814− System.Console.Haskeline.Command.Undo System.Console.Haskeline.Vi
815− System.Console.Haskeline.Backend.Posix
816− System.Console.Haskeline.Backend.Posix.Encoder
817− System.Console.Haskeline.Backend.DumbTerm
818−import-dirs:
819−library-dirs:
820−dynamic-library-dirs:
821−data-dir:
822−hs-libraries: HShaskeline-0.8.0.1
823−depends:
824− base-4.14.1.0 bytestring-0.10.12.0 containers-0.6.2.1
825− directory-1.3.6.0 exceptions-0.10.4 filepath-1.4.2.1
826− process-1.6.9.0 stm-2.5.0.0 transformers-0.5.6.2 unix-2.7.2.2
827−haddock-interfaces:
828−haddock-html:
829−---
830−name: hpc
831−version: 0.6.1.0
832−visibility: public
833−id: hpc-0.6.1.0
834−key: hpc-0.6.1.0
835−license: BSD-3-Clause
836−maintainer: ghc-devs@haskell.org
837−author: Andy Gill
838−synopsis: Code Coverage Library for Haskell
839−description:
840− This package provides the code coverage library for Haskell.
841− See <http://www.haskell.org/haskellwiki/Haskell_program_coverage> for more
842− information.
843−category: Control
844−exposed: True
845−exposed-modules:
846− Trace.Hpc.Mix Trace.Hpc.Reflect Trace.Hpc.Tix Trace.Hpc.Util
847−import-dirs:
848−library-dirs:
849−dynamic-library-dirs:
850−data-dir:
851−hs-libraries: HShpc-0.6.1.0
852−depends:
853− base-4.14.1.0 containers-0.6.2.1 deepseq-1.4.4.0 directory-1.3.6.0
854− filepath-1.4.2.1 time-1.9.3
855−haddock-interfaces:
856−haddock-html:
857−---
858−name: integer-gmp
859−version: 1.0.3.0
860−visibility: public
861−id: integer-gmp-1.0.3.0
862−key: integer-gmp-1.0.3.0
863−license: BSD-3-Clause
864−maintainer: hvr@gnu.org
865−author: Herbert Valerio Riedel
866−synopsis: Integer library based on GMP
867−description:
868− This package provides the low-level implementation of the standard
869− 'Integer' type based on the
870− <http://gmplib.org/ GNU Multiple Precision Arithmetic Library (GMP)>.
871− This package provides access to the internal representation of
872− 'Integer' as well as primitive operations with no proper error
873− handling, and should only be used directly with the utmost care.
874−category: Numeric, Algebra
875−exposed: True
876−exposed-modules:
877− GHC.Integer GHC.Integer.GMP.Internals GHC.Integer.Logarithms
878− GHC.Integer.Logarithms.Internals
879−hidden-modules: GHC.Integer.Type
880−import-dirs:
881−library-dirs:
882−dynamic-library-dirs:
883−data-dir:
884−hs-libraries: HSinteger-gmp-1.0.3.0
885−extra-libraries: gmp
886−include-dirs:
887−depends: ghc-prim-0.6.1
888−haddock-interfaces:
889−haddock-html:
890−---
891−name: libiserv
892−version: 8.10.4.20210212
893−visibility: public
894−id: libiserv-8.10.4.20210212
895−key: libiserv-8.10.4.20210212
896−license: BSD-3-Clause
897−copyright: XXX
898−maintainer: XXX
899−author: XXX
900−synopsis: Provides shared functionality between iserv and iserv-proxy
901−category: Development
902−exposed: True
903−exposed-modules: GHCi.Utils Lib
904−import-dirs:
905−library-dirs:
906−dynamic-library-dirs:
907−data-dir:
908−hs-libraries: HSlibiserv-8.10.4.20210212
909−depends:
910− base-4.14.1.0 binary-0.8.8.0 bytestring-0.10.12.0
911− containers-0.6.2.1 deepseq-1.4.4.0 ghci-8.10.4.20210212
912− unix-2.7.2.2
913−haddock-interfaces:
914−haddock-html:
915−---
916−name: mtl
917−version: 2.2.2
918−visibility: public
919−id: mtl-2.2.2
920−key: mtl-2.2.2
921−license: BSD-3-Clause
922−maintainer: Edward Kmett <ekmett@gmail.com>
923−author: Andy Gill
924−homepage: http://github.com/haskell/mtl
925−synopsis: Monad classes, using functional dependencies
926−description:
927− Monad classes using functional dependencies, with instances
928− for various monad transformers, inspired by the paper
929− /Functional Programming with Overloading and Higher-Order Polymorphism/,
930− by Mark P Jones, in /Advanced School of Functional Programming/, 1995
931− (<http://web.cecs.pdx.edu/~mpj/pubs/springschool.html>).
932−category: Control
933−exposed: True
934−exposed-modules:
935− Control.Monad.Cont Control.Monad.Cont.Class Control.Monad.Error
936− Control.Monad.Error.Class Control.Monad.Except
937− Control.Monad.Identity Control.Monad.List Control.Monad.RWS
938− Control.Monad.RWS.Class Control.Monad.RWS.Lazy
939− Control.Monad.RWS.Strict Control.Monad.Reader
940− Control.Monad.Reader.Class Control.Monad.State
941− Control.Monad.State.Class Control.Monad.State.Lazy
942− Control.Monad.State.Strict Control.Monad.Trans Control.Monad.Writer
943− Control.Monad.Writer.Class Control.Monad.Writer.Lazy
944− Control.Monad.Writer.Strict
945−import-dirs:
946−library-dirs:
947−dynamic-library-dirs:
948−data-dir:
949−hs-libraries: HSmtl-2.2.2
950−depends: base-4.14.1.0 transformers-0.5.6.2
951−haddock-interfaces:
952−haddock-html:
953−---
954−name: parsec
955−version: 3.1.14.0
956−visibility: public
957−id: parsec-3.1.14.0
958−key: parsec-3.1.14.0
959−license: BSD-3-Clause
960−maintainer: Herbert Valerio Riedel <hvr@gnu.org>
961−author:
962− Daan Leijen <daan@microsoft.com>, Paolo Martini <paolo@nemail.it>, Antoine Latter <aslatter@gmail.com>
963−homepage: https://github.com/haskell/parsec
964−synopsis: Monadic parser combinators
965−description:
966− Parsec is designed from scratch as an industrial-strength parser
967− library. It is simple, safe, well documented (on the package
968− homepage), has extensive libraries, good error messages,
969− and is fast. It is defined as a monad transformer that can be
970− stacked on arbitrary monads, and it is also parametric in the
971− input stream type.
972− The main entry point is the "Text.Parsec" module which provides
973− defaults for parsing 'Char'acter data.
974− The "Text.ParserCombinators.Parsec" module hierarchy contains
975− the legacy @parsec-2@ API and may be removed at some point in
976− the future.
977−category: Parsing
978−exposed: True
979−exposed-modules:
980− Text.Parsec Text.Parsec.ByteString Text.Parsec.ByteString.Lazy
981− Text.Parsec.Char Text.Parsec.Combinator Text.Parsec.Error
982− Text.Parsec.Expr Text.Parsec.Language Text.Parsec.Perm
983− Text.Parsec.Pos Text.Parsec.Prim Text.Parsec.String
984− Text.Parsec.Text Text.Parsec.Text.Lazy Text.Parsec.Token
985− Text.ParserCombinators.Parsec Text.ParserCombinators.Parsec.Char
986− Text.ParserCombinators.Parsec.Combinator
987− Text.ParserCombinators.Parsec.Error
988− Text.ParserCombinators.Parsec.Expr
989− Text.ParserCombinators.Parsec.Language
990− Text.ParserCombinators.Parsec.Perm
991− Text.ParserCombinators.Parsec.Pos
992− Text.ParserCombinators.Parsec.Prim
993− Text.ParserCombinators.Parsec.Token
994−import-dirs:
995−library-dirs:
996−dynamic-library-dirs:
997−data-dir:
998−hs-libraries: HSparsec-3.1.14.0
999−depends:
1000− base-4.14.1.0 bytestring-0.10.12.0 mtl-2.2.2 text-1.2.4.1
1001−haddock-interfaces:
1002−haddock-html:
1003−---
1004−name: pretty
1005−version: 1.1.3.6
1006−visibility: public
1007−id: pretty-1.1.3.6
1008−key: pretty-1.1.3.6
1009−license: BSD-3-Clause
1010−maintainer: David Terei <code@davidterei.com>
1011−stability: Stable
1012−homepage: http://github.com/haskell/pretty
1013−synopsis: Pretty-printing library
1014−description:
1015− This package contains a pretty-printing library, a set of API's
1016− that provides a way to easily print out text in a consistent
1017− format of your choosing. This is useful for compilers and related
1018− tools.
1019− This library was originally designed by John Hughes's and has since
1020− been heavily modified by Simon Peyton Jones.
1021−category: Text
1022−exposed: True
1023−exposed-modules:
1024− Text.PrettyPrint Text.PrettyPrint.Annotated
1025− Text.PrettyPrint.Annotated.HughesPJ
1026− Text.PrettyPrint.Annotated.HughesPJClass Text.PrettyPrint.HughesPJ
1027− Text.PrettyPrint.HughesPJClass
1028−import-dirs:
1029−library-dirs:
1030−dynamic-library-dirs:
1031−data-dir:
1032−hs-libraries: HSpretty-1.1.3.6
1033−depends: base-4.14.1.0 deepseq-1.4.4.0 ghc-prim-0.6.1
1034−haddock-interfaces:
1035−haddock-html:
1036−---
1037−name: process
1038−version: 1.6.9.0
1039−visibility: public
1040−id: process-1.6.9.0
1041−key: process-1.6.9.0
1042−license: BSD-3-Clause
1043−maintainer: libraries@haskell.org
1044−synopsis: Process libraries
1045−description:
1046− This package contains libraries for dealing with system processes.
1047− The typed-process package is a more recent take on a process API,
1048− which uses this package internally. It features better binary
1049− support, easier concurrency, and a more composable API. You can
1050− read more about it at
1051− <https://github.com/fpco/typed-process/#readme>.
1052−category: System
1053−exposed: True
1054−exposed-modules: System.Cmd System.Process System.Process.Internals
1055−hidden-modules: System.Process.Common System.Process.Posix
1056−import-dirs:
1057−library-dirs:
1058−dynamic-library-dirs:
1059−data-dir:
1060−hs-libraries: HSprocess-1.6.9.0
1061−include-dirs:
1062−includes: runProcess.h
1063−depends:
1064− base-4.14.1.0 deepseq-1.4.4.0 directory-1.3.6.0 filepath-1.4.2.1
1065− unix-2.7.2.2
1066−haddock-interfaces:
1067−haddock-html:
1068−---
1069−name: stm
1070−version: 2.5.0.0
1071−visibility: public
1072−id: stm-2.5.0.0
1073−key: stm-2.5.0.0
1074−license: BSD-3-Clause
1075−maintainer: libraries@haskell.org
1076−homepage: https://wiki.haskell.org/Software_transactional_memory
1077−synopsis: Software Transactional Memory
1078−description:
1079− Software Transactional Memory, or STM, is an abstraction for
1080− concurrent communication. The main benefits of STM are
1081− /composability/ and /modularity/. That is, using STM you can write
1082− concurrent abstractions that can be easily composed with any other
1083− abstraction built using STM, without exposing the details of how
1084− your abstraction ensures safety. This is typically not the case
1085− with other forms of concurrent communication, such as locks or
1086− 'MVar's.
1087−category: Concurrency
1088−exposed: True
1089−exposed-modules:
1090− Control.Concurrent.STM Control.Concurrent.STM.TArray
1091− Control.Concurrent.STM.TBQueue Control.Concurrent.STM.TChan
1092− Control.Concurrent.STM.TMVar Control.Concurrent.STM.TQueue
1093− Control.Concurrent.STM.TSem Control.Concurrent.STM.TVar
1094− Control.Monad.STM
1095−hidden-modules: Control.Sequential.STM
1096−import-dirs:
1097−library-dirs:
1098−dynamic-library-dirs:
1099−data-dir:
1100−hs-libraries: HSstm-2.5.0.0
1101−depends: array-0.5.4.0 base-4.14.1.0
1102−haddock-interfaces:
1103−haddock-html:
1104−---
1105−name: template-haskell
1106−version: 2.16.0.0
1107−visibility: public
1108−id: template-haskell-2.16.0.0
1109−key: template-haskell-2.16.0.0
1110−license: BSD-3-Clause
1111−maintainer: libraries@haskell.org
1112−synopsis: Support library for Template Haskell
1113−description:
1114− This package provides modules containing facilities for manipulating
1115− Haskell source code using Template Haskell.
1116− See <http://www.haskell.org/haskellwiki/Template_Haskell> for more
1117− information.
1118−category: Template Haskell
1119−exposed: True
1120−exposed-modules:
1121− Language.Haskell.TH Language.Haskell.TH.LanguageExtensions
1122− Language.Haskell.TH.Lib Language.Haskell.TH.Lib.Internal
1123− Language.Haskell.TH.Ppr Language.Haskell.TH.PprLib
1124− Language.Haskell.TH.Quote Language.Haskell.TH.Syntax
1125−hidden-modules: Language.Haskell.TH.Lib.Map
1126−import-dirs:
1127−library-dirs:
1128−dynamic-library-dirs:
1129−data-dir:
1130−hs-libraries: HStemplate-haskell-2.16.0.0
1131−depends:
1132− base-4.14.1.0 ghc-boot-th-8.10.4.20210212 ghc-prim-0.6.1
1133− pretty-1.1.3.6
1134−haddock-interfaces:
1135−haddock-html:
1136−---
1137−name: text
1138−version: 1.2.4.1
1139−visibility: public
1140−id: text-1.2.4.1
1141−key: text-1.2.4.1
1142−license: BSD-2-Clause
1143−copyright: 2009-2011 Bryan O'Sullivan, 2008-2009 Tom Harper
1144−maintainer:
1145− Bryan O'Sullivan <bos@serpentine.com>, Herbert Valerio Riedel <hvr@gnu.org>
1146−author: Bryan O'Sullivan <bos@serpentine.com>
1147−homepage: https://github.com/haskell/text
1148−synopsis: An efficient packed Unicode text type.
1149−description:
1150− An efficient packed, immutable Unicode text type (both strict and
1151− lazy), with a powerful loop fusion optimization framework.
1152− The 'Text' type represents Unicode character strings, in a time and
1153− space-efficient manner. This package provides text processing
1154− capabilities that are optimized for performance critical use, both
1155− in terms of large data quantities and high speed.
1156− The 'Text' type provides character-encoding, type-safe case
1157− conversion via whole-string case conversion functions (see "Data.Text").
1158− It also provides a range of functions for converting 'Text' values to
1159− and from 'ByteStrings', using several standard encodings
1160− (see "Data.Text.Encoding").
1161− Efficient locale-sensitive support for text IO is also supported
1162− (see "Data.Text.IO").
1163− These modules are intended to be imported qualified, to avoid name
1164− clashes with Prelude functions, e.g.
1165− > import qualified Data.Text as T
1166− == ICU Support
1167− To use an extended and very rich family of functions for working
1168− with Unicode text (including normalization, regular expressions,
1169− non-standard encodings, text breaking, and locales), see
1170− the [text-icu package](https://hackage.haskell.org/package/text-icu)
1171− based on the well-respected and liberally
1172− licensed [ICU library](http://site.icu-project.org/).
1173− == Internal Representation: UTF-16 vs. UTF-8
1174− Currently the @text@ library uses UTF-16 as its internal representation
1175− which is [neither a fixed-width nor always the most dense representation](http://utf8everywhere.org/)
1176− for Unicode text. We're currently investigating the feasibility
1177− of [changing Text's internal representation to UTF-8](https://github.com/text-utf8)
1178− and if you need such a 'Text' type right now you might be interested in using the spin-off
1179− packages <https://hackage.haskell.org/package/text-utf8 text-utf8> and
1180− <https://hackage.haskell.org/package/text-short text-short>.
1181−category: Data, Text
1182−exposed: True
1183−exposed-modules:
1184− Data.Text Data.Text.Array Data.Text.Encoding
1185− Data.Text.Encoding.Error Data.Text.Foreign Data.Text.IO
1186− Data.Text.Internal Data.Text.Internal.Builder
1187− Data.Text.Internal.Builder.Functions
1188− Data.Text.Internal.Builder.Int.Digits
1189− Data.Text.Internal.Builder.RealFloat.Functions
1190− Data.Text.Internal.ByteStringCompat
1191− Data.Text.Internal.Encoding.Fusion
1192− Data.Text.Internal.Encoding.Fusion.Common
1193− Data.Text.Internal.Encoding.Utf16 Data.Text.Internal.Encoding.Utf32
1194− Data.Text.Internal.Encoding.Utf8 Data.Text.Internal.Functions
1195− Data.Text.Internal.Fusion Data.Text.Internal.Fusion.CaseMapping
1196− Data.Text.Internal.Fusion.Common Data.Text.Internal.Fusion.Size
1197− Data.Text.Internal.Fusion.Types Data.Text.Internal.IO
1198− Data.Text.Internal.Lazy Data.Text.Internal.Lazy.Encoding.Fusion
1199− Data.Text.Internal.Lazy.Fusion Data.Text.Internal.Lazy.Search
1200− Data.Text.Internal.Private Data.Text.Internal.Read
1201− Data.Text.Internal.Search Data.Text.Internal.Unsafe
1202− Data.Text.Internal.Unsafe.Char Data.Text.Internal.Unsafe.Shift
1203− Data.Text.Lazy Data.Text.Lazy.Builder Data.Text.Lazy.Builder.Int
1204− Data.Text.Lazy.Builder.RealFloat Data.Text.Lazy.Encoding
1205− Data.Text.Lazy.IO Data.Text.Lazy.Internal Data.Text.Lazy.Read
1206− Data.Text.Read Data.Text.Unsafe
1207−hidden-modules: Data.Text.Show
1208−import-dirs:
1209−library-dirs:
1210−dynamic-library-dirs:
1211−data-dir:
1212−hs-libraries: HStext-1.2.4.1
1213−depends:
1214− array-0.5.4.0 base-4.14.1.0 binary-0.8.8.0 bytestring-0.10.12.0
1215− deepseq-1.4.4.0 ghc-prim-0.6.1 integer-gmp-1.0.3.0
1216− template-haskell-2.16.0.0
1217−haddock-interfaces:
1218−haddock-html:
1219−---
1220−name: time
1221−version: 1.9.3
1222−visibility: public
1223−id: time-1.9.3
1224−key: time-1.9.3
1225−license: BSD-3-Clause
1226−maintainer: <ashley@semantic.org>
1227−author: Ashley Yakeley
1228−stability: stable
1229−homepage: https://github.com/haskell/time
1230−synopsis: A time library
1231−description: Time, clocks and calendars
1232−category: Time
1233−exposed: True
1234−exposed-modules:
1235− Data.Time Data.Time.Calendar Data.Time.Calendar.Easter
1236− Data.Time.Calendar.Julian Data.Time.Calendar.MonthDay
1237− Data.Time.Calendar.OrdinalDate Data.Time.Calendar.WeekDate
1238− Data.Time.Clock Data.Time.Clock.POSIX Data.Time.Clock.System
1239− Data.Time.Clock.TAI Data.Time.Format Data.Time.Format.ISO8601
1240− Data.Time.Format.Internal Data.Time.LocalTime
1241−hidden-modules:
1242− Data.Format Data.Time.Calendar.Private Data.Time.Calendar.Days
1243− Data.Time.Calendar.Gregorian Data.Time.Calendar.CalendarDiffDays
1244− Data.Time.Calendar.Week Data.Time.Calendar.JulianYearDay
1245− Data.Time.Clock.Internal.DiffTime
1246− Data.Time.Clock.Internal.AbsoluteTime
1247− Data.Time.Clock.Internal.NominalDiffTime
1248− Data.Time.Clock.Internal.POSIXTime
1249− Data.Time.Clock.Internal.UniversalTime
1250− Data.Time.Clock.Internal.SystemTime
1251− Data.Time.Clock.Internal.UTCTime Data.Time.Clock.Internal.CTimeval
1252− Data.Time.Clock.Internal.CTimespec Data.Time.Clock.Internal.UTCDiff
1253− Data.Time.LocalTime.Internal.TimeZone
1254− Data.Time.LocalTime.Internal.TimeOfDay
1255− Data.Time.LocalTime.Internal.CalendarDiffTime
1256− Data.Time.LocalTime.Internal.LocalTime
1257− Data.Time.LocalTime.Internal.ZonedTime Data.Time.Format.Parse
1258− Data.Time.Format.Locale Data.Time.Format.Format.Class
1259− Data.Time.Format.Format.Instances Data.Time.Format.Parse.Class
1260− Data.Time.Format.Parse.Instances
1261−import-dirs:
1262−library-dirs:
1263−dynamic-library-dirs:
1264−data-dir:
1265−hs-libraries: HStime-1.9.3
1266−include-dirs:
1267−depends: base-4.14.1.0 deepseq-1.4.4.0
1268−haddock-interfaces:
1269−haddock-html:
1270−---
1271−name: transformers
1272−version: 0.5.6.2
1273−visibility: public
1274−id: transformers-0.5.6.2
1275−key: transformers-0.5.6.2
1276−license: BSD-3-Clause
1277−maintainer: Ross Paterson <R.Paterson@city.ac.uk>
1278−author: Andy Gill, Ross Paterson
1279−synopsis: Concrete functor and monad transformers
1280−description:
1281− A portable library of functor and monad transformers, inspired by
1282− the paper
1283− * \"Functional Programming with Overloading and Higher-Order
1284− Polymorphism\", by Mark P Jones,
1285− in /Advanced School of Functional Programming/, 1995
1286− (<http://web.cecs.pdx.edu/~mpj/pubs/springschool.html>).
1287− This package contains:
1288− * the monad transformer class (in "Control.Monad.Trans.Class")
1289− * concrete functor and monad transformers, each with associated
1290− operations and functions to lift operations associated with other
1291− transformers.
1292− The package can be used on its own in portable Haskell code, in
1293− which case operations need to be manually lifted through transformer
1294− stacks (see "Control.Monad.Trans.Class" for some examples).
1295− Alternatively, it can be used with the non-portable monad classes in
1296− the @mtl@ or @monads-tf@ packages, which automatically lift operations
1297− introduced by monad transformers through other transformers.
1298−category: Control
1299−exposed: True
1300−exposed-modules:
1301− Control.Applicative.Backwards Control.Applicative.Lift
1302− Control.Monad.Signatures Control.Monad.Trans.Accum
1303− Control.Monad.Trans.Class Control.Monad.Trans.Cont
1304− Control.Monad.Trans.Error Control.Monad.Trans.Except
1305− Control.Monad.Trans.Identity Control.Monad.Trans.List
1306− Control.Monad.Trans.Maybe Control.Monad.Trans.RWS
1307− Control.Monad.Trans.RWS.CPS Control.Monad.Trans.RWS.Lazy
1308− Control.Monad.Trans.RWS.Strict Control.Monad.Trans.Reader
1309− Control.Monad.Trans.Select Control.Monad.Trans.State
1310− Control.Monad.Trans.State.Lazy Control.Monad.Trans.State.Strict
1311− Control.Monad.Trans.Writer Control.Monad.Trans.Writer.CPS
1312− Control.Monad.Trans.Writer.Lazy Control.Monad.Trans.Writer.Strict
1313− Data.Functor.Constant Data.Functor.Reverse
1314−import-dirs:
1315−library-dirs:
1316−dynamic-library-dirs:
1317−data-dir:
1318−hs-libraries: HStransformers-0.5.6.2
1319−depends: base-4.14.1.0
1320−haddock-interfaces:
1321−haddock-html:
1322−---
1323−name: unix
1324−version: 2.7.2.2
1325−visibility: public
1326−id: unix-2.7.2.2
1327−key: unix-2.7.2.2
1328−license: BSD-3-Clause
1329−maintainer: libraries@haskell.org
1330−homepage: https://github.com/haskell/unix
1331−synopsis: POSIX functionality
1332−description:
1333− This package gives you access to the set of operating system
1334− services standardised by
1335− <http://pubs.opengroup.org/onlinepubs/9699919799/ POSIX.1-2008>
1336− (or the IEEE Portable Operating System Interface for Computing
1337− Environments - IEEE Std. 1003.1).
1338− The package is not supported under Windows.
1339−category: System
1340−exposed: True
1341−exposed-modules:
1342− System.Posix System.Posix.ByteString
1343− System.Posix.ByteString.FilePath System.Posix.Directory
1344− System.Posix.Directory.ByteString System.Posix.DynamicLinker
1345− System.Posix.DynamicLinker.ByteString
1346− System.Posix.DynamicLinker.Module
1347− System.Posix.DynamicLinker.Module.ByteString
1348− System.Posix.DynamicLinker.Prim System.Posix.Env
1349− System.Posix.Env.ByteString System.Posix.Error System.Posix.Fcntl
1350− System.Posix.Files System.Posix.Files.ByteString System.Posix.IO
1351− System.Posix.IO.ByteString System.Posix.Process
1352− System.Posix.Process.ByteString System.Posix.Process.Internals
1353− System.Posix.Resource System.Posix.Semaphore System.Posix.SharedMem
1354− System.Posix.Signals System.Posix.Signals.Exts System.Posix.Temp
1355− System.Posix.Temp.ByteString System.Posix.Terminal
1356− System.Posix.Terminal.ByteString System.Posix.Time
1357− System.Posix.Unistd System.Posix.User
1358−hidden-modules:
1359− System.Posix.Directory.Common System.Posix.DynamicLinker.Common
1360− System.Posix.Files.Common System.Posix.IO.Common
1361− System.Posix.Process.Common System.Posix.Terminal.Common
1362−import-dirs:
1363−library-dirs:
1364−dynamic-library-dirs:
1365−data-dir:
1366−hs-libraries: HSunix-2.7.2.2
1367−extra-libraries: rt util dl pthread
1368−include-dirs:
1369−includes: HsUnix.h execvpe.h
1370−depends: base-4.14.1.0 bytestring-0.10.12.0 time-1.9.3
1371−haddock-interfaces:
1372−haddock-html:
1373−---
1374−name: rts
1375−version: 1.0
1376−visibility: public
1377−id: rts
1378−key: rts
1379−license: BSD-3-Clause
1380−maintainer: glasgow-haskell-users@haskell.org
1381−exposed: True
1382−library-dirs:
1383−hs-libraries: HSrts
1384−extra-libraries: m rt dl ffi numa pthread
1385−include-dirs:
1386−includes: Stg.h
1387−ld-options:
1388− "-Wl,-u,base_GHCziTopHandler_runIO_closure"
1389− "-Wl,-u,base_GHCziTopHandler_runNonIO_closure"
1390− "-Wl,-u,ghczmprim_GHCziTuple_Z0T_closure"
1391− "-Wl,-u,ghczmprim_GHCziTypes_True_closure"
1392− "-Wl,-u,ghczmprim_GHCziTypes_False_closure"
1393− "-Wl,-u,base_GHCziPack_unpackCString_closure"
1394− "-Wl,-u,base_GHCziWeak_runFinalizzerBatch_closure"
1395− "-Wl,-u,base_GHCziIOziException_stackOverflow_closure"
1396− "-Wl,-u,base_GHCziIOziException_heapOverflow_closure"
1397− "-Wl,-u,base_GHCziIOziException_allocationLimitExceeded_closure"
1398− "-Wl,-u,base_GHCziIOziException_blockedIndefinitelyOnMVar_closure"
1399− "-Wl,-u,base_GHCziIOziException_blockedIndefinitelyOnSTM_closure"
1400− "-Wl,-u,base_GHCziIOziException_cannotCompactFunction_closure"
1401− "-Wl,-u,base_GHCziIOziException_cannotCompactPinned_closure"
1402− "-Wl,-u,base_GHCziIOziException_cannotCompactMutable_closure"
1403− "-Wl,-u,base_ControlziExceptionziBase_absentSumFieldError_closure"
1404− "-Wl,-u,base_ControlziExceptionziBase_nonTermination_closure"
1405− "-Wl,-u,base_ControlziExceptionziBase_nestedAtomically_closure"
1406− "-Wl,-u,base_GHCziEventziThread_blockedOnBadFD_closure"
1407− "-Wl,-u,base_GHCziConcziSync_runSparks_closure"
1408− "-Wl,-u,base_GHCziConcziIO_ensureIOManagerIsRunning_closure"
1409− "-Wl,-u,base_GHCziConcziIO_ioManagerCapabilitiesChanged_closure"
1410− "-Wl,-u,base_GHCziConcziSignal_runHandlersPtr_closure"
1411− "-Wl,-u,base_GHCziTopHandler_flushStdHandles_closure"
1412− "-Wl,-u,base_GHCziTopHandler_runMainIO_closure"
1413− "-Wl,-u,ghczmprim_GHCziTypes_Czh_con_info"
1414− "-Wl,-u,ghczmprim_GHCziTypes_Izh_con_info"
1415− "-Wl,-u,ghczmprim_GHCziTypes_Fzh_con_info"
1416− "-Wl,-u,ghczmprim_GHCziTypes_Dzh_con_info"
1417− "-Wl,-u,ghczmprim_GHCziTypes_Wzh_con_info"
1418− "-Wl,-u,base_GHCziPtr_Ptr_con_info"
1419− "-Wl,-u,base_GHCziPtr_FunPtr_con_info"
1420− "-Wl,-u,base_GHCziInt_I8zh_con_info"
1421− "-Wl,-u,base_GHCziInt_I16zh_con_info"
1422− "-Wl,-u,base_GHCziInt_I32zh_con_info"
1423− "-Wl,-u,base_GHCziInt_I64zh_con_info"
1424− "-Wl,-u,base_GHCziWord_W8zh_con_info"
1425− "-Wl,-u,base_GHCziWord_W16zh_con_info"
1426− "-Wl,-u,base_GHCziWord_W32zh_con_info"
1427− "-Wl,-u,base_GHCziWord_W64zh_con_info"
1428− "-Wl,-u,base_GHCziStable_StablePtr_con_info"
1429− "-Wl,-u,hs_atomic_add8" "-Wl,-u,hs_atomic_add16"
1430− "-Wl,-u,hs_atomic_add32" "-Wl,-u,hs_atomic_add64"
1431− "-Wl,-u,hs_atomic_sub8" "-Wl,-u,hs_atomic_sub16"
1432− "-Wl,-u,hs_atomic_sub32" "-Wl,-u,hs_atomic_sub64"
1433− "-Wl,-u,hs_atomic_and8" "-Wl,-u,hs_atomic_and16"
1434− "-Wl,-u,hs_atomic_and32" "-Wl,-u,hs_atomic_and64"
1435− "-Wl,-u,hs_atomic_nand8" "-Wl,-u,hs_atomic_nand16"
1436− "-Wl,-u,hs_atomic_nand32" "-Wl,-u,hs_atomic_nand64"
1437− "-Wl,-u,hs_atomic_or8" "-Wl,-u,hs_atomic_or16"
1438− "-Wl,-u,hs_atomic_or32" "-Wl,-u,hs_atomic_or64"
1439− "-Wl,-u,hs_atomic_xor8" "-Wl,-u,hs_atomic_xor16"
1440− "-Wl,-u,hs_atomic_xor32" "-Wl,-u,hs_atomic_xor64"
1441− "-Wl,-u,hs_cmpxchg8" "-Wl,-u,hs_cmpxchg16" "-Wl,-u,hs_cmpxchg32"
1442− "-Wl,-u,hs_cmpxchg64" "-Wl,-u,hs_atomicread8"
1443− "-Wl,-u,hs_atomicread16" "-Wl,-u,hs_atomicread32"
1444− "-Wl,-u,hs_atomicread64" "-Wl,-u,hs_atomicwrite8"
1445− "-Wl,-u,hs_atomicwrite16" "-Wl,-u,hs_atomicwrite32"
1446− "-Wl,-u,hs_atomicwrite64"
materialized/dummy-ghc/aarch64-unknown-linux-gnu-aarch64-unknown-linux-gnu-ghc-8.10.4.20210212-x86_64-linux/ghc-pkg/versiondeleted−1
@@ -1 +0,0 @@
1−GHC package manager version 8.10.4.20210212
materialized/dummy-ghc/aarch64-unknown-linux-gnu-aarch64-unknown-linux-gnu-ghc-8.10.4.20210212-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","ArchARM64")
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.4.20210212")
48− ,("Project Git commit id","6a01e28f4204ec17c587931311711fa76e0ea08d")
49− ,("Booter version","8.6.5")
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.4.20210212-x86_64-linux/ghc/numeric-versiondeleted−1
@@ -1 +0,0 @@
1−8.10.4.20210212
materialized/dummy-ghc/aarch64-unknown-linux-gnu-aarch64-unknown-linux-gnu-ghc-8.10.4.20210212-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.4.20210212-x86_64-linux/ghc/versiondeleted−1
@@ -1 +0,0 @@
1−The Glorious Glasgow Haskell Compilation System, version 8.10.4.20210212
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
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
materialized/dummy-ghc/aarch64-unknown-linux-gnu-aarch64-unknown-linux-gnu-ghc-8.10.6-x86_64-linux/ghc/supported-languagesdeleted−255
This diff is too big to show here.
materialized/dummy-ghc/aarch64-unknown-linux-gnu-aarch64-unknown-linux-gnu-ghc-8.10.6-x86_64-linux/ghc/versiondeleted−1
This diff is too big to show here.
materialized/dummy-ghc/aarch64-unknown-linux-gnu-aarch64-unknown-linux-gnu-ghc-8.10.7-x86_64-linux/ghc-pkg/dump-globaldeleted−1443
This diff is too big to show here.
materialized/dummy-ghc/aarch64-unknown-linux-gnu-aarch64-unknown-linux-gnu-ghc-8.10.7-x86_64-linux/ghc-pkg/versiondeleted−1
This diff is too big to show here.
materialized/dummy-ghc/aarch64-unknown-linux-gnu-aarch64-unknown-linux-gnu-ghc-8.10.7-x86_64-linux/ghc/infodeleted−67
This diff is too big to show here.
materialized/dummy-ghc/aarch64-unknown-linux-gnu-aarch64-unknown-linux-gnu-ghc-8.10.7-x86_64-linux/ghc/numeric-versiondeleted−1
This diff is too big to show here.
materialized/dummy-ghc/aarch64-unknown-linux-gnu-aarch64-unknown-linux-gnu-ghc-8.10.7-x86_64-linux/ghc/supported-languagesdeleted−255
This diff is too big to show here.
materialized/dummy-ghc/aarch64-unknown-linux-gnu-aarch64-unknown-linux-gnu-ghc-8.10.7-x86_64-linux/ghc/versiondeleted−1
This diff is too big to show here.
materialized/dummy-ghc/aarch64-unknown-linux-gnu-aarch64-unknown-linux-gnu-ghc-8.8.4-x86_64-linux/ghc/info+3−1
This diff is too big to show here.
materialized/dummy-ghc/aarch64-unknown-linux-gnu-aarch64-unknown-linux-gnu-ghc-9.0.1-x86_64-linux/ghc-pkg/dump-globaldeleted−1485
This diff is too big to show here.
materialized/dummy-ghc/aarch64-unknown-linux-gnu-aarch64-unknown-linux-gnu-ghc-9.0.1-x86_64-linux/ghc-pkg/versiondeleted−1
This diff is too big to show here.
materialized/dummy-ghc/aarch64-unknown-linux-gnu-aarch64-unknown-linux-gnu-ghc-9.0.1-x86_64-linux/ghc/infodeleted−70
This diff is too big to show here.
materialized/dummy-ghc/aarch64-unknown-linux-gnu-aarch64-unknown-linux-gnu-ghc-9.0.1-x86_64-linux/ghc/numeric-versiondeleted−1
This diff is too big to show here.
materialized/dummy-ghc/aarch64-unknown-linux-gnu-aarch64-unknown-linux-gnu-ghc-9.0.1-x86_64-linux/ghc/supported-languagesdeleted−261
This diff is too big to show here.
materialized/dummy-ghc/aarch64-unknown-linux-gnu-aarch64-unknown-linux-gnu-ghc-9.0.1-x86_64-linux/ghc/versiondeleted−1
This diff is too big to show here.
materialized/dummy-ghc/aarch64-unknown-linux-gnu-aarch64-unknown-linux-gnu-ghc-9.2.4-x86_64-linux/ghc-pkg/dump-globaldeleted−1512
This diff is too big to show here.
materialized/dummy-ghc/aarch64-unknown-linux-gnu-aarch64-unknown-linux-gnu-ghc-9.2.4-x86_64-linux/ghc-pkg/versiondeleted−1
This diff is too big to show here.
materialized/dummy-ghc/aarch64-unknown-linux-gnu-aarch64-unknown-linux-gnu-ghc-9.2.4-x86_64-linux/ghc/infodeleted−66
This diff is too big to show here.
materialized/dummy-ghc/aarch64-unknown-linux-gnu-aarch64-unknown-linux-gnu-ghc-9.2.4-x86_64-linux/ghc/numeric-versiondeleted−1
This diff is too big to show here.
materialized/dummy-ghc/aarch64-unknown-linux-gnu-aarch64-unknown-linux-gnu-ghc-9.2.4-x86_64-linux/ghc/supported-languagesdeleted−268
This diff is too big to show here.
materialized/dummy-ghc/aarch64-unknown-linux-gnu-aarch64-unknown-linux-gnu-ghc-9.2.4-x86_64-linux/ghc/versiondeleted−1
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.10.2-x86_64-linux/ghc/info−6
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.10.3-x86_64-darwin/ghc-pkg/dump-globaldeleted−1638
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.10.3-x86_64-darwin/ghc-pkg/versiondeleted−1
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.10.3-x86_64-darwin/ghc/infodeleted−69
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.10.3-x86_64-darwin/ghc/numeric-versiondeleted−1
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.10.3-x86_64-darwin/ghc/supported-languagesdeleted−255
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.10.3-x86_64-darwin/ghc/versiondeleted−1
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.10.3-x86_64-linux/ghc-pkg/dump-globaldeleted−1639
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.10.3-x86_64-linux/ghc-pkg/versiondeleted−1
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.10.3-x86_64-linux/ghc/infodeleted−75
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.10.3-x86_64-linux/ghc/numeric-versiondeleted−1
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.10.3-x86_64-linux/ghc/supported-languagesdeleted−255
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.10.3-x86_64-linux/ghc/versiondeleted−1
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.10.4-x86_64-darwin/ghc-pkg/dump-globaldeleted−1638
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.10.4-x86_64-darwin/ghc-pkg/versiondeleted−1
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.10.4-x86_64-darwin/ghc/infodeleted−75
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.10.4-x86_64-darwin/ghc/numeric-versiondeleted−1
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.10.4-x86_64-darwin/ghc/supported-languagesdeleted−255
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.10.4-x86_64-darwin/ghc/versiondeleted−1
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.10.4-x86_64-linux/ghc-pkg/dump-globaldeleted−1639
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.10.4-x86_64-linux/ghc-pkg/versiondeleted−1
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.10.4-x86_64-linux/ghc/infodeleted−75
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.10.4-x86_64-linux/ghc/numeric-versiondeleted−1
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.10.4-x86_64-linux/ghc/supported-languagesdeleted−255
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.10.4-x86_64-linux/ghc/versiondeleted−1
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.10.4.20210212-x86_64-darwin/ghc-pkg/dump-globaldeleted−1642
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.10.4.20210212-x86_64-darwin/ghc-pkg/versiondeleted−1
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.10.4.20210212-x86_64-darwin/ghc/infodeleted−69
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.10.4.20210212-x86_64-darwin/ghc/numeric-versiondeleted−1
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.10.4.20210212-x86_64-darwin/ghc/supported-languagesdeleted−255
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.10.4.20210212-x86_64-darwin/ghc/versiondeleted−1
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.10.4.20210212-x86_64-linux/ghc-pkg/dump-globaldeleted−1643
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.10.4.20210212-x86_64-linux/ghc-pkg/versiondeleted−1
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.10.4.20210212-x86_64-linux/ghc/infodeleted−75
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.10.4.20210212-x86_64-linux/ghc/numeric-versiondeleted−1
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.10.4.20210212-x86_64-linux/ghc/supported-languagesdeleted−255
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.10.4.20210212-x86_64-linux/ghc/versiondeleted−1
This diff is too big to show here.
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.4.4-x86_64-darwin/ghc-pkg/dump-global+115−88
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.4.4-x86_64-darwin/ghc/info+2−7
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.4.4-x86_64-linux/ghc-pkg/dump-global+30−5
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.4.4-x86_64-linux/ghc/info+2−7
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/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.6.5-x86_64-linux/ghc-pkg/dump-global+65−2
This diff is too big to show here.
materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.6.5-x86_64-linux/ghc/info+17−18
This diff is too big to show here.
materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.8.4-x86_64-linux/ghc-pkg/dump-globaldeleted−1321
This diff is too big to show here.
materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.8.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.8.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.8.4-x86_64-linux/ghc/infodeleted−59
This diff is too big to show here.
materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.8.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.8.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.8.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.8.4-x86_64-linux/ghc/supported-languagesdeleted−247
This diff is too big to show here.
materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.8.4-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.3-x86_64-linux/ghc-pkg/dump-globaldeleted−1603
This diff is too big to show here.
materialized/dummy-ghc/x86_64-unknown-linux-musl-x86_64-unknown-linux-musl-ghc-8.10.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-8.10.3-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.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-8.10.3-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.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-8.10.4-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.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-8.10.4-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.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-8.10.4-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.4-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.20210212-x86_64-linux/ghc-pkg/dump-globaldeleted−1607
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.20210212-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.4.20210212-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.4.20210212-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.4.20210212-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.4.20210212-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.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.2-x86_64-linux/ghc-pkg/dump-globaldeleted−1437
This diff is too big to show here.
materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-8.10.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.10.2-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-8.10.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.10.2-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.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.10.3-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.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-8.10.3-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.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-8.10.3-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.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-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.4-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.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-8.10.4-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.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-8.10.4-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.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.20210212-x86_64-linux/ghc-pkg/dump-globaldeleted−1451
This diff is too big to show here.
materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-8.10.4.20210212-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.4.20210212-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.4.20210212-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.4.20210212-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.4.20210212-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.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-global−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/version−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/info−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-version−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-languages−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/version−1
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8101/Win32.nix−46
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8101/base.nix−43
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8101/ghc-heap.nix−35
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8101/ghc-prim.nix−40
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8101/integer-gmp.nix−33
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8101/template-haskell.nix−36
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8102-experimental/bytestring.nix
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8102-experimental/ghc-boot.nix+1−1
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8102-experimental/ghc.nix+1−1
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8102-experimental/ghci.nix+1−1
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8102-experimental/hpc.nix
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8102-experimental/iserv-proxy.nix+2−2
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8102-experimental/iserv.nix+1−1
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8102-experimental/libiserv.nix+1−1
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8102-experimental/remote-iserv.nix+1−1
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8102/Win32.nix−46
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8102/base.nix−43
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8102/ghc-heap.nix−35
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8102/ghc-prim.nix−43
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8102/integer-gmp.nix−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.nix−36
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8103/Win32.nix−46
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8103/base.nix−43
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8103/bytestring.nix−35
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8103/ghc-heap.nix−35
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8103/ghc-prim.nix−43
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8103/ghci.nix−44
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8103/integer-gmp.nix−33
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8103/iserv-proxy.nix−45
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8103/iserv.nix−42
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8103/remote-iserv.nix−36
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8103/template-haskell.nix−36
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8104/Win32.nix−46
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8104/base.nix−43
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8104/bytestring.nix−35
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8104/ghc-boot.nix−39
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8104/ghc-heap.nix−35
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8104/ghc-prim.nix−43
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8104/ghc.nix−62
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8104/ghci.nix−44
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8104/hpc.nix−38
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8104/integer-gmp.nix−33
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8104/iserv.nix−42
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8104/libiserv.nix−42
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8104/remote-iserv.nix−36
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8104/template-haskell.nix−36
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc810420210212/Win32.nix−46
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc810420210212/base.nix−43
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc810420210212/bytestring.nix−35
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc810420210212/ghc-boot.nix−39
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc810420210212/ghc-heap.nix−35
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc810420210212/ghc-prim.nix−43
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc810420210212/ghc.nix−62
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc810420210212/ghci.nix−44
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc810420210212/hpc.nix−38
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc810420210212/integer-gmp.nix−33
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc810420210212/iserv-proxy.nix−45
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc810420210212/iserv.nix−42
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc810420210212/libiserv.nix−42
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc810420210212/remote-iserv.nix−36
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc810420210212/template-haskell.nix−36
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8105-aarch64/Win32.nix−46
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8105-aarch64/base.nix−43
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8105-aarch64/bytestring.nix−35
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8105-aarch64/ghc-boot.nix−39
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8105-aarch64/ghc-heap.nix−35
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8105-aarch64/ghc-prim.nix−44
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8105-aarch64/ghc.nix−62
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8105-aarch64/ghci.nix−45
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8105-aarch64/hpc.nix−38
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8105-aarch64/integer-gmp.nix−33
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8105-aarch64/iserv-proxy.nix−45
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8105-aarch64/iserv.nix−42
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8105-aarch64/libiserv.nix−42
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8105-aarch64/remote-iserv.nix−36
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8105-aarch64/template-haskell.nix−36
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8105/Win32.nix−46
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8105/base.nix−43
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8105/bytestring.nix−35
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8105/ghc-boot.nix−39
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8105/ghc-heap.nix−35
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8105/ghc-prim.nix−43
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8105/ghc.nix−62
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8105/ghci.nix−45
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8105/hpc.nix−38
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8105/integer-gmp.nix−33
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8105/iserv-proxy.nix−45
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8105/libiserv.nix−42
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8105/template-haskell.nix−36
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8106-aarch64/Win32.nix−46
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8106-aarch64/base.nix−43
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8106-aarch64/bytestring.nix−35
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8106-aarch64/ghc-boot.nix−39
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8106-aarch64/ghc-heap.nix−35
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8106-aarch64/ghc-prim.nix−44
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8106-aarch64/ghc.nix−62
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8106-aarch64/ghci.nix−45
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8106-aarch64/hpc.nix−38
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8106-aarch64/integer-gmp.nix−33
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8106-aarch64/iserv-proxy.nix−45
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8106-aarch64/iserv.nix−42
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8106-aarch64/libiserv.nix−42
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8106-aarch64/remote-iserv.nix−36
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8106-aarch64/template-haskell.nix−36
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8106/Win32.nix−46
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8106/base.nix−43
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8106/bytestring.nix−35
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8106/ghc-boot.nix−39
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8106/ghc-heap.nix−35
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8106/ghc-prim.nix−43
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8106/ghc.nix−62
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8106/ghci.nix−45
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8106/hpc.nix−38
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8106/integer-gmp.nix−33
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8106/iserv-proxy.nix−45
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8106/iserv.nix−42
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8106/libiserv.nix−42
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8106/remote-iserv.nix−36
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8106/template-haskell.nix−36
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8107-aarch64/Win32.nix−46
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8107-aarch64/base.nix−43
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8107-aarch64/bytestring.nix−35
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8107-aarch64/ghc-boot.nix−39
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8107-aarch64/ghc-heap.nix−35
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8107-aarch64/ghc-prim.nix−44
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8107-aarch64/ghc.nix−62
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8107-aarch64/ghci.nix−45
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8107-aarch64/hpc.nix−38
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8107-aarch64/integer-gmp.nix−33
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8107-aarch64/iserv-proxy.nix−45
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8107-aarch64/iserv.nix−42
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8107-aarch64/libiserv.nix−42
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8107-aarch64/remote-iserv.nix−36
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8107-aarch64/template-haskell.nix−36
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8107/Win32.nix−46
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8107/base.nix−43
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8107/bytestring.nix−35
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8107/ghc-boot.nix−39
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8107/ghc-heap.nix−35
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8107/ghc-prim.nix−43
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8107/ghc.nix−62
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8107/ghci.nix−45
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8107/hpc.nix−38
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8107/integer-gmp.nix−33
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8107/iserv-proxy.nix−45
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8107/iserv.nix−42
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8107/libiserv.nix−42
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8107/remote-iserv.nix−36
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8107/template-haskell.nix−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.nix−46
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc863/base.nix−42
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc863/ghc-boot.nix−38
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc863/ghc-heap.nix−35
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc863/ghc-prim.nix−40
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc863/ghc.nix−59
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc863/ghci.nix−44
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc863/hpc.nix−37
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc863/integer-gmp.nix−33
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc863/iserv-proxy.nix−45
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc863/iserv.nix−42
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc863/libiserv.nix−42
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc863/remote-iserv.nix−36
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc863/template-haskell.nix−35
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc864/Win32.nix−46
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc864/base.nix−42
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc864/ghc-boot.nix−38
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc864/ghc-heap.nix−35
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc864/ghc-prim.nix−40
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc864/ghc.nix−60
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc864/hpc.nix−37
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc864/integer-gmp.nix−33
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc864/iserv-proxy.nix−45
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc864/iserv.nix−42
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc864/libiserv.nix−42
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc864/remote-iserv.nix−36
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc864/template-haskell.nix−35
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc865/Win32.nix−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.nix−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.nix−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.nix−35
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc882/Win32.nix−46
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc882/base.nix−42
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc882/ghc-boot.nix−38
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc882/ghc-heap.nix−35
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc882/ghc-prim.nix−40
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc882/ghc.nix−61
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc882/ghci.nix−44
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc882/hpc.nix−37
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc882/integer-gmp.nix−33
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc882/iserv-proxy.nix−45
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc882/iserv.nix−42
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc882/libiserv.nix−42
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc882/remote-iserv.nix−36
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc882/template-haskell.nix−35
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc883-aarch64/Win32.nix−46
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc883-aarch64/base.nix−42
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc883-aarch64/ghc-boot.nix−38
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc883-aarch64/ghc-heap.nix−35
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc883-aarch64/ghc-prim.nix−40
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc883-aarch64/ghc.nix−61
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc883-aarch64/ghci.nix−44
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc883-aarch64/hpc.nix−37
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc883-aarch64/integer-gmp.nix−33
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc883-aarch64/iserv-proxy.nix−45
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc883-aarch64/iserv.nix−42
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc883-aarch64/libiserv.nix−42
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc883-aarch64/remote-iserv.nix−36
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc883-aarch64/template-haskell.nix−35
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc883/Win32.nix−46
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc883/base.nix−42
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc883/ghc-heap.nix−35
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc883/ghc-prim.nix−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.nix−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.nix−35
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc884-aarch64/Win32.nix−46
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc884-aarch64/base.nix−42
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc884-aarch64/ghc-boot.nix−38
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc884-aarch64/ghc-heap.nix−35
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc884-aarch64/ghc-prim.nix−43
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc884-aarch64/ghc.nix−61
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc884-aarch64/ghci.nix−44
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc884-aarch64/hpc.nix−37
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc884-aarch64/integer-gmp.nix−33
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc884-aarch64/iserv-proxy.nix−45
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc884-aarch64/iserv.nix−42
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc884-aarch64/libiserv.nix−42
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc884-aarch64/remote-iserv.nix−36
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc884-aarch64/template-haskell.nix−35
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc884/Win32.nix−46
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc884/base.nix−42
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc884/ghc-heap.nix−35
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc884/ghc-prim.nix−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.nix−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.nix−35
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc901-aarch64/Win32.nix−49
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc901-aarch64/base.nix−48
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc901-aarch64/bytestring.nix−35
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc901-aarch64/ghc-bignum.nix−37
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc901-aarch64/ghc-boot.nix−39
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc901-aarch64/ghc-heap.nix−35
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc901-aarch64/ghc-prim.nix−44
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc901-aarch64/ghc.nix−61
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc901-aarch64/ghci.nix−44
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc901-aarch64/hpc.nix−38
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc901-aarch64/integer-gmp.nix−35
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc901-aarch64/iserv-proxy.nix−45
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc901-aarch64/iserv.nix−42
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc901-aarch64/libiserv.nix−42
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc901-aarch64/remote-iserv.nix−36
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc901-aarch64/template-haskell.nix−36
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc901/Win32.nix−49
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc901/base.nix−48
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc901/bytestring.nix−35
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc901/ghc-bignum.nix−37
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc901/ghc-boot.nix−39
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc901/ghc-heap.nix−35
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc901/ghc-prim.nix−43
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc901/ghc.nix−61
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc901/ghci.nix−44
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc901/hpc.nix−38
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc901/integer-gmp.nix−35
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc901/iserv-proxy.nix−45
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc901/iserv.nix−42
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc901/libiserv.nix−42
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc901/remote-iserv.nix−36
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc901/template-haskell.nix−36
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc902-aarch64/Win32.nix−48
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc902-aarch64/base.nix−48
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc902-aarch64/bytestring.nix−35
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc902-aarch64/ghc-bignum.nix−37
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc902-aarch64/ghc-boot.nix−39
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc902-aarch64/ghc-heap.nix−35
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc902-aarch64/ghc-prim.nix−44
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc902-aarch64/ghc.nix−61
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc902-aarch64/ghci.nix−45
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc902-aarch64/hpc.nix−38
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc902-aarch64/integer-gmp.nix−35
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc902-aarch64/iserv-proxy.nix−45
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc902-aarch64/iserv.nix−42
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc902-aarch64/libiserv.nix−42
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc902-aarch64/remote-iserv.nix−36
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc902-aarch64/template-haskell.nix−36
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc902/Win32.nix−48
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc902/base.nix−48
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc902/bytestring.nix−35
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc902/ghc-bignum.nix−37
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc902/ghc-boot.nix−39
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc902/ghc-heap.nix−35
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc902/ghc-prim.nix−43
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc902/ghc.nix−61
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc902/ghci.nix−45
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc902/hpc.nix−38
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc902/integer-gmp.nix−35
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc902/iserv-proxy.nix−45
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc902/iserv.nix−42
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc902/libiserv.nix−42
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc902/remote-iserv.nix−36
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc902/template-haskell.nix−36
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc921-aarch64/Win32.nix−48
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc921-aarch64/base.nix−48
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc921-aarch64/bytestring.nix−86
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc921-aarch64/deepseq.nix−47
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc921-aarch64/ghc-bignum.nix−37
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc921-aarch64/ghc-boot.nix−40
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc921-aarch64/ghc-heap.nix−36
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc921-aarch64/ghc-prim.nix−44
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc921-aarch64/ghc.nix−61
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc921-aarch64/ghci.nix−45
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc921-aarch64/hpc.nix−38
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc921-aarch64/integer-gmp.nix−35
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc921-aarch64/iserv-proxy.nix−45
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc921-aarch64/iserv.nix−42
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc921-aarch64/libiserv.nix−42
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc921-aarch64/pretty.nix−56
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc921-aarch64/remote-iserv.nix−36
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc921-aarch64/template-haskell.nix−36
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc921/Win32.nix−48
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc921/base.nix−48
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc921/bytestring.nix−86
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc921/deepseq.nix−47
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc921/ghc-bignum.nix−37
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc921/ghc-boot.nix−40
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc921/ghc-heap.nix−36
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc921/ghc-prim.nix−43
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc921/ghc.nix−61
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc921/ghci.nix−45
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc921/hpc.nix−38
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc921/integer-gmp.nix−35
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc921/iserv-proxy.nix−45
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc921/iserv.nix−42
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc921/libiserv.nix−42
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc921/pretty.nix−56
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc921/remote-iserv.nix−36
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc921/template-haskell.nix−36
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc922-aarch64/Win32.nix−48
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc922-aarch64/base.nix−48
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc922-aarch64/bytestring.nix−68
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc922-aarch64/deepseq.nix−47
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc922-aarch64/ghc-bignum.nix−37
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc922-aarch64/ghc-boot.nix−40
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc922-aarch64/ghc-heap.nix−36
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc922-aarch64/ghc-prim.nix−44
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc922-aarch64/ghc.nix−60
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc922-aarch64/ghci.nix−45
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc922-aarch64/hpc.nix−38
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc922-aarch64/integer-gmp.nix−35
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc922-aarch64/iserv-proxy.nix−45
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc922-aarch64/iserv.nix−42
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc922-aarch64/libiserv.nix−42
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc922-aarch64/pretty.nix−56
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc922-aarch64/remote-iserv.nix−36
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc922-aarch64/template-haskell.nix−36
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc922/Win32.nix−48
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc922/base.nix−48
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc922/bytestring.nix−68
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc922/deepseq.nix−47
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc922/ghc-bignum.nix−37
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc922/ghc-boot.nix−40
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc922/ghc-heap.nix−36
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc922/ghc-prim.nix−43
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc922/ghc.nix−60
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc922/ghci.nix−45
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc922/hpc.nix−38
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc922/integer-gmp.nix−35
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc922/iserv-proxy.nix−45
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc922/iserv.nix−42
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc922/libiserv.nix−42
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc922/pretty.nix−56
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc922/remote-iserv.nix−36
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc922/template-haskell.nix−36
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc923-aarch64/Win32.nix−48
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc923-aarch64/base.nix−48
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc923-aarch64/bytestring.nix−65
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc923-aarch64/deepseq.nix−47
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc923-aarch64/ghc-bignum.nix−37
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc923-aarch64/ghc-boot.nix−40
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc923-aarch64/ghc-heap.nix−36
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc923-aarch64/ghc-prim.nix−44
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc923-aarch64/ghc.nix−60
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc923-aarch64/ghci.nix−45
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc923-aarch64/hpc.nix−38
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc923-aarch64/integer-gmp.nix−35
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc923-aarch64/iserv-proxy.nix−45
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc923-aarch64/iserv.nix−42
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc923-aarch64/libiserv.nix−42
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc923-aarch64/pretty.nix−56
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc923-aarch64/remote-iserv.nix−36
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc923-aarch64/template-haskell.nix−36
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc923/Win32.nix−48
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc923/base.nix−48
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc923/bytestring.nix−65
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc923/deepseq.nix−47
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc923/ghc-bignum.nix−37
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc923/ghc-boot.nix−40
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc923/ghc-heap.nix−36
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc923/ghc-prim.nix−43
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc923/ghc.nix−60
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc923/ghci.nix−45
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc923/hpc.nix−38
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc923/integer-gmp.nix−35
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc923/iserv-proxy.nix−45
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc923/iserv.nix−42
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc923/libiserv.nix−42
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc923/pretty.nix−56
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc923/remote-iserv.nix−36
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc923/template-haskell.nix−36
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc924-aarch64/Win32.nix−48
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc924-aarch64/base.nix−48
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc924-aarch64/bytestring.nix−65
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc924-aarch64/deepseq.nix−47
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc924-aarch64/ghc-bignum.nix−37
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc924-aarch64/ghc-boot.nix−40
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc924-aarch64/ghc-heap.nix−36
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc924-aarch64/ghc-prim.nix−44
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc924-aarch64/ghc.nix−60
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc924-aarch64/ghci.nix−45
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc924-aarch64/hpc.nix−38
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc924-aarch64/integer-gmp.nix−35
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc924-aarch64/iserv-proxy.nix−45
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc924-aarch64/iserv.nix−42
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc924-aarch64/libiserv.nix−42
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc924-aarch64/pretty.nix−56
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc924-aarch64/remote-iserv.nix−36
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc924-aarch64/template-haskell.nix−36
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc924/Win32.nix−48
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc924/base.nix−48
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc924/bytestring.nix−65
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc924/deepseq.nix−47
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc924/ghc-bignum.nix−37
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc924/ghc-boot.nix−40
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc924/ghc-heap.nix−36
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc924/ghc-prim.nix−43
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc924/ghc.nix−60
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc924/ghci.nix−45
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc924/hpc.nix−38
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc924/integer-gmp.nix−35
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc924/iserv-proxy.nix−45
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc924/iserv.nix−42
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc924/libiserv.nix−42
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc924/pretty.nix−56
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc924/remote-iserv.nix−36
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc924/template-haskell.nix−36
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc8101/.plan.nix/Win32.nix−155
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc8101/.plan.nix/bytestring.nix+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-experimental/.plan.nix/bytestring.nix+60−4
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc8102-experimental/.plan.nix/ghc-boot.nix+2−2
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc8102-experimental/.plan.nix/ghc.nix+2−2
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc8102-experimental/.plan.nix/ghci.nix+2−2
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc8102-experimental/.plan.nix/hpc.nix+1−1
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc8102-experimental/.plan.nix/iserv-proxy.nix+2−2
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc8102-experimental/.plan.nix/iserv.nix+2−2
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc8102-experimental/.plan.nix/libiserv.nix+2−2
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc8102-experimental/.plan.nix/remote-iserv.nix+2−2
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc8102-experimental/default.nix+43−82
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc8102/.plan.nix/Win32.nix−155
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc8102/.plan.nix/bytestring.nix+136
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc8102/.plan.nix/ghc-boot.nix+1−1
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc8102/.plan.nix/ghc.nix+1−1
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc8102/.plan.nix/ghci.nix+1−1
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc8102/.plan.nix/hpc.nix+1−1
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc8102/.plan.nix/iserv-proxy.nix+2−2
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc8102/.plan.nix/iserv.nix+1−1
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc8102/.plan.nix/libiserv.nix+1−1
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc8102/.plan.nix/remote-iserv.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.nix−155
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc8103/.plan.nix/ghc.nix−586
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc8103/.plan.nix/ghci.nix−70
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc8103/.plan.nix/iserv-proxy.nix−55
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc8103/.plan.nix/iserv.nix−54
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc8103/.plan.nix/libiserv.nix−58
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc8103/default.nix−128
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc8104/.plan.nix/Win32.nix−155
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc8104/.plan.nix/ghci.nix−70
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc8104/.plan.nix/iserv.nix−54
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc8104/.plan.nix/libiserv.nix−58
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc8104/default.nix−128
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc810420210212/.plan.nix/Win32.nix−155
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc810420210212/.plan.nix/ghc-boot.nix−60
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc810420210212/.plan.nix/ghc.nix−586
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc810420210212/.plan.nix/ghci.nix−70
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc810420210212/.plan.nix/hpc.nix−52
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc810420210212/.plan.nix/iserv-proxy.nix−55
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc810420210212/.plan.nix/iserv.nix−54
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc810420210212/.plan.nix/libiserv.nix−58
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc810420210212/.plan.nix/remote-iserv.nix−46
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc810420210212/default.nix−128
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc8105/.plan.nix/Win32.nix−155
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc8105/.plan.nix/ghc-boot.nix−60
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc8105/.plan.nix/ghc.nix−586
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc8105/.plan.nix/ghci.nix−71
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc8105/.plan.nix/hpc.nix−52
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc8105/.plan.nix/iserv-proxy.nix−55
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc8105/.plan.nix/iserv.nix−54
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc8105/.plan.nix/libiserv.nix−58
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc8105/.plan.nix/remote-iserv.nix−46
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc8105/default.nix−128
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc8106/.plan.nix/Win32.nix−155
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc8106/.plan.nix/ghc-boot.nix−60
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc8106/.plan.nix/ghc.nix−586
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc8106/.plan.nix/ghci.nix−71
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc8106/.plan.nix/hpc.nix−52
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc8106/.plan.nix/iserv-proxy.nix−55
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc8106/.plan.nix/iserv.nix−54
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc8106/.plan.nix/libiserv.nix−58
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc8106/.plan.nix/remote-iserv.nix−46
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc8106/default.nix−128
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc8107/.plan.nix/Win32.nix−155
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc8107/.plan.nix/ghc-boot.nix−60
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc8107/.plan.nix/ghc.nix−586
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc8107/.plan.nix/ghci.nix−71
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc8107/.plan.nix/hpc.nix−52
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc8107/.plan.nix/iserv-proxy.nix−55
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc8107/.plan.nix/iserv.nix−54
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc8107/.plan.nix/libiserv.nix−58
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc8107/.plan.nix/remote-iserv.nix−46
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc8107/default.nix−128
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc865/.plan.nix/Win32.nix−155
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc865/.plan.nix/bytestring.nix+57−1
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc865/.plan.nix/ghc-boot.nix+1−1
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc865/.plan.nix/ghc.nix+5−1
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc865/.plan.nix/ghci.nix+1−1
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc865/.plan.nix/hpc.nix+1−1
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc865/.plan.nix/iserv-proxy.nix+2−2
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc865/.plan.nix/iserv.nix+1−1
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc865/.plan.nix/libiserv.nix+1−1
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc865/.plan.nix/remote-iserv.nix+1−1
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc865/default.nix+46−79
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc882/.plan.nix/Win32.nix−155
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc882/.plan.nix/ghc-boot.nix−53
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc882/.plan.nix/ghc.nix−573
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc882/.plan.nix/ghci.nix−70
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc882/.plan.nix/hpc.nix−51
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc882/.plan.nix/iserv-proxy.nix−55
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc882/.plan.nix/remote-iserv.nix−46
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc882/default.nix−127
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc883/.plan.nix/Win32.nix−155
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc883/.plan.nix/bytestring.nix+136
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc883/.plan.nix/ghc-boot.nix+1−1
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc883/.plan.nix/ghc.nix+5−1
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc883/.plan.nix/ghci.nix+1−1
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc883/.plan.nix/hpc.nix+1−1
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc883/.plan.nix/iserv-proxy.nix+2−2
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc883/.plan.nix/iserv.nix+1−1
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc883/.plan.nix/libiserv.nix+1−1
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc883/.plan.nix/remote-iserv.nix+1−1
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc883/default.nix+46−78
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc884/.plan.nix/Win32.nix−155
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc884/.plan.nix/bytestring.nix+167
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc884/.plan.nix/ghc-boot.nix+1−1
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc884/.plan.nix/ghc.nix+5−1
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc884/.plan.nix/ghci.nix+1−1
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc884/.plan.nix/hpc.nix+1−1
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc884/.plan.nix/iserv-proxy.nix+2−2
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc884/.plan.nix/iserv.nix+1−1
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc884/.plan.nix/libiserv.nix+1−1
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc884/.plan.nix/remote-iserv.nix+1−1
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc884/default.nix+46−78
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc901/.plan.nix/Win32.nix−158
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc901/.plan.nix/ghc-boot.nix−61
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc901/.plan.nix/ghc.nix−572
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc901/.plan.nix/ghci.nix−70
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc901/.plan.nix/hpc.nix−52
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc901/.plan.nix/iserv-proxy.nix−55
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc901/.plan.nix/remote-iserv.nix−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+136
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-experimental/.plan.nix/bytestring.nix+136
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc8102-experimental/.plan.nix/ghc-boot.nix+2−2
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc8102-experimental/.plan.nix/ghc.nix+2−2
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc8102-experimental/.plan.nix/ghci.nix+2−2
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc8102-experimental/.plan.nix/hpc.nix+1−1
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc8102-experimental/.plan.nix/iserv-proxy.nix+3−3
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc8102-experimental/.plan.nix/iserv.nix+2−2
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc8102-experimental/.plan.nix/libiserv.nix+2−2
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc8102-experimental/.plan.nix/remote-iserv.nix+2−2
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc8102-experimental/default.nix+44−82
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/ghc-boot.nix+1−1
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc8102/.plan.nix/ghc.nix+1−1
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc8102/.plan.nix/ghci.nix+1−1
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc8102/.plan.nix/hpc.nix+1−1
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc8102/.plan.nix/iserv-proxy.nix+2−2
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc8102/.plan.nix/iserv.nix+1−1
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc8102/.plan.nix/libiserv.nix+1−1
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc8102/.plan.nix/remote-iserv.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/ghc-boot.nix−60
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc8103/.plan.nix/ghc.nix−586
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc8103/.plan.nix/ghci.nix−70
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc8103/.plan.nix/hpc.nix−52
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc8103/.plan.nix/iserv-proxy.nix−55
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc8103/.plan.nix/iserv.nix−54
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc8103/.plan.nix/libiserv.nix−58
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc8103/.plan.nix/remote-iserv.nix−46
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/ghc-boot.nix−60
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc8104/.plan.nix/ghci.nix−70
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc8104/.plan.nix/hpc.nix−52
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc8104/.plan.nix/iserv-proxy.nix−55
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc8104/.plan.nix/iserv.nix−54
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc8104/.plan.nix/libiserv.nix−58
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc8104/.plan.nix/remote-iserv.nix−46
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/ghc-boot.nix−60
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc810420210212/.plan.nix/ghc.nix−586
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc810420210212/.plan.nix/ghci.nix−70
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc810420210212/.plan.nix/hpc.nix−52
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc810420210212/.plan.nix/iserv-proxy.nix−55
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc810420210212/.plan.nix/iserv.nix−54
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc810420210212/.plan.nix/libiserv.nix−58
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc810420210212/.plan.nix/remote-iserv.nix−46
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc810420210212/default.nix−129
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/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/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-boot.nix+1−1
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc865/.plan.nix/ghc.nix+5−1
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc865/.plan.nix/ghci.nix+1−1
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc865/.plan.nix/hpc.nix+1−1
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc865/.plan.nix/iserv-proxy.nix+2−2
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc865/.plan.nix/iserv.nix+1−1
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc865/.plan.nix/libiserv.nix+1−1
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc865/.plan.nix/remote-iserv.nix+1−1
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc865/default.nix+47−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-boot.nix+1−1
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc883/.plan.nix/ghc.nix+5−1
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc883/.plan.nix/ghci.nix+1−1
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc883/.plan.nix/hpc.nix+1−1
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc883/.plan.nix/iserv-proxy.nix+2−2
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc883/.plan.nix/iserv.nix+1−1
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc883/.plan.nix/libiserv.nix+1−1
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc883/.plan.nix/remote-iserv.nix+1−1
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc883/default.nix+47−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-boot.nix+1−1
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc884/.plan.nix/ghc.nix+5−1
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc884/.plan.nix/ghci.nix+1−1
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc884/.plan.nix/hpc.nix+1−1
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc884/.plan.nix/iserv-proxy.nix+2−2
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc884/.plan.nix/iserv.nix+1−1
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc884/.plan.nix/libiserv.nix+1−1
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc884/.plan.nix/remote-iserv.nix+1−1
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc884/default.nix+47−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/ghc-boot.nix−60
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc8101/.plan.nix/ghc.nix−585
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc8101/.plan.nix/ghci.nix−70
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc8101/.plan.nix/hpc.nix−52
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc8101/.plan.nix/iserv.nix−54
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc8101/.plan.nix/libiserv.nix−58
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc8101/.plan.nix/remote-iserv.nix−46
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc8101/default.nix−120
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/ghc-boot.nix+1−1
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc8102/.plan.nix/ghc.nix+1−1
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc8102/.plan.nix/ghci.nix+1−1
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc8102/.plan.nix/hpc.nix+1−1
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc8102/.plan.nix/iserv-proxy.nix+2−2
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc8102/.plan.nix/iserv.nix+1−1
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc8102/.plan.nix/libiserv.nix+1−1
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc8102/.plan.nix/remote-iserv.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/ghc-boot.nix−60
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc8103/.plan.nix/ghc.nix−586
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc8103/.plan.nix/ghci.nix−70
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc8103/.plan.nix/hpc.nix−52
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc8103/.plan.nix/iserv-proxy.nix−55
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc8103/.plan.nix/iserv.nix−54
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc8103/.plan.nix/libiserv.nix−58
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc8103/.plan.nix/remote-iserv.nix−46
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc8103/default.nix−121
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/ghc-boot.nix−60
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc8104/.plan.nix/ghc.nix−586
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc8104/.plan.nix/ghci.nix−70
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc8104/.plan.nix/hpc.nix−52
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc8104/.plan.nix/iserv-proxy.nix−55
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc8104/.plan.nix/iserv.nix−54
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc8104/.plan.nix/libiserv.nix−58
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc8104/.plan.nix/remote-iserv.nix−46
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc8104/default.nix−121
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/ghc-boot.nix−60
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc810420210212/.plan.nix/ghc.nix−586
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc810420210212/.plan.nix/ghci.nix−70
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc810420210212/.plan.nix/hpc.nix−52
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc810420210212/.plan.nix/iserv-proxy.nix−55
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc810420210212/.plan.nix/iserv.nix−54
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc810420210212/.plan.nix/libiserv.nix−58
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc810420210212/.plan.nix/remote-iserv.nix−46
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc810420210212/default.nix−121
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/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-boot.nix+1−1
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc865/.plan.nix/ghc.nix+5−1
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc865/.plan.nix/ghci.nix+1−1
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc865/.plan.nix/hpc.nix+1−1
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc865/.plan.nix/iserv-proxy.nix+2−2
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc865/.plan.nix/iserv.nix+1−1
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc865/.plan.nix/libiserv.nix+1−1
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc865/.plan.nix/remote-iserv.nix+1−1
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc865/default.nix+45−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-boot.nix+1−1
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc883/.plan.nix/ghc.nix+5−1
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc883/.plan.nix/ghci.nix+1−1
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc883/.plan.nix/hpc.nix+1−1
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc883/.plan.nix/iserv-proxy.nix+2−2
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc883/.plan.nix/iserv.nix+1−1
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc883/.plan.nix/libiserv.nix+1−1
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc883/.plan.nix/remote-iserv.nix+1−1
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc883/default.nix+45−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-boot.nix+1−1
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc884/.plan.nix/ghc.nix+5−1
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc884/.plan.nix/ghci.nix+1−1
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc884/.plan.nix/hpc.nix+1−1
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc884/.plan.nix/iserv-proxy.nix+2−2
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc884/.plan.nix/iserv.nix+1−1
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc884/.plan.nix/libiserv.nix+1−1
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc884/.plan.nix/remote-iserv.nix+1−1
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc884/default.nix+45−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+99−51
This diff is too big to show here.
materialized/ghc8101/cabal-install/default.nix+75−133
This diff is too big to show here.
materialized/ghc8101/nix-tools/.plan.nix/hackage-db.nix+3−13
This diff is too big to show here.
materialized/ghc8101/nix-tools/.plan.nix/nix-tools.nix+1−2
This diff is too big to show here.
materialized/ghc8101/nix-tools/default.nix+355
This diff is too big to show here.
materialized/ghc8102-experimental/cabal-install/.plan.nix/cabal-install.nix+5−5
This diff is too big to show here.
materialized/ghc8102-experimental/cabal-install/default.nix+25−31
This diff is too big to show here.
materialized/ghc8102-experimental/nix-tools/.plan.nix/hackage-db.nix+3−13
This diff is too big to show here.
materialized/ghc8102-experimental/nix-tools/.plan.nix/nix-tools.nix+1−2
This diff is too big to show here.
materialized/ghc8102-experimental/nix-tools/default.nix+355
This diff is too big to show here.
materialized/ghc8102/cabal-install/.plan.nix/cabal-install.nix+99−51
This diff is too big to show here.
materialized/ghc8102/cabal-install/default.nix+74−132
This diff is too big to show here.
materialized/ghc8102/nix-tools/.plan.nix/hackage-db.nix+3−13
This diff is too big to show here.
materialized/ghc8102/nix-tools/.plan.nix/nix-tools.nix+1−2
This diff is too big to show here.
materialized/ghc8102/nix-tools/default.nix+295−458
This diff is too big to show here.
materialized/ghc8103/cabal-install/.plan.nix/cabal-install.nix−292
This diff is too big to show here.
materialized/ghc8103/cabal-install/default.nix−180
This diff is too big to show here.
materialized/ghc8103/nix-tools/.plan.nix/nix-tools.nix−234
This diff is too big to show here.
materialized/ghc8103/nix-tools/default.nix−518
This diff is too big to show here.
materialized/ghc8104/cabal-install/.plan.nix/cabal-install.nix−292
This diff is too big to show here.
materialized/ghc8104/cabal-install/default.nix−180
This diff is too big to show here.
materialized/ghc8104/nix-tools/default.nix−518
This diff is too big to show here.
materialized/ghc810420210212/cabal-install/.plan.nix/cabal-install.nix−292
This diff is too big to show here.
materialized/ghc810420210212/cabal-install/default.nix−180
This diff is too big to show here.
materialized/ghc810420210212/nix-tools/default.nix−518
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/.plan.nix/hackage-db.nix−110
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/ghc844/cabal-install/.plan.nix/cabal-install.nix+5−5
This diff is too big to show here.
materialized/ghc844/cabal-install/default.nix+122
This diff is too big to show here.
materialized/ghc844/nix-tools/.plan.nix/hackage-db.nix+3−13
This diff is too big to show here.
materialized/ghc844/nix-tools/.plan.nix/nix-tools.nix+1−2
This diff is too big to show here.
materialized/ghc844/nix-tools/default.nix+355
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+99−51
This diff is too big to show here.
materialized/ghc865/cabal-install/default.nix+74−132
This diff is too big to show here.
materialized/ghc865/nix-tools/.plan.nix/hackage-db.nix+3−13
This diff is too big to show here.
materialized/ghc865/nix-tools/.plan.nix/nix-tools.nix+1−2
This diff is too big to show here.
materialized/ghc865/nix-tools/default.nix+294−448
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+99−51
This diff is too big to show here.
materialized/ghc883/cabal-install/default.nix+74−132
This diff is too big to show here.
materialized/ghc883/nix-tools/.plan.nix/hackage-db.nix+3−13
This diff is too big to show here.
materialized/ghc883/nix-tools/.plan.nix/nix-tools.nix+1−2
This diff is too big to show here.
materialized/ghc883/nix-tools/default.nix+294−448
This diff is too big to show here.
materialized/ghc884/cabal-install/.plan.nix/cabal-install.nix+99−51
This diff is too big to show here.
materialized/ghc884/cabal-install/default.nix+74−132
This diff is too big to show here.
materialized/ghc884/nix-tools/.plan.nix/hackage-db.nix+3−13
This diff is too big to show here.
materialized/ghc884/nix-tools/.plan.nix/nix-tools.nix+1−2
This diff is too big to show here.
materialized/ghc884/nix-tools/default.nix+294−448
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/.plan.nix/alex.nix+1−1
This diff is too big to show here.
materialized/ghcjs/alex/ghc865/default.nix+18−34
This diff is too big to show here.
materialized/ghcjs/alex/ghc884/.plan.nix/alex.nix+1−1
This diff is too big to show here.
materialized/ghcjs/alex/ghc884/default.nix+18−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/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−173
This diff is too big to show here.
materialized/ghcjs/cabal/ghc884/default.nix−173
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/ghc865/.plan.nix/ghcjs.nix−987
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/.plan.nix/happy.nix+1−1
This diff is too big to show here.
materialized/ghcjs/happy/ghc865/default.nix+22−25
This diff is too big to show here.
materialized/ghcjs/happy/ghc884/.plan.nix/happy.nix+1−1
This diff is too big to show here.
materialized/ghcjs/happy/ghc884/default.nix+22−25
This diff is too big to show here.
materialized/ghcjs865/.plan.nix/ghc-api-ghcjs.nix+81−48
This diff is too big to show here.
materialized/ghcjs865/.plan.nix/ghci-ghcjs.nix+1−1
This diff is too big to show here.
materialized/ghcjs865/.plan.nix/ghcjs-th.nix+1−1
This diff is too big to show here.
materialized/ghcjs865/.plan.nix/ghcjs.nix+331
This diff is too big to show here.
materialized/ghcjs865/.plan.nix/haddock-api-ghcjs.nix+184
This diff is too big to show here.
materialized/ghcjs865/.plan.nix/haddock-library-ghcjs.nix+2−2
This diff is too big to show here.
materialized/ghcjs865/.plan.nix/template-haskell-ghcjs.nix+1−1
This diff is too big to show here.
materialized/ghcjs865/default.nix+334−555
This diff is too big to show here.
materialized/ghcjs884/.plan.nix/ghcjs-th.nix+1−1
This diff is too big to show here.
materialized/ghcjs884/.plan.nix/ghcjs.nix+2−3
This diff is too big to show here.
materialized/ghcjs884/default.nix+94−96
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+10−10
This diff is too big to show here.
mkdocs.yml+1−3
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+5−15
This diff is too big to show here.
modules/configuration-nix.nix+2−114
This diff is too big to show here.
modules/error-handler.nix+2−10
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+83−144
This diff is too big to show here.
modules/plan.nix+3−39
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-tools/README.md+3
This diff is too big to show here.
nix-tools/regenerate.nix+100
This diff is too big to show here.
nix/sources.json+106
This diff is too big to show here.
nix/sources.nix+134
This diff is too big to show here.
overlays/android.nix−28
This diff is too big to show here.
overlays/armv6l-linux.nix+8−9
This diff is too big to show here.
overlays/bootstrap.nix+142−577
This diff is too big to show here.
overlays/darwin.nix+3−21
This diff is too big to show here.
overlays/default.nix+12−11
This diff is too big to show here.
overlays/emscripten.nix+19−6
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/default.nix+2−2
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/default.nix+2−2
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+55−109
This diff is too big to show here.
overlays/ghc.nix+7−13
This diff is too big to show here.
overlays/ghcjs.nix+55−55
This diff is too big to show here.
overlays/gobject-introspection.nix+3−3
This diff is too big to show here.
overlays/hackage-quirks.nix+65
This diff is too big to show here.
overlays/haskell.nix+171−382
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+10−13
This diff is too big to show here.
overlays/nix-prefetch-git-minimal.nix−29
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/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-3434.patch−68
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−7884
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/shims.nix+9
This diff is too big to show here.
overlays/tools.nix+108−28
This diff is too big to show here.
overlays/windows.nix+41−22
This diff is too big to show here.
overlays/wine.nix+8−10
This diff is too big to show here.
package-set.nix+1−1
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−5
This diff is too big to show here.
release.nix+10−54
This diff is too big to show here.
scripts/check-closure-size.nix+2−2
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+4−5
This diff is too big to show here.
scripts/check-materialization-concurrency/check.nix+2−2
This diff is too big to show here.
scripts/check-path-support.nix+3−3
This diff is too big to show here.
scripts/options-doc.nix+1−1
This diff is too big to show here.
scripts/update-docs.nix+2−2
This diff is too big to show here.
scripts/update-external.nix+5−5
This diff is too big to show here.
scripts/update-hackage.nix+2−2
This diff is too big to show here.
scripts/update-index-state-hashes.nix+2−2
This diff is too big to show here.
scripts/update-pins.nix+3−3
This diff is too big to show here.
scripts/update-stackage.nix+2−2
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−7
This diff is too big to show here.
test/buildable/default.nix+4−3
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+10−9
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+3−8
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+4−4
This diff is too big to show here.
test/cabal-simple-debug/Main.hs−4
This diff is too big to show here.
test/cabal-simple-debug/Setup.hs−2
This diff is too big to show here.
test/cabal-simple-debug/cabal-simple.cabal−37
This diff is too big to show here.
test/cabal-simple-debug/default.nix−52
This diff is too big to show here.
test/cabal-simple-prof/default.nix+10−16
This diff is too big to show here.
test/cabal-simple/default.nix+5−9
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+5−4
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+5−4
This diff is too big to show here.
test/cabal-sublib/cabal-sublib.cabal+1−2
This diff is too big to show here.
test/cabal-sublib/default.nix+4−8
This diff is too big to show here.
test/call-cabal-project-to-nix/default.nix+4−8
This diff is too big to show here.
test/call-stack-to-nix/default.nix+3−5
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/compiler-nix-name/Main.hs+5
This diff is too big to show here.
test/compiler-nix-name/compiler-nix-name.cabal+11
This diff is too big to show here.
test/compiler-nix-name/default.nix+41
This diff is too big to show here.
test/coverage-golden/default.nix−53
This diff is too big to show here.
test/coverage-golden/golden.json−2069
This diff is too big to show here.
test/coverage-no-libs/cabal.project−1
This diff is too big to show here.
test/coverage-no-libs/default.nix−104
This diff is too big to show here.
test/coverage-no-libs/pkga/MainA.hs−4
This diff is too big to show here.
test/coverage-no-libs/pkga/Setup.hs−2
This diff is too big to show here.
test/coverage-no-libs/pkga/pkga.cabal−19
This diff is too big to show here.
test/coverage-no-libs/stack.yaml−4
This diff is too big to show here.
test/coverage/default.nix+3−6
This diff is too big to show here.
test/coverage/pkgb/pkgb.cabal+1−1
This diff is too big to show here.
test/default.nix+47−65
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+4−4
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+8−7
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+3−11
This diff is too big to show here.
test/ghc-options/cabal.nix+6−13
This diff is too big to show here.
test/ghc-options/stack.nix+3−11
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−71
This diff is too big to show here.
test/githash/githash-test.cabal−16
This diff is too big to show here.
test/githash/src/Main.hs−15
This diff is too big to show here.
test/haskell-language-server/cabal.nix+21−6
This diff is too big to show here.
test/haskell-language-server/stack.nix+5−10
This diff is too big to show here.
test/index-state/default.nix+7−12
This diff is too big to show here.
test/lookup-sha256/default.nix+13
This diff is too big to show here.
test/project-flags/cabal.nix+5−4
This diff is too big to show here.
test/project-flags/stack.nix+2−4
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+24−18
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+23−17
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+4−16
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+2−4
This diff is too big to show here.
test/stack-local-resolver-subdir/.gitignore−2
This diff is too big to show here.
test/stack-local-resolver-subdir/default.nix−16
This diff is too big to show here.
test/stack-local-resolver-subdir/package.yaml−7
This diff is too big to show here.
test/stack-local-resolver-subdir/snapshot/snapshot.yaml−4
This diff is too big to show here.
test/stack-local-resolver-subdir/src/Lib.hs−6
This diff is too big to show here.
test/stack-local-resolver-subdir/stack.yaml−4
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+3−5
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+3−9
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+13−29
This diff is too big to show here.
test/with-packages/pkgs.nix+118−161
This diff is too big to show here.