mirror of
https://github.com/ilyakooo0/haskell.nix.git
synced 2024-09-11 06:55:40 +03:00
Add pins and materialization for ghc-boot-packages and ghc-extra-packages (#546)
* Include `tests` in path for cross compiled tests * Add ghc-boot-packages-nix to haskellNixRoots * Fix naming warnings in tests sources * Uses a single cleanGit call for all the tests * Add memoize code for ghc-boot and ghc-extra pkgs * Memoize ghc-boot and ghc-extra pkgs nix * Fix release.nix being more strict than ci.nix by updating filterAttrsOnlyRecursive in ci-lib.nix * Nicer errors when materialized path does not exist * Updated materialization docs * Add internalHackageIndexState to set the index-state used within haskell.nix
This commit is contained in:
parent
277c9b4acc
commit
d1102d342c
20
ci-lib.nix
20
ci-lib.nix
@ -30,16 +30,16 @@ in rec {
|
||||
# TODO: Surely this shouldn't be necessary. I think normal 'filterAttrsRecursive' will effectively cause infinite loops
|
||||
# if you keep derivations and your predicate forces the value of the attribute, as this then triggers a loop on the
|
||||
# 'out' attribute. Weird.
|
||||
# To make this function faster, unwanted attributes are mapped to {} instead of being
|
||||
# removed. This keeps the function lazy and avoids unwanted evaluation of sibling
|
||||
# derivations.
|
||||
filterAttrsOnlyRecursive = pred: set:
|
||||
lib.listToAttrs (
|
||||
lib.concatMap (name:
|
||||
let v = set.${name}; in
|
||||
if pred name v then [
|
||||
(lib.nameValuePair name (
|
||||
if builtins.isAttrs v && !lib.isDerivation v then filterAttrsOnlyRecursive pred v
|
||||
lib.mapAttrs (name: v:
|
||||
if pred name v
|
||||
then
|
||||
if builtins.isAttrs v
|
||||
&& !lib.isDerivation v
|
||||
then filterAttrsOnlyRecursive pred v
|
||||
else v
|
||||
))
|
||||
] else []
|
||||
) (builtins.attrNames set)
|
||||
);
|
||||
else {}) set;
|
||||
}
|
||||
|
2
ci.nix
2
ci.nix
@ -59,7 +59,7 @@ dimension "Nixpkgs version" nixpkgsVersions (nixpkgsName: nixpkgs-pin:
|
||||
}
|
||||
//
|
||||
# Tests are broken on aarch64 cross https://github.com/input-output-hk/haskell.nix/issues/513
|
||||
pkgs.lib.optionalAttrs (crossSystemName != "aarch64-multiplatform") build.tests
|
||||
pkgs.lib.optionalAttrs (crossSystemName != "aarch64-multiplatform") { inherit (build) tests; }
|
||||
)
|
||||
)
|
||||
)
|
||||
|
@ -39,11 +39,11 @@ Lets say we want to build `hlint`. We might start with an `hlint`
|
||||
file that looks like this:
|
||||
|
||||
```nix
|
||||
let inherit (import ./. {}) sources nixpkgsArgs;
|
||||
let inherit (import ./. {}) sources nixpkgsArgs;
|
||||
pkgs = import sources.nixpkgs-default nixpkgsArgs;
|
||||
hlint = pkgs.haskell-nix.hackage-package {
|
||||
name = "hlint";
|
||||
version = "2.2.4";
|
||||
version = "2.2.11";
|
||||
};
|
||||
in hlint.components.exes.hlint
|
||||
```
|
||||
@ -52,10 +52,10 @@ Building this may result in a lot of output, but if you build
|
||||
it again it should give just:
|
||||
|
||||
```
|
||||
$ nix-build hlint.nix
|
||||
$ nix-build hlint.nix
|
||||
trace: Using latest index state for hlint!
|
||||
trace: Using index-state: 2019-12-09T00:00:00Z for hlint
|
||||
/nix/store/7wwqq5v42gm6iiz2d3ngbnkyw7i4py11-hlint-2.2.4-exe-hlint
|
||||
trace: Using index-state: 2020-04-15T00:00:00Z for hlint
|
||||
/nix/store/rnfz66v7k8i38c8rsmchzsyqjrmrbdpk-hlint-2.2.11-exe-hlint
|
||||
```
|
||||
|
||||
To materialize the nix files we need to take care to pin down the
|
||||
@ -63,12 +63,12 @@ inputs. For `cabalProject` and `hackage-package` this means
|
||||
we must specify the `index-state` of hackage we want to use:
|
||||
|
||||
```nix
|
||||
let inherit (import ./. {}) sources nixpkgsArgs;
|
||||
pkgs = import sources.nixpkgs-default nixpkgsArgs;
|
||||
let inherit (import ./. {}) sources nixpkgsArgs;
|
||||
pkgs = import sources.nixpkgs-default nixpkgsArgs;
|
||||
hlint = pkgs.haskell-nix.hackage-package {
|
||||
name = "hlint";
|
||||
version = "2.2.4";
|
||||
index-state = "2019-12-03T00:00:00Z";
|
||||
version = "2.2.11";
|
||||
index-state = "2020-04-15T00:00:00Z";
|
||||
};
|
||||
in hlint.components.exes.hlint
|
||||
```
|
||||
@ -78,26 +78,26 @@ calculate a suitable sha256 hash to turn the derivation
|
||||
containing the nix files into a fixed output derivation:
|
||||
|
||||
```
|
||||
$ nix-build hlint.nix
|
||||
trace: Using index-state: 2019-12-03T00:00:00Z for hlint
|
||||
trace: Get `plan-sha256` with `nix-hash --base32 --type sha256 /nix/store/qk1fvza1alkvs51vzmpjp2xsg8xklyxk-hlint-plan-to-nix-pkgs/`
|
||||
/nix/store/7wwqq5v42gm6iiz2d3ngbnkyw7i4py11-hlint-2.2.4-exe-hlint
|
||||
$ nix-build hlint.nix
|
||||
trace: Using index-state: 2020-04-15T00:00:00Z for hlint
|
||||
trace: Get `plan-sha256` with `nix-hash --base32 --type sha256 /nix/store/8z6p4237rin3c6c1lmjwshmj8rdqrhw2-hlint-plan-to-nix-pkgs/`
|
||||
/nix/store/rnfz66v7k8i38c8rsmchzsyqjrmrbdpk-hlint-2.2.11-exe-hlint
|
||||
|
||||
$ nix-hash --base32 --type sha256 /nix/store/qk1fvza1alkvs51vzmpjp2xsg8xklyxk-hlint-plan-to-nix-pkgs/
|
||||
1a4rhv3h2daz6dzwzfl3w7l1v556n7aqfiagw6m0rvqq230iabss
|
||||
$ nix-hash --base32 --type sha256 /nix/store/8z6p4237rin3c6c1lmjwshmj8rdqrhw2-hlint-plan-to-nix-pkgs/
|
||||
02hasr27a994sml1fzf8swb716lm6lgixxr53y0gxkhw437xkck4
|
||||
```
|
||||
|
||||
We can add the hash as `plan-sha256` or (`stack-sha256` for
|
||||
`stackProject`)
|
||||
|
||||
```nix
|
||||
let inherit (import ./. {}) sources nixpkgsArgs;
|
||||
pkgs = import sources.nixpkgs-default nixpkgsArgs;
|
||||
let inherit (import ./. {}) sources nixpkgsArgs;
|
||||
pkgs = import sources.nixpkgs-default nixpkgsArgs;
|
||||
hlint = pkgs.haskell-nix.hackage-package {
|
||||
name = "hlint";
|
||||
version = "2.2.4";
|
||||
index-state = "2019-12-03T00:00:00Z";
|
||||
plan-sha256 = "1a4rhv3h2daz6dzwzfl3w7l1v556n7aqfiagw6m0rvqq230iabss";
|
||||
version = "2.2.11";
|
||||
index-state = "2020-04-15T00:00:00Z";
|
||||
plan-sha256 = "02hasr27a994sml1fzf8swb716lm6lgixxr53y0gxkhw437xkck4";
|
||||
};
|
||||
in hlint.components.exes.hlint
|
||||
```
|
||||
@ -111,22 +111,22 @@ to wait while they are built or downloaded.
|
||||
Running nix build again gives us a hint on what we can do next:
|
||||
|
||||
```
|
||||
$ nix-build hlint.nix
|
||||
trace: Using index-state: 2019-12-03T00:00:00Z for hlint
|
||||
trace: To materialize, point `materialized` to a copy of /nix/store/0xalcphb7ifvy5fc9dpwj40fij6nn5av-hlint-plan-to-nix-pkgs
|
||||
/nix/store/7wwqq5v42gm6iiz2d3ngbnkyw7i4py11-hlint-2.2.4-exe-hlint
|
||||
$ nix-build hlint.nix
|
||||
trace: Using index-state: 2020-04-15T00:00:00Z for hlint
|
||||
trace: To materialize, point `materialized` to a copy of /nix/store/kk047cqsjvbj4w8psv4l05abdcnyrqdc-hlint-plan-to-nix-pkgs
|
||||
/nix/store/rnfz66v7k8i38c8rsmchzsyqjrmrbdpk-hlint-2.2.11-exe-hlint
|
||||
```
|
||||
|
||||
To capture the nix we can do something like:
|
||||
|
||||
```nix
|
||||
let inherit (import ./. {}) sources nixpkgsArgs;
|
||||
pkgs = import sources.nixpkgs-default nixpkgsArgs;
|
||||
let inherit (import ./. {}) sources nixpkgsArgs;
|
||||
pkgs = import sources.nixpkgs-default nixpkgsArgs;
|
||||
hlint = pkgs.haskell-nix.hackage-package {
|
||||
name = "hlint";
|
||||
version = "2.2.4";
|
||||
index-state = "2019-12-03T00:00:00Z";
|
||||
plan-sha256 = "1a4rhv3h2daz6dzwzfl3w7l1v556n7aqfiagw6m0rvqq230iabss";
|
||||
version = "2.2.11";
|
||||
index-state = "2020-04-15T00:00:00Z";
|
||||
plan-sha256 = "02hasr27a994sml1fzf8swb716lm6lgixxr53y0gxkhw437xkck4";
|
||||
materialized = ./hlint.materialized;
|
||||
};
|
||||
in hlint.components.exes.hlint
|
||||
@ -135,9 +135,9 @@ in hlint.components.exes.hlint
|
||||
Now we can copy the nix files needed and build with:
|
||||
|
||||
```
|
||||
$ cp -r /nix/store/0xalcphb7ifvy5fc9dpwj40fij6nn5av-hlint-plan-to-nix-pkgs hlint.materialized
|
||||
$ nix-build hlint.nix
|
||||
/nix/store/7wwqq5v42gm6iiz2d3ngbnkyw7i4py11-hlint-2.2.4-exe-hlint
|
||||
$ cp -r /nix/store/8z6p4237rin3c6c1lmjwshmj8rdqrhw2-hlint-plan-to-nix-pkgs hlint.materialized
|
||||
$ nix-build hlint.nix
|
||||
/nix/store/rnfz66v7k8i38c8rsmchzsyqjrmrbdpk-hlint-2.2.11-exe-hlint
|
||||
```
|
||||
|
||||
We may want to run `chmod -R +w hlint.materialized` as the files copied from the
|
||||
@ -145,74 +145,44 @@ store will be read only.
|
||||
|
||||
## How can we check `sha256` and `materialized` are up to date?
|
||||
|
||||
Let's pretend we had to go back to `hlint` version `2.2.3`.
|
||||
We can change `version` and temporarily add
|
||||
`checkMaterialization = true;`:
|
||||
Let's pretend we had to go back to `hlint` version `2.2.10`.
|
||||
We can tell haskell.nix to check the materialiazation either by:
|
||||
|
||||
* Removing the materialization files with `rm -rf hlint.materialized`
|
||||
* Temporarily adding `checkMaterialization = true;`
|
||||
|
||||
If we choose to add the `checkMaterialization` flag you would have:
|
||||
|
||||
```nix
|
||||
let inherit (import ./. {}) sources nixpkgsArgs;
|
||||
pkgs = import sources.nixpkgs-default nixpkgsArgs;
|
||||
let inherit (import ./. {}) sources nixpkgsArgs;
|
||||
pkgs = import sources.nixpkgs-default nixpkgsArgs;
|
||||
hlint = pkgs.haskell-nix.hackage-package {
|
||||
name = "hlint";
|
||||
version = "2.2.4";
|
||||
index-state = "2019-12-03T00:00:00Z";
|
||||
plan-sha256 = "1a4rhv3h2daz6dzwzfl3w7l1v556n7aqfiagw6m0rvqq230iabss";
|
||||
version = "2.2.10";
|
||||
index-state = "2020-04-15T00:00:00Z";
|
||||
plan-sha256 = "02hasr27a994sml1fzf8swb716lm6lgixxr53y0gxkhw437xkck4";
|
||||
materialized = ./hlint.materialized;
|
||||
checkMaterialization = true;
|
||||
};
|
||||
in hlint.components.exes.hlint
|
||||
```
|
||||
|
||||
This will fail and report the details of what is wrong:
|
||||
This will fail and report the details of what is wrong and how to fix it:
|
||||
|
||||
```
|
||||
$ nix-build hlint.nix
|
||||
trace: Using index-state: 2019-12-03T00:00:00Z for hlint
|
||||
building '/nix/store/zmif4gk52ynh57pf4dikzgsk30haqi2b-hlint-plan-to-nix-pkgs.drv'...
|
||||
Changes to hlint-plan-to-nix-pkgs not reflected in plan-sha256
|
||||
diff -ru /nix/store/0xalcphb7ifvy5fc9dpwj40fij6nn5av-hlint-plan-to-nix-pkgs/.plan.nix/hlint.nix /nix/store/h5j8k3y5lansyfss25gd7knbninzr6z4-hlint-plan-to-nix-pkgs/.plan.nix/hlint.nix
|
||||
--- /nix/store/0xalcphb7ifvy5fc9dpwj40fij6nn5av-hlint-plan-to-nix-pkgs/.plan.nix/hlint.nix 1970-01-01 00:00:01.000000000 +0000
|
||||
+++ /nix/store/h5j8k3y5lansyfss25gd7knbninzr6z4-hlint-plan-to-nix-pkgs/.plan.nix/hlint.nix 1970-01-01 00:00:01.000000000 +0000
|
||||
@@ -42,7 +42,7 @@
|
||||
flags = { threaded = true; gpl = true; ghc-lib = false; };
|
||||
package = {
|
||||
specVersion = "1.18";
|
||||
- identifier = { name = "hlint"; version = "2.2.4"; };
|
||||
+ identifier = { name = "hlint"; version = "2.2.3"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "Neil Mitchell 2006-2019";
|
||||
maintainer = "Neil Mitchell <ndmitchell@gmail.com>";
|
||||
@@ -95,7 +95,6 @@
|
||||
(hsPkgs."extra" or (buildDepError "extra"))
|
||||
(hsPkgs."refact" or (buildDepError "refact"))
|
||||
(hsPkgs."aeson" or (buildDepError "aeson"))
|
||||
- (hsPkgs."filepattern" or (buildDepError "filepattern"))
|
||||
(hsPkgs."syb" or (buildDepError "syb"))
|
||||
(hsPkgs."mtl" or (buildDepError "mtl"))
|
||||
] ++ (if !flags.ghc-lib && (compiler.isGhc && (compiler.version).ge "8.8.0") && (compiler.isGhc && (compiler.version).lt "8.9.0")
|
||||
diff -ru /nix/store/0xalcphb7ifvy5fc9dpwj40fij6nn5av-hlint-plan-to-nix-pkgs/default.nix /nix/store/h5j8k3y5lansyfss25gd7knbninzr6z4-hlint-plan-to-nix-pkgs/default.nix
|
||||
--- /nix/store/0xalcphb7ifvy5fc9dpwj40fij6nn5av-hlint-plan-to-nix-pkgs/default.nix 1970-01-01 00:00:01.000000000 +0000
|
||||
+++ /nix/store/h5j8k3y5lansyfss25gd7knbninzr6z4-hlint-plan-to-nix-pkgs/default.nix 1970-01-01 00:00:01.000000000 +0000
|
||||
@@ -76,7 +76,7 @@
|
||||
"tagged".revision = (((hackage."tagged")."0.8.6").revisions).default;
|
||||
"tagged".flags.transformers = true;
|
||||
"tagged".flags.deepseq = true;
|
||||
- "haskell-src-exts".revision = (((hackage."haskell-src-exts")."1.22.0").revisions).default;
|
||||
+ "haskell-src-exts".revision = (((hackage."haskell-src-exts")."1.21.1").revisions).default;
|
||||
"unliftio-core".revision = (((hackage."unliftio-core")."0.1.2.0").revisions).default;
|
||||
"ghc-lib-parser".revision = (((hackage."ghc-lib-parser")."8.8.1").revisions).default;
|
||||
"containers".revision = (((hackage."containers")."0.6.0.1").revisions).default;
|
||||
@@ -116,7 +116,6 @@
|
||||
"hpc".revision = (((hackage."hpc")."0.6.0.3").revisions).default;
|
||||
"filepath".revision = (((hackage."filepath")."1.4.2.1").revisions).default;
|
||||
"process".revision = (((hackage."process")."1.6.5.0").revisions).default;
|
||||
- "filepattern".revision = (((hackage."filepattern")."0.1.1").revisions).default;
|
||||
"libyaml".revision = (((hackage."libyaml")."0.1.1.1").revisions).default;
|
||||
"libyaml".flags.system-libyaml = false;
|
||||
"libyaml".flags.no-unicode = false;
|
||||
Calculated hash is 1qjmhlb4rw6mggs7y57f6zr5zjmkhkx7sn9q8pb18308n5nxgxcs expected hash was 1a4rhv3h2daz6dzwzfl3w7l1v556n7aqfiagw6m0rvqq230iabss for hlint-plan-to-nix-pkgs
|
||||
builder for '/nix/store/zmif4gk52ynh57pf4dikzgsk30haqi2b-hlint-plan-to-nix-pkgs.drv' failed with exit code 1
|
||||
error: build of '/nix/store/zmif4gk52ynh57pf4dikzgsk30haqi2b-hlint-plan-to-nix-pkgs.drv' failed
|
||||
$ nix-build hlint.nix
|
||||
|
||||
...
|
||||
|
||||
Calculated hash for hlint-plan-to-nix-pkgs was not 02hasr27a994sml1fzf8swb716lm6lgixxr53y0gxkhw437xkck4. New hash is :
|
||||
plan-sha256 = "0zsi3wv92qax33ic4n5dfsqd1r9qam1k75za3c5jqgdxl3hy8vph";
|
||||
Materialized nix used for hlint-plan-to-nix-pkgs incorrect. To fix run :
|
||||
rm -rf /Users/hamish/iohk/haskell.nix/hlint.materialized
|
||||
cp -r /nix/store/ywdhbx9rzzkfc60c5vzk7cins2hnvkgx-hlint-plan-to-nix-pkgs /Users/hamish/iohk/haskell.nix/hlint.materialized
|
||||
chmod -R +w /Users/hamish/iohk/haskell.nix/hlint.materialized
|
||||
builder for '/nix/store/a5zmgfjfxahapw0q8hd2da5bg7knqvbx-hlint-plan-to-nix-pkgs.drv' failed with exit code 1
|
||||
error: build of '/nix/store/a5zmgfjfxahapw0q8hd2da5bg7knqvbx-hlint-plan-to-nix-pkgs.drv' failed
|
||||
(use '--show-trace' to show detailed location information)
|
||||
```
|
||||
|
||||
Checking the materialization requires nix to do all the work that materialization
|
||||
@ -228,21 +198,21 @@ hash and materialized nix we can find out what nix files should be.
|
||||
For instance:
|
||||
|
||||
```nix
|
||||
let inherit (import ./. {}) sources nixpkgsArgs;
|
||||
pkgs = import sources.nixpkgs-default nixpkgsArgs;
|
||||
let inherit (import ./. {}) sources nixpkgsArgs;
|
||||
pkgs = import sources.nixpkgs-default nixpkgsArgs;
|
||||
hlint = pkgs.haskell-nix.hackage-project {
|
||||
name = "hlint";
|
||||
version = "2.2.4";
|
||||
index-state = "2019-12-03T00:00:00Z";
|
||||
version = "2.2.10";
|
||||
index-state = "2020-04-15T00:00:00Z";
|
||||
};
|
||||
in hlint
|
||||
```
|
||||
|
||||
```
|
||||
$ nix-build hlint.nix -A plan-nix
|
||||
trace: Using index-state: 2019-12-03T00:00:00Z for hlint
|
||||
trace: Get `plan-sha256` with `nix-hash --base32 --type sha256 /nix/store/qk1fvza1alkvs51vzmpjp2xsg8xklyxk-hlint-plan-to-nix-pkgs/`
|
||||
/nix/store/qk1fvza1alkvs51vzmpjp2xsg8xklyxk-hlint-plan-to-nix-pkgs
|
||||
trace: Using index-state: 2020-04-15T00:00:00Z for hlint
|
||||
trace: Get `plan-sha256` with `nix-hash --base32 --type sha256 /nix/store/ywdhbx9rzzkfc60c5vzk7cins2hnvkgx-hlint-plan-to-nix-pkgs/`
|
||||
/nix/store/ywdhbx9rzzkfc60c5vzk7cins2hnvkgx-hlint-plan-to-nix-pkgs
|
||||
```
|
||||
|
||||
We can have the script copy `$(nix-build hlint.nix -A plan-nix --no-out-link)`
|
||||
@ -257,17 +227,23 @@ Yes and it gives us the same speed improvement, however:
|
||||
* Users will still wind up building or downloading the dependencies
|
||||
needed to build the nix fileds (if they do not have them).
|
||||
|
||||
For instance:
|
||||
For those reasons it might be best to make a copy instead
|
||||
of using the `/nix/store/...` path directly.
|
||||
|
||||
If you really want to use the `/nix/store/...` path directly
|
||||
you should gaurd against the path not existing as passing in
|
||||
a non-existing path is now an error:
|
||||
|
||||
```nix
|
||||
let inherit (import ./. {}) sources nixpkgsArgs;
|
||||
pkgs = import sources.nixpkgs-default nixpkgsArgs;
|
||||
let inherit (import ./. {}) sources nixpkgsArgs;
|
||||
pkgs = import sources.nixpkgs-default nixpkgsArgs;
|
||||
hlintPlan = /nix/store/kk047cqsjvbj4w8psv4l05abdcnyrqdc-hlint-plan-to-nix-pkgs;
|
||||
hlint = pkgs.haskell-nix.hackage-package {
|
||||
name = "hlint";
|
||||
version = "2.2.4";
|
||||
index-state = "2019-12-03T00:00:00Z";
|
||||
plan-sha256 = "1a4rhv3h2daz6dzwzfl3w7l1v556n7aqfiagw6m0rvqq230iabss";
|
||||
materialized = /nix/store/qk1fvza1alkvs51vzmpjp2xsg8xklyxk-hlint-plan-to-nix-pkgs;
|
||||
version = "2.2.11";
|
||||
index-state = "2020-04-15T00:00:00Z";
|
||||
plan-sha256 = "02hasr27a994sml1fzf8swb716lm6lgixxr53y0gxkhw437xkck4";
|
||||
materialized = if __pathExists hlintPlan then hlintPlan else null;
|
||||
};
|
||||
in hlint.components.exes.hlint
|
||||
```
|
||||
@ -275,17 +251,17 @@ in hlint.components.exes.hlint
|
||||
Running when no building is needed is still slow in restricted evaluation mode.
|
||||
|
||||
```
|
||||
$ time nix-build --option restrict-eval true -I . --option allowed-uris "https://github.com/NixOS https://github.com/input-output-hk" hlint.nix
|
||||
trace: Using index-state: 2019-12-03T00:00:00Z for hlint
|
||||
/nix/store/7wwqq5v42gm6iiz2d3ngbnkyw7i4py11-hlint-2.2.4-exe-hlint
|
||||
$ time nix-build --option restrict-eval true -I . --option allowed-uris "https://github.com/NixOS https://github.com/input-output-hk" hlint.nix --show-trace
|
||||
trace: Using index-state: 2020-04-15T00:00:00Z for hlint
|
||||
/nix/store/rnfz66v7k8i38c8rsmchzsyqjrmrbdpk-hlint-2.2.11-exe-hlint
|
||||
|
||||
real 0m10.066s
|
||||
user 0m8.563s
|
||||
sys 0m0.630s
|
||||
$ time nix-build hlint.nix
|
||||
/nix/store/7wwqq5v42gm6iiz2d3ngbnkyw7i4py11-hlint-2.2.4-exe-hlint
|
||||
real 0m4.463s
|
||||
user 0m4.440s
|
||||
sys 0m0.461s
|
||||
$ time nix-build hlint.nix
|
||||
/nix/store/rnfz66v7k8i38c8rsmchzsyqjrmrbdpk-hlint-2.2.11-exe-hlint
|
||||
|
||||
real 0m4.628s
|
||||
user 0m3.889s
|
||||
sys 0m0.389s
|
||||
real 0m2.206s
|
||||
user 0m1.665s
|
||||
sys 0m0.332s
|
||||
```
|
||||
|
@ -1,5 +1,5 @@
|
||||
{ dotCabal, pkgs, runCommand, nix-tools, cabal-install, ghc, hpack, symlinkJoin, cacert, index-state-hashes, haskellLib, materialize }@defaults:
|
||||
{ name ? src.name or (baseNameOf src) # optional name for better error messages
|
||||
{ name ? src.name or null # optional name for better error messages
|
||||
, src
|
||||
, index-state ? null # Hackage index-state, eg. "2019-10-10T00:00:00Z"
|
||||
, index-sha256 ? null # The hash of the truncated hackage index-state
|
||||
@ -241,7 +241,7 @@ let
|
||||
chmod +w -R $out/.source-repository-packages
|
||||
rm -rf $out/.source-repository-packages
|
||||
fi
|
||||
find $out -type f ! -name '*.nix' -delete
|
||||
find $out \( -type f -or -type l \) ! -name '*.nix' -delete
|
||||
# Remove empty dirs
|
||||
find $out -type d -empty -delete
|
||||
|
||||
|
@ -6,7 +6,11 @@
|
||||
* see also `call-cabal-project-to-nix`!
|
||||
*/
|
||||
{ runCommand, nix-tools, pkgs, mkCacheFile, materialize }:
|
||||
{ src, stackYaml ? null, ignorePackageYaml ? false, cache ? null
|
||||
{ name ? src.name or null # optional name for better error messages
|
||||
, src
|
||||
, stackYaml ? null
|
||||
, ignorePackageYaml ? false
|
||||
, cache ? null
|
||||
, stack-sha256 ? null
|
||||
, materialized ? null # Location of a materialized copy of the nix files
|
||||
, checkMaterialization ? null # If true the nix files will be generated used to check plan-sha256 and material
|
||||
@ -25,7 +29,7 @@ let
|
||||
reasonNotSafe = null;
|
||||
} // pkgs.lib.optionalAttrs (checkMaterialization != null) {
|
||||
inherit checkMaterialization;
|
||||
}) (runCommand "stack-to-nix-pkgs" {
|
||||
}) (runCommand (if name == null then "stack-to-nix-pkgs" else name + "-stack-to-nix-pkgs") {
|
||||
nativeBuildInputs = [ nix-tools pkgs.nix-prefetch-git pkgs.cacert ];
|
||||
# Needed or stack-to-nix will die on unicode inputs
|
||||
LOCALE_ARCHIVE = pkgs.lib.optionalString (pkgs.stdenv.hostPlatform.libc == "glibc") "${pkgs.glibcLocales}/lib/locale/locale-archive";
|
||||
|
@ -94,7 +94,7 @@
|
||||
# * A default name that gives a hint as to why there is no name.
|
||||
__trace (
|
||||
"WARNING: `${caller}` called on ${toString src} without a `name`. "
|
||||
+ "Consider adding `name = \"${baseNameOf src};\"`") "source";
|
||||
+ "Consider adding `name = \"${baseNameOf src}\";`") "source";
|
||||
in {
|
||||
inherit origSrc origSubDir origSrcSubDir;
|
||||
filter = filter';
|
||||
|
@ -1,9 +1,21 @@
|
||||
{ pkgs, nix, runCommand, checkMaterialization }@defaults:
|
||||
{ sha256
|
||||
, sha256Arg
|
||||
, materialized
|
||||
, reasonNotSafe
|
||||
, sha256Arg # Name of the sha256 argument for more meaningful
|
||||
# error messages when checking the materialization.
|
||||
, materialized # null or path where to find materialized version of
|
||||
# the output. If this is set but does not exist
|
||||
# the derivation will fail but with a message
|
||||
# advising how to populate it.
|
||||
, reasonNotSafe # Some times there a reasont the derivation will
|
||||
# not produce output that can be safely materialized.
|
||||
# Set this to a string explaining why and materialization
|
||||
# will not be used (if sha256 was set an error will be
|
||||
# displayed including the reasonNotSafe string).
|
||||
, checkMaterialization ? defaults.checkMaterialization
|
||||
# When checkMaterialization is set the derivation
|
||||
# will be calculated the slow way (without using `sha256`
|
||||
# and `materialized`) the result will be used to check
|
||||
# `sha256` and `materialized` (if set).
|
||||
}: derivation:
|
||||
|
||||
let
|
||||
@ -45,31 +57,52 @@ let
|
||||
# Build fully and check the hash and materialized versions
|
||||
checked = runCommand name {
|
||||
buildInputs = [ nix ];
|
||||
} (
|
||||
(pkgs.lib.optionalString (sha256 != null) ''
|
||||
} (''
|
||||
ERR=$(mktemp -d)/errors.txt
|
||||
''
|
||||
+ (pkgs.lib.optionalString (sha256 != null) ''
|
||||
NEW_HASH=$(nix-hash --base32 --type sha256 ${calculateNoHash})
|
||||
if [ "${sha256}" != "$NEW_HASH" ]; then
|
||||
echo Changes to ${name} not reflected in ${sha256Arg}
|
||||
diff -ru ${calculateUseHash} ${calculateNoHash} || true
|
||||
echo Calculated hash is $NEW_HASH expected hash was ${sha256} for ${name}
|
||||
false
|
||||
echo "Calculated hash for ${name} was not ${sha256}. New hash is :" >> $ERR
|
||||
echo " ${sha256Arg} = \"$NEW_HASH\";" >> $ERR
|
||||
else
|
||||
echo ${sha256Arg} used for ${name} is correct
|
||||
fi
|
||||
'')
|
||||
+ (pkgs.lib.optionalString (materialized != null) ''
|
||||
if diff -qr ${materialized} ${calculateNoHash} &>/dev/null; then
|
||||
echo materialized nix used for ${name} is correct
|
||||
+ (
|
||||
if materialized != null && !__pathExists materialized
|
||||
then ''
|
||||
echo "Materialized nix used for ${name} is missing. To fix run :" >> $ERR
|
||||
echo " cp -r ${calculateNoHash} ${toString materialized}" >> $ERR
|
||||
echo " chmod -R +w ${toString materialized}" >> $ERR
|
||||
cat $ERR
|
||||
false
|
||||
''
|
||||
else
|
||||
echo Changes to plan not reflected in materialized nix for ${name}
|
||||
diff -ru ${materialized} ${calculateNoHash}
|
||||
fi
|
||||
'')
|
||||
+ ''
|
||||
cp -r ${unchecked} $out
|
||||
# Make sure output files can be removed from the sandbox
|
||||
chmod -R +w $out
|
||||
''
|
||||
(pkgs.lib.optionalString (materialized != null && __pathExists materialized) ''
|
||||
if diff -qr ${materialized} ${calculateNoHash} &>/dev/null; then
|
||||
echo materialized nix used for ${name} is correct
|
||||
else
|
||||
echo Changes to plan not reflected in materialized nix for ${name}
|
||||
diff -ru ${materialized} ${calculateNoHash} || true
|
||||
echo "Materialized nix used for ${name} incorrect. To fix run :" >> $ERR
|
||||
echo " rm -rf ${toString materialized}" >> $ERR
|
||||
echo " cp -r ${calculateNoHash} ${toString materialized}" >> $ERR
|
||||
echo " chmod -R +w ${toString materialized}" >> $ERR
|
||||
fi
|
||||
'')
|
||||
+ ''
|
||||
if [ -e $ERR ]; then
|
||||
cat $ERR
|
||||
false
|
||||
else
|
||||
cp -r ${unchecked} $out
|
||||
# Make sure output files can be removed from the sandbox
|
||||
chmod -R +w $out
|
||||
fi
|
||||
'')
|
||||
);
|
||||
|
||||
hashArgs = {
|
||||
@ -78,18 +111,32 @@ let
|
||||
outputHash = sha256;
|
||||
};
|
||||
calculateNoHash = derivation;
|
||||
calculateUseHash = derivation.overrideAttrs (_: hashArgs);
|
||||
calculateUseHash =
|
||||
# Use `cp -r` here to get rid of symlinks so we know the result
|
||||
# can be safely materialized (no symlinks to the store).
|
||||
runCommand name hashArgs ''
|
||||
cp -r ${derivation} $out
|
||||
# Make sure output files can be removed from the sandbox
|
||||
chmod -R +w $out
|
||||
'';
|
||||
calculateUseAll =
|
||||
# Skip right to expectedPath if it already exists
|
||||
if materialized != null && builtins.pathExists materialized
|
||||
then runCommand name hashArgs ''
|
||||
cp -r ${materialized} $out
|
||||
# Make sure output files can be removed from the sandbox
|
||||
chmod -R +w $out
|
||||
''
|
||||
if materialized != null
|
||||
then
|
||||
assert __pathExists materialized;
|
||||
runCommand name hashArgs ''
|
||||
cp -r ${materialized} $out
|
||||
# Make sure output files can be removed from the sandbox
|
||||
chmod -R +w $out
|
||||
''
|
||||
else calculateUseHash;
|
||||
|
||||
# Materialized location was specified, but the files are not there.
|
||||
missingMaterialized = materialized != null && !__pathExists materialized;
|
||||
|
||||
in
|
||||
if checkMaterialization
|
||||
# Use the checked version if requested or if the `materialized` version
|
||||
# is missing (perhaps deleted or not created yet).
|
||||
if checkMaterialization || missingMaterialized
|
||||
then checked
|
||||
else unchecked
|
||||
|
73
materialized/ghc-boot-packages-nix/ghc865/base.nix
Normal file
73
materialized/ghc-boot-packages-nix/ghc865/base.nix
Normal file
@ -0,0 +1,73 @@
|
||||
let
|
||||
buildDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
sysDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
||||
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
pkgConfDepError = pkg:
|
||||
builtins.throw ''
|
||||
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
||||
|
||||
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
exeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The local executable components do not include the component: ${pkg} (executable dependency).
|
||||
'';
|
||||
legacyExeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
buildToolDepError = pkg:
|
||||
builtins.throw ''
|
||||
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
||||
|
||||
If this is a system dependency:
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
|
||||
If this is a Haskell dependency:
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
||||
{
|
||||
flags = { integer-simple = false; integer-gmp = false; };
|
||||
package = {
|
||||
specVersion = "2.1";
|
||||
identifier = { name = "base"; version = "4.12.0.0"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "";
|
||||
maintainer = "libraries@haskell.org";
|
||||
author = "";
|
||||
homepage = "";
|
||||
url = "";
|
||||
synopsis = "Basic libraries";
|
||||
description = "This package contains the Standard Haskell \"Prelude\" and its support libraries,\nand a large collection of useful libraries ranging from data\nstructures to parsing combinators and debugging utilities.";
|
||||
buildType = "Configure";
|
||||
};
|
||||
components = {
|
||||
"library" = {
|
||||
depends = (([
|
||||
(hsPkgs."rts" or (buildDepError "rts"))
|
||||
(hsPkgs."ghc-prim" or (buildDepError "ghc-prim"))
|
||||
] ++ (pkgs.lib).optional (!(flags.integer-gmp && !flags.integer-simple || !flags.integer-gmp && flags.integer-simple)) (hsPkgs."invalid-cabal-flag-settings" or (buildDepError "invalid-cabal-flag-settings"))) ++ (pkgs.lib).optional (flags.integer-simple) (hsPkgs."integer-simple" or (buildDepError "integer-simple"))) ++ (pkgs.lib).optional (flags.integer-gmp) (hsPkgs."integer-gmp" or (buildDepError "integer-gmp"));
|
||||
libs = (pkgs.lib).optionals (system.isWindows) [
|
||||
(pkgs."wsock32" or (sysDepError "wsock32"))
|
||||
(pkgs."user32" or (sysDepError "user32"))
|
||||
(pkgs."shell32" or (sysDepError "shell32"))
|
||||
(pkgs."msvcrt" or (sysDepError "msvcrt"))
|
||||
(pkgs."mingw32" or (sysDepError "mingw32"))
|
||||
(pkgs."mingwex" or (sysDepError "mingwex"))
|
||||
];
|
||||
buildable = true;
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ./.; }
|
111
materialized/ghc-boot-packages-nix/ghc865/bytestring.nix
Normal file
111
materialized/ghc-boot-packages-nix/ghc865/bytestring.nix
Normal file
@ -0,0 +1,111 @@
|
||||
let
|
||||
buildDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
sysDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
||||
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
pkgConfDepError = pkg:
|
||||
builtins.throw ''
|
||||
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
||||
|
||||
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
exeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The local executable components do not include the component: ${pkg} (executable dependency).
|
||||
'';
|
||||
legacyExeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
buildToolDepError = pkg:
|
||||
builtins.throw ''
|
||||
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
||||
|
||||
If this is a system dependency:
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
|
||||
If this is a Haskell dependency:
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
||||
{
|
||||
flags = { integer-simple = false; };
|
||||
package = {
|
||||
specVersion = "1.10";
|
||||
identifier = { name = "bytestring"; version = "0.10.8.2"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "Copyright (c) Don Stewart 2005-2009,\n(c) Duncan Coutts 2006-2015,\n(c) David Roundy 2003-2005,\n(c) Jasper Van der Jeugt 2010,\n(c) Simon Meier 2010-2013.";
|
||||
maintainer = "Duncan Coutts <duncan@community.haskell.org>";
|
||||
author = "Don Stewart,\nDuncan Coutts";
|
||||
homepage = "https://github.com/haskell/bytestring";
|
||||
url = "";
|
||||
synopsis = "Fast, compact, strict and lazy byte strings with a list interface";
|
||||
description = "An efficient compact, immutable byte string type (both strict and lazy)\nsuitable for binary or 8-bit character data.\n\nThe 'ByteString' type represents sequences of bytes or 8-bit characters.\nIt is suitable for high performance use, both in terms of large data\nquantities, or high speed requirements. The 'ByteString' functions follow\nthe same style as Haskell\\'s ordinary lists, so it is easy to convert code\nfrom using 'String' to 'ByteString'.\n\nTwo 'ByteString' variants are provided:\n\n* Strict 'ByteString's keep the string as a single large array. This\nmakes them convenient for passing data between C and Haskell.\n\n* Lazy 'ByteString's use a lazy list of strict chunks which makes it\nsuitable for I\\/O streaming tasks.\n\nThe @Char8@ modules provide a character-based view of the same\nunderlying 'ByteString' types. This makes it convenient to handle mixed\nbinary and 8-bit character content (which is common in many file formats\nand network protocols).\n\nThe 'Builder' module provides an efficient way to build up 'ByteString's\nin an ad-hoc way by repeated concatenation. This is ideal for fast\nserialisation or pretty printing.\n\nThere is also a 'ShortByteString' type which has a lower memory overhead\nand can can be converted to or from a 'ByteString', but supports very few\nother operations. It is suitable for keeping many short strings in memory.\n\n'ByteString's are not designed for Unicode. For Unicode strings you should\nuse the 'Text' type from the @text@ package.\n\nThese modules are intended to be imported qualified, to avoid name clashes\nwith \"Prelude\" functions, e.g.\n\n> import qualified Data.ByteString as BS";
|
||||
buildType = "Simple";
|
||||
};
|
||||
components = {
|
||||
"library" = {
|
||||
depends = ([
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."ghc-prim" or (buildDepError "ghc-prim"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
] ++ (pkgs.lib).optionals (compiler.isGhc && (compiler.version).ge "6.11") ((pkgs.lib).optional (!flags.integer-simple) (hsPkgs."integer-gmp" or (buildDepError "integer-gmp")))) ++ (pkgs.lib).optional (compiler.isGhc && (compiler.version).ge "6.9" && (compiler.isGhc && (compiler.version).lt "6.11")) (hsPkgs."integer" or (buildDepError "integer"));
|
||||
buildable = true;
|
||||
};
|
||||
tests = {
|
||||
"prop-compiled" = {
|
||||
depends = [
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."ghc-prim" or (buildDepError "ghc-prim"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
(hsPkgs."random" or (buildDepError "random"))
|
||||
(hsPkgs."directory" or (buildDepError "directory"))
|
||||
(hsPkgs."test-framework" or (buildDepError "test-framework"))
|
||||
(hsPkgs."test-framework-quickcheck2" or (buildDepError "test-framework-quickcheck2"))
|
||||
(hsPkgs."QuickCheck" or (buildDepError "QuickCheck"))
|
||||
];
|
||||
buildable = true;
|
||||
};
|
||||
"regressions" = {
|
||||
depends = [
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."ghc-prim" or (buildDepError "ghc-prim"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
(hsPkgs."random" or (buildDepError "random"))
|
||||
(hsPkgs."directory" or (buildDepError "directory"))
|
||||
(hsPkgs."test-framework" or (buildDepError "test-framework"))
|
||||
(hsPkgs."test-framework-hunit" or (buildDepError "test-framework-hunit"))
|
||||
(hsPkgs."HUnit" or (buildDepError "HUnit"))
|
||||
];
|
||||
buildable = false;
|
||||
};
|
||||
"test-builder" = {
|
||||
depends = [
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."ghc-prim" or (buildDepError "ghc-prim"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
(hsPkgs."QuickCheck" or (buildDepError "QuickCheck"))
|
||||
(hsPkgs."byteorder" or (buildDepError "byteorder"))
|
||||
(hsPkgs."dlist" or (buildDepError "dlist"))
|
||||
(hsPkgs."directory" or (buildDepError "directory"))
|
||||
(hsPkgs."mtl" or (buildDepError "mtl"))
|
||||
(hsPkgs."HUnit" or (buildDepError "HUnit"))
|
||||
(hsPkgs."test-framework" or (buildDepError "test-framework"))
|
||||
(hsPkgs."test-framework-hunit" or (buildDepError "test-framework-hunit"))
|
||||
(hsPkgs."test-framework-quickcheck2" or (buildDepError "test-framework-quickcheck2"))
|
||||
];
|
||||
buildable = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ./.; }
|
69
materialized/ghc-boot-packages-nix/ghc865/ghc-boot.nix
Normal file
69
materialized/ghc-boot-packages-nix/ghc865/ghc-boot.nix
Normal file
@ -0,0 +1,69 @@
|
||||
let
|
||||
buildDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
sysDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
||||
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
pkgConfDepError = pkg:
|
||||
builtins.throw ''
|
||||
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
||||
|
||||
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
exeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The local executable components do not include the component: ${pkg} (executable dependency).
|
||||
'';
|
||||
legacyExeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
buildToolDepError = pkg:
|
||||
builtins.throw ''
|
||||
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
||||
|
||||
If this is a system dependency:
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
|
||||
If this is a Haskell dependency:
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
||||
{
|
||||
flags = {};
|
||||
package = {
|
||||
specVersion = "1.22";
|
||||
identifier = { name = "ghc-boot"; version = "8.6.5"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "";
|
||||
maintainer = "ghc-devs@haskell.org";
|
||||
author = "";
|
||||
homepage = "";
|
||||
url = "";
|
||||
synopsis = "Shared functionality between GHC and its boot libraries";
|
||||
description = "This library is shared between GHC, ghc-pkg, and other boot\nlibraries.\n\nA note about \"GHC.PackageDb\": it only deals with the subset of\nthe package database that the compiler cares about: modules\npaths etc and not package metadata like description, authors\netc. It is thus not a library interface to ghc-pkg and is *not*\nsuitable for modifying GHC package databases.\n\nThe package database format and this library are constructed in\nsuch a way that while ghc-pkg depends on Cabal, the GHC library\nand program do not have to depend on Cabal.";
|
||||
buildType = "Simple";
|
||||
};
|
||||
components = {
|
||||
"library" = {
|
||||
depends = [
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."binary" or (buildDepError "binary"))
|
||||
(hsPkgs."bytestring" or (buildDepError "bytestring"))
|
||||
(hsPkgs."directory" or (buildDepError "directory"))
|
||||
(hsPkgs."filepath" or (buildDepError "filepath"))
|
||||
(hsPkgs."ghc-boot-th" or (buildDepError "ghc-boot-th"))
|
||||
];
|
||||
buildable = true;
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ./.; }
|
66
materialized/ghc-boot-packages-nix/ghc865/ghc-heap.nix
Normal file
66
materialized/ghc-boot-packages-nix/ghc865/ghc-heap.nix
Normal file
@ -0,0 +1,66 @@
|
||||
let
|
||||
buildDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
sysDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
||||
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
pkgConfDepError = pkg:
|
||||
builtins.throw ''
|
||||
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
||||
|
||||
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
exeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The local executable components do not include the component: ${pkg} (executable dependency).
|
||||
'';
|
||||
legacyExeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
buildToolDepError = pkg:
|
||||
builtins.throw ''
|
||||
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
||||
|
||||
If this is a system dependency:
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
|
||||
If this is a Haskell dependency:
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
||||
{
|
||||
flags = {};
|
||||
package = {
|
||||
specVersion = "2.1";
|
||||
identifier = { name = "ghc-heap"; version = "8.6.5"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "";
|
||||
maintainer = "libraries@haskell.org";
|
||||
author = "";
|
||||
homepage = "";
|
||||
url = "";
|
||||
synopsis = "Functions for walking GHC's heap";
|
||||
description = "This package provides functions for walking the GHC heap data structures\nand retrieving information about those data structures.";
|
||||
buildType = "Simple";
|
||||
};
|
||||
components = {
|
||||
"library" = {
|
||||
depends = [
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."ghc-prim" or (buildDepError "ghc-prim"))
|
||||
(hsPkgs."rts" or (buildDepError "rts"))
|
||||
];
|
||||
buildable = true;
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ./.; }
|
94
materialized/ghc-boot-packages-nix/ghc865/ghc.nix
Normal file
94
materialized/ghc-boot-packages-nix/ghc865/ghc.nix
Normal file
@ -0,0 +1,94 @@
|
||||
let
|
||||
buildDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
sysDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
||||
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
pkgConfDepError = pkg:
|
||||
builtins.throw ''
|
||||
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
||||
|
||||
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
exeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The local executable components do not include the component: ${pkg} (executable dependency).
|
||||
'';
|
||||
legacyExeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
buildToolDepError = pkg:
|
||||
builtins.throw ''
|
||||
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
||||
|
||||
If this is a system dependency:
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
|
||||
If this is a Haskell dependency:
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
||||
{
|
||||
flags = {
|
||||
ghci = false;
|
||||
terminfo = true;
|
||||
stage1 = false;
|
||||
stage2 = true;
|
||||
stage3 = false;
|
||||
};
|
||||
package = {
|
||||
specVersion = "1.10";
|
||||
identifier = { name = "ghc"; version = "8.6.5"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "";
|
||||
maintainer = "glasgow-haskell-users@haskell.org";
|
||||
author = "The GHC Team";
|
||||
homepage = "http://www.haskell.org/ghc/";
|
||||
url = "";
|
||||
synopsis = "The GHC API";
|
||||
description = "GHC's functionality can be useful for more things than just\ncompiling Haskell programs. Important use cases are programs\nthat analyse (and perhaps transform) Haskell code. Others\ninclude loading Haskell code dynamically in a GHCi-like manner.\nFor this reason, a lot of GHC's functionality is made available\nthrough this package.";
|
||||
buildType = "Simple";
|
||||
};
|
||||
components = {
|
||||
"library" = {
|
||||
depends = [
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
(hsPkgs."directory" or (buildDepError "directory"))
|
||||
(hsPkgs."process" or (buildDepError "process"))
|
||||
(hsPkgs."bytestring" or (buildDepError "bytestring"))
|
||||
(hsPkgs."binary" or (buildDepError "binary"))
|
||||
(hsPkgs."time" or (buildDepError "time"))
|
||||
(hsPkgs."containers" or (buildDepError "containers"))
|
||||
(hsPkgs."array" or (buildDepError "array"))
|
||||
(hsPkgs."filepath" or (buildDepError "filepath"))
|
||||
(hsPkgs."template-haskell" or (buildDepError "template-haskell"))
|
||||
(hsPkgs."hpc" or (buildDepError "hpc"))
|
||||
(hsPkgs."transformers" or (buildDepError "transformers"))
|
||||
(hsPkgs."ghc-boot" or (buildDepError "ghc-boot"))
|
||||
(hsPkgs."ghc-boot-th" or (buildDepError "ghc-boot-th"))
|
||||
(hsPkgs."ghc-heap" or (buildDepError "ghc-heap"))
|
||||
(hsPkgs."ghci" or (buildDepError "ghci"))
|
||||
] ++ (if system.isWindows
|
||||
then [ (hsPkgs."Win32" or (buildDepError "Win32")) ]
|
||||
else [
|
||||
(hsPkgs."unix" or (buildDepError "unix"))
|
||||
] ++ (pkgs.lib).optional (flags.terminfo) (hsPkgs."terminfo" or (buildDepError "terminfo")));
|
||||
build-tools = [
|
||||
(hsPkgs.buildPackages.alex or (pkgs.buildPackages.alex or (buildToolDepError "alex")))
|
||||
(hsPkgs.buildPackages.happy or (pkgs.buildPackages.happy or (buildToolDepError "happy")))
|
||||
];
|
||||
buildable = true;
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ./.; }
|
75
materialized/ghc-boot-packages-nix/ghc865/ghci.nix
Normal file
75
materialized/ghc-boot-packages-nix/ghc865/ghci.nix
Normal file
@ -0,0 +1,75 @@
|
||||
let
|
||||
buildDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
sysDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
||||
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
pkgConfDepError = pkg:
|
||||
builtins.throw ''
|
||||
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
||||
|
||||
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
exeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The local executable components do not include the component: ${pkg} (executable dependency).
|
||||
'';
|
||||
legacyExeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
buildToolDepError = pkg:
|
||||
builtins.throw ''
|
||||
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
||||
|
||||
If this is a system dependency:
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
|
||||
If this is a Haskell dependency:
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
||||
{
|
||||
flags = { ghci = false; };
|
||||
package = {
|
||||
specVersion = "1.10";
|
||||
identifier = { name = "ghci"; version = "8.6.5"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "";
|
||||
maintainer = "ghc-devs@haskell.org";
|
||||
author = "";
|
||||
homepage = "";
|
||||
url = "";
|
||||
synopsis = "The library supporting GHC's interactive interpreter";
|
||||
description = "This library offers interfaces which mediate interactions between the\n@ghci@ interactive shell and @iserv@, GHC's out-of-process interpreter\nbackend.";
|
||||
buildType = "Simple";
|
||||
};
|
||||
components = {
|
||||
"library" = {
|
||||
depends = [
|
||||
(hsPkgs."array" or (buildDepError "array"))
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."binary" or (buildDepError "binary"))
|
||||
(hsPkgs."bytestring" or (buildDepError "bytestring"))
|
||||
(hsPkgs."containers" or (buildDepError "containers"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
(hsPkgs."filepath" or (buildDepError "filepath"))
|
||||
(hsPkgs."ghc-boot" or (buildDepError "ghc-boot"))
|
||||
(hsPkgs."ghc-boot-th" or (buildDepError "ghc-boot-th"))
|
||||
(hsPkgs."ghc-heap" or (buildDepError "ghc-heap"))
|
||||
(hsPkgs."template-haskell" or (buildDepError "template-haskell"))
|
||||
(hsPkgs."transformers" or (buildDepError "transformers"))
|
||||
] ++ (pkgs.lib).optional (!system.isWindows) (hsPkgs."unix" or (buildDepError "unix"));
|
||||
buildable = true;
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ./.; }
|
76
materialized/ghc-boot-packages-nix/ghc865/iserv-proxy.nix
Normal file
76
materialized/ghc-boot-packages-nix/ghc865/iserv-proxy.nix
Normal file
@ -0,0 +1,76 @@
|
||||
let
|
||||
buildDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
sysDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
||||
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
pkgConfDepError = pkg:
|
||||
builtins.throw ''
|
||||
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
||||
|
||||
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
exeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The local executable components do not include the component: ${pkg} (executable dependency).
|
||||
'';
|
||||
legacyExeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
buildToolDepError = pkg:
|
||||
builtins.throw ''
|
||||
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
||||
|
||||
If this is a system dependency:
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
|
||||
If this is a Haskell dependency:
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
||||
{
|
||||
flags = {};
|
||||
package = {
|
||||
specVersion = "1.10";
|
||||
identifier = { name = "iserv-proxy"; version = "8.6.5"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "XXX";
|
||||
maintainer = "XXX";
|
||||
author = "XXX";
|
||||
homepage = "";
|
||||
url = "";
|
||||
synopsis = "iserv allows GHC to delegate Tempalte Haskell computations";
|
||||
description = "GHC can be provided with a path to the iserv binary with\n@-pgmi=/path/to/iserv-bin@, and will in combination with\n@-fexternal-interpreter@, compile Template Haskell though the\n@iserv-bin@ delegate. This is very similar to how ghcjs has been\ncompiling Template Haskell, by spawning a separate delegate (so\ncalled runner on the javascript vm) and evaluating the splices\nthere.\n\niserv can also be used in combination with cross compilation. For\nthis, the @iserv-proxy@ needs to be built on the host, targeting the\nhost (as it is running on the host). @cabal install -flibrary\n-fproxy@ will yield the proxy.\n\nUsing the cabal for the target @arch-platform-target-cabal install\n-flibrary@ will build the required library that contains the ffi\n@startSlave@ function, which needs to be invoked on the target\n(e.g. in an iOS application) to start the remote iserv slave.\n\ncalling the GHC cross compiler with @-fexternal-interpreter\n-pgmi=\$HOME/.cabal/bin/iserv-proxy -opti\\<ip address\\> -opti\\<port\\>@\nwill cause it to compile Template Haskell via the remote at \\<ip address\\>.\n\nThus to get cross compilation with Template Haskell follow the\nfollowing receipt:\n\n* compile the iserv library for your target\n\n> iserv \$ arch-platform-target-cabal install -flibrary\n\n* setup an application for your target that calls the\n* startSlave function. This could be either haskell or your\n* targets ffi capable language, if needed.\n\n> void startSlave(false /* verbose */, 5000 /* port */,\n> \"/path/to/storagelocation/on/target\");\n\n* build the iserv-proxy\n\n> iserv \$ cabal install -flibrary -fproxy\n* Start your iserv-slave app on your target running on say @10.0.0.1:5000@\n* compiler your sources with -fexternal-interpreter and the proxy\n\n> project \$ arch-platform-target-ghc ModuleContainingTH.hs \\\n> -fexternal-interpreter \\\n> -pgmi=\$HOME/.cabal/bin/iserv-proxy \\\n> -opti10.0.0.1 -opti5000\n\nShould something not work as expected, provide @-opti-v@ for verbose\nlogging of the @iserv-proxy@.";
|
||||
buildType = "Simple";
|
||||
};
|
||||
components = {
|
||||
exes = {
|
||||
"iserv-proxy" = {
|
||||
depends = [
|
||||
(hsPkgs."array" or (buildDepError "array"))
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."binary" or (buildDepError "binary"))
|
||||
(hsPkgs."bytestring" or (buildDepError "bytestring"))
|
||||
(hsPkgs."containers" or (buildDepError "containers"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
(hsPkgs."directory" or (buildDepError "directory"))
|
||||
(hsPkgs."network" or (buildDepError "network"))
|
||||
(hsPkgs."filepath" or (buildDepError "filepath"))
|
||||
(hsPkgs."ghci" or (buildDepError "ghci"))
|
||||
(hsPkgs."libiserv" or (buildDepError "libiserv"))
|
||||
];
|
||||
buildable = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ./.; }
|
73
materialized/ghc-boot-packages-nix/ghc865/iserv.nix
Normal file
73
materialized/ghc-boot-packages-nix/ghc865/iserv.nix
Normal file
@ -0,0 +1,73 @@
|
||||
let
|
||||
buildDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
sysDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
||||
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
pkgConfDepError = pkg:
|
||||
builtins.throw ''
|
||||
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
||||
|
||||
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
exeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The local executable components do not include the component: ${pkg} (executable dependency).
|
||||
'';
|
||||
legacyExeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
buildToolDepError = pkg:
|
||||
builtins.throw ''
|
||||
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
||||
|
||||
If this is a system dependency:
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
|
||||
If this is a Haskell dependency:
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
||||
{
|
||||
flags = {};
|
||||
package = {
|
||||
specVersion = "1.10";
|
||||
identifier = { name = "iserv"; version = "8.6.5"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "XXX";
|
||||
maintainer = "XXX";
|
||||
author = "XXX";
|
||||
homepage = "";
|
||||
url = "";
|
||||
synopsis = "iserv allows GHC to delegate Tempalte Haskell computations";
|
||||
description = "GHC can be provided with a path to the iserv binary with\n@-pgmi=/path/to/iserv-bin@, and will in combination with\n@-fexternal-interpreter@, compile Template Haskell though the\n@iserv-bin@ delegate. This is very similar to how ghcjs has been\ncompiling Template Haskell, by spawning a separate delegate (so\ncalled runner on the javascript vm) and evaluating the splices\nthere.\n\nTo use iserv with cross compilers, please see @libraries/libiserv@\nand @utils/iserv-proxy@.";
|
||||
buildType = "Simple";
|
||||
};
|
||||
components = {
|
||||
exes = {
|
||||
"iserv" = {
|
||||
depends = [
|
||||
(hsPkgs."array" or (buildDepError "array"))
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."binary" or (buildDepError "binary"))
|
||||
(hsPkgs."bytestring" or (buildDepError "bytestring"))
|
||||
(hsPkgs."containers" or (buildDepError "containers"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
(hsPkgs."ghci" or (buildDepError "ghci"))
|
||||
(hsPkgs."libiserv" or (buildDepError "libiserv"))
|
||||
] ++ (pkgs.lib).optional (!system.isWindows) (hsPkgs."unix" or (buildDepError "unix"));
|
||||
buildable = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ./.; }
|
73
materialized/ghc-boot-packages-nix/ghc865/libiserv.nix
Normal file
73
materialized/ghc-boot-packages-nix/ghc865/libiserv.nix
Normal file
@ -0,0 +1,73 @@
|
||||
let
|
||||
buildDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
sysDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
||||
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
pkgConfDepError = pkg:
|
||||
builtins.throw ''
|
||||
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
||||
|
||||
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
exeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The local executable components do not include the component: ${pkg} (executable dependency).
|
||||
'';
|
||||
legacyExeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
buildToolDepError = pkg:
|
||||
builtins.throw ''
|
||||
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
||||
|
||||
If this is a system dependency:
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
|
||||
If this is a Haskell dependency:
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
||||
{
|
||||
flags = { network = false; };
|
||||
package = {
|
||||
specVersion = "1.10";
|
||||
identifier = { name = "libiserv"; version = "8.6.5"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "XXX";
|
||||
maintainer = "XXX";
|
||||
author = "XXX";
|
||||
homepage = "";
|
||||
url = "";
|
||||
synopsis = "Provides shared functionality between iserv and iserv-proxy";
|
||||
description = "";
|
||||
buildType = "Simple";
|
||||
};
|
||||
components = {
|
||||
"library" = {
|
||||
depends = ([
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."binary" or (buildDepError "binary"))
|
||||
(hsPkgs."bytestring" or (buildDepError "bytestring"))
|
||||
(hsPkgs."containers" or (buildDepError "containers"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
(hsPkgs."ghci" or (buildDepError "ghci"))
|
||||
] ++ (pkgs.lib).optionals (flags.network) [
|
||||
(hsPkgs."network" or (buildDepError "network"))
|
||||
(hsPkgs."directory" or (buildDepError "directory"))
|
||||
(hsPkgs."filepath" or (buildDepError "filepath"))
|
||||
]) ++ (pkgs.lib).optional (!system.isWindows) (hsPkgs."unix" or (buildDepError "unix"));
|
||||
buildable = true;
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ./.; }
|
67
materialized/ghc-boot-packages-nix/ghc865/remote-iserv.nix
Normal file
67
materialized/ghc-boot-packages-nix/ghc865/remote-iserv.nix
Normal file
@ -0,0 +1,67 @@
|
||||
let
|
||||
buildDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
sysDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
||||
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
pkgConfDepError = pkg:
|
||||
builtins.throw ''
|
||||
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
||||
|
||||
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
exeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The local executable components do not include the component: ${pkg} (executable dependency).
|
||||
'';
|
||||
legacyExeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
buildToolDepError = pkg:
|
||||
builtins.throw ''
|
||||
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
||||
|
||||
If this is a system dependency:
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
|
||||
If this is a Haskell dependency:
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
||||
{
|
||||
flags = {};
|
||||
package = {
|
||||
specVersion = "1.10";
|
||||
identifier = { name = "remote-iserv"; version = "8.6.5"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "XXX";
|
||||
maintainer = "Moritz Angermann <moritz.angermann@gmail.com>";
|
||||
author = "Moritz Angermann <moritz.angermann@gmail.com>";
|
||||
homepage = "";
|
||||
url = "";
|
||||
synopsis = "iserv allows GHC to delegate Tempalte Haskell computations";
|
||||
description = "This is a very simple remote runner for iserv, to be used together\nwith iserv-proxy. The foundamental idea is that this this wrapper\nstarts running libiserv on a given port to which iserv-proxy will\nthen connect.";
|
||||
buildType = "Simple";
|
||||
};
|
||||
components = {
|
||||
exes = {
|
||||
"remote-iserv" = {
|
||||
depends = [
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."libiserv" or (buildDepError "libiserv"))
|
||||
];
|
||||
buildable = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ./.; }
|
111
materialized/ghc-boot-packages-nix/ghc882/bytestring.nix
Normal file
111
materialized/ghc-boot-packages-nix/ghc882/bytestring.nix
Normal file
@ -0,0 +1,111 @@
|
||||
let
|
||||
buildDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
sysDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
||||
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
pkgConfDepError = pkg:
|
||||
builtins.throw ''
|
||||
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
||||
|
||||
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
exeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The local executable components do not include the component: ${pkg} (executable dependency).
|
||||
'';
|
||||
legacyExeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
buildToolDepError = pkg:
|
||||
builtins.throw ''
|
||||
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
||||
|
||||
If this is a system dependency:
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
|
||||
If this is a Haskell dependency:
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
||||
{
|
||||
flags = { integer-simple = false; };
|
||||
package = {
|
||||
specVersion = "1.10";
|
||||
identifier = { name = "bytestring"; version = "0.10.10.0"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "Copyright (c) Don Stewart 2005-2009,\n(c) Duncan Coutts 2006-2015,\n(c) David Roundy 2003-2005,\n(c) Jasper Van der Jeugt 2010,\n(c) Simon Meier 2010-2013.";
|
||||
maintainer = "Duncan Coutts <duncan@community.haskell.org>";
|
||||
author = "Don Stewart,\nDuncan Coutts";
|
||||
homepage = "https://github.com/haskell/bytestring";
|
||||
url = "";
|
||||
synopsis = "Fast, compact, strict and lazy byte strings with a list interface";
|
||||
description = "An efficient compact, immutable byte string type (both strict and lazy)\nsuitable for binary or 8-bit character data.\n\nThe 'ByteString' type represents sequences of bytes or 8-bit characters.\nIt is suitable for high performance use, both in terms of large data\nquantities, or high speed requirements. The 'ByteString' functions follow\nthe same style as Haskell\\'s ordinary lists, so it is easy to convert code\nfrom using 'String' to 'ByteString'.\n\nTwo 'ByteString' variants are provided:\n\n* Strict 'ByteString's keep the string as a single large array. This\nmakes them convenient for passing data between C and Haskell.\n\n* Lazy 'ByteString's use a lazy list of strict chunks which makes it\nsuitable for I\\/O streaming tasks.\n\nThe @Char8@ modules provide a character-based view of the same\nunderlying 'ByteString' types. This makes it convenient to handle mixed\nbinary and 8-bit character content (which is common in many file formats\nand network protocols).\n\nThe 'Builder' module provides an efficient way to build up 'ByteString's\nin an ad-hoc way by repeated concatenation. This is ideal for fast\nserialisation or pretty printing.\n\nThere is also a 'ShortByteString' type which has a lower memory overhead\nand can can be converted to or from a 'ByteString', but supports very few\nother operations. It is suitable for keeping many short strings in memory.\n\n'ByteString's are not designed for Unicode. For Unicode strings you should\nuse the 'Text' type from the @text@ package.\n\nThese modules are intended to be imported qualified, to avoid name clashes\nwith \"Prelude\" functions, e.g.\n\n> import qualified Data.ByteString as BS";
|
||||
buildType = "Simple";
|
||||
};
|
||||
components = {
|
||||
"library" = {
|
||||
depends = ([
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."ghc-prim" or (buildDepError "ghc-prim"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
] ++ (pkgs.lib).optionals (compiler.isGhc && (compiler.version).ge "6.11") ((pkgs.lib).optional (!flags.integer-simple) (hsPkgs."integer-gmp" or (buildDepError "integer-gmp")))) ++ (pkgs.lib).optional (compiler.isGhc && (compiler.version).ge "6.9" && (compiler.isGhc && (compiler.version).lt "6.11")) (hsPkgs."integer" or (buildDepError "integer"));
|
||||
buildable = true;
|
||||
};
|
||||
tests = {
|
||||
"prop-compiled" = {
|
||||
depends = [
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."ghc-prim" or (buildDepError "ghc-prim"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
(hsPkgs."random" or (buildDepError "random"))
|
||||
(hsPkgs."directory" or (buildDepError "directory"))
|
||||
(hsPkgs."test-framework" or (buildDepError "test-framework"))
|
||||
(hsPkgs."test-framework-quickcheck2" or (buildDepError "test-framework-quickcheck2"))
|
||||
(hsPkgs."QuickCheck" or (buildDepError "QuickCheck"))
|
||||
];
|
||||
buildable = true;
|
||||
};
|
||||
"regressions" = {
|
||||
depends = [
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."ghc-prim" or (buildDepError "ghc-prim"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
(hsPkgs."random" or (buildDepError "random"))
|
||||
(hsPkgs."directory" or (buildDepError "directory"))
|
||||
(hsPkgs."test-framework" or (buildDepError "test-framework"))
|
||||
(hsPkgs."test-framework-hunit" or (buildDepError "test-framework-hunit"))
|
||||
(hsPkgs."HUnit" or (buildDepError "HUnit"))
|
||||
];
|
||||
buildable = false;
|
||||
};
|
||||
"test-builder" = {
|
||||
depends = [
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."ghc-prim" or (buildDepError "ghc-prim"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
(hsPkgs."QuickCheck" or (buildDepError "QuickCheck"))
|
||||
(hsPkgs."byteorder" or (buildDepError "byteorder"))
|
||||
(hsPkgs."dlist" or (buildDepError "dlist"))
|
||||
(hsPkgs."directory" or (buildDepError "directory"))
|
||||
(hsPkgs."mtl" or (buildDepError "mtl"))
|
||||
(hsPkgs."HUnit" or (buildDepError "HUnit"))
|
||||
(hsPkgs."test-framework" or (buildDepError "test-framework"))
|
||||
(hsPkgs."test-framework-hunit" or (buildDepError "test-framework-hunit"))
|
||||
(hsPkgs."test-framework-quickcheck2" or (buildDepError "test-framework-quickcheck2"))
|
||||
];
|
||||
buildable = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ./.; }
|
69
materialized/ghc-boot-packages-nix/ghc882/ghc-boot.nix
Normal file
69
materialized/ghc-boot-packages-nix/ghc882/ghc-boot.nix
Normal file
@ -0,0 +1,69 @@
|
||||
let
|
||||
buildDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
sysDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
||||
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
pkgConfDepError = pkg:
|
||||
builtins.throw ''
|
||||
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
||||
|
||||
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
exeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The local executable components do not include the component: ${pkg} (executable dependency).
|
||||
'';
|
||||
legacyExeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
buildToolDepError = pkg:
|
||||
builtins.throw ''
|
||||
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
||||
|
||||
If this is a system dependency:
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
|
||||
If this is a Haskell dependency:
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
||||
{
|
||||
flags = {};
|
||||
package = {
|
||||
specVersion = "1.22";
|
||||
identifier = { name = "ghc-boot"; version = "8.8.2"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "";
|
||||
maintainer = "ghc-devs@haskell.org";
|
||||
author = "";
|
||||
homepage = "";
|
||||
url = "";
|
||||
synopsis = "Shared functionality between GHC and its boot libraries";
|
||||
description = "This library is shared between GHC, ghc-pkg, and other boot\nlibraries.\n\nA note about \"GHC.PackageDb\": it only deals with the subset of\nthe package database that the compiler cares about: modules\npaths etc and not package metadata like description, authors\netc. It is thus not a library interface to ghc-pkg and is *not*\nsuitable for modifying GHC package databases.\n\nThe package database format and this library are constructed in\nsuch a way that while ghc-pkg depends on Cabal, the GHC library\nand program do not have to depend on Cabal.";
|
||||
buildType = "Simple";
|
||||
};
|
||||
components = {
|
||||
"library" = {
|
||||
depends = [
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."binary" or (buildDepError "binary"))
|
||||
(hsPkgs."bytestring" or (buildDepError "bytestring"))
|
||||
(hsPkgs."directory" or (buildDepError "directory"))
|
||||
(hsPkgs."filepath" or (buildDepError "filepath"))
|
||||
(hsPkgs."ghc-boot-th" or (buildDepError "ghc-boot-th"))
|
||||
];
|
||||
buildable = true;
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ./.; }
|
96
materialized/ghc-boot-packages-nix/ghc882/ghc.nix
Normal file
96
materialized/ghc-boot-packages-nix/ghc882/ghc.nix
Normal file
@ -0,0 +1,96 @@
|
||||
let
|
||||
buildDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
sysDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
||||
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
pkgConfDepError = pkg:
|
||||
builtins.throw ''
|
||||
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
||||
|
||||
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
exeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The local executable components do not include the component: ${pkg} (executable dependency).
|
||||
'';
|
||||
legacyExeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
buildToolDepError = pkg:
|
||||
builtins.throw ''
|
||||
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
||||
|
||||
If this is a system dependency:
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
|
||||
If this is a Haskell dependency:
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
||||
{
|
||||
flags = {
|
||||
ghci = false;
|
||||
stage1 = false;
|
||||
stage2 = true;
|
||||
stage3 = false;
|
||||
terminfo = true;
|
||||
integer-simple = false;
|
||||
integer-gmp = false;
|
||||
};
|
||||
package = {
|
||||
specVersion = "1.10";
|
||||
identifier = { name = "ghc"; version = "8.8.2"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "";
|
||||
maintainer = "glasgow-haskell-users@haskell.org";
|
||||
author = "The GHC Team";
|
||||
homepage = "http://www.haskell.org/ghc/";
|
||||
url = "";
|
||||
synopsis = "The GHC API";
|
||||
description = "GHC's functionality can be useful for more things than just\ncompiling Haskell programs. Important use cases are programs\nthat analyse (and perhaps transform) Haskell code. Others\ninclude loading Haskell code dynamically in a GHCi-like manner.\nFor this reason, a lot of GHC's functionality is made available\nthrough this package.";
|
||||
buildType = "Simple";
|
||||
};
|
||||
components = {
|
||||
"library" = {
|
||||
depends = ((([
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
(hsPkgs."directory" or (buildDepError "directory"))
|
||||
(hsPkgs."process" or (buildDepError "process"))
|
||||
(hsPkgs."bytestring" or (buildDepError "bytestring"))
|
||||
(hsPkgs."binary" or (buildDepError "binary"))
|
||||
(hsPkgs."time" or (buildDepError "time"))
|
||||
(hsPkgs."containers" or (buildDepError "containers"))
|
||||
(hsPkgs."array" or (buildDepError "array"))
|
||||
(hsPkgs."filepath" or (buildDepError "filepath"))
|
||||
(hsPkgs."template-haskell" or (buildDepError "template-haskell"))
|
||||
(hsPkgs."hpc" or (buildDepError "hpc"))
|
||||
(hsPkgs."transformers" or (buildDepError "transformers"))
|
||||
(hsPkgs."ghc-boot" or (buildDepError "ghc-boot"))
|
||||
(hsPkgs."ghc-boot-th" or (buildDepError "ghc-boot-th"))
|
||||
(hsPkgs."ghc-heap" or (buildDepError "ghc-heap"))
|
||||
(hsPkgs."ghci" or (buildDepError "ghci"))
|
||||
] ++ (if system.isWindows
|
||||
then [ (hsPkgs."Win32" or (buildDepError "Win32")) ]
|
||||
else [
|
||||
(hsPkgs."unix" or (buildDepError "unix"))
|
||||
] ++ (pkgs.lib).optional (flags.terminfo) (hsPkgs."terminfo" or (buildDepError "terminfo")))) ++ (pkgs.lib).optional (flags.integer-gmp && flags.integer-simple) (hsPkgs."invalid-cabal-flag-settings" or (buildDepError "invalid-cabal-flag-settings"))) ++ (pkgs.lib).optional (flags.integer-gmp) (hsPkgs."integer-gmp" or (buildDepError "integer-gmp"))) ++ (pkgs.lib).optional (flags.integer-simple) (hsPkgs."integer-simple" or (buildDepError "integer-simple"));
|
||||
build-tools = [
|
||||
(hsPkgs.buildPackages.alex or (pkgs.buildPackages.alex or (buildToolDepError "alex")))
|
||||
(hsPkgs.buildPackages.happy or (pkgs.buildPackages.happy or (buildToolDepError "happy")))
|
||||
];
|
||||
buildable = true;
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ./.; }
|
75
materialized/ghc-boot-packages-nix/ghc882/ghci.nix
Normal file
75
materialized/ghc-boot-packages-nix/ghc882/ghci.nix
Normal file
@ -0,0 +1,75 @@
|
||||
let
|
||||
buildDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
sysDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
||||
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
pkgConfDepError = pkg:
|
||||
builtins.throw ''
|
||||
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
||||
|
||||
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
exeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The local executable components do not include the component: ${pkg} (executable dependency).
|
||||
'';
|
||||
legacyExeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
buildToolDepError = pkg:
|
||||
builtins.throw ''
|
||||
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
||||
|
||||
If this is a system dependency:
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
|
||||
If this is a Haskell dependency:
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
||||
{
|
||||
flags = { ghci = false; };
|
||||
package = {
|
||||
specVersion = "1.10";
|
||||
identifier = { name = "ghci"; version = "8.8.2"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "";
|
||||
maintainer = "ghc-devs@haskell.org";
|
||||
author = "";
|
||||
homepage = "";
|
||||
url = "";
|
||||
synopsis = "The library supporting GHC's interactive interpreter";
|
||||
description = "This library offers interfaces which mediate interactions between the\n@ghci@ interactive shell and @iserv@, GHC's out-of-process interpreter\nbackend.";
|
||||
buildType = "Simple";
|
||||
};
|
||||
components = {
|
||||
"library" = {
|
||||
depends = [
|
||||
(hsPkgs."array" or (buildDepError "array"))
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."binary" or (buildDepError "binary"))
|
||||
(hsPkgs."bytestring" or (buildDepError "bytestring"))
|
||||
(hsPkgs."containers" or (buildDepError "containers"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
(hsPkgs."filepath" or (buildDepError "filepath"))
|
||||
(hsPkgs."ghc-boot" or (buildDepError "ghc-boot"))
|
||||
(hsPkgs."ghc-boot-th" or (buildDepError "ghc-boot-th"))
|
||||
(hsPkgs."ghc-heap" or (buildDepError "ghc-heap"))
|
||||
(hsPkgs."template-haskell" or (buildDepError "template-haskell"))
|
||||
(hsPkgs."transformers" or (buildDepError "transformers"))
|
||||
] ++ (pkgs.lib).optional (!system.isWindows) (hsPkgs."unix" or (buildDepError "unix"));
|
||||
buildable = true;
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ./.; }
|
76
materialized/ghc-boot-packages-nix/ghc882/iserv-proxy.nix
Normal file
76
materialized/ghc-boot-packages-nix/ghc882/iserv-proxy.nix
Normal file
@ -0,0 +1,76 @@
|
||||
let
|
||||
buildDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
sysDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
||||
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
pkgConfDepError = pkg:
|
||||
builtins.throw ''
|
||||
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
||||
|
||||
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
exeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The local executable components do not include the component: ${pkg} (executable dependency).
|
||||
'';
|
||||
legacyExeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
buildToolDepError = pkg:
|
||||
builtins.throw ''
|
||||
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
||||
|
||||
If this is a system dependency:
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
|
||||
If this is a Haskell dependency:
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
||||
{
|
||||
flags = {};
|
||||
package = {
|
||||
specVersion = "1.10";
|
||||
identifier = { name = "iserv-proxy"; version = "8.8.2"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "XXX";
|
||||
maintainer = "XXX";
|
||||
author = "XXX";
|
||||
homepage = "";
|
||||
url = "";
|
||||
synopsis = "iserv allows GHC to delegate Tempalte Haskell computations";
|
||||
description = "GHC can be provided with a path to the iserv binary with\n@-pgmi=/path/to/iserv-bin@, and will in combination with\n@-fexternal-interpreter@, compile Template Haskell though the\n@iserv-bin@ delegate. This is very similar to how ghcjs has been\ncompiling Template Haskell, by spawning a separate delegate (so\ncalled runner on the javascript vm) and evaluating the splices\nthere.\n\niserv can also be used in combination with cross compilation. For\nthis, the @iserv-proxy@ needs to be built on the host, targeting the\nhost (as it is running on the host). @cabal install -flibrary\n-fproxy@ will yield the proxy.\n\nUsing the cabal for the target @arch-platform-target-cabal install\n-flibrary@ will build the required library that contains the ffi\n@startSlave@ function, which needs to be invoked on the target\n(e.g. in an iOS application) to start the remote iserv slave.\n\ncalling the GHC cross compiler with @-fexternal-interpreter\n-pgmi=\$HOME/.cabal/bin/iserv-proxy -opti\\<ip address\\> -opti\\<port\\>@\nwill cause it to compile Template Haskell via the remote at \\<ip address\\>.\n\nThus to get cross compilation with Template Haskell follow the\nfollowing receipt:\n\n* compile the iserv library for your target\n\n> iserv \$ arch-platform-target-cabal install -flibrary\n\n* setup an application for your target that calls the\n* startSlave function. This could be either haskell or your\n* targets ffi capable language, if needed.\n\n> void startSlave(false /* verbose */, 5000 /* port */,\n> \"/path/to/storagelocation/on/target\");\n\n* build the iserv-proxy\n\n> iserv \$ cabal install -flibrary -fproxy\n* Start your iserv-slave app on your target running on say @10.0.0.1:5000@\n* compiler your sources with -fexternal-interpreter and the proxy\n\n> project \$ arch-platform-target-ghc ModuleContainingTH.hs \\\n> -fexternal-interpreter \\\n> -pgmi=\$HOME/.cabal/bin/iserv-proxy \\\n> -opti10.0.0.1 -opti5000\n\nShould something not work as expected, provide @-opti-v@ for verbose\nlogging of the @iserv-proxy@.";
|
||||
buildType = "Simple";
|
||||
};
|
||||
components = {
|
||||
exes = {
|
||||
"iserv-proxy" = {
|
||||
depends = [
|
||||
(hsPkgs."array" or (buildDepError "array"))
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."binary" or (buildDepError "binary"))
|
||||
(hsPkgs."bytestring" or (buildDepError "bytestring"))
|
||||
(hsPkgs."containers" or (buildDepError "containers"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
(hsPkgs."directory" or (buildDepError "directory"))
|
||||
(hsPkgs."network" or (buildDepError "network"))
|
||||
(hsPkgs."filepath" or (buildDepError "filepath"))
|
||||
(hsPkgs."ghci" or (buildDepError "ghci"))
|
||||
(hsPkgs."libiserv" or (buildDepError "libiserv"))
|
||||
];
|
||||
buildable = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ./.; }
|
73
materialized/ghc-boot-packages-nix/ghc882/iserv.nix
Normal file
73
materialized/ghc-boot-packages-nix/ghc882/iserv.nix
Normal file
@ -0,0 +1,73 @@
|
||||
let
|
||||
buildDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
sysDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
||||
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
pkgConfDepError = pkg:
|
||||
builtins.throw ''
|
||||
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
||||
|
||||
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
exeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The local executable components do not include the component: ${pkg} (executable dependency).
|
||||
'';
|
||||
legacyExeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
buildToolDepError = pkg:
|
||||
builtins.throw ''
|
||||
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
||||
|
||||
If this is a system dependency:
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
|
||||
If this is a Haskell dependency:
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
||||
{
|
||||
flags = {};
|
||||
package = {
|
||||
specVersion = "1.10";
|
||||
identifier = { name = "iserv"; version = "8.8.2"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "XXX";
|
||||
maintainer = "XXX";
|
||||
author = "XXX";
|
||||
homepage = "";
|
||||
url = "";
|
||||
synopsis = "iserv allows GHC to delegate Template Haskell computations";
|
||||
description = "GHC can be provided with a path to the iserv binary with\n@-pgmi=/path/to/iserv-bin@, and will in combination with\n@-fexternal-interpreter@, compile Template Haskell though the\n@iserv-bin@ delegate. This is very similar to how ghcjs has been\ncompiling Template Haskell, by spawning a separate delegate (so\ncalled runner on the javascript vm) and evaluating the splices\nthere.\n\nTo use iserv with cross compilers, please see @libraries/libiserv@\nand @utils/iserv-proxy@.";
|
||||
buildType = "Simple";
|
||||
};
|
||||
components = {
|
||||
exes = {
|
||||
"iserv" = {
|
||||
depends = [
|
||||
(hsPkgs."array" or (buildDepError "array"))
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."binary" or (buildDepError "binary"))
|
||||
(hsPkgs."bytestring" or (buildDepError "bytestring"))
|
||||
(hsPkgs."containers" or (buildDepError "containers"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
(hsPkgs."ghci" or (buildDepError "ghci"))
|
||||
(hsPkgs."libiserv" or (buildDepError "libiserv"))
|
||||
] ++ (pkgs.lib).optional (!system.isWindows) (hsPkgs."unix" or (buildDepError "unix"));
|
||||
buildable = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ./.; }
|
73
materialized/ghc-boot-packages-nix/ghc882/libiserv.nix
Normal file
73
materialized/ghc-boot-packages-nix/ghc882/libiserv.nix
Normal file
@ -0,0 +1,73 @@
|
||||
let
|
||||
buildDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
sysDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
||||
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
pkgConfDepError = pkg:
|
||||
builtins.throw ''
|
||||
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
||||
|
||||
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
exeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The local executable components do not include the component: ${pkg} (executable dependency).
|
||||
'';
|
||||
legacyExeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
buildToolDepError = pkg:
|
||||
builtins.throw ''
|
||||
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
||||
|
||||
If this is a system dependency:
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
|
||||
If this is a Haskell dependency:
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
||||
{
|
||||
flags = { network = false; };
|
||||
package = {
|
||||
specVersion = "1.10";
|
||||
identifier = { name = "libiserv"; version = "8.8.2"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "XXX";
|
||||
maintainer = "XXX";
|
||||
author = "XXX";
|
||||
homepage = "";
|
||||
url = "";
|
||||
synopsis = "Provides shared functionality between iserv and iserv-proxy";
|
||||
description = "";
|
||||
buildType = "Simple";
|
||||
};
|
||||
components = {
|
||||
"library" = {
|
||||
depends = ([
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."binary" or (buildDepError "binary"))
|
||||
(hsPkgs."bytestring" or (buildDepError "bytestring"))
|
||||
(hsPkgs."containers" or (buildDepError "containers"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
(hsPkgs."ghci" or (buildDepError "ghci"))
|
||||
] ++ (pkgs.lib).optionals (flags.network) [
|
||||
(hsPkgs."network" or (buildDepError "network"))
|
||||
(hsPkgs."directory" or (buildDepError "directory"))
|
||||
(hsPkgs."filepath" or (buildDepError "filepath"))
|
||||
]) ++ (pkgs.lib).optional (!system.isWindows) (hsPkgs."unix" or (buildDepError "unix"));
|
||||
buildable = true;
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ./.; }
|
67
materialized/ghc-boot-packages-nix/ghc882/remote-iserv.nix
Normal file
67
materialized/ghc-boot-packages-nix/ghc882/remote-iserv.nix
Normal file
@ -0,0 +1,67 @@
|
||||
let
|
||||
buildDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
sysDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
||||
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
pkgConfDepError = pkg:
|
||||
builtins.throw ''
|
||||
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
||||
|
||||
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
exeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The local executable components do not include the component: ${pkg} (executable dependency).
|
||||
'';
|
||||
legacyExeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
buildToolDepError = pkg:
|
||||
builtins.throw ''
|
||||
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
||||
|
||||
If this is a system dependency:
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
|
||||
If this is a Haskell dependency:
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
||||
{
|
||||
flags = {};
|
||||
package = {
|
||||
specVersion = "1.10";
|
||||
identifier = { name = "remote-iserv"; version = "8.8.2"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "XXX";
|
||||
maintainer = "Moritz Angermann <moritz.angermann@gmail.com>";
|
||||
author = "Moritz Angermann <moritz.angermann@gmail.com>";
|
||||
homepage = "";
|
||||
url = "";
|
||||
synopsis = "iserv allows GHC to delegate Tempalte Haskell computations";
|
||||
description = "This is a very simple remote runner for iserv, to be used together\nwith iserv-proxy. The foundamental idea is that this this wrapper\nstarts running libiserv on a given port to which iserv-proxy will\nthen connect.";
|
||||
buildType = "Simple";
|
||||
};
|
||||
components = {
|
||||
exes = {
|
||||
"remote-iserv" = {
|
||||
depends = [
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."libiserv" or (buildDepError "libiserv"))
|
||||
];
|
||||
buildable = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ./.; }
|
111
materialized/ghc-boot-packages-nix/ghc883/bytestring.nix
Normal file
111
materialized/ghc-boot-packages-nix/ghc883/bytestring.nix
Normal file
@ -0,0 +1,111 @@
|
||||
let
|
||||
buildDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
sysDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
||||
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
pkgConfDepError = pkg:
|
||||
builtins.throw ''
|
||||
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
||||
|
||||
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
exeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The local executable components do not include the component: ${pkg} (executable dependency).
|
||||
'';
|
||||
legacyExeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
buildToolDepError = pkg:
|
||||
builtins.throw ''
|
||||
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
||||
|
||||
If this is a system dependency:
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
|
||||
If this is a Haskell dependency:
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
||||
{
|
||||
flags = { integer-simple = false; };
|
||||
package = {
|
||||
specVersion = "1.10";
|
||||
identifier = { name = "bytestring"; version = "0.10.10.0"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "Copyright (c) Don Stewart 2005-2009,\n(c) Duncan Coutts 2006-2015,\n(c) David Roundy 2003-2005,\n(c) Jasper Van der Jeugt 2010,\n(c) Simon Meier 2010-2013.";
|
||||
maintainer = "Duncan Coutts <duncan@community.haskell.org>";
|
||||
author = "Don Stewart,\nDuncan Coutts";
|
||||
homepage = "https://github.com/haskell/bytestring";
|
||||
url = "";
|
||||
synopsis = "Fast, compact, strict and lazy byte strings with a list interface";
|
||||
description = "An efficient compact, immutable byte string type (both strict and lazy)\nsuitable for binary or 8-bit character data.\n\nThe 'ByteString' type represents sequences of bytes or 8-bit characters.\nIt is suitable for high performance use, both in terms of large data\nquantities, or high speed requirements. The 'ByteString' functions follow\nthe same style as Haskell\\'s ordinary lists, so it is easy to convert code\nfrom using 'String' to 'ByteString'.\n\nTwo 'ByteString' variants are provided:\n\n* Strict 'ByteString's keep the string as a single large array. This\nmakes them convenient for passing data between C and Haskell.\n\n* Lazy 'ByteString's use a lazy list of strict chunks which makes it\nsuitable for I\\/O streaming tasks.\n\nThe @Char8@ modules provide a character-based view of the same\nunderlying 'ByteString' types. This makes it convenient to handle mixed\nbinary and 8-bit character content (which is common in many file formats\nand network protocols).\n\nThe 'Builder' module provides an efficient way to build up 'ByteString's\nin an ad-hoc way by repeated concatenation. This is ideal for fast\nserialisation or pretty printing.\n\nThere is also a 'ShortByteString' type which has a lower memory overhead\nand can can be converted to or from a 'ByteString', but supports very few\nother operations. It is suitable for keeping many short strings in memory.\n\n'ByteString's are not designed for Unicode. For Unicode strings you should\nuse the 'Text' type from the @text@ package.\n\nThese modules are intended to be imported qualified, to avoid name clashes\nwith \"Prelude\" functions, e.g.\n\n> import qualified Data.ByteString as BS";
|
||||
buildType = "Simple";
|
||||
};
|
||||
components = {
|
||||
"library" = {
|
||||
depends = ([
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."ghc-prim" or (buildDepError "ghc-prim"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
] ++ (pkgs.lib).optionals (compiler.isGhc && (compiler.version).ge "6.11") ((pkgs.lib).optional (!flags.integer-simple) (hsPkgs."integer-gmp" or (buildDepError "integer-gmp")))) ++ (pkgs.lib).optional (compiler.isGhc && (compiler.version).ge "6.9" && (compiler.isGhc && (compiler.version).lt "6.11")) (hsPkgs."integer" or (buildDepError "integer"));
|
||||
buildable = true;
|
||||
};
|
||||
tests = {
|
||||
"prop-compiled" = {
|
||||
depends = [
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."ghc-prim" or (buildDepError "ghc-prim"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
(hsPkgs."random" or (buildDepError "random"))
|
||||
(hsPkgs."directory" or (buildDepError "directory"))
|
||||
(hsPkgs."test-framework" or (buildDepError "test-framework"))
|
||||
(hsPkgs."test-framework-quickcheck2" or (buildDepError "test-framework-quickcheck2"))
|
||||
(hsPkgs."QuickCheck" or (buildDepError "QuickCheck"))
|
||||
];
|
||||
buildable = true;
|
||||
};
|
||||
"regressions" = {
|
||||
depends = [
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."ghc-prim" or (buildDepError "ghc-prim"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
(hsPkgs."random" or (buildDepError "random"))
|
||||
(hsPkgs."directory" or (buildDepError "directory"))
|
||||
(hsPkgs."test-framework" or (buildDepError "test-framework"))
|
||||
(hsPkgs."test-framework-hunit" or (buildDepError "test-framework-hunit"))
|
||||
(hsPkgs."HUnit" or (buildDepError "HUnit"))
|
||||
];
|
||||
buildable = false;
|
||||
};
|
||||
"test-builder" = {
|
||||
depends = [
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."ghc-prim" or (buildDepError "ghc-prim"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
(hsPkgs."QuickCheck" or (buildDepError "QuickCheck"))
|
||||
(hsPkgs."byteorder" or (buildDepError "byteorder"))
|
||||
(hsPkgs."dlist" or (buildDepError "dlist"))
|
||||
(hsPkgs."directory" or (buildDepError "directory"))
|
||||
(hsPkgs."mtl" or (buildDepError "mtl"))
|
||||
(hsPkgs."HUnit" or (buildDepError "HUnit"))
|
||||
(hsPkgs."test-framework" or (buildDepError "test-framework"))
|
||||
(hsPkgs."test-framework-hunit" or (buildDepError "test-framework-hunit"))
|
||||
(hsPkgs."test-framework-quickcheck2" or (buildDepError "test-framework-quickcheck2"))
|
||||
];
|
||||
buildable = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ./.; }
|
69
materialized/ghc-boot-packages-nix/ghc883/ghc-boot.nix
Normal file
69
materialized/ghc-boot-packages-nix/ghc883/ghc-boot.nix
Normal file
@ -0,0 +1,69 @@
|
||||
let
|
||||
buildDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
sysDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
||||
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
pkgConfDepError = pkg:
|
||||
builtins.throw ''
|
||||
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
||||
|
||||
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
exeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The local executable components do not include the component: ${pkg} (executable dependency).
|
||||
'';
|
||||
legacyExeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
buildToolDepError = pkg:
|
||||
builtins.throw ''
|
||||
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
||||
|
||||
If this is a system dependency:
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
|
||||
If this is a Haskell dependency:
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
||||
{
|
||||
flags = {};
|
||||
package = {
|
||||
specVersion = "1.22";
|
||||
identifier = { name = "ghc-boot"; version = "8.8.3"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "";
|
||||
maintainer = "ghc-devs@haskell.org";
|
||||
author = "";
|
||||
homepage = "";
|
||||
url = "";
|
||||
synopsis = "Shared functionality between GHC and its boot libraries";
|
||||
description = "This library is shared between GHC, ghc-pkg, and other boot\nlibraries.\n\nA note about \"GHC.PackageDb\": it only deals with the subset of\nthe package database that the compiler cares about: modules\npaths etc and not package metadata like description, authors\netc. It is thus not a library interface to ghc-pkg and is *not*\nsuitable for modifying GHC package databases.\n\nThe package database format and this library are constructed in\nsuch a way that while ghc-pkg depends on Cabal, the GHC library\nand program do not have to depend on Cabal.";
|
||||
buildType = "Simple";
|
||||
};
|
||||
components = {
|
||||
"library" = {
|
||||
depends = [
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."binary" or (buildDepError "binary"))
|
||||
(hsPkgs."bytestring" or (buildDepError "bytestring"))
|
||||
(hsPkgs."directory" or (buildDepError "directory"))
|
||||
(hsPkgs."filepath" or (buildDepError "filepath"))
|
||||
(hsPkgs."ghc-boot-th" or (buildDepError "ghc-boot-th"))
|
||||
];
|
||||
buildable = true;
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ./.; }
|
96
materialized/ghc-boot-packages-nix/ghc883/ghc.nix
Normal file
96
materialized/ghc-boot-packages-nix/ghc883/ghc.nix
Normal file
@ -0,0 +1,96 @@
|
||||
let
|
||||
buildDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
sysDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
||||
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
pkgConfDepError = pkg:
|
||||
builtins.throw ''
|
||||
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
||||
|
||||
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
exeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The local executable components do not include the component: ${pkg} (executable dependency).
|
||||
'';
|
||||
legacyExeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
buildToolDepError = pkg:
|
||||
builtins.throw ''
|
||||
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
||||
|
||||
If this is a system dependency:
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
|
||||
If this is a Haskell dependency:
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
||||
{
|
||||
flags = {
|
||||
ghci = false;
|
||||
stage1 = false;
|
||||
stage2 = true;
|
||||
stage3 = false;
|
||||
terminfo = true;
|
||||
integer-simple = false;
|
||||
integer-gmp = false;
|
||||
};
|
||||
package = {
|
||||
specVersion = "1.10";
|
||||
identifier = { name = "ghc"; version = "8.8.3"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "";
|
||||
maintainer = "glasgow-haskell-users@haskell.org";
|
||||
author = "The GHC Team";
|
||||
homepage = "http://www.haskell.org/ghc/";
|
||||
url = "";
|
||||
synopsis = "The GHC API";
|
||||
description = "GHC's functionality can be useful for more things than just\ncompiling Haskell programs. Important use cases are programs\nthat analyse (and perhaps transform) Haskell code. Others\ninclude loading Haskell code dynamically in a GHCi-like manner.\nFor this reason, a lot of GHC's functionality is made available\nthrough this package.";
|
||||
buildType = "Simple";
|
||||
};
|
||||
components = {
|
||||
"library" = {
|
||||
depends = ((([
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
(hsPkgs."directory" or (buildDepError "directory"))
|
||||
(hsPkgs."process" or (buildDepError "process"))
|
||||
(hsPkgs."bytestring" or (buildDepError "bytestring"))
|
||||
(hsPkgs."binary" or (buildDepError "binary"))
|
||||
(hsPkgs."time" or (buildDepError "time"))
|
||||
(hsPkgs."containers" or (buildDepError "containers"))
|
||||
(hsPkgs."array" or (buildDepError "array"))
|
||||
(hsPkgs."filepath" or (buildDepError "filepath"))
|
||||
(hsPkgs."template-haskell" or (buildDepError "template-haskell"))
|
||||
(hsPkgs."hpc" or (buildDepError "hpc"))
|
||||
(hsPkgs."transformers" or (buildDepError "transformers"))
|
||||
(hsPkgs."ghc-boot" or (buildDepError "ghc-boot"))
|
||||
(hsPkgs."ghc-boot-th" or (buildDepError "ghc-boot-th"))
|
||||
(hsPkgs."ghc-heap" or (buildDepError "ghc-heap"))
|
||||
(hsPkgs."ghci" or (buildDepError "ghci"))
|
||||
] ++ (if system.isWindows
|
||||
then [ (hsPkgs."Win32" or (buildDepError "Win32")) ]
|
||||
else [
|
||||
(hsPkgs."unix" or (buildDepError "unix"))
|
||||
] ++ (pkgs.lib).optional (flags.terminfo) (hsPkgs."terminfo" or (buildDepError "terminfo")))) ++ (pkgs.lib).optional (flags.integer-gmp && flags.integer-simple) (hsPkgs."invalid-cabal-flag-settings" or (buildDepError "invalid-cabal-flag-settings"))) ++ (pkgs.lib).optional (flags.integer-gmp) (hsPkgs."integer-gmp" or (buildDepError "integer-gmp"))) ++ (pkgs.lib).optional (flags.integer-simple) (hsPkgs."integer-simple" or (buildDepError "integer-simple"));
|
||||
build-tools = [
|
||||
(hsPkgs.buildPackages.alex or (pkgs.buildPackages.alex or (buildToolDepError "alex")))
|
||||
(hsPkgs.buildPackages.happy or (pkgs.buildPackages.happy or (buildToolDepError "happy")))
|
||||
];
|
||||
buildable = true;
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ./.; }
|
75
materialized/ghc-boot-packages-nix/ghc883/ghci.nix
Normal file
75
materialized/ghc-boot-packages-nix/ghc883/ghci.nix
Normal file
@ -0,0 +1,75 @@
|
||||
let
|
||||
buildDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
sysDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
||||
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
pkgConfDepError = pkg:
|
||||
builtins.throw ''
|
||||
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
||||
|
||||
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
exeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The local executable components do not include the component: ${pkg} (executable dependency).
|
||||
'';
|
||||
legacyExeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
buildToolDepError = pkg:
|
||||
builtins.throw ''
|
||||
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
||||
|
||||
If this is a system dependency:
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
|
||||
If this is a Haskell dependency:
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
||||
{
|
||||
flags = { ghci = false; };
|
||||
package = {
|
||||
specVersion = "1.10";
|
||||
identifier = { name = "ghci"; version = "8.8.3"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "";
|
||||
maintainer = "ghc-devs@haskell.org";
|
||||
author = "";
|
||||
homepage = "";
|
||||
url = "";
|
||||
synopsis = "The library supporting GHC's interactive interpreter";
|
||||
description = "This library offers interfaces which mediate interactions between the\n@ghci@ interactive shell and @iserv@, GHC's out-of-process interpreter\nbackend.";
|
||||
buildType = "Simple";
|
||||
};
|
||||
components = {
|
||||
"library" = {
|
||||
depends = [
|
||||
(hsPkgs."array" or (buildDepError "array"))
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."binary" or (buildDepError "binary"))
|
||||
(hsPkgs."bytestring" or (buildDepError "bytestring"))
|
||||
(hsPkgs."containers" or (buildDepError "containers"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
(hsPkgs."filepath" or (buildDepError "filepath"))
|
||||
(hsPkgs."ghc-boot" or (buildDepError "ghc-boot"))
|
||||
(hsPkgs."ghc-boot-th" or (buildDepError "ghc-boot-th"))
|
||||
(hsPkgs."ghc-heap" or (buildDepError "ghc-heap"))
|
||||
(hsPkgs."template-haskell" or (buildDepError "template-haskell"))
|
||||
(hsPkgs."transformers" or (buildDepError "transformers"))
|
||||
] ++ (pkgs.lib).optional (!system.isWindows) (hsPkgs."unix" or (buildDepError "unix"));
|
||||
buildable = true;
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ./.; }
|
76
materialized/ghc-boot-packages-nix/ghc883/iserv-proxy.nix
Normal file
76
materialized/ghc-boot-packages-nix/ghc883/iserv-proxy.nix
Normal file
@ -0,0 +1,76 @@
|
||||
let
|
||||
buildDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
sysDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
||||
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
pkgConfDepError = pkg:
|
||||
builtins.throw ''
|
||||
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
||||
|
||||
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
exeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The local executable components do not include the component: ${pkg} (executable dependency).
|
||||
'';
|
||||
legacyExeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
buildToolDepError = pkg:
|
||||
builtins.throw ''
|
||||
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
||||
|
||||
If this is a system dependency:
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
|
||||
If this is a Haskell dependency:
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
||||
{
|
||||
flags = {};
|
||||
package = {
|
||||
specVersion = "1.10";
|
||||
identifier = { name = "iserv-proxy"; version = "8.8.3"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "XXX";
|
||||
maintainer = "XXX";
|
||||
author = "XXX";
|
||||
homepage = "";
|
||||
url = "";
|
||||
synopsis = "iserv allows GHC to delegate Tempalte Haskell computations";
|
||||
description = "GHC can be provided with a path to the iserv binary with\n@-pgmi=/path/to/iserv-bin@, and will in combination with\n@-fexternal-interpreter@, compile Template Haskell though the\n@iserv-bin@ delegate. This is very similar to how ghcjs has been\ncompiling Template Haskell, by spawning a separate delegate (so\ncalled runner on the javascript vm) and evaluating the splices\nthere.\n\niserv can also be used in combination with cross compilation. For\nthis, the @iserv-proxy@ needs to be built on the host, targeting the\nhost (as it is running on the host). @cabal install -flibrary\n-fproxy@ will yield the proxy.\n\nUsing the cabal for the target @arch-platform-target-cabal install\n-flibrary@ will build the required library that contains the ffi\n@startSlave@ function, which needs to be invoked on the target\n(e.g. in an iOS application) to start the remote iserv slave.\n\ncalling the GHC cross compiler with @-fexternal-interpreter\n-pgmi=\$HOME/.cabal/bin/iserv-proxy -opti\\<ip address\\> -opti\\<port\\>@\nwill cause it to compile Template Haskell via the remote at \\<ip address\\>.\n\nThus to get cross compilation with Template Haskell follow the\nfollowing receipt:\n\n* compile the iserv library for your target\n\n> iserv \$ arch-platform-target-cabal install -flibrary\n\n* setup an application for your target that calls the\n* startSlave function. This could be either haskell or your\n* targets ffi capable language, if needed.\n\n> void startSlave(false /* verbose */, 5000 /* port */,\n> \"/path/to/storagelocation/on/target\");\n\n* build the iserv-proxy\n\n> iserv \$ cabal install -flibrary -fproxy\n* Start your iserv-slave app on your target running on say @10.0.0.1:5000@\n* compiler your sources with -fexternal-interpreter and the proxy\n\n> project \$ arch-platform-target-ghc ModuleContainingTH.hs \\\n> -fexternal-interpreter \\\n> -pgmi=\$HOME/.cabal/bin/iserv-proxy \\\n> -opti10.0.0.1 -opti5000\n\nShould something not work as expected, provide @-opti-v@ for verbose\nlogging of the @iserv-proxy@.";
|
||||
buildType = "Simple";
|
||||
};
|
||||
components = {
|
||||
exes = {
|
||||
"iserv-proxy" = {
|
||||
depends = [
|
||||
(hsPkgs."array" or (buildDepError "array"))
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."binary" or (buildDepError "binary"))
|
||||
(hsPkgs."bytestring" or (buildDepError "bytestring"))
|
||||
(hsPkgs."containers" or (buildDepError "containers"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
(hsPkgs."directory" or (buildDepError "directory"))
|
||||
(hsPkgs."network" or (buildDepError "network"))
|
||||
(hsPkgs."filepath" or (buildDepError "filepath"))
|
||||
(hsPkgs."ghci" or (buildDepError "ghci"))
|
||||
(hsPkgs."libiserv" or (buildDepError "libiserv"))
|
||||
];
|
||||
buildable = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ./.; }
|
73
materialized/ghc-boot-packages-nix/ghc883/iserv.nix
Normal file
73
materialized/ghc-boot-packages-nix/ghc883/iserv.nix
Normal file
@ -0,0 +1,73 @@
|
||||
let
|
||||
buildDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
sysDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
||||
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
pkgConfDepError = pkg:
|
||||
builtins.throw ''
|
||||
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
||||
|
||||
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
exeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The local executable components do not include the component: ${pkg} (executable dependency).
|
||||
'';
|
||||
legacyExeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
buildToolDepError = pkg:
|
||||
builtins.throw ''
|
||||
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
||||
|
||||
If this is a system dependency:
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
|
||||
If this is a Haskell dependency:
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
||||
{
|
||||
flags = {};
|
||||
package = {
|
||||
specVersion = "1.10";
|
||||
identifier = { name = "iserv"; version = "8.8.3"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "XXX";
|
||||
maintainer = "XXX";
|
||||
author = "XXX";
|
||||
homepage = "";
|
||||
url = "";
|
||||
synopsis = "iserv allows GHC to delegate Template Haskell computations";
|
||||
description = "GHC can be provided with a path to the iserv binary with\n@-pgmi=/path/to/iserv-bin@, and will in combination with\n@-fexternal-interpreter@, compile Template Haskell though the\n@iserv-bin@ delegate. This is very similar to how ghcjs has been\ncompiling Template Haskell, by spawning a separate delegate (so\ncalled runner on the javascript vm) and evaluating the splices\nthere.\n\nTo use iserv with cross compilers, please see @libraries/libiserv@\nand @utils/iserv-proxy@.";
|
||||
buildType = "Simple";
|
||||
};
|
||||
components = {
|
||||
exes = {
|
||||
"iserv" = {
|
||||
depends = [
|
||||
(hsPkgs."array" or (buildDepError "array"))
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."binary" or (buildDepError "binary"))
|
||||
(hsPkgs."bytestring" or (buildDepError "bytestring"))
|
||||
(hsPkgs."containers" or (buildDepError "containers"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
(hsPkgs."ghci" or (buildDepError "ghci"))
|
||||
(hsPkgs."libiserv" or (buildDepError "libiserv"))
|
||||
] ++ (pkgs.lib).optional (!system.isWindows) (hsPkgs."unix" or (buildDepError "unix"));
|
||||
buildable = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ./.; }
|
73
materialized/ghc-boot-packages-nix/ghc883/libiserv.nix
Normal file
73
materialized/ghc-boot-packages-nix/ghc883/libiserv.nix
Normal file
@ -0,0 +1,73 @@
|
||||
let
|
||||
buildDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
sysDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
||||
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
pkgConfDepError = pkg:
|
||||
builtins.throw ''
|
||||
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
||||
|
||||
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
exeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The local executable components do not include the component: ${pkg} (executable dependency).
|
||||
'';
|
||||
legacyExeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
buildToolDepError = pkg:
|
||||
builtins.throw ''
|
||||
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
||||
|
||||
If this is a system dependency:
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
|
||||
If this is a Haskell dependency:
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
||||
{
|
||||
flags = { network = false; };
|
||||
package = {
|
||||
specVersion = "1.10";
|
||||
identifier = { name = "libiserv"; version = "8.8.3"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "XXX";
|
||||
maintainer = "XXX";
|
||||
author = "XXX";
|
||||
homepage = "";
|
||||
url = "";
|
||||
synopsis = "Provides shared functionality between iserv and iserv-proxy";
|
||||
description = "";
|
||||
buildType = "Simple";
|
||||
};
|
||||
components = {
|
||||
"library" = {
|
||||
depends = ([
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."binary" or (buildDepError "binary"))
|
||||
(hsPkgs."bytestring" or (buildDepError "bytestring"))
|
||||
(hsPkgs."containers" or (buildDepError "containers"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
(hsPkgs."ghci" or (buildDepError "ghci"))
|
||||
] ++ (pkgs.lib).optionals (flags.network) [
|
||||
(hsPkgs."network" or (buildDepError "network"))
|
||||
(hsPkgs."directory" or (buildDepError "directory"))
|
||||
(hsPkgs."filepath" or (buildDepError "filepath"))
|
||||
]) ++ (pkgs.lib).optional (!system.isWindows) (hsPkgs."unix" or (buildDepError "unix"));
|
||||
buildable = true;
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ./.; }
|
67
materialized/ghc-boot-packages-nix/ghc883/remote-iserv.nix
Normal file
67
materialized/ghc-boot-packages-nix/ghc883/remote-iserv.nix
Normal file
@ -0,0 +1,67 @@
|
||||
let
|
||||
buildDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
sysDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
||||
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
pkgConfDepError = pkg:
|
||||
builtins.throw ''
|
||||
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
||||
|
||||
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
exeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The local executable components do not include the component: ${pkg} (executable dependency).
|
||||
'';
|
||||
legacyExeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
buildToolDepError = pkg:
|
||||
builtins.throw ''
|
||||
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
||||
|
||||
If this is a system dependency:
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
|
||||
If this is a Haskell dependency:
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
||||
{
|
||||
flags = {};
|
||||
package = {
|
||||
specVersion = "1.10";
|
||||
identifier = { name = "remote-iserv"; version = "8.8.3"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "XXX";
|
||||
maintainer = "Moritz Angermann <moritz.angermann@gmail.com>";
|
||||
author = "Moritz Angermann <moritz.angermann@gmail.com>";
|
||||
homepage = "";
|
||||
url = "";
|
||||
synopsis = "iserv allows GHC to delegate Tempalte Haskell computations";
|
||||
description = "This is a very simple remote runner for iserv, to be used together\nwith iserv-proxy. The foundamental idea is that this this wrapper\nstarts running libiserv on a given port to which iserv-proxy will\nthen connect.";
|
||||
buildType = "Simple";
|
||||
};
|
||||
components = {
|
||||
exes = {
|
||||
"remote-iserv" = {
|
||||
depends = [
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."libiserv" or (buildDepError "libiserv"))
|
||||
];
|
||||
buildable = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ./.; }
|
@ -0,0 +1,167 @@
|
||||
let
|
||||
buildDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
sysDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
||||
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
pkgConfDepError = pkg:
|
||||
builtins.throw ''
|
||||
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
||||
|
||||
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
exeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The local executable components do not include the component: ${pkg} (executable dependency).
|
||||
'';
|
||||
legacyExeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
buildToolDepError = pkg:
|
||||
builtins.throw ''
|
||||
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
||||
|
||||
If this is a system dependency:
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
|
||||
If this is a Haskell dependency:
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
||||
{
|
||||
flags = { integer-simple = false; };
|
||||
package = {
|
||||
specVersion = "1.10";
|
||||
identifier = { name = "bytestring"; version = "0.10.8.2"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "Copyright (c) Don Stewart 2005-2009,\n(c) Duncan Coutts 2006-2015,\n(c) David Roundy 2003-2005,\n(c) Jasper Van der Jeugt 2010,\n(c) Simon Meier 2010-2013.";
|
||||
maintainer = "Duncan Coutts <duncan@community.haskell.org>";
|
||||
author = "Don Stewart,\nDuncan Coutts";
|
||||
homepage = "https://github.com/haskell/bytestring";
|
||||
url = "";
|
||||
synopsis = "Fast, compact, strict and lazy byte strings with a list interface";
|
||||
description = "An efficient compact, immutable byte string type (both strict and lazy)\nsuitable for binary or 8-bit character data.\n\nThe 'ByteString' type represents sequences of bytes or 8-bit characters.\nIt is suitable for high performance use, both in terms of large data\nquantities, or high speed requirements. The 'ByteString' functions follow\nthe same style as Haskell\\'s ordinary lists, so it is easy to convert code\nfrom using 'String' to 'ByteString'.\n\nTwo 'ByteString' variants are provided:\n\n* Strict 'ByteString's keep the string as a single large array. This\nmakes them convenient for passing data between C and Haskell.\n\n* Lazy 'ByteString's use a lazy list of strict chunks which makes it\nsuitable for I\\/O streaming tasks.\n\nThe @Char8@ modules provide a character-based view of the same\nunderlying 'ByteString' types. This makes it convenient to handle mixed\nbinary and 8-bit character content (which is common in many file formats\nand network protocols).\n\nThe 'Builder' module provides an efficient way to build up 'ByteString's\nin an ad-hoc way by repeated concatenation. This is ideal for fast\nserialisation or pretty printing.\n\nThere is also a 'ShortByteString' type which has a lower memory overhead\nand can can be converted to or from a 'ByteString', but supports very few\nother operations. It is suitable for keeping many short strings in memory.\n\n'ByteString's are not designed for Unicode. For Unicode strings you should\nuse the 'Text' type from the @text@ package.\n\nThese modules are intended to be imported qualified, to avoid name clashes\nwith \"Prelude\" functions, e.g.\n\n> import qualified Data.ByteString as BS";
|
||||
buildType = "Simple";
|
||||
isLocal = true;
|
||||
detailLevel = "FullDetails";
|
||||
licenseFiles = [ "LICENSE" ];
|
||||
dataDir = "";
|
||||
dataFiles = [];
|
||||
extraSrcFiles = [ "README.md" "Changelog.md" ];
|
||||
extraTmpFiles = [];
|
||||
extraDocFiles = [];
|
||||
};
|
||||
components = {
|
||||
"library" = {
|
||||
depends = ([
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."ghc-prim" or (buildDepError "ghc-prim"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
] ++ (pkgs.lib).optionals (compiler.isGhc && (compiler.version).ge "6.11") ((pkgs.lib).optional (!flags.integer-simple) (hsPkgs."integer-gmp" or (buildDepError "integer-gmp")))) ++ (pkgs.lib).optional (compiler.isGhc && (compiler.version).ge "6.9" && (compiler.isGhc && (compiler.version).lt "6.11")) (hsPkgs."integer" or (buildDepError "integer"));
|
||||
buildable = true;
|
||||
modules = [
|
||||
"Data/ByteString/Builder/ASCII"
|
||||
"Data/ByteString/Builder/Prim/Binary"
|
||||
"Data/ByteString/Builder/Prim/ASCII"
|
||||
"Data/ByteString/Builder/Prim/Internal/Floating"
|
||||
"Data/ByteString/Builder/Prim/Internal/UncheckedShifts"
|
||||
"Data/ByteString/Builder/Prim/Internal/Base16"
|
||||
"Data/ByteString"
|
||||
"Data/ByteString/Char8"
|
||||
"Data/ByteString/Unsafe"
|
||||
"Data/ByteString/Internal"
|
||||
"Data/ByteString/Lazy"
|
||||
"Data/ByteString/Lazy/Char8"
|
||||
"Data/ByteString/Lazy/Internal"
|
||||
"Data/ByteString/Short"
|
||||
"Data/ByteString/Short/Internal"
|
||||
"Data/ByteString/Builder"
|
||||
"Data/ByteString/Builder/Extra"
|
||||
"Data/ByteString/Builder/Prim"
|
||||
"Data/ByteString/Builder/Internal"
|
||||
"Data/ByteString/Builder/Prim/Internal"
|
||||
"Data/ByteString/Lazy/Builder"
|
||||
"Data/ByteString/Lazy/Builder/Extras"
|
||||
"Data/ByteString/Lazy/Builder/ASCII"
|
||||
];
|
||||
cSources = [ "cbits/fpstring.c" "cbits/itoa.c" ];
|
||||
includeDirs = [ "include" ];
|
||||
includes = [ "fpstring.h" ];
|
||||
};
|
||||
tests = {
|
||||
"prop-compiled" = {
|
||||
depends = [
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."ghc-prim" or (buildDepError "ghc-prim"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
(hsPkgs."random" or (buildDepError "random"))
|
||||
(hsPkgs."directory" or (buildDepError "directory"))
|
||||
(hsPkgs."test-framework" or (buildDepError "test-framework"))
|
||||
(hsPkgs."test-framework-quickcheck2" or (buildDepError "test-framework-quickcheck2"))
|
||||
(hsPkgs."QuickCheck" or (buildDepError "QuickCheck"))
|
||||
];
|
||||
buildable = true;
|
||||
modules = [ "Rules" "QuickCheckUtils" "TestFramework" ];
|
||||
cSources = [ "cbits/fpstring.c" ];
|
||||
hsSourceDirs = [ "." "tests" ];
|
||||
includeDirs = [ "include" ];
|
||||
mainPath = [ "Properties.hs" ];
|
||||
};
|
||||
"regressions" = {
|
||||
depends = [
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."ghc-prim" or (buildDepError "ghc-prim"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
(hsPkgs."random" or (buildDepError "random"))
|
||||
(hsPkgs."directory" or (buildDepError "directory"))
|
||||
(hsPkgs."test-framework" or (buildDepError "test-framework"))
|
||||
(hsPkgs."test-framework-hunit" or (buildDepError "test-framework-hunit"))
|
||||
(hsPkgs."HUnit" or (buildDepError "HUnit"))
|
||||
];
|
||||
buildable = false;
|
||||
cSources = [ "cbits/fpstring.c" ];
|
||||
hsSourceDirs = [ "." "tests" ];
|
||||
includeDirs = [ "include" ];
|
||||
mainPath = [ "Regressions.hs" ];
|
||||
};
|
||||
"test-builder" = {
|
||||
depends = [
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."ghc-prim" or (buildDepError "ghc-prim"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
(hsPkgs."QuickCheck" or (buildDepError "QuickCheck"))
|
||||
(hsPkgs."byteorder" or (buildDepError "byteorder"))
|
||||
(hsPkgs."dlist" or (buildDepError "dlist"))
|
||||
(hsPkgs."directory" or (buildDepError "directory"))
|
||||
(hsPkgs."mtl" or (buildDepError "mtl"))
|
||||
(hsPkgs."HUnit" or (buildDepError "HUnit"))
|
||||
(hsPkgs."test-framework" or (buildDepError "test-framework"))
|
||||
(hsPkgs."test-framework-hunit" or (buildDepError "test-framework-hunit"))
|
||||
(hsPkgs."test-framework-quickcheck2" or (buildDepError "test-framework-quickcheck2"))
|
||||
];
|
||||
buildable = true;
|
||||
modules = [
|
||||
"Data/ByteString/Builder/Tests"
|
||||
"Data/ByteString/Builder/Prim/Tests"
|
||||
"Data/ByteString/Builder/Prim/TestUtils"
|
||||
"TestFramework"
|
||||
];
|
||||
cSources = [ "cbits/fpstring.c" "cbits/itoa.c" ];
|
||||
hsSourceDirs = [ "." "tests" "tests/builder" ];
|
||||
includeDirs = [ "include" ];
|
||||
includes = [ "fpstring.h" ];
|
||||
mainPath = [ "TestSuite.hs" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ../libraries/bytestring; }
|
@ -0,0 +1,84 @@
|
||||
let
|
||||
buildDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
sysDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
||||
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
pkgConfDepError = pkg:
|
||||
builtins.throw ''
|
||||
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
||||
|
||||
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
exeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The local executable components do not include the component: ${pkg} (executable dependency).
|
||||
'';
|
||||
legacyExeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
buildToolDepError = pkg:
|
||||
builtins.throw ''
|
||||
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
||||
|
||||
If this is a system dependency:
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
|
||||
If this is a Haskell dependency:
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
||||
{
|
||||
flags = {};
|
||||
package = {
|
||||
specVersion = "1.22";
|
||||
identifier = { name = "ghc-boot"; version = "8.6.5"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "";
|
||||
maintainer = "ghc-devs@haskell.org";
|
||||
author = "";
|
||||
homepage = "";
|
||||
url = "";
|
||||
synopsis = "Shared functionality between GHC and its boot libraries";
|
||||
description = "This library is shared between GHC, ghc-pkg, and other boot\nlibraries.\n\nA note about \"GHC.PackageDb\": it only deals with the subset of\nthe package database that the compiler cares about: modules\npaths etc and not package metadata like description, authors\netc. It is thus not a library interface to ghc-pkg and is *not*\nsuitable for modifying GHC package databases.\n\nThe package database format and this library are constructed in\nsuch a way that while ghc-pkg depends on Cabal, the GHC library\nand program do not have to depend on Cabal.";
|
||||
buildType = "Simple";
|
||||
isLocal = true;
|
||||
detailLevel = "FullDetails";
|
||||
licenseFiles = [ "LICENSE" ];
|
||||
dataDir = "";
|
||||
dataFiles = [];
|
||||
extraSrcFiles = [ "changelog.md" ];
|
||||
extraTmpFiles = [];
|
||||
extraDocFiles = [];
|
||||
};
|
||||
components = {
|
||||
"library" = {
|
||||
depends = [
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."binary" or (buildDepError "binary"))
|
||||
(hsPkgs."bytestring" or (buildDepError "bytestring"))
|
||||
(hsPkgs."directory" or (buildDepError "directory"))
|
||||
(hsPkgs."filepath" or (buildDepError "filepath"))
|
||||
(hsPkgs."ghc-boot-th" or (buildDepError "ghc-boot-th"))
|
||||
];
|
||||
buildable = true;
|
||||
modules = [
|
||||
"GHC/LanguageExtensions"
|
||||
"GHC/PackageDb"
|
||||
"GHC/Serialized"
|
||||
"GHC/ForeignSrcLang"
|
||||
"GHC/HandleEncoding"
|
||||
];
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ../libraries/ghc-boot; }
|
590
materialized/ghc-extra-projects/cross/ghc865/.plan.nix/ghc.nix
Normal file
590
materialized/ghc-extra-projects/cross/ghc865/.plan.nix/ghc.nix
Normal file
@ -0,0 +1,590 @@
|
||||
let
|
||||
buildDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
sysDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
||||
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
pkgConfDepError = pkg:
|
||||
builtins.throw ''
|
||||
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
||||
|
||||
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
exeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The local executable components do not include the component: ${pkg} (executable dependency).
|
||||
'';
|
||||
legacyExeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
buildToolDepError = pkg:
|
||||
builtins.throw ''
|
||||
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
||||
|
||||
If this is a system dependency:
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
|
||||
If this is a Haskell dependency:
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
||||
{
|
||||
flags = {
|
||||
ghci = false;
|
||||
terminfo = true;
|
||||
stage1 = false;
|
||||
stage2 = true;
|
||||
stage3 = false;
|
||||
};
|
||||
package = {
|
||||
specVersion = "1.10";
|
||||
identifier = { name = "ghc"; version = "8.6.5"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "";
|
||||
maintainer = "glasgow-haskell-users@haskell.org";
|
||||
author = "The GHC Team";
|
||||
homepage = "http://www.haskell.org/ghc/";
|
||||
url = "";
|
||||
synopsis = "The GHC API";
|
||||
description = "GHC's functionality can be useful for more things than just\ncompiling Haskell programs. Important use cases are programs\nthat analyse (and perhaps transform) Haskell code. Others\ninclude loading Haskell code dynamically in a GHCi-like manner.\nFor this reason, a lot of GHC's functionality is made available\nthrough this package.";
|
||||
buildType = "Simple";
|
||||
isLocal = true;
|
||||
detailLevel = "FullDetails";
|
||||
licenseFiles = [ "LICENSE" ];
|
||||
dataDir = "";
|
||||
dataFiles = [];
|
||||
extraSrcFiles = [
|
||||
"utils/md5.h"
|
||||
"Unique.h"
|
||||
"nativeGen/NCG.h"
|
||||
"parser/cutils.h"
|
||||
];
|
||||
extraTmpFiles = [];
|
||||
extraDocFiles = [];
|
||||
};
|
||||
components = {
|
||||
"library" = {
|
||||
depends = [
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
(hsPkgs."directory" or (buildDepError "directory"))
|
||||
(hsPkgs."process" or (buildDepError "process"))
|
||||
(hsPkgs."bytestring" or (buildDepError "bytestring"))
|
||||
(hsPkgs."binary" or (buildDepError "binary"))
|
||||
(hsPkgs."time" or (buildDepError "time"))
|
||||
(hsPkgs."containers" or (buildDepError "containers"))
|
||||
(hsPkgs."array" or (buildDepError "array"))
|
||||
(hsPkgs."filepath" or (buildDepError "filepath"))
|
||||
(hsPkgs."template-haskell" or (buildDepError "template-haskell"))
|
||||
(hsPkgs."hpc" or (buildDepError "hpc"))
|
||||
(hsPkgs."transformers" or (buildDepError "transformers"))
|
||||
(hsPkgs."ghc-boot" or (buildDepError "ghc-boot"))
|
||||
(hsPkgs."ghc-boot-th" or (buildDepError "ghc-boot-th"))
|
||||
(hsPkgs."ghc-heap" or (buildDepError "ghc-heap"))
|
||||
(hsPkgs."ghci" or (buildDepError "ghci"))
|
||||
] ++ (if system.isWindows
|
||||
then [ (hsPkgs."Win32" or (buildDepError "Win32")) ]
|
||||
else [
|
||||
(hsPkgs."unix" or (buildDepError "unix"))
|
||||
] ++ (pkgs.lib).optional (flags.terminfo) (hsPkgs."terminfo" or (buildDepError "terminfo")));
|
||||
build-tools = [
|
||||
(hsPkgs.buildPackages.alex or (pkgs.buildPackages.alex or (buildToolDepError "alex")))
|
||||
(hsPkgs.buildPackages.happy or (pkgs.buildPackages.happy or (buildToolDepError "happy")))
|
||||
];
|
||||
buildable = true;
|
||||
modules = [
|
||||
"GhcPrelude"
|
||||
"Ar"
|
||||
"FileCleanup"
|
||||
"DriverBkp"
|
||||
"BkpSyn"
|
||||
"NameShape"
|
||||
"RnModIface"
|
||||
"Avail"
|
||||
"AsmUtils"
|
||||
"BasicTypes"
|
||||
"ConLike"
|
||||
"DataCon"
|
||||
"PatSyn"
|
||||
"Demand"
|
||||
"Debug"
|
||||
"Exception"
|
||||
"FieldLabel"
|
||||
"GhcMonad"
|
||||
"Hooks"
|
||||
"Id"
|
||||
"IdInfo"
|
||||
"Lexeme"
|
||||
"Literal"
|
||||
"Llvm"
|
||||
"Llvm/AbsSyn"
|
||||
"Llvm/MetaData"
|
||||
"Llvm/PpLlvm"
|
||||
"Llvm/Types"
|
||||
"LlvmCodeGen"
|
||||
"LlvmCodeGen/Base"
|
||||
"LlvmCodeGen/CodeGen"
|
||||
"LlvmCodeGen/Data"
|
||||
"LlvmCodeGen/Ppr"
|
||||
"LlvmCodeGen/Regs"
|
||||
"LlvmMangler"
|
||||
"MkId"
|
||||
"Module"
|
||||
"Name"
|
||||
"NameEnv"
|
||||
"NameSet"
|
||||
"OccName"
|
||||
"RdrName"
|
||||
"NameCache"
|
||||
"SrcLoc"
|
||||
"UniqSupply"
|
||||
"Unique"
|
||||
"Var"
|
||||
"VarEnv"
|
||||
"VarSet"
|
||||
"UnVarGraph"
|
||||
"BlockId"
|
||||
"CLabel"
|
||||
"Cmm"
|
||||
"CmmBuildInfoTables"
|
||||
"CmmPipeline"
|
||||
"CmmCallConv"
|
||||
"CmmCommonBlockElim"
|
||||
"CmmImplementSwitchPlans"
|
||||
"CmmContFlowOpt"
|
||||
"CmmExpr"
|
||||
"CmmInfo"
|
||||
"CmmLex"
|
||||
"CmmLint"
|
||||
"CmmLive"
|
||||
"CmmMachOp"
|
||||
"CmmMonad"
|
||||
"CmmSwitch"
|
||||
"CmmNode"
|
||||
"CmmOpt"
|
||||
"CmmParse"
|
||||
"CmmProcPoint"
|
||||
"CmmSink"
|
||||
"CmmType"
|
||||
"CmmUtils"
|
||||
"CmmLayoutStack"
|
||||
"EnumSet"
|
||||
"MkGraph"
|
||||
"PprBase"
|
||||
"PprC"
|
||||
"PprCmm"
|
||||
"PprCmmDecl"
|
||||
"PprCmmExpr"
|
||||
"Bitmap"
|
||||
"CodeGen/Platform"
|
||||
"CodeGen/Platform/ARM"
|
||||
"CodeGen/Platform/ARM64"
|
||||
"CodeGen/Platform/NoRegs"
|
||||
"CodeGen/Platform/PPC"
|
||||
"CodeGen/Platform/PPC_Darwin"
|
||||
"CodeGen/Platform/SPARC"
|
||||
"CodeGen/Platform/X86"
|
||||
"CodeGen/Platform/X86_64"
|
||||
"CgUtils"
|
||||
"StgCmm"
|
||||
"StgCmmBind"
|
||||
"StgCmmClosure"
|
||||
"StgCmmCon"
|
||||
"StgCmmEnv"
|
||||
"StgCmmExpr"
|
||||
"StgCmmForeign"
|
||||
"StgCmmHeap"
|
||||
"StgCmmHpc"
|
||||
"StgCmmArgRep"
|
||||
"StgCmmLayout"
|
||||
"StgCmmMonad"
|
||||
"StgCmmPrim"
|
||||
"StgCmmProf"
|
||||
"StgCmmTicky"
|
||||
"StgCmmUtils"
|
||||
"StgCmmExtCode"
|
||||
"SMRep"
|
||||
"CoreArity"
|
||||
"CoreFVs"
|
||||
"CoreLint"
|
||||
"CorePrep"
|
||||
"CoreSubst"
|
||||
"CoreOpt"
|
||||
"CoreSyn"
|
||||
"TrieMap"
|
||||
"CoreTidy"
|
||||
"CoreUnfold"
|
||||
"CoreUtils"
|
||||
"CoreMap"
|
||||
"CoreSeq"
|
||||
"CoreStats"
|
||||
"MkCore"
|
||||
"PprCore"
|
||||
"PmExpr"
|
||||
"TmOracle"
|
||||
"Check"
|
||||
"Coverage"
|
||||
"Desugar"
|
||||
"DsArrows"
|
||||
"DsBinds"
|
||||
"DsCCall"
|
||||
"DsExpr"
|
||||
"DsForeign"
|
||||
"DsGRHSs"
|
||||
"DsListComp"
|
||||
"DsMonad"
|
||||
"DsUsage"
|
||||
"DsUtils"
|
||||
"ExtractDocs"
|
||||
"Match"
|
||||
"MatchCon"
|
||||
"MatchLit"
|
||||
"HsBinds"
|
||||
"HsDecls"
|
||||
"HsDoc"
|
||||
"HsExpr"
|
||||
"HsImpExp"
|
||||
"HsLit"
|
||||
"PlaceHolder"
|
||||
"HsExtension"
|
||||
"HsInstances"
|
||||
"HsPat"
|
||||
"HsSyn"
|
||||
"HsTypes"
|
||||
"HsUtils"
|
||||
"HsDumpAst"
|
||||
"BinIface"
|
||||
"BinFingerprint"
|
||||
"BuildTyCl"
|
||||
"IfaceEnv"
|
||||
"IfaceSyn"
|
||||
"IfaceType"
|
||||
"ToIface"
|
||||
"LoadIface"
|
||||
"MkIface"
|
||||
"TcIface"
|
||||
"FlagChecker"
|
||||
"Annotations"
|
||||
"CmdLineParser"
|
||||
"CodeOutput"
|
||||
"Config"
|
||||
"Constants"
|
||||
"DriverMkDepend"
|
||||
"DriverPhases"
|
||||
"PipelineMonad"
|
||||
"DriverPipeline"
|
||||
"DynFlags"
|
||||
"ErrUtils"
|
||||
"Finder"
|
||||
"GHC"
|
||||
"GhcMake"
|
||||
"GhcPlugins"
|
||||
"DynamicLoading"
|
||||
"HeaderInfo"
|
||||
"HscMain"
|
||||
"HscStats"
|
||||
"HscTypes"
|
||||
"InteractiveEval"
|
||||
"InteractiveEvalTypes"
|
||||
"PackageConfig"
|
||||
"Packages"
|
||||
"PlatformConstants"
|
||||
"Plugins"
|
||||
"TcPluginM"
|
||||
"PprTyThing"
|
||||
"StaticPtrTable"
|
||||
"SysTools"
|
||||
"SysTools/BaseDir"
|
||||
"SysTools/Terminal"
|
||||
"SysTools/ExtraObj"
|
||||
"SysTools/Info"
|
||||
"SysTools/Process"
|
||||
"SysTools/Tasks"
|
||||
"Elf"
|
||||
"TidyPgm"
|
||||
"Ctype"
|
||||
"HaddockUtils"
|
||||
"Lexer"
|
||||
"OptCoercion"
|
||||
"Parser"
|
||||
"RdrHsSyn"
|
||||
"ApiAnnotation"
|
||||
"ForeignCall"
|
||||
"KnownUniques"
|
||||
"PrelInfo"
|
||||
"PrelNames"
|
||||
"PrelRules"
|
||||
"PrimOp"
|
||||
"TysPrim"
|
||||
"TysWiredIn"
|
||||
"CostCentre"
|
||||
"CostCentreState"
|
||||
"ProfInit"
|
||||
"RnBinds"
|
||||
"RnEnv"
|
||||
"RnExpr"
|
||||
"RnHsDoc"
|
||||
"RnNames"
|
||||
"RnPat"
|
||||
"RnSource"
|
||||
"RnSplice"
|
||||
"RnTypes"
|
||||
"RnFixity"
|
||||
"RnUtils"
|
||||
"RnUnbound"
|
||||
"CoreMonad"
|
||||
"CSE"
|
||||
"FloatIn"
|
||||
"FloatOut"
|
||||
"LiberateCase"
|
||||
"OccurAnal"
|
||||
"SAT"
|
||||
"SetLevels"
|
||||
"SimplCore"
|
||||
"SimplEnv"
|
||||
"SimplMonad"
|
||||
"SimplUtils"
|
||||
"Simplify"
|
||||
"SimplStg"
|
||||
"StgStats"
|
||||
"StgCse"
|
||||
"UnariseStg"
|
||||
"RepType"
|
||||
"Rules"
|
||||
"SpecConstr"
|
||||
"Specialise"
|
||||
"CoreToStg"
|
||||
"StgLint"
|
||||
"StgSyn"
|
||||
"CallArity"
|
||||
"DmdAnal"
|
||||
"Exitify"
|
||||
"WorkWrap"
|
||||
"WwLib"
|
||||
"FamInst"
|
||||
"Inst"
|
||||
"TcAnnotations"
|
||||
"TcArrows"
|
||||
"TcBinds"
|
||||
"TcSigs"
|
||||
"TcClassDcl"
|
||||
"TcDefaults"
|
||||
"TcDeriv"
|
||||
"TcDerivInfer"
|
||||
"TcDerivUtils"
|
||||
"TcEnv"
|
||||
"TcExpr"
|
||||
"TcForeign"
|
||||
"TcGenDeriv"
|
||||
"TcGenFunctor"
|
||||
"TcGenGenerics"
|
||||
"TcHsSyn"
|
||||
"TcHsType"
|
||||
"TcInstDcls"
|
||||
"TcMType"
|
||||
"TcValidity"
|
||||
"TcMatches"
|
||||
"TcPat"
|
||||
"TcPatSyn"
|
||||
"TcRnDriver"
|
||||
"TcBackpack"
|
||||
"TcRnExports"
|
||||
"TcRnMonad"
|
||||
"TcRnTypes"
|
||||
"TcRules"
|
||||
"TcSimplify"
|
||||
"TcHoleErrors"
|
||||
"TcErrors"
|
||||
"TcTyClsDecls"
|
||||
"TcTyDecls"
|
||||
"TcTypeable"
|
||||
"TcType"
|
||||
"TcEvidence"
|
||||
"TcEvTerm"
|
||||
"TcUnify"
|
||||
"TcInteract"
|
||||
"TcCanonical"
|
||||
"TcFlatten"
|
||||
"TcSMonad"
|
||||
"TcTypeNats"
|
||||
"TcSplice"
|
||||
"Class"
|
||||
"Coercion"
|
||||
"DsMeta"
|
||||
"THNames"
|
||||
"FamInstEnv"
|
||||
"FunDeps"
|
||||
"InstEnv"
|
||||
"TyCon"
|
||||
"CoAxiom"
|
||||
"Kind"
|
||||
"Type"
|
||||
"TyCoRep"
|
||||
"Unify"
|
||||
"Bag"
|
||||
"Binary"
|
||||
"BooleanFormula"
|
||||
"BufWrite"
|
||||
"Digraph"
|
||||
"Encoding"
|
||||
"FastFunctions"
|
||||
"FastMutInt"
|
||||
"FastString"
|
||||
"FastStringEnv"
|
||||
"Fingerprint"
|
||||
"FiniteMap"
|
||||
"FV"
|
||||
"GraphBase"
|
||||
"GraphColor"
|
||||
"GraphOps"
|
||||
"GraphPpr"
|
||||
"IOEnv"
|
||||
"Json"
|
||||
"ListSetOps"
|
||||
"ListT"
|
||||
"Maybes"
|
||||
"MonadUtils"
|
||||
"OrdList"
|
||||
"Outputable"
|
||||
"Pair"
|
||||
"Panic"
|
||||
"PprColour"
|
||||
"Pretty"
|
||||
"State"
|
||||
"Stream"
|
||||
"StringBuffer"
|
||||
"UniqDFM"
|
||||
"UniqDSet"
|
||||
"UniqFM"
|
||||
"UniqMap"
|
||||
"UniqSet"
|
||||
"Util"
|
||||
"Hoopl/Block"
|
||||
"Hoopl/Collections"
|
||||
"Hoopl/Dataflow"
|
||||
"Hoopl/Graph"
|
||||
"Hoopl/Label"
|
||||
"AsmCodeGen"
|
||||
"TargetReg"
|
||||
"NCGMonad"
|
||||
"Instruction"
|
||||
"Format"
|
||||
"Reg"
|
||||
"RegClass"
|
||||
"PIC"
|
||||
"Platform"
|
||||
"CPrim"
|
||||
"X86/Regs"
|
||||
"X86/RegInfo"
|
||||
"X86/Instr"
|
||||
"X86/Cond"
|
||||
"X86/Ppr"
|
||||
"X86/CodeGen"
|
||||
"PPC/Regs"
|
||||
"PPC/RegInfo"
|
||||
"PPC/Instr"
|
||||
"PPC/Cond"
|
||||
"PPC/Ppr"
|
||||
"PPC/CodeGen"
|
||||
"SPARC/Base"
|
||||
"SPARC/Regs"
|
||||
"SPARC/Imm"
|
||||
"SPARC/AddrMode"
|
||||
"SPARC/Cond"
|
||||
"SPARC/Instr"
|
||||
"SPARC/Stack"
|
||||
"SPARC/ShortcutJump"
|
||||
"SPARC/Ppr"
|
||||
"SPARC/CodeGen"
|
||||
"SPARC/CodeGen/Amode"
|
||||
"SPARC/CodeGen/Base"
|
||||
"SPARC/CodeGen/CondCode"
|
||||
"SPARC/CodeGen/Gen32"
|
||||
"SPARC/CodeGen/Gen64"
|
||||
"SPARC/CodeGen/Sanity"
|
||||
"SPARC/CodeGen/Expand"
|
||||
"RegAlloc/Liveness"
|
||||
"RegAlloc/Graph/Main"
|
||||
"RegAlloc/Graph/Stats"
|
||||
"RegAlloc/Graph/ArchBase"
|
||||
"RegAlloc/Graph/ArchX86"
|
||||
"RegAlloc/Graph/Coalesce"
|
||||
"RegAlloc/Graph/Spill"
|
||||
"RegAlloc/Graph/SpillClean"
|
||||
"RegAlloc/Graph/SpillCost"
|
||||
"RegAlloc/Graph/TrivColorable"
|
||||
"RegAlloc/Linear/Main"
|
||||
"RegAlloc/Linear/JoinToTargets"
|
||||
"RegAlloc/Linear/State"
|
||||
"RegAlloc/Linear/Stats"
|
||||
"RegAlloc/Linear/FreeRegs"
|
||||
"RegAlloc/Linear/StackMap"
|
||||
"RegAlloc/Linear/Base"
|
||||
"RegAlloc/Linear/X86/FreeRegs"
|
||||
"RegAlloc/Linear/X86_64/FreeRegs"
|
||||
"RegAlloc/Linear/PPC/FreeRegs"
|
||||
"RegAlloc/Linear/SPARC/FreeRegs"
|
||||
"Dwarf"
|
||||
"Dwarf/Types"
|
||||
"Dwarf/Constants"
|
||||
"Convert"
|
||||
"ByteCodeTypes"
|
||||
"ByteCodeAsm"
|
||||
"ByteCodeGen"
|
||||
"ByteCodeInstr"
|
||||
"ByteCodeItbls"
|
||||
"ByteCodeLink"
|
||||
"Debugger"
|
||||
"Linker"
|
||||
"RtClosureInspect"
|
||||
"GHCi"
|
||||
];
|
||||
cSources = [
|
||||
"parser/cutils.c"
|
||||
"ghci/keepCAFsForGHCi.c"
|
||||
"cbits/genSym.c"
|
||||
];
|
||||
hsSourceDirs = [
|
||||
"backpack"
|
||||
"basicTypes"
|
||||
"cmm"
|
||||
"codeGen"
|
||||
"coreSyn"
|
||||
"deSugar"
|
||||
"ghci"
|
||||
"hsSyn"
|
||||
"iface"
|
||||
"llvmGen"
|
||||
"main"
|
||||
"nativeGen"
|
||||
"parser"
|
||||
"prelude"
|
||||
"profiling"
|
||||
"rename"
|
||||
"simplCore"
|
||||
"simplStg"
|
||||
"specialise"
|
||||
"stgSyn"
|
||||
"stranal"
|
||||
"typecheck"
|
||||
"types"
|
||||
"utils"
|
||||
];
|
||||
includeDirs = [
|
||||
"."
|
||||
"parser"
|
||||
"utils"
|
||||
] ++ (pkgs.lib).optional (flags.ghci) "../rts/dist/build";
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ../compiler; }
|
101
materialized/ghc-extra-projects/cross/ghc865/.plan.nix/ghci.nix
Normal file
101
materialized/ghc-extra-projects/cross/ghc865/.plan.nix/ghci.nix
Normal file
@ -0,0 +1,101 @@
|
||||
let
|
||||
buildDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
sysDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
||||
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
pkgConfDepError = pkg:
|
||||
builtins.throw ''
|
||||
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
||||
|
||||
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
exeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The local executable components do not include the component: ${pkg} (executable dependency).
|
||||
'';
|
||||
legacyExeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
buildToolDepError = pkg:
|
||||
builtins.throw ''
|
||||
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
||||
|
||||
If this is a system dependency:
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
|
||||
If this is a Haskell dependency:
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
||||
{
|
||||
flags = { ghci = false; };
|
||||
package = {
|
||||
specVersion = "1.10";
|
||||
identifier = { name = "ghci"; version = "8.6.5"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "";
|
||||
maintainer = "ghc-devs@haskell.org";
|
||||
author = "";
|
||||
homepage = "";
|
||||
url = "";
|
||||
synopsis = "The library supporting GHC's interactive interpreter";
|
||||
description = "This library offers interfaces which mediate interactions between the\n@ghci@ interactive shell and @iserv@, GHC's out-of-process interpreter\nbackend.";
|
||||
buildType = "Simple";
|
||||
isLocal = true;
|
||||
detailLevel = "FullDetails";
|
||||
licenseFiles = [ "LICENSE" ];
|
||||
dataDir = "";
|
||||
dataFiles = [];
|
||||
extraSrcFiles = [ "changelog.md" ];
|
||||
extraTmpFiles = [];
|
||||
extraDocFiles = [];
|
||||
};
|
||||
components = {
|
||||
"library" = {
|
||||
depends = [
|
||||
(hsPkgs."array" or (buildDepError "array"))
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."binary" or (buildDepError "binary"))
|
||||
(hsPkgs."bytestring" or (buildDepError "bytestring"))
|
||||
(hsPkgs."containers" or (buildDepError "containers"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
(hsPkgs."filepath" or (buildDepError "filepath"))
|
||||
(hsPkgs."ghc-boot" or (buildDepError "ghc-boot"))
|
||||
(hsPkgs."ghc-boot-th" or (buildDepError "ghc-boot-th"))
|
||||
(hsPkgs."ghc-heap" or (buildDepError "ghc-heap"))
|
||||
(hsPkgs."template-haskell" or (buildDepError "template-haskell"))
|
||||
(hsPkgs."transformers" or (buildDepError "transformers"))
|
||||
] ++ (pkgs.lib).optional (!system.isWindows) (hsPkgs."unix" or (buildDepError "unix"));
|
||||
buildable = true;
|
||||
modules = [
|
||||
"GHCi/BreakArray"
|
||||
"GHCi/BinaryArray"
|
||||
"GHCi/Message"
|
||||
"GHCi/ResolvedBCO"
|
||||
"GHCi/RemoteTypes"
|
||||
"GHCi/FFI"
|
||||
"GHCi/InfoTable"
|
||||
"GHCi/StaticPtrTable"
|
||||
"GHCi/TH/Binary"
|
||||
"SizedSeq"
|
||||
] ++ (pkgs.lib).optionals (flags.ghci) [
|
||||
"GHCi/Run"
|
||||
"GHCi/CreateBCO"
|
||||
"GHCi/ObjLink"
|
||||
"GHCi/Signals"
|
||||
"GHCi/TH"
|
||||
];
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ../libraries/ghci; }
|
@ -0,0 +1,86 @@
|
||||
let
|
||||
buildDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
sysDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
||||
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
pkgConfDepError = pkg:
|
||||
builtins.throw ''
|
||||
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
||||
|
||||
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
exeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The local executable components do not include the component: ${pkg} (executable dependency).
|
||||
'';
|
||||
legacyExeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
buildToolDepError = pkg:
|
||||
builtins.throw ''
|
||||
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
||||
|
||||
If this is a system dependency:
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
|
||||
If this is a Haskell dependency:
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
||||
{
|
||||
flags = {};
|
||||
package = {
|
||||
specVersion = "1.10";
|
||||
identifier = { name = "iserv-proxy"; version = "8.6.5"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "XXX";
|
||||
maintainer = "XXX";
|
||||
author = "XXX";
|
||||
homepage = "";
|
||||
url = "";
|
||||
synopsis = "iserv allows GHC to delegate Tempalte Haskell computations";
|
||||
description = "GHC can be provided with a path to the iserv binary with\n@-pgmi=/path/to/iserv-bin@, and will in combination with\n@-fexternal-interpreter@, compile Template Haskell though the\n@iserv-bin@ delegate. This is very similar to how ghcjs has been\ncompiling Template Haskell, by spawning a separate delegate (so\ncalled runner on the javascript vm) and evaluating the splices\nthere.\n\niserv can also be used in combination with cross compilation. For\nthis, the @iserv-proxy@ needs to be built on the host, targeting the\nhost (as it is running on the host). @cabal install -flibrary\n-fproxy@ will yield the proxy.\n\nUsing the cabal for the target @arch-platform-target-cabal install\n-flibrary@ will build the required library that contains the ffi\n@startSlave@ function, which needs to be invoked on the target\n(e.g. in an iOS application) to start the remote iserv slave.\n\ncalling the GHC cross compiler with @-fexternal-interpreter\n-pgmi=\$HOME/.cabal/bin/iserv-proxy -opti\\<ip address\\> -opti\\<port\\>@\nwill cause it to compile Template Haskell via the remote at \\<ip address\\>.\n\nThus to get cross compilation with Template Haskell follow the\nfollowing receipt:\n\n* compile the iserv library for your target\n\n> iserv \$ arch-platform-target-cabal install -flibrary\n\n* setup an application for your target that calls the\n* startSlave function. This could be either haskell or your\n* targets ffi capable language, if needed.\n\n> void startSlave(false /* verbose */, 5000 /* port */,\n> \"/path/to/storagelocation/on/target\");\n\n* build the iserv-proxy\n\n> iserv \$ cabal install -flibrary -fproxy\n* Start your iserv-slave app on your target running on say @10.0.0.1:5000@\n* compiler your sources with -fexternal-interpreter and the proxy\n\n> project \$ arch-platform-target-ghc ModuleContainingTH.hs \\\n> -fexternal-interpreter \\\n> -pgmi=\$HOME/.cabal/bin/iserv-proxy \\\n> -opti10.0.0.1 -opti5000\n\nShould something not work as expected, provide @-opti-v@ for verbose\nlogging of the @iserv-proxy@.";
|
||||
buildType = "Simple";
|
||||
isLocal = true;
|
||||
detailLevel = "FullDetails";
|
||||
licenseFiles = [];
|
||||
dataDir = "";
|
||||
dataFiles = [];
|
||||
extraSrcFiles = [];
|
||||
extraTmpFiles = [];
|
||||
extraDocFiles = [];
|
||||
};
|
||||
components = {
|
||||
exes = {
|
||||
"iserv-proxy" = {
|
||||
depends = [
|
||||
(hsPkgs."array" or (buildDepError "array"))
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."binary" or (buildDepError "binary"))
|
||||
(hsPkgs."bytestring" or (buildDepError "bytestring"))
|
||||
(hsPkgs."containers" or (buildDepError "containers"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
(hsPkgs."directory" or (buildDepError "directory"))
|
||||
(hsPkgs."network" or (buildDepError "network"))
|
||||
(hsPkgs."filepath" or (buildDepError "filepath"))
|
||||
(hsPkgs."ghci" or (buildDepError "ghci"))
|
||||
(hsPkgs."libiserv" or (buildDepError "libiserv"))
|
||||
];
|
||||
buildable = true;
|
||||
hsSourceDirs = [ "src" ];
|
||||
mainPath = [ "Main.hs" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ../utils/iserv-proxy; }
|
@ -0,0 +1,85 @@
|
||||
let
|
||||
buildDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
sysDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
||||
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
pkgConfDepError = pkg:
|
||||
builtins.throw ''
|
||||
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
||||
|
||||
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
exeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The local executable components do not include the component: ${pkg} (executable dependency).
|
||||
'';
|
||||
legacyExeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
buildToolDepError = pkg:
|
||||
builtins.throw ''
|
||||
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
||||
|
||||
If this is a system dependency:
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
|
||||
If this is a Haskell dependency:
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
||||
{
|
||||
flags = {};
|
||||
package = {
|
||||
specVersion = "1.10";
|
||||
identifier = { name = "iserv"; version = "8.6.5"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "XXX";
|
||||
maintainer = "XXX";
|
||||
author = "XXX";
|
||||
homepage = "";
|
||||
url = "";
|
||||
synopsis = "iserv allows GHC to delegate Tempalte Haskell computations";
|
||||
description = "GHC can be provided with a path to the iserv binary with\n@-pgmi=/path/to/iserv-bin@, and will in combination with\n@-fexternal-interpreter@, compile Template Haskell though the\n@iserv-bin@ delegate. This is very similar to how ghcjs has been\ncompiling Template Haskell, by spawning a separate delegate (so\ncalled runner on the javascript vm) and evaluating the splices\nthere.\n\nTo use iserv with cross compilers, please see @libraries/libiserv@\nand @utils/iserv-proxy@.";
|
||||
buildType = "Simple";
|
||||
isLocal = true;
|
||||
detailLevel = "FullDetails";
|
||||
licenseFiles = [];
|
||||
dataDir = "";
|
||||
dataFiles = [];
|
||||
extraSrcFiles = [];
|
||||
extraTmpFiles = [];
|
||||
extraDocFiles = [];
|
||||
};
|
||||
components = {
|
||||
exes = {
|
||||
"iserv" = {
|
||||
depends = [
|
||||
(hsPkgs."array" or (buildDepError "array"))
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."binary" or (buildDepError "binary"))
|
||||
(hsPkgs."bytestring" or (buildDepError "bytestring"))
|
||||
(hsPkgs."containers" or (buildDepError "containers"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
(hsPkgs."ghci" or (buildDepError "ghci"))
|
||||
(hsPkgs."libiserv" or (buildDepError "libiserv"))
|
||||
] ++ (pkgs.lib).optional (!system.isWindows) (hsPkgs."unix" or (buildDepError "unix"));
|
||||
buildable = true;
|
||||
cSources = [ "cbits/iservmain.c" ];
|
||||
hsSourceDirs = [ "src" ];
|
||||
includeDirs = [ "." ];
|
||||
mainPath = [ "Main.hs" ] ++ [ "" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ../utils/iserv; }
|
@ -0,0 +1,89 @@
|
||||
let
|
||||
buildDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
sysDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
||||
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
pkgConfDepError = pkg:
|
||||
builtins.throw ''
|
||||
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
||||
|
||||
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
exeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The local executable components do not include the component: ${pkg} (executable dependency).
|
||||
'';
|
||||
legacyExeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
buildToolDepError = pkg:
|
||||
builtins.throw ''
|
||||
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
||||
|
||||
If this is a system dependency:
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
|
||||
If this is a Haskell dependency:
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
||||
{
|
||||
flags = { network = false; };
|
||||
package = {
|
||||
specVersion = "1.10";
|
||||
identifier = { name = "libiserv"; version = "8.6.5"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "XXX";
|
||||
maintainer = "XXX";
|
||||
author = "XXX";
|
||||
homepage = "";
|
||||
url = "";
|
||||
synopsis = "Provides shared functionality between iserv and iserv-proxy";
|
||||
description = "";
|
||||
buildType = "Simple";
|
||||
isLocal = true;
|
||||
detailLevel = "FullDetails";
|
||||
licenseFiles = [ "LICENSE" ];
|
||||
dataDir = "";
|
||||
dataFiles = [];
|
||||
extraSrcFiles = [];
|
||||
extraTmpFiles = [];
|
||||
extraDocFiles = [];
|
||||
};
|
||||
components = {
|
||||
"library" = {
|
||||
depends = ([
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."binary" or (buildDepError "binary"))
|
||||
(hsPkgs."bytestring" or (buildDepError "bytestring"))
|
||||
(hsPkgs."containers" or (buildDepError "containers"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
(hsPkgs."ghci" or (buildDepError "ghci"))
|
||||
] ++ (pkgs.lib).optionals (flags.network) [
|
||||
(hsPkgs."network" or (buildDepError "network"))
|
||||
(hsPkgs."directory" or (buildDepError "directory"))
|
||||
(hsPkgs."filepath" or (buildDepError "filepath"))
|
||||
]) ++ (pkgs.lib).optional (!system.isWindows) (hsPkgs."unix" or (buildDepError "unix"));
|
||||
buildable = true;
|
||||
modules = [
|
||||
"Lib"
|
||||
"GHCi/Utils"
|
||||
] ++ (pkgs.lib).optionals (flags.network) [
|
||||
"Remote/Message"
|
||||
"Remote/Slave"
|
||||
];
|
||||
hsSourceDirs = [ "src" ];
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ../libraries/libiserv; }
|
@ -0,0 +1,77 @@
|
||||
let
|
||||
buildDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
sysDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
||||
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
pkgConfDepError = pkg:
|
||||
builtins.throw ''
|
||||
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
||||
|
||||
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
exeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The local executable components do not include the component: ${pkg} (executable dependency).
|
||||
'';
|
||||
legacyExeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
buildToolDepError = pkg:
|
||||
builtins.throw ''
|
||||
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
||||
|
||||
If this is a system dependency:
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
|
||||
If this is a Haskell dependency:
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
||||
{
|
||||
flags = {};
|
||||
package = {
|
||||
specVersion = "1.10";
|
||||
identifier = { name = "remote-iserv"; version = "8.6.5"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "XXX";
|
||||
maintainer = "Moritz Angermann <moritz.angermann@gmail.com>";
|
||||
author = "Moritz Angermann <moritz.angermann@gmail.com>";
|
||||
homepage = "";
|
||||
url = "";
|
||||
synopsis = "iserv allows GHC to delegate Tempalte Haskell computations";
|
||||
description = "This is a very simple remote runner for iserv, to be used together\nwith iserv-proxy. The foundamental idea is that this this wrapper\nstarts running libiserv on a given port to which iserv-proxy will\nthen connect.";
|
||||
buildType = "Simple";
|
||||
isLocal = true;
|
||||
detailLevel = "FullDetails";
|
||||
licenseFiles = [];
|
||||
dataDir = "";
|
||||
dataFiles = [];
|
||||
extraSrcFiles = [];
|
||||
extraTmpFiles = [];
|
||||
extraDocFiles = [];
|
||||
};
|
||||
components = {
|
||||
exes = {
|
||||
"remote-iserv" = {
|
||||
depends = [
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."libiserv" or (buildDepError "libiserv"))
|
||||
];
|
||||
buildable = true;
|
||||
hsSourceDirs = [ "src" ];
|
||||
mainPath = [ "Cli.hs" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ../utils/remote-iserv; }
|
92
materialized/ghc-extra-projects/cross/ghc865/default.nix
Normal file
92
materialized/ghc-extra-projects/cross/ghc865/default.nix
Normal file
@ -0,0 +1,92 @@
|
||||
{
|
||||
pkgs = hackage:
|
||||
{
|
||||
packages = {
|
||||
"binary".revision = (((hackage."binary")."0.8.8.0").revisions).default;
|
||||
"ghc-prim".revision = (((hackage."ghc-prim")."0.5.3").revisions).default;
|
||||
"unix".revision = (((hackage."unix")."2.7.2.2").revisions).default;
|
||||
"ghc-heap".revision = (((hackage."ghc-heap")."8.6.5").revisions).default;
|
||||
"mtl".revision = (((hackage."mtl")."2.2.2").revisions).default;
|
||||
"rts".revision = (((hackage."rts")."1.0").revisions).default;
|
||||
"alex".revision = (((hackage."alex")."3.2.5").revisions).default;
|
||||
"alex".flags.small_base = true;
|
||||
"deepseq".revision = (((hackage."deepseq")."1.4.4.0").revisions).default;
|
||||
"network".revision = (((hackage."network")."2.8.0.1").revisions).default;
|
||||
"directory".revision = (((hackage."directory")."1.3.6.1").revisions).default;
|
||||
"template-haskell".revision = (((hackage."template-haskell")."2.14.0.0").revisions).default;
|
||||
"containers".revision = (((hackage."containers")."0.6.0.1").revisions).default;
|
||||
"base".revision = (((hackage."base")."4.12.0.0").revisions).default;
|
||||
"time".revision = (((hackage."time")."1.8.0.2").revisions).default;
|
||||
"terminfo".revision = (((hackage."terminfo")."0.4.1.4").revisions).default;
|
||||
"transformers".revision = (((hackage."transformers")."0.5.6.2").revisions).default;
|
||||
"happy".revision = (((hackage."happy")."1.19.12").revisions).default;
|
||||
"happy".flags.small_base = true;
|
||||
"hpc".revision = (((hackage."hpc")."0.6.0.3").revisions).default;
|
||||
"filepath".revision = (((hackage."filepath")."1.4.2.1").revisions).default;
|
||||
"process".revision = (((hackage."process")."1.6.8.2").revisions).default;
|
||||
"pretty".revision = (((hackage."pretty")."1.1.3.6").revisions).default;
|
||||
"ghc-boot-th".revision = (((hackage."ghc-boot-th")."8.6.5").revisions).default;
|
||||
"array".revision = (((hackage."array")."0.5.3.0").revisions).default;
|
||||
"integer-gmp".revision = (((hackage."integer-gmp")."1.0.2.0").revisions).default;
|
||||
};
|
||||
compiler = {
|
||||
version = "8.6.5";
|
||||
nix-name = "ghc865";
|
||||
packages = {
|
||||
"ghc-prim" = "0.5.3";
|
||||
"ghc-heap" = "8.6.5";
|
||||
"mtl" = "2.2.2";
|
||||
"rts" = "1.0";
|
||||
"deepseq" = "1.4.4.0";
|
||||
"template-haskell" = "2.14.0.0";
|
||||
"containers" = "0.6.0.1";
|
||||
"base" = "4.12.0.0";
|
||||
"time" = "1.8.0.2";
|
||||
"transformers" = "0.5.6.2";
|
||||
"filepath" = "1.4.2.1";
|
||||
"pretty" = "1.1.3.6";
|
||||
"ghc-boot-th" = "8.6.5";
|
||||
"array" = "0.5.3.0";
|
||||
"integer-gmp" = "1.0.2.0";
|
||||
};
|
||||
};
|
||||
};
|
||||
extras = hackage:
|
||||
{
|
||||
packages = {
|
||||
ghc = ./.plan.nix/ghc.nix;
|
||||
bytestring = ./.plan.nix/bytestring.nix;
|
||||
remote-iserv = ./.plan.nix/remote-iserv.nix;
|
||||
iserv-proxy = ./.plan.nix/iserv-proxy.nix;
|
||||
libiserv = ./.plan.nix/libiserv.nix;
|
||||
ghc-boot = ./.plan.nix/ghc-boot.nix;
|
||||
ghci = ./.plan.nix/ghci.nix;
|
||||
iserv = ./.plan.nix/iserv.nix;
|
||||
};
|
||||
};
|
||||
modules = [
|
||||
({ lib, ... }:
|
||||
{
|
||||
packages = {
|
||||
"ghc" = {
|
||||
flags = {
|
||||
"stage1" = lib.mkOverride 900 false;
|
||||
"stage2" = lib.mkOverride 900 true;
|
||||
"stage3" = lib.mkOverride 900 false;
|
||||
"ghci" = lib.mkOverride 900 true;
|
||||
"terminfo" = lib.mkOverride 900 true;
|
||||
};
|
||||
};
|
||||
"bytestring" = {
|
||||
flags = { "integer-simple" = lib.mkOverride 900 false; };
|
||||
};
|
||||
"remote-iserv" = { flags = {}; };
|
||||
"iserv-proxy" = { flags = {}; };
|
||||
"libiserv" = { flags = { "network" = lib.mkOverride 900 true; }; };
|
||||
"ghc-boot" = { flags = {}; };
|
||||
"ghci" = { flags = { "ghci" = lib.mkOverride 900 true; }; };
|
||||
"iserv" = { flags = {}; };
|
||||
};
|
||||
})
|
||||
];
|
||||
}
|
@ -0,0 +1,167 @@
|
||||
let
|
||||
buildDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
sysDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
||||
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
pkgConfDepError = pkg:
|
||||
builtins.throw ''
|
||||
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
||||
|
||||
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
exeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The local executable components do not include the component: ${pkg} (executable dependency).
|
||||
'';
|
||||
legacyExeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
buildToolDepError = pkg:
|
||||
builtins.throw ''
|
||||
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
||||
|
||||
If this is a system dependency:
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
|
||||
If this is a Haskell dependency:
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
||||
{
|
||||
flags = { integer-simple = false; };
|
||||
package = {
|
||||
specVersion = "1.10";
|
||||
identifier = { name = "bytestring"; version = "0.10.10.0"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "Copyright (c) Don Stewart 2005-2009,\n(c) Duncan Coutts 2006-2015,\n(c) David Roundy 2003-2005,\n(c) Jasper Van der Jeugt 2010,\n(c) Simon Meier 2010-2013.";
|
||||
maintainer = "Duncan Coutts <duncan@community.haskell.org>";
|
||||
author = "Don Stewart,\nDuncan Coutts";
|
||||
homepage = "https://github.com/haskell/bytestring";
|
||||
url = "";
|
||||
synopsis = "Fast, compact, strict and lazy byte strings with a list interface";
|
||||
description = "An efficient compact, immutable byte string type (both strict and lazy)\nsuitable for binary or 8-bit character data.\n\nThe 'ByteString' type represents sequences of bytes or 8-bit characters.\nIt is suitable for high performance use, both in terms of large data\nquantities, or high speed requirements. The 'ByteString' functions follow\nthe same style as Haskell\\'s ordinary lists, so it is easy to convert code\nfrom using 'String' to 'ByteString'.\n\nTwo 'ByteString' variants are provided:\n\n* Strict 'ByteString's keep the string as a single large array. This\nmakes them convenient for passing data between C and Haskell.\n\n* Lazy 'ByteString's use a lazy list of strict chunks which makes it\nsuitable for I\\/O streaming tasks.\n\nThe @Char8@ modules provide a character-based view of the same\nunderlying 'ByteString' types. This makes it convenient to handle mixed\nbinary and 8-bit character content (which is common in many file formats\nand network protocols).\n\nThe 'Builder' module provides an efficient way to build up 'ByteString's\nin an ad-hoc way by repeated concatenation. This is ideal for fast\nserialisation or pretty printing.\n\nThere is also a 'ShortByteString' type which has a lower memory overhead\nand can can be converted to or from a 'ByteString', but supports very few\nother operations. It is suitable for keeping many short strings in memory.\n\n'ByteString's are not designed for Unicode. For Unicode strings you should\nuse the 'Text' type from the @text@ package.\n\nThese modules are intended to be imported qualified, to avoid name clashes\nwith \"Prelude\" functions, e.g.\n\n> import qualified Data.ByteString as BS";
|
||||
buildType = "Simple";
|
||||
isLocal = true;
|
||||
detailLevel = "FullDetails";
|
||||
licenseFiles = [ "LICENSE" ];
|
||||
dataDir = "";
|
||||
dataFiles = [];
|
||||
extraSrcFiles = [ "README.md" "Changelog.md" ];
|
||||
extraTmpFiles = [];
|
||||
extraDocFiles = [];
|
||||
};
|
||||
components = {
|
||||
"library" = {
|
||||
depends = ([
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."ghc-prim" or (buildDepError "ghc-prim"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
] ++ (pkgs.lib).optionals (compiler.isGhc && (compiler.version).ge "6.11") ((pkgs.lib).optional (!flags.integer-simple) (hsPkgs."integer-gmp" or (buildDepError "integer-gmp")))) ++ (pkgs.lib).optional (compiler.isGhc && (compiler.version).ge "6.9" && (compiler.isGhc && (compiler.version).lt "6.11")) (hsPkgs."integer" or (buildDepError "integer"));
|
||||
buildable = true;
|
||||
modules = [
|
||||
"Data/ByteString/Builder/ASCII"
|
||||
"Data/ByteString/Builder/Prim/Binary"
|
||||
"Data/ByteString/Builder/Prim/ASCII"
|
||||
"Data/ByteString/Builder/Prim/Internal/Floating"
|
||||
"Data/ByteString/Builder/Prim/Internal/UncheckedShifts"
|
||||
"Data/ByteString/Builder/Prim/Internal/Base16"
|
||||
"Data/ByteString"
|
||||
"Data/ByteString/Char8"
|
||||
"Data/ByteString/Unsafe"
|
||||
"Data/ByteString/Internal"
|
||||
"Data/ByteString/Lazy"
|
||||
"Data/ByteString/Lazy/Char8"
|
||||
"Data/ByteString/Lazy/Internal"
|
||||
"Data/ByteString/Short"
|
||||
"Data/ByteString/Short/Internal"
|
||||
"Data/ByteString/Builder"
|
||||
"Data/ByteString/Builder/Extra"
|
||||
"Data/ByteString/Builder/Prim"
|
||||
"Data/ByteString/Builder/Internal"
|
||||
"Data/ByteString/Builder/Prim/Internal"
|
||||
"Data/ByteString/Lazy/Builder"
|
||||
"Data/ByteString/Lazy/Builder/Extras"
|
||||
"Data/ByteString/Lazy/Builder/ASCII"
|
||||
];
|
||||
cSources = [ "cbits/fpstring.c" "cbits/itoa.c" ];
|
||||
includeDirs = [ "include" ];
|
||||
includes = [ "fpstring.h" ];
|
||||
};
|
||||
tests = {
|
||||
"prop-compiled" = {
|
||||
depends = [
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."ghc-prim" or (buildDepError "ghc-prim"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
(hsPkgs."random" or (buildDepError "random"))
|
||||
(hsPkgs."directory" or (buildDepError "directory"))
|
||||
(hsPkgs."test-framework" or (buildDepError "test-framework"))
|
||||
(hsPkgs."test-framework-quickcheck2" or (buildDepError "test-framework-quickcheck2"))
|
||||
(hsPkgs."QuickCheck" or (buildDepError "QuickCheck"))
|
||||
];
|
||||
buildable = true;
|
||||
modules = [ "Rules" "QuickCheckUtils" "TestFramework" ];
|
||||
cSources = [ "cbits/fpstring.c" ];
|
||||
hsSourceDirs = [ "." "tests" ];
|
||||
includeDirs = [ "include" ];
|
||||
mainPath = [ "Properties.hs" ];
|
||||
};
|
||||
"regressions" = {
|
||||
depends = [
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."ghc-prim" or (buildDepError "ghc-prim"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
(hsPkgs."random" or (buildDepError "random"))
|
||||
(hsPkgs."directory" or (buildDepError "directory"))
|
||||
(hsPkgs."test-framework" or (buildDepError "test-framework"))
|
||||
(hsPkgs."test-framework-hunit" or (buildDepError "test-framework-hunit"))
|
||||
(hsPkgs."HUnit" or (buildDepError "HUnit"))
|
||||
];
|
||||
buildable = false;
|
||||
cSources = [ "cbits/fpstring.c" ];
|
||||
hsSourceDirs = [ "." "tests" ];
|
||||
includeDirs = [ "include" ];
|
||||
mainPath = [ "Regressions.hs" ];
|
||||
};
|
||||
"test-builder" = {
|
||||
depends = [
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."ghc-prim" or (buildDepError "ghc-prim"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
(hsPkgs."QuickCheck" or (buildDepError "QuickCheck"))
|
||||
(hsPkgs."byteorder" or (buildDepError "byteorder"))
|
||||
(hsPkgs."dlist" or (buildDepError "dlist"))
|
||||
(hsPkgs."directory" or (buildDepError "directory"))
|
||||
(hsPkgs."mtl" or (buildDepError "mtl"))
|
||||
(hsPkgs."HUnit" or (buildDepError "HUnit"))
|
||||
(hsPkgs."test-framework" or (buildDepError "test-framework"))
|
||||
(hsPkgs."test-framework-hunit" or (buildDepError "test-framework-hunit"))
|
||||
(hsPkgs."test-framework-quickcheck2" or (buildDepError "test-framework-quickcheck2"))
|
||||
];
|
||||
buildable = true;
|
||||
modules = [
|
||||
"Data/ByteString/Builder/Tests"
|
||||
"Data/ByteString/Builder/Prim/Tests"
|
||||
"Data/ByteString/Builder/Prim/TestUtils"
|
||||
"TestFramework"
|
||||
];
|
||||
cSources = [ "cbits/fpstring.c" "cbits/itoa.c" ];
|
||||
hsSourceDirs = [ "." "tests" "tests/builder" ];
|
||||
includeDirs = [ "include" ];
|
||||
includes = [ "fpstring.h" ];
|
||||
mainPath = [ "TestSuite.hs" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ../libraries/bytestring; }
|
@ -0,0 +1,84 @@
|
||||
let
|
||||
buildDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
sysDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
||||
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
pkgConfDepError = pkg:
|
||||
builtins.throw ''
|
||||
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
||||
|
||||
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
exeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The local executable components do not include the component: ${pkg} (executable dependency).
|
||||
'';
|
||||
legacyExeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
buildToolDepError = pkg:
|
||||
builtins.throw ''
|
||||
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
||||
|
||||
If this is a system dependency:
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
|
||||
If this is a Haskell dependency:
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
||||
{
|
||||
flags = {};
|
||||
package = {
|
||||
specVersion = "1.22";
|
||||
identifier = { name = "ghc-boot"; version = "8.8.2"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "";
|
||||
maintainer = "ghc-devs@haskell.org";
|
||||
author = "";
|
||||
homepage = "";
|
||||
url = "";
|
||||
synopsis = "Shared functionality between GHC and its boot libraries";
|
||||
description = "This library is shared between GHC, ghc-pkg, and other boot\nlibraries.\n\nA note about \"GHC.PackageDb\": it only deals with the subset of\nthe package database that the compiler cares about: modules\npaths etc and not package metadata like description, authors\netc. It is thus not a library interface to ghc-pkg and is *not*\nsuitable for modifying GHC package databases.\n\nThe package database format and this library are constructed in\nsuch a way that while ghc-pkg depends on Cabal, the GHC library\nand program do not have to depend on Cabal.";
|
||||
buildType = "Simple";
|
||||
isLocal = true;
|
||||
detailLevel = "FullDetails";
|
||||
licenseFiles = [ "LICENSE" ];
|
||||
dataDir = "";
|
||||
dataFiles = [];
|
||||
extraSrcFiles = [ "changelog.md" ];
|
||||
extraTmpFiles = [];
|
||||
extraDocFiles = [];
|
||||
};
|
||||
components = {
|
||||
"library" = {
|
||||
depends = [
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."binary" or (buildDepError "binary"))
|
||||
(hsPkgs."bytestring" or (buildDepError "bytestring"))
|
||||
(hsPkgs."directory" or (buildDepError "directory"))
|
||||
(hsPkgs."filepath" or (buildDepError "filepath"))
|
||||
(hsPkgs."ghc-boot-th" or (buildDepError "ghc-boot-th"))
|
||||
];
|
||||
buildable = true;
|
||||
modules = [
|
||||
"GHC/LanguageExtensions"
|
||||
"GHC/PackageDb"
|
||||
"GHC/Serialized"
|
||||
"GHC/ForeignSrcLang"
|
||||
"GHC/HandleEncoding"
|
||||
];
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ../libraries/ghc-boot; }
|
608
materialized/ghc-extra-projects/cross/ghc882/.plan.nix/ghc.nix
Normal file
608
materialized/ghc-extra-projects/cross/ghc882/.plan.nix/ghc.nix
Normal file
@ -0,0 +1,608 @@
|
||||
let
|
||||
buildDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
sysDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
||||
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
pkgConfDepError = pkg:
|
||||
builtins.throw ''
|
||||
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
||||
|
||||
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
exeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The local executable components do not include the component: ${pkg} (executable dependency).
|
||||
'';
|
||||
legacyExeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
buildToolDepError = pkg:
|
||||
builtins.throw ''
|
||||
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
||||
|
||||
If this is a system dependency:
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
|
||||
If this is a Haskell dependency:
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
||||
{
|
||||
flags = {
|
||||
ghci = false;
|
||||
stage1 = false;
|
||||
stage2 = true;
|
||||
stage3 = false;
|
||||
terminfo = true;
|
||||
integer-simple = false;
|
||||
integer-gmp = false;
|
||||
};
|
||||
package = {
|
||||
specVersion = "1.10";
|
||||
identifier = { name = "ghc"; version = "8.8.2"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "";
|
||||
maintainer = "glasgow-haskell-users@haskell.org";
|
||||
author = "The GHC Team";
|
||||
homepage = "http://www.haskell.org/ghc/";
|
||||
url = "";
|
||||
synopsis = "The GHC API";
|
||||
description = "GHC's functionality can be useful for more things than just\ncompiling Haskell programs. Important use cases are programs\nthat analyse (and perhaps transform) Haskell code. Others\ninclude loading Haskell code dynamically in a GHCi-like manner.\nFor this reason, a lot of GHC's functionality is made available\nthrough this package.";
|
||||
buildType = "Simple";
|
||||
isLocal = true;
|
||||
detailLevel = "FullDetails";
|
||||
licenseFiles = [ "LICENSE" ];
|
||||
dataDir = "";
|
||||
dataFiles = [];
|
||||
extraSrcFiles = [
|
||||
"utils/md5.h"
|
||||
"Unique.h"
|
||||
"nativeGen/NCG.h"
|
||||
"parser/cutils.h"
|
||||
];
|
||||
extraTmpFiles = [];
|
||||
extraDocFiles = [];
|
||||
};
|
||||
components = {
|
||||
"library" = {
|
||||
depends = ((([
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
(hsPkgs."directory" or (buildDepError "directory"))
|
||||
(hsPkgs."process" or (buildDepError "process"))
|
||||
(hsPkgs."bytestring" or (buildDepError "bytestring"))
|
||||
(hsPkgs."binary" or (buildDepError "binary"))
|
||||
(hsPkgs."time" or (buildDepError "time"))
|
||||
(hsPkgs."containers" or (buildDepError "containers"))
|
||||
(hsPkgs."array" or (buildDepError "array"))
|
||||
(hsPkgs."filepath" or (buildDepError "filepath"))
|
||||
(hsPkgs."template-haskell" or (buildDepError "template-haskell"))
|
||||
(hsPkgs."hpc" or (buildDepError "hpc"))
|
||||
(hsPkgs."transformers" or (buildDepError "transformers"))
|
||||
(hsPkgs."ghc-boot" or (buildDepError "ghc-boot"))
|
||||
(hsPkgs."ghc-boot-th" or (buildDepError "ghc-boot-th"))
|
||||
(hsPkgs."ghc-heap" or (buildDepError "ghc-heap"))
|
||||
(hsPkgs."ghci" or (buildDepError "ghci"))
|
||||
] ++ (if system.isWindows
|
||||
then [ (hsPkgs."Win32" or (buildDepError "Win32")) ]
|
||||
else [
|
||||
(hsPkgs."unix" or (buildDepError "unix"))
|
||||
] ++ (pkgs.lib).optional (flags.terminfo) (hsPkgs."terminfo" or (buildDepError "terminfo")))) ++ (pkgs.lib).optional (flags.integer-gmp && flags.integer-simple) (hsPkgs."invalid-cabal-flag-settings" or (buildDepError "invalid-cabal-flag-settings"))) ++ (pkgs.lib).optional (flags.integer-gmp) (hsPkgs."integer-gmp" or (buildDepError "integer-gmp"))) ++ (pkgs.lib).optional (flags.integer-simple) (hsPkgs."integer-simple" or (buildDepError "integer-simple"));
|
||||
build-tools = [
|
||||
(hsPkgs.buildPackages.alex or (pkgs.buildPackages.alex or (buildToolDepError "alex")))
|
||||
(hsPkgs.buildPackages.happy or (pkgs.buildPackages.happy or (buildToolDepError "happy")))
|
||||
];
|
||||
buildable = true;
|
||||
modules = [
|
||||
"GhcPrelude"
|
||||
"HieTypes"
|
||||
"HieDebug"
|
||||
"HieBin"
|
||||
"HieUtils"
|
||||
"HieAst"
|
||||
"Ar"
|
||||
"FileCleanup"
|
||||
"DriverBkp"
|
||||
"BkpSyn"
|
||||
"NameShape"
|
||||
"RnModIface"
|
||||
"Avail"
|
||||
"AsmUtils"
|
||||
"BasicTypes"
|
||||
"ConLike"
|
||||
"DataCon"
|
||||
"PatSyn"
|
||||
"Demand"
|
||||
"Debug"
|
||||
"Exception"
|
||||
"FieldLabel"
|
||||
"GhcMonad"
|
||||
"Hooks"
|
||||
"Id"
|
||||
"IdInfo"
|
||||
"Lexeme"
|
||||
"Literal"
|
||||
"Llvm"
|
||||
"Llvm/AbsSyn"
|
||||
"Llvm/MetaData"
|
||||
"Llvm/PpLlvm"
|
||||
"Llvm/Types"
|
||||
"LlvmCodeGen"
|
||||
"LlvmCodeGen/Base"
|
||||
"LlvmCodeGen/CodeGen"
|
||||
"LlvmCodeGen/Data"
|
||||
"LlvmCodeGen/Ppr"
|
||||
"LlvmCodeGen/Regs"
|
||||
"LlvmMangler"
|
||||
"MkId"
|
||||
"Module"
|
||||
"Name"
|
||||
"NameEnv"
|
||||
"NameSet"
|
||||
"OccName"
|
||||
"RdrName"
|
||||
"NameCache"
|
||||
"SrcLoc"
|
||||
"UniqSupply"
|
||||
"Unique"
|
||||
"Var"
|
||||
"VarEnv"
|
||||
"VarSet"
|
||||
"UnVarGraph"
|
||||
"BlockId"
|
||||
"CLabel"
|
||||
"Cmm"
|
||||
"CmmBuildInfoTables"
|
||||
"CmmPipeline"
|
||||
"CmmCallConv"
|
||||
"CmmCommonBlockElim"
|
||||
"CmmImplementSwitchPlans"
|
||||
"CmmContFlowOpt"
|
||||
"CmmExpr"
|
||||
"CmmInfo"
|
||||
"CmmLex"
|
||||
"CmmLint"
|
||||
"CmmLive"
|
||||
"CmmMachOp"
|
||||
"CmmMonad"
|
||||
"CmmSwitch"
|
||||
"CmmNode"
|
||||
"CmmOpt"
|
||||
"CmmParse"
|
||||
"CmmProcPoint"
|
||||
"CmmSink"
|
||||
"CmmType"
|
||||
"CmmUtils"
|
||||
"CmmLayoutStack"
|
||||
"EnumSet"
|
||||
"MkGraph"
|
||||
"PprBase"
|
||||
"PprC"
|
||||
"PprCmm"
|
||||
"PprCmmDecl"
|
||||
"PprCmmExpr"
|
||||
"Bitmap"
|
||||
"CodeGen/Platform"
|
||||
"CodeGen/Platform/ARM"
|
||||
"CodeGen/Platform/ARM64"
|
||||
"CodeGen/Platform/NoRegs"
|
||||
"CodeGen/Platform/PPC"
|
||||
"CodeGen/Platform/SPARC"
|
||||
"CodeGen/Platform/X86"
|
||||
"CodeGen/Platform/X86_64"
|
||||
"CgUtils"
|
||||
"StgCmm"
|
||||
"StgCmmBind"
|
||||
"StgCmmClosure"
|
||||
"StgCmmCon"
|
||||
"StgCmmEnv"
|
||||
"StgCmmExpr"
|
||||
"StgCmmForeign"
|
||||
"StgCmmHeap"
|
||||
"StgCmmHpc"
|
||||
"StgCmmArgRep"
|
||||
"StgCmmLayout"
|
||||
"StgCmmMonad"
|
||||
"StgCmmPrim"
|
||||
"StgCmmProf"
|
||||
"StgCmmTicky"
|
||||
"StgCmmUtils"
|
||||
"StgCmmExtCode"
|
||||
"SMRep"
|
||||
"CoreArity"
|
||||
"CoreFVs"
|
||||
"CoreLint"
|
||||
"CorePrep"
|
||||
"CoreSubst"
|
||||
"CoreOpt"
|
||||
"CoreSyn"
|
||||
"TrieMap"
|
||||
"CoreTidy"
|
||||
"CoreUnfold"
|
||||
"CoreUtils"
|
||||
"CoreMap"
|
||||
"CoreSeq"
|
||||
"CoreStats"
|
||||
"MkCore"
|
||||
"PprCore"
|
||||
"PmExpr"
|
||||
"TmOracle"
|
||||
"Check"
|
||||
"Coverage"
|
||||
"Desugar"
|
||||
"DsArrows"
|
||||
"DsBinds"
|
||||
"DsCCall"
|
||||
"DsExpr"
|
||||
"DsForeign"
|
||||
"DsGRHSs"
|
||||
"DsListComp"
|
||||
"DsMonad"
|
||||
"DsUsage"
|
||||
"DsUtils"
|
||||
"ExtractDocs"
|
||||
"Match"
|
||||
"MatchCon"
|
||||
"MatchLit"
|
||||
"HsBinds"
|
||||
"HsDecls"
|
||||
"HsDoc"
|
||||
"HsExpr"
|
||||
"HsImpExp"
|
||||
"HsLit"
|
||||
"PlaceHolder"
|
||||
"HsExtension"
|
||||
"HsInstances"
|
||||
"HsPat"
|
||||
"HsSyn"
|
||||
"HsTypes"
|
||||
"HsUtils"
|
||||
"HsDumpAst"
|
||||
"BinIface"
|
||||
"BinFingerprint"
|
||||
"BuildTyCl"
|
||||
"IfaceEnv"
|
||||
"IfaceSyn"
|
||||
"IfaceType"
|
||||
"ToIface"
|
||||
"LoadIface"
|
||||
"MkIface"
|
||||
"TcIface"
|
||||
"FlagChecker"
|
||||
"Annotations"
|
||||
"CmdLineParser"
|
||||
"CodeOutput"
|
||||
"Config"
|
||||
"Constants"
|
||||
"DriverMkDepend"
|
||||
"DriverPhases"
|
||||
"PipelineMonad"
|
||||
"DriverPipeline"
|
||||
"DynFlags"
|
||||
"ErrUtils"
|
||||
"Finder"
|
||||
"GHC"
|
||||
"GhcMake"
|
||||
"GhcPlugins"
|
||||
"DynamicLoading"
|
||||
"HeaderInfo"
|
||||
"HscMain"
|
||||
"HscStats"
|
||||
"HscTypes"
|
||||
"InteractiveEval"
|
||||
"InteractiveEvalTypes"
|
||||
"PackageConfig"
|
||||
"Packages"
|
||||
"PlatformConstants"
|
||||
"Plugins"
|
||||
"TcPluginM"
|
||||
"PprTyThing"
|
||||
"StaticPtrTable"
|
||||
"SysTools"
|
||||
"SysTools/BaseDir"
|
||||
"SysTools/Terminal"
|
||||
"SysTools/ExtraObj"
|
||||
"SysTools/Info"
|
||||
"SysTools/Process"
|
||||
"SysTools/Tasks"
|
||||
"Elf"
|
||||
"TidyPgm"
|
||||
"Ctype"
|
||||
"HaddockUtils"
|
||||
"Lexer"
|
||||
"OptCoercion"
|
||||
"Parser"
|
||||
"RdrHsSyn"
|
||||
"ApiAnnotation"
|
||||
"ForeignCall"
|
||||
"KnownUniques"
|
||||
"PrelInfo"
|
||||
"PrelNames"
|
||||
"PrelRules"
|
||||
"PrimOp"
|
||||
"TysPrim"
|
||||
"TysWiredIn"
|
||||
"CostCentre"
|
||||
"CostCentreState"
|
||||
"ProfInit"
|
||||
"RnBinds"
|
||||
"RnEnv"
|
||||
"RnExpr"
|
||||
"RnHsDoc"
|
||||
"RnNames"
|
||||
"RnPat"
|
||||
"RnSource"
|
||||
"RnSplice"
|
||||
"RnTypes"
|
||||
"RnFixity"
|
||||
"RnUtils"
|
||||
"RnUnbound"
|
||||
"CoreMonad"
|
||||
"CSE"
|
||||
"FloatIn"
|
||||
"FloatOut"
|
||||
"LiberateCase"
|
||||
"OccurAnal"
|
||||
"SAT"
|
||||
"SetLevels"
|
||||
"SimplCore"
|
||||
"SimplEnv"
|
||||
"SimplMonad"
|
||||
"SimplUtils"
|
||||
"Simplify"
|
||||
"SimplStg"
|
||||
"StgStats"
|
||||
"StgCse"
|
||||
"StgLiftLams"
|
||||
"StgLiftLams/Analysis"
|
||||
"StgLiftLams/LiftM"
|
||||
"StgLiftLams/Transformation"
|
||||
"StgSubst"
|
||||
"UnariseStg"
|
||||
"RepType"
|
||||
"Rules"
|
||||
"SpecConstr"
|
||||
"Specialise"
|
||||
"CoreToStg"
|
||||
"StgLint"
|
||||
"StgSyn"
|
||||
"StgFVs"
|
||||
"CallArity"
|
||||
"DmdAnal"
|
||||
"Exitify"
|
||||
"WorkWrap"
|
||||
"WwLib"
|
||||
"FamInst"
|
||||
"ClsInst"
|
||||
"Inst"
|
||||
"TcAnnotations"
|
||||
"TcArrows"
|
||||
"TcBinds"
|
||||
"TcSigs"
|
||||
"TcClassDcl"
|
||||
"TcDefaults"
|
||||
"TcDeriv"
|
||||
"TcDerivInfer"
|
||||
"TcDerivUtils"
|
||||
"TcEnv"
|
||||
"TcExpr"
|
||||
"TcForeign"
|
||||
"TcGenDeriv"
|
||||
"TcGenFunctor"
|
||||
"TcGenGenerics"
|
||||
"TcHsSyn"
|
||||
"TcHsType"
|
||||
"TcInstDcls"
|
||||
"TcMType"
|
||||
"TcValidity"
|
||||
"TcMatches"
|
||||
"TcPat"
|
||||
"TcPatSyn"
|
||||
"TcRnDriver"
|
||||
"TcBackpack"
|
||||
"TcRnExports"
|
||||
"TcRnMonad"
|
||||
"TcRnTypes"
|
||||
"TcRules"
|
||||
"TcSimplify"
|
||||
"TcHoleErrors"
|
||||
"TcErrors"
|
||||
"TcTyClsDecls"
|
||||
"TcTyDecls"
|
||||
"TcTypeable"
|
||||
"TcTypeableValidity"
|
||||
"TcType"
|
||||
"TcEvidence"
|
||||
"TcEvTerm"
|
||||
"TcUnify"
|
||||
"TcInteract"
|
||||
"TcCanonical"
|
||||
"TcFlatten"
|
||||
"TcSMonad"
|
||||
"TcTypeNats"
|
||||
"TcSplice"
|
||||
"Class"
|
||||
"Coercion"
|
||||
"DsMeta"
|
||||
"THNames"
|
||||
"FamInstEnv"
|
||||
"FunDeps"
|
||||
"InstEnv"
|
||||
"TyCon"
|
||||
"CoAxiom"
|
||||
"Kind"
|
||||
"Type"
|
||||
"TyCoRep"
|
||||
"Unify"
|
||||
"Bag"
|
||||
"Binary"
|
||||
"BooleanFormula"
|
||||
"BufWrite"
|
||||
"Digraph"
|
||||
"Encoding"
|
||||
"FastFunctions"
|
||||
"FastMutInt"
|
||||
"FastString"
|
||||
"FastStringEnv"
|
||||
"Fingerprint"
|
||||
"FiniteMap"
|
||||
"FV"
|
||||
"GraphBase"
|
||||
"GraphColor"
|
||||
"GraphOps"
|
||||
"GraphPpr"
|
||||
"IOEnv"
|
||||
"Json"
|
||||
"ListSetOps"
|
||||
"ListT"
|
||||
"Maybes"
|
||||
"MonadUtils"
|
||||
"OrdList"
|
||||
"Outputable"
|
||||
"Pair"
|
||||
"Panic"
|
||||
"PlainPanic"
|
||||
"PprColour"
|
||||
"Pretty"
|
||||
"State"
|
||||
"Stream"
|
||||
"StringBuffer"
|
||||
"UniqDFM"
|
||||
"UniqDSet"
|
||||
"UniqFM"
|
||||
"UniqMap"
|
||||
"UniqSet"
|
||||
"Util"
|
||||
"Hoopl/Block"
|
||||
"Hoopl/Collections"
|
||||
"Hoopl/Dataflow"
|
||||
"Hoopl/Graph"
|
||||
"Hoopl/Label"
|
||||
"AsmCodeGen"
|
||||
"TargetReg"
|
||||
"NCGMonad"
|
||||
"Instruction"
|
||||
"BlockLayout"
|
||||
"CFG"
|
||||
"Format"
|
||||
"Reg"
|
||||
"RegClass"
|
||||
"PIC"
|
||||
"Platform"
|
||||
"CPrim"
|
||||
"X86/Regs"
|
||||
"X86/RegInfo"
|
||||
"X86/Instr"
|
||||
"X86/Cond"
|
||||
"X86/Ppr"
|
||||
"X86/CodeGen"
|
||||
"PPC/Regs"
|
||||
"PPC/RegInfo"
|
||||
"PPC/Instr"
|
||||
"PPC/Cond"
|
||||
"PPC/Ppr"
|
||||
"PPC/CodeGen"
|
||||
"SPARC/Base"
|
||||
"SPARC/Regs"
|
||||
"SPARC/Imm"
|
||||
"SPARC/AddrMode"
|
||||
"SPARC/Cond"
|
||||
"SPARC/Instr"
|
||||
"SPARC/Stack"
|
||||
"SPARC/ShortcutJump"
|
||||
"SPARC/Ppr"
|
||||
"SPARC/CodeGen"
|
||||
"SPARC/CodeGen/Amode"
|
||||
"SPARC/CodeGen/Base"
|
||||
"SPARC/CodeGen/CondCode"
|
||||
"SPARC/CodeGen/Gen32"
|
||||
"SPARC/CodeGen/Gen64"
|
||||
"SPARC/CodeGen/Sanity"
|
||||
"SPARC/CodeGen/Expand"
|
||||
"RegAlloc/Liveness"
|
||||
"RegAlloc/Graph/Main"
|
||||
"RegAlloc/Graph/Stats"
|
||||
"RegAlloc/Graph/ArchBase"
|
||||
"RegAlloc/Graph/ArchX86"
|
||||
"RegAlloc/Graph/Coalesce"
|
||||
"RegAlloc/Graph/Spill"
|
||||
"RegAlloc/Graph/SpillClean"
|
||||
"RegAlloc/Graph/SpillCost"
|
||||
"RegAlloc/Graph/TrivColorable"
|
||||
"RegAlloc/Linear/Main"
|
||||
"RegAlloc/Linear/JoinToTargets"
|
||||
"RegAlloc/Linear/State"
|
||||
"RegAlloc/Linear/Stats"
|
||||
"RegAlloc/Linear/FreeRegs"
|
||||
"RegAlloc/Linear/StackMap"
|
||||
"RegAlloc/Linear/Base"
|
||||
"RegAlloc/Linear/X86/FreeRegs"
|
||||
"RegAlloc/Linear/X86_64/FreeRegs"
|
||||
"RegAlloc/Linear/PPC/FreeRegs"
|
||||
"RegAlloc/Linear/SPARC/FreeRegs"
|
||||
"Dwarf"
|
||||
"Dwarf/Types"
|
||||
"Dwarf/Constants"
|
||||
"Convert"
|
||||
"ByteCodeTypes"
|
||||
"ByteCodeAsm"
|
||||
"ByteCodeGen"
|
||||
"ByteCodeInstr"
|
||||
"ByteCodeItbls"
|
||||
"ByteCodeLink"
|
||||
"Debugger"
|
||||
"Linker"
|
||||
"RtClosureInspect"
|
||||
"GHCi"
|
||||
];
|
||||
cSources = [
|
||||
"parser/cutils.c"
|
||||
"ghci/keepCAFsForGHCi.c"
|
||||
"cbits/genSym.c"
|
||||
];
|
||||
hsSourceDirs = [
|
||||
"backpack"
|
||||
"basicTypes"
|
||||
"cmm"
|
||||
"codeGen"
|
||||
"coreSyn"
|
||||
"deSugar"
|
||||
"ghci"
|
||||
"hsSyn"
|
||||
"iface"
|
||||
"llvmGen"
|
||||
"main"
|
||||
"nativeGen"
|
||||
"parser"
|
||||
"prelude"
|
||||
"profiling"
|
||||
"rename"
|
||||
"simplCore"
|
||||
"simplStg"
|
||||
"specialise"
|
||||
"stgSyn"
|
||||
"stranal"
|
||||
"typecheck"
|
||||
"types"
|
||||
"utils"
|
||||
"hieFile"
|
||||
];
|
||||
includeDirs = [
|
||||
"."
|
||||
"parser"
|
||||
"utils"
|
||||
] ++ (pkgs.lib).optional (flags.ghci) "../rts/dist/build";
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ../compiler; }
|
101
materialized/ghc-extra-projects/cross/ghc882/.plan.nix/ghci.nix
Normal file
101
materialized/ghc-extra-projects/cross/ghc882/.plan.nix/ghci.nix
Normal file
@ -0,0 +1,101 @@
|
||||
let
|
||||
buildDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
sysDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
||||
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
pkgConfDepError = pkg:
|
||||
builtins.throw ''
|
||||
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
||||
|
||||
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
exeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The local executable components do not include the component: ${pkg} (executable dependency).
|
||||
'';
|
||||
legacyExeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
buildToolDepError = pkg:
|
||||
builtins.throw ''
|
||||
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
||||
|
||||
If this is a system dependency:
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
|
||||
If this is a Haskell dependency:
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
||||
{
|
||||
flags = { ghci = false; };
|
||||
package = {
|
||||
specVersion = "1.10";
|
||||
identifier = { name = "ghci"; version = "8.8.2"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "";
|
||||
maintainer = "ghc-devs@haskell.org";
|
||||
author = "";
|
||||
homepage = "";
|
||||
url = "";
|
||||
synopsis = "The library supporting GHC's interactive interpreter";
|
||||
description = "This library offers interfaces which mediate interactions between the\n@ghci@ interactive shell and @iserv@, GHC's out-of-process interpreter\nbackend.";
|
||||
buildType = "Simple";
|
||||
isLocal = true;
|
||||
detailLevel = "FullDetails";
|
||||
licenseFiles = [ "LICENSE" ];
|
||||
dataDir = "";
|
||||
dataFiles = [];
|
||||
extraSrcFiles = [ "changelog.md" ];
|
||||
extraTmpFiles = [];
|
||||
extraDocFiles = [];
|
||||
};
|
||||
components = {
|
||||
"library" = {
|
||||
depends = [
|
||||
(hsPkgs."array" or (buildDepError "array"))
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."binary" or (buildDepError "binary"))
|
||||
(hsPkgs."bytestring" or (buildDepError "bytestring"))
|
||||
(hsPkgs."containers" or (buildDepError "containers"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
(hsPkgs."filepath" or (buildDepError "filepath"))
|
||||
(hsPkgs."ghc-boot" or (buildDepError "ghc-boot"))
|
||||
(hsPkgs."ghc-boot-th" or (buildDepError "ghc-boot-th"))
|
||||
(hsPkgs."ghc-heap" or (buildDepError "ghc-heap"))
|
||||
(hsPkgs."template-haskell" or (buildDepError "template-haskell"))
|
||||
(hsPkgs."transformers" or (buildDepError "transformers"))
|
||||
] ++ (pkgs.lib).optional (!system.isWindows) (hsPkgs."unix" or (buildDepError "unix"));
|
||||
buildable = true;
|
||||
modules = [
|
||||
"GHCi/BreakArray"
|
||||
"GHCi/BinaryArray"
|
||||
"GHCi/Message"
|
||||
"GHCi/ResolvedBCO"
|
||||
"GHCi/RemoteTypes"
|
||||
"GHCi/FFI"
|
||||
"GHCi/InfoTable"
|
||||
"GHCi/StaticPtrTable"
|
||||
"GHCi/TH/Binary"
|
||||
"SizedSeq"
|
||||
] ++ (pkgs.lib).optionals (flags.ghci) [
|
||||
"GHCi/Run"
|
||||
"GHCi/CreateBCO"
|
||||
"GHCi/ObjLink"
|
||||
"GHCi/Signals"
|
||||
"GHCi/TH"
|
||||
];
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ../libraries/ghci; }
|
@ -0,0 +1,86 @@
|
||||
let
|
||||
buildDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
sysDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
||||
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
pkgConfDepError = pkg:
|
||||
builtins.throw ''
|
||||
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
||||
|
||||
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
exeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The local executable components do not include the component: ${pkg} (executable dependency).
|
||||
'';
|
||||
legacyExeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
buildToolDepError = pkg:
|
||||
builtins.throw ''
|
||||
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
||||
|
||||
If this is a system dependency:
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
|
||||
If this is a Haskell dependency:
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
||||
{
|
||||
flags = {};
|
||||
package = {
|
||||
specVersion = "1.10";
|
||||
identifier = { name = "iserv-proxy"; version = "8.8.2"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "XXX";
|
||||
maintainer = "XXX";
|
||||
author = "XXX";
|
||||
homepage = "";
|
||||
url = "";
|
||||
synopsis = "iserv allows GHC to delegate Tempalte Haskell computations";
|
||||
description = "GHC can be provided with a path to the iserv binary with\n@-pgmi=/path/to/iserv-bin@, and will in combination with\n@-fexternal-interpreter@, compile Template Haskell though the\n@iserv-bin@ delegate. This is very similar to how ghcjs has been\ncompiling Template Haskell, by spawning a separate delegate (so\ncalled runner on the javascript vm) and evaluating the splices\nthere.\n\niserv can also be used in combination with cross compilation. For\nthis, the @iserv-proxy@ needs to be built on the host, targeting the\nhost (as it is running on the host). @cabal install -flibrary\n-fproxy@ will yield the proxy.\n\nUsing the cabal for the target @arch-platform-target-cabal install\n-flibrary@ will build the required library that contains the ffi\n@startSlave@ function, which needs to be invoked on the target\n(e.g. in an iOS application) to start the remote iserv slave.\n\ncalling the GHC cross compiler with @-fexternal-interpreter\n-pgmi=\$HOME/.cabal/bin/iserv-proxy -opti\\<ip address\\> -opti\\<port\\>@\nwill cause it to compile Template Haskell via the remote at \\<ip address\\>.\n\nThus to get cross compilation with Template Haskell follow the\nfollowing receipt:\n\n* compile the iserv library for your target\n\n> iserv \$ arch-platform-target-cabal install -flibrary\n\n* setup an application for your target that calls the\n* startSlave function. This could be either haskell or your\n* targets ffi capable language, if needed.\n\n> void startSlave(false /* verbose */, 5000 /* port */,\n> \"/path/to/storagelocation/on/target\");\n\n* build the iserv-proxy\n\n> iserv \$ cabal install -flibrary -fproxy\n* Start your iserv-slave app on your target running on say @10.0.0.1:5000@\n* compiler your sources with -fexternal-interpreter and the proxy\n\n> project \$ arch-platform-target-ghc ModuleContainingTH.hs \\\n> -fexternal-interpreter \\\n> -pgmi=\$HOME/.cabal/bin/iserv-proxy \\\n> -opti10.0.0.1 -opti5000\n\nShould something not work as expected, provide @-opti-v@ for verbose\nlogging of the @iserv-proxy@.";
|
||||
buildType = "Simple";
|
||||
isLocal = true;
|
||||
detailLevel = "FullDetails";
|
||||
licenseFiles = [];
|
||||
dataDir = "";
|
||||
dataFiles = [];
|
||||
extraSrcFiles = [];
|
||||
extraTmpFiles = [];
|
||||
extraDocFiles = [];
|
||||
};
|
||||
components = {
|
||||
exes = {
|
||||
"iserv-proxy" = {
|
||||
depends = [
|
||||
(hsPkgs."array" or (buildDepError "array"))
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."binary" or (buildDepError "binary"))
|
||||
(hsPkgs."bytestring" or (buildDepError "bytestring"))
|
||||
(hsPkgs."containers" or (buildDepError "containers"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
(hsPkgs."directory" or (buildDepError "directory"))
|
||||
(hsPkgs."network" or (buildDepError "network"))
|
||||
(hsPkgs."filepath" or (buildDepError "filepath"))
|
||||
(hsPkgs."ghci" or (buildDepError "ghci"))
|
||||
(hsPkgs."libiserv" or (buildDepError "libiserv"))
|
||||
];
|
||||
buildable = true;
|
||||
hsSourceDirs = [ "src" ];
|
||||
mainPath = [ "Main.hs" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ../utils/iserv-proxy; }
|
@ -0,0 +1,85 @@
|
||||
let
|
||||
buildDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
sysDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
||||
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
pkgConfDepError = pkg:
|
||||
builtins.throw ''
|
||||
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
||||
|
||||
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
exeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The local executable components do not include the component: ${pkg} (executable dependency).
|
||||
'';
|
||||
legacyExeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
buildToolDepError = pkg:
|
||||
builtins.throw ''
|
||||
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
||||
|
||||
If this is a system dependency:
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
|
||||
If this is a Haskell dependency:
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
||||
{
|
||||
flags = {};
|
||||
package = {
|
||||
specVersion = "1.10";
|
||||
identifier = { name = "iserv"; version = "8.8.2"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "XXX";
|
||||
maintainer = "XXX";
|
||||
author = "XXX";
|
||||
homepage = "";
|
||||
url = "";
|
||||
synopsis = "iserv allows GHC to delegate Template Haskell computations";
|
||||
description = "GHC can be provided with a path to the iserv binary with\n@-pgmi=/path/to/iserv-bin@, and will in combination with\n@-fexternal-interpreter@, compile Template Haskell though the\n@iserv-bin@ delegate. This is very similar to how ghcjs has been\ncompiling Template Haskell, by spawning a separate delegate (so\ncalled runner on the javascript vm) and evaluating the splices\nthere.\n\nTo use iserv with cross compilers, please see @libraries/libiserv@\nand @utils/iserv-proxy@.";
|
||||
buildType = "Simple";
|
||||
isLocal = true;
|
||||
detailLevel = "FullDetails";
|
||||
licenseFiles = [];
|
||||
dataDir = "";
|
||||
dataFiles = [];
|
||||
extraSrcFiles = [];
|
||||
extraTmpFiles = [];
|
||||
extraDocFiles = [];
|
||||
};
|
||||
components = {
|
||||
exes = {
|
||||
"iserv" = {
|
||||
depends = [
|
||||
(hsPkgs."array" or (buildDepError "array"))
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."binary" or (buildDepError "binary"))
|
||||
(hsPkgs."bytestring" or (buildDepError "bytestring"))
|
||||
(hsPkgs."containers" or (buildDepError "containers"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
(hsPkgs."ghci" or (buildDepError "ghci"))
|
||||
(hsPkgs."libiserv" or (buildDepError "libiserv"))
|
||||
] ++ (pkgs.lib).optional (!system.isWindows) (hsPkgs."unix" or (buildDepError "unix"));
|
||||
buildable = true;
|
||||
cSources = [ "cbits/iservmain.c" ];
|
||||
hsSourceDirs = [ "src" ];
|
||||
includeDirs = [ "." ];
|
||||
mainPath = [ "Main.hs" ] ++ [ "" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ../utils/iserv; }
|
@ -0,0 +1,89 @@
|
||||
let
|
||||
buildDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
sysDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
||||
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
pkgConfDepError = pkg:
|
||||
builtins.throw ''
|
||||
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
||||
|
||||
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
exeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The local executable components do not include the component: ${pkg} (executable dependency).
|
||||
'';
|
||||
legacyExeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
buildToolDepError = pkg:
|
||||
builtins.throw ''
|
||||
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
||||
|
||||
If this is a system dependency:
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
|
||||
If this is a Haskell dependency:
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
||||
{
|
||||
flags = { network = false; };
|
||||
package = {
|
||||
specVersion = "1.10";
|
||||
identifier = { name = "libiserv"; version = "8.8.2"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "XXX";
|
||||
maintainer = "XXX";
|
||||
author = "XXX";
|
||||
homepage = "";
|
||||
url = "";
|
||||
synopsis = "Provides shared functionality between iserv and iserv-proxy";
|
||||
description = "";
|
||||
buildType = "Simple";
|
||||
isLocal = true;
|
||||
detailLevel = "FullDetails";
|
||||
licenseFiles = [ "LICENSE" ];
|
||||
dataDir = "";
|
||||
dataFiles = [];
|
||||
extraSrcFiles = [];
|
||||
extraTmpFiles = [];
|
||||
extraDocFiles = [];
|
||||
};
|
||||
components = {
|
||||
"library" = {
|
||||
depends = ([
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."binary" or (buildDepError "binary"))
|
||||
(hsPkgs."bytestring" or (buildDepError "bytestring"))
|
||||
(hsPkgs."containers" or (buildDepError "containers"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
(hsPkgs."ghci" or (buildDepError "ghci"))
|
||||
] ++ (pkgs.lib).optionals (flags.network) [
|
||||
(hsPkgs."network" or (buildDepError "network"))
|
||||
(hsPkgs."directory" or (buildDepError "directory"))
|
||||
(hsPkgs."filepath" or (buildDepError "filepath"))
|
||||
]) ++ (pkgs.lib).optional (!system.isWindows) (hsPkgs."unix" or (buildDepError "unix"));
|
||||
buildable = true;
|
||||
modules = [
|
||||
"Lib"
|
||||
"GHCi/Utils"
|
||||
] ++ (pkgs.lib).optionals (flags.network) [
|
||||
"Remote/Message"
|
||||
"Remote/Slave"
|
||||
];
|
||||
hsSourceDirs = [ "src" ];
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ../libraries/libiserv; }
|
@ -0,0 +1,77 @@
|
||||
let
|
||||
buildDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
sysDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
||||
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
pkgConfDepError = pkg:
|
||||
builtins.throw ''
|
||||
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
||||
|
||||
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
exeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The local executable components do not include the component: ${pkg} (executable dependency).
|
||||
'';
|
||||
legacyExeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
buildToolDepError = pkg:
|
||||
builtins.throw ''
|
||||
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
||||
|
||||
If this is a system dependency:
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
|
||||
If this is a Haskell dependency:
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
||||
{
|
||||
flags = {};
|
||||
package = {
|
||||
specVersion = "1.10";
|
||||
identifier = { name = "remote-iserv"; version = "8.8.2"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "XXX";
|
||||
maintainer = "Moritz Angermann <moritz.angermann@gmail.com>";
|
||||
author = "Moritz Angermann <moritz.angermann@gmail.com>";
|
||||
homepage = "";
|
||||
url = "";
|
||||
synopsis = "iserv allows GHC to delegate Tempalte Haskell computations";
|
||||
description = "This is a very simple remote runner for iserv, to be used together\nwith iserv-proxy. The foundamental idea is that this this wrapper\nstarts running libiserv on a given port to which iserv-proxy will\nthen connect.";
|
||||
buildType = "Simple";
|
||||
isLocal = true;
|
||||
detailLevel = "FullDetails";
|
||||
licenseFiles = [];
|
||||
dataDir = "";
|
||||
dataFiles = [];
|
||||
extraSrcFiles = [];
|
||||
extraTmpFiles = [];
|
||||
extraDocFiles = [];
|
||||
};
|
||||
components = {
|
||||
exes = {
|
||||
"remote-iserv" = {
|
||||
depends = [
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."libiserv" or (buildDepError "libiserv"))
|
||||
];
|
||||
buildable = true;
|
||||
hsSourceDirs = [ "src" ];
|
||||
mainPath = [ "Cli.hs" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ../utils/remote-iserv; }
|
94
materialized/ghc-extra-projects/cross/ghc882/default.nix
Normal file
94
materialized/ghc-extra-projects/cross/ghc882/default.nix
Normal file
@ -0,0 +1,94 @@
|
||||
{
|
||||
pkgs = hackage:
|
||||
{
|
||||
packages = {
|
||||
"binary".revision = (((hackage."binary")."0.8.8.0").revisions).default;
|
||||
"ghc-prim".revision = (((hackage."ghc-prim")."0.5.3").revisions).default;
|
||||
"unix".revision = (((hackage."unix")."2.7.2.2").revisions).default;
|
||||
"ghc-heap".revision = (((hackage."ghc-heap")."8.8.2").revisions).default;
|
||||
"mtl".revision = (((hackage."mtl")."2.2.2").revisions).default;
|
||||
"rts".revision = (((hackage."rts")."1.0").revisions).default;
|
||||
"alex".revision = (((hackage."alex")."3.2.5").revisions).default;
|
||||
"alex".flags.small_base = true;
|
||||
"deepseq".revision = (((hackage."deepseq")."1.4.4.0").revisions).default;
|
||||
"network".revision = (((hackage."network")."2.8.0.1").revisions).default;
|
||||
"directory".revision = (((hackage."directory")."1.3.6.1").revisions).default;
|
||||
"template-haskell".revision = (((hackage."template-haskell")."2.15.0.0").revisions).default;
|
||||
"containers".revision = (((hackage."containers")."0.6.2.1").revisions).default;
|
||||
"base".revision = (((hackage."base")."4.13.0.0").revisions).default;
|
||||
"time".revision = (((hackage."time")."1.9.3").revisions).default;
|
||||
"terminfo".revision = (((hackage."terminfo")."0.4.1.4").revisions).default;
|
||||
"transformers".revision = (((hackage."transformers")."0.5.6.2").revisions).default;
|
||||
"happy".revision = (((hackage."happy")."1.19.12").revisions).default;
|
||||
"happy".flags.small_base = true;
|
||||
"hpc".revision = (((hackage."hpc")."0.6.0.3").revisions).default;
|
||||
"filepath".revision = (((hackage."filepath")."1.4.2.1").revisions).default;
|
||||
"process".revision = (((hackage."process")."1.6.8.2").revisions).default;
|
||||
"pretty".revision = (((hackage."pretty")."1.1.3.6").revisions).default;
|
||||
"ghc-boot-th".revision = (((hackage."ghc-boot-th")."8.8.2").revisions).default;
|
||||
"array".revision = (((hackage."array")."0.5.4.0").revisions).default;
|
||||
"integer-gmp".revision = (((hackage."integer-gmp")."1.0.2.0").revisions).default;
|
||||
};
|
||||
compiler = {
|
||||
version = "8.8.2";
|
||||
nix-name = "ghc882";
|
||||
packages = {
|
||||
"ghc-prim" = "0.5.3";
|
||||
"ghc-heap" = "8.8.2";
|
||||
"mtl" = "2.2.2";
|
||||
"rts" = "1.0";
|
||||
"deepseq" = "1.4.4.0";
|
||||
"template-haskell" = "2.15.0.0";
|
||||
"containers" = "0.6.2.1";
|
||||
"base" = "4.13.0.0";
|
||||
"time" = "1.9.3";
|
||||
"transformers" = "0.5.6.2";
|
||||
"filepath" = "1.4.2.1";
|
||||
"pretty" = "1.1.3.6";
|
||||
"ghc-boot-th" = "8.8.2";
|
||||
"array" = "0.5.4.0";
|
||||
"integer-gmp" = "1.0.2.0";
|
||||
};
|
||||
};
|
||||
};
|
||||
extras = hackage:
|
||||
{
|
||||
packages = {
|
||||
ghc = ./.plan.nix/ghc.nix;
|
||||
bytestring = ./.plan.nix/bytestring.nix;
|
||||
remote-iserv = ./.plan.nix/remote-iserv.nix;
|
||||
iserv-proxy = ./.plan.nix/iserv-proxy.nix;
|
||||
libiserv = ./.plan.nix/libiserv.nix;
|
||||
ghc-boot = ./.plan.nix/ghc-boot.nix;
|
||||
ghci = ./.plan.nix/ghci.nix;
|
||||
iserv = ./.plan.nix/iserv.nix;
|
||||
};
|
||||
};
|
||||
modules = [
|
||||
({ lib, ... }:
|
||||
{
|
||||
packages = {
|
||||
"ghc" = {
|
||||
flags = {
|
||||
"stage1" = lib.mkOverride 900 false;
|
||||
"stage2" = lib.mkOverride 900 true;
|
||||
"integer-gmp" = lib.mkOverride 900 false;
|
||||
"stage3" = lib.mkOverride 900 false;
|
||||
"ghci" = lib.mkOverride 900 true;
|
||||
"integer-simple" = lib.mkOverride 900 false;
|
||||
"terminfo" = lib.mkOverride 900 true;
|
||||
};
|
||||
};
|
||||
"bytestring" = {
|
||||
flags = { "integer-simple" = lib.mkOverride 900 false; };
|
||||
};
|
||||
"remote-iserv" = { flags = {}; };
|
||||
"iserv-proxy" = { flags = {}; };
|
||||
"libiserv" = { flags = { "network" = lib.mkOverride 900 true; }; };
|
||||
"ghc-boot" = { flags = {}; };
|
||||
"ghci" = { flags = { "ghci" = lib.mkOverride 900 true; }; };
|
||||
"iserv" = { flags = {}; };
|
||||
};
|
||||
})
|
||||
];
|
||||
}
|
@ -0,0 +1,167 @@
|
||||
let
|
||||
buildDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
sysDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
||||
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
pkgConfDepError = pkg:
|
||||
builtins.throw ''
|
||||
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
||||
|
||||
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
exeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The local executable components do not include the component: ${pkg} (executable dependency).
|
||||
'';
|
||||
legacyExeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
buildToolDepError = pkg:
|
||||
builtins.throw ''
|
||||
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
||||
|
||||
If this is a system dependency:
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
|
||||
If this is a Haskell dependency:
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
||||
{
|
||||
flags = { integer-simple = false; };
|
||||
package = {
|
||||
specVersion = "1.10";
|
||||
identifier = { name = "bytestring"; version = "0.10.10.0"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "Copyright (c) Don Stewart 2005-2009,\n(c) Duncan Coutts 2006-2015,\n(c) David Roundy 2003-2005,\n(c) Jasper Van der Jeugt 2010,\n(c) Simon Meier 2010-2013.";
|
||||
maintainer = "Duncan Coutts <duncan@community.haskell.org>";
|
||||
author = "Don Stewart,\nDuncan Coutts";
|
||||
homepage = "https://github.com/haskell/bytestring";
|
||||
url = "";
|
||||
synopsis = "Fast, compact, strict and lazy byte strings with a list interface";
|
||||
description = "An efficient compact, immutable byte string type (both strict and lazy)\nsuitable for binary or 8-bit character data.\n\nThe 'ByteString' type represents sequences of bytes or 8-bit characters.\nIt is suitable for high performance use, both in terms of large data\nquantities, or high speed requirements. The 'ByteString' functions follow\nthe same style as Haskell\\'s ordinary lists, so it is easy to convert code\nfrom using 'String' to 'ByteString'.\n\nTwo 'ByteString' variants are provided:\n\n* Strict 'ByteString's keep the string as a single large array. This\nmakes them convenient for passing data between C and Haskell.\n\n* Lazy 'ByteString's use a lazy list of strict chunks which makes it\nsuitable for I\\/O streaming tasks.\n\nThe @Char8@ modules provide a character-based view of the same\nunderlying 'ByteString' types. This makes it convenient to handle mixed\nbinary and 8-bit character content (which is common in many file formats\nand network protocols).\n\nThe 'Builder' module provides an efficient way to build up 'ByteString's\nin an ad-hoc way by repeated concatenation. This is ideal for fast\nserialisation or pretty printing.\n\nThere is also a 'ShortByteString' type which has a lower memory overhead\nand can can be converted to or from a 'ByteString', but supports very few\nother operations. It is suitable for keeping many short strings in memory.\n\n'ByteString's are not designed for Unicode. For Unicode strings you should\nuse the 'Text' type from the @text@ package.\n\nThese modules are intended to be imported qualified, to avoid name clashes\nwith \"Prelude\" functions, e.g.\n\n> import qualified Data.ByteString as BS";
|
||||
buildType = "Simple";
|
||||
isLocal = true;
|
||||
detailLevel = "FullDetails";
|
||||
licenseFiles = [ "LICENSE" ];
|
||||
dataDir = "";
|
||||
dataFiles = [];
|
||||
extraSrcFiles = [ "README.md" "Changelog.md" ];
|
||||
extraTmpFiles = [];
|
||||
extraDocFiles = [];
|
||||
};
|
||||
components = {
|
||||
"library" = {
|
||||
depends = ([
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."ghc-prim" or (buildDepError "ghc-prim"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
] ++ (pkgs.lib).optionals (compiler.isGhc && (compiler.version).ge "6.11") ((pkgs.lib).optional (!flags.integer-simple) (hsPkgs."integer-gmp" or (buildDepError "integer-gmp")))) ++ (pkgs.lib).optional (compiler.isGhc && (compiler.version).ge "6.9" && (compiler.isGhc && (compiler.version).lt "6.11")) (hsPkgs."integer" or (buildDepError "integer"));
|
||||
buildable = true;
|
||||
modules = [
|
||||
"Data/ByteString/Builder/ASCII"
|
||||
"Data/ByteString/Builder/Prim/Binary"
|
||||
"Data/ByteString/Builder/Prim/ASCII"
|
||||
"Data/ByteString/Builder/Prim/Internal/Floating"
|
||||
"Data/ByteString/Builder/Prim/Internal/UncheckedShifts"
|
||||
"Data/ByteString/Builder/Prim/Internal/Base16"
|
||||
"Data/ByteString"
|
||||
"Data/ByteString/Char8"
|
||||
"Data/ByteString/Unsafe"
|
||||
"Data/ByteString/Internal"
|
||||
"Data/ByteString/Lazy"
|
||||
"Data/ByteString/Lazy/Char8"
|
||||
"Data/ByteString/Lazy/Internal"
|
||||
"Data/ByteString/Short"
|
||||
"Data/ByteString/Short/Internal"
|
||||
"Data/ByteString/Builder"
|
||||
"Data/ByteString/Builder/Extra"
|
||||
"Data/ByteString/Builder/Prim"
|
||||
"Data/ByteString/Builder/Internal"
|
||||
"Data/ByteString/Builder/Prim/Internal"
|
||||
"Data/ByteString/Lazy/Builder"
|
||||
"Data/ByteString/Lazy/Builder/Extras"
|
||||
"Data/ByteString/Lazy/Builder/ASCII"
|
||||
];
|
||||
cSources = [ "cbits/fpstring.c" "cbits/itoa.c" ];
|
||||
includeDirs = [ "include" ];
|
||||
includes = [ "fpstring.h" ];
|
||||
};
|
||||
tests = {
|
||||
"prop-compiled" = {
|
||||
depends = [
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."ghc-prim" or (buildDepError "ghc-prim"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
(hsPkgs."random" or (buildDepError "random"))
|
||||
(hsPkgs."directory" or (buildDepError "directory"))
|
||||
(hsPkgs."test-framework" or (buildDepError "test-framework"))
|
||||
(hsPkgs."test-framework-quickcheck2" or (buildDepError "test-framework-quickcheck2"))
|
||||
(hsPkgs."QuickCheck" or (buildDepError "QuickCheck"))
|
||||
];
|
||||
buildable = true;
|
||||
modules = [ "Rules" "QuickCheckUtils" "TestFramework" ];
|
||||
cSources = [ "cbits/fpstring.c" ];
|
||||
hsSourceDirs = [ "." "tests" ];
|
||||
includeDirs = [ "include" ];
|
||||
mainPath = [ "Properties.hs" ];
|
||||
};
|
||||
"regressions" = {
|
||||
depends = [
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."ghc-prim" or (buildDepError "ghc-prim"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
(hsPkgs."random" or (buildDepError "random"))
|
||||
(hsPkgs."directory" or (buildDepError "directory"))
|
||||
(hsPkgs."test-framework" or (buildDepError "test-framework"))
|
||||
(hsPkgs."test-framework-hunit" or (buildDepError "test-framework-hunit"))
|
||||
(hsPkgs."HUnit" or (buildDepError "HUnit"))
|
||||
];
|
||||
buildable = false;
|
||||
cSources = [ "cbits/fpstring.c" ];
|
||||
hsSourceDirs = [ "." "tests" ];
|
||||
includeDirs = [ "include" ];
|
||||
mainPath = [ "Regressions.hs" ];
|
||||
};
|
||||
"test-builder" = {
|
||||
depends = [
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."ghc-prim" or (buildDepError "ghc-prim"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
(hsPkgs."QuickCheck" or (buildDepError "QuickCheck"))
|
||||
(hsPkgs."byteorder" or (buildDepError "byteorder"))
|
||||
(hsPkgs."dlist" or (buildDepError "dlist"))
|
||||
(hsPkgs."directory" or (buildDepError "directory"))
|
||||
(hsPkgs."mtl" or (buildDepError "mtl"))
|
||||
(hsPkgs."HUnit" or (buildDepError "HUnit"))
|
||||
(hsPkgs."test-framework" or (buildDepError "test-framework"))
|
||||
(hsPkgs."test-framework-hunit" or (buildDepError "test-framework-hunit"))
|
||||
(hsPkgs."test-framework-quickcheck2" or (buildDepError "test-framework-quickcheck2"))
|
||||
];
|
||||
buildable = true;
|
||||
modules = [
|
||||
"Data/ByteString/Builder/Tests"
|
||||
"Data/ByteString/Builder/Prim/Tests"
|
||||
"Data/ByteString/Builder/Prim/TestUtils"
|
||||
"TestFramework"
|
||||
];
|
||||
cSources = [ "cbits/fpstring.c" "cbits/itoa.c" ];
|
||||
hsSourceDirs = [ "." "tests" "tests/builder" ];
|
||||
includeDirs = [ "include" ];
|
||||
includes = [ "fpstring.h" ];
|
||||
mainPath = [ "TestSuite.hs" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ../libraries/bytestring; }
|
@ -0,0 +1,84 @@
|
||||
let
|
||||
buildDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
sysDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
||||
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
pkgConfDepError = pkg:
|
||||
builtins.throw ''
|
||||
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
||||
|
||||
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
exeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The local executable components do not include the component: ${pkg} (executable dependency).
|
||||
'';
|
||||
legacyExeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
buildToolDepError = pkg:
|
||||
builtins.throw ''
|
||||
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
||||
|
||||
If this is a system dependency:
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
|
||||
If this is a Haskell dependency:
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
||||
{
|
||||
flags = {};
|
||||
package = {
|
||||
specVersion = "1.22";
|
||||
identifier = { name = "ghc-boot"; version = "8.8.3"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "";
|
||||
maintainer = "ghc-devs@haskell.org";
|
||||
author = "";
|
||||
homepage = "";
|
||||
url = "";
|
||||
synopsis = "Shared functionality between GHC and its boot libraries";
|
||||
description = "This library is shared between GHC, ghc-pkg, and other boot\nlibraries.\n\nA note about \"GHC.PackageDb\": it only deals with the subset of\nthe package database that the compiler cares about: modules\npaths etc and not package metadata like description, authors\netc. It is thus not a library interface to ghc-pkg and is *not*\nsuitable for modifying GHC package databases.\n\nThe package database format and this library are constructed in\nsuch a way that while ghc-pkg depends on Cabal, the GHC library\nand program do not have to depend on Cabal.";
|
||||
buildType = "Simple";
|
||||
isLocal = true;
|
||||
detailLevel = "FullDetails";
|
||||
licenseFiles = [ "LICENSE" ];
|
||||
dataDir = "";
|
||||
dataFiles = [];
|
||||
extraSrcFiles = [ "changelog.md" ];
|
||||
extraTmpFiles = [];
|
||||
extraDocFiles = [];
|
||||
};
|
||||
components = {
|
||||
"library" = {
|
||||
depends = [
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."binary" or (buildDepError "binary"))
|
||||
(hsPkgs."bytestring" or (buildDepError "bytestring"))
|
||||
(hsPkgs."directory" or (buildDepError "directory"))
|
||||
(hsPkgs."filepath" or (buildDepError "filepath"))
|
||||
(hsPkgs."ghc-boot-th" or (buildDepError "ghc-boot-th"))
|
||||
];
|
||||
buildable = true;
|
||||
modules = [
|
||||
"GHC/LanguageExtensions"
|
||||
"GHC/PackageDb"
|
||||
"GHC/Serialized"
|
||||
"GHC/ForeignSrcLang"
|
||||
"GHC/HandleEncoding"
|
||||
];
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ../libraries/ghc-boot; }
|
608
materialized/ghc-extra-projects/cross/ghc883/.plan.nix/ghc.nix
Normal file
608
materialized/ghc-extra-projects/cross/ghc883/.plan.nix/ghc.nix
Normal file
@ -0,0 +1,608 @@
|
||||
let
|
||||
buildDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
sysDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
||||
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
pkgConfDepError = pkg:
|
||||
builtins.throw ''
|
||||
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
||||
|
||||
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
exeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The local executable components do not include the component: ${pkg} (executable dependency).
|
||||
'';
|
||||
legacyExeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
buildToolDepError = pkg:
|
||||
builtins.throw ''
|
||||
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
||||
|
||||
If this is a system dependency:
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
|
||||
If this is a Haskell dependency:
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
||||
{
|
||||
flags = {
|
||||
ghci = false;
|
||||
stage1 = false;
|
||||
stage2 = true;
|
||||
stage3 = false;
|
||||
terminfo = true;
|
||||
integer-simple = false;
|
||||
integer-gmp = false;
|
||||
};
|
||||
package = {
|
||||
specVersion = "1.10";
|
||||
identifier = { name = "ghc"; version = "8.8.3"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "";
|
||||
maintainer = "glasgow-haskell-users@haskell.org";
|
||||
author = "The GHC Team";
|
||||
homepage = "http://www.haskell.org/ghc/";
|
||||
url = "";
|
||||
synopsis = "The GHC API";
|
||||
description = "GHC's functionality can be useful for more things than just\ncompiling Haskell programs. Important use cases are programs\nthat analyse (and perhaps transform) Haskell code. Others\ninclude loading Haskell code dynamically in a GHCi-like manner.\nFor this reason, a lot of GHC's functionality is made available\nthrough this package.";
|
||||
buildType = "Simple";
|
||||
isLocal = true;
|
||||
detailLevel = "FullDetails";
|
||||
licenseFiles = [ "LICENSE" ];
|
||||
dataDir = "";
|
||||
dataFiles = [];
|
||||
extraSrcFiles = [
|
||||
"utils/md5.h"
|
||||
"Unique.h"
|
||||
"nativeGen/NCG.h"
|
||||
"parser/cutils.h"
|
||||
];
|
||||
extraTmpFiles = [];
|
||||
extraDocFiles = [];
|
||||
};
|
||||
components = {
|
||||
"library" = {
|
||||
depends = ((([
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
(hsPkgs."directory" or (buildDepError "directory"))
|
||||
(hsPkgs."process" or (buildDepError "process"))
|
||||
(hsPkgs."bytestring" or (buildDepError "bytestring"))
|
||||
(hsPkgs."binary" or (buildDepError "binary"))
|
||||
(hsPkgs."time" or (buildDepError "time"))
|
||||
(hsPkgs."containers" or (buildDepError "containers"))
|
||||
(hsPkgs."array" or (buildDepError "array"))
|
||||
(hsPkgs."filepath" or (buildDepError "filepath"))
|
||||
(hsPkgs."template-haskell" or (buildDepError "template-haskell"))
|
||||
(hsPkgs."hpc" or (buildDepError "hpc"))
|
||||
(hsPkgs."transformers" or (buildDepError "transformers"))
|
||||
(hsPkgs."ghc-boot" or (buildDepError "ghc-boot"))
|
||||
(hsPkgs."ghc-boot-th" or (buildDepError "ghc-boot-th"))
|
||||
(hsPkgs."ghc-heap" or (buildDepError "ghc-heap"))
|
||||
(hsPkgs."ghci" or (buildDepError "ghci"))
|
||||
] ++ (if system.isWindows
|
||||
then [ (hsPkgs."Win32" or (buildDepError "Win32")) ]
|
||||
else [
|
||||
(hsPkgs."unix" or (buildDepError "unix"))
|
||||
] ++ (pkgs.lib).optional (flags.terminfo) (hsPkgs."terminfo" or (buildDepError "terminfo")))) ++ (pkgs.lib).optional (flags.integer-gmp && flags.integer-simple) (hsPkgs."invalid-cabal-flag-settings" or (buildDepError "invalid-cabal-flag-settings"))) ++ (pkgs.lib).optional (flags.integer-gmp) (hsPkgs."integer-gmp" or (buildDepError "integer-gmp"))) ++ (pkgs.lib).optional (flags.integer-simple) (hsPkgs."integer-simple" or (buildDepError "integer-simple"));
|
||||
build-tools = [
|
||||
(hsPkgs.buildPackages.alex or (pkgs.buildPackages.alex or (buildToolDepError "alex")))
|
||||
(hsPkgs.buildPackages.happy or (pkgs.buildPackages.happy or (buildToolDepError "happy")))
|
||||
];
|
||||
buildable = true;
|
||||
modules = [
|
||||
"GhcPrelude"
|
||||
"HieTypes"
|
||||
"HieDebug"
|
||||
"HieBin"
|
||||
"HieUtils"
|
||||
"HieAst"
|
||||
"Ar"
|
||||
"FileCleanup"
|
||||
"DriverBkp"
|
||||
"BkpSyn"
|
||||
"NameShape"
|
||||
"RnModIface"
|
||||
"Avail"
|
||||
"AsmUtils"
|
||||
"BasicTypes"
|
||||
"ConLike"
|
||||
"DataCon"
|
||||
"PatSyn"
|
||||
"Demand"
|
||||
"Debug"
|
||||
"Exception"
|
||||
"FieldLabel"
|
||||
"GhcMonad"
|
||||
"Hooks"
|
||||
"Id"
|
||||
"IdInfo"
|
||||
"Lexeme"
|
||||
"Literal"
|
||||
"Llvm"
|
||||
"Llvm/AbsSyn"
|
||||
"Llvm/MetaData"
|
||||
"Llvm/PpLlvm"
|
||||
"Llvm/Types"
|
||||
"LlvmCodeGen"
|
||||
"LlvmCodeGen/Base"
|
||||
"LlvmCodeGen/CodeGen"
|
||||
"LlvmCodeGen/Data"
|
||||
"LlvmCodeGen/Ppr"
|
||||
"LlvmCodeGen/Regs"
|
||||
"LlvmMangler"
|
||||
"MkId"
|
||||
"Module"
|
||||
"Name"
|
||||
"NameEnv"
|
||||
"NameSet"
|
||||
"OccName"
|
||||
"RdrName"
|
||||
"NameCache"
|
||||
"SrcLoc"
|
||||
"UniqSupply"
|
||||
"Unique"
|
||||
"Var"
|
||||
"VarEnv"
|
||||
"VarSet"
|
||||
"UnVarGraph"
|
||||
"BlockId"
|
||||
"CLabel"
|
||||
"Cmm"
|
||||
"CmmBuildInfoTables"
|
||||
"CmmPipeline"
|
||||
"CmmCallConv"
|
||||
"CmmCommonBlockElim"
|
||||
"CmmImplementSwitchPlans"
|
||||
"CmmContFlowOpt"
|
||||
"CmmExpr"
|
||||
"CmmInfo"
|
||||
"CmmLex"
|
||||
"CmmLint"
|
||||
"CmmLive"
|
||||
"CmmMachOp"
|
||||
"CmmMonad"
|
||||
"CmmSwitch"
|
||||
"CmmNode"
|
||||
"CmmOpt"
|
||||
"CmmParse"
|
||||
"CmmProcPoint"
|
||||
"CmmSink"
|
||||
"CmmType"
|
||||
"CmmUtils"
|
||||
"CmmLayoutStack"
|
||||
"EnumSet"
|
||||
"MkGraph"
|
||||
"PprBase"
|
||||
"PprC"
|
||||
"PprCmm"
|
||||
"PprCmmDecl"
|
||||
"PprCmmExpr"
|
||||
"Bitmap"
|
||||
"CodeGen/Platform"
|
||||
"CodeGen/Platform/ARM"
|
||||
"CodeGen/Platform/ARM64"
|
||||
"CodeGen/Platform/NoRegs"
|
||||
"CodeGen/Platform/PPC"
|
||||
"CodeGen/Platform/SPARC"
|
||||
"CodeGen/Platform/X86"
|
||||
"CodeGen/Platform/X86_64"
|
||||
"CgUtils"
|
||||
"StgCmm"
|
||||
"StgCmmBind"
|
||||
"StgCmmClosure"
|
||||
"StgCmmCon"
|
||||
"StgCmmEnv"
|
||||
"StgCmmExpr"
|
||||
"StgCmmForeign"
|
||||
"StgCmmHeap"
|
||||
"StgCmmHpc"
|
||||
"StgCmmArgRep"
|
||||
"StgCmmLayout"
|
||||
"StgCmmMonad"
|
||||
"StgCmmPrim"
|
||||
"StgCmmProf"
|
||||
"StgCmmTicky"
|
||||
"StgCmmUtils"
|
||||
"StgCmmExtCode"
|
||||
"SMRep"
|
||||
"CoreArity"
|
||||
"CoreFVs"
|
||||
"CoreLint"
|
||||
"CorePrep"
|
||||
"CoreSubst"
|
||||
"CoreOpt"
|
||||
"CoreSyn"
|
||||
"TrieMap"
|
||||
"CoreTidy"
|
||||
"CoreUnfold"
|
||||
"CoreUtils"
|
||||
"CoreMap"
|
||||
"CoreSeq"
|
||||
"CoreStats"
|
||||
"MkCore"
|
||||
"PprCore"
|
||||
"PmExpr"
|
||||
"TmOracle"
|
||||
"Check"
|
||||
"Coverage"
|
||||
"Desugar"
|
||||
"DsArrows"
|
||||
"DsBinds"
|
||||
"DsCCall"
|
||||
"DsExpr"
|
||||
"DsForeign"
|
||||
"DsGRHSs"
|
||||
"DsListComp"
|
||||
"DsMonad"
|
||||
"DsUsage"
|
||||
"DsUtils"
|
||||
"ExtractDocs"
|
||||
"Match"
|
||||
"MatchCon"
|
||||
"MatchLit"
|
||||
"HsBinds"
|
||||
"HsDecls"
|
||||
"HsDoc"
|
||||
"HsExpr"
|
||||
"HsImpExp"
|
||||
"HsLit"
|
||||
"PlaceHolder"
|
||||
"HsExtension"
|
||||
"HsInstances"
|
||||
"HsPat"
|
||||
"HsSyn"
|
||||
"HsTypes"
|
||||
"HsUtils"
|
||||
"HsDumpAst"
|
||||
"BinIface"
|
||||
"BinFingerprint"
|
||||
"BuildTyCl"
|
||||
"IfaceEnv"
|
||||
"IfaceSyn"
|
||||
"IfaceType"
|
||||
"ToIface"
|
||||
"LoadIface"
|
||||
"MkIface"
|
||||
"TcIface"
|
||||
"FlagChecker"
|
||||
"Annotations"
|
||||
"CmdLineParser"
|
||||
"CodeOutput"
|
||||
"Config"
|
||||
"Constants"
|
||||
"DriverMkDepend"
|
||||
"DriverPhases"
|
||||
"PipelineMonad"
|
||||
"DriverPipeline"
|
||||
"DynFlags"
|
||||
"ErrUtils"
|
||||
"Finder"
|
||||
"GHC"
|
||||
"GhcMake"
|
||||
"GhcPlugins"
|
||||
"DynamicLoading"
|
||||
"HeaderInfo"
|
||||
"HscMain"
|
||||
"HscStats"
|
||||
"HscTypes"
|
||||
"InteractiveEval"
|
||||
"InteractiveEvalTypes"
|
||||
"PackageConfig"
|
||||
"Packages"
|
||||
"PlatformConstants"
|
||||
"Plugins"
|
||||
"TcPluginM"
|
||||
"PprTyThing"
|
||||
"StaticPtrTable"
|
||||
"SysTools"
|
||||
"SysTools/BaseDir"
|
||||
"SysTools/Terminal"
|
||||
"SysTools/ExtraObj"
|
||||
"SysTools/Info"
|
||||
"SysTools/Process"
|
||||
"SysTools/Tasks"
|
||||
"Elf"
|
||||
"TidyPgm"
|
||||
"Ctype"
|
||||
"HaddockUtils"
|
||||
"Lexer"
|
||||
"OptCoercion"
|
||||
"Parser"
|
||||
"RdrHsSyn"
|
||||
"ApiAnnotation"
|
||||
"ForeignCall"
|
||||
"KnownUniques"
|
||||
"PrelInfo"
|
||||
"PrelNames"
|
||||
"PrelRules"
|
||||
"PrimOp"
|
||||
"TysPrim"
|
||||
"TysWiredIn"
|
||||
"CostCentre"
|
||||
"CostCentreState"
|
||||
"ProfInit"
|
||||
"RnBinds"
|
||||
"RnEnv"
|
||||
"RnExpr"
|
||||
"RnHsDoc"
|
||||
"RnNames"
|
||||
"RnPat"
|
||||
"RnSource"
|
||||
"RnSplice"
|
||||
"RnTypes"
|
||||
"RnFixity"
|
||||
"RnUtils"
|
||||
"RnUnbound"
|
||||
"CoreMonad"
|
||||
"CSE"
|
||||
"FloatIn"
|
||||
"FloatOut"
|
||||
"LiberateCase"
|
||||
"OccurAnal"
|
||||
"SAT"
|
||||
"SetLevels"
|
||||
"SimplCore"
|
||||
"SimplEnv"
|
||||
"SimplMonad"
|
||||
"SimplUtils"
|
||||
"Simplify"
|
||||
"SimplStg"
|
||||
"StgStats"
|
||||
"StgCse"
|
||||
"StgLiftLams"
|
||||
"StgLiftLams/Analysis"
|
||||
"StgLiftLams/LiftM"
|
||||
"StgLiftLams/Transformation"
|
||||
"StgSubst"
|
||||
"UnariseStg"
|
||||
"RepType"
|
||||
"Rules"
|
||||
"SpecConstr"
|
||||
"Specialise"
|
||||
"CoreToStg"
|
||||
"StgLint"
|
||||
"StgSyn"
|
||||
"StgFVs"
|
||||
"CallArity"
|
||||
"DmdAnal"
|
||||
"Exitify"
|
||||
"WorkWrap"
|
||||
"WwLib"
|
||||
"FamInst"
|
||||
"ClsInst"
|
||||
"Inst"
|
||||
"TcAnnotations"
|
||||
"TcArrows"
|
||||
"TcBinds"
|
||||
"TcSigs"
|
||||
"TcClassDcl"
|
||||
"TcDefaults"
|
||||
"TcDeriv"
|
||||
"TcDerivInfer"
|
||||
"TcDerivUtils"
|
||||
"TcEnv"
|
||||
"TcExpr"
|
||||
"TcForeign"
|
||||
"TcGenDeriv"
|
||||
"TcGenFunctor"
|
||||
"TcGenGenerics"
|
||||
"TcHsSyn"
|
||||
"TcHsType"
|
||||
"TcInstDcls"
|
||||
"TcMType"
|
||||
"TcValidity"
|
||||
"TcMatches"
|
||||
"TcPat"
|
||||
"TcPatSyn"
|
||||
"TcRnDriver"
|
||||
"TcBackpack"
|
||||
"TcRnExports"
|
||||
"TcRnMonad"
|
||||
"TcRnTypes"
|
||||
"TcRules"
|
||||
"TcSimplify"
|
||||
"TcHoleErrors"
|
||||
"TcErrors"
|
||||
"TcTyClsDecls"
|
||||
"TcTyDecls"
|
||||
"TcTypeable"
|
||||
"TcTypeableValidity"
|
||||
"TcType"
|
||||
"TcEvidence"
|
||||
"TcEvTerm"
|
||||
"TcUnify"
|
||||
"TcInteract"
|
||||
"TcCanonical"
|
||||
"TcFlatten"
|
||||
"TcSMonad"
|
||||
"TcTypeNats"
|
||||
"TcSplice"
|
||||
"Class"
|
||||
"Coercion"
|
||||
"DsMeta"
|
||||
"THNames"
|
||||
"FamInstEnv"
|
||||
"FunDeps"
|
||||
"InstEnv"
|
||||
"TyCon"
|
||||
"CoAxiom"
|
||||
"Kind"
|
||||
"Type"
|
||||
"TyCoRep"
|
||||
"Unify"
|
||||
"Bag"
|
||||
"Binary"
|
||||
"BooleanFormula"
|
||||
"BufWrite"
|
||||
"Digraph"
|
||||
"Encoding"
|
||||
"FastFunctions"
|
||||
"FastMutInt"
|
||||
"FastString"
|
||||
"FastStringEnv"
|
||||
"Fingerprint"
|
||||
"FiniteMap"
|
||||
"FV"
|
||||
"GraphBase"
|
||||
"GraphColor"
|
||||
"GraphOps"
|
||||
"GraphPpr"
|
||||
"IOEnv"
|
||||
"Json"
|
||||
"ListSetOps"
|
||||
"ListT"
|
||||
"Maybes"
|
||||
"MonadUtils"
|
||||
"OrdList"
|
||||
"Outputable"
|
||||
"Pair"
|
||||
"Panic"
|
||||
"PlainPanic"
|
||||
"PprColour"
|
||||
"Pretty"
|
||||
"State"
|
||||
"Stream"
|
||||
"StringBuffer"
|
||||
"UniqDFM"
|
||||
"UniqDSet"
|
||||
"UniqFM"
|
||||
"UniqMap"
|
||||
"UniqSet"
|
||||
"Util"
|
||||
"Hoopl/Block"
|
||||
"Hoopl/Collections"
|
||||
"Hoopl/Dataflow"
|
||||
"Hoopl/Graph"
|
||||
"Hoopl/Label"
|
||||
"AsmCodeGen"
|
||||
"TargetReg"
|
||||
"NCGMonad"
|
||||
"Instruction"
|
||||
"BlockLayout"
|
||||
"CFG"
|
||||
"Format"
|
||||
"Reg"
|
||||
"RegClass"
|
||||
"PIC"
|
||||
"Platform"
|
||||
"CPrim"
|
||||
"X86/Regs"
|
||||
"X86/RegInfo"
|
||||
"X86/Instr"
|
||||
"X86/Cond"
|
||||
"X86/Ppr"
|
||||
"X86/CodeGen"
|
||||
"PPC/Regs"
|
||||
"PPC/RegInfo"
|
||||
"PPC/Instr"
|
||||
"PPC/Cond"
|
||||
"PPC/Ppr"
|
||||
"PPC/CodeGen"
|
||||
"SPARC/Base"
|
||||
"SPARC/Regs"
|
||||
"SPARC/Imm"
|
||||
"SPARC/AddrMode"
|
||||
"SPARC/Cond"
|
||||
"SPARC/Instr"
|
||||
"SPARC/Stack"
|
||||
"SPARC/ShortcutJump"
|
||||
"SPARC/Ppr"
|
||||
"SPARC/CodeGen"
|
||||
"SPARC/CodeGen/Amode"
|
||||
"SPARC/CodeGen/Base"
|
||||
"SPARC/CodeGen/CondCode"
|
||||
"SPARC/CodeGen/Gen32"
|
||||
"SPARC/CodeGen/Gen64"
|
||||
"SPARC/CodeGen/Sanity"
|
||||
"SPARC/CodeGen/Expand"
|
||||
"RegAlloc/Liveness"
|
||||
"RegAlloc/Graph/Main"
|
||||
"RegAlloc/Graph/Stats"
|
||||
"RegAlloc/Graph/ArchBase"
|
||||
"RegAlloc/Graph/ArchX86"
|
||||
"RegAlloc/Graph/Coalesce"
|
||||
"RegAlloc/Graph/Spill"
|
||||
"RegAlloc/Graph/SpillClean"
|
||||
"RegAlloc/Graph/SpillCost"
|
||||
"RegAlloc/Graph/TrivColorable"
|
||||
"RegAlloc/Linear/Main"
|
||||
"RegAlloc/Linear/JoinToTargets"
|
||||
"RegAlloc/Linear/State"
|
||||
"RegAlloc/Linear/Stats"
|
||||
"RegAlloc/Linear/FreeRegs"
|
||||
"RegAlloc/Linear/StackMap"
|
||||
"RegAlloc/Linear/Base"
|
||||
"RegAlloc/Linear/X86/FreeRegs"
|
||||
"RegAlloc/Linear/X86_64/FreeRegs"
|
||||
"RegAlloc/Linear/PPC/FreeRegs"
|
||||
"RegAlloc/Linear/SPARC/FreeRegs"
|
||||
"Dwarf"
|
||||
"Dwarf/Types"
|
||||
"Dwarf/Constants"
|
||||
"Convert"
|
||||
"ByteCodeTypes"
|
||||
"ByteCodeAsm"
|
||||
"ByteCodeGen"
|
||||
"ByteCodeInstr"
|
||||
"ByteCodeItbls"
|
||||
"ByteCodeLink"
|
||||
"Debugger"
|
||||
"Linker"
|
||||
"RtClosureInspect"
|
||||
"GHCi"
|
||||
];
|
||||
cSources = [
|
||||
"parser/cutils.c"
|
||||
"ghci/keepCAFsForGHCi.c"
|
||||
"cbits/genSym.c"
|
||||
];
|
||||
hsSourceDirs = [
|
||||
"backpack"
|
||||
"basicTypes"
|
||||
"cmm"
|
||||
"codeGen"
|
||||
"coreSyn"
|
||||
"deSugar"
|
||||
"ghci"
|
||||
"hsSyn"
|
||||
"iface"
|
||||
"llvmGen"
|
||||
"main"
|
||||
"nativeGen"
|
||||
"parser"
|
||||
"prelude"
|
||||
"profiling"
|
||||
"rename"
|
||||
"simplCore"
|
||||
"simplStg"
|
||||
"specialise"
|
||||
"stgSyn"
|
||||
"stranal"
|
||||
"typecheck"
|
||||
"types"
|
||||
"utils"
|
||||
"hieFile"
|
||||
];
|
||||
includeDirs = [
|
||||
"."
|
||||
"parser"
|
||||
"utils"
|
||||
] ++ (pkgs.lib).optional (flags.ghci) "../rts/dist/build";
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ../compiler; }
|
101
materialized/ghc-extra-projects/cross/ghc883/.plan.nix/ghci.nix
Normal file
101
materialized/ghc-extra-projects/cross/ghc883/.plan.nix/ghci.nix
Normal file
@ -0,0 +1,101 @@
|
||||
let
|
||||
buildDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
sysDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
||||
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
pkgConfDepError = pkg:
|
||||
builtins.throw ''
|
||||
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
||||
|
||||
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
exeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The local executable components do not include the component: ${pkg} (executable dependency).
|
||||
'';
|
||||
legacyExeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
buildToolDepError = pkg:
|
||||
builtins.throw ''
|
||||
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
||||
|
||||
If this is a system dependency:
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
|
||||
If this is a Haskell dependency:
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
||||
{
|
||||
flags = { ghci = false; };
|
||||
package = {
|
||||
specVersion = "1.10";
|
||||
identifier = { name = "ghci"; version = "8.8.3"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "";
|
||||
maintainer = "ghc-devs@haskell.org";
|
||||
author = "";
|
||||
homepage = "";
|
||||
url = "";
|
||||
synopsis = "The library supporting GHC's interactive interpreter";
|
||||
description = "This library offers interfaces which mediate interactions between the\n@ghci@ interactive shell and @iserv@, GHC's out-of-process interpreter\nbackend.";
|
||||
buildType = "Simple";
|
||||
isLocal = true;
|
||||
detailLevel = "FullDetails";
|
||||
licenseFiles = [ "LICENSE" ];
|
||||
dataDir = "";
|
||||
dataFiles = [];
|
||||
extraSrcFiles = [ "changelog.md" ];
|
||||
extraTmpFiles = [];
|
||||
extraDocFiles = [];
|
||||
};
|
||||
components = {
|
||||
"library" = {
|
||||
depends = [
|
||||
(hsPkgs."array" or (buildDepError "array"))
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."binary" or (buildDepError "binary"))
|
||||
(hsPkgs."bytestring" or (buildDepError "bytestring"))
|
||||
(hsPkgs."containers" or (buildDepError "containers"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
(hsPkgs."filepath" or (buildDepError "filepath"))
|
||||
(hsPkgs."ghc-boot" or (buildDepError "ghc-boot"))
|
||||
(hsPkgs."ghc-boot-th" or (buildDepError "ghc-boot-th"))
|
||||
(hsPkgs."ghc-heap" or (buildDepError "ghc-heap"))
|
||||
(hsPkgs."template-haskell" or (buildDepError "template-haskell"))
|
||||
(hsPkgs."transformers" or (buildDepError "transformers"))
|
||||
] ++ (pkgs.lib).optional (!system.isWindows) (hsPkgs."unix" or (buildDepError "unix"));
|
||||
buildable = true;
|
||||
modules = [
|
||||
"GHCi/BreakArray"
|
||||
"GHCi/BinaryArray"
|
||||
"GHCi/Message"
|
||||
"GHCi/ResolvedBCO"
|
||||
"GHCi/RemoteTypes"
|
||||
"GHCi/FFI"
|
||||
"GHCi/InfoTable"
|
||||
"GHCi/StaticPtrTable"
|
||||
"GHCi/TH/Binary"
|
||||
"SizedSeq"
|
||||
] ++ (pkgs.lib).optionals (flags.ghci) [
|
||||
"GHCi/Run"
|
||||
"GHCi/CreateBCO"
|
||||
"GHCi/ObjLink"
|
||||
"GHCi/Signals"
|
||||
"GHCi/TH"
|
||||
];
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ../libraries/ghci; }
|
@ -0,0 +1,86 @@
|
||||
let
|
||||
buildDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
sysDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
||||
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
pkgConfDepError = pkg:
|
||||
builtins.throw ''
|
||||
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
||||
|
||||
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
exeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The local executable components do not include the component: ${pkg} (executable dependency).
|
||||
'';
|
||||
legacyExeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
buildToolDepError = pkg:
|
||||
builtins.throw ''
|
||||
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
||||
|
||||
If this is a system dependency:
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
|
||||
If this is a Haskell dependency:
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
||||
{
|
||||
flags = {};
|
||||
package = {
|
||||
specVersion = "1.10";
|
||||
identifier = { name = "iserv-proxy"; version = "8.8.3"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "XXX";
|
||||
maintainer = "XXX";
|
||||
author = "XXX";
|
||||
homepage = "";
|
||||
url = "";
|
||||
synopsis = "iserv allows GHC to delegate Tempalte Haskell computations";
|
||||
description = "GHC can be provided with a path to the iserv binary with\n@-pgmi=/path/to/iserv-bin@, and will in combination with\n@-fexternal-interpreter@, compile Template Haskell though the\n@iserv-bin@ delegate. This is very similar to how ghcjs has been\ncompiling Template Haskell, by spawning a separate delegate (so\ncalled runner on the javascript vm) and evaluating the splices\nthere.\n\niserv can also be used in combination with cross compilation. For\nthis, the @iserv-proxy@ needs to be built on the host, targeting the\nhost (as it is running on the host). @cabal install -flibrary\n-fproxy@ will yield the proxy.\n\nUsing the cabal for the target @arch-platform-target-cabal install\n-flibrary@ will build the required library that contains the ffi\n@startSlave@ function, which needs to be invoked on the target\n(e.g. in an iOS application) to start the remote iserv slave.\n\ncalling the GHC cross compiler with @-fexternal-interpreter\n-pgmi=\$HOME/.cabal/bin/iserv-proxy -opti\\<ip address\\> -opti\\<port\\>@\nwill cause it to compile Template Haskell via the remote at \\<ip address\\>.\n\nThus to get cross compilation with Template Haskell follow the\nfollowing receipt:\n\n* compile the iserv library for your target\n\n> iserv \$ arch-platform-target-cabal install -flibrary\n\n* setup an application for your target that calls the\n* startSlave function. This could be either haskell or your\n* targets ffi capable language, if needed.\n\n> void startSlave(false /* verbose */, 5000 /* port */,\n> \"/path/to/storagelocation/on/target\");\n\n* build the iserv-proxy\n\n> iserv \$ cabal install -flibrary -fproxy\n* Start your iserv-slave app on your target running on say @10.0.0.1:5000@\n* compiler your sources with -fexternal-interpreter and the proxy\n\n> project \$ arch-platform-target-ghc ModuleContainingTH.hs \\\n> -fexternal-interpreter \\\n> -pgmi=\$HOME/.cabal/bin/iserv-proxy \\\n> -opti10.0.0.1 -opti5000\n\nShould something not work as expected, provide @-opti-v@ for verbose\nlogging of the @iserv-proxy@.";
|
||||
buildType = "Simple";
|
||||
isLocal = true;
|
||||
detailLevel = "FullDetails";
|
||||
licenseFiles = [];
|
||||
dataDir = "";
|
||||
dataFiles = [];
|
||||
extraSrcFiles = [];
|
||||
extraTmpFiles = [];
|
||||
extraDocFiles = [];
|
||||
};
|
||||
components = {
|
||||
exes = {
|
||||
"iserv-proxy" = {
|
||||
depends = [
|
||||
(hsPkgs."array" or (buildDepError "array"))
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."binary" or (buildDepError "binary"))
|
||||
(hsPkgs."bytestring" or (buildDepError "bytestring"))
|
||||
(hsPkgs."containers" or (buildDepError "containers"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
(hsPkgs."directory" or (buildDepError "directory"))
|
||||
(hsPkgs."network" or (buildDepError "network"))
|
||||
(hsPkgs."filepath" or (buildDepError "filepath"))
|
||||
(hsPkgs."ghci" or (buildDepError "ghci"))
|
||||
(hsPkgs."libiserv" or (buildDepError "libiserv"))
|
||||
];
|
||||
buildable = true;
|
||||
hsSourceDirs = [ "src" ];
|
||||
mainPath = [ "Main.hs" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ../utils/iserv-proxy; }
|
@ -0,0 +1,85 @@
|
||||
let
|
||||
buildDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
sysDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
||||
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
pkgConfDepError = pkg:
|
||||
builtins.throw ''
|
||||
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
||||
|
||||
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
exeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The local executable components do not include the component: ${pkg} (executable dependency).
|
||||
'';
|
||||
legacyExeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
buildToolDepError = pkg:
|
||||
builtins.throw ''
|
||||
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
||||
|
||||
If this is a system dependency:
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
|
||||
If this is a Haskell dependency:
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
||||
{
|
||||
flags = {};
|
||||
package = {
|
||||
specVersion = "1.10";
|
||||
identifier = { name = "iserv"; version = "8.8.3"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "XXX";
|
||||
maintainer = "XXX";
|
||||
author = "XXX";
|
||||
homepage = "";
|
||||
url = "";
|
||||
synopsis = "iserv allows GHC to delegate Template Haskell computations";
|
||||
description = "GHC can be provided with a path to the iserv binary with\n@-pgmi=/path/to/iserv-bin@, and will in combination with\n@-fexternal-interpreter@, compile Template Haskell though the\n@iserv-bin@ delegate. This is very similar to how ghcjs has been\ncompiling Template Haskell, by spawning a separate delegate (so\ncalled runner on the javascript vm) and evaluating the splices\nthere.\n\nTo use iserv with cross compilers, please see @libraries/libiserv@\nand @utils/iserv-proxy@.";
|
||||
buildType = "Simple";
|
||||
isLocal = true;
|
||||
detailLevel = "FullDetails";
|
||||
licenseFiles = [];
|
||||
dataDir = "";
|
||||
dataFiles = [];
|
||||
extraSrcFiles = [];
|
||||
extraTmpFiles = [];
|
||||
extraDocFiles = [];
|
||||
};
|
||||
components = {
|
||||
exes = {
|
||||
"iserv" = {
|
||||
depends = [
|
||||
(hsPkgs."array" or (buildDepError "array"))
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."binary" or (buildDepError "binary"))
|
||||
(hsPkgs."bytestring" or (buildDepError "bytestring"))
|
||||
(hsPkgs."containers" or (buildDepError "containers"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
(hsPkgs."ghci" or (buildDepError "ghci"))
|
||||
(hsPkgs."libiserv" or (buildDepError "libiserv"))
|
||||
] ++ (pkgs.lib).optional (!system.isWindows) (hsPkgs."unix" or (buildDepError "unix"));
|
||||
buildable = true;
|
||||
cSources = [ "cbits/iservmain.c" ];
|
||||
hsSourceDirs = [ "src" ];
|
||||
includeDirs = [ "." ];
|
||||
mainPath = [ "Main.hs" ] ++ [ "" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ../utils/iserv; }
|
@ -0,0 +1,89 @@
|
||||
let
|
||||
buildDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
sysDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
||||
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
pkgConfDepError = pkg:
|
||||
builtins.throw ''
|
||||
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
||||
|
||||
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
exeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The local executable components do not include the component: ${pkg} (executable dependency).
|
||||
'';
|
||||
legacyExeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
buildToolDepError = pkg:
|
||||
builtins.throw ''
|
||||
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
||||
|
||||
If this is a system dependency:
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
|
||||
If this is a Haskell dependency:
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
||||
{
|
||||
flags = { network = false; };
|
||||
package = {
|
||||
specVersion = "1.10";
|
||||
identifier = { name = "libiserv"; version = "8.8.3"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "XXX";
|
||||
maintainer = "XXX";
|
||||
author = "XXX";
|
||||
homepage = "";
|
||||
url = "";
|
||||
synopsis = "Provides shared functionality between iserv and iserv-proxy";
|
||||
description = "";
|
||||
buildType = "Simple";
|
||||
isLocal = true;
|
||||
detailLevel = "FullDetails";
|
||||
licenseFiles = [ "LICENSE" ];
|
||||
dataDir = "";
|
||||
dataFiles = [];
|
||||
extraSrcFiles = [];
|
||||
extraTmpFiles = [];
|
||||
extraDocFiles = [];
|
||||
};
|
||||
components = {
|
||||
"library" = {
|
||||
depends = ([
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."binary" or (buildDepError "binary"))
|
||||
(hsPkgs."bytestring" or (buildDepError "bytestring"))
|
||||
(hsPkgs."containers" or (buildDepError "containers"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
(hsPkgs."ghci" or (buildDepError "ghci"))
|
||||
] ++ (pkgs.lib).optionals (flags.network) [
|
||||
(hsPkgs."network" or (buildDepError "network"))
|
||||
(hsPkgs."directory" or (buildDepError "directory"))
|
||||
(hsPkgs."filepath" or (buildDepError "filepath"))
|
||||
]) ++ (pkgs.lib).optional (!system.isWindows) (hsPkgs."unix" or (buildDepError "unix"));
|
||||
buildable = true;
|
||||
modules = [
|
||||
"Lib"
|
||||
"GHCi/Utils"
|
||||
] ++ (pkgs.lib).optionals (flags.network) [
|
||||
"Remote/Message"
|
||||
"Remote/Slave"
|
||||
];
|
||||
hsSourceDirs = [ "src" ];
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ../libraries/libiserv; }
|
@ -0,0 +1,77 @@
|
||||
let
|
||||
buildDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
sysDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
||||
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
pkgConfDepError = pkg:
|
||||
builtins.throw ''
|
||||
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
||||
|
||||
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
exeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The local executable components do not include the component: ${pkg} (executable dependency).
|
||||
'';
|
||||
legacyExeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
buildToolDepError = pkg:
|
||||
builtins.throw ''
|
||||
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
||||
|
||||
If this is a system dependency:
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
|
||||
If this is a Haskell dependency:
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
||||
{
|
||||
flags = {};
|
||||
package = {
|
||||
specVersion = "1.10";
|
||||
identifier = { name = "remote-iserv"; version = "8.8.3"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "XXX";
|
||||
maintainer = "Moritz Angermann <moritz.angermann@gmail.com>";
|
||||
author = "Moritz Angermann <moritz.angermann@gmail.com>";
|
||||
homepage = "";
|
||||
url = "";
|
||||
synopsis = "iserv allows GHC to delegate Tempalte Haskell computations";
|
||||
description = "This is a very simple remote runner for iserv, to be used together\nwith iserv-proxy. The foundamental idea is that this this wrapper\nstarts running libiserv on a given port to which iserv-proxy will\nthen connect.";
|
||||
buildType = "Simple";
|
||||
isLocal = true;
|
||||
detailLevel = "FullDetails";
|
||||
licenseFiles = [];
|
||||
dataDir = "";
|
||||
dataFiles = [];
|
||||
extraSrcFiles = [];
|
||||
extraTmpFiles = [];
|
||||
extraDocFiles = [];
|
||||
};
|
||||
components = {
|
||||
exes = {
|
||||
"remote-iserv" = {
|
||||
depends = [
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."libiserv" or (buildDepError "libiserv"))
|
||||
];
|
||||
buildable = true;
|
||||
hsSourceDirs = [ "src" ];
|
||||
mainPath = [ "Cli.hs" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ../utils/remote-iserv; }
|
94
materialized/ghc-extra-projects/cross/ghc883/default.nix
Normal file
94
materialized/ghc-extra-projects/cross/ghc883/default.nix
Normal file
@ -0,0 +1,94 @@
|
||||
{
|
||||
pkgs = hackage:
|
||||
{
|
||||
packages = {
|
||||
"binary".revision = (((hackage."binary")."0.8.8.0").revisions).default;
|
||||
"ghc-prim".revision = (((hackage."ghc-prim")."0.5.3").revisions).default;
|
||||
"unix".revision = (((hackage."unix")."2.7.2.2").revisions).default;
|
||||
"ghc-heap".revision = (((hackage."ghc-heap")."8.8.3").revisions).default;
|
||||
"mtl".revision = (((hackage."mtl")."2.2.2").revisions).default;
|
||||
"rts".revision = (((hackage."rts")."1.0").revisions).default;
|
||||
"alex".revision = (((hackage."alex")."3.2.5").revisions).default;
|
||||
"alex".flags.small_base = true;
|
||||
"deepseq".revision = (((hackage."deepseq")."1.4.4.0").revisions).default;
|
||||
"network".revision = (((hackage."network")."2.8.0.1").revisions).default;
|
||||
"directory".revision = (((hackage."directory")."1.3.6.1").revisions).default;
|
||||
"template-haskell".revision = (((hackage."template-haskell")."2.15.0.0").revisions).default;
|
||||
"containers".revision = (((hackage."containers")."0.6.2.1").revisions).default;
|
||||
"base".revision = (((hackage."base")."4.13.0.0").revisions).default;
|
||||
"time".revision = (((hackage."time")."1.9.3").revisions).default;
|
||||
"terminfo".revision = (((hackage."terminfo")."0.4.1.4").revisions).default;
|
||||
"transformers".revision = (((hackage."transformers")."0.5.6.2").revisions).default;
|
||||
"happy".revision = (((hackage."happy")."1.19.12").revisions).default;
|
||||
"happy".flags.small_base = true;
|
||||
"hpc".revision = (((hackage."hpc")."0.6.0.3").revisions).default;
|
||||
"filepath".revision = (((hackage."filepath")."1.4.2.1").revisions).default;
|
||||
"process".revision = (((hackage."process")."1.6.8.2").revisions).default;
|
||||
"pretty".revision = (((hackage."pretty")."1.1.3.6").revisions).default;
|
||||
"ghc-boot-th".revision = (((hackage."ghc-boot-th")."8.8.3").revisions).default;
|
||||
"array".revision = (((hackage."array")."0.5.4.0").revisions).default;
|
||||
"integer-gmp".revision = (((hackage."integer-gmp")."1.0.2.0").revisions).default;
|
||||
};
|
||||
compiler = {
|
||||
version = "8.8.3";
|
||||
nix-name = "ghc883";
|
||||
packages = {
|
||||
"ghc-prim" = "0.5.3";
|
||||
"ghc-heap" = "8.8.3";
|
||||
"mtl" = "2.2.2";
|
||||
"rts" = "1.0";
|
||||
"deepseq" = "1.4.4.0";
|
||||
"template-haskell" = "2.15.0.0";
|
||||
"containers" = "0.6.2.1";
|
||||
"base" = "4.13.0.0";
|
||||
"time" = "1.9.3";
|
||||
"transformers" = "0.5.6.2";
|
||||
"filepath" = "1.4.2.1";
|
||||
"pretty" = "1.1.3.6";
|
||||
"ghc-boot-th" = "8.8.3";
|
||||
"array" = "0.5.4.0";
|
||||
"integer-gmp" = "1.0.2.0";
|
||||
};
|
||||
};
|
||||
};
|
||||
extras = hackage:
|
||||
{
|
||||
packages = {
|
||||
ghc = ./.plan.nix/ghc.nix;
|
||||
bytestring = ./.plan.nix/bytestring.nix;
|
||||
remote-iserv = ./.plan.nix/remote-iserv.nix;
|
||||
iserv-proxy = ./.plan.nix/iserv-proxy.nix;
|
||||
libiserv = ./.plan.nix/libiserv.nix;
|
||||
ghc-boot = ./.plan.nix/ghc-boot.nix;
|
||||
ghci = ./.plan.nix/ghci.nix;
|
||||
iserv = ./.plan.nix/iserv.nix;
|
||||
};
|
||||
};
|
||||
modules = [
|
||||
({ lib, ... }:
|
||||
{
|
||||
packages = {
|
||||
"ghc" = {
|
||||
flags = {
|
||||
"stage1" = lib.mkOverride 900 false;
|
||||
"stage2" = lib.mkOverride 900 true;
|
||||
"integer-gmp" = lib.mkOverride 900 false;
|
||||
"stage3" = lib.mkOverride 900 false;
|
||||
"ghci" = lib.mkOverride 900 true;
|
||||
"integer-simple" = lib.mkOverride 900 false;
|
||||
"terminfo" = lib.mkOverride 900 true;
|
||||
};
|
||||
};
|
||||
"bytestring" = {
|
||||
flags = { "integer-simple" = lib.mkOverride 900 false; };
|
||||
};
|
||||
"remote-iserv" = { flags = {}; };
|
||||
"iserv-proxy" = { flags = {}; };
|
||||
"libiserv" = { flags = { "network" = lib.mkOverride 900 true; }; };
|
||||
"ghc-boot" = { flags = {}; };
|
||||
"ghci" = { flags = { "ghci" = lib.mkOverride 900 true; }; };
|
||||
"iserv" = { flags = {}; };
|
||||
};
|
||||
})
|
||||
];
|
||||
}
|
@ -0,0 +1,167 @@
|
||||
let
|
||||
buildDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
sysDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
||||
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
pkgConfDepError = pkg:
|
||||
builtins.throw ''
|
||||
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
||||
|
||||
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
exeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The local executable components do not include the component: ${pkg} (executable dependency).
|
||||
'';
|
||||
legacyExeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
buildToolDepError = pkg:
|
||||
builtins.throw ''
|
||||
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
||||
|
||||
If this is a system dependency:
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
|
||||
If this is a Haskell dependency:
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
||||
{
|
||||
flags = { integer-simple = false; };
|
||||
package = {
|
||||
specVersion = "1.10";
|
||||
identifier = { name = "bytestring"; version = "0.10.8.2"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "Copyright (c) Don Stewart 2005-2009,\n(c) Duncan Coutts 2006-2015,\n(c) David Roundy 2003-2005,\n(c) Jasper Van der Jeugt 2010,\n(c) Simon Meier 2010-2013.";
|
||||
maintainer = "Duncan Coutts <duncan@community.haskell.org>";
|
||||
author = "Don Stewart,\nDuncan Coutts";
|
||||
homepage = "https://github.com/haskell/bytestring";
|
||||
url = "";
|
||||
synopsis = "Fast, compact, strict and lazy byte strings with a list interface";
|
||||
description = "An efficient compact, immutable byte string type (both strict and lazy)\nsuitable for binary or 8-bit character data.\n\nThe 'ByteString' type represents sequences of bytes or 8-bit characters.\nIt is suitable for high performance use, both in terms of large data\nquantities, or high speed requirements. The 'ByteString' functions follow\nthe same style as Haskell\\'s ordinary lists, so it is easy to convert code\nfrom using 'String' to 'ByteString'.\n\nTwo 'ByteString' variants are provided:\n\n* Strict 'ByteString's keep the string as a single large array. This\nmakes them convenient for passing data between C and Haskell.\n\n* Lazy 'ByteString's use a lazy list of strict chunks which makes it\nsuitable for I\\/O streaming tasks.\n\nThe @Char8@ modules provide a character-based view of the same\nunderlying 'ByteString' types. This makes it convenient to handle mixed\nbinary and 8-bit character content (which is common in many file formats\nand network protocols).\n\nThe 'Builder' module provides an efficient way to build up 'ByteString's\nin an ad-hoc way by repeated concatenation. This is ideal for fast\nserialisation or pretty printing.\n\nThere is also a 'ShortByteString' type which has a lower memory overhead\nand can can be converted to or from a 'ByteString', but supports very few\nother operations. It is suitable for keeping many short strings in memory.\n\n'ByteString's are not designed for Unicode. For Unicode strings you should\nuse the 'Text' type from the @text@ package.\n\nThese modules are intended to be imported qualified, to avoid name clashes\nwith \"Prelude\" functions, e.g.\n\n> import qualified Data.ByteString as BS";
|
||||
buildType = "Simple";
|
||||
isLocal = true;
|
||||
detailLevel = "FullDetails";
|
||||
licenseFiles = [ "LICENSE" ];
|
||||
dataDir = "";
|
||||
dataFiles = [];
|
||||
extraSrcFiles = [ "README.md" "Changelog.md" ];
|
||||
extraTmpFiles = [];
|
||||
extraDocFiles = [];
|
||||
};
|
||||
components = {
|
||||
"library" = {
|
||||
depends = ([
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."ghc-prim" or (buildDepError "ghc-prim"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
] ++ (pkgs.lib).optionals (compiler.isGhc && (compiler.version).ge "6.11") ((pkgs.lib).optional (!flags.integer-simple) (hsPkgs."integer-gmp" or (buildDepError "integer-gmp")))) ++ (pkgs.lib).optional (compiler.isGhc && (compiler.version).ge "6.9" && (compiler.isGhc && (compiler.version).lt "6.11")) (hsPkgs."integer" or (buildDepError "integer"));
|
||||
buildable = true;
|
||||
modules = [
|
||||
"Data/ByteString/Builder/ASCII"
|
||||
"Data/ByteString/Builder/Prim/Binary"
|
||||
"Data/ByteString/Builder/Prim/ASCII"
|
||||
"Data/ByteString/Builder/Prim/Internal/Floating"
|
||||
"Data/ByteString/Builder/Prim/Internal/UncheckedShifts"
|
||||
"Data/ByteString/Builder/Prim/Internal/Base16"
|
||||
"Data/ByteString"
|
||||
"Data/ByteString/Char8"
|
||||
"Data/ByteString/Unsafe"
|
||||
"Data/ByteString/Internal"
|
||||
"Data/ByteString/Lazy"
|
||||
"Data/ByteString/Lazy/Char8"
|
||||
"Data/ByteString/Lazy/Internal"
|
||||
"Data/ByteString/Short"
|
||||
"Data/ByteString/Short/Internal"
|
||||
"Data/ByteString/Builder"
|
||||
"Data/ByteString/Builder/Extra"
|
||||
"Data/ByteString/Builder/Prim"
|
||||
"Data/ByteString/Builder/Internal"
|
||||
"Data/ByteString/Builder/Prim/Internal"
|
||||
"Data/ByteString/Lazy/Builder"
|
||||
"Data/ByteString/Lazy/Builder/Extras"
|
||||
"Data/ByteString/Lazy/Builder/ASCII"
|
||||
];
|
||||
cSources = [ "cbits/fpstring.c" "cbits/itoa.c" ];
|
||||
includeDirs = [ "include" ];
|
||||
includes = [ "fpstring.h" ];
|
||||
};
|
||||
tests = {
|
||||
"prop-compiled" = {
|
||||
depends = [
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."ghc-prim" or (buildDepError "ghc-prim"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
(hsPkgs."random" or (buildDepError "random"))
|
||||
(hsPkgs."directory" or (buildDepError "directory"))
|
||||
(hsPkgs."test-framework" or (buildDepError "test-framework"))
|
||||
(hsPkgs."test-framework-quickcheck2" or (buildDepError "test-framework-quickcheck2"))
|
||||
(hsPkgs."QuickCheck" or (buildDepError "QuickCheck"))
|
||||
];
|
||||
buildable = true;
|
||||
modules = [ "Rules" "QuickCheckUtils" "TestFramework" ];
|
||||
cSources = [ "cbits/fpstring.c" ];
|
||||
hsSourceDirs = [ "." "tests" ];
|
||||
includeDirs = [ "include" ];
|
||||
mainPath = [ "Properties.hs" ];
|
||||
};
|
||||
"regressions" = {
|
||||
depends = [
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."ghc-prim" or (buildDepError "ghc-prim"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
(hsPkgs."random" or (buildDepError "random"))
|
||||
(hsPkgs."directory" or (buildDepError "directory"))
|
||||
(hsPkgs."test-framework" or (buildDepError "test-framework"))
|
||||
(hsPkgs."test-framework-hunit" or (buildDepError "test-framework-hunit"))
|
||||
(hsPkgs."HUnit" or (buildDepError "HUnit"))
|
||||
];
|
||||
buildable = false;
|
||||
cSources = [ "cbits/fpstring.c" ];
|
||||
hsSourceDirs = [ "." "tests" ];
|
||||
includeDirs = [ "include" ];
|
||||
mainPath = [ "Regressions.hs" ];
|
||||
};
|
||||
"test-builder" = {
|
||||
depends = [
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."ghc-prim" or (buildDepError "ghc-prim"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
(hsPkgs."QuickCheck" or (buildDepError "QuickCheck"))
|
||||
(hsPkgs."byteorder" or (buildDepError "byteorder"))
|
||||
(hsPkgs."dlist" or (buildDepError "dlist"))
|
||||
(hsPkgs."directory" or (buildDepError "directory"))
|
||||
(hsPkgs."mtl" or (buildDepError "mtl"))
|
||||
(hsPkgs."HUnit" or (buildDepError "HUnit"))
|
||||
(hsPkgs."test-framework" or (buildDepError "test-framework"))
|
||||
(hsPkgs."test-framework-hunit" or (buildDepError "test-framework-hunit"))
|
||||
(hsPkgs."test-framework-quickcheck2" or (buildDepError "test-framework-quickcheck2"))
|
||||
];
|
||||
buildable = true;
|
||||
modules = [
|
||||
"Data/ByteString/Builder/Tests"
|
||||
"Data/ByteString/Builder/Prim/Tests"
|
||||
"Data/ByteString/Builder/Prim/TestUtils"
|
||||
"TestFramework"
|
||||
];
|
||||
cSources = [ "cbits/fpstring.c" "cbits/itoa.c" ];
|
||||
hsSourceDirs = [ "." "tests" "tests/builder" ];
|
||||
includeDirs = [ "include" ];
|
||||
includes = [ "fpstring.h" ];
|
||||
mainPath = [ "TestSuite.hs" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ../libraries/bytestring; }
|
@ -0,0 +1,84 @@
|
||||
let
|
||||
buildDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
sysDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
||||
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
pkgConfDepError = pkg:
|
||||
builtins.throw ''
|
||||
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
||||
|
||||
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
exeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The local executable components do not include the component: ${pkg} (executable dependency).
|
||||
'';
|
||||
legacyExeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
buildToolDepError = pkg:
|
||||
builtins.throw ''
|
||||
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
||||
|
||||
If this is a system dependency:
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
|
||||
If this is a Haskell dependency:
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
||||
{
|
||||
flags = {};
|
||||
package = {
|
||||
specVersion = "1.22";
|
||||
identifier = { name = "ghc-boot"; version = "8.6.5"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "";
|
||||
maintainer = "ghc-devs@haskell.org";
|
||||
author = "";
|
||||
homepage = "";
|
||||
url = "";
|
||||
synopsis = "Shared functionality between GHC and its boot libraries";
|
||||
description = "This library is shared between GHC, ghc-pkg, and other boot\nlibraries.\n\nA note about \"GHC.PackageDb\": it only deals with the subset of\nthe package database that the compiler cares about: modules\npaths etc and not package metadata like description, authors\netc. It is thus not a library interface to ghc-pkg and is *not*\nsuitable for modifying GHC package databases.\n\nThe package database format and this library are constructed in\nsuch a way that while ghc-pkg depends on Cabal, the GHC library\nand program do not have to depend on Cabal.";
|
||||
buildType = "Simple";
|
||||
isLocal = true;
|
||||
detailLevel = "FullDetails";
|
||||
licenseFiles = [ "LICENSE" ];
|
||||
dataDir = "";
|
||||
dataFiles = [];
|
||||
extraSrcFiles = [ "changelog.md" ];
|
||||
extraTmpFiles = [];
|
||||
extraDocFiles = [];
|
||||
};
|
||||
components = {
|
||||
"library" = {
|
||||
depends = [
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."binary" or (buildDepError "binary"))
|
||||
(hsPkgs."bytestring" or (buildDepError "bytestring"))
|
||||
(hsPkgs."directory" or (buildDepError "directory"))
|
||||
(hsPkgs."filepath" or (buildDepError "filepath"))
|
||||
(hsPkgs."ghc-boot-th" or (buildDepError "ghc-boot-th"))
|
||||
];
|
||||
buildable = true;
|
||||
modules = [
|
||||
"GHC/LanguageExtensions"
|
||||
"GHC/PackageDb"
|
||||
"GHC/Serialized"
|
||||
"GHC/ForeignSrcLang"
|
||||
"GHC/HandleEncoding"
|
||||
];
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ../libraries/ghc-boot; }
|
590
materialized/ghc-extra-projects/default/ghc865/.plan.nix/ghc.nix
Normal file
590
materialized/ghc-extra-projects/default/ghc865/.plan.nix/ghc.nix
Normal file
@ -0,0 +1,590 @@
|
||||
let
|
||||
buildDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
sysDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
||||
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
pkgConfDepError = pkg:
|
||||
builtins.throw ''
|
||||
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
||||
|
||||
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
exeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The local executable components do not include the component: ${pkg} (executable dependency).
|
||||
'';
|
||||
legacyExeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
buildToolDepError = pkg:
|
||||
builtins.throw ''
|
||||
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
||||
|
||||
If this is a system dependency:
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
|
||||
If this is a Haskell dependency:
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
||||
{
|
||||
flags = {
|
||||
ghci = false;
|
||||
terminfo = true;
|
||||
stage1 = false;
|
||||
stage2 = true;
|
||||
stage3 = false;
|
||||
};
|
||||
package = {
|
||||
specVersion = "1.10";
|
||||
identifier = { name = "ghc"; version = "8.6.5"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "";
|
||||
maintainer = "glasgow-haskell-users@haskell.org";
|
||||
author = "The GHC Team";
|
||||
homepage = "http://www.haskell.org/ghc/";
|
||||
url = "";
|
||||
synopsis = "The GHC API";
|
||||
description = "GHC's functionality can be useful for more things than just\ncompiling Haskell programs. Important use cases are programs\nthat analyse (and perhaps transform) Haskell code. Others\ninclude loading Haskell code dynamically in a GHCi-like manner.\nFor this reason, a lot of GHC's functionality is made available\nthrough this package.";
|
||||
buildType = "Simple";
|
||||
isLocal = true;
|
||||
detailLevel = "FullDetails";
|
||||
licenseFiles = [ "LICENSE" ];
|
||||
dataDir = "";
|
||||
dataFiles = [];
|
||||
extraSrcFiles = [
|
||||
"utils/md5.h"
|
||||
"Unique.h"
|
||||
"nativeGen/NCG.h"
|
||||
"parser/cutils.h"
|
||||
];
|
||||
extraTmpFiles = [];
|
||||
extraDocFiles = [];
|
||||
};
|
||||
components = {
|
||||
"library" = {
|
||||
depends = [
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
(hsPkgs."directory" or (buildDepError "directory"))
|
||||
(hsPkgs."process" or (buildDepError "process"))
|
||||
(hsPkgs."bytestring" or (buildDepError "bytestring"))
|
||||
(hsPkgs."binary" or (buildDepError "binary"))
|
||||
(hsPkgs."time" or (buildDepError "time"))
|
||||
(hsPkgs."containers" or (buildDepError "containers"))
|
||||
(hsPkgs."array" or (buildDepError "array"))
|
||||
(hsPkgs."filepath" or (buildDepError "filepath"))
|
||||
(hsPkgs."template-haskell" or (buildDepError "template-haskell"))
|
||||
(hsPkgs."hpc" or (buildDepError "hpc"))
|
||||
(hsPkgs."transformers" or (buildDepError "transformers"))
|
||||
(hsPkgs."ghc-boot" or (buildDepError "ghc-boot"))
|
||||
(hsPkgs."ghc-boot-th" or (buildDepError "ghc-boot-th"))
|
||||
(hsPkgs."ghc-heap" or (buildDepError "ghc-heap"))
|
||||
(hsPkgs."ghci" or (buildDepError "ghci"))
|
||||
] ++ (if system.isWindows
|
||||
then [ (hsPkgs."Win32" or (buildDepError "Win32")) ]
|
||||
else [
|
||||
(hsPkgs."unix" or (buildDepError "unix"))
|
||||
] ++ (pkgs.lib).optional (flags.terminfo) (hsPkgs."terminfo" or (buildDepError "terminfo")));
|
||||
build-tools = [
|
||||
(hsPkgs.buildPackages.alex or (pkgs.buildPackages.alex or (buildToolDepError "alex")))
|
||||
(hsPkgs.buildPackages.happy or (pkgs.buildPackages.happy or (buildToolDepError "happy")))
|
||||
];
|
||||
buildable = true;
|
||||
modules = [
|
||||
"GhcPrelude"
|
||||
"Ar"
|
||||
"FileCleanup"
|
||||
"DriverBkp"
|
||||
"BkpSyn"
|
||||
"NameShape"
|
||||
"RnModIface"
|
||||
"Avail"
|
||||
"AsmUtils"
|
||||
"BasicTypes"
|
||||
"ConLike"
|
||||
"DataCon"
|
||||
"PatSyn"
|
||||
"Demand"
|
||||
"Debug"
|
||||
"Exception"
|
||||
"FieldLabel"
|
||||
"GhcMonad"
|
||||
"Hooks"
|
||||
"Id"
|
||||
"IdInfo"
|
||||
"Lexeme"
|
||||
"Literal"
|
||||
"Llvm"
|
||||
"Llvm/AbsSyn"
|
||||
"Llvm/MetaData"
|
||||
"Llvm/PpLlvm"
|
||||
"Llvm/Types"
|
||||
"LlvmCodeGen"
|
||||
"LlvmCodeGen/Base"
|
||||
"LlvmCodeGen/CodeGen"
|
||||
"LlvmCodeGen/Data"
|
||||
"LlvmCodeGen/Ppr"
|
||||
"LlvmCodeGen/Regs"
|
||||
"LlvmMangler"
|
||||
"MkId"
|
||||
"Module"
|
||||
"Name"
|
||||
"NameEnv"
|
||||
"NameSet"
|
||||
"OccName"
|
||||
"RdrName"
|
||||
"NameCache"
|
||||
"SrcLoc"
|
||||
"UniqSupply"
|
||||
"Unique"
|
||||
"Var"
|
||||
"VarEnv"
|
||||
"VarSet"
|
||||
"UnVarGraph"
|
||||
"BlockId"
|
||||
"CLabel"
|
||||
"Cmm"
|
||||
"CmmBuildInfoTables"
|
||||
"CmmPipeline"
|
||||
"CmmCallConv"
|
||||
"CmmCommonBlockElim"
|
||||
"CmmImplementSwitchPlans"
|
||||
"CmmContFlowOpt"
|
||||
"CmmExpr"
|
||||
"CmmInfo"
|
||||
"CmmLex"
|
||||
"CmmLint"
|
||||
"CmmLive"
|
||||
"CmmMachOp"
|
||||
"CmmMonad"
|
||||
"CmmSwitch"
|
||||
"CmmNode"
|
||||
"CmmOpt"
|
||||
"CmmParse"
|
||||
"CmmProcPoint"
|
||||
"CmmSink"
|
||||
"CmmType"
|
||||
"CmmUtils"
|
||||
"CmmLayoutStack"
|
||||
"EnumSet"
|
||||
"MkGraph"
|
||||
"PprBase"
|
||||
"PprC"
|
||||
"PprCmm"
|
||||
"PprCmmDecl"
|
||||
"PprCmmExpr"
|
||||
"Bitmap"
|
||||
"CodeGen/Platform"
|
||||
"CodeGen/Platform/ARM"
|
||||
"CodeGen/Platform/ARM64"
|
||||
"CodeGen/Platform/NoRegs"
|
||||
"CodeGen/Platform/PPC"
|
||||
"CodeGen/Platform/PPC_Darwin"
|
||||
"CodeGen/Platform/SPARC"
|
||||
"CodeGen/Platform/X86"
|
||||
"CodeGen/Platform/X86_64"
|
||||
"CgUtils"
|
||||
"StgCmm"
|
||||
"StgCmmBind"
|
||||
"StgCmmClosure"
|
||||
"StgCmmCon"
|
||||
"StgCmmEnv"
|
||||
"StgCmmExpr"
|
||||
"StgCmmForeign"
|
||||
"StgCmmHeap"
|
||||
"StgCmmHpc"
|
||||
"StgCmmArgRep"
|
||||
"StgCmmLayout"
|
||||
"StgCmmMonad"
|
||||
"StgCmmPrim"
|
||||
"StgCmmProf"
|
||||
"StgCmmTicky"
|
||||
"StgCmmUtils"
|
||||
"StgCmmExtCode"
|
||||
"SMRep"
|
||||
"CoreArity"
|
||||
"CoreFVs"
|
||||
"CoreLint"
|
||||
"CorePrep"
|
||||
"CoreSubst"
|
||||
"CoreOpt"
|
||||
"CoreSyn"
|
||||
"TrieMap"
|
||||
"CoreTidy"
|
||||
"CoreUnfold"
|
||||
"CoreUtils"
|
||||
"CoreMap"
|
||||
"CoreSeq"
|
||||
"CoreStats"
|
||||
"MkCore"
|
||||
"PprCore"
|
||||
"PmExpr"
|
||||
"TmOracle"
|
||||
"Check"
|
||||
"Coverage"
|
||||
"Desugar"
|
||||
"DsArrows"
|
||||
"DsBinds"
|
||||
"DsCCall"
|
||||
"DsExpr"
|
||||
"DsForeign"
|
||||
"DsGRHSs"
|
||||
"DsListComp"
|
||||
"DsMonad"
|
||||
"DsUsage"
|
||||
"DsUtils"
|
||||
"ExtractDocs"
|
||||
"Match"
|
||||
"MatchCon"
|
||||
"MatchLit"
|
||||
"HsBinds"
|
||||
"HsDecls"
|
||||
"HsDoc"
|
||||
"HsExpr"
|
||||
"HsImpExp"
|
||||
"HsLit"
|
||||
"PlaceHolder"
|
||||
"HsExtension"
|
||||
"HsInstances"
|
||||
"HsPat"
|
||||
"HsSyn"
|
||||
"HsTypes"
|
||||
"HsUtils"
|
||||
"HsDumpAst"
|
||||
"BinIface"
|
||||
"BinFingerprint"
|
||||
"BuildTyCl"
|
||||
"IfaceEnv"
|
||||
"IfaceSyn"
|
||||
"IfaceType"
|
||||
"ToIface"
|
||||
"LoadIface"
|
||||
"MkIface"
|
||||
"TcIface"
|
||||
"FlagChecker"
|
||||
"Annotations"
|
||||
"CmdLineParser"
|
||||
"CodeOutput"
|
||||
"Config"
|
||||
"Constants"
|
||||
"DriverMkDepend"
|
||||
"DriverPhases"
|
||||
"PipelineMonad"
|
||||
"DriverPipeline"
|
||||
"DynFlags"
|
||||
"ErrUtils"
|
||||
"Finder"
|
||||
"GHC"
|
||||
"GhcMake"
|
||||
"GhcPlugins"
|
||||
"DynamicLoading"
|
||||
"HeaderInfo"
|
||||
"HscMain"
|
||||
"HscStats"
|
||||
"HscTypes"
|
||||
"InteractiveEval"
|
||||
"InteractiveEvalTypes"
|
||||
"PackageConfig"
|
||||
"Packages"
|
||||
"PlatformConstants"
|
||||
"Plugins"
|
||||
"TcPluginM"
|
||||
"PprTyThing"
|
||||
"StaticPtrTable"
|
||||
"SysTools"
|
||||
"SysTools/BaseDir"
|
||||
"SysTools/Terminal"
|
||||
"SysTools/ExtraObj"
|
||||
"SysTools/Info"
|
||||
"SysTools/Process"
|
||||
"SysTools/Tasks"
|
||||
"Elf"
|
||||
"TidyPgm"
|
||||
"Ctype"
|
||||
"HaddockUtils"
|
||||
"Lexer"
|
||||
"OptCoercion"
|
||||
"Parser"
|
||||
"RdrHsSyn"
|
||||
"ApiAnnotation"
|
||||
"ForeignCall"
|
||||
"KnownUniques"
|
||||
"PrelInfo"
|
||||
"PrelNames"
|
||||
"PrelRules"
|
||||
"PrimOp"
|
||||
"TysPrim"
|
||||
"TysWiredIn"
|
||||
"CostCentre"
|
||||
"CostCentreState"
|
||||
"ProfInit"
|
||||
"RnBinds"
|
||||
"RnEnv"
|
||||
"RnExpr"
|
||||
"RnHsDoc"
|
||||
"RnNames"
|
||||
"RnPat"
|
||||
"RnSource"
|
||||
"RnSplice"
|
||||
"RnTypes"
|
||||
"RnFixity"
|
||||
"RnUtils"
|
||||
"RnUnbound"
|
||||
"CoreMonad"
|
||||
"CSE"
|
||||
"FloatIn"
|
||||
"FloatOut"
|
||||
"LiberateCase"
|
||||
"OccurAnal"
|
||||
"SAT"
|
||||
"SetLevels"
|
||||
"SimplCore"
|
||||
"SimplEnv"
|
||||
"SimplMonad"
|
||||
"SimplUtils"
|
||||
"Simplify"
|
||||
"SimplStg"
|
||||
"StgStats"
|
||||
"StgCse"
|
||||
"UnariseStg"
|
||||
"RepType"
|
||||
"Rules"
|
||||
"SpecConstr"
|
||||
"Specialise"
|
||||
"CoreToStg"
|
||||
"StgLint"
|
||||
"StgSyn"
|
||||
"CallArity"
|
||||
"DmdAnal"
|
||||
"Exitify"
|
||||
"WorkWrap"
|
||||
"WwLib"
|
||||
"FamInst"
|
||||
"Inst"
|
||||
"TcAnnotations"
|
||||
"TcArrows"
|
||||
"TcBinds"
|
||||
"TcSigs"
|
||||
"TcClassDcl"
|
||||
"TcDefaults"
|
||||
"TcDeriv"
|
||||
"TcDerivInfer"
|
||||
"TcDerivUtils"
|
||||
"TcEnv"
|
||||
"TcExpr"
|
||||
"TcForeign"
|
||||
"TcGenDeriv"
|
||||
"TcGenFunctor"
|
||||
"TcGenGenerics"
|
||||
"TcHsSyn"
|
||||
"TcHsType"
|
||||
"TcInstDcls"
|
||||
"TcMType"
|
||||
"TcValidity"
|
||||
"TcMatches"
|
||||
"TcPat"
|
||||
"TcPatSyn"
|
||||
"TcRnDriver"
|
||||
"TcBackpack"
|
||||
"TcRnExports"
|
||||
"TcRnMonad"
|
||||
"TcRnTypes"
|
||||
"TcRules"
|
||||
"TcSimplify"
|
||||
"TcHoleErrors"
|
||||
"TcErrors"
|
||||
"TcTyClsDecls"
|
||||
"TcTyDecls"
|
||||
"TcTypeable"
|
||||
"TcType"
|
||||
"TcEvidence"
|
||||
"TcEvTerm"
|
||||
"TcUnify"
|
||||
"TcInteract"
|
||||
"TcCanonical"
|
||||
"TcFlatten"
|
||||
"TcSMonad"
|
||||
"TcTypeNats"
|
||||
"TcSplice"
|
||||
"Class"
|
||||
"Coercion"
|
||||
"DsMeta"
|
||||
"THNames"
|
||||
"FamInstEnv"
|
||||
"FunDeps"
|
||||
"InstEnv"
|
||||
"TyCon"
|
||||
"CoAxiom"
|
||||
"Kind"
|
||||
"Type"
|
||||
"TyCoRep"
|
||||
"Unify"
|
||||
"Bag"
|
||||
"Binary"
|
||||
"BooleanFormula"
|
||||
"BufWrite"
|
||||
"Digraph"
|
||||
"Encoding"
|
||||
"FastFunctions"
|
||||
"FastMutInt"
|
||||
"FastString"
|
||||
"FastStringEnv"
|
||||
"Fingerprint"
|
||||
"FiniteMap"
|
||||
"FV"
|
||||
"GraphBase"
|
||||
"GraphColor"
|
||||
"GraphOps"
|
||||
"GraphPpr"
|
||||
"IOEnv"
|
||||
"Json"
|
||||
"ListSetOps"
|
||||
"ListT"
|
||||
"Maybes"
|
||||
"MonadUtils"
|
||||
"OrdList"
|
||||
"Outputable"
|
||||
"Pair"
|
||||
"Panic"
|
||||
"PprColour"
|
||||
"Pretty"
|
||||
"State"
|
||||
"Stream"
|
||||
"StringBuffer"
|
||||
"UniqDFM"
|
||||
"UniqDSet"
|
||||
"UniqFM"
|
||||
"UniqMap"
|
||||
"UniqSet"
|
||||
"Util"
|
||||
"Hoopl/Block"
|
||||
"Hoopl/Collections"
|
||||
"Hoopl/Dataflow"
|
||||
"Hoopl/Graph"
|
||||
"Hoopl/Label"
|
||||
"AsmCodeGen"
|
||||
"TargetReg"
|
||||
"NCGMonad"
|
||||
"Instruction"
|
||||
"Format"
|
||||
"Reg"
|
||||
"RegClass"
|
||||
"PIC"
|
||||
"Platform"
|
||||
"CPrim"
|
||||
"X86/Regs"
|
||||
"X86/RegInfo"
|
||||
"X86/Instr"
|
||||
"X86/Cond"
|
||||
"X86/Ppr"
|
||||
"X86/CodeGen"
|
||||
"PPC/Regs"
|
||||
"PPC/RegInfo"
|
||||
"PPC/Instr"
|
||||
"PPC/Cond"
|
||||
"PPC/Ppr"
|
||||
"PPC/CodeGen"
|
||||
"SPARC/Base"
|
||||
"SPARC/Regs"
|
||||
"SPARC/Imm"
|
||||
"SPARC/AddrMode"
|
||||
"SPARC/Cond"
|
||||
"SPARC/Instr"
|
||||
"SPARC/Stack"
|
||||
"SPARC/ShortcutJump"
|
||||
"SPARC/Ppr"
|
||||
"SPARC/CodeGen"
|
||||
"SPARC/CodeGen/Amode"
|
||||
"SPARC/CodeGen/Base"
|
||||
"SPARC/CodeGen/CondCode"
|
||||
"SPARC/CodeGen/Gen32"
|
||||
"SPARC/CodeGen/Gen64"
|
||||
"SPARC/CodeGen/Sanity"
|
||||
"SPARC/CodeGen/Expand"
|
||||
"RegAlloc/Liveness"
|
||||
"RegAlloc/Graph/Main"
|
||||
"RegAlloc/Graph/Stats"
|
||||
"RegAlloc/Graph/ArchBase"
|
||||
"RegAlloc/Graph/ArchX86"
|
||||
"RegAlloc/Graph/Coalesce"
|
||||
"RegAlloc/Graph/Spill"
|
||||
"RegAlloc/Graph/SpillClean"
|
||||
"RegAlloc/Graph/SpillCost"
|
||||
"RegAlloc/Graph/TrivColorable"
|
||||
"RegAlloc/Linear/Main"
|
||||
"RegAlloc/Linear/JoinToTargets"
|
||||
"RegAlloc/Linear/State"
|
||||
"RegAlloc/Linear/Stats"
|
||||
"RegAlloc/Linear/FreeRegs"
|
||||
"RegAlloc/Linear/StackMap"
|
||||
"RegAlloc/Linear/Base"
|
||||
"RegAlloc/Linear/X86/FreeRegs"
|
||||
"RegAlloc/Linear/X86_64/FreeRegs"
|
||||
"RegAlloc/Linear/PPC/FreeRegs"
|
||||
"RegAlloc/Linear/SPARC/FreeRegs"
|
||||
"Dwarf"
|
||||
"Dwarf/Types"
|
||||
"Dwarf/Constants"
|
||||
"Convert"
|
||||
"ByteCodeTypes"
|
||||
"ByteCodeAsm"
|
||||
"ByteCodeGen"
|
||||
"ByteCodeInstr"
|
||||
"ByteCodeItbls"
|
||||
"ByteCodeLink"
|
||||
"Debugger"
|
||||
"Linker"
|
||||
"RtClosureInspect"
|
||||
"GHCi"
|
||||
];
|
||||
cSources = [
|
||||
"parser/cutils.c"
|
||||
"ghci/keepCAFsForGHCi.c"
|
||||
"cbits/genSym.c"
|
||||
];
|
||||
hsSourceDirs = [
|
||||
"backpack"
|
||||
"basicTypes"
|
||||
"cmm"
|
||||
"codeGen"
|
||||
"coreSyn"
|
||||
"deSugar"
|
||||
"ghci"
|
||||
"hsSyn"
|
||||
"iface"
|
||||
"llvmGen"
|
||||
"main"
|
||||
"nativeGen"
|
||||
"parser"
|
||||
"prelude"
|
||||
"profiling"
|
||||
"rename"
|
||||
"simplCore"
|
||||
"simplStg"
|
||||
"specialise"
|
||||
"stgSyn"
|
||||
"stranal"
|
||||
"typecheck"
|
||||
"types"
|
||||
"utils"
|
||||
];
|
||||
includeDirs = [
|
||||
"."
|
||||
"parser"
|
||||
"utils"
|
||||
] ++ (pkgs.lib).optional (flags.ghci) "../rts/dist/build";
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ../compiler; }
|
@ -0,0 +1,101 @@
|
||||
let
|
||||
buildDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
sysDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
||||
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
pkgConfDepError = pkg:
|
||||
builtins.throw ''
|
||||
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
||||
|
||||
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
exeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The local executable components do not include the component: ${pkg} (executable dependency).
|
||||
'';
|
||||
legacyExeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
buildToolDepError = pkg:
|
||||
builtins.throw ''
|
||||
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
||||
|
||||
If this is a system dependency:
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
|
||||
If this is a Haskell dependency:
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
||||
{
|
||||
flags = { ghci = false; };
|
||||
package = {
|
||||
specVersion = "1.10";
|
||||
identifier = { name = "ghci"; version = "8.6.5"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "";
|
||||
maintainer = "ghc-devs@haskell.org";
|
||||
author = "";
|
||||
homepage = "";
|
||||
url = "";
|
||||
synopsis = "The library supporting GHC's interactive interpreter";
|
||||
description = "This library offers interfaces which mediate interactions between the\n@ghci@ interactive shell and @iserv@, GHC's out-of-process interpreter\nbackend.";
|
||||
buildType = "Simple";
|
||||
isLocal = true;
|
||||
detailLevel = "FullDetails";
|
||||
licenseFiles = [ "LICENSE" ];
|
||||
dataDir = "";
|
||||
dataFiles = [];
|
||||
extraSrcFiles = [ "changelog.md" ];
|
||||
extraTmpFiles = [];
|
||||
extraDocFiles = [];
|
||||
};
|
||||
components = {
|
||||
"library" = {
|
||||
depends = [
|
||||
(hsPkgs."array" or (buildDepError "array"))
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."binary" or (buildDepError "binary"))
|
||||
(hsPkgs."bytestring" or (buildDepError "bytestring"))
|
||||
(hsPkgs."containers" or (buildDepError "containers"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
(hsPkgs."filepath" or (buildDepError "filepath"))
|
||||
(hsPkgs."ghc-boot" or (buildDepError "ghc-boot"))
|
||||
(hsPkgs."ghc-boot-th" or (buildDepError "ghc-boot-th"))
|
||||
(hsPkgs."ghc-heap" or (buildDepError "ghc-heap"))
|
||||
(hsPkgs."template-haskell" or (buildDepError "template-haskell"))
|
||||
(hsPkgs."transformers" or (buildDepError "transformers"))
|
||||
] ++ (pkgs.lib).optional (!system.isWindows) (hsPkgs."unix" or (buildDepError "unix"));
|
||||
buildable = true;
|
||||
modules = [
|
||||
"GHCi/BreakArray"
|
||||
"GHCi/BinaryArray"
|
||||
"GHCi/Message"
|
||||
"GHCi/ResolvedBCO"
|
||||
"GHCi/RemoteTypes"
|
||||
"GHCi/FFI"
|
||||
"GHCi/InfoTable"
|
||||
"GHCi/StaticPtrTable"
|
||||
"GHCi/TH/Binary"
|
||||
"SizedSeq"
|
||||
] ++ (pkgs.lib).optionals (flags.ghci) [
|
||||
"GHCi/Run"
|
||||
"GHCi/CreateBCO"
|
||||
"GHCi/ObjLink"
|
||||
"GHCi/Signals"
|
||||
"GHCi/TH"
|
||||
];
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ../libraries/ghci; }
|
@ -0,0 +1,86 @@
|
||||
let
|
||||
buildDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
sysDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
||||
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
pkgConfDepError = pkg:
|
||||
builtins.throw ''
|
||||
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
||||
|
||||
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
exeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The local executable components do not include the component: ${pkg} (executable dependency).
|
||||
'';
|
||||
legacyExeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
buildToolDepError = pkg:
|
||||
builtins.throw ''
|
||||
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
||||
|
||||
If this is a system dependency:
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
|
||||
If this is a Haskell dependency:
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
||||
{
|
||||
flags = {};
|
||||
package = {
|
||||
specVersion = "1.10";
|
||||
identifier = { name = "iserv-proxy"; version = "8.6.5"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "XXX";
|
||||
maintainer = "XXX";
|
||||
author = "XXX";
|
||||
homepage = "";
|
||||
url = "";
|
||||
synopsis = "iserv allows GHC to delegate Tempalte Haskell computations";
|
||||
description = "GHC can be provided with a path to the iserv binary with\n@-pgmi=/path/to/iserv-bin@, and will in combination with\n@-fexternal-interpreter@, compile Template Haskell though the\n@iserv-bin@ delegate. This is very similar to how ghcjs has been\ncompiling Template Haskell, by spawning a separate delegate (so\ncalled runner on the javascript vm) and evaluating the splices\nthere.\n\niserv can also be used in combination with cross compilation. For\nthis, the @iserv-proxy@ needs to be built on the host, targeting the\nhost (as it is running on the host). @cabal install -flibrary\n-fproxy@ will yield the proxy.\n\nUsing the cabal for the target @arch-platform-target-cabal install\n-flibrary@ will build the required library that contains the ffi\n@startSlave@ function, which needs to be invoked on the target\n(e.g. in an iOS application) to start the remote iserv slave.\n\ncalling the GHC cross compiler with @-fexternal-interpreter\n-pgmi=\$HOME/.cabal/bin/iserv-proxy -opti\\<ip address\\> -opti\\<port\\>@\nwill cause it to compile Template Haskell via the remote at \\<ip address\\>.\n\nThus to get cross compilation with Template Haskell follow the\nfollowing receipt:\n\n* compile the iserv library for your target\n\n> iserv \$ arch-platform-target-cabal install -flibrary\n\n* setup an application for your target that calls the\n* startSlave function. This could be either haskell or your\n* targets ffi capable language, if needed.\n\n> void startSlave(false /* verbose */, 5000 /* port */,\n> \"/path/to/storagelocation/on/target\");\n\n* build the iserv-proxy\n\n> iserv \$ cabal install -flibrary -fproxy\n* Start your iserv-slave app on your target running on say @10.0.0.1:5000@\n* compiler your sources with -fexternal-interpreter and the proxy\n\n> project \$ arch-platform-target-ghc ModuleContainingTH.hs \\\n> -fexternal-interpreter \\\n> -pgmi=\$HOME/.cabal/bin/iserv-proxy \\\n> -opti10.0.0.1 -opti5000\n\nShould something not work as expected, provide @-opti-v@ for verbose\nlogging of the @iserv-proxy@.";
|
||||
buildType = "Simple";
|
||||
isLocal = true;
|
||||
detailLevel = "FullDetails";
|
||||
licenseFiles = [];
|
||||
dataDir = "";
|
||||
dataFiles = [];
|
||||
extraSrcFiles = [];
|
||||
extraTmpFiles = [];
|
||||
extraDocFiles = [];
|
||||
};
|
||||
components = {
|
||||
exes = {
|
||||
"iserv-proxy" = {
|
||||
depends = [
|
||||
(hsPkgs."array" or (buildDepError "array"))
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."binary" or (buildDepError "binary"))
|
||||
(hsPkgs."bytestring" or (buildDepError "bytestring"))
|
||||
(hsPkgs."containers" or (buildDepError "containers"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
(hsPkgs."directory" or (buildDepError "directory"))
|
||||
(hsPkgs."network" or (buildDepError "network"))
|
||||
(hsPkgs."filepath" or (buildDepError "filepath"))
|
||||
(hsPkgs."ghci" or (buildDepError "ghci"))
|
||||
(hsPkgs."libiserv" or (buildDepError "libiserv"))
|
||||
];
|
||||
buildable = true;
|
||||
hsSourceDirs = [ "src" ];
|
||||
mainPath = [ "Main.hs" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ../utils/iserv-proxy; }
|
@ -0,0 +1,85 @@
|
||||
let
|
||||
buildDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
sysDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
||||
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
pkgConfDepError = pkg:
|
||||
builtins.throw ''
|
||||
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
||||
|
||||
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
exeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The local executable components do not include the component: ${pkg} (executable dependency).
|
||||
'';
|
||||
legacyExeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
buildToolDepError = pkg:
|
||||
builtins.throw ''
|
||||
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
||||
|
||||
If this is a system dependency:
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
|
||||
If this is a Haskell dependency:
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
||||
{
|
||||
flags = {};
|
||||
package = {
|
||||
specVersion = "1.10";
|
||||
identifier = { name = "iserv"; version = "8.6.5"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "XXX";
|
||||
maintainer = "XXX";
|
||||
author = "XXX";
|
||||
homepage = "";
|
||||
url = "";
|
||||
synopsis = "iserv allows GHC to delegate Tempalte Haskell computations";
|
||||
description = "GHC can be provided with a path to the iserv binary with\n@-pgmi=/path/to/iserv-bin@, and will in combination with\n@-fexternal-interpreter@, compile Template Haskell though the\n@iserv-bin@ delegate. This is very similar to how ghcjs has been\ncompiling Template Haskell, by spawning a separate delegate (so\ncalled runner on the javascript vm) and evaluating the splices\nthere.\n\nTo use iserv with cross compilers, please see @libraries/libiserv@\nand @utils/iserv-proxy@.";
|
||||
buildType = "Simple";
|
||||
isLocal = true;
|
||||
detailLevel = "FullDetails";
|
||||
licenseFiles = [];
|
||||
dataDir = "";
|
||||
dataFiles = [];
|
||||
extraSrcFiles = [];
|
||||
extraTmpFiles = [];
|
||||
extraDocFiles = [];
|
||||
};
|
||||
components = {
|
||||
exes = {
|
||||
"iserv" = {
|
||||
depends = [
|
||||
(hsPkgs."array" or (buildDepError "array"))
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."binary" or (buildDepError "binary"))
|
||||
(hsPkgs."bytestring" or (buildDepError "bytestring"))
|
||||
(hsPkgs."containers" or (buildDepError "containers"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
(hsPkgs."ghci" or (buildDepError "ghci"))
|
||||
(hsPkgs."libiserv" or (buildDepError "libiserv"))
|
||||
] ++ (pkgs.lib).optional (!system.isWindows) (hsPkgs."unix" or (buildDepError "unix"));
|
||||
buildable = true;
|
||||
cSources = [ "cbits/iservmain.c" ];
|
||||
hsSourceDirs = [ "src" ];
|
||||
includeDirs = [ "." ];
|
||||
mainPath = [ "Main.hs" ] ++ [ "" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ../utils/iserv; }
|
@ -0,0 +1,89 @@
|
||||
let
|
||||
buildDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
sysDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
||||
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
pkgConfDepError = pkg:
|
||||
builtins.throw ''
|
||||
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
||||
|
||||
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
exeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The local executable components do not include the component: ${pkg} (executable dependency).
|
||||
'';
|
||||
legacyExeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
buildToolDepError = pkg:
|
||||
builtins.throw ''
|
||||
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
||||
|
||||
If this is a system dependency:
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
|
||||
If this is a Haskell dependency:
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
||||
{
|
||||
flags = { network = false; };
|
||||
package = {
|
||||
specVersion = "1.10";
|
||||
identifier = { name = "libiserv"; version = "8.6.5"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "XXX";
|
||||
maintainer = "XXX";
|
||||
author = "XXX";
|
||||
homepage = "";
|
||||
url = "";
|
||||
synopsis = "Provides shared functionality between iserv and iserv-proxy";
|
||||
description = "";
|
||||
buildType = "Simple";
|
||||
isLocal = true;
|
||||
detailLevel = "FullDetails";
|
||||
licenseFiles = [ "LICENSE" ];
|
||||
dataDir = "";
|
||||
dataFiles = [];
|
||||
extraSrcFiles = [];
|
||||
extraTmpFiles = [];
|
||||
extraDocFiles = [];
|
||||
};
|
||||
components = {
|
||||
"library" = {
|
||||
depends = ([
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."binary" or (buildDepError "binary"))
|
||||
(hsPkgs."bytestring" or (buildDepError "bytestring"))
|
||||
(hsPkgs."containers" or (buildDepError "containers"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
(hsPkgs."ghci" or (buildDepError "ghci"))
|
||||
] ++ (pkgs.lib).optionals (flags.network) [
|
||||
(hsPkgs."network" or (buildDepError "network"))
|
||||
(hsPkgs."directory" or (buildDepError "directory"))
|
||||
(hsPkgs."filepath" or (buildDepError "filepath"))
|
||||
]) ++ (pkgs.lib).optional (!system.isWindows) (hsPkgs."unix" or (buildDepError "unix"));
|
||||
buildable = true;
|
||||
modules = [
|
||||
"Lib"
|
||||
"GHCi/Utils"
|
||||
] ++ (pkgs.lib).optionals (flags.network) [
|
||||
"Remote/Message"
|
||||
"Remote/Slave"
|
||||
];
|
||||
hsSourceDirs = [ "src" ];
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ../libraries/libiserv; }
|
@ -0,0 +1,77 @@
|
||||
let
|
||||
buildDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
sysDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
||||
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
pkgConfDepError = pkg:
|
||||
builtins.throw ''
|
||||
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
||||
|
||||
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
exeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The local executable components do not include the component: ${pkg} (executable dependency).
|
||||
'';
|
||||
legacyExeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
buildToolDepError = pkg:
|
||||
builtins.throw ''
|
||||
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
||||
|
||||
If this is a system dependency:
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
|
||||
If this is a Haskell dependency:
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
||||
{
|
||||
flags = {};
|
||||
package = {
|
||||
specVersion = "1.10";
|
||||
identifier = { name = "remote-iserv"; version = "8.6.5"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "XXX";
|
||||
maintainer = "Moritz Angermann <moritz.angermann@gmail.com>";
|
||||
author = "Moritz Angermann <moritz.angermann@gmail.com>";
|
||||
homepage = "";
|
||||
url = "";
|
||||
synopsis = "iserv allows GHC to delegate Tempalte Haskell computations";
|
||||
description = "This is a very simple remote runner for iserv, to be used together\nwith iserv-proxy. The foundamental idea is that this this wrapper\nstarts running libiserv on a given port to which iserv-proxy will\nthen connect.";
|
||||
buildType = "Simple";
|
||||
isLocal = true;
|
||||
detailLevel = "FullDetails";
|
||||
licenseFiles = [];
|
||||
dataDir = "";
|
||||
dataFiles = [];
|
||||
extraSrcFiles = [];
|
||||
extraTmpFiles = [];
|
||||
extraDocFiles = [];
|
||||
};
|
||||
components = {
|
||||
exes = {
|
||||
"remote-iserv" = {
|
||||
depends = [
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."libiserv" or (buildDepError "libiserv"))
|
||||
];
|
||||
buildable = true;
|
||||
hsSourceDirs = [ "src" ];
|
||||
mainPath = [ "Cli.hs" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ../utils/remote-iserv; }
|
93
materialized/ghc-extra-projects/default/ghc865/default.nix
Normal file
93
materialized/ghc-extra-projects/default/ghc865/default.nix
Normal file
@ -0,0 +1,93 @@
|
||||
{
|
||||
pkgs = hackage:
|
||||
{
|
||||
packages = {
|
||||
"binary".revision = (((hackage."binary")."0.8.8.0").revisions).default;
|
||||
"ghc-prim".revision = (((hackage."ghc-prim")."0.5.3").revisions).default;
|
||||
"unix".revision = (((hackage."unix")."2.7.2.2").revisions).default;
|
||||
"ghc-heap".revision = (((hackage."ghc-heap")."8.6.5").revisions).default;
|
||||
"mtl".revision = (((hackage."mtl")."2.2.2").revisions).default;
|
||||
"rts".revision = (((hackage."rts")."1.0").revisions).default;
|
||||
"alex".revision = (((hackage."alex")."3.2.5").revisions).default;
|
||||
"alex".flags.small_base = true;
|
||||
"deepseq".revision = (((hackage."deepseq")."1.4.4.0").revisions).default;
|
||||
"network".revision = (((hackage."network")."2.8.0.1").revisions).default;
|
||||
"directory".revision = (((hackage."directory")."1.3.6.1").revisions).default;
|
||||
"template-haskell".revision = (((hackage."template-haskell")."2.14.0.0").revisions).default;
|
||||
"containers".revision = (((hackage."containers")."0.6.0.1").revisions).default;
|
||||
"base".revision = (((hackage."base")."4.12.0.0").revisions).default;
|
||||
"time".revision = (((hackage."time")."1.8.0.2").revisions).default;
|
||||
"terminfo".revision = (((hackage."terminfo")."0.4.1.2").revisions).default;
|
||||
"transformers".revision = (((hackage."transformers")."0.5.6.2").revisions).default;
|
||||
"happy".revision = (((hackage."happy")."1.19.12").revisions).default;
|
||||
"happy".flags.small_base = true;
|
||||
"hpc".revision = (((hackage."hpc")."0.6.0.3").revisions).default;
|
||||
"filepath".revision = (((hackage."filepath")."1.4.2.1").revisions).default;
|
||||
"process".revision = (((hackage."process")."1.6.8.2").revisions).default;
|
||||
"pretty".revision = (((hackage."pretty")."1.1.3.6").revisions).default;
|
||||
"ghc-boot-th".revision = (((hackage."ghc-boot-th")."8.6.5").revisions).default;
|
||||
"array".revision = (((hackage."array")."0.5.3.0").revisions).default;
|
||||
"integer-gmp".revision = (((hackage."integer-gmp")."1.0.2.0").revisions).default;
|
||||
};
|
||||
compiler = {
|
||||
version = "8.6.5";
|
||||
nix-name = "ghc865";
|
||||
packages = {
|
||||
"ghc-prim" = "0.5.3";
|
||||
"ghc-heap" = "8.6.5";
|
||||
"mtl" = "2.2.2";
|
||||
"rts" = "1.0";
|
||||
"deepseq" = "1.4.4.0";
|
||||
"template-haskell" = "2.14.0.0";
|
||||
"containers" = "0.6.0.1";
|
||||
"base" = "4.12.0.0";
|
||||
"time" = "1.8.0.2";
|
||||
"terminfo" = "0.4.1.2";
|
||||
"transformers" = "0.5.6.2";
|
||||
"filepath" = "1.4.2.1";
|
||||
"pretty" = "1.1.3.6";
|
||||
"ghc-boot-th" = "8.6.5";
|
||||
"array" = "0.5.3.0";
|
||||
"integer-gmp" = "1.0.2.0";
|
||||
};
|
||||
};
|
||||
};
|
||||
extras = hackage:
|
||||
{
|
||||
packages = {
|
||||
ghc = ./.plan.nix/ghc.nix;
|
||||
bytestring = ./.plan.nix/bytestring.nix;
|
||||
remote-iserv = ./.plan.nix/remote-iserv.nix;
|
||||
iserv-proxy = ./.plan.nix/iserv-proxy.nix;
|
||||
libiserv = ./.plan.nix/libiserv.nix;
|
||||
ghc-boot = ./.plan.nix/ghc-boot.nix;
|
||||
ghci = ./.plan.nix/ghci.nix;
|
||||
iserv = ./.plan.nix/iserv.nix;
|
||||
};
|
||||
};
|
||||
modules = [
|
||||
({ lib, ... }:
|
||||
{
|
||||
packages = {
|
||||
"ghc" = {
|
||||
flags = {
|
||||
"stage1" = lib.mkOverride 900 false;
|
||||
"stage2" = lib.mkOverride 900 true;
|
||||
"stage3" = lib.mkOverride 900 false;
|
||||
"ghci" = lib.mkOverride 900 true;
|
||||
"terminfo" = lib.mkOverride 900 true;
|
||||
};
|
||||
};
|
||||
"bytestring" = {
|
||||
flags = { "integer-simple" = lib.mkOverride 900 false; };
|
||||
};
|
||||
"remote-iserv" = { flags = {}; };
|
||||
"iserv-proxy" = { flags = {}; };
|
||||
"libiserv" = { flags = { "network" = lib.mkOverride 900 true; }; };
|
||||
"ghc-boot" = { flags = {}; };
|
||||
"ghci" = { flags = { "ghci" = lib.mkOverride 900 true; }; };
|
||||
"iserv" = { flags = {}; };
|
||||
};
|
||||
})
|
||||
];
|
||||
}
|
@ -0,0 +1,167 @@
|
||||
let
|
||||
buildDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
sysDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
||||
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
pkgConfDepError = pkg:
|
||||
builtins.throw ''
|
||||
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
||||
|
||||
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
exeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The local executable components do not include the component: ${pkg} (executable dependency).
|
||||
'';
|
||||
legacyExeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
buildToolDepError = pkg:
|
||||
builtins.throw ''
|
||||
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
||||
|
||||
If this is a system dependency:
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
|
||||
If this is a Haskell dependency:
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
||||
{
|
||||
flags = { integer-simple = false; };
|
||||
package = {
|
||||
specVersion = "1.10";
|
||||
identifier = { name = "bytestring"; version = "0.10.10.0"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "Copyright (c) Don Stewart 2005-2009,\n(c) Duncan Coutts 2006-2015,\n(c) David Roundy 2003-2005,\n(c) Jasper Van der Jeugt 2010,\n(c) Simon Meier 2010-2013.";
|
||||
maintainer = "Duncan Coutts <duncan@community.haskell.org>";
|
||||
author = "Don Stewart,\nDuncan Coutts";
|
||||
homepage = "https://github.com/haskell/bytestring";
|
||||
url = "";
|
||||
synopsis = "Fast, compact, strict and lazy byte strings with a list interface";
|
||||
description = "An efficient compact, immutable byte string type (both strict and lazy)\nsuitable for binary or 8-bit character data.\n\nThe 'ByteString' type represents sequences of bytes or 8-bit characters.\nIt is suitable for high performance use, both in terms of large data\nquantities, or high speed requirements. The 'ByteString' functions follow\nthe same style as Haskell\\'s ordinary lists, so it is easy to convert code\nfrom using 'String' to 'ByteString'.\n\nTwo 'ByteString' variants are provided:\n\n* Strict 'ByteString's keep the string as a single large array. This\nmakes them convenient for passing data between C and Haskell.\n\n* Lazy 'ByteString's use a lazy list of strict chunks which makes it\nsuitable for I\\/O streaming tasks.\n\nThe @Char8@ modules provide a character-based view of the same\nunderlying 'ByteString' types. This makes it convenient to handle mixed\nbinary and 8-bit character content (which is common in many file formats\nand network protocols).\n\nThe 'Builder' module provides an efficient way to build up 'ByteString's\nin an ad-hoc way by repeated concatenation. This is ideal for fast\nserialisation or pretty printing.\n\nThere is also a 'ShortByteString' type which has a lower memory overhead\nand can can be converted to or from a 'ByteString', but supports very few\nother operations. It is suitable for keeping many short strings in memory.\n\n'ByteString's are not designed for Unicode. For Unicode strings you should\nuse the 'Text' type from the @text@ package.\n\nThese modules are intended to be imported qualified, to avoid name clashes\nwith \"Prelude\" functions, e.g.\n\n> import qualified Data.ByteString as BS";
|
||||
buildType = "Simple";
|
||||
isLocal = true;
|
||||
detailLevel = "FullDetails";
|
||||
licenseFiles = [ "LICENSE" ];
|
||||
dataDir = "";
|
||||
dataFiles = [];
|
||||
extraSrcFiles = [ "README.md" "Changelog.md" ];
|
||||
extraTmpFiles = [];
|
||||
extraDocFiles = [];
|
||||
};
|
||||
components = {
|
||||
"library" = {
|
||||
depends = ([
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."ghc-prim" or (buildDepError "ghc-prim"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
] ++ (pkgs.lib).optionals (compiler.isGhc && (compiler.version).ge "6.11") ((pkgs.lib).optional (!flags.integer-simple) (hsPkgs."integer-gmp" or (buildDepError "integer-gmp")))) ++ (pkgs.lib).optional (compiler.isGhc && (compiler.version).ge "6.9" && (compiler.isGhc && (compiler.version).lt "6.11")) (hsPkgs."integer" or (buildDepError "integer"));
|
||||
buildable = true;
|
||||
modules = [
|
||||
"Data/ByteString/Builder/ASCII"
|
||||
"Data/ByteString/Builder/Prim/Binary"
|
||||
"Data/ByteString/Builder/Prim/ASCII"
|
||||
"Data/ByteString/Builder/Prim/Internal/Floating"
|
||||
"Data/ByteString/Builder/Prim/Internal/UncheckedShifts"
|
||||
"Data/ByteString/Builder/Prim/Internal/Base16"
|
||||
"Data/ByteString"
|
||||
"Data/ByteString/Char8"
|
||||
"Data/ByteString/Unsafe"
|
||||
"Data/ByteString/Internal"
|
||||
"Data/ByteString/Lazy"
|
||||
"Data/ByteString/Lazy/Char8"
|
||||
"Data/ByteString/Lazy/Internal"
|
||||
"Data/ByteString/Short"
|
||||
"Data/ByteString/Short/Internal"
|
||||
"Data/ByteString/Builder"
|
||||
"Data/ByteString/Builder/Extra"
|
||||
"Data/ByteString/Builder/Prim"
|
||||
"Data/ByteString/Builder/Internal"
|
||||
"Data/ByteString/Builder/Prim/Internal"
|
||||
"Data/ByteString/Lazy/Builder"
|
||||
"Data/ByteString/Lazy/Builder/Extras"
|
||||
"Data/ByteString/Lazy/Builder/ASCII"
|
||||
];
|
||||
cSources = [ "cbits/fpstring.c" "cbits/itoa.c" ];
|
||||
includeDirs = [ "include" ];
|
||||
includes = [ "fpstring.h" ];
|
||||
};
|
||||
tests = {
|
||||
"prop-compiled" = {
|
||||
depends = [
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."ghc-prim" or (buildDepError "ghc-prim"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
(hsPkgs."random" or (buildDepError "random"))
|
||||
(hsPkgs."directory" or (buildDepError "directory"))
|
||||
(hsPkgs."test-framework" or (buildDepError "test-framework"))
|
||||
(hsPkgs."test-framework-quickcheck2" or (buildDepError "test-framework-quickcheck2"))
|
||||
(hsPkgs."QuickCheck" or (buildDepError "QuickCheck"))
|
||||
];
|
||||
buildable = true;
|
||||
modules = [ "Rules" "QuickCheckUtils" "TestFramework" ];
|
||||
cSources = [ "cbits/fpstring.c" ];
|
||||
hsSourceDirs = [ "." "tests" ];
|
||||
includeDirs = [ "include" ];
|
||||
mainPath = [ "Properties.hs" ];
|
||||
};
|
||||
"regressions" = {
|
||||
depends = [
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."ghc-prim" or (buildDepError "ghc-prim"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
(hsPkgs."random" or (buildDepError "random"))
|
||||
(hsPkgs."directory" or (buildDepError "directory"))
|
||||
(hsPkgs."test-framework" or (buildDepError "test-framework"))
|
||||
(hsPkgs."test-framework-hunit" or (buildDepError "test-framework-hunit"))
|
||||
(hsPkgs."HUnit" or (buildDepError "HUnit"))
|
||||
];
|
||||
buildable = false;
|
||||
cSources = [ "cbits/fpstring.c" ];
|
||||
hsSourceDirs = [ "." "tests" ];
|
||||
includeDirs = [ "include" ];
|
||||
mainPath = [ "Regressions.hs" ];
|
||||
};
|
||||
"test-builder" = {
|
||||
depends = [
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."ghc-prim" or (buildDepError "ghc-prim"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
(hsPkgs."QuickCheck" or (buildDepError "QuickCheck"))
|
||||
(hsPkgs."byteorder" or (buildDepError "byteorder"))
|
||||
(hsPkgs."dlist" or (buildDepError "dlist"))
|
||||
(hsPkgs."directory" or (buildDepError "directory"))
|
||||
(hsPkgs."mtl" or (buildDepError "mtl"))
|
||||
(hsPkgs."HUnit" or (buildDepError "HUnit"))
|
||||
(hsPkgs."test-framework" or (buildDepError "test-framework"))
|
||||
(hsPkgs."test-framework-hunit" or (buildDepError "test-framework-hunit"))
|
||||
(hsPkgs."test-framework-quickcheck2" or (buildDepError "test-framework-quickcheck2"))
|
||||
];
|
||||
buildable = true;
|
||||
modules = [
|
||||
"Data/ByteString/Builder/Tests"
|
||||
"Data/ByteString/Builder/Prim/Tests"
|
||||
"Data/ByteString/Builder/Prim/TestUtils"
|
||||
"TestFramework"
|
||||
];
|
||||
cSources = [ "cbits/fpstring.c" "cbits/itoa.c" ];
|
||||
hsSourceDirs = [ "." "tests" "tests/builder" ];
|
||||
includeDirs = [ "include" ];
|
||||
includes = [ "fpstring.h" ];
|
||||
mainPath = [ "TestSuite.hs" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ../libraries/bytestring; }
|
@ -0,0 +1,84 @@
|
||||
let
|
||||
buildDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
sysDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
||||
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
pkgConfDepError = pkg:
|
||||
builtins.throw ''
|
||||
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
||||
|
||||
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
exeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The local executable components do not include the component: ${pkg} (executable dependency).
|
||||
'';
|
||||
legacyExeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
buildToolDepError = pkg:
|
||||
builtins.throw ''
|
||||
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
||||
|
||||
If this is a system dependency:
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
|
||||
If this is a Haskell dependency:
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
||||
{
|
||||
flags = {};
|
||||
package = {
|
||||
specVersion = "1.22";
|
||||
identifier = { name = "ghc-boot"; version = "8.8.2"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "";
|
||||
maintainer = "ghc-devs@haskell.org";
|
||||
author = "";
|
||||
homepage = "";
|
||||
url = "";
|
||||
synopsis = "Shared functionality between GHC and its boot libraries";
|
||||
description = "This library is shared between GHC, ghc-pkg, and other boot\nlibraries.\n\nA note about \"GHC.PackageDb\": it only deals with the subset of\nthe package database that the compiler cares about: modules\npaths etc and not package metadata like description, authors\netc. It is thus not a library interface to ghc-pkg and is *not*\nsuitable for modifying GHC package databases.\n\nThe package database format and this library are constructed in\nsuch a way that while ghc-pkg depends on Cabal, the GHC library\nand program do not have to depend on Cabal.";
|
||||
buildType = "Simple";
|
||||
isLocal = true;
|
||||
detailLevel = "FullDetails";
|
||||
licenseFiles = [ "LICENSE" ];
|
||||
dataDir = "";
|
||||
dataFiles = [];
|
||||
extraSrcFiles = [ "changelog.md" ];
|
||||
extraTmpFiles = [];
|
||||
extraDocFiles = [];
|
||||
};
|
||||
components = {
|
||||
"library" = {
|
||||
depends = [
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."binary" or (buildDepError "binary"))
|
||||
(hsPkgs."bytestring" or (buildDepError "bytestring"))
|
||||
(hsPkgs."directory" or (buildDepError "directory"))
|
||||
(hsPkgs."filepath" or (buildDepError "filepath"))
|
||||
(hsPkgs."ghc-boot-th" or (buildDepError "ghc-boot-th"))
|
||||
];
|
||||
buildable = true;
|
||||
modules = [
|
||||
"GHC/LanguageExtensions"
|
||||
"GHC/PackageDb"
|
||||
"GHC/Serialized"
|
||||
"GHC/ForeignSrcLang"
|
||||
"GHC/HandleEncoding"
|
||||
];
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ../libraries/ghc-boot; }
|
608
materialized/ghc-extra-projects/default/ghc882/.plan.nix/ghc.nix
Normal file
608
materialized/ghc-extra-projects/default/ghc882/.plan.nix/ghc.nix
Normal file
@ -0,0 +1,608 @@
|
||||
let
|
||||
buildDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
sysDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
||||
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
pkgConfDepError = pkg:
|
||||
builtins.throw ''
|
||||
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
||||
|
||||
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
exeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The local executable components do not include the component: ${pkg} (executable dependency).
|
||||
'';
|
||||
legacyExeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
buildToolDepError = pkg:
|
||||
builtins.throw ''
|
||||
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
||||
|
||||
If this is a system dependency:
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
|
||||
If this is a Haskell dependency:
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
||||
{
|
||||
flags = {
|
||||
ghci = false;
|
||||
stage1 = false;
|
||||
stage2 = true;
|
||||
stage3 = false;
|
||||
terminfo = true;
|
||||
integer-simple = false;
|
||||
integer-gmp = false;
|
||||
};
|
||||
package = {
|
||||
specVersion = "1.10";
|
||||
identifier = { name = "ghc"; version = "8.8.2"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "";
|
||||
maintainer = "glasgow-haskell-users@haskell.org";
|
||||
author = "The GHC Team";
|
||||
homepage = "http://www.haskell.org/ghc/";
|
||||
url = "";
|
||||
synopsis = "The GHC API";
|
||||
description = "GHC's functionality can be useful for more things than just\ncompiling Haskell programs. Important use cases are programs\nthat analyse (and perhaps transform) Haskell code. Others\ninclude loading Haskell code dynamically in a GHCi-like manner.\nFor this reason, a lot of GHC's functionality is made available\nthrough this package.";
|
||||
buildType = "Simple";
|
||||
isLocal = true;
|
||||
detailLevel = "FullDetails";
|
||||
licenseFiles = [ "LICENSE" ];
|
||||
dataDir = "";
|
||||
dataFiles = [];
|
||||
extraSrcFiles = [
|
||||
"utils/md5.h"
|
||||
"Unique.h"
|
||||
"nativeGen/NCG.h"
|
||||
"parser/cutils.h"
|
||||
];
|
||||
extraTmpFiles = [];
|
||||
extraDocFiles = [];
|
||||
};
|
||||
components = {
|
||||
"library" = {
|
||||
depends = ((([
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
(hsPkgs."directory" or (buildDepError "directory"))
|
||||
(hsPkgs."process" or (buildDepError "process"))
|
||||
(hsPkgs."bytestring" or (buildDepError "bytestring"))
|
||||
(hsPkgs."binary" or (buildDepError "binary"))
|
||||
(hsPkgs."time" or (buildDepError "time"))
|
||||
(hsPkgs."containers" or (buildDepError "containers"))
|
||||
(hsPkgs."array" or (buildDepError "array"))
|
||||
(hsPkgs."filepath" or (buildDepError "filepath"))
|
||||
(hsPkgs."template-haskell" or (buildDepError "template-haskell"))
|
||||
(hsPkgs."hpc" or (buildDepError "hpc"))
|
||||
(hsPkgs."transformers" or (buildDepError "transformers"))
|
||||
(hsPkgs."ghc-boot" or (buildDepError "ghc-boot"))
|
||||
(hsPkgs."ghc-boot-th" or (buildDepError "ghc-boot-th"))
|
||||
(hsPkgs."ghc-heap" or (buildDepError "ghc-heap"))
|
||||
(hsPkgs."ghci" or (buildDepError "ghci"))
|
||||
] ++ (if system.isWindows
|
||||
then [ (hsPkgs."Win32" or (buildDepError "Win32")) ]
|
||||
else [
|
||||
(hsPkgs."unix" or (buildDepError "unix"))
|
||||
] ++ (pkgs.lib).optional (flags.terminfo) (hsPkgs."terminfo" or (buildDepError "terminfo")))) ++ (pkgs.lib).optional (flags.integer-gmp && flags.integer-simple) (hsPkgs."invalid-cabal-flag-settings" or (buildDepError "invalid-cabal-flag-settings"))) ++ (pkgs.lib).optional (flags.integer-gmp) (hsPkgs."integer-gmp" or (buildDepError "integer-gmp"))) ++ (pkgs.lib).optional (flags.integer-simple) (hsPkgs."integer-simple" or (buildDepError "integer-simple"));
|
||||
build-tools = [
|
||||
(hsPkgs.buildPackages.alex or (pkgs.buildPackages.alex or (buildToolDepError "alex")))
|
||||
(hsPkgs.buildPackages.happy or (pkgs.buildPackages.happy or (buildToolDepError "happy")))
|
||||
];
|
||||
buildable = true;
|
||||
modules = [
|
||||
"GhcPrelude"
|
||||
"HieTypes"
|
||||
"HieDebug"
|
||||
"HieBin"
|
||||
"HieUtils"
|
||||
"HieAst"
|
||||
"Ar"
|
||||
"FileCleanup"
|
||||
"DriverBkp"
|
||||
"BkpSyn"
|
||||
"NameShape"
|
||||
"RnModIface"
|
||||
"Avail"
|
||||
"AsmUtils"
|
||||
"BasicTypes"
|
||||
"ConLike"
|
||||
"DataCon"
|
||||
"PatSyn"
|
||||
"Demand"
|
||||
"Debug"
|
||||
"Exception"
|
||||
"FieldLabel"
|
||||
"GhcMonad"
|
||||
"Hooks"
|
||||
"Id"
|
||||
"IdInfo"
|
||||
"Lexeme"
|
||||
"Literal"
|
||||
"Llvm"
|
||||
"Llvm/AbsSyn"
|
||||
"Llvm/MetaData"
|
||||
"Llvm/PpLlvm"
|
||||
"Llvm/Types"
|
||||
"LlvmCodeGen"
|
||||
"LlvmCodeGen/Base"
|
||||
"LlvmCodeGen/CodeGen"
|
||||
"LlvmCodeGen/Data"
|
||||
"LlvmCodeGen/Ppr"
|
||||
"LlvmCodeGen/Regs"
|
||||
"LlvmMangler"
|
||||
"MkId"
|
||||
"Module"
|
||||
"Name"
|
||||
"NameEnv"
|
||||
"NameSet"
|
||||
"OccName"
|
||||
"RdrName"
|
||||
"NameCache"
|
||||
"SrcLoc"
|
||||
"UniqSupply"
|
||||
"Unique"
|
||||
"Var"
|
||||
"VarEnv"
|
||||
"VarSet"
|
||||
"UnVarGraph"
|
||||
"BlockId"
|
||||
"CLabel"
|
||||
"Cmm"
|
||||
"CmmBuildInfoTables"
|
||||
"CmmPipeline"
|
||||
"CmmCallConv"
|
||||
"CmmCommonBlockElim"
|
||||
"CmmImplementSwitchPlans"
|
||||
"CmmContFlowOpt"
|
||||
"CmmExpr"
|
||||
"CmmInfo"
|
||||
"CmmLex"
|
||||
"CmmLint"
|
||||
"CmmLive"
|
||||
"CmmMachOp"
|
||||
"CmmMonad"
|
||||
"CmmSwitch"
|
||||
"CmmNode"
|
||||
"CmmOpt"
|
||||
"CmmParse"
|
||||
"CmmProcPoint"
|
||||
"CmmSink"
|
||||
"CmmType"
|
||||
"CmmUtils"
|
||||
"CmmLayoutStack"
|
||||
"EnumSet"
|
||||
"MkGraph"
|
||||
"PprBase"
|
||||
"PprC"
|
||||
"PprCmm"
|
||||
"PprCmmDecl"
|
||||
"PprCmmExpr"
|
||||
"Bitmap"
|
||||
"CodeGen/Platform"
|
||||
"CodeGen/Platform/ARM"
|
||||
"CodeGen/Platform/ARM64"
|
||||
"CodeGen/Platform/NoRegs"
|
||||
"CodeGen/Platform/PPC"
|
||||
"CodeGen/Platform/SPARC"
|
||||
"CodeGen/Platform/X86"
|
||||
"CodeGen/Platform/X86_64"
|
||||
"CgUtils"
|
||||
"StgCmm"
|
||||
"StgCmmBind"
|
||||
"StgCmmClosure"
|
||||
"StgCmmCon"
|
||||
"StgCmmEnv"
|
||||
"StgCmmExpr"
|
||||
"StgCmmForeign"
|
||||
"StgCmmHeap"
|
||||
"StgCmmHpc"
|
||||
"StgCmmArgRep"
|
||||
"StgCmmLayout"
|
||||
"StgCmmMonad"
|
||||
"StgCmmPrim"
|
||||
"StgCmmProf"
|
||||
"StgCmmTicky"
|
||||
"StgCmmUtils"
|
||||
"StgCmmExtCode"
|
||||
"SMRep"
|
||||
"CoreArity"
|
||||
"CoreFVs"
|
||||
"CoreLint"
|
||||
"CorePrep"
|
||||
"CoreSubst"
|
||||
"CoreOpt"
|
||||
"CoreSyn"
|
||||
"TrieMap"
|
||||
"CoreTidy"
|
||||
"CoreUnfold"
|
||||
"CoreUtils"
|
||||
"CoreMap"
|
||||
"CoreSeq"
|
||||
"CoreStats"
|
||||
"MkCore"
|
||||
"PprCore"
|
||||
"PmExpr"
|
||||
"TmOracle"
|
||||
"Check"
|
||||
"Coverage"
|
||||
"Desugar"
|
||||
"DsArrows"
|
||||
"DsBinds"
|
||||
"DsCCall"
|
||||
"DsExpr"
|
||||
"DsForeign"
|
||||
"DsGRHSs"
|
||||
"DsListComp"
|
||||
"DsMonad"
|
||||
"DsUsage"
|
||||
"DsUtils"
|
||||
"ExtractDocs"
|
||||
"Match"
|
||||
"MatchCon"
|
||||
"MatchLit"
|
||||
"HsBinds"
|
||||
"HsDecls"
|
||||
"HsDoc"
|
||||
"HsExpr"
|
||||
"HsImpExp"
|
||||
"HsLit"
|
||||
"PlaceHolder"
|
||||
"HsExtension"
|
||||
"HsInstances"
|
||||
"HsPat"
|
||||
"HsSyn"
|
||||
"HsTypes"
|
||||
"HsUtils"
|
||||
"HsDumpAst"
|
||||
"BinIface"
|
||||
"BinFingerprint"
|
||||
"BuildTyCl"
|
||||
"IfaceEnv"
|
||||
"IfaceSyn"
|
||||
"IfaceType"
|
||||
"ToIface"
|
||||
"LoadIface"
|
||||
"MkIface"
|
||||
"TcIface"
|
||||
"FlagChecker"
|
||||
"Annotations"
|
||||
"CmdLineParser"
|
||||
"CodeOutput"
|
||||
"Config"
|
||||
"Constants"
|
||||
"DriverMkDepend"
|
||||
"DriverPhases"
|
||||
"PipelineMonad"
|
||||
"DriverPipeline"
|
||||
"DynFlags"
|
||||
"ErrUtils"
|
||||
"Finder"
|
||||
"GHC"
|
||||
"GhcMake"
|
||||
"GhcPlugins"
|
||||
"DynamicLoading"
|
||||
"HeaderInfo"
|
||||
"HscMain"
|
||||
"HscStats"
|
||||
"HscTypes"
|
||||
"InteractiveEval"
|
||||
"InteractiveEvalTypes"
|
||||
"PackageConfig"
|
||||
"Packages"
|
||||
"PlatformConstants"
|
||||
"Plugins"
|
||||
"TcPluginM"
|
||||
"PprTyThing"
|
||||
"StaticPtrTable"
|
||||
"SysTools"
|
||||
"SysTools/BaseDir"
|
||||
"SysTools/Terminal"
|
||||
"SysTools/ExtraObj"
|
||||
"SysTools/Info"
|
||||
"SysTools/Process"
|
||||
"SysTools/Tasks"
|
||||
"Elf"
|
||||
"TidyPgm"
|
||||
"Ctype"
|
||||
"HaddockUtils"
|
||||
"Lexer"
|
||||
"OptCoercion"
|
||||
"Parser"
|
||||
"RdrHsSyn"
|
||||
"ApiAnnotation"
|
||||
"ForeignCall"
|
||||
"KnownUniques"
|
||||
"PrelInfo"
|
||||
"PrelNames"
|
||||
"PrelRules"
|
||||
"PrimOp"
|
||||
"TysPrim"
|
||||
"TysWiredIn"
|
||||
"CostCentre"
|
||||
"CostCentreState"
|
||||
"ProfInit"
|
||||
"RnBinds"
|
||||
"RnEnv"
|
||||
"RnExpr"
|
||||
"RnHsDoc"
|
||||
"RnNames"
|
||||
"RnPat"
|
||||
"RnSource"
|
||||
"RnSplice"
|
||||
"RnTypes"
|
||||
"RnFixity"
|
||||
"RnUtils"
|
||||
"RnUnbound"
|
||||
"CoreMonad"
|
||||
"CSE"
|
||||
"FloatIn"
|
||||
"FloatOut"
|
||||
"LiberateCase"
|
||||
"OccurAnal"
|
||||
"SAT"
|
||||
"SetLevels"
|
||||
"SimplCore"
|
||||
"SimplEnv"
|
||||
"SimplMonad"
|
||||
"SimplUtils"
|
||||
"Simplify"
|
||||
"SimplStg"
|
||||
"StgStats"
|
||||
"StgCse"
|
||||
"StgLiftLams"
|
||||
"StgLiftLams/Analysis"
|
||||
"StgLiftLams/LiftM"
|
||||
"StgLiftLams/Transformation"
|
||||
"StgSubst"
|
||||
"UnariseStg"
|
||||
"RepType"
|
||||
"Rules"
|
||||
"SpecConstr"
|
||||
"Specialise"
|
||||
"CoreToStg"
|
||||
"StgLint"
|
||||
"StgSyn"
|
||||
"StgFVs"
|
||||
"CallArity"
|
||||
"DmdAnal"
|
||||
"Exitify"
|
||||
"WorkWrap"
|
||||
"WwLib"
|
||||
"FamInst"
|
||||
"ClsInst"
|
||||
"Inst"
|
||||
"TcAnnotations"
|
||||
"TcArrows"
|
||||
"TcBinds"
|
||||
"TcSigs"
|
||||
"TcClassDcl"
|
||||
"TcDefaults"
|
||||
"TcDeriv"
|
||||
"TcDerivInfer"
|
||||
"TcDerivUtils"
|
||||
"TcEnv"
|
||||
"TcExpr"
|
||||
"TcForeign"
|
||||
"TcGenDeriv"
|
||||
"TcGenFunctor"
|
||||
"TcGenGenerics"
|
||||
"TcHsSyn"
|
||||
"TcHsType"
|
||||
"TcInstDcls"
|
||||
"TcMType"
|
||||
"TcValidity"
|
||||
"TcMatches"
|
||||
"TcPat"
|
||||
"TcPatSyn"
|
||||
"TcRnDriver"
|
||||
"TcBackpack"
|
||||
"TcRnExports"
|
||||
"TcRnMonad"
|
||||
"TcRnTypes"
|
||||
"TcRules"
|
||||
"TcSimplify"
|
||||
"TcHoleErrors"
|
||||
"TcErrors"
|
||||
"TcTyClsDecls"
|
||||
"TcTyDecls"
|
||||
"TcTypeable"
|
||||
"TcTypeableValidity"
|
||||
"TcType"
|
||||
"TcEvidence"
|
||||
"TcEvTerm"
|
||||
"TcUnify"
|
||||
"TcInteract"
|
||||
"TcCanonical"
|
||||
"TcFlatten"
|
||||
"TcSMonad"
|
||||
"TcTypeNats"
|
||||
"TcSplice"
|
||||
"Class"
|
||||
"Coercion"
|
||||
"DsMeta"
|
||||
"THNames"
|
||||
"FamInstEnv"
|
||||
"FunDeps"
|
||||
"InstEnv"
|
||||
"TyCon"
|
||||
"CoAxiom"
|
||||
"Kind"
|
||||
"Type"
|
||||
"TyCoRep"
|
||||
"Unify"
|
||||
"Bag"
|
||||
"Binary"
|
||||
"BooleanFormula"
|
||||
"BufWrite"
|
||||
"Digraph"
|
||||
"Encoding"
|
||||
"FastFunctions"
|
||||
"FastMutInt"
|
||||
"FastString"
|
||||
"FastStringEnv"
|
||||
"Fingerprint"
|
||||
"FiniteMap"
|
||||
"FV"
|
||||
"GraphBase"
|
||||
"GraphColor"
|
||||
"GraphOps"
|
||||
"GraphPpr"
|
||||
"IOEnv"
|
||||
"Json"
|
||||
"ListSetOps"
|
||||
"ListT"
|
||||
"Maybes"
|
||||
"MonadUtils"
|
||||
"OrdList"
|
||||
"Outputable"
|
||||
"Pair"
|
||||
"Panic"
|
||||
"PlainPanic"
|
||||
"PprColour"
|
||||
"Pretty"
|
||||
"State"
|
||||
"Stream"
|
||||
"StringBuffer"
|
||||
"UniqDFM"
|
||||
"UniqDSet"
|
||||
"UniqFM"
|
||||
"UniqMap"
|
||||
"UniqSet"
|
||||
"Util"
|
||||
"Hoopl/Block"
|
||||
"Hoopl/Collections"
|
||||
"Hoopl/Dataflow"
|
||||
"Hoopl/Graph"
|
||||
"Hoopl/Label"
|
||||
"AsmCodeGen"
|
||||
"TargetReg"
|
||||
"NCGMonad"
|
||||
"Instruction"
|
||||
"BlockLayout"
|
||||
"CFG"
|
||||
"Format"
|
||||
"Reg"
|
||||
"RegClass"
|
||||
"PIC"
|
||||
"Platform"
|
||||
"CPrim"
|
||||
"X86/Regs"
|
||||
"X86/RegInfo"
|
||||
"X86/Instr"
|
||||
"X86/Cond"
|
||||
"X86/Ppr"
|
||||
"X86/CodeGen"
|
||||
"PPC/Regs"
|
||||
"PPC/RegInfo"
|
||||
"PPC/Instr"
|
||||
"PPC/Cond"
|
||||
"PPC/Ppr"
|
||||
"PPC/CodeGen"
|
||||
"SPARC/Base"
|
||||
"SPARC/Regs"
|
||||
"SPARC/Imm"
|
||||
"SPARC/AddrMode"
|
||||
"SPARC/Cond"
|
||||
"SPARC/Instr"
|
||||
"SPARC/Stack"
|
||||
"SPARC/ShortcutJump"
|
||||
"SPARC/Ppr"
|
||||
"SPARC/CodeGen"
|
||||
"SPARC/CodeGen/Amode"
|
||||
"SPARC/CodeGen/Base"
|
||||
"SPARC/CodeGen/CondCode"
|
||||
"SPARC/CodeGen/Gen32"
|
||||
"SPARC/CodeGen/Gen64"
|
||||
"SPARC/CodeGen/Sanity"
|
||||
"SPARC/CodeGen/Expand"
|
||||
"RegAlloc/Liveness"
|
||||
"RegAlloc/Graph/Main"
|
||||
"RegAlloc/Graph/Stats"
|
||||
"RegAlloc/Graph/ArchBase"
|
||||
"RegAlloc/Graph/ArchX86"
|
||||
"RegAlloc/Graph/Coalesce"
|
||||
"RegAlloc/Graph/Spill"
|
||||
"RegAlloc/Graph/SpillClean"
|
||||
"RegAlloc/Graph/SpillCost"
|
||||
"RegAlloc/Graph/TrivColorable"
|
||||
"RegAlloc/Linear/Main"
|
||||
"RegAlloc/Linear/JoinToTargets"
|
||||
"RegAlloc/Linear/State"
|
||||
"RegAlloc/Linear/Stats"
|
||||
"RegAlloc/Linear/FreeRegs"
|
||||
"RegAlloc/Linear/StackMap"
|
||||
"RegAlloc/Linear/Base"
|
||||
"RegAlloc/Linear/X86/FreeRegs"
|
||||
"RegAlloc/Linear/X86_64/FreeRegs"
|
||||
"RegAlloc/Linear/PPC/FreeRegs"
|
||||
"RegAlloc/Linear/SPARC/FreeRegs"
|
||||
"Dwarf"
|
||||
"Dwarf/Types"
|
||||
"Dwarf/Constants"
|
||||
"Convert"
|
||||
"ByteCodeTypes"
|
||||
"ByteCodeAsm"
|
||||
"ByteCodeGen"
|
||||
"ByteCodeInstr"
|
||||
"ByteCodeItbls"
|
||||
"ByteCodeLink"
|
||||
"Debugger"
|
||||
"Linker"
|
||||
"RtClosureInspect"
|
||||
"GHCi"
|
||||
];
|
||||
cSources = [
|
||||
"parser/cutils.c"
|
||||
"ghci/keepCAFsForGHCi.c"
|
||||
"cbits/genSym.c"
|
||||
];
|
||||
hsSourceDirs = [
|
||||
"backpack"
|
||||
"basicTypes"
|
||||
"cmm"
|
||||
"codeGen"
|
||||
"coreSyn"
|
||||
"deSugar"
|
||||
"ghci"
|
||||
"hsSyn"
|
||||
"iface"
|
||||
"llvmGen"
|
||||
"main"
|
||||
"nativeGen"
|
||||
"parser"
|
||||
"prelude"
|
||||
"profiling"
|
||||
"rename"
|
||||
"simplCore"
|
||||
"simplStg"
|
||||
"specialise"
|
||||
"stgSyn"
|
||||
"stranal"
|
||||
"typecheck"
|
||||
"types"
|
||||
"utils"
|
||||
"hieFile"
|
||||
];
|
||||
includeDirs = [
|
||||
"."
|
||||
"parser"
|
||||
"utils"
|
||||
] ++ (pkgs.lib).optional (flags.ghci) "../rts/dist/build";
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ../compiler; }
|
@ -0,0 +1,101 @@
|
||||
let
|
||||
buildDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
sysDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
||||
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
pkgConfDepError = pkg:
|
||||
builtins.throw ''
|
||||
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
||||
|
||||
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
exeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The local executable components do not include the component: ${pkg} (executable dependency).
|
||||
'';
|
||||
legacyExeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
buildToolDepError = pkg:
|
||||
builtins.throw ''
|
||||
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
||||
|
||||
If this is a system dependency:
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
|
||||
If this is a Haskell dependency:
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
||||
{
|
||||
flags = { ghci = false; };
|
||||
package = {
|
||||
specVersion = "1.10";
|
||||
identifier = { name = "ghci"; version = "8.8.2"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "";
|
||||
maintainer = "ghc-devs@haskell.org";
|
||||
author = "";
|
||||
homepage = "";
|
||||
url = "";
|
||||
synopsis = "The library supporting GHC's interactive interpreter";
|
||||
description = "This library offers interfaces which mediate interactions between the\n@ghci@ interactive shell and @iserv@, GHC's out-of-process interpreter\nbackend.";
|
||||
buildType = "Simple";
|
||||
isLocal = true;
|
||||
detailLevel = "FullDetails";
|
||||
licenseFiles = [ "LICENSE" ];
|
||||
dataDir = "";
|
||||
dataFiles = [];
|
||||
extraSrcFiles = [ "changelog.md" ];
|
||||
extraTmpFiles = [];
|
||||
extraDocFiles = [];
|
||||
};
|
||||
components = {
|
||||
"library" = {
|
||||
depends = [
|
||||
(hsPkgs."array" or (buildDepError "array"))
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."binary" or (buildDepError "binary"))
|
||||
(hsPkgs."bytestring" or (buildDepError "bytestring"))
|
||||
(hsPkgs."containers" or (buildDepError "containers"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
(hsPkgs."filepath" or (buildDepError "filepath"))
|
||||
(hsPkgs."ghc-boot" or (buildDepError "ghc-boot"))
|
||||
(hsPkgs."ghc-boot-th" or (buildDepError "ghc-boot-th"))
|
||||
(hsPkgs."ghc-heap" or (buildDepError "ghc-heap"))
|
||||
(hsPkgs."template-haskell" or (buildDepError "template-haskell"))
|
||||
(hsPkgs."transformers" or (buildDepError "transformers"))
|
||||
] ++ (pkgs.lib).optional (!system.isWindows) (hsPkgs."unix" or (buildDepError "unix"));
|
||||
buildable = true;
|
||||
modules = [
|
||||
"GHCi/BreakArray"
|
||||
"GHCi/BinaryArray"
|
||||
"GHCi/Message"
|
||||
"GHCi/ResolvedBCO"
|
||||
"GHCi/RemoteTypes"
|
||||
"GHCi/FFI"
|
||||
"GHCi/InfoTable"
|
||||
"GHCi/StaticPtrTable"
|
||||
"GHCi/TH/Binary"
|
||||
"SizedSeq"
|
||||
] ++ (pkgs.lib).optionals (flags.ghci) [
|
||||
"GHCi/Run"
|
||||
"GHCi/CreateBCO"
|
||||
"GHCi/ObjLink"
|
||||
"GHCi/Signals"
|
||||
"GHCi/TH"
|
||||
];
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ../libraries/ghci; }
|
@ -0,0 +1,86 @@
|
||||
let
|
||||
buildDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
sysDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
||||
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
pkgConfDepError = pkg:
|
||||
builtins.throw ''
|
||||
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
||||
|
||||
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
exeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The local executable components do not include the component: ${pkg} (executable dependency).
|
||||
'';
|
||||
legacyExeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
buildToolDepError = pkg:
|
||||
builtins.throw ''
|
||||
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
||||
|
||||
If this is a system dependency:
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
|
||||
If this is a Haskell dependency:
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
||||
{
|
||||
flags = {};
|
||||
package = {
|
||||
specVersion = "1.10";
|
||||
identifier = { name = "iserv-proxy"; version = "8.8.2"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "XXX";
|
||||
maintainer = "XXX";
|
||||
author = "XXX";
|
||||
homepage = "";
|
||||
url = "";
|
||||
synopsis = "iserv allows GHC to delegate Tempalte Haskell computations";
|
||||
description = "GHC can be provided with a path to the iserv binary with\n@-pgmi=/path/to/iserv-bin@, and will in combination with\n@-fexternal-interpreter@, compile Template Haskell though the\n@iserv-bin@ delegate. This is very similar to how ghcjs has been\ncompiling Template Haskell, by spawning a separate delegate (so\ncalled runner on the javascript vm) and evaluating the splices\nthere.\n\niserv can also be used in combination with cross compilation. For\nthis, the @iserv-proxy@ needs to be built on the host, targeting the\nhost (as it is running on the host). @cabal install -flibrary\n-fproxy@ will yield the proxy.\n\nUsing the cabal for the target @arch-platform-target-cabal install\n-flibrary@ will build the required library that contains the ffi\n@startSlave@ function, which needs to be invoked on the target\n(e.g. in an iOS application) to start the remote iserv slave.\n\ncalling the GHC cross compiler with @-fexternal-interpreter\n-pgmi=\$HOME/.cabal/bin/iserv-proxy -opti\\<ip address\\> -opti\\<port\\>@\nwill cause it to compile Template Haskell via the remote at \\<ip address\\>.\n\nThus to get cross compilation with Template Haskell follow the\nfollowing receipt:\n\n* compile the iserv library for your target\n\n> iserv \$ arch-platform-target-cabal install -flibrary\n\n* setup an application for your target that calls the\n* startSlave function. This could be either haskell or your\n* targets ffi capable language, if needed.\n\n> void startSlave(false /* verbose */, 5000 /* port */,\n> \"/path/to/storagelocation/on/target\");\n\n* build the iserv-proxy\n\n> iserv \$ cabal install -flibrary -fproxy\n* Start your iserv-slave app on your target running on say @10.0.0.1:5000@\n* compiler your sources with -fexternal-interpreter and the proxy\n\n> project \$ arch-platform-target-ghc ModuleContainingTH.hs \\\n> -fexternal-interpreter \\\n> -pgmi=\$HOME/.cabal/bin/iserv-proxy \\\n> -opti10.0.0.1 -opti5000\n\nShould something not work as expected, provide @-opti-v@ for verbose\nlogging of the @iserv-proxy@.";
|
||||
buildType = "Simple";
|
||||
isLocal = true;
|
||||
detailLevel = "FullDetails";
|
||||
licenseFiles = [];
|
||||
dataDir = "";
|
||||
dataFiles = [];
|
||||
extraSrcFiles = [];
|
||||
extraTmpFiles = [];
|
||||
extraDocFiles = [];
|
||||
};
|
||||
components = {
|
||||
exes = {
|
||||
"iserv-proxy" = {
|
||||
depends = [
|
||||
(hsPkgs."array" or (buildDepError "array"))
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."binary" or (buildDepError "binary"))
|
||||
(hsPkgs."bytestring" or (buildDepError "bytestring"))
|
||||
(hsPkgs."containers" or (buildDepError "containers"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
(hsPkgs."directory" or (buildDepError "directory"))
|
||||
(hsPkgs."network" or (buildDepError "network"))
|
||||
(hsPkgs."filepath" or (buildDepError "filepath"))
|
||||
(hsPkgs."ghci" or (buildDepError "ghci"))
|
||||
(hsPkgs."libiserv" or (buildDepError "libiserv"))
|
||||
];
|
||||
buildable = true;
|
||||
hsSourceDirs = [ "src" ];
|
||||
mainPath = [ "Main.hs" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ../utils/iserv-proxy; }
|
@ -0,0 +1,85 @@
|
||||
let
|
||||
buildDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
sysDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
||||
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
pkgConfDepError = pkg:
|
||||
builtins.throw ''
|
||||
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
||||
|
||||
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
exeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The local executable components do not include the component: ${pkg} (executable dependency).
|
||||
'';
|
||||
legacyExeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
buildToolDepError = pkg:
|
||||
builtins.throw ''
|
||||
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
||||
|
||||
If this is a system dependency:
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
|
||||
If this is a Haskell dependency:
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
||||
{
|
||||
flags = {};
|
||||
package = {
|
||||
specVersion = "1.10";
|
||||
identifier = { name = "iserv"; version = "8.8.2"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "XXX";
|
||||
maintainer = "XXX";
|
||||
author = "XXX";
|
||||
homepage = "";
|
||||
url = "";
|
||||
synopsis = "iserv allows GHC to delegate Template Haskell computations";
|
||||
description = "GHC can be provided with a path to the iserv binary with\n@-pgmi=/path/to/iserv-bin@, and will in combination with\n@-fexternal-interpreter@, compile Template Haskell though the\n@iserv-bin@ delegate. This is very similar to how ghcjs has been\ncompiling Template Haskell, by spawning a separate delegate (so\ncalled runner on the javascript vm) and evaluating the splices\nthere.\n\nTo use iserv with cross compilers, please see @libraries/libiserv@\nand @utils/iserv-proxy@.";
|
||||
buildType = "Simple";
|
||||
isLocal = true;
|
||||
detailLevel = "FullDetails";
|
||||
licenseFiles = [];
|
||||
dataDir = "";
|
||||
dataFiles = [];
|
||||
extraSrcFiles = [];
|
||||
extraTmpFiles = [];
|
||||
extraDocFiles = [];
|
||||
};
|
||||
components = {
|
||||
exes = {
|
||||
"iserv" = {
|
||||
depends = [
|
||||
(hsPkgs."array" or (buildDepError "array"))
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."binary" or (buildDepError "binary"))
|
||||
(hsPkgs."bytestring" or (buildDepError "bytestring"))
|
||||
(hsPkgs."containers" or (buildDepError "containers"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
(hsPkgs."ghci" or (buildDepError "ghci"))
|
||||
(hsPkgs."libiserv" or (buildDepError "libiserv"))
|
||||
] ++ (pkgs.lib).optional (!system.isWindows) (hsPkgs."unix" or (buildDepError "unix"));
|
||||
buildable = true;
|
||||
cSources = [ "cbits/iservmain.c" ];
|
||||
hsSourceDirs = [ "src" ];
|
||||
includeDirs = [ "." ];
|
||||
mainPath = [ "Main.hs" ] ++ [ "" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ../utils/iserv; }
|
@ -0,0 +1,89 @@
|
||||
let
|
||||
buildDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
sysDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
||||
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
pkgConfDepError = pkg:
|
||||
builtins.throw ''
|
||||
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
||||
|
||||
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
exeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The local executable components do not include the component: ${pkg} (executable dependency).
|
||||
'';
|
||||
legacyExeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
buildToolDepError = pkg:
|
||||
builtins.throw ''
|
||||
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
||||
|
||||
If this is a system dependency:
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
|
||||
If this is a Haskell dependency:
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
||||
{
|
||||
flags = { network = false; };
|
||||
package = {
|
||||
specVersion = "1.10";
|
||||
identifier = { name = "libiserv"; version = "8.8.2"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "XXX";
|
||||
maintainer = "XXX";
|
||||
author = "XXX";
|
||||
homepage = "";
|
||||
url = "";
|
||||
synopsis = "Provides shared functionality between iserv and iserv-proxy";
|
||||
description = "";
|
||||
buildType = "Simple";
|
||||
isLocal = true;
|
||||
detailLevel = "FullDetails";
|
||||
licenseFiles = [ "LICENSE" ];
|
||||
dataDir = "";
|
||||
dataFiles = [];
|
||||
extraSrcFiles = [];
|
||||
extraTmpFiles = [];
|
||||
extraDocFiles = [];
|
||||
};
|
||||
components = {
|
||||
"library" = {
|
||||
depends = ([
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."binary" or (buildDepError "binary"))
|
||||
(hsPkgs."bytestring" or (buildDepError "bytestring"))
|
||||
(hsPkgs."containers" or (buildDepError "containers"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
(hsPkgs."ghci" or (buildDepError "ghci"))
|
||||
] ++ (pkgs.lib).optionals (flags.network) [
|
||||
(hsPkgs."network" or (buildDepError "network"))
|
||||
(hsPkgs."directory" or (buildDepError "directory"))
|
||||
(hsPkgs."filepath" or (buildDepError "filepath"))
|
||||
]) ++ (pkgs.lib).optional (!system.isWindows) (hsPkgs."unix" or (buildDepError "unix"));
|
||||
buildable = true;
|
||||
modules = [
|
||||
"Lib"
|
||||
"GHCi/Utils"
|
||||
] ++ (pkgs.lib).optionals (flags.network) [
|
||||
"Remote/Message"
|
||||
"Remote/Slave"
|
||||
];
|
||||
hsSourceDirs = [ "src" ];
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ../libraries/libiserv; }
|
@ -0,0 +1,77 @@
|
||||
let
|
||||
buildDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
sysDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
||||
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
pkgConfDepError = pkg:
|
||||
builtins.throw ''
|
||||
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
||||
|
||||
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
exeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The local executable components do not include the component: ${pkg} (executable dependency).
|
||||
'';
|
||||
legacyExeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
buildToolDepError = pkg:
|
||||
builtins.throw ''
|
||||
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
||||
|
||||
If this is a system dependency:
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
|
||||
If this is a Haskell dependency:
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
||||
{
|
||||
flags = {};
|
||||
package = {
|
||||
specVersion = "1.10";
|
||||
identifier = { name = "remote-iserv"; version = "8.8.2"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "XXX";
|
||||
maintainer = "Moritz Angermann <moritz.angermann@gmail.com>";
|
||||
author = "Moritz Angermann <moritz.angermann@gmail.com>";
|
||||
homepage = "";
|
||||
url = "";
|
||||
synopsis = "iserv allows GHC to delegate Tempalte Haskell computations";
|
||||
description = "This is a very simple remote runner for iserv, to be used together\nwith iserv-proxy. The foundamental idea is that this this wrapper\nstarts running libiserv on a given port to which iserv-proxy will\nthen connect.";
|
||||
buildType = "Simple";
|
||||
isLocal = true;
|
||||
detailLevel = "FullDetails";
|
||||
licenseFiles = [];
|
||||
dataDir = "";
|
||||
dataFiles = [];
|
||||
extraSrcFiles = [];
|
||||
extraTmpFiles = [];
|
||||
extraDocFiles = [];
|
||||
};
|
||||
components = {
|
||||
exes = {
|
||||
"remote-iserv" = {
|
||||
depends = [
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."libiserv" or (buildDepError "libiserv"))
|
||||
];
|
||||
buildable = true;
|
||||
hsSourceDirs = [ "src" ];
|
||||
mainPath = [ "Cli.hs" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ../utils/remote-iserv; }
|
95
materialized/ghc-extra-projects/default/ghc882/default.nix
Normal file
95
materialized/ghc-extra-projects/default/ghc882/default.nix
Normal file
@ -0,0 +1,95 @@
|
||||
{
|
||||
pkgs = hackage:
|
||||
{
|
||||
packages = {
|
||||
"binary".revision = (((hackage."binary")."0.8.8.0").revisions).default;
|
||||
"ghc-prim".revision = (((hackage."ghc-prim")."0.5.3").revisions).default;
|
||||
"unix".revision = (((hackage."unix")."2.7.2.2").revisions).default;
|
||||
"ghc-heap".revision = (((hackage."ghc-heap")."8.8.2").revisions).default;
|
||||
"mtl".revision = (((hackage."mtl")."2.2.2").revisions).default;
|
||||
"rts".revision = (((hackage."rts")."1.0").revisions).default;
|
||||
"alex".revision = (((hackage."alex")."3.2.5").revisions).default;
|
||||
"alex".flags.small_base = true;
|
||||
"deepseq".revision = (((hackage."deepseq")."1.4.4.0").revisions).default;
|
||||
"network".revision = (((hackage."network")."2.8.0.1").revisions).default;
|
||||
"directory".revision = (((hackage."directory")."1.3.6.1").revisions).default;
|
||||
"template-haskell".revision = (((hackage."template-haskell")."2.15.0.0").revisions).default;
|
||||
"containers".revision = (((hackage."containers")."0.6.2.1").revisions).default;
|
||||
"base".revision = (((hackage."base")."4.13.0.0").revisions).default;
|
||||
"time".revision = (((hackage."time")."1.9.3").revisions).default;
|
||||
"terminfo".revision = (((hackage."terminfo")."0.4.1.4").revisions).default;
|
||||
"transformers".revision = (((hackage."transformers")."0.5.6.2").revisions).default;
|
||||
"happy".revision = (((hackage."happy")."1.19.12").revisions).default;
|
||||
"happy".flags.small_base = true;
|
||||
"hpc".revision = (((hackage."hpc")."0.6.0.3").revisions).default;
|
||||
"filepath".revision = (((hackage."filepath")."1.4.2.1").revisions).default;
|
||||
"process".revision = (((hackage."process")."1.6.8.2").revisions).default;
|
||||
"pretty".revision = (((hackage."pretty")."1.1.3.6").revisions).default;
|
||||
"ghc-boot-th".revision = (((hackage."ghc-boot-th")."8.8.2").revisions).default;
|
||||
"array".revision = (((hackage."array")."0.5.4.0").revisions).default;
|
||||
"integer-gmp".revision = (((hackage."integer-gmp")."1.0.2.0").revisions).default;
|
||||
};
|
||||
compiler = {
|
||||
version = "8.8.2";
|
||||
nix-name = "ghc882";
|
||||
packages = {
|
||||
"ghc-prim" = "0.5.3";
|
||||
"ghc-heap" = "8.8.2";
|
||||
"mtl" = "2.2.2";
|
||||
"rts" = "1.0";
|
||||
"deepseq" = "1.4.4.0";
|
||||
"template-haskell" = "2.15.0.0";
|
||||
"containers" = "0.6.2.1";
|
||||
"base" = "4.13.0.0";
|
||||
"time" = "1.9.3";
|
||||
"terminfo" = "0.4.1.4";
|
||||
"transformers" = "0.5.6.2";
|
||||
"filepath" = "1.4.2.1";
|
||||
"pretty" = "1.1.3.6";
|
||||
"ghc-boot-th" = "8.8.2";
|
||||
"array" = "0.5.4.0";
|
||||
"integer-gmp" = "1.0.2.0";
|
||||
};
|
||||
};
|
||||
};
|
||||
extras = hackage:
|
||||
{
|
||||
packages = {
|
||||
ghc = ./.plan.nix/ghc.nix;
|
||||
bytestring = ./.plan.nix/bytestring.nix;
|
||||
remote-iserv = ./.plan.nix/remote-iserv.nix;
|
||||
iserv-proxy = ./.plan.nix/iserv-proxy.nix;
|
||||
libiserv = ./.plan.nix/libiserv.nix;
|
||||
ghc-boot = ./.plan.nix/ghc-boot.nix;
|
||||
ghci = ./.plan.nix/ghci.nix;
|
||||
iserv = ./.plan.nix/iserv.nix;
|
||||
};
|
||||
};
|
||||
modules = [
|
||||
({ lib, ... }:
|
||||
{
|
||||
packages = {
|
||||
"ghc" = {
|
||||
flags = {
|
||||
"stage1" = lib.mkOverride 900 false;
|
||||
"stage2" = lib.mkOverride 900 true;
|
||||
"integer-gmp" = lib.mkOverride 900 false;
|
||||
"stage3" = lib.mkOverride 900 false;
|
||||
"ghci" = lib.mkOverride 900 true;
|
||||
"integer-simple" = lib.mkOverride 900 false;
|
||||
"terminfo" = lib.mkOverride 900 true;
|
||||
};
|
||||
};
|
||||
"bytestring" = {
|
||||
flags = { "integer-simple" = lib.mkOverride 900 false; };
|
||||
};
|
||||
"remote-iserv" = { flags = {}; };
|
||||
"iserv-proxy" = { flags = {}; };
|
||||
"libiserv" = { flags = { "network" = lib.mkOverride 900 true; }; };
|
||||
"ghc-boot" = { flags = {}; };
|
||||
"ghci" = { flags = { "ghci" = lib.mkOverride 900 true; }; };
|
||||
"iserv" = { flags = {}; };
|
||||
};
|
||||
})
|
||||
];
|
||||
}
|
@ -0,0 +1,167 @@
|
||||
let
|
||||
buildDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
sysDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
||||
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
pkgConfDepError = pkg:
|
||||
builtins.throw ''
|
||||
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
||||
|
||||
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
exeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The local executable components do not include the component: ${pkg} (executable dependency).
|
||||
'';
|
||||
legacyExeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
buildToolDepError = pkg:
|
||||
builtins.throw ''
|
||||
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
||||
|
||||
If this is a system dependency:
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
|
||||
If this is a Haskell dependency:
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
||||
{
|
||||
flags = { integer-simple = false; };
|
||||
package = {
|
||||
specVersion = "1.10";
|
||||
identifier = { name = "bytestring"; version = "0.10.10.0"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "Copyright (c) Don Stewart 2005-2009,\n(c) Duncan Coutts 2006-2015,\n(c) David Roundy 2003-2005,\n(c) Jasper Van der Jeugt 2010,\n(c) Simon Meier 2010-2013.";
|
||||
maintainer = "Duncan Coutts <duncan@community.haskell.org>";
|
||||
author = "Don Stewart,\nDuncan Coutts";
|
||||
homepage = "https://github.com/haskell/bytestring";
|
||||
url = "";
|
||||
synopsis = "Fast, compact, strict and lazy byte strings with a list interface";
|
||||
description = "An efficient compact, immutable byte string type (both strict and lazy)\nsuitable for binary or 8-bit character data.\n\nThe 'ByteString' type represents sequences of bytes or 8-bit characters.\nIt is suitable for high performance use, both in terms of large data\nquantities, or high speed requirements. The 'ByteString' functions follow\nthe same style as Haskell\\'s ordinary lists, so it is easy to convert code\nfrom using 'String' to 'ByteString'.\n\nTwo 'ByteString' variants are provided:\n\n* Strict 'ByteString's keep the string as a single large array. This\nmakes them convenient for passing data between C and Haskell.\n\n* Lazy 'ByteString's use a lazy list of strict chunks which makes it\nsuitable for I\\/O streaming tasks.\n\nThe @Char8@ modules provide a character-based view of the same\nunderlying 'ByteString' types. This makes it convenient to handle mixed\nbinary and 8-bit character content (which is common in many file formats\nand network protocols).\n\nThe 'Builder' module provides an efficient way to build up 'ByteString's\nin an ad-hoc way by repeated concatenation. This is ideal for fast\nserialisation or pretty printing.\n\nThere is also a 'ShortByteString' type which has a lower memory overhead\nand can can be converted to or from a 'ByteString', but supports very few\nother operations. It is suitable for keeping many short strings in memory.\n\n'ByteString's are not designed for Unicode. For Unicode strings you should\nuse the 'Text' type from the @text@ package.\n\nThese modules are intended to be imported qualified, to avoid name clashes\nwith \"Prelude\" functions, e.g.\n\n> import qualified Data.ByteString as BS";
|
||||
buildType = "Simple";
|
||||
isLocal = true;
|
||||
detailLevel = "FullDetails";
|
||||
licenseFiles = [ "LICENSE" ];
|
||||
dataDir = "";
|
||||
dataFiles = [];
|
||||
extraSrcFiles = [ "README.md" "Changelog.md" ];
|
||||
extraTmpFiles = [];
|
||||
extraDocFiles = [];
|
||||
};
|
||||
components = {
|
||||
"library" = {
|
||||
depends = ([
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."ghc-prim" or (buildDepError "ghc-prim"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
] ++ (pkgs.lib).optionals (compiler.isGhc && (compiler.version).ge "6.11") ((pkgs.lib).optional (!flags.integer-simple) (hsPkgs."integer-gmp" or (buildDepError "integer-gmp")))) ++ (pkgs.lib).optional (compiler.isGhc && (compiler.version).ge "6.9" && (compiler.isGhc && (compiler.version).lt "6.11")) (hsPkgs."integer" or (buildDepError "integer"));
|
||||
buildable = true;
|
||||
modules = [
|
||||
"Data/ByteString/Builder/ASCII"
|
||||
"Data/ByteString/Builder/Prim/Binary"
|
||||
"Data/ByteString/Builder/Prim/ASCII"
|
||||
"Data/ByteString/Builder/Prim/Internal/Floating"
|
||||
"Data/ByteString/Builder/Prim/Internal/UncheckedShifts"
|
||||
"Data/ByteString/Builder/Prim/Internal/Base16"
|
||||
"Data/ByteString"
|
||||
"Data/ByteString/Char8"
|
||||
"Data/ByteString/Unsafe"
|
||||
"Data/ByteString/Internal"
|
||||
"Data/ByteString/Lazy"
|
||||
"Data/ByteString/Lazy/Char8"
|
||||
"Data/ByteString/Lazy/Internal"
|
||||
"Data/ByteString/Short"
|
||||
"Data/ByteString/Short/Internal"
|
||||
"Data/ByteString/Builder"
|
||||
"Data/ByteString/Builder/Extra"
|
||||
"Data/ByteString/Builder/Prim"
|
||||
"Data/ByteString/Builder/Internal"
|
||||
"Data/ByteString/Builder/Prim/Internal"
|
||||
"Data/ByteString/Lazy/Builder"
|
||||
"Data/ByteString/Lazy/Builder/Extras"
|
||||
"Data/ByteString/Lazy/Builder/ASCII"
|
||||
];
|
||||
cSources = [ "cbits/fpstring.c" "cbits/itoa.c" ];
|
||||
includeDirs = [ "include" ];
|
||||
includes = [ "fpstring.h" ];
|
||||
};
|
||||
tests = {
|
||||
"prop-compiled" = {
|
||||
depends = [
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."ghc-prim" or (buildDepError "ghc-prim"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
(hsPkgs."random" or (buildDepError "random"))
|
||||
(hsPkgs."directory" or (buildDepError "directory"))
|
||||
(hsPkgs."test-framework" or (buildDepError "test-framework"))
|
||||
(hsPkgs."test-framework-quickcheck2" or (buildDepError "test-framework-quickcheck2"))
|
||||
(hsPkgs."QuickCheck" or (buildDepError "QuickCheck"))
|
||||
];
|
||||
buildable = true;
|
||||
modules = [ "Rules" "QuickCheckUtils" "TestFramework" ];
|
||||
cSources = [ "cbits/fpstring.c" ];
|
||||
hsSourceDirs = [ "." "tests" ];
|
||||
includeDirs = [ "include" ];
|
||||
mainPath = [ "Properties.hs" ];
|
||||
};
|
||||
"regressions" = {
|
||||
depends = [
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."ghc-prim" or (buildDepError "ghc-prim"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
(hsPkgs."random" or (buildDepError "random"))
|
||||
(hsPkgs."directory" or (buildDepError "directory"))
|
||||
(hsPkgs."test-framework" or (buildDepError "test-framework"))
|
||||
(hsPkgs."test-framework-hunit" or (buildDepError "test-framework-hunit"))
|
||||
(hsPkgs."HUnit" or (buildDepError "HUnit"))
|
||||
];
|
||||
buildable = false;
|
||||
cSources = [ "cbits/fpstring.c" ];
|
||||
hsSourceDirs = [ "." "tests" ];
|
||||
includeDirs = [ "include" ];
|
||||
mainPath = [ "Regressions.hs" ];
|
||||
};
|
||||
"test-builder" = {
|
||||
depends = [
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."ghc-prim" or (buildDepError "ghc-prim"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
(hsPkgs."QuickCheck" or (buildDepError "QuickCheck"))
|
||||
(hsPkgs."byteorder" or (buildDepError "byteorder"))
|
||||
(hsPkgs."dlist" or (buildDepError "dlist"))
|
||||
(hsPkgs."directory" or (buildDepError "directory"))
|
||||
(hsPkgs."mtl" or (buildDepError "mtl"))
|
||||
(hsPkgs."HUnit" or (buildDepError "HUnit"))
|
||||
(hsPkgs."test-framework" or (buildDepError "test-framework"))
|
||||
(hsPkgs."test-framework-hunit" or (buildDepError "test-framework-hunit"))
|
||||
(hsPkgs."test-framework-quickcheck2" or (buildDepError "test-framework-quickcheck2"))
|
||||
];
|
||||
buildable = true;
|
||||
modules = [
|
||||
"Data/ByteString/Builder/Tests"
|
||||
"Data/ByteString/Builder/Prim/Tests"
|
||||
"Data/ByteString/Builder/Prim/TestUtils"
|
||||
"TestFramework"
|
||||
];
|
||||
cSources = [ "cbits/fpstring.c" "cbits/itoa.c" ];
|
||||
hsSourceDirs = [ "." "tests" "tests/builder" ];
|
||||
includeDirs = [ "include" ];
|
||||
includes = [ "fpstring.h" ];
|
||||
mainPath = [ "TestSuite.hs" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ../libraries/bytestring; }
|
@ -0,0 +1,84 @@
|
||||
let
|
||||
buildDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
sysDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
||||
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
pkgConfDepError = pkg:
|
||||
builtins.throw ''
|
||||
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
||||
|
||||
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
exeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The local executable components do not include the component: ${pkg} (executable dependency).
|
||||
'';
|
||||
legacyExeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
buildToolDepError = pkg:
|
||||
builtins.throw ''
|
||||
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
||||
|
||||
If this is a system dependency:
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
|
||||
If this is a Haskell dependency:
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
||||
{
|
||||
flags = {};
|
||||
package = {
|
||||
specVersion = "1.22";
|
||||
identifier = { name = "ghc-boot"; version = "8.8.3"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "";
|
||||
maintainer = "ghc-devs@haskell.org";
|
||||
author = "";
|
||||
homepage = "";
|
||||
url = "";
|
||||
synopsis = "Shared functionality between GHC and its boot libraries";
|
||||
description = "This library is shared between GHC, ghc-pkg, and other boot\nlibraries.\n\nA note about \"GHC.PackageDb\": it only deals with the subset of\nthe package database that the compiler cares about: modules\npaths etc and not package metadata like description, authors\netc. It is thus not a library interface to ghc-pkg and is *not*\nsuitable for modifying GHC package databases.\n\nThe package database format and this library are constructed in\nsuch a way that while ghc-pkg depends on Cabal, the GHC library\nand program do not have to depend on Cabal.";
|
||||
buildType = "Simple";
|
||||
isLocal = true;
|
||||
detailLevel = "FullDetails";
|
||||
licenseFiles = [ "LICENSE" ];
|
||||
dataDir = "";
|
||||
dataFiles = [];
|
||||
extraSrcFiles = [ "changelog.md" ];
|
||||
extraTmpFiles = [];
|
||||
extraDocFiles = [];
|
||||
};
|
||||
components = {
|
||||
"library" = {
|
||||
depends = [
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."binary" or (buildDepError "binary"))
|
||||
(hsPkgs."bytestring" or (buildDepError "bytestring"))
|
||||
(hsPkgs."directory" or (buildDepError "directory"))
|
||||
(hsPkgs."filepath" or (buildDepError "filepath"))
|
||||
(hsPkgs."ghc-boot-th" or (buildDepError "ghc-boot-th"))
|
||||
];
|
||||
buildable = true;
|
||||
modules = [
|
||||
"GHC/LanguageExtensions"
|
||||
"GHC/PackageDb"
|
||||
"GHC/Serialized"
|
||||
"GHC/ForeignSrcLang"
|
||||
"GHC/HandleEncoding"
|
||||
];
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ../libraries/ghc-boot; }
|
608
materialized/ghc-extra-projects/default/ghc883/.plan.nix/ghc.nix
Normal file
608
materialized/ghc-extra-projects/default/ghc883/.plan.nix/ghc.nix
Normal file
@ -0,0 +1,608 @@
|
||||
let
|
||||
buildDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
sysDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
||||
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
pkgConfDepError = pkg:
|
||||
builtins.throw ''
|
||||
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
||||
|
||||
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
exeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The local executable components do not include the component: ${pkg} (executable dependency).
|
||||
'';
|
||||
legacyExeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
buildToolDepError = pkg:
|
||||
builtins.throw ''
|
||||
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
||||
|
||||
If this is a system dependency:
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
|
||||
If this is a Haskell dependency:
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
||||
{
|
||||
flags = {
|
||||
ghci = false;
|
||||
stage1 = false;
|
||||
stage2 = true;
|
||||
stage3 = false;
|
||||
terminfo = true;
|
||||
integer-simple = false;
|
||||
integer-gmp = false;
|
||||
};
|
||||
package = {
|
||||
specVersion = "1.10";
|
||||
identifier = { name = "ghc"; version = "8.8.3"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "";
|
||||
maintainer = "glasgow-haskell-users@haskell.org";
|
||||
author = "The GHC Team";
|
||||
homepage = "http://www.haskell.org/ghc/";
|
||||
url = "";
|
||||
synopsis = "The GHC API";
|
||||
description = "GHC's functionality can be useful for more things than just\ncompiling Haskell programs. Important use cases are programs\nthat analyse (and perhaps transform) Haskell code. Others\ninclude loading Haskell code dynamically in a GHCi-like manner.\nFor this reason, a lot of GHC's functionality is made available\nthrough this package.";
|
||||
buildType = "Simple";
|
||||
isLocal = true;
|
||||
detailLevel = "FullDetails";
|
||||
licenseFiles = [ "LICENSE" ];
|
||||
dataDir = "";
|
||||
dataFiles = [];
|
||||
extraSrcFiles = [
|
||||
"utils/md5.h"
|
||||
"Unique.h"
|
||||
"nativeGen/NCG.h"
|
||||
"parser/cutils.h"
|
||||
];
|
||||
extraTmpFiles = [];
|
||||
extraDocFiles = [];
|
||||
};
|
||||
components = {
|
||||
"library" = {
|
||||
depends = ((([
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
(hsPkgs."directory" or (buildDepError "directory"))
|
||||
(hsPkgs."process" or (buildDepError "process"))
|
||||
(hsPkgs."bytestring" or (buildDepError "bytestring"))
|
||||
(hsPkgs."binary" or (buildDepError "binary"))
|
||||
(hsPkgs."time" or (buildDepError "time"))
|
||||
(hsPkgs."containers" or (buildDepError "containers"))
|
||||
(hsPkgs."array" or (buildDepError "array"))
|
||||
(hsPkgs."filepath" or (buildDepError "filepath"))
|
||||
(hsPkgs."template-haskell" or (buildDepError "template-haskell"))
|
||||
(hsPkgs."hpc" or (buildDepError "hpc"))
|
||||
(hsPkgs."transformers" or (buildDepError "transformers"))
|
||||
(hsPkgs."ghc-boot" or (buildDepError "ghc-boot"))
|
||||
(hsPkgs."ghc-boot-th" or (buildDepError "ghc-boot-th"))
|
||||
(hsPkgs."ghc-heap" or (buildDepError "ghc-heap"))
|
||||
(hsPkgs."ghci" or (buildDepError "ghci"))
|
||||
] ++ (if system.isWindows
|
||||
then [ (hsPkgs."Win32" or (buildDepError "Win32")) ]
|
||||
else [
|
||||
(hsPkgs."unix" or (buildDepError "unix"))
|
||||
] ++ (pkgs.lib).optional (flags.terminfo) (hsPkgs."terminfo" or (buildDepError "terminfo")))) ++ (pkgs.lib).optional (flags.integer-gmp && flags.integer-simple) (hsPkgs."invalid-cabal-flag-settings" or (buildDepError "invalid-cabal-flag-settings"))) ++ (pkgs.lib).optional (flags.integer-gmp) (hsPkgs."integer-gmp" or (buildDepError "integer-gmp"))) ++ (pkgs.lib).optional (flags.integer-simple) (hsPkgs."integer-simple" or (buildDepError "integer-simple"));
|
||||
build-tools = [
|
||||
(hsPkgs.buildPackages.alex or (pkgs.buildPackages.alex or (buildToolDepError "alex")))
|
||||
(hsPkgs.buildPackages.happy or (pkgs.buildPackages.happy or (buildToolDepError "happy")))
|
||||
];
|
||||
buildable = true;
|
||||
modules = [
|
||||
"GhcPrelude"
|
||||
"HieTypes"
|
||||
"HieDebug"
|
||||
"HieBin"
|
||||
"HieUtils"
|
||||
"HieAst"
|
||||
"Ar"
|
||||
"FileCleanup"
|
||||
"DriverBkp"
|
||||
"BkpSyn"
|
||||
"NameShape"
|
||||
"RnModIface"
|
||||
"Avail"
|
||||
"AsmUtils"
|
||||
"BasicTypes"
|
||||
"ConLike"
|
||||
"DataCon"
|
||||
"PatSyn"
|
||||
"Demand"
|
||||
"Debug"
|
||||
"Exception"
|
||||
"FieldLabel"
|
||||
"GhcMonad"
|
||||
"Hooks"
|
||||
"Id"
|
||||
"IdInfo"
|
||||
"Lexeme"
|
||||
"Literal"
|
||||
"Llvm"
|
||||
"Llvm/AbsSyn"
|
||||
"Llvm/MetaData"
|
||||
"Llvm/PpLlvm"
|
||||
"Llvm/Types"
|
||||
"LlvmCodeGen"
|
||||
"LlvmCodeGen/Base"
|
||||
"LlvmCodeGen/CodeGen"
|
||||
"LlvmCodeGen/Data"
|
||||
"LlvmCodeGen/Ppr"
|
||||
"LlvmCodeGen/Regs"
|
||||
"LlvmMangler"
|
||||
"MkId"
|
||||
"Module"
|
||||
"Name"
|
||||
"NameEnv"
|
||||
"NameSet"
|
||||
"OccName"
|
||||
"RdrName"
|
||||
"NameCache"
|
||||
"SrcLoc"
|
||||
"UniqSupply"
|
||||
"Unique"
|
||||
"Var"
|
||||
"VarEnv"
|
||||
"VarSet"
|
||||
"UnVarGraph"
|
||||
"BlockId"
|
||||
"CLabel"
|
||||
"Cmm"
|
||||
"CmmBuildInfoTables"
|
||||
"CmmPipeline"
|
||||
"CmmCallConv"
|
||||
"CmmCommonBlockElim"
|
||||
"CmmImplementSwitchPlans"
|
||||
"CmmContFlowOpt"
|
||||
"CmmExpr"
|
||||
"CmmInfo"
|
||||
"CmmLex"
|
||||
"CmmLint"
|
||||
"CmmLive"
|
||||
"CmmMachOp"
|
||||
"CmmMonad"
|
||||
"CmmSwitch"
|
||||
"CmmNode"
|
||||
"CmmOpt"
|
||||
"CmmParse"
|
||||
"CmmProcPoint"
|
||||
"CmmSink"
|
||||
"CmmType"
|
||||
"CmmUtils"
|
||||
"CmmLayoutStack"
|
||||
"EnumSet"
|
||||
"MkGraph"
|
||||
"PprBase"
|
||||
"PprC"
|
||||
"PprCmm"
|
||||
"PprCmmDecl"
|
||||
"PprCmmExpr"
|
||||
"Bitmap"
|
||||
"CodeGen/Platform"
|
||||
"CodeGen/Platform/ARM"
|
||||
"CodeGen/Platform/ARM64"
|
||||
"CodeGen/Platform/NoRegs"
|
||||
"CodeGen/Platform/PPC"
|
||||
"CodeGen/Platform/SPARC"
|
||||
"CodeGen/Platform/X86"
|
||||
"CodeGen/Platform/X86_64"
|
||||
"CgUtils"
|
||||
"StgCmm"
|
||||
"StgCmmBind"
|
||||
"StgCmmClosure"
|
||||
"StgCmmCon"
|
||||
"StgCmmEnv"
|
||||
"StgCmmExpr"
|
||||
"StgCmmForeign"
|
||||
"StgCmmHeap"
|
||||
"StgCmmHpc"
|
||||
"StgCmmArgRep"
|
||||
"StgCmmLayout"
|
||||
"StgCmmMonad"
|
||||
"StgCmmPrim"
|
||||
"StgCmmProf"
|
||||
"StgCmmTicky"
|
||||
"StgCmmUtils"
|
||||
"StgCmmExtCode"
|
||||
"SMRep"
|
||||
"CoreArity"
|
||||
"CoreFVs"
|
||||
"CoreLint"
|
||||
"CorePrep"
|
||||
"CoreSubst"
|
||||
"CoreOpt"
|
||||
"CoreSyn"
|
||||
"TrieMap"
|
||||
"CoreTidy"
|
||||
"CoreUnfold"
|
||||
"CoreUtils"
|
||||
"CoreMap"
|
||||
"CoreSeq"
|
||||
"CoreStats"
|
||||
"MkCore"
|
||||
"PprCore"
|
||||
"PmExpr"
|
||||
"TmOracle"
|
||||
"Check"
|
||||
"Coverage"
|
||||
"Desugar"
|
||||
"DsArrows"
|
||||
"DsBinds"
|
||||
"DsCCall"
|
||||
"DsExpr"
|
||||
"DsForeign"
|
||||
"DsGRHSs"
|
||||
"DsListComp"
|
||||
"DsMonad"
|
||||
"DsUsage"
|
||||
"DsUtils"
|
||||
"ExtractDocs"
|
||||
"Match"
|
||||
"MatchCon"
|
||||
"MatchLit"
|
||||
"HsBinds"
|
||||
"HsDecls"
|
||||
"HsDoc"
|
||||
"HsExpr"
|
||||
"HsImpExp"
|
||||
"HsLit"
|
||||
"PlaceHolder"
|
||||
"HsExtension"
|
||||
"HsInstances"
|
||||
"HsPat"
|
||||
"HsSyn"
|
||||
"HsTypes"
|
||||
"HsUtils"
|
||||
"HsDumpAst"
|
||||
"BinIface"
|
||||
"BinFingerprint"
|
||||
"BuildTyCl"
|
||||
"IfaceEnv"
|
||||
"IfaceSyn"
|
||||
"IfaceType"
|
||||
"ToIface"
|
||||
"LoadIface"
|
||||
"MkIface"
|
||||
"TcIface"
|
||||
"FlagChecker"
|
||||
"Annotations"
|
||||
"CmdLineParser"
|
||||
"CodeOutput"
|
||||
"Config"
|
||||
"Constants"
|
||||
"DriverMkDepend"
|
||||
"DriverPhases"
|
||||
"PipelineMonad"
|
||||
"DriverPipeline"
|
||||
"DynFlags"
|
||||
"ErrUtils"
|
||||
"Finder"
|
||||
"GHC"
|
||||
"GhcMake"
|
||||
"GhcPlugins"
|
||||
"DynamicLoading"
|
||||
"HeaderInfo"
|
||||
"HscMain"
|
||||
"HscStats"
|
||||
"HscTypes"
|
||||
"InteractiveEval"
|
||||
"InteractiveEvalTypes"
|
||||
"PackageConfig"
|
||||
"Packages"
|
||||
"PlatformConstants"
|
||||
"Plugins"
|
||||
"TcPluginM"
|
||||
"PprTyThing"
|
||||
"StaticPtrTable"
|
||||
"SysTools"
|
||||
"SysTools/BaseDir"
|
||||
"SysTools/Terminal"
|
||||
"SysTools/ExtraObj"
|
||||
"SysTools/Info"
|
||||
"SysTools/Process"
|
||||
"SysTools/Tasks"
|
||||
"Elf"
|
||||
"TidyPgm"
|
||||
"Ctype"
|
||||
"HaddockUtils"
|
||||
"Lexer"
|
||||
"OptCoercion"
|
||||
"Parser"
|
||||
"RdrHsSyn"
|
||||
"ApiAnnotation"
|
||||
"ForeignCall"
|
||||
"KnownUniques"
|
||||
"PrelInfo"
|
||||
"PrelNames"
|
||||
"PrelRules"
|
||||
"PrimOp"
|
||||
"TysPrim"
|
||||
"TysWiredIn"
|
||||
"CostCentre"
|
||||
"CostCentreState"
|
||||
"ProfInit"
|
||||
"RnBinds"
|
||||
"RnEnv"
|
||||
"RnExpr"
|
||||
"RnHsDoc"
|
||||
"RnNames"
|
||||
"RnPat"
|
||||
"RnSource"
|
||||
"RnSplice"
|
||||
"RnTypes"
|
||||
"RnFixity"
|
||||
"RnUtils"
|
||||
"RnUnbound"
|
||||
"CoreMonad"
|
||||
"CSE"
|
||||
"FloatIn"
|
||||
"FloatOut"
|
||||
"LiberateCase"
|
||||
"OccurAnal"
|
||||
"SAT"
|
||||
"SetLevels"
|
||||
"SimplCore"
|
||||
"SimplEnv"
|
||||
"SimplMonad"
|
||||
"SimplUtils"
|
||||
"Simplify"
|
||||
"SimplStg"
|
||||
"StgStats"
|
||||
"StgCse"
|
||||
"StgLiftLams"
|
||||
"StgLiftLams/Analysis"
|
||||
"StgLiftLams/LiftM"
|
||||
"StgLiftLams/Transformation"
|
||||
"StgSubst"
|
||||
"UnariseStg"
|
||||
"RepType"
|
||||
"Rules"
|
||||
"SpecConstr"
|
||||
"Specialise"
|
||||
"CoreToStg"
|
||||
"StgLint"
|
||||
"StgSyn"
|
||||
"StgFVs"
|
||||
"CallArity"
|
||||
"DmdAnal"
|
||||
"Exitify"
|
||||
"WorkWrap"
|
||||
"WwLib"
|
||||
"FamInst"
|
||||
"ClsInst"
|
||||
"Inst"
|
||||
"TcAnnotations"
|
||||
"TcArrows"
|
||||
"TcBinds"
|
||||
"TcSigs"
|
||||
"TcClassDcl"
|
||||
"TcDefaults"
|
||||
"TcDeriv"
|
||||
"TcDerivInfer"
|
||||
"TcDerivUtils"
|
||||
"TcEnv"
|
||||
"TcExpr"
|
||||
"TcForeign"
|
||||
"TcGenDeriv"
|
||||
"TcGenFunctor"
|
||||
"TcGenGenerics"
|
||||
"TcHsSyn"
|
||||
"TcHsType"
|
||||
"TcInstDcls"
|
||||
"TcMType"
|
||||
"TcValidity"
|
||||
"TcMatches"
|
||||
"TcPat"
|
||||
"TcPatSyn"
|
||||
"TcRnDriver"
|
||||
"TcBackpack"
|
||||
"TcRnExports"
|
||||
"TcRnMonad"
|
||||
"TcRnTypes"
|
||||
"TcRules"
|
||||
"TcSimplify"
|
||||
"TcHoleErrors"
|
||||
"TcErrors"
|
||||
"TcTyClsDecls"
|
||||
"TcTyDecls"
|
||||
"TcTypeable"
|
||||
"TcTypeableValidity"
|
||||
"TcType"
|
||||
"TcEvidence"
|
||||
"TcEvTerm"
|
||||
"TcUnify"
|
||||
"TcInteract"
|
||||
"TcCanonical"
|
||||
"TcFlatten"
|
||||
"TcSMonad"
|
||||
"TcTypeNats"
|
||||
"TcSplice"
|
||||
"Class"
|
||||
"Coercion"
|
||||
"DsMeta"
|
||||
"THNames"
|
||||
"FamInstEnv"
|
||||
"FunDeps"
|
||||
"InstEnv"
|
||||
"TyCon"
|
||||
"CoAxiom"
|
||||
"Kind"
|
||||
"Type"
|
||||
"TyCoRep"
|
||||
"Unify"
|
||||
"Bag"
|
||||
"Binary"
|
||||
"BooleanFormula"
|
||||
"BufWrite"
|
||||
"Digraph"
|
||||
"Encoding"
|
||||
"FastFunctions"
|
||||
"FastMutInt"
|
||||
"FastString"
|
||||
"FastStringEnv"
|
||||
"Fingerprint"
|
||||
"FiniteMap"
|
||||
"FV"
|
||||
"GraphBase"
|
||||
"GraphColor"
|
||||
"GraphOps"
|
||||
"GraphPpr"
|
||||
"IOEnv"
|
||||
"Json"
|
||||
"ListSetOps"
|
||||
"ListT"
|
||||
"Maybes"
|
||||
"MonadUtils"
|
||||
"OrdList"
|
||||
"Outputable"
|
||||
"Pair"
|
||||
"Panic"
|
||||
"PlainPanic"
|
||||
"PprColour"
|
||||
"Pretty"
|
||||
"State"
|
||||
"Stream"
|
||||
"StringBuffer"
|
||||
"UniqDFM"
|
||||
"UniqDSet"
|
||||
"UniqFM"
|
||||
"UniqMap"
|
||||
"UniqSet"
|
||||
"Util"
|
||||
"Hoopl/Block"
|
||||
"Hoopl/Collections"
|
||||
"Hoopl/Dataflow"
|
||||
"Hoopl/Graph"
|
||||
"Hoopl/Label"
|
||||
"AsmCodeGen"
|
||||
"TargetReg"
|
||||
"NCGMonad"
|
||||
"Instruction"
|
||||
"BlockLayout"
|
||||
"CFG"
|
||||
"Format"
|
||||
"Reg"
|
||||
"RegClass"
|
||||
"PIC"
|
||||
"Platform"
|
||||
"CPrim"
|
||||
"X86/Regs"
|
||||
"X86/RegInfo"
|
||||
"X86/Instr"
|
||||
"X86/Cond"
|
||||
"X86/Ppr"
|
||||
"X86/CodeGen"
|
||||
"PPC/Regs"
|
||||
"PPC/RegInfo"
|
||||
"PPC/Instr"
|
||||
"PPC/Cond"
|
||||
"PPC/Ppr"
|
||||
"PPC/CodeGen"
|
||||
"SPARC/Base"
|
||||
"SPARC/Regs"
|
||||
"SPARC/Imm"
|
||||
"SPARC/AddrMode"
|
||||
"SPARC/Cond"
|
||||
"SPARC/Instr"
|
||||
"SPARC/Stack"
|
||||
"SPARC/ShortcutJump"
|
||||
"SPARC/Ppr"
|
||||
"SPARC/CodeGen"
|
||||
"SPARC/CodeGen/Amode"
|
||||
"SPARC/CodeGen/Base"
|
||||
"SPARC/CodeGen/CondCode"
|
||||
"SPARC/CodeGen/Gen32"
|
||||
"SPARC/CodeGen/Gen64"
|
||||
"SPARC/CodeGen/Sanity"
|
||||
"SPARC/CodeGen/Expand"
|
||||
"RegAlloc/Liveness"
|
||||
"RegAlloc/Graph/Main"
|
||||
"RegAlloc/Graph/Stats"
|
||||
"RegAlloc/Graph/ArchBase"
|
||||
"RegAlloc/Graph/ArchX86"
|
||||
"RegAlloc/Graph/Coalesce"
|
||||
"RegAlloc/Graph/Spill"
|
||||
"RegAlloc/Graph/SpillClean"
|
||||
"RegAlloc/Graph/SpillCost"
|
||||
"RegAlloc/Graph/TrivColorable"
|
||||
"RegAlloc/Linear/Main"
|
||||
"RegAlloc/Linear/JoinToTargets"
|
||||
"RegAlloc/Linear/State"
|
||||
"RegAlloc/Linear/Stats"
|
||||
"RegAlloc/Linear/FreeRegs"
|
||||
"RegAlloc/Linear/StackMap"
|
||||
"RegAlloc/Linear/Base"
|
||||
"RegAlloc/Linear/X86/FreeRegs"
|
||||
"RegAlloc/Linear/X86_64/FreeRegs"
|
||||
"RegAlloc/Linear/PPC/FreeRegs"
|
||||
"RegAlloc/Linear/SPARC/FreeRegs"
|
||||
"Dwarf"
|
||||
"Dwarf/Types"
|
||||
"Dwarf/Constants"
|
||||
"Convert"
|
||||
"ByteCodeTypes"
|
||||
"ByteCodeAsm"
|
||||
"ByteCodeGen"
|
||||
"ByteCodeInstr"
|
||||
"ByteCodeItbls"
|
||||
"ByteCodeLink"
|
||||
"Debugger"
|
||||
"Linker"
|
||||
"RtClosureInspect"
|
||||
"GHCi"
|
||||
];
|
||||
cSources = [
|
||||
"parser/cutils.c"
|
||||
"ghci/keepCAFsForGHCi.c"
|
||||
"cbits/genSym.c"
|
||||
];
|
||||
hsSourceDirs = [
|
||||
"backpack"
|
||||
"basicTypes"
|
||||
"cmm"
|
||||
"codeGen"
|
||||
"coreSyn"
|
||||
"deSugar"
|
||||
"ghci"
|
||||
"hsSyn"
|
||||
"iface"
|
||||
"llvmGen"
|
||||
"main"
|
||||
"nativeGen"
|
||||
"parser"
|
||||
"prelude"
|
||||
"profiling"
|
||||
"rename"
|
||||
"simplCore"
|
||||
"simplStg"
|
||||
"specialise"
|
||||
"stgSyn"
|
||||
"stranal"
|
||||
"typecheck"
|
||||
"types"
|
||||
"utils"
|
||||
"hieFile"
|
||||
];
|
||||
includeDirs = [
|
||||
"."
|
||||
"parser"
|
||||
"utils"
|
||||
] ++ (pkgs.lib).optional (flags.ghci) "../rts/dist/build";
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ../compiler; }
|
@ -0,0 +1,101 @@
|
||||
let
|
||||
buildDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
sysDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
||||
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
pkgConfDepError = pkg:
|
||||
builtins.throw ''
|
||||
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
||||
|
||||
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
exeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The local executable components do not include the component: ${pkg} (executable dependency).
|
||||
'';
|
||||
legacyExeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
buildToolDepError = pkg:
|
||||
builtins.throw ''
|
||||
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
||||
|
||||
If this is a system dependency:
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
|
||||
If this is a Haskell dependency:
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
||||
{
|
||||
flags = { ghci = false; };
|
||||
package = {
|
||||
specVersion = "1.10";
|
||||
identifier = { name = "ghci"; version = "8.8.3"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "";
|
||||
maintainer = "ghc-devs@haskell.org";
|
||||
author = "";
|
||||
homepage = "";
|
||||
url = "";
|
||||
synopsis = "The library supporting GHC's interactive interpreter";
|
||||
description = "This library offers interfaces which mediate interactions between the\n@ghci@ interactive shell and @iserv@, GHC's out-of-process interpreter\nbackend.";
|
||||
buildType = "Simple";
|
||||
isLocal = true;
|
||||
detailLevel = "FullDetails";
|
||||
licenseFiles = [ "LICENSE" ];
|
||||
dataDir = "";
|
||||
dataFiles = [];
|
||||
extraSrcFiles = [ "changelog.md" ];
|
||||
extraTmpFiles = [];
|
||||
extraDocFiles = [];
|
||||
};
|
||||
components = {
|
||||
"library" = {
|
||||
depends = [
|
||||
(hsPkgs."array" or (buildDepError "array"))
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."binary" or (buildDepError "binary"))
|
||||
(hsPkgs."bytestring" or (buildDepError "bytestring"))
|
||||
(hsPkgs."containers" or (buildDepError "containers"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
(hsPkgs."filepath" or (buildDepError "filepath"))
|
||||
(hsPkgs."ghc-boot" or (buildDepError "ghc-boot"))
|
||||
(hsPkgs."ghc-boot-th" or (buildDepError "ghc-boot-th"))
|
||||
(hsPkgs."ghc-heap" or (buildDepError "ghc-heap"))
|
||||
(hsPkgs."template-haskell" or (buildDepError "template-haskell"))
|
||||
(hsPkgs."transformers" or (buildDepError "transformers"))
|
||||
] ++ (pkgs.lib).optional (!system.isWindows) (hsPkgs."unix" or (buildDepError "unix"));
|
||||
buildable = true;
|
||||
modules = [
|
||||
"GHCi/BreakArray"
|
||||
"GHCi/BinaryArray"
|
||||
"GHCi/Message"
|
||||
"GHCi/ResolvedBCO"
|
||||
"GHCi/RemoteTypes"
|
||||
"GHCi/FFI"
|
||||
"GHCi/InfoTable"
|
||||
"GHCi/StaticPtrTable"
|
||||
"GHCi/TH/Binary"
|
||||
"SizedSeq"
|
||||
] ++ (pkgs.lib).optionals (flags.ghci) [
|
||||
"GHCi/Run"
|
||||
"GHCi/CreateBCO"
|
||||
"GHCi/ObjLink"
|
||||
"GHCi/Signals"
|
||||
"GHCi/TH"
|
||||
];
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ../libraries/ghci; }
|
@ -0,0 +1,86 @@
|
||||
let
|
||||
buildDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
sysDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
||||
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
pkgConfDepError = pkg:
|
||||
builtins.throw ''
|
||||
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
||||
|
||||
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
exeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The local executable components do not include the component: ${pkg} (executable dependency).
|
||||
'';
|
||||
legacyExeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
buildToolDepError = pkg:
|
||||
builtins.throw ''
|
||||
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
||||
|
||||
If this is a system dependency:
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
|
||||
If this is a Haskell dependency:
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
||||
{
|
||||
flags = {};
|
||||
package = {
|
||||
specVersion = "1.10";
|
||||
identifier = { name = "iserv-proxy"; version = "8.8.3"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "XXX";
|
||||
maintainer = "XXX";
|
||||
author = "XXX";
|
||||
homepage = "";
|
||||
url = "";
|
||||
synopsis = "iserv allows GHC to delegate Tempalte Haskell computations";
|
||||
description = "GHC can be provided with a path to the iserv binary with\n@-pgmi=/path/to/iserv-bin@, and will in combination with\n@-fexternal-interpreter@, compile Template Haskell though the\n@iserv-bin@ delegate. This is very similar to how ghcjs has been\ncompiling Template Haskell, by spawning a separate delegate (so\ncalled runner on the javascript vm) and evaluating the splices\nthere.\n\niserv can also be used in combination with cross compilation. For\nthis, the @iserv-proxy@ needs to be built on the host, targeting the\nhost (as it is running on the host). @cabal install -flibrary\n-fproxy@ will yield the proxy.\n\nUsing the cabal for the target @arch-platform-target-cabal install\n-flibrary@ will build the required library that contains the ffi\n@startSlave@ function, which needs to be invoked on the target\n(e.g. in an iOS application) to start the remote iserv slave.\n\ncalling the GHC cross compiler with @-fexternal-interpreter\n-pgmi=\$HOME/.cabal/bin/iserv-proxy -opti\\<ip address\\> -opti\\<port\\>@\nwill cause it to compile Template Haskell via the remote at \\<ip address\\>.\n\nThus to get cross compilation with Template Haskell follow the\nfollowing receipt:\n\n* compile the iserv library for your target\n\n> iserv \$ arch-platform-target-cabal install -flibrary\n\n* setup an application for your target that calls the\n* startSlave function. This could be either haskell or your\n* targets ffi capable language, if needed.\n\n> void startSlave(false /* verbose */, 5000 /* port */,\n> \"/path/to/storagelocation/on/target\");\n\n* build the iserv-proxy\n\n> iserv \$ cabal install -flibrary -fproxy\n* Start your iserv-slave app on your target running on say @10.0.0.1:5000@\n* compiler your sources with -fexternal-interpreter and the proxy\n\n> project \$ arch-platform-target-ghc ModuleContainingTH.hs \\\n> -fexternal-interpreter \\\n> -pgmi=\$HOME/.cabal/bin/iserv-proxy \\\n> -opti10.0.0.1 -opti5000\n\nShould something not work as expected, provide @-opti-v@ for verbose\nlogging of the @iserv-proxy@.";
|
||||
buildType = "Simple";
|
||||
isLocal = true;
|
||||
detailLevel = "FullDetails";
|
||||
licenseFiles = [];
|
||||
dataDir = "";
|
||||
dataFiles = [];
|
||||
extraSrcFiles = [];
|
||||
extraTmpFiles = [];
|
||||
extraDocFiles = [];
|
||||
};
|
||||
components = {
|
||||
exes = {
|
||||
"iserv-proxy" = {
|
||||
depends = [
|
||||
(hsPkgs."array" or (buildDepError "array"))
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."binary" or (buildDepError "binary"))
|
||||
(hsPkgs."bytestring" or (buildDepError "bytestring"))
|
||||
(hsPkgs."containers" or (buildDepError "containers"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
(hsPkgs."directory" or (buildDepError "directory"))
|
||||
(hsPkgs."network" or (buildDepError "network"))
|
||||
(hsPkgs."filepath" or (buildDepError "filepath"))
|
||||
(hsPkgs."ghci" or (buildDepError "ghci"))
|
||||
(hsPkgs."libiserv" or (buildDepError "libiserv"))
|
||||
];
|
||||
buildable = true;
|
||||
hsSourceDirs = [ "src" ];
|
||||
mainPath = [ "Main.hs" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ../utils/iserv-proxy; }
|
@ -0,0 +1,85 @@
|
||||
let
|
||||
buildDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
sysDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
||||
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
pkgConfDepError = pkg:
|
||||
builtins.throw ''
|
||||
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
||||
|
||||
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
exeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The local executable components do not include the component: ${pkg} (executable dependency).
|
||||
'';
|
||||
legacyExeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
buildToolDepError = pkg:
|
||||
builtins.throw ''
|
||||
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
||||
|
||||
If this is a system dependency:
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
|
||||
If this is a Haskell dependency:
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
||||
{
|
||||
flags = {};
|
||||
package = {
|
||||
specVersion = "1.10";
|
||||
identifier = { name = "iserv"; version = "8.8.3"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "XXX";
|
||||
maintainer = "XXX";
|
||||
author = "XXX";
|
||||
homepage = "";
|
||||
url = "";
|
||||
synopsis = "iserv allows GHC to delegate Template Haskell computations";
|
||||
description = "GHC can be provided with a path to the iserv binary with\n@-pgmi=/path/to/iserv-bin@, and will in combination with\n@-fexternal-interpreter@, compile Template Haskell though the\n@iserv-bin@ delegate. This is very similar to how ghcjs has been\ncompiling Template Haskell, by spawning a separate delegate (so\ncalled runner on the javascript vm) and evaluating the splices\nthere.\n\nTo use iserv with cross compilers, please see @libraries/libiserv@\nand @utils/iserv-proxy@.";
|
||||
buildType = "Simple";
|
||||
isLocal = true;
|
||||
detailLevel = "FullDetails";
|
||||
licenseFiles = [];
|
||||
dataDir = "";
|
||||
dataFiles = [];
|
||||
extraSrcFiles = [];
|
||||
extraTmpFiles = [];
|
||||
extraDocFiles = [];
|
||||
};
|
||||
components = {
|
||||
exes = {
|
||||
"iserv" = {
|
||||
depends = [
|
||||
(hsPkgs."array" or (buildDepError "array"))
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."binary" or (buildDepError "binary"))
|
||||
(hsPkgs."bytestring" or (buildDepError "bytestring"))
|
||||
(hsPkgs."containers" or (buildDepError "containers"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
(hsPkgs."ghci" or (buildDepError "ghci"))
|
||||
(hsPkgs."libiserv" or (buildDepError "libiserv"))
|
||||
] ++ (pkgs.lib).optional (!system.isWindows) (hsPkgs."unix" or (buildDepError "unix"));
|
||||
buildable = true;
|
||||
cSources = [ "cbits/iservmain.c" ];
|
||||
hsSourceDirs = [ "src" ];
|
||||
includeDirs = [ "." ];
|
||||
mainPath = [ "Main.hs" ] ++ [ "" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ../utils/iserv; }
|
@ -0,0 +1,89 @@
|
||||
let
|
||||
buildDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
sysDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
||||
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
pkgConfDepError = pkg:
|
||||
builtins.throw ''
|
||||
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
||||
|
||||
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
exeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The local executable components do not include the component: ${pkg} (executable dependency).
|
||||
'';
|
||||
legacyExeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
buildToolDepError = pkg:
|
||||
builtins.throw ''
|
||||
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
||||
|
||||
If this is a system dependency:
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
|
||||
If this is a Haskell dependency:
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
||||
{
|
||||
flags = { network = false; };
|
||||
package = {
|
||||
specVersion = "1.10";
|
||||
identifier = { name = "libiserv"; version = "8.8.3"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "XXX";
|
||||
maintainer = "XXX";
|
||||
author = "XXX";
|
||||
homepage = "";
|
||||
url = "";
|
||||
synopsis = "Provides shared functionality between iserv and iserv-proxy";
|
||||
description = "";
|
||||
buildType = "Simple";
|
||||
isLocal = true;
|
||||
detailLevel = "FullDetails";
|
||||
licenseFiles = [ "LICENSE" ];
|
||||
dataDir = "";
|
||||
dataFiles = [];
|
||||
extraSrcFiles = [];
|
||||
extraTmpFiles = [];
|
||||
extraDocFiles = [];
|
||||
};
|
||||
components = {
|
||||
"library" = {
|
||||
depends = ([
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."binary" or (buildDepError "binary"))
|
||||
(hsPkgs."bytestring" or (buildDepError "bytestring"))
|
||||
(hsPkgs."containers" or (buildDepError "containers"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
(hsPkgs."ghci" or (buildDepError "ghci"))
|
||||
] ++ (pkgs.lib).optionals (flags.network) [
|
||||
(hsPkgs."network" or (buildDepError "network"))
|
||||
(hsPkgs."directory" or (buildDepError "directory"))
|
||||
(hsPkgs."filepath" or (buildDepError "filepath"))
|
||||
]) ++ (pkgs.lib).optional (!system.isWindows) (hsPkgs."unix" or (buildDepError "unix"));
|
||||
buildable = true;
|
||||
modules = [
|
||||
"Lib"
|
||||
"GHCi/Utils"
|
||||
] ++ (pkgs.lib).optionals (flags.network) [
|
||||
"Remote/Message"
|
||||
"Remote/Slave"
|
||||
];
|
||||
hsSourceDirs = [ "src" ];
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ../libraries/libiserv; }
|
@ -0,0 +1,77 @@
|
||||
let
|
||||
buildDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
sysDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
||||
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
pkgConfDepError = pkg:
|
||||
builtins.throw ''
|
||||
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
||||
|
||||
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
exeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The local executable components do not include the component: ${pkg} (executable dependency).
|
||||
'';
|
||||
legacyExeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
buildToolDepError = pkg:
|
||||
builtins.throw ''
|
||||
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
||||
|
||||
If this is a system dependency:
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
|
||||
If this is a Haskell dependency:
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
||||
{
|
||||
flags = {};
|
||||
package = {
|
||||
specVersion = "1.10";
|
||||
identifier = { name = "remote-iserv"; version = "8.8.3"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "XXX";
|
||||
maintainer = "Moritz Angermann <moritz.angermann@gmail.com>";
|
||||
author = "Moritz Angermann <moritz.angermann@gmail.com>";
|
||||
homepage = "";
|
||||
url = "";
|
||||
synopsis = "iserv allows GHC to delegate Tempalte Haskell computations";
|
||||
description = "This is a very simple remote runner for iserv, to be used together\nwith iserv-proxy. The foundamental idea is that this this wrapper\nstarts running libiserv on a given port to which iserv-proxy will\nthen connect.";
|
||||
buildType = "Simple";
|
||||
isLocal = true;
|
||||
detailLevel = "FullDetails";
|
||||
licenseFiles = [];
|
||||
dataDir = "";
|
||||
dataFiles = [];
|
||||
extraSrcFiles = [];
|
||||
extraTmpFiles = [];
|
||||
extraDocFiles = [];
|
||||
};
|
||||
components = {
|
||||
exes = {
|
||||
"remote-iserv" = {
|
||||
depends = [
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."libiserv" or (buildDepError "libiserv"))
|
||||
];
|
||||
buildable = true;
|
||||
hsSourceDirs = [ "src" ];
|
||||
mainPath = [ "Cli.hs" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ../utils/remote-iserv; }
|
95
materialized/ghc-extra-projects/default/ghc883/default.nix
Normal file
95
materialized/ghc-extra-projects/default/ghc883/default.nix
Normal file
@ -0,0 +1,95 @@
|
||||
{
|
||||
pkgs = hackage:
|
||||
{
|
||||
packages = {
|
||||
"binary".revision = (((hackage."binary")."0.8.8.0").revisions).default;
|
||||
"ghc-prim".revision = (((hackage."ghc-prim")."0.5.3").revisions).default;
|
||||
"unix".revision = (((hackage."unix")."2.7.2.2").revisions).default;
|
||||
"ghc-heap".revision = (((hackage."ghc-heap")."8.8.3").revisions).default;
|
||||
"mtl".revision = (((hackage."mtl")."2.2.2").revisions).default;
|
||||
"rts".revision = (((hackage."rts")."1.0").revisions).default;
|
||||
"alex".revision = (((hackage."alex")."3.2.5").revisions).default;
|
||||
"alex".flags.small_base = true;
|
||||
"deepseq".revision = (((hackage."deepseq")."1.4.4.0").revisions).default;
|
||||
"network".revision = (((hackage."network")."2.8.0.1").revisions).default;
|
||||
"directory".revision = (((hackage."directory")."1.3.6.1").revisions).default;
|
||||
"template-haskell".revision = (((hackage."template-haskell")."2.15.0.0").revisions).default;
|
||||
"containers".revision = (((hackage."containers")."0.6.2.1").revisions).default;
|
||||
"base".revision = (((hackage."base")."4.13.0.0").revisions).default;
|
||||
"time".revision = (((hackage."time")."1.9.3").revisions).default;
|
||||
"terminfo".revision = (((hackage."terminfo")."0.4.1.4").revisions).default;
|
||||
"transformers".revision = (((hackage."transformers")."0.5.6.2").revisions).default;
|
||||
"happy".revision = (((hackage."happy")."1.19.12").revisions).default;
|
||||
"happy".flags.small_base = true;
|
||||
"hpc".revision = (((hackage."hpc")."0.6.0.3").revisions).default;
|
||||
"filepath".revision = (((hackage."filepath")."1.4.2.1").revisions).default;
|
||||
"process".revision = (((hackage."process")."1.6.8.2").revisions).default;
|
||||
"pretty".revision = (((hackage."pretty")."1.1.3.6").revisions).default;
|
||||
"ghc-boot-th".revision = (((hackage."ghc-boot-th")."8.8.3").revisions).default;
|
||||
"array".revision = (((hackage."array")."0.5.4.0").revisions).default;
|
||||
"integer-gmp".revision = (((hackage."integer-gmp")."1.0.2.0").revisions).default;
|
||||
};
|
||||
compiler = {
|
||||
version = "8.8.3";
|
||||
nix-name = "ghc883";
|
||||
packages = {
|
||||
"ghc-prim" = "0.5.3";
|
||||
"ghc-heap" = "8.8.3";
|
||||
"mtl" = "2.2.2";
|
||||
"rts" = "1.0";
|
||||
"deepseq" = "1.4.4.0";
|
||||
"template-haskell" = "2.15.0.0";
|
||||
"containers" = "0.6.2.1";
|
||||
"base" = "4.13.0.0";
|
||||
"time" = "1.9.3";
|
||||
"terminfo" = "0.4.1.4";
|
||||
"transformers" = "0.5.6.2";
|
||||
"filepath" = "1.4.2.1";
|
||||
"pretty" = "1.1.3.6";
|
||||
"ghc-boot-th" = "8.8.3";
|
||||
"array" = "0.5.4.0";
|
||||
"integer-gmp" = "1.0.2.0";
|
||||
};
|
||||
};
|
||||
};
|
||||
extras = hackage:
|
||||
{
|
||||
packages = {
|
||||
ghc = ./.plan.nix/ghc.nix;
|
||||
bytestring = ./.plan.nix/bytestring.nix;
|
||||
remote-iserv = ./.plan.nix/remote-iserv.nix;
|
||||
iserv-proxy = ./.plan.nix/iserv-proxy.nix;
|
||||
libiserv = ./.plan.nix/libiserv.nix;
|
||||
ghc-boot = ./.plan.nix/ghc-boot.nix;
|
||||
ghci = ./.plan.nix/ghci.nix;
|
||||
iserv = ./.plan.nix/iserv.nix;
|
||||
};
|
||||
};
|
||||
modules = [
|
||||
({ lib, ... }:
|
||||
{
|
||||
packages = {
|
||||
"ghc" = {
|
||||
flags = {
|
||||
"stage1" = lib.mkOverride 900 false;
|
||||
"stage2" = lib.mkOverride 900 true;
|
||||
"integer-gmp" = lib.mkOverride 900 false;
|
||||
"stage3" = lib.mkOverride 900 false;
|
||||
"ghci" = lib.mkOverride 900 true;
|
||||
"integer-simple" = lib.mkOverride 900 false;
|
||||
"terminfo" = lib.mkOverride 900 true;
|
||||
};
|
||||
};
|
||||
"bytestring" = {
|
||||
flags = { "integer-simple" = lib.mkOverride 900 false; };
|
||||
};
|
||||
"remote-iserv" = { flags = {}; };
|
||||
"iserv-proxy" = { flags = {}; };
|
||||
"libiserv" = { flags = { "network" = lib.mkOverride 900 true; }; };
|
||||
"ghc-boot" = { flags = {}; };
|
||||
"ghci" = { flags = { "ghci" = lib.mkOverride 900 true; }; };
|
||||
"iserv" = { flags = {}; };
|
||||
};
|
||||
})
|
||||
];
|
||||
}
|
@ -0,0 +1,167 @@
|
||||
let
|
||||
buildDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
sysDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
||||
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
pkgConfDepError = pkg:
|
||||
builtins.throw ''
|
||||
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
||||
|
||||
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
exeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The local executable components do not include the component: ${pkg} (executable dependency).
|
||||
'';
|
||||
legacyExeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
buildToolDepError = pkg:
|
||||
builtins.throw ''
|
||||
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
||||
|
||||
If this is a system dependency:
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
|
||||
If this is a Haskell dependency:
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
||||
{
|
||||
flags = { integer-simple = false; };
|
||||
package = {
|
||||
specVersion = "1.10";
|
||||
identifier = { name = "bytestring"; version = "0.10.8.2"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "Copyright (c) Don Stewart 2005-2009,\n(c) Duncan Coutts 2006-2015,\n(c) David Roundy 2003-2005,\n(c) Jasper Van der Jeugt 2010,\n(c) Simon Meier 2010-2013.";
|
||||
maintainer = "Duncan Coutts <duncan@community.haskell.org>";
|
||||
author = "Don Stewart,\nDuncan Coutts";
|
||||
homepage = "https://github.com/haskell/bytestring";
|
||||
url = "";
|
||||
synopsis = "Fast, compact, strict and lazy byte strings with a list interface";
|
||||
description = "An efficient compact, immutable byte string type (both strict and lazy)\nsuitable for binary or 8-bit character data.\n\nThe 'ByteString' type represents sequences of bytes or 8-bit characters.\nIt is suitable for high performance use, both in terms of large data\nquantities, or high speed requirements. The 'ByteString' functions follow\nthe same style as Haskell\\'s ordinary lists, so it is easy to convert code\nfrom using 'String' to 'ByteString'.\n\nTwo 'ByteString' variants are provided:\n\n* Strict 'ByteString's keep the string as a single large array. This\nmakes them convenient for passing data between C and Haskell.\n\n* Lazy 'ByteString's use a lazy list of strict chunks which makes it\nsuitable for I\\/O streaming tasks.\n\nThe @Char8@ modules provide a character-based view of the same\nunderlying 'ByteString' types. This makes it convenient to handle mixed\nbinary and 8-bit character content (which is common in many file formats\nand network protocols).\n\nThe 'Builder' module provides an efficient way to build up 'ByteString's\nin an ad-hoc way by repeated concatenation. This is ideal for fast\nserialisation or pretty printing.\n\nThere is also a 'ShortByteString' type which has a lower memory overhead\nand can can be converted to or from a 'ByteString', but supports very few\nother operations. It is suitable for keeping many short strings in memory.\n\n'ByteString's are not designed for Unicode. For Unicode strings you should\nuse the 'Text' type from the @text@ package.\n\nThese modules are intended to be imported qualified, to avoid name clashes\nwith \"Prelude\" functions, e.g.\n\n> import qualified Data.ByteString as BS";
|
||||
buildType = "Simple";
|
||||
isLocal = true;
|
||||
detailLevel = "FullDetails";
|
||||
licenseFiles = [ "LICENSE" ];
|
||||
dataDir = "";
|
||||
dataFiles = [];
|
||||
extraSrcFiles = [ "README.md" "Changelog.md" ];
|
||||
extraTmpFiles = [];
|
||||
extraDocFiles = [];
|
||||
};
|
||||
components = {
|
||||
"library" = {
|
||||
depends = ([
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."ghc-prim" or (buildDepError "ghc-prim"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
] ++ (pkgs.lib).optionals (compiler.isGhc && (compiler.version).ge "6.11") ((pkgs.lib).optional (!flags.integer-simple) (hsPkgs."integer-gmp" or (buildDepError "integer-gmp")))) ++ (pkgs.lib).optional (compiler.isGhc && (compiler.version).ge "6.9" && (compiler.isGhc && (compiler.version).lt "6.11")) (hsPkgs."integer" or (buildDepError "integer"));
|
||||
buildable = true;
|
||||
modules = [
|
||||
"Data/ByteString/Builder/ASCII"
|
||||
"Data/ByteString/Builder/Prim/Binary"
|
||||
"Data/ByteString/Builder/Prim/ASCII"
|
||||
"Data/ByteString/Builder/Prim/Internal/Floating"
|
||||
"Data/ByteString/Builder/Prim/Internal/UncheckedShifts"
|
||||
"Data/ByteString/Builder/Prim/Internal/Base16"
|
||||
"Data/ByteString"
|
||||
"Data/ByteString/Char8"
|
||||
"Data/ByteString/Unsafe"
|
||||
"Data/ByteString/Internal"
|
||||
"Data/ByteString/Lazy"
|
||||
"Data/ByteString/Lazy/Char8"
|
||||
"Data/ByteString/Lazy/Internal"
|
||||
"Data/ByteString/Short"
|
||||
"Data/ByteString/Short/Internal"
|
||||
"Data/ByteString/Builder"
|
||||
"Data/ByteString/Builder/Extra"
|
||||
"Data/ByteString/Builder/Prim"
|
||||
"Data/ByteString/Builder/Internal"
|
||||
"Data/ByteString/Builder/Prim/Internal"
|
||||
"Data/ByteString/Lazy/Builder"
|
||||
"Data/ByteString/Lazy/Builder/Extras"
|
||||
"Data/ByteString/Lazy/Builder/ASCII"
|
||||
];
|
||||
cSources = [ "cbits/fpstring.c" "cbits/itoa.c" ];
|
||||
includeDirs = [ "include" ];
|
||||
includes = [ "fpstring.h" ];
|
||||
};
|
||||
tests = {
|
||||
"prop-compiled" = {
|
||||
depends = [
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."ghc-prim" or (buildDepError "ghc-prim"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
(hsPkgs."random" or (buildDepError "random"))
|
||||
(hsPkgs."directory" or (buildDepError "directory"))
|
||||
(hsPkgs."test-framework" or (buildDepError "test-framework"))
|
||||
(hsPkgs."test-framework-quickcheck2" or (buildDepError "test-framework-quickcheck2"))
|
||||
(hsPkgs."QuickCheck" or (buildDepError "QuickCheck"))
|
||||
];
|
||||
buildable = true;
|
||||
modules = [ "Rules" "QuickCheckUtils" "TestFramework" ];
|
||||
cSources = [ "cbits/fpstring.c" ];
|
||||
hsSourceDirs = [ "." "tests" ];
|
||||
includeDirs = [ "include" ];
|
||||
mainPath = [ "Properties.hs" ];
|
||||
};
|
||||
"regressions" = {
|
||||
depends = [
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."ghc-prim" or (buildDepError "ghc-prim"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
(hsPkgs."random" or (buildDepError "random"))
|
||||
(hsPkgs."directory" or (buildDepError "directory"))
|
||||
(hsPkgs."test-framework" or (buildDepError "test-framework"))
|
||||
(hsPkgs."test-framework-hunit" or (buildDepError "test-framework-hunit"))
|
||||
(hsPkgs."HUnit" or (buildDepError "HUnit"))
|
||||
];
|
||||
buildable = false;
|
||||
cSources = [ "cbits/fpstring.c" ];
|
||||
hsSourceDirs = [ "." "tests" ];
|
||||
includeDirs = [ "include" ];
|
||||
mainPath = [ "Regressions.hs" ];
|
||||
};
|
||||
"test-builder" = {
|
||||
depends = [
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."ghc-prim" or (buildDepError "ghc-prim"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
(hsPkgs."QuickCheck" or (buildDepError "QuickCheck"))
|
||||
(hsPkgs."byteorder" or (buildDepError "byteorder"))
|
||||
(hsPkgs."dlist" or (buildDepError "dlist"))
|
||||
(hsPkgs."directory" or (buildDepError "directory"))
|
||||
(hsPkgs."mtl" or (buildDepError "mtl"))
|
||||
(hsPkgs."HUnit" or (buildDepError "HUnit"))
|
||||
(hsPkgs."test-framework" or (buildDepError "test-framework"))
|
||||
(hsPkgs."test-framework-hunit" or (buildDepError "test-framework-hunit"))
|
||||
(hsPkgs."test-framework-quickcheck2" or (buildDepError "test-framework-quickcheck2"))
|
||||
];
|
||||
buildable = true;
|
||||
modules = [
|
||||
"Data/ByteString/Builder/Tests"
|
||||
"Data/ByteString/Builder/Prim/Tests"
|
||||
"Data/ByteString/Builder/Prim/TestUtils"
|
||||
"TestFramework"
|
||||
];
|
||||
cSources = [ "cbits/fpstring.c" "cbits/itoa.c" ];
|
||||
hsSourceDirs = [ "." "tests" "tests/builder" ];
|
||||
includeDirs = [ "include" ];
|
||||
includes = [ "fpstring.h" ];
|
||||
mainPath = [ "TestSuite.hs" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ../libraries/bytestring; }
|
@ -0,0 +1,84 @@
|
||||
let
|
||||
buildDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
sysDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
||||
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
pkgConfDepError = pkg:
|
||||
builtins.throw ''
|
||||
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
||||
|
||||
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
exeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The local executable components do not include the component: ${pkg} (executable dependency).
|
||||
'';
|
||||
legacyExeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
buildToolDepError = pkg:
|
||||
builtins.throw ''
|
||||
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
||||
|
||||
If this is a system dependency:
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
|
||||
If this is a Haskell dependency:
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
||||
{
|
||||
flags = {};
|
||||
package = {
|
||||
specVersion = "1.22";
|
||||
identifier = { name = "ghc-boot"; version = "8.6.5"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "";
|
||||
maintainer = "ghc-devs@haskell.org";
|
||||
author = "";
|
||||
homepage = "";
|
||||
url = "";
|
||||
synopsis = "Shared functionality between GHC and its boot libraries";
|
||||
description = "This library is shared between GHC, ghc-pkg, and other boot\nlibraries.\n\nA note about \"GHC.PackageDb\": it only deals with the subset of\nthe package database that the compiler cares about: modules\npaths etc and not package metadata like description, authors\netc. It is thus not a library interface to ghc-pkg and is *not*\nsuitable for modifying GHC package databases.\n\nThe package database format and this library are constructed in\nsuch a way that while ghc-pkg depends on Cabal, the GHC library\nand program do not have to depend on Cabal.";
|
||||
buildType = "Simple";
|
||||
isLocal = true;
|
||||
detailLevel = "FullDetails";
|
||||
licenseFiles = [ "LICENSE" ];
|
||||
dataDir = "";
|
||||
dataFiles = [];
|
||||
extraSrcFiles = [ "changelog.md" ];
|
||||
extraTmpFiles = [];
|
||||
extraDocFiles = [];
|
||||
};
|
||||
components = {
|
||||
"library" = {
|
||||
depends = [
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."binary" or (buildDepError "binary"))
|
||||
(hsPkgs."bytestring" or (buildDepError "bytestring"))
|
||||
(hsPkgs."directory" or (buildDepError "directory"))
|
||||
(hsPkgs."filepath" or (buildDepError "filepath"))
|
||||
(hsPkgs."ghc-boot-th" or (buildDepError "ghc-boot-th"))
|
||||
];
|
||||
buildable = true;
|
||||
modules = [
|
||||
"GHC/LanguageExtensions"
|
||||
"GHC/PackageDb"
|
||||
"GHC/Serialized"
|
||||
"GHC/ForeignSrcLang"
|
||||
"GHC/HandleEncoding"
|
||||
];
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ../libraries/ghc-boot; }
|
590
materialized/ghc-extra-projects/windows/ghc865/.plan.nix/ghc.nix
Normal file
590
materialized/ghc-extra-projects/windows/ghc865/.plan.nix/ghc.nix
Normal file
@ -0,0 +1,590 @@
|
||||
let
|
||||
buildDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
sysDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
||||
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
pkgConfDepError = pkg:
|
||||
builtins.throw ''
|
||||
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
||||
|
||||
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
exeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The local executable components do not include the component: ${pkg} (executable dependency).
|
||||
'';
|
||||
legacyExeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
buildToolDepError = pkg:
|
||||
builtins.throw ''
|
||||
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
||||
|
||||
If this is a system dependency:
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
|
||||
If this is a Haskell dependency:
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
||||
{
|
||||
flags = {
|
||||
ghci = false;
|
||||
terminfo = true;
|
||||
stage1 = false;
|
||||
stage2 = true;
|
||||
stage3 = false;
|
||||
};
|
||||
package = {
|
||||
specVersion = "1.10";
|
||||
identifier = { name = "ghc"; version = "8.6.5"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "";
|
||||
maintainer = "glasgow-haskell-users@haskell.org";
|
||||
author = "The GHC Team";
|
||||
homepage = "http://www.haskell.org/ghc/";
|
||||
url = "";
|
||||
synopsis = "The GHC API";
|
||||
description = "GHC's functionality can be useful for more things than just\ncompiling Haskell programs. Important use cases are programs\nthat analyse (and perhaps transform) Haskell code. Others\ninclude loading Haskell code dynamically in a GHCi-like manner.\nFor this reason, a lot of GHC's functionality is made available\nthrough this package.";
|
||||
buildType = "Simple";
|
||||
isLocal = true;
|
||||
detailLevel = "FullDetails";
|
||||
licenseFiles = [ "LICENSE" ];
|
||||
dataDir = "";
|
||||
dataFiles = [];
|
||||
extraSrcFiles = [
|
||||
"utils/md5.h"
|
||||
"Unique.h"
|
||||
"nativeGen/NCG.h"
|
||||
"parser/cutils.h"
|
||||
];
|
||||
extraTmpFiles = [];
|
||||
extraDocFiles = [];
|
||||
};
|
||||
components = {
|
||||
"library" = {
|
||||
depends = [
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
(hsPkgs."directory" or (buildDepError "directory"))
|
||||
(hsPkgs."process" or (buildDepError "process"))
|
||||
(hsPkgs."bytestring" or (buildDepError "bytestring"))
|
||||
(hsPkgs."binary" or (buildDepError "binary"))
|
||||
(hsPkgs."time" or (buildDepError "time"))
|
||||
(hsPkgs."containers" or (buildDepError "containers"))
|
||||
(hsPkgs."array" or (buildDepError "array"))
|
||||
(hsPkgs."filepath" or (buildDepError "filepath"))
|
||||
(hsPkgs."template-haskell" or (buildDepError "template-haskell"))
|
||||
(hsPkgs."hpc" or (buildDepError "hpc"))
|
||||
(hsPkgs."transformers" or (buildDepError "transformers"))
|
||||
(hsPkgs."ghc-boot" or (buildDepError "ghc-boot"))
|
||||
(hsPkgs."ghc-boot-th" or (buildDepError "ghc-boot-th"))
|
||||
(hsPkgs."ghc-heap" or (buildDepError "ghc-heap"))
|
||||
(hsPkgs."ghci" or (buildDepError "ghci"))
|
||||
] ++ (if system.isWindows
|
||||
then [ (hsPkgs."Win32" or (buildDepError "Win32")) ]
|
||||
else [
|
||||
(hsPkgs."unix" or (buildDepError "unix"))
|
||||
] ++ (pkgs.lib).optional (flags.terminfo) (hsPkgs."terminfo" or (buildDepError "terminfo")));
|
||||
build-tools = [
|
||||
(hsPkgs.buildPackages.alex or (pkgs.buildPackages.alex or (buildToolDepError "alex")))
|
||||
(hsPkgs.buildPackages.happy or (pkgs.buildPackages.happy or (buildToolDepError "happy")))
|
||||
];
|
||||
buildable = true;
|
||||
modules = [
|
||||
"GhcPrelude"
|
||||
"Ar"
|
||||
"FileCleanup"
|
||||
"DriverBkp"
|
||||
"BkpSyn"
|
||||
"NameShape"
|
||||
"RnModIface"
|
||||
"Avail"
|
||||
"AsmUtils"
|
||||
"BasicTypes"
|
||||
"ConLike"
|
||||
"DataCon"
|
||||
"PatSyn"
|
||||
"Demand"
|
||||
"Debug"
|
||||
"Exception"
|
||||
"FieldLabel"
|
||||
"GhcMonad"
|
||||
"Hooks"
|
||||
"Id"
|
||||
"IdInfo"
|
||||
"Lexeme"
|
||||
"Literal"
|
||||
"Llvm"
|
||||
"Llvm/AbsSyn"
|
||||
"Llvm/MetaData"
|
||||
"Llvm/PpLlvm"
|
||||
"Llvm/Types"
|
||||
"LlvmCodeGen"
|
||||
"LlvmCodeGen/Base"
|
||||
"LlvmCodeGen/CodeGen"
|
||||
"LlvmCodeGen/Data"
|
||||
"LlvmCodeGen/Ppr"
|
||||
"LlvmCodeGen/Regs"
|
||||
"LlvmMangler"
|
||||
"MkId"
|
||||
"Module"
|
||||
"Name"
|
||||
"NameEnv"
|
||||
"NameSet"
|
||||
"OccName"
|
||||
"RdrName"
|
||||
"NameCache"
|
||||
"SrcLoc"
|
||||
"UniqSupply"
|
||||
"Unique"
|
||||
"Var"
|
||||
"VarEnv"
|
||||
"VarSet"
|
||||
"UnVarGraph"
|
||||
"BlockId"
|
||||
"CLabel"
|
||||
"Cmm"
|
||||
"CmmBuildInfoTables"
|
||||
"CmmPipeline"
|
||||
"CmmCallConv"
|
||||
"CmmCommonBlockElim"
|
||||
"CmmImplementSwitchPlans"
|
||||
"CmmContFlowOpt"
|
||||
"CmmExpr"
|
||||
"CmmInfo"
|
||||
"CmmLex"
|
||||
"CmmLint"
|
||||
"CmmLive"
|
||||
"CmmMachOp"
|
||||
"CmmMonad"
|
||||
"CmmSwitch"
|
||||
"CmmNode"
|
||||
"CmmOpt"
|
||||
"CmmParse"
|
||||
"CmmProcPoint"
|
||||
"CmmSink"
|
||||
"CmmType"
|
||||
"CmmUtils"
|
||||
"CmmLayoutStack"
|
||||
"EnumSet"
|
||||
"MkGraph"
|
||||
"PprBase"
|
||||
"PprC"
|
||||
"PprCmm"
|
||||
"PprCmmDecl"
|
||||
"PprCmmExpr"
|
||||
"Bitmap"
|
||||
"CodeGen/Platform"
|
||||
"CodeGen/Platform/ARM"
|
||||
"CodeGen/Platform/ARM64"
|
||||
"CodeGen/Platform/NoRegs"
|
||||
"CodeGen/Platform/PPC"
|
||||
"CodeGen/Platform/PPC_Darwin"
|
||||
"CodeGen/Platform/SPARC"
|
||||
"CodeGen/Platform/X86"
|
||||
"CodeGen/Platform/X86_64"
|
||||
"CgUtils"
|
||||
"StgCmm"
|
||||
"StgCmmBind"
|
||||
"StgCmmClosure"
|
||||
"StgCmmCon"
|
||||
"StgCmmEnv"
|
||||
"StgCmmExpr"
|
||||
"StgCmmForeign"
|
||||
"StgCmmHeap"
|
||||
"StgCmmHpc"
|
||||
"StgCmmArgRep"
|
||||
"StgCmmLayout"
|
||||
"StgCmmMonad"
|
||||
"StgCmmPrim"
|
||||
"StgCmmProf"
|
||||
"StgCmmTicky"
|
||||
"StgCmmUtils"
|
||||
"StgCmmExtCode"
|
||||
"SMRep"
|
||||
"CoreArity"
|
||||
"CoreFVs"
|
||||
"CoreLint"
|
||||
"CorePrep"
|
||||
"CoreSubst"
|
||||
"CoreOpt"
|
||||
"CoreSyn"
|
||||
"TrieMap"
|
||||
"CoreTidy"
|
||||
"CoreUnfold"
|
||||
"CoreUtils"
|
||||
"CoreMap"
|
||||
"CoreSeq"
|
||||
"CoreStats"
|
||||
"MkCore"
|
||||
"PprCore"
|
||||
"PmExpr"
|
||||
"TmOracle"
|
||||
"Check"
|
||||
"Coverage"
|
||||
"Desugar"
|
||||
"DsArrows"
|
||||
"DsBinds"
|
||||
"DsCCall"
|
||||
"DsExpr"
|
||||
"DsForeign"
|
||||
"DsGRHSs"
|
||||
"DsListComp"
|
||||
"DsMonad"
|
||||
"DsUsage"
|
||||
"DsUtils"
|
||||
"ExtractDocs"
|
||||
"Match"
|
||||
"MatchCon"
|
||||
"MatchLit"
|
||||
"HsBinds"
|
||||
"HsDecls"
|
||||
"HsDoc"
|
||||
"HsExpr"
|
||||
"HsImpExp"
|
||||
"HsLit"
|
||||
"PlaceHolder"
|
||||
"HsExtension"
|
||||
"HsInstances"
|
||||
"HsPat"
|
||||
"HsSyn"
|
||||
"HsTypes"
|
||||
"HsUtils"
|
||||
"HsDumpAst"
|
||||
"BinIface"
|
||||
"BinFingerprint"
|
||||
"BuildTyCl"
|
||||
"IfaceEnv"
|
||||
"IfaceSyn"
|
||||
"IfaceType"
|
||||
"ToIface"
|
||||
"LoadIface"
|
||||
"MkIface"
|
||||
"TcIface"
|
||||
"FlagChecker"
|
||||
"Annotations"
|
||||
"CmdLineParser"
|
||||
"CodeOutput"
|
||||
"Config"
|
||||
"Constants"
|
||||
"DriverMkDepend"
|
||||
"DriverPhases"
|
||||
"PipelineMonad"
|
||||
"DriverPipeline"
|
||||
"DynFlags"
|
||||
"ErrUtils"
|
||||
"Finder"
|
||||
"GHC"
|
||||
"GhcMake"
|
||||
"GhcPlugins"
|
||||
"DynamicLoading"
|
||||
"HeaderInfo"
|
||||
"HscMain"
|
||||
"HscStats"
|
||||
"HscTypes"
|
||||
"InteractiveEval"
|
||||
"InteractiveEvalTypes"
|
||||
"PackageConfig"
|
||||
"Packages"
|
||||
"PlatformConstants"
|
||||
"Plugins"
|
||||
"TcPluginM"
|
||||
"PprTyThing"
|
||||
"StaticPtrTable"
|
||||
"SysTools"
|
||||
"SysTools/BaseDir"
|
||||
"SysTools/Terminal"
|
||||
"SysTools/ExtraObj"
|
||||
"SysTools/Info"
|
||||
"SysTools/Process"
|
||||
"SysTools/Tasks"
|
||||
"Elf"
|
||||
"TidyPgm"
|
||||
"Ctype"
|
||||
"HaddockUtils"
|
||||
"Lexer"
|
||||
"OptCoercion"
|
||||
"Parser"
|
||||
"RdrHsSyn"
|
||||
"ApiAnnotation"
|
||||
"ForeignCall"
|
||||
"KnownUniques"
|
||||
"PrelInfo"
|
||||
"PrelNames"
|
||||
"PrelRules"
|
||||
"PrimOp"
|
||||
"TysPrim"
|
||||
"TysWiredIn"
|
||||
"CostCentre"
|
||||
"CostCentreState"
|
||||
"ProfInit"
|
||||
"RnBinds"
|
||||
"RnEnv"
|
||||
"RnExpr"
|
||||
"RnHsDoc"
|
||||
"RnNames"
|
||||
"RnPat"
|
||||
"RnSource"
|
||||
"RnSplice"
|
||||
"RnTypes"
|
||||
"RnFixity"
|
||||
"RnUtils"
|
||||
"RnUnbound"
|
||||
"CoreMonad"
|
||||
"CSE"
|
||||
"FloatIn"
|
||||
"FloatOut"
|
||||
"LiberateCase"
|
||||
"OccurAnal"
|
||||
"SAT"
|
||||
"SetLevels"
|
||||
"SimplCore"
|
||||
"SimplEnv"
|
||||
"SimplMonad"
|
||||
"SimplUtils"
|
||||
"Simplify"
|
||||
"SimplStg"
|
||||
"StgStats"
|
||||
"StgCse"
|
||||
"UnariseStg"
|
||||
"RepType"
|
||||
"Rules"
|
||||
"SpecConstr"
|
||||
"Specialise"
|
||||
"CoreToStg"
|
||||
"StgLint"
|
||||
"StgSyn"
|
||||
"CallArity"
|
||||
"DmdAnal"
|
||||
"Exitify"
|
||||
"WorkWrap"
|
||||
"WwLib"
|
||||
"FamInst"
|
||||
"Inst"
|
||||
"TcAnnotations"
|
||||
"TcArrows"
|
||||
"TcBinds"
|
||||
"TcSigs"
|
||||
"TcClassDcl"
|
||||
"TcDefaults"
|
||||
"TcDeriv"
|
||||
"TcDerivInfer"
|
||||
"TcDerivUtils"
|
||||
"TcEnv"
|
||||
"TcExpr"
|
||||
"TcForeign"
|
||||
"TcGenDeriv"
|
||||
"TcGenFunctor"
|
||||
"TcGenGenerics"
|
||||
"TcHsSyn"
|
||||
"TcHsType"
|
||||
"TcInstDcls"
|
||||
"TcMType"
|
||||
"TcValidity"
|
||||
"TcMatches"
|
||||
"TcPat"
|
||||
"TcPatSyn"
|
||||
"TcRnDriver"
|
||||
"TcBackpack"
|
||||
"TcRnExports"
|
||||
"TcRnMonad"
|
||||
"TcRnTypes"
|
||||
"TcRules"
|
||||
"TcSimplify"
|
||||
"TcHoleErrors"
|
||||
"TcErrors"
|
||||
"TcTyClsDecls"
|
||||
"TcTyDecls"
|
||||
"TcTypeable"
|
||||
"TcType"
|
||||
"TcEvidence"
|
||||
"TcEvTerm"
|
||||
"TcUnify"
|
||||
"TcInteract"
|
||||
"TcCanonical"
|
||||
"TcFlatten"
|
||||
"TcSMonad"
|
||||
"TcTypeNats"
|
||||
"TcSplice"
|
||||
"Class"
|
||||
"Coercion"
|
||||
"DsMeta"
|
||||
"THNames"
|
||||
"FamInstEnv"
|
||||
"FunDeps"
|
||||
"InstEnv"
|
||||
"TyCon"
|
||||
"CoAxiom"
|
||||
"Kind"
|
||||
"Type"
|
||||
"TyCoRep"
|
||||
"Unify"
|
||||
"Bag"
|
||||
"Binary"
|
||||
"BooleanFormula"
|
||||
"BufWrite"
|
||||
"Digraph"
|
||||
"Encoding"
|
||||
"FastFunctions"
|
||||
"FastMutInt"
|
||||
"FastString"
|
||||
"FastStringEnv"
|
||||
"Fingerprint"
|
||||
"FiniteMap"
|
||||
"FV"
|
||||
"GraphBase"
|
||||
"GraphColor"
|
||||
"GraphOps"
|
||||
"GraphPpr"
|
||||
"IOEnv"
|
||||
"Json"
|
||||
"ListSetOps"
|
||||
"ListT"
|
||||
"Maybes"
|
||||
"MonadUtils"
|
||||
"OrdList"
|
||||
"Outputable"
|
||||
"Pair"
|
||||
"Panic"
|
||||
"PprColour"
|
||||
"Pretty"
|
||||
"State"
|
||||
"Stream"
|
||||
"StringBuffer"
|
||||
"UniqDFM"
|
||||
"UniqDSet"
|
||||
"UniqFM"
|
||||
"UniqMap"
|
||||
"UniqSet"
|
||||
"Util"
|
||||
"Hoopl/Block"
|
||||
"Hoopl/Collections"
|
||||
"Hoopl/Dataflow"
|
||||
"Hoopl/Graph"
|
||||
"Hoopl/Label"
|
||||
"AsmCodeGen"
|
||||
"TargetReg"
|
||||
"NCGMonad"
|
||||
"Instruction"
|
||||
"Format"
|
||||
"Reg"
|
||||
"RegClass"
|
||||
"PIC"
|
||||
"Platform"
|
||||
"CPrim"
|
||||
"X86/Regs"
|
||||
"X86/RegInfo"
|
||||
"X86/Instr"
|
||||
"X86/Cond"
|
||||
"X86/Ppr"
|
||||
"X86/CodeGen"
|
||||
"PPC/Regs"
|
||||
"PPC/RegInfo"
|
||||
"PPC/Instr"
|
||||
"PPC/Cond"
|
||||
"PPC/Ppr"
|
||||
"PPC/CodeGen"
|
||||
"SPARC/Base"
|
||||
"SPARC/Regs"
|
||||
"SPARC/Imm"
|
||||
"SPARC/AddrMode"
|
||||
"SPARC/Cond"
|
||||
"SPARC/Instr"
|
||||
"SPARC/Stack"
|
||||
"SPARC/ShortcutJump"
|
||||
"SPARC/Ppr"
|
||||
"SPARC/CodeGen"
|
||||
"SPARC/CodeGen/Amode"
|
||||
"SPARC/CodeGen/Base"
|
||||
"SPARC/CodeGen/CondCode"
|
||||
"SPARC/CodeGen/Gen32"
|
||||
"SPARC/CodeGen/Gen64"
|
||||
"SPARC/CodeGen/Sanity"
|
||||
"SPARC/CodeGen/Expand"
|
||||
"RegAlloc/Liveness"
|
||||
"RegAlloc/Graph/Main"
|
||||
"RegAlloc/Graph/Stats"
|
||||
"RegAlloc/Graph/ArchBase"
|
||||
"RegAlloc/Graph/ArchX86"
|
||||
"RegAlloc/Graph/Coalesce"
|
||||
"RegAlloc/Graph/Spill"
|
||||
"RegAlloc/Graph/SpillClean"
|
||||
"RegAlloc/Graph/SpillCost"
|
||||
"RegAlloc/Graph/TrivColorable"
|
||||
"RegAlloc/Linear/Main"
|
||||
"RegAlloc/Linear/JoinToTargets"
|
||||
"RegAlloc/Linear/State"
|
||||
"RegAlloc/Linear/Stats"
|
||||
"RegAlloc/Linear/FreeRegs"
|
||||
"RegAlloc/Linear/StackMap"
|
||||
"RegAlloc/Linear/Base"
|
||||
"RegAlloc/Linear/X86/FreeRegs"
|
||||
"RegAlloc/Linear/X86_64/FreeRegs"
|
||||
"RegAlloc/Linear/PPC/FreeRegs"
|
||||
"RegAlloc/Linear/SPARC/FreeRegs"
|
||||
"Dwarf"
|
||||
"Dwarf/Types"
|
||||
"Dwarf/Constants"
|
||||
"Convert"
|
||||
"ByteCodeTypes"
|
||||
"ByteCodeAsm"
|
||||
"ByteCodeGen"
|
||||
"ByteCodeInstr"
|
||||
"ByteCodeItbls"
|
||||
"ByteCodeLink"
|
||||
"Debugger"
|
||||
"Linker"
|
||||
"RtClosureInspect"
|
||||
"GHCi"
|
||||
];
|
||||
cSources = [
|
||||
"parser/cutils.c"
|
||||
"ghci/keepCAFsForGHCi.c"
|
||||
"cbits/genSym.c"
|
||||
];
|
||||
hsSourceDirs = [
|
||||
"backpack"
|
||||
"basicTypes"
|
||||
"cmm"
|
||||
"codeGen"
|
||||
"coreSyn"
|
||||
"deSugar"
|
||||
"ghci"
|
||||
"hsSyn"
|
||||
"iface"
|
||||
"llvmGen"
|
||||
"main"
|
||||
"nativeGen"
|
||||
"parser"
|
||||
"prelude"
|
||||
"profiling"
|
||||
"rename"
|
||||
"simplCore"
|
||||
"simplStg"
|
||||
"specialise"
|
||||
"stgSyn"
|
||||
"stranal"
|
||||
"typecheck"
|
||||
"types"
|
||||
"utils"
|
||||
];
|
||||
includeDirs = [
|
||||
"."
|
||||
"parser"
|
||||
"utils"
|
||||
] ++ (pkgs.lib).optional (flags.ghci) "../rts/dist/build";
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ../compiler; }
|
@ -0,0 +1,101 @@
|
||||
let
|
||||
buildDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
sysDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
||||
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
pkgConfDepError = pkg:
|
||||
builtins.throw ''
|
||||
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
||||
|
||||
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
exeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The local executable components do not include the component: ${pkg} (executable dependency).
|
||||
'';
|
||||
legacyExeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
buildToolDepError = pkg:
|
||||
builtins.throw ''
|
||||
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
||||
|
||||
If this is a system dependency:
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
|
||||
If this is a Haskell dependency:
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
||||
{
|
||||
flags = { ghci = false; };
|
||||
package = {
|
||||
specVersion = "1.10";
|
||||
identifier = { name = "ghci"; version = "8.6.5"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "";
|
||||
maintainer = "ghc-devs@haskell.org";
|
||||
author = "";
|
||||
homepage = "";
|
||||
url = "";
|
||||
synopsis = "The library supporting GHC's interactive interpreter";
|
||||
description = "This library offers interfaces which mediate interactions between the\n@ghci@ interactive shell and @iserv@, GHC's out-of-process interpreter\nbackend.";
|
||||
buildType = "Simple";
|
||||
isLocal = true;
|
||||
detailLevel = "FullDetails";
|
||||
licenseFiles = [ "LICENSE" ];
|
||||
dataDir = "";
|
||||
dataFiles = [];
|
||||
extraSrcFiles = [ "changelog.md" ];
|
||||
extraTmpFiles = [];
|
||||
extraDocFiles = [];
|
||||
};
|
||||
components = {
|
||||
"library" = {
|
||||
depends = [
|
||||
(hsPkgs."array" or (buildDepError "array"))
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."binary" or (buildDepError "binary"))
|
||||
(hsPkgs."bytestring" or (buildDepError "bytestring"))
|
||||
(hsPkgs."containers" or (buildDepError "containers"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
(hsPkgs."filepath" or (buildDepError "filepath"))
|
||||
(hsPkgs."ghc-boot" or (buildDepError "ghc-boot"))
|
||||
(hsPkgs."ghc-boot-th" or (buildDepError "ghc-boot-th"))
|
||||
(hsPkgs."ghc-heap" or (buildDepError "ghc-heap"))
|
||||
(hsPkgs."template-haskell" or (buildDepError "template-haskell"))
|
||||
(hsPkgs."transformers" or (buildDepError "transformers"))
|
||||
] ++ (pkgs.lib).optional (!system.isWindows) (hsPkgs."unix" or (buildDepError "unix"));
|
||||
buildable = true;
|
||||
modules = [
|
||||
"GHCi/BreakArray"
|
||||
"GHCi/BinaryArray"
|
||||
"GHCi/Message"
|
||||
"GHCi/ResolvedBCO"
|
||||
"GHCi/RemoteTypes"
|
||||
"GHCi/FFI"
|
||||
"GHCi/InfoTable"
|
||||
"GHCi/StaticPtrTable"
|
||||
"GHCi/TH/Binary"
|
||||
"SizedSeq"
|
||||
] ++ (pkgs.lib).optionals (flags.ghci) [
|
||||
"GHCi/Run"
|
||||
"GHCi/CreateBCO"
|
||||
"GHCi/ObjLink"
|
||||
"GHCi/Signals"
|
||||
"GHCi/TH"
|
||||
];
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ../libraries/ghci; }
|
@ -0,0 +1,86 @@
|
||||
let
|
||||
buildDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
sysDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
||||
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
pkgConfDepError = pkg:
|
||||
builtins.throw ''
|
||||
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
||||
|
||||
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
exeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The local executable components do not include the component: ${pkg} (executable dependency).
|
||||
'';
|
||||
legacyExeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
buildToolDepError = pkg:
|
||||
builtins.throw ''
|
||||
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
||||
|
||||
If this is a system dependency:
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
|
||||
If this is a Haskell dependency:
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
||||
{
|
||||
flags = {};
|
||||
package = {
|
||||
specVersion = "1.10";
|
||||
identifier = { name = "iserv-proxy"; version = "8.6.5"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "XXX";
|
||||
maintainer = "XXX";
|
||||
author = "XXX";
|
||||
homepage = "";
|
||||
url = "";
|
||||
synopsis = "iserv allows GHC to delegate Tempalte Haskell computations";
|
||||
description = "GHC can be provided with a path to the iserv binary with\n@-pgmi=/path/to/iserv-bin@, and will in combination with\n@-fexternal-interpreter@, compile Template Haskell though the\n@iserv-bin@ delegate. This is very similar to how ghcjs has been\ncompiling Template Haskell, by spawning a separate delegate (so\ncalled runner on the javascript vm) and evaluating the splices\nthere.\n\niserv can also be used in combination with cross compilation. For\nthis, the @iserv-proxy@ needs to be built on the host, targeting the\nhost (as it is running on the host). @cabal install -flibrary\n-fproxy@ will yield the proxy.\n\nUsing the cabal for the target @arch-platform-target-cabal install\n-flibrary@ will build the required library that contains the ffi\n@startSlave@ function, which needs to be invoked on the target\n(e.g. in an iOS application) to start the remote iserv slave.\n\ncalling the GHC cross compiler with @-fexternal-interpreter\n-pgmi=\$HOME/.cabal/bin/iserv-proxy -opti\\<ip address\\> -opti\\<port\\>@\nwill cause it to compile Template Haskell via the remote at \\<ip address\\>.\n\nThus to get cross compilation with Template Haskell follow the\nfollowing receipt:\n\n* compile the iserv library for your target\n\n> iserv \$ arch-platform-target-cabal install -flibrary\n\n* setup an application for your target that calls the\n* startSlave function. This could be either haskell or your\n* targets ffi capable language, if needed.\n\n> void startSlave(false /* verbose */, 5000 /* port */,\n> \"/path/to/storagelocation/on/target\");\n\n* build the iserv-proxy\n\n> iserv \$ cabal install -flibrary -fproxy\n* Start your iserv-slave app on your target running on say @10.0.0.1:5000@\n* compiler your sources with -fexternal-interpreter and the proxy\n\n> project \$ arch-platform-target-ghc ModuleContainingTH.hs \\\n> -fexternal-interpreter \\\n> -pgmi=\$HOME/.cabal/bin/iserv-proxy \\\n> -opti10.0.0.1 -opti5000\n\nShould something not work as expected, provide @-opti-v@ for verbose\nlogging of the @iserv-proxy@.";
|
||||
buildType = "Simple";
|
||||
isLocal = true;
|
||||
detailLevel = "FullDetails";
|
||||
licenseFiles = [];
|
||||
dataDir = "";
|
||||
dataFiles = [];
|
||||
extraSrcFiles = [];
|
||||
extraTmpFiles = [];
|
||||
extraDocFiles = [];
|
||||
};
|
||||
components = {
|
||||
exes = {
|
||||
"iserv-proxy" = {
|
||||
depends = [
|
||||
(hsPkgs."array" or (buildDepError "array"))
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."binary" or (buildDepError "binary"))
|
||||
(hsPkgs."bytestring" or (buildDepError "bytestring"))
|
||||
(hsPkgs."containers" or (buildDepError "containers"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
(hsPkgs."directory" or (buildDepError "directory"))
|
||||
(hsPkgs."network" or (buildDepError "network"))
|
||||
(hsPkgs."filepath" or (buildDepError "filepath"))
|
||||
(hsPkgs."ghci" or (buildDepError "ghci"))
|
||||
(hsPkgs."libiserv" or (buildDepError "libiserv"))
|
||||
];
|
||||
buildable = true;
|
||||
hsSourceDirs = [ "src" ];
|
||||
mainPath = [ "Main.hs" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ../utils/iserv-proxy; }
|
@ -0,0 +1,85 @@
|
||||
let
|
||||
buildDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
sysDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
||||
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
pkgConfDepError = pkg:
|
||||
builtins.throw ''
|
||||
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
||||
|
||||
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
exeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The local executable components do not include the component: ${pkg} (executable dependency).
|
||||
'';
|
||||
legacyExeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
buildToolDepError = pkg:
|
||||
builtins.throw ''
|
||||
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
||||
|
||||
If this is a system dependency:
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
|
||||
If this is a Haskell dependency:
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
||||
{
|
||||
flags = {};
|
||||
package = {
|
||||
specVersion = "1.10";
|
||||
identifier = { name = "iserv"; version = "8.6.5"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "XXX";
|
||||
maintainer = "XXX";
|
||||
author = "XXX";
|
||||
homepage = "";
|
||||
url = "";
|
||||
synopsis = "iserv allows GHC to delegate Tempalte Haskell computations";
|
||||
description = "GHC can be provided with a path to the iserv binary with\n@-pgmi=/path/to/iserv-bin@, and will in combination with\n@-fexternal-interpreter@, compile Template Haskell though the\n@iserv-bin@ delegate. This is very similar to how ghcjs has been\ncompiling Template Haskell, by spawning a separate delegate (so\ncalled runner on the javascript vm) and evaluating the splices\nthere.\n\nTo use iserv with cross compilers, please see @libraries/libiserv@\nand @utils/iserv-proxy@.";
|
||||
buildType = "Simple";
|
||||
isLocal = true;
|
||||
detailLevel = "FullDetails";
|
||||
licenseFiles = [];
|
||||
dataDir = "";
|
||||
dataFiles = [];
|
||||
extraSrcFiles = [];
|
||||
extraTmpFiles = [];
|
||||
extraDocFiles = [];
|
||||
};
|
||||
components = {
|
||||
exes = {
|
||||
"iserv" = {
|
||||
depends = [
|
||||
(hsPkgs."array" or (buildDepError "array"))
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."binary" or (buildDepError "binary"))
|
||||
(hsPkgs."bytestring" or (buildDepError "bytestring"))
|
||||
(hsPkgs."containers" or (buildDepError "containers"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
(hsPkgs."ghci" or (buildDepError "ghci"))
|
||||
(hsPkgs."libiserv" or (buildDepError "libiserv"))
|
||||
] ++ (pkgs.lib).optional (!system.isWindows) (hsPkgs."unix" or (buildDepError "unix"));
|
||||
buildable = true;
|
||||
cSources = [ "cbits/iservmain.c" ];
|
||||
hsSourceDirs = [ "src" ];
|
||||
includeDirs = [ "." ];
|
||||
mainPath = [ "Main.hs" ] ++ [ "" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ../utils/iserv; }
|
@ -0,0 +1,89 @@
|
||||
let
|
||||
buildDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
sysDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
||||
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
pkgConfDepError = pkg:
|
||||
builtins.throw ''
|
||||
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
||||
|
||||
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
exeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The local executable components do not include the component: ${pkg} (executable dependency).
|
||||
'';
|
||||
legacyExeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
buildToolDepError = pkg:
|
||||
builtins.throw ''
|
||||
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
||||
|
||||
If this is a system dependency:
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
|
||||
If this is a Haskell dependency:
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
||||
{
|
||||
flags = { network = false; };
|
||||
package = {
|
||||
specVersion = "1.10";
|
||||
identifier = { name = "libiserv"; version = "8.6.5"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "XXX";
|
||||
maintainer = "XXX";
|
||||
author = "XXX";
|
||||
homepage = "";
|
||||
url = "";
|
||||
synopsis = "Provides shared functionality between iserv and iserv-proxy";
|
||||
description = "";
|
||||
buildType = "Simple";
|
||||
isLocal = true;
|
||||
detailLevel = "FullDetails";
|
||||
licenseFiles = [ "LICENSE" ];
|
||||
dataDir = "";
|
||||
dataFiles = [];
|
||||
extraSrcFiles = [];
|
||||
extraTmpFiles = [];
|
||||
extraDocFiles = [];
|
||||
};
|
||||
components = {
|
||||
"library" = {
|
||||
depends = ([
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."binary" or (buildDepError "binary"))
|
||||
(hsPkgs."bytestring" or (buildDepError "bytestring"))
|
||||
(hsPkgs."containers" or (buildDepError "containers"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
(hsPkgs."ghci" or (buildDepError "ghci"))
|
||||
] ++ (pkgs.lib).optionals (flags.network) [
|
||||
(hsPkgs."network" or (buildDepError "network"))
|
||||
(hsPkgs."directory" or (buildDepError "directory"))
|
||||
(hsPkgs."filepath" or (buildDepError "filepath"))
|
||||
]) ++ (pkgs.lib).optional (!system.isWindows) (hsPkgs."unix" or (buildDepError "unix"));
|
||||
buildable = true;
|
||||
modules = [
|
||||
"Lib"
|
||||
"GHCi/Utils"
|
||||
] ++ (pkgs.lib).optionals (flags.network) [
|
||||
"Remote/Message"
|
||||
"Remote/Slave"
|
||||
];
|
||||
hsSourceDirs = [ "src" ];
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ../libraries/libiserv; }
|
@ -0,0 +1,77 @@
|
||||
let
|
||||
buildDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
sysDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
||||
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
pkgConfDepError = pkg:
|
||||
builtins.throw ''
|
||||
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
||||
|
||||
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
exeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The local executable components do not include the component: ${pkg} (executable dependency).
|
||||
'';
|
||||
legacyExeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
buildToolDepError = pkg:
|
||||
builtins.throw ''
|
||||
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
||||
|
||||
If this is a system dependency:
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
|
||||
If this is a Haskell dependency:
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
||||
{
|
||||
flags = {};
|
||||
package = {
|
||||
specVersion = "1.10";
|
||||
identifier = { name = "remote-iserv"; version = "8.6.5"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "XXX";
|
||||
maintainer = "Moritz Angermann <moritz.angermann@gmail.com>";
|
||||
author = "Moritz Angermann <moritz.angermann@gmail.com>";
|
||||
homepage = "";
|
||||
url = "";
|
||||
synopsis = "iserv allows GHC to delegate Tempalte Haskell computations";
|
||||
description = "This is a very simple remote runner for iserv, to be used together\nwith iserv-proxy. The foundamental idea is that this this wrapper\nstarts running libiserv on a given port to which iserv-proxy will\nthen connect.";
|
||||
buildType = "Simple";
|
||||
isLocal = true;
|
||||
detailLevel = "FullDetails";
|
||||
licenseFiles = [];
|
||||
dataDir = "";
|
||||
dataFiles = [];
|
||||
extraSrcFiles = [];
|
||||
extraTmpFiles = [];
|
||||
extraDocFiles = [];
|
||||
};
|
||||
components = {
|
||||
exes = {
|
||||
"remote-iserv" = {
|
||||
depends = [
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."libiserv" or (buildDepError "libiserv"))
|
||||
];
|
||||
buildable = true;
|
||||
hsSourceDirs = [ "src" ];
|
||||
mainPath = [ "Cli.hs" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ../utils/remote-iserv; }
|
90
materialized/ghc-extra-projects/windows/ghc865/default.nix
Normal file
90
materialized/ghc-extra-projects/windows/ghc865/default.nix
Normal file
@ -0,0 +1,90 @@
|
||||
{
|
||||
pkgs = hackage:
|
||||
{
|
||||
packages = {
|
||||
"binary".revision = (((hackage."binary")."0.8.8.0").revisions).default;
|
||||
"ghc-prim".revision = (((hackage."ghc-prim")."0.5.3").revisions).default;
|
||||
"ghc-heap".revision = (((hackage."ghc-heap")."8.6.5").revisions).default;
|
||||
"mtl".revision = (((hackage."mtl")."2.2.2").revisions).default;
|
||||
"rts".revision = (((hackage."rts")."1.0").revisions).default;
|
||||
"alex".revision = (((hackage."alex")."3.2.5").revisions).default;
|
||||
"alex".flags.small_base = true;
|
||||
"deepseq".revision = (((hackage."deepseq")."1.4.4.0").revisions).default;
|
||||
"network".revision = (((hackage."network")."2.8.0.1").revisions).default;
|
||||
"directory".revision = (((hackage."directory")."1.3.6.1").revisions).default;
|
||||
"template-haskell".revision = (((hackage."template-haskell")."2.14.0.0").revisions).default;
|
||||
"containers".revision = (((hackage."containers")."0.6.0.1").revisions).default;
|
||||
"base".revision = (((hackage."base")."4.12.0.0").revisions).default;
|
||||
"time".revision = (((hackage."time")."1.8.0.4").revisions).default;
|
||||
"transformers".revision = (((hackage."transformers")."0.5.6.2").revisions).default;
|
||||
"happy".revision = (((hackage."happy")."1.19.12").revisions).default;
|
||||
"happy".flags.small_base = true;
|
||||
"hpc".revision = (((hackage."hpc")."0.6.0.3").revisions).default;
|
||||
"filepath".revision = (((hackage."filepath")."1.4.2.1").revisions).default;
|
||||
"process".revision = (((hackage."process")."1.6.8.2").revisions).default;
|
||||
"pretty".revision = (((hackage."pretty")."1.1.3.6").revisions).default;
|
||||
"ghc-boot-th".revision = (((hackage."ghc-boot-th")."8.6.5").revisions).default;
|
||||
"array".revision = (((hackage."array")."0.5.3.0").revisions).default;
|
||||
"Win32".revision = (((hackage."Win32")."2.6.2.0").revisions).default;
|
||||
"integer-gmp".revision = (((hackage."integer-gmp")."1.0.2.0").revisions).default;
|
||||
};
|
||||
compiler = {
|
||||
version = "8.6.5";
|
||||
nix-name = "ghc865";
|
||||
packages = {
|
||||
"ghc-prim" = "0.5.3";
|
||||
"ghc-heap" = "8.6.5";
|
||||
"mtl" = "2.2.2";
|
||||
"rts" = "1.0";
|
||||
"deepseq" = "1.4.4.0";
|
||||
"template-haskell" = "2.14.0.0";
|
||||
"containers" = "0.6.0.1";
|
||||
"base" = "4.12.0.0";
|
||||
"transformers" = "0.5.6.2";
|
||||
"filepath" = "1.4.2.1";
|
||||
"pretty" = "1.1.3.6";
|
||||
"ghc-boot-th" = "8.6.5";
|
||||
"array" = "0.5.3.0";
|
||||
"integer-gmp" = "1.0.2.0";
|
||||
};
|
||||
};
|
||||
};
|
||||
extras = hackage:
|
||||
{
|
||||
packages = {
|
||||
ghc = ./.plan.nix/ghc.nix;
|
||||
bytestring = ./.plan.nix/bytestring.nix;
|
||||
remote-iserv = ./.plan.nix/remote-iserv.nix;
|
||||
iserv-proxy = ./.plan.nix/iserv-proxy.nix;
|
||||
libiserv = ./.plan.nix/libiserv.nix;
|
||||
ghc-boot = ./.plan.nix/ghc-boot.nix;
|
||||
ghci = ./.plan.nix/ghci.nix;
|
||||
iserv = ./.plan.nix/iserv.nix;
|
||||
};
|
||||
};
|
||||
modules = [
|
||||
({ lib, ... }:
|
||||
{
|
||||
packages = {
|
||||
"ghc" = {
|
||||
flags = {
|
||||
"stage1" = lib.mkOverride 900 false;
|
||||
"stage2" = lib.mkOverride 900 true;
|
||||
"stage3" = lib.mkOverride 900 false;
|
||||
"ghci" = lib.mkOverride 900 true;
|
||||
"terminfo" = lib.mkOverride 900 true;
|
||||
};
|
||||
};
|
||||
"bytestring" = {
|
||||
flags = { "integer-simple" = lib.mkOverride 900 false; };
|
||||
};
|
||||
"remote-iserv" = { flags = {}; };
|
||||
"iserv-proxy" = { flags = {}; };
|
||||
"libiserv" = { flags = { "network" = lib.mkOverride 900 true; }; };
|
||||
"ghc-boot" = { flags = {}; };
|
||||
"ghci" = { flags = { "ghci" = lib.mkOverride 900 true; }; };
|
||||
"iserv" = { flags = {}; };
|
||||
};
|
||||
})
|
||||
];
|
||||
}
|
@ -0,0 +1,167 @@
|
||||
let
|
||||
buildDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
sysDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
||||
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
pkgConfDepError = pkg:
|
||||
builtins.throw ''
|
||||
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
||||
|
||||
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
exeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The local executable components do not include the component: ${pkg} (executable dependency).
|
||||
'';
|
||||
legacyExeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
buildToolDepError = pkg:
|
||||
builtins.throw ''
|
||||
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
||||
|
||||
If this is a system dependency:
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
|
||||
If this is a Haskell dependency:
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
||||
{
|
||||
flags = { integer-simple = false; };
|
||||
package = {
|
||||
specVersion = "1.10";
|
||||
identifier = { name = "bytestring"; version = "0.10.10.0"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "Copyright (c) Don Stewart 2005-2009,\n(c) Duncan Coutts 2006-2015,\n(c) David Roundy 2003-2005,\n(c) Jasper Van der Jeugt 2010,\n(c) Simon Meier 2010-2013.";
|
||||
maintainer = "Duncan Coutts <duncan@community.haskell.org>";
|
||||
author = "Don Stewart,\nDuncan Coutts";
|
||||
homepage = "https://github.com/haskell/bytestring";
|
||||
url = "";
|
||||
synopsis = "Fast, compact, strict and lazy byte strings with a list interface";
|
||||
description = "An efficient compact, immutable byte string type (both strict and lazy)\nsuitable for binary or 8-bit character data.\n\nThe 'ByteString' type represents sequences of bytes or 8-bit characters.\nIt is suitable for high performance use, both in terms of large data\nquantities, or high speed requirements. The 'ByteString' functions follow\nthe same style as Haskell\\'s ordinary lists, so it is easy to convert code\nfrom using 'String' to 'ByteString'.\n\nTwo 'ByteString' variants are provided:\n\n* Strict 'ByteString's keep the string as a single large array. This\nmakes them convenient for passing data between C and Haskell.\n\n* Lazy 'ByteString's use a lazy list of strict chunks which makes it\nsuitable for I\\/O streaming tasks.\n\nThe @Char8@ modules provide a character-based view of the same\nunderlying 'ByteString' types. This makes it convenient to handle mixed\nbinary and 8-bit character content (which is common in many file formats\nand network protocols).\n\nThe 'Builder' module provides an efficient way to build up 'ByteString's\nin an ad-hoc way by repeated concatenation. This is ideal for fast\nserialisation or pretty printing.\n\nThere is also a 'ShortByteString' type which has a lower memory overhead\nand can can be converted to or from a 'ByteString', but supports very few\nother operations. It is suitable for keeping many short strings in memory.\n\n'ByteString's are not designed for Unicode. For Unicode strings you should\nuse the 'Text' type from the @text@ package.\n\nThese modules are intended to be imported qualified, to avoid name clashes\nwith \"Prelude\" functions, e.g.\n\n> import qualified Data.ByteString as BS";
|
||||
buildType = "Simple";
|
||||
isLocal = true;
|
||||
detailLevel = "FullDetails";
|
||||
licenseFiles = [ "LICENSE" ];
|
||||
dataDir = "";
|
||||
dataFiles = [];
|
||||
extraSrcFiles = [ "README.md" "Changelog.md" ];
|
||||
extraTmpFiles = [];
|
||||
extraDocFiles = [];
|
||||
};
|
||||
components = {
|
||||
"library" = {
|
||||
depends = ([
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."ghc-prim" or (buildDepError "ghc-prim"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
] ++ (pkgs.lib).optionals (compiler.isGhc && (compiler.version).ge "6.11") ((pkgs.lib).optional (!flags.integer-simple) (hsPkgs."integer-gmp" or (buildDepError "integer-gmp")))) ++ (pkgs.lib).optional (compiler.isGhc && (compiler.version).ge "6.9" && (compiler.isGhc && (compiler.version).lt "6.11")) (hsPkgs."integer" or (buildDepError "integer"));
|
||||
buildable = true;
|
||||
modules = [
|
||||
"Data/ByteString/Builder/ASCII"
|
||||
"Data/ByteString/Builder/Prim/Binary"
|
||||
"Data/ByteString/Builder/Prim/ASCII"
|
||||
"Data/ByteString/Builder/Prim/Internal/Floating"
|
||||
"Data/ByteString/Builder/Prim/Internal/UncheckedShifts"
|
||||
"Data/ByteString/Builder/Prim/Internal/Base16"
|
||||
"Data/ByteString"
|
||||
"Data/ByteString/Char8"
|
||||
"Data/ByteString/Unsafe"
|
||||
"Data/ByteString/Internal"
|
||||
"Data/ByteString/Lazy"
|
||||
"Data/ByteString/Lazy/Char8"
|
||||
"Data/ByteString/Lazy/Internal"
|
||||
"Data/ByteString/Short"
|
||||
"Data/ByteString/Short/Internal"
|
||||
"Data/ByteString/Builder"
|
||||
"Data/ByteString/Builder/Extra"
|
||||
"Data/ByteString/Builder/Prim"
|
||||
"Data/ByteString/Builder/Internal"
|
||||
"Data/ByteString/Builder/Prim/Internal"
|
||||
"Data/ByteString/Lazy/Builder"
|
||||
"Data/ByteString/Lazy/Builder/Extras"
|
||||
"Data/ByteString/Lazy/Builder/ASCII"
|
||||
];
|
||||
cSources = [ "cbits/fpstring.c" "cbits/itoa.c" ];
|
||||
includeDirs = [ "include" ];
|
||||
includes = [ "fpstring.h" ];
|
||||
};
|
||||
tests = {
|
||||
"prop-compiled" = {
|
||||
depends = [
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."ghc-prim" or (buildDepError "ghc-prim"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
(hsPkgs."random" or (buildDepError "random"))
|
||||
(hsPkgs."directory" or (buildDepError "directory"))
|
||||
(hsPkgs."test-framework" or (buildDepError "test-framework"))
|
||||
(hsPkgs."test-framework-quickcheck2" or (buildDepError "test-framework-quickcheck2"))
|
||||
(hsPkgs."QuickCheck" or (buildDepError "QuickCheck"))
|
||||
];
|
||||
buildable = true;
|
||||
modules = [ "Rules" "QuickCheckUtils" "TestFramework" ];
|
||||
cSources = [ "cbits/fpstring.c" ];
|
||||
hsSourceDirs = [ "." "tests" ];
|
||||
includeDirs = [ "include" ];
|
||||
mainPath = [ "Properties.hs" ];
|
||||
};
|
||||
"regressions" = {
|
||||
depends = [
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."ghc-prim" or (buildDepError "ghc-prim"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
(hsPkgs."random" or (buildDepError "random"))
|
||||
(hsPkgs."directory" or (buildDepError "directory"))
|
||||
(hsPkgs."test-framework" or (buildDepError "test-framework"))
|
||||
(hsPkgs."test-framework-hunit" or (buildDepError "test-framework-hunit"))
|
||||
(hsPkgs."HUnit" or (buildDepError "HUnit"))
|
||||
];
|
||||
buildable = false;
|
||||
cSources = [ "cbits/fpstring.c" ];
|
||||
hsSourceDirs = [ "." "tests" ];
|
||||
includeDirs = [ "include" ];
|
||||
mainPath = [ "Regressions.hs" ];
|
||||
};
|
||||
"test-builder" = {
|
||||
depends = [
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."ghc-prim" or (buildDepError "ghc-prim"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
(hsPkgs."QuickCheck" or (buildDepError "QuickCheck"))
|
||||
(hsPkgs."byteorder" or (buildDepError "byteorder"))
|
||||
(hsPkgs."dlist" or (buildDepError "dlist"))
|
||||
(hsPkgs."directory" or (buildDepError "directory"))
|
||||
(hsPkgs."mtl" or (buildDepError "mtl"))
|
||||
(hsPkgs."HUnit" or (buildDepError "HUnit"))
|
||||
(hsPkgs."test-framework" or (buildDepError "test-framework"))
|
||||
(hsPkgs."test-framework-hunit" or (buildDepError "test-framework-hunit"))
|
||||
(hsPkgs."test-framework-quickcheck2" or (buildDepError "test-framework-quickcheck2"))
|
||||
];
|
||||
buildable = true;
|
||||
modules = [
|
||||
"Data/ByteString/Builder/Tests"
|
||||
"Data/ByteString/Builder/Prim/Tests"
|
||||
"Data/ByteString/Builder/Prim/TestUtils"
|
||||
"TestFramework"
|
||||
];
|
||||
cSources = [ "cbits/fpstring.c" "cbits/itoa.c" ];
|
||||
hsSourceDirs = [ "." "tests" "tests/builder" ];
|
||||
includeDirs = [ "include" ];
|
||||
includes = [ "fpstring.h" ];
|
||||
mainPath = [ "TestSuite.hs" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ../libraries/bytestring; }
|
@ -0,0 +1,84 @@
|
||||
let
|
||||
buildDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
sysDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
||||
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
pkgConfDepError = pkg:
|
||||
builtins.throw ''
|
||||
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
||||
|
||||
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
exeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The local executable components do not include the component: ${pkg} (executable dependency).
|
||||
'';
|
||||
legacyExeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
buildToolDepError = pkg:
|
||||
builtins.throw ''
|
||||
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
||||
|
||||
If this is a system dependency:
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
|
||||
If this is a Haskell dependency:
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
||||
{
|
||||
flags = {};
|
||||
package = {
|
||||
specVersion = "1.22";
|
||||
identifier = { name = "ghc-boot"; version = "8.8.2"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "";
|
||||
maintainer = "ghc-devs@haskell.org";
|
||||
author = "";
|
||||
homepage = "";
|
||||
url = "";
|
||||
synopsis = "Shared functionality between GHC and its boot libraries";
|
||||
description = "This library is shared between GHC, ghc-pkg, and other boot\nlibraries.\n\nA note about \"GHC.PackageDb\": it only deals with the subset of\nthe package database that the compiler cares about: modules\npaths etc and not package metadata like description, authors\netc. It is thus not a library interface to ghc-pkg and is *not*\nsuitable for modifying GHC package databases.\n\nThe package database format and this library are constructed in\nsuch a way that while ghc-pkg depends on Cabal, the GHC library\nand program do not have to depend on Cabal.";
|
||||
buildType = "Simple";
|
||||
isLocal = true;
|
||||
detailLevel = "FullDetails";
|
||||
licenseFiles = [ "LICENSE" ];
|
||||
dataDir = "";
|
||||
dataFiles = [];
|
||||
extraSrcFiles = [ "changelog.md" ];
|
||||
extraTmpFiles = [];
|
||||
extraDocFiles = [];
|
||||
};
|
||||
components = {
|
||||
"library" = {
|
||||
depends = [
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."binary" or (buildDepError "binary"))
|
||||
(hsPkgs."bytestring" or (buildDepError "bytestring"))
|
||||
(hsPkgs."directory" or (buildDepError "directory"))
|
||||
(hsPkgs."filepath" or (buildDepError "filepath"))
|
||||
(hsPkgs."ghc-boot-th" or (buildDepError "ghc-boot-th"))
|
||||
];
|
||||
buildable = true;
|
||||
modules = [
|
||||
"GHC/LanguageExtensions"
|
||||
"GHC/PackageDb"
|
||||
"GHC/Serialized"
|
||||
"GHC/ForeignSrcLang"
|
||||
"GHC/HandleEncoding"
|
||||
];
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ../libraries/ghc-boot; }
|
608
materialized/ghc-extra-projects/windows/ghc882/.plan.nix/ghc.nix
Normal file
608
materialized/ghc-extra-projects/windows/ghc882/.plan.nix/ghc.nix
Normal file
@ -0,0 +1,608 @@
|
||||
let
|
||||
buildDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
sysDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
||||
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
pkgConfDepError = pkg:
|
||||
builtins.throw ''
|
||||
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
||||
|
||||
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
exeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The local executable components do not include the component: ${pkg} (executable dependency).
|
||||
'';
|
||||
legacyExeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
buildToolDepError = pkg:
|
||||
builtins.throw ''
|
||||
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
||||
|
||||
If this is a system dependency:
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
|
||||
If this is a Haskell dependency:
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
||||
{
|
||||
flags = {
|
||||
ghci = false;
|
||||
stage1 = false;
|
||||
stage2 = true;
|
||||
stage3 = false;
|
||||
terminfo = true;
|
||||
integer-simple = false;
|
||||
integer-gmp = false;
|
||||
};
|
||||
package = {
|
||||
specVersion = "1.10";
|
||||
identifier = { name = "ghc"; version = "8.8.2"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "";
|
||||
maintainer = "glasgow-haskell-users@haskell.org";
|
||||
author = "The GHC Team";
|
||||
homepage = "http://www.haskell.org/ghc/";
|
||||
url = "";
|
||||
synopsis = "The GHC API";
|
||||
description = "GHC's functionality can be useful for more things than just\ncompiling Haskell programs. Important use cases are programs\nthat analyse (and perhaps transform) Haskell code. Others\ninclude loading Haskell code dynamically in a GHCi-like manner.\nFor this reason, a lot of GHC's functionality is made available\nthrough this package.";
|
||||
buildType = "Simple";
|
||||
isLocal = true;
|
||||
detailLevel = "FullDetails";
|
||||
licenseFiles = [ "LICENSE" ];
|
||||
dataDir = "";
|
||||
dataFiles = [];
|
||||
extraSrcFiles = [
|
||||
"utils/md5.h"
|
||||
"Unique.h"
|
||||
"nativeGen/NCG.h"
|
||||
"parser/cutils.h"
|
||||
];
|
||||
extraTmpFiles = [];
|
||||
extraDocFiles = [];
|
||||
};
|
||||
components = {
|
||||
"library" = {
|
||||
depends = ((([
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
(hsPkgs."directory" or (buildDepError "directory"))
|
||||
(hsPkgs."process" or (buildDepError "process"))
|
||||
(hsPkgs."bytestring" or (buildDepError "bytestring"))
|
||||
(hsPkgs."binary" or (buildDepError "binary"))
|
||||
(hsPkgs."time" or (buildDepError "time"))
|
||||
(hsPkgs."containers" or (buildDepError "containers"))
|
||||
(hsPkgs."array" or (buildDepError "array"))
|
||||
(hsPkgs."filepath" or (buildDepError "filepath"))
|
||||
(hsPkgs."template-haskell" or (buildDepError "template-haskell"))
|
||||
(hsPkgs."hpc" or (buildDepError "hpc"))
|
||||
(hsPkgs."transformers" or (buildDepError "transformers"))
|
||||
(hsPkgs."ghc-boot" or (buildDepError "ghc-boot"))
|
||||
(hsPkgs."ghc-boot-th" or (buildDepError "ghc-boot-th"))
|
||||
(hsPkgs."ghc-heap" or (buildDepError "ghc-heap"))
|
||||
(hsPkgs."ghci" or (buildDepError "ghci"))
|
||||
] ++ (if system.isWindows
|
||||
then [ (hsPkgs."Win32" or (buildDepError "Win32")) ]
|
||||
else [
|
||||
(hsPkgs."unix" or (buildDepError "unix"))
|
||||
] ++ (pkgs.lib).optional (flags.terminfo) (hsPkgs."terminfo" or (buildDepError "terminfo")))) ++ (pkgs.lib).optional (flags.integer-gmp && flags.integer-simple) (hsPkgs."invalid-cabal-flag-settings" or (buildDepError "invalid-cabal-flag-settings"))) ++ (pkgs.lib).optional (flags.integer-gmp) (hsPkgs."integer-gmp" or (buildDepError "integer-gmp"))) ++ (pkgs.lib).optional (flags.integer-simple) (hsPkgs."integer-simple" or (buildDepError "integer-simple"));
|
||||
build-tools = [
|
||||
(hsPkgs.buildPackages.alex or (pkgs.buildPackages.alex or (buildToolDepError "alex")))
|
||||
(hsPkgs.buildPackages.happy or (pkgs.buildPackages.happy or (buildToolDepError "happy")))
|
||||
];
|
||||
buildable = true;
|
||||
modules = [
|
||||
"GhcPrelude"
|
||||
"HieTypes"
|
||||
"HieDebug"
|
||||
"HieBin"
|
||||
"HieUtils"
|
||||
"HieAst"
|
||||
"Ar"
|
||||
"FileCleanup"
|
||||
"DriverBkp"
|
||||
"BkpSyn"
|
||||
"NameShape"
|
||||
"RnModIface"
|
||||
"Avail"
|
||||
"AsmUtils"
|
||||
"BasicTypes"
|
||||
"ConLike"
|
||||
"DataCon"
|
||||
"PatSyn"
|
||||
"Demand"
|
||||
"Debug"
|
||||
"Exception"
|
||||
"FieldLabel"
|
||||
"GhcMonad"
|
||||
"Hooks"
|
||||
"Id"
|
||||
"IdInfo"
|
||||
"Lexeme"
|
||||
"Literal"
|
||||
"Llvm"
|
||||
"Llvm/AbsSyn"
|
||||
"Llvm/MetaData"
|
||||
"Llvm/PpLlvm"
|
||||
"Llvm/Types"
|
||||
"LlvmCodeGen"
|
||||
"LlvmCodeGen/Base"
|
||||
"LlvmCodeGen/CodeGen"
|
||||
"LlvmCodeGen/Data"
|
||||
"LlvmCodeGen/Ppr"
|
||||
"LlvmCodeGen/Regs"
|
||||
"LlvmMangler"
|
||||
"MkId"
|
||||
"Module"
|
||||
"Name"
|
||||
"NameEnv"
|
||||
"NameSet"
|
||||
"OccName"
|
||||
"RdrName"
|
||||
"NameCache"
|
||||
"SrcLoc"
|
||||
"UniqSupply"
|
||||
"Unique"
|
||||
"Var"
|
||||
"VarEnv"
|
||||
"VarSet"
|
||||
"UnVarGraph"
|
||||
"BlockId"
|
||||
"CLabel"
|
||||
"Cmm"
|
||||
"CmmBuildInfoTables"
|
||||
"CmmPipeline"
|
||||
"CmmCallConv"
|
||||
"CmmCommonBlockElim"
|
||||
"CmmImplementSwitchPlans"
|
||||
"CmmContFlowOpt"
|
||||
"CmmExpr"
|
||||
"CmmInfo"
|
||||
"CmmLex"
|
||||
"CmmLint"
|
||||
"CmmLive"
|
||||
"CmmMachOp"
|
||||
"CmmMonad"
|
||||
"CmmSwitch"
|
||||
"CmmNode"
|
||||
"CmmOpt"
|
||||
"CmmParse"
|
||||
"CmmProcPoint"
|
||||
"CmmSink"
|
||||
"CmmType"
|
||||
"CmmUtils"
|
||||
"CmmLayoutStack"
|
||||
"EnumSet"
|
||||
"MkGraph"
|
||||
"PprBase"
|
||||
"PprC"
|
||||
"PprCmm"
|
||||
"PprCmmDecl"
|
||||
"PprCmmExpr"
|
||||
"Bitmap"
|
||||
"CodeGen/Platform"
|
||||
"CodeGen/Platform/ARM"
|
||||
"CodeGen/Platform/ARM64"
|
||||
"CodeGen/Platform/NoRegs"
|
||||
"CodeGen/Platform/PPC"
|
||||
"CodeGen/Platform/SPARC"
|
||||
"CodeGen/Platform/X86"
|
||||
"CodeGen/Platform/X86_64"
|
||||
"CgUtils"
|
||||
"StgCmm"
|
||||
"StgCmmBind"
|
||||
"StgCmmClosure"
|
||||
"StgCmmCon"
|
||||
"StgCmmEnv"
|
||||
"StgCmmExpr"
|
||||
"StgCmmForeign"
|
||||
"StgCmmHeap"
|
||||
"StgCmmHpc"
|
||||
"StgCmmArgRep"
|
||||
"StgCmmLayout"
|
||||
"StgCmmMonad"
|
||||
"StgCmmPrim"
|
||||
"StgCmmProf"
|
||||
"StgCmmTicky"
|
||||
"StgCmmUtils"
|
||||
"StgCmmExtCode"
|
||||
"SMRep"
|
||||
"CoreArity"
|
||||
"CoreFVs"
|
||||
"CoreLint"
|
||||
"CorePrep"
|
||||
"CoreSubst"
|
||||
"CoreOpt"
|
||||
"CoreSyn"
|
||||
"TrieMap"
|
||||
"CoreTidy"
|
||||
"CoreUnfold"
|
||||
"CoreUtils"
|
||||
"CoreMap"
|
||||
"CoreSeq"
|
||||
"CoreStats"
|
||||
"MkCore"
|
||||
"PprCore"
|
||||
"PmExpr"
|
||||
"TmOracle"
|
||||
"Check"
|
||||
"Coverage"
|
||||
"Desugar"
|
||||
"DsArrows"
|
||||
"DsBinds"
|
||||
"DsCCall"
|
||||
"DsExpr"
|
||||
"DsForeign"
|
||||
"DsGRHSs"
|
||||
"DsListComp"
|
||||
"DsMonad"
|
||||
"DsUsage"
|
||||
"DsUtils"
|
||||
"ExtractDocs"
|
||||
"Match"
|
||||
"MatchCon"
|
||||
"MatchLit"
|
||||
"HsBinds"
|
||||
"HsDecls"
|
||||
"HsDoc"
|
||||
"HsExpr"
|
||||
"HsImpExp"
|
||||
"HsLit"
|
||||
"PlaceHolder"
|
||||
"HsExtension"
|
||||
"HsInstances"
|
||||
"HsPat"
|
||||
"HsSyn"
|
||||
"HsTypes"
|
||||
"HsUtils"
|
||||
"HsDumpAst"
|
||||
"BinIface"
|
||||
"BinFingerprint"
|
||||
"BuildTyCl"
|
||||
"IfaceEnv"
|
||||
"IfaceSyn"
|
||||
"IfaceType"
|
||||
"ToIface"
|
||||
"LoadIface"
|
||||
"MkIface"
|
||||
"TcIface"
|
||||
"FlagChecker"
|
||||
"Annotations"
|
||||
"CmdLineParser"
|
||||
"CodeOutput"
|
||||
"Config"
|
||||
"Constants"
|
||||
"DriverMkDepend"
|
||||
"DriverPhases"
|
||||
"PipelineMonad"
|
||||
"DriverPipeline"
|
||||
"DynFlags"
|
||||
"ErrUtils"
|
||||
"Finder"
|
||||
"GHC"
|
||||
"GhcMake"
|
||||
"GhcPlugins"
|
||||
"DynamicLoading"
|
||||
"HeaderInfo"
|
||||
"HscMain"
|
||||
"HscStats"
|
||||
"HscTypes"
|
||||
"InteractiveEval"
|
||||
"InteractiveEvalTypes"
|
||||
"PackageConfig"
|
||||
"Packages"
|
||||
"PlatformConstants"
|
||||
"Plugins"
|
||||
"TcPluginM"
|
||||
"PprTyThing"
|
||||
"StaticPtrTable"
|
||||
"SysTools"
|
||||
"SysTools/BaseDir"
|
||||
"SysTools/Terminal"
|
||||
"SysTools/ExtraObj"
|
||||
"SysTools/Info"
|
||||
"SysTools/Process"
|
||||
"SysTools/Tasks"
|
||||
"Elf"
|
||||
"TidyPgm"
|
||||
"Ctype"
|
||||
"HaddockUtils"
|
||||
"Lexer"
|
||||
"OptCoercion"
|
||||
"Parser"
|
||||
"RdrHsSyn"
|
||||
"ApiAnnotation"
|
||||
"ForeignCall"
|
||||
"KnownUniques"
|
||||
"PrelInfo"
|
||||
"PrelNames"
|
||||
"PrelRules"
|
||||
"PrimOp"
|
||||
"TysPrim"
|
||||
"TysWiredIn"
|
||||
"CostCentre"
|
||||
"CostCentreState"
|
||||
"ProfInit"
|
||||
"RnBinds"
|
||||
"RnEnv"
|
||||
"RnExpr"
|
||||
"RnHsDoc"
|
||||
"RnNames"
|
||||
"RnPat"
|
||||
"RnSource"
|
||||
"RnSplice"
|
||||
"RnTypes"
|
||||
"RnFixity"
|
||||
"RnUtils"
|
||||
"RnUnbound"
|
||||
"CoreMonad"
|
||||
"CSE"
|
||||
"FloatIn"
|
||||
"FloatOut"
|
||||
"LiberateCase"
|
||||
"OccurAnal"
|
||||
"SAT"
|
||||
"SetLevels"
|
||||
"SimplCore"
|
||||
"SimplEnv"
|
||||
"SimplMonad"
|
||||
"SimplUtils"
|
||||
"Simplify"
|
||||
"SimplStg"
|
||||
"StgStats"
|
||||
"StgCse"
|
||||
"StgLiftLams"
|
||||
"StgLiftLams/Analysis"
|
||||
"StgLiftLams/LiftM"
|
||||
"StgLiftLams/Transformation"
|
||||
"StgSubst"
|
||||
"UnariseStg"
|
||||
"RepType"
|
||||
"Rules"
|
||||
"SpecConstr"
|
||||
"Specialise"
|
||||
"CoreToStg"
|
||||
"StgLint"
|
||||
"StgSyn"
|
||||
"StgFVs"
|
||||
"CallArity"
|
||||
"DmdAnal"
|
||||
"Exitify"
|
||||
"WorkWrap"
|
||||
"WwLib"
|
||||
"FamInst"
|
||||
"ClsInst"
|
||||
"Inst"
|
||||
"TcAnnotations"
|
||||
"TcArrows"
|
||||
"TcBinds"
|
||||
"TcSigs"
|
||||
"TcClassDcl"
|
||||
"TcDefaults"
|
||||
"TcDeriv"
|
||||
"TcDerivInfer"
|
||||
"TcDerivUtils"
|
||||
"TcEnv"
|
||||
"TcExpr"
|
||||
"TcForeign"
|
||||
"TcGenDeriv"
|
||||
"TcGenFunctor"
|
||||
"TcGenGenerics"
|
||||
"TcHsSyn"
|
||||
"TcHsType"
|
||||
"TcInstDcls"
|
||||
"TcMType"
|
||||
"TcValidity"
|
||||
"TcMatches"
|
||||
"TcPat"
|
||||
"TcPatSyn"
|
||||
"TcRnDriver"
|
||||
"TcBackpack"
|
||||
"TcRnExports"
|
||||
"TcRnMonad"
|
||||
"TcRnTypes"
|
||||
"TcRules"
|
||||
"TcSimplify"
|
||||
"TcHoleErrors"
|
||||
"TcErrors"
|
||||
"TcTyClsDecls"
|
||||
"TcTyDecls"
|
||||
"TcTypeable"
|
||||
"TcTypeableValidity"
|
||||
"TcType"
|
||||
"TcEvidence"
|
||||
"TcEvTerm"
|
||||
"TcUnify"
|
||||
"TcInteract"
|
||||
"TcCanonical"
|
||||
"TcFlatten"
|
||||
"TcSMonad"
|
||||
"TcTypeNats"
|
||||
"TcSplice"
|
||||
"Class"
|
||||
"Coercion"
|
||||
"DsMeta"
|
||||
"THNames"
|
||||
"FamInstEnv"
|
||||
"FunDeps"
|
||||
"InstEnv"
|
||||
"TyCon"
|
||||
"CoAxiom"
|
||||
"Kind"
|
||||
"Type"
|
||||
"TyCoRep"
|
||||
"Unify"
|
||||
"Bag"
|
||||
"Binary"
|
||||
"BooleanFormula"
|
||||
"BufWrite"
|
||||
"Digraph"
|
||||
"Encoding"
|
||||
"FastFunctions"
|
||||
"FastMutInt"
|
||||
"FastString"
|
||||
"FastStringEnv"
|
||||
"Fingerprint"
|
||||
"FiniteMap"
|
||||
"FV"
|
||||
"GraphBase"
|
||||
"GraphColor"
|
||||
"GraphOps"
|
||||
"GraphPpr"
|
||||
"IOEnv"
|
||||
"Json"
|
||||
"ListSetOps"
|
||||
"ListT"
|
||||
"Maybes"
|
||||
"MonadUtils"
|
||||
"OrdList"
|
||||
"Outputable"
|
||||
"Pair"
|
||||
"Panic"
|
||||
"PlainPanic"
|
||||
"PprColour"
|
||||
"Pretty"
|
||||
"State"
|
||||
"Stream"
|
||||
"StringBuffer"
|
||||
"UniqDFM"
|
||||
"UniqDSet"
|
||||
"UniqFM"
|
||||
"UniqMap"
|
||||
"UniqSet"
|
||||
"Util"
|
||||
"Hoopl/Block"
|
||||
"Hoopl/Collections"
|
||||
"Hoopl/Dataflow"
|
||||
"Hoopl/Graph"
|
||||
"Hoopl/Label"
|
||||
"AsmCodeGen"
|
||||
"TargetReg"
|
||||
"NCGMonad"
|
||||
"Instruction"
|
||||
"BlockLayout"
|
||||
"CFG"
|
||||
"Format"
|
||||
"Reg"
|
||||
"RegClass"
|
||||
"PIC"
|
||||
"Platform"
|
||||
"CPrim"
|
||||
"X86/Regs"
|
||||
"X86/RegInfo"
|
||||
"X86/Instr"
|
||||
"X86/Cond"
|
||||
"X86/Ppr"
|
||||
"X86/CodeGen"
|
||||
"PPC/Regs"
|
||||
"PPC/RegInfo"
|
||||
"PPC/Instr"
|
||||
"PPC/Cond"
|
||||
"PPC/Ppr"
|
||||
"PPC/CodeGen"
|
||||
"SPARC/Base"
|
||||
"SPARC/Regs"
|
||||
"SPARC/Imm"
|
||||
"SPARC/AddrMode"
|
||||
"SPARC/Cond"
|
||||
"SPARC/Instr"
|
||||
"SPARC/Stack"
|
||||
"SPARC/ShortcutJump"
|
||||
"SPARC/Ppr"
|
||||
"SPARC/CodeGen"
|
||||
"SPARC/CodeGen/Amode"
|
||||
"SPARC/CodeGen/Base"
|
||||
"SPARC/CodeGen/CondCode"
|
||||
"SPARC/CodeGen/Gen32"
|
||||
"SPARC/CodeGen/Gen64"
|
||||
"SPARC/CodeGen/Sanity"
|
||||
"SPARC/CodeGen/Expand"
|
||||
"RegAlloc/Liveness"
|
||||
"RegAlloc/Graph/Main"
|
||||
"RegAlloc/Graph/Stats"
|
||||
"RegAlloc/Graph/ArchBase"
|
||||
"RegAlloc/Graph/ArchX86"
|
||||
"RegAlloc/Graph/Coalesce"
|
||||
"RegAlloc/Graph/Spill"
|
||||
"RegAlloc/Graph/SpillClean"
|
||||
"RegAlloc/Graph/SpillCost"
|
||||
"RegAlloc/Graph/TrivColorable"
|
||||
"RegAlloc/Linear/Main"
|
||||
"RegAlloc/Linear/JoinToTargets"
|
||||
"RegAlloc/Linear/State"
|
||||
"RegAlloc/Linear/Stats"
|
||||
"RegAlloc/Linear/FreeRegs"
|
||||
"RegAlloc/Linear/StackMap"
|
||||
"RegAlloc/Linear/Base"
|
||||
"RegAlloc/Linear/X86/FreeRegs"
|
||||
"RegAlloc/Linear/X86_64/FreeRegs"
|
||||
"RegAlloc/Linear/PPC/FreeRegs"
|
||||
"RegAlloc/Linear/SPARC/FreeRegs"
|
||||
"Dwarf"
|
||||
"Dwarf/Types"
|
||||
"Dwarf/Constants"
|
||||
"Convert"
|
||||
"ByteCodeTypes"
|
||||
"ByteCodeAsm"
|
||||
"ByteCodeGen"
|
||||
"ByteCodeInstr"
|
||||
"ByteCodeItbls"
|
||||
"ByteCodeLink"
|
||||
"Debugger"
|
||||
"Linker"
|
||||
"RtClosureInspect"
|
||||
"GHCi"
|
||||
];
|
||||
cSources = [
|
||||
"parser/cutils.c"
|
||||
"ghci/keepCAFsForGHCi.c"
|
||||
"cbits/genSym.c"
|
||||
];
|
||||
hsSourceDirs = [
|
||||
"backpack"
|
||||
"basicTypes"
|
||||
"cmm"
|
||||
"codeGen"
|
||||
"coreSyn"
|
||||
"deSugar"
|
||||
"ghci"
|
||||
"hsSyn"
|
||||
"iface"
|
||||
"llvmGen"
|
||||
"main"
|
||||
"nativeGen"
|
||||
"parser"
|
||||
"prelude"
|
||||
"profiling"
|
||||
"rename"
|
||||
"simplCore"
|
||||
"simplStg"
|
||||
"specialise"
|
||||
"stgSyn"
|
||||
"stranal"
|
||||
"typecheck"
|
||||
"types"
|
||||
"utils"
|
||||
"hieFile"
|
||||
];
|
||||
includeDirs = [
|
||||
"."
|
||||
"parser"
|
||||
"utils"
|
||||
] ++ (pkgs.lib).optional (flags.ghci) "../rts/dist/build";
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ../compiler; }
|
@ -0,0 +1,101 @@
|
||||
let
|
||||
buildDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
sysDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
||||
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
pkgConfDepError = pkg:
|
||||
builtins.throw ''
|
||||
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
||||
|
||||
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
||||
'';
|
||||
exeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The local executable components do not include the component: ${pkg} (executable dependency).
|
||||
'';
|
||||
legacyExeDepError = pkg:
|
||||
builtins.throw ''
|
||||
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
||||
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
buildToolDepError = pkg:
|
||||
builtins.throw ''
|
||||
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
||||
|
||||
If this is a system dependency:
|
||||
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
||||
|
||||
If this is a Haskell dependency:
|
||||
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
||||
'';
|
||||
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
||||
{
|
||||
flags = { ghci = false; };
|
||||
package = {
|
||||
specVersion = "1.10";
|
||||
identifier = { name = "ghci"; version = "8.8.2"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "";
|
||||
maintainer = "ghc-devs@haskell.org";
|
||||
author = "";
|
||||
homepage = "";
|
||||
url = "";
|
||||
synopsis = "The library supporting GHC's interactive interpreter";
|
||||
description = "This library offers interfaces which mediate interactions between the\n@ghci@ interactive shell and @iserv@, GHC's out-of-process interpreter\nbackend.";
|
||||
buildType = "Simple";
|
||||
isLocal = true;
|
||||
detailLevel = "FullDetails";
|
||||
licenseFiles = [ "LICENSE" ];
|
||||
dataDir = "";
|
||||
dataFiles = [];
|
||||
extraSrcFiles = [ "changelog.md" ];
|
||||
extraTmpFiles = [];
|
||||
extraDocFiles = [];
|
||||
};
|
||||
components = {
|
||||
"library" = {
|
||||
depends = [
|
||||
(hsPkgs."array" or (buildDepError "array"))
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."binary" or (buildDepError "binary"))
|
||||
(hsPkgs."bytestring" or (buildDepError "bytestring"))
|
||||
(hsPkgs."containers" or (buildDepError "containers"))
|
||||
(hsPkgs."deepseq" or (buildDepError "deepseq"))
|
||||
(hsPkgs."filepath" or (buildDepError "filepath"))
|
||||
(hsPkgs."ghc-boot" or (buildDepError "ghc-boot"))
|
||||
(hsPkgs."ghc-boot-th" or (buildDepError "ghc-boot-th"))
|
||||
(hsPkgs."ghc-heap" or (buildDepError "ghc-heap"))
|
||||
(hsPkgs."template-haskell" or (buildDepError "template-haskell"))
|
||||
(hsPkgs."transformers" or (buildDepError "transformers"))
|
||||
] ++ (pkgs.lib).optional (!system.isWindows) (hsPkgs."unix" or (buildDepError "unix"));
|
||||
buildable = true;
|
||||
modules = [
|
||||
"GHCi/BreakArray"
|
||||
"GHCi/BinaryArray"
|
||||
"GHCi/Message"
|
||||
"GHCi/ResolvedBCO"
|
||||
"GHCi/RemoteTypes"
|
||||
"GHCi/FFI"
|
||||
"GHCi/InfoTable"
|
||||
"GHCi/StaticPtrTable"
|
||||
"GHCi/TH/Binary"
|
||||
"SizedSeq"
|
||||
] ++ (pkgs.lib).optionals (flags.ghci) [
|
||||
"GHCi/Run"
|
||||
"GHCi/CreateBCO"
|
||||
"GHCi/ObjLink"
|
||||
"GHCi/Signals"
|
||||
"GHCi/TH"
|
||||
];
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ../libraries/ghci; }
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user