mirror of
https://github.com/ilyakooo0/haskell.nix.git
synced 2024-10-05 20:08:41 +03:00
Update ghc 8.4.4 based tools to ghc 8.6.5 (#618)
Although the default ghc used by haskell.nix is ghc 8.6.5 many of the tools used in haskell.nix are still built with the boot compiler ghc 8.4.4. These include * haskell-nix.cabal-install * haskell-nix.alex * haskell-nix.happy This change updates those to ghc 8.6.5 and includes materializations for the new versions. When cabal-install is built it is careful to disable materialization checks on the version of itself used during the build to avoid infinite recursion. There was a version of nix-tools built with the boot ghc which was only used when `checkMaterialization = true`. It was used for the boot versions of alex, happy and hscolour. These have been update to use the default (ghc 8.6.5) version of nix-tools and checkMaterialization is forced off when they are being used to build ghc. This means the materialization will only be checked for these when they are built independently (they are included in the test set via haskellNixRoots). Three new arguments are added to `default.nix`: * `defaultCompilerNixName` if not specified "ghc865" is used * `checkMaterialization` makes it easier to switch on materialization checks * `system` defaults to `builtins.currentSystem` This change also moves the work needed for hydra eval to the eval system using a new `evalPackages` feature. This includes: * Fetching from git with `fetchgit` * Building scripts with `runCommand` and `writeTextFile` * `git ls-files` in `cleanGit` * running `cabal v2-configure` * copying materialized files (we are not sure why this is necessary but if we do not `cp -r` the files nix will not load them on hydra) Reduce size of `make-config-files.nix` strings by around 80%. These are unlikely to be the cause of hydra eval time memory issues in the GB range, but were still quite large (around 10MB for the `cabal-simple` test case). There was issue causing excessive builds of the `git` package when cross compiling. Gory details are a comment in `lib/defaults.nix` but in short if you use `git` you need an extra `.buildPackages` one is not enough because it depends on `gdb` and that will be different in `buildPackages` compared to `buildPackages.buildPackages`. Adds missing materialization files for ghc 8.4.4 (only needed when `checkMaterialization` is on because of other materialiazations, but good to have).
This commit is contained in:
parent
78bc7251d6
commit
099d830db1
1
.gitattributes
vendored
1
.gitattributes
vendored
@ -4,3 +4,4 @@
|
||||
nix-tools/.plan.nix/*.nix linguist-generated=true
|
||||
nix-tools/pkgs.nix linguist-generated=true
|
||||
.stack-to-nix.cache linguist-generated=true
|
||||
materialized/**/* linguist-generated=true
|
||||
|
@ -33,28 +33,6 @@ let
|
||||
dep.components.library # Regular package dependency
|
||||
or dep; # or a sublib
|
||||
|
||||
catPkgExactDep = p: ''
|
||||
cat ${p}/exactDep/configure-flags >> $out/configure-flags
|
||||
cat ${p}/exactDep/cabal.config >> $out/cabal.config
|
||||
'';
|
||||
|
||||
catGhcPkgExactDep = p: ''
|
||||
if [ -e ${ghc}/exactDeps/${p} ]; then
|
||||
cat ${ghc}/exactDeps/${p}/configure-flags >> $out/configure-flags
|
||||
cat ${ghc}/exactDeps/${p}/cabal.config >> $out/cabal.config
|
||||
fi
|
||||
'';
|
||||
|
||||
catPkgEnvDep = p: ''
|
||||
cat ${p}/envDep >> $out/ghc-environment
|
||||
'';
|
||||
|
||||
catGhcPkgEnvDep = p: ''
|
||||
if [ -e ${ghc}/envDeps/${p} ]; then
|
||||
cat ${ghc}/envDeps/${p} >> $out/ghc-environment
|
||||
fi
|
||||
'';
|
||||
|
||||
# Work our suitable packageCfgDir subdirectory
|
||||
isGhcjs = ghc.isGhcjs or false;
|
||||
ghcCommand' = if isGhcjs then "ghcjs" else "ghc";
|
||||
@ -94,10 +72,13 @@ in { identifier, component, fullName, flags ? {}, needsProfiling ? false }:
|
||||
"extra-framework-dirs" = map (p: "${p}/Library/Frameworks") component.frameworks;
|
||||
})}
|
||||
|
||||
# Copy over the nonReinstallablePkgs from the global package db.
|
||||
${lib.concatMapStringsSep "\n" (p: ''
|
||||
find ${ghc}/lib/${ghc.name}/package.conf.d -name '${p}*.conf' -exec cp -f {} $out/${packageCfgDir} \;
|
||||
'') nonReinstallablePkgs}
|
||||
ghc=${ghc}
|
||||
${ # Copy over the nonReinstallablePkgs from the global package db.
|
||||
''
|
||||
for p in ${lib.concatStringsSep " " nonReinstallablePkgs}; do
|
||||
find $ghc/lib/${ghc.name}/package.conf.d -name $p'*.conf' -exec cp -f {} $out/${packageCfgDir} \;
|
||||
done
|
||||
''}
|
||||
|
||||
for l in "${cfgFiles}"; do
|
||||
if [ -n "$l" ]; then
|
||||
@ -110,29 +91,49 @@ in { identifier, component, fullName, flags ? {}, needsProfiling ? false }:
|
||||
fi
|
||||
done
|
||||
|
||||
# Note: we pass `clear` first to ensure that we never consult the implicit global package db.
|
||||
${flagsAndConfig "package-db" ["clear" "$out/${packageCfgDir}"]}
|
||||
${ # Note: we pass `clear` first to ensure that we never consult the implicit global package db.
|
||||
flagsAndConfig "package-db" ["clear" "$out/${packageCfgDir}"]
|
||||
}
|
||||
|
||||
echo ${lib.concatStringsSep " " (lib.mapAttrsToList (fname: val: "--flags=${lib.optionalString (!val) "-" + fname}") flags)} >> $out/configure-flags
|
||||
|
||||
# Provide a cabal config without remote package repositories
|
||||
echo "write-ghc-environment-files: never" >> $out/cabal.config
|
||||
${ # Provide a cabal config without remote package repositories
|
||||
''
|
||||
echo "write-ghc-environment-files: never" >> $out/cabal.config
|
||||
''}
|
||||
|
||||
# Provide a GHC environment file
|
||||
cat > $out/ghc-environment <<EOF
|
||||
package-db $out/${packageCfgDir}
|
||||
EOF
|
||||
${ # Provide a GHC environment file
|
||||
''
|
||||
cat > $out/ghc-environment <<EOF
|
||||
package-db $out/${packageCfgDir}
|
||||
EOF
|
||||
''}
|
||||
|
||||
${lib.concatMapStringsSep "\n" catPkgEnvDep libDeps}
|
||||
${lib.concatMapStringsSep "\n" catGhcPkgEnvDep (lib.remove "ghc" nonReinstallablePkgs)}
|
||||
${ lib.optionalString component.doExactConfig ''
|
||||
echo "--exact-configuration" >> $out/configure-flags
|
||||
echo "allow-newer: ${identifier.name}:*" >> $out/cabal.config
|
||||
echo "allow-older: ${identifier.name}:*" >> $out/cabal.config
|
||||
''}
|
||||
|
||||
for p in ${lib.concatStringsSep " " libDeps}; do
|
||||
cat $p/envDep >> $out/ghc-environment
|
||||
${ lib.optionalString component.doExactConfig ''
|
||||
cat $p/exactDep/configure-flags >> $out/configure-flags
|
||||
cat $p/exactDep/cabal.config >> $out/cabal.config
|
||||
''}
|
||||
done
|
||||
for p in ${lib.concatStringsSep " " (lib.remove "ghc" nonReinstallablePkgs)}; do
|
||||
if [ -e $ghc/envDeps/$p ]; then
|
||||
cat $ghc/envDeps/$p >> $out/ghc-environment
|
||||
fi
|
||||
done
|
||||
'' + lib.optionalString component.doExactConfig ''
|
||||
echo "--exact-configuration" >> $out/configure-flags
|
||||
echo "allow-newer: ${identifier.name}:*" >> $out/cabal.config
|
||||
echo "allow-older: ${identifier.name}:*" >> $out/cabal.config
|
||||
|
||||
${lib.concatMapStringsSep "\n" catPkgExactDep libDeps}
|
||||
${lib.concatMapStringsSep "\n" catGhcPkgExactDep nonReinstallablePkgs}
|
||||
|
||||
for p in ${lib.concatStringsSep " " nonReinstallablePkgs}; do
|
||||
if [ -e $ghc/exactDeps/$p ]; then
|
||||
cat $ghc/exactDeps/$p/configure-flags >> $out/configure-flags
|
||||
cat $ghc/exactDeps/$p/cabal.config >> $out/cabal.config
|
||||
fi
|
||||
done
|
||||
''
|
||||
# This code originates in the `generic-builder.nix` from nixpkgs. However GHC has been fixed
|
||||
# to drop unused libraries referneced from libraries; and this patch is usually included in the
|
||||
@ -156,12 +157,13 @@ in { identifier, component, fullName, flags ? {}, needsProfiling ? false }:
|
||||
# 's/ /\n/g ; s/\n\n*/\n/g; s/^\n//;' Puts each field on its own line.
|
||||
# 's|/nix/store/|''${pkgroot}/../../../|' Convert store path to pkgroot relative path
|
||||
# 's|''${pkgroot}/../../../|/nix/store/|' Convert pkgroot relative path to store path
|
||||
+ lib.optionalString stdenv.isDarwin ''
|
||||
|
||||
# Work around a limit in the macOS Sierra linker on the number of paths
|
||||
# referenced by any one dynamic library:
|
||||
#
|
||||
# Create a local directory with symlinks of the *.dylib (macOS shared
|
||||
# libraries) from all the dependencies.
|
||||
+ lib.optionalString stdenv.isDarwin ''
|
||||
local dynamicLinksDir="$out/lib/links"
|
||||
mkdir -p $dynamicLinksDir
|
||||
# Enumerate dynamic-library-dirs with ''${pkgroot} expanded.
|
||||
|
2
ci.nix
2
ci.nix
@ -6,7 +6,7 @@
|
||||
, restrictEval ? false }:
|
||||
let
|
||||
inherit (import ./ci-lib.nix) dimension platformFilterGeneric filterAttrsOnlyRecursive;
|
||||
inherit (import ./default.nix {}) sources nixpkgsArgs;
|
||||
inherit (import ./default.nix { checkMaterialization = false; }) sources nixpkgsArgs;
|
||||
nixpkgsVersions = {
|
||||
"R1909" = "nixpkgs-1909";
|
||||
"R2003" = "nixpkgs-2003";
|
||||
|
36
default.nix
36
default.nix
@ -1,26 +1,50 @@
|
||||
let haskellNix = rec {
|
||||
let haskellNix = {
|
||||
checkMaterialization ? false, # Allows us to easily switch on materialization checking
|
||||
defaultCompilerNixName ? null, # Quick way to override the default compiler e.g. "ghc883"
|
||||
system ? builtins.currentSystem,
|
||||
... }: rec {
|
||||
sources = {
|
||||
inherit (import ./nixpkgs/default.nix) nixpkgs-1909 nixpkgs-2003 nixpkgs-default;
|
||||
};
|
||||
|
||||
config = import ./config.nix;
|
||||
overlays = [ allOverlays.combined ];
|
||||
overlays = [ allOverlays.combined ] ++ (
|
||||
if checkMaterialization == true
|
||||
then [(
|
||||
final: prev: {
|
||||
haskell-nix = prev.haskell-nix // {
|
||||
checkMaterialization = true;
|
||||
};
|
||||
}
|
||||
)]
|
||||
else []
|
||||
) ++ (
|
||||
if defaultCompilerNixName != null
|
||||
then [(
|
||||
final: prev: {
|
||||
haskell-nix = prev.haskell-nix // {
|
||||
inherit defaultCompilerNixName;
|
||||
};
|
||||
}
|
||||
)]
|
||||
else []
|
||||
);
|
||||
allOverlays = import ./overlays;
|
||||
nixpkgsArgs = { inherit config overlays; };
|
||||
nixpkgsArgs = { inherit config overlays system; };
|
||||
pkgs = import sources.nixpkgs-default nixpkgsArgs;
|
||||
};
|
||||
|
||||
haskellNixV1 = haskellNix.nixpkgsArgs;
|
||||
haskellNixV1 = (haskellNix {}).nixpkgsArgs;
|
||||
haskellNixV2 = haskellNix;
|
||||
|
||||
v1DeprecationMessage = "Version 1 is deprecated: use version 2 (nixpkgs arguments are available as the `nixpkgsArgs` attribute of version 2)";
|
||||
# If no arguments, then you get V1
|
||||
# I'd like to make importing directly issue a warning, but I couldn't figure out a way to make it happen
|
||||
in haskellNixV1 // {
|
||||
__functor = _: { version ? 2 }:
|
||||
__functor = _: { version ? 2, ... }@args:
|
||||
if version == 1
|
||||
then builtins.trace v1DeprecationMessage haskellNixV1
|
||||
else if version == 2
|
||||
then haskellNixV2
|
||||
then haskellNixV2 args
|
||||
else builtins.throw ("haskell.nix: unknown version: " + (builtins.toString version));
|
||||
}
|
||||
|
@ -4,7 +4,10 @@
|
||||
edition = 201909;
|
||||
|
||||
outputs = { self }: {
|
||||
overlay = self.overlays.combined;
|
||||
# Using the eval-on-build version here as the plan is that
|
||||
# `builtins.currentSystem` will not be supported in flakes.
|
||||
# https://github.com/NixOS/rfcs/pull/49/files#diff-a5a138ca225433534de8d260f225fe31R429
|
||||
overlay = self.overlays.combined-eval-on-build;
|
||||
overlays = import ./overlays;
|
||||
config = import ./config.nix;
|
||||
sources = import ./nixpkgs;
|
||||
|
@ -28,10 +28,6 @@
|
||||
, extra-hackage-tarballs ? []
|
||||
, ...
|
||||
}@args:
|
||||
# cabal-install versions before 2.4 will generate insufficient plan information.
|
||||
assert (if (builtins.compareVersions cabal-install.version "2.4.0.0") < 0
|
||||
then throw "cabal-install (current version: ${cabal-install.version}) needs to be at least 2.4 for plan-to-nix to work without cabal-to-nix"
|
||||
else true);
|
||||
|
||||
let
|
||||
forName = pkgs.lib.optionalString (name != null) (" for " + name);
|
||||
@ -265,7 +261,7 @@ let
|
||||
'');
|
||||
|
||||
# Dummy `ghc` that uses the captured output
|
||||
dummy-ghc = pkgs.writeTextFile {
|
||||
dummy-ghc = pkgs.evalPackages.writeTextFile {
|
||||
name = "dummy-" + ghc.name;
|
||||
executable = true;
|
||||
destination = "/bin/${ghc.targetPrefix}ghc";
|
||||
@ -282,7 +278,7 @@ let
|
||||
};
|
||||
|
||||
# Dummy `ghc-pkg` that uses the captured output
|
||||
dummy-ghc-pkg = pkgs.writeTextFile {
|
||||
dummy-ghc-pkg = pkgs.evalPackages.writeTextFile {
|
||||
name = "dummy-pkg-" + ghc.name;
|
||||
executable = true;
|
||||
destination = "/bin/${ghc.targetPrefix}ghc-pkg";
|
||||
@ -306,8 +302,8 @@ let
|
||||
else null;
|
||||
} // pkgs.lib.optionalAttrs (checkMaterialization != null) {
|
||||
inherit checkMaterialization;
|
||||
}) (runCommand (if name == null then "plan-to-nix-pkgs" else name + "-plan-to-nix-pkgs") {
|
||||
nativeBuildInputs = [ nix-tools dummy-ghc dummy-ghc-pkg hpack cabal-install pkgs.rsync ];
|
||||
}) (pkgs.evalPackages.runCommand (if name == null then "plan-to-nix-pkgs" else name + "-plan-to-nix-pkgs") {
|
||||
nativeBuildInputs = [ nix-tools dummy-ghc dummy-ghc-pkg hpack cabal-install pkgs.evalPackages.rsync ];
|
||||
# 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";
|
||||
LANG = "en_US.UTF-8";
|
||||
|
@ -1,8 +1,32 @@
|
||||
{ stdenv, lib, haskellLib, runCommand, git, recurseIntoAttrs, srcOnly }:
|
||||
{ pkgs, stdenv, lib, haskellLib, recurseIntoAttrs, srcOnly }:
|
||||
|
||||
|
||||
with haskellLib;
|
||||
|
||||
{
|
||||
let
|
||||
# Why `final.evalPackages.buildPackages.git`?
|
||||
# Why not just final.evalPackages.git?
|
||||
#
|
||||
# A problem arises when `evalPackages` is `buildPackages`.i
|
||||
# As may be the case in a flake.
|
||||
#
|
||||
# It turns out `git` depends on `gdb` in a round about way:
|
||||
# git -> openssh -> libfido2 -> systemd -> python libxml -> Cython -> gdb
|
||||
# Somewhere in that chain there should perhaps be a `buildPackages` so
|
||||
# that the `gdb` that is used is not the one for debugging code in
|
||||
# the `final` (but instead the one for debugging code in
|
||||
# `final.buildPackages`).
|
||||
#
|
||||
# Using `final.buildPackages.git` causes two problems:
|
||||
#
|
||||
# * Multiple versions of `git` (and that dependency chain
|
||||
# to `gdb` are needed when cross compiling).
|
||||
# * When `gdb` does not exist for `js`, so when cross
|
||||
# compiling with ghcjs `final.buildPackages.git` fails
|
||||
# to build at all.
|
||||
inherit (pkgs.evalPackages.buildPackages) git;
|
||||
|
||||
in {
|
||||
# Within the package components, these are the attribute names of
|
||||
# nested attrsets.
|
||||
subComponentTypes = [
|
||||
@ -181,7 +205,8 @@ with haskellLib;
|
||||
|
||||
# Clean git directory based on `git ls-files --recurse-submodules`
|
||||
cleanGit = import ./clean-git.nix {
|
||||
inherit lib runCommand git cleanSourceWith;
|
||||
inherit lib git cleanSourceWith;
|
||||
inherit (pkgs.evalPackages) runCommand;
|
||||
};
|
||||
|
||||
# Check a test component
|
||||
|
70
materialized/bootstrap/hscolour/.plan.nix/hscolour.nix
generated
Normal file
70
materialized/bootstrap/hscolour/.plan.nix/hscolour.nix
generated
Normal file
@ -0,0 +1,70 @@
|
||||
{ system
|
||||
, compiler
|
||||
, flags
|
||||
, pkgs
|
||||
, hsPkgs
|
||||
, pkgconfPkgs
|
||||
, errorHandler
|
||||
, config
|
||||
, ... }:
|
||||
{
|
||||
flags = {};
|
||||
package = {
|
||||
specVersion = "1.6";
|
||||
identifier = { name = "hscolour"; version = "1.24.4"; };
|
||||
license = "LicenseRef-LGPL";
|
||||
copyright = "2003-2017 Malcolm Wallace; 2006 Bjorn Bringert";
|
||||
maintainer = "Malcolm Wallace";
|
||||
author = "Malcolm Wallace";
|
||||
homepage = "http://code.haskell.org/~malcolm/hscolour/";
|
||||
url = "";
|
||||
synopsis = "Colourise Haskell code.";
|
||||
description = "hscolour is a small Haskell script to colourise Haskell code. It currently\nhas six output formats:\nANSI terminal codes (optionally XTerm-256colour codes),\nHTML 3.2 with <font> tags,\nHTML 4.01 with CSS,\nHTML 4.01 with CSS and mouseover annotations,\nXHTML 1.0 with inline CSS styling,\nLaTeX,\nand mIRC chat codes.";
|
||||
buildType = "Simple";
|
||||
isLocal = true;
|
||||
detailLevel = "FullDetails";
|
||||
licenseFiles = [ "LICENCE-LGPL" ];
|
||||
dataDir = "";
|
||||
dataFiles = [ "hscolour.css" "data/rgb24-example-.hscolour" ];
|
||||
extraSrcFiles = [];
|
||||
extraTmpFiles = [];
|
||||
extraDocFiles = [];
|
||||
};
|
||||
components = {
|
||||
"library" = {
|
||||
depends = [
|
||||
(hsPkgs."base" or (errorHandler.buildDepError "base"))
|
||||
(hsPkgs."containers" or (errorHandler.buildDepError "containers"))
|
||||
];
|
||||
buildable = true;
|
||||
modules = [
|
||||
"Language/Haskell/HsColour"
|
||||
"Language/Haskell/HsColour/ANSI"
|
||||
"Language/Haskell/HsColour/Anchors"
|
||||
"Language/Haskell/HsColour/ACSS"
|
||||
"Language/Haskell/HsColour/CSS"
|
||||
"Language/Haskell/HsColour/Classify"
|
||||
"Language/Haskell/HsColour/ColourHighlight"
|
||||
"Language/Haskell/HsColour/Colourise"
|
||||
"Language/Haskell/HsColour/General"
|
||||
"Language/Haskell/HsColour/HTML"
|
||||
"Language/Haskell/HsColour/InlineCSS"
|
||||
"Language/Haskell/HsColour/LaTeX"
|
||||
"Language/Haskell/HsColour/MIRC"
|
||||
"Language/Haskell/HsColour/Options"
|
||||
"Language/Haskell/HsColour/Output"
|
||||
"Language/Haskell/HsColour/TTY"
|
||||
];
|
||||
};
|
||||
exes = {
|
||||
"HsColour" = {
|
||||
depends = [
|
||||
(hsPkgs."base" or (errorHandler.buildDepError "base"))
|
||||
(hsPkgs."containers" or (errorHandler.buildDepError "containers"))
|
||||
];
|
||||
buildable = true;
|
||||
mainPath = [ "HsColour.hs" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ../.; }
|
33
materialized/bootstrap/hscolour/default.nix
generated
Normal file
33
materialized/bootstrap/hscolour/default.nix
generated
Normal file
@ -0,0 +1,33 @@
|
||||
{
|
||||
pkgs = hackage:
|
||||
{
|
||||
packages = {
|
||||
"ghc-prim".revision = (((hackage."ghc-prim")."0.5.2.0").revisions).default;
|
||||
"rts".revision = (((hackage."rts")."1.0").revisions).default;
|
||||
"deepseq".revision = (((hackage."deepseq")."1.4.3.0").revisions).default;
|
||||
"containers".revision = (((hackage."containers")."0.5.11.0").revisions).default;
|
||||
"base".revision = (((hackage."base")."4.11.1.0").revisions).default;
|
||||
"array".revision = (((hackage."array")."0.5.2.0").revisions).default;
|
||||
"integer-gmp".revision = (((hackage."integer-gmp")."1.0.2.0").revisions).default;
|
||||
};
|
||||
compiler = {
|
||||
version = "8.4.4";
|
||||
nix-name = "ghc844";
|
||||
packages = {
|
||||
"ghc-prim" = "0.5.2.0";
|
||||
"rts" = "1.0";
|
||||
"deepseq" = "1.4.3.0";
|
||||
"containers" = "0.5.11.0";
|
||||
"base" = "4.11.1.0";
|
||||
"array" = "0.5.2.0";
|
||||
"integer-gmp" = "1.0.2.0";
|
||||
};
|
||||
};
|
||||
};
|
||||
extras = hackage:
|
||||
{ packages = { hscolour = ./.plan.nix/hscolour.nix; }; };
|
||||
modules = [
|
||||
({ lib, ... }:
|
||||
{ packages = { "hscolour" = { flags = {}; }; }; })
|
||||
];
|
||||
}
|
1469
materialized/dummy-ghc/ghc-8.4.4-x86_64-darwin/ghc-pkg/dump-global
generated
Normal file
1469
materialized/dummy-ghc/ghc-8.4.4-x86_64-darwin/ghc-pkg/dump-global
generated
Normal file
File diff suppressed because it is too large
Load Diff
1
materialized/dummy-ghc/ghc-8.4.4-x86_64-darwin/ghc-pkg/version
generated
Normal file
1
materialized/dummy-ghc/ghc-8.4.4-x86_64-darwin/ghc-pkg/version
generated
Normal file
@ -0,0 +1 @@
|
||||
GHC package manager version 8.4.4
|
62
materialized/dummy-ghc/ghc-8.4.4-x86_64-darwin/ghc/info
generated
Normal file
62
materialized/dummy-ghc/ghc-8.4.4-x86_64-darwin/ghc/info
generated
Normal file
@ -0,0 +1,62 @@
|
||||
[("Project name","The Glorious Glasgow Haskell Compilation System")
|
||||
,("GCC extra via C opts"," -fwrapv -fno-builtin")
|
||||
,("C compiler command","clang")
|
||||
,("C compiler flags"," -fno-stack-protector")
|
||||
,("C compiler link flags"," ")
|
||||
,("C compiler supports -no-pie","YES")
|
||||
,("Haskell CPP command","clang")
|
||||
,("Haskell CPP flags","-E -undef -traditional -Wno-invalid-pp-token -Wno-unicode -Wno-trigraphs")
|
||||
,("ld command","ld")
|
||||
,("ld flags","")
|
||||
,("ld supports compact unwind","YES")
|
||||
,("ld supports build-id","NO")
|
||||
,("ld supports filelist","YES")
|
||||
,("ld is GNU ld","NO")
|
||||
,("ar command","ar")
|
||||
,("ar flags","qcls")
|
||||
,("ar supports at file","NO")
|
||||
,("ranlib command","ranlib")
|
||||
,("touch command","touch")
|
||||
,("dllwrap command","/bin/false")
|
||||
,("windres command","/bin/false")
|
||||
,("libtool command","libtool")
|
||||
,("cross compiling","NO")
|
||||
,("target os","OSDarwin")
|
||||
,("target arch","ArchX86_64")
|
||||
,("target word size","8")
|
||||
,("target has GNU nonexec stack","False")
|
||||
,("target has .ident directive","True")
|
||||
,("target has subsections via symbols","True")
|
||||
,("target has RTS linker","YES")
|
||||
,("Unregisterised","NO")
|
||||
,("LLVM llc command","llc")
|
||||
,("LLVM opt command","opt")
|
||||
,("LLVM clang command","clang")
|
||||
,("Project version","8.4.4")
|
||||
,("Project Git commit id","3bed09b2efd3df678c5d0752d2cdfba20d7c4863")
|
||||
,("Booter version","8.4.3")
|
||||
,("Stage","2")
|
||||
,("Build platform","x86_64-apple-darwin")
|
||||
,("Host platform","x86_64-apple-darwin")
|
||||
,("Target platform","x86_64-apple-darwin")
|
||||
,("Have interpreter","YES")
|
||||
,("Object splitting supported","NO")
|
||||
,("Have native code generator","YES")
|
||||
,("Support SMP","YES")
|
||||
,("Tables next to code","YES")
|
||||
,("RTS ways","l debug thr thr_debug thr_l thr_p dyn debug_dyn thr_dyn thr_debug_dyn l_dyn thr_l_dyn")
|
||||
,("RTS expects libdw","NO")
|
||||
,("Support dynamic-too","YES")
|
||||
,("Support parallel --make","YES")
|
||||
,("Support reexported-modules","YES")
|
||||
,("Support thinning and renaming package flags","YES")
|
||||
,("Support Backpack","YES")
|
||||
,("Requires unified installed package IDs","YES")
|
||||
,("Uses package keys","YES")
|
||||
,("Uses unit IDs","YES")
|
||||
,("Dynamic by default","NO")
|
||||
,("GHC Dynamic","YES")
|
||||
,("GHC Profiled","NO")
|
||||
,("Leading underscore","YES")
|
||||
,("Debug on","False")
|
||||
]
|
1
materialized/dummy-ghc/ghc-8.4.4-x86_64-darwin/ghc/numeric-version
generated
Normal file
1
materialized/dummy-ghc/ghc-8.4.4-x86_64-darwin/ghc/numeric-version
generated
Normal file
@ -0,0 +1 @@
|
||||
8.4.4
|
235
materialized/dummy-ghc/ghc-8.4.4-x86_64-darwin/ghc/supported-languages
generated
Normal file
235
materialized/dummy-ghc/ghc-8.4.4-x86_64-darwin/ghc/supported-languages
generated
Normal file
@ -0,0 +1,235 @@
|
||||
Haskell98
|
||||
Haskell2010
|
||||
Unsafe
|
||||
Trustworthy
|
||||
Safe
|
||||
AllowAmbiguousTypes
|
||||
NoAllowAmbiguousTypes
|
||||
AlternativeLayoutRule
|
||||
NoAlternativeLayoutRule
|
||||
AlternativeLayoutRuleTransitional
|
||||
NoAlternativeLayoutRuleTransitional
|
||||
Arrows
|
||||
NoArrows
|
||||
AutoDeriveTypeable
|
||||
NoAutoDeriveTypeable
|
||||
BangPatterns
|
||||
NoBangPatterns
|
||||
BinaryLiterals
|
||||
NoBinaryLiterals
|
||||
CApiFFI
|
||||
NoCApiFFI
|
||||
CPP
|
||||
NoCPP
|
||||
ConstrainedClassMethods
|
||||
NoConstrainedClassMethods
|
||||
ConstraintKinds
|
||||
NoConstraintKinds
|
||||
DataKinds
|
||||
NoDataKinds
|
||||
DatatypeContexts
|
||||
NoDatatypeContexts
|
||||
DefaultSignatures
|
||||
NoDefaultSignatures
|
||||
DeriveAnyClass
|
||||
NoDeriveAnyClass
|
||||
DeriveDataTypeable
|
||||
NoDeriveDataTypeable
|
||||
DeriveFoldable
|
||||
NoDeriveFoldable
|
||||
DeriveFunctor
|
||||
NoDeriveFunctor
|
||||
DeriveGeneric
|
||||
NoDeriveGeneric
|
||||
DeriveLift
|
||||
NoDeriveLift
|
||||
DeriveTraversable
|
||||
NoDeriveTraversable
|
||||
DerivingStrategies
|
||||
NoDerivingStrategies
|
||||
DisambiguateRecordFields
|
||||
NoDisambiguateRecordFields
|
||||
DoAndIfThenElse
|
||||
NoDoAndIfThenElse
|
||||
DoRec
|
||||
NoDoRec
|
||||
DuplicateRecordFields
|
||||
NoDuplicateRecordFields
|
||||
EmptyCase
|
||||
NoEmptyCase
|
||||
EmptyDataDecls
|
||||
NoEmptyDataDecls
|
||||
EmptyDataDeriving
|
||||
NoEmptyDataDeriving
|
||||
ExistentialQuantification
|
||||
NoExistentialQuantification
|
||||
ExplicitForAll
|
||||
NoExplicitForAll
|
||||
ExplicitNamespaces
|
||||
NoExplicitNamespaces
|
||||
ExtendedDefaultRules
|
||||
NoExtendedDefaultRules
|
||||
FlexibleContexts
|
||||
NoFlexibleContexts
|
||||
FlexibleInstances
|
||||
NoFlexibleInstances
|
||||
ForeignFunctionInterface
|
||||
NoForeignFunctionInterface
|
||||
FunctionalDependencies
|
||||
NoFunctionalDependencies
|
||||
GADTSyntax
|
||||
NoGADTSyntax
|
||||
GADTs
|
||||
NoGADTs
|
||||
GHCForeignImportPrim
|
||||
NoGHCForeignImportPrim
|
||||
GeneralizedNewtypeDeriving
|
||||
NoGeneralizedNewtypeDeriving
|
||||
ImplicitParams
|
||||
NoImplicitParams
|
||||
ImplicitPrelude
|
||||
NoImplicitPrelude
|
||||
ImpredicativeTypes
|
||||
NoImpredicativeTypes
|
||||
IncoherentInstances
|
||||
NoIncoherentInstances
|
||||
TypeFamilyDependencies
|
||||
NoTypeFamilyDependencies
|
||||
InstanceSigs
|
||||
NoInstanceSigs
|
||||
ApplicativeDo
|
||||
NoApplicativeDo
|
||||
InterruptibleFFI
|
||||
NoInterruptibleFFI
|
||||
JavaScriptFFI
|
||||
NoJavaScriptFFI
|
||||
KindSignatures
|
||||
NoKindSignatures
|
||||
LambdaCase
|
||||
NoLambdaCase
|
||||
LiberalTypeSynonyms
|
||||
NoLiberalTypeSynonyms
|
||||
MagicHash
|
||||
NoMagicHash
|
||||
MonadComprehensions
|
||||
NoMonadComprehensions
|
||||
MonadFailDesugaring
|
||||
NoMonadFailDesugaring
|
||||
MonoLocalBinds
|
||||
NoMonoLocalBinds
|
||||
MonoPatBinds
|
||||
NoMonoPatBinds
|
||||
MonomorphismRestriction
|
||||
NoMonomorphismRestriction
|
||||
MultiParamTypeClasses
|
||||
NoMultiParamTypeClasses
|
||||
MultiWayIf
|
||||
NoMultiWayIf
|
||||
NPlusKPatterns
|
||||
NoNPlusKPatterns
|
||||
NamedFieldPuns
|
||||
NoNamedFieldPuns
|
||||
NamedWildCards
|
||||
NoNamedWildCards
|
||||
NegativeLiterals
|
||||
NoNegativeLiterals
|
||||
HexFloatLiterals
|
||||
NoHexFloatLiterals
|
||||
NondecreasingIndentation
|
||||
NoNondecreasingIndentation
|
||||
NullaryTypeClasses
|
||||
NoNullaryTypeClasses
|
||||
NumDecimals
|
||||
NoNumDecimals
|
||||
OverlappingInstances
|
||||
NoOverlappingInstances
|
||||
OverloadedLabels
|
||||
NoOverloadedLabels
|
||||
OverloadedLists
|
||||
NoOverloadedLists
|
||||
OverloadedStrings
|
||||
NoOverloadedStrings
|
||||
PackageImports
|
||||
NoPackageImports
|
||||
ParallelArrays
|
||||
NoParallelArrays
|
||||
ParallelListComp
|
||||
NoParallelListComp
|
||||
PartialTypeSignatures
|
||||
NoPartialTypeSignatures
|
||||
PatternGuards
|
||||
NoPatternGuards
|
||||
PatternSignatures
|
||||
NoPatternSignatures
|
||||
PatternSynonyms
|
||||
NoPatternSynonyms
|
||||
PolyKinds
|
||||
NoPolyKinds
|
||||
PolymorphicComponents
|
||||
NoPolymorphicComponents
|
||||
PostfixOperators
|
||||
NoPostfixOperators
|
||||
QuasiQuotes
|
||||
NoQuasiQuotes
|
||||
Rank2Types
|
||||
NoRank2Types
|
||||
RankNTypes
|
||||
NoRankNTypes
|
||||
RebindableSyntax
|
||||
NoRebindableSyntax
|
||||
RecordPuns
|
||||
NoRecordPuns
|
||||
RecordWildCards
|
||||
NoRecordWildCards
|
||||
RecursiveDo
|
||||
NoRecursiveDo
|
||||
RelaxedLayout
|
||||
NoRelaxedLayout
|
||||
RelaxedPolyRec
|
||||
NoRelaxedPolyRec
|
||||
RoleAnnotations
|
||||
NoRoleAnnotations
|
||||
ScopedTypeVariables
|
||||
NoScopedTypeVariables
|
||||
StandaloneDeriving
|
||||
NoStandaloneDeriving
|
||||
StaticPointers
|
||||
NoStaticPointers
|
||||
Strict
|
||||
NoStrict
|
||||
StrictData
|
||||
NoStrictData
|
||||
TemplateHaskell
|
||||
NoTemplateHaskell
|
||||
TemplateHaskellQuotes
|
||||
NoTemplateHaskellQuotes
|
||||
TraditionalRecordSyntax
|
||||
NoTraditionalRecordSyntax
|
||||
TransformListComp
|
||||
NoTransformListComp
|
||||
TupleSections
|
||||
NoTupleSections
|
||||
TypeApplications
|
||||
NoTypeApplications
|
||||
TypeInType
|
||||
NoTypeInType
|
||||
TypeFamilies
|
||||
NoTypeFamilies
|
||||
TypeOperators
|
||||
NoTypeOperators
|
||||
TypeSynonymInstances
|
||||
NoTypeSynonymInstances
|
||||
UnboxedTuples
|
||||
NoUnboxedTuples
|
||||
UnboxedSums
|
||||
NoUnboxedSums
|
||||
UndecidableInstances
|
||||
NoUndecidableInstances
|
||||
UndecidableSuperClasses
|
||||
NoUndecidableSuperClasses
|
||||
UnicodeSyntax
|
||||
NoUnicodeSyntax
|
||||
UnliftedFFITypes
|
||||
NoUnliftedFFITypes
|
||||
ViewPatterns
|
||||
NoViewPatterns
|
1471
materialized/dummy-ghc/ghc-8.4.4-x86_64-linux/ghc-pkg/dump-global
generated
Normal file
1471
materialized/dummy-ghc/ghc-8.4.4-x86_64-linux/ghc-pkg/dump-global
generated
Normal file
File diff suppressed because it is too large
Load Diff
1
materialized/dummy-ghc/ghc-8.4.4-x86_64-linux/ghc-pkg/version
generated
Normal file
1
materialized/dummy-ghc/ghc-8.4.4-x86_64-linux/ghc-pkg/version
generated
Normal file
@ -0,0 +1 @@
|
||||
GHC package manager version 8.4.4
|
62
materialized/dummy-ghc/ghc-8.4.4-x86_64-linux/ghc/info
generated
Normal file
62
materialized/dummy-ghc/ghc-8.4.4-x86_64-linux/ghc/info
generated
Normal file
@ -0,0 +1,62 @@
|
||||
[("Project name","The Glorious Glasgow Haskell Compilation System")
|
||||
,("GCC extra via C opts"," -fwrapv -fno-builtin")
|
||||
,("C compiler command","gcc")
|
||||
,("C compiler flags"," -fno-stack-protector")
|
||||
,("C compiler link flags"," ")
|
||||
,("C compiler supports -no-pie","YES")
|
||||
,("Haskell CPP command","gcc")
|
||||
,("Haskell CPP flags","-E -undef -traditional")
|
||||
,("ld command","ld")
|
||||
,("ld flags","")
|
||||
,("ld supports compact unwind","YES")
|
||||
,("ld supports build-id","YES")
|
||||
,("ld supports filelist","NO")
|
||||
,("ld is GNU ld","YES")
|
||||
,("ar command","ar")
|
||||
,("ar flags","q")
|
||||
,("ar supports at file","YES")
|
||||
,("ranlib command","ranlib")
|
||||
,("touch command","touch")
|
||||
,("dllwrap command","/bin/false")
|
||||
,("windres command","/bin/false")
|
||||
,("libtool command","libtool")
|
||||
,("cross compiling","NO")
|
||||
,("target os","OSLinux")
|
||||
,("target arch","ArchX86_64")
|
||||
,("target word size","8")
|
||||
,("target has GNU nonexec stack","True")
|
||||
,("target has .ident directive","True")
|
||||
,("target has subsections via symbols","False")
|
||||
,("target has RTS linker","YES")
|
||||
,("Unregisterised","NO")
|
||||
,("LLVM llc command","llc")
|
||||
,("LLVM opt command","opt")
|
||||
,("LLVM clang command","clang")
|
||||
,("Project version","8.4.4")
|
||||
,("Project Git commit id","3bed09b2efd3df678c5d0752d2cdfba20d7c4863")
|
||||
,("Booter version","8.0.2")
|
||||
,("Stage","2")
|
||||
,("Build platform","x86_64-unknown-linux")
|
||||
,("Host platform","x86_64-unknown-linux")
|
||||
,("Target platform","x86_64-unknown-linux")
|
||||
,("Have interpreter","YES")
|
||||
,("Object splitting supported","YES")
|
||||
,("Have native code generator","YES")
|
||||
,("Support SMP","YES")
|
||||
,("Tables next to code","YES")
|
||||
,("RTS ways","l debug thr thr_debug thr_l thr_p dyn debug_dyn thr_dyn thr_debug_dyn l_dyn thr_l_dyn")
|
||||
,("RTS expects libdw","NO")
|
||||
,("Support dynamic-too","YES")
|
||||
,("Support parallel --make","YES")
|
||||
,("Support reexported-modules","YES")
|
||||
,("Support thinning and renaming package flags","YES")
|
||||
,("Support Backpack","YES")
|
||||
,("Requires unified installed package IDs","YES")
|
||||
,("Uses package keys","YES")
|
||||
,("Uses unit IDs","YES")
|
||||
,("Dynamic by default","NO")
|
||||
,("GHC Dynamic","YES")
|
||||
,("GHC Profiled","NO")
|
||||
,("Leading underscore","NO")
|
||||
,("Debug on","False")
|
||||
]
|
1
materialized/dummy-ghc/ghc-8.4.4-x86_64-linux/ghc/numeric-version
generated
Normal file
1
materialized/dummy-ghc/ghc-8.4.4-x86_64-linux/ghc/numeric-version
generated
Normal file
@ -0,0 +1 @@
|
||||
8.4.4
|
235
materialized/dummy-ghc/ghc-8.4.4-x86_64-linux/ghc/supported-languages
generated
Normal file
235
materialized/dummy-ghc/ghc-8.4.4-x86_64-linux/ghc/supported-languages
generated
Normal file
@ -0,0 +1,235 @@
|
||||
Haskell98
|
||||
Haskell2010
|
||||
Unsafe
|
||||
Trustworthy
|
||||
Safe
|
||||
AllowAmbiguousTypes
|
||||
NoAllowAmbiguousTypes
|
||||
AlternativeLayoutRule
|
||||
NoAlternativeLayoutRule
|
||||
AlternativeLayoutRuleTransitional
|
||||
NoAlternativeLayoutRuleTransitional
|
||||
Arrows
|
||||
NoArrows
|
||||
AutoDeriveTypeable
|
||||
NoAutoDeriveTypeable
|
||||
BangPatterns
|
||||
NoBangPatterns
|
||||
BinaryLiterals
|
||||
NoBinaryLiterals
|
||||
CApiFFI
|
||||
NoCApiFFI
|
||||
CPP
|
||||
NoCPP
|
||||
ConstrainedClassMethods
|
||||
NoConstrainedClassMethods
|
||||
ConstraintKinds
|
||||
NoConstraintKinds
|
||||
DataKinds
|
||||
NoDataKinds
|
||||
DatatypeContexts
|
||||
NoDatatypeContexts
|
||||
DefaultSignatures
|
||||
NoDefaultSignatures
|
||||
DeriveAnyClass
|
||||
NoDeriveAnyClass
|
||||
DeriveDataTypeable
|
||||
NoDeriveDataTypeable
|
||||
DeriveFoldable
|
||||
NoDeriveFoldable
|
||||
DeriveFunctor
|
||||
NoDeriveFunctor
|
||||
DeriveGeneric
|
||||
NoDeriveGeneric
|
||||
DeriveLift
|
||||
NoDeriveLift
|
||||
DeriveTraversable
|
||||
NoDeriveTraversable
|
||||
DerivingStrategies
|
||||
NoDerivingStrategies
|
||||
DisambiguateRecordFields
|
||||
NoDisambiguateRecordFields
|
||||
DoAndIfThenElse
|
||||
NoDoAndIfThenElse
|
||||
DoRec
|
||||
NoDoRec
|
||||
DuplicateRecordFields
|
||||
NoDuplicateRecordFields
|
||||
EmptyCase
|
||||
NoEmptyCase
|
||||
EmptyDataDecls
|
||||
NoEmptyDataDecls
|
||||
EmptyDataDeriving
|
||||
NoEmptyDataDeriving
|
||||
ExistentialQuantification
|
||||
NoExistentialQuantification
|
||||
ExplicitForAll
|
||||
NoExplicitForAll
|
||||
ExplicitNamespaces
|
||||
NoExplicitNamespaces
|
||||
ExtendedDefaultRules
|
||||
NoExtendedDefaultRules
|
||||
FlexibleContexts
|
||||
NoFlexibleContexts
|
||||
FlexibleInstances
|
||||
NoFlexibleInstances
|
||||
ForeignFunctionInterface
|
||||
NoForeignFunctionInterface
|
||||
FunctionalDependencies
|
||||
NoFunctionalDependencies
|
||||
GADTSyntax
|
||||
NoGADTSyntax
|
||||
GADTs
|
||||
NoGADTs
|
||||
GHCForeignImportPrim
|
||||
NoGHCForeignImportPrim
|
||||
GeneralizedNewtypeDeriving
|
||||
NoGeneralizedNewtypeDeriving
|
||||
ImplicitParams
|
||||
NoImplicitParams
|
||||
ImplicitPrelude
|
||||
NoImplicitPrelude
|
||||
ImpredicativeTypes
|
||||
NoImpredicativeTypes
|
||||
IncoherentInstances
|
||||
NoIncoherentInstances
|
||||
TypeFamilyDependencies
|
||||
NoTypeFamilyDependencies
|
||||
InstanceSigs
|
||||
NoInstanceSigs
|
||||
ApplicativeDo
|
||||
NoApplicativeDo
|
||||
InterruptibleFFI
|
||||
NoInterruptibleFFI
|
||||
JavaScriptFFI
|
||||
NoJavaScriptFFI
|
||||
KindSignatures
|
||||
NoKindSignatures
|
||||
LambdaCase
|
||||
NoLambdaCase
|
||||
LiberalTypeSynonyms
|
||||
NoLiberalTypeSynonyms
|
||||
MagicHash
|
||||
NoMagicHash
|
||||
MonadComprehensions
|
||||
NoMonadComprehensions
|
||||
MonadFailDesugaring
|
||||
NoMonadFailDesugaring
|
||||
MonoLocalBinds
|
||||
NoMonoLocalBinds
|
||||
MonoPatBinds
|
||||
NoMonoPatBinds
|
||||
MonomorphismRestriction
|
||||
NoMonomorphismRestriction
|
||||
MultiParamTypeClasses
|
||||
NoMultiParamTypeClasses
|
||||
MultiWayIf
|
||||
NoMultiWayIf
|
||||
NPlusKPatterns
|
||||
NoNPlusKPatterns
|
||||
NamedFieldPuns
|
||||
NoNamedFieldPuns
|
||||
NamedWildCards
|
||||
NoNamedWildCards
|
||||
NegativeLiterals
|
||||
NoNegativeLiterals
|
||||
HexFloatLiterals
|
||||
NoHexFloatLiterals
|
||||
NondecreasingIndentation
|
||||
NoNondecreasingIndentation
|
||||
NullaryTypeClasses
|
||||
NoNullaryTypeClasses
|
||||
NumDecimals
|
||||
NoNumDecimals
|
||||
OverlappingInstances
|
||||
NoOverlappingInstances
|
||||
OverloadedLabels
|
||||
NoOverloadedLabels
|
||||
OverloadedLists
|
||||
NoOverloadedLists
|
||||
OverloadedStrings
|
||||
NoOverloadedStrings
|
||||
PackageImports
|
||||
NoPackageImports
|
||||
ParallelArrays
|
||||
NoParallelArrays
|
||||
ParallelListComp
|
||||
NoParallelListComp
|
||||
PartialTypeSignatures
|
||||
NoPartialTypeSignatures
|
||||
PatternGuards
|
||||
NoPatternGuards
|
||||
PatternSignatures
|
||||
NoPatternSignatures
|
||||
PatternSynonyms
|
||||
NoPatternSynonyms
|
||||
PolyKinds
|
||||
NoPolyKinds
|
||||
PolymorphicComponents
|
||||
NoPolymorphicComponents
|
||||
PostfixOperators
|
||||
NoPostfixOperators
|
||||
QuasiQuotes
|
||||
NoQuasiQuotes
|
||||
Rank2Types
|
||||
NoRank2Types
|
||||
RankNTypes
|
||||
NoRankNTypes
|
||||
RebindableSyntax
|
||||
NoRebindableSyntax
|
||||
RecordPuns
|
||||
NoRecordPuns
|
||||
RecordWildCards
|
||||
NoRecordWildCards
|
||||
RecursiveDo
|
||||
NoRecursiveDo
|
||||
RelaxedLayout
|
||||
NoRelaxedLayout
|
||||
RelaxedPolyRec
|
||||
NoRelaxedPolyRec
|
||||
RoleAnnotations
|
||||
NoRoleAnnotations
|
||||
ScopedTypeVariables
|
||||
NoScopedTypeVariables
|
||||
StandaloneDeriving
|
||||
NoStandaloneDeriving
|
||||
StaticPointers
|
||||
NoStaticPointers
|
||||
Strict
|
||||
NoStrict
|
||||
StrictData
|
||||
NoStrictData
|
||||
TemplateHaskell
|
||||
NoTemplateHaskell
|
||||
TemplateHaskellQuotes
|
||||
NoTemplateHaskellQuotes
|
||||
TraditionalRecordSyntax
|
||||
NoTraditionalRecordSyntax
|
||||
TransformListComp
|
||||
NoTransformListComp
|
||||
TupleSections
|
||||
NoTupleSections
|
||||
TypeApplications
|
||||
NoTypeApplications
|
||||
TypeInType
|
||||
NoTypeInType
|
||||
TypeFamilies
|
||||
NoTypeFamilies
|
||||
TypeOperators
|
||||
NoTypeOperators
|
||||
TypeSynonymInstances
|
||||
NoTypeSynonymInstances
|
||||
UnboxedTuples
|
||||
NoUnboxedTuples
|
||||
UnboxedSums
|
||||
NoUnboxedSums
|
||||
UndecidableInstances
|
||||
NoUndecidableInstances
|
||||
UndecidableSuperClasses
|
||||
NoUndecidableSuperClasses
|
||||
UnicodeSyntax
|
||||
NoUnicodeSyntax
|
||||
UnliftedFFITypes
|
||||
NoUnliftedFFITypes
|
||||
ViewPatterns
|
||||
NoViewPatterns
|
160
materialized/ghc865/alex/.plan.nix/alex.nix
generated
Normal file
160
materialized/ghc865/alex/.plan.nix/alex.nix
generated
Normal file
@ -0,0 +1,160 @@
|
||||
{ system
|
||||
, compiler
|
||||
, flags
|
||||
, pkgs
|
||||
, hsPkgs
|
||||
, pkgconfPkgs
|
||||
, errorHandler
|
||||
, config
|
||||
, ... }:
|
||||
{
|
||||
flags = { small_base = true; };
|
||||
package = {
|
||||
specVersion = "1.8";
|
||||
identifier = { name = "alex"; version = "3.2.5"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "(c) Chis Dornan, Simon Marlow";
|
||||
maintainer = "Simon Marlow <marlowsd@gmail.com>";
|
||||
author = "Chris Dornan and Simon Marlow";
|
||||
homepage = "http://www.haskell.org/alex/";
|
||||
url = "";
|
||||
synopsis = "Alex is a tool for generating lexical analysers in Haskell";
|
||||
description = "Alex is a tool for generating lexical analysers in Haskell.\nIt takes a description of tokens based on regular\nexpressions and generates a Haskell module containing code\nfor scanning text efficiently. It is similar to the tool\nlex or flex for C/C++.";
|
||||
buildType = "Simple";
|
||||
isLocal = true;
|
||||
detailLevel = "FullDetails";
|
||||
licenseFiles = [ "LICENSE" ];
|
||||
dataDir = "data/";
|
||||
dataFiles = [
|
||||
"AlexTemplate"
|
||||
"AlexTemplate-ghc"
|
||||
"AlexTemplate-ghc-nopred"
|
||||
"AlexTemplate-ghc-debug"
|
||||
"AlexTemplate-debug"
|
||||
"AlexWrapper-basic"
|
||||
"AlexWrapper-basic-bytestring"
|
||||
"AlexWrapper-strict-bytestring"
|
||||
"AlexWrapper-posn"
|
||||
"AlexWrapper-posn-bytestring"
|
||||
"AlexWrapper-monad"
|
||||
"AlexWrapper-monad-bytestring"
|
||||
"AlexWrapper-monadUserState"
|
||||
"AlexWrapper-monadUserState-bytestring"
|
||||
"AlexWrapper-gscan"
|
||||
];
|
||||
extraSrcFiles = [
|
||||
"CHANGELOG.md"
|
||||
"README.md"
|
||||
"TODO"
|
||||
"alex.spec"
|
||||
"doc/Makefile"
|
||||
"doc/aclocal.m4"
|
||||
"doc/alex.1.in"
|
||||
"doc/alex.xml"
|
||||
"doc/config.mk.in"
|
||||
"doc/configure.ac"
|
||||
"doc/docbook-xml.mk"
|
||||
"doc/fptools.css"
|
||||
"examples/Makefile"
|
||||
"examples/Tokens.x"
|
||||
"examples/Tokens_gscan.x"
|
||||
"examples/Tokens_posn.x"
|
||||
"examples/examples.x"
|
||||
"examples/haskell.x"
|
||||
"examples/lit.x"
|
||||
"examples/pp.x"
|
||||
"examples/state.x"
|
||||
"examples/tiny.y"
|
||||
"examples/words.x"
|
||||
"examples/words_monad.x"
|
||||
"examples/words_posn.x"
|
||||
"src/Parser.y.boot"
|
||||
"src/Scan.x.boot"
|
||||
"src/ghc_hooks.c"
|
||||
"templates/GenericTemplate.hs"
|
||||
"templates/wrappers.hs"
|
||||
"tests/Makefile"
|
||||
"tests/simple.x"
|
||||
"tests/null.x"
|
||||
"tests/tokens.x"
|
||||
"tests/tokens_gscan.x"
|
||||
"tests/tokens_posn.x"
|
||||
"tests/tokens_bytestring.x"
|
||||
"tests/tokens_posn_bytestring.x"
|
||||
"tests/tokens_scan_user.x"
|
||||
"tests/tokens_strict_bytestring.x"
|
||||
"tests/tokens_monad_bytestring.x"
|
||||
"tests/tokens_monadUserState_bytestring.x"
|
||||
"tests/tokens_bytestring_unicode.x"
|
||||
"tests/basic_typeclass.x"
|
||||
"tests/basic_typeclass_bytestring.x"
|
||||
"tests/default_typeclass.x"
|
||||
"tests/gscan_typeclass.x"
|
||||
"tests/posn_typeclass.x"
|
||||
"tests/monad_typeclass.x"
|
||||
"tests/monad_typeclass_bytestring.x"
|
||||
"tests/monadUserState_typeclass.x"
|
||||
"tests/monadUserState_typeclass_bytestring.x"
|
||||
"tests/posn_typeclass_bytestring.x"
|
||||
"tests/strict_typeclass.x"
|
||||
"tests/unicode.x"
|
||||
];
|
||||
extraTmpFiles = [];
|
||||
extraDocFiles = [];
|
||||
};
|
||||
components = {
|
||||
exes = {
|
||||
"alex" = {
|
||||
depends = [
|
||||
(hsPkgs."base" or (errorHandler.buildDepError "base"))
|
||||
] ++ (if flags.small_base
|
||||
then [
|
||||
(hsPkgs."base" or (errorHandler.buildDepError "base"))
|
||||
(hsPkgs."array" or (errorHandler.buildDepError "array"))
|
||||
(hsPkgs."containers" or (errorHandler.buildDepError "containers"))
|
||||
(hsPkgs."directory" or (errorHandler.buildDepError "directory"))
|
||||
]
|
||||
else [ (hsPkgs."base" or (errorHandler.buildDepError "base")) ]);
|
||||
buildable = true;
|
||||
modules = [
|
||||
"AbsSyn"
|
||||
"CharSet"
|
||||
"DFA"
|
||||
"DFAMin"
|
||||
"DFS"
|
||||
"Info"
|
||||
"Map"
|
||||
"NFA"
|
||||
"Output"
|
||||
"Paths_alex"
|
||||
"Parser"
|
||||
"ParseMonad"
|
||||
"Scan"
|
||||
"Set"
|
||||
"Sort"
|
||||
"Util"
|
||||
"UTF8"
|
||||
"Data/Ranged"
|
||||
"Data/Ranged/Boundaries"
|
||||
"Data/Ranged/RangedSet"
|
||||
"Data/Ranged/Ranges"
|
||||
];
|
||||
hsSourceDirs = [ "src" ];
|
||||
mainPath = [ "Main.hs" ] ++ [ "" ];
|
||||
};
|
||||
};
|
||||
tests = {
|
||||
"tests" = {
|
||||
depends = [
|
||||
(hsPkgs."base" or (errorHandler.buildDepError "base"))
|
||||
(hsPkgs."process" or (errorHandler.buildDepError "process"))
|
||||
];
|
||||
build-tools = [
|
||||
(hsPkgs.buildPackages.alex or (pkgs.buildPackages.alex or (errorHandler.buildToolDepError "alex")))
|
||||
];
|
||||
buildable = true;
|
||||
mainPath = [ "test.hs" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ../.; }
|
49
materialized/ghc865/alex/default.nix
generated
Normal file
49
materialized/ghc865/alex/default.nix
generated
Normal file
@ -0,0 +1,49 @@
|
||||
{
|
||||
pkgs = hackage:
|
||||
{
|
||||
packages = {
|
||||
"ghc-prim".revision = (((hackage."ghc-prim")."0.5.3").revisions).default;
|
||||
"unix".revision = (((hackage."unix")."2.7.2.2").revisions).default;
|
||||
"rts".revision = (((hackage."rts")."1.0").revisions).default;
|
||||
"deepseq".revision = (((hackage."deepseq")."1.4.4.0").revisions).default;
|
||||
"directory".revision = (((hackage."directory")."1.3.3.0").revisions).default;
|
||||
"containers".revision = (((hackage."containers")."0.6.0.1").revisions).default;
|
||||
"bytestring".revision = (((hackage."bytestring")."0.10.8.2").revisions).default;
|
||||
"base".revision = (((hackage."base")."4.12.0.0").revisions).default;
|
||||
"time".revision = (((hackage."time")."1.8.0.2").revisions).default;
|
||||
"filepath".revision = (((hackage."filepath")."1.4.2.1").revisions).default;
|
||||
"process".revision = (((hackage."process")."1.6.5.0").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";
|
||||
"unix" = "2.7.2.2";
|
||||
"rts" = "1.0";
|
||||
"deepseq" = "1.4.4.0";
|
||||
"directory" = "1.3.3.0";
|
||||
"containers" = "0.6.0.1";
|
||||
"bytestring" = "0.10.8.2";
|
||||
"base" = "4.12.0.0";
|
||||
"time" = "1.8.0.2";
|
||||
"filepath" = "1.4.2.1";
|
||||
"process" = "1.6.5.0";
|
||||
"array" = "0.5.3.0";
|
||||
"integer-gmp" = "1.0.2.0";
|
||||
};
|
||||
};
|
||||
};
|
||||
extras = hackage:
|
||||
{ packages = { alex = ./.plan.nix/alex.nix; }; };
|
||||
modules = [
|
||||
({ lib, ... }:
|
||||
{
|
||||
packages = {
|
||||
"alex" = { flags = { "small_base" = lib.mkOverride 900 true; }; };
|
||||
};
|
||||
})
|
||||
];
|
||||
}
|
340
materialized/ghc865/cabal-install/.plan.nix/cabal-install.nix
generated
Normal file
340
materialized/ghc865/cabal-install/.plan.nix/cabal-install.nix
generated
Normal file
@ -0,0 +1,340 @@
|
||||
{ system
|
||||
, compiler
|
||||
, flags
|
||||
, pkgs
|
||||
, hsPkgs
|
||||
, pkgconfPkgs
|
||||
, errorHandler
|
||||
, config
|
||||
, ... }:
|
||||
{
|
||||
flags = {
|
||||
native-dns = true;
|
||||
debug-expensive-assertions = false;
|
||||
debug-conflict-sets = false;
|
||||
debug-tracetree = false;
|
||||
lukko = true;
|
||||
};
|
||||
package = {
|
||||
specVersion = "1.10";
|
||||
identifier = { name = "cabal-install"; version = "3.2.0.0"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "2003-2020, Cabal Development Team";
|
||||
maintainer = "Cabal Development Team <cabal-devel@haskell.org>";
|
||||
author = "Cabal Development Team (see AUTHORS file)";
|
||||
homepage = "http://www.haskell.org/cabal/";
|
||||
url = "";
|
||||
synopsis = "The command-line interface for Cabal and Hackage.";
|
||||
description = "The \\'cabal\\' command-line program simplifies the process of managing\nHaskell software by automating the fetching, configuration, compilation\nand installation of Haskell libraries and programs.";
|
||||
buildType = "Custom";
|
||||
isLocal = true;
|
||||
setup-depends = [
|
||||
(hsPkgs.buildPackages.Cabal or (pkgs.buildPackages.Cabal or (errorHandler.buildToolDepError "Cabal")))
|
||||
(hsPkgs.buildPackages.base or (pkgs.buildPackages.base or (errorHandler.buildToolDepError "base")))
|
||||
(hsPkgs.buildPackages.process or (pkgs.buildPackages.process or (errorHandler.buildToolDepError "process")))
|
||||
(hsPkgs.buildPackages.filepath or (pkgs.buildPackages.filepath or (errorHandler.buildToolDepError "filepath")))
|
||||
];
|
||||
detailLevel = "FullDetails";
|
||||
licenseFiles = [ "LICENSE" ];
|
||||
dataDir = "";
|
||||
dataFiles = [];
|
||||
extraSrcFiles = [
|
||||
"README.md"
|
||||
"bash-completion/cabal"
|
||||
"bootstrap.sh"
|
||||
"changelog"
|
||||
"tests/IntegrationTests2/build/keep-going/cabal.project"
|
||||
"tests/IntegrationTests2/build/keep-going/p/P.hs"
|
||||
"tests/IntegrationTests2/build/keep-going/p/p.cabal"
|
||||
"tests/IntegrationTests2/build/keep-going/q/Q.hs"
|
||||
"tests/IntegrationTests2/build/keep-going/q/q.cabal"
|
||||
"tests/IntegrationTests2/build/local-tarball/cabal.project"
|
||||
"tests/IntegrationTests2/build/local-tarball/q/Q.hs"
|
||||
"tests/IntegrationTests2/build/local-tarball/q/q.cabal"
|
||||
"tests/IntegrationTests2/build/setup-custom1/A.hs"
|
||||
"tests/IntegrationTests2/build/setup-custom1/Setup.hs"
|
||||
"tests/IntegrationTests2/build/setup-custom1/a.cabal"
|
||||
"tests/IntegrationTests2/build/setup-custom2/A.hs"
|
||||
"tests/IntegrationTests2/build/setup-custom2/Setup.hs"
|
||||
"tests/IntegrationTests2/build/setup-custom2/a.cabal"
|
||||
"tests/IntegrationTests2/build/setup-simple/A.hs"
|
||||
"tests/IntegrationTests2/build/setup-simple/Setup.hs"
|
||||
"tests/IntegrationTests2/build/setup-simple/a.cabal"
|
||||
"tests/IntegrationTests2/exception/bad-config/cabal.project"
|
||||
"tests/IntegrationTests2/exception/build/Main.hs"
|
||||
"tests/IntegrationTests2/exception/build/a.cabal"
|
||||
"tests/IntegrationTests2/exception/configure/a.cabal"
|
||||
"tests/IntegrationTests2/exception/no-pkg/empty.in"
|
||||
"tests/IntegrationTests2/exception/no-pkg2/cabal.project"
|
||||
"tests/IntegrationTests2/regression/3324/cabal.project"
|
||||
"tests/IntegrationTests2/regression/3324/p/P.hs"
|
||||
"tests/IntegrationTests2/regression/3324/p/p.cabal"
|
||||
"tests/IntegrationTests2/regression/3324/q/Q.hs"
|
||||
"tests/IntegrationTests2/regression/3324/q/q.cabal"
|
||||
"tests/IntegrationTests2/targets/all-disabled/cabal.project"
|
||||
"tests/IntegrationTests2/targets/all-disabled/p.cabal"
|
||||
"tests/IntegrationTests2/targets/benchmarks-disabled/cabal.project"
|
||||
"tests/IntegrationTests2/targets/benchmarks-disabled/p.cabal"
|
||||
"tests/IntegrationTests2/targets/benchmarks-disabled/q/q.cabal"
|
||||
"tests/IntegrationTests2/targets/complex/cabal.project"
|
||||
"tests/IntegrationTests2/targets/complex/q/Q.hs"
|
||||
"tests/IntegrationTests2/targets/complex/q/q.cabal"
|
||||
"tests/IntegrationTests2/targets/empty-pkg/cabal.project"
|
||||
"tests/IntegrationTests2/targets/empty-pkg/p.cabal"
|
||||
"tests/IntegrationTests2/targets/empty/cabal.project"
|
||||
"tests/IntegrationTests2/targets/empty/foo.hs"
|
||||
"tests/IntegrationTests2/targets/exes-disabled/cabal.project"
|
||||
"tests/IntegrationTests2/targets/exes-disabled/p/p.cabal"
|
||||
"tests/IntegrationTests2/targets/exes-disabled/q/q.cabal"
|
||||
"tests/IntegrationTests2/targets/lib-only/p.cabal"
|
||||
"tests/IntegrationTests2/targets/libs-disabled/cabal.project"
|
||||
"tests/IntegrationTests2/targets/libs-disabled/p/p.cabal"
|
||||
"tests/IntegrationTests2/targets/libs-disabled/q/q.cabal"
|
||||
"tests/IntegrationTests2/targets/multiple-exes/cabal.project"
|
||||
"tests/IntegrationTests2/targets/multiple-exes/p.cabal"
|
||||
"tests/IntegrationTests2/targets/multiple-libs/cabal.project"
|
||||
"tests/IntegrationTests2/targets/multiple-libs/p/p.cabal"
|
||||
"tests/IntegrationTests2/targets/multiple-libs/q/q.cabal"
|
||||
"tests/IntegrationTests2/targets/multiple-tests/cabal.project"
|
||||
"tests/IntegrationTests2/targets/multiple-tests/p.cabal"
|
||||
"tests/IntegrationTests2/targets/simple/P.hs"
|
||||
"tests/IntegrationTests2/targets/simple/cabal.project"
|
||||
"tests/IntegrationTests2/targets/simple/p.cabal"
|
||||
"tests/IntegrationTests2/targets/simple/q/QQ.hs"
|
||||
"tests/IntegrationTests2/targets/simple/q/q.cabal"
|
||||
"tests/IntegrationTests2/targets/test-only/p.cabal"
|
||||
"tests/IntegrationTests2/targets/tests-disabled/cabal.project"
|
||||
"tests/IntegrationTests2/targets/tests-disabled/p.cabal"
|
||||
"tests/IntegrationTests2/targets/tests-disabled/q/q.cabal"
|
||||
"tests/IntegrationTests2/targets/variety/cabal.project"
|
||||
"tests/IntegrationTests2/targets/variety/p.cabal"
|
||||
"tests/IntegrationTests2/build/local-tarball/p-0.1.tar.gz"
|
||||
];
|
||||
extraTmpFiles = [];
|
||||
extraDocFiles = [];
|
||||
};
|
||||
components = {
|
||||
exes = {
|
||||
"cabal" = {
|
||||
depends = ((((([
|
||||
(hsPkgs."async" or (errorHandler.buildDepError "async"))
|
||||
(hsPkgs."array" or (errorHandler.buildDepError "array"))
|
||||
(hsPkgs."base" or (errorHandler.buildDepError "base"))
|
||||
(hsPkgs."base16-bytestring" or (errorHandler.buildDepError "base16-bytestring"))
|
||||
(hsPkgs."binary" or (errorHandler.buildDepError "binary"))
|
||||
(hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring"))
|
||||
(hsPkgs."Cabal" or (errorHandler.buildDepError "Cabal"))
|
||||
(hsPkgs."containers" or (errorHandler.buildDepError "containers"))
|
||||
(hsPkgs."cryptohash-sha256" or (errorHandler.buildDepError "cryptohash-sha256"))
|
||||
(hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq"))
|
||||
(hsPkgs."directory" or (errorHandler.buildDepError "directory"))
|
||||
(hsPkgs."echo" or (errorHandler.buildDepError "echo"))
|
||||
(hsPkgs."edit-distance" or (errorHandler.buildDepError "edit-distance"))
|
||||
(hsPkgs."filepath" or (errorHandler.buildDepError "filepath"))
|
||||
(hsPkgs."hashable" or (errorHandler.buildDepError "hashable"))
|
||||
(hsPkgs."HTTP" or (errorHandler.buildDepError "HTTP"))
|
||||
(hsPkgs."mtl" or (errorHandler.buildDepError "mtl"))
|
||||
(hsPkgs."network-uri" or (errorHandler.buildDepError "network-uri"))
|
||||
(hsPkgs."network" or (errorHandler.buildDepError "network"))
|
||||
(hsPkgs."pretty" or (errorHandler.buildDepError "pretty"))
|
||||
(hsPkgs."process" or (errorHandler.buildDepError "process"))
|
||||
(hsPkgs."random" or (errorHandler.buildDepError "random"))
|
||||
(hsPkgs."stm" or (errorHandler.buildDepError "stm"))
|
||||
(hsPkgs."tar" or (errorHandler.buildDepError "tar"))
|
||||
(hsPkgs."time" or (errorHandler.buildDepError "time"))
|
||||
(hsPkgs."transformers" or (errorHandler.buildDepError "transformers"))
|
||||
(hsPkgs."zlib" or (errorHandler.buildDepError "zlib"))
|
||||
(hsPkgs."hackage-security" or (errorHandler.buildDepError "hackage-security"))
|
||||
(hsPkgs."text" or (errorHandler.buildDepError "text"))
|
||||
(hsPkgs."parsec" or (errorHandler.buildDepError "parsec"))
|
||||
] ++ (pkgs.lib).optionals (!(compiler.isGhc && (compiler.version).ge "8.0")) [
|
||||
(hsPkgs."fail" or (errorHandler.buildDepError "fail"))
|
||||
(hsPkgs."semigroups" or (errorHandler.buildDepError "semigroups"))
|
||||
]) ++ (pkgs.lib).optionals (flags.native-dns) (if system.isWindows
|
||||
then [ (hsPkgs."windns" or (errorHandler.buildDepError "windns")) ]
|
||||
else [
|
||||
(hsPkgs."resolv" or (errorHandler.buildDepError "resolv"))
|
||||
])) ++ (if system.isWindows
|
||||
then [ (hsPkgs."Win32" or (errorHandler.buildDepError "Win32")) ]
|
||||
else [
|
||||
(hsPkgs."unix" or (errorHandler.buildDepError "unix"))
|
||||
])) ++ (if flags.lukko
|
||||
then [ (hsPkgs."lukko" or (errorHandler.buildDepError "lukko")) ]
|
||||
else [
|
||||
(hsPkgs."base" or (errorHandler.buildDepError "base"))
|
||||
])) ++ (pkgs.lib).optional (flags.debug-conflict-sets) (hsPkgs."base" or (errorHandler.buildDepError "base"))) ++ (pkgs.lib).optional (flags.debug-tracetree) (hsPkgs."tracetree" or (errorHandler.buildDepError "tracetree"));
|
||||
libs = (pkgs.lib).optional (system.isAix) (pkgs."bsd" or (errorHandler.sysDepError "bsd"));
|
||||
buildable = true;
|
||||
modules = [
|
||||
"Distribution/Deprecated/ParseUtils"
|
||||
"Distribution/Deprecated/ReadP"
|
||||
"Distribution/Deprecated/Text"
|
||||
"Distribution/Deprecated/ViewAsFieldDescr"
|
||||
"Distribution/Client/BuildReports/Anonymous"
|
||||
"Distribution/Client/BuildReports/Storage"
|
||||
"Distribution/Client/BuildReports/Types"
|
||||
"Distribution/Client/BuildReports/Upload"
|
||||
"Distribution/Client/Check"
|
||||
"Distribution/Client/CmdBench"
|
||||
"Distribution/Client/CmdBuild"
|
||||
"Distribution/Client/CmdClean"
|
||||
"Distribution/Client/CmdConfigure"
|
||||
"Distribution/Client/CmdUpdate"
|
||||
"Distribution/Client/CmdErrorMessages"
|
||||
"Distribution/Client/CmdExec"
|
||||
"Distribution/Client/CmdFreeze"
|
||||
"Distribution/Client/CmdHaddock"
|
||||
"Distribution/Client/CmdInstall"
|
||||
"Distribution/Client/CmdInstall/ClientInstallFlags"
|
||||
"Distribution/Client/CmdRepl"
|
||||
"Distribution/Client/CmdRun"
|
||||
"Distribution/Client/CmdRun/ClientRunFlags"
|
||||
"Distribution/Client/CmdTest"
|
||||
"Distribution/Client/CmdLegacy"
|
||||
"Distribution/Client/CmdSdist"
|
||||
"Distribution/Client/Compat/Directory"
|
||||
"Distribution/Client/Compat/ExecutablePath"
|
||||
"Distribution/Client/Compat/FilePerms"
|
||||
"Distribution/Client/Compat/Orphans"
|
||||
"Distribution/Client/Compat/Prelude"
|
||||
"Distribution/Client/Compat/Process"
|
||||
"Distribution/Client/Compat/Semaphore"
|
||||
"Distribution/Client/Config"
|
||||
"Distribution/Client/Configure"
|
||||
"Distribution/Client/Dependency"
|
||||
"Distribution/Client/Dependency/Types"
|
||||
"Distribution/Client/DistDirLayout"
|
||||
"Distribution/Client/Exec"
|
||||
"Distribution/Client/Fetch"
|
||||
"Distribution/Client/FetchUtils"
|
||||
"Distribution/Client/FileMonitor"
|
||||
"Distribution/Client/Freeze"
|
||||
"Distribution/Client/GZipUtils"
|
||||
"Distribution/Client/GenBounds"
|
||||
"Distribution/Client/Get"
|
||||
"Distribution/Client/Glob"
|
||||
"Distribution/Client/GlobalFlags"
|
||||
"Distribution/Client/Haddock"
|
||||
"Distribution/Client/HashValue"
|
||||
"Distribution/Client/HttpUtils"
|
||||
"Distribution/Client/IndexUtils"
|
||||
"Distribution/Client/IndexUtils/Timestamp"
|
||||
"Distribution/Client/Init"
|
||||
"Distribution/Client/Init/Heuristics"
|
||||
"Distribution/Client/Init/Licenses"
|
||||
"Distribution/Client/Init/Types"
|
||||
"Distribution/Client/Install"
|
||||
"Distribution/Client/InstallPlan"
|
||||
"Distribution/Client/InstallSymlink"
|
||||
"Distribution/Client/JobControl"
|
||||
"Distribution/Client/List"
|
||||
"Distribution/Client/Manpage"
|
||||
"Distribution/Client/Nix"
|
||||
"Distribution/Client/Outdated"
|
||||
"Distribution/Client/PackageHash"
|
||||
"Distribution/Client/PackageUtils"
|
||||
"Distribution/Client/ParseUtils"
|
||||
"Distribution/Client/ProjectBuilding"
|
||||
"Distribution/Client/ProjectBuilding/Types"
|
||||
"Distribution/Client/ProjectConfig"
|
||||
"Distribution/Client/ProjectConfig/Legacy"
|
||||
"Distribution/Client/ProjectConfig/Types"
|
||||
"Distribution/Client/ProjectOrchestration"
|
||||
"Distribution/Client/ProjectPlanOutput"
|
||||
"Distribution/Client/ProjectPlanning"
|
||||
"Distribution/Client/ProjectPlanning/Types"
|
||||
"Distribution/Client/RebuildMonad"
|
||||
"Distribution/Client/Reconfigure"
|
||||
"Distribution/Client/Run"
|
||||
"Distribution/Client/Sandbox"
|
||||
"Distribution/Client/Sandbox/Index"
|
||||
"Distribution/Client/Sandbox/PackageEnvironment"
|
||||
"Distribution/Client/Sandbox/Timestamp"
|
||||
"Distribution/Client/Sandbox/Types"
|
||||
"Distribution/Client/SavedFlags"
|
||||
"Distribution/Client/Security/DNS"
|
||||
"Distribution/Client/Security/HTTP"
|
||||
"Distribution/Client/Setup"
|
||||
"Distribution/Client/SetupWrapper"
|
||||
"Distribution/Client/SolverInstallPlan"
|
||||
"Distribution/Client/SourceFiles"
|
||||
"Distribution/Client/SourceRepo"
|
||||
"Distribution/Client/SrcDist"
|
||||
"Distribution/Client/Store"
|
||||
"Distribution/Client/Tar"
|
||||
"Distribution/Client/TargetSelector"
|
||||
"Distribution/Client/Targets"
|
||||
"Distribution/Client/Types"
|
||||
"Distribution/Client/Update"
|
||||
"Distribution/Client/Upload"
|
||||
"Distribution/Client/Utils"
|
||||
"Distribution/Client/Utils/Assertion"
|
||||
"Distribution/Client/Utils/Json"
|
||||
"Distribution/Client/Utils/Parsec"
|
||||
"Distribution/Client/VCS"
|
||||
"Distribution/Client/Win32SelfUpgrade"
|
||||
"Distribution/Client/World"
|
||||
"Distribution/Solver/Compat/Prelude"
|
||||
"Distribution/Solver/Modular"
|
||||
"Distribution/Solver/Modular/Assignment"
|
||||
"Distribution/Solver/Modular/Builder"
|
||||
"Distribution/Solver/Modular/Configured"
|
||||
"Distribution/Solver/Modular/ConfiguredConversion"
|
||||
"Distribution/Solver/Modular/ConflictSet"
|
||||
"Distribution/Solver/Modular/Cycles"
|
||||
"Distribution/Solver/Modular/Dependency"
|
||||
"Distribution/Solver/Modular/Explore"
|
||||
"Distribution/Solver/Modular/Flag"
|
||||
"Distribution/Solver/Modular/Index"
|
||||
"Distribution/Solver/Modular/IndexConversion"
|
||||
"Distribution/Solver/Modular/LabeledGraph"
|
||||
"Distribution/Solver/Modular/Linking"
|
||||
"Distribution/Solver/Modular/Log"
|
||||
"Distribution/Solver/Modular/Message"
|
||||
"Distribution/Solver/Modular/PSQ"
|
||||
"Distribution/Solver/Modular/Package"
|
||||
"Distribution/Solver/Modular/Preference"
|
||||
"Distribution/Solver/Modular/RetryLog"
|
||||
"Distribution/Solver/Modular/Solver"
|
||||
"Distribution/Solver/Modular/Tree"
|
||||
"Distribution/Solver/Modular/Validate"
|
||||
"Distribution/Solver/Modular/Var"
|
||||
"Distribution/Solver/Modular/Version"
|
||||
"Distribution/Solver/Modular/WeightedPSQ"
|
||||
"Distribution/Solver/Types/ComponentDeps"
|
||||
"Distribution/Solver/Types/ConstraintSource"
|
||||
"Distribution/Solver/Types/DependencyResolver"
|
||||
"Distribution/Solver/Types/Flag"
|
||||
"Distribution/Solver/Types/InstSolverPackage"
|
||||
"Distribution/Solver/Types/InstalledPreference"
|
||||
"Distribution/Solver/Types/LabeledPackageConstraint"
|
||||
"Distribution/Solver/Types/OptionalStanza"
|
||||
"Distribution/Solver/Types/PackageConstraint"
|
||||
"Distribution/Solver/Types/PackageFixedDeps"
|
||||
"Distribution/Solver/Types/PackageIndex"
|
||||
"Distribution/Solver/Types/PackagePath"
|
||||
"Distribution/Solver/Types/PackagePreferences"
|
||||
"Distribution/Solver/Types/PkgConfigDb"
|
||||
"Distribution/Solver/Types/Progress"
|
||||
"Distribution/Solver/Types/ResolverPackage"
|
||||
"Distribution/Solver/Types/Settings"
|
||||
"Distribution/Solver/Types/SolverId"
|
||||
"Distribution/Solver/Types/SolverPackage"
|
||||
"Distribution/Solver/Types/SourcePackage"
|
||||
"Distribution/Solver/Types/Variable"
|
||||
"Paths_cabal_install"
|
||||
];
|
||||
hsSourceDirs = [ "main" "." ];
|
||||
mainPath = (((((((([
|
||||
"Main.hs"
|
||||
] ++ (pkgs.lib).optionals (compiler.isGhc && (compiler.version).ge "8.0") ([
|
||||
""
|
||||
] ++ (pkgs.lib).optional (compiler.isGhc && (compiler.version).lt "8.8") "")) ++ (pkgs.lib).optional (system.isAix) "") ++ (pkgs.lib).optional (!(compiler.isGhc && (compiler.version).ge "8.0")) "") ++ (pkgs.lib).optionals (flags.native-dns) ([
|
||||
""
|
||||
] ++ [ "" ])) ++ [ "" ]) ++ [
|
||||
""
|
||||
]) ++ (pkgs.lib).optional (flags.debug-expensive-assertions) "") ++ (pkgs.lib).optional (flags.debug-conflict-sets) "") ++ (pkgs.lib).optional (flags.debug-tracetree) "";
|
||||
};
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ../.; }
|
122
materialized/ghc865/cabal-install/default.nix
generated
Normal file
122
materialized/ghc865/cabal-install/default.nix
generated
Normal file
@ -0,0 +1,122 @@
|
||||
{
|
||||
pkgs = hackage:
|
||||
{
|
||||
packages = {
|
||||
"cryptohash-sha256".revision = (((hackage."cryptohash-sha256")."0.11.101.0").revisions).default;
|
||||
"cryptohash-sha256".flags.exe = false;
|
||||
"binary".revision = (((hackage."binary")."0.8.6.0").revisions).default;
|
||||
"tar".revision = (((hackage."tar")."0.5.1.1").revisions).default;
|
||||
"tar".flags.old-time = false;
|
||||
"tar".flags.old-bytestring = false;
|
||||
"ghc-prim".revision = (((hackage."ghc-prim")."0.5.3").revisions).default;
|
||||
"edit-distance".revision = (((hackage."edit-distance")."0.2.2.1").revisions).default;
|
||||
"stm".revision = (((hackage."stm")."2.5.0.0").revisions).default;
|
||||
"unix".revision = (((hackage."unix")."2.7.2.2").revisions).default;
|
||||
"mtl".revision = (((hackage."mtl")."2.2.2").revisions).default;
|
||||
"network-uri".revision = (((hackage."network-uri")."2.6.3.0").revisions).default;
|
||||
"zlib".revision = (((hackage."zlib")."0.6.2.1").revisions).default;
|
||||
"zlib".flags.non-blocking-ffi = false;
|
||||
"zlib".flags.pkg-config = false;
|
||||
"rts".revision = (((hackage."rts")."1.0").revisions).default;
|
||||
"deepseq".revision = (((hackage."deepseq")."1.4.4.0").revisions).default;
|
||||
"random".revision = (((hackage."random")."1.1").revisions).default;
|
||||
"network".revision = (((hackage."network")."3.1.1.1").revisions).default;
|
||||
"async".revision = (((hackage."async")."2.2.2").revisions).default;
|
||||
"async".flags.bench = false;
|
||||
"parsec".revision = (((hackage."parsec")."3.1.13.0").revisions).default;
|
||||
"echo".revision = (((hackage."echo")."0.1.3").revisions).default;
|
||||
"echo".flags.example = false;
|
||||
"hsc2hs".revision = (((hackage."hsc2hs")."0.68.7").revisions).default;
|
||||
"hsc2hs".flags.in-ghc-tree = false;
|
||||
"resolv".revision = (((hackage."resolv")."0.1.2.0").revisions).default;
|
||||
"directory".revision = (((hackage."directory")."1.3.3.0").revisions).default;
|
||||
"template-haskell".revision = (((hackage."template-haskell")."2.14.0.0").revisions).default;
|
||||
"containers".revision = (((hackage."containers")."0.6.0.1").revisions).default;
|
||||
"bytestring".revision = (((hackage."bytestring")."0.10.8.2").revisions).default;
|
||||
"text".revision = (((hackage."text")."1.2.3.1").revisions).default;
|
||||
"Cabal".revision = (((hackage."Cabal")."3.2.0.0").revisions).default;
|
||||
"Cabal".flags.bundled-binary-generic = false;
|
||||
"base64-bytestring".revision = (((hackage."base64-bytestring")."1.0.0.3").revisions).default;
|
||||
"base".revision = (((hackage."base")."4.12.0.0").revisions).default;
|
||||
"time".revision = (((hackage."time")."1.8.0.2").revisions).default;
|
||||
"base16-bytestring".revision = (((hackage."base16-bytestring")."0.1.1.6").revisions).default;
|
||||
"transformers".revision = (((hackage."transformers")."0.5.6.2").revisions).default;
|
||||
"hashable".revision = (((hackage."hashable")."1.3.0.0").revisions).default;
|
||||
"hashable".flags.sse2 = true;
|
||||
"hashable".flags.integer-gmp = true;
|
||||
"hashable".flags.sse41 = false;
|
||||
"hashable".flags.examples = false;
|
||||
"HTTP".revision = (((hackage."HTTP")."4000.3.14").revisions).default;
|
||||
"HTTP".flags.mtl1 = false;
|
||||
"HTTP".flags.conduit10 = false;
|
||||
"HTTP".flags.warn-as-error = false;
|
||||
"HTTP".flags.warp-tests = false;
|
||||
"HTTP".flags.network-uri = true;
|
||||
"filepath".revision = (((hackage."filepath")."1.4.2.1").revisions).default;
|
||||
"ed25519".revision = (((hackage."ed25519")."0.0.5.0").revisions).default;
|
||||
"ed25519".flags.test-hlint = true;
|
||||
"ed25519".flags.test-properties = true;
|
||||
"ed25519".flags.test-doctests = true;
|
||||
"ed25519".flags.no-donna = true;
|
||||
"process".revision = (((hackage."process")."1.6.5.0").revisions).default;
|
||||
"pretty".revision = (((hackage."pretty")."1.1.3.6").revisions).default;
|
||||
"lukko".revision = (((hackage."lukko")."0.1.1.2").revisions).default;
|
||||
"lukko".flags.ofd-locking = true;
|
||||
"ghc-boot-th".revision = (((hackage."ghc-boot-th")."8.6.5").revisions).default;
|
||||
"array".revision = (((hackage."array")."0.5.3.0").revisions).default;
|
||||
"hackage-security".revision = (((hackage."hackage-security")."0.6.0.1").revisions).default;
|
||||
"hackage-security".flags.old-directory = false;
|
||||
"hackage-security".flags.use-network-uri = true;
|
||||
"hackage-security".flags.base48 = true;
|
||||
"hackage-security".flags.lukko = true;
|
||||
"hackage-security".flags.mtl21 = false;
|
||||
"integer-gmp".revision = (((hackage."integer-gmp")."1.0.2.0").revisions).default;
|
||||
};
|
||||
compiler = {
|
||||
version = "8.6.5";
|
||||
nix-name = "ghc865";
|
||||
packages = {
|
||||
"binary" = "0.8.6.0";
|
||||
"ghc-prim" = "0.5.3";
|
||||
"stm" = "2.5.0.0";
|
||||
"unix" = "2.7.2.2";
|
||||
"mtl" = "2.2.2";
|
||||
"rts" = "1.0";
|
||||
"deepseq" = "1.4.4.0";
|
||||
"parsec" = "3.1.13.0";
|
||||
"directory" = "1.3.3.0";
|
||||
"template-haskell" = "2.14.0.0";
|
||||
"containers" = "0.6.0.1";
|
||||
"bytestring" = "0.10.8.2";
|
||||
"text" = "1.2.3.1";
|
||||
"base" = "4.12.0.0";
|
||||
"time" = "1.8.0.2";
|
||||
"transformers" = "0.5.6.2";
|
||||
"filepath" = "1.4.2.1";
|
||||
"process" = "1.6.5.0";
|
||||
"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 = { cabal-install = ./.plan.nix/cabal-install.nix; }; };
|
||||
modules = [
|
||||
({ lib, ... }:
|
||||
{
|
||||
packages = {
|
||||
"cabal-install" = {
|
||||
flags = {
|
||||
"native-dns" = lib.mkOverride 900 true;
|
||||
"debug-expensive-assertions" = lib.mkOverride 900 false;
|
||||
"debug-tracetree" = lib.mkOverride 900 false;
|
||||
"lukko" = lib.mkOverride 900 true;
|
||||
"debug-conflict-sets" = lib.mkOverride 900 false;
|
||||
};
|
||||
};
|
||||
};
|
||||
})
|
||||
];
|
||||
}
|
200
materialized/ghc865/happy/.plan.nix/happy.nix
generated
Normal file
200
materialized/ghc865/happy/.plan.nix/happy.nix
generated
Normal file
@ -0,0 +1,200 @@
|
||||
{ system
|
||||
, compiler
|
||||
, flags
|
||||
, pkgs
|
||||
, hsPkgs
|
||||
, pkgconfPkgs
|
||||
, errorHandler
|
||||
, config
|
||||
, ... }:
|
||||
{
|
||||
flags = { small_base = true; };
|
||||
package = {
|
||||
specVersion = "1.8";
|
||||
identifier = { name = "happy"; version = "1.19.12"; };
|
||||
license = "BSD-2-Clause";
|
||||
copyright = "(c) Andy Gill, Simon Marlow";
|
||||
maintainer = "Simon Marlow <marlowsd@gmail.com>";
|
||||
author = "Andy Gill and Simon Marlow";
|
||||
homepage = "https://www.haskell.org/happy/";
|
||||
url = "";
|
||||
synopsis = "Happy is a parser generator for Haskell";
|
||||
description = "Happy is a parser generator for Haskell. Given a grammar\nspecification in BNF, Happy generates Haskell code to parse the\ngrammar. Happy works in a similar way to the @yacc@ tool for C.";
|
||||
buildType = "Simple";
|
||||
isLocal = true;
|
||||
detailLevel = "FullDetails";
|
||||
licenseFiles = [ "LICENSE" ];
|
||||
dataDir = "data/";
|
||||
dataFiles = [
|
||||
"HappyTemplate"
|
||||
"HappyTemplate-arrays"
|
||||
"HappyTemplate-arrays-coerce"
|
||||
"HappyTemplate-arrays-coerce-debug"
|
||||
"HappyTemplate-arrays-debug"
|
||||
"HappyTemplate-arrays-ghc"
|
||||
"HappyTemplate-arrays-ghc-debug"
|
||||
"HappyTemplate-coerce"
|
||||
"HappyTemplate-ghc"
|
||||
"GLR_Base"
|
||||
"GLR_Lib"
|
||||
"GLR_Lib-ghc"
|
||||
"GLR_Lib-ghc-debug"
|
||||
];
|
||||
extraSrcFiles = [
|
||||
"ANNOUNCE"
|
||||
"CHANGES"
|
||||
"Makefile"
|
||||
"README.md"
|
||||
"TODO"
|
||||
"doc/Makefile"
|
||||
"doc/aclocal.m4"
|
||||
"doc/config.mk.in"
|
||||
"doc/configure.ac"
|
||||
"doc/docbook-xml.mk"
|
||||
"doc/fptools.css"
|
||||
"doc/happy.1.in"
|
||||
"doc/happy.xml"
|
||||
"examples/glr/nlp/Main.lhs"
|
||||
"examples/glr/nlp/Makefile"
|
||||
"examples/glr/nlp/README"
|
||||
"examples/glr/nlp/English.y"
|
||||
"examples/glr/nlp/Hugs.lhs"
|
||||
"examples/glr/Makefile"
|
||||
"examples/glr/Makefile.defs"
|
||||
"examples/glr/expr-eval/Main.lhs"
|
||||
"examples/glr/expr-eval/Makefile"
|
||||
"examples/glr/expr-eval/Expr.y"
|
||||
"examples/glr/expr-eval/README"
|
||||
"examples/glr/expr-eval/Hugs.lhs"
|
||||
"examples/glr/expr-tree/Main.lhs"
|
||||
"examples/glr/expr-tree/Makefile"
|
||||
"examples/glr/expr-tree/Expr.y"
|
||||
"examples/glr/expr-tree/README"
|
||||
"examples/glr/expr-tree/Tree.lhs"
|
||||
"examples/glr/expr-tree/Hugs.lhs"
|
||||
"examples/glr/highly-ambiguous/Main.lhs"
|
||||
"examples/glr/highly-ambiguous/Makefile"
|
||||
"examples/glr/highly-ambiguous/Expr.y"
|
||||
"examples/glr/highly-ambiguous/README"
|
||||
"examples/glr/highly-ambiguous/Hugs.lhs"
|
||||
"examples/glr/hidden-leftrec/Main.lhs"
|
||||
"examples/glr/hidden-leftrec/Makefile"
|
||||
"examples/glr/hidden-leftrec/Expr.y"
|
||||
"examples/glr/hidden-leftrec/README"
|
||||
"examples/glr/hidden-leftrec/Hugs.lhs"
|
||||
"examples/glr/expr-monad/Main.lhs"
|
||||
"examples/glr/expr-monad/Makefile"
|
||||
"examples/glr/expr-monad/Expr.y"
|
||||
"examples/glr/expr-monad/README"
|
||||
"examples/glr/expr-monad/Hugs.lhs"
|
||||
"examples/glr/bio-eg/Main.lhs"
|
||||
"examples/glr/bio-eg/Makefile"
|
||||
"examples/glr/bio-eg/Bio.y"
|
||||
"examples/glr/bio-eg/README"
|
||||
"examples/glr/bio-eg/1-1200.dna"
|
||||
"examples/glr/bio-eg/1-600.dna"
|
||||
"examples/glr/common/DV_lhs"
|
||||
"examples/glr/common/DaVinciTypes.hs"
|
||||
"examples/glr/packing/Main.lhs"
|
||||
"examples/glr/packing/Makefile"
|
||||
"examples/glr/packing/Expr.y"
|
||||
"examples/glr/packing/README"
|
||||
"examples/glr/packing/Hugs.lhs"
|
||||
"examples/PgnParser.ly"
|
||||
"examples/MonadTest.ly"
|
||||
"examples/igloo/ParserM.hs"
|
||||
"examples/igloo/Makefile"
|
||||
"examples/igloo/Parser.y"
|
||||
"examples/igloo/Foo.hs"
|
||||
"examples/igloo/README"
|
||||
"examples/igloo/Lexer.x"
|
||||
"examples/README"
|
||||
"examples/Calc.ly"
|
||||
"examples/DavesExample.ly"
|
||||
"examples/ErrorTest.ly"
|
||||
"examples/ErlParser.ly"
|
||||
"examples/SimonsExample.ly"
|
||||
"examples/LexerTest.ly"
|
||||
"happy.spec"
|
||||
"src/ARRAY-NOTES"
|
||||
"tests/AttrGrammar001.y"
|
||||
"tests/AttrGrammar002.y"
|
||||
"tests/Makefile"
|
||||
"tests/Partial.ly"
|
||||
"tests/Test.ly"
|
||||
"tests/TestMulti.ly"
|
||||
"tests/TestPrecedence.ly"
|
||||
"tests/bogus-token.y"
|
||||
"tests/bug001.ly"
|
||||
"tests/bug002.y"
|
||||
"tests/error001.stderr"
|
||||
"tests/error001.stdout"
|
||||
"tests/error001.y"
|
||||
"tests/monad001.y"
|
||||
"tests/monad002.ly"
|
||||
"tests/monaderror.y"
|
||||
"tests/precedence001.ly"
|
||||
"tests/precedence002.y"
|
||||
"tests/test_rules.y"
|
||||
"tests/issue91.y"
|
||||
"tests/issue93.y"
|
||||
"tests/issue94.y"
|
||||
"tests/issue95.y"
|
||||
"tests/monaderror-explist.y"
|
||||
"tests/typeclass_monad001.y"
|
||||
"tests/typeclass_monad002.ly"
|
||||
"tests/typeclass_monad_lexer.y"
|
||||
"tests/rank2.y"
|
||||
];
|
||||
extraTmpFiles = [];
|
||||
extraDocFiles = [];
|
||||
};
|
||||
components = {
|
||||
exes = {
|
||||
"happy" = {
|
||||
depends = [
|
||||
(hsPkgs."base" or (errorHandler.buildDepError "base"))
|
||||
(hsPkgs."array" or (errorHandler.buildDepError "array"))
|
||||
(hsPkgs."containers" or (errorHandler.buildDepError "containers"))
|
||||
(hsPkgs."mtl" or (errorHandler.buildDepError "mtl"))
|
||||
];
|
||||
buildable = true;
|
||||
modules = [
|
||||
"Paths_happy"
|
||||
"AbsSyn"
|
||||
"First"
|
||||
"GenUtils"
|
||||
"Grammar"
|
||||
"Info"
|
||||
"LALR"
|
||||
"Lexer"
|
||||
"ParseMonad"
|
||||
"Parser"
|
||||
"ProduceCode"
|
||||
"ProduceGLRCode"
|
||||
"NameSet"
|
||||
"Target"
|
||||
"AttrGrammar"
|
||||
"AttrGrammarParser"
|
||||
"ParamRules"
|
||||
"PrettyGrammar"
|
||||
];
|
||||
hsSourceDirs = [ "src" ];
|
||||
mainPath = [ "Main.lhs" ];
|
||||
};
|
||||
};
|
||||
tests = {
|
||||
"tests" = {
|
||||
depends = [
|
||||
(hsPkgs."base" or (errorHandler.buildDepError "base"))
|
||||
(hsPkgs."process" or (errorHandler.buildDepError "process"))
|
||||
];
|
||||
build-tools = [
|
||||
(hsPkgs.buildPackages.happy or (pkgs.buildPackages.happy or (errorHandler.buildToolDepError "happy")))
|
||||
];
|
||||
buildable = true;
|
||||
mainPath = [ "test.hs" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ../.; }
|
53
materialized/ghc865/happy/default.nix
generated
Normal file
53
materialized/ghc865/happy/default.nix
generated
Normal file
@ -0,0 +1,53 @@
|
||||
{
|
||||
pkgs = hackage:
|
||||
{
|
||||
packages = {
|
||||
"ghc-prim".revision = (((hackage."ghc-prim")."0.5.3").revisions).default;
|
||||
"unix".revision = (((hackage."unix")."2.7.2.2").revisions).default;
|
||||
"mtl".revision = (((hackage."mtl")."2.2.2").revisions).default;
|
||||
"rts".revision = (((hackage."rts")."1.0").revisions).default;
|
||||
"deepseq".revision = (((hackage."deepseq")."1.4.4.0").revisions).default;
|
||||
"directory".revision = (((hackage."directory")."1.3.3.0").revisions).default;
|
||||
"containers".revision = (((hackage."containers")."0.6.0.1").revisions).default;
|
||||
"bytestring".revision = (((hackage."bytestring")."0.10.8.2").revisions).default;
|
||||
"base".revision = (((hackage."base")."4.12.0.0").revisions).default;
|
||||
"time".revision = (((hackage."time")."1.8.0.2").revisions).default;
|
||||
"transformers".revision = (((hackage."transformers")."0.5.6.2").revisions).default;
|
||||
"filepath".revision = (((hackage."filepath")."1.4.2.1").revisions).default;
|
||||
"process".revision = (((hackage."process")."1.6.5.0").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";
|
||||
"unix" = "2.7.2.2";
|
||||
"mtl" = "2.2.2";
|
||||
"rts" = "1.0";
|
||||
"deepseq" = "1.4.4.0";
|
||||
"directory" = "1.3.3.0";
|
||||
"containers" = "0.6.0.1";
|
||||
"bytestring" = "0.10.8.2";
|
||||
"base" = "4.12.0.0";
|
||||
"time" = "1.8.0.2";
|
||||
"transformers" = "0.5.6.2";
|
||||
"filepath" = "1.4.2.1";
|
||||
"process" = "1.6.5.0";
|
||||
"array" = "0.5.3.0";
|
||||
"integer-gmp" = "1.0.2.0";
|
||||
};
|
||||
};
|
||||
};
|
||||
extras = hackage:
|
||||
{ packages = { happy = ./.plan.nix/happy.nix; }; };
|
||||
modules = [
|
||||
({ lib, ... }:
|
||||
{
|
||||
packages = {
|
||||
"happy" = { flags = { "small_base" = lib.mkOverride 900 true; }; };
|
||||
};
|
||||
})
|
||||
];
|
||||
}
|
@ -22,6 +22,13 @@
|
||||
description = "This library provides convenient access to the local copy of the Hackage\ndatabase that \\\"cabal update\\\" creates. Check out\n<https://github.com/peti/hackage-db/tree/master/example/> for a collection\nof simple example programs that demonstrate how to use this code.";
|
||||
buildType = "Simple";
|
||||
isLocal = true;
|
||||
detailLevel = "FullDetails";
|
||||
licenseFiles = [ "LICENSE" ];
|
||||
dataDir = "";
|
||||
dataFiles = [];
|
||||
extraSrcFiles = [];
|
||||
extraTmpFiles = [];
|
||||
extraDocFiles = [];
|
||||
};
|
||||
components = {
|
||||
"library" = {
|
||||
@ -39,6 +46,18 @@
|
||||
(hsPkgs."utf8-string" or (errorHandler.buildDepError "utf8-string"))
|
||||
];
|
||||
buildable = true;
|
||||
modules = [
|
||||
"Paths_hackage_db"
|
||||
"Distribution/Hackage/DB"
|
||||
"Distribution/Hackage/DB/Builder"
|
||||
"Distribution/Hackage/DB/Errors"
|
||||
"Distribution/Hackage/DB/MetaData"
|
||||
"Distribution/Hackage/DB/Parsed"
|
||||
"Distribution/Hackage/DB/Path"
|
||||
"Distribution/Hackage/DB/Unparsed"
|
||||
"Distribution/Hackage/DB/Utility"
|
||||
];
|
||||
hsSourceDirs = [ "src" ];
|
||||
};
|
||||
exes = {
|
||||
"list-known-versions" = {
|
||||
@ -50,6 +69,8 @@
|
||||
(hsPkgs."hackage-db" or (errorHandler.buildDepError "hackage-db"))
|
||||
];
|
||||
buildable = if flags.install-examples then true else false;
|
||||
hsSourceDirs = [ "example" ];
|
||||
mainPath = [ "list-known-versions.hs" ] ++ [ "" ];
|
||||
};
|
||||
"show-meta-data" = {
|
||||
depends = (pkgs.lib).optionals (flags.install-examples) [
|
||||
@ -60,6 +81,8 @@
|
||||
(hsPkgs."utf8-string" or (errorHandler.buildDepError "utf8-string"))
|
||||
];
|
||||
buildable = if flags.install-examples then true else false;
|
||||
hsSourceDirs = [ "example" ];
|
||||
mainPath = [ "show-meta-data.hs" ] ++ [ "" ];
|
||||
};
|
||||
"show-package-versions" = {
|
||||
depends = (pkgs.lib).optionals (flags.install-examples) [
|
||||
@ -69,13 +92,9 @@
|
||||
(hsPkgs."hackage-db" or (errorHandler.buildDepError "hackage-db"))
|
||||
];
|
||||
buildable = if flags.install-examples then true else false;
|
||||
hsSourceDirs = [ "example" ];
|
||||
mainPath = [ "show-package-versions.hs" ] ++ [ "" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
} // {
|
||||
src = (pkgs.lib).mkDefault (pkgs.fetchgit {
|
||||
url = "https://github.com/hamishmack/hackage-db.git";
|
||||
rev = "3f12730c0d6092efce142cad87264e7b7eb2b05a";
|
||||
sha256 = "13nl8swdd3g1rh14f29v6nhnzaxgc8l70vs6hviw8qgdpbxvhs45";
|
||||
});
|
||||
}
|
||||
} // rec { src = (pkgs.lib).mkDefault .././.source-repository-packages/0; }
|
@ -22,6 +22,13 @@
|
||||
description = "A set of tools to aid in trating stack and cabal projects into nix expressions.";
|
||||
buildType = "Simple";
|
||||
isLocal = true;
|
||||
detailLevel = "FullDetails";
|
||||
licenseFiles = [ "LICENSE" ];
|
||||
dataDir = "";
|
||||
dataFiles = [];
|
||||
extraSrcFiles = [ "ChangeLog.md" ];
|
||||
extraTmpFiles = [];
|
||||
extraDocFiles = [];
|
||||
};
|
||||
components = {
|
||||
"library" = {
|
||||
@ -53,6 +60,23 @@
|
||||
(hsPkgs."yaml" or (errorHandler.buildDepError "yaml"))
|
||||
];
|
||||
buildable = true;
|
||||
modules = [
|
||||
"Cabal2Nix"
|
||||
"Cabal2Nix/Util"
|
||||
"Cabal2Nix/Plan"
|
||||
"CabalName"
|
||||
"CabalName/CLI"
|
||||
"Distribution/Nixpkgs/Fetch"
|
||||
"StackRepos"
|
||||
"StackRepos/CLI"
|
||||
"Stack2nix"
|
||||
"Stack2nix/Cache"
|
||||
"Stack2nix/CLI"
|
||||
"Stack2nix/External/Resolve"
|
||||
"Stack2nix/Project"
|
||||
"Stack2nix/Stack"
|
||||
];
|
||||
hsSourceDirs = [ "lib" ];
|
||||
};
|
||||
exes = {
|
||||
"cabal-to-nix" = {
|
||||
@ -69,6 +93,8 @@
|
||||
(hsPkgs."prettyprinter" or (errorHandler.buildDepError "prettyprinter"))
|
||||
];
|
||||
buildable = true;
|
||||
hsSourceDirs = [ "cabal2nix" ];
|
||||
mainPath = [ "Main.hs" ];
|
||||
};
|
||||
"hashes-to-nix" = {
|
||||
depends = [
|
||||
@ -84,6 +110,8 @@
|
||||
(hsPkgs."directory" or (errorHandler.buildDepError "directory"))
|
||||
];
|
||||
buildable = true;
|
||||
hsSourceDirs = [ "hashes2nix" ];
|
||||
mainPath = [ "Main.hs" ];
|
||||
};
|
||||
"plan-to-nix" = {
|
||||
depends = [
|
||||
@ -107,6 +135,15 @@
|
||||
(hsPkgs."extra" or (errorHandler.buildDepError "extra"))
|
||||
];
|
||||
buildable = true;
|
||||
modules = [
|
||||
"Plan2Nix"
|
||||
"Plan2Nix/Cache"
|
||||
"Plan2Nix/CLI"
|
||||
"Plan2Nix/Project"
|
||||
"Plan2Nix/Plan"
|
||||
];
|
||||
hsSourceDirs = [ "plan2nix" ];
|
||||
mainPath = [ "Main.hs" ];
|
||||
};
|
||||
"hackage-to-nix" = {
|
||||
depends = [
|
||||
@ -128,6 +165,8 @@
|
||||
(hsPkgs."transformers" or (errorHandler.buildDepError "transformers"))
|
||||
];
|
||||
buildable = true;
|
||||
hsSourceDirs = [ "hackage2nix" ];
|
||||
mainPath = [ "Main.hs" ];
|
||||
};
|
||||
"lts-to-nix" = {
|
||||
depends = [
|
||||
@ -146,6 +185,8 @@
|
||||
(hsPkgs."Cabal" or (errorHandler.buildDepError "Cabal"))
|
||||
];
|
||||
buildable = true;
|
||||
hsSourceDirs = [ "lts2nix" ];
|
||||
mainPath = [ "Main.hs" ];
|
||||
};
|
||||
"stack-to-nix" = {
|
||||
depends = [
|
||||
@ -153,6 +194,8 @@
|
||||
(hsPkgs."nix-tools" or (errorHandler.buildDepError "nix-tools"))
|
||||
];
|
||||
buildable = true;
|
||||
hsSourceDirs = [ "stack2nix" ];
|
||||
mainPath = [ "Main.hs" ];
|
||||
};
|
||||
"truncate-index" = {
|
||||
depends = [
|
||||
@ -164,6 +207,8 @@
|
||||
(hsPkgs."time" or (errorHandler.buildDepError "time"))
|
||||
];
|
||||
buildable = true;
|
||||
hsSourceDirs = [ "truncate-index" ];
|
||||
mainPath = [ "Main.hs" ];
|
||||
};
|
||||
"stack-repos" = {
|
||||
depends = [
|
||||
@ -171,6 +216,8 @@
|
||||
(hsPkgs."nix-tools" or (errorHandler.buildDepError "nix-tools"))
|
||||
];
|
||||
buildable = true;
|
||||
hsSourceDirs = [ "stack-repos" ];
|
||||
mainPath = [ "Main.hs" ];
|
||||
};
|
||||
"cabal-name" = {
|
||||
depends = [
|
||||
@ -178,6 +225,8 @@
|
||||
(hsPkgs."nix-tools" or (errorHandler.buildDepError "nix-tools"))
|
||||
];
|
||||
buildable = true;
|
||||
hsSourceDirs = [ "cabal-name" ];
|
||||
mainPath = [ "Main.hs" ];
|
||||
};
|
||||
};
|
||||
};
|
@ -81,7 +81,7 @@
|
||||
"adjunctions".revision = (((hackage."adjunctions")."4.4").revisions).default;
|
||||
"cryptohash-md5".revision = (((hackage."cryptohash-md5")."0.11.100.1").revisions).default;
|
||||
"invariant".revision = (((hackage."invariant")."0.5.3").revisions).default;
|
||||
"th-orphans".revision = (((hackage."th-orphans")."0.13.10").revisions).default;
|
||||
"th-orphans".revision = (((hackage."th-orphans")."0.13.9").revisions).default;
|
||||
"pem".revision = (((hackage."pem")."0.2.4").revisions).default;
|
||||
"megaparsec".revision = (((hackage."megaparsec")."8.0.0").revisions).default;
|
||||
"megaparsec".flags.dev = false;
|
||||
@ -170,7 +170,7 @@
|
||||
"tagged".flags.deepseq = true;
|
||||
"x509".revision = (((hackage."x509")."1.7.5").revisions).default;
|
||||
"haskell-src-exts".revision = (((hackage."haskell-src-exts")."1.23.0").revisions).default;
|
||||
"lens".revision = (((hackage."lens")."4.19.2").revisions).default;
|
||||
"lens".revision = (((hackage."lens")."4.19.1").revisions).default;
|
||||
"lens".flags.j = false;
|
||||
"lens".flags.test-properties = true;
|
||||
"lens".flags.old-inline-pragmas = false;
|
||||
@ -231,7 +231,7 @@
|
||||
"assoc".revision = (((hackage."assoc")."1.0.1").revisions).default;
|
||||
"unordered-containers".revision = (((hackage."unordered-containers")."0.2.10.0").revisions).default;
|
||||
"unordered-containers".flags.debug = false;
|
||||
"base64-bytestring".revision = (((hackage."base64-bytestring")."1.1.0.0").revisions).default;
|
||||
"base64-bytestring".revision = (((hackage."base64-bytestring")."1.0.0.3").revisions).default;
|
||||
"aeson-pretty".revision = (((hackage."aeson-pretty")."0.8.8").revisions).default;
|
||||
"aeson-pretty".flags.lib-only = false;
|
||||
"base".revision = (((hackage."base")."4.12.0.0").revisions).default;
|
||||
@ -283,7 +283,7 @@
|
||||
"libyaml".revision = (((hackage."libyaml")."0.1.2").revisions).default;
|
||||
"libyaml".flags.system-libyaml = false;
|
||||
"libyaml".flags.no-unicode = false;
|
||||
"resourcet".revision = (((hackage."resourcet")."1.2.4").revisions).default;
|
||||
"resourcet".revision = (((hackage."resourcet")."1.2.3").revisions).default;
|
||||
"pretty".revision = (((hackage."pretty")."1.1.3.6").revisions).default;
|
||||
"cabal-doctest".revision = (((hackage."cabal-doctest")."1.0.8").revisions).default;
|
||||
"Glob".revision = (((hackage."Glob")."0.10.0").revisions).default;
|
||||
@ -295,7 +295,7 @@
|
||||
"aeson".flags.developer = false;
|
||||
"http-types".revision = (((hackage."http-types")."0.12.3").revisions).default;
|
||||
"ghc-boot-th".revision = (((hackage."ghc-boot-th")."8.6.5").revisions).default;
|
||||
"th-lift-instances".revision = (((hackage."th-lift-instances")."0.1.16").revisions).default;
|
||||
"th-lift-instances".revision = (((hackage."th-lift-instances")."0.1.15").revisions).default;
|
||||
"base-orphans".revision = (((hackage."base-orphans")."0.8.2").revisions).default;
|
||||
"th-abstraction".revision = (((hackage."th-abstraction")."0.3.2.0").revisions).default;
|
||||
"memory".revision = (((hackage."memory")."0.15.0").revisions).default;
|
||||
@ -327,7 +327,6 @@
|
||||
"containers" = "0.6.0.1";
|
||||
"bytestring" = "0.10.8.2";
|
||||
"text" = "1.2.3.1";
|
||||
"Cabal" = "2.4.0.1";
|
||||
"base" = "4.12.0.0";
|
||||
"time" = "1.8.0.2";
|
||||
"terminfo" = "0.4.1.2";
|
160
materialized/ghc883/alex/.plan.nix/alex.nix
generated
Normal file
160
materialized/ghc883/alex/.plan.nix/alex.nix
generated
Normal file
@ -0,0 +1,160 @@
|
||||
{ system
|
||||
, compiler
|
||||
, flags
|
||||
, pkgs
|
||||
, hsPkgs
|
||||
, pkgconfPkgs
|
||||
, errorHandler
|
||||
, config
|
||||
, ... }:
|
||||
{
|
||||
flags = { small_base = true; };
|
||||
package = {
|
||||
specVersion = "1.8";
|
||||
identifier = { name = "alex"; version = "3.2.5"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "(c) Chis Dornan, Simon Marlow";
|
||||
maintainer = "Simon Marlow <marlowsd@gmail.com>";
|
||||
author = "Chris Dornan and Simon Marlow";
|
||||
homepage = "http://www.haskell.org/alex/";
|
||||
url = "";
|
||||
synopsis = "Alex is a tool for generating lexical analysers in Haskell";
|
||||
description = "Alex is a tool for generating lexical analysers in Haskell.\nIt takes a description of tokens based on regular\nexpressions and generates a Haskell module containing code\nfor scanning text efficiently. It is similar to the tool\nlex or flex for C/C++.";
|
||||
buildType = "Simple";
|
||||
isLocal = true;
|
||||
detailLevel = "FullDetails";
|
||||
licenseFiles = [ "LICENSE" ];
|
||||
dataDir = "data/";
|
||||
dataFiles = [
|
||||
"AlexTemplate"
|
||||
"AlexTemplate-ghc"
|
||||
"AlexTemplate-ghc-nopred"
|
||||
"AlexTemplate-ghc-debug"
|
||||
"AlexTemplate-debug"
|
||||
"AlexWrapper-basic"
|
||||
"AlexWrapper-basic-bytestring"
|
||||
"AlexWrapper-strict-bytestring"
|
||||
"AlexWrapper-posn"
|
||||
"AlexWrapper-posn-bytestring"
|
||||
"AlexWrapper-monad"
|
||||
"AlexWrapper-monad-bytestring"
|
||||
"AlexWrapper-monadUserState"
|
||||
"AlexWrapper-monadUserState-bytestring"
|
||||
"AlexWrapper-gscan"
|
||||
];
|
||||
extraSrcFiles = [
|
||||
"CHANGELOG.md"
|
||||
"README.md"
|
||||
"TODO"
|
||||
"alex.spec"
|
||||
"doc/Makefile"
|
||||
"doc/aclocal.m4"
|
||||
"doc/alex.1.in"
|
||||
"doc/alex.xml"
|
||||
"doc/config.mk.in"
|
||||
"doc/configure.ac"
|
||||
"doc/docbook-xml.mk"
|
||||
"doc/fptools.css"
|
||||
"examples/Makefile"
|
||||
"examples/Tokens.x"
|
||||
"examples/Tokens_gscan.x"
|
||||
"examples/Tokens_posn.x"
|
||||
"examples/examples.x"
|
||||
"examples/haskell.x"
|
||||
"examples/lit.x"
|
||||
"examples/pp.x"
|
||||
"examples/state.x"
|
||||
"examples/tiny.y"
|
||||
"examples/words.x"
|
||||
"examples/words_monad.x"
|
||||
"examples/words_posn.x"
|
||||
"src/Parser.y.boot"
|
||||
"src/Scan.x.boot"
|
||||
"src/ghc_hooks.c"
|
||||
"templates/GenericTemplate.hs"
|
||||
"templates/wrappers.hs"
|
||||
"tests/Makefile"
|
||||
"tests/simple.x"
|
||||
"tests/null.x"
|
||||
"tests/tokens.x"
|
||||
"tests/tokens_gscan.x"
|
||||
"tests/tokens_posn.x"
|
||||
"tests/tokens_bytestring.x"
|
||||
"tests/tokens_posn_bytestring.x"
|
||||
"tests/tokens_scan_user.x"
|
||||
"tests/tokens_strict_bytestring.x"
|
||||
"tests/tokens_monad_bytestring.x"
|
||||
"tests/tokens_monadUserState_bytestring.x"
|
||||
"tests/tokens_bytestring_unicode.x"
|
||||
"tests/basic_typeclass.x"
|
||||
"tests/basic_typeclass_bytestring.x"
|
||||
"tests/default_typeclass.x"
|
||||
"tests/gscan_typeclass.x"
|
||||
"tests/posn_typeclass.x"
|
||||
"tests/monad_typeclass.x"
|
||||
"tests/monad_typeclass_bytestring.x"
|
||||
"tests/monadUserState_typeclass.x"
|
||||
"tests/monadUserState_typeclass_bytestring.x"
|
||||
"tests/posn_typeclass_bytestring.x"
|
||||
"tests/strict_typeclass.x"
|
||||
"tests/unicode.x"
|
||||
];
|
||||
extraTmpFiles = [];
|
||||
extraDocFiles = [];
|
||||
};
|
||||
components = {
|
||||
exes = {
|
||||
"alex" = {
|
||||
depends = [
|
||||
(hsPkgs."base" or (errorHandler.buildDepError "base"))
|
||||
] ++ (if flags.small_base
|
||||
then [
|
||||
(hsPkgs."base" or (errorHandler.buildDepError "base"))
|
||||
(hsPkgs."array" or (errorHandler.buildDepError "array"))
|
||||
(hsPkgs."containers" or (errorHandler.buildDepError "containers"))
|
||||
(hsPkgs."directory" or (errorHandler.buildDepError "directory"))
|
||||
]
|
||||
else [ (hsPkgs."base" or (errorHandler.buildDepError "base")) ]);
|
||||
buildable = true;
|
||||
modules = [
|
||||
"AbsSyn"
|
||||
"CharSet"
|
||||
"DFA"
|
||||
"DFAMin"
|
||||
"DFS"
|
||||
"Info"
|
||||
"Map"
|
||||
"NFA"
|
||||
"Output"
|
||||
"Paths_alex"
|
||||
"Parser"
|
||||
"ParseMonad"
|
||||
"Scan"
|
||||
"Set"
|
||||
"Sort"
|
||||
"Util"
|
||||
"UTF8"
|
||||
"Data/Ranged"
|
||||
"Data/Ranged/Boundaries"
|
||||
"Data/Ranged/RangedSet"
|
||||
"Data/Ranged/Ranges"
|
||||
];
|
||||
hsSourceDirs = [ "src" ];
|
||||
mainPath = [ "Main.hs" ] ++ [ "" ];
|
||||
};
|
||||
};
|
||||
tests = {
|
||||
"tests" = {
|
||||
depends = [
|
||||
(hsPkgs."base" or (errorHandler.buildDepError "base"))
|
||||
(hsPkgs."process" or (errorHandler.buildDepError "process"))
|
||||
];
|
||||
build-tools = [
|
||||
(hsPkgs.buildPackages.alex or (pkgs.buildPackages.alex or (errorHandler.buildToolDepError "alex")))
|
||||
];
|
||||
buildable = true;
|
||||
mainPath = [ "test.hs" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ../.; }
|
49
materialized/ghc883/alex/default.nix
generated
Normal file
49
materialized/ghc883/alex/default.nix
generated
Normal file
@ -0,0 +1,49 @@
|
||||
{
|
||||
pkgs = hackage:
|
||||
{
|
||||
packages = {
|
||||
"ghc-prim".revision = (((hackage."ghc-prim")."0.5.3").revisions).default;
|
||||
"unix".revision = (((hackage."unix")."2.7.2.2").revisions).default;
|
||||
"rts".revision = (((hackage."rts")."1.0").revisions).default;
|
||||
"deepseq".revision = (((hackage."deepseq")."1.4.4.0").revisions).default;
|
||||
"directory".revision = (((hackage."directory")."1.3.6.0").revisions).default;
|
||||
"containers".revision = (((hackage."containers")."0.6.2.1").revisions).default;
|
||||
"bytestring".revision = (((hackage."bytestring")."0.10.10.0").revisions).default;
|
||||
"base".revision = (((hackage."base")."4.13.0.0").revisions).default;
|
||||
"time".revision = (((hackage."time")."1.9.3").revisions).default;
|
||||
"filepath".revision = (((hackage."filepath")."1.4.2.1").revisions).default;
|
||||
"process".revision = (((hackage."process")."1.6.8.0").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";
|
||||
"unix" = "2.7.2.2";
|
||||
"rts" = "1.0";
|
||||
"deepseq" = "1.4.4.0";
|
||||
"directory" = "1.3.6.0";
|
||||
"containers" = "0.6.2.1";
|
||||
"bytestring" = "0.10.10.0";
|
||||
"base" = "4.13.0.0";
|
||||
"time" = "1.9.3";
|
||||
"filepath" = "1.4.2.1";
|
||||
"process" = "1.6.8.0";
|
||||
"array" = "0.5.4.0";
|
||||
"integer-gmp" = "1.0.2.0";
|
||||
};
|
||||
};
|
||||
};
|
||||
extras = hackage:
|
||||
{ packages = { alex = ./.plan.nix/alex.nix; }; };
|
||||
modules = [
|
||||
({ lib, ... }:
|
||||
{
|
||||
packages = {
|
||||
"alex" = { flags = { "small_base" = lib.mkOverride 900 true; }; };
|
||||
};
|
||||
})
|
||||
];
|
||||
}
|
340
materialized/ghc883/cabal-install/.plan.nix/cabal-install.nix
generated
Normal file
340
materialized/ghc883/cabal-install/.plan.nix/cabal-install.nix
generated
Normal file
@ -0,0 +1,340 @@
|
||||
{ system
|
||||
, compiler
|
||||
, flags
|
||||
, pkgs
|
||||
, hsPkgs
|
||||
, pkgconfPkgs
|
||||
, errorHandler
|
||||
, config
|
||||
, ... }:
|
||||
{
|
||||
flags = {
|
||||
native-dns = true;
|
||||
debug-expensive-assertions = false;
|
||||
debug-conflict-sets = false;
|
||||
debug-tracetree = false;
|
||||
lukko = true;
|
||||
};
|
||||
package = {
|
||||
specVersion = "1.10";
|
||||
identifier = { name = "cabal-install"; version = "3.2.0.0"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "2003-2020, Cabal Development Team";
|
||||
maintainer = "Cabal Development Team <cabal-devel@haskell.org>";
|
||||
author = "Cabal Development Team (see AUTHORS file)";
|
||||
homepage = "http://www.haskell.org/cabal/";
|
||||
url = "";
|
||||
synopsis = "The command-line interface for Cabal and Hackage.";
|
||||
description = "The \\'cabal\\' command-line program simplifies the process of managing\nHaskell software by automating the fetching, configuration, compilation\nand installation of Haskell libraries and programs.";
|
||||
buildType = "Custom";
|
||||
isLocal = true;
|
||||
setup-depends = [
|
||||
(hsPkgs.buildPackages.Cabal or (pkgs.buildPackages.Cabal or (errorHandler.buildToolDepError "Cabal")))
|
||||
(hsPkgs.buildPackages.base or (pkgs.buildPackages.base or (errorHandler.buildToolDepError "base")))
|
||||
(hsPkgs.buildPackages.process or (pkgs.buildPackages.process or (errorHandler.buildToolDepError "process")))
|
||||
(hsPkgs.buildPackages.filepath or (pkgs.buildPackages.filepath or (errorHandler.buildToolDepError "filepath")))
|
||||
];
|
||||
detailLevel = "FullDetails";
|
||||
licenseFiles = [ "LICENSE" ];
|
||||
dataDir = "";
|
||||
dataFiles = [];
|
||||
extraSrcFiles = [
|
||||
"README.md"
|
||||
"bash-completion/cabal"
|
||||
"bootstrap.sh"
|
||||
"changelog"
|
||||
"tests/IntegrationTests2/build/keep-going/cabal.project"
|
||||
"tests/IntegrationTests2/build/keep-going/p/P.hs"
|
||||
"tests/IntegrationTests2/build/keep-going/p/p.cabal"
|
||||
"tests/IntegrationTests2/build/keep-going/q/Q.hs"
|
||||
"tests/IntegrationTests2/build/keep-going/q/q.cabal"
|
||||
"tests/IntegrationTests2/build/local-tarball/cabal.project"
|
||||
"tests/IntegrationTests2/build/local-tarball/q/Q.hs"
|
||||
"tests/IntegrationTests2/build/local-tarball/q/q.cabal"
|
||||
"tests/IntegrationTests2/build/setup-custom1/A.hs"
|
||||
"tests/IntegrationTests2/build/setup-custom1/Setup.hs"
|
||||
"tests/IntegrationTests2/build/setup-custom1/a.cabal"
|
||||
"tests/IntegrationTests2/build/setup-custom2/A.hs"
|
||||
"tests/IntegrationTests2/build/setup-custom2/Setup.hs"
|
||||
"tests/IntegrationTests2/build/setup-custom2/a.cabal"
|
||||
"tests/IntegrationTests2/build/setup-simple/A.hs"
|
||||
"tests/IntegrationTests2/build/setup-simple/Setup.hs"
|
||||
"tests/IntegrationTests2/build/setup-simple/a.cabal"
|
||||
"tests/IntegrationTests2/exception/bad-config/cabal.project"
|
||||
"tests/IntegrationTests2/exception/build/Main.hs"
|
||||
"tests/IntegrationTests2/exception/build/a.cabal"
|
||||
"tests/IntegrationTests2/exception/configure/a.cabal"
|
||||
"tests/IntegrationTests2/exception/no-pkg/empty.in"
|
||||
"tests/IntegrationTests2/exception/no-pkg2/cabal.project"
|
||||
"tests/IntegrationTests2/regression/3324/cabal.project"
|
||||
"tests/IntegrationTests2/regression/3324/p/P.hs"
|
||||
"tests/IntegrationTests2/regression/3324/p/p.cabal"
|
||||
"tests/IntegrationTests2/regression/3324/q/Q.hs"
|
||||
"tests/IntegrationTests2/regression/3324/q/q.cabal"
|
||||
"tests/IntegrationTests2/targets/all-disabled/cabal.project"
|
||||
"tests/IntegrationTests2/targets/all-disabled/p.cabal"
|
||||
"tests/IntegrationTests2/targets/benchmarks-disabled/cabal.project"
|
||||
"tests/IntegrationTests2/targets/benchmarks-disabled/p.cabal"
|
||||
"tests/IntegrationTests2/targets/benchmarks-disabled/q/q.cabal"
|
||||
"tests/IntegrationTests2/targets/complex/cabal.project"
|
||||
"tests/IntegrationTests2/targets/complex/q/Q.hs"
|
||||
"tests/IntegrationTests2/targets/complex/q/q.cabal"
|
||||
"tests/IntegrationTests2/targets/empty-pkg/cabal.project"
|
||||
"tests/IntegrationTests2/targets/empty-pkg/p.cabal"
|
||||
"tests/IntegrationTests2/targets/empty/cabal.project"
|
||||
"tests/IntegrationTests2/targets/empty/foo.hs"
|
||||
"tests/IntegrationTests2/targets/exes-disabled/cabal.project"
|
||||
"tests/IntegrationTests2/targets/exes-disabled/p/p.cabal"
|
||||
"tests/IntegrationTests2/targets/exes-disabled/q/q.cabal"
|
||||
"tests/IntegrationTests2/targets/lib-only/p.cabal"
|
||||
"tests/IntegrationTests2/targets/libs-disabled/cabal.project"
|
||||
"tests/IntegrationTests2/targets/libs-disabled/p/p.cabal"
|
||||
"tests/IntegrationTests2/targets/libs-disabled/q/q.cabal"
|
||||
"tests/IntegrationTests2/targets/multiple-exes/cabal.project"
|
||||
"tests/IntegrationTests2/targets/multiple-exes/p.cabal"
|
||||
"tests/IntegrationTests2/targets/multiple-libs/cabal.project"
|
||||
"tests/IntegrationTests2/targets/multiple-libs/p/p.cabal"
|
||||
"tests/IntegrationTests2/targets/multiple-libs/q/q.cabal"
|
||||
"tests/IntegrationTests2/targets/multiple-tests/cabal.project"
|
||||
"tests/IntegrationTests2/targets/multiple-tests/p.cabal"
|
||||
"tests/IntegrationTests2/targets/simple/P.hs"
|
||||
"tests/IntegrationTests2/targets/simple/cabal.project"
|
||||
"tests/IntegrationTests2/targets/simple/p.cabal"
|
||||
"tests/IntegrationTests2/targets/simple/q/QQ.hs"
|
||||
"tests/IntegrationTests2/targets/simple/q/q.cabal"
|
||||
"tests/IntegrationTests2/targets/test-only/p.cabal"
|
||||
"tests/IntegrationTests2/targets/tests-disabled/cabal.project"
|
||||
"tests/IntegrationTests2/targets/tests-disabled/p.cabal"
|
||||
"tests/IntegrationTests2/targets/tests-disabled/q/q.cabal"
|
||||
"tests/IntegrationTests2/targets/variety/cabal.project"
|
||||
"tests/IntegrationTests2/targets/variety/p.cabal"
|
||||
"tests/IntegrationTests2/build/local-tarball/p-0.1.tar.gz"
|
||||
];
|
||||
extraTmpFiles = [];
|
||||
extraDocFiles = [];
|
||||
};
|
||||
components = {
|
||||
exes = {
|
||||
"cabal" = {
|
||||
depends = ((((([
|
||||
(hsPkgs."async" or (errorHandler.buildDepError "async"))
|
||||
(hsPkgs."array" or (errorHandler.buildDepError "array"))
|
||||
(hsPkgs."base" or (errorHandler.buildDepError "base"))
|
||||
(hsPkgs."base16-bytestring" or (errorHandler.buildDepError "base16-bytestring"))
|
||||
(hsPkgs."binary" or (errorHandler.buildDepError "binary"))
|
||||
(hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring"))
|
||||
(hsPkgs."Cabal" or (errorHandler.buildDepError "Cabal"))
|
||||
(hsPkgs."containers" or (errorHandler.buildDepError "containers"))
|
||||
(hsPkgs."cryptohash-sha256" or (errorHandler.buildDepError "cryptohash-sha256"))
|
||||
(hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq"))
|
||||
(hsPkgs."directory" or (errorHandler.buildDepError "directory"))
|
||||
(hsPkgs."echo" or (errorHandler.buildDepError "echo"))
|
||||
(hsPkgs."edit-distance" or (errorHandler.buildDepError "edit-distance"))
|
||||
(hsPkgs."filepath" or (errorHandler.buildDepError "filepath"))
|
||||
(hsPkgs."hashable" or (errorHandler.buildDepError "hashable"))
|
||||
(hsPkgs."HTTP" or (errorHandler.buildDepError "HTTP"))
|
||||
(hsPkgs."mtl" or (errorHandler.buildDepError "mtl"))
|
||||
(hsPkgs."network-uri" or (errorHandler.buildDepError "network-uri"))
|
||||
(hsPkgs."network" or (errorHandler.buildDepError "network"))
|
||||
(hsPkgs."pretty" or (errorHandler.buildDepError "pretty"))
|
||||
(hsPkgs."process" or (errorHandler.buildDepError "process"))
|
||||
(hsPkgs."random" or (errorHandler.buildDepError "random"))
|
||||
(hsPkgs."stm" or (errorHandler.buildDepError "stm"))
|
||||
(hsPkgs."tar" or (errorHandler.buildDepError "tar"))
|
||||
(hsPkgs."time" or (errorHandler.buildDepError "time"))
|
||||
(hsPkgs."transformers" or (errorHandler.buildDepError "transformers"))
|
||||
(hsPkgs."zlib" or (errorHandler.buildDepError "zlib"))
|
||||
(hsPkgs."hackage-security" or (errorHandler.buildDepError "hackage-security"))
|
||||
(hsPkgs."text" or (errorHandler.buildDepError "text"))
|
||||
(hsPkgs."parsec" or (errorHandler.buildDepError "parsec"))
|
||||
] ++ (pkgs.lib).optionals (!(compiler.isGhc && (compiler.version).ge "8.0")) [
|
||||
(hsPkgs."fail" or (errorHandler.buildDepError "fail"))
|
||||
(hsPkgs."semigroups" or (errorHandler.buildDepError "semigroups"))
|
||||
]) ++ (pkgs.lib).optionals (flags.native-dns) (if system.isWindows
|
||||
then [ (hsPkgs."windns" or (errorHandler.buildDepError "windns")) ]
|
||||
else [
|
||||
(hsPkgs."resolv" or (errorHandler.buildDepError "resolv"))
|
||||
])) ++ (if system.isWindows
|
||||
then [ (hsPkgs."Win32" or (errorHandler.buildDepError "Win32")) ]
|
||||
else [
|
||||
(hsPkgs."unix" or (errorHandler.buildDepError "unix"))
|
||||
])) ++ (if flags.lukko
|
||||
then [ (hsPkgs."lukko" or (errorHandler.buildDepError "lukko")) ]
|
||||
else [
|
||||
(hsPkgs."base" or (errorHandler.buildDepError "base"))
|
||||
])) ++ (pkgs.lib).optional (flags.debug-conflict-sets) (hsPkgs."base" or (errorHandler.buildDepError "base"))) ++ (pkgs.lib).optional (flags.debug-tracetree) (hsPkgs."tracetree" or (errorHandler.buildDepError "tracetree"));
|
||||
libs = (pkgs.lib).optional (system.isAix) (pkgs."bsd" or (errorHandler.sysDepError "bsd"));
|
||||
buildable = true;
|
||||
modules = [
|
||||
"Distribution/Deprecated/ParseUtils"
|
||||
"Distribution/Deprecated/ReadP"
|
||||
"Distribution/Deprecated/Text"
|
||||
"Distribution/Deprecated/ViewAsFieldDescr"
|
||||
"Distribution/Client/BuildReports/Anonymous"
|
||||
"Distribution/Client/BuildReports/Storage"
|
||||
"Distribution/Client/BuildReports/Types"
|
||||
"Distribution/Client/BuildReports/Upload"
|
||||
"Distribution/Client/Check"
|
||||
"Distribution/Client/CmdBench"
|
||||
"Distribution/Client/CmdBuild"
|
||||
"Distribution/Client/CmdClean"
|
||||
"Distribution/Client/CmdConfigure"
|
||||
"Distribution/Client/CmdUpdate"
|
||||
"Distribution/Client/CmdErrorMessages"
|
||||
"Distribution/Client/CmdExec"
|
||||
"Distribution/Client/CmdFreeze"
|
||||
"Distribution/Client/CmdHaddock"
|
||||
"Distribution/Client/CmdInstall"
|
||||
"Distribution/Client/CmdInstall/ClientInstallFlags"
|
||||
"Distribution/Client/CmdRepl"
|
||||
"Distribution/Client/CmdRun"
|
||||
"Distribution/Client/CmdRun/ClientRunFlags"
|
||||
"Distribution/Client/CmdTest"
|
||||
"Distribution/Client/CmdLegacy"
|
||||
"Distribution/Client/CmdSdist"
|
||||
"Distribution/Client/Compat/Directory"
|
||||
"Distribution/Client/Compat/ExecutablePath"
|
||||
"Distribution/Client/Compat/FilePerms"
|
||||
"Distribution/Client/Compat/Orphans"
|
||||
"Distribution/Client/Compat/Prelude"
|
||||
"Distribution/Client/Compat/Process"
|
||||
"Distribution/Client/Compat/Semaphore"
|
||||
"Distribution/Client/Config"
|
||||
"Distribution/Client/Configure"
|
||||
"Distribution/Client/Dependency"
|
||||
"Distribution/Client/Dependency/Types"
|
||||
"Distribution/Client/DistDirLayout"
|
||||
"Distribution/Client/Exec"
|
||||
"Distribution/Client/Fetch"
|
||||
"Distribution/Client/FetchUtils"
|
||||
"Distribution/Client/FileMonitor"
|
||||
"Distribution/Client/Freeze"
|
||||
"Distribution/Client/GZipUtils"
|
||||
"Distribution/Client/GenBounds"
|
||||
"Distribution/Client/Get"
|
||||
"Distribution/Client/Glob"
|
||||
"Distribution/Client/GlobalFlags"
|
||||
"Distribution/Client/Haddock"
|
||||
"Distribution/Client/HashValue"
|
||||
"Distribution/Client/HttpUtils"
|
||||
"Distribution/Client/IndexUtils"
|
||||
"Distribution/Client/IndexUtils/Timestamp"
|
||||
"Distribution/Client/Init"
|
||||
"Distribution/Client/Init/Heuristics"
|
||||
"Distribution/Client/Init/Licenses"
|
||||
"Distribution/Client/Init/Types"
|
||||
"Distribution/Client/Install"
|
||||
"Distribution/Client/InstallPlan"
|
||||
"Distribution/Client/InstallSymlink"
|
||||
"Distribution/Client/JobControl"
|
||||
"Distribution/Client/List"
|
||||
"Distribution/Client/Manpage"
|
||||
"Distribution/Client/Nix"
|
||||
"Distribution/Client/Outdated"
|
||||
"Distribution/Client/PackageHash"
|
||||
"Distribution/Client/PackageUtils"
|
||||
"Distribution/Client/ParseUtils"
|
||||
"Distribution/Client/ProjectBuilding"
|
||||
"Distribution/Client/ProjectBuilding/Types"
|
||||
"Distribution/Client/ProjectConfig"
|
||||
"Distribution/Client/ProjectConfig/Legacy"
|
||||
"Distribution/Client/ProjectConfig/Types"
|
||||
"Distribution/Client/ProjectOrchestration"
|
||||
"Distribution/Client/ProjectPlanOutput"
|
||||
"Distribution/Client/ProjectPlanning"
|
||||
"Distribution/Client/ProjectPlanning/Types"
|
||||
"Distribution/Client/RebuildMonad"
|
||||
"Distribution/Client/Reconfigure"
|
||||
"Distribution/Client/Run"
|
||||
"Distribution/Client/Sandbox"
|
||||
"Distribution/Client/Sandbox/Index"
|
||||
"Distribution/Client/Sandbox/PackageEnvironment"
|
||||
"Distribution/Client/Sandbox/Timestamp"
|
||||
"Distribution/Client/Sandbox/Types"
|
||||
"Distribution/Client/SavedFlags"
|
||||
"Distribution/Client/Security/DNS"
|
||||
"Distribution/Client/Security/HTTP"
|
||||
"Distribution/Client/Setup"
|
||||
"Distribution/Client/SetupWrapper"
|
||||
"Distribution/Client/SolverInstallPlan"
|
||||
"Distribution/Client/SourceFiles"
|
||||
"Distribution/Client/SourceRepo"
|
||||
"Distribution/Client/SrcDist"
|
||||
"Distribution/Client/Store"
|
||||
"Distribution/Client/Tar"
|
||||
"Distribution/Client/TargetSelector"
|
||||
"Distribution/Client/Targets"
|
||||
"Distribution/Client/Types"
|
||||
"Distribution/Client/Update"
|
||||
"Distribution/Client/Upload"
|
||||
"Distribution/Client/Utils"
|
||||
"Distribution/Client/Utils/Assertion"
|
||||
"Distribution/Client/Utils/Json"
|
||||
"Distribution/Client/Utils/Parsec"
|
||||
"Distribution/Client/VCS"
|
||||
"Distribution/Client/Win32SelfUpgrade"
|
||||
"Distribution/Client/World"
|
||||
"Distribution/Solver/Compat/Prelude"
|
||||
"Distribution/Solver/Modular"
|
||||
"Distribution/Solver/Modular/Assignment"
|
||||
"Distribution/Solver/Modular/Builder"
|
||||
"Distribution/Solver/Modular/Configured"
|
||||
"Distribution/Solver/Modular/ConfiguredConversion"
|
||||
"Distribution/Solver/Modular/ConflictSet"
|
||||
"Distribution/Solver/Modular/Cycles"
|
||||
"Distribution/Solver/Modular/Dependency"
|
||||
"Distribution/Solver/Modular/Explore"
|
||||
"Distribution/Solver/Modular/Flag"
|
||||
"Distribution/Solver/Modular/Index"
|
||||
"Distribution/Solver/Modular/IndexConversion"
|
||||
"Distribution/Solver/Modular/LabeledGraph"
|
||||
"Distribution/Solver/Modular/Linking"
|
||||
"Distribution/Solver/Modular/Log"
|
||||
"Distribution/Solver/Modular/Message"
|
||||
"Distribution/Solver/Modular/PSQ"
|
||||
"Distribution/Solver/Modular/Package"
|
||||
"Distribution/Solver/Modular/Preference"
|
||||
"Distribution/Solver/Modular/RetryLog"
|
||||
"Distribution/Solver/Modular/Solver"
|
||||
"Distribution/Solver/Modular/Tree"
|
||||
"Distribution/Solver/Modular/Validate"
|
||||
"Distribution/Solver/Modular/Var"
|
||||
"Distribution/Solver/Modular/Version"
|
||||
"Distribution/Solver/Modular/WeightedPSQ"
|
||||
"Distribution/Solver/Types/ComponentDeps"
|
||||
"Distribution/Solver/Types/ConstraintSource"
|
||||
"Distribution/Solver/Types/DependencyResolver"
|
||||
"Distribution/Solver/Types/Flag"
|
||||
"Distribution/Solver/Types/InstSolverPackage"
|
||||
"Distribution/Solver/Types/InstalledPreference"
|
||||
"Distribution/Solver/Types/LabeledPackageConstraint"
|
||||
"Distribution/Solver/Types/OptionalStanza"
|
||||
"Distribution/Solver/Types/PackageConstraint"
|
||||
"Distribution/Solver/Types/PackageFixedDeps"
|
||||
"Distribution/Solver/Types/PackageIndex"
|
||||
"Distribution/Solver/Types/PackagePath"
|
||||
"Distribution/Solver/Types/PackagePreferences"
|
||||
"Distribution/Solver/Types/PkgConfigDb"
|
||||
"Distribution/Solver/Types/Progress"
|
||||
"Distribution/Solver/Types/ResolverPackage"
|
||||
"Distribution/Solver/Types/Settings"
|
||||
"Distribution/Solver/Types/SolverId"
|
||||
"Distribution/Solver/Types/SolverPackage"
|
||||
"Distribution/Solver/Types/SourcePackage"
|
||||
"Distribution/Solver/Types/Variable"
|
||||
"Paths_cabal_install"
|
||||
];
|
||||
hsSourceDirs = [ "main" "." ];
|
||||
mainPath = (((((((([
|
||||
"Main.hs"
|
||||
] ++ (pkgs.lib).optionals (compiler.isGhc && (compiler.version).ge "8.0") ([
|
||||
""
|
||||
] ++ (pkgs.lib).optional (compiler.isGhc && (compiler.version).lt "8.8") "")) ++ (pkgs.lib).optional (system.isAix) "") ++ (pkgs.lib).optional (!(compiler.isGhc && (compiler.version).ge "8.0")) "") ++ (pkgs.lib).optionals (flags.native-dns) ([
|
||||
""
|
||||
] ++ [ "" ])) ++ [ "" ]) ++ [
|
||||
""
|
||||
]) ++ (pkgs.lib).optional (flags.debug-expensive-assertions) "") ++ (pkgs.lib).optional (flags.debug-conflict-sets) "") ++ (pkgs.lib).optional (flags.debug-tracetree) "";
|
||||
};
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ../.; }
|
122
materialized/ghc883/cabal-install/default.nix
generated
Normal file
122
materialized/ghc883/cabal-install/default.nix
generated
Normal file
@ -0,0 +1,122 @@
|
||||
{
|
||||
pkgs = hackage:
|
||||
{
|
||||
packages = {
|
||||
"cryptohash-sha256".revision = (((hackage."cryptohash-sha256")."0.11.101.0").revisions).default;
|
||||
"cryptohash-sha256".flags.exe = false;
|
||||
"binary".revision = (((hackage."binary")."0.8.7.0").revisions).default;
|
||||
"tar".revision = (((hackage."tar")."0.5.1.1").revisions).default;
|
||||
"tar".flags.old-time = false;
|
||||
"tar".flags.old-bytestring = false;
|
||||
"ghc-prim".revision = (((hackage."ghc-prim")."0.5.3").revisions).default;
|
||||
"edit-distance".revision = (((hackage."edit-distance")."0.2.2.1").revisions).default;
|
||||
"stm".revision = (((hackage."stm")."2.5.0.0").revisions).default;
|
||||
"unix".revision = (((hackage."unix")."2.7.2.2").revisions).default;
|
||||
"mtl".revision = (((hackage."mtl")."2.2.2").revisions).default;
|
||||
"network-uri".revision = (((hackage."network-uri")."2.6.3.0").revisions).default;
|
||||
"zlib".revision = (((hackage."zlib")."0.6.2.1").revisions).default;
|
||||
"zlib".flags.non-blocking-ffi = false;
|
||||
"zlib".flags.pkg-config = false;
|
||||
"rts".revision = (((hackage."rts")."1.0").revisions).default;
|
||||
"deepseq".revision = (((hackage."deepseq")."1.4.4.0").revisions).default;
|
||||
"random".revision = (((hackage."random")."1.1").revisions).default;
|
||||
"network".revision = (((hackage."network")."3.1.1.1").revisions).default;
|
||||
"async".revision = (((hackage."async")."2.2.2").revisions).default;
|
||||
"async".flags.bench = false;
|
||||
"parsec".revision = (((hackage."parsec")."3.1.14.0").revisions).default;
|
||||
"echo".revision = (((hackage."echo")."0.1.3").revisions).default;
|
||||
"echo".flags.example = false;
|
||||
"hsc2hs".revision = (((hackage."hsc2hs")."0.68.7").revisions).default;
|
||||
"hsc2hs".flags.in-ghc-tree = false;
|
||||
"resolv".revision = (((hackage."resolv")."0.1.2.0").revisions).default;
|
||||
"directory".revision = (((hackage."directory")."1.3.6.0").revisions).default;
|
||||
"template-haskell".revision = (((hackage."template-haskell")."2.15.0.0").revisions).default;
|
||||
"containers".revision = (((hackage."containers")."0.6.2.1").revisions).default;
|
||||
"bytestring".revision = (((hackage."bytestring")."0.10.10.0").revisions).default;
|
||||
"text".revision = (((hackage."text")."1.2.4.0").revisions).default;
|
||||
"Cabal".revision = (((hackage."Cabal")."3.2.0.0").revisions).default;
|
||||
"Cabal".flags.bundled-binary-generic = false;
|
||||
"base64-bytestring".revision = (((hackage."base64-bytestring")."1.0.0.3").revisions).default;
|
||||
"base".revision = (((hackage."base")."4.13.0.0").revisions).default;
|
||||
"time".revision = (((hackage."time")."1.9.3").revisions).default;
|
||||
"base16-bytestring".revision = (((hackage."base16-bytestring")."0.1.1.6").revisions).default;
|
||||
"transformers".revision = (((hackage."transformers")."0.5.6.2").revisions).default;
|
||||
"hashable".revision = (((hackage."hashable")."1.3.0.0").revisions).default;
|
||||
"hashable".flags.sse2 = true;
|
||||
"hashable".flags.integer-gmp = true;
|
||||
"hashable".flags.sse41 = false;
|
||||
"hashable".flags.examples = false;
|
||||
"HTTP".revision = (((hackage."HTTP")."4000.3.14").revisions).default;
|
||||
"HTTP".flags.mtl1 = false;
|
||||
"HTTP".flags.conduit10 = false;
|
||||
"HTTP".flags.warn-as-error = false;
|
||||
"HTTP".flags.warp-tests = false;
|
||||
"HTTP".flags.network-uri = true;
|
||||
"filepath".revision = (((hackage."filepath")."1.4.2.1").revisions).default;
|
||||
"ed25519".revision = (((hackage."ed25519")."0.0.5.0").revisions).default;
|
||||
"ed25519".flags.test-hlint = true;
|
||||
"ed25519".flags.test-properties = true;
|
||||
"ed25519".flags.test-doctests = true;
|
||||
"ed25519".flags.no-donna = true;
|
||||
"process".revision = (((hackage."process")."1.6.8.0").revisions).default;
|
||||
"pretty".revision = (((hackage."pretty")."1.1.3.6").revisions).default;
|
||||
"lukko".revision = (((hackage."lukko")."0.1.1.2").revisions).default;
|
||||
"lukko".flags.ofd-locking = true;
|
||||
"ghc-boot-th".revision = (((hackage."ghc-boot-th")."8.8.3").revisions).default;
|
||||
"array".revision = (((hackage."array")."0.5.4.0").revisions).default;
|
||||
"hackage-security".revision = (((hackage."hackage-security")."0.6.0.1").revisions).default;
|
||||
"hackage-security".flags.old-directory = false;
|
||||
"hackage-security".flags.use-network-uri = true;
|
||||
"hackage-security".flags.base48 = true;
|
||||
"hackage-security".flags.lukko = true;
|
||||
"hackage-security".flags.mtl21 = false;
|
||||
"integer-gmp".revision = (((hackage."integer-gmp")."1.0.2.0").revisions).default;
|
||||
};
|
||||
compiler = {
|
||||
version = "8.8.3";
|
||||
nix-name = "ghc883";
|
||||
packages = {
|
||||
"binary" = "0.8.7.0";
|
||||
"ghc-prim" = "0.5.3";
|
||||
"stm" = "2.5.0.0";
|
||||
"unix" = "2.7.2.2";
|
||||
"mtl" = "2.2.2";
|
||||
"rts" = "1.0";
|
||||
"deepseq" = "1.4.4.0";
|
||||
"parsec" = "3.1.14.0";
|
||||
"directory" = "1.3.6.0";
|
||||
"template-haskell" = "2.15.0.0";
|
||||
"containers" = "0.6.2.1";
|
||||
"bytestring" = "0.10.10.0";
|
||||
"text" = "1.2.4.0";
|
||||
"base" = "4.13.0.0";
|
||||
"time" = "1.9.3";
|
||||
"transformers" = "0.5.6.2";
|
||||
"filepath" = "1.4.2.1";
|
||||
"process" = "1.6.8.0";
|
||||
"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 = { cabal-install = ./.plan.nix/cabal-install.nix; }; };
|
||||
modules = [
|
||||
({ lib, ... }:
|
||||
{
|
||||
packages = {
|
||||
"cabal-install" = {
|
||||
flags = {
|
||||
"native-dns" = lib.mkOverride 900 true;
|
||||
"debug-expensive-assertions" = lib.mkOverride 900 false;
|
||||
"debug-tracetree" = lib.mkOverride 900 false;
|
||||
"lukko" = lib.mkOverride 900 true;
|
||||
"debug-conflict-sets" = lib.mkOverride 900 false;
|
||||
};
|
||||
};
|
||||
};
|
||||
})
|
||||
];
|
||||
}
|
200
materialized/ghc883/happy/.plan.nix/happy.nix
generated
Normal file
200
materialized/ghc883/happy/.plan.nix/happy.nix
generated
Normal file
@ -0,0 +1,200 @@
|
||||
{ system
|
||||
, compiler
|
||||
, flags
|
||||
, pkgs
|
||||
, hsPkgs
|
||||
, pkgconfPkgs
|
||||
, errorHandler
|
||||
, config
|
||||
, ... }:
|
||||
{
|
||||
flags = { small_base = true; };
|
||||
package = {
|
||||
specVersion = "1.8";
|
||||
identifier = { name = "happy"; version = "1.19.12"; };
|
||||
license = "BSD-2-Clause";
|
||||
copyright = "(c) Andy Gill, Simon Marlow";
|
||||
maintainer = "Simon Marlow <marlowsd@gmail.com>";
|
||||
author = "Andy Gill and Simon Marlow";
|
||||
homepage = "https://www.haskell.org/happy/";
|
||||
url = "";
|
||||
synopsis = "Happy is a parser generator for Haskell";
|
||||
description = "Happy is a parser generator for Haskell. Given a grammar\nspecification in BNF, Happy generates Haskell code to parse the\ngrammar. Happy works in a similar way to the @yacc@ tool for C.";
|
||||
buildType = "Simple";
|
||||
isLocal = true;
|
||||
detailLevel = "FullDetails";
|
||||
licenseFiles = [ "LICENSE" ];
|
||||
dataDir = "data/";
|
||||
dataFiles = [
|
||||
"HappyTemplate"
|
||||
"HappyTemplate-arrays"
|
||||
"HappyTemplate-arrays-coerce"
|
||||
"HappyTemplate-arrays-coerce-debug"
|
||||
"HappyTemplate-arrays-debug"
|
||||
"HappyTemplate-arrays-ghc"
|
||||
"HappyTemplate-arrays-ghc-debug"
|
||||
"HappyTemplate-coerce"
|
||||
"HappyTemplate-ghc"
|
||||
"GLR_Base"
|
||||
"GLR_Lib"
|
||||
"GLR_Lib-ghc"
|
||||
"GLR_Lib-ghc-debug"
|
||||
];
|
||||
extraSrcFiles = [
|
||||
"ANNOUNCE"
|
||||
"CHANGES"
|
||||
"Makefile"
|
||||
"README.md"
|
||||
"TODO"
|
||||
"doc/Makefile"
|
||||
"doc/aclocal.m4"
|
||||
"doc/config.mk.in"
|
||||
"doc/configure.ac"
|
||||
"doc/docbook-xml.mk"
|
||||
"doc/fptools.css"
|
||||
"doc/happy.1.in"
|
||||
"doc/happy.xml"
|
||||
"examples/glr/nlp/Main.lhs"
|
||||
"examples/glr/nlp/Makefile"
|
||||
"examples/glr/nlp/README"
|
||||
"examples/glr/nlp/English.y"
|
||||
"examples/glr/nlp/Hugs.lhs"
|
||||
"examples/glr/Makefile"
|
||||
"examples/glr/Makefile.defs"
|
||||
"examples/glr/expr-eval/Main.lhs"
|
||||
"examples/glr/expr-eval/Makefile"
|
||||
"examples/glr/expr-eval/Expr.y"
|
||||
"examples/glr/expr-eval/README"
|
||||
"examples/glr/expr-eval/Hugs.lhs"
|
||||
"examples/glr/expr-tree/Main.lhs"
|
||||
"examples/glr/expr-tree/Makefile"
|
||||
"examples/glr/expr-tree/Expr.y"
|
||||
"examples/glr/expr-tree/README"
|
||||
"examples/glr/expr-tree/Tree.lhs"
|
||||
"examples/glr/expr-tree/Hugs.lhs"
|
||||
"examples/glr/highly-ambiguous/Main.lhs"
|
||||
"examples/glr/highly-ambiguous/Makefile"
|
||||
"examples/glr/highly-ambiguous/Expr.y"
|
||||
"examples/glr/highly-ambiguous/README"
|
||||
"examples/glr/highly-ambiguous/Hugs.lhs"
|
||||
"examples/glr/hidden-leftrec/Main.lhs"
|
||||
"examples/glr/hidden-leftrec/Makefile"
|
||||
"examples/glr/hidden-leftrec/Expr.y"
|
||||
"examples/glr/hidden-leftrec/README"
|
||||
"examples/glr/hidden-leftrec/Hugs.lhs"
|
||||
"examples/glr/expr-monad/Main.lhs"
|
||||
"examples/glr/expr-monad/Makefile"
|
||||
"examples/glr/expr-monad/Expr.y"
|
||||
"examples/glr/expr-monad/README"
|
||||
"examples/glr/expr-monad/Hugs.lhs"
|
||||
"examples/glr/bio-eg/Main.lhs"
|
||||
"examples/glr/bio-eg/Makefile"
|
||||
"examples/glr/bio-eg/Bio.y"
|
||||
"examples/glr/bio-eg/README"
|
||||
"examples/glr/bio-eg/1-1200.dna"
|
||||
"examples/glr/bio-eg/1-600.dna"
|
||||
"examples/glr/common/DV_lhs"
|
||||
"examples/glr/common/DaVinciTypes.hs"
|
||||
"examples/glr/packing/Main.lhs"
|
||||
"examples/glr/packing/Makefile"
|
||||
"examples/glr/packing/Expr.y"
|
||||
"examples/glr/packing/README"
|
||||
"examples/glr/packing/Hugs.lhs"
|
||||
"examples/PgnParser.ly"
|
||||
"examples/MonadTest.ly"
|
||||
"examples/igloo/ParserM.hs"
|
||||
"examples/igloo/Makefile"
|
||||
"examples/igloo/Parser.y"
|
||||
"examples/igloo/Foo.hs"
|
||||
"examples/igloo/README"
|
||||
"examples/igloo/Lexer.x"
|
||||
"examples/README"
|
||||
"examples/Calc.ly"
|
||||
"examples/DavesExample.ly"
|
||||
"examples/ErrorTest.ly"
|
||||
"examples/ErlParser.ly"
|
||||
"examples/SimonsExample.ly"
|
||||
"examples/LexerTest.ly"
|
||||
"happy.spec"
|
||||
"src/ARRAY-NOTES"
|
||||
"tests/AttrGrammar001.y"
|
||||
"tests/AttrGrammar002.y"
|
||||
"tests/Makefile"
|
||||
"tests/Partial.ly"
|
||||
"tests/Test.ly"
|
||||
"tests/TestMulti.ly"
|
||||
"tests/TestPrecedence.ly"
|
||||
"tests/bogus-token.y"
|
||||
"tests/bug001.ly"
|
||||
"tests/bug002.y"
|
||||
"tests/error001.stderr"
|
||||
"tests/error001.stdout"
|
||||
"tests/error001.y"
|
||||
"tests/monad001.y"
|
||||
"tests/monad002.ly"
|
||||
"tests/monaderror.y"
|
||||
"tests/precedence001.ly"
|
||||
"tests/precedence002.y"
|
||||
"tests/test_rules.y"
|
||||
"tests/issue91.y"
|
||||
"tests/issue93.y"
|
||||
"tests/issue94.y"
|
||||
"tests/issue95.y"
|
||||
"tests/monaderror-explist.y"
|
||||
"tests/typeclass_monad001.y"
|
||||
"tests/typeclass_monad002.ly"
|
||||
"tests/typeclass_monad_lexer.y"
|
||||
"tests/rank2.y"
|
||||
];
|
||||
extraTmpFiles = [];
|
||||
extraDocFiles = [];
|
||||
};
|
||||
components = {
|
||||
exes = {
|
||||
"happy" = {
|
||||
depends = [
|
||||
(hsPkgs."base" or (errorHandler.buildDepError "base"))
|
||||
(hsPkgs."array" or (errorHandler.buildDepError "array"))
|
||||
(hsPkgs."containers" or (errorHandler.buildDepError "containers"))
|
||||
(hsPkgs."mtl" or (errorHandler.buildDepError "mtl"))
|
||||
];
|
||||
buildable = true;
|
||||
modules = [
|
||||
"Paths_happy"
|
||||
"AbsSyn"
|
||||
"First"
|
||||
"GenUtils"
|
||||
"Grammar"
|
||||
"Info"
|
||||
"LALR"
|
||||
"Lexer"
|
||||
"ParseMonad"
|
||||
"Parser"
|
||||
"ProduceCode"
|
||||
"ProduceGLRCode"
|
||||
"NameSet"
|
||||
"Target"
|
||||
"AttrGrammar"
|
||||
"AttrGrammarParser"
|
||||
"ParamRules"
|
||||
"PrettyGrammar"
|
||||
];
|
||||
hsSourceDirs = [ "src" ];
|
||||
mainPath = [ "Main.lhs" ];
|
||||
};
|
||||
};
|
||||
tests = {
|
||||
"tests" = {
|
||||
depends = [
|
||||
(hsPkgs."base" or (errorHandler.buildDepError "base"))
|
||||
(hsPkgs."process" or (errorHandler.buildDepError "process"))
|
||||
];
|
||||
build-tools = [
|
||||
(hsPkgs.buildPackages.happy or (pkgs.buildPackages.happy or (errorHandler.buildToolDepError "happy")))
|
||||
];
|
||||
buildable = true;
|
||||
mainPath = [ "test.hs" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ../.; }
|
53
materialized/ghc883/happy/default.nix
generated
Normal file
53
materialized/ghc883/happy/default.nix
generated
Normal file
@ -0,0 +1,53 @@
|
||||
{
|
||||
pkgs = hackage:
|
||||
{
|
||||
packages = {
|
||||
"ghc-prim".revision = (((hackage."ghc-prim")."0.5.3").revisions).default;
|
||||
"unix".revision = (((hackage."unix")."2.7.2.2").revisions).default;
|
||||
"mtl".revision = (((hackage."mtl")."2.2.2").revisions).default;
|
||||
"rts".revision = (((hackage."rts")."1.0").revisions).default;
|
||||
"deepseq".revision = (((hackage."deepseq")."1.4.4.0").revisions).default;
|
||||
"directory".revision = (((hackage."directory")."1.3.6.0").revisions).default;
|
||||
"containers".revision = (((hackage."containers")."0.6.2.1").revisions).default;
|
||||
"bytestring".revision = (((hackage."bytestring")."0.10.10.0").revisions).default;
|
||||
"base".revision = (((hackage."base")."4.13.0.0").revisions).default;
|
||||
"time".revision = (((hackage."time")."1.9.3").revisions).default;
|
||||
"transformers".revision = (((hackage."transformers")."0.5.6.2").revisions).default;
|
||||
"filepath".revision = (((hackage."filepath")."1.4.2.1").revisions).default;
|
||||
"process".revision = (((hackage."process")."1.6.8.0").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";
|
||||
"unix" = "2.7.2.2";
|
||||
"mtl" = "2.2.2";
|
||||
"rts" = "1.0";
|
||||
"deepseq" = "1.4.4.0";
|
||||
"directory" = "1.3.6.0";
|
||||
"containers" = "0.6.2.1";
|
||||
"bytestring" = "0.10.10.0";
|
||||
"base" = "4.13.0.0";
|
||||
"time" = "1.9.3";
|
||||
"transformers" = "0.5.6.2";
|
||||
"filepath" = "1.4.2.1";
|
||||
"process" = "1.6.8.0";
|
||||
"array" = "0.5.4.0";
|
||||
"integer-gmp" = "1.0.2.0";
|
||||
};
|
||||
};
|
||||
};
|
||||
extras = hackage:
|
||||
{ packages = { happy = ./.plan.nix/happy.nix; }; };
|
||||
modules = [
|
||||
({ lib, ... }:
|
||||
{
|
||||
packages = {
|
||||
"happy" = { flags = { "small_base" = lib.mkOverride 900 true; }; };
|
||||
};
|
||||
})
|
||||
];
|
||||
}
|
100
materialized/ghc883/nix-tools/.plan.nix/hackage-db.nix
generated
Normal file
100
materialized/ghc883/nix-tools/.plan.nix/hackage-db.nix
generated
Normal file
@ -0,0 +1,100 @@
|
||||
{ system
|
||||
, compiler
|
||||
, flags
|
||||
, pkgs
|
||||
, hsPkgs
|
||||
, pkgconfPkgs
|
||||
, errorHandler
|
||||
, config
|
||||
, ... }:
|
||||
{
|
||||
flags = { install-examples = false; };
|
||||
package = {
|
||||
specVersion = "1.10";
|
||||
identifier = { name = "hackage-db"; version = "2.1.0"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "";
|
||||
maintainer = "Peter Simons <simons@cryp.to>";
|
||||
author = "Peter Simons, Alexander Altman, Ben James";
|
||||
homepage = "https://github.com/peti/hackage-db#readme";
|
||||
url = "";
|
||||
synopsis = "Access cabal-install's Hackage database via Data.Map";
|
||||
description = "This library provides convenient access to the local copy of the Hackage\ndatabase that \\\"cabal update\\\" creates. Check out\n<https://github.com/peti/hackage-db/tree/master/example/> for a collection\nof simple example programs that demonstrate how to use this code.";
|
||||
buildType = "Simple";
|
||||
isLocal = true;
|
||||
detailLevel = "FullDetails";
|
||||
licenseFiles = [ "LICENSE" ];
|
||||
dataDir = "";
|
||||
dataFiles = [];
|
||||
extraSrcFiles = [];
|
||||
extraTmpFiles = [];
|
||||
extraDocFiles = [];
|
||||
};
|
||||
components = {
|
||||
"library" = {
|
||||
depends = [
|
||||
(hsPkgs."base" or (errorHandler.buildDepError "base"))
|
||||
(hsPkgs."Cabal" or (errorHandler.buildDepError "Cabal"))
|
||||
(hsPkgs."aeson" or (errorHandler.buildDepError "aeson"))
|
||||
(hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring"))
|
||||
(hsPkgs."containers" or (errorHandler.buildDepError "containers"))
|
||||
(hsPkgs."directory" or (errorHandler.buildDepError "directory"))
|
||||
(hsPkgs."exceptions" or (errorHandler.buildDepError "exceptions"))
|
||||
(hsPkgs."filepath" or (errorHandler.buildDepError "filepath"))
|
||||
(hsPkgs."tar" or (errorHandler.buildDepError "tar"))
|
||||
(hsPkgs."time" or (errorHandler.buildDepError "time"))
|
||||
(hsPkgs."utf8-string" or (errorHandler.buildDepError "utf8-string"))
|
||||
];
|
||||
buildable = true;
|
||||
modules = [
|
||||
"Paths_hackage_db"
|
||||
"Distribution/Hackage/DB"
|
||||
"Distribution/Hackage/DB/Builder"
|
||||
"Distribution/Hackage/DB/Errors"
|
||||
"Distribution/Hackage/DB/MetaData"
|
||||
"Distribution/Hackage/DB/Parsed"
|
||||
"Distribution/Hackage/DB/Path"
|
||||
"Distribution/Hackage/DB/Unparsed"
|
||||
"Distribution/Hackage/DB/Utility"
|
||||
];
|
||||
hsSourceDirs = [ "src" ];
|
||||
};
|
||||
exes = {
|
||||
"list-known-versions" = {
|
||||
depends = (pkgs.lib).optionals (flags.install-examples) [
|
||||
(hsPkgs."base" or (errorHandler.buildDepError "base"))
|
||||
(hsPkgs."Cabal" or (errorHandler.buildDepError "Cabal"))
|
||||
(hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring"))
|
||||
(hsPkgs."containers" or (errorHandler.buildDepError "containers"))
|
||||
(hsPkgs."hackage-db" or (errorHandler.buildDepError "hackage-db"))
|
||||
];
|
||||
buildable = if flags.install-examples then true else false;
|
||||
hsSourceDirs = [ "example" ];
|
||||
mainPath = [ "list-known-versions.hs" ] ++ [ "" ];
|
||||
};
|
||||
"show-meta-data" = {
|
||||
depends = (pkgs.lib).optionals (flags.install-examples) [
|
||||
(hsPkgs."base" or (errorHandler.buildDepError "base"))
|
||||
(hsPkgs."Cabal" or (errorHandler.buildDepError "Cabal"))
|
||||
(hsPkgs."containers" or (errorHandler.buildDepError "containers"))
|
||||
(hsPkgs."hackage-db" or (errorHandler.buildDepError "hackage-db"))
|
||||
(hsPkgs."utf8-string" or (errorHandler.buildDepError "utf8-string"))
|
||||
];
|
||||
buildable = if flags.install-examples then true else false;
|
||||
hsSourceDirs = [ "example" ];
|
||||
mainPath = [ "show-meta-data.hs" ] ++ [ "" ];
|
||||
};
|
||||
"show-package-versions" = {
|
||||
depends = (pkgs.lib).optionals (flags.install-examples) [
|
||||
(hsPkgs."base" or (errorHandler.buildDepError "base"))
|
||||
(hsPkgs."Cabal" or (errorHandler.buildDepError "Cabal"))
|
||||
(hsPkgs."containers" or (errorHandler.buildDepError "containers"))
|
||||
(hsPkgs."hackage-db" or (errorHandler.buildDepError "hackage-db"))
|
||||
];
|
||||
buildable = if flags.install-examples then true else false;
|
||||
hsSourceDirs = [ "example" ];
|
||||
mainPath = [ "show-package-versions.hs" ] ++ [ "" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault .././.source-repository-packages/0; }
|
233
materialized/ghc883/nix-tools/.plan.nix/nix-tools.nix
generated
Normal file
233
materialized/ghc883/nix-tools/.plan.nix/nix-tools.nix
generated
Normal file
@ -0,0 +1,233 @@
|
||||
{ system
|
||||
, compiler
|
||||
, flags
|
||||
, pkgs
|
||||
, hsPkgs
|
||||
, pkgconfPkgs
|
||||
, errorHandler
|
||||
, config
|
||||
, ... }:
|
||||
{
|
||||
flags = {};
|
||||
package = {
|
||||
specVersion = "1.10";
|
||||
identifier = { name = "nix-tools"; version = "0.1.0.0"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "";
|
||||
maintainer = "moritz.angermann@gmail.com";
|
||||
author = "Moritz Angermann";
|
||||
homepage = "";
|
||||
url = "";
|
||||
synopsis = "cabal/stack to nix translation tools";
|
||||
description = "A set of tools to aid in trating stack and cabal projects into nix expressions.";
|
||||
buildType = "Simple";
|
||||
isLocal = true;
|
||||
detailLevel = "FullDetails";
|
||||
licenseFiles = [ "LICENSE" ];
|
||||
dataDir = "";
|
||||
dataFiles = [];
|
||||
extraSrcFiles = [ "ChangeLog.md" ];
|
||||
extraTmpFiles = [];
|
||||
extraDocFiles = [];
|
||||
};
|
||||
components = {
|
||||
"library" = {
|
||||
depends = [
|
||||
(hsPkgs."base" or (errorHandler.buildDepError "base"))
|
||||
(hsPkgs."Cabal" or (errorHandler.buildDepError "Cabal"))
|
||||
(hsPkgs."aeson" or (errorHandler.buildDepError "aeson"))
|
||||
(hsPkgs."aeson-pretty" or (errorHandler.buildDepError "aeson-pretty"))
|
||||
(hsPkgs."base16-bytestring" or (errorHandler.buildDepError "base16-bytestring"))
|
||||
(hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring"))
|
||||
(hsPkgs."cryptohash-sha256" or (errorHandler.buildDepError "cryptohash-sha256"))
|
||||
(hsPkgs."containers" or (errorHandler.buildDepError "containers"))
|
||||
(hsPkgs."data-fix" or (errorHandler.buildDepError "data-fix"))
|
||||
(hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq"))
|
||||
(hsPkgs."directory" or (errorHandler.buildDepError "directory"))
|
||||
(hsPkgs."extra" or (errorHandler.buildDepError "extra"))
|
||||
(hsPkgs."filepath" or (errorHandler.buildDepError "filepath"))
|
||||
(hsPkgs."hnix" or (errorHandler.buildDepError "hnix"))
|
||||
(hsPkgs."hpack" or (errorHandler.buildDepError "hpack"))
|
||||
(hsPkgs."http-client" or (errorHandler.buildDepError "http-client"))
|
||||
(hsPkgs."http-client-tls" or (errorHandler.buildDepError "http-client-tls"))
|
||||
(hsPkgs."http-types" or (errorHandler.buildDepError "http-types"))
|
||||
(hsPkgs."optparse-applicative" or (errorHandler.buildDepError "optparse-applicative"))
|
||||
(hsPkgs."prettyprinter" or (errorHandler.buildDepError "prettyprinter"))
|
||||
(hsPkgs."process" or (errorHandler.buildDepError "process"))
|
||||
(hsPkgs."text" or (errorHandler.buildDepError "text"))
|
||||
(hsPkgs."transformers" or (errorHandler.buildDepError "transformers"))
|
||||
(hsPkgs."unordered-containers" or (errorHandler.buildDepError "unordered-containers"))
|
||||
(hsPkgs."yaml" or (errorHandler.buildDepError "yaml"))
|
||||
];
|
||||
buildable = true;
|
||||
modules = [
|
||||
"Cabal2Nix"
|
||||
"Cabal2Nix/Util"
|
||||
"Cabal2Nix/Plan"
|
||||
"CabalName"
|
||||
"CabalName/CLI"
|
||||
"Distribution/Nixpkgs/Fetch"
|
||||
"StackRepos"
|
||||
"StackRepos/CLI"
|
||||
"Stack2nix"
|
||||
"Stack2nix/Cache"
|
||||
"Stack2nix/CLI"
|
||||
"Stack2nix/External/Resolve"
|
||||
"Stack2nix/Project"
|
||||
"Stack2nix/Stack"
|
||||
];
|
||||
hsSourceDirs = [ "lib" ];
|
||||
};
|
||||
exes = {
|
||||
"cabal-to-nix" = {
|
||||
depends = [
|
||||
(hsPkgs."base" or (errorHandler.buildDepError "base"))
|
||||
(hsPkgs."transformers" or (errorHandler.buildDepError "transformers"))
|
||||
(hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring"))
|
||||
(hsPkgs."hpack" or (errorHandler.buildDepError "hpack"))
|
||||
(hsPkgs."hnix" or (errorHandler.buildDepError "hnix"))
|
||||
(hsPkgs."text" or (errorHandler.buildDepError "text"))
|
||||
(hsPkgs."nix-tools" or (errorHandler.buildDepError "nix-tools"))
|
||||
(hsPkgs."filepath" or (errorHandler.buildDepError "filepath"))
|
||||
(hsPkgs."directory" or (errorHandler.buildDepError "directory"))
|
||||
(hsPkgs."prettyprinter" or (errorHandler.buildDepError "prettyprinter"))
|
||||
];
|
||||
buildable = true;
|
||||
hsSourceDirs = [ "cabal2nix" ];
|
||||
mainPath = [ "Main.hs" ];
|
||||
};
|
||||
"hashes-to-nix" = {
|
||||
depends = [
|
||||
(hsPkgs."base" or (errorHandler.buildDepError "base"))
|
||||
(hsPkgs."hnix" or (errorHandler.buildDepError "hnix"))
|
||||
(hsPkgs."nix-tools" or (errorHandler.buildDepError "nix-tools"))
|
||||
(hsPkgs."data-fix" or (errorHandler.buildDepError "data-fix"))
|
||||
(hsPkgs."aeson" or (errorHandler.buildDepError "aeson"))
|
||||
(hsPkgs."microlens" or (errorHandler.buildDepError "microlens"))
|
||||
(hsPkgs."microlens-aeson" or (errorHandler.buildDepError "microlens-aeson"))
|
||||
(hsPkgs."text" or (errorHandler.buildDepError "text"))
|
||||
(hsPkgs."filepath" or (errorHandler.buildDepError "filepath"))
|
||||
(hsPkgs."directory" or (errorHandler.buildDepError "directory"))
|
||||
];
|
||||
buildable = true;
|
||||
hsSourceDirs = [ "hashes2nix" ];
|
||||
mainPath = [ "Main.hs" ];
|
||||
};
|
||||
"plan-to-nix" = {
|
||||
depends = [
|
||||
(hsPkgs."base" or (errorHandler.buildDepError "base"))
|
||||
(hsPkgs."nix-tools" or (errorHandler.buildDepError "nix-tools"))
|
||||
(hsPkgs."hnix" or (errorHandler.buildDepError "hnix"))
|
||||
(hsPkgs."Cabal" or (errorHandler.buildDepError "Cabal"))
|
||||
(hsPkgs."text" or (errorHandler.buildDepError "text"))
|
||||
(hsPkgs."hpack" or (errorHandler.buildDepError "hpack"))
|
||||
(hsPkgs."unordered-containers" or (errorHandler.buildDepError "unordered-containers"))
|
||||
(hsPkgs."vector" or (errorHandler.buildDepError "vector"))
|
||||
(hsPkgs."aeson" or (errorHandler.buildDepError "aeson"))
|
||||
(hsPkgs."microlens" or (errorHandler.buildDepError "microlens"))
|
||||
(hsPkgs."microlens-aeson" or (errorHandler.buildDepError "microlens-aeson"))
|
||||
(hsPkgs."optparse-applicative" or (errorHandler.buildDepError "optparse-applicative"))
|
||||
(hsPkgs."prettyprinter" or (errorHandler.buildDepError "prettyprinter"))
|
||||
(hsPkgs."filepath" or (errorHandler.buildDepError "filepath"))
|
||||
(hsPkgs."directory" or (errorHandler.buildDepError "directory"))
|
||||
(hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring"))
|
||||
(hsPkgs."transformers" or (errorHandler.buildDepError "transformers"))
|
||||
(hsPkgs."extra" or (errorHandler.buildDepError "extra"))
|
||||
];
|
||||
buildable = true;
|
||||
modules = [
|
||||
"Plan2Nix"
|
||||
"Plan2Nix/Cache"
|
||||
"Plan2Nix/CLI"
|
||||
"Plan2Nix/Project"
|
||||
"Plan2Nix/Plan"
|
||||
];
|
||||
hsSourceDirs = [ "plan2nix" ];
|
||||
mainPath = [ "Main.hs" ];
|
||||
};
|
||||
"hackage-to-nix" = {
|
||||
depends = [
|
||||
(hsPkgs."base" or (errorHandler.buildDepError "base"))
|
||||
(hsPkgs."nix-tools" or (errorHandler.buildDepError "nix-tools"))
|
||||
(hsPkgs."hackage-db" or (errorHandler.buildDepError "hackage-db"))
|
||||
(hsPkgs."hnix" or (errorHandler.buildDepError "hnix"))
|
||||
(hsPkgs."Cabal" or (errorHandler.buildDepError "Cabal"))
|
||||
(hsPkgs."aeson" or (errorHandler.buildDepError "aeson"))
|
||||
(hsPkgs."aeson-pretty" or (errorHandler.buildDepError "aeson-pretty"))
|
||||
(hsPkgs."containers" or (errorHandler.buildDepError "containers"))
|
||||
(hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring"))
|
||||
(hsPkgs."text" or (errorHandler.buildDepError "text"))
|
||||
(hsPkgs."cryptohash-sha256" or (errorHandler.buildDepError "cryptohash-sha256"))
|
||||
(hsPkgs."base16-bytestring" or (errorHandler.buildDepError "base16-bytestring"))
|
||||
(hsPkgs."base64-bytestring" or (errorHandler.buildDepError "base64-bytestring"))
|
||||
(hsPkgs."filepath" or (errorHandler.buildDepError "filepath"))
|
||||
(hsPkgs."directory" or (errorHandler.buildDepError "directory"))
|
||||
(hsPkgs."transformers" or (errorHandler.buildDepError "transformers"))
|
||||
];
|
||||
buildable = true;
|
||||
hsSourceDirs = [ "hackage2nix" ];
|
||||
mainPath = [ "Main.hs" ];
|
||||
};
|
||||
"lts-to-nix" = {
|
||||
depends = [
|
||||
(hsPkgs."base" or (errorHandler.buildDepError "base"))
|
||||
(hsPkgs."nix-tools" or (errorHandler.buildDepError "nix-tools"))
|
||||
(hsPkgs."hnix" or (errorHandler.buildDepError "hnix"))
|
||||
(hsPkgs."yaml" or (errorHandler.buildDepError "yaml"))
|
||||
(hsPkgs."aeson" or (errorHandler.buildDepError "aeson"))
|
||||
(hsPkgs."microlens" or (errorHandler.buildDepError "microlens"))
|
||||
(hsPkgs."microlens-aeson" or (errorHandler.buildDepError "microlens-aeson"))
|
||||
(hsPkgs."text" or (errorHandler.buildDepError "text"))
|
||||
(hsPkgs."filepath" or (errorHandler.buildDepError "filepath"))
|
||||
(hsPkgs."directory" or (errorHandler.buildDepError "directory"))
|
||||
(hsPkgs."unordered-containers" or (errorHandler.buildDepError "unordered-containers"))
|
||||
(hsPkgs."vector" or (errorHandler.buildDepError "vector"))
|
||||
(hsPkgs."Cabal" or (errorHandler.buildDepError "Cabal"))
|
||||
];
|
||||
buildable = true;
|
||||
hsSourceDirs = [ "lts2nix" ];
|
||||
mainPath = [ "Main.hs" ];
|
||||
};
|
||||
"stack-to-nix" = {
|
||||
depends = [
|
||||
(hsPkgs."base" or (errorHandler.buildDepError "base"))
|
||||
(hsPkgs."nix-tools" or (errorHandler.buildDepError "nix-tools"))
|
||||
];
|
||||
buildable = true;
|
||||
hsSourceDirs = [ "stack2nix" ];
|
||||
mainPath = [ "Main.hs" ];
|
||||
};
|
||||
"truncate-index" = {
|
||||
depends = [
|
||||
(hsPkgs."base" or (errorHandler.buildDepError "base"))
|
||||
(hsPkgs."optparse-applicative" or (errorHandler.buildDepError "optparse-applicative"))
|
||||
(hsPkgs."zlib" or (errorHandler.buildDepError "zlib"))
|
||||
(hsPkgs."tar" or (errorHandler.buildDepError "tar"))
|
||||
(hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring"))
|
||||
(hsPkgs."time" or (errorHandler.buildDepError "time"))
|
||||
];
|
||||
buildable = true;
|
||||
hsSourceDirs = [ "truncate-index" ];
|
||||
mainPath = [ "Main.hs" ];
|
||||
};
|
||||
"stack-repos" = {
|
||||
depends = [
|
||||
(hsPkgs."base" or (errorHandler.buildDepError "base"))
|
||||
(hsPkgs."nix-tools" or (errorHandler.buildDepError "nix-tools"))
|
||||
];
|
||||
buildable = true;
|
||||
hsSourceDirs = [ "stack-repos" ];
|
||||
mainPath = [ "Main.hs" ];
|
||||
};
|
||||
"cabal-name" = {
|
||||
depends = [
|
||||
(hsPkgs."base" or (errorHandler.buildDepError "base"))
|
||||
(hsPkgs."nix-tools" or (errorHandler.buildDepError "nix-tools"))
|
||||
];
|
||||
buildable = true;
|
||||
hsSourceDirs = [ "cabal-name" ];
|
||||
mainPath = [ "Main.hs" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
} // rec { src = (pkgs.lib).mkDefault ../.; }
|
@ -22,7 +22,7 @@
|
||||
"exceptions".flags.transformers-0-4 = true;
|
||||
"cryptohash-sha256".revision = (((hackage."cryptohash-sha256")."0.11.101.0").revisions).default;
|
||||
"cryptohash-sha256".flags.exe = false;
|
||||
"binary".revision = (((hackage."binary")."0.8.5.1").revisions).default;
|
||||
"binary".revision = (((hackage."binary")."0.8.7.0").revisions).default;
|
||||
"interpolate".revision = (((hackage."interpolate")."0.2.0").revisions).default;
|
||||
"hnix".revision = (((hackage."hnix")."0.7.1").revisions).default;
|
||||
"hnix".flags.profiling = false;
|
||||
@ -32,7 +32,7 @@
|
||||
"tar".flags.old-bytestring = false;
|
||||
"regex-tdfa".revision = (((hackage."regex-tdfa")."1.3.1.0").revisions).default;
|
||||
"regex-tdfa".flags.force-o2 = false;
|
||||
"ghc-prim".revision = (((hackage."ghc-prim")."0.5.2.0").revisions).default;
|
||||
"ghc-prim".revision = (((hackage."ghc-prim")."0.5.3").revisions).default;
|
||||
"text-metrics".revision = (((hackage."text-metrics")."0.3.0").revisions).default;
|
||||
"text-metrics".flags.dev = false;
|
||||
"utf8-string".revision = (((hackage."utf8-string")."1.0.1.1").revisions).default;
|
||||
@ -41,12 +41,12 @@
|
||||
"bifunctors".flags.tagged = true;
|
||||
"hashing".revision = (((hackage."hashing")."0.1.0.1").revisions).default;
|
||||
"extra".revision = (((hackage."extra")."1.7.1").revisions).default;
|
||||
"haskeline".revision = (((hackage."haskeline")."0.7.4.2").revisions).default;
|
||||
"haskeline".revision = (((hackage."haskeline")."0.7.5.0").revisions).default;
|
||||
"logict".revision = (((hackage."logict")."0.7.0.2").revisions).default;
|
||||
"x509-validation".revision = (((hackage."x509-validation")."1.6.11").revisions).default;
|
||||
"split".revision = (((hackage."split")."0.2.3.4").revisions).default;
|
||||
"data-fix".revision = (((hackage."data-fix")."0.2.1").revisions).default;
|
||||
"stm".revision = (((hackage."stm")."2.4.5.1").revisions).default;
|
||||
"stm".revision = (((hackage."stm")."2.5.0.0").revisions).default;
|
||||
"base-compat-batteries".revision = (((hackage."base-compat-batteries")."0.11.1").revisions).default;
|
||||
"constraints-extras".revision = (((hackage."constraints-extras")."0.3.0.2").revisions).default;
|
||||
"constraints-extras".flags.build-readme = true;
|
||||
@ -81,7 +81,7 @@
|
||||
"adjunctions".revision = (((hackage."adjunctions")."4.4").revisions).default;
|
||||
"cryptohash-md5".revision = (((hackage."cryptohash-md5")."0.11.100.1").revisions).default;
|
||||
"invariant".revision = (((hackage."invariant")."0.5.3").revisions).default;
|
||||
"th-orphans".revision = (((hackage."th-orphans")."0.13.10").revisions).default;
|
||||
"th-orphans".revision = (((hackage."th-orphans")."0.13.9").revisions).default;
|
||||
"pem".revision = (((hackage."pem")."0.2.4").revisions).default;
|
||||
"megaparsec".revision = (((hackage."megaparsec")."8.0.0").revisions).default;
|
||||
"megaparsec".flags.dev = false;
|
||||
@ -98,7 +98,7 @@
|
||||
"monadlist".revision = (((hackage."monadlist")."0.0.2").revisions).default;
|
||||
"half".revision = (((hackage."half")."0.3").revisions).default;
|
||||
"parallel".revision = (((hackage."parallel")."3.2.2.0").revisions).default;
|
||||
"deepseq".revision = (((hackage."deepseq")."1.4.3.0").revisions).default;
|
||||
"deepseq".revision = (((hackage."deepseq")."1.4.4.0").revisions).default;
|
||||
"hnix-store-core".revision = (((hackage."hnix-store-core")."0.2.0.0").revisions).default;
|
||||
"hnix-store-core".flags.bounded_memory = false;
|
||||
"haskell-src-meta".revision = (((hackage."haskell-src-meta")."0.8.5").revisions).default;
|
||||
@ -130,11 +130,11 @@
|
||||
"semigroups".flags.deepseq = true;
|
||||
"semigroups".flags.bytestring-builder = false;
|
||||
"semigroups".flags.template-haskell = true;
|
||||
"parsec".revision = (((hackage."parsec")."3.1.13.0").revisions).default;
|
||||
"parsec".revision = (((hackage."parsec")."3.1.14.0").revisions).default;
|
||||
"th-reify-many".revision = (((hackage."th-reify-many")."0.1.9").revisions).default;
|
||||
"hsc2hs".revision = (((hackage."hsc2hs")."0.68.7").revisions).default;
|
||||
"hsc2hs".flags.in-ghc-tree = false;
|
||||
"directory".revision = (((hackage."directory")."1.3.1.5").revisions).default;
|
||||
"directory".revision = (((hackage."directory")."1.3.6.0").revisions).default;
|
||||
"yaml".revision = (((hackage."yaml")."0.11.3.0").revisions).default;
|
||||
"yaml".flags.no-exe = true;
|
||||
"yaml".flags.no-examples = true;
|
||||
@ -147,7 +147,7 @@
|
||||
"transformers-compat".flags.four = false;
|
||||
"transformers-compat".flags.three = false;
|
||||
"hpack".revision = (((hackage."hpack")."0.33.0").revisions).default;
|
||||
"template-haskell".revision = (((hackage."template-haskell")."2.13.0.0").revisions).default;
|
||||
"template-haskell".revision = (((hackage."template-haskell")."2.15.0.0").revisions).default;
|
||||
"mono-traversable".revision = (((hackage."mono-traversable")."1.0.15.1").revisions).default;
|
||||
"vector".revision = (((hackage."vector")."0.12.1.2").revisions).default;
|
||||
"vector".flags.unsafechecks = false;
|
||||
@ -170,7 +170,7 @@
|
||||
"tagged".flags.deepseq = true;
|
||||
"x509".revision = (((hackage."x509")."1.7.5").revisions).default;
|
||||
"haskell-src-exts".revision = (((hackage."haskell-src-exts")."1.23.0").revisions).default;
|
||||
"lens".revision = (((hackage."lens")."4.19.2").revisions).default;
|
||||
"lens".revision = (((hackage."lens")."4.19.1").revisions).default;
|
||||
"lens".flags.j = false;
|
||||
"lens".flags.test-properties = true;
|
||||
"lens".flags.old-inline-pragmas = false;
|
||||
@ -183,7 +183,7 @@
|
||||
"lens".flags.test-hunit = true;
|
||||
"lens".flags.safe = false;
|
||||
"unliftio-core".revision = (((hackage."unliftio-core")."0.2.0.1").revisions).default;
|
||||
"containers".revision = (((hackage."containers")."0.5.11.0").revisions).default;
|
||||
"containers".revision = (((hackage."containers")."0.6.2.1").revisions).default;
|
||||
"integer-logarithms".revision = (((hackage."integer-logarithms")."1.0.3").revisions).default;
|
||||
"integer-logarithms".flags.check-bounds = false;
|
||||
"integer-logarithms".flags.integer-gmp = true;
|
||||
@ -203,7 +203,7 @@
|
||||
"streaming-commons".flags.use-bytestring-builder = false;
|
||||
"haskell-lexer".revision = (((hackage."haskell-lexer")."1.1").revisions).default;
|
||||
"lens-family".revision = (((hackage."lens-family")."2.1.0").revisions).default;
|
||||
"bytestring".revision = (((hackage."bytestring")."0.10.8.2").revisions).default;
|
||||
"bytestring".revision = (((hackage."bytestring")."0.10.10.0").revisions).default;
|
||||
"ansi-wl-pprint".revision = (((hackage."ansi-wl-pprint")."0.6.9").revisions).default;
|
||||
"ansi-wl-pprint".flags.example = false;
|
||||
"basement".revision = (((hackage."basement")."0.0.11").revisions).default;
|
||||
@ -225,23 +225,23 @@
|
||||
"deriving-compat".flags.base-4-9 = true;
|
||||
"deriving-compat".flags.template-haskell-2-11 = true;
|
||||
"deriving-compat".flags.new-functor-classes = true;
|
||||
"text".revision = (((hackage."text")."1.2.3.1").revisions).default;
|
||||
"text".revision = (((hackage."text")."1.2.4.0").revisions).default;
|
||||
"Cabal".revision = (((hackage."Cabal")."3.2.0.0").revisions).default;
|
||||
"Cabal".flags.bundled-binary-generic = false;
|
||||
"assoc".revision = (((hackage."assoc")."1.0.1").revisions).default;
|
||||
"unordered-containers".revision = (((hackage."unordered-containers")."0.2.10.0").revisions).default;
|
||||
"unordered-containers".flags.debug = false;
|
||||
"base64-bytestring".revision = (((hackage."base64-bytestring")."1.1.0.0").revisions).default;
|
||||
"base64-bytestring".revision = (((hackage."base64-bytestring")."1.0.0.3").revisions).default;
|
||||
"aeson-pretty".revision = (((hackage."aeson-pretty")."0.8.8").revisions).default;
|
||||
"aeson-pretty".flags.lib-only = false;
|
||||
"base".revision = (((hackage."base")."4.11.1.0").revisions).default;
|
||||
"base".revision = (((hackage."base")."4.13.0.0").revisions).default;
|
||||
"comonad".revision = (((hackage."comonad")."5.0.6").revisions).default;
|
||||
"comonad".flags.distributive = true;
|
||||
"comonad".flags.test-doctests = true;
|
||||
"comonad".flags.containers = true;
|
||||
"time".revision = (((hackage."time")."1.8.0.2").revisions).default;
|
||||
"time".revision = (((hackage."time")."1.9.3").revisions).default;
|
||||
"data-default-class".revision = (((hackage."data-default-class")."0.1.2.0").revisions).default;
|
||||
"terminfo".revision = (((hackage."terminfo")."0.4.1.1").revisions).default;
|
||||
"terminfo".revision = (((hackage."terminfo")."0.4.1.4").revisions).default;
|
||||
"base16-bytestring".revision = (((hackage."base16-bytestring")."0.1.1.6").revisions).default;
|
||||
"vector-algorithms".revision = (((hackage."vector-algorithms")."0.8.0.3").revisions).default;
|
||||
"vector-algorithms".flags.unsafechecks = false;
|
||||
@ -254,7 +254,7 @@
|
||||
"prettyprinter".flags.buildreadme = false;
|
||||
"cryptohash-sha512".revision = (((hackage."cryptohash-sha512")."0.11.100.1").revisions).default;
|
||||
"pretty-show".revision = (((hackage."pretty-show")."1.9.5").revisions).default;
|
||||
"transformers".revision = (((hackage."transformers")."0.5.5.0").revisions).default;
|
||||
"transformers".revision = (((hackage."transformers")."0.5.6.2").revisions).default;
|
||||
"hashable".revision = (((hackage."hashable")."1.3.0.0").revisions).default;
|
||||
"hashable".flags.sse2 = true;
|
||||
"hashable".flags.integer-gmp = true;
|
||||
@ -268,12 +268,12 @@
|
||||
"transformers-base".flags.orphaninstances = true;
|
||||
"happy".revision = (((hackage."happy")."1.19.12").revisions).default;
|
||||
"happy".flags.small_base = true;
|
||||
"filepath".revision = (((hackage."filepath")."1.4.2").revisions).default;
|
||||
"filepath".revision = (((hackage."filepath")."1.4.2.1").revisions).default;
|
||||
"asn1-types".revision = (((hackage."asn1-types")."0.3.4").revisions).default;
|
||||
"cborg".revision = (((hackage."cborg")."0.2.2.1").revisions).default;
|
||||
"cborg".flags.optimize-gmp = true;
|
||||
"monad-control".revision = (((hackage."monad-control")."1.0.2.3").revisions).default;
|
||||
"process".revision = (((hackage."process")."1.6.3.0").revisions).default;
|
||||
"process".revision = (((hackage."process")."1.6.8.0").revisions).default;
|
||||
"tls".revision = (((hackage."tls")."1.5.4").revisions).default;
|
||||
"tls".flags.compat = true;
|
||||
"tls".flags.network = true;
|
||||
@ -283,7 +283,7 @@
|
||||
"libyaml".revision = (((hackage."libyaml")."0.1.2").revisions).default;
|
||||
"libyaml".flags.system-libyaml = false;
|
||||
"libyaml".flags.no-unicode = false;
|
||||
"resourcet".revision = (((hackage."resourcet")."1.2.4").revisions).default;
|
||||
"resourcet".revision = (((hackage."resourcet")."1.2.3").revisions).default;
|
||||
"pretty".revision = (((hackage."pretty")."1.1.3.6").revisions).default;
|
||||
"cabal-doctest".revision = (((hackage."cabal-doctest")."1.0.8").revisions).default;
|
||||
"Glob".revision = (((hackage."Glob")."0.10.0").revisions).default;
|
||||
@ -294,8 +294,8 @@
|
||||
"aeson".flags.bytestring-builder = false;
|
||||
"aeson".flags.developer = false;
|
||||
"http-types".revision = (((hackage."http-types")."0.12.3").revisions).default;
|
||||
"ghc-boot-th".revision = (((hackage."ghc-boot-th")."8.4.4").revisions).default;
|
||||
"th-lift-instances".revision = (((hackage."th-lift-instances")."0.1.16").revisions).default;
|
||||
"ghc-boot-th".revision = (((hackage."ghc-boot-th")."8.8.3").revisions).default;
|
||||
"th-lift-instances".revision = (((hackage."th-lift-instances")."0.1.15").revisions).default;
|
||||
"base-orphans".revision = (((hackage."base-orphans")."0.8.2").revisions).default;
|
||||
"th-abstraction".revision = (((hackage."th-abstraction")."0.3.2.0").revisions).default;
|
||||
"memory".revision = (((hackage."memory")."0.15.0").revisions).default;
|
||||
@ -303,40 +303,39 @@
|
||||
"memory".flags.support_basement = true;
|
||||
"memory".flags.support_foundation = true;
|
||||
"memory".flags.support_deepseq = true;
|
||||
"array".revision = (((hackage."array")."0.5.2.0").revisions).default;
|
||||
"array".revision = (((hackage."array")."0.5.4.0").revisions).default;
|
||||
"repline".revision = (((hackage."repline")."0.2.2.0").revisions).default;
|
||||
"xml".revision = (((hackage."xml")."1.3.14").revisions).default;
|
||||
"lens-family-core".revision = (((hackage."lens-family-core")."2.1.0").revisions).default;
|
||||
"integer-gmp".revision = (((hackage."integer-gmp")."1.0.2.0").revisions).default;
|
||||
};
|
||||
compiler = {
|
||||
version = "8.4.4";
|
||||
nix-name = "ghc844";
|
||||
version = "8.8.3";
|
||||
nix-name = "ghc883";
|
||||
packages = {
|
||||
"binary" = "0.8.5.1";
|
||||
"ghc-prim" = "0.5.2.0";
|
||||
"haskeline" = "0.7.4.2";
|
||||
"stm" = "2.4.5.1";
|
||||
"binary" = "0.8.7.0";
|
||||
"ghc-prim" = "0.5.3";
|
||||
"haskeline" = "0.7.5.0";
|
||||
"stm" = "2.5.0.0";
|
||||
"unix" = "2.7.2.2";
|
||||
"mtl" = "2.2.2";
|
||||
"rts" = "1.0";
|
||||
"deepseq" = "1.4.3.0";
|
||||
"parsec" = "3.1.13.0";
|
||||
"directory" = "1.3.1.5";
|
||||
"template-haskell" = "2.13.0.0";
|
||||
"containers" = "0.5.11.0";
|
||||
"bytestring" = "0.10.8.2";
|
||||
"text" = "1.2.3.1";
|
||||
"Cabal" = "2.2.0.1";
|
||||
"base" = "4.11.1.0";
|
||||
"time" = "1.8.0.2";
|
||||
"terminfo" = "0.4.1.1";
|
||||
"transformers" = "0.5.5.0";
|
||||
"filepath" = "1.4.2";
|
||||
"process" = "1.6.3.0";
|
||||
"deepseq" = "1.4.4.0";
|
||||
"parsec" = "3.1.14.0";
|
||||
"directory" = "1.3.6.0";
|
||||
"template-haskell" = "2.15.0.0";
|
||||
"containers" = "0.6.2.1";
|
||||
"bytestring" = "0.10.10.0";
|
||||
"text" = "1.2.4.0";
|
||||
"base" = "4.13.0.0";
|
||||
"time" = "1.9.3";
|
||||
"terminfo" = "0.4.1.4";
|
||||
"transformers" = "0.5.6.2";
|
||||
"filepath" = "1.4.2.1";
|
||||
"process" = "1.6.8.0";
|
||||
"pretty" = "1.1.3.6";
|
||||
"ghc-boot-th" = "8.4.4";
|
||||
"array" = "0.5.2.0";
|
||||
"ghc-boot-th" = "8.8.3";
|
||||
"array" = "0.5.4.0";
|
||||
"integer-gmp" = "1.0.2.0";
|
||||
};
|
||||
};
|
@ -17,7 +17,7 @@
|
||||
pkgs:
|
||||
{ name, index }:
|
||||
|
||||
pkgs.runCommand "hackage-repo-${name}" { nativeBuildInputs = [ pkgs.buildPackages.nix ]; } ''
|
||||
pkgs.evalPackages.runCommand "hackage-repo-${name}" { nativeBuildInputs = [ pkgs.evalPackages.nix ]; } ''
|
||||
mkdir -p $out
|
||||
export expires="4000-01-01T00:00:00Z"
|
||||
|
||||
|
98
nix-tools/.plan.nix/haskell-src-meta.nix
generated
98
nix-tools/.plan.nix/haskell-src-meta.nix
generated
@ -1,98 +0,0 @@
|
||||
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.8";
|
||||
identifier = { name = "haskell-src-meta"; version = "0.8.0.5"; };
|
||||
license = "BSD-3-Clause";
|
||||
copyright = "(c) Matt Morrow";
|
||||
maintainer = "Ben Millwood <haskell@benmachine.co.uk>";
|
||||
author = "Matt Morrow";
|
||||
homepage = "";
|
||||
url = "";
|
||||
synopsis = "Parse source to template-haskell abstract syntax.";
|
||||
description = "The translation from haskell-src-exts abstract syntax\nto template-haskell abstract syntax isn't 100% complete yet.";
|
||||
buildType = "Simple";
|
||||
isLocal = true;
|
||||
};
|
||||
components = {
|
||||
"library" = {
|
||||
depends = [
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."haskell-src-exts" or (buildDepError "haskell-src-exts"))
|
||||
(hsPkgs."pretty" or (buildDepError "pretty"))
|
||||
(hsPkgs."syb" or (buildDepError "syb"))
|
||||
(hsPkgs."template-haskell" or (buildDepError "template-haskell"))
|
||||
(hsPkgs."th-orphans" or (buildDepError "th-orphans"))
|
||||
] ++ (pkgs.lib).optional (compiler.isGhc && (compiler.version).lt "7.8") (hsPkgs."safe" or (buildDepError "safe"));
|
||||
buildable = true;
|
||||
};
|
||||
tests = {
|
||||
"unit" = {
|
||||
depends = [
|
||||
(hsPkgs."HUnit" or (buildDepError "HUnit"))
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."haskell-src-exts" or (buildDepError "haskell-src-exts"))
|
||||
(hsPkgs."haskell-src-meta" or (buildDepError "haskell-src-meta"))
|
||||
(hsPkgs."pretty" or (buildDepError "pretty"))
|
||||
(hsPkgs."template-haskell" or (buildDepError "template-haskell"))
|
||||
(hsPkgs."test-framework" or (buildDepError "test-framework"))
|
||||
(hsPkgs."test-framework-hunit" or (buildDepError "test-framework-hunit"))
|
||||
];
|
||||
buildable = true;
|
||||
};
|
||||
"splices" = {
|
||||
depends = [
|
||||
(hsPkgs."base" or (buildDepError "base"))
|
||||
(hsPkgs."haskell-src-meta" or (buildDepError "haskell-src-meta"))
|
||||
];
|
||||
buildable = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
} // {
|
||||
src = (pkgs.lib).mkDefault (pkgs.fetchgit {
|
||||
url = "https://github.com/galenhuntington/haskell-src-meta.git";
|
||||
rev = "109ee29d5fd0f4e23fdd2f80eb122d66341b64a9";
|
||||
sha256 = "08qw6y9br6fy3qkwl9v2kp38msprsq9v1ssym0fsnj2jm0vbnfrx";
|
||||
});
|
||||
}
|
@ -1,70 +0,0 @@
|
||||
{ pkgs, lib, symlinkJoin, makeWrapper
|
||||
, hpack, git, nix, nix-prefetch-git
|
||||
, fetchExternal, cleanSourceHaskell, mkCabalProjectPkgSet
|
||||
, ... }@args:
|
||||
|
||||
let
|
||||
src = cleanSourceHaskell {
|
||||
src = fetchExternal {
|
||||
name = "nix-tools-src";
|
||||
specJSON = ./nix-tools-src.json;
|
||||
override = "nix-tools-src";
|
||||
};
|
||||
};
|
||||
|
||||
pkgSet = mkCabalProjectPkgSet {
|
||||
plan-pkgs = if args ? ghc
|
||||
then import (./pkgs + "-${args.ghc.version}.nix")
|
||||
else import ./pkgs.nix;
|
||||
modules = [
|
||||
{
|
||||
packages.transformers-compat.components.library.doExactConfig = true;
|
||||
packages.time-compat.components.library.doExactConfig = true;
|
||||
packages.time-locale-compat.components.library.doExactConfig = true;
|
||||
}
|
||||
|
||||
{
|
||||
packages.nix-tools.src = src;
|
||||
}
|
||||
|
||||
# This is needed for ghc 8.4.4 to make sure a new version of Cabal
|
||||
# is used to build setup for happy. The one that comes with ghc 8.4.4
|
||||
# does not work for newer versions of happy and haskell.nix)
|
||||
({config, ...}: {
|
||||
packages.happy.package.buildType = lib.mkForce "Custom";
|
||||
packages.happy.package.setup-depends = [ config.hsPkgs.Cabal ];
|
||||
})
|
||||
|
||||
{
|
||||
# Make Cabal reinstallable
|
||||
nonReinstallablePkgs =
|
||||
[ "rts" "ghc-heap" "ghc-prim" "integer-gmp" "integer-simple" "base"
|
||||
"deepseq" "array" "ghc-boot-th" "pretty" "template-haskell"
|
||||
"ghc-boot"
|
||||
"ghc" "Win32" "array" "binary" "bytestring" "containers"
|
||||
"directory" "filepath" "ghc-boot" "ghc-compact" "ghc-prim"
|
||||
"hpc"
|
||||
"mtl" "parsec" "process" "text" "time" "transformers"
|
||||
"unix" "xhtml"
|
||||
];
|
||||
}
|
||||
] ++ pkgs.lib.optional (args ? ghc) { ghc.package = args.ghc; };
|
||||
};
|
||||
|
||||
hsPkgs = pkgSet.config.hsPkgs;
|
||||
|
||||
tools = [ hpack git nix nix-prefetch-git ];
|
||||
in
|
||||
symlinkJoin {
|
||||
name = "nix-tools";
|
||||
paths = builtins.attrValues hsPkgs.nix-tools.components.exes;
|
||||
buildInputs = [ makeWrapper ];
|
||||
meta.platforms = lib.platforms.all;
|
||||
# We wrap the -to-nix executables with the executables from `tools` (e.g. nix-prefetch-git)
|
||||
# so that consumers of `nix-tools` won't have to provide those tools.
|
||||
postBuild = ''
|
||||
for prog in stack-to-nix cabal-to-nix plan-to-nix; do
|
||||
wrapProgram "$out/bin/$prog" --prefix PATH : "${lib.makeBinPath tools}"
|
||||
done
|
||||
'';
|
||||
}
|
@ -1,6 +1,21 @@
|
||||
#
|
||||
# Update script to update nix-tools.
|
||||
#
|
||||
# This scipt might still come in handy, but it should now be possible to update
|
||||
# the nix-tools materialization without it.
|
||||
#
|
||||
# Without this script:
|
||||
# 1. run `nix-prefetch-git https://github.com/input-output-hk/nix-tools > nix-tools-src-new.json`
|
||||
# 2. run `nix-build -E '(import ./. { checkMaterialization = true; }).pkgs.haskell-nix.nix-tools'`
|
||||
# 3. If it fails apply the fixes from the log (there should be rm, cp and chmod commands)
|
||||
#
|
||||
# To bootstap materialization files for a new compiler (e.g. for ghc 8.8.3)
|
||||
#
|
||||
# nix-build -E 'let h = (import ./. {}).pkgs.haskell-nix; in h.cabal-install-tool { compiler-nix-name = "ghc883"; checkMaterialization = true; inherit (h) cabal-install nix-tools; }'
|
||||
# nix-build -E 'let h = (import ./. {}).pkgs.haskell-nix; in h.nix-tools-set { compiler-nix-name = "ghc883"; checkMaterialization = true; inherit (h) cabal-install nix-tools; }'
|
||||
# nix-build -E 'let h = (import ./. {}).pkgs.haskell-nix; in h.alex-tool { compiler-nix-name = "ghc883"; checkMaterialization = true; inherit (h) cabal-install nix-tools; }'
|
||||
# nix-build -E 'let h = (import ./. {}).pkgs.haskell-nix; in h.happy-tool { compiler-nix-name = "ghc883"; checkMaterialization = true; inherit (h) cabal-install nix-tools; }'
|
||||
#
|
||||
# Using the script:
|
||||
# 1. run `nix-prefetch-git https://github.com/input-output-hk/nix-tools > nix-tools-src-new.json`
|
||||
# 2. run `nix-build regenerate.nix --show-trace --arg specJSON ./nix-tools-src-new.json`
|
||||
# 3. run `./result/bin/update-nix-tools` and follow the instructions.
|
||||
@ -53,18 +68,8 @@ writeShellScriptBin "update-nix-tools" ''
|
||||
cp ${src}/cabal.project .
|
||||
cp ${specJSON} ./nix-tools-src.json
|
||||
|
||||
# Build for ghc-8.4.4
|
||||
echo "--> Updating cabal index..."
|
||||
cabal v2-update -v0
|
||||
echo "--> Configuring nix-tools for ${haskell-nix.bootstrap.compiler.ghc844.name}..."
|
||||
cabal v2-configure -w ${getBin haskell-nix.bootstrap.compiler.ghc844}/bin/ghc -v0
|
||||
echo "--> Running plan-to-nix for ${haskell-nix.bootstrap.compiler.ghc844.name}..."
|
||||
plan-to-nix -o . --plan-json=$(find . -name "plan.json")
|
||||
|
||||
rm cabal.project.local
|
||||
rm -fR dist-newstyle
|
||||
|
||||
mv pkgs.nix pkgs-8.4.4.nix
|
||||
|
||||
# build for the current ghc in haskell.nix
|
||||
echo "--> Configuring nix-tools for ${haskell-nix.ghc.name}..."
|
||||
@ -77,14 +82,14 @@ writeShellScriptBin "update-nix-tools" ''
|
||||
|
||||
# we don't want the default.nix that plan-to-nix generates to
|
||||
# update the custom one in nix-tools
|
||||
rm default.nix
|
||||
mv pkgs.nix default.nix
|
||||
|
||||
rm -f nix-tools.cabal
|
||||
echo "--> Done."
|
||||
echo "******"
|
||||
echo "*** please copy $TMP/ into haskell.nix/nix-tools"
|
||||
echo "*** please copy $TMP/ into haskell.nix/materialized/GHCVER/nix-tools"
|
||||
echo "***"
|
||||
echo "*** cp -fr "$TMP/" ."
|
||||
echo "*** cp -fr "$TMP/" ../materialized/GHCVER/nix-tools/"
|
||||
echo "***"
|
||||
echo "******"
|
||||
''
|
||||
|
@ -34,7 +34,15 @@ in {
|
||||
compiler =
|
||||
let bootPkgs = with final.buildPackages; {
|
||||
ghc = buildPackages.haskell-nix.bootstrap.compiler.ghc844;
|
||||
inherit (final.haskell-nix.bootstrap.packages) alex happy hscolour;
|
||||
alex = final.haskell-nix.bootstrap.packages.alex-tool {
|
||||
checkMaterialization = false;
|
||||
};
|
||||
happy = final.haskell-nix.bootstrap.packages.happy-tool {
|
||||
checkMaterialization = false;
|
||||
};
|
||||
hscolour = final.haskell-nix.bootstrap.packages.hscolour-tool {
|
||||
checkMaterialization = false;
|
||||
};
|
||||
};
|
||||
sphinx = with final.buildPackages; (python3Packages.sphinx_1_7_9 or python3Packages.sphinx);
|
||||
hsc2hs-align-conditionals-patch = final.fetchpatch {
|
||||
@ -312,8 +320,97 @@ in {
|
||||
'' + installDeps targetPrefix);
|
||||
})));
|
||||
|
||||
ghc = final.haskell-nix.compiler.ghc865;
|
||||
inherit (final.buildPackages.haskell-nix.bootstrap.packages) cabal-install alex happy;
|
||||
defaultCompilerNixName = "ghc865";
|
||||
ghc = final.haskell-nix.compiler."${final.haskell-nix.defaultCompilerNixName}";
|
||||
# Both `cabal-install` and `nix-tools` are needed for `cabalProject`
|
||||
# to check materialized results. We need to take care that when
|
||||
# it is doing this we do not check the materialization of the
|
||||
# tools used or there will be infinite recursion.
|
||||
# always has `checkMaterialization = false` to avoid infinite
|
||||
# recursion.
|
||||
cabal-install-tool = args: final.haskell-nix.tool "cabal" ({
|
||||
version = "3.2.0.0";
|
||||
index-state = final.haskell-nix.internalHackageIndexState;
|
||||
# When building cabal-install (only happens when checking materialization)
|
||||
# disable checking of the tools used to avoid infinite recursion.
|
||||
cabal-install = final.evalPackages.haskell-nix.cabal-install-tool
|
||||
(args // { checkMaterialization = false; });
|
||||
nix-tools = final.evalPackages.haskell-nix.nix-tools-set
|
||||
(args // { checkMaterialization = false; });
|
||||
materialized = ../materialized + "/${
|
||||
args.compiler-nix-name or final.haskell-nix.defaultCompilerNixName
|
||||
}/cabal-install";
|
||||
} // args);
|
||||
cabal-install = final.buildPackages.haskell-nix.cabal-install-tool {};
|
||||
nix-tools-set = args:
|
||||
let
|
||||
exes =
|
||||
(final.haskell-nix.cabalProject ({
|
||||
name = "nix-tools";
|
||||
src = final.haskell-nix.fetchExternal {
|
||||
name = "nix-tools-src";
|
||||
specJSON = ../nix-tools/nix-tools-src.json;
|
||||
override = "nix-tools-src";
|
||||
};
|
||||
index-state = final.haskell-nix.internalHackageIndexState;
|
||||
# When building cabal-install (only happens when checking materialization)
|
||||
# disable checking of the tools used to avoid infinite recursion.
|
||||
cabal-install = final.evalPackages.haskell-nix.cabal-install-tool
|
||||
(args // { checkMaterialization = false; });
|
||||
nix-tools = final.evalPackages.haskell-nix.nix-tools-set
|
||||
(args // { checkMaterialization = false; });
|
||||
materialized = ../materialized + "/${
|
||||
args.compiler-nix-name or final.haskell-nix.defaultCompilerNixName
|
||||
}/nix-tools";
|
||||
modules = [{
|
||||
packages.transformers-compat.components.library.doExactConfig = true;
|
||||
packages.time-compat.components.library.doExactConfig = true;
|
||||
packages.time-locale-compat.components.library.doExactConfig = true;
|
||||
# Make Cabal reinstallable
|
||||
nonReinstallablePkgs =
|
||||
[ "rts" "ghc-heap" "ghc-prim" "integer-gmp" "integer-simple" "base"
|
||||
"deepseq" "array" "ghc-boot-th" "pretty" "template-haskell"
|
||||
"ghc-boot"
|
||||
"ghc" "Win32" "array" "binary" "bytestring" "containers"
|
||||
"directory" "filepath" "ghc-boot" "ghc-compact" "ghc-prim"
|
||||
"hpc"
|
||||
"mtl" "parsec" "process" "text" "time" "transformers"
|
||||
"unix" "xhtml"
|
||||
];
|
||||
}];
|
||||
} // args)).nix-tools.components.exes;
|
||||
tools = [ final.git final.buildPackages.nix final.buildPackages.nix-prefetch-git ];
|
||||
in
|
||||
final.symlinkJoin {
|
||||
name = "nix-tools";
|
||||
paths = builtins.attrValues exes;
|
||||
buildInputs = [ final.makeWrapper ];
|
||||
meta.platforms = final.lib.platforms.all;
|
||||
# We wrap the -to-nix executables with the executables from `tools` (e.g. nix-prefetch-git)
|
||||
# so that consumers of `nix-tools` won't have to provide those tools.
|
||||
postBuild = ''
|
||||
for prog in stack-to-nix cabal-to-nix plan-to-nix; do
|
||||
wrapProgram "$out/bin/$prog" --prefix PATH : "${final.lib.makeBinPath tools}"
|
||||
done
|
||||
'';
|
||||
};
|
||||
nix-tools = final.buildPackages.haskell-nix.nix-tools-set {};
|
||||
alex-tool = args: final.haskell-nix.tool "alex" ({
|
||||
version = "3.2.5";
|
||||
index-state = final.haskell-nix.internalHackageIndexState;
|
||||
materialized = ../materialized + "/${
|
||||
args.compiler-nix-name or final.haskell-nix.defaultCompilerNixName
|
||||
}/alex";
|
||||
} // args);
|
||||
alex = final.buildPackages.haskell-nix.alex-tool {};
|
||||
happy-tool = args: final.haskell-nix.tool "happy" ({
|
||||
version = "1.19.12";
|
||||
index-state = final.haskell-nix.internalHackageIndexState;
|
||||
materialized = ../materialized + "/${
|
||||
args.compiler-nix-name or final.haskell-nix.defaultCompilerNixName
|
||||
}/happy";
|
||||
} // args);
|
||||
happy = final.buildPackages.haskell-nix.happy-tool {};
|
||||
|
||||
# WARN: The `import ../. {}` will prevent
|
||||
# any cross to work, as we will loose
|
||||
@ -358,57 +455,41 @@ in {
|
||||
(import ../compiler/old-ghc-nix { pkgs = final; });
|
||||
|
||||
packages = {
|
||||
# cabal has it's own bootstrap script which we'll use.
|
||||
cabal-install = import ../compiler/bootstrap/cabal-install.nix {
|
||||
inherit (final) fetchurl stdenv zlib;
|
||||
inherit hackage ghc;
|
||||
src = final.fetchurl {
|
||||
url = "https://github.com/haskell/cabal/archive/Cabal-v3.0.0.0-rc3.tar.gz";
|
||||
sha256 = "1zl2mgg8307ykq3v8nmafc6zdhhj1cw7w8ffpap16dsm65lbnx33";
|
||||
};
|
||||
version = "3.0.0.0";
|
||||
};
|
||||
|
||||
# disable hpack support during bootstrap
|
||||
hpack = null;
|
||||
nix-tools = nix-tools.override {
|
||||
# Only a boot compiler is suitable here
|
||||
ghc = ghc // { isHaskellNixCompiler = ghc.isHaskellNixBootCompiler; };
|
||||
inherit (bootstrap.packages) hpack;
|
||||
};
|
||||
|
||||
# now that we have nix-tools and hpack, we can just
|
||||
# use `hackage-package` to build any package from
|
||||
# hackage with haskell.nix. For alex and happy we
|
||||
# need to use the boot strap compiler as we need them
|
||||
# to build ghcs from source.
|
||||
alex-project = hackage-project {
|
||||
# guardMaterializationChecks is used here so we
|
||||
# can turn off materialization checks when
|
||||
# building ghc itself (since GHC is a dependency
|
||||
# of the materialization check it would cause
|
||||
# infinite recusion).
|
||||
alex-tool = args: tool "alex" ({
|
||||
version = "3.2.4";
|
||||
# Only a boot compiler is suitable here
|
||||
ghcOverride = ghc // { isHaskellNixCompiler = ghc.isHaskellNixBootCompiler; };
|
||||
inherit (bootstrap.packages) cabal-install nix-tools hpack;
|
||||
name = "alex"; version = "3.2.4";
|
||||
index-state = final.haskell-nix.internalHackageIndexState;
|
||||
materialized = ../materialized/alex;
|
||||
};
|
||||
alex = bootstrap.packages.alex-project.hsPkgs.alex.components.exes.alex;
|
||||
happy-project = hackage-project {
|
||||
materialized = ../materialized/bootstrap/alex;
|
||||
} // args);
|
||||
alex = bootstrap.packages.alex-tool {};
|
||||
happy-tool = args: tool "happy" ({
|
||||
version = "1.19.11";
|
||||
# Only a boot compiler is suitable here
|
||||
ghcOverride = ghc // { isHaskellNixCompiler = ghc.isHaskellNixBootCompiler; };
|
||||
inherit (bootstrap.packages) cabal-install nix-tools hpack;
|
||||
name = "happy"; version = "1.19.11";
|
||||
index-state = final.haskell-nix.internalHackageIndexState;
|
||||
materialized = ../materialized/happy;
|
||||
};
|
||||
happy = bootstrap.packages.happy-project.hsPkgs.happy.components.exes.happy;
|
||||
hscolour-project = hackage-project {
|
||||
materialized = ../materialized/bootstrap/happy;
|
||||
} // args);
|
||||
happy = bootstrap.packages.happy-tool {};
|
||||
hscolour-tool = args: (hackage-package ({
|
||||
name = "hscolour";
|
||||
version = "1.24.4";
|
||||
# Only a boot compiler is suitable here
|
||||
ghcOverride = ghc // { isHaskellNixCompiler = ghc.isHaskellNixBootCompiler; };
|
||||
inherit (bootstrap.packages) cabal-install nix-tools hpack;
|
||||
name = "hscolour"; version = "1.24.4";
|
||||
index-state = final.haskell-nix.internalHackageIndexState;
|
||||
materialized = ../materialized/hscolour;
|
||||
};
|
||||
hscolour = bootstrap.packages.hscolour-project.hsPkgs.hscolour.components.exes.HsColour;
|
||||
materialized = ../materialized/bootstrap/hscolour;
|
||||
} // args)).components.exes.HsColour;
|
||||
hscolour = bootstrap.packages.hscolour-tool {};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -13,6 +13,8 @@ let
|
||||
musl = import ./musl.nix;
|
||||
tools = import ./tools.nix;
|
||||
emscripten = import ./emscripten.nix;
|
||||
eval-on-current = import ./eval-on-current.nix;
|
||||
eval-on-build = import ./eval-on-build.nix;
|
||||
};
|
||||
|
||||
composeExtensions = f: g: final: prev:
|
||||
@ -43,5 +45,8 @@ let
|
||||
# Restore nixpkgs haskell and haskellPackages
|
||||
(_: prev: { inherit (prev.haskell-nix-prev) haskell haskellPackages; })
|
||||
];
|
||||
combined = builtins.foldl' composeExtensions (_: _: { }) ordered;
|
||||
combined = builtins.foldl' composeExtensions (_: _: { })
|
||||
(ordered ++ [overlays.eval-on-current]);
|
||||
combined-eval-on-build = builtins.foldl' composeExtensions (_: _: { })
|
||||
(ordered ++ [overlays.eval-on-build]);
|
||||
in overlays // { inherit combined; }
|
||||
|
6
overlays/eval-on-build.nix
Normal file
6
overlays/eval-on-build.nix
Normal file
@ -0,0 +1,6 @@
|
||||
final: prev: {
|
||||
# This overlay sets `evalPackages` as just `buildPackages`
|
||||
# See `eval-on-current.nix` for alternative that uses
|
||||
# `builtins.currentSystem`.
|
||||
evalPackages = final.buildPackages;
|
||||
}
|
8
overlays/eval-on-current.nix
Normal file
8
overlays/eval-on-current.nix
Normal file
@ -0,0 +1,8 @@
|
||||
final: prev: {
|
||||
# This overlay makes `evalPackages` is like `buildPackages`, but on
|
||||
# `builtins.currentSystem`.
|
||||
# See `eval-on-build.nix` for alternative that just uses `buildPackages`.
|
||||
evalPackages = (import final.path (import ../. {
|
||||
inherit (final.haskell-nix) defaultCompilerNixName;
|
||||
}).nixpkgsArgs).buildPackages;
|
||||
}
|
@ -1,24 +1,14 @@
|
||||
final: prev:
|
||||
let
|
||||
emptyDotCabal = final.runCommand "empty-dot-cabal" {} ''
|
||||
mkdir -p $out/.cabal
|
||||
cat <<EOF > $out/.cabal/config
|
||||
EOF
|
||||
'';
|
||||
callCabalSdist = name: src: final.runCommand "${name}-sdist.tar.gz" {
|
||||
nativeBuildInputs = [ final.haskell-nix.cabal-install ];
|
||||
} ''
|
||||
tmp=$(mktemp -d)
|
||||
cp -r ${src}/* $tmp
|
||||
cd $tmp
|
||||
tmp2=$(mktemp -d)
|
||||
HOME=${emptyDotCabal} cabal new-sdist -o $tmp2
|
||||
cp $tmp2/*.tar.gz $out
|
||||
'';
|
||||
callCabal2Nix = name: src: final.stdenv.mkDerivation {
|
||||
name = "${name}-package.nix";
|
||||
inherit src;
|
||||
nativeBuildInputs = [ final.haskell-nix.nix-tools ];
|
||||
nativeBuildInputs = [ (final.buildPackages.haskell-nix.nix-tools-set {
|
||||
# It is not safe to checkk the nix-tools materialization here
|
||||
# as we would need to run this code to do so leading to
|
||||
# infinite recursion.
|
||||
checkMaterialization = false;
|
||||
}) ];
|
||||
phases = [ "unpackPhase" "buildPhase" ];
|
||||
|
||||
LOCALE_ARCHIVE = final.lib.optionalString (final.stdenv.hostPlatform.libc == "glibc") "${final.glibcLocales}/lib/locale/locale-archive";
|
||||
@ -38,17 +28,6 @@ let
|
||||
inherit path;
|
||||
}) files);
|
||||
|
||||
# Calculate the `cabal sdist` of a single boot package as well as
|
||||
# the output of cabal-to-nix.
|
||||
cabalToSdistAndNix = ghcName: pkgName: src:
|
||||
# build the source dist
|
||||
let sdist = callCabalSdist "${ghcName}-${pkgName}" src;
|
||||
# and generate the nix expression corresponding to the source dist
|
||||
in {
|
||||
inherit sdist;
|
||||
nix = callCabal2Nix "${ghcName}-${pkgName}" sdist;
|
||||
};
|
||||
|
||||
# Combine the all the boot package nix files for a given ghc
|
||||
# into a single derivation and materialize it.
|
||||
combineAndMaterialize = ghcName: bootPackages:
|
||||
@ -65,11 +44,11 @@ let
|
||||
then materializedPath
|
||||
else null;
|
||||
}) (combineFiles "${ghcName}-boot-packages-nix" ".nix" (builtins.mapAttrs
|
||||
(_: sdistAndNix: sdistAndNix.nix) (skipBroken bootPackages))));
|
||||
(_: srcAndNix: srcAndNix.nix) (skipBroken bootPackages))));
|
||||
|
||||
# Import the nix and fix the src to the sdist as well.
|
||||
importSdistAndNix = sdistAndNix:
|
||||
args: (import sdistAndNix.nix args) // { src = sdistAndNix.sdist; };
|
||||
# Import the nix and src.
|
||||
importSrcAndNix = srcAndNix:
|
||||
args: (import srcAndNix.nix args) // { inherit (srcAndNix) src; };
|
||||
|
||||
# The packages in GHC source and the locations of them
|
||||
ghc-extra-pkgs = {
|
||||
@ -110,24 +89,27 @@ let
|
||||
# as part of patches we applied to the GHC tree.
|
||||
|
||||
in rec {
|
||||
ghc-boot-packages-sdist-and-nix = builtins.mapAttrs
|
||||
ghc-boot-packages-src-and-nix = builtins.mapAttrs
|
||||
(ghcName: value: builtins.mapAttrs
|
||||
(pkgName: dir: cabalToSdistAndNix ghcName pkgName "${value.passthru.configured-src}/${dir}") ghc-extra-pkgs)
|
||||
(pkgName: dir: rec {
|
||||
src = "${value.passthru.configured-src}/${dir}";
|
||||
nix = callCabal2Nix "${ghcName}-${pkgName}" src;
|
||||
}) ghc-extra-pkgs)
|
||||
final.buildPackages.haskell-nix.compiler;
|
||||
|
||||
# All the ghc boot package nix files for each ghc.
|
||||
ghc-boot-packages-nix = builtins.mapAttrs
|
||||
combineAndMaterialize
|
||||
ghc-boot-packages-sdist-and-nix;
|
||||
ghc-boot-packages-src-and-nix;
|
||||
|
||||
# The import nix results for each ghc boot package for each ghc (with src=sdist).
|
||||
# The import nix results for each ghc boot package for each ghc.
|
||||
ghc-boot-packages = builtins.mapAttrs
|
||||
(ghcName: value: builtins.mapAttrs
|
||||
(pkgName: sdistAndNix: importSdistAndNix {
|
||||
inherit (sdistAndNix) sdist;
|
||||
(pkgName: srcAndNix: importSrcAndNix {
|
||||
inherit (srcAndNix) src;
|
||||
nix = ghc-boot-packages-nix."${ghcName}" + "/${pkgName}.nix";
|
||||
}) value)
|
||||
ghc-boot-packages-sdist-and-nix;
|
||||
ghc-boot-packages-src-and-nix;
|
||||
|
||||
# Derivation with cabal.project for use with `cabalProject'` for each ghc.
|
||||
ghc-extra-pkgs-cabal-projects = builtins.mapAttrs (name: value:
|
||||
|
@ -2,26 +2,7 @@
|
||||
#
|
||||
# for hygenic reasons we'll use haskell-nix as a prefix.
|
||||
# Using haskell.nix in nix is awkward as I needs to be quoted.
|
||||
final: prev:
|
||||
let
|
||||
# Why `final.buildPackages.buildPackages.git`?
|
||||
#
|
||||
# It turns out `git` depends on `gdb` in a round about way:
|
||||
# git -> openssh -> libfido2 -> systemd -> python libxml -> Cython -> gdb
|
||||
# Somewhere in that chain there should perhaps be a `buildPackages` so
|
||||
# that the `gdb` that is used is not the one for debugging code in
|
||||
# the `final` (but instead the one for debugging code in
|
||||
# `final.buildPackages`).
|
||||
#
|
||||
# Using `final.buildPackages.git` causes two problems:
|
||||
#
|
||||
# * Multiple versions of `git` (and that dependency chain
|
||||
# to `gdb` are needed when cross compiling).
|
||||
# * When `gdb` does not exist for `js`, so when cross
|
||||
# compiling with ghcjs `final.buildPackages.git` fails
|
||||
# to build at all.
|
||||
inherit (final.buildPackages.buildPackages) git nix-prefetch-git;
|
||||
in {
|
||||
final: prev: {
|
||||
haskell-nix = with final.haskell-nix; {
|
||||
|
||||
# Default modules, these will always be included.
|
||||
@ -78,8 +59,8 @@ in {
|
||||
|
||||
# Utility functions for working with the component builder.
|
||||
haskellLib = let hl = import ../lib {
|
||||
inherit (final) stdenv lib runCommand recurseIntoAttrs srcOnly;
|
||||
inherit git;
|
||||
pkgs = final;
|
||||
inherit (final) stdenv lib recurseIntoAttrs srcOnly;
|
||||
haskellLib = hl;
|
||||
}; in hl;
|
||||
|
||||
@ -180,22 +161,6 @@ in {
|
||||
# Pick a recent LTS snapshot to be our "default" package set.
|
||||
haskellPackages = snapshots."lts-14.13";
|
||||
|
||||
# Programs for generating Nix expressions from Cabal and Stack
|
||||
# files. This version of nix-tools may be cross compiled.
|
||||
# We probably never want to actually cross compile nix-tools on
|
||||
# it's own.
|
||||
nix-tools-cross-compiled = final.lib.makeOverridable (import ../nix-tools) {
|
||||
inherit (final) pkgs lib symlinkJoin makeWrapper nix;
|
||||
inherit git nix-prefetch-git;
|
||||
inherit (final.haskell-nix) fetchExternal cleanSourceHaskell mkCabalProjectPkgSet;
|
||||
hpack = null; # nix-tools does not use hpack project files
|
||||
};
|
||||
# While `nix-tools-cross-compiled` may be cross compiled,
|
||||
# getting it from `buildPackages` we should get
|
||||
# nix-tools suitable for running on the build system.
|
||||
nix-tools = final.buildPackages.haskell-nix.nix-tools-cross-compiled;
|
||||
# TODO perhaps there is a cleaner way to get a suitable nix-tools.
|
||||
|
||||
# Produce a fixed output derivation from a moving target (hackage index tarball)
|
||||
# Takes desired index-state and sha256 and produces a set { name, index }, where
|
||||
# index points to "01-index.tar.gz" file downloaded from hackage.haskell.org.
|
||||
@ -203,7 +168,7 @@ in {
|
||||
assert sha256 != null;
|
||||
let at = builtins.replaceStrings [":"] [""] index-state; in
|
||||
{ name = "hackage.haskell.org-at-${at}";
|
||||
index = final.fetchurl {
|
||||
index = final.evalPackages.fetchurl {
|
||||
name = "01-index.tar.gz-at-${at}";
|
||||
url = "https://hackage.haskell.org/01-index.tar.gz";
|
||||
downloadToTemp = true;
|
||||
@ -225,7 +190,7 @@ in {
|
||||
# dotCabalName anyway.
|
||||
dotCabalName = "dot-cabal-" + allNames;
|
||||
in
|
||||
final.runCommand dotCabalName { nativeBuildInputs = [ cabal-install ]; } ''
|
||||
final.evalPackages.runCommand dotCabalName { nativeBuildInputs = [ cabal-install ]; } ''
|
||||
mkdir -p $out/.cabal
|
||||
cat <<EOF > $out/.cabal/config
|
||||
${final.lib.concatStrings (
|
||||
@ -264,10 +229,10 @@ in {
|
||||
|
||||
# Helps materialize the output of derivations
|
||||
materialize = import ../lib/materialize.nix {
|
||||
inherit (final.buildPackages) nix;
|
||||
inherit (final.evalPackages) nix;
|
||||
inherit (final.haskell-nix) checkMaterialization;
|
||||
pkgs = final.buildPackages.pkgs;
|
||||
inherit (final.buildPackages.pkgs) runCommand;
|
||||
pkgs = final.evalPackages.pkgs;
|
||||
inherit (final.evalPackages.pkgs) runCommand;
|
||||
};
|
||||
|
||||
update-index-state-hashes = import ../scripts/update-index-state-hashes.nix {
|
||||
@ -427,10 +392,11 @@ in {
|
||||
# Resulting nix files are added to nix-plan subdirectory.
|
||||
callCabalProjectToNix = import ../lib/call-cabal-project-to-nix.nix {
|
||||
index-state-hashes = import indexStateHashesPath;
|
||||
inherit (final.buildPackages.haskell-nix) dotCabal nix-tools haskellLib materialize;
|
||||
inherit (final.buildPackages.haskell-nix) haskellLib materialize;
|
||||
pkgs = final.buildPackages.pkgs;
|
||||
inherit (final.buildPackages.haskell-nix.haskellPackages.hpack.components.exes) hpack;
|
||||
inherit (final.buildPackages.haskell-nix) cabal-install ghc;
|
||||
inherit (final.evalPackages.haskell-nix.haskellPackages.hpack.components.exes) hpack;
|
||||
inherit (final.buildPackages.haskell-nix) ghc;
|
||||
inherit (final.evalPackages.haskell-nix) cabal-install dotCabal nix-tools;
|
||||
inherit (final.buildPackages.pkgs) runCommand symlinkJoin cacert;
|
||||
};
|
||||
|
||||
@ -549,10 +515,6 @@ in {
|
||||
in final.recurseIntoAttrs ({
|
||||
# Things that require no IFD to build
|
||||
inherit (final.buildPackages.haskell-nix) nix-tools source-pins;
|
||||
bootstap-nix-tools = final.buildPackages.haskell-nix.bootstrap.packages.nix-tools;
|
||||
alex-plan-nix = withInputs final.buildPackages.haskell-nix.bootstrap.packages.alex-project.plan-nix;
|
||||
happy-plan-nix = withInputs final.buildPackages.haskell-nix.bootstrap.packages.happy-project.plan-nix;
|
||||
hscolour-plan-nix = withInputs final.buildPackages.haskell-nix.bootstrap.packages.hscolour-project.plan-nix;
|
||||
} // final.lib.optionalAttrs (ifdLevel > 0) {
|
||||
# Things that require one IFD to build (the inputs should be in level 0)
|
||||
alex = final.buildPackages.haskell-nix.bootstrap.packages.alex;
|
||||
|
@ -7,7 +7,7 @@ in pkgs.lib.evalModules {
|
||||
_module.args = {
|
||||
# this is *not* the hasekllLib from nixpkgs; it is rather our own
|
||||
# library from haskell.nix
|
||||
haskellLib = let hl = import ./lib { inherit lib; inherit (pkgs) stdenv runCommand recurseIntoAttrs git srcOnly; haskellLib = hl; }; in hl;
|
||||
haskellLib = let hl = import ./lib { inherit pkgs lib; inherit (pkgs) stdenv recurseIntoAttrs srcOnly; haskellLib = hl; }; in hl;
|
||||
|
||||
# The package descriptions depend on pkgs, which are used to resolve system package dependencies
|
||||
# as well as pkgconfPkgs, which are used to resolve pkgconfig name to nixpkgs names. We simply
|
||||
|
Loading…
Reference in New Issue
Block a user