2743 files changed+107−509457
.buildkite/pipeline.ymldeleted−52
@@ -1,52 +0,0 @@
1−steps:
2− - label: 'Run tests with ghc8107'
3− command: "./test/tests.sh ghc8107"
4− agents:
5− system: x86_64-linux
6−
7− - label: 'Check that jobset will evaluate in Hydra'
8− command:
9− - nix-build build.nix -A maintainer-scripts.check-hydra -o check-hydra.sh
10− - ./check-hydra.sh 0
11− - ./check-hydra.sh 1
12− - ./check-hydra.sh 2
13− - ./check-hydra.sh 3
14− agents:
15− system: x86_64-linux
16−
17− - label: 'Check closure size with ghc8107'
18− command:
19− - nix-build build.nix -A maintainer-scripts.check-closure-size --argstr compiler-nix-name ghc8107 -o check-closure-size.sh
20− - echo "+++ Closure size (MB)"
21− - ./check-closure-size.sh
22− agents:
23− system: x86_64-linux
24−
25− - label: 'Update docs'
26− command:
27− - nix-build build.nix -A maintainer-scripts.update-docs -o update-docs.sh
28− - ./update-docs.sh
29− agents:
30− system: x86_64-linux
31−
32− - label: 'Make sure materialize function does not limit concurrency'
33− command:
34− - nix-build build.nix -A maintainer-scripts.check-materialization-concurrency -o check-materialization-concurrency.sh
35− - ./check-materialization-concurrency.sh
36−
37− - label: 'Make sure non store paths like can be used as src'
38− command:
39− - nix-build build.nix -A maintainer-scripts.check-path-support --argstr compiler-nix-name ghc8107 -o check-path-support.sh
40− - ./check-path-support.sh
41−
42− - label: 'Check that the haskell.nix roots do not require IFDs'
43− command:
44− - nix build .#roots.x86_64-linux --option allow-import-from-derivation false
45− agents:
46− system: x86_64-linux
47−
48− - label: 'Check that evaluation of hydra jobs works without using remote builders'
49− command:
50− - nix-instantiate release.nix -A required-unstable-ghc8107-x86_64-darwin-native --show-trace --builders ''
51− agents:
52− system: x86_64-linux
.buildkite/updates.ymldeleted−24
@@ -1,24 +0,0 @@
1−steps:
2− - label: 'Update hackage.nix and stackage.nix'
3− command:
4− - nix-build build.nix -A maintainer-scripts.update-hackage -o update-hackage.sh
5− - echo "+++ Updating hackage.nix"
6− - ./update-hackage.sh
7− - nix-build build.nix -A maintainer-scripts.update-stackage -o update-stackage.sh
8− - echo "+++ Updating stackage.nix"
9− - ./update-stackage.sh
10− artifact_paths:
11− - "flake.lock"
12− agents:
13− system: x86_64-linux
14−
15− - wait: ~
16− continue_on_failure: true
17−
18− - label: 'Update pins'
19− command:
20− - 'buildkite-agent artifact download "flake.lock" .'
21− - nix-build build.nix -A maintainer-scripts.update-pins -o update-pins.sh
22− - ./update-pins.sh
23− agents:
24− system: x86_64-linux
.gitattributesdeleted−7
@@ -1,7 +0,0 @@
1−# GitHub Linguist annotations.
2−# Hide stuff that is generated by nix-tools plan-to-nix
3−
4−nix-tools/.plan.nix/*.nix linguist-generated=true
5−nix-tools/pkgs.nix linguist-generated=true
6−.stack-to-nix.cache linguist-generated=true
7−materialized/**/* linguist-generated=true
.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−
.gitignoredeleted−102
@@ -1,102 +0,0 @@
1−# The output of "mkdocs build"
2−/site/
3−docs/reference/modules.md
4−
5−# Nix build results
6−result*
7−/nt
8−
9−# Created by https://www.gitignore.io/api/haskell,emacs,vim
10−
11−### Emacs ###
12−# -*- mode: gitignore; -*-
13−*~
14−\#*\#
15−/.emacs.desktop
16−/.emacs.desktop.lock
17−*.elc
18−auto-save-list
19−tramp
20−.\#*
21−
22−# Org-mode
23−.org-id-locations
24−*_archive
25−
26−# flymake-mode
27−*_flymake.*
28−
29−# eshell files
30−/eshell/history
31−/eshell/lastdir
32−
33−# elpa packages
34−/elpa/
35−
36−# reftex files
37−*.rel
38−
39−# AUCTeX auto folder
40−/auto/
41−
42−# cask packages
43−.cask/
44−dist/
45−
46−# Flycheck
47−flycheck_*.el
48−
49−# server auth directory
50−/server/
51−
52−# projectiles files
53−.projectile
54−
55−# directory configuration
56−.dir-locals.el
57−
58−### Haskell ###
59−dist
60−dist-*
61−cabal-dev
62−*.o
63−*.hi
64−*.chi
65−*.chs.h
66−*.dyn_o
67−*.dyn_hi
68−.hpc
69−.hsenv
70−.cabal-sandbox/
71−cabal.sandbox.config
72−*.prof
73−*.aux
74−*.hp
75−*.eventlog
76−.stack-work/
77−cabal.project.local
78−cabal.project.local~
79−.HTF/
80−.ghc.environment.*
81−
82−### Vim ###
83−# Swap
84−[._]*.s[a-v][a-z]
85−[._]*.sw[a-p]
86−[._]s[a-rt-v][a-z]
87−[._]ss[a-gi-z]
88−[._]sw[a-p]
89−
90−# Session
91−Session.vim
92−
93−# Temporary
94−.netrwhist
95−# Auto-generated tag files
96−tags
97−# Persistent undo
98−[._]*.un~
99−
100−
101−# End of https://www.gitignore.io/api/haskell,emacs,vim
102−nix-tools-src-new.json
COPYINGdeleted−201
@@ -1,201 +0,0 @@
1− Apache License
2− Version 2.0, January 2004
3− http://www.apache.org/licenses/
4−
5− TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6−
7− 1. Definitions.
8−
9− "License" shall mean the terms and conditions for use, reproduction,
10− and distribution as defined by Sections 1 through 9 of this document.
11−
12− "Licensor" shall mean the copyright owner or entity authorized by
13− the copyright owner that is granting the License.
14−
15− "Legal Entity" shall mean the union of the acting entity and all
16− other entities that control, are controlled by, or are under common
17− control with that entity. For the purposes of this definition,
18− "control" means (i) the power, direct or indirect, to cause the
19− direction or management of such entity, whether by contract or
20− otherwise, or (ii) ownership of fifty percent (50%) or more of the
21− outstanding shares, or (iii) beneficial ownership of such entity.
22−
23− "You" (or "Your") shall mean an individual or Legal Entity
24− exercising permissions granted by this License.
25−
26− "Source" form shall mean the preferred form for making modifications,
27− including but not limited to software source code, documentation
28− source, and configuration files.
29−
30− "Object" form shall mean any form resulting from mechanical
31− transformation or translation of a Source form, including but
32− not limited to compiled object code, generated documentation,
33− and conversions to other media types.
34−
35− "Work" shall mean the work of authorship, whether in Source or
36− Object form, made available under the License, as indicated by a
37− copyright notice that is included in or attached to the work
38− (an example is provided in the Appendix below).
39−
40− "Derivative Works" shall mean any work, whether in Source or Object
41− form, that is based on (or derived from) the Work and for which the
42− editorial revisions, annotations, elaborations, or other modifications
43− represent, as a whole, an original work of authorship. For the purposes
44− of this License, Derivative Works shall not include works that remain
45− separable from, or merely link (or bind by name) to the interfaces of,
46− the Work and Derivative Works thereof.
47−
48− "Contribution" shall mean any work of authorship, including
49− the original version of the Work and any modifications or additions
50− to that Work or Derivative Works thereof, that is intentionally
51− submitted to Licensor for inclusion in the Work by the copyright owner
52− or by an individual or Legal Entity authorized to submit on behalf of
53− the copyright owner. For the purposes of this definition, "submitted"
54− means any form of electronic, verbal, or written communication sent
55− to the Licensor or its representatives, including but not limited to
56− communication on electronic mailing lists, source code control systems,
57− and issue tracking systems that are managed by, or on behalf of, the
58− Licensor for the purpose of discussing and improving the Work, but
59− excluding communication that is conspicuously marked or otherwise
60− designated in writing by the copyright owner as "Not a Contribution."
61−
62− "Contributor" shall mean Licensor and any individual or Legal Entity
63− on behalf of whom a Contribution has been received by Licensor and
64− subsequently incorporated within the Work.
65−
66− 2. Grant of Copyright License. Subject to the terms and conditions of
67− this License, each Contributor hereby grants to You a perpetual,
68− worldwide, non-exclusive, no-charge, royalty-free, irrevocable
69− copyright license to reproduce, prepare Derivative Works of,
70− publicly display, publicly perform, sublicense, and distribute the
71− Work and such Derivative Works in Source or Object form.
72−
73− 3. Grant of Patent License. Subject to the terms and conditions of
74− this License, each Contributor hereby grants to You a perpetual,
75− worldwide, non-exclusive, no-charge, royalty-free, irrevocable
76− (except as stated in this section) patent license to make, have made,
77− use, offer to sell, sell, import, and otherwise transfer the Work,
78− where such license applies only to those patent claims licensable
79− by such Contributor that are necessarily infringed by their
80− Contribution(s) alone or by combination of their Contribution(s)
81− with the Work to which such Contribution(s) was submitted. If You
82− institute patent litigation against any entity (including a
83− cross-claim or counterclaim in a lawsuit) alleging that the Work
84− or a Contribution incorporated within the Work constitutes direct
85− or contributory patent infringement, then any patent licenses
86− granted to You under this License for that Work shall terminate
87− as of the date such litigation is filed.
88−
89− 4. Redistribution. You may reproduce and distribute copies of the
90− Work or Derivative Works thereof in any medium, with or without
91− modifications, and in Source or Object form, provided that You
92− meet the following conditions:
93−
94− (a) You must give any other recipients of the Work or
95− Derivative Works a copy of this License; and
96−
97− (b) You must cause any modified files to carry prominent notices
98− stating that You changed the files; and
99−
100− (c) You must retain, in the Source form of any Derivative Works
101− that You distribute, all copyright, patent, trademark, and
102− attribution notices from the Source form of the Work,
103− excluding those notices that do not pertain to any part of
104− the Derivative Works; and
105−
106− (d) If the Work includes a "NOTICE" text file as part of its
107− distribution, then any Derivative Works that You distribute must
108− include a readable copy of the attribution notices contained
109− within such NOTICE file, excluding those notices that do not
110− pertain to any part of the Derivative Works, in at least one
111− of the following places: within a NOTICE text file distributed
112− as part of the Derivative Works; within the Source form or
113− documentation, if provided along with the Derivative Works; or,
114− within a display generated by the Derivative Works, if and
115− wherever such third-party notices normally appear. The contents
116− of the NOTICE file are for informational purposes only and
117− do not modify the License. You may add Your own attribution
118− notices within Derivative Works that You distribute, alongside
119− or as an addendum to the NOTICE text from the Work, provided
120− that such additional attribution notices cannot be construed
121− as modifying the License.
122−
123− You may add Your own copyright statement to Your modifications and
124− may provide additional or different license terms and conditions
125− for use, reproduction, or distribution of Your modifications, or
126− for any such Derivative Works as a whole, provided Your use,
127− reproduction, and distribution of the Work otherwise complies with
128− the conditions stated in this License.
129−
130− 5. Submission of Contributions. Unless You explicitly state otherwise,
131− any Contribution intentionally submitted for inclusion in the Work
132− by You to the Licensor shall be under the terms and conditions of
133− this License, without any additional terms or conditions.
134− Notwithstanding the above, nothing herein shall supersede or modify
135− the terms of any separate license agreement you may have executed
136− with Licensor regarding such Contributions.
137−
138− 6. Trademarks. This License does not grant permission to use the trade
139− names, trademarks, service marks, or product names of the Licensor,
140− except as required for reasonable and customary use in describing the
141− origin of the Work and reproducing the content of the NOTICE file.
142−
143− 7. Disclaimer of Warranty. Unless required by applicable law or
144− agreed to in writing, Licensor provides the Work (and each
145− Contributor provides its Contributions) on an "AS IS" BASIS,
146− WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
147− implied, including, without limitation, any warranties or conditions
148− of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
149− PARTICULAR PURPOSE. You are solely responsible for determining the
150− appropriateness of using or redistributing the Work and assume any
151− risks associated with Your exercise of permissions under this License.
152−
153− 8. Limitation of Liability. In no event and under no legal theory,
154− whether in tort (including negligence), contract, or otherwise,
155− unless required by applicable law (such as deliberate and grossly
156− negligent acts) or agreed to in writing, shall any Contributor be
157− liable to You for damages, including any direct, indirect, special,
158− incidental, or consequential damages of any character arising as a
159− result of this License or out of the use or inability to use the
160− Work (including but not limited to damages for loss of goodwill,
161− work stoppage, computer failure or malfunction, or any and all
162− other commercial damages or losses), even if such Contributor
163− has been advised of the possibility of such damages.
164−
165− 9. Accepting Warranty or Additional Liability. While redistributing
166− the Work or Derivative Works thereof, You may choose to offer,
167− and charge a fee for, acceptance of support, warranty, indemnity,
168− or other liability obligations and/or rights consistent with this
169− License. However, in accepting such obligations, You may act only
170− on Your own behalf and on Your sole responsibility, not on behalf
171− of any other Contributor, and only if You agree to indemnify,
172− defend, and hold each Contributor harmless for any liability
173− incurred by, or claims asserted against, such Contributor by reason
174− of your accepting any such warranty or additional liability.
175−
176− END OF TERMS AND CONDITIONS
177−
178− APPENDIX: How to apply the Apache License to your work.
179−
180− To apply the Apache License to your work, attach the following
181− boilerplate notice, with the fields enclosed by brackets "[]"
182− replaced with your own identifying information. (Don't include
183− the brackets!) The text should be enclosed in the appropriate
184− comment syntax for the file format. We also recommend that a
185− file or class name and description of purpose be included on the
186− same "printed page" as the copyright notice for easier
187− identification within third-party archives.
188−
189− Copyright 2019 Input Output HK Ltd.
190−
191− Licensed under the Apache License, Version 2.0 (the "License");
192− you may not use this file except in compliance with the License.
193− You may obtain a copy of the License at
194−
195− http://www.apache.org/licenses/LICENSE-2.0
196−
197− Unless required by applicable law or agreed to in writing, software
198− distributed under the License is distributed on an "AS IS" BASIS,
199− WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
200− See the License for the specific language governing permissions and
201− limitations under the License.
README.mddeleted−55
@@ -1,55 +0,0 @@
1−# What is this fork?
2−
3−This fork contains a patched version of GHCJS 8.10 which improves performance and memory usage.
4−
5−For more info see this PR: https://github.com/input-output-hk/haskell.nix/pull/1306
6−
7−## Package versions
8−
9−This branch is updated every day with commits from https://github.com/input-output-hk/haskell.nix/tree/master. This means that it receives all of the updates the initial project does.
10−
11−## Caching
12−
13−Building the patched compiler itself takes around 2-3 hours. The [Typeable](https://typeable.io) public nix cache probably has a cached version of the compiler. You can follow these instruction to set it up: [app.cachix.org/organization/typeable/cache/typeable](https://app.cachix.org/organization/typeable/cache/typeable).
14−
15−---
16−
17−# `haskell.nix` is infrastructure for building Haskell packages with Nix
18−
19−[](https://buildkite.com/input-output-hk/haskell-dot-nix)
20−[](https://buildkite.com/input-output-hk/haskell-dot-nix-nightly-updates)
21−
22−`haskell.nix` can automatically translate your Cabal or Stack project and
23−its dependencies into Nix code.
24−
25−## Documentation
26−
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)
30−- Explore the documentation from there to find further topics.
31−
32−## Help! Something isn't working
33−
34−The #1 problem that people have when using `haskell.nix` is that they find themselves building GHC.
35−This should not happen, but you *must* follow the `haskell.nix` setup instructions properly to avoid it.
36−If 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).
39−
40−The troubleshooting documentation also contains some help for other common issues.
41−Please give it a read before asking on IRC or opening an issue.
42−
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.
44−
45−## Related repos
46−
47−The `haskell.nix` repository contains the runtime system for building
48−Haskell packages in Nix. It depends on other repos, which are:
49−
50−- [`nix-tools`](https://github.com/input-output-hk/nix-tools) — provides the programs for generating Nix expressions from Haskell projects.
51−
52−- [`hackage.nix`](https://github.com/input-output-hk/hackage.nix) — the latest contents of the [Hackage](https://hackage.haskell.org/) databases, converted to Nix expressions.
53−
54−- [`stackage.nix`](https://github.com/input-output-hk/stackage.nix) — all of the [Stackage](https://www.stackage.org/) snapshots, converted to Nix expressions.
55−
bors.tomldeleted−8
@@ -1,8 +0,0 @@
1−status = [
2− "buildkite/haskell-dot-nix",
3− "ci/hydra:Cardano:haskell-nix:required",
4−]
5−timeout_sec = 7200
6−required_approvals = 1
7−block_labels = [ "WIP", "DO NOT MERGE" ]
8−delete_merged_branches = true
build.nixdeleted−101
@@ -1,101 +0,0 @@
1−# This file contains the package set used by the release.nix jobset.
2−#
3−# It is separate from default.nix because that file is the public API
4−# of Haskell.nix, which shouldn't have tests, etc.
5−let
6− haskellNix = (import ./default.nix {});
7−in
8−{ nixpkgs ? haskellNix.sources.nixpkgs-2111
9−, nixpkgsArgs ? haskellNix.nixpkgsArgs
10−, pkgs ? import nixpkgs nixpkgsArgs
11−, evalPackages ? import nixpkgs nixpkgsArgs
12−, nixpkgsForHydra ? haskellNix.sources.nixpkgs-2105
13−, pkgsForHydra ? import nixpkgsForHydra (nixpkgsArgs // { inherit (pkgs) system; })
14−, ifdLevel ? 1000
15−, compiler-nix-name ? throw "No `compiler-nix-name` passed to build.nix"
16−}:
17−
18−let
19− haskell = pkgs.haskell-nix;
20− buildHaskell = pkgs.buildPackages.haskell-nix;
21− tool = buildHaskell.tool;
22−in rec {
23− tests = import ./test/default.nix { inherit pkgs evalPackages ifdLevel compiler-nix-name; };
24−
25− 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− })
40− );
41−
42− # Scripts for keeping Hackage and Stackage up to date, and CI tasks.
43− # The dontRecurseIntoAttrs prevents these from building on hydra
44− # as not all of them can work in restricted eval mode (as they
45− # are not pure).
46− maintainer-scripts = pkgs.dontRecurseIntoAttrs {
47− update-hackage = import ./scripts/update-hackage.nix {
48− inherit (pkgs) stdenv lib writeScript coreutils glibc git
49− openssh nixFlakes gawk bash curl findutils;
50− # Update scripts use the internal nix-tools and cabal-install (compiled with a fixed GHC version)
51− nix-tools = haskell.internal-nix-tools;
52− cabal-install = haskell.internal-cabal-install;
53− inherit (haskell) update-index-state-hashes;
54− };
55− update-stackage = haskell.callPackage ./scripts/update-stackage.nix {
56− inherit (pkgs) stdenv lib writeScript coreutils glibc git
57− openssh nixFlakes gawk bash curl findutils;
58− # Update scripts use the internal nix-tools and cabal-install (compiled with a fixed GHC version)
59− nix-tools = haskell.internal-nix-tools;
60− cabal-install = haskell.internal-cabal-install;
61− };
62− update-pins = haskell.callPackage ./scripts/update-pins.nix {};
63− update-docs = pkgs.buildPackages.callPackage ./scripts/update-docs.nix {
64− generatedOptions = pkgs.callPackage ./scripts/options-doc.nix { };
65− };
66− # Because this is going to be used to test caching on hydra, it must not
67− # use the darcs package from the haskell.nix we are testing. For that reason
68− # it uses `pkgs.buildPackages.callPackage` not `haskell.callPackage`
69− # (We could pull in darcs from a known good haskell.nix for hydra to
70− # use)
71− check-hydra = pkgsForHydra.buildPackages.callPackage ./scripts/check-hydra.nix {};
72− check-closure-size = pkgs.buildPackages.callPackage ./scripts/check-closure-size.nix {
73− # Includes cabal-install since this is commonly used.
74− nix-tools = pkgs.linkFarm "common-tools" [
75− { name = "nix-tools"; path = haskell.nix-tools.${compiler-nix-name}; }
76− { name = "cabal-install"; path = haskell.cabal-install.${compiler-nix-name}; }
77− ];
78− };
79− 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− };
85− };
86−
87− # These are pure parts of maintainer-script so they can be built by hydra
88− # and added to the cache to speed up buildkite.
89− maintainer-script-cache = pkgs.recurseIntoAttrs (
90− (pkgs.lib.optionalAttrs (pkgsForHydra.system == "x86_64-linux") {
91− inherit (maintainer-scripts) check-hydra;
92− })
93− // (pkgs.lib.optionalAttrs (ifdLevel > 2) {
94− inherit (maintainer-scripts) update-docs check-closure-size;
95− # Some of the dependencies of the impure scripts so that they will
96− # will be in the cache too for buildkite.
97− inherit (pkgs.buildPackages) glibc coreutils git openssh cabal-install nix-prefetch-git;
98− inherit (haskell) nix-tools;
99− })
100− );
101−}
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.nixdeleted−596
@@ -1,596 +0,0 @@
1−{ pkgs, stdenv, buildPackages, ghc, lib, gobject-introspection ? null, haskellLib, makeConfigFiles, haddockBuilder, ghcForComponent, hsPkgs, compiler, runCommand, libffi, gmp, zlib, ncurses, nodejs }@defaults:
2−lib.makeOverridable (
3−let self =
4−{ componentId
5−, component
6−, package
7−, name # This is the package name
8−, setup
9−, src
10−, flags
11−, revision
12−, cabalFile
13−, cabal-generator
14−, patches ? []
15−
16−, preUnpack ? component.preUnpack, postUnpack ? component.postUnpack
17−, configureFlags ? component.configureFlags
18−, preConfigure ? component.preConfigure, postConfigure ? component.postConfigure
19−, setupBuildFlags ? component.setupBuildFlags
20−, preBuild ? component.preBuild , postBuild ? component.postBuild
21−, preCheck ? component.preCheck , postCheck ? component.postCheck
22−, setupInstallFlags ? component.setupInstallFlags
23−, preInstall ? component.preInstall , postInstall ? component.postInstall
24−, preHaddock ? component.preHaddock , postHaddock ? component.postHaddock
25−, shellHook ? ""
26−, configureAllComponents ? component.configureAllComponents ||
27− # When set, configure all the components in the package
28− # (not just the one we are building).
29− # Enable for tests in packages that use cabal-doctest.
30− ( haskellLib.isTest componentId &&
31− lib.any (x: x.identifier.name or "" == "cabal-doctest") package.setup-depends
32− )
33−, allComponent # Used when `configureAllComponents` is set to get a suitable configuration.
34−
35−, build-tools ? component.build-tools
36−, pkgconfig ? component.pkgconfig
37−, platforms ? component.platforms
38−, frameworks ? component.frameworks
39−
40−, dontPatchELF ? component.dontPatchELF
41−, dontStrip ? component.dontStrip
42−, hardeningDisable ? component.hardeningDisable
43−
44−, enableStatic ? component.enableStatic
45−, enableShared ? ghc.enableShared && component.enableShared && !haskellLib.isCrossHost
46− # on x86 we'll use shared libraries, even with musl m(
47− # ghc's internal linker seems to be broken on x86.
48− && !(stdenv.hostPlatform.isMusl && !stdenv.hostPlatform.isx86)
49−, enableDeadCodeElimination ? component.enableDeadCodeElimination
50−, writeHieFiles ? component.writeHieFiles
51−
52−, ghcOptions ? component.ghcOptions
53−, contentAddressed ? component.contentAddressed
54−
55−# Options for Haddock generation
56−, doHaddock ? component.doHaddock # Enable haddock and hoogle generation
57−, doHoogle ? component.doHoogle # Also build a hoogle index
58−, hyperlinkSource ? component.doHyperlinkSource # Link documentation to the source code
59−, 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`
61−, setupHaddockFlags ? component.setupHaddockFlags
62−
63−# Profiling
64−, enableLibraryProfiling ? component.enableLibraryProfiling
65−, enableProfiling ? component.enableProfiling
66−, profilingDetail ? component.profilingDetail
67−
68−# Coverage
69−, doCoverage ? component.doCoverage
70−
71−# Data
72−, enableSeparateDataOutput ? component.enableSeparateDataOutput
73−
74−# Prelinked ghci libraries; will make iserv faster; especially for static builds.
75−, enableLibraryForGhci ? true
76−
77−# Debug
78−, enableDebugRTS ? false
79−, enableDWARF ? false
80−
81−# This will only work with a custom TSan way enabled custom compiler
82−, enableTSanRTS ? false
83−
84−# LLVM
85−, useLLVM ? ghc.useLLVM
86−, smallAddressSpace ? false
87−
88−}@drvArgs:
89−
90−let
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−
108− # 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);
131−
132− nameOnly = "${package.identifier.name}-${componentId.ctype}-${componentId.cname}";
133−
134− fullName = "${nameOnly}-${package.identifier.version}";
135−
136− needsProfiling = enableProfiling || enableLibraryProfiling;
137−
138− configFiles = makeConfigFiles {
139− component = componentForSetup;
140− inherit (package) identifier;
141− inherit fullName flags needsProfiling enableDWARF;
142− };
143−
144− enableFeature = enable: feature:
145− (if enable then "--enable-" else "--disable-") + feature;
146−
147− disableFeature = disable: enableFeature (!disable);
148−
149− finalConfigureFlags = lib.concatStringsSep " " (
150− [ "--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)"
166− ] ++ commonConfigureFlags);
167−
168− # From nixpkgs 20.09, the pkg-config exe has a prefix matching the ghc one
169− pkgConfigHasPrefix = builtins.compareVersions lib.version "20.09pre" >= 0;
170−
171− commonConfigureFlags = ([
172− # GHC
173− "--with-ghc=${ghc.targetPrefix}ghc"
174− "--with-ghc-pkg=${ghc.targetPrefix}ghc-pkg"
175− "--with-hsc2hs=${ghc.targetPrefix}hsc2hs"
176− ] ++ lib.optional (pkgConfigHasPrefix && pkgconfig != [])
177− "--with-pkg-config=${ghc.targetPrefix}pkg-config"
178− ++ lib.optionals (stdenv.hasCC or (stdenv.cc != null))
179− ( # CC
180− [ "--with-gcc=${stdenv.cc.targetPrefix}cc"
181− ] ++
182− # BINTOOLS
183− (if stdenv.hostPlatform.isLinux && !stdenv.hostPlatform.isAndroid # might be better check to see if cc is clang/llvm?
184− # use gold as the linker on linux to improve link times
185− then [
186− "--with-ld=${stdenv.cc.bintools.targetPrefix}ld.gold"
187− "--ghc-option=-optl-fuse-ld=gold"
188− "--ld-option=-fuse-ld=gold"
189− ] else [
190− "--with-ld=${stdenv.cc.bintools.targetPrefix}ld"
191− ]
192− ) ++ [
193− "--with-ar=${stdenv.cc.bintools.targetPrefix}ar"
194− "--with-strip=${stdenv.cc.bintools.targetPrefix}strip"
195− ]
196− ) ++ [ # other flags
197− (disableFeature dontStrip "executable-stripping")
198− (disableFeature dontStrip "library-stripping")
199− (enableFeature enableLibraryProfiling "library-profiling")
200− (enableFeature enableProfiling "profiling")
201− (enableFeature enableStatic "static")
202− (enableFeature enableShared "shared")
203− (enableFeature doCoverage "coverage")
204− (enableFeature enableLibraryForGhci "library-for-ghci")
205− ] ++ lib.optionals (stdenv.hostPlatform.isMusl && (haskellLib.isExecutableType componentId)) [
206− # These flags will make sure the resulting executable is statically linked.
207− # If it uses other libraries it may be necessary for to add more
208− # `--ghc-option=-optl=-L` options to the `configureFlags` of the
209− # component.
210− "--disable-executable-dynamic"
211− "--ghc-option=-optl=-pthread"
212− "--ghc-option=-optl=-static"
213− ] ++ lib.optional enableSeparateDataOutput "--datadir=$data/share/${ghc.name}"
214− ++ lib.optional (enableLibraryProfiling || enableProfiling) "--profiling-detail=${profilingDetail}"
215− ++ lib.optional stdenv.hostPlatform.isLinux (enableFeature enableDeadCodeElimination "split-sections")
216− ++ lib.optionals haskellLib.isCrossHost (
217− map (arg: "--hsc2hs-option=" + arg) (["--cross-compile"] ++ lib.optionals (stdenv.hostPlatform.isWindows) ["--via-asm"])
218− ++ lib.optional (package.buildType == "Configure") "--configure-option=--host=${stdenv.hostPlatform.config}" )
219− ++ configureFlags
220− ++ (ghc.extraConfigureFlags or [])
221− ++ lib.optional enableDebugRTS "--ghc-option=-debug"
222− ++ lib.optional enableTSanRTS "--ghc-option=-tsan"
223− ++ lib.optional enableDWARF "--ghc-option=-g3"
224− ++ lib.optionals useLLVM [
225− "--ghc-option=-fPIC" "--gcc-option=-fPIC"
226− ]
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"
236− );
237−
238− executableToolDepends =
239− (lib.concatMap (c: if c.isHaskell or false
240− then builtins.attrValues (c.components.exes or {})
241− else [c]) build-tools) ++
242− lib.optional (pkgconfig != []) buildPackages.pkgconfig;
243−
244− # Unfortunately, we need to wrap ghc commands for cabal builds to
245− # work in the nix-shell. See ../doc/removing-with-package-wrapper.md.
246− shellWrappers = ghcForComponent {
247− componentName = fullName;
248− inherit configFiles enableDWARF;
249− inherit (component) plugins;
250− };
251−
252− # In order to let shell hooks make package-specific things like Hoogle databases
253− shellHookApplied = if builtins.isString shellHook then shellHook else
254− if builtins.isFunction shellHook then shellHook { inherit package shellWrappers; }
255− else abort "shellHook should be a string or a function";
256−
257− exeExt = if stdenv.hostPlatform.isGhcjs then ".jsexe/all.js" else
258− stdenv.hostPlatform.extensions.executable;
259− exeName = componentId.cname + exeExt;
260− testExecutable = "dist/build/${componentId.cname}/${exeName}";
261−
262− # Attributes that are common to both the build and haddock derivations
263− commonAttrs = {
264− src = cleanSrc.root;
265−
266− LANG = "en_US.UTF-8"; # GHC needs the locale configured during the Haddock phase.
267− LC_ALL = "en_US.UTF-8";
268−
269− enableParallelBuilding = true;
270−
271− SETUP_HS = setup + /bin/Setup;
272−
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− );
294− }
295− # patches can (if they like) depend on the version and revision of the package.
296− // lib.optionalAttrs (patches != []) {
297− patches = map (p:
298− if builtins.isFunction p
299− then p { inherit (package.identifier) version; inherit revision; }
300− else p
301− ) patches;
302− }
303− // haskellLib.optionalHooks {
304− # These are hooks are needed to set up the source for building and running haddock
305− inherit preUnpack postUnpack preConfigure postConfigure;
306− }
307− // lib.optionalAttrs (stdenv.buildPlatform.libc == "glibc") {
308− LOCALE_ARCHIVE = "${buildPackages.glibcLocales}/lib/locale/locale-archive";
309− };
310−
311− haddock = haddockBuilder {
312− inherit componentId component package flags commonConfigureFlags
313− commonAttrs revision doHaddock
314− doHoogle hyperlinkSource quickjump setupHaddockFlags
315− needsProfiling configFiles preHaddock postHaddock pkgconfig;
316−
317− componentDrv = drv;
318− };
319−
320− contentAddressedAttrs = lib.optionalAttrs contentAddressed {
321− __contentAddressed = true;
322− outputHashMode = "recursive";
323− outputHashAlgo = "sha256";
324− };
325−
326− drv = stdenv.mkDerivation (commonAttrs // contentAddressedAttrs // {
327− pname = nameOnly;
328− inherit (package.identifier) version;
329−
330− doCheck = false;
331− doCrossCheck = false;
332−
333− inherit dontPatchELF dontStrip;
334−
335− passthru = {
336− inherit (package) identifier;
337− config = component;
338− srcSubDir = cleanSrc.subDir;
339− srcSubDirPath = cleanSrc.root + cleanSrc.subDir;
340− inherit configFiles executableToolDepends exeName enableDWARF;
341− exePath = drv + "/bin/${exeName}";
342− env = shellWrappers;
343− profiled = self (drvArgs // { enableLibraryProfiling = true; });
344− dwarf = self (drvArgs // { enableDWARF = true; });
345− } // lib.optionalAttrs (haskellLib.isLibrary componentId) ({
346− inherit haddock;
347− inherit (haddock) haddockDir; # This is null if `doHaddock = false`
348− } // lib.optionalAttrs (haddock ? doc) {
349− # `doHaddock = false` turns the doc of haddock output off
350− inherit (haddock) doc;
351− }
352− );
353−
354− meta = {
355− homepage = package.homepage or "";
356− 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;
367− };
368−
369− propagatedBuildInputs =
370− frameworks # Frameworks will be needed at link time
371− # Not sure why pkgconfig needs to be propagatedBuildInputs but
372− # 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);
377−
378− buildInputs = lib.optionals (!stdenv.hostPlatform.isWindows)
379− (lib.flatten component.libs
380− ++ map haskellLib.dependToLib component.depends);
381−
382− nativeBuildInputs =
383− [shellWrappers buildPackages.removeReferencesTo]
384− ++ executableToolDepends;
385−
386− outputs = ["out" ]
387− ++ (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− '') +
399− (lib.optionalString keepSource ''
400− cp -r . $source
401− cd $source
402− chmod -R +w .
403− '') + commonAttrs.prePatch;
404−
405− configurePhase = ''
406− runHook preConfigure
407− echo Configure flags:
408− printf "%q " ${finalConfigureFlags}
409− echo
410− $SETUP_HS configure ${finalConfigureFlags}
411− runHook postConfigure
412− '';
413−
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− '');
444−
445− # Note: Cabal does *not* copy test executables during the `install` phase.
446− #
447− # Note 2: if a package contains multiple libs (lib + sublibs) SETUP register will generate a
448− # folder instead of a file for the configuration. Therefore if the result is a folder,
449− # we need to register each and every element of that folder.
450− #
451− # Note 3: if a package has no libs SETUP will not generate anything. This can
452− # happen when building the `all` component of a package.
453− installPhase = let
454− target-pkg-and-db = "${ghc.targetPrefix}ghc-pkg -v0 --package-db $out/package.conf.d";
455− in ''
456− runHook preInstall
457− $SETUP_HS copy ${lib.concatStringsSep " " (
458− setupInstallFlags
459− ++ lib.optional configureAllComponents
460− (haskellLib.componentTarget componentId)
461− )}
462− ${lib.optionalString (haskellLib.isLibrary componentId) ''
463− $SETUP_HS register --gen-pkg-config=${name}.conf
464− ${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
466−
467− mkdir -p $out/exactDep
468− touch $out/exactDep/configure-flags
469− touch $out/exactDep/cabal.config
470− touch $out/envDep
471−
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− }
509− ''}
510− ${(lib.optionalString (haskellLib.isTest componentId || haskellLib.isBenchmark componentId) ''
511− mkdir -p $out/bin
512− if [ -f ${testExecutable} ]; then
513− mkdir -p $(dirname $out/bin/${exeName})
514− ${if stdenv.hostPlatform.isGhcjs then ''
515− cat <(echo \#!${lib.getBin buildPackages.nodejs-12_x}/bin/node) ${testExecutable} >| $out/bin/${exeName}
516− chmod +x $out/bin/${exeName}
517− '' else ''
518− cp -r ${testExecutable} $(dirname $out/bin/${exeName})
519− ''}
520− fi
521− '')
522− # 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)) (''
527− echo "Symlink libffi and gmp .dlls ..."
528− for p in ${lib.concatStringsSep " " [ libffi gmp ]}; do
529− find "$p" -iname '*.dll' -exec ln -s {} $out/bin \;
530− done
531− ''
532− # 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 \;
537− done
538− ''))
539− + (lib.optionalString doCoverage ''
540− mkdir -p $out/share
541− cp -r dist/hpc $out/share
542− cp dist/setup-config $out/
543− '')
544− }
545− 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
567− '') + (lib.optionalString (haskellLib.isTest componentId) ''
568− echo The test ${package.identifier.name}.components.tests.${componentId.cname} was built. To run the test build ${package.identifier.name}.checks.${componentId.cname}.
569− '');
570−
571− doInstallCheck = true;
572− installCheckPhase = lib.optionalString (haskellLib.isLibrary componentId) ''
573− if test -n "$(shopt -s nullglob; echo $out/package.conf.d/${name}-*.conf)"; then
574− echo $out/package.conf.d/${name}-*.conf " is present"
575− else
576− echo "ERROR: $out/package.conf.d/${name}-*.conf was not created"
577− exit 1
578− fi
579− '';
580−
581− shellHook = ''
582− export PATH="${shellWrappers}/bin:$PATH"
583− ${shellHookApplied}
584− '';
585− }
586− // haskellLib.optionalHooks {
587− # These are the hooks that are not needed by haddock (see commonAttrs for the ones that
588− # are shared with the haddock derivation)
589− inherit
590− preBuild postBuild
591− preInstall postInstall;
592− }
593− // lib.optionalAttrs (hardeningDisable != [] || stdenv.hostPlatform.isMusl) {
594− hardeningDisable = hardeningDisable ++ lib.optional stdenv.hostPlatform.isMusl "pie";
595− });
596−in drv; in self)
builder/default.nixdeleted−93
@@ -1,93 +0,0 @@
1−{ pkgs, buildPackages, evalPackages, stdenv, lib, haskellLib, ghc, compiler-nix-name, fetchurl, pkgconfig, nonReinstallablePkgs, hsPkgs, compiler }:
2−
3−let
4− # Builds a single component of a package.
5− comp-builder = haskellLib.weakCallPackage pkgs ./comp-builder.nix {
6− inherit ghc haskellLib makeConfigFiles haddockBuilder ghcForComponent hsPkgs compiler;
7− };
8−
9− haddockBuilder = haskellLib.weakCallPackage pkgs ./haddock-builder.nix {
10− inherit ghc ghcForComponent haskellLib makeConfigFiles nonReinstallablePkgs;
11− };
12−
13− setup-builder = haskellLib.weakCallPackage pkgs ./setup-builder.nix {
14− ghc = (ghc.passthru.buildGHC or ghc);
15− hsPkgs = hsPkgs.buildPackages;
16− # We need to use the buildPackages stdenv to build the setup-builder.
17− # in the native case, it would be the same in the cross case however
18− # we *really* want to build the Setup.hs on the build machine and not
19− # have the stdenv confuse it with the target/host env.
20− inherit (buildPackages) stdenv pkgconfig;
21− inherit buildPackages;
22− inherit haskellLib nonReinstallablePkgs makeSetupConfigFiles;
23− };
24−
25− # Wraps GHC to provide dependencies in a way that works for both the
26− # component builder and for nix-shells.
27− ghcForComponent = import ./ghc-for-component-wrapper.nix {
28− inherit lib ghc haskellLib;
29− inherit (buildPackages) stdenv;
30− inherit (buildPackages.buildPackages) runCommand makeWrapper;
31− inherit (buildPackages.buildPackages.xorg) lndir;
32− };
33−
34− # Builds a derivation which contains a ghc package-db of
35− # dependencies for a component.
36− makeConfigFiles = haskellLib.weakCallPackage pkgs ./make-config-files.nix {
37− inherit ghc haskellLib nonReinstallablePkgs;
38− };
39− # When building setup depends we need to use the build systems GHC and Packages
40− makeSetupConfigFiles = haskellLib.weakCallPackage buildPackages ./make-config-files.nix {
41− inherit haskellLib nonReinstallablePkgs;
42− ghc = (ghc.passthru.buildGHC or ghc);
43− };
44−
45−
46− hoogleLocal = let
47− 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";
51− index-state = pkgs.haskell-nix.internalHackageIndexState;
52− }
53− }:
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;
67−
68− # Same as haskellPackages.shellFor in nixpkgs.
69− shellFor = haskellLib.weakCallPackage pkgs ./shell-for.nix {
70− inherit hsPkgs ghcForComponent makeConfigFiles hoogleLocal haskellLib buildPackages evalPackages compiler;
71− inherit (buildPackages) glibcLocales;
72− };
73−
74− # Same as haskellPackages.ghcWithPackages and ghcWithHoogle in nixpkgs.
75− withPackages = {withHoogle}: packages: (shellFor {
76− name = ghc.name + "-with-packages";
77− packages = _: [];
78− additional = packages;
79− inherit withHoogle;
80− }).ghc;
81−
82−in {
83− # Build a Haskell package from its config.
84− # TODO: this pkgs is the adjusted pkgs, but pkgs.pkgs is unadjusted
85− build-package = haskellLib.weakCallPackage pkgs ./hspkg-builder.nix {
86− inherit haskellLib ghc compiler-nix-name comp-builder setup-builder;
87− };
88−
89− inherit shellFor makeConfigFiles;
90−
91− ghcWithPackages = withPackages { withHoogle = false; };
92− ghcWithHoogle = withPackages { withHoogle = true; };
93−}
builder/ghc-for-component-wrapper.nixdeleted−154
@@ -1,154 +0,0 @@
1−# The ghcForComponent function wraps ghc so that it is configured with
2−# the package database of all dependencies of a given component.
3−# It has been adapted from the ghcWithPackages wrapper in nixpkgs.
4−#
5−# This wrapper exists so that nix-shells for components will have a
6−# GHC automatically configured with the dependencies in the package
7−# database.
8−
9−{ lib, stdenv, ghc, runCommand, lndir, makeWrapper, haskellLib
10−}@defaults:
11−
12−{ componentName # Full derivation name of the component
13−, configFiles # The component's "config" derivation
14−, postInstall ? ""
15−, enableDWARF
16−, plugins
17−}:
18−
19−let
20− ghc = if enableDWARF then defaults.ghc.dwarf else defaults.ghc;
21−
22− inherit (configFiles) targetPrefix ghcCommand ghcCommandCaps packageCfgDir;
23− libDir = "$out/${configFiles.libDir}";
24− docDir = "$out/share/doc/ghc/html";
25− # For musl we can use haddock from the buildGHC
26− haddock = if stdenv.hostPlatform.isLinux && stdenv.targetPlatform.isMusl && !haskellLib.isNativeMusl
27− then ghc.buildGHC
28− else ghc;
29−
30−in runCommand "${componentName}-${ghc.name}-env" {
31− preferLocalBuild = true;
32− passthru = {
33− inherit (ghc) version meta;
34− inherit targetPrefix;
35− baseGhc = ghc;
36− };
37−} (
38− ''
39− . ${makeWrapper}/nix-support/setup-hook
40−
41− ''
42− # Start with a ghc and remove all of the package directories
43− + ''
44− mkdir -p $out/bin
45− ${lndir}/bin/lndir -silent ${ghc} $out
46− rm -rf ${libDir}/*/
47− ''
48− # ... but retain the lib/ghc/bin directory. This contains `unlit' and friends.
49− + ''
50− ln -s ${ghc}/lib/${ghcCommand}-${ghc.version}/bin ${libDir}
51− ''
52− # ... and the ghcjs shim's if they are available ...
53− + ''
54− if [ -d ${ghc}/lib/${ghcCommand}-${ghc.version}/shims ]; then
55− ln -s ${ghc}/lib/${ghcCommand}-${ghc.version}/shims ${libDir}
56− fi
57− ''
58− # ... and node modules ...
59− + ''
60− if [ -d ${ghc}/lib/${ghcCommand}-${ghc.version}/ghcjs-node ]; then
61− ln -s ${ghc}/lib/${ghcCommand}-${ghc.version}/ghcjs-node ${libDir}
62− fi
63− ''
64− # Replace the package database with the one from target package config.
65− + ''
66− ln -s ${configFiles}/${packageCfgDir} $out/${packageCfgDir}
67−
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"
100−
101− ''
102− # Wrap compiler executables with correct env variables.
103− # The NIX_ variables are used by the patched Paths_ghc module.
104− + ''
105− for prg in ${ghcCommand} ${ghcCommand}i ${ghcCommand}-${ghc.version} ${ghcCommand}i-${ghc.version}; do
106− if [[ -x "${ghc}/bin/$prg" ]]; then
107− rm -f $out/bin/$prg
108− makeWrapper ${ghc}/bin/$prg $out/bin/$prg \
109− --add-flags '"-B$NIX_${ghcCommandCaps}_LIBDIR"' \
110− --set "NIX_${ghcCommandCaps}" "$out/bin/${ghcCommand}" \
111− --set "NIX_${ghcCommandCaps}PKG" "$out/bin/${ghcCommand}-pkg" \
112− --set "NIX_${ghcCommandCaps}_DOCDIR" "${docDir}" \
113− --set "GHC_PLUGINS" "$GHC_PLUGINS" \
114− --set "NIX_${ghcCommandCaps}_LIBDIR" "${libDir}"
115− fi
116− done
117−
118− for prg in "${targetPrefix}runghc" "${targetPrefix}runhaskell"; do
119− if [[ -x "${ghc}/bin/$prg" ]]; then
120− rm -f $out/bin/$prg
121− makeWrapper ${ghc}/bin/$prg $out/bin/$prg \
122− --add-flags "-f $out/bin/${ghcCommand}" \
123− --set "NIX_${ghcCommandCaps}" "$out/bin/${ghcCommand}" \
124− --set "NIX_${ghcCommandCaps}PKG" "$out/bin/${ghcCommand}-pkg" \
125− --set "NIX_${ghcCommandCaps}_DOCDIR" "${docDir}" \
126− --set "GHC_PLUGINS" "$GHC_PLUGINS" \
127− --set "NIX_${ghcCommandCaps}_LIBDIR" "${libDir}"
128− fi
129− done
130−
131− ''
132− # Wrap haddock, if the base GHC provides it.
133− + ''
134− if [[ -x "${haddock}/bin/haddock" ]]; then
135− rm -f $out/bin/haddock
136− makeWrapper ${haddock}/bin/haddock $out/bin/haddock \
137− --add-flags '"-B$NIX_${ghcCommandCaps}_LIBDIR"' \
138− --set "NIX_${ghcCommandCaps}_LIBDIR" "${libDir}"
139− fi
140−
141− ''
142− # Point ghc-pkg to the package database of the component using the
143− # --global-package-db flag.
144− + ''
145− for prg in ${ghcCommand}-pkg ${ghcCommand}-pkg-${ghc.version}; do
146− if [[ -x "${ghc}/bin/$prg" ]]; then
147− rm -f $out/bin/$prg
148− makeWrapper ${ghc}/bin/$prg $out/bin/$prg --add-flags "--global-package-db=$out/${packageCfgDir}"
149− fi
150− done
151−
152− ${postInstall}
153− ''
154−)
builder/haddock-builder.nixdeleted−158
@@ -1,158 +0,0 @@
1−{ stdenv, buildPackages, lib, haskellLib, ghc, ghcForComponent, nonReinstallablePkgs, runCommand, writeText, writeScript, makeConfigFiles }:
2−
3−{ componentId
4−, component
5−, package
6−, flags
7−, revision
8−, commonAttrs
9−, preHaddock
10−, postHaddock
11−, pkgconfig
12−, commonConfigureFlags
13−
14−, doHaddock
15−, doHoogle
16−, hyperlinkSource
17−, quickjump
18−, setupHaddockFlags
19−
20−, needsProfiling
21−, componentDrv
22−, configFiles # component config files
23−}:
24−
25−let
26− doHaddock' = doHaddock
27− && (haskellLib.isLibrary componentId)
28− && !haskellLib.isCrossHost;
29−
30− # the target dir for haddock documentation
31− docdir = docoutput: docoutput + "/share/doc/" + componentId.cname;
32−
33− packageCfgDir = configFiles.packageCfgDir;
34−
35− fullName = "${componentDrv.name}-haddock";
36−
37− # These config files are like the one used in the build derivation,
38− # but `chooseDrv` will be used to map all the references to libraries
39− # to their haddock derivation.
40− docsConfigFiles = makeConfigFiles {
41− inherit (package) identifier;
42− inherit component fullName flags needsProfiling;
43− chooseDrv = p: p.haddock;
44− inherit (componentDrv) enableDWARF;
45− };
46−
47− finalConfigureFlags = lib.concatStringsSep " " (
48− [ "--prefix=${componentDrv}"
49− "${haskellLib.componentTarget componentId}"
50− "$(cat ${docsConfigFiles}/configure-flags)"
51− ]
52− ++ commonConfigureFlags
53− ++ lib.optional doHaddock' " --docdir=${docdir "$doc"}");
54−
55− shellWrappers = ghcForComponent {
56− componentName = fullName;
57− configFiles = docsConfigFiles;
58− inherit (componentDrv) enableDWARF;
59− inherit (component) plugins;
60− };
61−
62− drv = stdenv.mkDerivation (commonAttrs // {
63− name = fullName;
64−
65− passthru = {
66− configFiles = docsConfigFiles;
67−
68− # The directory containing the haddock documentation.
69− haddockDir = if doHaddock' then "${docdir drv.doc}/html" else null;
70− };
71−
72− # `out` contains the `package.conf.d` files used for building the
73− # haddock files.
74− # `doc` contains just the haddock output files.
75− outputs = ["out"]
76− ++ lib.optional doHaddock' "doc";
77−
78− propagatedBuildInputs = builtins.concatLists pkgconfig;
79−
80− buildInputs = component.libs
81− ++ map (d: d.components.library.haddock or d) component.depends;
82−
83− nativeBuildInputs =
84− [ shellWrappers buildPackages.removeReferencesTo ]
85− ++ componentDrv.executableToolDepends;
86−
87− configurePhase = ''
88− runHook preConfigure
89− echo Configure flags:
90− printf "%q " ${finalConfigureFlags}
91− echo
92− $SETUP_HS configure ${finalConfigureFlags}
93− runHook postConfigure
94− '';
95−
96− buildPhase = ''
97− mkdir -p $out
98− '' + lib.optionalString doHaddock' ''
99− runHook preHaddock
100−
101− docdir="${docdir "$doc"}"
102− # This mkdir needed for packages like base-noprelude and bytestring-builder
103− # (which is also empty when `bytestring >= 0.10.4`)
104− mkdir -p "$docdir"
105−
106− # If we don't have any source files, no need to run haddock
107− [[ -n $(find . -name "*.hs" -o -name "*.lhs") ]] && {
108− $SETUP_HS haddock \
109− "--html" \
110− ${lib.optionalString doHoogle "--hoogle"} \
111− ${lib.optionalString hyperlinkSource "--hyperlink-source"} \
112− ${lib.optionalString quickjump "--quickjump"} \
113− ${lib.concatStringsSep " " setupHaddockFlags}
114− }
115− runHook postHaddock
116− '';
117−
118− installPhase =
119− let
120− target-pkg-and-db = "${ghc.targetPrefix}ghc-pkg -v0 --package-db $out/package.conf.d";
121− in ''
122− html="dist/doc/html/${package.identifier.name}"
123−
124− if [ -d "$html" ]; then
125− # Ensure that libraries are not pulled into the docs closure.
126− # As an example, the prettified source code of a
127− # Paths_package module will contain store paths of the library package.
128− for x in "$html/src/"*.html; do
129− remove-references-to -t $out $x
130− remove-references-to -t ${componentDrv} $x
131− done
132−
133− docdir="${docdir "$doc"}"
134− mkdir -p "$docdir"
135−
136− cp -R "$html" "$docdir"/html
137− fi
138−
139− ${ghc.targetPrefix}ghc-pkg -v0 init $out/package.conf.d
140−
141− for i in "${componentDrv}/package.conf.d"/*.conf; do
142− # Copy the .conf files from the build derivation, but replace the `haddock-intefaces:`
143− # field with correct location for haddocks (now it is known). This will insure that
144− # the other haddock derivations build to reference this one will have the correct
145− # working hyper links.
146− pkg=$(basename "$i")
147− sed -e "s|haddock-interfaces:.*|haddock-interfaces: $docdir/html/${componentId.cname}.haddock|" -e "s|haddock-html:.*|haddock-html: $docdir/html/|" "$i" > "$pkg"
148− ${ghc.targetPrefix}ghc-pkg -v0 --package-db ${docsConfigFiles}/${configFiles.packageCfgDir} -f $out/package.conf.d register "$pkg"
149− done
150−
151− ln -s ${componentDrv}/exactDep $out/exactDep
152− ln -s ${componentDrv}/envDep $out/envDep
153− '';
154− }
155− // haskellLib.optionalHooks {
156− inherit preHaddock postHaddock;
157− });
158−in drv
builder/hspkg-builder.nixdeleted−138
@@ -1,138 +0,0 @@
1−{ pkgs, buildPackages, stdenv, lib, haskellLib, ghc, compiler-nix-name, fetchurl, runCommand, comp-builder, setup-builder }:
2−
3−config:
4−{ flags
5−, package
6−, components
7−, cabal-generator
8−
9−, name
10−, sha256
11−, src
12−, revision
13−, revisionSha256
14−, patches
15−
16−, shellHook
17−
18−, ...
19−}@pkg:
20−
21−assert (if ghc.isHaskellNixCompiler or false then true
22− else throw ("It is likely you used `haskell.compiler.X` instead of `haskell-nix.compiler.X`"
23− + pkgs.lib.optionalString (name != null) (" for " + name)));
24−
25−let
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
34− fetchurl {
35− name = "${name}-${toString revision}.cabal";
36− url = "https://hackage.haskell.org/package/${name}/revision/${toString revision}.cabal";
37− sha256 = revisionSha256;
38− };
39−
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 ({
61− name = "${ghc.targetPrefix}default-Setup";
62− component = {
63− depends = config.setup-depends ++ lib.optional useCabalFromCabalInstall cabalFromCabalInstall;
64− libs = [];
65− frameworks = [];
66− doExactConfig = false;
67− includeDirs = [];
68− asmSources = [];
69− cSources = [];
70− cmmSources = [];
71− cxxSources = [];
72− jsSources = [];
73− extraSrcFiles = [ "Setup.hs" "Setup.lhs" ];
74− pkgconfig = [];
75− build-tools = [];
76−
77− platforms = null;
78− preBuild = null; postBuild = null;
79− preInstall = null; postInstall = null;
80− preUnpack = null; postUnpack = null;
81− };
82− package = {
83− identifier = {
84− name = "default-Setup";
85− version = "1.0";
86− };
87− homepage = null;
88− synopsis = null;
89− license = "MIT";
90− };
91− src = null;
92− cleanSrc = buildPackages.runCommand "default-Setup-src" {} ''
93− mkdir $out
94− cat ${defaultSetupSrc} > $out/Setup.hs
95− '';
96− 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− });
104−
105− # buildPackages.runCommand "default-Setup" { nativeBuildInputs = [(ghc.passthru.buildGHC or ghc)]; } ''
106− # cat ${defaultSetupSrc} > Setup.hs
107− # mkdir -p $out/bin
108− # ${(ghc.passthru.buildGHC or ghc).targetPrefix}ghc Setup.hs --make -o $out/bin/Setup
109− # '';
110−
111− setup = if package.buildType == "Simple"
112− then defaultSetup
113− else setup-builder {
114− component = components.setup // {
115− depends = config.setup-depends ++ components.setup.depends ++ package.setup-depends;
116− extraSrcFiles = components.setup.extraSrcFiles ++ [ "Setup.hs" "Setup.lhs" ];
117− pkgconfig = if components ? library then components.library.pkgconfig or [] else [];
118− };
119− inherit package name src flags revision patches defaultSetupSrc;
120− inherit (pkg) preUnpack postUnpack;
121− };
122−
123− buildComp = allComponent: componentId: component: comp-builder {
124− inherit allComponent componentId component package name src flags setup cabalFile cabal-generator patches revision
125− shellHook
126− ;
127− };
128−
129−in rec {
130− components = haskellLib.applyComponents (buildComp pkg.allComponent) pkg;
131− checks = pkgs.recurseIntoAttrs (builtins.mapAttrs
132− (_: d: haskellLib.check d)
133− (lib.filterAttrs (_: d: d.config.doCheck) components.tests));
134− inherit (package) identifier detailLevel isLocal isProject buildType;
135− inherit setup cabalFile;
136− isHaskell = true;
137− inherit src;
138−}
builder/make-config-files.nixdeleted−222
@@ -1,222 +0,0 @@
1−{ stdenv, lib, haskellLib, ghc, nonReinstallablePkgs, runCommand, writeText, writeScript }@defaults:
2−
3−{ identifier, component, fullName, flags ? {}, needsProfiling ? false, enableDWARF ? false, chooseDrv ? drv: drv, nonReinstallablePkgs ? defaults.nonReinstallablePkgs }:
4−
5−let
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−
12− flagsAndConfig = field: xs: lib.optionalString (xs != []) ''
13− echo ${lib.concatStringsSep " " (map (x: "--${field}=${x}") xs)} >> $out/configure-flags
14− echo "${field}: ${lib.concatStringsSep " " xs}" >> $out/cabal.config
15− '';
16−
17− target-pkg = "${ghc.targetPrefix}ghc-pkg";
18−
19− # This is a bit of a hack. So we'll have a slightly longer explanation here:
20−
21− # Every library component built with `comp-builder.nix` includes an `exactDep`
22− # and `envDep` directory with precomputed values used here.
23− # GHC derivations include `exactDep` and `envDep` directories that have
24− # the same information for each of the built in packages.
25−
26− # exactDep will pass --exact-configuration to the `SETUP_HS configure` command.
27− # This requires us to pass --dependency={dep name}={pkg id}. The dependency
28− # name will usually be the name of the package `p`, which we can locate in the
29− # package-db, passed in via `pdbArg`. Thus querying the package-db for the
30− # id field for package `p`, will usually provide us with the right value. Sublibs
31− # need a bit of special handling:
32− #
33− # - Sublibs: if the dependency is a sublibrary of a package, we need to use
34− # the sublibrary's name for the dep name, and lookup the sublibraries
35− # pkg id for z-{pkg name}-z-{sublib name}. As we do not provide the
36− # sublib name to exactDep, as we don't have access to it at the call-site,
37− # we resort to a bit of globbing, which (as pkg db's should contain only
38− # a single package) work.
39−
40− getLibComponent = dep:
41− dep.components.library # Regular package dependency
42− or dep; # or a sublib
43−
44− # Work our suitable packageCfgDir subdirectory
45− isGhcjs = ghc.isGhcjs or false;
46− ghcCommand' = if isGhcjs then "ghcjs" else "ghc";
47− ghcCommand = "${ghc.targetPrefix}${ghcCommand'}";
48− ghcCommandCaps = lib.toUpper ghcCommand';
49− libDir = "lib/${ghcCommand}-${ghc.version}";
50− packageCfgDir = "${libDir}/package.conf.d";
51−
52− # Filters out only library packages that for this GHC target
53− # TODO investigate why this is needed
54− # TODO find out why p ? configFiles helps (for instance for `R1909.aarch64-unknown-linux-gnu.tests.cabal-22.run.x86_64-linux`)
55− 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)
58− (lib.filter (p: (p ? configFiles) && p.configFiles.targetPrefix == ghc.targetPrefix)
59− (map getLibComponent component.depends)))
60− );
61− cfgFiles =
62− let xs = map
63− (p: "${p.configFiles}")
64− libDeps;
65− in lib.concatStringsSep "\" \"" xs;
66− libs = lib.concatMapStringsSep "\" \"" (p: "${p}") libDeps;
67− drv = runCommand "${ghc.targetPrefix}${fullName}-config" {
68− nativeBuildInputs = [ghc];
69− passthru = {
70− inherit (ghc) targetPrefix;
71− inherit ghcCommand ghcCommandCaps libDir packageCfgDir component;
72− # Use ''${pkgroot} relative paths so that we can relocate the package database
73− # along with referenced packages and still have it work on systems with
74− # or without nix installed.
75− relocatableConfigFiles = runCommand "${ghc.targetPrefix}${fullName}-relocatable-config" ''
76− cp -r ${drv} $out
77− chmod -R +w $out
78− sed -i 's|/nix/store/|''${pkgroot}/../../../|' $out/${packageCfgDir}/*.conf
79− ${target-pkg} -v0 --package-db $out/${packageCfgDir} recache
80− '';
81− };
82− } (''
83− mkdir -p $out
84−
85− ${target-pkg} init $out/${packageCfgDir}
86−
87− ${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);
96− })}
97−
98− ghc=${ghc}
99− ${ # Copy over the nonReinstallablePkgs from the global package db.
100− ''
101− for p in ${lib.concatStringsSep " " nonReinstallablePkgs'}; do
102− find $ghc/lib/${ghc.name}/package.conf.d -name $p'*.conf' -exec cp -f {} $out/${packageCfgDir} \;
103− done
104− ''}
105−
106− for l in "${cfgFiles}"; do
107− 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
115− fi
116− done
117− for l in "${libs}"; do
118− 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
126− fi
127− done
128−
129− ${ # Note: we pass `clear` first to ensure that we never consult the implicit global package db.
130− flagsAndConfig "package-db" ["clear" "$out/${packageCfgDir}"]
131− }
132−
133− echo ${lib.concatStringsSep " " (lib.mapAttrsToList (fname: val: "--flags=${lib.optionalString (!val) "-" + fname}") flags)} >> $out/configure-flags
134−
135− ${ # Provide a cabal config without remote package repositories
136− ''
137− echo "write-ghc-environment-files: never" >> $out/cabal.config
138− ''}
139−
140− ${ # Provide a GHC environment file
141− ''
142− cat > $out/ghc-environment <<EOF
143− package-db $out/${packageCfgDir}
144− EOF
145− ''}
146−
147− ${ lib.optionalString component.doExactConfig ''
148− echo "--exact-configuration" >> $out/configure-flags
149− echo "allow-newer: ${identifier.name}:*" >> $out/cabal.config
150− echo "allow-older: ${identifier.name}:*" >> $out/cabal.config
151− ''}
152−
153− for p in ${lib.concatStringsSep " " libDeps}; do
154− cat $p/envDep >> $out/ghc-environment
155− ${ lib.optionalString component.doExactConfig ''
156− cat $p/exactDep/configure-flags >> $out/configure-flags
157− cat $p/exactDep/cabal.config >> $out/cabal.config
158− ''}
159− done
160− for p in ${lib.concatStringsSep " " (lib.remove "ghc" nonReinstallablePkgs')}; do
161− if [ -e $ghc/envDeps/$p ]; then
162− cat $ghc/envDeps/$p >> $out/ghc-environment
163− fi
164− done
165− '' + lib.optionalString component.doExactConfig ''
166− for p in ${lib.concatStringsSep " " nonReinstallablePkgs'}; do
167− if [ -e $ghc/exactDeps/$p ]; then
168− cat $ghc/exactDeps/$p/configure-flags >> $out/configure-flags
169− cat $ghc/exactDeps/$p/cabal.config >> $out/cabal.config
170− fi
171− done
172− ''
173− # This code originates in the `generic-builder.nix` from nixpkgs. However GHC has been fixed
174− # to drop unused libraries referenced from libraries; and this patch is usually included in the
175− # nixpkgs's GHC builds. This doesn't sadly make this stupid hack unnecessary. It resurfaces in
176− # the form of Cabal trying to be smart. Cabal when linking a library figures out that you likely
177− # need those `rpath` entries, and passes `-optl-Wl,-rpath,...` for each dynamic library path to
178− # GHC, thus subverting the linker and forcing it to insert all those RPATHs weather or not they
179− # are needed. We therefore reuse the linker hack here to move all dynamic libraries into a
180− # common folder (as links) and thus prevent Cabal from going nuts.
181− #
182− # TODO: Fix Cabal.
183− # TODO: this is only needed if we do dynamic libraries.
184− #
185− # NOTE [ln -s -f]: we force link, as we may have dependencies that contain shared deps
186− # (e.g. libiconv), and thus we don't want to fail, but just link it again.
187− #
188− # Confusing sed stuff:
189− # '/^ ./{H;$!d} ; x' Groups lines that start with a space with the initial
190− # line of a block. Needs a blank line added to the file
191− # to terminate the last block.
192− # 's/ /\n/g ; s/\n\n*/\n/g; s/^\n//;' Puts each field on its own line.
193− # 's|/nix/store/|''${pkgroot}/../../../|' Convert store path to pkgroot relative path
194− # 's|''${pkgroot}/../../../|/nix/store/|' Convert pkgroot relative path to store path
195−
196− # Work around a limit in the macOS Sierra linker on the number of paths
197− # referenced by any one dynamic library:
198− #
199− # Create a local directory with symlinks of the *.dylib (macOS shared
200− # libraries) from all the dependencies.
201− + lib.optionalString stdenv.isDarwin ''
202− local dynamicLinksDir="$out/lib/links"
203− mkdir -p $dynamicLinksDir
204− # Enumerate dynamic-library-dirs with ''${pkgroot} expanded.
205− local dirsToLink=$(
206− for f in "$out/${packageCfgDir}/"*.conf; do
207− (cat $f; echo) | sed -En '/^ ./{H;$!d} ; x ; /^dynamic-library-dirs:/ {s/^dynamic-library-dirs:// ; s/ /\n/g ; s/\n\n*/\n/g; s/^\n//; p}'
208− done | sed 's|''${pkgroot}/../../../|/nix/store/|' | sort -u
209− )
210− for d in $dirsToLink; do
211− ln -f -s "$d/"*.{a,dylib,so} $dynamicLinksDir
212− done
213− # Edit the local package DB to reference the links directory.
214− for f in "$out/${packageCfgDir}/"*.conf; do
215− chmod +w $f
216− echo >> $f
217− sed -i -E "/^ ./{H;$!d} ; x ; s,^dynamic-library-dirs:.*,dynamic-library-dirs: $dynamicLinksDir," $f
218− done
219− '' + ''
220− ${target-pkg} -v0 --package-db $out/${packageCfgDir} recache
221− '');
222−in drv
builder/setup-builder.nixdeleted−104
@@ -1,104 +0,0 @@
1−{ pkgs, stdenv, lib, buildPackages, haskellLib, ghc, nonReinstallablePkgs, hsPkgs, makeSetupConfigFiles, pkgconfig }@defaults:
2−
3−let self =
4−{ component, package, name, src, enableDWARF ? false, flags ? {}, revision ? null, patches ? [], defaultSetupSrc
5−, preUnpack ? component.preUnpack, postUnpack ? component.postUnpack
6−, prePatch ? null, postPatch ? null
7−, preBuild ? component.preBuild , postBuild ? component.postBuild
8−, preInstall ? component.preInstall , postInstall ? component.postInstall
9−, cleanSrc ? haskellLib.cleanCabalComponent package component "setup" src
10−, nonReinstallablePkgs ? defaults.nonReinstallablePkgs
11−, smallAddressSpace ? false
12−}@drvArgs:
13−
14−let
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−
20− fullName = "${name}-setup";
21−
22− includeGhcPackage = lib.any (p: p.identifier.name == "ghc") component.depends;
23−
24− configFiles = makeSetupConfigFiles {
25− inherit (package) identifier;
26− inherit fullName flags component enableDWARF nonReinstallablePkgs;
27− };
28− hooks = haskellLib.optionalHooks {
29− inherit
30− preUnpack postUnpack
31− prePatch postPatch
32− preBuild postBuild
33− preInstall postInstall
34− ;
35− };
36−
37− executableToolDepends =
38− (lib.concatMap (c: if c.isHaskell or false
39− then builtins.attrValues (c.components.exes or {})
40− else [c]) component.build-tools) ++
41− lib.optional (component.pkgconfig != []) pkgconfig;
42−
43− drv =
44− stdenv.mkDerivation ({
45− name = "${ghc.targetPrefix}${fullName}";
46− src = cleanSrc'.root;
47− buildInputs = component.libs
48− ++ component.frameworks
49− ++ builtins.concatLists component.pkgconfig;
50− nativeBuildInputs = [ghc] ++ executableToolDepends;
51−
52− passthru = {
53− inherit (package) identifier;
54− 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; });
61− };
62−
63− meta = {
64− homepage = package.homepage or "";
65− description = package.synopsis or "";
66− license = haskellLib.cabalToNixpkgsLicense package.license;
67− platforms = if component.platforms == null then lib.platforms.all else component.platforms;
68− };
69−
70− phases = ["unpackPhase" "patchPhase" "buildPhase" "installPhase"];
71− buildPhase = ''
72− runHook preBuild
73− if [[ ! -f ./Setup.hs && ! -f ./Setup.lhs ]]; then
74− cat ${defaultSetupSrc} > Setup.hs
75− fi
76− for f in Setup.hs Setup.lhs; do
77− if [ -f $f ]; then
78− echo Compiling package $f
79− ghc $f -threaded ${if includeGhcPackage then "-package ghc " else ""
80− }-package-db ${configFiles}/${configFiles.packageCfgDir} --make -o ./Setup
81− fi
82− done
83− [ -f ./Setup ] || (echo Failed to build Setup && exit 1)
84− runHook postBuild
85− '';
86−
87− installPhase = ''
88− runHook preInstall
89− mkdir -p $out/bin
90− install ./Setup $out/bin/Setup
91− runHook postInstall
92− '';
93− }
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− })
101− // (lib.optionalAttrs (patches != []) { patches = map (p: if builtins.isFunction p then p { inherit (package.identifier) version; inherit revision; } else p) patches; })
102− // hooks
103− );
104−in drv; in self
builder/shell-for.nixdeleted−189
@@ -1,189 +0,0 @@
1−{ lib, stdenv, mkShell, glibcLocales, pkgconfig, ghcForComponent, makeConfigFiles, hsPkgs, hoogleLocal, haskellLib, buildPackages, evalPackages, compiler }:
2−
3−{ # `packages` function selects packages that will be worked on in the shell itself.
4− # These packages will not be built by `shellFor`, but their
5− # dependencies will be included in the shell's `ghc-pkg list`.
6− packages ? ps: builtins.attrValues (haskellLib.selectLocalPackages ps)
7− # `components` function selects components that will be worked on in the shell itself.
8− # By default `shellFor` will include the dependencies of all of the components
9− # in the selected packages. If only as subset of the components will be
10− # worked on in the shell then we can pass a different `components` function
11− # to select those.
12−, components ? ps: lib.concatMap haskellLib.getAllComponents (packages ps)
13− # Additional packages to be added unconditionally
14−, additional ? _: []
15−, withHoogle ? true
16−, withHaddock ? withHoogle
17−, exactDeps ? false
18−, tools ? {}
19−, packageSetupDeps ? true
20−, enableDWARF ? false
21−, ... } @ args:
22−
23−let
24− # TODO find out why hoogle index creation can be made to work for cross compilers
25− withHoogle' = withHoogle && !haskellLib.isCrossHost;
26−
27− selectedPackages = packages hsPkgs;
28− additionalPackages = additional hsPkgs;
29− directlySelectedComponents = components hsPkgs;
30−
31− # Given `directlySelectedComponents = [ a b ]`, we construct a shell that includes all of their dependencies
32− #
33− # But we want to exclude `a` if it is a transitive dependecy of `b`
34− # because:
35− # - cabal will end up ignoring that built version;
36− # - The user has indicated that's what they're working on, so they probably don't want to have to build
37− # 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`
45− #
46− # Furthermore, if `a` depends on `b`, `a` will include the library component of `b` in its `buildInputs`
47− # (to make `propagatedBuildInputs` of `pkgconfig-depends` work). So we also need to filter those
48− # (the pkgconfig depends of `b` will still be included in the
49− # system shell's `buildInputs` via `b`'s own `buildInputs`).
50−
51−
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
71− removeSelectedInputs =
72− lib.filter (input: !(isSelectedComponent input));
73−
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;
88−
89− # Add the system libraries and build tools of the selected haskell packages to the shell.
90− # We need to remove any inputs which are selected components (see above).
91− # `buildInputs`, `propagatedBuildInputs`, and `executableToolDepends` contain component
92− # derivations, not packages, so we use `removeSelectedInputs`).
93− systemInputs = removeSelectedInputs (lib.concatMap
94− (c: c.buildInputs ++ c.propagatedBuildInputs) selectedComponents);
95− nativeBuildInputs = removeSelectedInputs
96− (lib.concatMap (c: c.executableToolDepends) selectedComponents);
97−
98− # Set up a "dummy" component to use with ghcForComponent.
99− component = {
100− depends = packageInputs;
101− libs = [];
102− pkgconfig = [];
103− frameworks = [];
104− doExactConfig = false;
105− };
106− configFiles = makeConfigFiles {
107− fullName = args.name or name;
108− identifier.name = name;
109− inherit component enableDWARF;
110− chooseDrv = p: if withHaddock && p ? haddock then p.haddock else p;
111− };
112− ghcEnv = ghcForComponent {
113− inherit configFiles;
114− componentName = name;
115− postInstall = lib.optionalString withHoogle' ''
116− ln -s ${hoogleIndex}/bin/hoogle $out/bin
117− '';
118− inherit enableDWARF;
119− plugins = [];
120− };
121−
122− hoogleIndex = let
123− # Get the doc package for a component, and add attributes that
124− # hoogle.nix expects.
125− docPackage = p: lib.getOutput "doc" p // {
126− pname = p.identifier.name;
127− haddockDir = lib.const p.haddockDir;
128− };
129− in hoogleLocal ({
130− packages = map docPackage (haskellLib.flatLibDepends component);
131−
132− # Need to add hoogle to hsPkgs.
133− # inherit (hsPkgs) hoogle;
134− } // (
135− 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− }]);
142− }
143− ));
144−
145− mkDrvArgs = builtins.removeAttrs args ["packages" "components" "additional" "withHoogle" "tools"];
146−in
147− mkShell (mkDrvArgs // {
148− name = mkDrvArgs.name or name;
149−
150− buildInputs = systemInputs
151− ++ mkDrvArgs.buildInputs or [];
152− nativeBuildInputs = [ ghcEnv ]
153− ++ nativeBuildInputs
154− ++ mkDrvArgs.nativeBuildInputs or []
155− ++ lib.attrValues (buildPackages.haskell-nix.tools' evalPackages compiler.nix-name tools)
156− # If this shell is a cross compilation shell include
157− # wrapper script for running cabal build with appropriate args.
158− # Includes `--with-compiler` in case the `cabal.project` file has `with-compiler:` in it.
159− ++ lib.optional (ghcEnv.targetPrefix != "") (
160− buildPackages.writeShellScriptBin "${ghcEnv.targetPrefix}cabal" ''
161− exec cabal \
162− --with-ghc=${ghcEnv.targetPrefix}ghc \
163− --with-compiler=${ghcEnv.targetPrefix}ghc \
164− --with-ghc-pkg=${ghcEnv.targetPrefix}ghc-pkg \
165− --with-hsc2hs=${ghcEnv.targetPrefix}hsc2hs \
166− ${lib.optionalString (ghcEnv.targetPrefix == "js-unknown-ghcjs-") ''
167− --with-ghcjs=${ghcEnv.targetPrefix}ghc \
168− --with-ghcjs-pkg=${ghcEnv.targetPrefix}ghc-pkg \
169− --ghcjs \
170− ''} $(builtin type -P "${ghcEnv.targetPrefix}pkg-config" &> /dev/null && echo "--with-pkg-config=${ghcEnv.targetPrefix}pkg-config") \
171− "$@"
172− '');
173− phases = ["installPhase"];
174− installPhase = ''
175− echo "${"Shell for " + toString (builtins.map (p : p.identifier.name) selectedPackages)}"
176− echo $nativeBuildInputs $buildInputs > $out
177− '';
178−
179− # This helps tools like `ghcide` (that use the ghc api) to find
180− # the correct global package DB.
181− NIX_GHC_LIBDIR = ghcEnv + "/" + configFiles.libDir;
182−
183− passthru = (mkDrvArgs.passthru or {}) // {
184− ghc = ghcEnv;
185− inherit configFiles;
186− };
187− } // lib.optionalAttrs exactDeps {
188− CABAL_CONFIG = "${configFiles}/cabal.config";
189− })
changelog.mddeleted−231
@@ -1,231 +0,0 @@
1−This file contains a summary of changes to Haskell.nix and `nix-tools`
2−that will impact users.
3−
4−## Jul 27, 2022
5−* Removed reliance on `builtins.currentSystem`. It was used it to provide
6− `pkgs.evalPackages` via an overlay that it used to run derivations
7− used in imports from derivation (IFDs).
8−
9− These derivations are now run on `buildPackages` by default.
10−
11− Passsing `evalPackages` to a project function will change where all the
12− derivations used in IFDs are run for that project (including shell tools):
13− evalPackages = import nixpkgs haskellNix.nixpkgsArgs;
14−
15− Passing `evalSystem` instead will use create a suitable `nixpkgs` using `pkgs.path`
16− and `pkgs.overlay`:
17− evalSystem = "x86_64-linux";
18− or
19− evalSystem = builtins.currentSystem;
20−
21− The `haskellLib.cleanGit` function is also affected by this change. If you are cross
22− compiling and using `cleanGit` you should probably do something like:
23− pkgs = import nixpkgs haskellNix.nixpkgsArgs;
24− evalPackages = import nixpkgs (haskellNix.nixpkgsArgs // { system = evalSystem; });
25− p = pkgs.pkgsCross.mingwW64.haskell-nix.cabalProject {
26− inherit evalPackages;
27− src = evalPackages.haskell-nix.haskellLib.cleanGit { src = ./.; };
28− };
29−
30−## Feb 16, 2022
31−* Removed lookupSha256 argument from project functions.
32− Pass a `sha256map` instead.
33−* Added better support for `repository` in `cabal.project`. These
34− blocks should now work without the need for passing `extra-hackages` and
35− `extra-hackage-tarballs`.
36−
37−## Aug 6, 2021
38−* Included dependencies of haskell.nix that were tracked in `nix/sources.json`
39− as flake inputs (`flake.lock` replaces `nix/sources.json`).
40−* Uses `flake-compat` to continue to provide a compatible interface for non
41− flake projects.
42−
43−## Jul 23, 2021
44−* `source-repository-package` references in `cabal.project` files are now
45− left as a `source-repository-package` when calculating the the `plan-nix` for
46− `cabalProject` based functions.
47− This makes haskell.nix match the behaviour of `cabal` better.
48− Materialized files for projects that use `source-repository-package`
49− references will need to be updated.
50−* Only planned components are included in a haskell.nix cabal project.
51− If cabal solver does not include the component in the `plan.json` file it
52− will not be present in `hsPkgs.pkg.components`.
53−* When the same package occurs more than once in a plan.json file
54− the latest version is picked by haskell.nix.
55−
56−## Apr 8, 2021
57−* Project arguments are now validated with the Nix module system.
58− If unexpected argments are passed to a project function this may now
59− result in an error.
60−
61−## Feb 22, 2021
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−
100−## Nov 24, 2020
101−* Added `${targetPrefix}cabal` wrapper script for running cross
102− compilers in `shellFor`.
103−* `otherShells` arg added to `shellFor`.
104−
105−## Oct 31, 2020
106−* Passing `tools.hoogle` to `shellFor` with a value suitable for `haskel-nix.tool` will
107− use the specified `hoogle` inside `shellFor`. This allows for materialization
108− of `hoogle`.
109−
110−## Oct 28, 2020
111−* Passing `compiler-nix-name` to project functions for `stack.yaml`
112− based projects now overrides the compiler used (was ignored before).
113−
114−## Sep 8, 2020
115−* Added the ability to generate coverage reports for packages and
116− projects.
117−* Added the `doCoverage` module option that allows users to choose
118− packages to enable coverage for.
119−* Added a `doCoverage` flag to the component builder that outputs HPC
120− information when coverage is enabled.
121−* Added test for coverage.
122−
123−## July 21, 2020
124−* Removed `components.all`, use `symlinkJoin` on components.exes or
125− `shellFor` if you need a shell.
126−* Added `components` argument to `shellFor`.
127−
128−## July 21, 2020
129−* Added GHC 8.8.4 and replaced 8.8.3 in tests and as the ghc
130− used to build nix-tools for stack projects.
131−
132−## July 20, 2020
133−* Changed `haskell-nix.roots` and `p.roots` to single derivations.
134−
135−## July 8, 2020
136−* Removed `sources.nixpkgs-default`, use `sources.nixpkgs` instead.
137−* Removed `./nixpkgs` directory, use `(import ./. {}).sources`
138− or `./nix/sources.nix` instead.
139−* Removes V1 interface for details on how to fix old code see:
140− https://github.com/input-output-hk/haskell.nix/issues/709
141−* Removed defaultCompilerNixName.
142−* cabalProject, cabalProject', hackage-project and hackage-package
143− now require a `compiler-nix-name` argument.
144−* `haskell-nix.tool` and `.tools` now require a `compiler-nix-name` argument.
145− New functions `p.tool` and `p.tools` (where p is a project) do not.
146− Like `shellFor { tools = ... }` they will use the compiler nix name
147− from the project (including stack projects where it is derived from
148− the resolver).
149−* `haskell-nix.alex` and `haskell-nix.happy` have been removed. Use
150− `p.tool "alex" "3.2.5"` or `shellFor { tools = { alex = "3.2.5"; } }`.
151−* `haskell-nix.nix-tools` -> `haskell-nix.nix-tools.ghc883` (it includes
152− the hpack exe now).
153−* `haskell-nix.cabal-install` ->
154− `p.tool "cabal" "3.2.0.0"` or `shellFor { tools = { cabal = "3.2.0.0"; } }`
155−* `haskell-nix.haskellNixRoots` -> `haskell-nix.roots ghc883` or `p.roots`
156−
157−## June 25, 2020
158−* Haddock docs are now built in their own derivation when needed (not as part
159− of the component build).
160− They should build automatically when something (such as `shellFor`) attempts
161− to accesses the `.doc` attribute of component.
162−
163−## December 27, 2019
164−* Fix overlays/bootstrap.nix to provide LLVM 6, not LLVM 5, to ghc-8.6.X compilers.
165−
166−## November 18, 2019
167− * Changed the `cleanSourceHaskell` to accept an attrset of `src` and
168− (optional) `name` parameters. This allows you to keep the source
169− derivation name constant, so that your builds are always
170− cached. Usage of `cleanSourceHaskell` will need to be updated.
171−
172−## October 12, 2019
173− * [`shellFor`](https://input-output-hk.github.io/haskell.nix/reference/library/#shellfor) no longer sets `CABAL_CONFIG` by default.
174− This avoids surprising users, but means that Cabal may select a plan which is different to your Haskell.nix package set.
175− If you would like the old behaviour, use `shellFor { exactDeps = true; }`.
176−
177−## August 9, 2019
178− * Add the [`haskellLib.collectComponents`](https://input-output-hk.github.io/haskell.nix/reference/library/#haskellLib) function.
179−
180−## June 21, 2019
181− * Add `ghcWithPackages` and `ghcWithHoogle` to hsPkgs ([documentation](https://input-output-hk.github.io/haskell.nix/reference/library/#package-set-functions).
182− * Benchmark components can now build successfully.
183− * Reduced the closure bloat of nix-tools, and added closure size limit to CI.
184− * Added more reference documentation and set up auto-generated
185− documentation for [Module Options](https://input-output-hk.github.io/haskell.nix/reference/modules/).
186− * Miscellaneous bug fixes.
187−
188−## June 7, 2019
189− * Several additions to the [documentation](https://input-output-hk.github.io/haskell.nix/).
190− * More information about getting nix-tools, Haskell.nix, pinning.
191− * Updates the stack-to-nix and cabal-to-nix guides.
192− * Adds a section on development environments.
193− * Adds a little information about cross compilation.
194− * Adds a (partially complete) reference section (command line manuals, library reference).
195− * Symlinks the changelog into the documentation pages.
196−
197−## May 29, 2019
198− * Added `shellFor` function to package set.
199−
200−## May 28, 2019
201− * Added `snaphots` and `haskellPackages` attributes to the
202− Haskell.nix top-level.
203−
204−## May 22, 2019
205− * Add the `cleanSourceHaskell` utility function to the Haskell.nix
206− top-level.
207−
208−## May 21, 2019
209− * Add the `callCabalProjectToNix` function, which uses "import from
210− derivation" (IFD) so that nix-tools doesn't need to be run
211− manually.
212− * The `hackage.nix` update process has changed, so that Cabal index
213− state hashes are also included in the generated repo.
214−
215−## May 20, 2019
216− * Remove Travis CI in favour of Buildkite.
217−
218−## May 17, 2019
219− * Add the `callStackToNix` function, which uses "import from
220− derivation" (IFD) so that `stack-to-nix` doesn't need to be run
221− manually.
222−
223−## Mar 15, 2019
224− * `overlays` was renamed to `extras` in
225− [#79](https://github.com/input-output-hk/haskell.nix/pull/79)
226− to prevent confusion between the notion of Nix overlays.
227−
228− Therefore `plan-pkgs` and `stack-pkgs` as generated by `plan-to-nix` and `stack-to-nix` will
229− expose `extras` instead of `overlay`. Similarly `mkStackPkgSet`, `mkPkgSet` and `mkCabalProjectPkgSet`
230− take a `pkg-def-extras` instead of `pkg-def-overlay` argument. If you are using `iohk-nix`, the
231− `iohk-overlay` was parameter was renamed to `iohk-extras`.
ci-lib.nixdeleted−45
@@ -1,45 +0,0 @@
1−{
2− # Generic nixpkgs, use *only* for lib functions that are stable across versions
3− pkgs ? (import ./. {}).pkgs,
4− lib ? pkgs.lib
5−}: rec {
6− inherit (import ./dimension.nix) dimension;
7−
8− # A filter for removing packages that aren't supported on the current platform
9− # according to 'meta.platforms'.
10− platformFilterGeneric = pkgs: system:
11− # This needs to use the correct nixpkgs version so all the systems line up
12− let lib = pkgs.lib;
13− platform = lib.systems.elaborate { inherit system; };
14− # Can't just default to [] for platforms, since no meta.platforms
15− # means "all platforms" not "no platforms"
16− in drv : if drv ? meta && drv.meta ? platforms then
17− lib.any (lib.meta.platformMatch platform) drv.meta.platforms
18− else true;
19−
20− # Hydra doesn't like these attributes hanging around in "jobsets": it thinks they're jobs!
21− stripAttrsForHydra = filterAttrsOnlyRecursive (n: _: n != "recurseForDerivations" && n != "dimension");
22−
23− # Keep derivations and attrsets with 'recurseForDerivations'. This ensures that we match the
24− # derivations that Hercules will see, and prevents Hydra from trying to pick up all sorts of bad stuff
25− # (like attrsets that contain themselves!).
26− filterDerivations = filterAttrsOnlyRecursive (n: attrs: lib.isDerivation attrs || attrs.recurseForDerivations or false);
27−
28− # A version of 'filterAttrsRecursive' that doesn't recurse into derivations. This prevents us from going into an infinite
29− # loop with the 'out' attribute on derivations.
30− # TODO: Surely this shouldn't be necessary. I think normal 'filterAttrsRecursive' will effectively cause infinite loops
31− # if you keep derivations and your predicate forces the value of the attribute, as this then triggers a loop on the
32− # 'out' attribute. Weird.
33− # To make this function faster, unwanted attributes are mapped to {} instead of being
34− # removed. This keeps the function lazy and avoids unwanted evaluation of sibling
35− # derivations.
36− filterAttrsOnlyRecursive = pred: set:
37− lib.mapAttrs (name: v:
38− if pred name v
39− then
40− if builtins.isAttrs v
41− && !lib.isDerivation v
42− then filterAttrsOnlyRecursive pred v
43− else v
44− else {}) set;
45−}
ci.nixdeleted−126
@@ -1,126 +0,0 @@
1−# 'supportedSystems' restricts the set of systems that we will evaluate for. Useful when you're evaluating
2−# on a machine with e.g. no way to build the Darwin IFDs you need!
3−{ supportedSystems ? [ "x86_64-linux" "x86_64-darwin" ]
4−, ifdLevel ? 3
5−# Whether or not we are evaluating in restricted mode. This is true in Hydra, but not in Hercules.
6−, restrictEval ? false
7−, checkMaterialization ? false
8−, pkgs ? (import ./. {}).pkgs }:
9− let
10− inherit (import ./ci-lib.nix { inherit pkgs; }) dimension platformFilterGeneric filterAttrsOnlyRecursive;
11− inherit (pkgs.haskell-nix) sources;
12− 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− };
23− };
24− compilerNixNames = nixpkgsName: nixpkgs: builtins.mapAttrs (compiler-nix-name: runTests: {
25− inherit runTests;
26− }) (
27− # GHC version to cache and whether to run the tests against them.
28− # This list of GHC versions should include everything for which we
29− # have a ./materialized/ghcXXX directory containing the materialized
30− # cabal-install and nix-tools plans. When removing a ghc version
31− # from here (so that is no longer cached) also remove ./materialized/ghcXXX.
32− # 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;
45− });
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);
60− crossSystems = nixpkgsName: nixpkgs: compiler-nix-name: system:
61− # We need to use the actual nixpkgs version we're working with here, since the values
62− # of 'lib.systems.examples' are not understood between all versions
63− 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"]))) {
67− 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
71− inherit (lib.systems.examples) mingwW64;
72− } // lib.optionalAttrs (system == "x86_64-linux" && nixpkgsName == "unstable" && __elem compiler-nix-name ["ghc8107" "ghc902" "ghc922" "ghc923" "ghc924"]) {
73− # Musl cross only works on linux
74− # aarch64 cross only works on linux
75− inherit (lib.systems.examples) musl64 aarch64-multiplatform;
76− };
77− isDisabled = d: d.meta.disabled or false;
78−in
79−dimension "Nixpkgs version" nixpkgsVersions (nixpkgsName: nixpkgs-pin:
80− 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:
84− let pkgs = import pinnedNixpkgsSrc (nixpkgsArgs // { inherit system; });
85− build = import ./build.nix { inherit pkgs evalPackages ifdLevel compiler-nix-name; };
86− platformFilter = platformFilterGeneric pkgs system;
87− in filterAttrsOnlyRecursive (_: v: platformFilter v && !(isDisabled v)) ({
88− # Native builds
89− # TODO: can we merge this into the general case by picking an appropriate "cross system" to mean native?
90− native = pkgs.recurseIntoAttrs ({
91− roots = pkgs.haskell-nix.roots' compiler-nix-name ifdLevel;
92− ghc = pkgs.buildPackages.haskell-nix.compiler."${compiler-nix-name}";
93− } // pkgs.lib.optionalAttrs runTests {
94− inherit (build) tests tools maintainer-scripts maintainer-script-cache;
95− } // pkgs.lib.optionalAttrs (ifdLevel >= 1) {
96− iserv-proxy = pkgs.ghc-extra-projects."${compiler-nix-name}".getComponent "iserv-proxy:exe:iserv-proxy";
97− } // 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";
99− });
100− }
101− //
102− dimension "Cross system" (crossSystems nixpkgsName evalPackages compiler-nix-name system) (crossSystemName: crossSystem:
103− # Cross builds
104− let pkgs = import pinnedNixpkgsSrc (nixpkgsArgs // { inherit system crossSystem; });
105− build = import ./build.nix { inherit pkgs evalPackages ifdLevel compiler-nix-name; };
106− in pkgs.recurseIntoAttrs (pkgs.lib.optionalAttrs (ifdLevel >= 1) ({
107− roots = pkgs.haskell-nix.roots' compiler-nix-name ifdLevel;
108− ghc = pkgs.buildPackages.haskell-nix.compiler."${compiler-nix-name}";
109− # TODO: look into cross compiling ghc itself
110− # ghc = pkgs.haskell-nix.compiler."${compiler-nix-name}";
111− # TODO: look into making tools work when cross compiling
112− # inherit (build) tools;
113− } // pkgs.lib.optionalAttrs (runTests && crossSystemName != "aarch64-multiplatform") {
114− # Tests are broken on aarch64 cross https://github.com/input-output-hk/haskell.nix/issues/513
115− inherit (build) tests;
116− }) // pkgs.lib.optionalAttrs (ifdLevel >= 2 && crossSystemName != "ghcjs") {
117− # 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";
120− } // 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";
122− })
123− ))
124− )
125− )
126−)
compat/cabal-licenses.nixnew file+11
@@ -0,0 +1,11 @@
1+stdenv: with stdenv.lib.licenses;
2+{ BSD-3-Clause = bsd3;
3+ BSD-2-Clause = bsd2;
4+ MIT = mit;
5+ ISC = isc;
6+ "LGPL-3.0-only" = lgpl3;
7+ # Generic
8+ LicenseRef-LGPL = "LGPL";
9+ LicenseRef-PublicDomain = publicDomain;
10+ LicenseRef-OtherLicense = null;
11+}
lib/cabal-os-arch-comp.nix → compat/cabal-os-arch-comp.nixrenamed+2−3
@@ -20,13 +20,12 @@
2020 isLinux = false;
2121 isWindows = false;
2222 isOsx = false;
23− isIos = false;
2423 isFreebsd = false;
2524 isOpenbsd = false;
2625 isNetbsd = false;
2726 isDragonFly = false;
2827 isSolaris = false;
29− isAix = false;
28+ isAIX = false;
3029 isHPUX = false;
3130 isIRIX = false;
3231 isHalvm = false;
@@ -43,7 +42,7 @@
4342 isPPC64 = false;
4443 isSparc = false;
4544 isArm = false;
46− isAarch64= false;
45+ isAArch64= false;
4746 isMips = false;
4847 isSH = false;
4948 isIA64 = false;
compat/default.nixnew file+1
@@ -0,0 +1 @@
1+{ license-map = import ./cabal-licenses.nix; platform-map = import ./cabal-os-arch-comp.nix; host-map = import ./host-map.nix; driver = import ./driver.nix; }
compat/driver.nixnew file+72
@@ -0,0 +1,72 @@
1+{ cabalexpr, pkgs, compiler ? "Ghc", version, os ? "Osx", arch ? "X86_64" }:
2+assert (builtins.elem compiler ["Ghc" "Ghcjs" "Nhc" "Yhc" "Hugs" "Hbc" "Helium" "Jhc" "Lhc" "Uhc" "Eta"]);
3+assert (builtins.elem os ["Linux" "Windows" "Osx" "FreeBSD" "OpenBSD" "NetBSD" "DragonFly" "Solaris" "AIX" "HPUX" "IRIX" "HaLVM" "Hurd" "IOS" "Android" "Ghcjs"]);
4+assert (builtins.elem arch ["I386" "X86_64" "PPC" "PPC64" "Sparc" "Arm" "Aarch64" "Mips" "SH" "IA64" "S390" "Alpha" "Hppa" "Rs6000" "M68k" "Vax" "JavaScript"]);
5+
6+with rec {
7+ # utilities
8+ collectAttr = a: s: pkgs.lib.lists.fold (e: acc: (if e ? ${a} then e.${a} else []) ++ acc) [] (builtins.attrValues s);
9+
10+ # resolver for cabal license to nix license
11+ resolve = { license = stdenv: license: (import ./cabal-licenses.nix stdenv).${license}; };
12+
13+ # cabal os, arch and compilers.
14+ cabal = import ./cabal-os-arch-comp.nix;
15+
16+ expr0 = flags: let e = cabalexpr {
17+ inherit flags;
18+ # null out self references. Tests, Benchmarks, ...
19+ # naturally depend on the package (as a library), but
20+ # we don't want those dependencies.
21+ hsPkgs = pkgs.haskellPackages // { ${e.package.identifier.name} = null; };
22+ # We also need to do some system pkgs -> haskell pkgs
23+ # resolution.
24+ pkgs = pkgs // { };
25+ # package-conf mappings.
26+ # pkgconfig name -> nix package
27+ pkgconfPkgs = { libpcre = pkgs.pcre; };
28+
29+ compiler = cabal.compiler // {
30+ "is${compiler}" = true;
31+ version = rec {
32+ eq = v: builtins.compareVersions version v == 0;
33+ lt = v: builtins.compareVersions version v == -1;
34+ gt = v: builtins.compareVersions version v == 1;
35+ le = v: eq v || lt v;
36+ ge = v: eq v || gt v;
37+ };
38+ };
39+ system = cabal.os // { "is${os}" = true; }
40+ // cabal.arch // { "is${arch}" = true; };
41+ }; in e;
42+};
43+{ mkDerivation, stdenv, flags ? {} }:
44+let expr = expr0 flags;
45+ pname = expr.package.identifier.name;
46+in mkDerivation ({
47+ inherit pname;
48+ version = expr.package.identifier.version;
49+ sha256 = null;
50+
51+ isLibrary = builtins.hasAttr pname expr.components;
52+ isExecutable = builtins.hasAttr "exes" expr.components;
53+
54+ homepage = expr.package.homepage;
55+ description = expr.package.synopsis;
56+ license = resolve.license stdenv expr.package.license;
57+
58+ configureFlags = pkgs.lib.mapAttrsToList (flag: enabled: (if enabled then "-f" else "-f-") + flag) expr.flags;
59+} // pkgs.lib.optionalAttrs (builtins.hasAttr pname expr.components) {
60+ libraryHaskellDepends = expr.components.${pname}.depends;
61+ libraryPkgconfigDepends = expr.components.${pname}.pkgconfig or [];
62+ librarySystemDepends = expr.components.${pname}.libs or [];
63+ libraryToolDepends = expr.components.${pname}.build-tools or [];
64+} // pkgs.lib.optionalAttrs (builtins.hasAttr "exes" expr.components) {
65+ executableHaskellDepends = collectAttr "depends" expr.components.exes;
66+} // pkgs.lib.optionalAttrs (builtins.hasAttr "tests" expr.components) {
67+ testHaskellDepends = collectAttr "depends" expr.components.tests;
68+} // pkgs.lib.optionalAttrs (builtins.hasAttr "benchmarks" expr.components) {
69+ benchmarkHaskellDepends = collectAttr "depends" expr.components.benchmarks;
70+} // pkgs.lib.optionalAttrs (builtins.hasAttr "src" expr) {
71+ inherit (expr) src;
72+})
compat/host-map.nixnew file+20
@@ -0,0 +1,20 @@
1+stdenv: with stdenv.hostPlatform; {
2+ os = if isLinux then "Linux" else
3+ if isWindows then "Windows" else
4+ if isMacOS then "Osx" else
5+ if isFreeBSD then "Freebsd" else
6+ if isOpenBSD then "Openbsd" else
7+ if isNetBSD then "Netbsd" else
8+ if isHurd then "Hurd" else
9+ if isiOS then "Ios" else
10+ if isAndroid then "Android" else
11+ throw "Unknown OS";
12+ arch = if isx86 && is32bit then "I386" else
13+ if isx86 && is64bit then "X86_64" else
14+ if isPowerPC && is32bit then "PPC" else
15+ if isPowerPC && is64bit then "PPC64" else
16+ if isArm && is32bit then "Arm" else
17+ if isArm && is64bit then "Aarch64" else
18+ if isMips then "Mips" else
19+ throw "Unknown Arch";
20+}
compiler/bootstrap/cabal-install.nixdeleted−82
@@ -1,82 +0,0 @@
1−{ fetchurl, hackage, stdenv, lib, ghc, zlib, src, version }:
2−let dependencies =
3− [ { name = "deepseq"; version = "1.4.3.0"; }
4− { name = "binary"; version = "0.8.5.1"; }
5− { name = "time"; version = "1.9.1"; }
6− { name = "transformers"; version = "0.5.5.0"; }
7− { name = "mtl"; version = "2.2.2"; }
8− { name = "text"; version = "1.2.3.0"; }
9− { name = "parsec"; version = "3.1.13.0"; }
10− { name = "network-uri"; version = "2.6.1.0"; }
11− { name = "network"; version = "2.7.0.0"; }
12− { name = "HTTP"; version = "4000.3.12"; }
13− { name = "zlib"; version = "0.6.2"; }
14− { name = "random"; version = "1.1"; }
15− { name = "stm"; version = "2.4.5.0"; }
16− { name = "hashable"; version = "1.2.7.0"; }
17− { name = "async"; version = "2.2.1"; }
18− { name = "base16-bytestring"; version = "0.1.1.6"; }
19− { name = "base64-bytestring"; version = "1.0.0.1"; }
20− { name = "cryptohash-sha256"; version = "0.11.101.0";}
21− { name = "resolv"; version = "0.1.1.1"; }
22− { name = "mintty"; version = "0.1.2"; }
23− { name = "echo"; version = "0.1.3"; }
24− { name = "edit-distance"; version = "0.2.2.1"; }
25− { name = "ed25519"; version = "0.0.5.0"; }
26− { name = "tar"; version = "0.5.1.0"; }
27− { name = "digest"; version = "0.0.1.2"; }
28− { name = "zip-archive"; version = "0.3.3"; }
29− { name = "hackage-security"; version = "0.5.3.0"; }
30− ]; in
31−let depPaths = builtins.map ({name, version}:
32− fetchurl {
33− url = "mirror://hackage/${name}-${version}.tar.gz";
34− inherit (hackage.${name}.${version}) sha256; }) dependencies;
35−in stdenv.mkDerivation ({
36− name = "cabal-install";
37−
38− inherit version;
39−
40− passthru = {
41− inherit version;
42− };
43−
44− meta = {
45− platforms = lib.platforms.all;
46− };
47−
48− nativeBuildInputs = [ ghc zlib ];
49−
50− inherit src;
51−
52− configurePhase = "";
53−
54− buildPhase = ''
55− # We need the .git directory to make the ./bootstrap command use ../Cabal.
56− mkdir .git
57−
58− cd cabal-install
59− # unpack dependencies, so we can bootstrap without network.
60− for dep in ${builtins.concatStringsSep " " depPaths}; do
61− tar xzf $dep
62− done
63−
64− # make sure we have the patched (revised) .cabal files.
65− ${builtins.concatStringsSep "\n"
66− (builtins.map ({name, version}:
67− let revInfo = hackage.${name}.${version}.revisions.default; in
68− if revInfo.revNum == null || revInfo.revNum == 0
69− then ""
70− else let revision = fetchurl { url = "https://hackage.haskell.org/package/${name}-${version}/revision/${toString revInfo.revNum}.cabal"; inherit (revInfo) sha256; }; in
71− ''cp "${revision}" "${name}-${version}/${name}.cabal"''
72− ) dependencies)
73− }
74− mkdir $out
75− ghc-pkg init $out/packages.conf.d
76− EXTRA_CONFIGURE_OPTS="" SCOPE_OF_INSTALLATION="--package-db=$out/packages.conf.d" PREFIX="$out" ./bootstrap.sh --no-doc -j
77− '';
78−
79− installPhase = ''
80−
81− '';
82−})
compiler/ghc/default.nixdeleted−512
@@ -1,512 +0,0 @@
1−# This is the nix expression to build ghc. The Glasgow Haskell Compiler. It is
2−# heavily inspired (and based) upon the ghc expression from nixos/nixpkgs.
3−# haskell.nix ships its own version of the ghc expression as it needs more
4−# control over the expression to isolate it against varying <nixpkgs> and
5−# allow us to customize it to the way haskell.nix works.
6−let self =
7−{ stdenv, lib, haskell-nix, targetPackages
8−
9−# build-tools
10−, bootPkgs
11−, buildPackages
12−, autoconf, automake, coreutils, fetchurl, fetchpatch, perl, python3, m4, sphinx, numactl, elfutils
13−, autoreconfHook
14−, bash
15−
16−, libiconv ? null
17−
18−, ncurses # TODO remove this once the cross compilers all work without
19−
20−, installDeps
21−
22−, # GHC can be built with system libffi or a bundled one.
23− libffi ? null
24−
25−, useLLVM ? !stdenv.targetPlatform.isx86
26−, # LLVM is conceptually a run-time-only dependency, but for
27− # non-x86, we need LLVM to bootstrap later stages, so it becomes a
28− # build-time dependency too.
29− buildLlvmPackages, llvmPackages
30−
31−, # If enabled, GHC will be built with the GPL-free but slower integer-simple
32− # library instead of the faster but GPLed integer-gmp library.
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)
37−
38−, # If enabled, use -fPIC when compiling static libs.
39− enableRelocatedStaticLibs ? stdenv.targetPlatform != stdenv.hostPlatform && !stdenv.targetPlatform.isAarch32
40−
41−, # Whether to build dynamic libs for the standard library (on the target
42− # platform). Static libs are always built.
43− enableShared ? !haskell-nix.haskellLib.isCrossTarget
44−
45−, enableLibraryProfiling ? true
46−
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
55−
56−, # What flavour to build. An empty string indicates no
57− # specific flavour and falls back to ghc default values.
58− ghcFlavour ? lib.optionalString haskell-nix.haskellLib.isCrossTarget (
59− if useLLVM
60− then "perf-cross"
61− else "perf-cross-ncg"
62− )
63−
64−, # Whether to disable the large address space allocator
65− # necessary fix for iOS: https://www.reddit.com/r/haskell/comments/4ttdz1/building_an_osxi386_to_iosarm64_cross_compiler/d5qvd67/
66− disableLargeAddressSpace ? stdenv.targetPlatform.isDarwin && stdenv.targetPlatform.isAarch64
67−
68−, ghc-version ? src-spec.version
69−, ghc-version-date ? null
70−, src-spec
71−, ghc-patches ? []
72−
73−# extra values we want to have available as passthru values.
74−, extra-passthru ? {}
75−}@args:
76−
77−assert !(enableIntegerSimple || enableNativeBignum) -> gmp != null;
78−
79−# Early check to make sure only one of these is enabled
80−assert enableNativeBignum -> !enableIntegerSimple;
81−assert enableIntegerSimple -> !enableNativeBignum;
82−
83−let
84− inherit (stdenv) buildPlatform hostPlatform targetPlatform;
85− inherit (haskell-nix.haskellLib) isCrossTarget;
86−
87− inherit (bootPkgs) ghc;
88−
89− ghcHasNativeBignum = builtins.compareVersions ghc-version "9.0" >= 0;
90−
91− bignumSpec =
92− assert ghcHasNativeBignum -> !enableIntegerSimple;
93− assert !ghcHasNativeBignum -> !enableNativeBignum;
94− if ghcHasNativeBignum then ''
95− BIGNUM_BACKEND = ${if enableNativeBignum then "native" else "gmp"}
96− '' else ''
97− INTEGER_LIBRARY = ${if enableIntegerSimple then "integer-simple" else "integer-gmp"}
98− '';
99−
100− # TODO check if this possible fix for segfaults works or not.
101− targetLibffi =
102− # on native platforms targetPlatform.{libffi, gmp} do not exist; thus fall back
103− # to the non-targetPlatform version in those cases.
104− let targetLibffi = targetPackages.libffi or libffi; in
105− # we need to set `dontDisableStatic` for musl for libffi to work.
106− if stdenv.targetPlatform.isMusl
107− then targetLibffi.overrideAttrs (old: { dontDisableStatic = true; })
108− else targetLibffi;
109−
110− targetGmp = targetPackages.gmp or gmp;
111−
112− targetIconv = targetPackages.libiconv or libiconv;
113−
114− targetNumactl = targetPackages.numactl or numactl;
115−
116− # TODO(@Ericson2314) Make unconditional
117− targetPrefix = lib.optionalString
118− (targetPlatform != hostPlatform)
119− "${targetPlatform.config}-";
120−
121− buildMK = ''
122− BuildFlavour = ${ghcFlavour}
123− ifneq \"\$(BuildFlavour)\" \"\"
124− include mk/flavours/\$(BuildFlavour).mk
125− endif
126− DYNAMIC_GHC_PROGRAMS = ${if enableShared then "YES" else "NO"}
127− '' + bignumSpec + ''
128− EXTRA_HADDOCK_OPTS += --quickjump --hyperlinked-source
129− '' + lib.optionalString (targetPlatform != hostPlatform) ''
130− CrossCompilePrefix = ${targetPrefix}
131− '' + lib.optionalString isCrossTarget ''
132− Stage1Only = ${if targetPlatform.system == hostPlatform.system then "NO" else "YES"}
133− ''
134− # GHC 9.0.1 fails to compile for musl unless HADDOC_DOCS = NO
135− + lib.optionalString (isCrossTarget || (targetPlatform.isMusl && builtins.compareVersions ghc-version "9.0.1" >= 0)) ''
136− HADDOCK_DOCS = NO
137− BUILD_SPHINX_HTML = NO
138− BUILD_SPHINX_PDF = NO
139− '' + lib.optionalString enableRelocatedStaticLibs ''
140− GhcLibHcOpts += -fPIC
141− 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 ''
150− EXTRA_CC_OPTS += -std=gnu99
151− '' + lib.optionalString (!enableTerminfo) ''
152− WITH_TERMINFO=NO
153− ''
154− # musl doesn't have a system-linker. Only on x86, and on x86 we need it, as
155− # our elf linker for x86_64 is broken.
156− + lib.optionalString (targetPlatform.isAndroid || (targetPlatform.isMusl && !targetPlatform.isx86)) ''
157− compiler_CONFIGURE_OPTS += --flags=-dynamic-system-linker
158− ''
159− # While split sections are now enabled by default in ghc 8.8 for windows,
160− # the seem to lead to `too many sections` errors when building base for
161− # 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) ''
166− SplitSections = NO
167− '' + lib.optionalString (!enableLibraryProfiling) ''
168− BUILD_PROF_LIBS = NO
169− '';
170−
171− # Splicer will pull out correct variations
172− libDeps = platform: lib.optional enableTerminfo [ targetPackages.ncurses targetPackages.ncurses.dev ]
173− ++ [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;
179−
180− toolsForTarget =
181− if hostPlatform == buildPlatform then
182− [ targetPackages.stdenv.cc ] ++ lib.optional useLLVM llvmPackages.llvm
183− else assert targetPlatform == hostPlatform; # build != host == target
184− [ stdenv.cc ] ++ lib.optional useLLVM buildLlvmPackages.llvm;
185−
186− targetCC = builtins.head toolsForTarget;
187−
188−in
189−stdenv.mkDerivation (rec {
190− version = ghc-version;
191− name = "${targetPrefix}ghc-${version}";
192−
193− patches = ghc-patches;
194−
195− src = if src-spec ? file
196− then src-spec.file
197− else fetchurl { inherit (src-spec) url sha256; };
198−
199− # configure was run by configured-src already.
200− phases = [ "unpackPhase" "patchPhase" ]
201− ++ lib.optional (ghc-patches != []) "autoreconfPhase"
202− ++ [ "configurePhase" "buildPhase"
203− "checkPhase" "installPhase"
204− "fixupPhase"
205− "installCheckPhase"
206− "distPhase"
207− ];
208−
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− ];
291−
292− enableParallelBuilding = true;
293− postPatch = "patchShebangs .";
294−
295− outputs = [ "out" "doc" "generated" ];
296−
297− # Make sure we never relax`$PATH` and hooks support for compatibility.
298− strictDeps = true;
299−
300− # Don’t add -liconv to LDFLAGS automatically so that GHC will add it itself.
301− dontAddExtraLibs = true;
302−
303− nativeBuildInputs = [
304− perl autoconf automake m4 python3 sphinx
305− ghc bootPkgs.alex bootPkgs.happy bootPkgs.hscolour
306− ] ++ lib.optional (patches != []) autoreconfHook;
307−
308− # For building runtime libs
309− depsBuildTarget = toolsForTarget;
310−
311− buildInputs = [ perl bash ] ++ (libDeps hostPlatform);
312−
313− depsTargetTarget = map lib.getDev (libDeps targetPlatform);
314− depsTargetTargetPropagated = map (lib.getOutput "out") (libDeps targetPlatform);
315−
316− # required, because otherwise all symbols from HSffi.o are stripped, and
317− # that in turn causes GHCi to abort
318− stripDebugFlags = [ "-S" ] ++ lib.optional (!targetPlatform.isDarwin) "--keep-file-symbols";
319−
320− # See #63511 - the only unstripped file is the debug rts which isn't meant to
321− # be stripped.
322− stripDebugList = [ "lib/${name}/bin" ];
323−
324− checkTarget = "test";
325−
326− 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− '' + ''
342− # Install the bash completion file.
343− install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc
344−
345− # Patch scripts to include "readelf" and "cat" in $PATH.
346− for i in "$out/bin/"*; do
347− test ! -h $i || continue
348− egrep --quiet '^#!' <(head -n 1 $i) || continue
349− # The ghcprog fixup is for musl (where runhaskell script just needs to point to the correct
350− # ghc program to work).
351− sed -i \
352− -e '2i export PATH="$PATH:${lib.makeBinPath [ targetPackages.stdenv.cc.bintools coreutils ]}"' \
353− -e 's/ghcprog="ghc-/ghcprog="${targetPrefix}ghc-/' \
354− $i
355− done
356−
357− # Save generated files for needed when building ghc and ghcjs
358− mkdir -p $generated/includes/dist-derivedconstants/header
359− cp includes/dist-derivedconstants/header/GHCConstantsHaskell*.hs \
360− $generated/includes/dist-derivedconstants/header
361− if [[ -f includes/ghcplatform.h ]]; then
362− cp includes/ghcplatform.h $generated/includes
363− elif [[ -f includes/dist-install/build/ghcplatform.h ]]; then
364− cp includes/dist-install/build/ghcplatform.h $generated/includes
365− fi
366− mkdir -p $generated/compiler/stage2/build
367− cp compiler/stage2/build/Config.hs $generated/compiler/stage2/build || true
368− if [[ -f compiler/stage2/build/GHC/Platform/Constants.hs ]]; then
369− mkdir -p $generated/compiler/stage2/build/GHC/Platform
370− cp compiler/stage2/build/GHC/Platform/Constants.hs $generated/compiler/stage2/build/GHC/Platform
371− fi
372− if [[ -f compiler/stage2/build/GHC/Settings/Config.hs ]]; then
373− mkdir -p $generated/compiler/stage2/build/GHC/Settings
374− cp compiler/stage2/build/GHC/Settings/Config.hs $generated/compiler/stage2/build/GHC/Settings
375− fi
376− cp compiler/stage2/build/*.hs-incl $generated/compiler/stage2/build || true
377− mkdir -p $generated/rts/build
378− cp rts/build/config.hs-incl $generated/rts/build || true
379−
380− # Save generated files for needed when building ghc-boot
381− mkdir -p $generated/libraries/ghc-boot/dist-install/build/GHC/Platform
382− if [[ -f libraries/ghc-boot/dist-install/build/GHC/Version.hs ]]; then
383− cp libraries/ghc-boot/dist-install/build/GHC/Version.hs $generated/libraries/ghc-boot/dist-install/build/GHC/Version.hs
384− fi
385− if [[ -f libraries/ghc-boot/dist-install/build/GHC/Platform/Host.hs ]]; then
386− cp libraries/ghc-boot/dist-install/build/GHC/Platform/Host.hs $generated/libraries/ghc-boot/dist-install/build/GHC/Platform/Host.hs
387− fi
388−
389− ${installDeps targetPrefix}
390−
391− # Sanity checks for https://github.com/input-output-hk/haskell.nix/issues/660
392− if ! "$out/bin/${targetPrefix}ghc" --version; then
393− echo "ERROR: Missing file $out/bin/${targetPrefix}ghc"
394− exit 1
395− fi
396− if ! "$out/bin/${targetPrefix}ghc-pkg" --version; then
397− echo "ERROR: Missing file $out/bin/${targetPrefix}ghc-pkg"
398− exit 1
399− fi
400− if [[ ! -d "$out/lib/${targetPrefix}ghc-${version}" ]]; then
401− echo "ERROR: Missing directory $out/lib/${targetPrefix}ghc-${version}"
402− exit 1
403− fi
404− if (( $(ls -1 "$out/lib/${targetPrefix}ghc-${version}" | wc -l) < 30 )); then
405− echo "ERROR: Expected more files in $out/lib/${targetPrefix}ghc-${version}"
406− exit 1
407− fi
408− '';
409−
410− passthru = {
411− inherit bootPkgs targetPrefix;
412−
413− inherit llvmPackages;
414− inherit enableShared;
415− inherit useLLVM;
416−
417− # Our Cabal compiler name
418− haskellCompilerName = "ghc-${version}";
419−
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− });
454−
455− # Used to detect non haskell-nix compilers (accidental use of nixpkgs compilers can lead to unexpected errors)
456− 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− });
468− } // extra-passthru;
469−
470− meta = {
471− homepage = http://haskell.org/ghc;
472− description = "The Glasgow Haskell Compiler";
473− maintainers = [];
474− inherit (ghc.meta) license platforms;
475− };
476−
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 {
483− dontStrip = true;
484− dontPatchELF = true;
485− 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
compiler/ghc/source-dist.nixdeleted−40
@@ -1,40 +0,0 @@
1−{ src, stdenv, pkgs, version, ghc, alex, happy, hscolour }:
2−stdenv.mkDerivation {
3−
4− inherit version;
5−
6− name = "ghc-source-dist";
7−
8− buildInputs = [ ghc alex happy hscolour ] ++ (with pkgs; [ automake bash git cacert python3 autoconf xorg.lndir ]);
9−
10− inherit src;
11−
12− phases = [ "unpackPhase" "buildPhase" "installPhase" ];
13−
14− buildPhase = ''
15− # Happy and Alex are confused about their data dirs. See
16− # https://github.com/haskell/cabal/issues/5862 for details.
17− #
18− # This is fixed in more recent builds. We can't rely on
19− # custom built tools as computing the source-dist is pretty
20− # much in the bootstrap lane.
21−
22− export alex_datadir=$(find ${alex}/share -name "alex-*" -type d -and -not -path "*doc*")
23− export happy_datadir=$(find ${happy}/share -name "happy-*" -type d -and -not -path "*doc*")
24−
25− # We need to --skip-url-rewrites, ghc is a bit too strict here.
26− python3 ./boot --skip-url-rewrites
27− # let's not flood the screen with garbage.
28− ./configure --silent
29−
30− # this folder ends up being needed for the windows dists; just mock it.
31− mkdir ghc-tarballs
32− make sdist --silent
33− '';
34−
35− installPhase = ''
36− mkdir -p $out
37− install -Dm644 sdistprep/ghc-$(cat VERSION)-src.tar.xz $out/src.tar.xz
38− install -Dm644 sdistprep/ghc-$(cat VERSION)-testsuite.tar.xz $out/testsuite.tar.xz
39− '';
40−}
compiler/ghcjs/ghcjs-src.jsondeleted−6
@@ -1,6 +0,0 @@
1−{
2− "url": "https://github.com/ghcjs/ghcjs",
3− "rev": "58ed01e77028108c2b1da10d52cb331788b6a466",
4− "sha256": "1lr3grk5jjm8bvvkndilm06ry1dj7i66k4g27fr009bggdy9q6ws",
5− "fetchSubmodules": true
6−}
compiler/ghcjs/ghcjs.nixdeleted−301
@@ -1,301 +0,0 @@
1−{ pkgs
2−, ghcjsSrcJson ? ./ghcjs-src.json
3−, ghcjsSrc ? pkgs.buildPackages.fetchgit (builtins.fromJSON (builtins.readFile ghcjsSrcJson))
4−, ghcjsVersion ? "8.6.0.0.10"
5−, ghcVersion ? "8.6.5"
6−, compiler-nix-name ? if builtins.compareVersions ghcjsVersion "8.8.0.0" > 0
7− then "ghc884"
8− else "ghc865"
9−, ghc ? pkgs.buildPackages.ghc
10−, overrideBootPackages ? [] # adds if not present, overrides if present.
11−}:
12−let
13− isGhcjs88 = builtins.compareVersions ghcjsVersion "8.8.0.0" >= 0;
14− isGhcjs810 = builtins.compareVersions ghcjsVersion "8.10.0.0" >= 0;
15−
16− project = pkgs.buildPackages.haskell-nix.ghcjsProject {
17− src = ghcjsSrc;
18− inherit ghcjsVersion compiler-nix-name overrideBootPackages;
19− index-state = "2020-04-25T00:00:00Z";
20− patches = if isGhcjs810
21− then [
22− ./patches/810/fast-weak.patch
23− ./patches/810/boot-optimization-flags.patch
24− ]
25− else [];
26−# plan-sha256 = "1wy2lr08maxyi7r8jiwf2gj6pdayk5vxxwh42bj4s2gg4035z0yc";
27−# materialized = ../../materialized/ghcjs;
28− };
29−
30− inherit (project.hsPkgs) ghcjs;
31−
32− all-ghcjs = pkgs.buildPackages.symlinkJoin {
33− name = "ghcjs-${ghcjsVersion}-symlinked";
34− paths = [
35− (ghcjs.getComponent "exe:ghcjs-boot")
36− ] ++ (if isGhcjs88
37− 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")
45− ]
46− 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")
54− ]);
55− };
56− libexec = "libexec/${builtins.replaceStrings ["darwin" "i686"] ["osx" "i386"] pkgs.stdenv.buildPlatform.system}-${ghc.name}/ghcjs-${ghcVersion}";
57− booted-ghcjs = pkgs.stdenv.mkDerivation {
58− name = "ghcjs-${ghcVersion}";
59− src = project.configured-src;
60−
61− nativeBuildInputs = project.bootInputs
62− ++ pkgs.lib.optional isGhcjs88 pkgs.buildPackages.procps;
63− passthru = {
64− inherit all-ghcjs bundled-ghcjs project;
65− configured-src = project.configured-src + "/ghc";
66− # Used to detect non haskell-nix compilers (accidental use of nixpkgs compilers can lead to unexpected errors)
67− isHaskellNixCompiler = true;
68− } // ghcjs.components.exes;
69− dontUpdateAutotoolsGnuConfigScripts = true;
70− dontConfigure = true;
71− dontInstall = true;
72− buildPhase = ''
73− export HOME=$TMP
74− mkdir $HOME/.cabal
75− touch $HOME/.cabal/config
76− cd lib/boot
77− ${if isGhcjs88
78− then ''
79− mkdir -p $out/bin
80− mkdir -p $out/lib
81− lndir ${all-ghcjs}/bin $out/bin
82− chmod -R +w $out/bin
83− rm $out/bin/ghcjs-boot
84− cp ${ghcjs.getComponent "exe:ghcjs-boot"}/bin/ghcjs-boot $out/bin
85− rm $out/bin/haddock
86− cp ${ghcjs.getComponent "exe:haddock"}/bin/haddock $out/bin
87−
88− wrapProgram $out/bin/ghcjs --add-flags "-B$out/lib"
89− wrapProgram $out/bin/haddock --add-flags "-B$out/lib"
90− wrapProgram $out/bin/ghcjs-pkg --add-flags "--global-package-db=$out/lib/package.conf.d"
91− ''
92− else ''
93− mkdir -p $out
94− lndir ${all-ghcjs} $out
95− 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
100−
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"
104− ''
105− }
106− # Avoid timeouts while unix package runs hsc2hs (it does not print anything
107− # for more than 900 seconds).
108− {
109− for n in {1..50}; do
110− if [ ! -f $TMP/done ]; then
111− sleep 300
112− echo Keep alive $n
113− fi
114− done
115− } &
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)
122− ''
123− else if isGhcjs88 then ''
124− env -u NIX_CFLAGS_COMPILE PATH=$out/bin:$PATH \
125− $out/bin/ghcjs-boot -j1 --with-emsdk=${project.emsdk} --no-prof --no-haddock \
126− || (echo failed > $TMP/done; false)
127− ''
128− 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} \
131− || (echo failed > $TMP/done; false)
132− ''
133− }
134− echo ok > $TMP/done
135− '';
136− # We hard code -j1 as a temporary workaround for
137− # https://github.com/ghcjs/ghcjs/issues/654
138− # enableParallelBuilding = true;
139− };
140− ghcjs-relocatable-bin = pkgs.stdenv.mkDerivation {
141− name = "ghcjs-relocatable-bin-${ghcVersion}";
142− src = all-ghcjs;
143− dontConfigure = true;
144− dontInstall = true;
145− dontPatchShebangs = true;
146− dontPatchELF = true;
147− buildPhase = ''
148− # Copy the ghcjs exectuables
149− mkdir -p $out/bin
150− cp $src/${libexec}/* $out/bin
151−
152− # Add readlink (needed by bundleRootDir)
153− cp ${pkgs.coreutils}/bin/readlink $out/bin
154−
155− '' + (pkgs.lib.optionalString pkgs.stdenv.isDarwin ''
156− # Make the executables location independent using install_name_tool and @executable_path
157−
158− # Copy the libraries needed into place
159− cp ${pkgs.gmp}/lib/libgmp.10.dylib $out/bin
160− cp ${pkgs.ncurses}/lib/libncursesw.6.dylib $out/bin
161− cp ${pkgs.libffi}/lib/libffi.6.dylib $out/bin
162−
163− # Set the ID of the libraries
164− chmod -R +w $out/bin
165− install_name_tool -id "@executable_path/libgmp.10.dylib" "$out/bin/libgmp.10.dylib"
166− install_name_tool -id "@executable_path/libncursesw.6.dylib" "$out/bin/libncursesw.6.dylib"
167− install_name_tool -id "@executable_path/libffi.6.dylib" "$out/bin/libffi.6.dylib"
168−
169− # Modify all the references so we look for the libraries in the system location or
170− # @executable_path (the directory containin the exetubable itself).
171− for fn in $out/bin/*; do
172− install_name_tool -change "${pkgs.libiconv}/lib/libiconv.dylib" /usr/lib/libiconv.dylib "$fn"
173− install_name_tool -change "${pkgs.stdenv.libc}/lib/libSystem.B.dylib" /usr/lib/libSystem.B.dylib "$fn"
174− install_name_tool -change "${pkgs.gmp}/lib/libgmp.10.dylib" "@executable_path/libgmp.10.dylib" "$fn"
175− install_name_tool -change "${pkgs.ncurses}/lib/libncursesw.6.dylib" "@executable_path/libncursesw.6.dylib" "$fn"
176− install_name_tool -change "${pkgs.libffi}/lib/libffi.6.dylib" "@executable_path/libffi.6.dylib" "$fn"
177− done
178− '')
179−
180− + (pkgs.lib.optionalString pkgs.stdenv.isLinux ''
181− # Make the executables location independent using patchelf and $ORIGIN.
182− chmod -R +w $out/bin
183− # This interpreter setting will not work on nixOS, but this bundle is
184− # not really needed on nixOS systems.
185− patchelf --set-interpreter /lib64/ld-linux-x86-64.so.2 $out/bin/*
186− patchelf --set-rpath '$ORIGIN' $out/bin/*
187− # Link the libraries needed into place
188− ln -s ${pkgs.gmp}/lib/libgmp.so.* $out/bin
189− ln -s ${pkgs.ncurses}/lib/libncursesw.so.* $out/bin
190− ln -s ${pkgs.libffi}/lib/libffi.so.* $out/bin
191− '');
192− };
193− # This is a way to find the location of the root directory of this bundle
194− # when one of the wrapper scripts runs. By using readlink (to avoid
195− # issues with symlinks that might be made to the script) and dirname
196− # we can find the directory even when it may have been moved.
197− bundleRootDir = ''"$(dirname "$(dirname "$(readlink -f "$0")")")"'';
198− bundled-ghcjs = {
199− compilerName ? "ghcjs", # Name for the compiler wrapper
200− db ? null, # A ghcjs package database this argument should can
201− # be `project.(shellFor { ... }).configFiles` or
202− # the result of a `makeConfigFiles` call.
203− hostDb ? null # Like db, but this will be passed as the `-host-package-db`.
204− }:
205− let
206− libDeps = pkgs.lib.concatMapStrings (lib: "${lib} ") (pkgs.lib.unique (
207− [booted-ghcjs ghc db hostDb pkgs.ncurses pkgs.gmp pkgs.libffi]
208− ++ (pkgs.haskell-nix.haskellLib.flatLibDepends db.component)
209− ++ (pkgs.haskell-nix.haskellLib.flatLibDepends hostDb.component)
210− ));
211− in pkgs.stdenv.mkDerivation {
212− name = "${compilerName}-${ghcVersion}-bundle";
213− src = booted-ghcjs;
214− nativeBuildInputs = [ pkgs.makeWrapper pkgs.xorg.lndir ];
215− dontConfigure = true;
216− dontInstall = true;
217− dontPatchShebangs = true;
218− dontPatchELF = true;
219− buildPhase = ''
220− # Copy the ghcjs exectuables
221− mkdir -p $out/bin
222− lndir ${ghcjs-relocatable-bin}/bin $out/bin
223−
224− # Make the executables writeable for patchelf and install_name_tool
225− chmod -R +w $out/bin
226−
227− # And links for the /lib directory of all the dependencies
228− # including the booted ghcjs
229− for lib in ${ libDeps }; do
230− if [ -d $lib/lib ]; then
231− mkdir -p $out/$(basename $lib)
232− lndir -silent $lib $out/$(basename $lib)
233− fi
234− done
235−
236− '' + (pkgs.lib.optionalString pkgs.stdenv.isDarwin ''
237− rm -rf $out/$(basename ${hostDb})/lib/links
238− cp -rL ${hostDb}/lib/links $out/$(basename ${hostDb})/lib
239− chmod -R +w $out/$(basename ${hostDb})/lib/links
240−
241− # Modify all the references so we look for the libraries in the system location or
242− # @executable_path (the directory containin the exetubable itself).
243− for fn in $out/$(basename ${hostDb})/lib/links/*; do
244− install_name_tool -change "${pkgs.libiconv}/lib/libiconv.dylib" /usr/lib/libiconv.dylib "$fn"
245− install_name_tool -change "${pkgs.stdenv.libc}/lib/libSystem.B.dylib" /usr/lib/libSystem.B.dylib "$fn"
246− install_name_tool -change "${pkgs.gmp}/lib/libgmp.10.dylib" "@executable_path/libgmp.10.dylib" "$fn"
247− install_name_tool -change "${pkgs.ncurses}/lib/libncursesw.6.dylib" "@executable_path/libncursesw.6.dylib" "$fn"
248− install_name_tool -change "${pkgs.libffi}/lib/libffi.6.dylib" "@executable_path/libffi.6.dylib" "$fn"
249− done
250− '') + ''
251−
252− # Wrap the programs to add the ghcjs library dir and package DB directories
253− wrapProgram $out/bin/ghcjs \
254− --add-flags '"-B${bundleRootDir}/$(basename ${booted-ghcjs})/lib/ghcjs-${ghcVersion}"' \
255− --add-flags '"-package-db ${db}/${db.packageCfgDir}"' ${
256− pkgs.lib.optionalString (hostDb != null)
257− " --add-flags '-host-package-db=${hostDb}/${hostDb.packageCfgDir}'"
258− }
259− wrapProgram $out/bin/ghcjs-pkg --add-flags '"--global-package-db=${db}/${db.packageCfgDir}"'
260− wrapProgram $out/bin/haddock-ghcjs --add-flags '"-B${bundleRootDir}/$(basename ${booted-ghcjs})/lib/ghcjs-${ghcVersion}"'
261−
262− # Fix the bang pattern to use the systems bash.
263− # Replace the absolute output path ($out) with bundleRootDir
264− # (this will fix the references to the unwarpped executables).
265− # Replace the `/nix/store` refs (in the package DB paths) with
266− # bundleRootDir.
267− sed -i \
268− -e 's|${pkgs.stdenv.shell}|/usr/bin/env -S bash|' \
269− -e "s|$out/|"'${bundleRootDir}/|g' \
270− -e 's|/nix/store/|${bundleRootDir}/|g' \
271− $out/bin/ghcjs $out/bin/haddock-ghcjs $out/bin/ghcjs-pkg
272−
273− # Update the ghcjs and ghc settings files so that `cc` looked up in the PATH.
274− rm $out/$(basename ${booted-ghcjs})/lib/ghcjs-${ghcVersion}/settings
275− sed -e 's|/nix/store/.*/bin/cc|cc|' \
276− < ${booted-ghcjs}/lib/ghcjs-${ghcVersion}/settings \
277− > $out/$(basename ${booted-ghcjs})/lib/ghcjs-${ghcVersion}/settings
278− rm $out/$(basename ${ghc})/lib/ghc-${ghcVersion}/settings
279− sed -e 's|/nix/store/.*/bin/cc|cc|' \
280− < ${ghc}/lib/ghc-${ghcVersion}/settings \
281− > $out/$(basename ${ghc})/lib/ghc-${ghcVersion}/settings
282−
283− # Update the ghcjs settings files so that `node` looked up in the PATH.
284− rm $out/$(basename ${booted-ghcjs})/lib/ghcjs-${ghcVersion}/nodeSettings.json
285− sed -e 's|/nix/store/.*/bin/node|node|' \
286− < ${booted-ghcjs}/lib/ghcjs-${ghcVersion}/nodeSettings.json \
287− > $out/$(basename ${booted-ghcjs})/lib/ghcjs-${ghcVersion}/nodeSettings.json
288−
289− # Update the ghcjs settings files so that `node` looked up in the PATH.
290− rm $out/$(basename ${booted-ghcjs})/lib/ghcjs-${ghcVersion}/ghc_libdir
291− sed -e 's|/nix/store/|../../../|' \
292− < ${booted-ghcjs}/lib/ghcjs-${ghcVersion}/ghc_libdir \
293− > $out/$(basename ${booted-ghcjs})/lib/ghcjs-${ghcVersion}/ghc_libdir
294− '' + (pkgs.lib.optionalString (compilerName != "ghcjs") ''
295− # Rename the wrappers based on the `compilerName` arg
296− mv $out/bin/ghcjs $out/bin/${compilerName}
297− mv $out/bin/ghcjs-pkg $out/bin/${compilerName}-pkg
298− mv $out/bin/haddock-ghcjs $out/bin/haddock-${compilerName}
299− '');
300− };
301−in booted-ghcjs
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.jsondeleted−6
@@ -1,6 +0,0 @@
1−{
2− "url": "https://github.com/ghcjs/ghcjs",
3− "rev": "1af48a877fdf1f647a3b81e828a1e61adb0baceb",
4− "sha256": "sha256-B4LFpd1nl96SO6/gsTjkizMGSglMkrujmwgXVjahC68=",
5− "fetchSubmodules": true
6−}
compiler/ghcjs/patches/810/boot-optimization-flags.patchdeleted−14
@@ -1,14 +0,0 @@
1−diff --git a/src-bin/Boot.hs b/src-bin/Boot.hs
2−index 2e35a26..5db2f9b 100755
3−--- a/src-bin/Boot.hs
4−+++ b/src-bin/Boot.hs
5−@@ -721,6 +721,9 @@ cabalConfigureFlags = do
6− , "--prefix", T.pack (locs ^. blGhcjsTopDir)
7− , "--configure-option", "--host=js-unknown-ghcjs"
8− , "--ghcjs-options=-fwrite-ide-info"
9−+ , "--ghcjs-options=-O2"
10−+ , "--ghcjs-options=-fexpose-all-unfoldings"
11−+ , "--ghcjs-options=-fspecialise-aggressively"
12− , "--enable-debug-info"
13− , "--disable-library-stripping"
14− , "--disable-executable-stripping"
compiler/ghcjs/patches/810/fast-weak.patchdeleted−87
@@ -1,87 +0,0 @@
1−diff --git a/lib/boot/shims/src/gc.js.pp b/lib/boot/shims/src/gc.js.pp
2−index 76321b2..a2cf416 100644
3−--- a/lib/boot/shims/src/gc.js.pp
4−+++ b/lib/boot/shims/src/gc.js.pp
5−@@ -444,6 +444,50 @@ function h$follow(obj, sp) {
6− } else if(typeof c.len === 'number' && c.buf instanceof ArrayBuffer) {
7− TRACE_GC("marking ByteArray");
8− MARK_OBJ(c);
9−+ } else if(c instanceof h$FastWeak) {
10−+ MARK_OBJ(c);
11−+ if(c.ticket !== null && !IS_MARKED(c.ticket)) {
12−+ c.ticket = null; // If the ticket isn't reachable, this will let it get cleaned up by the JS gc; if it is reachable, it'll fill this back in
13−+ }
14−+ } else if(c instanceof h$FastWeakTicket) {
15−+ MARK_OBJ(c);
16−+ if(!IS_MARKED(c.val)) {
17−+ ADDW(c.val);
18−+ }
19−+ if(IS_MARKED(c.weak)) {
20−+ // In this case, the weak side has been marked first, which means it's been cleared; restore it
21−+ c.weak.ticket = c;
22−+ }
23−+ } else if(c instanceof h$FastWeakBag) {
24−+ MARK_OBJ(c);
25−+ var j = 0; // j should always be equal to the number of not-yet-necessarily-dead tickets that have been traversed; this should always be less than or equal to i
26−+ for(i = 0; i < c.tickets.length; i++) {
27−+ // Any nulls left in the array prior to checking on the tickets must be tickets that died in the last GC, so we ignore them
28−+ if(c.tickets[i] !== null) {
29−+ if(j !== i) {
30−+ c.tickets[i].pos = j;
31−+ }
32−+ if(!IS_MARKED(c.tickets[i])) {
33−+ // If the ticket isn't reachable, this will let it get cleaned up by the JS gc; if it is reachable, it'll fill this back in
34−+ c.tickets[j] = null;
35−+ } else if(j !== i) {
36−+ // We need to move the item
37−+ c.tickets[j] = c.tickets[i];
38−+ } // If it's marked and not moving, don't do anything
39−+ j++;
40−+ }
41−+ }
42−+ c.tickets.length = j; // Shrink the array if any nulls have been dropped
43−+ } else if(c instanceof h$FastWeakBagTicket) {
44−+ MARK_OBJ(c);
45−+ if(!IS_MARKED(c.val)) {
46−+ ADDW(c.val);
47−+ }
48−+ if(IS_MARKED(c.bag)) {
49−+ // In this case, the weak side has been marked first, which means it's been cleared; restore it
50−+ c.bag.tickets[c.pos] = c;
51−+ }
52−+
53− } else if(c instanceof h$Weak) {
54− MARK_OBJ(c);
55− } else if(c instanceof h$MVar) {
56−diff --git a/lib/boot/shims/src/weak.js.pp b/lib/boot/shims/src/weak.js.pp
57−index 8df313b..d537027 100644
58−--- a/lib/boot/shims/src/weak.js.pp
59−+++ b/lib/boot/shims/src/weak.js.pp
60−@@ -87,3 +87,27 @@ function h$finalizeWeak(w) {
61− RETURN_UBX_TUP2(r, 1);
62− }
63− }
64−+
65−+function h$FastWeak(ticket) {
66−+ this.ticket = ticket;
67−+ this.m = 0;
68−+}
69−+
70−+function h$FastWeakTicket(val) {
71−+ this.val = val;
72−+ this.weak = new h$FastWeak(this);
73−+ this.m = 0;
74−+}
75−+
76−+function h$FastWeakBag() {
77−+ this.tickets = [];
78−+ this.m = 0;
79−+}
80−+
81−+function h$FastWeakBagTicket(bag, val) {
82−+ this.val = val;
83−+ this.bag = bag;
84−+ this.pos = bag.tickets.length;
85−+ bag.tickets.push(this);
86−+ this.m = 0;
87−+};
compiler/windows/include/synchapi.hdeleted−1
@@ -1 +0,0 @@
1−#include <windows.h>
compiler/windows/include/windows.hdeleted−18
@@ -1,18 +0,0 @@
1−// Just enoough windows.h stuff to make rts headers usable when building GHC cross compiler.
2−// See compiler/ghc/default.nix for where this is used.
3−#ifndef _WINDOWS_
4−#define _WINDOWS_
5−
6−#define __stdcall
7−
8−typedef unsigned long DWORD;
9−typedef void * PVOID;
10−
11−typedef struct _RTL_CONDITION_VARIABLE { PVOID Ptr; } RTL_CONDITION_VARIABLE;
12−typedef RTL_CONDITION_VARIABLE CONDITION_VARIABLE;
13−
14−typedef struct _RTL_SRWLOCK { PVOID Ptr; } RTL_SRWLOCK;
15−typedef RTL_SRWLOCK SRWLOCK;
16−
17−#endif
18−
config.nixdeleted−8
@@ -1,8 +0,0 @@
1−{
2− # allow building for windows
3− allowUnsupportedSystem = true;
4− # we want the 64bit wine version
5− wine.build = "wine64";
6− wine.release = "stable";
7−}
8−
default.nix+1−29
@@ -1,29 +1 @@
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+{ compat = import ./compat; }
dimension.nixdeleted−114
@@ -1,114 +0,0 @@
1−# Borrowed from https://github.com/cachix/ghcide-nix/pull/4/files#diff-70bfff902f4dec33e545cac10ee5844d
2−# Tweaked to use builtins.mapAttrs instead of needing the one from nixpkgs lib
3−{
4− /*
5− dimension: name -> attrs -> function -> attrs
6− where
7− function: keyText -> value -> attrsOf package
8−
9− WARNING: Attribute names must not contain periods (".").
10− See https://github.com/NixOS/nix/issues/3088
11−
12− NOTE: The dimension name will be picked up by agent and web ui soon.
13−
14− Specifies a dimension of the build matrix. For example
15−
16− dimension "Example" {
17− withP = { p = true; }
18− withoutP = { p = false; }
19− } (key: # either "withP" or "withoutP"
20− { p }: # either p = true or p = false
21− myProject p
22− )
23−
24− evaluates roughly to
25−
26− {
27− withP = myProject true;
28− withoutP = myProject false;
29− }
30−
31− Use nested calls for multiple dimensions.
32−
33− Example:
34−
35− dimension "System" {
36− "x86_64-linux" = {};
37− # ...
38− }: (system: {}:
39−
40− dimension "Nixpkgs release" (
41− {
42− "nixpkgs-19_03".nixpkgs = someSource
43− } // optionalAttrs (system != "...") {
44− "nixpkgs-unstable".nixpkgs = someOtherSource
45− }
46− ) (_key: { nixpkgs }:
47−
48− myProject system nixpkgs
49−
50− )
51− )
52−
53− evaluates roughly to
54−
55− {
56− x86_64-linux.nixpkgs-19_03 = myProject "x86_64-linux" someSource;
57− x86_64-linux.nixpkgs-unstable = myProject "x86_64-linux" someOtherSource;
58− ...
59− }
60−
61− If you need to make references across attributes, you can do so by binding
62− the result. Wherever you write
63−
64− dimension "My dimension" {} (key: value: f1 key value)
65−
66− You can also write
67−
68− let
69− myDimension = dimension "My dimension" {} (key: value: f2 key value myDimension)
70− in
71− myDimension
72−
73− This example builds a single test runner to reuse across releases:
74−
75− let
76− overlay =
77− testRunnerPkgs: self: super: {
78− # ...
79− };
80− myProject =
81− { nixpkgs,
82− pkgs ? import nixpkgs { overlays = [ overlay ]; },
83− testRunnerPkgs ? pkgs
84− }: pkgs;
85− in
86−
87− let
88− latest = "nixpkgs-19_03";
89− releases =
90− dimension "Nixpkgs release"
91− {
92− nixpkgs-18_09.nixpkgs = someSource
93− nixpkgs-19_03.nixpkgs = someOtherSource
94− }
95− (_key: { nixpkgs }:
96−
97− myProject {
98− inherit nixpkgs;
99− testRunnerPkgs = releases."${latest}";
100− }
101−
102− );
103− in releases;
104−
105− */
106− dimension = name: attrs: f:
107− builtins.mapAttrs
108− (k: v:
109− let o = f k v;
110− in o // { recurseForDerivations = o.recurseForDerivations or true; }
111− )
112− attrs
113− // { meta.dimension.name = name; };
114−}
docs/architecture.mddeleted−68
@@ -1,68 +0,0 @@
1−# Architecture
2−
3−There are multiple components that play a part in the haskell.nix
4−infrastructure. These are `nix-tools`, `haskell.nix`, `hackage.nix`,
5−and `stackage.nix`.
6−
7−```no-highlight
8− .-------------. .-------------.
9−.- nix-tools ------. | haskell.nix | .- | hackage.nix |
10−| .--------------. | .----------------. '-------------' | '-------------'
11−| | stack-to-nix |---> | stack-pkgs.nix |-. | | |
12−| '--------------' | '----------------' | v | v
13−| .-------------. | .----------. '--> .----------. <-' .--------------.
14−| | plan-to-nix |----> | plan.nix |------.---> | pkgs.nix | <--- | stackage.nix |
15−| '-------------' | '----------' | '----------' '--------------'
16−| .--------------. | .--------------. | |
17−| | cabal-to-nix |---> | $package.nix |--' v
18−| '--------------' | '--------------' .-------------.
19−'------------------' | default.nix |
20− '-------------'
21− |
22− v
23− .-------------.
24− | release.nix |
25− '-------------'
26−```
27−haskell.nix diagram
28−
29−## [nix-tools](https://github.com/input-output-hk/nix-tools)
30−
31−nix-tools is a Haskell package that provides the following tools:
32−
33−- `cabal-to-nix`: a `.cabal` to `.nix` transformer that retains
34− conditional expressions.
35−
36−- `stack-to-nix`: a `stack.yaml` to `.nix` transformer that will read
37− in a `stack.yaml` expression an generate a `pkgs.nix` file suited for
38− use with `haskell.nix`.
39−
40−- `plan-to-nix`: a `plan.json` to `.nix` transformer that will read in
41− a `plan.json` file and generate a `pkgs.nix` file suited for use
42− with `haskell.nix`.
43−
44−as well as a few other tools used to generate `hackage.nix` and `stackage.nix`.
45−
46−## [haskell.nix][]
47−
48−[Haskell.nix][] is the runtime system for this Haskell infrastructure.
49−It contains the component builder, as well as the system package and
50−license mapping. Without haskell.nix the expressions generated by
51−either of the `nix-tools` tools make little sense on their own.
52−
53−## [hackage.nix][]
54−
55−[hackage.nix][] provides all cabal expressions from hackage as nix
56−expressions. It is periodically updated to keep in sync with the set
57−of packages available on hackage.
58−
59−## [stackage.nix][]
60−
61−[stackage.nix][] is similar to hackage.nix but provides all stackage
62−snapshots (lts, and nightly) as nix expressions. It naturally depends
63−on hackage.nix to resolve package names, versions and revisions to the
64−respective packages from hackage.nix.
65−
66−[haskell.nix]: https://github.com/input-output-hk/haskell.nix
67−[hackage.nix]: https://github.com/input-output-hk/hackage.nix
68−[stackage.nix]: https://github.com/input-output-hk/stackage.nix
docs/changelog.mddeleted−1
@@ -1 +0,0 @@
1−../changelog.md
docs/dev/adding-new-ghc.mddeleted−34
@@ -1,34 +0,0 @@
1−# Adding a new GHC version to haskell.nix
2−
3−## Update `overlays/bootstrap.nix`
4−
5−Each ghc version is defined in this file. Duplicate one of the existing
6−ghc version definitions and replace the version numbers. Make sure
7−you update the `spec.sha256` or the other versions source will be used.
8−Check the LLVM version that should be used in the
9−[ghc wiki](https://gitlab.haskell.org/ghc/ghc/-/wikis/commentary/compiler/backends/llvm/installing).
10−
11−## Update the list of cached GHC versions in `ci.nix`
12−
13−## Update [supported ghc versions](../reference/supported-ghc-versions.md) document
14−
15−## Add the materialized files
16−
17−In the haskell.nix repo run:
18−
19−```
20−mkdir materialized/ghc884
21−nix-build scripts/check-compiler-materialization --argstr compiler-nix-name ghc884
22−```
23−
24−The `nix-build` command will fail with something like:
25−
26−```
27−Materialized nix used for dummy-data-x86_64-unknown-linux-musl-ghc-8.10.1 incorrect. To fix run: /nix/store/wnwpyrhv4nxgyljz3f20gdpspjxvm7h4-updateMaterialized
28−```
29−
30−Run the `updateMaterialized` script and repeat the `nix-build` until it no longer fails.
31−If the failure is not a problem with materialization and no `updateMaterialized` script
32−is provided then you may need to fix the failure another way or (if it only relates to
33−one of the cross compilers) modify `scripts/check-compiler-materialization/default.nix`
34−so that it skips that compiler.
docs/dev/coverage.mddeleted−180
@@ -1,180 +0,0 @@
1−# Developer Coverage Overview
2−
3−## Building
4−
5−The implementation of coverage starts with the "doCoverage" flag on
6−the builder in `comp-builder.nix`. The doCoverage flag enables and
7−disables the Cabal coverage flag and copies any generated coverage
8−data to "$out/share/hpc".
9−
10−### Mix and tix files
11−
12−The coverage information for any derivation consists of "mix" and
13−"tix" files.
14−
15−Mix files record static information about a source file and are
16−generated at build time. They primarily contain a path to the source
17−file and information about expressions and regions of the source file,
18−which are later referenced by tix files.
19−
20−Tix files contain dynamic information about a test run, recording when
21−a portion of a source file is touched by a test. These are generated
22−when the test is run.
23−
24−### Multiple local packages
25−
26−In the context of multiple local packages, there are a few types of
27−coverage we might be interested in:
28− - How well does the tests for this package cover the package library?
29− - How well does the tests for this package cover the libraries of
30− other packages in this project?
31− - Both of the above.
32−
33−To facilitate expressing any of these classifications of coverage, the
34−`lib/cover.nix` function provides the `mixLibraries` argument. If
35−you're just interested in how the tests cover the package library, you
36−provide that library as an argument to `mixLibraries`. If you're
37−interested in how the tests also cover other local packages in the
38−project, you can also provide those libraries as arguments to
39−mixLibraries.
40−
41−The `projectCoverageReport` and `coverageReport` attributes that are
42−provided by default on projects and packages respectively provide
43−coverage information for *all* local packages in the project. This is
44−to mimic the behaviour of Stack, which seems to be the expectation of
45−most people. Of course, you can use the `projectCoverageReport` and
46−`coverageReport` functions to construct your own custom coverage
47−reports (as detailed in the [coverage tutorial](../tutorials/coverage.md#custom)).
48−
49−## Coverage reports
50−
51−### Package reports
52−
53−The coverage information generated will look something like this:
54−
55−```bash
56−/nix/store/...-my-project-0.1.0.0-coverage-report/
57−└── share
58− └── hpc
59− └── vanilla
60− ├── html
61− │ └── my-library-0.1.0.0
62− │ ├── my-library-0.1.0.0-48EVZBwW9Kj29VTaRMhBDf
63− │ │ ├── My.Lib.Config.hs.html
64− │ │ ├── My.Lib.Types.hs.html
65− │ │ └── My.Lib.Util.hs.html
66− │ ├── hpc_index_alt.html
67− │ ├── hpc_index_exp.html
68− │ ├── hpc_index_fun.html
69− │ └── hpc_index.html
70− ├── mix
71− │ └── my-library-0.1.0.0
72− │ └── my-library-0.1.0.0-48EVZBwW9Kj29VTaRMhBDf
73− │ ├── My.Lib.Config.mix
74− │ ├── My.Lib.Types.mix
75− │ └── My.Lib.Util.mix
76− └── tix
77− └── my-library-0.1.0.0
78− ├── my-library-0.1.0.0.tix
79− ├── my-test-1
80− │ └── my-test-1.tix
81− └── unit-test
82− └── unit-test.tix
83−```
84−
85−- The mix files are copied verbatim from the library built with
86− coverage.
87−- The tix files for each test are copied from the check run verbatim
88− and are output to ".../tix/<libraryname>/<testname>/<testname>.tix".
89−- The tix files for each library are generated by summing the tix
90− files for each test, but excluding any test modules. This tix file
91− is output to ".../tix/<libraryname>/<libraryname>.tix".
92− - Test modules are determined by inspecting the plan for the project
93− (i.e. for the project "my-project" and test-suite "my-test-1", the
94− test modules are read from:
95− `my-project.checks.my-test-1.config.modules`)
96−- The hpc HTML reports for each library are generated from their
97− respective tix files (i.e. the
98− `share/hpc/vanilla/html/my-library-0.1.0.0` report is generated from
99− the
100− `share/hpc/vanilla/tix/my-library-0.1.0.0/my-library-0.1.0.0.tix`
101− file)
102−
103−### Project-wide reports
104−
105−The coverage information for an entire project will look something
106−like this:
107−
108−```bash
109−/nix/store/...-coverage-report
110−└── share
111− └── hpc
112− └── vanilla
113− ├── html
114− │ ├── index.html
115− │ ├── all
116− │ │ ├── my-library-0.1.0.0-ERSaOroBZhe9awsoBkhmcV
117− │ │ │ ├── My.Lib.Config.hs.html
118− │ │ │ ├── My.Lib.Types.hs.html
119− │ │ │ └── My.Lib.Util.hs.html
120− │ │ ├── other-library-0.1.0.0-48EVZBwW9Kj29VTaRMhBDf
121− │ │ │ ├── Other.Lib.A.hs.html
122− │ │ │ └── Other.Lib.B.hs.html
123− │ │ ├── hpc_index_alt.html
124− │ │ ├── hpc_index_exp.html
125− │ │ ├── hpc_index_fun.html
126− │ │ └── hpc_index.html
127− │ ├── my-library-0.1.0.0
128− │ │ ├── my-library-0.1.0.0-ERSaOroBZhe9awsoBkhmcV
129− │ │ │ ├── My.Lib.Config.hs.html
130− │ │ │ ├── My.Lib.Types.hs.html
131− │ │ │ └── My.Lib.Util.hs.html
132− │ │ ├── hpc_index_alt.html
133− │ │ ├── hpc_index_exp.html
134− │ │ ├── hpc_index_fun.html
135− │ │ └── hpc_index.html
136− │ └── other-libray-0.1.0.0
137− │ ├── other-library-0.1.0.0-48EVZBwW9Kj29VTaRMhBDf
138− │ │ ├── Other.Lib.A.hs.html
139− │ │ └── Other.Lib.B.hs.html
140− │ ├── hpc_index_alt.html
141− │ ├── hpc_index_exp.html
142− │ ├── hpc_index_fun.html
143− │ └── hpc_index.html
144− ├── mix
145− │ ├── my-library-0.1.0.0-ERSaOroBZhe9awsoBkhmcV
146− │ │ ├── My.Lib.Config.mix
147− │ │ ├── My.Lib.Types.mix
148− │ │ └── My.Lib.Util.mix
149− │ └── other-library-0.1.0.0-48EVZBwW9Kj29VTaRMhBDf
150− │ ├── Other.Lib.A.mix
151− │ └── Other.Lib.B.mix
152− └── tix
153− ├── all
154− │ └── all.tix
155− ├── my-library-0.1.0.0
156− │ ├── my-library-0.1.0.0.tix
157− │ ├── my-test-1
158− │ │ └── my-test-1.tix
159− │ └── unit-test
160− │ └── unit-test.tix
161− └── another-library-0.1.0.0
162− ├── another-library-0.1.0.0.tix
163− ├── my-test-2
164− │ └── my-test-2.tix
165− └── unit-test
166− └── unit-test.tix
167−```
168−
169−All of the coverage information is copied verbatim from the coverage
170−reports for each of the constituent packages. A few additions are
171−made:
172− - `tix/all/all.tix` is generated from the union of all the library
173− tix files.
174− - We use this file when generating coverage reports for
175− "coveralls.io".
176− - An index page (`html/index.html`) is generated which links to the
177− HTML coverage reports of the constituent packages.
178− - A synthetic HTML report is generated from the `tix/all/all.tix`
179− file. This shows the union of all the coverage information
180− generated by each constituent coverage report.
docs/dev/dev-architecture.mddeleted−90
@@ -1,90 +0,0 @@
1−# Developer Architecture Overview
2−
3−This shall give a sufficiently good overview over the haskell.nix
4−ideas, such that a new developer can navigate around without too
5−much trouble.
6−
7−## Packages
8−
9−`haskell.nix` is centered around packages (haskell package
10−descriptions as nix-expressions). These are generated by
11−`cabal-to-nix` from the `nix-tools` package. `stack-to-nix` and
12−`plan-to-nix` will delegate the transformation of cabal packages to
13−nix expressions to the same code that `cabal-to-nix` uses.
14−
15−These packages will look similar to the following:
16−
17−```nix
18−{ system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
19−{
20− flags = {};
21− package = { ... };
22− components = {
23− "library" = { depends = [ ... ]; };
24− exes = { "..." = { depends = [ ... ]; }; ... };
25− sublibs = { "..." = { depends = [ ... ]; }; ... };
26− tests = { "..." = { depends = [ ... ]; }; ... };
27− benchmarks = { "..." = { depends = [ ... ]; }; ... };
28− };
29−};
30−```
31−
32−The exact specification can be found in `modules/package.nix`.
33−
34−## Plans
35−
36−Packages (unless specified directly in the `packages` attribute of the
37−module) usually come from a plan. A plan is either a Stackage snapshot
38−(nightly or LTS) or a build plan as produced by `cabal`.
39−
40−Plan files usually look like the following:
41−```nix
42−hackage:
43−{
44− packages = {
45− "$pkg".revision = hackage.$pkg.$version.revisions.default;
46− "$pkg".flags = { flag1 = true; flag2 = false; ... };
47− ...
48− };
49− compiler = {
50− version = "8.4.4";
51− nix-name = "ghc844";
52− packages = {
53− "binary" = "0.8.5.1";
54− ...
55− };
56− };
57−}
58−```
59−
60−This provides enough information about the compiler, what packages the
61−compiler ships with and the packages we want to use in our plan.
62−
63−This revision and flag information will be inlined into a list of
64−packages in `config.packages` in `modules/plan.nix`. Thus
65−`config.packages` will only contains packages as described in the
66−previous section.
67−
68−## Package Sets (of derivations)
69−
70−We finally tie this all together in `package-set.nix` where we use
71−`modules/component-driver.nix` to produce the derivations for each
72−packages component to produce the final `config.hsPkgs` value.
73−
74−There is also a `modules/compat-driver.nix` that should produce the
75−same packageset to be used with the stock haskell infrastructure in
76−nixpkgs (*This has undergone substantially less testing*).
77−
78−### Component builder
79−
80−To prevent depending on multiple instances of the same libraries, the
81−component builder will try to build every package from scratch and
82−rely as little as possible on packages that are shipped with the GHC
83−distribution. The exceptions are packages that are known to not be
84−reinstallable. See `config.nonReinstallablePkgs`.
85−
86−The component builder can be found in `modules/component-driver.nix`
87−and `builder/default.nix`. The component-driver will ensure that we do
88−not try to rebuild non-reinstallable packages, and call the
89−`builder/default.nix` on each package in `config.packages` to produce
90−`config.hsPkgs`.
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/installing-nix-tools.mddeleted−28
@@ -1,28 +0,0 @@
1−## Installing `nix-tools`
2−
3−To build the latest `nix-tools` and store the result at `./nt`, run:
4−
5−```bash
6−nix build -f https://github.com/input-output-hk/haskell.nix/archive/master.tar.gz pkgs.haskell-nix.nix-tools.ghc884 --out-link nt
7−```
8−
9−If you would like to then install `nix-tools` into your profile, run:
10−
11−```bash
12−nix-env -i ./nt
13−```
14−
15−## Optional: Installing via [Haskell.nix][] source
16−
17−The [Haskell.nix][] and `nix-tools` source will be useful if you would
18−like to contribute improvements, or read the source code to fully
19−understand something that the documentation doesn't cover.
20−
21−```bash
22−git clone https://github.com/input-output-hk/nix-tools
23−git clone https://github.com/input-output-hk/haskell.nix
24−cd haskell.nix
25−nix build -f . pkgs.haskell-nix.nix-tools.ghc884 --arg sourcesOverride '{ nix-tools = ../nix-tools; }' --out-link nt
26−```
27−
28−[haskell.nix]: https://github.com/input-output-hk/haskell.nix
docs/dev/maintainer-scripts.mddeleted−18
@@ -1,18 +0,0 @@
1−# Updating Hackage and Stackage Nix expressions
2−
3−The [`hackage.nix`](https://github.com/input-output-hk/hackage.nix)
4−and [`stackage.nix`](https://github.com/input-output-hk/stackage.nix)
5−repos and corresponding files `hackage-src.json` and
6−`stackage-src.json` will be regularly and automatically updated using
7−scripts in this repo.
8−
9−To run the updater scripts manually, use:
10−
11− nix-build build.nix -A maintainer-scripts.update-hackage -o update-hackage.sh
12− ./update-hackage.sh
13−
14− nix-build build.nix -A maintainer-scripts.update-stackage -o update-stackage.sh
15− ./update-stackage.sh
16−
17−The scripts will clone the repo, generate the latest data, then
18−attempt to push back to the repo and update the source JSON file.
docs/dev/manually-generating-nix-expressions.mddeleted−179
@@ -1,179 +0,0 @@
1−# Manually generating Nix expressions
2−
3−We believe that imports from derivations (IFDs) provide tremendous
4−value in nix and the aversion towards them stems mostly from
5−poor tooling and ci support for them. We do not believe
6−that poor tooling or ci support should cripple nix capability
7−of abstraction. Hence haskell.nix makes excessive use of
8−IFDs.
9−
10−We do note however that there are users who prefer to
11−have IFD-free expressions. For this group of users we
12−detail how to expand the IFD dependent high level functions
13−into their IFD free building blocks.
14−
15−The general structure will be the same, independent of the use of
16−Stack or Cabal.
17−
18−Let us assume for now that we have already generated a `pkgs.nix`
19−expression (see the links bellow). The following file then produces a package set:
20−
21−```nix
22−# default.nix
23−let
24− # Import the Haskell.nix library,
25− pkgs = import <nixpkgs> (import (builtins.fetchTarball https://github.com/input-output-hk/haskell.nix/archive/master.tar.gz) {}).nixpkgsArgs;
26−
27− # Import the file you will create in the stack-to-nix or cabal-to-nix step.
28− my-pkgs = import ./pkgs.nix;
29−
30− # Stack projects use this:
31− pkgSet = pkgs.haskell-nix.mkStackPkgSet {
32− stack-pkgs = my-pkgs;
33− pkg-def-extras = [
34− # these extras will provide additional packages
35− # ontop of the package set. E.g. extra-deps
36− # for stack packages. or local packages for
37− # cabal.projects
38− ];
39− modules = [
40− # specific package overrides would go here
41− # example:
42− # packages.cbors.package.ghcOptions = "-Werror";
43− # packages.cbors.patches = [ ./one.patch ];
44− # packages.cbors.flags.optimize-gmp = false;
45− # It may be better to set flags in stack.yaml instead
46− # (`stack-to-nix` will include them as defaults).
47− ];
48− };
49−
50− # Cabal projects use this:
51− pkgSet = pkgs.haskell-nix.mkCabalProjectPkgSet {
52− plan-pkgs = my-pkgs;
53− pkg-def-extras = [];
54− modules = [
55− # specific package overrides would go here
56− # example:
57− # packages.cbors.package.ghcOptions = "-Werror";
58− # packages.cbors.patches = [ ./one.patch ];
59− # packages.cbors.flags.optimize-gmp = false;
60− # It may be better to set flags in `cabal.project` instead
61− # (`plan-to-nix` will include them as defaults).
62− ];
63− };
64−
65−in pkgSet.config.hsPkgs // { _config = pkgSet.config; }
66−```
67−
68−With this setup you can then start building the components of
69−interest:
70−
71−```bash
72−nix build -f default.nix $pkg.components.library
73−```
74−
75−to build the library for `$pkg` or
76−
77−```bash
78−nix build -f default.nix $pkg.components.exes.$exe
79−```
80−
81−to build a specific executable. The same holds for test suites and benchmarks.
82−
83−## Using Stack
84−
85−With [nix-tools installed](./installing-nix-tools.md), we can simply run the
86−following command on a stack project:
87−
88−```bash
89−stack-to-nix --output . --stack-yaml stack.yaml
90−```
91−
92−This will produce a `pkgs.nix` file that looks like the following:
93−```nix
94−{
95− resolver = "lts-12.17";
96− extras = hackage:
97− {
98− packages = {
99− "o-clock" = hackage.o-clock."0.1.1".revisions.default;
100− ...
101− } // {
102− my-package = ./my-package.nix;
103− ...
104− };
105− };
106−}
107−```
108−
109−This file contains the stackage resolver, as well as set of extra
110−packages. The extras specifies which `extra-deps` (here:
111−`o-clock-0.1.1`) we wanted to add over the stackage snapshot, and what
112−local packages we want (here: `my-package`).
113−
114−## Using Cabal
115−
116−### Generating `plan.json`
117−
118−To get a plan, you need Cabal and GHC. See the [How to install a
119−compiler section of the Nixpkgs Manual][compiler] for information
120−about how to choose a specific compiler version.
121−
122−[compiler]: https://nixos.org/nixpkgs/manual/#how-to-install-a-compiler
123−
124−!!! note "Cabal version"
125− The minimum Cabal version is 2.4. This version is available
126− in the NixOS 19.03 release.
127−
128−For this example, we will run a `nix-shell` with the default GHC
129−version for Nixpkgs.
130−
131−```bash
132−nix-shell -p haskellPackages.cabal-install haskellPackages.ghc \
133− --run "cabal new-configure"
134−```
135−
136−If all goes well, you should now have the file
137−`dist-newstyle/cache/plan.json`.
138−
139−!!! tip "Specifying the GHC version"
140− To use a specific compiler version, replace `haskellPackages.ghc`
141− with something like `haskell-nix.compiler.ghc865`. The given compiler
142− must exist in your Nixpkgs version, of course. See also the
143− [Nixpkgs Manual][compiler].
144−
145−### Using `plan-to-nix`
146−
147−With [nix-tools installed](./installing-nix-tools.md), we can then run the
148−following command on a Cabal project and its build plan. Omit the
149−`--cabal-project` option if you don't have a project file.
150−
151−```bash
152−# convert the plan.json file into a pkgs.nix file
153−plan-to-nix --output . \
154− --plan-json dist-newstyle/cache/plan.json
155− --cabal-project cabal.project
156−```
157−
158−This will produce a `pkgs.nix` file that looks like the following:
159−
160−```nix
161−{
162− pkgs = hackage:
163− {
164− packages = {
165− "o-clock" = hackage.o-clock."0.1.1".revisions.default;
166− ...
167− };
168− compiler = { ... };
169− };
170−
171− extras = hackage:
172− { packages = { my-package = ./.plan.nix/my-package.nix; }; };
173−}
174−```
175−
176−It has converted Cabal's build plan into a Nix expression that selects
177−dependencies from `hackage.nix`. All local packages in the project are
178−generated with `cabal-to-nix` and added to the package set
179−description.
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.mddeleted−17
@@ -1,17 +0,0 @@
1−# Haskell.nix Nixpkgs Pin
2−
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.
7−
8−To use haskell.nix the `config` and `overlays` need to be applied to
9−Nixpkgs. Users should probably pin a suitable version of nixpkgs, although things might not work for them if their Nixpkgs version is
10−too different.
11−
12−We aim to keep this pin somewhere on a channel of the **Nixpkgs latest
13−stable release**. That is currently 20.09.
14−
15−We 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.
docs/dev/removing-with-package-wrapper.mddeleted−66
@@ -1,66 +0,0 @@
1−# `ghcWithPackages` wrapper removal
2−
3−The current [Nixpkgs Haskell infrastructure][nixpkgs-haskell] and `haskell.nix` both
4−provide a `ghcWithPackages` derivation which contains shell script
5−wrappers that wrap `ghc` and `ghc-pkg`.
6−
7−In the Nixpkgs Haskell infrastructure, the wrapper scripts are used
8−for building Haskell packages. However, in `haskell.nix`, the wrappers
9−are only used for development environments.
10−
11−The wrapper scripts provide a `ghc` command that "knows" about the
12−package set and has all Haskell package dependencies available to it.
13−
14−We would like to remove the wrapper scripts, but it's currently not
15−possible to configure all build tools using environment variables
16−alone.
17−
18−## Plain `ghc`
19−
20−When using `ghc` or `ghci` by itself, the `GHC_ENVIRONMENT` variable
21−can point to a configuration file containing an exact package
22−set. This works quite well.
23−
24−## `ghc-pkg`
25−
26−The package tool `ghc-pkg` does not recognize `GHC_ENVIRONMENT`, but
27−does recognize a `GHC_PACKAGE_PATH` pointing to a `package.conf.d`.
28−
29−This works well. However, the `cabal` command will refuse to start if
30−`GHC_PACKAGE_PATH` is set.
31−
32−## `Setup.hs`
33−
34−When invoking `Setup.hs configure`, the package database is provided
35−with the `--package-db` argument and exact dependencies in the package
36−set can be provided as `--dependency` arguments.
37−
38−The `haskell.nix` component builder uses `Setup.hs` with these
39−command-line options to build Haskell packages.
40−
41−## `cabal new-build`
42−
43−Cabal-install will observe the `CABAL_CONFIG` environment variable,
44−which points to a cabal config file. This config file can provide a
45−`package-db` value, but it can't specify exact versions of packages.
46−
47−Cabal is designed to solve dependencies, not simply take the package
48−set which is given to it.
49−
50−Therefore, `cabal` does not use `GHC_ENVIRONMENT`, but instead creates
51−its own environment file. It will not accept `--dependency` arguments.
52−
53−As far as I know, the best way to force `cabal` to take a pre-computed
54−package set is to use a `new-freeze` file. However there is no
55−environment variable (or config file entry) which can specify a path
56−to a freeze file.
57−
58−Specifying a `package-db` path in the cabal config file is not enough
59−for it to successfully resolve dependencies.
60−
61−As mentioned before, `cabal` does not work when `GHC_PACKAGE_PATH` is
62−set. The best way to work around this is to wrap `ghc` and `ghc-pkg`
63−in shell scripts.
64−
65−
66−[nixpkgs-haskell]: https://nixos.org/nixpkgs/manual/#users-guide-to-the-haskell-infrastructure
docs/dev/tests.mddeleted−1
@@ -1 +0,0 @@
1−../../test/README.md
docs/index.mddeleted−15
@@ -1,15 +0,0 @@
1−# haskell.nix
2−
3−`haskell.nix` is an alternative Haskell infrastructure for Nix[^1].
4−
5−## Features
6−
7−- Drop-in support for Cabal projects
8−- Drop-in support for Stack projects
9−- Build any package of specific version in Stackage or Hackage
10−- Overridable configuration
11−- Cross compile Haskell packages
12−
13−[^1]: See [Nixpkgs current Users' Guide to Haskell Infrastructure](https://haskell4nix.readthedocs.io/) for comparison.
14−
15−
docs/iohk-nix.mddeleted−113
@@ -1,113 +0,0 @@
1−# IOHK's nix tooling
2−
3−## [iohk-nix](https://github.com/input-output-hk/iohk-nix)
4−
5−iohk-nix is IOHK's shared nix library. It provides some templates to
6−make working with haskell.nix trivial but is non-essential to use
7−haskell.nix infrastructure.
8−
9−lib.nix
10−```nix
11−let
12− # iohk-nix can be overridden for debugging purposes by setting
13− # NIX_PATH=iohk_nix=/path/to/iohk-nix
14− iohkNix = import (
15− let try = builtins.tryEval <iohk_nix>;
16− in if try.success
17− then builtins.trace "using host <iohk_nix>" try.value
18− else
19− let
20− spec = builtins.fromJSON (builtins.readFile ./iohk-nix.json);
21− in builtins.fetchTarball {
22− url = "${spec.url}/archive/${spec.rev}.tar.gz";
23− inherit (spec) sha256;
24− }) {};
25−
26− pkgs = iohkNix.pkgs;
27− lib = pkgs.lib;
28−in lib // { inherit iohkNix pkgs; inherit (iohkNix) nix-tools; }
29−```
30−
31−iohk-nix.json
32−```json
33−{
34− "url": "https://github.com/input-output-hk/iohk-nix",
35− "rev": "c92f0119ef5814b0ed1f445c2fdcf8894e326294",
36− "sha256": "05r90x6x3yp1nb66rkc4n0i8q15c634rrdsr2zvb118s3sdcmmrm",
37− "fetchSubmodules": false
38−}
39−```
40−
41−nix/pkgs.nix
42−```
43−{ pkgs ? import <nixpkgs> {}
44−, iohk-extras ? {}
45−, iohk-module ? {}
46−, haskell
47−, hackage
48−, stackage
49−, ...
50−}:
51−let
52− # our packages
53− stack-pkgs = import ./.stack-pkgs.nix;
54−
55− # Build the packageset with module support.
56− # We can essentially override anything in the modules
57− # section.
58− #
59− # packages.cbors.patches = [ ./one.patch ];
60− # packages.cbors.flags.optimize-gmp = false;
61− #
62− compiler = (stack-pkgs.extras hackage).compiler.nix-name;
63− pkgSet = haskell.mkNewPkgSet {
64− inherit pkgs;
65− pkg-def = stackage.${stack-pkgs.resolver};
66− # These extras allow extension or restriction of the set of
67− # packages we are interested in. By using the stack-pkgs.extras
68− # we restrict our package set to the ones provided in stack.yaml.
69− pkg-def-extras = [
70− stack-pkgs.extras
71− iohk-extras.${compiler}
72− ];
73− # package customizations
74− modules = [
75− # This module will ensure that we get the necessary
76− # patches ontop of GHC packages that for which the
77− # ones that GHC ships are not identical to the ones
78− # we find on hackage. These patches will make sure
79− # they are identical by augmenting the packages on
80− # hackage to match those that ship with ghc.
81− haskell.ghcHackagePatches.${compiler}
82−
83− # the iohk-module will supply us with the necessary
84− # cross compilation plumbing to make Template Haskell
85− # work when cross compiling. For now we need to
86− # list the packages that require template haskell
87− # explicity here.
88− iohk-module
89− ];
90− };
91−in
92− pkgSet.config.hsPkgs // { _config = pkgSet.config; }
93−```
94−
95−
96−default.nix
97−```
98−let
99− localLib = import ./lib.nix;
100−in
101−# This file needs to export a function that takes
102−# the arguments it is passed and forwards them to
103−# the default-nix template from iohk-nix. This is
104−# important so that the release.nix file can properly
105−# parameterize this file when targetting different
106−# hosts.
107−{ ... }@args:
108−# We will instantiate the defaul-nix template with the
109−# nix/pkgs.nix file...
110−localLib.nix-tools.default-nix ./nix/pkgs.nix args
111−# ... and add a few custom packages as well.
112−// { }
113−```
docs/motivation.mddeleted−80
@@ -1,80 +0,0 @@
1−# Motivation
2−
3−Why do we need another Haskell infrastructure for Nix?
4−
5−Doesn't nixpkgs
6−provide a sufficiently good Haskell infrastructure already?
7−
8−Problems with
9−the nixpkgs haskell infrastructure are covered in the following sections:
10−
11−## Cross compilation
12−
13−`nixpkgs` has quite good support for cross compilation, however the
14−Haskell infrastructure suffers from the fact that it heavily relies on
15−the `cabal2nix` tool. `cabal2nix` (as well as tools that depend on it
16−like `stack2nix`) flattens the `.cabal` file at conversion time to a
17−given os/arch/flags configuration. Thus to make cross compilation
18−work with `cabal2nix` you will have to generate a separate `nix`
19−expression for each configuration. This becomes a major maintenance
20−burden over time. Therefore the tooling that translates cabal files
21−into nix-expressions for use with Haskell.nix retains the full
22−conditional tree from the cabal file and exposes it to `nix`. In
23−addition it will also expose the `build-type` value, which allows us
24−to cache the `Setup.hs` for build-type simple and not have to rebuild
25−it every time.
26−
27−## Package sets
28−
29−We often rely on either package sets as provided by stackage or
30−computed by cabal. `nixpkgs` provides its own curated package set
31−which might or might not work for the projects we work on.
32−`stack2nix` tries to solve this issue, here we go one step further and
33−provide the infrastructure to allow any form of package set.
34−
35−## Per component level control
36−
37−The Haskell builder in `nixpkgs` provides control over executables and
38−libraries, to build a specific executable only however is rather
39−tricky to do. This also leads to the cyclic dependencies issue.
40−
41−## Cyclic dependencies
42−
43−The Haskell builder in `nixpkgs` exposes packages at the
44−package level. If packages mutually depend on each other through tests
45−and libraries, this leads to cyclic dependencies that nix can't resolve. By
46−exposing the components to nix as separate derivations this will only
47−occur if you have mutually dependent components.
48−
49−## Build times
50−
51−The Haskell builder in nixpkgs builds a package sequentially, first the
52−library then the executables and finally the tests. It then executes
53−the tests before the package is considered done. The upshot of this
54−is that packages are only considered done if the test-suites
55−passed. The downside is that if you have to compile multiple packages
56−the likelihood of them failing is low, you have unnecessarily
57−serialized your build. In a more aggressive setting libraries could
58−start building as early as their dependent libraries are built. Of
59−course they will have to be invalidated later should the test-suites
60−of their dependencies fail, but this way we can make use of parallel
61−building. In an ideal scenario this will reduce build times close to
62−the optimum.
63−
64−## More logic in nix
65−
66−The `cabal2nix` tool has a resolver that resolves system dependencies
67−and licenses to values in `nixpkgs`. This logic ends up being a simple
68−dictionary lookup and therefore can be a simple nix expression. This also
69−offloads some of the work the cabal to nix translation tool needs to
70−do into nix, and as such if changes are necessary (or needed to be
71−performed ad hoc) there is no need to rebuild the conversion tool and
72−subsequently mark every derived expression as out of date.
73−
74−## Decoupling
75−
76−Finally, by treating Haskell.nix and nixpkgs as separate entities we
77−can decouple the Haskell packages and infrastructure from the nixpkgs
78−package set, and rely on it to provide us with system packages while
79−staying up to date with Haskell packages from hackage while retaining
80−a stable (or known to be good) nixpkgs revision.
docs/reference/commands.mddeleted−84
@@ -1,84 +0,0 @@
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
6−
7−```
8−stack-to-nix - a stack to nix converter
9−
10−Usage: stack-to-nix (-o|--output DIR) [--stack-yaml FILE]
11− [--ignore-package-yaml] [--cache FILE]
12− Generate a Nix expression for a Haskell package using Stack
13−
14−Available options:
15− -o,--output DIR Generate output in DIR
16− --stack-yaml FILE Override project stack.yaml (default: "stack.yaml")
17− --ignore-package-yaml disable hpack run and use only cabal disregarding
18− package.yaml existence
19− --cache FILE Dependency cache
20− file (default: ".stack-to-nix.cache")
21− -h,--help Show this help text
22−```
23−
24−Use this for stack projects. If a `default.nix` does not exist in the
25−output directory, it will create a basic one with a
26−[`mkStackPkgSet`](../manually-generating-nix-expressions#Using-Stack) function.
27−
28−!!! note
29− If you find that there are missing files which should have been
30− generated, remove `.stack-to-nix.cache`
31− (The open issue is [#57][cache-issue]).
32−
33−[cache-issue]: https://github.com/input-output-hk/haskell.nix/issues/57
34−
35−## plan-to-nix
36−
37−```
38−plan-to-nix - a stack to nix converter
39−
40−Usage: plan-to-nix (-o|--output DIR) [--plan-json FILE] [--cabal-project FILE]
41− [--cache FILE]
42− Generate a Nix expression for a Haskell package using Cabal
43−
44−Available options:
45− -o,--output DIR Generate output in DIR
46− --plan-json FILE Override plan.json
47− location (default: "dist-newstyle/cache/plan.json")
48− --cabal-project FILE Override path to
49− cabal.project (default: "cabal.project")
50− --cache FILE Dependency cache file (default: ".nix-tools.cache")
51− -h,--help Show this help text
52−```
53−
54−Use this for Cabal new-build projects (even if you don't have a
55−`cabal.project`). Before running, you need to create a plan. For more
56−information, see [Cabal Projects](../manually-generating-nix-expressions#Using-Cabal) in the user
57−guide.
58−
59−It will create a template `default.nix` in the output directory,
60−unless that file already exists.
61−
62−Inside the output directory, there will be another directory
63−`.plan.nix`, which contains Nix expressions for all local packages,
64−generated by `cabal-to-nix`. The output file `pkgs.nix` refers to
65−these files.
66−
67−!!! note
68− If you find that there are missing files which should have been
69− generated, remove `.nix-tools.cache`
70− (The open issue is [#57][cache-issue]).
71−
72−## cabal-to-nix
73−
74−```
75−Usage: cabal-to-nix FILE.cabal
76−```
77−
78−This writes (to stdout) a [Haskell.nix][] Nix expression for the given
79−cabal package.
80−
81−Normally, you do not need to run `cabal-to-nix` yourself. It is called
82−by `stack-to-nix` and `plan-to-nix`.
83−
84−[haskell.nix]: https://github.com/input-output-hk/haskell.nix
docs/reference/library.mddeleted−476
@@ -1,476 +0,0 @@
1−[Haskell.nix][] contains a library of functions for creating buildable
2−package sets from their Nix expression descriptions. The library is
3−what you get when importing [Haskell.nix][]. It might be helpful to
4−load the library in the [Nix REPL](../tutorials/development.md#using-nix-repl) to
5−test things.
6−
7− * [Data structures](#data-structures) — the kinds of data that you will encounter working with [Haskell.nix][].
8− * [Top-level attributes](#top-level-attributes) — Functions and derivations defined in the Haskell.nix attrset.
9− * [Package-set functions](#package-set-functions) — Helper functions defined on the `hsPkgs` package set.
10−
11−# Data structures
12−
13−## Package Set
14−
15−The result of `mkPkgSet`. This is an application of the NixOS module
16−system.
17−
18−```
19−{
20− options = { ... };
21− config = {
22− hsPkgs = { ... };
23− packages = { ... };
24− compiler = {
25− version = "X.Y.Z";
26− nix-name = "ghcXYZ";
27− packages = { ... };
28− };
29− };
30−}
31−```
32−
33−| Attribute | Type | Description |
34−|----------------|------|-----------------------------------------------------|
35−| `options` | Module options | The combination of all options set through the `modules` argument passed to `mkPkgsSet`. |
36−| `config` | | The result of evaluating and applying the `options` with [Haskell.nix][] |
37−| `.hsPkgs` | Attrset of [Haskell Packages](#haskell-package) | Buildable packages, created from `packages` |
38−| `.packages` | Attrset of [Haskell Package descriptions](#haskell-package-descriptions) | Configuration for each package in `hsPkgs` |
39−| `.compiler` | Attrset | |
40−
41−
42−
43−## Haskell Package description
44−
45−The _Haskell package descriptions_ are values of the
46−`pkgSet.config.packages` attrset. These are not derivations, but just
47−the configuration for building an individual package. The
48−configuration options are described under `packages.<name>` in [Module
49−options](./modules.md).
50−
51−## Component description
52−
53−The _component descriptions_ are values of the
54−`pkgSet.config.packages.<package>.components` attrset. These are not
55−derivations, but just the configuration for building an individual
56−component. The configuration options are described under
57−`packages.<name>.components.*` in [Module options](./modules.md).
58−
59−
60−## Haskell Package
61−
62−In [Haskell.nix][], a _Haskell package_ is a derivation which has a
63−`components` attribute. This derivation is actually just for the
64−package `Setup.hs` script, and isn't very interesting. To actually use
65−the package, look within the components structure.
66−
67−```
68−components = {
69− library = COMPONENT;
70− exes = { NAME = COMPONENT; };
71− tests = { NAME = COMPONENT; };
72− benchmarks = { NAME = COMPONENT; };
73−}
74−```
75−
76−## Component
77−
78−In [Haskell.nix][], a _component_ is a derivation corresponding to a
79−[Cabal component](https://www.haskell.org/cabal/users-guide/developing-packages.html)
80−of a package.
81−
82−## Identifier
83−
84−A package identifier is an attrset pair of `name` and `version`.
85−
86−## Extras
87−
88−Extras allow adding more packages to the package set. These will be
89−functions taking a single parameter `hackage`. They should return an
90−attrset of package descriptions.
91−
92−## Modules
93−
94−Modules are the primary method of configuring building of the package
95−set. They are either:
96−
97−1. an attrset containing [option declarations](./modules.md), or
98−2. a function that returns an attrset containing option declarations.
99−
100−If using the function form of a module, the following named parameters
101−will be passed to it:
102−
103−| Argument | Type | Description |
104−|------------------|------|---------------------|
105−| `haskellLib` | attrset | The [haskellLib](#haskelllib) utility functions. |
106−| `pkgs` | | The Nixpkgs collection. |
107−| `pkgconfPkgs` | | A mapping of cabal build-depends names to Nixpkgs packages. (TODO: more information about this) |
108−| `buildModules` | | |
109−| `config` | | |
110−| `options` | | |
111−
112−
113−# Top-level attributes
114−
115−## project'
116−
117−Function that accepts attribute set with a `src` attribute and looks for `stack.yaml` file relative to it.
118−
119−If file exists, it calls [stackProject](#stackproject') function. Otherwise it will call [cabalProject](#cabalproject') function.
120−
121−**Example**:
122−
123−```nix
124−pkgs.haskell-nix.project' {
125− # 'cleanGit' cleans a source directory based on the files known by git
126− src = pkgs.haskell-nix.haskellLib.cleanGit {
127− name = "haskell-nix-project";
128− src = ./.;
129− };
130−}
131−```
132−
133−## stackProject'
134−
135−A function calling [callStackToNix](#callstacktonix) with all arguments.
136−
137−Then feeding its result into [mkStackPkgSet](#mkstackpkgset) passing also
138−`pkg-def-extras` and `modules` arguments.
139−
140−**Return value**:
141−
142−| Attribute | Type | Description |
143−|-------------------|--------------------------------------------------|----------------------------------------------------------------------------|
144−| `hsPkgs` | Attrset of [Haskell Packages](#haskell-package) | Buildable packages, created from `packages` |
145−| `stack-nix` | | `projectNix` attribute of [`callStackToNix`](#callstacktonix) return value |
146−| `shellFor` | Function | [`shellFor`](#shellfor) |
147−| `ghcWithHoogle` | Function | [`ghcWithHoogle`](#ghcwithhoogle) |
148−| `ghcWithPackages` | Function | [`ghcWithPackages`](#ghcwithpackages) |
149−
150−
151−## cabalProject'
152−
153−A function calling [callCabalProjectToNix](#callcabalprojecttonix) with all arguments.
154−
155−Then feeding its result into [mkCabalProjectPkgSet](#mkcabalprojectpkgset) passing also
156−`pkg-def-extras`, `extra-hackages` and `modules` arguments.
157−
158−**Return value**:
159−
160−| Attribute | Type | Description |
161−|-------------------|--------------------------------------------------|-----------------------------------------------------------------------------|
162−| `hsPkgs` | Attrset of [Haskell Packages](#haskell-package) | Buildable packages, created from `packages` |
163−| `plan-nix` | | `projectNix` attribute of [`callCabalProjectToNix`](#callcabalprojecttonix) return value |
164−| `index-state` | | `index-state` attribute of [`callCabalProjectToNix`](#callcabalprojecttonix) return value |
165−| `shellFor` | Function | [`shellFor`](#shellfor) |
166−| `ghcWithHoogle` | Function | [`ghcWithHoogle`](#ghcwithhoogle) |
167−| `ghcWithPackages` | Function | [`ghcWithPackages`](#ghcwithpackages) |
168−| `projectCross` | Attrset | Like `pkgs.pkgsCross.<system>` from nixpkgs `p.projectCross.<system>` returns the project results for cross compilation (where system is a member of nixpkgs lib.systems.examples). So `p.projectCross.ghcjs.hsPkgs` is the same as `hsPkgs` but compiled with ghcjs |
169−| `appendModule` | Function | Re-eval the project with an extra module (or module list). |
170−| `extend` and `appendOverlays` | Function | Modify a project, or add attributes, through overlays: `p.extend(final: prev: { })`. The overlays are carried-over `projectCross` and `appendModule` invocations. |
171−
172−## project, cabalProject and stackProject
173−
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`.
178−
179−## mkStackPkgSet
180−
181−Creates a [package set](#package-set) based on the `pkgs.nix` output
182−of `stack-to-nix`.
183−
184−```nix
185−mkStackPkgSet =
186− { stack-pkgs, pkg-def-extras ? [], modules ? []}: ...
187−```
188−
189−| Argument | Type | Description |
190−|------------------|------|---------------------|
191−| `stack-pkgs` | | `import ./pkgs.nix` — The imported file generated by `stack‑to‑nix`. |
192−| `pkg‑def‑extras` | List of [Extras](#extras) | For overriding the package set. |
193−| `modules` | List of [Modules](#modules) | For overriding the package set. |
194−
195−**Return value**: a [`pkgSet`](#package-set)
196−
197−## mkCabalProjectPkgSet
198−
199−Creates a [package set](#package-set) based on the `pkgs.nix` output
200−of `plan-to-nix`.
201−
202−```nix
203−mkCabalProjectPkgSet =
204− { plan-pkgs, pkg-def-extras ? [], modules ? []}: ...
205−```
206−
207−| Argument | Type | Description |
208−|------------------|------|---------------------|
209−| `plan-pkgs` | | `import ./pkgs.nix` — The imported file generated by `plan‑to‑nix`. |
210−| `pkg‑def‑extras` | List of [Extras](#extras) | For overriding the package set. |
211−| `modules` | List of [Modules](#modules) | For overriding the package set. |
212−
213−**Return value**: a [`pkgSet`](#package-set)
214−
215−## mkPkgSet
216−
217−This is the base function used by both `mkStackPkgSet` and
218−`mkCabalProjectPkgSet`.
219−
220−**Return value**: a [`pkgSet`](#package-set)
221−
222−## snapshots
223−
224−This is an attrset of `hsPkgs` packages from Stackage.
225−
226−## haskellPackages
227−
228−A `hsPkgs` package set, which is one of the recent LTS Haskell
229−releases from [`snapshots`](#snapshots).
230−
231−The chosen LTS is updated occasionally in [Haskell.nix][], though a
232−manual process.
233−
234−## nix-tools
235−
236−A derivation containing the `nix-tools` [command-line tools](commands.md).
237−
238−## callStackToNix
239−
240−Runs `stack-to-nix` and produces the output needed for
241−`importAndFilterProject`.
242−
243−**Example**:
244−
245−```nix
246− pkgSet = mkStackPkgSet {
247− stack-pkgs = (importAndFilterProject (callStackToNix {
248− src = ./.;
249− })).pkgs;
250− pkg-def-extras = [];
251− modules = [];
252− };
253−```
254−
255−
256−## callCabalProjectToNix
257−
258−Runs `cabal new-configure` and `plan-to-nix` and produces the output
259−needed for `importAndFilterProject`.
260−
261−**Example**:
262−
263−```nix
264− pkgSet = mkCabalProjectPkgSet {
265− plan-pkgs = (importAndFilterProject (callCabalProjectToNix {
266− index-state = "2019-04-30T00:00:00Z";
267− src = ./.;
268− })).pkgs;
269−```
270−
271−| Argument | Type | Description |
272−|----------------------|------|---------------------|
273−| `name` | String | Optional name for better error messages. |
274−| `src` | Path | Location of the cabal project files. |
275−| `compiler-nix-name` | String | The name of the ghc compiler to use eg. "ghc884" |
276−| `index-state` | Timestamp | Optional hackage index-state, eg. "2019-10-10T00:00:00Z". |
277−| `index-sha256` | Sha256 | Optional hash of the truncated hackage index-state. |
278−| `plan-sha256` | Sha256 | Optional hash of the plan-to-nix output (makes the plan-to-nix step a fixed output derivation). |
279−| `cabalProject` | String | Optional cabal project file contents (defaults to readFile "${src}/cabal.project"). |
280−| `cabalProjectLocal` | String | Optional cabal project file contents (defaults to readFile "${src}/cabal.project.local"). |
281−| `cabalProjectFreeze` | String | Optional cabal project file contents (defaults to readFile "${src}/cabal.project.freeze"). |
282−| `ghc` | | Deprecated. Use `compiler-nix-name` instead. Optional ghc to use |
283−| `nix-tools` | | Optional nix-tools to use |
284−| `hpack` | | Optional hpack to use |
285−| `cabal-install` | | Optional cabal-install to use |
286−| `configureArgs` | String | Optional extra arguments to pass to `cabal new-configure` (--enable-tests is included by default, include `--disable-tests` to override that). |
287−
288−## importAndFilterProject
289−
290−Imports from a derivation created by `callStackToNix`
291−or `callCabalProjectToNix`.
292−
293−The result is an attrset with the following values:
294−
295−| Attribute | Type | Description |
296−|----------------|------|-----------------------------------------------------|
297−| `pkgs` | attrset | that can be passed to `mkStackPkgSet` (as `stack-pkgs`) or `mkCabalProjectPkgSet` (as `plan-pkgs`). |
298−| `nix` | | this can be built and cached so that the amount built in the evaluation phase is not too great (helps to avoid timeouts on Hydra). |
299−
300−## hackage
301−## stackage
302−
303−## fetchExternal
304−
305−## cleanSourceHaskell
306−
307−```
308−cleanSourceHaskell = { src, name ? null }: ...
309−```
310−
311−Filters a source tree removing common filenames that are not Haskell
312−build sources.
313−
314−This can avoid unecessary rebuilds when these files change.
315−
316−It's recommended to provide `name` so that the source derivation
317−remains constant regardless of how it was fetched.
318−
319−Example:
320−
321−```
322−src = pkgs.haskell-nix.cleanSourceHaskell {
323− src = ./.;
324− name = "myproject-src";
325−};
326−```
327−
328−## haskellSourceFilter
329−
330−```
331−haskellSourceFilter = name: type: ...
332−```
333−
334−This is a source filter function which cleans common build products
335−and files not needed to do a Haskell build from a source directory.
336−
337−It should be used with `pkgs.lib.cleanSourceWith`. Alternatively,
338−use the convenience function [`cleanSourceHaskell`](#cleansourcehaskell).
339−
340−
341−## haskellLib
342−
343−Assorted functions for operating on [Haskell.nix][] data. This is
344−distinct from `pkgs.haskell.lib` in the current Nixpkgs Haskell
345−Infrastructure.
346−
347−### collectComponents, collectComponents'
348−
349−Extracts a selection of components from a Haskell [package set](#package-set).
350−
351−This can be used to filter out all test suites or benchmarks of
352−your project, so that they can be built in Hydra (see check if you
353−want to run the tests as well as build them).
354−
355−`collectComponents'` is an alias of `collectComponents` without
356−predicate for filtering.
357−
358−```
359−collectComponents =
360− group: packageSel: haskellPackages: ...
361−collectComponents' = group: collectComponents (_: true)
362−```
363−
364−
365−| Argument | Type | Description |
366−|-------------------|--------|---------------------|
367−| `group` | String | A [sub-component type](#subComponentTypes). |
368−| `packageSel` | A function `Package -> Bool` | A predicate to filter packages with. |
369−| `haskellPackages` | [Package set](#package-set) | All packages in the build. |
370−
371−**Return value**: a recursive attrset mapping package names → component names → components.
372−
373−**Example**:
374−
375−```nix
376−tests = collectComponents "tests" (package: package.identifier.name == "mypackage") hsPkgs;
377−```
378−
379−Will result in moving derivations from `hsPkgs.mypackage.components.tests.unit-tests`
380−to `tests.mypackage.unit-tests`.
381−
382−### collectChecks, collectChecks'
383−
384−These are just like `collectComponents` and `collectComponents'`, except that they collect
385−the `checks` attributes of packages (which aren't components, and so can't be collected
386−by the other functions.
387−
388−#### check
389−
390−This function turns a derivation that builds a test into one to run it.
391−
392−| Argument | Type | Description |
393−|-------------------|--------|---------------------|
394−| `drv` | Derivation | One of `$pkg.components.tests.$test`. |
395−
396−For convenience `$pkg.components.tests` are mapped with this function
397−to `$pkg.checks`.
398−
399−This function is intended for use with `tests` but it should also work
400−for `exes` and `benchmarks` if you just want to run them to make sure
401−they execute.
402−
403−#### subComponentTypes
404−
405−Sub-component types identify [components](#component) and are one of:
406−
407− - `sublibs`
408− - `foreignlibs`
409− - `exes`
410− - `tests`
411− - `benchmarks`
412−
413−# Project functions
414−
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.
418−
419−## shellFor
420−
421−Create a `nix-shell` [development
422−environment](../tutorials/development.md) for developing one or more
423−packages with `ghci` or `cabal v2-build` (but not Stack).
424−
425−```
426−shellFor =
427− { packages, withHoogle ? true, exactDeps ? false, ...}: ...
428−```
429−
430−
431−| Argument | Type | Description |
432−|----------------|------|---------------------|
433−| `packages` | Function | Package selection function. It takes a list of [Haskell packages](#haskell-package) and returns a subset of these packages. |
434−| `components` | Function | Similar to `packages`, by default all the components of the selected packages are selected. |
435−| `additional` | Function | Similar to `packages`, but the selected packages are built and included in `ghc-pkg list` (not just their dependencies). |
436−| `withHoogle` | Boolean | Whether to build a Hoogle documentation index and provide the `hoogle` command. |
437−| `exactDeps` | Boolean | Prevents the Cabal solver from choosing any package dependency other than what are in the package set. |
438−| `tools` | Function | AttrSet of tools to make available e.g. `{ cabal = "3.2.0.0"; }` or `{ cabal = { version = "3.2.0.0"; }; }`. If an AttrSet is provided for a tool, the additional arguments will be passed to the function creating the derivation for that tool. So you can provide an `index-state` or a `materialized` argument like that `{ cabal = { version = "3.2.0.0"; index-state = "2020-10-30T00:00:00Z"; materialized = ./cabal.materialized; }; }` for example. You can specify and materialize the version of hoogle used to construct the hoogle index by including something like `{ hoogle = { version = "5.0.17.15"; index-state = "2020-05-31T00:00:00Z"; materialized = ./hoogle.materialized; }`. Uses a default version of hoogle if omitted. |
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). |
441−| `{ ... }` | Attrset | All the other arguments are passed to [`mkDerivation`](https://nixos.org/nixpkgs/manual/#sec-using-stdenv). |
442−
443−**Return value**: a derivation
444−
445−!!! warning
446−
447− `exactDeps = true` will set the `CABAL_CONFIG` environment variable
448− to disable remote package servers. This is a
449− [known limitation](../dev/removing-with-package-wrapper.md)
450− which we would like to solve. Use `exactDeps = false` if this is a
451− problem.
452−
453−
454−## ghcWithPackages
455−
456−Creates a `nix-shell` [development
457−environment](../tutorials/development.md) including the given
458−packages selected from this package set.
459−
460−**Parameter**: a package selection function.
461−
462−**Return value**: a derivation
463−
464−**Example**:
465−
466−```
467−haskell.haskellPackages.ghcWithPackages (ps: with ps; [ lens conduit ])
468−```
469−
470−## ghcWithHoogle
471−
472−The same as `ghcWithPackages`, except, a `hoogle` command with a
473−Hoogle documentation index of the packages will be included in the
474−shell.
475−
476−[haskell.nix]: https://github.com/input-output-hk/haskell.nix
docs/reference/supported-ghc-versions.mddeleted−49
@@ -1,49 +0,0 @@
1−# Supported GHC Versions
2−
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 |
31−
32−See [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.
docs/troubleshooting.mddeleted−90
@@ -1,90 +0,0 @@
1−# Troubleshooting
2−
3−## Issues with building and garbage-collection
4−
5−### Why am I building GHC?
6−
7−It's easier to list the reverse: when will you *not* build GHC?
8−
9−- You have configured the [binary cache](tutorials/getting-started.md) correctly.
10−- You are using one of the GHC versions which [we support](reference/supported-ghc-versions.md).
11−- You are using one of the nixpkgs versions used by our CI (you can access the sources for these [through haskell.nix](tutorials/getting-started.md).
12−
13−If you think you are doing all of these and you still find you're building GHC, drop us a line.
14−
15−### Why am I building lots of Haskell packages?
16−
17−We don't generally cache much of Hackage (there's a lot of it!), except for the parts which are used by our tests.
18−So this is expected, unfortunately.
19−
20−### How do I prevent the evaluation-time dependencies of my project from being garbage-collected?
21−
22−The `haskell-nix.roots "ghc884"` should include all the evaluation-time dependencies
23−and the main build time dependencies of a project using ghc 8.8.4.
24−So you can add that to the relevant GC root.
25−In practice, if you're using a CI system like Hydra/Hercules, this means adding it to a job in `release.nix`/`ci.nix`.
26−
27−## General troubleshooting when using `cabalProject`/`stackProject`/`project`
28−
29−### Does the cabal/stack build work?
30−
31−In `haskell.nix`, we strive to take the build configuration from the cabal/stack configuration files.
32−So if you have a problem with your cabal/stack configuration, it is likely that you will have a problem with the `haskell.nix` build too.
33−
34−So the first thing to do is make sure that the build works with `cabal` or `stack` as normal.
35−If it *does* work, then the `haskell.nix` one should as well.
36−If, on the other hand, there is a failure, the `cabal` or `stack` build is usually easier to debug (or at least it is no longer a `haskell.nix` problem).
37−
38−### Is the `haskell.nix` configuration completely in line with the cabal/stack configuration?
39−
40−The `haskell.nix` configuration can come apart from the cabal/stack configuration in a number of ways:
41−
42−#### Compiler version
43−
44−(Cabal users only. For stack users this comes from the snapshot, so stack and `haskell.nix` will agree.)
45−
46−The compiler version used by `haskell.nix` is selected by the `compiler-nix-name` argument; or if you do not specify it, by some default version (we recommend specifying it!).
47−Cabal does not provide an easy way to pin a *version* of the compiler (`with-compiler` lets you pick a particular executable, which is nearly but not quite what we want).
48−Hence, the two can come apart.
49−
50−Make sure you are using the same compiler for the cabal build as for the `haskell.nix` build.
51−
52−#### Hackage index state
53−
54−(Cabal users only. For stack users, package versions come from the snapshot, so stack and `haskell.nix` will agree.)
55−
56−Cabal has the concept of the Hackage "index state".
57−This is a timestamp, and it tells Cabal to behave "as if" it was seeing Hackage at that point in time.
58−Pinning it is generally good for reproducibility regardless of whether you use `haskell.nix` (you can do so in `cabal.project`).
59−
60−If you do not set an `index-state` in `cabal.project`, then Cabal will use the latest one based on when you last called `cabal update`, and `haskell.nix` will use the latest one it knows about from `hackage.nix`.
61−These may not be the same!
62−So if you use `haskell.nix` we strongly recommend pinning the `index-state`.
63−
64−#### Nix-only configuration options
65−
66−You can set configuration options in your Nix code that are not present in the cabal/stack configuration.
67−For example, you might enable profiling.
68−
69−Where possible, try to do the configuration in your cabal/stack configuration, e.g. setting `profiling: true` in `cabal.project`.
70−This will ensure that the two builds agree.
71−
72−If you want or need to set some of them in Nix, try bringing the two into sync temporarily for troubleshooting.
73−
74−## Other specific issues
75−
76−### Why does the build complain about some files being missing?
77−
78−Sometimes your build works fine outside `haskell.nix`, but inside the `haskell.nix` build, cabal complains that some file is missing.
79−What is going on?
80−
81−The answer is that `haskell.nix` *thoroughly* cleans the source *by following what is mentioned as required in the cabal file*.
82−So we only include Haskell sources if they appear in a `hs-source-dirs` somewhere; and we only include non-Haskell files if they are included in `extra-source-files` or similar.
83−
84−This is good practice anyway: if you do not include such files in `extra-source-files` then they will not be included in `cabal sdist`, which will cause problems if you ever upload your package to Hackage.
85−But `haskell.nix` is very picky about it.
86−
87−### Why does my executable depend on GHC/GCC?
88−
89−You may want to set the `dontStrip` option to `false` (see https://github.com/input-output-hk/haskell.nix/issues/829).
90−This is not set by default because it can occasionally cause breakage.
docs/tutorials/building-package-from-stackage-hackage.mddeleted−43
@@ -1,43 +0,0 @@
1−
2−# Build a specific package from Hackage or Stackage
3−
4−## From a [Stackage][] snapshot
5−
6−To build a package, say [lens][], from a Stackage snapshot, say
7−[lts-13.28][], you could run:
8−```bash
9−nix build '(with import <nixpkgs> (import (builtins.fetchTarball "https://github.com/input-output-hk/haskell.nix/archive/master.tar.gz") {}).nixpkgsArgs; haskell-nix.snapshots."lts-13.28").lens.components.library'
10−```
11−This would build the (public) library component of the [lens][] package as
12−fixed by the [lts-13.28][] stackage snapshot. Nightly snapshots like
13−`nightly-2020-06-21` are also available.
14−
15−## A specific version from Hackage
16−
17−To build any package from hackage, say [lens][], at any version, say 4.17.1,
18−you could run:
19−```bash
20−nix build '(with import <nixpkgs> (import (builtins.fetchTarball "https://github.com/input-output-hk/haskell.nix/archive/master.tar.gz") {}).nixpkgsArgs; (haskell-nix.hackage-package { name = "lens"; version = "4.17.1"; compiler-nix-name = "ghc8102"; })).components.library'
21−```
22−This would build the (public) library component of the [lens-4.17.1][] package
23−from hackage.
24−
25−### Pinning hackage index
26−
27−The dependencies would be resolved against the most recent
28−[hackage-index-state][] which comes with your [haskell.nix][] checkout via the
29−[hackage.nix][] pin. A specific one can be specified as well:
30−```bash
31−nix build '(with import <nixpkgs> (import (builtins.fetchTarball "https://github.com/input-output-hk/haskell.nix/archive/master.tar.gz") {}).nixpkgsArgs; (haskell-nix.hackage-package { name = "lens"; version = "4.17.1"; compiler-nix-name = "ghc8102"; index-state = "2019-07-14T00:00:00Z"; })).components.library'
32−```
33−This would use the hackage index as of `2019-07-14T00:00:00Z` to produce a
34−build plan for the [lens-4.17.1][] package.
35−
36−[Stackage]: https://stackage.org
37−[Hackage]: https://hackage.haskell.org
38−[hackage.nix]: https://github.com/input-output-hk/hackage.nix
39−[haskell.nix]: https://github.com/input-output-hk/haskell.nix
40−[lts-13.28]: https://www.stackage.org/lts-13.28
41−[lens]: https://hackage.haskell.org/package/lens
42−[lens-4.17.1]: https://hackage.haskell.org/package/lens-4.17.1
43−[hackage-index-state]: https://github.com/input-output-hk/hackage.nix/blob/master/index-state-hashes.nix
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/clean-git.mddeleted−90
@@ -1,90 +0,0 @@
1−# cleanGit
2−
3−To filter out just the files in your git index use
4−`haskell-nix.haskellLib.cleanGit { src = ./.; }` where `./.` is the
5−root of your git repo (or a git work tree).
6−
7−First it filters just the files needed to run `git index`, then
8−it uses the results of that to filter your directory. It does not
9−need to parse the `.gitignore` files at all, but we do need to
10−`git add` our files before they will be included.
11−[cleanGit source](https://github.com/input-output-hk/haskell.nix/blob/master/lib/clean-git.nix).
12−
13−In addition haskell.nix (including `cleanGit`) uses a version
14−of [`cleanSourceWith`](https://github.com/input-output-hk/haskell.nix/blob/master/lib/clean-source-with.nix)
15−with a `subdir` argument to filter out just the package it is
16−building. Then it uses the info from the `cabal` file to filter
17−just the source dirs for the component it is building. That way
18−if we modify a test in a package nix will not rebuild the library
19−in that package (or anything that depends on that package's library).
20−
21−There is a downside to this though. If we have a test that depends
22−on something outside the scope of what is described in its entry in
23−the in the `.cabal` file it will not see it. For instance perhaps
24−it needs to run `hlint` or `doctest` on the library source. There
25−are ways to fix this with a module:
26−
27−Use `extraSrcFiles` to add dirs the test needs (this will not result
28−in a change to the `.cabal` file the test will still be built the same).
29−```
30−components.tests.test.extraSrcFiles = [ "subdir-needed-by-test" ];
31−```
32−Or alternatively, override the source with a suitable filter function.
33−```
34−components.tests.test.src = haskell-nix.haskellLib.cleanSourceWith {
35− inherit src;
36− subdir = "path-to-package";
37− filter = ...
38−};
39−```
40−
41−## Multiple Git Repositories with cleanGits
42−
43−Some times it is handy to temporarily use a relative path between git
44−repos. If the repos are individually cleaned this is not possible
45−(since the cleaned version of one repo will never include the files
46−of the other).
47−
48−There are 3 options:
49−
50−* We could `symlinkJoin` the cleaned directories together, but the
51− result could not be cleaned and any change would to either
52− repo would result in a rebuild of everything.
53−
54−* We could add one repo to the other as a submodule,
55− but adding and then removing a submodule is a pain and it does not
56− work well if you have more than one repo that needs to share the
57− submodule.
58−
59−* We could add a `source-repository-package` but then we would have
60− to commit each change before testing.
61−
62−`cleanGits` allows us to specify a root directory and any number of
63−sub directories containing git repos.
64−
65−For example if `repoA` and `repoB` are two git repos with
66−cabal packages and want to use the `repoB` package when building
67−`repoA`. First we can add `../repoB` to `repoA/cabal.project`:
68−
69−```
70−packages:
71− ./.
72− ../repoB
73−```
74−
75−Then in `repoA/default.nix` we can use:
76−
77−```
78−haskell-nix.project {
79− src = haskell-nix.haskellLib.cleanSourceWith {
80− src = haskell-nix.haskellLib.cleanGits {
81− name = "root";
82− src = ../.; # Parent dir that contains repoA and repoB
83− gitDirs = [ "repoA" "repoB" ];
84− };
85− subDir = "repoA"; # Where to look for the `cabal.project`
86− includeSiblings = true; # Tells it not to exclude `repoB` dir
87− };
88−}
89−```
90−
docs/tutorials/coverage.mddeleted−123
@@ -1,123 +0,0 @@
1−# Coverage
2−
3−haskell.nix can generate coverage information for your package or
4−project using Cabal's inbuilt hpc support.
5−
6−## Prerequisites
7−
8−To get a sensible coverage report, you need to enable coverage on each
9−of the packages of your project:
10−
11−```nix
12−pkgs.haskell-nix.project {
13− src = pkgs.haskell-nix.haskellLib.cleanGit {
14− name = "haskell-nix-project";
15− src = ./.;
16− };
17− compiler-nix-name = "ghc884";
18−
19− modules = [{
20− packages.$pkg.components.library.doCoverage = true;
21− }];
22−}
23−```
24−
25−If you would like to make coverage optional, add an argument to your nix expression:
26−
27−```nix
28−{ withCoverage ? false }:
29−
30−pkgs.haskell-nix.project {
31− src = pkgs.haskell-nix.haskellLib.cleanGit {
32− name = "haskell-nix-project";
33− src = ./.;
34− };
35− compiler-nix-name = "ghc884";
36−
37− modules = pkgs.lib.optional withCoverage [{
38− packages.$pkg.components.library.doCoverage = true;
39− }];
40−}
41−```
42−
43−## Per-package
44−
45−```bash
46−nix-build default.nix -A "projectWithCoverage.$pkg.coverageReport"
47−```
48−
49−This will generate a coverage report for the package you requested.
50−All tests that are enabled (configured with `doCheck == true`) are
51−included in the coverage report.
52−
53−See the [developer coverage docs](../dev/coverage.md#package-reports) for more information.
54−
55−## Project-wide
56−
57−```bash
58−nix-build default.nix -A "projectWithCoverage.projectCoverageReport"
59−```
60−
61−This will generate a coverage report for all the local packages in
62−your project.
63−
64−See the [developer coverage docs](../dev/coverage.md#project-wide-reports) for more information.
65−
66−## Custom
67−
68−By default, the behaviour of the `coverageReport` attribute is to
69−generate a coverage report that describes how that package affects the
70−coverage of all local packages (including itself) in the project.
71−
72−The default behaviour of `projectCoverageReport` is to sum the
73−default coverage reports (produced by the above process) of all local
74−packages in the project.
75−
76−You can modify this behaviour by using the `coverageReport` and
77−`projectCoverageReport` functions found in the haskell.nix library:
78−
79−```nix
80−let
81− inherit (pkgs.haskell-nix) haskellLib;
82−
83− project = haskellLib.project {
84− src = pkgs.haskell-nix.haskellLib.cleanGit {
85− name = "haskell-nix-project";
86− src = ./.;
87− };
88− compiler-nix-name = "ghc884";
89−
90− modules = [{
91− packages.$pkgA.components.library.doCoverage = true;
92− packages.$pkgB.components.library.doCoverage = true;
93− }];
94− };
95−
96− # Generate a coverage report for $pkgA that only includes the
97− # unit-test check and only shows coverage information for $pkgA, not
98− # $pkgB.
99− custom$pkgACoverageReport = haskellLib.coverageReport rec {
100− name = "$pkgA-unit-tests-only"
101− inherit (project.$pkgA.components) library;
102− checks = [project.$pkgA.components.checks.unit-test];
103− # Note that this is the default value of the "mixLibraries"
104− # argument and so this line isn't really necessary.
105− mixLibraries = [project.$pkgA.components.library];
106− };
107−
108− custom$pkgBCoverageReport = haskellLib.coverageReport rec {
109− name = "$pkgB-unit-tests-only"
110− inherit (project.$pkgB.components) library;
111− checks = [project.$pkgB.components.checks.unit-test];
112− mixLibraries = [project.$pkgB.components.library];
113− };
114−
115− # Generate a project coverage report that only includes the unit
116− # tests of the project, and only shows how each unit test effects
117− # the coverage of it's package, and not other packages in the
118− # project.
119− allUnitTestsProjectReport = haskellLib.projectCoverageReport [custom$pkgACoverageReport custom$pkgBCoverageReport];
120−in {
121− inherit project custom$pkgACoverageReport custom$pkgBCoverageReport allUnitTestsProjectCoverageReport;
122−}
123−```
docs/tutorials/cross-compilation.mddeleted−184
@@ -1,184 +0,0 @@
1−Cross compilation of Haskell projects involves building a version of
2−GHC that outputs code for the target platform, and providing builds of
3−all library dependencies for that platform.
4−
5−First, understand how to cross-compile a normal package from
6−Nixpkgs. Matthew Bauer's [Beginners' guide to cross compilation in
7−Nixpkgs][bauer] is a useful resource.
8−
9−[bauer]: https://matthewbauer.us/blog/beginners-guide-to-cross.html
10−
11−
12−Using an example from the guide, this builds GNU Hello for a Raspberry
13−Pi:
14−
15− nix build -f '<nixpkgs>' pkgsCross.raspberryPi.hello
16−
17−We will use the same principle in [Haskell.nix][] — replacing the normal
18−package set `pkgs` with a cross-compiling package set
19−`pkgsCross.raspberryPi`.
20−
21−### Raspberry Pi example
22−
23−This is an example of using [Haskell.nix][] to build the [Bench][]
24−command-line utility, which is a Haskell program.
25−
26−```nix
27−{ pkgs ? import <nixpkgs> {} }:
28−let
29− haskellNix = import (builtins.fetchTarball https://github.com/input-output-hk/haskell.nix/archive/master.tar.gz);
30− native = haskellNix { inherit pkgs; };
31−in
32− native.haskellPackages.bench.components.exes.bench
33−```
34−
35−Now switch the package set as in the previous example:
36−
37−```nix
38−{ pkgs ? import <nixpkgs> {} }:
39−let
40− haskellNix = import (builtins.fetchTarball https://github.com/input-output-hk/haskell.nix/archive/master.tar.gz);
41− raspberryPi = haskellNix { pkgs = pkgs.pkgsCross.raspberryPi; };
42−in
43− raspberryPi.haskellPackages.bench.components.exes.bench
44−```
45−
46−You should be prepared for a long wait because it first needs to build
47−GHC, before building all the Haskell dependencies of [Bench][]. If all
48−of these dependencies compiled successfully, I would be very surprised!
49−
50−!!! hint
51− The above example won't build, but you can try and see, if you like.
52− It will fail on [clock-0.7.2](http://hackage.haskell.org/package/clock-0.7.2),
53− which needs a patch to build.
54−
55−To fix the build problems, you must add extra configuration to the
56−package set. Your project will have a [`mkStackPkgSet`](../reference/library.md#mkstackpkgset) or
57−[`mkCabalProjectPkgSet`](../reference/library.md#mkcabalprojectpkgset). It is there where you must add
58−[module options](../reference/modules.md) for setting compiler flags, adding patches, and so on.
59−
60−!!! note
61− Note that `haskell.nix` will automatically use `qemu` to emulate the target
62− when necessary to run Template Haskell splices.
63−
64−### Static executables with Musl libc
65−
66−Another application of cross-compiling is to produce fully static
67−binaries for Linux. For information about how to do that with the
68−[Nixpkgs Haskell infrastructure][nixpkgs] (not [Haskell.nix][]), see
69−[nh2/static‑haskell‑nix][nh2]. Vaibhav Sagar's linked
70−[blog post][vaibhav] is also very informative.
71−
72−
73−```nix
74−{ pkgs ? import <nixpkgs> {} }:
75−let
76− haskellNix = import (builtins.fetchTarball https://github.com/input-output-hk/haskell.nix/archive/master.tar.gz);
77− musl64 = haskellNix { pkgs = pkgs.pkgsCross.musl64; };
78−in
79− musl64.haskellPackages.bench.components.exes.bench
80−```
81−
82−This example will build [Bench][] linked against Musl libc. However
83−the executable will still be dynamically linked. To get fully static
84−executables you must add package overrides to:
85−
86−1. Disable dynamic linking
87−2. Provide static versions of system libraries. (For more details, see
88− [Vaibhav's article][vaibhav]).
89−
90−```nix
91−{
92− packages.bench.components.exes.bench.configureFlags =
93− lib.optionals stdenv.hostPlatform.isMusl [
94− "--disable-executable-dynamic"
95− "--disable-shared"
96− "--ghc-option=-optl=-pthread"
97− "--ghc-option=-optl=-static"
98− "--ghc-option=-optl=-L${gmp6.override { withStatic = true; }}/lib"
99− "--ghc-option=-optl=-L${zlib.static}/lib"
100− ];
101−}
102−```
103−
104−!!! note "Licensing"
105− Note that if copyleft licensing your program is a problem for you,
106− then you need to statically link with `integer-simple` rather than
107− `integer-gmp`. However, at present, [Haskell.nix][] does not provide
108− an option for this.
109−
110−
111−### How to cross-compile your project
112−
113−Set up your project Haskell package set.
114−
115−```nix
116−# default.nix
117−{ pkgs ? import <nixpkgs> {}
118−let
119− # Import the Haskell.nix library,
120− haskell = import (builtins.fetchTarball https://github.com/input-output-hk/haskell.nix/archive/master.tar.gz) {
121− inherit pkgs;
122− };
123−
124− # Instantiate a package set using the generated file.
125− pkgSet = haskell.mkCabalProjectPkgSet {
126− plan-pkgs = import ./pkgs.nix;
127− pkg-def-extras = [];
128− modules = [
129− {
130− # You will need to put build fixes here.
131− }
132− ];
133− };
134−in
135− pkgSet.config.hsPkgs
136−```
137−
138−Apply that package set to the Nixpkgs cross package sets that you are
139−interested in.
140−
141−We are going to expand the `pkgs.pkgsCross` shortcut to be more
142−explicit.
143−
144−```nix
145−let
146− pkgs = import <nixpkgs> {}
147−in {
148− shortcut = pkgs.pkgsCross.SYSTEM;
149− actual = import <nixpkgs> { crossSystem = pkgs.lib.systems.examples.SYSTEM; };
150−}
151−```
152−
153−In the above example, for any `SYSTEM`, `shortcut` and `actual` are
154−the same package set.
155−
156−```nix
157−# release.nix
158−let
159− myProject = import ./default.nix;
160−
161− pkgsNative = import <nixpkgs> {};
162− pkgsRaspberryPi = import <nixpkgs> {
163− crossSystem = pkgsNative.lib.systems.examples.raspberryPi;
164− };
165−
166− native = myProject { pkgs = pkgsNative; };
167− crossRaspberryPi = myProject { pkgs = pkgsRaspberryPi; };
168−
169−in {
170− my-project-native = native.my-project.components.exes.my-project;
171− my-project-raspberry-pi = crossRaspberryPi.my-project.components.exes.my-project;
172−}
173−```
174−
175−Try to build it, and apply fixes to the `modules` list, until there
176−are no errors left.
177−
178−
179−
180−[nh2]: https://github.com/nh2/static-haskell-nix
181−[vaibhav]: https://vaibhavsagar.com/blog/2018/01/03/static-haskell-nix/
182−[haskell.nix]: https://github.com/input-output-hk/haskell.nix
183−[bench]: https://hackage.haskell.org/package/bench
184−[nixpkgs]: https://nixos.org/nixpkgs/manual/#users-guide-to-the-haskell-infrastructure
docs/tutorials/development.mddeleted−211
@@ -1,211 +0,0 @@
1−Haskell.nix also provides reproducible development environments for
2−your Haskell projects. These environments can contain not only GHC and
3−your Haskell package dependencies, but also the required system
4−libraries and build tools.
5−
6−Inside the development shell, you can run commands such as `ghc`,
7−`ghci`, or `cabal new‑build` (`cabal build` on Cabal 3.0),
8−and they will have all dependencies available.
9−
10−Every dependency will be cached in your Nix store. If you have set up
11−Hydra CI, then your team can share pre-built dependencies.
12−
13−These examples assume that you have created your package set as
14−described in [Creating Nix builds for your projects](getting-started.md) and
15−it exists in a file called `default.nix`.
16−
17−!!! note
18−
19− Old-style `cabal build` and `stack` builds are not (yet)
20− supported. For example, `stack` will (by design) download and
21− rebuild all dependencies, even though they are available in the
22− shell. However, if you have a Stack project, you can generate the
23− package set with Haskell.nix, then use `cabal new‑build` to work
24− on it. Starting Cabal 3.0 `cabal build` will work out of the box, as
25− new style builds are the default.
26−
27−## How to get a development shell
28−
29−If you have a Cabal or Stack project with one or more packages
30−(i.e. multiple `.cabal` files, not a single package with multiple
31−components), then you will need a development environment that
32−contains the _dependencies_ of your packages, but not the packages
33−themselves. This is what the [`shellFor`][shellFor] function does.
34−
35−```nix
36−# shell.nix
37−let
38− project = import ./default.nix;
39−in
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).
45− packages = ps: with ps; [
46− pkga
47− pkgb
48− ];
49−
50− # Builds a Hoogle documentation index of all dependencies,
51− # and provides a "hoogle" command to search the index.
52− withHoogle = true;
53−
54− # 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− };
60− # See overlays/tools.nix for more details
61−
62− # 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− ];
70−
71− # Prevents cabal from choosing alternate plans, so that
72− # *all* dependencies are provided by Nix.
73− exactDeps = true;
74− }
75−```
76−
77−See also: [Haskell.nix Library Reference: `shellFor`][shellFor]
78−
79−[shellFor]: ../reference/library.md#shellfor
80−
81−## How to get a local Hoogle index
82−
83−If you need a local Hoogle for all the dependencies of your project create this file
84−
85−```nix
86−# shell-hoogle.nix
87−let
88− project = import ./default.nix {};
89−in
90− project.shellFor {
91− packages = ps: [ps.my-package];
92− withHoogle = true;
93− }
94−```
95−
96−and run `nix-shell shell-hoogle.nix --run "hoogle server --local"`.
97−This will open a local Hoogle server at `http://127.0.0.1:8080`.
98−
99−
100−## How to get an ad-hoc development shell including certain packages
101−
102−This creates a development environment with the given packages
103−registered in the package database. The `ghcWithPackages` function
104−operates on a Haskell.nix package set, and accepts an argument that
105−selects packages from the larger package set.
106−
107−```nix
108−# shell.nix
109−let
110− haskellNix = import (builtins.fetchTarball https://github.com/input-output-hk/haskell.nix/archive/master.tar.gz) {};
111− nixpkgs = import haskellNix.sources.nixpkgs haskellNix.nixpkgsArgs;
112− haskell = nixpkgs.haskell-nix;
113−in
114− haskell.haskellPackages.ghcWithPackages (ps: with ps;
115− [ lens conduit conduit-extra ])
116−```
117−
118−If you need a Hoogle documentation index, use `ghcWithHoogle` in place
119−of `ghcWithPackages`.
120−
121−## How to get packages from a certain Stackage snapshot
122−
123−Haskell.nix knows about every released Stackage snapshot. You can use
124−it to build packages from a given snapshot, without setting up a full
125−project.
126−
127−```nix
128−let
129− haskellNix = import (builtins.fetchTarball https://github.com/input-output-hk/haskell.nix/archive/master.tar.gz) {};
130− nixpkgs = import haskellNix.sources.nixpkgs haskellNix.nixpkgsArgs;
131− haskell = nixpkgs.haskell-nix;
132−in
133− haskell.snapshots."lts-13.18".alex.components.exes.alex
134−```
135−
136−There are Haskell.nix package sets for every Stackage snaphot under
137−`haskell.snapshots`.
138−
139−The alias `haskell.haskellPackages` corresponds to the package set for
140−a recent LTS Haskell version.
141−
142−You can use `ghcWithPackages` on any of these package sets to quickly
143−get a shell with some packages.
144−
145−!!! warning
146− The build will not work if your Nixpkgs does not contain the version
147− of GHC specified in the snapshot. Nixpkgs only carries the
148− latest version of each recent release series, so many snapshots
149− can't be built.
150−
151−
152−## Emacs IDE support
153−
154−Once you have a development shell, then you can begin configuring
155−Emacs to use it. The way I do it is:
156−
157−1. Run [lorri watch](https://github.com/target/lorri) to continuously
158− build the shell environment and maintain GC roots.
159−
160−2. Use [emacs‑direnv](https://github.com/wbolster/emacs-direnv) to
161− push the development environment into Emacs.
162−
163−3. Use [Dante](https://github.com/jyp/dante) for highlighting errors
164− and auto-completion. You must customize Dante to prevent it from
165− automatically using `nix‑shell` or `stack`. Trim `dante‑methods` to
166− just `new‑build` and `bare‑ghci`.
167−
168− You can also use [`.dir‑locals.el`](https://www.gnu.org/software/emacs/manual/html_node/emacs/Directory-Variables.html)
169− for this. If your project has multiple targets, set `dante‑target`
170− per-directory.
171−
172−4. For [`haskell‑mode`](https://github.com/haskell/haskell-mode)
173− interactive Haskell, set `haskell‑process‑type` to
174− `cabal‑new‑repl`.
175−
176−## Using `nix repl`
177−
178−It's sometimes useful to load [Haskell.nix][] in the REPL to explore
179−attrsets and try examples.
180−
181−```
182−# example.nix
183−{ nixpkgs ? <nixpkgs> }:
184−rec {
185− haskell = import nixpkgs (import (builtins.fetchTarball https://github.com/input-output-hk/haskell.nix/archive/master.tar.gz) {}).nixpkgsArgs;
186− pkgNames = haskell.pkgs.lib.attrNames haskell.haskell-nix.snapshots."lts-13.18";
187−}
188−```
189−
190−Load the example file:
191−
192−```
193−$ nix repl '<nixpkgs>' example.nix
194−Welcome to Nix version 2.3pre6631_e58a7144. Type :? for help.
195−
196−Loading '<nixpkgs>'...
197−Added 10403 variables.
198−
199−Loading 'example.nix'...
200−Added 2 variables.
201−
202−nix-repl> lib.take 5 pkgNames
203−[ "ALUT" "ANum" "Allure" "Boolean" "BoundedChan" ]
204−
205−nix-repl>
206−```
207−
208−Now that you have `nix-tools` and are able to import [Haskell.nix][],
209−you can continue to the next chapter.
210−
211−[haskell.nix]: https://github.com/input-output-hk/haskell.nix
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.mddeleted−203
@@ -1,203 +0,0 @@
1−# Getting started
2−
3−`haskell.nix` can automatically translate your
4−[Cabal](https://cabal.readthedocs.io/en/latest/cabal-project.html)
5−or [Stack](https://docs.haskellstack.org/en/stable/README/#quick-start-guide)
6−project and its dependencies into Nix code.
7−
8−Assuming you have [Nix](https://nixos.org/download.html) installed, you can
9−start setting up your project.
10−
11−## Setting up the binary cache
12−
13−IMPORTANT: you *must* do this or you *will* build several copies of GHC!
14−
15−You can configure Nix to use our binary cache, which is pushed to by CI, so should contain the artifacts that you need.
16−
17−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).
18−
19−```
20−trusted-public-keys = [...] hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ= [...]
21−substituters = [...] https://cache.iog.io [...]
22−```
23−
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−```
76−
77−## Scaffolding
78−
79−The following work with `stack.yaml` and `cabal.project` based
80−projects.
81−
82−Add `default.nix`:
83−
84−```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 {
107− # 'cleanGit' cleans a source directory based on the files known by git
108− src = pkgs.haskell-nix.haskellLib.cleanGit {
109− name = "haskell-nix-project";
110− src = ./.;
111− };
112− # Specify the GHC version to use.
113− compiler-nix-name = "ghc8102"; # Not required for `stack.yaml` based projects.
114−}
115−```
116−
117−!!! note "git dependencies"
118− If you have git dependencies in your project, you'll need
119− to [calculate sha256 hashes for them](./source-repository-hashes.md).
120−
121−### Working with a project
122−
123−Top-level attributes are Haskell packages (incl. dependencies) part of your project.
124−
125−To build the library component of a package in the project run:
126−
127−```shell
128−nix-build -A your-package-name.components.library
129−```
130−
131−There are also other components such as `exes`, `tests`, `benchmarks` and `all`.
132−To build an executable:
133−
134−```shell
135−nix-build -A your-package-name.components.exes.your-exe-name
136−```
137−
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:
158−
159−```shell
160−nix-shell
161−cabal new-repl your-package-name:library:your-package-name
162−cabal new-build your-package-name
163−```
164−
165−To open a shell for use with `stack` see [the following issue](https://github.com/input-output-hk/haskell.nix/issues/689#issuecomment-643832619).
166−
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−```
177−
178−The `fetchTarball` call above will always get the latest version, and is
179−similar to an auto-updating Nix channel.
180−
181−However, in your own project, you may wish to pin [haskell.nix][] (as
182−you would pin Nixpkgs). This will make your builds reproducible, more
183−predictable, and faster (because the fixed version is cached).
184−
185−Straightforward way of doing this is to change the branch name to a revision.
186−
187−```nix
188−let sources = {
189− haskellNix = builtins.fetchTarball "https://github.com/input-output-hk/haskell.nix/archive/f1a94a4c82a2ab999a67c3b84269da78d89f0075.tar.gz";
190− };
191−```
192−
193−There are other possible schemes for pinning. See
194−[Bumping Hackage and Stackage snapshots](./hackage-stackage.md) and
195−[Nix tutorial on reproducibility using pinning](https://nix.dev/tutorials/towards-reproducibility-pinning-nixpkgs.html).
196−
197−## Going forward
198−
199−Read through [project](../reference/library.md#project) function reference to see how the API works.
200−
201−There are a number of things to explore further in the tutorials section.
202−
203−[haskell.nix]: https://github.com/input-output-hk/haskell.nix
docs/tutorials/hackage-stackage.mddeleted−36
@@ -1,36 +0,0 @@
1−# Bumping Hackage and Stackage snapshots
2−
3−`haskell.nix` relies on some generated data providing information about packages in Hackage and Stackage snapshots.
4−These are kept in [`hackage.nix`](https://github.com/input-output-hk/hackage.nix) and [`stackage.nix`](https://github.com/input-output-hk/stackage.nix) respectively.
5−If your project depends on a Hackage package, then the `hackage.nix` revision used must be new enough to contain that, and likewise for Stackage snaphots and `stackage.nix`.
6−
7−## Updating and pinning `hackage.nix` and `stackage.nix`
8−
9−`haskell.nix` pins particular revisions of these repositories internally, both for our own usage in testing, and so that users have a sensible default when getting started.
10−These revisions are updated nightly, so you can get newer revisions of `hackage.nix` and `stackage.nix` by updating your revision of `haskell.nix` itself.
11−
12−However, this exposes you to changes in `haskell.nix` which you may not want, such as changes that force compiler rebuilds, or the occasional bug.
13−Instead, you can pin `hackage.nix` and `stackage.nix` independently. For example:
14−
15−```nix
16−let
17− # You can use a tool like `niv` to manage this boilerplate
18− hackageSrc = builtins.fetchTarball https://github.com/input-output-hk/hackage.nix/archive/master.tar.gz;
19− stackageSrc = builtins.fetchTarball https://github.com/input-output-hk/stackage.nix/archive/master.tar.gz;
20− haskellSrc = builtins.fetchTarball https://github.com/input-output-hk/haskell.nix/archive/master.tar.gz;
21−
22− haskellNix = import haskellSrc {
23− # This allows you to override the pins used by `haskell.nix` internally
24− sourcesOverride = {
25− hackage = hackageSrc;
26− stackage = stackageSrc;
27− };
28− };
29−in ...
30−```
31−
32−This way you can change the revisions of `hackage.nix` and `stackage.nix`
33−without changing `haskell.nix`.
34−
35−However, bear in mind that Stackage refers to Hackage, so your Stackage pin
36−should never be newer than your Hackage pin.
docs/tutorials/materialization.mddeleted−258
@@ -1,258 +0,0 @@
1−# Materialization
2−
3−## What is materialization?
4−
5−Capturing and storing the Nix files for a project so that they do
6−not need to be built (or checked). This allows us to cache the input
7−of an IFD (import from derivation).
8−
9−## Why use materialization?
10−
11−Using functions like `project`, `cabalProject`, `stackProject`
12−and `hackage-package` results in a lot of dependencies (all the
13−dependencies of nix-tools for instance).
14−
15−* They can be slow to calculate (even if no work needs to be done it
16− is not unusual for it to take 5 seconds per project).
17−
18−* They can be slow to build (or download) on machines that do not
19− yet have them in the Nix store.
20−
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)
25−
26−## When is it OK to materialize?
27−
28−* The Nix expressions are unlikely to change frequently (and when it does you
29− are happy to manually update it).
30−
31−* You are happy to script something to update the materialized Nix files
32− automatically.
33−
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.
37−
38−## How can we materialize the Nix files?
39−
40−Lets say we want to build `hlint`. We might start with an `hlint.nix`
41−file that looks like this:
42−
43−```nix
44−let inherit (import ./. {}) sources nixpkgsArgs;
45− pkgs = import sources.nixpkgs nixpkgsArgs;
46− hlint = pkgs.haskell-nix.hackage-package {
47− compiler-nix-name = "ghc8102";
48− name = "hlint";
49− version = "2.2.11";
50− };
51−in hlint
52−```
53−
54−Building this may result in a lot of output, but if you build
55−it again it should give just:
56−
57−```
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
61−```
62−
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:
67−
68−```nix
69−let inherit (import ./. {}) sources nixpkgsArgs;
70− pkgs = import sources.nixpkgs nixpkgsArgs;
71− hlint = pkgs.haskell-nix.hackage-package {
72− compiler-nix-name = "ghc8102";
73− name = "hlint";
74− version = "2.2.11";
75− index-state = "2021-01-04T00:00:00Z";
76− };
77−in hlint
78−```
79−
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:
83−
84−```
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
94−```
95−
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`:
99−
100−```nix
101−let inherit (import ./. {}) sources nixpkgsArgs;
102− pkgs = import sources.nixpkgs nixpkgsArgs;
103− hlint = pkgs.haskell-nix.hackage-package {
104− compiler-nix-name = "ghc8102";
105− name = "hlint";
106− version = "2.2.11";
107− index-state = "2021-01-04T00:00:00Z";
108− plan-sha256 = "04hdgqwpaswmyb0ili7fwi6czzihd6x0jlvivw52d1i7wv4gaqy7";
109− };
110−in hlint
111−```
112−
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.
118−
119−Running `nix-build` again gives us a hint on what we can do next:
120−
121−```
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
125−```
126−
127−To capture the Nix expressions we can do something like:
128−
129−```nix
130−let inherit (import ./. {}) sources nixpkgsArgs;
131− pkgs = import sources.nixpkgs nixpkgsArgs;
132− hlint = pkgs.haskell-nix.hackage-package {
133− compiler-nix-name = "ghc8102";
134− name = "hlint";
135− version = "2.2.11";
136− index-state = "2021-01-04T00:00:00Z";
137− plan-sha256 = "04hdgqwpaswmyb0ili7fwi6czzihd6x0jlvivw52d1i7wv4gaqy7";
138− materialized = ./hlint.materialized;
139− };
140−in hlint
141−```
142−
143−Now we can copy the Nix files needed and build with:
144−
145−```
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
150−```
151−
152−## How can we check `sha256` and `materialized` are up to date?
153−
154−Let's pretend we had to go back to `hlint` version `2.2.10`.
155−We can tell haskell.nix to check the materialization either by:
156−
157−* Removing the materialization files with `rm -rf hlint.materialized`
158−
159−* Temporarily adding `checkMaterialization = true;`
160−
161−If we choose to add the `checkMaterialization` flag you would have:
162−
163−```nix
164−let inherit (import ./. {}) sources nixpkgsArgs;
165− pkgs = import sources.nixpkgs nixpkgsArgs;
166− hlint = pkgs.haskell-nix.hackage-package {
167− compiler-nix-name = "ghc8102";
168− name = "hlint";
169− version = "2.2.10";
170− index-state = "2021-01-04T00:00:00Z";
171− plan-sha256 = "04hdgqwpaswmyb0ili7fwi6czzihd6x0jlvivw52d1i7wv4gaqy7";
172− materialized = ./hlint.materialized;
173− checkMaterialization = true;
174− };
175−in hlint
176−```
177−
178−This will fail and report the details of what is wrong and how to fix it:
179−
180−```
181−$ nix-build hlint.nix -A components.exes.hlint
182−
183−...
184−
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
190−(use '--show-trace' to show detailed location information)
191−```
192−
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`.
197−
198−## How can we update the Nix files with a script?
199−
200−We can simply put the commands we used earlier in a script:
201−
202−```nix
203−#!/bin/sh
204−
205−# Output new plan-sha256
206−nix-build hlint.nix -A project.plan-nix.passthru.calculateMaterializedSha | bash
207−
208−# Update materialized Nix expressions
209−nix-build hlint.nix 2>&1 | grep -om1 '/nix/store/.*-updateMaterialized' | bash
210−```
211−
212−## Can we skip making a copy and use `materialized = /nix/store/...`?
213−
214−Yes and it gives us the same speed improvement, however:
215−
216−* It does not help at all in `restricted-eval` mode (Hydra).
217−
218−* Users will still wind up building or downloading the dependencies
219− needed to build the Nix files (if they do not have them).
220−
221−For those reasons it might be best to make a copy instead
222−of using the `/nix/store/...` path directly.
223−
224−If you really want to use the `/nix/store/...` path directly
225−you should guard against the path not existing as passing in
226−a non-existing path is now an error:
227−
228−```nix
229−let inherit (import ./. {}) sources nixpkgsArgs;
230− pkgs = import sources.nixpkgs nixpkgsArgs;
231− hlintPlan = /nix/store/63k3f8bvsnag7v36vb3149208jyx61rk-hlint-plan-to-nix-pkgs;
232− hlint = pkgs.haskell-nix.hackage-package {
233− compiler-nix-name = "ghc8102";
234− name = "hlint";
235− version = "2.2.11";
236− index-state = "2021-01-04T00:00:00Z";
237− plan-sha256 = "04hdgqwpaswmyb0ili7fwi6czzihd6x0jlvivw52d1i7wv4gaqy7";
238− materialized = if __pathExists hlintPlan then hlintPlan else null;
239− };
240−in hlint
241−```
242−
243−Running when no building is needed is still slow in restricted evaluation mode.
244−
245−```
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
248−
249−real 0m4.463s
250−user 0m4.440s
251−sys 0m0.461s
252−$ time nix-build hlint.nix -A components.exes.hlint
253−/nix/store/2ybrfmcp79gg75ad4pr1cbxjak70yg8b-hlint-exe-hlint-2.2.11
254−
255−real 0m2.206s
256−user 0m1.665s
257−sys 0m0.332s
258−```
docs/tutorials/pkg-map.mddeleted−68
@@ -1,68 +0,0 @@
1−# Mapping non-Haskell dependencies to Nixpkgs
2−
3−Cabal files may contain dependencies to external non-Haskell
4−dependencies via:
5−
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)
10−
11−If there is a `pkgs` attribute in Nixpkgs that matches the name given
12−in the Cabal file, then it will be added as a dependency (see the
13−output of `cabal-to-nix`). Otherwise, there needs to be a mapping from
14−Cabal file names (decided by the package author) to Nix package
15−identifiers.
16−
17−### Nixpkgs overlay
18−
19−The user may solve it by themself by overriding Nixpkgs and adding a
20−package alias. For example:
21−
22−```nix
23−nixpkgs.overlays = [
24− (self: super: {
25− icuuc = self.icu;
26− icui18n = self.icu;
27− icudata = self.icu;
28− })
29−];
30−```
31−
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−
48−### Mapping in Haskell.nix
49−
50−Alternatively, if the name is commonly used, an alias can be added to
51−the Haskell.nix sources, so that it's solved for all users.
52−
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`.
65−
66−!!! tip "Open a PR"
67− Please go ahead and open a [pull request](https://github.com/input-output-hk/haskell.nix/pulls)
68− to improve the package mappings.
docs/tutorials/source-repository-hashes.mddeleted−75
@@ -1,75 +0,0 @@
1−# Handling git repositories in projects
2−
3−Both `stack.yaml` and `cabal.project` files can contain references
4−to git repositories containing the version of a particular package
5−that we wish to use. This is mostly handled automatically by
6−`nix-tools` and `haskell.nix` however when we want to use a nix
7−system that is configured to use restricted mode (typically hydra)
8−it will need additional hashes for the referenced repositories.
9−
10−When using `project`, `cabalProject` or `stackProject` functions
11−you can include the hash needed in a comment.
12−
13−To calculate the hash use `nix-prefetch-git`:
14−
15−```
16−$ nix-prefetch-git https://github.com/input-output-hk/haskell.nix.git bc01ebc05a8105035c9449943046b46c8364b932
17−...
18−{
19− "url": "https://github.com/input-output-hk/haskell.nix.git",
20− "rev": "bc01ebc05a8105035c9449943046b46c8364b932",
21− "date": "2019-05-30T13:13:18+08:00",
22− "sha256": "003lm3pm024vhbfmii7xcdd9v2rczpflxf7gdl2pyxia7p014i8z",
23− "fetchSubmodules": false
24−}
25−```
26−
27−## Cabal.project
28−
29−Add a `--sha256` comment to the `cabal.project` file:
30−
31−```
32−source-repository-package
33− type: git
34− location: https://github.com/input-output-hk/haskell.nix.git
35− tag: bc01ebc05a8105035c9449943046b46c8364b932
36− subdir: test/cabal-simple
37− --sha256: 003lm3pm024vhbfmii7xcdd9v2rczpflxf7gdl2pyxia7p014i8z
38−```
39−
40−## Stack
41−
42−Add a `# nix-sha256` comment to the `stack.yaml` file:
43−
44−```
45−extra-deps:
46−- git: https://github.com/input-output-hk/haskell.nix.git
47− commit: bc01ebc05a8105035c9449943046b46c8364b932
48− subdirs:
49− - test/cabal-simple
50− # nix-sha256: 003lm3pm024vhbfmii7xcdd9v2rczpflxf7gdl2pyxia7p014i8z
51−```
52−
53−## Avoiding modifying cabal.project and stack.yaml
54−
55−In some cases we cannot modify the `cabal.project` or `stack.yaml` file to add
56−sha256 comments. As an alternative we can pass in a `sha256map`. For instance,
57−pandoc includes a `cabal.project` file on hackage which includes a
58−`source-repository-package` stanza for `pandoc-citeproc`:
59−
60−```nix
61−{ haskell-nix, testSrc } :
62−let
63− pandoc = haskell-nix.hackage-package {
64− name = "pandoc";
65− version = "2.9.2.1";
66− index-state = "2020-04-15T00:00:00Z";
67− # Function that returns a sha256 string by looking up the location
68− # and tag in a nested attrset
69− sha256map =
70− { "https://github.com/jgm/pandoc-citeproc"."0.17"
71− = "0dxx8cp2xndpw3jwiawch2dkrkp15mil7pyx7dvd810pwc22pm2q"; };
72− };
73−in
74− pandoc.components.exes.pandoc
75−```
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.nixdeleted−148
@@ -1,148 +0,0 @@
1−{
2− description = "Alternative Haskell Infrastructure for Nixpkgs";
3−
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;
76−
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− });
148−}
hackage-src.jsondeleted−10
@@ -1,10 +0,0 @@
1−{
2− "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
10−}
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.nixdeleted−21
@@ -1,21 +0,0 @@
1−pkgs:
2−let licenses = import spdx/licenses.nix pkgs;
3−in licenses // {
4− # 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− };
20− NONE = null;
21−}
lib/cabal-project-parser.nixdeleted−213
@@ -1,213 +0,0 @@
1−{ pkgs }:
2−let
3− span = pred: list:
4− let n = pkgs.lib.lists.foldr (x: acc: if pred x then acc + 1 else 0) 0 list;
5− in { fst = pkgs.lib.lists.take n list; snd = pkgs.lib.lists.drop n list; };
6−
7− # Look for a index-state: field in the cabal.project file
8− parseIndexState = rawCabalProject:
9− let
10− indexState = pkgs.lib.lists.concatLists (
11− pkgs.lib.lists.filter (l: l != null)
12− (builtins.map (l: builtins.match "^index-state: *(.*)" l)
13− (pkgs.lib.splitString "\n" rawCabalProject)));
14− in
15− pkgs.lib.lists.head (indexState ++ [ null ]);
16−
17− # Remove the indentation of the first line from all the lines
18− unindent = blockLines: (pkgs.lib.foldl' ({matchString, out}: s:
19− let
20− m = builtins.match matchString s;
21− in
22− if m != null
23− then {
24− matchString = "(${builtins.head m})(.*)";
25− out = out ++ [(builtins.elemAt m 1)];
26− }
27− else {
28− inherit matchString out;
29− }
30− ) { matchString = "( *)(.*)"; out = []; } blockLines).out;
31−
32− # Strip comments except `--sha256`
33− stripComments = blockLines: pkgs.lib.filter (s: s != "") (
34− pkgs.lib.foldl' (out: s:
35− let
36− m = builtins.match "(.*)--.*" s;
37− in
38− if !(pkgs.lib.hasPrefix "--sha256" s) && m != null
39− then out ++ [(builtins.head m)]
40− else out ++ [s]
41− ) [] blockLines
42− );
43−
44− # Parse lines of a source-repository-package block
45− parseBlockLines = blockLines: (pkgs.lib.foldl' ({name, attrs}: s:
46− let
47− # Look for a new attribute name
48− pair = builtins.match "([^ :]*): *(.*)" s;
49−
50− # Function to build the next parse state when the attribute name is known
51− nextState = name: value: {
52− inherit name;
53− # Support multi line attributes by appending the value to the named attribute
54− attrs = attrs // {
55− ${name} =
56− if attrs ? ${name}
57− then attrs.${name} + " " + value
58− else value;
59− };
60− };
61− in
62− if pair != null
63− then
64− # First line of a new attribute
65− nextState (builtins.head pair) (builtins.elemAt pair 1)
66− else
67− if name != null
68− then nextState name s # Append another line to the current attribute
69− else __trace "Expected attribute but found `${s}`" { inherit name attrs; }
70− ) { name = null; attrs = {}; } (stripComments (unindent blockLines))).attrs;
71−
72− # Gets data for all the repositories to fetch
73− # A comment like
74− # --shar256: 003lm3pm0000hbfmii7xcdd9v20000flxf7gdl2pyxia7p014i8z
75− # will be trated like a field and returned here
76− # (used in call-cabal-project-to-nix.nix to create a fixed-output derivation)
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− };
88−
89− # Parse a source-repository-package and return data of `type: git` repositories
90− # See tests/unit.nix for examples of input and output.
91− parseSourceRepositoryPackageBlock = cabalProjectFileName: sha256map: block:
92− let
93− x = span (pkgs.lib.strings.hasPrefix " ") (pkgs.lib.splitString "\n" block);
94− attrs = parseBlockLines x.fst;
95− in
96− if attrs."type" or "" != "git"
97− then {
98− sourceRepo = [];
99− otherText = "\nsource-repository-package\n" + block;
100− }
101− else {
102− sourceRepo = extractSourceRepoPackageData cabalProjectFileName sha256map attrs;
103− otherText = pkgs.lib.strings.concatStringsSep "\n" x.snd;
104− };
105−
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−
209−in {
210− inherit parseIndexState parseSourceRepositoryPackages parseRepositories
211− # These are only exposed for tests
212− parseSourceRepositoryPackageBlock parseRepositoryBlock;
213−}
lib/call-cabal-project-to-nix.nixdeleted−632
@@ -1,632 +0,0 @@
1−{ pkgs, runCommand, cacert, index-state-hashes, haskellLib }@defaults:
2−let readIfExists = src: fileName:
3− let origSrcDir = src.origSrcSubDir or src;
4− in
5− if builtins.elem ((__readDir origSrcDir)."${fileName}" or "") ["regular" "symlink"]
6− then __readFile (origSrcDir + "/${fileName}")
7− else null;
8−in
9−{ name ? src.name or null # optional name for better error messages
10−, src
11−, compiler-nix-name # The name of the ghc compiler to use eg. "ghc884"
12−, index-state ? null # Hackage index-state, eg. "2019-10-10T00:00:00Z"
13−, index-sha256 ? null # The hash of the truncated hackage index-state
14−, plan-sha256 ? null # The hash of the plan-to-nix output (makes the plan-to-nix step a fixed output derivation)
15−, materialized ? null # Location of a materialized copy of the nix files
16−, checkMaterialization ? null # If true the nix files will be generated used to check plan-sha256 and material
17−, cabalProjectFileName ? "cabal.project"
18−, cabalProject ? readIfExists src cabalProjectFileName
19−, cabalProjectLocal ? readIfExists src "${cabalProjectFileName}.local"
20−, cabalProjectFreeze ? readIfExists src "${cabalProjectFileName}.freeze"
21−, caller ? "callCabalProjectToNix" # Name of the calling function for better warning messages
22−, ghc ? null # Deprecated in favour of `compiler-nix-name`
23−, ghcOverride ? null # Used when we need to set ghc explicitly during bootstrapping
24−, configureArgs ? "" # Extra arguments to pass to `cabal v2-configure`.
25− # `--enable-tests --enable-benchmarks` are included by default.
26− # If the tests and benchmarks are not needed and they
27− # cause the wrong plan to be chosen, then we can use
28− # `configureArgs = "--disable-tests --disable-benchmarks";`
29−, sha256map ? null
30− # An alternative to adding `--sha256` comments into the
31− # cabal.project file:
32− # 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
68−, ...
69−}@args:
70−
71−let
72− inherit (evalPackages.haskell-nix) materialize dotCabal;
73−
74− # These defaults are hear rather than in modules/cabal-project.nix to make them
75− # lazy enough to avoid infinite recursion issues.
76− # Using null as the default also improves performance as they are not forced by the
77− # nix module system for `nix-tools-unchecked` and `cabal-install-unchecked`.
78− nix-tools = if args.nix-tools or null != null
79− then args.nix-tools
80− else evalPackages.haskell-nix.nix-tools-unchecked.${compiler-nix-name};
81− cabal-install = if args.cabal-install or null != null
82− then args.cabal-install
83− else evalPackages.haskell-nix.cabal-install-unchecked.${compiler-nix-name};
84− forName = pkgs.lib.optionalString (name != null) (" for " + name);
85− nameAndSuffix = suffix: if name == null then suffix else name + "-" + suffix;
86−
87− ghc' =
88− if ghcOverride != null
89− then ghcOverride
90− else
91− if ghc != null
92− then __trace ("WARNING: A `ghc` argument was passed" + forName
93− + " this has been deprecated in favour of `compiler-nix-name`. "
94− + "Using `ghc` will break cross compilation setups, as haskell.nix cannot "
95− + "pick the correct `ghc` package from the respective buildPackages. "
96− + "For example, use `compiler-nix-name = \"ghc865\";` for GHC 8.6.5.") ghc
97− else
98− # Do note that `pkgs = final.buildPackages` in the `overlays/haskell.nix`
99− # call to this file. And thus `pkgs` here is the proper `buildPackages`
100− # set and we do not need, nor should pick the compiler from another level
101− # of `buildPackages`, lest we want to get confusing errors about the Win32
102− # package.
103− #
104− # > The option `packages.Win32.package.identifier.name' is used but not defined.
105− #
106− pkgs.haskell-nix.compiler."${compiler-nix-name}";
107−
108−in
109− assert (if ghc'.isHaskellNixCompiler or false then true
110− else throw ("It is likely you used `haskell.compiler.X` instead of `haskell-nix.compiler.X`"
111− + forName));
112−
113−let
114− ghc = ghc';
115− subDir' = src.origSubDir or "";
116− 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" ]); };
124−
125− # Using origSrcSubDir bypasses any cleanSourceWith so that it will work when
126− # access to the store is restricted. If origSrc was already in the store
127− # you can pass the project in as a string.
128− rawCabalProject =
129− if cabalProject != null
130− then cabalProject + (
131− if cabalProjectLocal != null
132− then ''
133−
134− -- Added from cabalProjectLocal argument to cabalProject
135− ${cabalProjectLocal}
136− ''
137− else ""
138− )
139− else null;
140−
141− cabalProjectIndexState =
142− if rawCabalProject != null
143− then pkgs.haskell-nix.haskellLib.parseIndexState rawCabalProject
144− else null;
145−
146− index-state-found =
147− if index-state != null
148− then index-state
149− else if cabalProjectIndexState != null
150− 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;
154−
155− index-state-pinned = index-state != null || cabalProjectIndexState != null;
156−
157−in
158− assert (if index-state-found == null
159− then throw "No index state passed and none found in ${cabalProjectFileName}" else true);
160−
161− assert (if index-sha256 == null && !(pkgs.lib.hasSuffix "Z" index-state-found)
162− then throw "Index state found was ${index-state-found} and no `index-sha256` was provided. "
163− "The index hash lookup code requires zulu time zone (ends in a Z)" else true);
164−
165−let
166− # If a hash was not specified find a suitable cached index state to
167− # use that will contain all the packages we need. By using the
168− # first one after the desired index-state we can avoid recalculating
169− # when new index-state-hashes are added.
170− # See https://github.com/input-output-hk/haskell.nix/issues/672
171− cached-index-state = if index-sha256 != null
172− then index-state-found
173− else
174− let
175− suitable-index-states =
176− builtins.filter
177− (s: s >= index-state-found) # This compare is why we need zulu time
178− (builtins.attrNames index-state-hashes);
179− in
180− if builtins.length suitable-index-states == 0
181− then index-state-found
182− else pkgs.lib.head suitable-index-states;
183−
184− # Lookup hash for the index state we found
185− index-sha256-found = if index-sha256 != null
186− then index-sha256
187− else index-state-hashes.${cached-index-state} or null;
188−
189−in
190− assert (if index-sha256-found == null
191− then throw "Unknown index-state ${index-state-found}, the latest index-state I know about is ${pkgs.lib.last (builtins.attrNames index-state-hashes)}. You may need to update to a newer hackage.nix." else true);
192−
193−let
194− # Deal with source-repository-packages in a way that will work in
195− # restricted-eval mode (as long as a sha256 is included).
196− # Replace source-repository-package blocks that have a sha256 with
197− # packages: block containing nix store paths of the fetched repos.
198−
199− hashPath = path:
200− builtins.readFile (pkgs.runCommand "hash-path" { preferLocalBuild = true; }
201− "echo -n $(${pkgs.nix}/bin/nix-hash --type sha256 --base32 ${path}) > $out");
202−
203− replaceSourceRepos = projectFile:
204− let
205− fetchPackageRepo = fetchgit: repoData:
206− let
207− 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; }
217− else
218− let drv = builtins.fetchGit { inherit (repoData) url ref; };
219− in __trace "WARNING: No sha256 found for source-repository-package ${repoData.url} ${repoData.ref} download may fail in restricted mode (hydra)"
220− (__trace "Consider adding `--sha256: ${hashPath drv}` to the ${cabalProjectFileName} file or passing in a sha256map argument"
221− 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;
244−
245− # Parse the `repository` blocks
246− repoResult = pkgs.haskell-nix.haskellLib.parseRepositories
247− evalPackages cabalProjectFileName sha256map inputMap cabal-install nix-tools sourceRepoPackageResult.otherText;
248−
249− # we need the repository content twice:
250− # * at eval time (below to build the fixed project file)
251− # Here we want to use evalPackages.fetchgit, so one can calculate
252− # the build plan for any target without a remote builder
253− # * at built time (passed out)
254− # Here we want to use plain pkgs.fetchgit, which is what a builder
255− # on the target system would use, so that the derivation is unaffected
256− # and, say, a linux release build job can identify the derivation
257− # 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;
260− in {
261− sourceRepos = sourceReposBuild;
262− inherit (repoResult) repos extra-hackages;
263− makeFixedProjectFile = ''
264− cp -f ${evalPackages.writeText "cabal.project" sourceRepoPackageResult.otherText} ./cabal.project
265− '' +
266− pkgs.lib.optionalString (builtins.length sourceReposEval != 0) (''
267− chmod +w -R ./cabal.project
268− # The newline here is important in case cabal.project does not have one at the end
269− echo >> ./cabal.project
270− '' +
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 (
285− 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)
291− '')
292− (pkgs.lib.lists.range 0 ((builtins.length sourceReposEval) - 1))
293− sourceReposEval
294− );
295− };
296−
297− fixedProject =
298− if rawCabalProject == null
299− then { sourceRepos = []; repos = {}; extra-hackages = []; makeFixedProjectFile = ""; replaceLocations = ""; }
300− else replaceSourceRepos rawCabalProject;
301−
302− # The use of the actual GHC can cause significant problems:
303− # * For hydra to assemble a list of jobs from `components.tests` it must
304− # first have GHC that will be used. If a patch has been applied to the
305− # GHC to be used it must be rebuilt before the list of jobs can be assembled.
306− # If a lot of different GHCs are being tests that can be a lot of work all
307− # happening in the eval stage where little feedback is available.
308− # * Once the jobs are running the compilation of the GHC needed (the eval
309− # stage already must have done it, but the outputs there are apparently
310− # not added to the cache) happens inside the IFD part of cabalProject.
311− # This causes a very large amount of work to be done in the IFD and our
312− # understanding is that this can cause problems on nix and/or hydra.
313− # * When using cabalProject we cannot examine the properties of the project without
314− # building or downloading the GHC (less of an issue as we would normally need
315− # it soon anyway).
316− #
317− # The solution here is to capture the GHC outputs that `cabal v2-configure`
318− # requests and materialize it so that the real GHC is only needed
319− # when `checkMaterialization` is set.
320− dummy-ghc-data =
321− let
322− materialized = ../materialized/dummy-ghc + "/${ghc.targetPrefix}${ghc.name}-${pkgs.stdenv.buildPlatform.system}";
323− in pkgs.haskell-nix.materialize ({
324− sha256 = null;
325− sha256Arg = "sha256";
326− materialized = if __pathExists materialized
327− then materialized
328− else __trace ("WARNING: No materialized dummy-ghc-data for "
329− + "${ghc.targetPrefix}${ghc.name}-${pkgs.stdenv.buildPlatform.system}.")
330− null;
331− reasonNotSafe = null;
332− } // pkgs.lib.optionalAttrs (checkMaterialization != null) {
333− inherit checkMaterialization;
334− }) (
335− runCommand ("dummy-data-" + ghc.name) {
336− nativeBuildInputs = [ ghc ];
337− } ''
338− mkdir -p $out/ghc
339− mkdir -p $out/ghc-pkg
340− ${ghc.targetPrefix}ghc --version > $out/ghc/version
341− ${ghc.targetPrefix}ghc --numeric-version > $out/ghc/numeric-version
342− ${ghc.targetPrefix}ghc --info | grep -v /nix/store > $out/ghc/info
343− ${ghc.targetPrefix}ghc --supported-languages > $out/ghc/supported-languages
344− ${ghc.targetPrefix}ghc-pkg --version > $out/ghc-pkg/version
345− ${pkgs.lib.optionalString (ghc.targetPrefix == "js-unknown-ghcjs-") ''
346− ${ghc.targetPrefix}ghc --numeric-ghc-version > $out/ghc/numeric-ghc-version
347− ${ghc.targetPrefix}ghc --numeric-ghcjs-version > $out/ghc/numeric-ghcjs-version
348− ${ghc.targetPrefix}ghc-pkg --numeric-ghcjs-version > $out/ghc-pkg/numeric-ghcjs-version
349− ''}
350− # The order of the `ghc-pkg dump` output seems to be non
351− # deterministic so we need to sort it so that it is always
352− # the same.
353− # Sort the output by spliting it on the --- separator line,
354− # sorting it, adding the --- separators back and removing the
355− # last line (the trailing ---)
356− ${ghc.targetPrefix}ghc-pkg dump --global -v0 \
357− | grep -v /nix/store \
358− | grep -v '^abi:' \
359− | tr '\n' '\r' \
360− | sed -e 's/\r\r*/\r/g' \
361− | sed -e 's/\r$//g' \
362− | sed -e 's/\r---\r/\n/g' \
363− | sort \
364− | sed -e 's/$/\r---/g' \
365− | tr '\r' '\n' \
366− | sed -e '$ d' \
367− > $out/ghc-pkg/dump-global
368− '');
369−
370− # Dummy `ghc` that uses the captured output
371− dummy-ghc = evalPackages.writeTextFile {
372− name = "dummy-" + ghc.name;
373− executable = true;
374− destination = "/bin/${ghc.targetPrefix}ghc";
375− text = ''
376− #!${evalPackages.runtimeShell}
377− case "$*" in
378− --version*)
379− cat ${dummy-ghc-data}/ghc/version
380− ;;
381− --numeric-version*)
382− cat ${dummy-ghc-data}/ghc/numeric-version
383− ;;
384− ${pkgs.lib.optionalString (ghc.targetPrefix == "js-unknown-ghcjs-") ''
385− --numeric-ghc-version*)
386− cat ${dummy-ghc-data}/ghc/numeric-ghc-version
387− ;;
388− --numeric-ghcjs-version*)
389− cat ${dummy-ghc-data}/ghc/numeric-ghcjs-version
390− ;;
391− ''}
392− --supported-languages*)
393− cat ${dummy-ghc-data}/ghc/supported-languages
394− ;;
395− --print-global-package-db*)
396− echo "$out/dumby-db"
397− ;;
398− --info*)
399− cat ${dummy-ghc-data}/ghc/info
400− ;;
401− --print-libdir*)
402− echo ${dummy-ghc-data}/ghc/libdir
403− ;;
404− *)
405− echo "Unknown argument '$*'" >&2
406− exit 1
407− ;;
408− esac
409− exit 0
410− '';
411− };
412−
413− # Dummy `ghc-pkg` that uses the captured output
414− dummy-ghc-pkg = evalPackages.writeTextFile {
415− name = "dummy-pkg-" + ghc.name;
416− executable = true;
417− destination = "/bin/${ghc.targetPrefix}ghc-pkg";
418− text = ''
419− #!${evalPackages.runtimeShell}
420− case "$*" in
421− --version)
422− cat ${dummy-ghc-data}/ghc-pkg/version
423− ;;
424− ${pkgs.lib.optionalString (ghc.targetPrefix == "js-unknown-ghcjs-") ''
425− --numeric-ghcjs-version)
426− cat ${dummy-ghc-data}/ghc-pkg/numeric-ghcjs-version
427− ;;
428− ''}
429− 'dump --global -v0')
430− cat ${dummy-ghc-data}/ghc-pkg/dump-global
431− ;;
432− *)
433− echo "Unknown argument '$*'. " >&2
434− echo "Additional ghc-pkg-options are not currently supported." >&2
435− echo "See https://github.com/input-output-hk/haskell.nix/pull/658" >&2
436− exit 1
437− ;;
438− esac
439− exit 0
440− '';
441− };
442−
443− plan-nix = materialize ({
444− inherit materialized;
445− sha256 = plan-sha256;
446− sha256Arg = "plan-sha256";
447− this = "project.plan-nix" + (if name != null then " for ${name}" else "");
448− # Before pinning stuff down we need an index state to use
449− reasonNotSafe =
450− if !index-state-pinned
451− then "index-state is not pinned by an argument or the cabal project file"
452− else null;
453− } // pkgs.lib.optionalAttrs (checkMaterialization != null) {
454− 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 ];
457− # 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";
459− LANG = "en_US.UTF-8";
460− meta.platforms = pkgs.lib.platforms.all;
461− 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− };
489− } ''
490− tmp=$(mktemp -d)
491− cd $tmp
492− # if cleanedSource is empty, this means it's a new
493− # project where the files haven't been added to the git
494− # repo yet. We fail early and provide a useful error
495− # 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}/* .
503− fi
504− chmod +w -R .
505− # Decide what to do for each `package.yaml` file.
506− for hpackFile in $(find . -name package.yaml); do (
507− # Look to see if a `.cabal` file exists
508− shopt -u nullglob
509− for cabalFile in $(dirname $hpackFile)/*.cabal; do
510− if [ -e "$cabalFile" ]; then
511− echo Ignoring $hpackFile as $cabalFile exists
512− else
513− # warning: this may not generate the proper cabal file.
514− # hpack allows globbing, and turns that into module lists
515− # without the source available (we cleaneSourceWith'd it),
516− # this may not produce the right result.
517− echo No .cabal file found, running hpack on $hpackFile
518− hpack $hpackFile
519− fi
520− done
521− )
522− done
523− ${pkgs.lib.optionalString (subDir != "") "cd ${subDir}"}
524− ${fixedProject.makeFixedProjectFile}
525− ${pkgs.lib.optionalString (cabalProjectFreeze != null) ''
526− cp ${evalPackages.writeText "cabal.project.freeze" cabalProjectFreeze} \
527− cabal.project.freeze
528− chmod +w cabal.project.freeze
529− ''}
530− export SSL_CERT_FILE=${cacert}/etc/ssl/certs/ca-bundle.crt
531− 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=${
539− # This creates `.cabal` directory that is as it would have
540− # been at the time `cached-index-state`. We may include
541− # some packages that will be excluded by `index-state-found`
542− # which is used by cabal (cached-index-state >= index-state-found).
543− dotCabal {
544− inherit cabal-install nix-tools extra-hackage-tarballs;
545− extra-hackage-repos = fixedProject.repos;
546− index-state = cached-index-state;
547− sha256 = index-sha256-found;
548− }
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− } \
555− -w ${
556− # We are using `-w` rather than `--with-ghc` here to override
557− # the `with-compiler:` in the `cabal.project` file.
558− ghc.targetPrefix}ghc \
559− --with-ghc-pkg=${ghc.targetPrefix}ghc-pkg \
560− --enable-tests \
561− --enable-benchmarks \
562− ${pkgs.lib.optionalString (ghc.targetPrefix == "js-unknown-ghcjs-")
563− "--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
565−
566− mkdir -p $out
567−
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−
572− # ensure we have all our .cabal files (also those generated from package.yaml) files.
573− # otherwise we'd need to be careful about putting the `cabal-generator = hpack` into
574− # the nix expression. As we already called `hpack` on all `package.yaml` files we can
575− # skip that step and just package the .cabal files up as well.
576− #
577− # This is also important as `plan-to-nix` will look for the .cabal files when generating
578− # the relevant `pkgs.nix` file with the local .cabal expressions.
579− rsync -a --prune-empty-dirs \
580− --include '*/' --include '*.cabal' --include 'package.yaml' \
581− --exclude '*' \
582− $tmp/ $out/
583−
584− # make sure the path's in the plan.json are relative to $out instead of $tmp
585− # this is necessary so that plan-to-nix relative path logic can work.
586− substituteInPlace $tmp${subDir'}/dist-newstyle/cache/plan.json --replace "$tmp" "$out"
587−
588− # run `plan-to-nix` in $out. This should produce files right there with the
589− # proper relative paths.
590− (cd $out${subDir'} && plan-to-nix --full --plan-json $tmp${subDir'}/dist-newstyle/cache/plan.json -o .)
591−
592− # Replace the /nix/store paths to minimal git repos with indexes (that will work with materialization).
593− ${fixedProject.replaceLocations}
594−
595− # Make the plan.json file available in case we need to debug plan-to-nix
596− cp $tmp${subDir'}/dist-newstyle/cache/plan.json $maybeJson
597−
598− # Remove the non nix files ".project" ".cabal" "package.yaml" files
599− # as they should not be in the output hash (they may change slightly
600− # without affecting the nix).
601− find $out \( -type f -or -type l \) ! -name '*.nix' -delete
602− # Remove empty dirs
603− find $out -type d -empty -delete
604−
605− # move pkgs.nix to default.nix ensure we can just nix `import` the result.
606− 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
626− '');
627−in {
628− projectNix = plan-nix;
629− index-state = index-state-found;
630− inherit src;
631− inherit (fixedProject) sourceRepos extra-hackages;
632−}
lib/call-stack-to-nix.nixdeleted−94
@@ -1,94 +0,0 @@
1−/* The function obtained when this is applied to a package set calls
2− * the stack-to-nix tool on a supplied source set and then
3− * imports the resulting pkgs.nix. The application of this function
4− * to a source path can thus be used directly as the input to mkStackPackageSet
5− *
6− * see also `call-cabal-project-to-nix`!
7− */
8−{ name ? src.name or null # optional name for better error messages
9−, src
10−, stackYaml ? "stack.yaml"
11−, ignorePackageYaml ? false
12−, cache ? null
13−, stack-sha256 ? null
14−, resolverSha256 ? null
15−, materialized ? null # Location of a materialized copy of the nix files
16−, checkMaterialization ? null # If true the nix files will be generated used to check plan-sha256 and material
17−, nix-tools
18−, evalPackages
19−, ... }@args:
20−let
21− inherit (evalPackages) runCommand;
22− inherit (evalPackages.haskell-nix) mkCacheFile materialize haskellLib;
23− inherit (haskellLib.fetchResolver {
24− inherit src stackYaml resolverSha256;
25− }) resolver fetchedResolver;
26−
27− subDir' = src.origSubDir or "";
28− subDir = evalPackages.lib.strings.removePrefix "/" subDir';
29− cleanedSource = (haskellLib.cleanSourceWith {
30− name = if name != null then "${name}-root-cabal-files" else "source-root-cabal-files";
31− src = src.origSrc or src;
32− filter = path: type: (!(src ? filter) || src.filter path type) && (
33− type == "directory" ||
34− evalPackages.lib.any (i: (evalPackages.lib.hasSuffix i path)) [ stackYaml ".cabal" "package.yaml" ]); });
35−
36− stackToNixArgs = builtins.concatStringsSep " " [
37− "--full"
38− "--stack-yaml=$SRC${subDir'}/${stackYaml}"
39− (if ignorePackageYaml then "--ignore-package-yaml" else "")
40− "-o ."
41− ];
42− stack = materialize ({
43− inherit materialized;
44− sha256 = stack-sha256;
45− sha256Arg = "stack-sha256";
46− reasonNotSafe = null;
47− this = "project.stack-nix" + (if name != null then " for ${name}" else "");
48− } // evalPackages.lib.optionalAttrs (checkMaterialization != null) {
49− inherit checkMaterialization;
50− }) (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 ];
52− # 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";
54− LANG = "en_US.UTF-8";
55− LC_ALL = "en_US.UTF-8";
56− preferLocalBuild = false;
57− } (''
58− mkdir -p $out${subDir'}
59− SRC=$(mktemp -d)
60− cd $SRC
61− # if cleanedSource is empty, this means it's a new
62− # project where the files haven't been added to the git
63− # repo yet. We fail early and provide a useful error
64− # message to prevent headaches (#290).
65− if [ -z "$(ls -A ${cleanedSource})" ]; then
66− echo "cleaned source is empty. Did you forget to 'git add -A'?"; exit 1;
67− fi
68− lndir -silent "${cleanedSource}/." $SRC
69− ${evalPackages.lib.optionalString (subDir != "") "cd ${subDir}"}
70− ${
71− # If a resolver was fetched use the it instead of the original stack.yaml
72− evalPackages.lib.optionalString (fetchedResolver != null)
73− # Replace the resolver path in the stack.yaml with the fetched version
74− ''
75− rm ${stackYaml}
76− cp ${src}/${stackYaml} .
77− chmod +w ${stackYaml}
78− substituteInPlace ${stackYaml} --replace "${resolver}" "${fetchedResolver}"
79− ''}
80− ${evalPackages.lib.optionalString (cache != null) ''
81− cp ${mkCacheFile cache}/.stack-to-nix.cache* $out${subDir'}
82− ''}
83− (cd $out${subDir'} && stack-to-nix ${stackToNixArgs})
84−
85− # We need to strip out any references to $src, as those won't
86− # be accessable in restricted mode.
87− for nixf in $(find $out -name "*.nix" -type f); do
88− substituteInPlace $nixf --replace "$SRC${subDir'}" "."
89− done
90−
91− # move pkgs.nix to default.nix ensure we can just nix `import` the result.
92− mv $out${subDir'}/pkgs.nix $out${subDir'}/default.nix
93− ''));
94−in { projectNix = stack; inherit src; sourceRepos = []; }
lib/check.nixdeleted−56
@@ -1,56 +0,0 @@
1−{ stdenv, lib, haskellLib }:
2−drv:
3−
4−let
5− component = drv.config;
6−
7−# This derivation can be used to execute test component.
8−# The $out of the derivation is a file containing the resulting
9−# 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− }) // {
27− name = (drv.name + "-check");
28−
29− passthru = {
30− inherit (drv) identifier config configFiles executableToolDepends cleanSrc env exeName;
31− };
32−
33− inherit (drv) meta LANG LC_ALL buildInputs nativeBuildInputs;
34−
35− inherit (component) doCheck doCrossCheck;
36−
37− phases = ["unpackPhase" "patchPhase" "buildPhase"];
38−
39− # If doCheck or doCrossCheck are false we may still build this
40− # component and we want it to quietly succeed.
41− buildPhase = ''
42− mkdir $out
43− runHook preCheck
44−
45− ${toString component.testWrapper} ${drv}/bin/${drv.exeName} ${lib.concatStringsSep " " component.testFlags} | tee $out/test-stdout
46−
47− # Copy over tix files, if they exist
48− find . -iname '${drv.exeName}.tix' -exec mkdir -p $out/share/hpc/vanilla/tix/${drv.exeName} \; -exec cp {} $out/share/hpc/vanilla/tix/${drv.exeName}/ \;
49−
50− runHook postCheck
51− '';
52−} // haskellLib.optionalHooks {
53− inherit (component) preCheck postCheck;
54−}
55−// lib.optionalAttrs (drv ? LOCALE_ARCHIVE) { inherit (drv) LOCALE_ARCHIVE; }
56−)
lib/clean-cabal-component.nixdeleted−138
@@ -1,138 +0,0 @@
1−# Use cleanSourceWith to filter just the files needed for a particular
2−# component of the package
3−{ lib, cleanSourceWith }: package: component: componentName: src:
4−let
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);
15− # 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;
53− in if p == "" || p == "/"
54− then ""
55− else if lib.hasSuffix "/" p
56− then p
57− else p + "/";
58−in
59− if srcStr' == null || package.detailLevel != "FullDetails"
60− then src
61− else
62− let
63− 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]
72− ++ 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);
82− fileMatch = dir: list:
83− let
84− prefixes = builtins.map (f: combinePaths dir f) (
85− lib.lists.remove null (lib.lists.flatten (
86− builtins.map (f: builtins.match "([^*]*)[*].*" f) list)));
87− exactMatches = builtins.map (f: combinePaths dir f) (
88− lib.lists.remove null (lib.lists.flatten (
89− builtins.map (f: builtins.match "([^*]*)" f) list)));
90− in rPath: lib.any (d: lib.strings.hasPrefix d rPath) prefixes
91− || lib.any (d: d == rPath) exactMatches;
92− dataFileMatch = fileMatch dataDir package.dataFiles;
93− licenseMatch = fileMatch subDir package.licenseFiles;
94− extraSrcMatch = fileMatch subDir (
95− package.extraSrcFiles
96− ++ component.extraSrcFiles);
97− extraDocMatch = fileMatch subDir package.extraDocFiles;
98− otherSourceFiles = builtins.map (f: combinePaths subDir f) (
99− component.asmSources
100− ++ component.cmmSources
101− ++ component.cSources
102− ++ component.cxxSources
103− ++ component.jsSources);
104− 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− };
138− }
lib/clean-git.nixdeleted−205
@@ -1,205 +0,0 @@
1−# From https://github.com/NixOS/nix/issues/2944
2−{ lib, runCommand, git, cleanSourceWith }:
3−{ name ? null, src, subDir ? "", includeSiblings ? false, keepGitDir ? false }:
4−
5−# The function call
6−#
7−# gitSource ./toplevel subpath
8−#
9−# creates a Nix store path of ./toplevel/subpath that includes only those files
10−# tracked by git. More precisely: mentioned in the git index (i.e. git add is enough
11−# to get them to be included, you do not have to commit).
12−#
13−# This is a whitelist-based alternative to manually listing files or using
14−# nix-gitignore.
15−
16−# Internally, it works by calling git ls-files at evaluation time. To
17−# avoid copying all of `.git` to the git store, it only copies the least amount
18−# of files necessary for `git ls-files` to work; this is a bit fragile, but
19−# very fast.
20−
21−with builtins;
22−
23−# We read the git index once, before getting the subdir parameter, so that it
24−# is shared among multiple invocations of gitSource:
25−
26−let
27− remove_prefix = prefix: s:
28− builtins.substring
29− (builtins.stringLength prefix)
30− (builtins.stringLength s - builtins.stringLength prefix)
31− s;
32−
33− lines = s: filter (x : x != [] && x != "") (split "\n" s);
34−
35− origSrcSubDir = toString (src.origSrcSubDir or src);
36−in
37−
38−if builtins.pathExists (origSrcSubDir + "/.git")
39−then
40− let
41− hasIndex = builtins.pathExists (origSrcSubDir + "/.git/index");
42− isWorktree = (builtins.readDir origSrcSubDir).".git" == "regular";
43−
44− # Identify the .git directory and filter just the files that we need.
45− gitDir = cleanSourceWith ({
46− caller = "cleanGit";
47− name = (if name == null then "" else name + "-") + "gitFiles";
48− filter = path: type:
49− type == "directory" ||
50− lib.any (i: (lib.hasSuffix i path)) [
51− "/config" "/index" "/HEAD" ] ||
52− (lib.strings.hasInfix "modules/" path &&
53− lib.any (i: (lib.hasSuffix i path)) [
54− "/config" "/index" "/HEAD" "/objects" "/refs" ]);
55− } // (
56− if hasIndex
57− then { inherit src; subDir = ".git"; }
58− else if !isWorktree
59− then abort "cleanGit: ${origSrcSubDir + "/.git"} has no index file"
60− else {
61− # likely a git worktree, so follow the indirection
62− src =
63− let
64− git_content = lines (readFile (origSrcSubDir + "/.git"));
65− first_line = head git_content;
66− prefix = "gitdir: ";
67− ok = length git_content == 1 && lib.hasPrefix prefix first_line;
68− raw_path = remove_prefix prefix first_line;
69− in
70− if ok
71− then
72− if lib.hasPrefix "/" raw_path
73− then /. + raw_path
74− else /. + builtins.toPath (origSrcSubDir + "/" + raw_path)
75− else abort "gitSource.nix: Cannot parse ${origSrcSubDir + "/.git"}";
76− }));
77−
78− # Worktrees have a commondir pointing to the common `.git` dir. We need the
79− # config file from there to get the list of active submodules right.
80− commonConfig = if builtins.pathExists (toString gitDir.origSrc + "/commondir")
81− then
82− # The commondir file contains just the relative path of the
83− # common `.git` dir.
84− let
85− git_content = lines (readFile (toString gitDir.origSrc + "/commondir"));
86− first_line = head git_content;
87− in gitDir.origSrc + ("/" + first_line + "/config")
88− else gitDir + "/config";
89−
90− # We need the .gitmodules file for submoules to work.
91− gitModulesStr = origSrcSubDir + "/.gitmodules";
92− gitModules = builtins.path { name = "gitmodules"; path = gitModulesStr; };
93−
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− ||
105− 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;
114−
115− # Make a temporary dir that looks enough like the real thing for
116− # `git ls-files --recurse-submodules` to give us an accurate list
117− # of all the files in the index.
118− whitelist_files = knownSubmoduleDirs:
119− runCommand "git-ls-files" { preferLocalBuild = true; } ''
120− tmp=$(mktemp -d)
121− cd $tmp
122− ${ lib.optionalString hasSubmodules ''
123− cp -ra ${gitSubmoduleFiles knownSubmoduleDirs}/. $tmp
124− chmod +w -R $tmp
125− ''}
126− cp -r ${gitDir} .git
127− chmod +w -R .git
128− mkdir -p .git/objects .git/refs
129− mkdir -p .git-common/objects .git-common/refs
130− cp ${commonConfig} .git-common/config
131− echo ../.git-common > .git/commondir
132− ${ lib.optionalString (isWorktree && builtins.pathExists gitModulesStr) ''
133− cp ${gitModules} ./.gitmodules
134− ''}
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
140− '';
141−
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;
186−
187− filter = path: type:
188− hasAttr (toString path) whitelist_set
189− || (keepGitDir && isGitDirPath path);
190− in
191− cleanSourceWith {
192− caller = "cleanGit";
193− inherit name src subDir includeSiblings filter;
194− } // {
195− # For testing
196− # inherit whitelist whitelist_set;
197− }
198−
199−else
200− trace "haskell-nix.haskellLib.cleanGit: ${origSrcSubDir} does not seem to be a git repository,\nassuming it is a clean checkout." (
201− cleanSourceWith {
202− caller = "cleanGit";
203− inherit name src subDir includeSiblings;
204− }
205− )
lib/clean-source-haskell.nixdeleted−41
@@ -1,41 +0,0 @@
1−# This is a source filter function which cleans common build products
2−# and files not needed to do a haskell build from a source directory.
3−#
4−# This can avoid unnecessary builds when these files change.
5−#
6−# It should be used with "pkgs.lib.cleanSourceWith". Alternatively,
7−# use the convenience function "cleanSourceHaskell".
8−#
9−{ lib }:
10−
11−rec {
12− haskellSourceFilter = name: type:
13− let baseName = baseNameOf (toString name);
14− in ! (
15− # Filter out cabal build products.
16− baseName == "dist" || baseName == "dist-newstyle" ||
17− baseName == "cabal.project.local" ||
18− lib.hasPrefix ".ghc.environment" baseName ||
19− # Filter out stack build products.
20− lib.hasPrefix ".stack-work" baseName ||
21− # Filter out files left by ghci
22− lib.hasSuffix ".hi" baseName ||
23− # Filter out files generated by "hasktags"
24− baseName == "TAGS" || baseName == "tags" ||
25− # Filter out files which are commonly edited but don't
26− # affect the cabal build.
27− lib.hasSuffix ".nix" baseName
28− );
29−
30− # Like pkgs.lib.cleanSource, but adds Haskell files to the filter.
31− cleanSourceHaskell = { src, name ? null }:
32− let
33− clean = lib.cleanSourceWith {
34− filter = haskellSourceFilter;
35− src = lib.cleanSource src;
36− inherit name;
37− };
38− in
39− if (builtins.typeOf src) == "path"
40− then clean else src;
41−}
lib/clean-source-with.nixdeleted−150
@@ -1,150 +0,0 @@
1−# This is a replacement for the cleanSourceWith function in nixpkgs
2−# https://github.com/NixOS/nixpkgs/blob/1d9d31a0eb8e8358830528538a391df52f6a075a/lib/sources.nix#L41
3−# It adds a subDir argument in a way that allows descending into a subdirectory
4−# to compose with cleaning the source with a filter.
5−{ lib }: rec {
6−
7− # Like `builtins.filterSource`, except it will compose with itself,
8− # allowing you to chain multiple calls together without any
9− # intermediate copies being put in the nix store.
10− #
11− # lib.cleanSourceWith {
12− # filter = f;
13− # src = lib.cleanSourceWith {
14− # filter = g;
15− # src = ./.;
16− # };
17− # }
18− # # Succeeds!
19− #
20− # builtins.filterSource f (builtins.filterSource g ./.)
21− # # Fails!
22− #
23− # Parameters:
24− #
25− # src: A path or cleanSourceWith result to filter and/or rename.
26− #
27− # filter: A function (path -> type -> bool)
28− # Optional with default value: constant true (include everything)
29− # The function will be combined with the && operator such
30− # that src.filter is called lazily.
31− # For implementing a filter, see
32− # https://nixos.org/nix/manual/#builtin-filterSource
33− #
34− # subDir: Descend into a subdirectory in a way that will compose.
35− # It will be as if `src = src + "/${subDir}` and filters
36− # already applied to `src` will be respected.
37− #
38− # includeSiblings: By default the siblings trees of `subDir` are excluded.
39− # In some cases it is useful to include these so that
40− # relative references to those siblings will work.
41− #
42− # name: Optional name to use as part of the store path.
43− # If you do not provide a `name` it will be derived
44− # from the `subDir`. You should provide `name` or
45− # `subDir`. If you do not a warning will be displayed
46− # and the name used will be `source`.
47− #
48− # caller: Name of the function used in warning message.
49− # Functions that are implemented using `cleanSourceWith`
50− # (and forward a `name` argument) can use this to make
51− # the message to the use more meaningful.
52− #
53− # Nix <2.4 Suport with filterPath
54− #
55− # As of Nix >=2.4 filtering is now possible on all paths (including those in the store).
56− # If you still need to support older versions of Nix and want to maximise cache hits for your project
57− # you may want to consider using setting the `filterPath` attribute on `src` (must be done on
58− # the original src not the output of another `cleanSourceWith`).
59− #
60− # To disable filtering completely replace:
61− #
62− # src = ./.;
63− #
64− # with:
65− #
66− # src = { outPath = ./.; filterPath = { path, ... }: path; };
67− #
68− # To disable filtering only when the path is in the store use (when Nix <2.4 is unable to filter it):
69− #
70− # src = {
71− # outPath = ./.;
72− # filterPath = { path, ... }@args:
73− # if builtins.hasContext (toString path) then path else builtins.path args;
74− # };
75− #
76− # Currently `haskell-nix.hackage-project` (used by `hackage-package`, `tool` and `tools`) disables
77− # filtering. See `overlays/haskell.nix` for details.
78− #
79− # For more see https://github.com/input-output-hk/haskell.nix/pull/1418
80− cleanSourceWith = { filter ? _path: _type: true, src, subDir ? "", name ? null
81− , caller ? "cleanSourceWith", includeSiblings ? false }:
82− let
83− subDir' = if subDir == "" then "" else "/" + subDir;
84− subDirName = __replaceStrings ["/"] ["-"] subDir;
85− # In case this is mixed with older versions of cleanSourceWith
86− isFiltered = src ? _isLibCleanSourceWith;
87− isFilteredEx = src ? _isLibCleanSourceWithEx;
88− origSrc = if isFiltered || isFilteredEx then src.origSrc else src;
89− origSubDir = if isFilteredEx then src.origSubDir + subDir' else subDir';
90− origSrcSubDir = toString origSrc + origSubDir;
91− parentFilter = if isFiltered || isFilteredEx
92− then path: type: src.filter path type
93− else path: type: true;
94− filter' = path: type:
95− # Respect the parent filter
96− parentFilter path type && (
97− # Must include parent paths of the subdir.
98− (lib.strings.hasPrefix (path + "/") (origSrcSubDir + "/"))
99− ||
100− # Everything else is either the child tree or sibling tree.
101− ((includeSiblings || lib.strings.hasPrefix (origSrcSubDir + "/") path)
102− && filter path type # Use the filter function to decide if we need it
103− )
104− );
105− name' = if name != null
106− then name
107− else
108− if subDirName != ""
109− then if src ? name
110− then src.name + "-" + subDirName
111− else "source-" + subDirName
112− else if src ? name
113− then src.name
114− else
115− # No name was provided and one could not be constructed from
116− # the `subDirName`.
117−
118− # We used to use `baseNameOf src` as a default here.
119− # This was cute, but it lead to cache misses. For instance if
120− # `x = cleanSourceWith { src = ./.; }` then `baseName src`
121− # will be different when `src` resolves to "/nix/store/X"
122− # than when it is in a local directory. If people use
123− # git worktrees they also may wind up with different
124− # values for `name`. Anything that depends on `x.name` will
125− # propagate the issue.
126−
127− # Encourage adding a suitable `name` with:
128− # * A warning message.
129− # * A default name that gives a hint as to why there is no name.
130− __trace (
131− "WARNING: `${caller}` called on ${toString src} without a `name`. "
132− + "Consider adding `name = \"${baseNameOf src}\";`") "source";
133− filterPath = origSrc.filterPath or (
134− if builtins.compareVersions builtins.nixVersion "2.4" >= 0
135− then builtins.path
136− else __trace "WARNING: Using nix <2.4 will result in inconsistent filtering of ${toString origSrc} (see lib/clean-source-with.nix)"
137− (if builtins.hasContext or (lib.hasPrefix builtins.storeDir) (toString origSrc)
138− then { path, ... }: path
139− else builtins.path));
140− in {
141− inherit origSrc origSubDir origSrcSubDir;
142− filter = filter';
143− outPath = (filterPath { filter = filter'; path = origSrc; name = name'; }) + origSubDir;
144− _isLibCleanSourceWithEx = true;
145− # It is only safe for older cleanSourceWith to filter this one
146− # if the we are still looking at the root of origSrc
147− _isLibCleanSourceWith = origSubDir == "";
148− name = name';
149− };
150−}
lib/compat.nixdeleted−1
@@ -1 +0,0 @@
1−{ license-map = import ./cabal-licenses.nix; platform-map = import ./cabal-os-arch-comp.nix; host-map = import ./host-map.nix; }
lib/cover-project.nixdeleted−150
@@ -1,150 +0,0 @@
1−# A project coverage report is a composition of package coverage
2−# reports
3−{ stdenv, pkgs, lib, haskellLib }:
4−
5−# haskell.nix project
6−project:
7−# List of coverage reports to accumulate
8−coverageReports:
9−
10−let
11− toBashArray = arr: "(" + (lib.concatStringsSep " " arr) + ")";
12−
13− # Create a list element for a project coverage index page.
14− coverageListElement = coverageReport:
15− ''
16− <li>
17− <a href="${coverageReport.passthru.name}/hpc_index.html">${coverageReport.passthru.name}</a>
18− </li>
19− '';
20−
21− projectIndexHtml = pkgs.writeText "index.html" ''
22− <html>
23− <head>
24− <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
25− </head>
26− <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>
46− </body>
47− </html>
48− '';
49−
50− ghc = project.pkg-set.config.ghc.package;
51−
52− libs = lib.unique (lib.concatMap (r: r.mixLibraries) coverageReports);
53−
54− mixDirs =
55− map
56− (l: "${l}/share/hpc/vanilla/mix/${l.identifier.name}-${l.identifier.version}")
57− libs;
58−
59− srcDirs = map (l: l.srcSubDirPath) libs;
60−
61− allCoverageReport = haskellLib.coverageReport {
62− name = "all";
63− checks = lib.flatten (lib.concatMap
64− (pkg: lib.optional (pkg ? checks) (lib.filter lib.isDerivation (lib.attrValues pkg.checks)))
65− (lib.attrValues (haskellLib.selectProjectPackages project.hsPkgs)));
66− mixLibraries = lib.concatMap
67− (pkg: lib.optional (pkg.components ? library) pkg.components.library)
68− (lib.attrValues (haskellLib.selectProjectPackages project.hsPkgs));
69− ghc = project.pkg-set.config.ghc.package;
70− };
71−
72−in pkgs.runCommand "project-coverage-report"
73− ({ nativeBuildInputs = [ (ghc.buildGHC or ghc) pkgs.buildPackages.zip ];
74− LANG = "en_US.UTF-8";
75− LC_ALL = "en_US.UTF-8";
76− } // lib.optionalAttrs (stdenv.buildPlatform.libc == "glibc") {
77− LOCALE_ARCHIVE = "${pkgs.buildPackages.glibcLocales}/lib/locale/locale-archive";
78− })
79− ''
80− function markup() {
81− local -n srcDs=$1
82− local -n mixDs=$2
83− local -n includedModules=$3
84− local destDir=$4
85− local tixFile=$5
86−
87− local hpcMarkupCmd=("hpc" "markup" "--destdir=$destDir")
88− for srcDir in "''${srcDs[@]}"; do
89− hpcMarkupCmd+=("--srcdir=$srcDir")
90− done
91−
92− for mixDir in "''${mixDs[@]}"; do
93− hpcMarkupCmd+=("--hpcdir=$mixDir")
94− done
95−
96− for module in "''${includedModules[@]}"; do
97− hpcMarkupCmd+=("--include=$module")
98− done
99−
100− hpcMarkupCmd+=("$tixFile")
101−
102− echo "''${hpcMarkupCmd[@]}"
103− eval "''${hpcMarkupCmd[@]}"
104− }
105−
106− function findModules() {
107− local searchDir=$2
108− local pattern=$3
109−
110− pushd $searchDir
111− mapfile -d $'\0' $1 < <(find ./ -type f \
112− -wholename "$pattern" -not -name "Paths*" \
113− -exec basename {} \; \
114− | sed "s/\.mix$//" \
115− | tr "\n" "\0")
116− popd
117− }
118−
119− mkdir -p $out/nix-support
120− mkdir -p $out/share/hpc/vanilla/tix/all
121− mkdir -p $out/share/hpc/vanilla/mix/
122− mkdir -p $out/share/hpc/vanilla/html/
123−
124− # Find all tix files in each package
125− tixFiles=()
126− ${with lib; concatStringsSep "\n" (map (coverageReport: ''
127− identifier="${coverageReport.name}"
128− report=${coverageReport}
129− tix="$report/share/hpc/vanilla/tix/$identifier/$identifier.tix"
130− if test -f "$tix"; then
131− tixFiles+=("$tix")
132− fi
133−
134− # Copy mix, tix, and html information over from each report
135− cp -Rn $report/share/hpc/vanilla/mix/$identifier $out/share/hpc/vanilla/mix/
136− cp -R $report/share/hpc/vanilla/tix/* $out/share/hpc/vanilla/tix/
137− cp -R $report/share/hpc/vanilla/html/* $out/share/hpc/vanilla/html/
138− '') coverageReports)}
139−
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
143−
144− # Markup a HTML coverage summary report for the entire project
145− cp ${projectIndexHtml} $out/share/hpc/vanilla/html/index.html
146−
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
150− ''
lib/cover.nixdeleted−204
@@ -1,204 +0,0 @@
1−# The following collects coverage information from a set of given "checks" and
2−# provides a coverage report showing how those "checks" cover a set of given
3−# "mixLibraries".
4−{ stdenv, lib, haskellLib, pkgs }:
5−
6−# Name of the coverage report, which should be unique.
7−{ 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
16−}:
17−
18−let
19− toBashArray = arr: "(" + (lib.concatStringsSep " " arr) + ")";
20−
21− mixDir = l: "${l}/share/hpc/vanilla/mix/${l.identifier.name}-${l.identifier.version}";
22− mixDirs = map mixDir mixLibraries;
23−
24− srcDirs = map (l: l.srcSubDirPath) mixLibraries;
25−
26−in pkgs.runCommand (name + "-coverage-report")
27− ({nativeBuildInputs = [ (ghc.buildGHC or ghc) pkgs.buildPackages.zip ];
28− passthru = {
29− inherit name checks mixLibraries;
30− };
31− # HPC will fail if the Haskell file contains non-ASCII characters,
32− # unless our locale is set correctly. This has been fixed, but we
33− # don't know what version of HPC we will be using, hence we should
34− # always use the workaround.
35− # https://gitlab.haskell.org/ghc/ghc/-/issues/17073
36− LANG = "en_US.UTF-8";
37− LC_ALL = "en_US.UTF-8";
38− } // lib.optionalAttrs (stdenv.buildPlatform.libc == "glibc") {
39− LOCALE_ARCHIVE = "${pkgs.buildPackages.glibcLocales}/lib/locale/locale-archive";
40− })
41− ''
42− function markup() {
43− local -n srcDs=$1
44− local -n mixDs=$2
45− local -n includedModules=$3
46− local destDir=$4
47− local tixFile=$5
48−
49− local hpcMarkupCmd=("hpc" "markup" "--destdir=$destDir")
50− for srcDir in "''${srcDs[@]}"; do
51− hpcMarkupCmd+=("--srcdir=$srcDir")
52− done
53−
54− for mixDir in "''${mixDs[@]}"; do
55− hpcMarkupCmd+=("--hpcdir=$mixDir")
56− done
57−
58− for module in "''${includedModules[@]}"; do
59− hpcMarkupCmd+=("--include=$module")
60− done
61−
62− hpcMarkupCmd+=("$tixFile")
63−
64− echo "''${hpcMarkupCmd[@]}"
65− eval "''${hpcMarkupCmd[@]}"
66− }
67−
68− function sumTix() {
69− local -n includedModules=$1
70− local -n tixFs=$2
71− local outFile="$3"
72−
73− if (( "''${#tixFs[@]}" > 0 )); then
74− local hpcSumCmd=("hpc" "sum" "--union" "--output=$outFile")
75−
76− for module in "''${includedModules[@]}"; do
77− hpcSumCmd+=("--include=$module")
78− done
79−
80− for tixFile in "''${tixFs[@]}"; do
81− hpcSumCmd+=("$tixFile")
82− done
83−
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
92− }
93−
94− function findModules() {
95− local -n result=$1
96− local -n searchDirs=$2
97− local pattern=$3
98−
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
110− }
111−
112− mkdir -p $out/nix-support
113− mkdir -p $out/share/hpc/vanilla/mix/
114− mkdir -p $out/share/hpc/vanilla/tix/${name}
115− mkdir -p $out/share/hpc/vanilla/html/${name}
116−
117− local srcDirs=${toBashArray srcDirs}
118− local mixDirs=${toBashArray mixDirs}
119−
120− # Copy out mix files used for this report
121− for dir in "''${mixDirs[@]}"; do
122− if [ -d "$dir" ]; then
123− cp -R "$dir" $out/share/hpc/vanilla/mix/
124− fi
125− done
126−
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−
165− local tixFiles=()
166− ${lib.concatStringsSep "\n" (builtins.map (check: ''
167− if [ -d "${check}/share/hpc/vanilla/tix" ]; then
168− pushd ${check}/share/hpc/vanilla/tix
169−
170− tixFile="$(find . -iwholename "*.tix" -type f -print -quit)"
171− local newTixFile=$out/share/hpc/vanilla/tix/${check.name}/"$(basename $tixFile)"
172−
173− mkdir -p "$(dirname $newTixFile)"
174− # Copy over the tix file verbatim
175− cp "$tixFile" "$newTixFile"
176−
177− # Add the tix file to our list
178− tixFiles+=("$newTixFile")
179−
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"
183−
184− popd
185− fi
186− '') checks)
187− }
188−
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}"
193−
194− # Sum all of our tix files
195− sumTix mixModules tixFiles "$sumTixFile"
196−
197− # Markup a HTML report
198− markup srcDirs mixDirs mixModules "$markupOutDir" "$sumTixFile"
199−
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
204− ''
lib/default.nixdeleted−346
@@ -1,346 +0,0 @@
1−{ pkgs, stdenv, lib, haskellLib, recurseIntoAttrs, srcOnly }:
2−
3−
4−with haskellLib;
5−
6−let
7− # Why `final.buildPackages.buildPackages.gitMinimal`?
8− # Why not just final.buildPackages.gitMinimal?
9− #
10− # It turns out `git` depends on `gdb` in a round about way:
11− # git -> openssh -> libfido2 -> systemd -> python libxml -> Cython -> gdb
12− # Somewhere in that chain there should perhaps be a `buildPackages` so
13− # that the `gdb` that is used is not the one for debugging code in
14− # the `final` (but instead the one for debugging code in
15− # `final.buildPackages`).
16− #
17− # Using `final.buildPackages.git` causes two problems:
18− #
19− # * Multiple versions of `git` (and that dependency chain
20− # to `gdb` are needed when cross compiling).
21− # * When `gdb` does not exist for `js`, so when cross
22− # compiling with ghcjs `final.buildPackages.git` fails
23− # to build at all.
24− inherit (pkgs.buildPackages.buildPackages) gitMinimal;
25−
26−in {
27− # Within the package components, these are the attribute names of
28− # nested attrsets.
29− subComponentTypes = [
30− "sublibs"
31− "foreignlibs"
32− "exes"
33− "tests"
34− "benchmarks"
35− ];
36−
37− foldrAttrVals = f: z: attrs:
38− lib.foldr (g: acc: g acc) z (lib.mapAttrsToList (_name: f) attrs);
39−
40− foldComponents = tys: f: z: conf:
41− let
42− comps = conf.components or {};
43− # ensure that comps.library exists and is not null.
44− libComp = acc: if (comps.library or null) != null then f comps.library acc else acc;
45− subComps = acc:
46− lib.foldr
47− (ty: acc': foldrAttrVals f acc' (comps.${ty} or {}))
48− acc
49− tys;
50− in libComp (subComps z);
51−
52− getAllComponents = foldComponents subComponentTypes (c: acc: [c] ++ acc) [];
53−
54− componentPrefix = {
55− sublibs = "lib";
56− foreignlibs = "flib";
57− exes = "exe";
58− tests = "test";
59− benchmarks = "bench";
60− };
61−
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−
68− applyComponents = f: config:
69− let
70− comps = config.components;
71− applyLibrary = cname: f { cname = config.package.identifier.name; ctype = "lib"; };
72− applySubComp = ctype: cname: f { inherit cname; ctype = componentPrefix.${ctype} or (throw "Missing component mapping for ${ctype}."); };
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)
79− then {}
80− else lib.mapAttrs applyLibrary (removeAttrs comps (subComponentTypes ++ [ "setup" ]));
81− subComps = lib.mapAttrs
82− (ctype: attrs: lib.mapAttrs (applySubComp ctype) (buildableAttrs attrs))
83− (builtins.intersectAttrs (lib.genAttrs subComponentTypes (_: null)) comps);
84− in subComps // libComp;
85−
86− isLibrary = componentId: componentId.ctype == "lib";
87− isExe = componentId: componentId.ctype == "exe";
88− isTest = componentId: componentId.ctype == "test";
89− isBenchmark = componentId: componentId.ctype == "bench";
90− isExecutableType = componentId:
91− isExe componentId
92− || isTest componentId
93− || isBenchmark componentId;
94− mayHaveExecutable = componentId:
95− isExecutableType componentId;
96−
97− # Was there a reference to the package source in the `cabal.project` or `stack.yaml` file.
98− # This is used to make the default `packages` list for `shellFor`.
99− isLocalPackage = p: p.isLocal or false;
100− selectLocalPackages = ps: lib.filterAttrs (n: p: p != null && isLocalPackage p) ps;
101−
102− # if it's a project package it has a src attribute set with an origSubDir attribute.
103− # project packages are a subset of localPackages
104− isProjectPackage = p: p.isProject or false;
105− selectProjectPackages = ps: lib.filterAttrs (n: p: p != null && isLocalPackage p && isProjectPackage p) ps;
106−
107− # Format a componentId as it should appear as a target on the
108− # command line of the setup script.
109− componentTarget = componentId:"${componentId.ctype}:${componentId.cname}";
110−
111− # Remove null or empty values from an attrset.
112− optionalHooks = lib.filterAttrs (_: hook: hook != null && hook != "");
113−
114− # Avoid pkgs.callPackage for now. It does a lot of nonsense with OOP
115− # style programming that we should avoid until we know we want it.
116−
117− # weakCallPackage: call a function or (importable expression)
118− # with scope + args.
119− #
120− # weakCallPackage scope f args
121− # will call f (scope // args)
122− #
123− # weakCallpackage scope ./path args
124− # will call the expression at ./path with (scope // args)
125− #
126− weakCallPackage = scope: f: args:
127− let f' = if lib.isFunction f then f else import f;
128− args' = (builtins.intersectAttrs (builtins.functionArgs f') scope) // args;
129− in f' args';
130−
131− # Collect all (transitive) Haskell library dependencies of a
132− # component.
133− ## flatLibDepends :: Component -> [Package]
134− flatLibDepends = component:
135− let
136− makePairs = map (p: rec { key=val.name; val=(p.components.library or p); });
137− closure = builtins.genericClosure {
138− startSet = makePairs component.depends;
139− operator = {val,...}: makePairs val.config.depends;
140− };
141− in map ({val,...}: val) closure;
142−
143−
144− # Extracts a selection of components from a Haskell package set.
145− #
146− # This can be used to filter out all test suites or benchmarks of
147− # your project, so that they can be built in Hydra.
148− #
149− # For example:
150− #
151− # tests = collectComponents "tests" (package: package.identifier.name == "mypackage") hsPkgs;
152− #
153− # Will result in moving:
154− # from: hsPkgs.mypackage.components.tests.unit-tests
155− # to: tests.mypackage.unit-tests
156− #
157− collectComponents = group: packageSel: haskellPackages:
158− let packageToComponents = name: package:
159− # look for the components with this group if there are any
160− let components = package.components.${group} or {};
161− # set recurseForDerivations unless it's a derivation itself (e.g. the "library" component) or an empty set
162− in if lib.isDerivation components || components == {}
163− then components
164− else recurseIntoAttrs components;
165− packageFilter = name: package: (package.isHaskell or false) && packageSel package;
166− filteredPkgs = lib.filterAttrs packageFilter haskellPackages;
167− # at this point we can filter out packages that don't have any of the given kind of component
168− packagesByComponent = lib.filterAttrs (_: components: components != {}) (lib.mapAttrs packageToComponents filteredPkgs);
169− in recurseIntoAttrs packagesByComponent;
170−
171− # Equivalent to collectComponents with (_: true) as selection function.
172− # Useful for pre-filtered package-set.
173− #
174− # For example:
175− #
176− # myHaskellPackages = selectProjectPackages hsPkgs;
177− # myTests = collectComponents' "tests" myHaskellPackages;
178− collectComponents' = group: collectComponents group (_: true);
179−
180− # Extracts a selection of 'checks' from a Haskell package set.
181− #
182− # This can be used to collect all the test runs in your project, so that can be run in CI.
183− collectChecks = packageSel: haskellPackages:
184− let packageFilter = name: package: (package.isHaskell or false) && packageSel package;
185− in recurseIntoAttrs (lib.mapAttrs (_: p: p.checks) (lib.filterAttrs packageFilter haskellPackages));
186−
187− # Equivalent to collectChecks with (_: true) as selection function.
188− # Useful for pre-filtered package-set.
189− collectChecks' = collectChecks (_: true);
190−
191− # Replacement for lib.cleanSourceWith that has a subDir argument.
192− inherit (import ./clean-source-with.nix { inherit lib; }) cleanSourceWith;
193−
194− # Use cleanSourceWith to filter just the files needed for a particular
195− # component of a package
196− cleanCabalComponent = import ./clean-cabal-component.nix { inherit lib cleanSourceWith; };
197−
198− # Clean git directory based on `git ls-files --recurse-submodules`
199− cleanGit = import ./clean-git.nix {
200− inherit lib cleanSourceWith;
201− git = gitMinimal;
202− inherit (pkgs.buildPackages.buildPackages) runCommand;
203− };
204−
205− # Some times it is handy to temporarily use a relative path between git
206− # repos. If the repos are individually cleaned this is not possible
207− # (since the cleaned version of one repo will never include the files
208− # of the other).
209− #
210− # `cleanGits` allows us to specify a root directory and any number of
211− # sub directories containing git repos.
212− #
213− # See docs/user-guide/clean-git.md for details of how to use this
214− # with `cabalProject`.
215− cleanGits = { src, gitDirs, name ? null, caller ? "cleanGits" }@args:
216− let
217− # List of filters, one for each git directory.
218− filters = builtins.map (subDir:
219− (pkgs.haskell-nix.haskellLib.cleanGit {
220− src = pkgs.haskell-nix.haskellLib.cleanSourceWith {
221− inherit src subDir;
222− };
223− }).filter) gitDirs;
224− in pkgs.haskell-nix.haskellLib.cleanSourceWith {
225− inherit src name caller;
226− # Keep files that match any of the filters
227− filter = path: type: pkgs.lib.any (f: f path type) filters;
228− };
229−
230− # Check a test component
231− check = import ./check.nix {
232− inherit stdenv lib haskellLib;
233− };
234−
235− # Do coverage of a package
236− coverageReport = import ./cover.nix {
237− inherit stdenv lib haskellLib pkgs;
238− };
239−
240− # Do coverage of a project
241− projectCoverageReport = import ./cover-project.nix {
242− inherit stdenv lib haskellLib pkgs;
243− };
244−
245− # Use `isCrossHost` to identify when we are cross compiling and
246− # the code we are producing will not run on the build system
247− # without an emulator.
248− # In most cases we do not want to treat musl as a cross compiler.
249− # For instance when building ghc we want to include ghci.
250− isCrossHost = stdenv.hostPlatform != stdenv.buildPlatform
251− && !(stdenv.buildPlatform.isLinux && stdenv.hostPlatform.isMusl && stdenv.buildPlatform.linuxArch == stdenv.hostPlatform.linuxArch);
252− # This is the same as isCrossHost but for use when building ghc itself
253− isCrossTarget = stdenv.targetPlatform != stdenv.hostPlatform
254− && !(stdenv.hostPlatform.isLinux && stdenv.targetPlatform.isMusl && stdenv.hostPlatform.linuxArch == stdenv.targetPlatform.linuxArch);
255− # Native musl build-host-target combo
256− isNativeMusl = stdenv.hostPlatform.isMusl
257− && stdenv.buildPlatform == stdenv.hostPlatform
258− && stdenv.hostPlatform == stdenv.targetPlatform;
259−
260− # Takes a version number, module or list of modules (for cabalProject)
261− # and converts it to an list of project modules. This allows
262− # 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];
269−
270− # Find the resolver in the stack.yaml file and fetch it if a sha256 value is provided
271− fetchResolver = import ./fetch-resolver.nix {
272− inherit (pkgs.buildPackages) pkgs;
273− };
274−
275− inherit (import ./cabal-project-parser.nix {
276− 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− };
346−}
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-external.nixdeleted−16
@@ -1,16 +0,0 @@
1−# Provides a function for fetching a GitHub repo from a JSON spec,
2−# overridable with the given entry on the NIX_PATH.
3−
4−let
5− overrideWith = import ./override-with.nix;
6−in
7− { name, specJSON, override }:
8− let
9− spec = builtins.fromJSON (builtins.readFile specJSON);
10− in
11− overrideWith override
12− (builtins.fetchTarball {
13− inherit name;
14− url = "${spec.url}/archive/${spec.rev}.tar.gz";
15− inherit (spec) sha256;
16− })
lib/fetch-resolver.nixdeleted−37
@@ -1,37 +0,0 @@
1−# Find the resolver in the stack.yaml file and fetch it if a sha256 value is provided
2−{ pkgs }:
3−{ src
4−, stackYaml ? "stack.yaml"
5−, resolverSha256 ? null
6−}:
7−let
8− srcDir = src.origSrcSubDir or src;
9−
10− # Using origSrcSubDir bypasses any cleanSourceWith so that it will work when
11− # access to the store is restricted. If origSrc was already in the store
12− # you can pass the project in as a string.
13− rawStackYaml = builtins.readFile (srcDir + "/${stackYaml}");
14−
15− # Determine the resolver as it may point to another file we need
16− # to look at.
17− resolver =
18− let
19− rs = pkgs.lib.lists.concatLists (
20− pkgs.lib.lists.filter (l: l != null)
21− (builtins.map (l: builtins.match "^resolver: *(.*)" l)
22− (pkgs.lib.splitString "\n" rawStackYaml)));
23− in
24− pkgs.lib.lists.head (rs ++ [ null ]);
25−
26− # If we found a resolver and we have a resolverSha256 then we should download it.
27− fetchedResolver =
28− if resolver != null && resolverSha256 != null
29− then pkgs.fetchurl {
30− url = resolver;
31− sha256 = resolverSha256;
32− }
33− else if resolver != null && __pathExists (srcDir + "/${resolver}")
34− then pkgs.copyPathToStore (srcDir + "/${resolver}")
35− else null;
36−
37−in { inherit resolver fetchedResolver; }
lib/ghcjs-project.nixdeleted−218
@@ -1,218 +0,0 @@
1−# IMPORTANT: This is for building ghcjs, not for building with
2−# ghcjs. To build with ghcjs then just replace `haskell-nix`
3−# with `pkgsCross.ghcjs.haskell-nix`.
4−#
5−# For the time being we can't really treat ghcjs like a
6−# regular ghc (with different target). We need this as a
7−# stop-gap measure until ghcjs can be treated like a regular
8−# ghc.
9−#
10−# `haskell-nix.ghcjsProject` wraps `haskell-nix.cabalProject'`
11−# for use with the ghcjs source. It is exposed to allow GHCJS
12−# developers to work on the GHCJS code in a nix-shell with
13−# `shellFor`. It takes thes the clean src (from fetched
14−# source or local source that has been cleaned with cleanGit.
15−# It configures the source and passes it onto `cabalProject`
16−# along with the necessary modules.
17−#
18−# It also adds `configureInputs` and `bootInputs` that a
19−# needed for configuring the source and booting the compiler
20−# once it is built. These are added to the `hsPkgs.shellFor`
21−# of the project.
22−{ pkgs }:
23−{ src
24−, compiler-nix-name
25−, ghc ? pkgs.buildPackages.haskell-nix.compiler.${compiler-nix-name}
26−, ghcjsVersion # Version in the ghcjs.cabal file (that we will replace)
27−, ghcVersion ? ghc.version
28−, happy ? pkgs.haskell-nix.tool compiler-nix-name "happy" {
29− index-state = pkgs.haskell-nix.internalHackageIndexState;
30− version = "1.19.12";
31− materialized = ../materialized/ghcjs/happy + "/${compiler-nix-name}";
32− }
33−, alex ? pkgs.haskell-nix.tool compiler-nix-name "alex" {
34− index-state = pkgs.haskell-nix.internalHackageIndexState;
35− version = "3.2.5";
36− materialized = ../materialized/ghcjs/alex + "/${compiler-nix-name}";
37− }
38−, cabal-install ?
39− if (builtins.compareVersions ghcjsVersion "8.10.0.0" >= 0)
40− then pkgs.haskell-nix.tool compiler-nix-name "cabal" {
41− index-state = pkgs.haskell-nix.internalHackageIndexState;
42− version = "3.6.2.0";
43− materialized = ../materialized/ghcjs/cabal + "/${compiler-nix-name}";
44− }
45− else pkgs.haskell-nix.tool compiler-nix-name "cabal" {
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 ? []
57−, ...
58−}@args:
59−let
60− isGhcjs88 = builtins.compareVersions ghcjsVersion "8.8.0.0" >= 0;
61− isGhcjs810 = builtins.compareVersions ghcjsVersion "8.10.0.0" >= 0;
62−
63− # Inputs needed to configure the GHCJS source tree
64− configureInputs = with pkgs; [
65− perl
66− autoconf
67− automake
68− python3
69− ] ++ [
70− ghc
71− happy
72− alex
73− cabal-install
74− ];
75−
76− inherit (pkgs.buildPackages) emscriptenupstream emscripten emsdk;
77−
78− # Inputs needed to boot the GHCJS compiler
79− 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
85− makeWrapper
86− xorg.lndir
87− gmp
88− pkgconfig
89− ]
90− ++ [ ghc cabal-install emsdk ];
91− # Configured the GHCJS source
92− configured-src = (pkgs.runCommandCC "configured-ghcjs-src" {
93− buildInputs = configureInputs;
94− inherit src patches;
95− } ''
96− export HOME=$(pwd)
97− mkdir $HOME/.cabal
98− touch $HOME/.cabal/config
99− cp -r "$src" "$out"
100− chmod -R +w "$out"
101− cd "$out"
102−
103− for p in $patches
104− do
105− patch -p1 <$p
106− done
107−
108− # TODO: Find a better way to avoid impure version numbers
109− sed -i 's/RELEASE=NO/RELEASE=YES/' ghc/configure.ac
110− sed -i 's/${ghcjsVersion}/${ghcVersion}/' ghcjs.cabal
111−
112− ${
113− # TODO: How to actually fix this?
114− # Seems to work fine and produce the right files.
115− pkgs.lib.optionalString (!isGhcjs88) ''
116− touch ghc/includes/ghcautoconf.h
117− mkdir -p ghc/compiler/vectorise
118− mkdir -p ghc/utils/haddock/haddock-library/vendor
119− ''
120− }
121−
122− rm -rf utils/pkg-cache/ghc
123− cp -r ${ghc.generated} utils/pkg-cache/ghc
124−
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
132−
133− patchShebangs .
134− sed -i 's/gcc /cc /g' utils/makePackages.sh
135− ./utils/makePackages.sh copy
136−
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− };
159− # see https://github.com/ghcjs/ghcjs/issues/751 for the happy upper bound.
160−
161− ghcjsProject = pkgs.haskell-nix.cabalProject' (
162− (pkgs.lib.filterAttrs
163− (n: _: !(builtins.any (x: x == n)
164− [ "src" "ghcjsVersion" "ghcVersion" "happy" "alex" "cabal-install"
165− "overrideBootPackages" "patches"])) args) // {
166− 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}";
177− modules = [
178− {
179− # we need ghc-boot in here for ghcjs.
180− nonReinstallablePkgs = [ "rts" "ghc-heap" "ghc-prim" "integer-gmp" "integer-simple" "base"
181− "deepseq" "array" "ghc-boot-th" "pretty" "template-haskell"
182− "ghc-boot" "binary" "bytestring" "filepath" "directory" "containers"
183− "time" "unix" "Win32" ];
184− }
185− (pkgs.lib.optionalAttrs (!isGhcjs88) {
186− packages.Cabal.patches = [ ./../overlays/patches/Cabal/fix-data-dir.patch ];
187− })
188− {
189− ghcOptions = ["-O2"];
190− packages.ghcjs.doHaddock = false;
191− packages.haddock-ghcjs.doHaddock = false;
192− packages.haddock-api-ghcjs.doHaddock = false;
193− packages.ghcjs.flags.no-wrapper-install = true;
194− # set use-host-template-haskell. This *does*
195− # work as we use a patched ghc to boot anyway.
196− # (we apply https://github.com/ghcjs/ghc/commit/2918d88d4ef786b5f2801f6f77ac333cc56dde75 already)
197− packages.ghcjs.flags.use-host-template-haskell = true;
198− packages.ghc-api-ghcjs.flags.use-host-template-haskell = true;
199− packages.ghcjs-th.flags.use-host-template-haskell = true;
200− packages.ghc.flags.ghci = true;
201− packages.ghci.flags.ghci = true;
202− # packages.ghcjs.components.library.configureFlags = [ "-fno-wrapper-install" ];
203− packages.ghcjs.components.library.build-tools = [ alex ];
204− }
205− ];
206− });
207−in ghcjsProject // {
208− # Add `configureInputs` and `bootInputs` to the shell
209− hsPkgs = ghcjsProject.hsPkgs // {
210− # Shell suitable for configuring and building a local copy of GHCJS
211− shellFor = args: (ghcjsProject.hsPkgs.shellFor args).overrideAttrs (drv: {
212− buildInputs = (drv.buildInputs or []) ++ configureInputs;
213− nativeBuildInputs = (drv.nativeBuildInputs or []) ++ bootInputs;
214− EMSDK = emsdk;
215− });
216− };
217− inherit configureInputs bootInputs configured-src emscriptenupstream emscripten emsdk;
218−}
lib/hackageIndex.nixdeleted−16
@@ -1,16 +0,0 @@
1−{ runCommand, cabal-install
2−, indexState ? "2019-04-24T21:34:04Z"
3−} :
4−let
5− # To avoid downloading more data than necessary this will provide a base.
6− cachedState = runCommand "hackage-${builtins.substring 0 4 indexState}" {} ''
7− mkdir -p $out
8− HOME=$out ${cabal-install}/bin/cabal update --index-state='${builtins.substring 0 4 indexState}-01-01T00:00:00Z'
9− '';
10−in runCommand "hackage-${builtins.replaceStrings [":"] [""] indexState}" {} ''
11− mkdir -p $out
12− cp -r ${cachedState}/.cabal $out
13− chmod +w -R $out/.cabal
14− sed -i.back -e "s|${cachedState}|$out|g" $out/.cabal/config
15− HOME=$out ${cabal-install}/bin/cabal update --index-state='${indexState}'
16− ''
lib/host-map.nixdeleted−34
@@ -1,34 +0,0 @@
1−stdenv:
2−# set a few default values so we don't depend on what's exported from
3−# hostPlatform from whatever nixpkgs set we are working against.
4−with { isLinux = false; isWindows = false; isDarwin = false; isFreeBSD = false;
5− isOpenBSD = false; isNetBSD = false; isiOS = false; isAndroid = false;
6− isGhcjs = false; isAsterius = false; isHurd = false;
7− isx86 = false; isPowerPC = false; isAarch32 = false; isAarch64 = false;
8− isMips = false; isWasm = false; isJavaScript = false;
9− is32bit = false; is64bit = false; };
10−with stdenv.hostPlatform; {
11− os = if isLinux then "Linux" else
12− if isWindows then "Windows" else
13− if isDarwin then "Osx" else
14− if isFreeBSD then "Freebsd" else
15− if isOpenBSD then "Openbsd" else
16− if isNetBSD then "Netbsd" else
17− if isHurd then "Hurd" else
18− if isiOS then "Ios" else
19− if isAndroid then "Android" else
20− if isGhcjs then "Ghcjs" else
21− if isAsterius then "Asterius" else
22− throw "Unknown OS";
23− arch = if isx86 && is32bit then "I386" else
24− if isx86 && is64bit then "X86_64" else
25− if isPowerPC && is32bit then "PPC" else
26− if isPowerPC && is64bit then "PPC64" else
27− if isAarch32 then "Arm" else
28− if isAarch64 then "Aarch64" else
29− if isMips then "Mips" else
30− if isWasm && is32bit then "Wasm32" else
31− if isWasm && is64bit then "Wasm64" else
32− if isJavaScript then "JavaScript" else
33− throw "Unknown Arch";
34−}
lib/import-and-filter-project.nixdeleted−61
@@ -1,61 +0,0 @@
1−# This function takes the output of `callCabalProjectToNix` or
2−# `callStackToNix`. It imports the projectNix that was produced
3−# and combines it with the original source.
4−{ pkgs, haskellLib }:
5−{ projectNix, sourceRepos, src }:
6−let
7− # Full source including possible relative paths form the
8− # 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− };
14− # The sub directory containing the cabal.project or stack.yaml file
15− projectSubDir' = src.origSubDir or ""; # With leading /
16− projectSubDir = pkgs.lib.strings.removePrefix "/" projectSubDir'; # Without /
17− projectSubDir'' = if projectSubDir == "" then "" else projectSubDir + "/"; # With trailing /
18− project = import "${projectNix}${projectSubDir'}";
19−in project // {
20− extras = hackage: let old = (project.extras hackage).packages; in {
21− packages = pkgs.lib.attrsets.mapAttrs (name: value:
22− if builtins.isFunction value
23− 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− };
54− in oldPkg // {
55− src = (pkgs.lib).mkDefault packageInfo.packageSrc;
56− package = oldPkg.package // {
57− isProject = (pkgs.lib).mkDefault packageInfo.isProject;
58− };
59− }) old;
60− };
61− }
lib/make-source-pins.nixdeleted−11
@@ -1,11 +0,0 @@
1−# Writes the store paths of a list of sources into a file.
2−# If this derivation is built by Hydra, then the sources will
3−# be kept and will be available to download from the binary cache.
4−{ lib, writeTextFile
5−, sources # A list of paths
6−}:
7−
8−writeTextFile {
9− name = "haskell.nix-source-pins";
10− text = lib.concatMapStringsSep "\n" toString sources;
11−}
lib/materialize.nixdeleted−168
@@ -1,168 +0,0 @@
1−{ pkgs, nix, runCommand, writeShellScript, checkMaterialization }@defaults:
2−{ sha256 ? null # Has to make this a fixed output derivation
3−, sha256Arg ? "sha256"
4− # Name of the sha256 argument for more meaningful
5− # error messages when checking the materialization.
6−, materialized # null or path where to find materialized version of
7− # the output. If this is set but does not exist
8− # the derivation will fail but with a message
9− # 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.
13−, reasonNotSafe ? null
14− # Some times there a reasont the derivation will
15− # not produce output that can be safely materialized.
16− # Set this to a string explaining why and materialization
17− # will not be used (if sha256 was set an error will be
18− # displayed including the reasonNotSafe string).
19−, checkMaterialization ? defaults.checkMaterialization
20− # When checkMaterialization is set the derivation
21− # will be calculated the slow way (without using `sha256`
22− # and `materialized`) the result will be used to check
23− # `sha256` and `materialized` (if set).
24−}: derivation:
25−
26−let
27− name = derivation.name + pkgs.lib.optionalString (derivation ? version) "-${derivation.version}";
28−
29− traceIgnoringSha256 = reason: x:
30− if sha256 != null
31− then builtins.trace ("Warning: ignoring sha256 for " + name + " " + reason) x
32− else x;
33−
34− traceIgnoringMaterialized = reason: x:
35− if materialized != null
36− then builtins.trace ("Warning: ignoring materialized for " + name + " " + reason) x
37− else x;
38−
39− traceWhenChecking = message: x:
40− if checkMaterialization
41− then builtins.trace message x
42− else x;
43−
44− unchecked =
45− 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'.";
48− in if reasonNotSafe != null
49− then
50− # Warn the user if they tried to pin stuff down when it is not safe
51− traceIgnoringSha256 reasonNotSafe
52− (traceIgnoringMaterialized reasonNotSafe calculateNoHash)
53− else if materialized != null
54− then calculateUseMaterialized
55− else if sha256 != null
56− then
57− # Let the user know how to materialize if they want to.
58− traceWhenChecking materializeMessage calculateUseHash
59− else # materialized == null && sha256 == null
60− # Let the user know how to calculate a sha256 or materialize if they want to.
61− traceWhenChecking sha256message (traceWhenChecking materializeMessage calculateNoHash);
62−
63− # 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 {} (''
72− ERR=$(mktemp -d)/errors.txt
73− ''
74− + (pkgs.lib.optionalString (sha256 != null) ''
75− NEW_HASH=$(${calculateMaterializedSha})
76− if [[ ${sha256} != $NEW_HASH ]]; then
77− echo Changes to ${name} not reflected in ${sha256Arg}
78− diff -ru ${calculateUseHash} ${calculateNoHash} || true
79− echo "Calculated hash for ${name} was not ${sha256}. New hash is :" >> $ERR
80− echo " ${sha256Arg} = \"$NEW_HASH\";" >> $ERR
81− else
82− echo ${sha256Arg} used for ${name} is correct
83− fi
84− '')
85− + (
86− if materialized != null && !__pathExists materialized
87− then ''
88− echo "Materialized nix used for ${name} is missing. To fix run: ${updateMaterialized}" >> $ERR
89− cat $ERR
90− false
91− ''
92− else
93− (pkgs.lib.optionalString (materialized != null && __pathExists materialized) ''
94− if diff -qr ${materialized} ${calculateNoHash} &>/dev/null; then
95− echo materialized nix used for ${name} is correct
96− else
97− echo Changes to plan not reflected in materialized nix for ${name}
98− diff -ru ${materialized} ${calculateNoHash} || true
99− echo "Materialized nix used for ${name} incorrect. To fix run: ${updateMaterialized}" >> $ERR
100− fi
101− '')
102− + ''
103− if [[ -e $ERR ]]; then
104− cat $ERR
105− false
106− else
107− cp -Lr ${unchecked} $out
108− # Make sure output files can be removed from the sandbox
109− chmod -R +w $out
110− fi
111− '')
112− );
113−
114− hashArgs = {
115− outputHashMode = "recursive";
116− outputHashAlgo = "sha256";
117− outputHash = sha256;
118− };
119− calculateNoHash = derivation;
120− calculateUseHash =
121− # Use `cp -Lr` here to get rid of symlinks so we know the result
122− # can be safely materialized (no symlinks to the store).
123− runCommand name hashArgs ''
124− cp -Lr ${derivation} $out
125− # Make sure output files can be removed from the sandbox
126− chmod -R +w $out
127− '';
128− calculateUseMaterialized =
129− assert materialized != null;
130− assert __pathExists materialized;
131− { outPath = materialized; inherit name; };
132− calculateMaterializedSha =
133− writeShellScript "calculateSha" ''${nix}/bin/nix-hash --base32 --type sha256 ${calculateNoHash}'';
134−
135− # Generate the materialized files in a particular path.
136− generateMaterialized =
137− writeShellScript "generateMaterialized" ''
138− TARGET=$1
139−
140− # Crudely try and guard people from writing to the Nix store accidentally
141− if [[ ''${TARGET##/nix/store/} != $TARGET ]]; then
142− echo "Attempted to write to $TARGET in the Nix store! Put your materialized files somewhere else!"
143− exit 1
144− fi
145−
146− # Generate the files
147− mkdir -p $TARGET
148− rm -rf $TARGET
149− cp -r ${calculateNoHash} "$TARGET"
150− chmod -R +w "$TARGET"
151− '';
152− # Update the materialized files at 'materialized', which must already be set.
153− updateMaterialized =
154− assert materialized != null;
155− writeShellScript "updateMaterialized" ''${generateMaterialized} ${toString materialized}'';
156−
157− # Materialized location was specified, but the files are not there.
158− missingMaterialized = materialized != null && !__pathExists materialized;
159−
160− # Use the checked version if requested or if the `materialized` version
161− # is missing (perhaps deleted or not created yet).
162− result = if checkMaterialization || missingMaterialized
163− then checked
164− else unchecked;
165−
166−in result
167− # Also include the scripts for fixing materialization files in passthru.
168− // { passthru = (result.passthru or {}) // { inherit generateMaterialized updateMaterialized calculateMaterializedSha; }; }
lib/override-with.nixdeleted−9
@@ -1,9 +0,0 @@
1−# overrideWith - Allow the user to override the given default path
2−# with a NIX_PATH entry.
3−override: default:
4− let
5− try = builtins.tryEval (builtins.findFile builtins.nixPath override);
6− in if try.success then
7− builtins.trace "using search host <${override}>" try.value
8− else
9− default
lib/pkgconf-nixpkgs-map.nixdeleted−189
@@ -1,189 +0,0 @@
1−# pkgconfig entries to nixpkgs map
2−# See ../docs/dev/pkg-map.md
3−pkgs:
4− pkgs.lib.mapAttrs (name: value: [ value ]) pkgs //
5− {
6− # Based on https://github.com/NixOS/cabal2nix/blob/11c68fdc79461fb74fa1dfe2217c3709168ad752/src/Distribution/Nixpkgs/Haskell/FromCabal/Name.hs#L23
7− "adns" = [ pkgs."adns" ];
8− "alsa" = [ pkgs."alsaLib" ];
9− "alut" = [ pkgs."freealut" ];
10− "appindicator-0.1" = [ pkgs."libappindicator-gtk2" ];
11− "appindicator3-0.1" = [ pkgs."libappindicator-gtk3" ];
12− "asound" = [ pkgs."alsaLib" ];
13− "atk" = [ pkgs."atk" ];
14− "b2" = [ pkgs."libb2" ];
15− "bdw-gc" = [ pkgs."boehmgc" ];
16− "bz2" = [ pkgs."bzip2" ];
17− "c++" = []; # What is that?
18− "cairo-1.0" = [ pkgs."cairo" ];
19− "cairo-gobject" = [ pkgs."cairo" ];
20− "cairo-pdf" = [ pkgs."cairo" ];
21− "cairo-ps" = [ pkgs."cairo" ];
22− "cairo-svg" = [ pkgs."cairo" ];
23− "crypt" = []; # provided by glibc
24− "curses" = [ pkgs."ncurses" ];
25− "dbusmenu-glib-0.4" = [ pkgs."libdbusmenu" ];
26− "dbusmenu-gtk3-0.4" = [ pkgs."libdbusmenu-gtk3" ]; # do we also need pkgs."gtk3"
27− "dl" = []; # provided by glibc
28− "fftw3" = [ pkgs."fftw" ];
29− "fftw3f" = [ pkgs."fftwFloat" ];
30− "freetype2" = [ pkgs."freetype" ];
31− "gconf" = [ pkgs."GConf" ];
32− "gconf-2.0" = [ pkgs."GConf" ];
33− "gdk-2.0" = [ pkgs."gtk2" ];
34− "gdk-3.0" = [ pkgs."gtk3" ];
35− "gdk-pixbuf-2.0" = [ (pkgs."gdk-pixbuf" or pkgs."gdk_pixbuf") ];
36− "gdk-x11-2.0" = [ pkgs."gdk_x11" ];
37− "gdk-x11-3.0" = [ pkgs."gtk3" ];
38− "gio-2.0" = [ pkgs."glib" ];
39− "glib-2.0" = [ pkgs."glib" ];
40− "GL" = [ pkgs."libGL" ];
41− "GLU" = [ pkgs."libGLU" pkgs."libGL" ];
42− "glut" = [ pkgs."freeglut" pkgs."libGLU" pkgs."libGL" ];
43− "gnome-keyring" = [ pkgs."gnome-keyring" ];
44− "gnome-keyring-1" = [ pkgs."libgnome-keyring" ];
45− "gnome-vfs-2.0" = [ pkgs."gnome-vfs" ];
46− "gnome-vfs-module-2.0" = [ pkgs."gnome-vfs_module" ];
47− "gobject-2.0" = [ pkgs."glib" ];
48− "gmodule-2.0" = [ pkgs."glib" ];
49− "gobject-introspection-1.0" = [ pkgs."gobject-introspection" ];
50− "graphene-gobject-1.0" = [ pkgs."graphene" ];
51− "gstreamer-audio-0.10" = [ pkgs."gst-plugins-base" ];
52− "gstreamer-audio-1.0" = [ pkgs."gst-plugins-base" ];
53− "gstreamer-base-0.10" = [ pkgs."gst-plugins-base" ];
54− "gstreamer-base-1.0" = [ pkgs."gst-plugins-base" ];
55− "gstreamer-controller-0.10" = [ pkgs."gstreamer" ];
56− "gstreamer-dataprotocol-0.10" = [ pkgs."gstreamer" ];
57− "gstreamer-net-0.10" = [ pkgs."gst-plugins-base" ];
58− "gstreamer-plugins-base-0.10" = [ pkgs."gst-plugins-base" ];
59− "gstreamer-video-1.0" = [ pkgs."gst-plugins-base" ];
60− "gthread-2.0" = [ pkgs."glib" ];
61− "gtk+-2.0" = [ pkgs."gtk2" ];
62− "gtk+-3.0" = [ pkgs."gtk3" ];
63− "gtk-x11-2.0" = [ pkgs."gtk_x11" ];
64− "gtkglext-1.0" = [ pkgs.gnome2.gtkglext pkgs.gtk2 ];
65− "gtksourceview-3.0" = [ pkgs."gtksourceview3" ];
66− "harfbuzz-gobject" = [ pkgs."harfbuzz" ];
67− "hidapi-libusb" = [ pkgs."hidapi" ];
68− "icudata" = [ pkgs."icu" ];
69− "icui18n" = [ pkgs."icu" ];
70− "icu-i18n" = [ pkgs."icu" ];
71− "icuuc" = [ pkgs."icu" ];
72− "idn" = [ pkgs."libidn" ];
73− "IL" = [ pkgs."libdevil" ];
74− "ImageMagick" = [ pkgs."imagemagick" ];
75− "Imlib2" = [ pkgs."imlib2" ];
76− "iw" = [ pkgs."wirelesstools" ];
77− "jack" = [ pkgs."libjack2" ];
78− "javascriptcoregtk-3.0" = [ pkgs."webkitgtk24x-gtk3" ]; # These are the old APIs, of which 2.4 is the last provider, so map directly to that.
79− "javascriptcoregtk-4.0" = [ pkgs."webkitgtk" ];
80− "jpeg" = [ pkgs."libjpeg" ];
81− "jvm" = [ pkgs."jdk" ];
82− "lapack" = [ pkgs."liblapack" ];
83− "lber" = [ pkgs."openldap" ];
84− "ldap" = [ pkgs."openldap" ];
85− "libavutil" = [ pkgs."ffmpeg" ];
86− "libcrypto" = [ pkgs."openssl".dev ];
87− "libfreenect" = [ pkgs."freenect" ];
88− "libgsasl" = [ pkgs."gsasl" ];
89− "liboath" = [ pkgs."liboauth" ];
90− "libpcre" = [ pkgs."pcre" ];
91− "libqrencode" = [ pkgs."qrencode" ];
92− "libR" = [ pkgs."R" ];
93− "librsvg-2.0" = [ pkgs."librsvg" ];
94− "libsecp256k1" = [ pkgs."secp256k1" ];
95− "libsoup-2.4" = [ pkgs."libsoup" ];
96− "libsoup-gnome-2.4" = [ pkgs."libsoup" ];
97− "libssl" = [ pkgs."openssl".dev ];
98− "libsystemd" = [ pkgs."systemd" ];
99− "libudev" = [ pkgs."systemd" ];
100− "libusb-1.0" = [ pkgs."libusb1" ];
101− "libxml-2.0" = [ pkgs."libxml2" ];
102− "libzip" = [ pkgs."libzip" ];
103− "libzmq" = [ pkgs."zeromq" ];
104− "libzstd" = [ pkgs."zstd" ];
105− "m" = []; # in stdenv
106− "magic" = [ pkgs."file" ];
107− "MagickWand" = [ pkgs."imagemagick" ];
108− "mnl" = [ pkgs."libmnl" ];
109− "mpi" = [ pkgs."openmpi" ];
110− "ncursesw" = [ pkgs."ncurses" ];
111− "nix-expr" = [ pkgs."nix" ];
112− "nix-main" = [ pkgs."nix" ];
113− "nix-store" = [ pkgs."nix" ];
114− "netsnmp" = [ pkgs."net_snmp" ];
115− "notify" = [ pkgs."libnotify" ];
116− "odbc" = [ pkgs."unixODBC" ];
117− "openblas" = [ pkgs."openblasCompat" ];
118− "opencv" = [ pkgs."opencv3" ];
119− "panelw" = [ pkgs."ncurses" ];
120− "pangocairo" = [ pkgs."pango" ];
121− "pcap" = [ pkgs."libpcap" ];
122− "pfs-1.2" = [ pkgs."pfstools" ];
123− "png" = [ pkgs."libpng" ];
124− "poppler-glib" = [ pkgs."poppler" ];
125− "poppler-cpp" = [ pkgs."poppler" ];
126− "pq" = [ pkgs."postgresql" ];
127− "libpq" = [ pkgs."postgresql" ];
128− "pthread" = [];
129− "pulse" = [ pkgs."libpulseaudio" ];
130− "pulse-simple" = [ pkgs."libpulseaudio" ];
131− "python-3.3" = [ pkgs."python33" ];
132− "python-3.4" = [ pkgs."python34" ];
133− "Qt5Core" = [ pkgs."qt5" ];
134− "Qt5Gui" = [ pkgs."qt5" ];
135− "Qt5Qml" = [ pkgs."qt5" ];
136− "Qt5Quick" = [ pkgs."qt5" ];
137− "Qt5Widgets" = [ pkgs."qt5" ];
138− "quadprog" = [ pkgs."QuadProgpp" ];
139− "rt" = []; # in glibc
140− "rtlsdr" = [ pkgs."rtl-sdr" ];
141− "ruby1.8" = [ pkgs."ruby" ];
142− "sass" = [ pkgs."libsass" ];
143− "sctp" = [ pkgs."lksctp-tools" ]; # This is linux-specific, we should create a common attribute if we ever add sctp support for other systems.
144− "sdl2" = [ pkgs."SDL2" ];
145− "sndfile" = [ pkgs."libsndfile" ];
146− "sodium" = [ pkgs."libsodium" ];
147− "sqlite3" = [ pkgs."sqlite" ];
148− "ssh2" = [ pkgs."libssh2" ];
149− "statgrab" = [ pkgs."libstatgrab" ];
150− "stdc++" = []; # What is that?
151− "stdc++.dll" = []; # What is that?
152− "systemd-journal" = [ pkgs."systemd" ];
153− "tag_c" = [ pkgs."taglib" ];
154− "taglib_c" = [ pkgs."taglib" ];
155− "tensorflow" = [ pkgs."libtensorflow" ];
156− "udev" = [ pkgs."systemd" ];
157− "uuid" = [ pkgs."libossp_uuid" ];
158− "vte-2.91" = [ pkgs."vte_291" ];
159− "wayland-client" = [ pkgs."wayland" ];
160− "wayland-cursor" = [ pkgs."wayland" ];
161− "wayland-egl" = [ pkgs."libGL" ];
162− "wayland-server" = [ pkgs."wayland" ];
163− "webkit2gtk" = [ pkgs."webkitgtk" ];
164− "webkit2gtk-4.0" = [ pkgs."webkitgtk" ];
165− "webkit2gtk-web-extension-4.0" = [ pkgs."webkitgtk" ];
166− "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" ];
172− "xerces-c" = [ pkgs."xercesc" ];
173− "Xext" = [ pkgs.xorg."libXext" ];
174− "xft" = [ pkgs.xorg."libXft" ];
175− "Xi" = [ pkgs.xorg."libXi" ];
176− "Xinerama" = [ pkgs.xorg."libXinerama" ];
177− "xkbcommon" = [ pkgs."libxkbcommon" ];
178− "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" ];
185− "yaml" = [ pkgs."libyaml" ];
186− "yaml-0.1" = [ pkgs."libyaml" ];
187− "z" = [ pkgs."zlib" ];
188− "zmq" = [ pkgs."zeromq" ];
189−}
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.nixdeleted−107
@@ -1,107 +0,0 @@
1−# Generate cache entries for dependencies of package defined in `src`
2−
3−{ src
4−, stackYaml ? "stack.yaml"
5−, sha256map ? null
6− # An alternative to adding `# nix-sha256:` comments into the
7− # stack.yaml file:
8− # sha256map =
9− # { "https://github.com/jgm/pandoc-citeproc"."0.17"
10− # = "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
17− else _: null
18−, resolverSha256 ? null
19−, nix-tools
20−, evalPackages
21−, ...
22−}@args:
23−let
24− inherit (evalPackages) runCommand;
25− inherit (evalPackages.haskell-nix) haskellLib;
26−
27− # We only care about the stackYaml file. If src is a local directory
28− # we want to avoid recalculating the cache unless the stack.yaml file
29− # changes.
30−
31− inherit (haskellLib.fetchResolver {
32− inherit src stackYaml resolverSha256;
33− }) resolver fetchedResolver;
34−
35− # 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− };
52−
53− # All repos served via ssh or git protocols are usually private
54− private = url: evalPackages.lib.substring 0 4 url != "http";
55−
56− repos = builtins.fromJSON (builtins.readFile (evalPackages.runCommand "stack-repos" {
57− buildInputs = [ nix-tools ];
58− } ''
59− TMP=$(mktemp -d)
60− cd $TMP
61− cp -r "${maybeCleanedSource}/." $TMP
62− chmod -R +w $TMP
63− substituteInPlace ${stackYaml} --replace "# nix-sha256:" "nix-sha256:"
64− ${evalPackages.lib.optionalString (fetchedResolver != null) ''
65− substituteInPlace ${stackYaml} --replace "${resolver}" "${fetchedResolver}"
66− ''}
67− stack-repos --stack-yaml ${stackYaml}
68− cp repos.json $out
69− ''));
70−
71− cabalName = path: builtins.readFile (evalPackages.runCommand "cabal-name" {
72− buildInputs = [ nix-tools ];
73− } ''
74− cabal-name ${path} > $out
75− '');
76−
77− 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;
81−concatMap (dep:
82− let
83− 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− };
92− pkgsrc =
93− if !is-private && sha256 != null
94− then evalPackages.fetchgit {
95− inherit (dep) url rev;
96− inherit sha256;
97− }
98− else builtins.fetchGit ({
99− inherit (dep) url rev;
100− } // evalPackages.lib.optionalAttrs (branch != null) { ref = branch; });
101− in map (subdir: {
102− name = cabalName "${pkgsrc}/${subdir}";
103− inherit (dep) url rev;
104− inherit is-private;
105− sha256 = if !is-private then hashPath pkgsrc else null;
106− } // (optionalAttrs (subdir != "") { inherit subdir; }))
107− (dep.subdirs or [ "" ])) repos
lib/system-nixpkgs-map.nixdeleted−136
@@ -1,136 +0,0 @@
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
5−pkgs:
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
20−# -- 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−}
118−# -- windows
119−// { advapi32 = null; gdi32 = null; imm32 = null; msimg32 = null;
120− shell32 = null; shfolder = null; shlwapi = null; user32 = null;
121− ole32 = null; rpcrt4 = null;
122− winmm = null; userenv = null;
123− kernel32 = null; ws2_32 = null;
124− # this should be bundled with gcc.
125− # if it's not we have more severe
126− # issues anyway.
127− ssl32 = null; eay32 = [ openssl ];
128− iphlpapi = null; # IP Help API
129− msvcrt = null; # this is the libc
130− Crypt32 = null;
131− mswsock = null;
132− bcrypt = null;
133− }
134−# -- os x
135−# NB: these map almost 1:1 to the framework names
136−// 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.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/ghc844/alex/default.nixdeleted−65
@@ -1,65 +0,0 @@
1−{
2− pkgs = hackage:
3− {
4− packages = {
5− "ghc-prim".revision = (((hackage."ghc-prim")."0.5.2.0").revisions).default;
6− "array".revision = (((hackage."array")."0.5.2.0").revisions).default;
7− "integer-gmp".revision = (((hackage."integer-gmp")."1.0.2.0").revisions).default;
8− "base".revision = (((hackage."base")."4.11.1.0").revisions).default;
9− "rts".revision = (((hackage."rts")."1.0").revisions).default;
10− "time".revision = (((hackage."time")."1.8.0.2").revisions).default;
11− "unix".revision = (((hackage."unix")."2.7.2.2").revisions).default;
12− "bytestring".revision = (((hackage."bytestring")."0.10.8.2").revisions).default;
13− "containers".revision = (((hackage."containers")."0.5.11.0").revisions).default;
14− "directory".revision = (((hackage."directory")."1.3.1.5").revisions).default;
15− "filepath".revision = (((hackage."filepath")."1.4.2").revisions).default;
16− "deepseq".revision = (((hackage."deepseq")."1.4.3.0").revisions).default;
17− };
18− compiler = {
19− version = "8.4.4";
20− nix-name = "ghc844";
21− packages = {
22− "ghc-prim" = "0.5.2.0";
23− "array" = "0.5.2.0";
24− "integer-gmp" = "1.0.2.0";
25− "base" = "4.11.1.0";
26− "rts" = "1.0";
27− "time" = "1.8.0.2";
28− "unix" = "2.7.2.2";
29− "bytestring" = "0.10.8.2";
30− "containers" = "0.5.11.0";
31− "directory" = "1.3.1.5";
32− "filepath" = "1.4.2";
33− "deepseq" = "1.4.3.0";
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− "containers".components.library.planned = lib.mkOverride 900 true;
50− "ghc-prim".components.library.planned = lib.mkOverride 900 true;
51− "integer-gmp".components.library.planned = lib.mkOverride 900 true;
52− "array".components.library.planned = lib.mkOverride 900 true;
53− "bytestring".components.library.planned = lib.mkOverride 900 true;
54− "unix".components.library.planned = lib.mkOverride 900 true;
55− "alex".components.exes."alex".planned = lib.mkOverride 900 true;
56− "base".components.library.planned = lib.mkOverride 900 true;
57− "rts".components.library.planned = lib.mkOverride 900 true;
58− "time".components.library.planned = lib.mkOverride 900 true;
59− "deepseq".components.library.planned = lib.mkOverride 900 true;
60− "filepath".components.library.planned = lib.mkOverride 900 true;
61− "directory".components.library.planned = lib.mkOverride 900 true;
62− };
63− })
64− ];
65− }
materialized/bootstrap/ghc844/happy-1.19.11/.plan.nix/happy.nixdeleted−192
@@ -1,192 +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.11"; };
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 = "Custom";
24− isLocal = true;
25− 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")))
30− ];
31− detailLevel = "FullDetails";
32− licenseFiles = [ "LICENSE" ];
33− dataDir = ".";
34− dataFiles = [];
35− extraSrcFiles = [
36− "ANNOUNCE"
37− "CHANGES"
38− "Makefile"
39− "README.md"
40− "TODO"
41− "doc/Makefile"
42− "doc/aclocal.m4"
43− "doc/config.mk.in"
44− "doc/configure.ac"
45− "doc/docbook-xml.mk"
46− "doc/fptools.css"
47− "doc/happy.1.in"
48− "doc/happy.xml"
49− "examples/glr/nlp/Main.lhs"
50− "examples/glr/nlp/Makefile"
51− "examples/glr/nlp/README"
52− "examples/glr/nlp/English.y"
53− "examples/glr/nlp/Hugs.lhs"
54− "examples/glr/Makefile"
55− "examples/glr/Makefile.defs"
56− "examples/glr/expr-eval/Main.lhs"
57− "examples/glr/expr-eval/Makefile"
58− "examples/glr/expr-eval/Expr.y"
59− "examples/glr/expr-eval/README"
60− "examples/glr/expr-eval/Hugs.lhs"
61− "examples/glr/expr-tree/Main.lhs"
62− "examples/glr/expr-tree/Makefile"
63− "examples/glr/expr-tree/Expr.y"
64− "examples/glr/expr-tree/README"
65− "examples/glr/expr-tree/Tree.lhs"
66− "examples/glr/expr-tree/Hugs.lhs"
67− "examples/glr/highly-ambiguous/Main.lhs"
68− "examples/glr/highly-ambiguous/Makefile"
69− "examples/glr/highly-ambiguous/Expr.y"
70− "examples/glr/highly-ambiguous/README"
71− "examples/glr/highly-ambiguous/Hugs.lhs"
72− "examples/glr/hidden-leftrec/Main.lhs"
73− "examples/glr/hidden-leftrec/Makefile"
74− "examples/glr/hidden-leftrec/Expr.y"
75− "examples/glr/hidden-leftrec/README"
76− "examples/glr/hidden-leftrec/Hugs.lhs"
77− "examples/glr/expr-monad/Main.lhs"
78− "examples/glr/expr-monad/Makefile"
79− "examples/glr/expr-monad/Expr.y"
80− "examples/glr/expr-monad/README"
81− "examples/glr/expr-monad/Hugs.lhs"
82− "examples/glr/bio-eg/Main.lhs"
83− "examples/glr/bio-eg/Makefile"
84− "examples/glr/bio-eg/Bio.y"
85− "examples/glr/bio-eg/README"
86− "examples/glr/bio-eg/1-1200.dna"
87− "examples/glr/bio-eg/1-600.dna"
88− "examples/glr/common/DV_lhs"
89− "examples/glr/common/DaVinciTypes.hs"
90− "examples/glr/packing/Main.lhs"
91− "examples/glr/packing/Makefile"
92− "examples/glr/packing/Expr.y"
93− "examples/glr/packing/README"
94− "examples/glr/packing/Hugs.lhs"
95− "examples/PgnParser.ly"
96− "examples/MonadTest.ly"
97− "examples/igloo/ParserM.hs"
98− "examples/igloo/Makefile"
99− "examples/igloo/Parser.y"
100− "examples/igloo/Foo.hs"
101− "examples/igloo/README"
102− "examples/igloo/Lexer.x"
103− "examples/README"
104− "examples/Calc.ly"
105− "examples/DavesExample.ly"
106− "examples/ErrorTest.ly"
107− "examples/ErlParser.ly"
108− "examples/SimonsExample.ly"
109− "examples/LexerTest.ly"
110− "happy.spec"
111− "src/ARRAY-NOTES"
112− "templates/GLR_Base.hs"
113− "templates/GenericTemplate.hs"
114− "templates/GLR_Lib.hs"
115− "tests/AttrGrammar001.y"
116− "tests/AttrGrammar002.y"
117− "tests/Makefile"
118− "tests/Partial.ly"
119− "tests/Test.ly"
120− "tests/TestMulti.ly"
121− "tests/TestPrecedence.ly"
122− "tests/bogus-token.y"
123− "tests/bug001.ly"
124− "tests/bug002.y"
125− "tests/error001.stderr"
126− "tests/error001.stdout"
127− "tests/error001.y"
128− "tests/monad001.y"
129− "tests/monad002.ly"
130− "tests/monaderror.y"
131− "tests/precedence001.ly"
132− "tests/precedence002.y"
133− "tests/test_rules.y"
134− "tests/issue91.y"
135− "tests/issue93.y"
136− "tests/issue94.y"
137− "tests/issue95.y"
138− "tests/monaderror-explist.y"
139− "tests/typeclass_monad001.y"
140− "tests/typeclass_monad002.ly"
141− "tests/typeclass_monad_lexer.y"
142− "tests/rank2.y"
143− ];
144− extraTmpFiles = [];
145− extraDocFiles = [];
146− };
147− components = {
148− exes = {
149− "happy" = {
150− depends = [
151− (hsPkgs."base" or (errorHandler.buildDepError "base"))
152− (hsPkgs."array" or (errorHandler.buildDepError "array"))
153− (hsPkgs."containers" or (errorHandler.buildDepError "containers"))
154− (hsPkgs."mtl" or (errorHandler.buildDepError "mtl"))
155− ];
156− buildable = true;
157− modules = [
158− "Paths_happy"
159− "AbsSyn"
160− "First"
161− "GenUtils"
162− "Grammar"
163− "Info"
164− "LALR"
165− "Lexer"
166− "ParseMonad"
167− "Parser"
168− "ProduceCode"
169− "ProduceGLRCode"
170− "NameSet"
171− "Target"
172− "AttrGrammar"
173− "AttrGrammarParser"
174− "ParamRules"
175− "PrettyGrammar"
176− ];
177− hsSourceDirs = [ "src" ];
178− mainPath = [ "Main.lhs" ];
179− };
180− };
181− tests = {
182− "tests" = {
183− depends = [
184− (hsPkgs."base" or (errorHandler.buildDepError "base"))
185− (hsPkgs."process" or (errorHandler.buildDepError "process"))
186− ];
187− buildable = true;
188− mainPath = [ "test.hs" ];
189− };
190− };
191− };
192− } // rec { src = (pkgs.lib).mkDefault ../.; }
materialized/bootstrap/ghc844/happy-1.19.11/default.nixdeleted−90
@@ -1,90 +0,0 @@
1−{
2− pkgs = hackage:
3− {
4− packages = {
5− "binary".revision = (((hackage."binary")."0.8.5.1").revisions).default;
6− "ghc-prim".revision = (((hackage."ghc-prim")."0.5.2.0").revisions).default;
7− "array".revision = (((hackage."array")."0.5.2.0").revisions).default;
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;
12− "rts".revision = (((hackage."rts")."1.0").revisions).default;
13− "text".revision = (((hackage."text")."1.2.3.1").revisions).default;
14− "mtl".revision = (((hackage."mtl")."2.2.2").revisions).default;
15− "time".revision = (((hackage."time")."1.8.0.2").revisions).default;
16− "unix".revision = (((hackage."unix")."2.7.2.2").revisions).default;
17− "bytestring".revision = (((hackage."bytestring")."0.10.8.2").revisions).default;
18− "containers".revision = (((hackage."containers")."0.5.11.0").revisions).default;
19− "directory".revision = (((hackage."directory")."1.3.1.5").revisions).default;
20− "parsec".revision = (((hackage."parsec")."3.1.13.0").revisions).default;
21− "filepath".revision = (((hackage."filepath")."1.4.2").revisions).default;
22− "deepseq".revision = (((hackage."deepseq")."1.4.3.0").revisions).default;
23− "transformers".revision = (((hackage."transformers")."0.5.5.0").revisions).default;
24− "Cabal".revision = (((hackage."Cabal")."2.2.0.1").revisions).default;
25− };
26− compiler = {
27− version = "8.4.4";
28− nix-name = "ghc844";
29− packages = {
30− "binary" = "0.8.5.1";
31− "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";
37− "rts" = "1.0";
38− "text" = "1.2.3.1";
39− "mtl" = "2.2.2";
40− "time" = "1.8.0.2";
41− "unix" = "2.7.2.2";
42− "bytestring" = "0.10.8.2";
43− "containers" = "0.5.11.0";
44− "directory" = "1.3.1.5";
45− "parsec" = "3.1.13.0";
46− "filepath" = "1.4.2";
47− "deepseq" = "1.4.3.0";
48− "transformers" = "0.5.5.0";
49− "Cabal" = "2.2.0.1";
50− };
51− };
52− };
53− extras = hackage:
54− { packages = { happy = ./.plan.nix/happy.nix; }; };
55− modules = [
56− ({ lib, ... }:
57− {
58− packages = {
59− "happy" = { flags = { "small_base" = lib.mkOverride 900 true; }; };
60− };
61− })
62− ({ lib, ... }:
63− {
64− packages = {
65− "containers".components.library.planned = lib.mkOverride 900 true;
66− "binary".components.library.planned = lib.mkOverride 900 true;
67− "ghc-prim".components.library.planned = lib.mkOverride 900 true;
68− "happy".components.exes."happy".planned = lib.mkOverride 900 true;
69− "Cabal".components.library.planned = lib.mkOverride 900 true;
70− "transformers".components.library.planned = lib.mkOverride 900 true;
71− "process".components.library.planned = lib.mkOverride 900 true;
72− "pretty".components.library.planned = lib.mkOverride 900 true;
73− "integer-gmp".components.library.planned = lib.mkOverride 900 true;
74− "array".components.library.planned = lib.mkOverride 900 true;
75− "bytestring".components.library.planned = lib.mkOverride 900 true;
76− "unix".components.library.planned = lib.mkOverride 900 true;
77− "text".components.library.planned = lib.mkOverride 900 true;
78− "base".components.library.planned = lib.mkOverride 900 true;
79− "rts".components.library.planned = lib.mkOverride 900 true;
80− "mtl".components.library.planned = lib.mkOverride 900 true;
81− "time".components.library.planned = lib.mkOverride 900 true;
82− "happy".components.setup.planned = lib.mkOverride 900 true;
83− "deepseq".components.library.planned = lib.mkOverride 900 true;
84− "filepath".components.library.planned = lib.mkOverride 900 true;
85− "parsec".components.library.planned = lib.mkOverride 900 true;
86− "directory".components.library.planned = lib.mkOverride 900 true;
87− };
88− })
89− ];
90− }
materialized/bootstrap/ghc844/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/ghc844/happy-1.19.12/default.nixdeleted−56
@@ -1,56 +0,0 @@
1−{
2− pkgs = hackage:
3− {
4− packages = {
5− "ghc-prim".revision = (((hackage."ghc-prim")."0.5.2.0").revisions).default;
6− "array".revision = (((hackage."array")."0.5.2.0").revisions).default;
7− "integer-gmp".revision = (((hackage."integer-gmp")."1.0.2.0").revisions).default;
8− "base".revision = (((hackage."base")."4.11.1.0").revisions).default;
9− "rts".revision = (((hackage."rts")."1.0").revisions).default;
10− "mtl".revision = (((hackage."mtl")."2.2.2").revisions).default;
11− "containers".revision = (((hackage."containers")."0.5.11.0").revisions).default;
12− "deepseq".revision = (((hackage."deepseq")."1.4.3.0").revisions).default;
13− "transformers".revision = (((hackage."transformers")."0.5.5.0").revisions).default;
14− };
15− compiler = {
16− version = "8.4.4";
17− nix-name = "ghc844";
18− packages = {
19− "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";
24− "mtl" = "2.2.2";
25− "containers" = "0.5.11.0";
26− "deepseq" = "1.4.3.0";
27− "transformers" = "0.5.5.0";
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− "containers".components.library.planned = lib.mkOverride 900 true;
44− "ghc-prim".components.library.planned = lib.mkOverride 900 true;
45− "happy".components.exes."happy".planned = lib.mkOverride 900 true;
46− "transformers".components.library.planned = lib.mkOverride 900 true;
47− "integer-gmp".components.library.planned = lib.mkOverride 900 true;
48− "array".components.library.planned = lib.mkOverride 900 true;
49− "base".components.library.planned = lib.mkOverride 900 true;
50− "rts".components.library.planned = lib.mkOverride 900 true;
51− "mtl".components.library.planned = lib.mkOverride 900 true;
52− "deepseq".components.library.planned = lib.mkOverride 900 true;
53− };
54− })
55− ];
56− }
materialized/bootstrap/ghc844/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/ghc844/hscolour/default.nixdeleted−47
@@ -1,47 +0,0 @@
1−{
2− pkgs = hackage:
3− {
4− packages = {
5− "ghc-prim".revision = (((hackage."ghc-prim")."0.5.2.0").revisions).default;
6− "array".revision = (((hackage."array")."0.5.2.0").revisions).default;
7− "integer-gmp".revision = (((hackage."integer-gmp")."1.0.2.0").revisions).default;
8− "base".revision = (((hackage."base")."4.11.1.0").revisions).default;
9− "rts".revision = (((hackage."rts")."1.0").revisions).default;
10− "containers".revision = (((hackage."containers")."0.5.11.0").revisions).default;
11− "deepseq".revision = (((hackage."deepseq")."1.4.3.0").revisions).default;
12− };
13− compiler = {
14− version = "8.4.4";
15− nix-name = "ghc844";
16− packages = {
17− "ghc-prim" = "0.5.2.0";
18− "array" = "0.5.2.0";
19− "integer-gmp" = "1.0.2.0";
20− "base" = "4.11.1.0";
21− "rts" = "1.0";
22− "containers" = "0.5.11.0";
23− "deepseq" = "1.4.3.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/ghc882/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/ghc882/alex/default.nixdeleted−69
@@ -1,69 +0,0 @@
1−{
2− pkgs = hackage:
3− {
4− packages = {
5− "ghc-prim".revision = (((hackage."ghc-prim")."0.5.3").revisions).default;
6− "array".revision = (((hackage."array")."0.5.4.0").revisions).default;
7− "integer-gmp".revision = (((hackage."integer-gmp")."1.0.2.0").revisions).default;
8− "process".revision = (((hackage."process")."1.6.7.0").revisions).default;
9− "base".revision = (((hackage."base")."4.13.0.0").revisions).default;
10− "rts".revision = (((hackage."rts")."1.0").revisions).default;
11− "time".revision = (((hackage."time")."1.9.3").revisions).default;
12− "unix".revision = (((hackage."unix")."2.7.2.2").revisions).default;
13− "bytestring".revision = (((hackage."bytestring")."0.10.10.0").revisions).default;
14− "containers".revision = (((hackage."containers")."0.6.2.1").revisions).default;
15− "directory".revision = (((hackage."directory")."1.3.4.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.8.2";
21− nix-name = "ghc882";
22− packages = {
23− "ghc-prim" = "0.5.3";
24− "array" = "0.5.4.0";
25− "integer-gmp" = "1.0.2.0";
26− "process" = "1.6.7.0";
27− "base" = "4.13.0.0";
28− "rts" = "1.0";
29− "time" = "1.9.3";
30− "unix" = "2.7.2.2";
31− "bytestring" = "0.10.10.0";
32− "containers" = "0.6.2.1";
33− "directory" = "1.3.4.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/ghc882/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/ghc882/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.5.3").revisions).default;
6− "array".revision = (((hackage."array")."0.5.4.0").revisions).default;
7− "integer-gmp".revision = (((hackage."integer-gmp")."1.0.2.0").revisions).default;
8− "process".revision = (((hackage."process")."1.6.7.0").revisions).default;
9− "base".revision = (((hackage."base")."4.13.0.0").revisions).default;
10− "rts".revision = (((hackage."rts")."1.0").revisions).default;
11− "mtl".revision = (((hackage."mtl")."2.2.2").revisions).default;
12− "time".revision = (((hackage."time")."1.9.3").revisions).default;
13− "unix".revision = (((hackage."unix")."2.7.2.2").revisions).default;
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;
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.8.2";
23− nix-name = "ghc882";
24− packages = {
25− "ghc-prim" = "0.5.3";
26− "array" = "0.5.4.0";
27− "integer-gmp" = "1.0.2.0";
28− "process" = "1.6.7.0";
29− "base" = "4.13.0.0";
30− "rts" = "1.0";
31− "mtl" = "2.2.2";
32− "time" = "1.9.3";
33− "unix" = "2.7.2.2";
34− "bytestring" = "0.10.10.0";
35− "containers" = "0.6.2.1";
36− "directory" = "1.3.4.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/ghc882/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/ghc882/hscolour/default.nixdeleted−47
@@ -1,47 +0,0 @@
1−{
2− pkgs = hackage:
3− {
4− packages = {
5− "ghc-prim".revision = (((hackage."ghc-prim")."0.5.3").revisions).default;
6− "array".revision = (((hackage."array")."0.5.4.0").revisions).default;
7− "integer-gmp".revision = (((hackage."integer-gmp")."1.0.2.0").revisions).default;
8− "base".revision = (((hackage."base")."4.13.0.0").revisions).default;
9− "rts".revision = (((hackage."rts")."1.0").revisions).default;
10− "containers".revision = (((hackage."containers")."0.6.2.1").revisions).default;
11− "deepseq".revision = (((hackage."deepseq")."1.4.4.0").revisions).default;
12− };
13− compiler = {
14− version = "8.8.2";
15− nix-name = "ghc882";
16− packages = {
17− "ghc-prim" = "0.5.3";
18− "array" = "0.5.4.0";
19− "integer-gmp" = "1.0.2.0";
20− "base" = "4.13.0.0";
21− "rts" = "1.0";
22− "containers" = "0.6.2.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/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.1-x86_64-linux/ghc-pkg/dump-globaldeleted−1429
@@ -1,1429 +0,0 @@
1−name: Cabal
2−version: 3.2.0.0
3−visibility: public
4−id: Cabal-3.2.0.0
5−key: Cabal-3.2.0.0
6−license: BSD-3-Clause
7−copyright: 2003-2019, 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.ResponseFile Distribution.Compat.Semigroup
37− Distribution.Compat.Stack Distribution.Compat.Time
38− Distribution.Compat.Typeable Distribution.Compiler
39− Distribution.FieldGrammar Distribution.FieldGrammar.Class
40− Distribution.FieldGrammar.FieldDescrs
41− Distribution.FieldGrammar.Parsec Distribution.FieldGrammar.Pretty
42− Distribution.Fields Distribution.Fields.ConfVar
43− Distribution.Fields.Field Distribution.Fields.Lexer
44− Distribution.Fields.LexerMonad Distribution.Fields.ParseResult
45− Distribution.Fields.Parser Distribution.Fields.Pretty
46− Distribution.InstalledPackageInfo Distribution.License
47− Distribution.Make Distribution.ModuleName Distribution.Package
48− Distribution.PackageDescription
49− Distribution.PackageDescription.Check
50− Distribution.PackageDescription.Configuration
51− Distribution.PackageDescription.FieldGrammar
52− Distribution.PackageDescription.Parsec
53− Distribution.PackageDescription.PrettyPrint
54− Distribution.PackageDescription.Quirks
55− Distribution.PackageDescription.Utils Distribution.Parsec
56− Distribution.Parsec.Error Distribution.Parsec.FieldLineStream
57− Distribution.Parsec.Newtypes Distribution.Parsec.Position
58− Distribution.Parsec.Warning Distribution.Pretty Distribution.ReadE
59− Distribution.SPDX Distribution.SPDX.License
60− Distribution.SPDX.LicenseExceptionId
61− Distribution.SPDX.LicenseExpression Distribution.SPDX.LicenseId
62− Distribution.SPDX.LicenseListVersion
63− Distribution.SPDX.LicenseReference Distribution.Simple
64− Distribution.Simple.Bench Distribution.Simple.Build
65− Distribution.Simple.Build.Macros
66− Distribution.Simple.Build.PathsModule
67− Distribution.Simple.BuildPaths Distribution.Simple.BuildTarget
68− Distribution.Simple.BuildToolDepends Distribution.Simple.CCompiler
69− Distribution.Simple.Command Distribution.Simple.Compiler
70− Distribution.Simple.Configure Distribution.Simple.Doctest
71− Distribution.Simple.Flag Distribution.Simple.GHC
72− Distribution.Simple.GHCJS Distribution.Simple.Glob
73− Distribution.Simple.Haddock Distribution.Simple.HaskellSuite
74− Distribution.Simple.Hpc Distribution.Simple.Install
75− Distribution.Simple.InstallDirs
76− Distribution.Simple.InstallDirs.Internal
77− Distribution.Simple.LocalBuildInfo Distribution.Simple.PackageIndex
78− Distribution.Simple.PreProcess Distribution.Simple.PreProcess.Unlit
79− Distribution.Simple.Program Distribution.Simple.Program.Ar
80− Distribution.Simple.Program.Builtin Distribution.Simple.Program.Db
81− Distribution.Simple.Program.Find Distribution.Simple.Program.GHC
82− Distribution.Simple.Program.HcPkg Distribution.Simple.Program.Hpc
83− Distribution.Simple.Program.Internal Distribution.Simple.Program.Ld
84− Distribution.Simple.Program.ResponseFile
85− Distribution.Simple.Program.Run Distribution.Simple.Program.Script
86− Distribution.Simple.Program.Strip Distribution.Simple.Program.Types
87− Distribution.Simple.Register Distribution.Simple.Setup
88− Distribution.Simple.ShowBuildInfo Distribution.Simple.SrcDist
89− Distribution.Simple.Test Distribution.Simple.Test.ExeV10
90− Distribution.Simple.Test.LibV09 Distribution.Simple.Test.Log
91− Distribution.Simple.UHC Distribution.Simple.UserHooks
92− Distribution.Simple.Utils Distribution.System
93− Distribution.TestSuite Distribution.Text
94− Distribution.Types.AbiDependency Distribution.Types.AbiHash
95− Distribution.Types.AnnotatedId Distribution.Types.Benchmark
96− Distribution.Types.Benchmark.Lens
97− Distribution.Types.BenchmarkInterface
98− Distribution.Types.BenchmarkType Distribution.Types.BuildInfo
99− Distribution.Types.BuildInfo.Lens Distribution.Types.BuildType
100− Distribution.Types.Component Distribution.Types.ComponentId
101− Distribution.Types.ComponentInclude
102− Distribution.Types.ComponentLocalBuildInfo
103− Distribution.Types.ComponentName
104− Distribution.Types.ComponentRequestedSpec
105− Distribution.Types.CondTree Distribution.Types.Condition
106− Distribution.Types.ConfVar Distribution.Types.Dependency
107− Distribution.Types.DependencyMap Distribution.Types.ExeDependency
108− Distribution.Types.Executable Distribution.Types.Executable.Lens
109− Distribution.Types.ExecutableScope Distribution.Types.ExposedModule
110− Distribution.Types.Flag Distribution.Types.ForeignLib
111− Distribution.Types.ForeignLib.Lens
112− Distribution.Types.ForeignLibOption
113− Distribution.Types.ForeignLibType
114− Distribution.Types.GenericPackageDescription
115− Distribution.Types.GenericPackageDescription.Lens
116− Distribution.Types.GivenComponent
117− Distribution.Types.HookedBuildInfo
118− Distribution.Types.IncludeRenaming
119− Distribution.Types.InstalledPackageInfo
120− Distribution.Types.InstalledPackageInfo.FieldGrammar
121− Distribution.Types.InstalledPackageInfo.Lens
122− Distribution.Types.LegacyExeDependency Distribution.Types.Lens
123− Distribution.Types.Library Distribution.Types.Library.Lens
124− Distribution.Types.LibraryName Distribution.Types.LibraryVisibility
125− Distribution.Types.LocalBuildInfo Distribution.Types.Mixin
126− Distribution.Types.Module Distribution.Types.ModuleReexport
127− Distribution.Types.ModuleRenaming
128− Distribution.Types.MungedPackageId
129− Distribution.Types.MungedPackageName
130− Distribution.Types.PackageDescription
131− Distribution.Types.PackageDescription.Lens
132− Distribution.Types.PackageId Distribution.Types.PackageId.Lens
133− Distribution.Types.PackageName Distribution.Types.PackageName.Magic
134− Distribution.Types.PackageVersionConstraint
135− Distribution.Types.PkgconfigDependency
136− Distribution.Types.PkgconfigName
137− Distribution.Types.PkgconfigVersion
138− Distribution.Types.PkgconfigVersionRange
139− Distribution.Types.SetupBuildInfo
140− Distribution.Types.SetupBuildInfo.Lens
141− Distribution.Types.SourceRepo Distribution.Types.SourceRepo.Lens
142− Distribution.Types.TargetInfo Distribution.Types.TestSuite
143− Distribution.Types.TestSuite.Lens
144− Distribution.Types.TestSuiteInterface Distribution.Types.TestType
145− Distribution.Types.UnitId Distribution.Types.UnqualComponentName
146− Distribution.Types.Version Distribution.Types.VersionInterval
147− Distribution.Types.VersionRange
148− Distribution.Types.VersionRange.Internal Distribution.Utils.Generic
149− Distribution.Utils.IOData Distribution.Utils.LogProgress
150− Distribution.Utils.MD5 Distribution.Utils.MapAccum
151− Distribution.Utils.NubList Distribution.Utils.Progress
152− Distribution.Utils.ShortText Distribution.Utils.Structured
153− Distribution.Verbosity Distribution.Verbosity.Internal
154− Distribution.Version Language.Haskell.Extension
155−hidden-modules:
156− Distribution.Backpack.PreExistingComponent
157− Distribution.Backpack.ReadyComponent Distribution.Backpack.MixLink
158− Distribution.Backpack.ModuleScope Distribution.Backpack.UnifyM
159− Distribution.Backpack.Id Distribution.Utils.UnionFind
160− Distribution.Utils.Base62 Distribution.Compat.Async
161− Distribution.Compat.CopyFile Distribution.Compat.GetShortPathName
162− Distribution.Compat.MonadFail Distribution.Compat.Prelude
163− Distribution.Compat.SnocList Distribution.GetOpt Distribution.Lex
164− Distribution.Utils.String Distribution.Simple.GHC.EnvironmentParser
165− Distribution.Simple.GHC.Internal Distribution.Simple.GHC.ImplInfo
166− Distribution.Simple.Utils.Json Paths_Cabal
167−import-dirs:
168−library-dirs:
169−dynamic-library-dirs:
170−data-dir:
171−hs-libraries: HSCabal-3.2.0.0
172−depends:
173− array-0.5.4.0 base-4.14.0.0 binary-0.8.8.0 bytestring-0.10.10.0
174− containers-0.6.2.1 deepseq-1.4.4.0 directory-1.3.6.0
175− filepath-1.4.2.1 mtl-2.2.2 parsec-3.1.14.0 pretty-1.1.3.6
176− process-1.6.8.2 text-1.2.3.2 time-1.9.3 transformers-0.5.6.2
177− unix-2.7.2.2
178−haddock-interfaces:
179−haddock-html:
180−---
181−name: array
182−version: 0.5.4.0
183−visibility: public
184−id: array-0.5.4.0
185−key: array-0.5.4.0
186−license: BSD-3-Clause
187−maintainer: libraries@haskell.org
188−synopsis: Mutable and immutable arrays
189−description:
190− In addition to providing the "Data.Array" module
191− <http://www.haskell.org/onlinereport/haskell2010/haskellch14.html as specified in the Haskell 2010 Language Report>,
192− this package also defines the classes 'IArray' of
193− immutable arrays and 'MArray' of arrays mutable within appropriate
194− monads, as well as some instances of these classes.
195−category: Data Structures
196−exposed: True
197−exposed-modules:
198− Data.Array Data.Array.Base Data.Array.IArray Data.Array.IO
199− Data.Array.IO.Internals Data.Array.IO.Safe Data.Array.MArray
200− Data.Array.MArray.Safe Data.Array.ST Data.Array.ST.Safe
201− Data.Array.Storable Data.Array.Storable.Internals
202− Data.Array.Storable.Safe Data.Array.Unboxed Data.Array.Unsafe
203−import-dirs:
204−library-dirs:
205−dynamic-library-dirs:
206−data-dir:
207−hs-libraries: HSarray-0.5.4.0
208−depends: base-4.14.0.0
209−haddock-interfaces:
210−haddock-html:
211−---
212−name: base
213−version: 4.14.0.0
214−visibility: public
215−id: base-4.14.0.0
216−key: base-4.14.0.0
217−license: BSD-3-Clause
218−maintainer: libraries@haskell.org
219−synopsis: Basic libraries
220−description:
221− This package contains the Standard Haskell "Prelude" and its support libraries,
222− and a large collection of useful libraries ranging from data
223− structures to parsing combinators and debugging utilities.
224−category: Prelude
225−exposed: True
226−exposed-modules:
227− Control.Applicative Control.Arrow Control.Category
228− Control.Concurrent Control.Concurrent.Chan Control.Concurrent.MVar
229− Control.Concurrent.QSem Control.Concurrent.QSemN Control.Exception
230− Control.Exception.Base Control.Monad Control.Monad.Fail
231− Control.Monad.Fix Control.Monad.IO.Class Control.Monad.Instances
232− Control.Monad.ST Control.Monad.ST.Lazy Control.Monad.ST.Lazy.Safe
233− Control.Monad.ST.Lazy.Unsafe Control.Monad.ST.Safe
234− Control.Monad.ST.Strict Control.Monad.ST.Unsafe Control.Monad.Zip
235− Data.Bifoldable Data.Bifunctor Data.Bitraversable Data.Bits
236− Data.Bool Data.Char Data.Coerce Data.Complex Data.Data Data.Dynamic
237− Data.Either Data.Eq Data.Fixed Data.Foldable Data.Function
238− Data.Functor Data.Functor.Classes Data.Functor.Compose
239− Data.Functor.Const Data.Functor.Contravariant Data.Functor.Identity
240− Data.Functor.Product Data.Functor.Sum Data.IORef Data.Int Data.Ix
241− Data.Kind Data.List Data.List.NonEmpty Data.Maybe Data.Monoid
242− Data.Ord Data.Proxy Data.Ratio Data.STRef Data.STRef.Lazy
243− Data.STRef.Strict Data.Semigroup Data.String Data.Traversable
244− Data.Tuple Data.Type.Bool Data.Type.Coercion Data.Type.Equality
245− Data.Typeable Data.Unique Data.Version Data.Void Data.Word
246− Debug.Trace Foreign Foreign.C Foreign.C.Error Foreign.C.String
247− Foreign.C.Types Foreign.Concurrent Foreign.ForeignPtr
248− Foreign.ForeignPtr.Safe Foreign.ForeignPtr.Unsafe Foreign.Marshal
249− Foreign.Marshal.Alloc Foreign.Marshal.Array Foreign.Marshal.Error
250− Foreign.Marshal.Pool Foreign.Marshal.Safe Foreign.Marshal.Unsafe
251− Foreign.Marshal.Utils Foreign.Ptr Foreign.Safe Foreign.StablePtr
252− Foreign.Storable GHC.Arr GHC.Base GHC.ByteOrder GHC.Char GHC.Clock
253− GHC.Conc GHC.Conc.IO GHC.Conc.Signal GHC.Conc.Sync
254− GHC.ConsoleHandler GHC.Constants GHC.Desugar GHC.Enum
255− GHC.Environment GHC.Err GHC.Event GHC.Exception GHC.Exception.Type
256− GHC.ExecutionStack GHC.ExecutionStack.Internal GHC.Exts
257− GHC.Fingerprint GHC.Fingerprint.Type GHC.Float
258− GHC.Float.ConversionUtils GHC.Float.RealFracMethods GHC.Foreign
259− GHC.ForeignPtr GHC.GHCi GHC.GHCi.Helpers GHC.Generics GHC.IO
260− GHC.IO.Buffer GHC.IO.BufferedIO GHC.IO.Device GHC.IO.Encoding
261− GHC.IO.Encoding.CodePage GHC.IO.Encoding.Failure
262− GHC.IO.Encoding.Iconv GHC.IO.Encoding.Latin1 GHC.IO.Encoding.Types
263− GHC.IO.Encoding.UTF16 GHC.IO.Encoding.UTF32 GHC.IO.Encoding.UTF8
264− GHC.IO.Exception GHC.IO.FD GHC.IO.Handle GHC.IO.Handle.FD
265− GHC.IO.Handle.Internals GHC.IO.Handle.Lock GHC.IO.Handle.Text
266− GHC.IO.Handle.Types GHC.IO.IOMode GHC.IO.Unsafe GHC.IOArray
267− GHC.IORef GHC.Int GHC.Ix GHC.List GHC.MVar GHC.Maybe GHC.Natural
268− GHC.Num GHC.OldList GHC.OverloadedLabels GHC.Pack GHC.Profiling
269− GHC.Ptr GHC.RTS.Flags GHC.Read GHC.Real GHC.Records
270− GHC.ResponseFile GHC.ST GHC.STRef GHC.Show GHC.Stable
271− GHC.StableName GHC.Stack GHC.Stack.CCS GHC.Stack.Types
272− GHC.StaticPtr GHC.Stats GHC.Storable GHC.TopHandler GHC.TypeLits
273− GHC.TypeNats GHC.Unicode GHC.Weak GHC.Word Numeric Numeric.Natural
274− Prelude System.CPUTime System.Console.GetOpt System.Environment
275− System.Environment.Blank System.Exit System.IO System.IO.Error
276− System.IO.Unsafe System.Info System.Mem System.Mem.StableName
277− System.Mem.Weak System.Posix.Internals System.Posix.Types
278− System.Timeout Text.ParserCombinators.ReadP
279− Text.ParserCombinators.ReadPrec Text.Printf Text.Read Text.Read.Lex
280− Text.Show Text.Show.Functions Type.Reflection
281− Type.Reflection.Unsafe Unsafe.Coerce
282−hidden-modules:
283− Control.Monad.ST.Imp Control.Monad.ST.Lazy.Imp Data.Functor.Utils
284− Data.OldList Data.Semigroup.Internal Data.Typeable.Internal
285− Foreign.ForeignPtr.Imp GHC.IO.Handle.Lock.Common
286− GHC.IO.Handle.Lock.Flock GHC.IO.Handle.Lock.LinuxOFD
287− GHC.IO.Handle.Lock.NoOp GHC.IO.Handle.Lock.Windows
288− GHC.StaticPtr.Internal System.Environment.ExecutablePath
289− System.CPUTime.Utils GHC.Event.Arr GHC.Event.Array
290− GHC.Event.Control GHC.Event.EPoll GHC.Event.IntTable
291− GHC.Event.Internal GHC.Event.KQueue GHC.Event.Manager GHC.Event.PSQ
292− GHC.Event.Poll GHC.Event.Thread GHC.Event.TimerManager
293− GHC.Event.Unique System.CPUTime.Posix.ClockGetTime
294− System.CPUTime.Posix.Times System.CPUTime.Posix.RUsage
295− System.CPUTime.Unsupported
296−import-dirs:
297−library-dirs:
298−dynamic-library-dirs:
299−data-dir:
300−hs-libraries: HSbase-4.14.0.0
301−include-dirs:
302−includes: HsBase.h
303−depends: ghc-prim-0.6.1 integer-gmp-1.0.3.0 rts
304−haddock-interfaces:
305−haddock-html:
306−---
307−name: binary
308−version: 0.8.8.0
309−visibility: public
310−id: binary-0.8.8.0
311−key: binary-0.8.8.0
312−license: BSD-3-Clause
313−maintainer: Lennart Kolmodin, Don Stewart <dons00@gmail.com>
314−author: Lennart Kolmodin <kolmodin@gmail.com>
315−stability: provisional
316−homepage: https://github.com/kolmodin/binary
317−synopsis:
318− Binary serialisation for Haskell values using lazy ByteStrings
319−description:
320− Efficient, pure binary serialisation using lazy ByteStrings.
321− Haskell values may be encoded to and from binary formats,
322− written to disk as binary, or sent over the network.
323− The format used can be automatically generated, or
324− you can choose to implement a custom format if needed.
325− Serialisation speeds of over 1 G\/sec have been observed,
326− so this library should be suitable for high performance
327− scenarios.
328−category: Data, Parsing
329−exposed: True
330−exposed-modules:
331− Data.Binary Data.Binary.Builder Data.Binary.Get
332− Data.Binary.Get.Internal Data.Binary.Put
333−hidden-modules:
334− Data.Binary.Class Data.Binary.Internal Data.Binary.Generic
335− Data.Binary.FloatCast
336−import-dirs:
337−library-dirs:
338−dynamic-library-dirs:
339−data-dir:
340−hs-libraries: HSbinary-0.8.8.0
341−depends:
342− array-0.5.4.0 base-4.14.0.0 bytestring-0.10.10.0 containers-0.6.2.1
343−haddock-interfaces:
344−haddock-html:
345−---
346−name: bytestring
347−version: 0.10.10.0
348−visibility: public
349−id: bytestring-0.10.10.0
350−key: bytestring-0.10.10.0
351−license: BSD-3-Clause
352−copyright:
353− Copyright (c) Don Stewart 2005-2009,
354− (c) Duncan Coutts 2006-2015,
355− (c) David Roundy 2003-2005,
356− (c) Jasper Van der Jeugt 2010,
357− (c) Simon Meier 2010-2013.
358−maintainer: Duncan Coutts <duncan@community.haskell.org>
359−author:
360− Don Stewart,
361− Duncan Coutts
362−homepage: https://github.com/haskell/bytestring
363−synopsis:
364− Fast, compact, strict and lazy byte strings with a list interface
365−description:
366− An efficient compact, immutable byte string type (both strict and lazy)
367− suitable for binary or 8-bit character data.
368− The 'ByteString' type represents sequences of bytes or 8-bit characters.
369− It is suitable for high performance use, both in terms of large data
370− quantities, or high speed requirements. The 'ByteString' functions follow
371− the same style as Haskell\'s ordinary lists, so it is easy to convert code
372− from using 'String' to 'ByteString'.
373− Two 'ByteString' variants are provided:
374− * Strict 'ByteString's keep the string as a single large array. This
375− makes them convenient for passing data between C and Haskell.
376− * Lazy 'ByteString's use a lazy list of strict chunks which makes it
377− suitable for I\/O streaming tasks.
378− The @Char8@ modules provide a character-based view of the same
379− underlying 'ByteString' types. This makes it convenient to handle mixed
380− binary and 8-bit character content (which is common in many file formats
381− and network protocols).
382− The 'Builder' module provides an efficient way to build up 'ByteString's
383− in an ad-hoc way by repeated concatenation. This is ideal for fast
384− serialisation or pretty printing.
385− There is also a 'ShortByteString' type which has a lower memory overhead
386− and can can be converted to or from a 'ByteString', but supports very few
387− other operations. It is suitable for keeping many short strings in memory.
388− 'ByteString's are not designed for Unicode. For Unicode strings you should
389− use the 'Text' type from the @text@ package.
390− These modules are intended to be imported qualified, to avoid name clashes
391− with "Prelude" functions, e.g.
392− > import qualified Data.ByteString as BS
393−category: Data
394−exposed: True
395−exposed-modules:
396− Data.ByteString Data.ByteString.Builder
397− Data.ByteString.Builder.Extra Data.ByteString.Builder.Internal
398− Data.ByteString.Builder.Prim Data.ByteString.Builder.Prim.Internal
399− Data.ByteString.Char8 Data.ByteString.Internal Data.ByteString.Lazy
400− Data.ByteString.Lazy.Builder Data.ByteString.Lazy.Builder.ASCII
401− Data.ByteString.Lazy.Builder.Extras Data.ByteString.Lazy.Char8
402− Data.ByteString.Lazy.Internal Data.ByteString.Short
403− Data.ByteString.Short.Internal Data.ByteString.Unsafe
404−hidden-modules:
405− Data.ByteString.Builder.ASCII Data.ByteString.Builder.Prim.Binary
406− Data.ByteString.Builder.Prim.ASCII
407− Data.ByteString.Builder.Prim.Internal.Floating
408− Data.ByteString.Builder.Prim.Internal.UncheckedShifts
409− Data.ByteString.Builder.Prim.Internal.Base16
410−import-dirs:
411−library-dirs:
412−dynamic-library-dirs:
413−data-dir:
414−hs-libraries: HSbytestring-0.10.10.0
415−include-dirs:
416−includes: fpstring.h
417−depends:
418− base-4.14.0.0 deepseq-1.4.4.0 ghc-prim-0.6.1 integer-gmp-1.0.3.0
419−haddock-interfaces:
420−haddock-html:
421−---
422−name: containers
423−version: 0.6.2.1
424−visibility: public
425−id: containers-0.6.2.1
426−key: containers-0.6.2.1
427−license: BSD-3-Clause
428−maintainer: libraries@haskell.org
429−synopsis: Assorted concrete container types
430−description:
431− This package contains efficient general-purpose implementations
432− of various immutable container types including sets, maps, sequences,
433− trees, and graphs.
434− For a walkthrough of what this package provides with examples of common
435− operations see the [containers
436− introduction](https://haskell-containers.readthedocs.io).
437− The declared cost of each operation is either worst-case or amortized, but
438− remains valid even if structures are shared.
439−category: Data Structures
440−exposed: True
441−exposed-modules:
442− Data.Containers.ListUtils Data.Graph Data.IntMap
443− Data.IntMap.Internal Data.IntMap.Internal.Debug Data.IntMap.Lazy
444− Data.IntMap.Merge.Lazy Data.IntMap.Merge.Strict Data.IntMap.Strict
445− Data.IntMap.Strict.Internal Data.IntSet Data.IntSet.Internal
446− Data.Map Data.Map.Internal Data.Map.Internal.Debug Data.Map.Lazy
447− Data.Map.Merge.Lazy Data.Map.Merge.Strict Data.Map.Strict
448− Data.Map.Strict.Internal Data.Sequence Data.Sequence.Internal
449− Data.Sequence.Internal.Sorting Data.Set Data.Set.Internal Data.Tree
450− Utils.Containers.Internal.BitQueue
451− Utils.Containers.Internal.BitUtil
452− Utils.Containers.Internal.StrictPair
453−hidden-modules:
454− Utils.Containers.Internal.State
455− Utils.Containers.Internal.StrictMaybe
456− Utils.Containers.Internal.PtrEquality
457− Utils.Containers.Internal.Coercions
458− Utils.Containers.Internal.TypeError
459− Data.Map.Internal.DeprecatedShowTree
460− Data.IntMap.Internal.DeprecatedDebug
461−import-dirs:
462−library-dirs:
463−dynamic-library-dirs:
464−data-dir:
465−hs-libraries: HScontainers-0.6.2.1
466−depends: array-0.5.4.0 base-4.14.0.0 deepseq-1.4.4.0
467−haddock-interfaces:
468−haddock-html:
469−---
470−name: deepseq
471−version: 1.4.4.0
472−visibility: public
473−id: deepseq-1.4.4.0
474−key: deepseq-1.4.4.0
475−license: BSD-3-Clause
476−maintainer: libraries@haskell.org
477−synopsis: Deep evaluation of data structures
478−description:
479− This package provides methods for fully evaluating data structures
480− (\"deep evaluation\"). Deep evaluation is often used for adding
481− strictness to a program, e.g. in order to force pending exceptions,
482− remove space leaks, or force lazy I/O to happen. It is also useful
483− in parallel programs, to ensure pending work does not migrate to the
484− wrong thread.
485− The primary use of this package is via the 'deepseq' function, a
486− \"deep\" version of 'seq'. It is implemented on top of an 'NFData'
487− typeclass (\"Normal Form Data\", data structures with no unevaluated
488− components) which defines strategies for fully evaluating different
489− data types. See module documentation in "Control.DeepSeq" for more
490− details.
491−category: Control
492−exposed: True
493−exposed-modules: Control.DeepSeq
494−hidden-modules: Control.DeepSeq.BackDoor
495−import-dirs:
496−library-dirs:
497−dynamic-library-dirs:
498−data-dir:
499−hs-libraries: HSdeepseq-1.4.4.0
500−depends: array-0.5.4.0 base-4.14.0.0
501−haddock-interfaces:
502−haddock-html:
503−---
504−name: directory
505−version: 1.3.6.0
506−visibility: public
507−id: directory-1.3.6.0
508−key: directory-1.3.6.0
509−license: BSD-3-Clause
510−maintainer: libraries@haskell.org
511−synopsis: Platform-agnostic library for filesystem operations
512−description:
513− This library provides a basic set of operations for manipulating files and
514− directories in a portable way.
515−category: System
516−exposed: True
517−exposed-modules:
518− System.Directory System.Directory.Internal
519− System.Directory.Internal.Prelude
520−hidden-modules:
521− System.Directory.Internal.C_utimensat
522− System.Directory.Internal.Common System.Directory.Internal.Config
523− System.Directory.Internal.Posix System.Directory.Internal.Windows
524−import-dirs:
525−library-dirs:
526−dynamic-library-dirs:
527−data-dir:
528−hs-libraries: HSdirectory-1.3.6.0
529−depends:
530− base-4.14.0.0 filepath-1.4.2.1 time-1.9.3 unix-2.7.2.2
531−haddock-interfaces:
532−haddock-html:
533−---
534−name: exceptions
535−version: 0.10.4
536−visibility: public
537−id: exceptions-0.10.4
538−key: exceptions-0.10.4
539−license: BSD-3-Clause
540−copyright:
541− Copyright (C) 2013-2015 Edward A. Kmett
542− Copyright (C) 2012 Google Inc.
543−maintainer: Edward A. Kmett <ekmett@gmail.com>
544−author: Edward A. Kmett
545−stability: provisional
546−homepage: http://github.com/ekmett/exceptions/
547−synopsis: Extensible optionally-pure exceptions
548−description: Extensible optionally-pure exceptions.
549−category: Control, Exceptions, Monad
550−exposed: True
551−exposed-modules: Control.Monad.Catch Control.Monad.Catch.Pure
552−import-dirs:
553−library-dirs:
554−dynamic-library-dirs:
555−data-dir:
556−hs-libraries: HSexceptions-0.10.4
557−depends:
558− base-4.14.0.0 mtl-2.2.2 stm-2.5.0.0 template-haskell-2.16.0.0
559− transformers-0.5.6.2
560−haddock-interfaces:
561−haddock-html:
562−---
563−name: filepath
564−version: 1.4.2.1
565−visibility: public
566−id: filepath-1.4.2.1
567−key: filepath-1.4.2.1
568−license: BSD-3-Clause
569−copyright: Neil Mitchell 2005-2018
570−maintainer: Neil Mitchell <ndmitchell@gmail.com>
571−author: Neil Mitchell <ndmitchell@gmail.com>
572−homepage: https://github.com/haskell/filepath#readme
573−synopsis: Library for manipulating FilePaths in a cross platform way.
574−description:
575− 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:
576− * "System.FilePath.Posix" manipulates POSIX\/Linux style @FilePath@ values (with @\/@ as the path separator).
577− * "System.FilePath.Windows" manipulates Windows style @FilePath@ values (with either @\\@ or @\/@ as the path separator, and deals with drives).
578− * "System.FilePath" is an alias for the module appropriate to your platform.
579− All three modules provide the same API, and the same documentation (calling out differences in the different variants).
580−category: System
581−exposed: True
582−exposed-modules:
583− System.FilePath System.FilePath.Posix System.FilePath.Windows
584−import-dirs:
585−library-dirs:
586−dynamic-library-dirs:
587−data-dir:
588−hs-libraries: HSfilepath-1.4.2.1
589−depends: base-4.14.0.0
590−haddock-interfaces:
591−haddock-html:
592−---
593−name: ghc-boot
594−version: 8.10.1
595−visibility: public
596−id: ghc-boot-8.10.1
597−key: ghc-boot-8.10.1
598−license: BSD-3-Clause
599−maintainer: ghc-devs@haskell.org
600−synopsis: Shared functionality between GHC and its boot libraries
601−description:
602− This library is shared between GHC, ghc-pkg, and other boot
603− libraries.
604− A note about "GHC.PackageDb": it only deals with the subset of
605− the package database that the compiler cares about: modules
606− paths etc and not package metadata like description, authors
607− etc. It is thus not a library interface to ghc-pkg and is *not*
608− suitable for modifying GHC package databases.
609− The package database format and this library are constructed in
610− such a way that while ghc-pkg depends on Cabal, the GHC library
611− and program do not have to depend on Cabal.
612−category: GHC
613−exposed: True
614−exposed-modules:
615− GHC.BaseDir GHC.ForeignSrcLang GHC.HandleEncoding
616− GHC.LanguageExtensions GHC.PackageDb GHC.Platform GHC.Platform.Host
617− GHC.Serialized GHC.Settings GHC.UniqueSubdir GHC.Version
618−import-dirs:
619−library-dirs:
620−dynamic-library-dirs:
621−data-dir:
622−hs-libraries: HSghc-boot-8.10.1
623−depends:
624− base-4.14.0.0 binary-0.8.8.0 bytestring-0.10.10.0
625− containers-0.6.2.1 directory-1.3.6.0 filepath-1.4.2.1
626− ghc-boot-th-8.10.1
627−haddock-interfaces:
628−haddock-html:
629−---
630−name: ghc-boot-th
631−version: 8.10.1
632−visibility: public
633−id: ghc-boot-th-8.10.1
634−key: ghc-boot-th-8.10.1
635−license: BSD-3-Clause
636−maintainer: ghc-devs@haskell.org
637−synopsis:
638− Shared functionality between GHC and the @template-haskell@
639− library
640−description:
641− This library contains various bits shared between the @ghc@ and
642− @template-haskell@ libraries.
643− This package exists to ensure that @template-haskell@ has a
644− minimal set of transitive dependencies, since it is intended to
645− be depended upon by user code.
646−category: GHC
647−exposed: True
648−exposed-modules:
649− GHC.ForeignSrcLang.Type GHC.LanguageExtensions.Type GHC.Lexeme
650−import-dirs:
651−library-dirs:
652−dynamic-library-dirs:
653−data-dir:
654−hs-libraries: HSghc-boot-th-8.10.1
655−depends: base-4.14.0.0
656−haddock-interfaces:
657−haddock-html:
658−---
659−name: ghc-compact
660−version: 0.1.0.0
661−visibility: public
662−id: ghc-compact-0.1.0.0
663−key: ghc-compact-0.1.0.0
664−license: BSD-3-Clause
665−maintainer: libraries@haskell.org
666−synopsis: In memory storage of deeply evaluated data structure
667−description:
668− This package provides minimal functionality for working with
669− "compact regions", which hold a fully evaluated Haskell object graph.
670− These regions maintain the invariant that no pointers live inside the struct
671− that point outside it, which ensures efficient garbage collection without
672− ever reading the structure contents (effectively, it works as a manually
673− managed "oldest generation" which is never freed until the whole is
674− released).
675− Internally, the struct is stored a single contiguous block of memory,
676− which allows efficient serialization and deserialization of structs
677− for distributed computing.
678−category: Data
679−exposed: True
680−exposed-modules: GHC.Compact GHC.Compact.Serialized
681−import-dirs:
682−library-dirs:
683−dynamic-library-dirs:
684−data-dir:
685−hs-libraries: HSghc-compact-0.1.0.0
686−depends: base-4.14.0.0 bytestring-0.10.10.0 ghc-prim-0.6.1
687−haddock-interfaces:
688−haddock-html:
689−---
690−name: ghc-heap
691−version: 8.10.1
692−visibility: public
693−id: ghc-heap-8.10.1
694−key: ghc-heap-8.10.1
695−license: BSD-3-Clause
696−maintainer: libraries@haskell.org
697−synopsis: Functions for walking GHC's heap
698−description:
699− This package provides functions for walking the GHC heap data structures
700− and retrieving information about those data structures.
701−category: GHC
702−exposed: True
703−exposed-modules:
704− GHC.Exts.Heap GHC.Exts.Heap.ClosureTypes GHC.Exts.Heap.Closures
705− GHC.Exts.Heap.Constants GHC.Exts.Heap.InfoTable
706− GHC.Exts.Heap.InfoTable.Types GHC.Exts.Heap.InfoTableProf
707− GHC.Exts.Heap.Utils
708−import-dirs:
709−library-dirs:
710−dynamic-library-dirs:
711−data-dir:
712−hs-libraries: HSghc-heap-8.10.1
713−depends: base-4.14.0.0 ghc-prim-0.6.1 rts
714−haddock-interfaces:
715−haddock-html:
716−---
717−name: ghc-prim
718−version: 0.6.1
719−visibility: public
720−id: ghc-prim-0.6.1
721−key: ghc-prim-0.6.1
722−license: BSD-3-Clause
723−maintainer: libraries@haskell.org
724−synopsis: GHC primitives
725−description:
726− This package contains the primitive types and operations supplied by GHC.
727−category: GHC
728−exposed: True
729−exposed-modules:
730− GHC.CString GHC.Classes GHC.Debug GHC.IntWord64 GHC.Magic
731− GHC.Prim.Ext GHC.PrimopWrappers GHC.Tuple GHC.Types GHC.Prim
732−import-dirs:
733−library-dirs:
734−dynamic-library-dirs:
735−data-dir:
736−hs-libraries: HSghc-prim-0.6.1
737−depends: rts
738−haddock-interfaces:
739−haddock-html:
740−---
741−name: ghci
742−version: 8.10.1
743−visibility: public
744−id: ghci-8.10.1
745−key: ghci-8.10.1
746−license: BSD-3-Clause
747−maintainer: ghc-devs@haskell.org
748−synopsis: The library supporting GHC's interactive interpreter
749−description:
750− This library offers interfaces which mediate interactions between the
751− @ghci@ interactive shell and @iserv@, GHC's out-of-process interpreter
752− backend.
753−category: GHC
754−exposed: True
755−exposed-modules:
756− GHCi.BinaryArray GHCi.BreakArray GHCi.CreateBCO GHCi.FFI
757− GHCi.InfoTable GHCi.Message GHCi.ObjLink GHCi.RemoteTypes
758− GHCi.ResolvedBCO GHCi.Run GHCi.Signals GHCi.StaticPtrTable GHCi.TH
759− GHCi.TH.Binary SizedSeq
760−import-dirs:
761−library-dirs:
762−dynamic-library-dirs:
763−data-dir:
764−hs-libraries: HSghci-8.10.1
765−include-dirs:
766−depends:
767− array-0.5.4.0 base-4.14.0.0 binary-0.8.8.0 bytestring-0.10.10.0
768− containers-0.6.2.1 deepseq-1.4.4.0 filepath-1.4.2.1 ghc-boot-8.10.1
769− ghc-boot-th-8.10.1 ghc-heap-8.10.1 template-haskell-2.16.0.0
770− transformers-0.5.6.2 unix-2.7.2.2
771−haddock-interfaces:
772−haddock-html:
773−---
774−name: haskeline
775−version: 0.8.0.0
776−visibility: public
777−id: haskeline-0.8.0.0
778−key: haskeline-0.8.0.0
779−license: BSD-3-Clause
780−copyright: (c) Judah Jacobson
781−maintainer: Judah Jacobson <judah.jacobson@gmail.com>
782−author: Judah Jacobson
783−stability: Stable
784−homepage: https://github.com/judah/haskeline
785−synopsis:
786− A command-line interface for user input, written in Haskell.
787−description:
788− Haskeline provides a user interface for line input in command-line
789− programs. This library is similar in purpose to readline, but since
790− it is written in Haskell it is (hopefully) more easily used in other
791− Haskell programs.
792− Haskeline runs both on POSIX-compatible systems and on Windows.
793−category: User Interfaces
794−exposed: True
795−exposed-modules:
796− System.Console.Haskeline System.Console.Haskeline.Completion
797− System.Console.Haskeline.History System.Console.Haskeline.IO
798−hidden-modules:
799− System.Console.Haskeline.Backend
800− System.Console.Haskeline.Backend.WCWidth
801− System.Console.Haskeline.Command
802− System.Console.Haskeline.Command.Completion
803− System.Console.Haskeline.Command.History
804− System.Console.Haskeline.Command.KillRing
805− System.Console.Haskeline.Directory System.Console.Haskeline.Emacs
806− System.Console.Haskeline.InputT System.Console.Haskeline.Key
807− System.Console.Haskeline.LineState System.Console.Haskeline.Monads
808− System.Console.Haskeline.Prefs System.Console.Haskeline.Recover
809− System.Console.Haskeline.RunCommand System.Console.Haskeline.Term
810− System.Console.Haskeline.Command.Undo System.Console.Haskeline.Vi
811− System.Console.Haskeline.Backend.Posix
812− System.Console.Haskeline.Backend.Posix.Encoder
813− System.Console.Haskeline.Backend.DumbTerm
814−import-dirs:
815−library-dirs:
816−dynamic-library-dirs:
817−data-dir:
818−hs-libraries: HShaskeline-0.8.0.0
819−depends:
820− base-4.14.0.0 bytestring-0.10.10.0 containers-0.6.2.1
821− directory-1.3.6.0 exceptions-0.10.4 filepath-1.4.2.1
822− process-1.6.8.2 stm-2.5.0.0 transformers-0.5.6.2 unix-2.7.2.2
823−haddock-interfaces:
824−haddock-html:
825−---
826−name: hpc
827−version: 0.6.1.0
828−visibility: public
829−id: hpc-0.6.1.0
830−key: hpc-0.6.1.0
831−license: BSD-3-Clause
832−maintainer: ghc-devs@haskell.org
833−author: Andy Gill
834−synopsis: Code Coverage Library for Haskell
835−description:
836− This package provides the code coverage library for Haskell.
837− See <http://www.haskell.org/haskellwiki/Haskell_program_coverage> for more
838− information.
839−category: Control
840−exposed: True
841−exposed-modules:
842− Trace.Hpc.Mix Trace.Hpc.Reflect Trace.Hpc.Tix Trace.Hpc.Util
843−import-dirs:
844−library-dirs:
845−dynamic-library-dirs:
846−data-dir:
847−hs-libraries: HShpc-0.6.1.0
848−depends:
849− base-4.14.0.0 containers-0.6.2.1 deepseq-1.4.4.0 directory-1.3.6.0
850− filepath-1.4.2.1 time-1.9.3
851−haddock-interfaces:
852−haddock-html:
853−---
854−name: integer-gmp
855−version: 1.0.3.0
856−visibility: public
857−id: integer-gmp-1.0.3.0
858−key: integer-gmp-1.0.3.0
859−license: BSD-3-Clause
860−maintainer: hvr@gnu.org
861−author: Herbert Valerio Riedel
862−synopsis: Integer library based on GMP
863−description:
864− This package provides the low-level implementation of the standard
865− 'Integer' type based on the
866− <http://gmplib.org/ GNU Multiple Precision Arithmetic Library (GMP)>.
867− This package provides access to the internal representation of
868− 'Integer' as well as primitive operations with no proper error
869− handling, and should only be used directly with the utmost care.
870−category: Numeric, Algebra
871−exposed: True
872−exposed-modules:
873− GHC.Integer GHC.Integer.GMP.Internals GHC.Integer.Logarithms
874− GHC.Integer.Logarithms.Internals
875−hidden-modules: GHC.Integer.Type
876−import-dirs:
877−library-dirs:
878−dynamic-library-dirs:
879−data-dir:
880−hs-libraries: HSinteger-gmp-1.0.3.0
881−extra-libraries: gmp
882−include-dirs:
883−depends: ghc-prim-0.6.1
884−haddock-interfaces:
885−haddock-html:
886−---
887−name: libiserv
888−version: 8.10.1
889−visibility: public
890−id: libiserv-8.10.1
891−key: libiserv-8.10.1
892−license: BSD-3-Clause
893−copyright: XXX
894−maintainer: XXX
895−author: XXX
896−synopsis: Provides shared functionality between iserv and iserv-proxy
897−category: Development
898−exposed: True
899−exposed-modules: GHCi.Utils Lib
900−import-dirs:
901−library-dirs:
902−dynamic-library-dirs:
903−data-dir:
904−hs-libraries: HSlibiserv-8.10.1
905−depends:
906− base-4.14.0.0 binary-0.8.8.0 bytestring-0.10.10.0
907− containers-0.6.2.1 deepseq-1.4.4.0 ghci-8.10.1 unix-2.7.2.2
908−haddock-interfaces:
909−haddock-html:
910−---
911−name: mtl
912−version: 2.2.2
913−visibility: public
914−id: mtl-2.2.2
915−key: mtl-2.2.2
916−license: BSD-3-Clause
917−maintainer: Edward Kmett <ekmett@gmail.com>
918−author: Andy Gill
919−homepage: http://github.com/haskell/mtl
920−synopsis: Monad classes, using functional dependencies
921−description:
922− Monad classes using functional dependencies, with instances
923− for various monad transformers, inspired by the paper
924− /Functional Programming with Overloading and Higher-Order Polymorphism/,
925− by Mark P Jones, in /Advanced School of Functional Programming/, 1995
926− (<http://web.cecs.pdx.edu/~mpj/pubs/springschool.html>).
927−category: Control
928−exposed: True
929−exposed-modules:
930− Control.Monad.Cont Control.Monad.Cont.Class Control.Monad.Error
931− Control.Monad.Error.Class Control.Monad.Except
932− Control.Monad.Identity Control.Monad.List Control.Monad.RWS
933− Control.Monad.RWS.Class Control.Monad.RWS.Lazy
934− Control.Monad.RWS.Strict Control.Monad.Reader
935− Control.Monad.Reader.Class Control.Monad.State
936− Control.Monad.State.Class Control.Monad.State.Lazy
937− Control.Monad.State.Strict Control.Monad.Trans Control.Monad.Writer
938− Control.Monad.Writer.Class Control.Monad.Writer.Lazy
939− Control.Monad.Writer.Strict
940−import-dirs:
941−library-dirs:
942−dynamic-library-dirs:
943−data-dir:
944−hs-libraries: HSmtl-2.2.2
945−depends: base-4.14.0.0 transformers-0.5.6.2
946−haddock-interfaces:
947−haddock-html:
948−---
949−name: parsec
950−version: 3.1.14.0
951−visibility: public
952−id: parsec-3.1.14.0
953−key: parsec-3.1.14.0
954−license: BSD-3-Clause
955−maintainer: Herbert Valerio Riedel <hvr@gnu.org>
956−author:
957− Daan Leijen <daan@microsoft.com>, Paolo Martini <paolo@nemail.it>, Antoine Latter <aslatter@gmail.com>
958−homepage: https://github.com/haskell/parsec
959−synopsis: Monadic parser combinators
960−description:
961− Parsec is designed from scratch as an industrial-strength parser
962− library. It is simple, safe, well documented (on the package
963− homepage), has extensive libraries, good error messages,
964− and is fast. It is defined as a monad transformer that can be
965− stacked on arbitrary monads, and it is also parametric in the
966− input stream type.
967− The main entry point is the "Text.Parsec" module which provides
968− defaults for parsing 'Char'acter data.
969− The "Text.ParserCombinators.Parsec" module hierarchy contains
970− the legacy @parsec-2@ API and may be removed at some point in
971− the future.
972−category: Parsing
973−exposed: True
974−exposed-modules:
975− Text.Parsec Text.Parsec.ByteString Text.Parsec.ByteString.Lazy
976− Text.Parsec.Char Text.Parsec.Combinator Text.Parsec.Error
977− Text.Parsec.Expr Text.Parsec.Language Text.Parsec.Perm
978− Text.Parsec.Pos Text.Parsec.Prim Text.Parsec.String
979− Text.Parsec.Text Text.Parsec.Text.Lazy Text.Parsec.Token
980− Text.ParserCombinators.Parsec Text.ParserCombinators.Parsec.Char
981− Text.ParserCombinators.Parsec.Combinator
982− Text.ParserCombinators.Parsec.Error
983− Text.ParserCombinators.Parsec.Expr
984− Text.ParserCombinators.Parsec.Language
985− Text.ParserCombinators.Parsec.Perm
986− Text.ParserCombinators.Parsec.Pos
987− Text.ParserCombinators.Parsec.Prim
988− Text.ParserCombinators.Parsec.Token
989−import-dirs:
990−library-dirs:
991−dynamic-library-dirs:
992−data-dir:
993−hs-libraries: HSparsec-3.1.14.0
994−depends:
995− base-4.14.0.0 bytestring-0.10.10.0 mtl-2.2.2 text-1.2.3.2
996−haddock-interfaces:
997−haddock-html:
998−---
999−name: pretty
1000−version: 1.1.3.6
1001−visibility: public
1002−id: pretty-1.1.3.6
1003−key: pretty-1.1.3.6
1004−license: BSD-3-Clause
1005−maintainer: David Terei <code@davidterei.com>
1006−stability: Stable
1007−homepage: http://github.com/haskell/pretty
1008−synopsis: Pretty-printing library
1009−description:
1010− This package contains a pretty-printing library, a set of API's
1011− that provides a way to easily print out text in a consistent
1012− format of your choosing. This is useful for compilers and related
1013− tools.
1014− This library was originally designed by John Hughes's and has since
1015− been heavily modified by Simon Peyton Jones.
1016−category: Text
1017−exposed: True
1018−exposed-modules:
1019− Text.PrettyPrint Text.PrettyPrint.Annotated
1020− Text.PrettyPrint.Annotated.HughesPJ
1021− Text.PrettyPrint.Annotated.HughesPJClass Text.PrettyPrint.HughesPJ
1022− Text.PrettyPrint.HughesPJClass
1023−import-dirs:
1024−library-dirs:
1025−dynamic-library-dirs:
1026−data-dir:
1027−hs-libraries: HSpretty-1.1.3.6
1028−depends: base-4.14.0.0 deepseq-1.4.4.0 ghc-prim-0.6.1
1029−haddock-interfaces:
1030−haddock-html:
1031−---
1032−name: process
1033−version: 1.6.8.2
1034−visibility: public
1035−id: process-1.6.8.2
1036−key: process-1.6.8.2
1037−license: BSD-3-Clause
1038−maintainer: libraries@haskell.org
1039−synopsis: Process libraries
1040−description:
1041− This package contains libraries for dealing with system processes.
1042− The typed-process package is a more recent take on a process API,
1043− which uses this package internally. It features better binary
1044− support, easier concurrency, and a more composable API. You can
1045− read more about it at
1046− <https://github.com/fpco/typed-process/#readme>.
1047−category: System
1048−exposed: True
1049−exposed-modules: System.Cmd System.Process System.Process.Internals
1050−hidden-modules: System.Process.Common System.Process.Posix
1051−import-dirs:
1052−library-dirs:
1053−dynamic-library-dirs:
1054−data-dir:
1055−hs-libraries: HSprocess-1.6.8.2
1056−include-dirs:
1057−includes: runProcess.h
1058−depends:
1059− base-4.14.0.0 deepseq-1.4.4.0 directory-1.3.6.0 filepath-1.4.2.1
1060− unix-2.7.2.2
1061−haddock-interfaces:
1062−haddock-html:
1063−---
1064−name: stm
1065−version: 2.5.0.0
1066−visibility: public
1067−id: stm-2.5.0.0
1068−key: stm-2.5.0.0
1069−license: BSD-3-Clause
1070−maintainer: libraries@haskell.org
1071−homepage: https://wiki.haskell.org/Software_transactional_memory
1072−synopsis: Software Transactional Memory
1073−description:
1074− Software Transactional Memory, or STM, is an abstraction for
1075− concurrent communication. The main benefits of STM are
1076− /composability/ and /modularity/. That is, using STM you can write
1077− concurrent abstractions that can be easily composed with any other
1078− abstraction built using STM, without exposing the details of how
1079− your abstraction ensures safety. This is typically not the case
1080− with other forms of concurrent communication, such as locks or
1081− 'MVar's.
1082−category: Concurrency
1083−exposed: True
1084−exposed-modules:
1085− Control.Concurrent.STM Control.Concurrent.STM.TArray
1086− Control.Concurrent.STM.TBQueue Control.Concurrent.STM.TChan
1087− Control.Concurrent.STM.TMVar Control.Concurrent.STM.TQueue
1088− Control.Concurrent.STM.TSem Control.Concurrent.STM.TVar
1089− Control.Monad.STM
1090−hidden-modules: Control.Sequential.STM
1091−import-dirs:
1092−library-dirs:
1093−dynamic-library-dirs:
1094−data-dir:
1095−hs-libraries: HSstm-2.5.0.0
1096−depends: array-0.5.4.0 base-4.14.0.0
1097−haddock-interfaces:
1098−haddock-html:
1099−---
1100−name: template-haskell
1101−version: 2.16.0.0
1102−visibility: public
1103−id: template-haskell-2.16.0.0
1104−key: template-haskell-2.16.0.0
1105−license: BSD-3-Clause
1106−maintainer: libraries@haskell.org
1107−synopsis: Support library for Template Haskell
1108−description:
1109− This package provides modules containing facilities for manipulating
1110− Haskell source code using Template Haskell.
1111− See <http://www.haskell.org/haskellwiki/Template_Haskell> for more
1112− information.
1113−category: Template Haskell
1114−exposed: True
1115−exposed-modules:
1116− Language.Haskell.TH Language.Haskell.TH.LanguageExtensions
1117− Language.Haskell.TH.Lib Language.Haskell.TH.Lib.Internal
1118− Language.Haskell.TH.Ppr Language.Haskell.TH.PprLib
1119− Language.Haskell.TH.Quote Language.Haskell.TH.Syntax
1120−hidden-modules: Language.Haskell.TH.Lib.Map
1121−import-dirs:
1122−library-dirs:
1123−dynamic-library-dirs:
1124−data-dir:
1125−hs-libraries: HStemplate-haskell-2.16.0.0
1126−depends:
1127− base-4.14.0.0 ghc-boot-th-8.10.1 ghc-prim-0.6.1 pretty-1.1.3.6
1128−haddock-interfaces:
1129−haddock-html:
1130−---
1131−name: text
1132−version: 1.2.3.2
1133−visibility: public
1134−id: text-1.2.3.2
1135−key: text-1.2.3.2
1136−license: BSD-2-Clause
1137−copyright: 2009-2011 Bryan O'Sullivan, 2008-2009 Tom Harper
1138−maintainer:
1139− Bryan O'Sullivan <bos@serpentine.com>, Herbert Valerio Riedel <hvr@gnu.org>
1140−author: Bryan O'Sullivan <bos@serpentine.com>
1141−homepage: https://github.com/haskell/text
1142−synopsis: An efficient packed Unicode text type.
1143−description:
1144− An efficient packed, immutable Unicode text type (both strict and
1145− lazy), with a powerful loop fusion optimization framework.
1146− The 'Text' type represents Unicode character strings, in a time and
1147− space-efficient manner. This package provides text processing
1148− capabilities that are optimized for performance critical use, both
1149− in terms of large data quantities and high speed.
1150− The 'Text' type provides character-encoding, type-safe case
1151− conversion via whole-string case conversion functions (see "Data.Text").
1152− It also provides a range of functions for converting 'Text' values to
1153− and from 'ByteStrings', using several standard encodings
1154− (see "Data.Text.Encoding").
1155− Efficient locale-sensitive support for text IO is also supported
1156− (see "Data.Text.IO").
1157− These modules are intended to be imported qualified, to avoid name
1158− clashes with Prelude functions, e.g.
1159− > import qualified Data.Text as T
1160− To use an extended and very rich family of functions for working
1161− with Unicode text (including normalization, regular expressions,
1162− non-standard encodings, text breaking, and locales), see
1163− the [text-icu package](https://hackage.haskell.org/package/text-icu)
1164− based on the well-respected and liberally
1165− licensed [ICU library](http://site.icu-project.org/).
1166−category: Data, Text
1167−exposed: True
1168−exposed-modules:
1169− Data.Text Data.Text.Array Data.Text.Encoding
1170− Data.Text.Encoding.Error Data.Text.Foreign Data.Text.IO
1171− Data.Text.Internal Data.Text.Internal.Builder
1172− Data.Text.Internal.Builder.Functions
1173− Data.Text.Internal.Builder.Int.Digits
1174− Data.Text.Internal.Builder.RealFloat.Functions
1175− Data.Text.Internal.Encoding.Fusion
1176− Data.Text.Internal.Encoding.Fusion.Common
1177− Data.Text.Internal.Encoding.Utf16 Data.Text.Internal.Encoding.Utf32
1178− Data.Text.Internal.Encoding.Utf8 Data.Text.Internal.Functions
1179− Data.Text.Internal.Fusion Data.Text.Internal.Fusion.CaseMapping
1180− Data.Text.Internal.Fusion.Common Data.Text.Internal.Fusion.Size
1181− Data.Text.Internal.Fusion.Types Data.Text.Internal.IO
1182− Data.Text.Internal.Lazy Data.Text.Internal.Lazy.Encoding.Fusion
1183− Data.Text.Internal.Lazy.Fusion Data.Text.Internal.Lazy.Search
1184− Data.Text.Internal.Private Data.Text.Internal.Read
1185− Data.Text.Internal.Search Data.Text.Internal.Unsafe
1186− Data.Text.Internal.Unsafe.Char Data.Text.Internal.Unsafe.Shift
1187− Data.Text.Lazy Data.Text.Lazy.Builder Data.Text.Lazy.Builder.Int
1188− Data.Text.Lazy.Builder.RealFloat Data.Text.Lazy.Encoding
1189− Data.Text.Lazy.IO Data.Text.Lazy.Internal Data.Text.Lazy.Read
1190− Data.Text.Read Data.Text.Unsafe
1191−hidden-modules: Data.Text.Show
1192−import-dirs:
1193−library-dirs:
1194−dynamic-library-dirs:
1195−data-dir:
1196−hs-libraries: HStext-1.2.3.2
1197−depends:
1198− array-0.5.4.0 base-4.14.0.0 binary-0.8.8.0 bytestring-0.10.10.0
1199− deepseq-1.4.4.0 ghc-prim-0.6.1 integer-gmp-1.0.3.0
1200−haddock-interfaces:
1201−haddock-html:
1202−---
1203−name: time
1204−version: 1.9.3
1205−visibility: public
1206−id: time-1.9.3
1207−key: time-1.9.3
1208−license: BSD-3-Clause
1209−maintainer: <ashley@semantic.org>
1210−author: Ashley Yakeley
1211−stability: stable
1212−homepage: https://github.com/haskell/time
1213−synopsis: A time library
1214−description: Time, clocks and calendars
1215−category: Time
1216−exposed: True
1217−exposed-modules:
1218− Data.Time Data.Time.Calendar Data.Time.Calendar.Easter
1219− Data.Time.Calendar.Julian Data.Time.Calendar.MonthDay
1220− Data.Time.Calendar.OrdinalDate Data.Time.Calendar.WeekDate
1221− Data.Time.Clock Data.Time.Clock.POSIX Data.Time.Clock.System
1222− Data.Time.Clock.TAI Data.Time.Format Data.Time.Format.ISO8601
1223− Data.Time.Format.Internal Data.Time.LocalTime
1224−hidden-modules:
1225− Data.Format Data.Time.Calendar.Private Data.Time.Calendar.Days
1226− Data.Time.Calendar.Gregorian Data.Time.Calendar.CalendarDiffDays
1227− Data.Time.Calendar.Week Data.Time.Calendar.JulianYearDay
1228− Data.Time.Clock.Internal.DiffTime
1229− Data.Time.Clock.Internal.AbsoluteTime
1230− Data.Time.Clock.Internal.NominalDiffTime
1231− Data.Time.Clock.Internal.POSIXTime
1232− Data.Time.Clock.Internal.UniversalTime
1233− Data.Time.Clock.Internal.SystemTime
1234− Data.Time.Clock.Internal.UTCTime Data.Time.Clock.Internal.CTimeval
1235− Data.Time.Clock.Internal.CTimespec Data.Time.Clock.Internal.UTCDiff
1236− Data.Time.LocalTime.Internal.TimeZone
1237− Data.Time.LocalTime.Internal.TimeOfDay
1238− Data.Time.LocalTime.Internal.CalendarDiffTime
1239− Data.Time.LocalTime.Internal.LocalTime
1240− Data.Time.LocalTime.Internal.ZonedTime Data.Time.Format.Parse
1241− Data.Time.Format.Locale Data.Time.Format.Format.Class
1242− Data.Time.Format.Format.Instances Data.Time.Format.Parse.Class
1243− Data.Time.Format.Parse.Instances
1244−import-dirs:
1245−library-dirs:
1246−dynamic-library-dirs:
1247−data-dir:
1248−hs-libraries: HStime-1.9.3
1249−include-dirs:
1250−depends: base-4.14.0.0 deepseq-1.4.4.0
1251−haddock-interfaces:
1252−haddock-html:
1253−---
1254−name: transformers
1255−version: 0.5.6.2
1256−visibility: public
1257−id: transformers-0.5.6.2
1258−key: transformers-0.5.6.2
1259−license: BSD-3-Clause
1260−maintainer: Ross Paterson <R.Paterson@city.ac.uk>
1261−author: Andy Gill, Ross Paterson
1262−synopsis: Concrete functor and monad transformers
1263−description:
1264− A portable library of functor and monad transformers, inspired by
1265− the paper
1266− * \"Functional Programming with Overloading and Higher-Order
1267− Polymorphism\", by Mark P Jones,
1268− in /Advanced School of Functional Programming/, 1995
1269− (<http://web.cecs.pdx.edu/~mpj/pubs/springschool.html>).
1270− This package contains:
1271− * the monad transformer class (in "Control.Monad.Trans.Class")
1272− * concrete functor and monad transformers, each with associated
1273− operations and functions to lift operations associated with other
1274− transformers.
1275− The package can be used on its own in portable Haskell code, in
1276− which case operations need to be manually lifted through transformer
1277− stacks (see "Control.Monad.Trans.Class" for some examples).
1278− Alternatively, it can be used with the non-portable monad classes in
1279− the @mtl@ or @monads-tf@ packages, which automatically lift operations
1280− introduced by monad transformers through other transformers.
1281−category: Control
1282−exposed: True
1283−exposed-modules:
1284− Control.Applicative.Backwards Control.Applicative.Lift
1285− Control.Monad.Signatures Control.Monad.Trans.Accum
1286− Control.Monad.Trans.Class Control.Monad.Trans.Cont
1287− Control.Monad.Trans.Error Control.Monad.Trans.Except
1288− Control.Monad.Trans.Identity Control.Monad.Trans.List
1289− Control.Monad.Trans.Maybe Control.Monad.Trans.RWS
1290− Control.Monad.Trans.RWS.CPS Control.Monad.Trans.RWS.Lazy
1291− Control.Monad.Trans.RWS.Strict Control.Monad.Trans.Reader
1292− Control.Monad.Trans.Select Control.Monad.Trans.State
1293− Control.Monad.Trans.State.Lazy Control.Monad.Trans.State.Strict
1294− Control.Monad.Trans.Writer Control.Monad.Trans.Writer.CPS
1295− Control.Monad.Trans.Writer.Lazy Control.Monad.Trans.Writer.Strict
1296− Data.Functor.Constant Data.Functor.Reverse
1297−import-dirs:
1298−library-dirs:
1299−dynamic-library-dirs:
1300−data-dir:
1301−hs-libraries: HStransformers-0.5.6.2
1302−depends: base-4.14.0.0
1303−haddock-interfaces:
1304−haddock-html:
1305−---
1306−name: unix
1307−version: 2.7.2.2
1308−visibility: public
1309−id: unix-2.7.2.2
1310−key: unix-2.7.2.2
1311−license: BSD-3-Clause
1312−maintainer: libraries@haskell.org
1313−homepage: https://github.com/haskell/unix
1314−synopsis: POSIX functionality
1315−description:
1316− This package gives you access to the set of operating system
1317− services standardised by
1318− <http://pubs.opengroup.org/onlinepubs/9699919799/ POSIX.1-2008>
1319− (or the IEEE Portable Operating System Interface for Computing
1320− Environments - IEEE Std. 1003.1).
1321− The package is not supported under Windows.
1322−category: System
1323−exposed: True
1324−exposed-modules:
1325− System.Posix System.Posix.ByteString
1326− System.Posix.ByteString.FilePath System.Posix.Directory
1327− System.Posix.Directory.ByteString System.Posix.DynamicLinker
1328− System.Posix.DynamicLinker.ByteString
1329− System.Posix.DynamicLinker.Module
1330− System.Posix.DynamicLinker.Module.ByteString
1331− System.Posix.DynamicLinker.Prim System.Posix.Env
1332− System.Posix.Env.ByteString System.Posix.Error System.Posix.Fcntl
1333− System.Posix.Files System.Posix.Files.ByteString System.Posix.IO
1334− System.Posix.IO.ByteString System.Posix.Process
1335− System.Posix.Process.ByteString System.Posix.Process.Internals
1336− System.Posix.Resource System.Posix.Semaphore System.Posix.SharedMem
1337− System.Posix.Signals System.Posix.Signals.Exts System.Posix.Temp
1338− System.Posix.Temp.ByteString System.Posix.Terminal
1339− System.Posix.Terminal.ByteString System.Posix.Time
1340− System.Posix.Unistd System.Posix.User
1341−hidden-modules:
1342− System.Posix.Directory.Common System.Posix.DynamicLinker.Common
1343− System.Posix.Files.Common System.Posix.IO.Common
1344− System.Posix.Process.Common System.Posix.Terminal.Common
1345−import-dirs:
1346−library-dirs:
1347−dynamic-library-dirs:
1348−data-dir:
1349−hs-libraries: HSunix-2.7.2.2
1350−extra-libraries: rt util dl pthread
1351−include-dirs:
1352−includes: HsUnix.h execvpe.h
1353−depends: base-4.14.0.0 bytestring-0.10.10.0 time-1.9.3
1354−haddock-interfaces:
1355−haddock-html:
1356−---
1357−name: rts
1358−version: 1.0
1359−visibility: public
1360−id: rts
1361−key: rts
1362−license: BSD-3-Clause
1363−maintainer: glasgow-haskell-users@haskell.org
1364−exposed: True
1365−library-dirs:
1366−hs-libraries: HSrts
1367−extra-libraries: m rt dl ffi numa pthread
1368−include-dirs:
1369−includes: Stg.h
1370−ld-options:
1371− "-Wl,-u,base_GHCziTopHandler_runIO_closure"
1372− "-Wl,-u,base_GHCziTopHandler_runNonIO_closure"
1373− "-Wl,-u,ghczmprim_GHCziTuple_Z0T_closure"
1374− "-Wl,-u,ghczmprim_GHCziTypes_True_closure"
1375− "-Wl,-u,ghczmprim_GHCziTypes_False_closure"
1376− "-Wl,-u,base_GHCziPack_unpackCString_closure"
1377− "-Wl,-u,base_GHCziWeak_runFinalizzerBatch_closure"
1378− "-Wl,-u,base_GHCziIOziException_stackOverflow_closure"
1379− "-Wl,-u,base_GHCziIOziException_heapOverflow_closure"
1380− "-Wl,-u,base_GHCziIOziException_allocationLimitExceeded_closure"
1381− "-Wl,-u,base_GHCziIOziException_blockedIndefinitelyOnMVar_closure"
1382− "-Wl,-u,base_GHCziIOziException_blockedIndefinitelyOnSTM_closure"
1383− "-Wl,-u,base_GHCziIOziException_cannotCompactFunction_closure"
1384− "-Wl,-u,base_GHCziIOziException_cannotCompactPinned_closure"
1385− "-Wl,-u,base_GHCziIOziException_cannotCompactMutable_closure"
1386− "-Wl,-u,base_ControlziExceptionziBase_absentSumFieldError_closure"
1387− "-Wl,-u,base_ControlziExceptionziBase_nonTermination_closure"
1388− "-Wl,-u,base_ControlziExceptionziBase_nestedAtomically_closure"
1389− "-Wl,-u,base_GHCziEventziThread_blockedOnBadFD_closure"
1390− "-Wl,-u,base_GHCziConcziSync_runSparks_closure"
1391− "-Wl,-u,base_GHCziConcziIO_ensureIOManagerIsRunning_closure"
1392− "-Wl,-u,base_GHCziConcziIO_ioManagerCapabilitiesChanged_closure"
1393− "-Wl,-u,base_GHCziConcziSignal_runHandlersPtr_closure"
1394− "-Wl,-u,base_GHCziTopHandler_flushStdHandles_closure"
1395− "-Wl,-u,base_GHCziTopHandler_runMainIO_closure"
1396− "-Wl,-u,ghczmprim_GHCziTypes_Czh_con_info"
1397− "-Wl,-u,ghczmprim_GHCziTypes_Izh_con_info"
1398− "-Wl,-u,ghczmprim_GHCziTypes_Fzh_con_info"
1399− "-Wl,-u,ghczmprim_GHCziTypes_Dzh_con_info"
1400− "-Wl,-u,ghczmprim_GHCziTypes_Wzh_con_info"
1401− "-Wl,-u,base_GHCziPtr_Ptr_con_info"
1402− "-Wl,-u,base_GHCziPtr_FunPtr_con_info"
1403− "-Wl,-u,base_GHCziInt_I8zh_con_info"
1404− "-Wl,-u,base_GHCziInt_I16zh_con_info"
1405− "-Wl,-u,base_GHCziInt_I32zh_con_info"
1406− "-Wl,-u,base_GHCziInt_I64zh_con_info"
1407− "-Wl,-u,base_GHCziWord_W8zh_con_info"
1408− "-Wl,-u,base_GHCziWord_W16zh_con_info"
1409− "-Wl,-u,base_GHCziWord_W32zh_con_info"
1410− "-Wl,-u,base_GHCziWord_W64zh_con_info"
1411− "-Wl,-u,base_GHCziStable_StablePtr_con_info"
1412− "-Wl,-u,hs_atomic_add8" "-Wl,-u,hs_atomic_add16"
1413− "-Wl,-u,hs_atomic_add32" "-Wl,-u,hs_atomic_add64"
1414− "-Wl,-u,hs_atomic_sub8" "-Wl,-u,hs_atomic_sub16"
1415− "-Wl,-u,hs_atomic_sub32" "-Wl,-u,hs_atomic_sub64"
1416− "-Wl,-u,hs_atomic_and8" "-Wl,-u,hs_atomic_and16"
1417− "-Wl,-u,hs_atomic_and32" "-Wl,-u,hs_atomic_and64"
1418− "-Wl,-u,hs_atomic_nand8" "-Wl,-u,hs_atomic_nand16"
1419− "-Wl,-u,hs_atomic_nand32" "-Wl,-u,hs_atomic_nand64"
1420− "-Wl,-u,hs_atomic_or8" "-Wl,-u,hs_atomic_or16"
1421− "-Wl,-u,hs_atomic_or32" "-Wl,-u,hs_atomic_or64"
1422− "-Wl,-u,hs_atomic_xor8" "-Wl,-u,hs_atomic_xor16"
1423− "-Wl,-u,hs_atomic_xor32" "-Wl,-u,hs_atomic_xor64"
1424− "-Wl,-u,hs_cmpxchg8" "-Wl,-u,hs_cmpxchg16" "-Wl,-u,hs_cmpxchg32"
1425− "-Wl,-u,hs_cmpxchg64" "-Wl,-u,hs_atomicread8"
1426− "-Wl,-u,hs_atomicread16" "-Wl,-u,hs_atomicread32"
1427− "-Wl,-u,hs_atomicread64" "-Wl,-u,hs_atomicwrite8"
1428− "-Wl,-u,hs_atomicwrite16" "-Wl,-u,hs_atomicwrite32"
1429− "-Wl,-u,hs_atomicwrite64"
materialized/dummy-ghc/aarch64-unknown-linux-gnu-aarch64-unknown-linux-gnu-ghc-8.10.1-x86_64-linux/ghc-pkg/versiondeleted−1
@@ -1 +0,0 @@
1−GHC package manager version 8.10.1
materialized/dummy-ghc/aarch64-unknown-linux-gnu-aarch64-unknown-linux-gnu-ghc-8.10.1-x86_64-linux/ghc/infodeleted−66
@@ -1,66 +0,0 @@
1− [("Project name","The Glorious Glasgow Haskell Compilation System")
2− ,("GCC extra via C opts","")
3− ,("C compiler flags","")
4− ,("C++ compiler flags","")
5− ,("C compiler link flags","-Wl,-z,noexecstack")
6− ,("C compiler supports -no-pie","YES")
7− ,("Haskell CPP flags","-E -undef -traditional")
8− ,("ld flags","-z noexecstack")
9− ,("ld supports compact unwind","YES")
10− ,("ld supports build-id","YES")
11− ,("ld supports filelist","NO")
12− ,("ld is GNU ld","YES")
13− ,("ar flags","q")
14− ,("ar supports at file","YES")
15− ,("touch command","touch")
16− ,("dllwrap command","/bin/false")
17− ,("windres command","/bin/false")
18− ,("libtool command","libtool")
19− ,("cross compiling","YES")
20− ,("target platform string","aarch64-unknown-linux")
21− ,("target os","OSLinux")
22− ,("target arch","ArchARM64")
23− ,("target word size","8")
24− ,("target has GNU nonexec stack","YES")
25− ,("target has .ident directive","YES")
26− ,("target has subsections via symbols","NO")
27− ,("target has RTS linker","YES")
28− ,("Unregisterised","NO")
29− ,("LLVM target","aarch64-unknown-linux")
30− ,("LLVM llc command","llc")
31− ,("LLVM opt command","opt")
32− ,("LLVM clang command","clang")
33− ,("integer library","integer-gmp")
34− ,("Use interpreter","YES")
35− ,("Use native code generator","NO")
36− ,("Support SMP","YES")
37− ,("RTS ways","l debug thr thr_debug thr_l thr_p thr_debug_p debug_p")
38− ,("Tables next to code","YES")
39− ,("Leading underscore","NO")
40− ,("Use LibFFI","YES")
41− ,("Use Threads","YES")
42− ,("Use Debugging","NO")
43− ,("RTS expects libdw","NO")
44− ,("Project version","8.10.1")
45− ,("Project Git commit id","5c3cadf5db0d7eb859ff2c278ab07585c7df17b5")
46− ,("Booter version","8.6.5")
47− ,("Stage","1")
48− ,("Build platform","x86_64-unknown-linux")
49− ,("Host platform","x86_64-unknown-linux")
50− ,("Target platform","aarch64-unknown-linux")
51− ,("Have interpreter","YES")
52− ,("Object splitting supported","NO")
53− ,("Have native code generator","NO")
54− ,("Support dynamic-too","YES")
55− ,("Support parallel --make","YES")
56− ,("Support reexported-modules","YES")
57− ,("Support thinning and renaming package flags","YES")
58− ,("Support Backpack","YES")
59− ,("Requires unified installed package IDs","YES")
60− ,("Uses package keys","YES")
61− ,("Uses unit IDs","YES")
62− ,("Dynamic by default","NO")
63− ,("GHC Dynamic","NO")
64− ,("GHC Profiled","NO")
65− ,("Debug on","NO")
66− ]
materialized/dummy-ghc/aarch64-unknown-linux-gnu-aarch64-unknown-linux-gnu-ghc-8.10.1-x86_64-linux/ghc/numeric-versiondeleted−1
materialized/dummy-ghc/aarch64-unknown-linux-gnu-aarch64-unknown-linux-gnu-ghc-8.10.1-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.1-x86_64-linux/ghc/versiondeleted−1
@@ -1 +0,0 @@
1−The Glorious Glasgow Haskell Compilation System, version 8.10.1
materialized/dummy-ghc/aarch64-unknown-linux-gnu-aarch64-unknown-linux-gnu-ghc-8.10.2-x86_64-linux/ghc-pkg/dump-globaldeleted−1431
@@ -1,1431 +0,0 @@
1−name: Cabal
2−version: 3.2.0.0
3−visibility: public
4−id: Cabal-3.2.0.0
5−key: Cabal-3.2.0.0
6−license: BSD-3-Clause
7−copyright: 2003-2020, Cabal Development Team (see AUTHORS file)
8−maintainer: cabal-devel@haskell.org
9−author: Cabal Development Team <cabal-devel@haskell.org>
10−homepage: http://www.haskell.org/cabal/
11−synopsis: A framework for packaging Haskell software
12−description:
13− The Haskell Common Architecture for Building Applications and
14− Libraries: a framework defining a common interface for authors to more
15− easily build their Haskell applications in a portable way.
16− The Haskell Cabal is part of a larger infrastructure for distributing,
17− organizing, and cataloging Haskell libraries and tools.
18−category: Distribution
19−exposed: True
20−exposed-modules:
21− Distribution.Backpack Distribution.Backpack.ComponentsGraph
22− Distribution.Backpack.Configure
23− Distribution.Backpack.ConfiguredComponent
24− Distribution.Backpack.DescribeUnitId
25− Distribution.Backpack.FullUnitId
26− Distribution.Backpack.LinkedComponent
27− Distribution.Backpack.ModSubst Distribution.Backpack.ModuleShape
28− Distribution.Backpack.PreModuleShape Distribution.CabalSpecVersion
29− Distribution.Compat.Binary Distribution.Compat.CharParsing
30− Distribution.Compat.CreatePipe Distribution.Compat.DList
31− Distribution.Compat.Directory Distribution.Compat.Environment
32− Distribution.Compat.Exception Distribution.Compat.FilePath
33− Distribution.Compat.Graph Distribution.Compat.Internal.TempFile
34− Distribution.Compat.Lens Distribution.Compat.Newtype
35− Distribution.Compat.Parsing Distribution.Compat.Prelude.Internal
36− Distribution.Compat.ResponseFile Distribution.Compat.Semigroup
37− Distribution.Compat.Stack Distribution.Compat.Time
38− Distribution.Compat.Typeable Distribution.Compiler
39− Distribution.FieldGrammar Distribution.FieldGrammar.Class
40− Distribution.FieldGrammar.FieldDescrs
41− Distribution.FieldGrammar.Parsec Distribution.FieldGrammar.Pretty
42− Distribution.Fields Distribution.Fields.ConfVar
43− Distribution.Fields.Field Distribution.Fields.Lexer
44− Distribution.Fields.LexerMonad Distribution.Fields.ParseResult
45− Distribution.Fields.Parser Distribution.Fields.Pretty
46− Distribution.InstalledPackageInfo Distribution.License
47− Distribution.Make Distribution.ModuleName Distribution.Package
48− Distribution.PackageDescription
49− Distribution.PackageDescription.Check
50− Distribution.PackageDescription.Configuration
51− Distribution.PackageDescription.FieldGrammar
52− Distribution.PackageDescription.Parsec
53− Distribution.PackageDescription.PrettyPrint
54− Distribution.PackageDescription.Quirks
55− Distribution.PackageDescription.Utils Distribution.Parsec
56− Distribution.Parsec.Error Distribution.Parsec.FieldLineStream
57− Distribution.Parsec.Newtypes Distribution.Parsec.Position
58− Distribution.Parsec.Warning Distribution.Pretty Distribution.ReadE
59− Distribution.SPDX Distribution.SPDX.License
60− Distribution.SPDX.LicenseExceptionId
61− Distribution.SPDX.LicenseExpression Distribution.SPDX.LicenseId
62− Distribution.SPDX.LicenseListVersion
63− Distribution.SPDX.LicenseReference Distribution.Simple
64− Distribution.Simple.Bench Distribution.Simple.Build
65− Distribution.Simple.Build.Macros
66− Distribution.Simple.Build.PathsModule
67− Distribution.Simple.BuildPaths Distribution.Simple.BuildTarget
68− Distribution.Simple.BuildToolDepends Distribution.Simple.CCompiler
69− Distribution.Simple.Command Distribution.Simple.Compiler
70− Distribution.Simple.Configure Distribution.Simple.Doctest
71− Distribution.Simple.Flag Distribution.Simple.GHC
72− Distribution.Simple.GHCJS Distribution.Simple.Glob
73− Distribution.Simple.Haddock Distribution.Simple.HaskellSuite
74− Distribution.Simple.Hpc Distribution.Simple.Install
75− Distribution.Simple.InstallDirs
76− Distribution.Simple.InstallDirs.Internal
77− Distribution.Simple.LocalBuildInfo Distribution.Simple.PackageIndex
78− Distribution.Simple.PreProcess Distribution.Simple.PreProcess.Unlit
79− Distribution.Simple.Program Distribution.Simple.Program.Ar
80− Distribution.Simple.Program.Builtin Distribution.Simple.Program.Db
81− Distribution.Simple.Program.Find Distribution.Simple.Program.GHC
82− Distribution.Simple.Program.HcPkg Distribution.Simple.Program.Hpc
83− Distribution.Simple.Program.Internal Distribution.Simple.Program.Ld
84− Distribution.Simple.Program.ResponseFile
85− Distribution.Simple.Program.Run Distribution.Simple.Program.Script
86− Distribution.Simple.Program.Strip Distribution.Simple.Program.Types
87− Distribution.Simple.Register Distribution.Simple.Setup
88− Distribution.Simple.ShowBuildInfo Distribution.Simple.SrcDist
89− Distribution.Simple.Test Distribution.Simple.Test.ExeV10
90− Distribution.Simple.Test.LibV09 Distribution.Simple.Test.Log
91− Distribution.Simple.UHC Distribution.Simple.UserHooks
92− Distribution.Simple.Utils Distribution.System
93− Distribution.TestSuite Distribution.Text
94− Distribution.Types.AbiDependency Distribution.Types.AbiHash
95− Distribution.Types.AnnotatedId Distribution.Types.Benchmark
96− Distribution.Types.Benchmark.Lens
97− Distribution.Types.BenchmarkInterface
98− Distribution.Types.BenchmarkType Distribution.Types.BuildInfo
99− Distribution.Types.BuildInfo.Lens Distribution.Types.BuildType
100− Distribution.Types.Component Distribution.Types.ComponentId
101− Distribution.Types.ComponentInclude
102− Distribution.Types.ComponentLocalBuildInfo
103− Distribution.Types.ComponentName
104− Distribution.Types.ComponentRequestedSpec
105− Distribution.Types.CondTree Distribution.Types.Condition
106− Distribution.Types.ConfVar Distribution.Types.Dependency
107− Distribution.Types.DependencyMap Distribution.Types.ExeDependency
108− Distribution.Types.Executable Distribution.Types.Executable.Lens
109− Distribution.Types.ExecutableScope Distribution.Types.ExposedModule
110− Distribution.Types.Flag Distribution.Types.ForeignLib
111− Distribution.Types.ForeignLib.Lens
112− Distribution.Types.ForeignLibOption
113− Distribution.Types.ForeignLibType
114− Distribution.Types.GenericPackageDescription
115− Distribution.Types.GenericPackageDescription.Lens
116− Distribution.Types.GivenComponent
117− Distribution.Types.HookedBuildInfo
118− Distribution.Types.IncludeRenaming
119− Distribution.Types.InstalledPackageInfo
120− Distribution.Types.InstalledPackageInfo.FieldGrammar
121− Distribution.Types.InstalledPackageInfo.Lens
122− Distribution.Types.LegacyExeDependency Distribution.Types.Lens
123− Distribution.Types.Library Distribution.Types.Library.Lens
124− Distribution.Types.LibraryName Distribution.Types.LibraryVisibility
125− Distribution.Types.LocalBuildInfo Distribution.Types.Mixin
126− Distribution.Types.Module Distribution.Types.ModuleReexport
127− Distribution.Types.ModuleRenaming
128− Distribution.Types.MungedPackageId
129− Distribution.Types.MungedPackageName
130− Distribution.Types.PackageDescription
131− Distribution.Types.PackageDescription.Lens
132− Distribution.Types.PackageId Distribution.Types.PackageId.Lens
133− Distribution.Types.PackageName Distribution.Types.PackageName.Magic
134− Distribution.Types.PackageVersionConstraint
135− Distribution.Types.PkgconfigDependency
136− Distribution.Types.PkgconfigName
137− Distribution.Types.PkgconfigVersion
138− Distribution.Types.PkgconfigVersionRange
139− Distribution.Types.SetupBuildInfo
140− Distribution.Types.SetupBuildInfo.Lens
141− Distribution.Types.SourceRepo Distribution.Types.SourceRepo.Lens
142− Distribution.Types.TargetInfo Distribution.Types.TestSuite
143− Distribution.Types.TestSuite.Lens
144− Distribution.Types.TestSuiteInterface Distribution.Types.TestType
145− Distribution.Types.UnitId Distribution.Types.UnqualComponentName
146− Distribution.Types.Version Distribution.Types.VersionInterval
147− Distribution.Types.VersionRange
148− Distribution.Types.VersionRange.Internal Distribution.Utils.Generic
149− Distribution.Utils.IOData Distribution.Utils.LogProgress
150− Distribution.Utils.MD5 Distribution.Utils.MapAccum
151− Distribution.Utils.NubList Distribution.Utils.Progress
152− Distribution.Utils.ShortText Distribution.Utils.Structured
153− Distribution.Verbosity Distribution.Verbosity.Internal
154− Distribution.Version Language.Haskell.Extension
155−hidden-modules:
156− Distribution.Backpack.PreExistingComponent
157− Distribution.Backpack.ReadyComponent Distribution.Backpack.MixLink
158− Distribution.Backpack.ModuleScope Distribution.Backpack.UnifyM
159− Distribution.Backpack.Id Distribution.Utils.UnionFind
160− Distribution.Utils.Base62 Distribution.Compat.Async
161− Distribution.Compat.CopyFile Distribution.Compat.GetShortPathName
162− Distribution.Compat.MonadFail Distribution.Compat.Prelude
163− Distribution.Compat.SnocList Distribution.GetOpt Distribution.Lex
164− Distribution.Utils.String Distribution.Simple.GHC.EnvironmentParser
165− Distribution.Simple.GHC.Internal Distribution.Simple.GHC.ImplInfo
166− Distribution.Simple.Utils.Json Paths_Cabal
167−import-dirs:
168−library-dirs:
169−dynamic-library-dirs:
170−data-dir:
171−hs-libraries: HSCabal-3.2.0.0
172−depends:
173− array-0.5.4.0 base-4.14.1.0 binary-0.8.8.0 bytestring-0.10.10.0
174− containers-0.6.2.1 deepseq-1.4.4.0 directory-1.3.6.0
175− filepath-1.4.2.1 mtl-2.2.2 parsec-3.1.14.0 pretty-1.1.3.6
176− process-1.6.9.0 text-1.2.3.2 time-1.9.3 transformers-0.5.6.2
177− unix-2.7.2.2
178−haddock-interfaces:
179−haddock-html:
180−---
181−name: array
182−version: 0.5.4.0
183−visibility: public
184−id: array-0.5.4.0
185−key: array-0.5.4.0
186−license: BSD-3-Clause
187−maintainer: libraries@haskell.org
188−synopsis: Mutable and immutable arrays
189−description:
190− In addition to providing the "Data.Array" module
191− <http://www.haskell.org/onlinereport/haskell2010/haskellch14.html as specified in the Haskell 2010 Language Report>,
192− this package also defines the classes 'IArray' of
193− immutable arrays and 'MArray' of arrays mutable within appropriate
194− monads, as well as some instances of these classes.
195−category: Data Structures
196−exposed: True
197−exposed-modules:
198− Data.Array Data.Array.Base Data.Array.IArray Data.Array.IO
199− Data.Array.IO.Internals Data.Array.IO.Safe Data.Array.MArray
200− Data.Array.MArray.Safe Data.Array.ST Data.Array.ST.Safe
201− Data.Array.Storable Data.Array.Storable.Internals
202− Data.Array.Storable.Safe Data.Array.Unboxed Data.Array.Unsafe
203−import-dirs:
204−library-dirs:
205−dynamic-library-dirs:
206−data-dir:
207−hs-libraries: HSarray-0.5.4.0
208−depends: base-4.14.1.0
209−haddock-interfaces:
210−haddock-html:
211−---
212−name: base
213−version: 4.14.1.0
214−visibility: public
215−id: base-4.14.1.0
216−key: base-4.14.1.0
217−license: BSD-3-Clause
218−maintainer: libraries@haskell.org
219−synopsis: Basic libraries
220−description:
221− This package contains the Standard Haskell "Prelude" and its support libraries,
222− and a large collection of useful libraries ranging from data
223− structures to parsing combinators and debugging utilities.
224−category: Prelude
225−exposed: True
226−exposed-modules:
227− Control.Applicative Control.Arrow Control.Category
228− Control.Concurrent Control.Concurrent.Chan Control.Concurrent.MVar
229− Control.Concurrent.QSem Control.Concurrent.QSemN Control.Exception
230− Control.Exception.Base Control.Monad Control.Monad.Fail
231− Control.Monad.Fix Control.Monad.IO.Class Control.Monad.Instances
232− Control.Monad.ST Control.Monad.ST.Lazy Control.Monad.ST.Lazy.Safe
233− Control.Monad.ST.Lazy.Unsafe Control.Monad.ST.Safe
234− Control.Monad.ST.Strict Control.Monad.ST.Unsafe Control.Monad.Zip
235− Data.Bifoldable Data.Bifunctor Data.Bitraversable Data.Bits
236− Data.Bool Data.Char Data.Coerce Data.Complex Data.Data Data.Dynamic
237− Data.Either Data.Eq Data.Fixed Data.Foldable Data.Function
238− Data.Functor Data.Functor.Classes Data.Functor.Compose
239− Data.Functor.Const Data.Functor.Contravariant Data.Functor.Identity
240− Data.Functor.Product Data.Functor.Sum Data.IORef Data.Int Data.Ix
241− Data.Kind Data.List Data.List.NonEmpty Data.Maybe Data.Monoid
242− Data.Ord Data.Proxy Data.Ratio Data.STRef Data.STRef.Lazy
243− Data.STRef.Strict Data.Semigroup Data.String Data.Traversable
244− Data.Tuple Data.Type.Bool Data.Type.Coercion Data.Type.Equality
245− Data.Typeable Data.Unique Data.Version Data.Void Data.Word
246− Debug.Trace Foreign Foreign.C Foreign.C.Error Foreign.C.String
247− Foreign.C.Types Foreign.Concurrent Foreign.ForeignPtr
248− Foreign.ForeignPtr.Safe Foreign.ForeignPtr.Unsafe Foreign.Marshal
249− Foreign.Marshal.Alloc Foreign.Marshal.Array Foreign.Marshal.Error
250− Foreign.Marshal.Pool Foreign.Marshal.Safe Foreign.Marshal.Unsafe
251− Foreign.Marshal.Utils Foreign.Ptr Foreign.Safe Foreign.StablePtr
252− Foreign.Storable GHC.Arr GHC.Base GHC.ByteOrder GHC.Char GHC.Clock
253− GHC.Conc GHC.Conc.IO GHC.Conc.Signal GHC.Conc.Sync
254− GHC.ConsoleHandler GHC.Constants GHC.Desugar GHC.Enum
255− GHC.Environment GHC.Err GHC.Event GHC.Exception GHC.Exception.Type
256− GHC.ExecutionStack GHC.ExecutionStack.Internal GHC.Exts
257− GHC.Fingerprint GHC.Fingerprint.Type GHC.Float
258− GHC.Float.ConversionUtils GHC.Float.RealFracMethods GHC.Foreign
259− GHC.ForeignPtr GHC.GHCi GHC.GHCi.Helpers GHC.Generics GHC.IO
260− GHC.IO.Buffer GHC.IO.BufferedIO GHC.IO.Device GHC.IO.Encoding
261− GHC.IO.Encoding.CodePage GHC.IO.Encoding.Failure
262− GHC.IO.Encoding.Iconv GHC.IO.Encoding.Latin1 GHC.IO.Encoding.Types
263− GHC.IO.Encoding.UTF16 GHC.IO.Encoding.UTF32 GHC.IO.Encoding.UTF8
264− GHC.IO.Exception GHC.IO.FD GHC.IO.Handle GHC.IO.Handle.FD
265− GHC.IO.Handle.Internals GHC.IO.Handle.Lock GHC.IO.Handle.Text
266− GHC.IO.Handle.Types GHC.IO.IOMode GHC.IO.Unsafe GHC.IOArray
267− GHC.IORef GHC.Int GHC.Ix GHC.List GHC.MVar GHC.Maybe GHC.Natural
268− GHC.Num GHC.OldList GHC.OverloadedLabels GHC.Pack GHC.Profiling
269− GHC.Ptr GHC.RTS.Flags GHC.Read GHC.Real GHC.Records
270− GHC.ResponseFile GHC.ST GHC.STRef GHC.Show GHC.Stable
271− GHC.StableName GHC.Stack GHC.Stack.CCS GHC.Stack.Types
272− GHC.StaticPtr GHC.Stats GHC.Storable GHC.TopHandler GHC.TypeLits
273− GHC.TypeNats GHC.Unicode GHC.Weak GHC.Word Numeric Numeric.Natural
274− Prelude System.CPUTime System.Console.GetOpt System.Environment
275− System.Environment.Blank System.Exit System.IO System.IO.Error
276− System.IO.Unsafe System.Info System.Mem System.Mem.StableName
277− System.Mem.Weak System.Posix.Internals System.Posix.Types
278− System.Timeout Text.ParserCombinators.ReadP
279− Text.ParserCombinators.ReadPrec Text.Printf Text.Read Text.Read.Lex
280− Text.Show Text.Show.Functions Type.Reflection
281− Type.Reflection.Unsafe Unsafe.Coerce
282−hidden-modules:
283− Control.Monad.ST.Imp Control.Monad.ST.Lazy.Imp Data.Functor.Utils
284− Data.OldList Data.Semigroup.Internal Data.Typeable.Internal
285− Foreign.ForeignPtr.Imp GHC.IO.Handle.Lock.Common
286− GHC.IO.Handle.Lock.Flock GHC.IO.Handle.Lock.LinuxOFD
287− GHC.IO.Handle.Lock.NoOp GHC.IO.Handle.Lock.Windows
288− GHC.StaticPtr.Internal System.Environment.ExecutablePath
289− System.CPUTime.Utils GHC.Event.Arr GHC.Event.Array
290− GHC.Event.Control GHC.Event.EPoll GHC.Event.IntTable
291− GHC.Event.Internal GHC.Event.KQueue GHC.Event.Manager GHC.Event.PSQ
292− GHC.Event.Poll GHC.Event.Thread GHC.Event.TimerManager
293− GHC.Event.Unique System.CPUTime.Posix.ClockGetTime
294− System.CPUTime.Posix.Times System.CPUTime.Posix.RUsage
295− System.CPUTime.Unsupported
296−import-dirs:
297−library-dirs:
298−dynamic-library-dirs:
299−data-dir:
300−hs-libraries: HSbase-4.14.1.0
301−include-dirs:
302−includes: HsBase.h
303−depends: ghc-prim-0.6.1 integer-gmp-1.0.3.0 rts
304−haddock-interfaces:
305−haddock-html:
306−---
307−name: binary
308−version: 0.8.8.0
309−visibility: public
310−id: binary-0.8.8.0
311−key: binary-0.8.8.0
312−license: BSD-3-Clause
313−maintainer: Lennart Kolmodin, Don Stewart <dons00@gmail.com>
314−author: Lennart Kolmodin <kolmodin@gmail.com>
315−stability: provisional
316−homepage: https://github.com/kolmodin/binary
317−synopsis:
318− Binary serialisation for Haskell values using lazy ByteStrings
319−description:
320− Efficient, pure binary serialisation using lazy ByteStrings.
321− Haskell values may be encoded to and from binary formats,
322− written to disk as binary, or sent over the network.
323− The format used can be automatically generated, or
324− you can choose to implement a custom format if needed.
325− Serialisation speeds of over 1 G\/sec have been observed,
326− so this library should be suitable for high performance
327− scenarios.
328−category: Data, Parsing
329−exposed: True
330−exposed-modules:
331− Data.Binary Data.Binary.Builder Data.Binary.Get
332− Data.Binary.Get.Internal Data.Binary.Put
333−hidden-modules:
334− Data.Binary.Class Data.Binary.Internal Data.Binary.Generic
335− Data.Binary.FloatCast
336−import-dirs:
337−library-dirs:
338−dynamic-library-dirs:
339−data-dir:
340−hs-libraries: HSbinary-0.8.8.0
341−depends:
342− array-0.5.4.0 base-4.14.1.0 bytestring-0.10.10.0 containers-0.6.2.1
343−haddock-interfaces:
344−haddock-html:
345−---
346−name: bytestring
347−version: 0.10.10.0
348−visibility: public
349−id: bytestring-0.10.10.0
350−key: bytestring-0.10.10.0
351−license: BSD-3-Clause
352−copyright:
353− Copyright (c) Don Stewart 2005-2009,
354− (c) Duncan Coutts 2006-2015,
355− (c) David Roundy 2003-2005,
356− (c) Jasper Van der Jeugt 2010,
357− (c) Simon Meier 2010-2013.
358−maintainer: Duncan Coutts <duncan@community.haskell.org>
359−author:
360− Don Stewart,
361− Duncan Coutts
362−homepage: https://github.com/haskell/bytestring
363−synopsis:
364− Fast, compact, strict and lazy byte strings with a list interface
365−description:
366− An efficient compact, immutable byte string type (both strict and lazy)
367− suitable for binary or 8-bit character data.
368− The 'ByteString' type represents sequences of bytes or 8-bit characters.
369− It is suitable for high performance use, both in terms of large data
370− quantities, or high speed requirements. The 'ByteString' functions follow
371− the same style as Haskell\'s ordinary lists, so it is easy to convert code
372− from using 'String' to 'ByteString'.
373− Two 'ByteString' variants are provided:
374− * Strict 'ByteString's keep the string as a single large array. This
375− makes them convenient for passing data between C and Haskell.
376− * Lazy 'ByteString's use a lazy list of strict chunks which makes it
377− suitable for I\/O streaming tasks.
378− The @Char8@ modules provide a character-based view of the same
379− underlying 'ByteString' types. This makes it convenient to handle mixed
380− binary and 8-bit character content (which is common in many file formats
381− and network protocols).
382− The 'Builder' module provides an efficient way to build up 'ByteString's
383− in an ad-hoc way by repeated concatenation. This is ideal for fast
384− serialisation or pretty printing.
385− There is also a 'ShortByteString' type which has a lower memory overhead
386− and can can be converted to or from a 'ByteString', but supports very few
387− other operations. It is suitable for keeping many short strings in memory.
388− 'ByteString's are not designed for Unicode. For Unicode strings you should
389− use the 'Text' type from the @text@ package.
390− These modules are intended to be imported qualified, to avoid name clashes
391− with "Prelude" functions, e.g.
392− > import qualified Data.ByteString as BS
393−category: Data
394−exposed: True
395−exposed-modules:
396− Data.ByteString Data.ByteString.Builder
397− Data.ByteString.Builder.Extra Data.ByteString.Builder.Internal
398− Data.ByteString.Builder.Prim Data.ByteString.Builder.Prim.Internal
399− Data.ByteString.Char8 Data.ByteString.Internal Data.ByteString.Lazy
400− Data.ByteString.Lazy.Builder Data.ByteString.Lazy.Builder.ASCII
401− Data.ByteString.Lazy.Builder.Extras Data.ByteString.Lazy.Char8
402− Data.ByteString.Lazy.Internal Data.ByteString.Short
403− Data.ByteString.Short.Internal Data.ByteString.Unsafe
404−hidden-modules:
405− Data.ByteString.Builder.ASCII Data.ByteString.Builder.Prim.Binary
406− Data.ByteString.Builder.Prim.ASCII
407− Data.ByteString.Builder.Prim.Internal.Floating
408− Data.ByteString.Builder.Prim.Internal.UncheckedShifts
409− Data.ByteString.Builder.Prim.Internal.Base16
410−import-dirs:
411−library-dirs:
412−dynamic-library-dirs:
413−data-dir:
414−hs-libraries: HSbytestring-0.10.10.0
415−include-dirs:
416−includes: fpstring.h
417−depends:
418− base-4.14.1.0 deepseq-1.4.4.0 ghc-prim-0.6.1 integer-gmp-1.0.3.0
419−haddock-interfaces:
420−haddock-html:
421−---
422−name: containers
423−version: 0.6.2.1
424−visibility: public
425−id: containers-0.6.2.1
426−key: containers-0.6.2.1
427−license: BSD-3-Clause
428−maintainer: libraries@haskell.org
429−synopsis: Assorted concrete container types
430−description:
431− This package contains efficient general-purpose implementations
432− of various immutable container types including sets, maps, sequences,
433− trees, and graphs.
434− For a walkthrough of what this package provides with examples of common
435− operations see the [containers
436− introduction](https://haskell-containers.readthedocs.io).
437− The declared cost of each operation is either worst-case or amortized, but
438− remains valid even if structures are shared.
439−category: Data Structures
440−exposed: True
441−exposed-modules:
442− Data.Containers.ListUtils Data.Graph Data.IntMap
443− Data.IntMap.Internal Data.IntMap.Internal.Debug Data.IntMap.Lazy
444− Data.IntMap.Merge.Lazy Data.IntMap.Merge.Strict Data.IntMap.Strict
445− Data.IntMap.Strict.Internal Data.IntSet Data.IntSet.Internal
446− Data.Map Data.Map.Internal Data.Map.Internal.Debug Data.Map.Lazy
447− Data.Map.Merge.Lazy Data.Map.Merge.Strict Data.Map.Strict
448− Data.Map.Strict.Internal Data.Sequence Data.Sequence.Internal
449− Data.Sequence.Internal.Sorting Data.Set Data.Set.Internal Data.Tree
450− Utils.Containers.Internal.BitQueue
451− Utils.Containers.Internal.BitUtil
452− Utils.Containers.Internal.StrictPair
453−hidden-modules:
454− Utils.Containers.Internal.State
455− Utils.Containers.Internal.StrictMaybe
456− Utils.Containers.Internal.PtrEquality
457− Utils.Containers.Internal.Coercions
458− Utils.Containers.Internal.TypeError
459− Data.Map.Internal.DeprecatedShowTree
460− Data.IntMap.Internal.DeprecatedDebug
461−import-dirs:
462−library-dirs:
463−dynamic-library-dirs:
464−data-dir:
465−hs-libraries: HScontainers-0.6.2.1
466−depends: array-0.5.4.0 base-4.14.1.0 deepseq-1.4.4.0
467−haddock-interfaces:
468−haddock-html:
469−---
470−name: deepseq
471−version: 1.4.4.0
472−visibility: public
473−id: deepseq-1.4.4.0
474−key: deepseq-1.4.4.0
475−license: BSD-3-Clause
476−maintainer: libraries@haskell.org
477−synopsis: Deep evaluation of data structures
478−description:
479− This package provides methods for fully evaluating data structures
480− (\"deep evaluation\"). Deep evaluation is often used for adding
481− strictness to a program, e.g. in order to force pending exceptions,
482− remove space leaks, or force lazy I/O to happen. It is also useful
483− in parallel programs, to ensure pending work does not migrate to the
484− wrong thread.
485− The primary use of this package is via the 'deepseq' function, a
486− \"deep\" version of 'seq'. It is implemented on top of an 'NFData'
487− typeclass (\"Normal Form Data\", data structures with no unevaluated
488− components) which defines strategies for fully evaluating different
489− data types. See module documentation in "Control.DeepSeq" for more
490− details.
491−category: Control
492−exposed: True
493−exposed-modules: Control.DeepSeq
494−hidden-modules: Control.DeepSeq.BackDoor
495−import-dirs:
496−library-dirs:
497−dynamic-library-dirs:
498−data-dir:
499−hs-libraries: HSdeepseq-1.4.4.0
500−depends: array-0.5.4.0 base-4.14.1.0
501−haddock-interfaces:
502−haddock-html:
503−---
504−name: directory
505−version: 1.3.6.0
506−visibility: public
507−id: directory-1.3.6.0
508−key: directory-1.3.6.0
509−license: BSD-3-Clause
510−maintainer: libraries@haskell.org
511−synopsis: Platform-agnostic library for filesystem operations
512−description:
513− This library provides a basic set of operations for manipulating files and
514− directories in a portable way.
515−category: System
516−exposed: True
517−exposed-modules:
518− System.Directory System.Directory.Internal
519− System.Directory.Internal.Prelude
520−hidden-modules:
521− System.Directory.Internal.C_utimensat
522− System.Directory.Internal.Common System.Directory.Internal.Config
523− System.Directory.Internal.Posix System.Directory.Internal.Windows
524−import-dirs:
525−library-dirs:
526−dynamic-library-dirs:
527−data-dir:
528−hs-libraries: HSdirectory-1.3.6.0
529−depends:
530− base-4.14.1.0 filepath-1.4.2.1 time-1.9.3 unix-2.7.2.2
531−haddock-interfaces:
532−haddock-html:
533−---
534−name: exceptions
535−version: 0.10.4
536−visibility: public
537−id: exceptions-0.10.4
538−key: exceptions-0.10.4
539−license: BSD-3-Clause
540−copyright:
541− Copyright (C) 2013-2015 Edward A. Kmett
542− Copyright (C) 2012 Google Inc.
543−maintainer: Edward A. Kmett <ekmett@gmail.com>
544−author: Edward A. Kmett
545−stability: provisional
546−homepage: http://github.com/ekmett/exceptions/
547−synopsis: Extensible optionally-pure exceptions
548−description: Extensible optionally-pure exceptions.
549−category: Control, Exceptions, Monad
550−exposed: True
551−exposed-modules: Control.Monad.Catch Control.Monad.Catch.Pure
552−import-dirs:
553−library-dirs:
554−dynamic-library-dirs:
555−data-dir:
556−hs-libraries: HSexceptions-0.10.4
557−depends:
558− base-4.14.1.0 mtl-2.2.2 stm-2.5.0.0 template-haskell-2.16.0.0
559− transformers-0.5.6.2
560−haddock-interfaces:
561−haddock-html:
562−---
563−name: filepath
564−version: 1.4.2.1
565−visibility: public
566−id: filepath-1.4.2.1
567−key: filepath-1.4.2.1
568−license: BSD-3-Clause
569−copyright: Neil Mitchell 2005-2018
570−maintainer: Neil Mitchell <ndmitchell@gmail.com>
571−author: Neil Mitchell <ndmitchell@gmail.com>
572−homepage: https://github.com/haskell/filepath#readme
573−synopsis: Library for manipulating FilePaths in a cross platform way.
574−description:
575− 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:
576− * "System.FilePath.Posix" manipulates POSIX\/Linux style @FilePath@ values (with @\/@ as the path separator).
577− * "System.FilePath.Windows" manipulates Windows style @FilePath@ values (with either @\\@ or @\/@ as the path separator, and deals with drives).
578− * "System.FilePath" is an alias for the module appropriate to your platform.
579− All three modules provide the same API, and the same documentation (calling out differences in the different variants).
580−category: System
581−exposed: True
582−exposed-modules:
583− System.FilePath System.FilePath.Posix System.FilePath.Windows
584−import-dirs:
585−library-dirs:
586−dynamic-library-dirs:
587−data-dir:
588−hs-libraries: HSfilepath-1.4.2.1
589−depends: base-4.14.1.0
590−haddock-interfaces:
591−haddock-html:
592−---
593−name: ghc-boot
594−version: 8.10.2
595−visibility: public
596−id: ghc-boot-8.10.2
597−key: ghc-boot-8.10.2
598−license: BSD-3-Clause
599−maintainer: ghc-devs@haskell.org
600−synopsis: Shared functionality between GHC and its boot libraries
601−description:
602− This library is shared between GHC, ghc-pkg, and other boot
603− libraries.
604− A note about "GHC.PackageDb": it only deals with the subset of
605− the package database that the compiler cares about: modules
606− paths etc and not package metadata like description, authors
607− etc. It is thus not a library interface to ghc-pkg and is *not*
608− suitable for modifying GHC package databases.
609− The package database format and this library are constructed in
610− such a way that while ghc-pkg depends on Cabal, the GHC library
611− and program do not have to depend on Cabal.
612−category: GHC
613−exposed: True
614−exposed-modules:
615− GHC.BaseDir GHC.ForeignSrcLang GHC.HandleEncoding
616− GHC.LanguageExtensions GHC.PackageDb GHC.Platform GHC.Platform.Host
617− GHC.Serialized GHC.Settings GHC.UniqueSubdir GHC.Version
618−import-dirs:
619−library-dirs:
620−dynamic-library-dirs:
621−data-dir:
622−hs-libraries: HSghc-boot-8.10.2
623−depends:
624− base-4.14.1.0 binary-0.8.8.0 bytestring-0.10.10.0
625− containers-0.6.2.1 directory-1.3.6.0 filepath-1.4.2.1
626− ghc-boot-th-8.10.2
627−haddock-interfaces:
628−haddock-html:
629−---
630−name: ghc-boot-th
631−version: 8.10.2
632−visibility: public
633−id: ghc-boot-th-8.10.2
634−key: ghc-boot-th-8.10.2
635−license: BSD-3-Clause
636−maintainer: ghc-devs@haskell.org
637−synopsis:
638− Shared functionality between GHC and the @template-haskell@
639− library
640−description:
641− This library contains various bits shared between the @ghc@ and
642− @template-haskell@ libraries.
643− This package exists to ensure that @template-haskell@ has a
644− minimal set of transitive dependencies, since it is intended to
645− be depended upon by user code.
646−category: GHC
647−exposed: True
648−exposed-modules:
649− GHC.ForeignSrcLang.Type GHC.LanguageExtensions.Type GHC.Lexeme
650−import-dirs:
651−library-dirs:
652−dynamic-library-dirs:
653−data-dir:
654−hs-libraries: HSghc-boot-th-8.10.2
655−depends: base-4.14.1.0
656−haddock-interfaces:
657−haddock-html:
658−---
659−name: ghc-compact
660−version: 0.1.0.0
661−visibility: public
662−id: ghc-compact-0.1.0.0
663−key: ghc-compact-0.1.0.0
664−license: BSD-3-Clause
665−maintainer: libraries@haskell.org
666−synopsis: In memory storage of deeply evaluated data structure
667−description:
668− This package provides minimal functionality for working with
669− "compact regions", which hold a fully evaluated Haskell object graph.
670− These regions maintain the invariant that no pointers live inside the struct
671− that point outside it, which ensures efficient garbage collection without
672− ever reading the structure contents (effectively, it works as a manually
673− managed "oldest generation" which is never freed until the whole is
674− released).
675− Internally, the struct is stored a single contiguous block of memory,
676− which allows efficient serialization and deserialization of structs
677− for distributed computing.
678−category: Data
679−exposed: True
680−exposed-modules: GHC.Compact GHC.Compact.Serialized
681−import-dirs:
682−library-dirs:
683−dynamic-library-dirs:
684−data-dir:
685−hs-libraries: HSghc-compact-0.1.0.0
686−depends: base-4.14.1.0 bytestring-0.10.10.0 ghc-prim-0.6.1
687−haddock-interfaces:
688−haddock-html:
689−---
690−name: ghc-heap
691−version: 8.10.2
692−visibility: public
693−id: ghc-heap-8.10.2
694−key: ghc-heap-8.10.2
695−license: BSD-3-Clause
696−maintainer: libraries@haskell.org
697−synopsis: Functions for walking GHC's heap
698−description:
699− This package provides functions for walking the GHC heap data structures
700− and retrieving information about those data structures.
701−category: GHC
702−exposed: True
703−exposed-modules:
704− GHC.Exts.Heap GHC.Exts.Heap.ClosureTypes GHC.Exts.Heap.Closures
705− GHC.Exts.Heap.Constants GHC.Exts.Heap.InfoTable
706− GHC.Exts.Heap.InfoTable.Types GHC.Exts.Heap.InfoTableProf
707− GHC.Exts.Heap.Utils
708−import-dirs:
709−library-dirs:
710−dynamic-library-dirs:
711−data-dir:
712−hs-libraries: HSghc-heap-8.10.2
713−depends: base-4.14.1.0 ghc-prim-0.6.1 rts
714−haddock-interfaces:
715−haddock-html:
716−---
717−name: ghc-prim
718−version: 0.6.1
719−visibility: public
720−id: ghc-prim-0.6.1
721−key: ghc-prim-0.6.1
722−license: BSD-3-Clause
723−maintainer: libraries@haskell.org
724−synopsis: GHC primitives
725−description:
726− This package contains the primitive types and operations supplied by GHC.
727−category: GHC
728−exposed: True
729−exposed-modules:
730− GHC.CString GHC.Classes GHC.Debug GHC.IntWord64 GHC.Magic
731− GHC.Prim.Ext GHC.PrimopWrappers GHC.Tuple GHC.Types GHC.Prim
732−import-dirs:
733−library-dirs:
734−dynamic-library-dirs:
735−data-dir:
736−hs-libraries: HSghc-prim-0.6.1
737−extra-libraries: c m
738−depends: rts
739−haddock-interfaces:
740−haddock-html:
741−---
742−name: ghci
743−version: 8.10.2
744−visibility: public
745−id: ghci-8.10.2
746−key: ghci-8.10.2
747−license: BSD-3-Clause
748−maintainer: ghc-devs@haskell.org
749−synopsis: The library supporting GHC's interactive interpreter
750−description:
751− This library offers interfaces which mediate interactions between the
752− @ghci@ interactive shell and @iserv@, GHC's out-of-process interpreter
753− backend.
754−category: GHC
755−exposed: True
756−exposed-modules:
757− GHCi.BinaryArray GHCi.BreakArray GHCi.CreateBCO GHCi.FFI
758− GHCi.InfoTable GHCi.Message GHCi.ObjLink GHCi.RemoteTypes
759− GHCi.ResolvedBCO GHCi.Run GHCi.Signals GHCi.StaticPtrTable GHCi.TH
760− GHCi.TH.Binary SizedSeq
761−import-dirs:
762−library-dirs:
763−dynamic-library-dirs:
764−data-dir:
765−hs-libraries: HSghci-8.10.2
766−include-dirs:
767−depends:
768− array-0.5.4.0 base-4.14.1.0 binary-0.8.8.0 bytestring-0.10.10.0
769− containers-0.6.2.1 deepseq-1.4.4.0 filepath-1.4.2.1 ghc-boot-8.10.2
770− ghc-boot-th-8.10.2 ghc-heap-8.10.2 template-haskell-2.16.0.0
771− transformers-0.5.6.2 unix-2.7.2.2
772−haddock-interfaces:
773−haddock-html:
774−---
775−name: haskeline
776−version: 0.8.0.1
777−visibility: public
778−id: haskeline-0.8.0.1
779−key: haskeline-0.8.0.1
780−license: BSD-3-Clause
781−copyright: (c) Judah Jacobson
782−maintainer: Judah Jacobson <judah.jacobson@gmail.com>
783−author: Judah Jacobson
784−stability: Stable
785−homepage: https://github.com/judah/haskeline
786−synopsis:
787− A command-line interface for user input, written in Haskell.
788−description:
789− Haskeline provides a user interface for line input in command-line
790− programs. This library is similar in purpose to readline, but since
791− it is written in Haskell it is (hopefully) more easily used in other
792− Haskell programs.
793− Haskeline runs both on POSIX-compatible systems and on Windows.
794−category: User Interfaces
795−exposed: True
796−exposed-modules:
797− System.Console.Haskeline System.Console.Haskeline.Completion
798− System.Console.Haskeline.History System.Console.Haskeline.IO
799− System.Console.Haskeline.Internal
800−hidden-modules:
801− System.Console.Haskeline.Backend
802− System.Console.Haskeline.Backend.WCWidth
803− System.Console.Haskeline.Command
804− System.Console.Haskeline.Command.Completion
805− System.Console.Haskeline.Command.History
806− System.Console.Haskeline.Command.KillRing
807− System.Console.Haskeline.Directory System.Console.Haskeline.Emacs
808− System.Console.Haskeline.InputT System.Console.Haskeline.Key
809− System.Console.Haskeline.LineState System.Console.Haskeline.Monads
810− System.Console.Haskeline.Prefs System.Console.Haskeline.Recover
811− System.Console.Haskeline.RunCommand System.Console.Haskeline.Term
812− System.Console.Haskeline.Command.Undo System.Console.Haskeline.Vi
813− System.Console.Haskeline.Backend.Posix
814− System.Console.Haskeline.Backend.Posix.Encoder
815− System.Console.Haskeline.Backend.DumbTerm
816−import-dirs:
817−library-dirs:
818−dynamic-library-dirs:
819−data-dir:
820−hs-libraries: HShaskeline-0.8.0.1
821−depends:
822− base-4.14.1.0 bytestring-0.10.10.0 containers-0.6.2.1
823− directory-1.3.6.0 exceptions-0.10.4 filepath-1.4.2.1
824− process-1.6.9.0 stm-2.5.0.0 transformers-0.5.6.2 unix-2.7.2.2
825−haddock-interfaces:
826−haddock-html:
827−---
828−name: hpc
829−version: 0.6.1.0
830−visibility: public
831−id: hpc-0.6.1.0
832−key: hpc-0.6.1.0
833−license: BSD-3-Clause
834−maintainer: ghc-devs@haskell.org
835−author: Andy Gill
836−synopsis: Code Coverage Library for Haskell
837−description:
838− This package provides the code coverage library for Haskell.
839− See <http://www.haskell.org/haskellwiki/Haskell_program_coverage> for more
840− information.
841−category: Control
842−exposed: True
843−exposed-modules:
844− Trace.Hpc.Mix Trace.Hpc.Reflect Trace.Hpc.Tix Trace.Hpc.Util
845−import-dirs:
846−library-dirs:
847−dynamic-library-dirs:
848−data-dir:
849−hs-libraries: HShpc-0.6.1.0
850−depends:
851− base-4.14.1.0 containers-0.6.2.1 deepseq-1.4.4.0 directory-1.3.6.0
852− filepath-1.4.2.1 time-1.9.3
853−haddock-interfaces:
854−haddock-html:
855−---
856−name: integer-gmp
857−version: 1.0.3.0
858−visibility: public
859−id: integer-gmp-1.0.3.0
860−key: integer-gmp-1.0.3.0
861−license: BSD-3-Clause
862−maintainer: hvr@gnu.org
863−author: Herbert Valerio Riedel
864−synopsis: Integer library based on GMP
865−description:
866− This package provides the low-level implementation of the standard
867− 'Integer' type based on the
868− <http://gmplib.org/ GNU Multiple Precision Arithmetic Library (GMP)>.
869− This package provides access to the internal representation of
870− 'Integer' as well as primitive operations with no proper error
871− handling, and should only be used directly with the utmost care.
872−category: Numeric, Algebra
873−exposed: True
874−exposed-modules:
875− GHC.Integer GHC.Integer.GMP.Internals GHC.Integer.Logarithms
876− GHC.Integer.Logarithms.Internals
877−hidden-modules: GHC.Integer.Type
878−import-dirs:
879−library-dirs:
880−dynamic-library-dirs:
881−data-dir:
882−hs-libraries: HSinteger-gmp-1.0.3.0
883−extra-libraries: gmp
884−include-dirs:
885−depends: ghc-prim-0.6.1
886−haddock-interfaces:
887−haddock-html:
888−---
889−name: libiserv
890−version: 8.10.2
891−visibility: public
892−id: libiserv-8.10.2
893−key: libiserv-8.10.2
894−license: BSD-3-Clause
895−copyright: XXX
896−maintainer: XXX
897−author: XXX
898−synopsis: Provides shared functionality between iserv and iserv-proxy
899−category: Development
900−exposed: True
901−exposed-modules: GHCi.Utils Lib
902−import-dirs:
903−library-dirs:
904−dynamic-library-dirs:
905−data-dir:
906−hs-libraries: HSlibiserv-8.10.2
907−depends:
908− base-4.14.1.0 binary-0.8.8.0 bytestring-0.10.10.0
909− containers-0.6.2.1 deepseq-1.4.4.0 ghci-8.10.2 unix-2.7.2.2
910−haddock-interfaces:
911−haddock-html:
912−---
913−name: mtl
914−version: 2.2.2
915−visibility: public
916−id: mtl-2.2.2
917−key: mtl-2.2.2
918−license: BSD-3-Clause
919−maintainer: Edward Kmett <ekmett@gmail.com>
920−author: Andy Gill
921−homepage: http://github.com/haskell/mtl
922−synopsis: Monad classes, using functional dependencies
923−description:
924− Monad classes using functional dependencies, with instances
925− for various monad transformers, inspired by the paper
926− /Functional Programming with Overloading and Higher-Order Polymorphism/,
927− by Mark P Jones, in /Advanced School of Functional Programming/, 1995
928− (<http://web.cecs.pdx.edu/~mpj/pubs/springschool.html>).
929−category: Control
930−exposed: True
931−exposed-modules:
932− Control.Monad.Cont Control.Monad.Cont.Class Control.Monad.Error
933− Control.Monad.Error.Class Control.Monad.Except
934− Control.Monad.Identity Control.Monad.List Control.Monad.RWS
935− Control.Monad.RWS.Class Control.Monad.RWS.Lazy
936− Control.Monad.RWS.Strict Control.Monad.Reader
937− Control.Monad.Reader.Class Control.Monad.State
938− Control.Monad.State.Class Control.Monad.State.Lazy
939− Control.Monad.State.Strict Control.Monad.Trans Control.Monad.Writer
940− Control.Monad.Writer.Class Control.Monad.Writer.Lazy
941− Control.Monad.Writer.Strict
942−import-dirs:
943−library-dirs:
944−dynamic-library-dirs:
945−data-dir:
946−hs-libraries: HSmtl-2.2.2
947−depends: base-4.14.1.0 transformers-0.5.6.2
948−haddock-interfaces:
949−haddock-html:
950−---
951−name: parsec
952−version: 3.1.14.0
953−visibility: public
954−id: parsec-3.1.14.0
955−key: parsec-3.1.14.0
956−license: BSD-3-Clause
957−maintainer: Herbert Valerio Riedel <hvr@gnu.org>
958−author:
959− Daan Leijen <daan@microsoft.com>, Paolo Martini <paolo@nemail.it>, Antoine Latter <aslatter@gmail.com>
960−homepage: https://github.com/haskell/parsec
961−synopsis: Monadic parser combinators
962−description:
963− Parsec is designed from scratch as an industrial-strength parser
964− library. It is simple, safe, well documented (on the package
965− homepage), has extensive libraries, good error messages,
966− and is fast. It is defined as a monad transformer that can be
967− stacked on arbitrary monads, and it is also parametric in the
968− input stream type.
969− The main entry point is the "Text.Parsec" module which provides
970− defaults for parsing 'Char'acter data.
971− The "Text.ParserCombinators.Parsec" module hierarchy contains
972− the legacy @parsec-2@ API and may be removed at some point in
973− the future.
974−category: Parsing
975−exposed: True
976−exposed-modules:
977− Text.Parsec Text.Parsec.ByteString Text.Parsec.ByteString.Lazy
978− Text.Parsec.Char Text.Parsec.Combinator Text.Parsec.Error
979− Text.Parsec.Expr Text.Parsec.Language Text.Parsec.Perm
980− Text.Parsec.Pos Text.Parsec.Prim Text.Parsec.String
981− Text.Parsec.Text Text.Parsec.Text.Lazy Text.Parsec.Token
982− Text.ParserCombinators.Parsec Text.ParserCombinators.Parsec.Char
983− Text.ParserCombinators.Parsec.Combinator
984− Text.ParserCombinators.Parsec.Error
985− Text.ParserCombinators.Parsec.Expr
986− Text.ParserCombinators.Parsec.Language
987− Text.ParserCombinators.Parsec.Perm
988− Text.ParserCombinators.Parsec.Pos
989− Text.ParserCombinators.Parsec.Prim
990− Text.ParserCombinators.Parsec.Token
991−import-dirs:
992−library-dirs:
993−dynamic-library-dirs:
994−data-dir:
995−hs-libraries: HSparsec-3.1.14.0
996−depends:
997− base-4.14.1.0 bytestring-0.10.10.0 mtl-2.2.2 text-1.2.3.2
998−haddock-interfaces:
999−haddock-html:
1000−---
1001−name: pretty
1002−version: 1.1.3.6
1003−visibility: public
1004−id: pretty-1.1.3.6
1005−key: pretty-1.1.3.6
1006−license: BSD-3-Clause
1007−maintainer: David Terei <code@davidterei.com>
1008−stability: Stable
1009−homepage: http://github.com/haskell/pretty
1010−synopsis: Pretty-printing library
1011−description:
1012− This package contains a pretty-printing library, a set of API's
1013− that provides a way to easily print out text in a consistent
1014− format of your choosing. This is useful for compilers and related
1015− tools.
1016− This library was originally designed by John Hughes's and has since
1017− been heavily modified by Simon Peyton Jones.
1018−category: Text
1019−exposed: True
1020−exposed-modules:
1021− Text.PrettyPrint Text.PrettyPrint.Annotated
1022− Text.PrettyPrint.Annotated.HughesPJ
1023− Text.PrettyPrint.Annotated.HughesPJClass Text.PrettyPrint.HughesPJ
1024− Text.PrettyPrint.HughesPJClass
1025−import-dirs:
1026−library-dirs:
1027−dynamic-library-dirs:
1028−data-dir:
1029−hs-libraries: HSpretty-1.1.3.6
1030−depends: base-4.14.1.0 deepseq-1.4.4.0 ghc-prim-0.6.1
1031−haddock-interfaces:
1032−haddock-html:
1033−---
1034−name: process
1035−version: 1.6.9.0
1036−visibility: public
1037−id: process-1.6.9.0
1038−key: process-1.6.9.0
1039−license: BSD-3-Clause
1040−maintainer: libraries@haskell.org
1041−synopsis: Process libraries
1042−description:
1043− This package contains libraries for dealing with system processes.
1044− The typed-process package is a more recent take on a process API,
1045− which uses this package internally. It features better binary
1046− support, easier concurrency, and a more composable API. You can
1047− read more about it at
1048− <https://github.com/fpco/typed-process/#readme>.
1049−category: System
1050−exposed: True
1051−exposed-modules: System.Cmd System.Process System.Process.Internals
1052−hidden-modules: System.Process.Common System.Process.Posix
1053−import-dirs:
1054−library-dirs:
1055−dynamic-library-dirs:
1056−data-dir:
1057−hs-libraries: HSprocess-1.6.9.0
1058−include-dirs:
1059−includes: runProcess.h
1060−depends:
1061− base-4.14.1.0 deepseq-1.4.4.0 directory-1.3.6.0 filepath-1.4.2.1
1062− unix-2.7.2.2
1063−haddock-interfaces:
1064−haddock-html:
1065−---
1066−name: stm
1067−version: 2.5.0.0
1068−visibility: public
1069−id: stm-2.5.0.0
1070−key: stm-2.5.0.0
1071−license: BSD-3-Clause
1072−maintainer: libraries@haskell.org
1073−homepage: https://wiki.haskell.org/Software_transactional_memory
1074−synopsis: Software Transactional Memory
1075−description:
1076− Software Transactional Memory, or STM, is an abstraction for
1077− concurrent communication. The main benefits of STM are
1078− /composability/ and /modularity/. That is, using STM you can write
1079− concurrent abstractions that can be easily composed with any other
1080− abstraction built using STM, without exposing the details of how
1081− your abstraction ensures safety. This is typically not the case
1082− with other forms of concurrent communication, such as locks or
1083− 'MVar's.
1084−category: Concurrency
1085−exposed: True
1086−exposed-modules:
1087− Control.Concurrent.STM Control.Concurrent.STM.TArray
1088− Control.Concurrent.STM.TBQueue Control.Concurrent.STM.TChan
1089− Control.Concurrent.STM.TMVar Control.Concurrent.STM.TQueue
1090− Control.Concurrent.STM.TSem Control.Concurrent.STM.TVar
1091− Control.Monad.STM
1092−hidden-modules: Control.Sequential.STM
1093−import-dirs:
1094−library-dirs:
1095−dynamic-library-dirs:
1096−data-dir:
1097−hs-libraries: HSstm-2.5.0.0
1098−depends: array-0.5.4.0 base-4.14.1.0
1099−haddock-interfaces:
1100−haddock-html:
1101−---
1102−name: template-haskell
1103−version: 2.16.0.0
1104−visibility: public
1105−id: template-haskell-2.16.0.0
1106−key: template-haskell-2.16.0.0
1107−license: BSD-3-Clause
1108−maintainer: libraries@haskell.org
1109−synopsis: Support library for Template Haskell
1110−description:
1111− This package provides modules containing facilities for manipulating
1112− Haskell source code using Template Haskell.
1113− See <http://www.haskell.org/haskellwiki/Template_Haskell> for more
1114− information.
1115−category: Template Haskell
1116−exposed: True
1117−exposed-modules:
1118− Language.Haskell.TH Language.Haskell.TH.LanguageExtensions
1119− Language.Haskell.TH.Lib Language.Haskell.TH.Lib.Internal
1120− Language.Haskell.TH.Ppr Language.Haskell.TH.PprLib
1121− Language.Haskell.TH.Quote Language.Haskell.TH.Syntax
1122−hidden-modules: Language.Haskell.TH.Lib.Map
1123−import-dirs:
1124−library-dirs:
1125−dynamic-library-dirs:
1126−data-dir:
1127−hs-libraries: HStemplate-haskell-2.16.0.0
1128−depends:
1129− base-4.14.1.0 ghc-boot-th-8.10.2 ghc-prim-0.6.1 pretty-1.1.3.6
1130−haddock-interfaces:
1131−haddock-html:
1132−---
1133−name: text
1134−version: 1.2.3.2
1135−visibility: public
1136−id: text-1.2.3.2
1137−key: text-1.2.3.2
1138−license: BSD-2-Clause
1139−copyright: 2009-2011 Bryan O'Sullivan, 2008-2009 Tom Harper
1140−maintainer:
1141− Bryan O'Sullivan <bos@serpentine.com>, Herbert Valerio Riedel <hvr@gnu.org>
1142−author: Bryan O'Sullivan <bos@serpentine.com>
1143−homepage: https://github.com/haskell/text
1144−synopsis: An efficient packed Unicode text type.
1145−description:
1146− An efficient packed, immutable Unicode text type (both strict and
1147− lazy), with a powerful loop fusion optimization framework.
1148− The 'Text' type represents Unicode character strings, in a time and
1149− space-efficient manner. This package provides text processing
1150− capabilities that are optimized for performance critical use, both
1151− in terms of large data quantities and high speed.
1152− The 'Text' type provides character-encoding, type-safe case
1153− conversion via whole-string case conversion functions (see "Data.Text").
1154− It also provides a range of functions for converting 'Text' values to
1155− and from 'ByteStrings', using several standard encodings
1156− (see "Data.Text.Encoding").
1157− Efficient locale-sensitive support for text IO is also supported
1158− (see "Data.Text.IO").
1159− These modules are intended to be imported qualified, to avoid name
1160− clashes with Prelude functions, e.g.
1161− > import qualified Data.Text as T
1162− To use an extended and very rich family of functions for working
1163− with Unicode text (including normalization, regular expressions,
1164− non-standard encodings, text breaking, and locales), see
1165− the [text-icu package](https://hackage.haskell.org/package/text-icu)
1166− based on the well-respected and liberally
1167− licensed [ICU library](http://site.icu-project.org/).
1168−category: Data, Text
1169−exposed: True
1170−exposed-modules:
1171− Data.Text Data.Text.Array Data.Text.Encoding
1172− Data.Text.Encoding.Error Data.Text.Foreign Data.Text.IO
1173− Data.Text.Internal Data.Text.Internal.Builder
1174− Data.Text.Internal.Builder.Functions
1175− Data.Text.Internal.Builder.Int.Digits
1176− Data.Text.Internal.Builder.RealFloat.Functions
1177− Data.Text.Internal.Encoding.Fusion
1178− Data.Text.Internal.Encoding.Fusion.Common
1179− Data.Text.Internal.Encoding.Utf16 Data.Text.Internal.Encoding.Utf32
1180− Data.Text.Internal.Encoding.Utf8 Data.Text.Internal.Functions
1181− Data.Text.Internal.Fusion Data.Text.Internal.Fusion.CaseMapping
1182− Data.Text.Internal.Fusion.Common Data.Text.Internal.Fusion.Size
1183− Data.Text.Internal.Fusion.Types Data.Text.Internal.IO
1184− Data.Text.Internal.Lazy Data.Text.Internal.Lazy.Encoding.Fusion
1185− Data.Text.Internal.Lazy.Fusion Data.Text.Internal.Lazy.Search
1186− Data.Text.Internal.Private Data.Text.Internal.Read
1187− Data.Text.Internal.Search Data.Text.Internal.Unsafe
1188− Data.Text.Internal.Unsafe.Char Data.Text.Internal.Unsafe.Shift
1189− Data.Text.Lazy Data.Text.Lazy.Builder Data.Text.Lazy.Builder.Int
1190− Data.Text.Lazy.Builder.RealFloat Data.Text.Lazy.Encoding
1191− Data.Text.Lazy.IO Data.Text.Lazy.Internal Data.Text.Lazy.Read
1192− Data.Text.Read Data.Text.Unsafe
1193−hidden-modules: Data.Text.Show
1194−import-dirs:
1195−library-dirs:
1196−dynamic-library-dirs:
1197−data-dir:
1198−hs-libraries: HStext-1.2.3.2
1199−depends:
1200− array-0.5.4.0 base-4.14.1.0 binary-0.8.8.0 bytestring-0.10.10.0
1201− deepseq-1.4.4.0 ghc-prim-0.6.1 integer-gmp-1.0.3.0
1202−haddock-interfaces:
1203−haddock-html:
1204−---
1205−name: time
1206−version: 1.9.3
1207−visibility: public
1208−id: time-1.9.3
1209−key: time-1.9.3
1210−license: BSD-3-Clause
1211−maintainer: <ashley@semantic.org>
1212−author: Ashley Yakeley
1213−stability: stable
1214−homepage: https://github.com/haskell/time
1215−synopsis: A time library
1216−description: Time, clocks and calendars
1217−category: Time
1218−exposed: True
1219−exposed-modules:
1220− Data.Time Data.Time.Calendar Data.Time.Calendar.Easter
1221− Data.Time.Calendar.Julian Data.Time.Calendar.MonthDay
1222− Data.Time.Calendar.OrdinalDate Data.Time.Calendar.WeekDate
1223− Data.Time.Clock Data.Time.Clock.POSIX Data.Time.Clock.System
1224− Data.Time.Clock.TAI Data.Time.Format Data.Time.Format.ISO8601
1225− Data.Time.Format.Internal Data.Time.LocalTime
1226−hidden-modules:
1227− Data.Format Data.Time.Calendar.Private Data.Time.Calendar.Days
1228− Data.Time.Calendar.Gregorian Data.Time.Calendar.CalendarDiffDays
1229− Data.Time.Calendar.Week Data.Time.Calendar.JulianYearDay
1230− Data.Time.Clock.Internal.DiffTime
1231− Data.Time.Clock.Internal.AbsoluteTime
1232− Data.Time.Clock.Internal.NominalDiffTime
1233− Data.Time.Clock.Internal.POSIXTime
1234− Data.Time.Clock.Internal.UniversalTime
1235− Data.Time.Clock.Internal.SystemTime
1236− Data.Time.Clock.Internal.UTCTime Data.Time.Clock.Internal.CTimeval
1237− Data.Time.Clock.Internal.CTimespec Data.Time.Clock.Internal.UTCDiff
1238− Data.Time.LocalTime.Internal.TimeZone
1239− Data.Time.LocalTime.Internal.TimeOfDay
1240− Data.Time.LocalTime.Internal.CalendarDiffTime
1241− Data.Time.LocalTime.Internal.LocalTime
1242− Data.Time.LocalTime.Internal.ZonedTime Data.Time.Format.Parse
1243− Data.Time.Format.Locale Data.Time.Format.Format.Class
1244− Data.Time.Format.Format.Instances Data.Time.Format.Parse.Class
1245− Data.Time.Format.Parse.Instances
1246−import-dirs:
1247−library-dirs:
1248−dynamic-library-dirs:
1249−data-dir:
1250−hs-libraries: HStime-1.9.3
1251−include-dirs:
1252−depends: base-4.14.1.0 deepseq-1.4.4.0
1253−haddock-interfaces:
1254−haddock-html:
1255−---
1256−name: transformers
1257−version: 0.5.6.2
1258−visibility: public
1259−id: transformers-0.5.6.2
1260−key: transformers-0.5.6.2
1261−license: BSD-3-Clause
1262−maintainer: Ross Paterson <R.Paterson@city.ac.uk>
1263−author: Andy Gill, Ross Paterson
1264−synopsis: Concrete functor and monad transformers
1265−description:
1266− A portable library of functor and monad transformers, inspired by
1267− the paper
1268− * \"Functional Programming with Overloading and Higher-Order
1269− Polymorphism\", by Mark P Jones,
1270− in /Advanced School of Functional Programming/, 1995
1271− (<http://web.cecs.pdx.edu/~mpj/pubs/springschool.html>).
1272− This package contains:
1273− * the monad transformer class (in "Control.Monad.Trans.Class")
1274− * concrete functor and monad transformers, each with associated
1275− operations and functions to lift operations associated with other
1276− transformers.
1277− The package can be used on its own in portable Haskell code, in
1278− which case operations need to be manually lifted through transformer
1279− stacks (see "Control.Monad.Trans.Class" for some examples).
1280− Alternatively, it can be used with the non-portable monad classes in
1281− the @mtl@ or @monads-tf@ packages, which automatically lift operations
1282− introduced by monad transformers through other transformers.
1283−category: Control
1284−exposed: True
1285−exposed-modules:
1286− Control.Applicative.Backwards Control.Applicative.Lift
1287− Control.Monad.Signatures Control.Monad.Trans.Accum
1288− Control.Monad.Trans.Class Control.Monad.Trans.Cont
1289− Control.Monad.Trans.Error Control.Monad.Trans.Except
1290− Control.Monad.Trans.Identity Control.Monad.Trans.List
1291− Control.Monad.Trans.Maybe Control.Monad.Trans.RWS
1292− Control.Monad.Trans.RWS.CPS Control.Monad.Trans.RWS.Lazy
1293− Control.Monad.Trans.RWS.Strict Control.Monad.Trans.Reader
1294− Control.Monad.Trans.Select Control.Monad.Trans.State
1295− Control.Monad.Trans.State.Lazy Control.Monad.Trans.State.Strict
1296− Control.Monad.Trans.Writer Control.Monad.Trans.Writer.CPS
1297− Control.Monad.Trans.Writer.Lazy Control.Monad.Trans.Writer.Strict
1298− Data.Functor.Constant Data.Functor.Reverse
1299−import-dirs:
1300−library-dirs:
1301−dynamic-library-dirs:
1302−data-dir:
1303−hs-libraries: HStransformers-0.5.6.2
1304−depends: base-4.14.1.0
1305−haddock-interfaces:
1306−haddock-html:
1307−---
1308−name: unix
1309−version: 2.7.2.2
1310−visibility: public
1311−id: unix-2.7.2.2
1312−key: unix-2.7.2.2
1313−license: BSD-3-Clause
1314−maintainer: libraries@haskell.org
1315−homepage: https://github.com/haskell/unix
1316−synopsis: POSIX functionality
1317−description:
1318− This package gives you access to the set of operating system
1319− services standardised by
1320− <http://pubs.opengroup.org/onlinepubs/9699919799/ POSIX.1-2008>
1321− (or the IEEE Portable Operating System Interface for Computing
1322− Environments - IEEE Std. 1003.1).
1323− The package is not supported under Windows.
1324−category: System
1325−exposed: True
1326−exposed-modules:
1327− System.Posix System.Posix.ByteString
1328− System.Posix.ByteString.FilePath System.Posix.Directory
1329− System.Posix.Directory.ByteString System.Posix.DynamicLinker
1330− System.Posix.DynamicLinker.ByteString
1331− System.Posix.DynamicLinker.Module
1332− System.Posix.DynamicLinker.Module.ByteString
1333− System.Posix.DynamicLinker.Prim System.Posix.Env
1334− System.Posix.Env.ByteString System.Posix.Error System.Posix.Fcntl
1335− System.Posix.Files System.Posix.Files.ByteString System.Posix.IO
1336− System.Posix.IO.ByteString System.Posix.Process
1337− System.Posix.Process.ByteString System.Posix.Process.Internals
1338− System.Posix.Resource System.Posix.Semaphore System.Posix.SharedMem
1339− System.Posix.Signals System.Posix.Signals.Exts System.Posix.Temp
1340− System.Posix.Temp.ByteString System.Posix.Terminal
1341− System.Posix.Terminal.ByteString System.Posix.Time
1342− System.Posix.Unistd System.Posix.User
1343−hidden-modules:
1344− System.Posix.Directory.Common System.Posix.DynamicLinker.Common
1345− System.Posix.Files.Common System.Posix.IO.Common
1346− System.Posix.Process.Common System.Posix.Terminal.Common
1347−import-dirs:
1348−library-dirs:
1349−dynamic-library-dirs:
1350−data-dir:
1351−hs-libraries: HSunix-2.7.2.2
1352−extra-libraries: rt util dl pthread
1353−include-dirs:
1354−includes: HsUnix.h execvpe.h
1355−depends: base-4.14.1.0 bytestring-0.10.10.0 time-1.9.3
1356−haddock-interfaces:
1357−haddock-html:
1358−---
1359−name: rts
1360−version: 1.0
1361−visibility: public
1362−id: rts
1363−key: rts
1364−license: BSD-3-Clause
1365−maintainer: glasgow-haskell-users@haskell.org
1366−exposed: True
1367−library-dirs:
1368−hs-libraries: HSrts
1369−extra-libraries: m rt dl ffi numa pthread
1370−include-dirs:
1371−includes: Stg.h
1372−ld-options:
1373− "-Wl,-u,base_GHCziTopHandler_runIO_closure"
1374− "-Wl,-u,base_GHCziTopHandler_runNonIO_closure"
1375− "-Wl,-u,ghczmprim_GHCziTuple_Z0T_closure"
1376− "-Wl,-u,ghczmprim_GHCziTypes_True_closure"
1377− "-Wl,-u,ghczmprim_GHCziTypes_False_closure"
1378− "-Wl,-u,base_GHCziPack_unpackCString_closure"
1379− "-Wl,-u,base_GHCziWeak_runFinalizzerBatch_closure"
1380− "-Wl,-u,base_GHCziIOziException_stackOverflow_closure"
1381− "-Wl,-u,base_GHCziIOziException_heapOverflow_closure"
1382− "-Wl,-u,base_GHCziIOziException_allocationLimitExceeded_closure"
1383− "-Wl,-u,base_GHCziIOziException_blockedIndefinitelyOnMVar_closure"
1384− "-Wl,-u,base_GHCziIOziException_blockedIndefinitelyOnSTM_closure"
1385− "-Wl,-u,base_GHCziIOziException_cannotCompactFunction_closure"
1386− "-Wl,-u,base_GHCziIOziException_cannotCompactPinned_closure"
1387− "-Wl,-u,base_GHCziIOziException_cannotCompactMutable_closure"
1388− "-Wl,-u,base_ControlziExceptionziBase_absentSumFieldError_closure"
1389− "-Wl,-u,base_ControlziExceptionziBase_nonTermination_closure"
1390− "-Wl,-u,base_ControlziExceptionziBase_nestedAtomically_closure"
1391− "-Wl,-u,base_GHCziEventziThread_blockedOnBadFD_closure"
1392− "-Wl,-u,base_GHCziConcziSync_runSparks_closure"
1393− "-Wl,-u,base_GHCziConcziIO_ensureIOManagerIsRunning_closure"
1394− "-Wl,-u,base_GHCziConcziIO_ioManagerCapabilitiesChanged_closure"
1395− "-Wl,-u,base_GHCziConcziSignal_runHandlersPtr_closure"
1396− "-Wl,-u,base_GHCziTopHandler_flushStdHandles_closure"
1397− "-Wl,-u,base_GHCziTopHandler_runMainIO_closure"
1398− "-Wl,-u,ghczmprim_GHCziTypes_Czh_con_info"
1399− "-Wl,-u,ghczmprim_GHCziTypes_Izh_con_info"
1400− "-Wl,-u,ghczmprim_GHCziTypes_Fzh_con_info"
1401− "-Wl,-u,ghczmprim_GHCziTypes_Dzh_con_info"
1402− "-Wl,-u,ghczmprim_GHCziTypes_Wzh_con_info"
1403− "-Wl,-u,base_GHCziPtr_Ptr_con_info"
1404− "-Wl,-u,base_GHCziPtr_FunPtr_con_info"
1405− "-Wl,-u,base_GHCziInt_I8zh_con_info"
1406− "-Wl,-u,base_GHCziInt_I16zh_con_info"
1407− "-Wl,-u,base_GHCziInt_I32zh_con_info"
1408− "-Wl,-u,base_GHCziInt_I64zh_con_info"
1409− "-Wl,-u,base_GHCziWord_W8zh_con_info"
1410− "-Wl,-u,base_GHCziWord_W16zh_con_info"
1411− "-Wl,-u,base_GHCziWord_W32zh_con_info"
1412− "-Wl,-u,base_GHCziWord_W64zh_con_info"
1413− "-Wl,-u,base_GHCziStable_StablePtr_con_info"
1414− "-Wl,-u,hs_atomic_add8" "-Wl,-u,hs_atomic_add16"
1415− "-Wl,-u,hs_atomic_add32" "-Wl,-u,hs_atomic_add64"
1416− "-Wl,-u,hs_atomic_sub8" "-Wl,-u,hs_atomic_sub16"
1417− "-Wl,-u,hs_atomic_sub32" "-Wl,-u,hs_atomic_sub64"
1418− "-Wl,-u,hs_atomic_and8" "-Wl,-u,hs_atomic_and16"
1419− "-Wl,-u,hs_atomic_and32" "-Wl,-u,hs_atomic_and64"
1420− "-Wl,-u,hs_atomic_nand8" "-Wl,-u,hs_atomic_nand16"
1421− "-Wl,-u,hs_atomic_nand32" "-Wl,-u,hs_atomic_nand64"
1422− "-Wl,-u,hs_atomic_or8" "-Wl,-u,hs_atomic_or16"
1423− "-Wl,-u,hs_atomic_or32" "-Wl,-u,hs_atomic_or64"
1424− "-Wl,-u,hs_atomic_xor8" "-Wl,-u,hs_atomic_xor16"
1425− "-Wl,-u,hs_atomic_xor32" "-Wl,-u,hs_atomic_xor64"
1426− "-Wl,-u,hs_cmpxchg8" "-Wl,-u,hs_cmpxchg16" "-Wl,-u,hs_cmpxchg32"
1427− "-Wl,-u,hs_cmpxchg64" "-Wl,-u,hs_atomicread8"
1428− "-Wl,-u,hs_atomicread16" "-Wl,-u,hs_atomicread32"
1429− "-Wl,-u,hs_atomicread64" "-Wl,-u,hs_atomicwrite8"
1430− "-Wl,-u,hs_atomicwrite16" "-Wl,-u,hs_atomicwrite32"
1431− "-Wl,-u,hs_atomicwrite64"
materialized/dummy-ghc/aarch64-unknown-linux-gnu-aarch64-unknown-linux-gnu-ghc-8.10.2-x86_64-linux/ghc-pkg/versiondeleted−1
@@ -1 +0,0 @@
1−GHC package manager version 8.10.2
materialized/dummy-ghc/aarch64-unknown-linux-gnu-aarch64-unknown-linux-gnu-ghc-8.10.2-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− ,("touch command","touch")
17− ,("dllwrap command","/bin/false")
18− ,("windres command","/bin/false")
19− ,("libtool command","libtool")
20− ,("cross compiling","YES")
21− ,("target platform string","aarch64-unknown-linux")
22− ,("target os","OSLinux")
23− ,("target arch","ArchARM64")
24− ,("target word size","8")
25− ,("target has GNU nonexec stack","YES")
26− ,("target has .ident directive","YES")
27− ,("target has subsections via symbols","NO")
28− ,("target has RTS linker","YES")
29− ,("Unregisterised","NO")
30− ,("LLVM target","aarch64-unknown-linux")
31− ,("LLVM llc command","llc")
32− ,("LLVM opt command","opt")
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.2")
46− ,("Project Git commit id","29204b1c4f52ea34d84da33593052ee839293bf2")
47− ,("Booter version","8.6.5")
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.2-x86_64-linux/ghc/numeric-versiondeleted−1
materialized/dummy-ghc/aarch64-unknown-linux-gnu-aarch64-unknown-linux-gnu-ghc-8.10.2-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.2-x86_64-linux/ghc/versiondeleted−1
@@ -1 +0,0 @@
1−The Glorious Glasgow Haskell Compilation System, version 8.10.2
materialized/dummy-ghc/aarch64-unknown-linux-gnu-aarch64-unknown-linux-gnu-ghc-8.10.3-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.3-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.3-x86_64-linux/ghc/infodeleted−69
This diff is too big to show here.
materialized/dummy-ghc/aarch64-unknown-linux-gnu-aarch64-unknown-linux-gnu-ghc-8.10.3-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.3-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.3-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.4-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.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-8.10.4-x86_64-linux/ghc/infodeleted−69
This diff is too big to show here.
materialized/dummy-ghc/aarch64-unknown-linux-gnu-aarch64-unknown-linux-gnu-ghc-8.10.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-8.10.4-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.4-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.4.20210212-x86_64-linux/ghc-pkg/dump-globaldeleted−1446
This diff is too big to show here.
materialized/dummy-ghc/aarch64-unknown-linux-gnu-aarch64-unknown-linux-gnu-ghc-8.10.4.20210212-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.4.20210212-x86_64-linux/ghc/infodeleted−69
This diff is too big to show here.
materialized/dummy-ghc/aarch64-unknown-linux-gnu-aarch64-unknown-linux-gnu-ghc-8.10.4.20210212-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.4.20210212-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.4.20210212-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.5-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.5-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.5-x86_64-linux/ghc/infodeleted−69
This diff is too big to show here.
materialized/dummy-ghc/aarch64-unknown-linux-gnu-aarch64-unknown-linux-gnu-ghc-8.10.5-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.5-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.5-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.6-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.6-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.6-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.6-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.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.6.5-x86_64-linux/ghc-pkg/dump-globaldeleted−1221
This diff is too big to show here.
materialized/dummy-ghc/aarch64-unknown-linux-gnu-aarch64-unknown-linux-gnu-ghc-8.6.5-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.6.5-x86_64-linux/ghc/infodeleted−57
This diff is too big to show here.
materialized/dummy-ghc/aarch64-unknown-linux-gnu-aarch64-unknown-linux-gnu-ghc-8.6.5-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.6.5-x86_64-linux/ghc/supported-languagesdeleted−247
This diff is too big to show here.
materialized/dummy-ghc/aarch64-unknown-linux-gnu-aarch64-unknown-linux-gnu-ghc-8.6.5-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.3-x86_64-linux/ghc-pkg/dump-globaldeleted−1403
This diff is too big to show here.
materialized/dummy-ghc/aarch64-unknown-linux-gnu-aarch64-unknown-linux-gnu-ghc-8.8.3-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.8.3-x86_64-linux/ghc/infodeleted−57
This diff is too big to show here.
materialized/dummy-ghc/aarch64-unknown-linux-gnu-aarch64-unknown-linux-gnu-ghc-8.8.3-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.8.3-x86_64-linux/ghc/supported-languagesdeleted−247
This diff is too big to show here.
materialized/dummy-ghc/aarch64-unknown-linux-gnu-aarch64-unknown-linux-gnu-ghc-8.8.3-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-pkg/dump-globaldeleted−1404
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-pkg/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/infodeleted−55
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/numeric-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/supported-languagesdeleted−247
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/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-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.1-x86_64-darwin/ghc-pkg/dump-globaldeleted−1625
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.10.1-x86_64-darwin/ghc-pkg/versiondeleted−1
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.10.1-x86_64-darwin/ghc/infodeleted−66
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.10.1-x86_64-darwin/ghc/numeric-versiondeleted−1
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.10.1-x86_64-darwin/ghc/supported-languagesdeleted−255
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.10.1-x86_64-darwin/ghc/versiondeleted−1
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.10.1-x86_64-linux/ghc-pkg/dump-globaldeleted−1625
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.10.1-x86_64-linux/ghc-pkg/versiondeleted−1
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.10.1-x86_64-linux/ghc/infodeleted−66
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.10.1-x86_64-linux/ghc/numeric-versiondeleted−1
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.10.1-x86_64-linux/ghc/supported-languagesdeleted−255
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.10.1-x86_64-linux/ghc/versiondeleted−1
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.10.2-x86_64-darwin/ghc-pkg/dump-globaldeleted−1626
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.10.2-x86_64-darwin/ghc-pkg/versiondeleted−1
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.10.2-x86_64-darwin/ghc/infodeleted−67
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.10.2-x86_64-darwin/ghc/numeric-versiondeleted−1
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.10.2-x86_64-darwin/ghc/supported-languagesdeleted−255
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.10.2-x86_64-darwin/ghc/versiondeleted−1
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.10.2-x86_64-linux/ghc-pkg/dump-globaldeleted−1627
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.10.2-x86_64-linux/ghc-pkg/versiondeleted−1
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.10.2-x86_64-linux/ghc/infodeleted−73
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.10.2-x86_64-linux/ghc/numeric-versiondeleted−1
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.10.2-x86_64-linux/ghc/supported-languagesdeleted−255
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.10.2-x86_64-linux/ghc/versiondeleted−1
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-globaldeleted−1469
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.4.4-x86_64-darwin/ghc-pkg/versiondeleted−1
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.4.4-x86_64-darwin/ghc/infodeleted−62
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.4.4-x86_64-darwin/ghc/numeric-versiondeleted−1
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.4.4-x86_64-darwin/ghc/supported-languagesdeleted−235
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.4.4-x86_64-darwin/ghc/versiondeleted−1
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.4.4-x86_64-linux/ghc-pkg/dump-globaldeleted−1471
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.4.4-x86_64-linux/ghc-pkg/versiondeleted−1
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.4.4-x86_64-linux/ghc/infodeleted−62
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.4.4-x86_64-linux/ghc/numeric-versiondeleted−1
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.4.4-x86_64-linux/ghc/supported-languagesdeleted−235
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.4.4-x86_64-linux/ghc/versiondeleted−1
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.6.5-x86_64-darwin/ghc-pkg/dump-globaldeleted−1386
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.6.5-x86_64-darwin/ghc-pkg/versiondeleted−1
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.6.5-x86_64-darwin/ghc/infodeleted−62
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.6.5-x86_64-darwin/ghc/numeric-versiondeleted−1
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.6.5-x86_64-darwin/ghc/supported-languagesdeleted−247
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.6.5-x86_64-darwin/ghc/versiondeleted−1
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.6.5-x86_64-linux/ghc-pkg/dump-globaldeleted−1386
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.6.5-x86_64-linux/ghc-pkg/versiondeleted−1
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.6.5-x86_64-linux/ghc/infodeleted−62
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.6.5-x86_64-linux/ghc/numeric-versiondeleted−1
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.6.5-x86_64-linux/ghc/supported-languagesdeleted−247
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.6.5-x86_64-linux/ghc/versiondeleted−1
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.8.2-x86_64-darwin/ghc-pkg/dump-globaldeleted−1591
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.8.2-x86_64-darwin/ghc-pkg/versiondeleted−1
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.8.2-x86_64-darwin/ghc/infodeleted−62
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.8.2-x86_64-darwin/ghc/numeric-versiondeleted−1
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.8.2-x86_64-darwin/ghc/supported-languagesdeleted−247
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.8.2-x86_64-darwin/ghc/versiondeleted−1
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.8.2-x86_64-linux/ghc-pkg/dump-globaldeleted−1591
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.8.2-x86_64-linux/ghc-pkg/versiondeleted−1
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.8.2-x86_64-linux/ghc/infodeleted−62
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.8.2-x86_64-linux/ghc/numeric-versiondeleted−1
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.8.2-x86_64-linux/ghc/supported-languagesdeleted−247
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.8.2-x86_64-linux/ghc/versiondeleted−1
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.8.3-aarch64-linux/ghc-pkg/dump-globaldeleted−1591
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.8.3-aarch64-linux/ghc-pkg/versiondeleted−1
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.8.3-aarch64-linux/ghc/infodeleted−60
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.8.3-aarch64-linux/ghc/numeric-versiondeleted−1
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.8.3-aarch64-linux/ghc/supported-languagesdeleted−247
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-pkg/dump-globaldeleted−1591
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.8.3-x86_64-darwin/ghc-pkg/versiondeleted−1
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.8.3-x86_64-darwin/ghc/infodeleted−62
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.8.3-x86_64-darwin/ghc/numeric-versiondeleted−1
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.8.3-x86_64-darwin/ghc/supported-languagesdeleted−247
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.8.3-x86_64-darwin/ghc/versiondeleted−1
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.8.3-x86_64-linux/ghc-pkg/dump-globaldeleted−1591
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.8.3-x86_64-linux/ghc-pkg/versiondeleted−1
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.8.3-x86_64-linux/ghc/infodeleted−62
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.8.3-x86_64-linux/ghc/numeric-versiondeleted−1
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.8.3-x86_64-linux/ghc/supported-languagesdeleted−247
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.8.3-x86_64-linux/ghc/versiondeleted−1
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-pkg/dump-globaldeleted−1591
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.8.4-x86_64-darwin/ghc-pkg/versiondeleted−1
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.8.4-x86_64-darwin/ghc/infodeleted−62
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.8.4-x86_64-darwin/ghc/numeric-versiondeleted−1
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.8.4-x86_64-darwin/ghc/supported-languagesdeleted−247
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.8.4-x86_64-darwin/ghc/versiondeleted−1
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.8.4-x86_64-linux/ghc-pkg/dump-globaldeleted−1592
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.8.4-x86_64-linux/ghc-pkg/versiondeleted−1
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.8.4-x86_64-linux/ghc/infodeleted−62
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.8.4-x86_64-linux/ghc/numeric-versiondeleted−1
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.8.4-x86_64-linux/ghc/supported-languagesdeleted−247
This diff is too big to show here.
materialized/dummy-ghc/ghc-8.8.4-x86_64-linux/ghc/versiondeleted−1
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-darwin/ghc-pkg/dump-globaldeleted−1183
This diff is too big to show here.
materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.6.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.6.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.6.5-x86_64-darwin/ghc/infodeleted−58
This diff is too big to show here.
materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.6.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.6.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.6.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.6.5-x86_64-darwin/ghc/supported-languagesdeleted−247
This diff is too big to show here.
materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.6.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.6.5-x86_64-linux/ghc-pkg/dump-globaldeleted−1122
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/numeric-ghcjs-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/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/infodeleted−59
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/numeric-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/numeric-ghcjs-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/numeric-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/supported-languagesdeleted−247
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/versiondeleted−1
This diff is too big to show here.
materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.8.3-x86_64-darwin/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.3-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.8.3-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.8.3-x86_64-darwin/ghc/infodeleted−59
This diff is too big to show here.
materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.8.3-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.8.3-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.8.3-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.8.3-x86_64-darwin/ghc/supported-languagesdeleted−247
This diff is too big to show here.
materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.8.3-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.8.3-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.3-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.3-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.3-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.3-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.3-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.3-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.3-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.3-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.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.1-x86_64-linux/ghc-pkg/dump-globaldeleted−1589
This diff is too big to show here.
materialized/dummy-ghc/x86_64-unknown-linux-musl-x86_64-unknown-linux-musl-ghc-8.10.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-8.10.1-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-8.10.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-8.10.1-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.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-8.10.2-x86_64-linux/ghc-pkg/dump-globaldeleted−1591
This diff is too big to show here.
materialized/dummy-ghc/x86_64-unknown-linux-musl-x86_64-unknown-linux-musl-ghc-8.10.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.10.2-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-8.10.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.10.2-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.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.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-globaldeleted−1384
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/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/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.6.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.6.5-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.6.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.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-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.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.8.3-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.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.8.3-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.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.8.4-x86_64-linux/ghc-pkg/dump-globaldeleted−1591
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/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.4-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.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.8.4-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.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-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-global−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/version−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/info−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-version−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-languages−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/version−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-global−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/version−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/info−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-version−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-languages−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/version−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-global−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/version−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/info−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-version−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-languages−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/version−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-global−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/version−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/info−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-version−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-languages−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/version−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-global−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/version−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/info−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-version−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-languages−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/version−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-global−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/version−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/info−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-version−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-languages−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/version−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-global−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/version−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/info−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-version−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-languages−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/version−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-global−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/version−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/info−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-version−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-languages−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/version−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-global−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/version−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/info−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-version−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-languages−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/version−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-global−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/version−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/info−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-version−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-languages−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/version−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-global−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/version−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/info−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-version−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-languages−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/version−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-global−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/version−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/info−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-version−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-languages−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/version−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-global−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/version−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/info−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-version−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-languages−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/version−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-global−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/version−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/info−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-version−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-languages−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/version−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-global−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/version−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/info−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-version−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-languages−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/version−1
This diff is too big to show here.
materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-8.6.5-x86_64-linux/ghc-pkg/dump-global−1228
This diff is too big to show here.
materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-8.6.5-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-8.6.5-x86_64-linux/ghc/info−57
This diff is too big to show here.
materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-8.6.5-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-8.6.5-x86_64-linux/ghc/supported-languages−247
This diff is too big to show here.
materialized/dummy-ghc/x86_64-w64-mingw32-x86_64-w64-mingw32-ghc-8.6.5-x86_64-linux/ghc/version−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-global−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/version−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/info−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-version−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-languages−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/version−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-global−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/version−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/info−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-version−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-languages−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/version−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-global−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/version−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/info−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-version−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-languages−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/version−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-linux/ghc-pkg/dump-global−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-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-8.8.3-x86_64-linux/ghc/info−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-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-8.8.3-x86_64-linux/ghc/supported-languages−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-linux/ghc/version−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-global−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/version−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/info−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-version−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-languages−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/version−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-linux/ghc-pkg/dump-global−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-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-8.8.4-x86_64-linux/ghc/info−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-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-8.8.4-x86_64-linux/ghc/supported-languages−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-linux/ghc/version−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-global−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/version−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/info−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-version−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-languages−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/version−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-global−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/version−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/info−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-version−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-languages−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/version−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-global−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/version−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/info−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-version−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-languages−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/version−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-global−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/version−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/info−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-version−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-languages−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/version−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-global−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/version−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/info−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-version−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-languages−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/version−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-global−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/version−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/info−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-version−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-languages−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/version−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-global−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/version−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/info−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-version−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-languages−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/version−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-global−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/version−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/info−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-version−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-languages−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/version−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-global−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/version−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/info−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-version−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-languages−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/version−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-global−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/version−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/info−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-version−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-languages−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/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-darwin/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-darwin/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-darwin/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-darwin/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-darwin/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-darwin/ghc/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-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/bytestring.nix−80
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8101/ghc-boot.nix−39
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/ghc.nix−61
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8101/ghci.nix−44
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8101/hpc.nix−38
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/iserv-proxy.nix−45
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8101/iserv.nix−42
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8101/libiserv.nix−42
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8101/remote-iserv.nix−36
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/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/bytestring.nix−80
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8102/ghc-boot.nix−39
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/ghc.nix−62
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8102/ghci.nix−44
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8102/hpc.nix−38
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−45
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8102/iserv.nix−42
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8102/libiserv.nix−42
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc8102/remote-iserv.nix−36
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-boot.nix−39
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/ghc.nix−62
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/hpc.nix−38
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/libiserv.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-proxy.nix−45
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/iserv.nix−42
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/remote-iserv.nix−36
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/bytestring.nix−80
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc844/ghc-boot.nix−38
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc844/ghc.nix−58
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc844/ghci.nix−43
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc844/hpc.nix−37
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc844/iserv-proxy.nix−45
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc844/iserv.nix−42
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc844/libiserv.nix−42
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc844/remote-iserv.nix−36
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/bytestring.nix−80
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/bytestring.nix−80
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/ghci.nix−44
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−42
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc865/bytestring.nix−80
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc865/ghc-boot.nix−38
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc865/ghc-heap.nix−35
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−60
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc865/ghci.nix−44
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc865/hpc.nix−37
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−45
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc865/iserv.nix−42
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc865/libiserv.nix−42
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc865/remote-iserv.nix−36
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/bytestring.nix−80
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/bytestring.nix−80
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/bytestring.nix−80
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc883/ghc-boot.nix−38
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−61
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc883/ghci.nix−44
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc883/hpc.nix−37
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−45
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc883/iserv.nix−42
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc883/libiserv.nix−42
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc883/remote-iserv.nix−36
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/bytestring.nix−80
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/bytestring.nix−80
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc884/ghc-boot.nix−38
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−61
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc884/ghci.nix−44
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc884/hpc.nix−37
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−45
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc884/iserv.nix−42
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc884/libiserv.nix−42
This diff is too big to show here.
materialized/ghc-boot-packages-nix/ghc884/remote-iserv.nix−36
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/ghc-boot.nix−60
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc8101/.plan.nix/ghc.nix−585
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc8101/.plan.nix/ghci.nix−70
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc8101/.plan.nix/hpc.nix−52
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc8101/.plan.nix/iserv-proxy.nix−55
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc8101/.plan.nix/iserv.nix−54
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc8101/.plan.nix/libiserv.nix−58
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc8101/.plan.nix/remote-iserv.nix−46
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc8101/default.nix−127
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/ghc-boot.nix−60
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc8102/.plan.nix/ghc.nix−586
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc8102/.plan.nix/ghci.nix−70
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc8102/.plan.nix/hpc.nix−52
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc8102/.plan.nix/iserv-proxy.nix−55
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc8102/.plan.nix/iserv.nix−54
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc8102/.plan.nix/libiserv.nix−58
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc8102/.plan.nix/remote-iserv.nix−46
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc8102/default.nix−128
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-boot.nix−60
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/hpc.nix−52
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/.plan.nix/remote-iserv.nix−46
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/ghc-boot.nix−60
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc8104/.plan.nix/ghc.nix−586
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/hpc.nix−52
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc8104/.plan.nix/iserv-proxy.nix−55
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/.plan.nix/remote-iserv.nix−46
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/ghc-boot.nix−53
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc865/.plan.nix/ghc.nix−556
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc865/.plan.nix/ghci.nix−70
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc865/.plan.nix/hpc.nix−51
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc865/.plan.nix/iserv-proxy.nix−55
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc865/.plan.nix/iserv.nix−54
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc865/.plan.nix/libiserv.nix−58
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc865/.plan.nix/remote-iserv.nix−46
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc865/default.nix−127
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/iserv.nix−54
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc882/.plan.nix/libiserv.nix−58
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/ghc-boot.nix−53
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc883/.plan.nix/ghc.nix−573
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc883/.plan.nix/ghci.nix−70
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc883/.plan.nix/hpc.nix−51
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc883/.plan.nix/iserv-proxy.nix−55
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc883/.plan.nix/iserv.nix−54
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc883/.plan.nix/libiserv.nix−58
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc883/.plan.nix/remote-iserv.nix−46
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc883/default.nix−127
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/ghc-boot.nix−53
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc884/.plan.nix/ghc.nix−573
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc884/.plan.nix/ghci.nix−70
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc884/.plan.nix/hpc.nix−51
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc884/.plan.nix/iserv-proxy.nix−55
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc884/.plan.nix/iserv.nix−54
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc884/.plan.nix/libiserv.nix−58
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc884/.plan.nix/remote-iserv.nix−46
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc884/default.nix−127
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/iserv.nix−54
This diff is too big to show here.
materialized/ghc-extra-projects/cross/ghc901/.plan.nix/libiserv.nix−58
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/ghc-boot.nix−60
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc8101/.plan.nix/ghc.nix−585
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc8101/.plan.nix/ghci.nix−70
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc8101/.plan.nix/hpc.nix−52
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc8101/.plan.nix/iserv-proxy.nix−55
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc8101/.plan.nix/iserv.nix−54
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc8101/.plan.nix/libiserv.nix−58
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc8101/.plan.nix/remote-iserv.nix−46
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc8101/default.nix−128
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/ghc-boot.nix−60
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc8102/.plan.nix/ghc.nix−586
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc8102/.plan.nix/ghci.nix−70
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc8102/.plan.nix/hpc.nix−52
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc8102/.plan.nix/iserv-proxy.nix−55
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc8102/.plan.nix/iserv.nix−54
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc8102/.plan.nix/libiserv.nix−58
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc8102/.plan.nix/remote-iserv.nix−46
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc8102/default.nix−129
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/ghc8103/default.nix−129
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/ghc.nix−586
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/ghc8104/default.nix−129
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/ghc844/.plan.nix/bytestring.nix−136
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc844/.plan.nix/ghc-boot.nix−52
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc844/.plan.nix/ghc.nix−584
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc844/.plan.nix/ghci.nix−69
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc844/.plan.nix/hpc.nix−51
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc844/.plan.nix/iserv-proxy.nix−55
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc844/.plan.nix/iserv.nix−54
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc844/.plan.nix/libiserv.nix−58
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc844/.plan.nix/remote-iserv.nix−46
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc844/default.nix−92
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc863/.plan.nix/Win32.nix−155
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc863/.plan.nix/ghc-boot.nix−53
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc863/.plan.nix/ghc.nix−555
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc863/.plan.nix/ghci.nix−70
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc863/.plan.nix/hpc.nix−51
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc863/.plan.nix/iserv-proxy.nix−55
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc863/.plan.nix/iserv.nix−54
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc863/.plan.nix/libiserv.nix−58
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc863/.plan.nix/remote-iserv.nix−46
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc863/default.nix−126
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc864/.plan.nix/Win32.nix−155
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc864/.plan.nix/ghc-boot.nix−53
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc864/.plan.nix/ghc.nix−556
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc864/.plan.nix/ghci.nix−70
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc864/.plan.nix/hpc.nix−51
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc864/.plan.nix/iserv-proxy.nix−55
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc864/.plan.nix/iserv.nix−54
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc864/.plan.nix/libiserv.nix−58
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc864/.plan.nix/remote-iserv.nix−46
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc864/default.nix−127
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc865/.plan.nix/Win32.nix−155
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc865/.plan.nix/ghc-boot.nix−53
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc865/.plan.nix/ghc.nix−556
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc865/.plan.nix/ghci.nix−70
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc865/.plan.nix/hpc.nix−51
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc865/.plan.nix/iserv-proxy.nix−55
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc865/.plan.nix/iserv.nix−54
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc865/.plan.nix/libiserv.nix−58
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc865/.plan.nix/remote-iserv.nix−46
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc865/default.nix−127
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/ghc-boot.nix−53
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc883/.plan.nix/ghc.nix−573
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc883/.plan.nix/ghci.nix−70
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc883/.plan.nix/hpc.nix−51
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc883/.plan.nix/iserv-proxy.nix−55
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc883/.plan.nix/iserv.nix−54
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc883/.plan.nix/libiserv.nix−58
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc883/.plan.nix/remote-iserv.nix−46
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc883/default.nix−128
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/ghc-boot.nix−53
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc884/.plan.nix/ghc.nix−573
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc884/.plan.nix/ghci.nix−70
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc884/.plan.nix/hpc.nix−51
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc884/.plan.nix/iserv-proxy.nix−55
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc884/.plan.nix/iserv.nix−54
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc884/.plan.nix/libiserv.nix−58
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc884/.plan.nix/remote-iserv.nix−46
This diff is too big to show here.
materialized/ghc-extra-projects/default/ghc884/default.nix−128
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-proxy.nix−55
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/ghc-boot.nix−60
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc8102/.plan.nix/ghc.nix−586
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc8102/.plan.nix/ghci.nix−70
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc8102/.plan.nix/hpc.nix−52
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc8102/.plan.nix/iserv-proxy.nix−55
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc8102/.plan.nix/iserv.nix−54
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc8102/.plan.nix/libiserv.nix−58
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc8102/.plan.nix/remote-iserv.nix−46
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc8102/default.nix−121
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/ghc.nix−556
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc864/.plan.nix/ghci.nix−70
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc864/.plan.nix/hpc.nix−51
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc864/.plan.nix/iserv-proxy.nix−55
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc864/.plan.nix/iserv.nix−54
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc864/.plan.nix/libiserv.nix−58
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc864/.plan.nix/remote-iserv.nix−46
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc864/default.nix−119
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc865/.plan.nix/Win32.nix−155
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc865/.plan.nix/ghc-boot.nix−53
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc865/.plan.nix/ghc.nix−556
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc865/.plan.nix/ghci.nix−70
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc865/.plan.nix/hpc.nix−51
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc865/.plan.nix/iserv-proxy.nix−55
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc865/.plan.nix/iserv.nix−54
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc865/.plan.nix/libiserv.nix−58
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc865/.plan.nix/remote-iserv.nix−46
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc865/default.nix−119
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/ghc-boot.nix−53
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc883/.plan.nix/ghc.nix−573
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc883/.plan.nix/ghci.nix−70
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc883/.plan.nix/hpc.nix−51
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc883/.plan.nix/iserv-proxy.nix−55
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc883/.plan.nix/iserv.nix−54
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc883/.plan.nix/libiserv.nix−58
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc883/.plan.nix/remote-iserv.nix−46
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc883/default.nix−120
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/ghc-boot.nix−53
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc884/.plan.nix/ghc.nix−573
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc884/.plan.nix/ghci.nix−70
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc884/.plan.nix/hpc.nix−51
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc884/.plan.nix/iserv-proxy.nix−55
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc884/.plan.nix/iserv.nix−54
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc884/.plan.nix/libiserv.nix−58
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc884/.plan.nix/remote-iserv.nix−46
This diff is too big to show here.
materialized/ghc-extra-projects/windows/ghc884/default.nix−120
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−292
This diff is too big to show here.
materialized/ghc8101/cabal-install/default.nix−180
This diff is too big to show here.
materialized/ghc8102/cabal-install/.plan.nix/cabal-install.nix−292
This diff is too big to show here.
materialized/ghc8102/cabal-install/default.nix−180
This diff is too big to show here.
materialized/ghc8102/nix-tools/.plan.nix/hackage-db.nix−110
This diff is too big to show here.
materialized/ghc8102/nix-tools/.plan.nix/nix-tools.nix−234
This diff is too big to show here.
materialized/ghc8102/nix-tools/default.nix−518
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/hackage-db.nix−110
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/.plan.nix/hackage-db.nix−110
This diff is too big to show here.
materialized/ghc8104/nix-tools/.plan.nix/nix-tools.nix−234
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/.plan.nix/hackage-db.nix−110
This diff is too big to show here.
materialized/ghc810420210212/nix-tools/.plan.nix/nix-tools.nix−234
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/.plan.nix/nix-tools.nix−234
This diff is too big to show here.
materialized/ghc8105/nix-tools/default.nix−518
This diff is too big to show here.
materialized/ghc8106/cabal-install/.plan.nix/cabal-install.nix−292
This diff is too big to show here.
materialized/ghc8106/cabal-install/default.nix−180
This diff is too big to show here.
materialized/ghc8106/nix-tools/.plan.nix/hackage-db.nix−110
This diff is too big to show here.
materialized/ghc8106/nix-tools/.plan.nix/nix-tools.nix−234
This diff is too big to show here.
materialized/ghc8106/nix-tools/default.nix−518
This diff is too big to show here.
materialized/ghc8107/cabal-install/.plan.nix/cabal-install.nix−292
This diff is too big to show here.
materialized/ghc8107/cabal-install/default.nix−180
This diff is too big to show here.
materialized/ghc8107/nix-tools/.plan.nix/hackage-db.nix−110
This diff is too big to show here.
materialized/ghc8107/nix-tools/.plan.nix/nix-tools.nix−234
This diff is too big to show here.
materialized/ghc8107/nix-tools/default.nix−518
This diff is too big to show here.
materialized/ghc863/cabal-install/.plan.nix/cabal-install.nix−292
This diff is too big to show here.
materialized/ghc863/cabal-install/default.nix−180
This diff is too big to show here.
materialized/ghc863/nix-tools/.plan.nix/hackage-db.nix−110
This diff is too big to show here.
materialized/ghc863/nix-tools/.plan.nix/nix-tools.nix−234
This diff is too big to show here.
materialized/ghc863/nix-tools/default.nix−509
This diff is too big to show here.
materialized/ghc864/cabal-install/.plan.nix/cabal-install.nix−292
This diff is too big to show here.
materialized/ghc864/cabal-install/default.nix−180
This diff is too big to show here.
materialized/ghc864/nix-tools/.plan.nix/hackage-db.nix−110
This diff is too big to show here.
materialized/ghc864/nix-tools/.plan.nix/nix-tools.nix−234
This diff is too big to show here.
materialized/ghc864/nix-tools/default.nix−509
This diff is too big to show here.
materialized/ghc865/cabal-install/.plan.nix/cabal-install.nix−292
This diff is too big to show here.
materialized/ghc865/cabal-install/default.nix−180
This diff is too big to show here.
materialized/ghc865/nix-tools/.plan.nix/hackage-db.nix−110
This diff is too big to show here.
materialized/ghc865/nix-tools/.plan.nix/nix-tools.nix−234
This diff is too big to show here.
materialized/ghc865/nix-tools/default.nix−509
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−292
This diff is too big to show here.
materialized/ghc883/cabal-install/default.nix−180
This diff is too big to show here.
materialized/ghc883/nix-tools/.plan.nix/hackage-db.nix−110
This diff is too big to show here.
materialized/ghc883/nix-tools/.plan.nix/nix-tools.nix−234
This diff is too big to show here.
materialized/ghc883/nix-tools/default.nix−509
This diff is too big to show here.
materialized/ghc884/cabal-install/.plan.nix/cabal-install.nix−292
This diff is too big to show here.
materialized/ghc884/cabal-install/default.nix−180
This diff is too big to show here.
materialized/ghc884/nix-tools/.plan.nix/hackage-db.nix−110
This diff is too big to show here.
materialized/ghc884/nix-tools/.plan.nix/nix-tools.nix−234
This diff is too big to show here.
materialized/ghc884/nix-tools/default.nix−509
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−160
This diff is too big to show here.
materialized/ghcjs/alex/ghc865/default.nix−65
This diff is too big to show here.
materialized/ghcjs/alex/ghc884/.plan.nix/alex.nix−160
This diff is too big to show here.
materialized/ghcjs/alex/ghc884/default.nix−65
This diff is too big to show here.
materialized/ghcjs/cabal/ghc8104/.plan.nix/cabal-install.nix−361
This diff is too big to show here.
materialized/ghcjs/cabal/ghc8104/default.nix−128
This diff is too big to show here.
materialized/ghcjs/cabal/ghc8105/.plan.nix/cabal-install.nix−292
This diff is too big to show here.
materialized/ghcjs/cabal/ghc8105/default.nix−180
This diff is too big to show here.
materialized/ghcjs/cabal/ghc8106/.plan.nix/cabal-install.nix−292
This diff is too big to show here.
materialized/ghcjs/cabal/ghc8106/default.nix−180
This diff is too big to show here.
materialized/ghcjs/cabal/ghc8107/.plan.nix/cabal-install.nix−292
This diff is too big to show here.
materialized/ghcjs/cabal/ghc8107/default.nix−180
This diff is too big to show here.
materialized/ghcjs/cabal/ghc865/.plan.nix/cabal-install.nix−340
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/.plan.nix/cabal-install.nix−340
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/ghc8104/default.nix−379
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/ghci-ghcjs.nix−70
This diff is too big to show here.
materialized/ghcjs/ghc865/.plan.nix/ghcjs-th.nix−58
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/ghc865/.plan.nix/haddock-library-ghcjs.nix−103
This diff is too big to show here.
materialized/ghcjs/ghc865/.plan.nix/template-haskell-ghcjs.nix−54
This diff is too big to show here.
materialized/ghcjs/ghc865/default.nix−636
This diff is too big to show here.
materialized/ghcjs/ghc884/.plan.nix/ghcjs-th.nix−52
This diff is too big to show here.
materialized/ghcjs/ghc884/.plan.nix/ghcjs.nix−981
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−200
This diff is too big to show here.
materialized/ghcjs/happy/ghc865/default.nix−56
This diff is too big to show here.
materialized/ghcjs/happy/ghc884/.plan.nix/happy.nix−200
This diff is too big to show here.
materialized/ghcjs/happy/ghc884/default.nix−56
This diff is too big to show here.
materialized/hscolour/.plan.nix/hscolour.nix−70
This diff is too big to show here.
materialized/hscolour/default.nix−33
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−55
This diff is too big to show here.
mk-local-hackage-repo/mirrors.json−9
This diff is too big to show here.
mk-local-hackage-repo/root.json−34
This diff is too big to show here.
mk-local-hackage-repo/snapshot.json−31
This diff is too big to show here.
mk-local-hackage-repo/timestamp.json−17
This diff is too big to show here.
mkdocs.yml−59
This diff is too big to show here.
modules/cabal-project.nix−134
This diff is too big to show here.
modules/cabal.nix−35
This diff is too big to show here.
modules/compat-driver.nix−19
This diff is too big to show here.
modules/component-driver.nix−103
This diff is too big to show here.
modules/configuration-nix.nix−123
This diff is too big to show here.
modules/error-handler.nix−49
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/hackage.nix−89
This diff is too big to show here.
modules/hix-project.nix−47
This diff is too big to show here.
modules/package.nix−360
This diff is too big to show here.
modules/plan.nix−322
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.
overlays/android.nix−28
This diff is too big to show here.
overlays/armv6l-linux.nix−74
This diff is too big to show here.
overlays/bootstrap.nix−1163
This diff is too big to show here.
overlays/darwin.nix−21
This diff is too big to show here.
overlays/default.nix−61
This diff is too big to show here.
overlays/emscripten.nix−7
This diff is too big to show here.
overlays/emscripten/fastcomp/default.nix−28
This diff is too big to show here.
overlays/emscripten/upstream/default.nix−28
This diff is too big to show here.
overlays/ghc-packages.nix−236
This diff is too big to show here.
overlays/ghc.nix−36
This diff is too big to show here.
overlays/ghcjs-asterius-triple.nix−35
This diff is too big to show here.
overlays/ghcjs.nix−60
This diff is too big to show here.
overlays/gobject-introspection.nix−9
This diff is too big to show here.
overlays/haskell.nix−925
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−79
This diff is too big to show here.
overlays/mingw_w64.nix−116
This diff is too big to show here.
overlays/musl.nix−35
This diff is too big to show here.
overlays/nix-prefetch-git-minimal.nix−45
This diff is too big to show here.
overlays/patches/Cabal/Cabal-3.0.0.0-drop-pkg-db-check.diff−20
This diff is too big to show here.
overlays/patches/Cabal/Cabal-3.0.0.0-no-final-checks.diff−24
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/Cabal/fix-data-dir.patch−20
This diff is too big to show here.
overlays/patches/clock-0.7.2.patch−59
This diff is too big to show here.
overlays/patches/conduit-1.3.0.2.patch−15
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−1865
This diff is too big to show here.
overlays/patches/cryptonite-openssl-0.7.patch−13
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/0001-Stop-the-linker-panic.patch−122
This diff is too big to show here.
overlays/patches/ghc/67738db10010fd28a8e997b5c8f83ea591b88a0e.patch−107
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-3886.patch−170
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/Cabal2201-allow-test-wrapper.patch−72
This diff is too big to show here.
overlays/patches/ghc/Cabal2201-no-hackage-tests.patch−15
This diff is too big to show here.
overlays/patches/ghc/MR148--T16104-GhcPlugins.patch−21
This diff is too big to show here.
overlays/patches/ghc/MR196--ghc-pkg-shut-up.patch−13
This diff is too big to show here.
overlays/patches/ghc/MR2537-use-one-shot-kqueue-on-macos.patch−52
This diff is too big to show here.
overlays/patches/ghc/MR3214-writable-rel-ro-data.patch−13
This diff is too big to show here.
overlays/patches/ghc/MR3714-backported-to-8.10.2.patch−283
This diff is too big to show here.
overlays/patches/ghc/MR545--ghc-pkg-databases.patch−210
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/MR948--32bit-cross-th.patch−143
This diff is too big to show here.
overlays/patches/ghc/MR95--ghc-pkg-deadlock-fix.patch−61
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/T16057--ghci-doa-on-windows.patch−70
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/bec76733b818b0489ffea0834ab6b1560207577c.patch−43
This diff is too big to show here.
overlays/patches/ghc/cabal-exe-ext-8.4.2.patch−440
This diff is too big to show here.
overlays/patches/ghc/cabal-host.patch−13
This diff is too big to show here.
overlays/patches/ghc/core-field.patch−958
This diff is too big to show here.
overlays/patches/ghc/dll-loader-8.4.2.patch−34
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.0.2-darwin-rec-link.patch−13
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-darwin-gcc-version-fix.patch−11
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-ubxt.patch−1539
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.3-Cabal2201-SMP-test-fix.patch−13
This diff is too big to show here.
overlays/patches/ghc/ghc-8.4.3-Cabal2201-allow-test-wrapper.patch−72
This diff is too big to show here.
overlays/patches/ghc/ghc-8.4.3-Cabal2201-no-hackage-tests.patch−15
This diff is too big to show here.
overlays/patches/ghc/ghc-8.4.3-Cabal2201-response-file-support.patch−59
This diff is too big to show here.
overlays/patches/ghc/ghc-8.4.4-backport-dylib-command-size-limit.patch−24
This diff is too big to show here.
overlays/patches/ghc/ghc-8.4.4-darwin-rec-link.patch−13
This diff is too big to show here.
overlays/patches/ghc/ghc-8.4.4-reinstallable-lib-ghc.patch−8701
This diff is too big to show here.
overlays/patches/ghc/ghc-8.6-Cabal-fix-datadir.patch−21
This diff is too big to show here.
overlays/patches/ghc/ghc-8.6.1-iserv-changes.patch−811
This diff is too big to show here.
overlays/patches/ghc/ghc-8.6.3-reinstallable-lib-ghc.patch−5529
This diff is too big to show here.
overlays/patches/ghc/ghc-8.6.4-better-plusSimplCountErrors.patch−26
This diff is too big to show here.
overlays/patches/ghc/ghc-8.6.4-prim-no-arm-atomics.patch−14
This diff is too big to show here.
overlays/patches/ghc/ghc-8.6.4-reenable-th-qq-in-stage1.patch−19
This diff is too big to show here.
overlays/patches/ghc/ghc-8.6.4-reinstallable-lib-ghc.patch−4869
This diff is too big to show here.
overlays/patches/ghc/ghc-8.6.5-atomic-arm-arch.patch−12
This diff is too big to show here.
overlays/patches/ghc/ghc-8.6.5-reinstallable-lib-ghc.patch−4869
This diff is too big to show here.
overlays/patches/ghc/ghc-8.8-ubxt.patch−1127
This diff is too big to show here.
overlays/patches/ghc/ghc-8.8.1-reinstallable-lib-ghc.patch−5057
This diff is too big to show here.
overlays/patches/ghc/ghc-8.8.2-reinstallable-lib-ghc.patch−5023
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-acrt-iob-func.patch−12
This diff is too big to show here.
overlays/patches/ghc/ghc-add-keepCAFs-to-rts.patch−12
This diff is too big to show here.
overlays/patches/ghc/ghc-darwin-gcc-version-fix.patch−11
This diff is too big to show here.
overlays/patches/ghc/ghc-macOS-loadArchive-fix.patch−9
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-no-system-linker.patch−78
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/global-offset-table-2.patch−26
This diff is too big to show here.
overlays/patches/ghc/global-offset-table.patch−100
This diff is too big to show here.
overlays/patches/ghc/hsc2hs-8.4.2.patch−1197
This diff is too big to show here.
overlays/patches/ghc/iserv-autoconf-8.4.1.patch−131
This diff is too big to show here.
overlays/patches/ghc/iserv-autoconf-8.6.1.patch−252
This diff is too big to show here.
overlays/patches/ghc/iserv-cleanup-8.8.1-prepare-8.4.1.patch−31
This diff is too big to show here.
overlays/patches/ghc/iserv-cleanup-8.8.1-revert-8.4.1.patch−26
This diff is too big to show here.
overlays/patches/ghc/iserv-cleanup-8.8.1.patch−869
This diff is too big to show here.
overlays/patches/ghc/iserv-move-8.4.1.patch−912
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/lowercase-8.4.2.patch−57
This diff is too big to show here.
overlays/patches/ghc/lowercase-8.6.patch−37
This diff is too big to show here.
overlays/patches/ghc/mistuke-ghc-err_clean_up_error_handler-8ab1a89af89848f1713e6849f189de66c0ed7898.diff−98
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/noinline-set-bit-if.patch−12
This diff is too big to show here.
overlays/patches/ghc/outputtable-assert-8.4.patch−30
This diff is too big to show here.
overlays/patches/ghc/outputtable-assert-8.6.patch−13
This diff is too big to show here.
overlays/patches/ghc/respect-ar-path.patch−12
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/patches/ghc/various-8.4.2.patch−57
This diff is too big to show here.
overlays/patches/http-client-0.5.14.patch−18
This diff is too big to show here.
overlays/patches/streaming-commons-0.2.0.0.patch−15
This diff is too big to show here.
overlays/patches/x509-system-1.6.6.patch−13
This diff is too big to show here.
overlays/python.nix−11
This diff is too big to show here.
overlays/tools.nix−92
This diff is too big to show here.
overlays/windows.nix−121
This diff is too big to show here.
overlays/wine.nix−17
This diff is too big to show here.
package-set.nix−106
This diff is too big to show here.
patches/darcs-setup.patch−120
This diff is too big to show here.
patches/default.nix−12
This diff is too big to show here.
patches/ghc841/default.nix−2
This diff is too big to show here.
patches/ghc842/default.nix−2
This diff is too big to show here.
patches/ghc843/array-0.5.2.0.patch−13
This diff is too big to show here.
patches/ghc843/deepseq-1.4.3.0.patch−13
This diff is too big to show here.
patches/ghc843/default.nix−11
This diff is too big to show here.
patches/ghc843/hpc-0.6.0.3.patch−17
This diff is too big to show here.
patches/ghc843/parallel-3.2.1.1.patch−13
This diff is too big to show here.
patches/ghc843/parsec-3.1.13.0.patch−24
This diff is too big to show here.
patches/ghc843/random-1.1.patch−410
This diff is too big to show here.
patches/ghc843/time-1.8.0.2.patch−148
This diff is too big to show here.
patches/ghc843/unix-2.7.2.2.patch−111
This diff is too big to show here.
patches/ghc843/vector-0.11.0.0.patch−526
This diff is too big to show here.
patches/ghc844/array-0.5.2.0.patch−13
This diff is too big to show here.
patches/ghc844/deepseq-1.4.3.0.patch−13
This diff is too big to show here.
patches/ghc844/default.nix−11
This diff is too big to show here.
patches/ghc844/hpc-0.6.0.3.patch−17
This diff is too big to show here.
patches/ghc844/parallel-3.2.1.1.patch−13
This diff is too big to show here.
patches/ghc844/parsec-3.1.13.0.patch−24
This diff is too big to show here.
patches/ghc844/random-1.1.patch−410
This diff is too big to show here.
patches/ghc844/time-1.8.0.2.patch−148
This diff is too big to show here.
patches/ghc844/unix-2.7.2.2.patch−111
This diff is too big to show here.
patches/ghc844/vector-0.11.0.0.patch−526
This diff is too big to show here.
patches/ghc861/array-0.5.2.0.patch−308
This diff is too big to show here.
patches/ghc861/binary-0.8.6.0.patch−20
This diff is too big to show here.
patches/ghc861/containers-0.6.0.1.patch−117
This diff is too big to show here.
patches/ghc861/default.nix−11
This diff is too big to show here.
patches/ghc861/hpc-0.6.0.3.patch−18
This diff is too big to show here.
patches/ghc861/parsec-3.1.13.0.patch−36
This diff is too big to show here.
patches/ghc861/process-1.6.3.0.patch−160
This diff is too big to show here.
patches/ghc861/time-1.8.0.2.patch−148
This diff is too big to show here.
patches/ghc861/transformers-0.5.5.0.patch−544
This diff is too big to show here.
patches/ghc861/unix-2.7.2.2.patch−111
This diff is too big to show here.
patches/ghc862/binary-0.8.6.0.patch−20
This diff is too big to show here.
patches/ghc862/containers-0.6.0.1.patch−117
This diff is too big to show here.
patches/ghc862/default.nix−11
This diff is too big to show here.
patches/ghc862/hpc-0.6.0.3.patch−18
This diff is too big to show here.
patches/ghc862/parsec-3.1.13.0.patch−36
This diff is too big to show here.
patches/ghc862/process-1.6.3.0.patch−160
This diff is too big to show here.
patches/ghc862/singletons-2.5.1.patch−22
This diff is too big to show here.
patches/ghc862/time-1.8.0.2.patch−148
This diff is too big to show here.
patches/ghc862/transformers-0.5.5.0.patch−544
This diff is too big to show here.
patches/ghc862/unix-2.7.2.2.patch−111
This diff is too big to show here.
patches/ghc863/binary-0.8.6.0.patch−20
This diff is too big to show here.
patches/ghc863/containers-0.6.0.1.patch−117
This diff is too big to show here.
patches/ghc863/default.nix−11
This diff is too big to show here.
patches/ghc863/hpc-0.6.0.3.patch−18
This diff is too big to show here.
patches/ghc863/parsec-3.1.13.0.patch−36
This diff is too big to show here.
patches/ghc863/process-1.6.3.0.patch−160
This diff is too big to show here.
patches/ghc863/singletons-2.5.1.patch−22
This diff is too big to show here.
patches/ghc863/time-1.8.0.2.patch−148
This diff is too big to show here.
patches/ghc863/transformers-0.5.5.0.patch−544
This diff is too big to show here.
patches/ghc863/unix-2.7.2.2.patch−111
This diff is too big to show here.
patches/ghc864/binary-0.8.6.0.patch−20
This diff is too big to show here.
patches/ghc864/containers-0.6.0.1.patch−117
This diff is too big to show here.
patches/ghc864/default.nix−8
This diff is too big to show here.
patches/ghc864/hpc-0.6.0.3.patch−18
This diff is too big to show here.
patches/ghc864/parsec-3.1.13.0.patch−36
This diff is too big to show here.
patches/ghc864/singletons-2.5.1.patch−22
This diff is too big to show here.
patches/ghc864/unix-2.7.2.2.patch−111
This diff is too big to show here.
patches/ghc865/binary-0.8.6.0.patch−20
This diff is too big to show here.
patches/ghc865/containers-0.6.0.1.patch−117
This diff is too big to show here.
patches/ghc865/default.nix−8
This diff is too big to show here.
patches/ghc865/hpc-0.6.0.3.patch−18
This diff is too big to show here.
patches/ghc865/parsec-3.1.13.0.patch−36
This diff is too big to show here.
patches/ghc865/singletons-2.5.1.patch−22
This diff is too big to show here.
patches/ghc865/unix-2.7.2.2.patch−111
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−15
This diff is too big to show here.
release-linux-only.nix−5
This diff is too big to show here.
release.nix−69
This diff is too big to show here.
scripts/check-closure-size.nix−29
This diff is too big to show here.
scripts/check-compiler-materialization/default.nix−48
This diff is too big to show here.
scripts/check-hydra.nix−42
This diff is too big to show here.
scripts/check-materialization-concurrency/check.nix−23
This diff is too big to show here.
scripts/check-materialization-concurrency/default.nix−28
This diff is too big to show here.
scripts/check-path-support.nix−13
This diff is too big to show here.
scripts/git.env−25
This diff is too big to show here.
scripts/options-doc.nix−61
This diff is too big to show here.
scripts/update-docs.nix−49
This diff is too big to show here.
scripts/update-external.nix−39
This diff is too big to show here.
scripts/update-hackage.nix−34
This diff is too big to show here.
scripts/update-index-state-hashes.nix−41
This diff is too big to show here.
scripts/update-pins.nix−28
This diff is too big to show here.
scripts/update-stackage.nix−27
This diff is too big to show here.
shell.nix−1
This diff is too big to show here.
snapshots.nix−76
This diff is too big to show here.
stackage-src.json−10
This diff is too big to show here.
test/README.md−17
This diff is too big to show here.
test/buildable/Main.hs−4
This diff is too big to show here.
test/buildable/buildable-test.cabal−31
This diff is too big to show here.
test/buildable/default.nix−35
This diff is too big to show here.
test/builder-haddock/.plan.nix/test-haddock.nix−35
This diff is too big to show here.
test/builder-haddock/Setup.hs−2
This diff is too big to show here.
test/builder-haddock/TestHaddock.hs−6
This diff is too big to show here.
test/builder-haddock/default.nix−86
This diff is too big to show here.
test/builder-haddock/pkgs.nix−43
This diff is too big to show here.
test/builder-haddock/test-haddock.cabal−15
This diff is too big to show here.
test/builder-haddock/test-haddock.nix−65
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/Main.hs−6
This diff is too big to show here.
test/cabal-22/Setup.hs−2
This diff is too big to show here.
test/cabal-22/default.nix−75
This diff is too big to show here.
test/cabal-22/lib/Lib.hs−4
This diff is too big to show here.
test/cabal-22/project.cabal−45
This diff is too big to show here.
test/cabal-22/test/LibSpec.hs−11
This diff is too big to show here.
test/cabal-22/test/Main.hs−1
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/Setup.hs−2
This diff is too big to show here.
test/cabal-hpack/app/Main.hs−4
This diff is too big to show here.
test/cabal-hpack/default.nix−65
This diff is too big to show here.
test/cabal-hpack/package.yaml−34
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/Main.hs−4
This diff is too big to show here.
test/cabal-simple-prof/Setup.hs−2
This diff is too big to show here.
test/cabal-simple-prof/cabal-simple.cabal−37
This diff is too big to show here.
test/cabal-simple-prof/default.nix−62
This diff is too big to show here.
test/cabal-simple/Main.hs−4
This diff is too big to show here.
test/cabal-simple/Setup.hs−2
This diff is too big to show here.
test/cabal-simple/cabal-simple.cabal−37
This diff is too big to show here.
test/cabal-simple/default.nix−72
This diff is too big to show here.
test/cabal-source-repo-comments/Main.hs−4
This diff is too big to show here.
test/cabal-source-repo-comments/cabal.project−15
This diff is too big to show here.
test/cabal-source-repo-comments/default.nix−34
This diff is too big to show here.
test/cabal-source-repo-comments/use-cabal-simple.cabal−26
This diff is too big to show here.
test/cabal-source-repo/Main.hs−4
This diff is too big to show here.
test/cabal-source-repo/cabal.project−11
This diff is too big to show here.
test/cabal-source-repo/default.nix−34
This diff is too big to show here.
test/cabal-source-repo/use-cabal-simple.cabal−26
This diff is too big to show here.
test/cabal-sublib/Main.hs−4
This diff is too big to show here.
test/cabal-sublib/Setup.hs−2
This diff is too big to show here.
test/cabal-sublib/cabal-sublib.cabal−42
This diff is too big to show here.
test/cabal-sublib/default.nix−65
This diff is too big to show here.
test/call-cabal-project-to-nix/default.nix−48
This diff is too big to show here.
test/call-stack-to-nix/.gitignore−3
This diff is too big to show here.
test/call-stack-to-nix/Setup.hs−2
This diff is too big to show here.
test/call-stack-to-nix/app/Main.hs−6
This diff is too big to show here.
test/call-stack-to-nix/default.nix−41
This diff is too big to show here.
test/call-stack-to-nix/package.yaml−48
This diff is too big to show here.
test/call-stack-to-nix/src/Lib.hs−6
This diff is too big to show here.
test/call-stack-to-nix/stack.yaml−66
This diff is too big to show here.
test/call-stack-to-nix/test/Spec.hs−2
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/cabal.project−2
This diff is too big to show here.
test/coverage/conduit.hs−19
This diff is too big to show here.
test/coverage/default.nix−133
This diff is too big to show here.
test/coverage/pkga/MainA.hs−4
This diff is too big to show here.
test/coverage/pkga/PkgA.hs−16
This diff is too big to show here.
test/coverage/pkga/Setup.hs−2
This diff is too big to show here.
test/coverage/pkga/pkga.cabal−26
This diff is too big to show here.
test/coverage/pkgb/Setup.hs−2
This diff is too big to show here.
test/coverage/pkgb/app/Main.hs−10
This diff is too big to show here.
test/coverage/pkgb/app/tests.hs−7
This diff is too big to show here.
test/coverage/pkgb/pkgb.cabal−43
This diff is too big to show here.
test/coverage/pkgb/src/ConduitExample.hs−21
This diff is too big to show here.
test/coverage/pkgb/src/PkgB.hs−7
This diff is too big to show here.
test/coverage/pkgb/src/conduit-test.hs−5
This diff is too big to show here.
test/coverage/stack.yaml−5
This diff is too big to show here.
test/default.nix−250
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/Main.hs−4
This diff is too big to show here.
test/exe-only/Setup.hs−2
This diff is too big to show here.
test/exe-only/default.nix−54
This diff is too big to show here.
test/exe-only/exe-only.cabal−15
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/01-index.tar.gz
This diff is too big to show here.
test/extra-hackage/README.md−11
This diff is too big to show here.
test/extra-hackage/default.nix−65
This diff is too big to show here.
test/extra-hackage/external-package-demo-0.1.0.0.tar.gz
This diff is too big to show here.
test/extra-hackage/external-package-demo/CHANGELOG.md−5
This diff is too big to show here.
test/extra-hackage/external-package-demo/Main.hs−8
This diff is too big to show here.
test/extra-hackage/external-package-demo/MyLib.hs−4
This diff is too big to show here.
test/extra-hackage/external-package-demo/Setup.hs−2
This diff is too big to show here.
test/extra-hackage/external-package-demo/external-package-demo.cabal−32
This diff is too big to show here.
test/extra-hackage/external-package-user/CHANGELOG.md−5
This diff is too big to show here.
test/extra-hackage/external-package-user/Main.hs−8
This diff is too big to show here.
test/extra-hackage/external-package-user/MyLib.hs−4
This diff is too big to show here.
test/extra-hackage/external-package-user/Setup.hs−2
This diff is too big to show here.
test/extra-hackage/external-package-user/cabal.project−8
This diff is too big to show here.
test/extra-hackage/external-package-user/external-package-user.cabal−33
This diff is too big to show here.
test/extra-hackage/hackage/default.nix−9
This diff is too big to show here.
test/extra-hackage/hackage/hackage.json−15
This diff is too big to show here.
test/extra-hackage/hackage/hackage/external-package-demo-0.1.0.0-r0-3230db0813f2b468afb3ff7d8bbfcf570019a7faa4a0f59b2ea96743932105e7.nix−76
This diff is too big to show here.
test/fully-static/cross.nix−15
This diff is too big to show here.
test/fully-static/default.nix−74
This diff is too big to show here.
test/fully-static/stack.yaml−6
This diff is too big to show here.
test/ghc-options/.gitignore−2
This diff is too big to show here.
test/ghc-options/Setup.hs−2
This diff is too big to show here.
test/ghc-options/app/Main.hs−9
This diff is too big to show here.
test/ghc-options/cabal.nix−43
This diff is too big to show here.
test/ghc-options/cabal.project−4
This diff is too big to show here.
test/ghc-options/src/Lib.hs−9
This diff is too big to show here.
test/ghc-options/stack.nix−45
This diff is too big to show here.
test/ghc-options/stack.yaml−9
This diff is too big to show here.
test/ghc-options/test-ghc-options.cabal−20
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−12
This diff is too big to show here.
test/haskell-language-server/stack.nix−26
This diff is too big to show here.
test/index-state/default.nix−50
This diff is too big to show here.
test/project-flags/.gitignore−2
This diff is too big to show here.
test/project-flags/Setup.hs−2
This diff is too big to show here.
test/project-flags/app/Main.hs−9
This diff is too big to show here.
test/project-flags/cabal.nix−36
This diff is too big to show here.
test/project-flags/cabal.project−4
This diff is too big to show here.
test/project-flags/src/Lib.hs−9
This diff is too big to show here.
test/project-flags/stack.nix−37
This diff is too big to show here.
test/project-flags/stack.yaml−8
This diff is too big to show here.
test/project-flags/test-project-flags.cabal−28
This diff is too big to show here.
test/regen.nix−68
This diff is too big to show here.
test/setup-deps/cabal.project−1
This diff is too big to show here.
test/setup-deps/default.nix−47
This diff is too big to show here.
test/setup-deps/pkg/Setup.hs−32
This diff is too big to show here.
test/setup-deps/pkg/app/Main.hs−6
This diff is too big to show here.
test/setup-deps/pkg/pkg.cabal−37
This diff is too big to show here.
test/setup-deps/pkg/src/conduit-test.hs−5
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−1
This diff is too big to show here.
test/shell-for-setup-deps/default.nix−60
This diff is too big to show here.
test/shell-for-setup-deps/pkg/Setup.hs−23
This diff is too big to show here.
test/shell-for-setup-deps/pkg/app/Main.hs−6
This diff is too big to show here.
test/shell-for-setup-deps/pkg/pkg.cabal−34
This diff is too big to show here.
test/shell-for-setup-deps/pkg/src/conduit-test.hs−5
This diff is too big to show here.
test/shell-for/.plan.nix/pkga.nix−42
This diff is too big to show here.
test/shell-for/.plan.nix/pkgb.nix−63
This diff is too big to show here.
test/shell-for/cabal.project−2
This diff is too big to show here.
test/shell-for/conduit.hs−19
This diff is too big to show here.
test/shell-for/default.nix−90
This diff is too big to show here.
test/shell-for/pkga/MainA.hs−4
This diff is too big to show here.
test/shell-for/pkga/PkgA.hs−16
This diff is too big to show here.
test/shell-for/pkga/Setup.hs−2
This diff is too big to show here.
test/shell-for/pkga/pkga.cabal−26
This diff is too big to show here.
test/shell-for/pkgb/Setup.hs−2
This diff is too big to show here.
test/shell-for/pkgb/app/Main.hs−10
This diff is too big to show here.
test/shell-for/pkgb/app/tests.hs−6
This diff is too big to show here.
test/shell-for/pkgb/pkgb.cabal−43
This diff is too big to show here.
test/shell-for/pkgb/src/ConduitExample.hs−21
This diff is too big to show here.
test/shell-for/pkgb/src/PkgB.hs−7
This diff is too big to show here.
test/shell-for/pkgb/src/conduit-test.hs−5
This diff is too big to show here.
test/shell-for/pkgs.nix−282
This diff is too big to show here.
test/shell-for/single.project−1
This diff is too big to show here.
test/snapshots/default.nix−44
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/.gitignore−2
This diff is too big to show here.
test/stack-local-resolver/default.nix−16
This diff is too big to show here.
test/stack-local-resolver/package.yaml−7
This diff is too big to show here.
test/stack-local-resolver/snapshot.yaml−4
This diff is too big to show here.
test/stack-local-resolver/src/Lib.hs−6
This diff is too big to show here.
test/stack-local-resolver/stack.yaml−4
This diff is too big to show here.
test/stack-remote-resolver/.gitignore−2
This diff is too big to show here.
test/stack-remote-resolver/default.nix−17
This diff is too big to show here.
test/stack-remote-resolver/package.yaml−7
This diff is too big to show here.
test/stack-remote-resolver/src/Lib.hs−6
This diff is too big to show here.
test/stack-remote-resolver/stack.yaml−4
This diff is too big to show here.
test/stack-simple/.gitignore−3
This diff is too big to show here.
test/stack-simple/Setup.hs−2
This diff is too big to show here.
test/stack-simple/app/Main.hs−6
This diff is too big to show here.
test/stack-simple/default.nix−25
This diff is too big to show here.
test/stack-simple/package.yaml−48
This diff is too big to show here.
test/stack-simple/pkgs.nix−18
This diff is too big to show here.
test/stack-simple/src/Lib.hs−6
This diff is too big to show here.
test/stack-simple/stack-simple.cabal−61
This diff is too big to show here.
test/stack-simple/stack-simple.nix−52
This diff is too big to show here.
test/stack-simple/stack.yaml−69
This diff is too big to show here.
test/stack-simple/test/Spec.hs−2
This diff is too big to show here.
test/stack-source-repo/.gitignore−2
This diff is too big to show here.
test/stack-source-repo/default.nix−16
This diff is too big to show here.
test/stack-source-repo/package.yaml−8
This diff is too big to show here.
test/stack-source-repo/src/Lib.hs−6
This diff is too big to show here.
test/stack-source-repo/stack.yaml−12
This diff is too big to show here.
test/sublib-docs/Setup.hs−2
This diff is too big to show here.
test/sublib-docs/default.nix−61
This diff is too big to show here.
test/sublib-docs/lib/Lib.hs−6
This diff is too big to show here.
test/sublib-docs/slib/Slib.hs−6
This diff is too big to show here.
test/sublib-docs/src/Main.hs−4
This diff is too big to show here.
test/sublib-docs/sublib-docs.cabal−47
This diff is too big to show here.
test/tests.sh−141
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−231
This diff is too big to show here.
test/util.nix−8
This diff is too big to show here.
test/with-packages/.plan.nix/test-with-packages.nix−35
This diff is too big to show here.
test/with-packages/Point.hs−12
This diff is too big to show here.
test/with-packages/Setup.hs−2
This diff is too big to show here.
test/with-packages/TestWithPackages.hs−6
This diff is too big to show here.
test/with-packages/default.nix−109
This diff is too big to show here.
test/with-packages/pkgs.nix−200
This diff is too big to show here.
test/with-packages/test-with-packages.cabal−15
This diff is too big to show here.