diff --git a/.gitattributes b/.gitattributes index 886485a7d..3f71524c4 100644 --- a/.gitattributes +++ b/.gitattributes @@ -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 diff --git a/builder/make-config-files.nix b/builder/make-config-files.nix index 36bd6b67d..43156caa8 100644 --- a/builder/make-config-files.nix +++ b/builder/make-config-files.nix @@ -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 GHC environment file - cat > $out/ghc-environment <> $out/cabal.config + ''} + + ${ # Provide a GHC environment file + '' + cat > $out/ghc-environment <> $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. diff --git a/ci.nix b/ci.nix index a0925a1ae..792349e6c 100644 --- a/ci.nix +++ b/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"; diff --git a/default.nix b/default.nix index 08e336269..5505951c3 100644 --- a/default.nix +++ b/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)); } diff --git a/flake.nix b/flake.nix index 8536ec821..1af2b7594 100644 --- a/flake.nix +++ b/flake.nix @@ -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; diff --git a/lib/call-cabal-project-to-nix.nix b/lib/call-cabal-project-to-nix.nix index dd338a819..04a2b2049 100644 --- a/lib/call-cabal-project-to-nix.nix +++ b/lib/call-cabal-project-to-nix.nix @@ -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"; diff --git a/lib/default.nix b/lib/default.nix index b18ff2a04..3747e7209 100644 --- a/lib/default.nix +++ b/lib/default.nix @@ -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 diff --git a/materialized/alex/.plan.nix/alex.nix b/materialized/bootstrap/alex/.plan.nix/alex.nix similarity index 100% rename from materialized/alex/.plan.nix/alex.nix rename to materialized/bootstrap/alex/.plan.nix/alex.nix diff --git a/materialized/alex/default.nix b/materialized/bootstrap/alex/default.nix similarity index 100% rename from materialized/alex/default.nix rename to materialized/bootstrap/alex/default.nix diff --git a/materialized/happy/.plan.nix/happy.nix b/materialized/bootstrap/happy/.plan.nix/happy.nix similarity index 100% rename from materialized/happy/.plan.nix/happy.nix rename to materialized/bootstrap/happy/.plan.nix/happy.nix diff --git a/materialized/happy/default.nix b/materialized/bootstrap/happy/default.nix similarity index 100% rename from materialized/happy/default.nix rename to materialized/bootstrap/happy/default.nix diff --git a/materialized/bootstrap/hscolour/.plan.nix/hscolour.nix b/materialized/bootstrap/hscolour/.plan.nix/hscolour.nix new file mode 100644 index 000000000..3912b2b0c --- /dev/null +++ b/materialized/bootstrap/hscolour/.plan.nix/hscolour.nix @@ -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 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 ../.; } \ No newline at end of file diff --git a/materialized/bootstrap/hscolour/default.nix b/materialized/bootstrap/hscolour/default.nix new file mode 100644 index 000000000..e37d34ad0 --- /dev/null +++ b/materialized/bootstrap/hscolour/default.nix @@ -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 = {}; }; }; }) + ]; + } \ No newline at end of file diff --git a/materialized/dummy-ghc/ghc-8.4.4-x86_64-darwin/ghc-pkg/dump-global b/materialized/dummy-ghc/ghc-8.4.4-x86_64-darwin/ghc-pkg/dump-global new file mode 100644 index 000000000..e7f1cc5c4 --- /dev/null +++ b/materialized/dummy-ghc/ghc-8.4.4-x86_64-darwin/ghc-pkg/dump-global @@ -0,0 +1,1469 @@ +name: Cabal +version: 2.2.0.1 +id: Cabal-2.2.0.1 +key: Cabal-2.2.0.1 +license: BSD-3-Clause +copyright: 2003-2018, Cabal Development Team (see AUTHORS file) +maintainer: cabal-devel@haskell.org +author: Cabal Development Team +homepage: http://www.haskell.org/cabal/ +synopsis: A framework for packaging Haskell software +description: + The Haskell Common Architecture for Building Applications and + Libraries: a framework defining a common interface for authors to more + easily build their Haskell applications in a portable way. + . + The Haskell Cabal is part of a larger infrastructure for distributing, + organizing, and cataloging Haskell libraries and tools. +category: Distribution +exposed: True +exposed-modules: + Distribution.Backpack Distribution.Backpack.ComponentsGraph + Distribution.Backpack.Configure + Distribution.Backpack.ConfiguredComponent + Distribution.Backpack.DescribeUnitId + Distribution.Backpack.FullUnitId + Distribution.Backpack.LinkedComponent + Distribution.Backpack.ModSubst Distribution.Backpack.ModuleShape + Distribution.Backpack.PreModuleShape Distribution.CabalSpecVersion + Distribution.Compat.Binary Distribution.Compat.CharParsing + Distribution.Compat.CreatePipe Distribution.Compat.DList + Distribution.Compat.Directory Distribution.Compat.Environment + Distribution.Compat.Exception Distribution.Compat.Graph + Distribution.Compat.Internal.TempFile Distribution.Compat.Lens + Distribution.Compat.Map.Strict Distribution.Compat.Newtype + Distribution.Compat.Parsing Distribution.Compat.Prelude.Internal + Distribution.Compat.ReadP Distribution.Compat.Semigroup + Distribution.Compat.Stack Distribution.Compat.Time + Distribution.Compiler Distribution.FieldGrammar + Distribution.FieldGrammar.Class + Distribution.FieldGrammar.FieldDescrs + Distribution.FieldGrammar.Parsec Distribution.FieldGrammar.Pretty + Distribution.InstalledPackageInfo Distribution.License + Distribution.Make Distribution.ModuleName Distribution.Package + Distribution.PackageDescription + Distribution.PackageDescription.Check + Distribution.PackageDescription.Configuration + Distribution.PackageDescription.FieldGrammar + Distribution.PackageDescription.Parsec + Distribution.PackageDescription.PrettyPrint + Distribution.PackageDescription.Quirks + Distribution.PackageDescription.Utils Distribution.ParseUtils + Distribution.Parsec.Class Distribution.Parsec.Common + Distribution.Parsec.ConfVar Distribution.Parsec.Field + Distribution.Parsec.FieldLineStream Distribution.Parsec.Lexer + Distribution.Parsec.LexerMonad Distribution.Parsec.Newtypes + Distribution.Parsec.ParseResult Distribution.Parsec.Parser + Distribution.Pretty Distribution.PrettyUtils Distribution.ReadE + Distribution.SPDX Distribution.SPDX.License + Distribution.SPDX.LicenseExceptionId + Distribution.SPDX.LicenseExpression Distribution.SPDX.LicenseId + Distribution.SPDX.LicenseReference Distribution.Simple + Distribution.Simple.Bench Distribution.Simple.Build + Distribution.Simple.Build.Macros + Distribution.Simple.Build.PathsModule + Distribution.Simple.BuildPaths Distribution.Simple.BuildTarget + Distribution.Simple.BuildToolDepends Distribution.Simple.CCompiler + Distribution.Simple.Command Distribution.Simple.Compiler + Distribution.Simple.Configure Distribution.Simple.Doctest + Distribution.Simple.GHC Distribution.Simple.GHCJS + Distribution.Simple.Haddock Distribution.Simple.HaskellSuite + Distribution.Simple.Hpc Distribution.Simple.Install + Distribution.Simple.InstallDirs Distribution.Simple.JHC + Distribution.Simple.LHC Distribution.Simple.LocalBuildInfo + Distribution.Simple.PackageIndex Distribution.Simple.PreProcess + Distribution.Simple.PreProcess.Unlit Distribution.Simple.Program + Distribution.Simple.Program.Ar Distribution.Simple.Program.Builtin + Distribution.Simple.Program.Db Distribution.Simple.Program.Find + Distribution.Simple.Program.GHC Distribution.Simple.Program.HcPkg + Distribution.Simple.Program.Hpc + Distribution.Simple.Program.Internal Distribution.Simple.Program.Ld + Distribution.Simple.Program.ResponseFile + Distribution.Simple.Program.Run Distribution.Simple.Program.Script + Distribution.Simple.Program.Strip Distribution.Simple.Program.Types + Distribution.Simple.Register Distribution.Simple.Setup + Distribution.Simple.SrcDist Distribution.Simple.Test + Distribution.Simple.Test.ExeV10 Distribution.Simple.Test.LibV09 + Distribution.Simple.Test.Log Distribution.Simple.UHC + Distribution.Simple.UserHooks Distribution.Simple.Utils + Distribution.System Distribution.TestSuite Distribution.Text + Distribution.Types.AbiDependency Distribution.Types.AbiHash + Distribution.Types.AnnotatedId Distribution.Types.Benchmark + Distribution.Types.Benchmark.Lens + Distribution.Types.BenchmarkInterface + Distribution.Types.BenchmarkType Distribution.Types.BuildInfo + Distribution.Types.BuildInfo.Lens Distribution.Types.BuildType + Distribution.Types.Component Distribution.Types.ComponentId + Distribution.Types.ComponentInclude + Distribution.Types.ComponentLocalBuildInfo + Distribution.Types.ComponentName + Distribution.Types.ComponentRequestedSpec + Distribution.Types.CondTree Distribution.Types.Condition + Distribution.Types.Dependency Distribution.Types.DependencyMap + Distribution.Types.ExeDependency Distribution.Types.Executable + Distribution.Types.Executable.Lens + Distribution.Types.ExecutableScope Distribution.Types.ExposedModule + Distribution.Types.ForeignLib Distribution.Types.ForeignLib.Lens + Distribution.Types.ForeignLibOption + Distribution.Types.ForeignLibType + Distribution.Types.GenericPackageDescription + Distribution.Types.GenericPackageDescription.Lens + Distribution.Types.HookedBuildInfo + Distribution.Types.IncludeRenaming + Distribution.Types.InstalledPackageInfo + Distribution.Types.InstalledPackageInfo.FieldGrammar + Distribution.Types.InstalledPackageInfo.Lens + Distribution.Types.LegacyExeDependency Distribution.Types.Lens + Distribution.Types.Library Distribution.Types.Library.Lens + Distribution.Types.LocalBuildInfo Distribution.Types.Mixin + Distribution.Types.Module Distribution.Types.ModuleReexport + Distribution.Types.ModuleRenaming + Distribution.Types.MungedPackageId + Distribution.Types.MungedPackageName + Distribution.Types.PackageDescription + Distribution.Types.PackageDescription.Lens + Distribution.Types.PackageId Distribution.Types.PackageId.Lens + Distribution.Types.PackageName + Distribution.Types.PkgconfigDependency + Distribution.Types.PkgconfigName Distribution.Types.SetupBuildInfo + Distribution.Types.SetupBuildInfo.Lens + Distribution.Types.SourceRepo Distribution.Types.SourceRepo.Lens + Distribution.Types.TargetInfo Distribution.Types.TestSuite + Distribution.Types.TestSuite.Lens + Distribution.Types.TestSuiteInterface Distribution.Types.TestType + Distribution.Types.UnitId Distribution.Types.UnqualComponentName + Distribution.Types.Version Distribution.Types.VersionInterval + Distribution.Types.VersionRange Distribution.Utils.Generic + Distribution.Utils.IOData Distribution.Utils.LogProgress + Distribution.Utils.MapAccum Distribution.Utils.NubList + Distribution.Utils.Progress Distribution.Utils.ShortText + Distribution.Verbosity Distribution.Version + Language.Haskell.Extension +hidden-modules: Distribution.Backpack.PreExistingComponent + Distribution.Backpack.ReadyComponent Distribution.Backpack.MixLink + Distribution.Backpack.ModuleScope Distribution.Backpack.UnifyM + Distribution.Backpack.Id Distribution.Utils.UnionFind + Distribution.Utils.Base62 Distribution.Compat.CopyFile + Distribution.Compat.GetShortPathName Distribution.Compat.MonadFail + Distribution.Compat.Prelude Distribution.Compat.SnocList + Distribution.GetOpt Distribution.Lex Distribution.Utils.String + Distribution.Simple.GHC.Internal Distribution.Simple.GHC.IPI642 + Distribution.Simple.GHC.IPIConvert Distribution.Simple.GHC.ImplInfo + Paths_Cabal +hs-libraries: HSCabal-2.2.0.1 +depends: + array-0.5.2.0 base-4.11.1.0 bytestring-0.10.8.2 containers-0.5.11.0 + deepseq-1.4.3.0 filepath-1.4.2 pretty-1.1.3.6 process-1.6.3.0 + time-1.8.0.2 transformers-0.5.5.0 mtl-2.2.2 text-1.2.3.1 + parsec-3.1.13.0 directory-1.3.1.5 binary-0.8.5.1 unix-2.7.2.2 +abi-depends: array-0.5.2.0=03a64bb9d4be6771406b73145e6e58e1 + base-4.11.1.0=b368cab58fa51949d1638013a72f7adf + bytestring-0.10.8.2=9dd6632a6071c728fe550d499c942f0c + containers-0.5.11.0=3a03e29a933c27106de8caad6a8dba89 + deepseq-1.4.3.0=c2f0913f017a74ecf59e88ba8e164f77 + filepath-1.4.2=27f5ec6358f0ec240d827eaa0860b2af + pretty-1.1.3.6=a22b26e5f7ddf72bac19d7d229502dac + process-1.6.3.0=030e21e561f9c3486a49333f2057b804 + time-1.8.0.2=fe7eb2e843def3e5fe89f1dd11e7c8ec + transformers-0.5.5.0=b5d2f6cdac279ec17c0fad50f5348c4f + mtl-2.2.2=28a8b7973060d82dd465f14029339d4f + text-1.2.3.1=e0d7b65ba8d31007e57ce45ddef7efb8 + parsec-3.1.13.0=3835800e76890791d7511c6b90d6c22c + directory-1.3.1.5=fbc4e348e0c18c2b80ca9368e0275d72 + binary-0.8.5.1=246ff363717242ac7a7a3d37e6daabb8 + unix-2.7.2.2=1b1470032d7c086b787322282a984f1c +--- +name: array +version: 0.5.2.0 +id: array-0.5.2.0 +key: array-0.5.2.0 +license: BSD-3-Clause +maintainer: libraries@haskell.org +synopsis: Mutable and immutable arrays +description: + In addition to providing the "Data.Array" module + , + this package also defines the classes 'IArray' of + immutable arrays and 'MArray' of arrays mutable within appropriate + monads, as well as some instances of these classes. +category: Data Structures +exposed: True +exposed-modules: + Data.Array Data.Array.Base Data.Array.IArray Data.Array.IO + Data.Array.IO.Internals Data.Array.IO.Safe Data.Array.MArray + Data.Array.MArray.Safe Data.Array.ST Data.Array.ST.Safe + Data.Array.Storable Data.Array.Storable.Internals + Data.Array.Storable.Safe Data.Array.Unboxed Data.Array.Unsafe +hs-libraries: HSarray-0.5.2.0 +depends: + base-4.11.1.0 +abi-depends: base-4.11.1.0=b368cab58fa51949d1638013a72f7adf +--- +name: base +version: 4.11.1.0 +id: base-4.11.1.0 +key: base-4.11.1.0 +license: BSD-3-Clause +maintainer: libraries@haskell.org +synopsis: Basic libraries +description: + This package contains the "Prelude" and its support libraries, + and a large collection of useful libraries ranging from data + structures to parsing combinators and debugging utilities. +category: Prelude +exposed: True +exposed-modules: + Control.Applicative Control.Arrow Control.Category + Control.Concurrent Control.Concurrent.Chan Control.Concurrent.MVar + Control.Concurrent.QSem Control.Concurrent.QSemN Control.Exception + Control.Exception.Base Control.Monad Control.Monad.Fail + Control.Monad.Fix Control.Monad.IO.Class Control.Monad.Instances + Control.Monad.ST Control.Monad.ST.Lazy Control.Monad.ST.Lazy.Safe + Control.Monad.ST.Lazy.Unsafe Control.Monad.ST.Safe + Control.Monad.ST.Strict Control.Monad.ST.Unsafe Control.Monad.Zip + Data.Bifoldable Data.Bifunctor Data.Bitraversable Data.Bits + Data.Bool Data.Char Data.Coerce Data.Complex Data.Data Data.Dynamic + Data.Either Data.Eq Data.Fixed Data.Foldable Data.Function + Data.Functor Data.Functor.Classes Data.Functor.Compose + Data.Functor.Const Data.Functor.Identity Data.Functor.Product + Data.Functor.Sum Data.IORef Data.Int Data.Ix Data.Kind Data.List + Data.List.NonEmpty Data.Maybe Data.Monoid Data.Ord Data.Proxy + Data.Ratio Data.STRef Data.STRef.Lazy Data.STRef.Strict + Data.Semigroup Data.String Data.Traversable Data.Tuple + Data.Type.Bool Data.Type.Coercion Data.Type.Equality Data.Typeable + Data.Unique Data.Version Data.Void Data.Word Debug.Trace Foreign + Foreign.C Foreign.C.Error Foreign.C.String Foreign.C.Types + Foreign.Concurrent Foreign.ForeignPtr Foreign.ForeignPtr.Safe + Foreign.ForeignPtr.Unsafe Foreign.Marshal Foreign.Marshal.Alloc + Foreign.Marshal.Array Foreign.Marshal.Error Foreign.Marshal.Pool + Foreign.Marshal.Safe Foreign.Marshal.Unsafe Foreign.Marshal.Utils + Foreign.Ptr Foreign.Safe Foreign.StablePtr Foreign.Storable GHC.Arr + GHC.Base GHC.ByteOrder GHC.Char GHC.Clock GHC.Conc GHC.Conc.IO + GHC.Conc.Signal GHC.Conc.Sync GHC.ConsoleHandler GHC.Constants + GHC.Desugar GHC.Enum GHC.Environment GHC.Err GHC.Event + GHC.Exception GHC.ExecutionStack GHC.ExecutionStack.Internal + GHC.Exts GHC.Fingerprint GHC.Fingerprint.Type GHC.Float + GHC.Float.ConversionUtils GHC.Float.RealFracMethods GHC.Foreign + GHC.ForeignPtr GHC.GHCi GHC.Generics GHC.IO GHC.IO.Buffer + GHC.IO.BufferedIO GHC.IO.Device GHC.IO.Encoding + GHC.IO.Encoding.CodePage GHC.IO.Encoding.Failure + GHC.IO.Encoding.Iconv GHC.IO.Encoding.Latin1 GHC.IO.Encoding.Types + GHC.IO.Encoding.UTF16 GHC.IO.Encoding.UTF32 GHC.IO.Encoding.UTF8 + GHC.IO.Exception GHC.IO.FD GHC.IO.Handle GHC.IO.Handle.FD + GHC.IO.Handle.Internals GHC.IO.Handle.Lock GHC.IO.Handle.Text + GHC.IO.Handle.Types GHC.IO.IOMode GHC.IO.Unsafe GHC.IOArray + GHC.IORef GHC.Int GHC.List GHC.MVar GHC.Natural GHC.Num GHC.OldList + GHC.OverloadedLabels GHC.PArr GHC.Pack GHC.Profiling GHC.Ptr + GHC.RTS.Flags GHC.Read GHC.Real GHC.Records GHC.ST GHC.STRef + GHC.Show GHC.Stable GHC.Stack GHC.Stack.CCS GHC.Stack.Types + GHC.StaticPtr GHC.Stats GHC.Storable GHC.TopHandler GHC.TypeLits + GHC.TypeNats GHC.Unicode GHC.Weak GHC.Word Numeric Numeric.Natural + Prelude System.CPUTime System.Console.GetOpt System.Environment + System.Environment.Blank System.Exit System.IO System.IO.Error + System.IO.Unsafe System.Info System.Mem System.Mem.StableName + System.Mem.Weak System.Posix.Internals System.Posix.Types + System.Timeout Text.ParserCombinators.ReadP + Text.ParserCombinators.ReadPrec Text.Printf Text.Read Text.Read.Lex + Text.Show Text.Show.Functions Type.Reflection + Type.Reflection.Unsafe Unsafe.Coerce +hidden-modules: Control.Monad.ST.Imp Control.Monad.ST.Lazy.Imp + Data.Functor.Utils Data.OldList Data.Semigroup.Internal + Data.Typeable.Internal Foreign.ForeignPtr.Imp + GHC.StaticPtr.Internal System.Environment.ExecutablePath + System.CPUTime.Utils GHC.Event.Arr GHC.Event.Array + GHC.Event.Control GHC.Event.EPoll GHC.Event.IntTable + GHC.Event.Internal GHC.Event.KQueue GHC.Event.Manager GHC.Event.PSQ + GHC.Event.Poll GHC.Event.Thread GHC.Event.TimerManager + GHC.Event.Unique System.CPUTime.Posix.ClockGetTime + System.CPUTime.Posix.Times System.CPUTime.Posix.RUsage + System.CPUTime.Unsupported +hs-libraries: HSbase-4.11.1.0 +extra-libraries: + iconv +includes: + HsBase.h +depends: + rts ghc-prim-0.5.2.0 integer-gmp-1.0.2.0 +abi-depends: rts= ghc-prim-0.5.2.0=0a2596c0f516eb6cbf13841c1f06715e + integer-gmp-1.0.2.0=28d9d8fbabb28cc19fc92446ffd9b739 +--- +name: binary +version: 0.8.5.1 +id: binary-0.8.5.1 +key: binary-0.8.5.1 +license: BSD-3-Clause +maintainer: Lennart Kolmodin, Don Stewart +author: Lennart Kolmodin +stability: provisional +homepage: https://github.com/kolmodin/binary +synopsis: Binary serialisation for Haskell values using lazy ByteStrings +description: + Efficient, pure binary serialisation using lazy ByteStrings. + Haskell values may be encoded to and from binary formats, + written to disk as binary, or sent over the network. + The format used can be automatically generated, or + you can choose to implement a custom format if needed. + Serialisation speeds of over 1 G\/sec have been observed, + so this library should be suitable for high performance + scenarios. +category: Data, Parsing +exposed: True +exposed-modules: + Data.Binary Data.Binary.Builder Data.Binary.Get + Data.Binary.Get.Internal Data.Binary.Put +hidden-modules: Data.Binary.Class Data.Binary.Internal + Data.Binary.Generic Data.Binary.FloatCast +hs-libraries: HSbinary-0.8.5.1 +depends: + base-4.11.1.0 bytestring-0.10.8.2 containers-0.5.11.0 array-0.5.2.0 +abi-depends: base-4.11.1.0=b368cab58fa51949d1638013a72f7adf + bytestring-0.10.8.2=9dd6632a6071c728fe550d499c942f0c + containers-0.5.11.0=3a03e29a933c27106de8caad6a8dba89 + array-0.5.2.0=03a64bb9d4be6771406b73145e6e58e1 +--- +name: bytestring +version: 0.10.8.2 +id: bytestring-0.10.8.2 +key: bytestring-0.10.8.2 +license: BSD-3-Clause +copyright: Copyright (c) Don Stewart 2005-2009, + (c) Duncan Coutts 2006-2015, + (c) David Roundy 2003-2005, + (c) Jasper Van der Jeugt 2010, + (c) Simon Meier 2010-2013. +maintainer: Duncan Coutts +author: Don Stewart, + Duncan Coutts +homepage: https://github.com/haskell/bytestring +synopsis: Fast, compact, strict and lazy byte strings with a list interface +description: + An efficient compact, immutable byte string type (both strict and lazy) + suitable for binary or 8-bit character data. + . + The 'ByteString' type represents sequences of bytes or 8-bit characters. + It is suitable for high performance use, both in terms of large data + quantities, or high speed requirements. The 'ByteString' functions follow + the same style as Haskell\'s ordinary lists, so it is easy to convert code + from using 'String' to 'ByteString'. + . + Two 'ByteString' variants are provided: + . + * Strict 'ByteString's keep the string as a single large array. This + makes them convenient for passing data between C and Haskell. + . + * Lazy 'ByteString's use a lazy list of strict chunks which makes it + suitable for I\/O streaming tasks. + . + The @Char8@ modules provide a character-based view of the same + underlying 'ByteString' types. This makes it convenient to handle mixed + binary and 8-bit character content (which is common in many file formats + and network protocols). + . + The 'Builder' module provides an efficient way to build up 'ByteString's + in an ad-hoc way by repeated concatenation. This is ideal for fast + serialisation or pretty printing. + . + There is also a 'ShortByteString' type which has a lower memory overhead + and can can be converted to or from a 'ByteString', but supports very few + other operations. It is suitable for keeping many short strings in memory. + . + 'ByteString's are not designed for Unicode. For Unicode strings you should + use the 'Text' type from the @text@ package. + . + These modules are intended to be imported qualified, to avoid name clashes + with "Prelude" functions, e.g. + . + > import qualified Data.ByteString as BS +category: Data +exposed: True +exposed-modules: + Data.ByteString Data.ByteString.Builder + Data.ByteString.Builder.Extra Data.ByteString.Builder.Internal + Data.ByteString.Builder.Prim Data.ByteString.Builder.Prim.Internal + Data.ByteString.Char8 Data.ByteString.Internal Data.ByteString.Lazy + Data.ByteString.Lazy.Builder Data.ByteString.Lazy.Builder.ASCII + Data.ByteString.Lazy.Builder.Extras Data.ByteString.Lazy.Char8 + Data.ByteString.Lazy.Internal Data.ByteString.Short + Data.ByteString.Short.Internal Data.ByteString.Unsafe +hidden-modules: Data.ByteString.Builder.ASCII + Data.ByteString.Builder.Prim.Binary + Data.ByteString.Builder.Prim.ASCII + Data.ByteString.Builder.Prim.Internal.Floating + Data.ByteString.Builder.Prim.Internal.UncheckedShifts + Data.ByteString.Builder.Prim.Internal.Base16 +hs-libraries: HSbytestring-0.10.8.2 +includes: + fpstring.h +depends: + base-4.11.1.0 ghc-prim-0.5.2.0 deepseq-1.4.3.0 integer-gmp-1.0.2.0 +abi-depends: base-4.11.1.0=b368cab58fa51949d1638013a72f7adf + ghc-prim-0.5.2.0=0a2596c0f516eb6cbf13841c1f06715e + deepseq-1.4.3.0=c2f0913f017a74ecf59e88ba8e164f77 + integer-gmp-1.0.2.0=28d9d8fbabb28cc19fc92446ffd9b739 +--- +name: containers +version: 0.5.11.0 +id: containers-0.5.11.0 +key: containers-0.5.11.0 +license: BSD-3-Clause +maintainer: libraries@haskell.org +synopsis: Assorted concrete container types +description: + . + This package contains efficient general-purpose implementations + of various immutable container types including sets, maps, sequences, + trees, and graphs. + . + For a walkthrough of what this package provides with examples of common + operations see the [containers + introduction](https://haskell-containers.readthedocs.io). + . + The declared cost of each operation is either worst-case or amortized, but + remains valid even if structures are shared. +category: Data Structures +exposed: True +exposed-modules: + Data.Graph Data.IntMap Data.IntMap.Internal + Data.IntMap.Internal.Debug Data.IntMap.Lazy Data.IntMap.Merge.Lazy + Data.IntMap.Merge.Strict Data.IntMap.Strict Data.IntSet + Data.IntSet.Internal Data.Map Data.Map.Internal + Data.Map.Internal.Debug Data.Map.Lazy Data.Map.Lazy.Merge + Data.Map.Merge.Lazy Data.Map.Merge.Strict Data.Map.Strict + Data.Map.Strict.Internal Data.Map.Strict.Merge Data.Sequence + Data.Sequence.Internal Data.Sequence.Internal.Sorting Data.Set + Data.Set.Internal Data.Tree Utils.Containers.Internal.BitQueue + Utils.Containers.Internal.BitUtil + Utils.Containers.Internal.StrictPair +hidden-modules: Utils.Containers.Internal.State + Utils.Containers.Internal.StrictFold + Utils.Containers.Internal.StrictMaybe + Utils.Containers.Internal.PtrEquality + Data.Map.Internal.DeprecatedShowTree + Data.IntMap.Internal.DeprecatedDebug +hs-libraries: HScontainers-0.5.11.0 +depends: + base-4.11.1.0 array-0.5.2.0 deepseq-1.4.3.0 ghc-prim-0.5.2.0 +abi-depends: base-4.11.1.0=b368cab58fa51949d1638013a72f7adf + array-0.5.2.0=03a64bb9d4be6771406b73145e6e58e1 + deepseq-1.4.3.0=c2f0913f017a74ecf59e88ba8e164f77 + ghc-prim-0.5.2.0=0a2596c0f516eb6cbf13841c1f06715e +--- +name: deepseq +version: 1.4.3.0 +id: deepseq-1.4.3.0 +key: deepseq-1.4.3.0 +license: BSD-3-Clause +maintainer: libraries@haskell.org +synopsis: Deep evaluation of data structures +description: + This package provides methods for fully evaluating data structures + (\"deep evaluation\"). Deep evaluation is often used for adding + strictness to a program, e.g. in order to force pending exceptions, + remove space leaks, or force lazy I/O to happen. It is also useful + in parallel programs, to ensure pending work does not migrate to the + wrong thread. + . + The primary use of this package is via the 'deepseq' function, a + \"deep\" version of 'seq'. It is implemented on top of an 'NFData' + typeclass (\"Normal Form Data\", data structures with no unevaluated + components) which defines strategies for fully evaluating different + data types. +category: Control +exposed: True +exposed-modules: + Control.DeepSeq +hidden-modules: Control.DeepSeq.BackDoor +hs-libraries: HSdeepseq-1.4.3.0 +depends: + base-4.11.1.0 array-0.5.2.0 +abi-depends: base-4.11.1.0=b368cab58fa51949d1638013a72f7adf + array-0.5.2.0=03a64bb9d4be6771406b73145e6e58e1 +--- +name: directory +version: 1.3.1.5 +id: directory-1.3.1.5 +key: directory-1.3.1.5 +license: BSD-3-Clause +maintainer: libraries@haskell.org +synopsis: Platform-agnostic library for filesystem operations +description: + This library provides a basic set of operations for manipulating files and + directories in a portable way. +category: System +exposed: True +exposed-modules: + System.Directory System.Directory.Internal + System.Directory.Internal.Prelude +hidden-modules: System.Directory.Internal.C_utimensat + System.Directory.Internal.Common System.Directory.Internal.Config + System.Directory.Internal.Posix System.Directory.Internal.Windows +hs-libraries: HSdirectory-1.3.1.5 +depends: + base-4.11.1.0 time-1.8.0.2 filepath-1.4.2 unix-2.7.2.2 +abi-depends: base-4.11.1.0=b368cab58fa51949d1638013a72f7adf + time-1.8.0.2=fe7eb2e843def3e5fe89f1dd11e7c8ec + filepath-1.4.2=27f5ec6358f0ec240d827eaa0860b2af + unix-2.7.2.2=1b1470032d7c086b787322282a984f1c +--- +name: filepath +version: 1.4.2 +id: filepath-1.4.2 +key: filepath-1.4.2 +license: BSD-3-Clause +copyright: Neil Mitchell 2005-2018 +maintainer: Neil Mitchell +author: Neil Mitchell +homepage: https://github.com/haskell/filepath#readme +synopsis: Library for manipulating FilePaths in a cross platform way. +description: + This package provides functionality for manipulating @FilePath@ values, and is shipped with both and the . It provides three modules: + . + * "System.FilePath.Posix" manipulates POSIX\/Linux style @FilePath@ values (with @\/@ as the path separator). + . + * "System.FilePath.Windows" manipulates Windows style @FilePath@ values (with either @\\@ or @\/@ as the path separator, and deals with drives). + . + * "System.FilePath" is an alias for the module appropriate to your platform. + . + All three modules provide the same API, and the same documentation (calling out differences in the different variants). +category: System +exposed: True +exposed-modules: + System.FilePath System.FilePath.Posix System.FilePath.Windows +hs-libraries: HSfilepath-1.4.2 +depends: + base-4.11.1.0 +abi-depends: base-4.11.1.0=b368cab58fa51949d1638013a72f7adf +--- +name: ghc +version: 8.4.4 +id: ghc-8.4.4 +key: ghc-8.4.4 +license: BSD-3-Clause +maintainer: glasgow-haskell-users@haskell.org +author: The GHC Team +homepage: http://www.haskell.org/ghc/ +synopsis: The GHC API +description: + GHC's functionality can be useful for more things than just + compiling Haskell programs. Important use cases are programs + that analyse (and perhaps transform) Haskell code. Others + include loading Haskell code dynamically in a GHCi-like manner. + For this reason, a lot of GHC's functionality is made available + through this package. +category: Development +exposed-modules: + Annotations ApiAnnotation Ar AsmCodeGen AsmUtils Avail Bag + BasicTypes BinFingerprint BinIface Binary Bitmap BkpSyn BlockId + BooleanFormula BufWrite BuildTyCl ByteCodeAsm ByteCodeGen + ByteCodeInstr ByteCodeItbls ByteCodeLink ByteCodeTypes CLabel CPrim + CSE CallArity CgUtils Check Class CmdLineParser Cmm + CmmBuildInfoTables CmmCallConv CmmCommonBlockElim CmmContFlowOpt + CmmExpr CmmImplementSwitchPlans CmmInfo CmmLayoutStack CmmLex + CmmLint CmmLive CmmMachOp CmmMonad CmmNode CmmOpt CmmParse + CmmPipeline CmmProcPoint CmmSink CmmSwitch CmmType CmmUtils CoAxiom + CodeGen.Platform CodeGen.Platform.ARM CodeGen.Platform.ARM64 + CodeGen.Platform.NoRegs CodeGen.Platform.PPC + CodeGen.Platform.PPC_Darwin CodeGen.Platform.SPARC + CodeGen.Platform.X86 CodeGen.Platform.X86_64 CodeOutput Coercion + ConLike Config Constants Convert CoreArity CoreFVs CoreLint + CoreMonad CoreOpt CorePrep CoreSeq CoreStats CoreSubst CoreSyn + CoreTidy CoreToStg CoreUnfold CoreUtils CostCentre Coverage Ctype + DataCon Debug Debugger DebuggerUtils Demand Desugar Digraph DmdAnal + DriverBkp DriverMkDepend DriverPhases DriverPipeline DsArrows + DsBinds DsCCall DsExpr DsForeign DsGRHSs DsListComp DsMeta DsMonad + DsUsage DsUtils Dwarf Dwarf.Constants Dwarf.Types DynFlags + DynamicLoading Elf Encoding EnumSet ErrUtils Exception Exitify FV + FamInst FamInstEnv FastFunctions FastMutInt FastString + FastStringEnv FieldLabel FileCleanup Finder Fingerprint FiniteMap + FlagChecker FloatIn FloatOut ForeignCall Format FunDeps GHC GHCi + GhcMake GhcMonad GhcPlugins GraphBase GraphColor GraphOps GraphPpr + HaddockUtils HeaderInfo Hooks Hoopl.Block Hoopl.Collections + Hoopl.Dataflow Hoopl.Graph Hoopl.Label Hoopl.Unique HsBinds HsDecls + HsDoc HsDumpAst HsExpr HsExtension HsImpExp HsLit HsPat HsSyn + HsTypes HsUtils HscMain HscStats HscTypes IOEnv Id IdInfo IfaceEnv + IfaceSyn IfaceType Inst InstEnv Instruction InteractiveEval + InteractiveEvalTypes Json Kind KnownUniques Lexeme Lexer + LiberateCase Linker ListSetOps ListT Literal Llvm Llvm.AbsSyn + Llvm.MetaData Llvm.PpLlvm Llvm.Types LlvmCodeGen LlvmCodeGen.Base + LlvmCodeGen.CodeGen LlvmCodeGen.Data LlvmCodeGen.Ppr + LlvmCodeGen.Regs LlvmMangler LoadIface Match MatchCon MatchLit + Maybes MkCore MkGraph MkId MkIface Module MonadUtils NCGMonad Name + NameCache NameEnv NameSet NameShape OccName OccurAnal OptCoercion + OrdList Outputable PIC PPC.CodeGen PPC.Cond PPC.Instr PPC.Ppr + PPC.RegInfo PPC.Regs PackageConfig Packages Pair Panic Parser + PatSyn PipelineMonad PlaceHolder Platform PlatformConstants Plugins + PmExpr PprBase PprC PprCmm PprCmmDecl PprCmmExpr PprColour PprCore + PprTyThing PrelInfo PrelNames PrelRules Pretty PrimOp ProfInit + RdrHsSyn RdrName Reg RegAlloc.Graph.ArchBase RegAlloc.Graph.ArchX86 + RegAlloc.Graph.Coalesce RegAlloc.Graph.Main RegAlloc.Graph.Spill + RegAlloc.Graph.SpillClean RegAlloc.Graph.SpillCost + RegAlloc.Graph.Stats RegAlloc.Graph.TrivColorable + RegAlloc.Linear.Base RegAlloc.Linear.FreeRegs + RegAlloc.Linear.JoinToTargets RegAlloc.Linear.Main + RegAlloc.Linear.PPC.FreeRegs RegAlloc.Linear.SPARC.FreeRegs + RegAlloc.Linear.StackMap RegAlloc.Linear.State + RegAlloc.Linear.Stats RegAlloc.Linear.X86.FreeRegs + RegAlloc.Linear.X86_64.FreeRegs RegAlloc.Liveness RegClass RepType + RnBinds RnEnv RnExpr RnFixity RnHsDoc RnModIface RnNames RnPat + RnSource RnSplice RnTypes RnUnbound RnUtils RtClosureInspect Rules + SAT SMRep SPARC.AddrMode SPARC.Base SPARC.CodeGen + SPARC.CodeGen.Amode SPARC.CodeGen.Base SPARC.CodeGen.CondCode + SPARC.CodeGen.Expand SPARC.CodeGen.Gen32 SPARC.CodeGen.Gen64 + SPARC.CodeGen.Sanity SPARC.Cond SPARC.Imm SPARC.Instr SPARC.Ppr + SPARC.Regs SPARC.ShortcutJump SPARC.Stack SetLevels SimplCore + SimplEnv SimplMonad SimplStg SimplUtils Simplify SpecConstr + Specialise SrcLoc State StaticPtrTable StgCmm StgCmmArgRep + StgCmmBind StgCmmClosure StgCmmCon StgCmmEnv StgCmmExpr + StgCmmExtCode StgCmmForeign StgCmmHeap StgCmmHpc StgCmmLayout + StgCmmMonad StgCmmPrim StgCmmProf StgCmmTicky StgCmmUtils StgCse + StgLint StgStats StgSyn Stream StringBuffer SysTools + SysTools.BaseDir SysTools.ExtraObj SysTools.Info SysTools.Process + SysTools.Tasks SysTools.Terminal THNames TargetReg TcAnnotations + TcArrows TcBackpack TcBinds TcCanonical TcClassDcl TcDefaults + TcDeriv TcDerivInfer TcDerivUtils TcEnv TcErrors TcEvidence TcExpr + TcFlatten TcForeign TcGenDeriv TcGenFunctor TcGenGenerics TcHsSyn + TcHsType TcIface TcInstDcls TcInteract TcMType TcMatches TcPat + TcPatSyn TcPluginM TcRnDriver TcRnExports TcRnMonad TcRnTypes + TcRules TcSMonad TcSigs TcSimplify TcSplice TcTyClsDecls TcTyDecls + TcType TcTypeNats TcTypeable TcUnify TcValidity TidyPgm TmOracle + ToIface TrieMap TyCoRep TyCon Type TysPrim TysWiredIn UnVarGraph + UnariseStg Unify UniqDFM UniqDSet UniqFM UniqMap UniqSet UniqSupply + Unique Util Var VarEnv VarSet Vectorise Vectorise.Builtins + Vectorise.Builtins.Base Vectorise.Builtins.Initialise + Vectorise.Convert Vectorise.Env Vectorise.Exp + Vectorise.Generic.Description Vectorise.Generic.PADict + Vectorise.Generic.PAMethods Vectorise.Generic.PData Vectorise.Monad + Vectorise.Monad.Base Vectorise.Monad.Global Vectorise.Monad.InstEnv + Vectorise.Monad.Local Vectorise.Monad.Naming + Vectorise.Type.Classify Vectorise.Type.Env Vectorise.Type.TyConDecl + Vectorise.Type.Type Vectorise.Utils Vectorise.Utils.Base + Vectorise.Utils.Closure Vectorise.Utils.Hoisting + Vectorise.Utils.PADict Vectorise.Utils.Poly Vectorise.Var + Vectorise.Vect WorkWrap WwLib X86.CodeGen X86.Cond X86.Instr + X86.Ppr X86.RegInfo X86.Regs +hidden-modules: GhcPrelude +hs-libraries: HSghc-8.4.4 +depends: + base-4.11.1.0 deepseq-1.4.3.0 directory-1.3.1.5 process-1.6.3.0 + bytestring-0.10.8.2 binary-0.8.5.1 time-1.8.0.2 containers-0.5.11.0 + array-0.5.2.0 filepath-1.4.2 template-haskell-2.13.0.0 hpc-0.6.0.3 + transformers-0.5.5.0 ghc-boot-8.4.4 ghc-boot-th-8.4.4 ghci-8.4.4 + unix-2.7.2.2 terminfo-0.4.1.1 +abi-depends: base-4.11.1.0=b368cab58fa51949d1638013a72f7adf + deepseq-1.4.3.0=c2f0913f017a74ecf59e88ba8e164f77 + directory-1.3.1.5=fbc4e348e0c18c2b80ca9368e0275d72 + process-1.6.3.0=030e21e561f9c3486a49333f2057b804 + bytestring-0.10.8.2=9dd6632a6071c728fe550d499c942f0c + binary-0.8.5.1=246ff363717242ac7a7a3d37e6daabb8 + time-1.8.0.2=fe7eb2e843def3e5fe89f1dd11e7c8ec + containers-0.5.11.0=3a03e29a933c27106de8caad6a8dba89 + array-0.5.2.0=03a64bb9d4be6771406b73145e6e58e1 + filepath-1.4.2=27f5ec6358f0ec240d827eaa0860b2af + template-haskell-2.13.0.0=cc07ddc07c24e039684589af2cb62998 + hpc-0.6.0.3=a05c4ea52ff6193f9d9d777595585331 + transformers-0.5.5.0=b5d2f6cdac279ec17c0fad50f5348c4f + ghc-boot-8.4.4=5acbbd06b980c0291be2a5ab76d8128f + ghc-boot-th-8.4.4=d8bd507419aa2dc5daee657f9d2838de + ghci-8.4.4=73515bf3025d79d8c363ccbbaa51e635 + unix-2.7.2.2=1b1470032d7c086b787322282a984f1c + terminfo-0.4.1.1=7c97c2b70b9b909e033361885d99c5fd +--- +name: ghc-boot +version: 8.4.4 +id: ghc-boot-8.4.4 +key: ghc-boot-8.4.4 +license: BSD-3-Clause +maintainer: ghc-devs@haskell.org +synopsis: Shared functionality between GHC and its boot libraries +description: + This library is shared between GHC, ghc-pkg, and other boot + libraries. + . + A note about "GHC.PackageDb": it only deals with the subset of + the package database that the compiler cares about: modules + paths etc and not package metadata like description, authors + etc. It is thus not a library interface to ghc-pkg and is *not* + suitable for modifying GHC package databases. + . + The package database format and this library are constructed in + such a way that while ghc-pkg depends on Cabal, the GHC library + and program do not have to depend on Cabal. +category: GHC +exposed: True +exposed-modules: + GHC.ForeignSrcLang GHC.LanguageExtensions GHC.PackageDb + GHC.Serialized +hs-libraries: HSghc-boot-8.4.4 +depends: + base-4.11.1.0 binary-0.8.5.1 bytestring-0.10.8.2 directory-1.3.1.5 + filepath-1.4.2 ghc-boot-th-8.4.4 +abi-depends: base-4.11.1.0=b368cab58fa51949d1638013a72f7adf + binary-0.8.5.1=246ff363717242ac7a7a3d37e6daabb8 + bytestring-0.10.8.2=9dd6632a6071c728fe550d499c942f0c + directory-1.3.1.5=fbc4e348e0c18c2b80ca9368e0275d72 + filepath-1.4.2=27f5ec6358f0ec240d827eaa0860b2af + ghc-boot-th-8.4.4=d8bd507419aa2dc5daee657f9d2838de +--- +name: ghc-boot-th +version: 8.4.4 +id: ghc-boot-th-8.4.4 +key: ghc-boot-th-8.4.4 +license: BSD-3-Clause +maintainer: ghc-devs@haskell.org +synopsis: Shared functionality between GHC and the @template-haskell@ + library +description: + This library contains various bits shared between the @ghc@ and + @template-haskell@ libraries. + . + This package exists to ensure that @template-haskell@ has a + minimal set of transitive dependencies, since it is intended to + be depended upon by user code. +category: GHC +exposed: True +exposed-modules: + GHC.ForeignSrcLang.Type GHC.LanguageExtensions.Type GHC.Lexeme +hs-libraries: HSghc-boot-th-8.4.4 +depends: + base-4.11.1.0 +abi-depends: base-4.11.1.0=b368cab58fa51949d1638013a72f7adf +--- +name: ghc-compact +version: 0.1.0.0 +id: ghc-compact-0.1.0.0 +key: ghc-compact-0.1.0.0 +license: BSD-3-Clause +maintainer: libraries@haskell.org +synopsis: In memory storage of deeply evaluated data structure +description: + This package provides minimal functionality for working with + "compact regions", which hold a fully evaluated Haskell object graph. + These regions maintain the invariant that no pointers live inside the struct + that point outside it, which ensures efficient garbage collection without + ever reading the structure contents (effectively, it works as a manually + managed "oldest generation" which is never freed until the whole is + released). + Internally, the struct is stored a single contiguous block of memory, + which allows efficient serialization and deserialization of structs + for distributed computing. +category: Data +exposed: True +exposed-modules: + GHC.Compact GHC.Compact.Serialized +hs-libraries: HSghc-compact-0.1.0.0 +depends: + ghc-prim-0.5.2.0 base-4.11.1.0 bytestring-0.10.8.2 +abi-depends: ghc-prim-0.5.2.0=0a2596c0f516eb6cbf13841c1f06715e + base-4.11.1.0=b368cab58fa51949d1638013a72f7adf + bytestring-0.10.8.2=9dd6632a6071c728fe550d499c942f0c +--- +name: ghc-prim +version: 0.5.2.0 +id: ghc-prim-0.5.2.0 +key: ghc-prim-0.5.2.0 +license: BSD-3-Clause +maintainer: libraries@haskell.org +synopsis: GHC primitives +description: + This package contains the primitive types and operations supplied by GHC. +category: GHC +exposed: True +exposed-modules: + GHC.CString GHC.Classes GHC.Debug GHC.IntWord64 GHC.Magic + GHC.PrimopWrappers GHC.Tuple GHC.Types GHC.Prim +hs-libraries: HSghc-prim-0.5.2.0 +depends: + rts +abi-depends: rts= +--- +name: ghci +version: 8.4.4 +id: ghci-8.4.4 +key: ghci-8.4.4 +license: BSD-3-Clause +maintainer: ghc-devs@haskell.org +synopsis: The library supporting GHC's interactive interpreter +description: + This library offers interfaces which mediate interactions between the + @ghci@ interactive shell and @iserv@, GHC's out-of-process interpreter + backend. +category: GHC +exposed: True +exposed-modules: + GHCi.BinaryArray GHCi.BreakArray GHCi.CreateBCO GHCi.FFI + GHCi.InfoTable GHCi.Message GHCi.ObjLink GHCi.RemoteTypes + GHCi.ResolvedBCO GHCi.Run GHCi.Signals GHCi.StaticPtrTable GHCi.TH + GHCi.TH.Binary SizedSeq +hs-libraries: HSghci-8.4.4 +depends: + array-0.5.2.0 base-4.11.1.0 binary-0.8.5.1 bytestring-0.10.8.2 + containers-0.5.11.0 deepseq-1.4.3.0 filepath-1.4.2 ghc-boot-8.4.4 + ghc-boot-th-8.4.4 template-haskell-2.13.0.0 transformers-0.5.5.0 + unix-2.7.2.2 +abi-depends: array-0.5.2.0=03a64bb9d4be6771406b73145e6e58e1 + base-4.11.1.0=b368cab58fa51949d1638013a72f7adf + binary-0.8.5.1=246ff363717242ac7a7a3d37e6daabb8 + bytestring-0.10.8.2=9dd6632a6071c728fe550d499c942f0c + containers-0.5.11.0=3a03e29a933c27106de8caad6a8dba89 + deepseq-1.4.3.0=c2f0913f017a74ecf59e88ba8e164f77 + filepath-1.4.2=27f5ec6358f0ec240d827eaa0860b2af + ghc-boot-8.4.4=5acbbd06b980c0291be2a5ab76d8128f + ghc-boot-th-8.4.4=d8bd507419aa2dc5daee657f9d2838de + template-haskell-2.13.0.0=cc07ddc07c24e039684589af2cb62998 + transformers-0.5.5.0=b5d2f6cdac279ec17c0fad50f5348c4f + unix-2.7.2.2=1b1470032d7c086b787322282a984f1c +--- +name: haskeline +version: 0.7.4.2 +id: haskeline-0.7.4.2 +key: haskeline-0.7.4.2 +license: BSD-3-Clause +copyright: (c) Judah Jacobson +maintainer: Judah Jacobson +author: Judah Jacobson +stability: Stable +homepage: https://github.com/judah/haskeline +synopsis: A command-line interface for user input, written in Haskell. +description: + Haskeline provides a user interface for line input in command-line + programs. This library is similar in purpose to readline, but since + it is written in Haskell it is (hopefully) more easily used in other + Haskell programs. + . + Haskeline runs both on POSIX-compatible systems and on Windows. +category: User Interfaces +exposed: True +exposed-modules: + System.Console.Haskeline System.Console.Haskeline.Completion + System.Console.Haskeline.History System.Console.Haskeline.IO + System.Console.Haskeline.MonadException +hidden-modules: System.Console.Haskeline.Backend + System.Console.Haskeline.Backend.WCWidth + System.Console.Haskeline.Command + System.Console.Haskeline.Command.Completion + System.Console.Haskeline.Command.History + System.Console.Haskeline.Command.KillRing + System.Console.Haskeline.Directory System.Console.Haskeline.Emacs + System.Console.Haskeline.InputT System.Console.Haskeline.Key + System.Console.Haskeline.LineState System.Console.Haskeline.Monads + System.Console.Haskeline.Prefs System.Console.Haskeline.Recover + System.Console.Haskeline.RunCommand System.Console.Haskeline.Term + System.Console.Haskeline.Command.Undo System.Console.Haskeline.Vi + System.Console.Haskeline.Backend.Posix + System.Console.Haskeline.Backend.Posix.Encoder + System.Console.Haskeline.Backend.DumbTerm + System.Console.Haskeline.Backend.Terminfo +hs-libraries: HShaskeline-0.7.4.2 +depends: + base-4.11.1.0 containers-0.5.11.0 directory-1.3.1.5 + bytestring-0.10.8.2 filepath-1.4.2 transformers-0.5.5.0 + process-1.6.3.0 stm-2.4.5.1 unix-2.7.2.2 terminfo-0.4.1.1 +abi-depends: base-4.11.1.0=b368cab58fa51949d1638013a72f7adf + containers-0.5.11.0=3a03e29a933c27106de8caad6a8dba89 + directory-1.3.1.5=fbc4e348e0c18c2b80ca9368e0275d72 + bytestring-0.10.8.2=9dd6632a6071c728fe550d499c942f0c + filepath-1.4.2=27f5ec6358f0ec240d827eaa0860b2af + transformers-0.5.5.0=b5d2f6cdac279ec17c0fad50f5348c4f + process-1.6.3.0=030e21e561f9c3486a49333f2057b804 + stm-2.4.5.1=e1689617987db6dbcec99141fd7e70d8 + unix-2.7.2.2=1b1470032d7c086b787322282a984f1c + terminfo-0.4.1.1=7c97c2b70b9b909e033361885d99c5fd +--- +name: hpc +version: 0.6.0.3 +id: hpc-0.6.0.3 +key: hpc-0.6.0.3 +license: BSD-3-Clause +maintainer: ghc-devs@haskell.org +author: Andy Gill +synopsis: Code Coverage Library for Haskell +description: + This package provides the code coverage library for Haskell. + . + See for more + information. +category: Control +exposed: True +exposed-modules: + Trace.Hpc.Mix Trace.Hpc.Reflect Trace.Hpc.Tix Trace.Hpc.Util +hs-libraries: HShpc-0.6.0.3 +depends: + base-4.11.1.0 containers-0.5.11.0 directory-1.3.1.5 filepath-1.4.2 + time-1.8.0.2 +abi-depends: base-4.11.1.0=b368cab58fa51949d1638013a72f7adf + containers-0.5.11.0=3a03e29a933c27106de8caad6a8dba89 + directory-1.3.1.5=fbc4e348e0c18c2b80ca9368e0275d72 + filepath-1.4.2=27f5ec6358f0ec240d827eaa0860b2af + time-1.8.0.2=fe7eb2e843def3e5fe89f1dd11e7c8ec +--- +name: integer-gmp +version: 1.0.2.0 +id: integer-gmp-1.0.2.0 +key: integer-gmp-1.0.2.0 +license: BSD-3-Clause +maintainer: hvr@gnu.org +author: Herbert Valerio Riedel +synopsis: Integer library based on GMP +category: Numeric, Algebra +exposed: True +exposed-modules: + GHC.Integer GHC.Integer.GMP.Internals GHC.Integer.Logarithms + GHC.Integer.Logarithms.Internals +hidden-modules: GHC.Integer.Type +hs-libraries: HSinteger-gmp-1.0.2.0 +depends: + ghc-prim-0.5.2.0 +abi-depends: ghc-prim-0.5.2.0=0a2596c0f516eb6cbf13841c1f06715e +--- +name: mtl +version: 2.2.2 +id: mtl-2.2.2 +key: mtl-2.2.2 +license: BSD-3-Clause +maintainer: Edward Kmett +author: Andy Gill +homepage: http://github.com/haskell/mtl +synopsis: Monad classes, using functional dependencies +description: + Monad classes using functional dependencies, with instances + for various monad transformers, inspired by the paper + /Functional Programming with Overloading and Higher-Order Polymorphism/, + by Mark P Jones, in /Advanced School of Functional Programming/, 1995 + (). +category: Control +exposed: True +exposed-modules: + Control.Monad.Cont Control.Monad.Cont.Class Control.Monad.Error + Control.Monad.Error.Class Control.Monad.Except + Control.Monad.Identity Control.Monad.List Control.Monad.RWS + Control.Monad.RWS.Class Control.Monad.RWS.Lazy + Control.Monad.RWS.Strict Control.Monad.Reader + Control.Monad.Reader.Class Control.Monad.State + Control.Monad.State.Class Control.Monad.State.Lazy + Control.Monad.State.Strict Control.Monad.Trans Control.Monad.Writer + Control.Monad.Writer.Class Control.Monad.Writer.Lazy + Control.Monad.Writer.Strict +hs-libraries: HSmtl-2.2.2 +depends: + base-4.11.1.0 transformers-0.5.5.0 +abi-depends: base-4.11.1.0=b368cab58fa51949d1638013a72f7adf + transformers-0.5.5.0=b5d2f6cdac279ec17c0fad50f5348c4f +--- +name: parsec +version: 3.1.13.0 +id: parsec-3.1.13.0 +key: parsec-3.1.13.0 +license: BSD-3-Clause +maintainer: Herbert Valerio Riedel +author: Daan Leijen , Paolo Martini , Antoine Latter +homepage: https://github.com/haskell/parsec +synopsis: Monadic parser combinators +description: + Parsec is designed from scratch as an industrial-strength parser + library. It is simple, safe, well documented (on the package + homepage), has extensive libraries, good error messages, + and is fast. It is defined as a monad transformer that can be + stacked on arbitrary monads, and it is also parametric in the + input stream type. + . + The main entry point is the "Text.Parsec" module which provides + defaults for parsing 'Char'acter data. + . + The "Text.ParserCombinators.Parsec" module hierarchy contains + the legacy @parsec-2@ API and may be removed at some point in + the future. +category: Parsing +exposed: True +exposed-modules: + Text.Parsec Text.Parsec.ByteString Text.Parsec.ByteString.Lazy + Text.Parsec.Char Text.Parsec.Combinator Text.Parsec.Error + Text.Parsec.Expr Text.Parsec.Language Text.Parsec.Perm + Text.Parsec.Pos Text.Parsec.Prim Text.Parsec.String + Text.Parsec.Text Text.Parsec.Text.Lazy Text.Parsec.Token + Text.ParserCombinators.Parsec Text.ParserCombinators.Parsec.Char + Text.ParserCombinators.Parsec.Combinator + Text.ParserCombinators.Parsec.Error + Text.ParserCombinators.Parsec.Expr + Text.ParserCombinators.Parsec.Language + Text.ParserCombinators.Parsec.Perm + Text.ParserCombinators.Parsec.Pos + Text.ParserCombinators.Parsec.Prim + Text.ParserCombinators.Parsec.Token +hs-libraries: HSparsec-3.1.13.0 +depends: + base-4.11.1.0 mtl-2.2.2 bytestring-0.10.8.2 text-1.2.3.1 +abi-depends: base-4.11.1.0=b368cab58fa51949d1638013a72f7adf + mtl-2.2.2=28a8b7973060d82dd465f14029339d4f + bytestring-0.10.8.2=9dd6632a6071c728fe550d499c942f0c + text-1.2.3.1=e0d7b65ba8d31007e57ce45ddef7efb8 +--- +name: pretty +version: 1.1.3.6 +id: pretty-1.1.3.6 +key: pretty-1.1.3.6 +license: BSD-3-Clause +maintainer: David Terei +stability: Stable +homepage: http://github.com/haskell/pretty +synopsis: Pretty-printing library +description: + This package contains a pretty-printing library, a set of API's + that provides a way to easily print out text in a consistent + format of your choosing. This is useful for compilers and related + tools. + . + This library was originally designed by John Hughes's and has since + been heavily modified by Simon Peyton Jones. +category: Text +exposed: True +exposed-modules: + Text.PrettyPrint Text.PrettyPrint.Annotated + Text.PrettyPrint.Annotated.HughesPJ + Text.PrettyPrint.Annotated.HughesPJClass Text.PrettyPrint.HughesPJ + Text.PrettyPrint.HughesPJClass +hs-libraries: HSpretty-1.1.3.6 +depends: + base-4.11.1.0 deepseq-1.4.3.0 ghc-prim-0.5.2.0 +abi-depends: base-4.11.1.0=b368cab58fa51949d1638013a72f7adf + deepseq-1.4.3.0=c2f0913f017a74ecf59e88ba8e164f77 + ghc-prim-0.5.2.0=0a2596c0f516eb6cbf13841c1f06715e +--- +name: process +version: 1.6.3.0 +id: process-1.6.3.0 +key: process-1.6.3.0 +license: BSD-3-Clause +maintainer: libraries@haskell.org +synopsis: Process libraries +description: + This package contains libraries for dealing with system processes. + . + The typed-process package is a more recent take on a process API, + which uses this package internally. It features better binary + support, easier concurrency, and a more composable API. You can + read more about it at + . +category: System +exposed: True +exposed-modules: + System.Cmd System.Process System.Process.Internals +hidden-modules: System.Process.Common System.Process.Posix +hs-libraries: HSprocess-1.6.3.0 +includes: + runProcess.h +depends: + base-4.11.1.0 directory-1.3.1.5 filepath-1.4.2 deepseq-1.4.3.0 + unix-2.7.2.2 +abi-depends: base-4.11.1.0=b368cab58fa51949d1638013a72f7adf + directory-1.3.1.5=fbc4e348e0c18c2b80ca9368e0275d72 + filepath-1.4.2=27f5ec6358f0ec240d827eaa0860b2af + deepseq-1.4.3.0=c2f0913f017a74ecf59e88ba8e164f77 + unix-2.7.2.2=1b1470032d7c086b787322282a984f1c +--- +name: rts +version: 1.0 +id: rts +key: rts +license: BSD-3-Clause +maintainer: glasgow-haskell-users@haskell.org +exposed: True +hs-libraries: HSrts Cffi +extra-libraries: + m dl +includes: + Stg.h +ld-options: "-Wl,-u,_base_GHCziTopHandler_runIO_closure" + "-Wl,-u,_base_GHCziTopHandler_runNonIO_closure" + "-Wl,-u,_ghczmprim_GHCziTuple_Z0T_closure" + "-Wl,-u,_ghczmprim_GHCziTypes_True_closure" + "-Wl,-u,_ghczmprim_GHCziTypes_False_closure" + "-Wl,-u,_base_GHCziPack_unpackCString_closure" + "-Wl,-u,_base_GHCziWeak_runFinalizzerBatch_closure" + "-Wl,-u,_base_GHCziIOziException_stackOverflow_closure" + "-Wl,-u,_base_GHCziIOziException_heapOverflow_closure" + "-Wl,-u,_base_GHCziIOziException_allocationLimitExceeded_closure" + "-Wl,-u,_base_GHCziIOziException_blockedIndefinitelyOnMVar_closure" + "-Wl,-u,_base_GHCziIOziException_blockedIndefinitelyOnSTM_closure" + "-Wl,-u,_base_GHCziIOziException_cannotCompactFunction_closure" + "-Wl,-u,_base_GHCziIOziException_cannotCompactPinned_closure" + "-Wl,-u,_base_GHCziIOziException_cannotCompactMutable_closure" + "-Wl,-u,_base_ControlziExceptionziBase_absentSumFieldError_closure" + "-Wl,-u,_base_ControlziExceptionziBase_nonTermination_closure" + "-Wl,-u,_base_ControlziExceptionziBase_nestedAtomically_closure" + "-Wl,-u,_base_GHCziEventziThread_blockedOnBadFD_closure" + "-Wl,-u,_base_GHCziConcziSync_runSparks_closure" + "-Wl,-u,_base_GHCziConcziIO_ensureIOManagerIsRunning_closure" + "-Wl,-u,_base_GHCziConcziIO_ioManagerCapabilitiesChanged_closure" + "-Wl,-u,_base_GHCziConcziSignal_runHandlersPtr_closure" + "-Wl,-u,_base_GHCziTopHandler_flushStdHandles_closure" + "-Wl,-u,_base_GHCziTopHandler_runMainIO_closure" + "-Wl,-u,_ghczmprim_GHCziTypes_Czh_con_info" + "-Wl,-u,_ghczmprim_GHCziTypes_Izh_con_info" + "-Wl,-u,_ghczmprim_GHCziTypes_Fzh_con_info" + "-Wl,-u,_ghczmprim_GHCziTypes_Dzh_con_info" + "-Wl,-u,_ghczmprim_GHCziTypes_Wzh_con_info" + "-Wl,-u,_base_GHCziPtr_Ptr_con_info" + "-Wl,-u,_base_GHCziPtr_FunPtr_con_info" + "-Wl,-u,_base_GHCziInt_I8zh_con_info" + "-Wl,-u,_base_GHCziInt_I16zh_con_info" + "-Wl,-u,_base_GHCziInt_I32zh_con_info" + "-Wl,-u,_base_GHCziInt_I64zh_con_info" + "-Wl,-u,_base_GHCziWord_W8zh_con_info" + "-Wl,-u,_base_GHCziWord_W16zh_con_info" + "-Wl,-u,_base_GHCziWord_W32zh_con_info" + "-Wl,-u,_base_GHCziWord_W64zh_con_info" + "-Wl,-u,_base_GHCziStable_StablePtr_con_info" + "-Wl,-u,_hs_atomic_add8" "-Wl,-u,_hs_atomic_add16" + "-Wl,-u,_hs_atomic_add32" "-Wl,-u,_hs_atomic_add64" + "-Wl,-u,_hs_atomic_sub8" "-Wl,-u,_hs_atomic_sub16" + "-Wl,-u,_hs_atomic_sub32" "-Wl,-u,_hs_atomic_sub64" + "-Wl,-u,_hs_atomic_and8" "-Wl,-u,_hs_atomic_and16" + "-Wl,-u,_hs_atomic_and32" "-Wl,-u,_hs_atomic_and64" + "-Wl,-u,_hs_atomic_nand8" "-Wl,-u,_hs_atomic_nand16" + "-Wl,-u,_hs_atomic_nand32" "-Wl,-u,_hs_atomic_nand64" + "-Wl,-u,_hs_atomic_or8" "-Wl,-u,_hs_atomic_or16" + "-Wl,-u,_hs_atomic_or32" "-Wl,-u,_hs_atomic_or64" + "-Wl,-u,_hs_atomic_xor8" "-Wl,-u,_hs_atomic_xor16" + "-Wl,-u,_hs_atomic_xor32" "-Wl,-u,_hs_atomic_xor64" + "-Wl,-u,_hs_cmpxchg8" "-Wl,-u,_hs_cmpxchg16" "-Wl,-u,_hs_cmpxchg32" + "-Wl,-u,_hs_cmpxchg64" "-Wl,-u,_hs_atomicread8" + "-Wl,-u,_hs_atomicread16" "-Wl,-u,_hs_atomicread32" + "-Wl,-u,_hs_atomicread64" "-Wl,-u,_hs_atomicwrite8" + "-Wl,-u,_hs_atomicwrite16" "-Wl,-u,_hs_atomicwrite32" + "-Wl,-u,_hs_atomicwrite64" "-Wl,-search_paths_first" +--- +name: stm +version: 2.4.5.1 +id: stm-2.4.5.1 +key: stm-2.4.5.1 +license: BSD-3-Clause +maintainer: libraries@haskell.org +homepage: https://wiki.haskell.org/Software_transactional_memory +synopsis: Software Transactional Memory +description: + Software Transactional Memory, or STM, is an abstraction for + concurrent communication. The main benefits of STM are + /composability/ and /modularity/. That is, using STM you can write + concurrent abstractions that can be easily composed with any other + abstraction built using STM, without exposing the details of how + your abstraction ensures safety. This is typically not the case + with other forms of concurrent communication, such as locks or + 'MVar's. +category: Concurrency +exposed: True +exposed-modules: + Control.Concurrent.STM Control.Concurrent.STM.TArray + Control.Concurrent.STM.TBQueue Control.Concurrent.STM.TChan + Control.Concurrent.STM.TMVar Control.Concurrent.STM.TQueue + Control.Concurrent.STM.TSem Control.Concurrent.STM.TVar + Control.Monad.STM +hidden-modules: Control.Sequential.STM +hs-libraries: HSstm-2.4.5.1 +depends: + base-4.11.1.0 array-0.5.2.0 +abi-depends: base-4.11.1.0=b368cab58fa51949d1638013a72f7adf + array-0.5.2.0=03a64bb9d4be6771406b73145e6e58e1 +--- +name: template-haskell +version: 2.13.0.0 +id: template-haskell-2.13.0.0 +key: template-haskell-2.13.0.0 +license: BSD-3-Clause +maintainer: libraries@haskell.org +synopsis: Support library for Template Haskell +description: + This package provides modules containing facilities for manipulating + Haskell source code using Template Haskell. + . + See for more + information. +category: Template Haskell +exposed: True +exposed-modules: + Language.Haskell.TH Language.Haskell.TH.LanguageExtensions + Language.Haskell.TH.Lib Language.Haskell.TH.Lib.Internal + Language.Haskell.TH.Ppr Language.Haskell.TH.PprLib + Language.Haskell.TH.Quote Language.Haskell.TH.Syntax +hidden-modules: Language.Haskell.TH.Lib.Map +hs-libraries: HStemplate-haskell-2.13.0.0 +depends: + base-4.11.1.0 ghc-boot-th-8.4.4 pretty-1.1.3.6 +abi-depends: base-4.11.1.0=b368cab58fa51949d1638013a72f7adf + ghc-boot-th-8.4.4=d8bd507419aa2dc5daee657f9d2838de + pretty-1.1.3.6=a22b26e5f7ddf72bac19d7d229502dac +--- +name: terminfo +version: 0.4.1.1 +id: terminfo-0.4.1.1 +key: terminfo-0.4.1.1 +license: BSD-3-Clause +copyright: (c) Judah Jacobson +maintainer: Judah Jacobson +author: Judah Jacobson +stability: Stable +homepage: https://github.com/judah/terminfo +synopsis: Haskell bindings to the terminfo library. +description: + This library provides an interface to the terminfo database (via bindings to the + curses library). allows POSIX + systems to interact with a variety of terminals using a standard set of capabilities. +category: User Interfaces +exposed: True +exposed-modules: + System.Console.Terminfo System.Console.Terminfo.Base + System.Console.Terminfo.Color System.Console.Terminfo.Cursor + System.Console.Terminfo.Edit System.Console.Terminfo.Effects + System.Console.Terminfo.Keys +hs-libraries: HSterminfo-0.4.1.1 +extra-libraries: + ncurses +depends: + base-4.11.1.0 +abi-depends: base-4.11.1.0=b368cab58fa51949d1638013a72f7adf +--- +name: text +version: 1.2.3.1 +id: text-1.2.3.1 +key: text-1.2.3.1 +license: BSD-2-Clause +copyright: 2009-2011 Bryan O'Sullivan, 2008-2009 Tom Harper +maintainer: Bryan O'Sullivan , Herbert Valerio Riedel +author: Bryan O'Sullivan +homepage: https://github.com/haskell/text +synopsis: An efficient packed Unicode text type. +description: + . + An efficient packed, immutable Unicode text type (both strict and + lazy), with a powerful loop fusion optimization framework. + . + The 'Text' type represents Unicode character strings, in a time and + space-efficient manner. This package provides text processing + capabilities that are optimized for performance critical use, both + in terms of large data quantities and high speed. + . + The 'Text' type provides character-encoding, type-safe case + conversion via whole-string case conversion functions (see "Data.Text"). + It also provides a range of functions for converting 'Text' values to + and from 'ByteStrings', using several standard encodings + (see "Data.Text.Encoding"). + . + Efficient locale-sensitive support for text IO is also supported + (see "Data.Text.IO"). + . + These modules are intended to be imported qualified, to avoid name + clashes with Prelude functions, e.g. + . + > import qualified Data.Text as T + . + To use an extended and very rich family of functions for working + with Unicode text (including normalization, regular expressions, + non-standard encodings, text breaking, and locales), see + the [text-icu package](https://hackage.haskell.org/package/text-icu) + based on the well-respected and liberally + licensed [ICU library](http://site.icu-project.org/). +category: Data, Text +exposed: True +exposed-modules: + Data.Text Data.Text.Array Data.Text.Encoding + Data.Text.Encoding.Error Data.Text.Foreign Data.Text.IO + Data.Text.Internal Data.Text.Internal.Builder + Data.Text.Internal.Builder.Functions + Data.Text.Internal.Builder.Int.Digits + Data.Text.Internal.Builder.RealFloat.Functions + Data.Text.Internal.Encoding.Fusion + Data.Text.Internal.Encoding.Fusion.Common + Data.Text.Internal.Encoding.Utf16 Data.Text.Internal.Encoding.Utf32 + Data.Text.Internal.Encoding.Utf8 Data.Text.Internal.Functions + Data.Text.Internal.Fusion Data.Text.Internal.Fusion.CaseMapping + Data.Text.Internal.Fusion.Common Data.Text.Internal.Fusion.Size + Data.Text.Internal.Fusion.Types Data.Text.Internal.IO + Data.Text.Internal.Lazy Data.Text.Internal.Lazy.Encoding.Fusion + Data.Text.Internal.Lazy.Fusion Data.Text.Internal.Lazy.Search + Data.Text.Internal.Private Data.Text.Internal.Read + Data.Text.Internal.Search Data.Text.Internal.Unsafe + Data.Text.Internal.Unsafe.Char Data.Text.Internal.Unsafe.Shift + Data.Text.Lazy Data.Text.Lazy.Builder Data.Text.Lazy.Builder.Int + Data.Text.Lazy.Builder.RealFloat Data.Text.Lazy.Encoding + Data.Text.Lazy.IO Data.Text.Lazy.Internal Data.Text.Lazy.Read + Data.Text.Read Data.Text.Unsafe +hidden-modules: Data.Text.Show +hs-libraries: HStext-1.2.3.1 +depends: + array-0.5.2.0 base-4.11.1.0 binary-0.8.5.1 deepseq-1.4.3.0 + ghc-prim-0.5.2.0 bytestring-0.10.8.2 integer-gmp-1.0.2.0 +abi-depends: array-0.5.2.0=03a64bb9d4be6771406b73145e6e58e1 + base-4.11.1.0=b368cab58fa51949d1638013a72f7adf + binary-0.8.5.1=246ff363717242ac7a7a3d37e6daabb8 + deepseq-1.4.3.0=c2f0913f017a74ecf59e88ba8e164f77 + ghc-prim-0.5.2.0=0a2596c0f516eb6cbf13841c1f06715e + bytestring-0.10.8.2=9dd6632a6071c728fe550d499c942f0c + integer-gmp-1.0.2.0=28d9d8fbabb28cc19fc92446ffd9b739 +--- +name: time +version: 1.8.0.2 +id: time-1.8.0.2 +key: time-1.8.0.2 +license: BSD-3-Clause +maintainer: +author: Ashley Yakeley +stability: stable +homepage: https://github.com/haskell/time +synopsis: A time library +description: + A time library +category: Time +exposed: True +exposed-modules: + Data.Time Data.Time.Calendar Data.Time.Calendar.Easter + Data.Time.Calendar.Julian Data.Time.Calendar.MonthDay + Data.Time.Calendar.OrdinalDate Data.Time.Calendar.WeekDate + Data.Time.Clock Data.Time.Clock.POSIX Data.Time.Clock.System + Data.Time.Clock.TAI Data.Time.Format Data.Time.LocalTime +hidden-modules: Data.Time.Calendar.Private Data.Time.Calendar.Days + Data.Time.Calendar.Gregorian Data.Time.Calendar.JulianYearDay + Data.Time.Clock.Internal.DiffTime + Data.Time.Clock.Internal.AbsoluteTime + Data.Time.Clock.Internal.NominalDiffTime + Data.Time.Clock.Internal.POSIXTime + Data.Time.Clock.Internal.UniversalTime + Data.Time.Clock.Internal.SystemTime + Data.Time.Clock.Internal.UTCTime Data.Time.Clock.Internal.CTimeval + Data.Time.Clock.Internal.CTimespec Data.Time.Clock.Internal.UTCDiff + Data.Time.LocalTime.Internal.TimeZone + Data.Time.LocalTime.Internal.TimeOfDay + Data.Time.LocalTime.Internal.LocalTime + Data.Time.LocalTime.Internal.ZonedTime Data.Time.Format.Parse + Data.Time.Format.Locale +hs-libraries: HStime-1.8.0.2 +depends: + base-4.11.1.0 deepseq-1.4.3.0 +abi-depends: base-4.11.1.0=b368cab58fa51949d1638013a72f7adf + deepseq-1.4.3.0=c2f0913f017a74ecf59e88ba8e164f77 +--- +name: transformers +version: 0.5.5.0 +id: transformers-0.5.5.0 +key: transformers-0.5.5.0 +license: BSD-3-Clause +maintainer: Ross Paterson +author: Andy Gill, Ross Paterson +synopsis: Concrete functor and monad transformers +description: + A portable library of functor and monad transformers, inspired by + the paper \"Functional Programming with Overloading and Higher-Order + Polymorphism\", by Mark P Jones, + in /Advanced School of Functional Programming/, 1995 + (). + . + This package contains: + . + * the monad transformer class (in "Control.Monad.Trans.Class") + . + * concrete functor and monad transformers, each with associated + operations and functions to lift operations associated with other + transformers. + . + The package can be used on its own in portable Haskell code, in + which case operations need to be manually lifted through transformer + stacks (see "Control.Monad.Trans.Class" for some examples). + Alternatively, it can be used with the non-portable monad classes in + the @mtl@ or @monads-tf@ packages, which automatically lift operations + introduced by monad transformers through other transformers. +category: Control +exposed: True +exposed-modules: + Control.Applicative.Backwards Control.Applicative.Lift + Control.Monad.Signatures Control.Monad.Trans.Accum + Control.Monad.Trans.Class Control.Monad.Trans.Cont + Control.Monad.Trans.Error Control.Monad.Trans.Except + Control.Monad.Trans.Identity Control.Monad.Trans.List + Control.Monad.Trans.Maybe Control.Monad.Trans.RWS + Control.Monad.Trans.RWS.Lazy Control.Monad.Trans.RWS.Strict + Control.Monad.Trans.Reader Control.Monad.Trans.Select + Control.Monad.Trans.State Control.Monad.Trans.State.Lazy + Control.Monad.Trans.State.Strict Control.Monad.Trans.Writer + Control.Monad.Trans.Writer.Lazy Control.Monad.Trans.Writer.Strict + Data.Functor.Constant Data.Functor.Reverse +hs-libraries: HStransformers-0.5.5.0 +depends: + base-4.11.1.0 +abi-depends: base-4.11.1.0=b368cab58fa51949d1638013a72f7adf +--- +name: unix +version: 2.7.2.2 +id: unix-2.7.2.2 +key: unix-2.7.2.2 +license: BSD-3-Clause +maintainer: libraries@haskell.org +homepage: https://github.com/haskell/unix +synopsis: POSIX functionality +description: + This package gives you access to the set of operating system + services standardised by + + (or the IEEE Portable Operating System Interface for Computing + Environments - IEEE Std. 1003.1). + . + The package is not supported under Windows. +category: System +exposed: True +exposed-modules: + System.Posix System.Posix.ByteString + System.Posix.ByteString.FilePath System.Posix.Directory + System.Posix.Directory.ByteString System.Posix.DynamicLinker + System.Posix.DynamicLinker.ByteString + System.Posix.DynamicLinker.Module + System.Posix.DynamicLinker.Module.ByteString + System.Posix.DynamicLinker.Prim System.Posix.Env + System.Posix.Env.ByteString System.Posix.Error System.Posix.Fcntl + System.Posix.Files System.Posix.Files.ByteString System.Posix.IO + System.Posix.IO.ByteString System.Posix.Process + System.Posix.Process.ByteString System.Posix.Process.Internals + System.Posix.Resource System.Posix.Semaphore System.Posix.SharedMem + System.Posix.Signals System.Posix.Signals.Exts System.Posix.Temp + System.Posix.Temp.ByteString System.Posix.Terminal + System.Posix.Terminal.ByteString System.Posix.Time + System.Posix.Unistd System.Posix.User +hidden-modules: System.Posix.Directory.Common + System.Posix.DynamicLinker.Common System.Posix.Files.Common + System.Posix.IO.Common System.Posix.Process.Common + System.Posix.Terminal.Common +hs-libraries: HSunix-2.7.2.2 +includes: + HsUnix.h execvpe.h +depends: + base-4.11.1.0 bytestring-0.10.8.2 time-1.8.0.2 +abi-depends: base-4.11.1.0=b368cab58fa51949d1638013a72f7adf + bytestring-0.10.8.2=9dd6632a6071c728fe550d499c942f0c + time-1.8.0.2=fe7eb2e843def3e5fe89f1dd11e7c8ec +--- +name: xhtml +version: 3000.2.2.1 +id: xhtml-3000.2.2.1 +key: xhtml-3000.2.2.1 +license: BSD-3-Clause +copyright: Bjorn Bringert 2004-2006, Andy Gill and the Oregon + Graduate Institute of Science and Technology, 1999-2001 +maintainer: Chris Dornan +author: Bjorn Bringert +stability: Stable +homepage: https://github.com/haskell/xhtml +synopsis: An XHTML combinator library +description: + This package provides combinators for producing + XHTML 1.0, including the Strict, Transitional and + Frameset variants. +category: Web, XML, Pretty Printer +exposed: True +exposed-modules: + Text.XHtml Text.XHtml.Debug Text.XHtml.Frameset Text.XHtml.Strict + Text.XHtml.Table Text.XHtml.Transitional +hidden-modules: Text.XHtml.Strict.Attributes + Text.XHtml.Strict.Elements Text.XHtml.Frameset.Attributes + Text.XHtml.Frameset.Elements Text.XHtml.Transitional.Attributes + Text.XHtml.Transitional.Elements Text.XHtml.BlockTable + Text.XHtml.Extras Text.XHtml.Internals +hs-libraries: HSxhtml-3000.2.2.1 +depends: + base-4.11.1.0 +abi-depends: base-4.11.1.0=b368cab58fa51949d1638013a72f7adf diff --git a/materialized/dummy-ghc/ghc-8.4.4-x86_64-darwin/ghc-pkg/version b/materialized/dummy-ghc/ghc-8.4.4-x86_64-darwin/ghc-pkg/version new file mode 100644 index 000000000..4bd3cb02a --- /dev/null +++ b/materialized/dummy-ghc/ghc-8.4.4-x86_64-darwin/ghc-pkg/version @@ -0,0 +1 @@ +GHC package manager version 8.4.4 diff --git a/materialized/dummy-ghc/ghc-8.4.4-x86_64-darwin/ghc/info b/materialized/dummy-ghc/ghc-8.4.4-x86_64-darwin/ghc/info new file mode 100644 index 000000000..2466a17f8 --- /dev/null +++ b/materialized/dummy-ghc/ghc-8.4.4-x86_64-darwin/ghc/info @@ -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") + ] diff --git a/materialized/dummy-ghc/ghc-8.4.4-x86_64-darwin/ghc/numeric-version b/materialized/dummy-ghc/ghc-8.4.4-x86_64-darwin/ghc/numeric-version new file mode 100644 index 000000000..917d38ec9 --- /dev/null +++ b/materialized/dummy-ghc/ghc-8.4.4-x86_64-darwin/ghc/numeric-version @@ -0,0 +1 @@ +8.4.4 diff --git a/materialized/dummy-ghc/ghc-8.4.4-x86_64-darwin/ghc/supported-languages b/materialized/dummy-ghc/ghc-8.4.4-x86_64-darwin/ghc/supported-languages new file mode 100644 index 000000000..75a8fc03f --- /dev/null +++ b/materialized/dummy-ghc/ghc-8.4.4-x86_64-darwin/ghc/supported-languages @@ -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 diff --git a/materialized/dummy-ghc/ghc-8.4.4-x86_64-linux/ghc-pkg/dump-global b/materialized/dummy-ghc/ghc-8.4.4-x86_64-linux/ghc-pkg/dump-global new file mode 100644 index 000000000..5e4a0358b --- /dev/null +++ b/materialized/dummy-ghc/ghc-8.4.4-x86_64-linux/ghc-pkg/dump-global @@ -0,0 +1,1471 @@ +name: Cabal +version: 2.2.0.1 +id: Cabal-2.2.0.1 +key: Cabal-2.2.0.1 +license: BSD-3-Clause +copyright: 2003-2018, Cabal Development Team (see AUTHORS file) +maintainer: cabal-devel@haskell.org +author: Cabal Development Team +homepage: http://www.haskell.org/cabal/ +synopsis: A framework for packaging Haskell software +description: + The Haskell Common Architecture for Building Applications and + Libraries: a framework defining a common interface for authors to more + easily build their Haskell applications in a portable way. + . + The Haskell Cabal is part of a larger infrastructure for distributing, + organizing, and cataloging Haskell libraries and tools. +category: Distribution +exposed: True +exposed-modules: + Distribution.Backpack Distribution.Backpack.ComponentsGraph + Distribution.Backpack.Configure + Distribution.Backpack.ConfiguredComponent + Distribution.Backpack.DescribeUnitId + Distribution.Backpack.FullUnitId + Distribution.Backpack.LinkedComponent + Distribution.Backpack.ModSubst Distribution.Backpack.ModuleShape + Distribution.Backpack.PreModuleShape Distribution.CabalSpecVersion + Distribution.Compat.Binary Distribution.Compat.CharParsing + Distribution.Compat.CreatePipe Distribution.Compat.DList + Distribution.Compat.Directory Distribution.Compat.Environment + Distribution.Compat.Exception Distribution.Compat.Graph + Distribution.Compat.Internal.TempFile Distribution.Compat.Lens + Distribution.Compat.Map.Strict Distribution.Compat.Newtype + Distribution.Compat.Parsing Distribution.Compat.Prelude.Internal + Distribution.Compat.ReadP Distribution.Compat.Semigroup + Distribution.Compat.Stack Distribution.Compat.Time + Distribution.Compiler Distribution.FieldGrammar + Distribution.FieldGrammar.Class + Distribution.FieldGrammar.FieldDescrs + Distribution.FieldGrammar.Parsec Distribution.FieldGrammar.Pretty + Distribution.InstalledPackageInfo Distribution.License + Distribution.Make Distribution.ModuleName Distribution.Package + Distribution.PackageDescription + Distribution.PackageDescription.Check + Distribution.PackageDescription.Configuration + Distribution.PackageDescription.FieldGrammar + Distribution.PackageDescription.Parsec + Distribution.PackageDescription.PrettyPrint + Distribution.PackageDescription.Quirks + Distribution.PackageDescription.Utils Distribution.ParseUtils + Distribution.Parsec.Class Distribution.Parsec.Common + Distribution.Parsec.ConfVar Distribution.Parsec.Field + Distribution.Parsec.FieldLineStream Distribution.Parsec.Lexer + Distribution.Parsec.LexerMonad Distribution.Parsec.Newtypes + Distribution.Parsec.ParseResult Distribution.Parsec.Parser + Distribution.Pretty Distribution.PrettyUtils Distribution.ReadE + Distribution.SPDX Distribution.SPDX.License + Distribution.SPDX.LicenseExceptionId + Distribution.SPDX.LicenseExpression Distribution.SPDX.LicenseId + Distribution.SPDX.LicenseReference Distribution.Simple + Distribution.Simple.Bench Distribution.Simple.Build + Distribution.Simple.Build.Macros + Distribution.Simple.Build.PathsModule + Distribution.Simple.BuildPaths Distribution.Simple.BuildTarget + Distribution.Simple.BuildToolDepends Distribution.Simple.CCompiler + Distribution.Simple.Command Distribution.Simple.Compiler + Distribution.Simple.Configure Distribution.Simple.Doctest + Distribution.Simple.GHC Distribution.Simple.GHCJS + Distribution.Simple.Haddock Distribution.Simple.HaskellSuite + Distribution.Simple.Hpc Distribution.Simple.Install + Distribution.Simple.InstallDirs Distribution.Simple.JHC + Distribution.Simple.LHC Distribution.Simple.LocalBuildInfo + Distribution.Simple.PackageIndex Distribution.Simple.PreProcess + Distribution.Simple.PreProcess.Unlit Distribution.Simple.Program + Distribution.Simple.Program.Ar Distribution.Simple.Program.Builtin + Distribution.Simple.Program.Db Distribution.Simple.Program.Find + Distribution.Simple.Program.GHC Distribution.Simple.Program.HcPkg + Distribution.Simple.Program.Hpc + Distribution.Simple.Program.Internal Distribution.Simple.Program.Ld + Distribution.Simple.Program.ResponseFile + Distribution.Simple.Program.Run Distribution.Simple.Program.Script + Distribution.Simple.Program.Strip Distribution.Simple.Program.Types + Distribution.Simple.Register Distribution.Simple.Setup + Distribution.Simple.SrcDist Distribution.Simple.Test + Distribution.Simple.Test.ExeV10 Distribution.Simple.Test.LibV09 + Distribution.Simple.Test.Log Distribution.Simple.UHC + Distribution.Simple.UserHooks Distribution.Simple.Utils + Distribution.System Distribution.TestSuite Distribution.Text + Distribution.Types.AbiDependency Distribution.Types.AbiHash + Distribution.Types.AnnotatedId Distribution.Types.Benchmark + Distribution.Types.Benchmark.Lens + Distribution.Types.BenchmarkInterface + Distribution.Types.BenchmarkType Distribution.Types.BuildInfo + Distribution.Types.BuildInfo.Lens Distribution.Types.BuildType + Distribution.Types.Component Distribution.Types.ComponentId + Distribution.Types.ComponentInclude + Distribution.Types.ComponentLocalBuildInfo + Distribution.Types.ComponentName + Distribution.Types.ComponentRequestedSpec + Distribution.Types.CondTree Distribution.Types.Condition + Distribution.Types.Dependency Distribution.Types.DependencyMap + Distribution.Types.ExeDependency Distribution.Types.Executable + Distribution.Types.Executable.Lens + Distribution.Types.ExecutableScope Distribution.Types.ExposedModule + Distribution.Types.ForeignLib Distribution.Types.ForeignLib.Lens + Distribution.Types.ForeignLibOption + Distribution.Types.ForeignLibType + Distribution.Types.GenericPackageDescription + Distribution.Types.GenericPackageDescription.Lens + Distribution.Types.HookedBuildInfo + Distribution.Types.IncludeRenaming + Distribution.Types.InstalledPackageInfo + Distribution.Types.InstalledPackageInfo.FieldGrammar + Distribution.Types.InstalledPackageInfo.Lens + Distribution.Types.LegacyExeDependency Distribution.Types.Lens + Distribution.Types.Library Distribution.Types.Library.Lens + Distribution.Types.LocalBuildInfo Distribution.Types.Mixin + Distribution.Types.Module Distribution.Types.ModuleReexport + Distribution.Types.ModuleRenaming + Distribution.Types.MungedPackageId + Distribution.Types.MungedPackageName + Distribution.Types.PackageDescription + Distribution.Types.PackageDescription.Lens + Distribution.Types.PackageId Distribution.Types.PackageId.Lens + Distribution.Types.PackageName + Distribution.Types.PkgconfigDependency + Distribution.Types.PkgconfigName Distribution.Types.SetupBuildInfo + Distribution.Types.SetupBuildInfo.Lens + Distribution.Types.SourceRepo Distribution.Types.SourceRepo.Lens + Distribution.Types.TargetInfo Distribution.Types.TestSuite + Distribution.Types.TestSuite.Lens + Distribution.Types.TestSuiteInterface Distribution.Types.TestType + Distribution.Types.UnitId Distribution.Types.UnqualComponentName + Distribution.Types.Version Distribution.Types.VersionInterval + Distribution.Types.VersionRange Distribution.Utils.Generic + Distribution.Utils.IOData Distribution.Utils.LogProgress + Distribution.Utils.MapAccum Distribution.Utils.NubList + Distribution.Utils.Progress Distribution.Utils.ShortText + Distribution.Verbosity Distribution.Version + Language.Haskell.Extension +hidden-modules: Distribution.Backpack.PreExistingComponent + Distribution.Backpack.ReadyComponent Distribution.Backpack.MixLink + Distribution.Backpack.ModuleScope Distribution.Backpack.UnifyM + Distribution.Backpack.Id Distribution.Utils.UnionFind + Distribution.Utils.Base62 Distribution.Compat.CopyFile + Distribution.Compat.GetShortPathName Distribution.Compat.MonadFail + Distribution.Compat.Prelude Distribution.Compat.SnocList + Distribution.GetOpt Distribution.Lex Distribution.Utils.String + Distribution.Simple.GHC.Internal Distribution.Simple.GHC.IPI642 + Distribution.Simple.GHC.IPIConvert Distribution.Simple.GHC.ImplInfo + Paths_Cabal +hs-libraries: HSCabal-2.2.0.1 +depends: + array-0.5.2.0 base-4.11.1.0 bytestring-0.10.8.2 containers-0.5.11.0 + deepseq-1.4.3.0 filepath-1.4.2 pretty-1.1.3.6 process-1.6.3.0 + time-1.8.0.2 transformers-0.5.5.0 mtl-2.2.2 text-1.2.3.1 + parsec-3.1.13.0 directory-1.3.1.5 binary-0.8.5.1 unix-2.7.2.2 +abi-depends: array-0.5.2.0=03a64bb9d4be6771406b73145e6e58e1 + base-4.11.1.0=5dd741007d6cdd784ac4032dc52ae6cd + bytestring-0.10.8.2=76891e933d92454fc24dbda9667e7672 + containers-0.5.11.0=e0faa336d346ac4d4359e1f41cd5c793 + deepseq-1.4.3.0=17e4fcaae52d394a15cfa6f2abc91bb0 + filepath-1.4.2=27f5ec6358f0ec240d827eaa0860b2af + pretty-1.1.3.6=aea398207a7857d3310d3a9790f01571 + process-1.6.3.0=5105eb2141bf9c41dca08eb71c7cff81 + time-1.8.0.2=2ae9fc1c165f8024676cbedfffc1f10c + transformers-0.5.5.0=b5d2f6cdac279ec17c0fad50f5348c4f + mtl-2.2.2=28a8b7973060d82dd465f14029339d4f + text-1.2.3.1=30bbe0b5f5a7dda196521f0c55b14486 + parsec-3.1.13.0=e94f4c9b89ceb19d31a32f636c2683fd + directory-1.3.1.5=a6230fff41697046acbb08ad982f5cff + binary-0.8.5.1=24ea694af446178c140cf5fd8325d353 + unix-2.7.2.2=fe53d1beb580ee5f786dd05bcc179784 +--- +name: array +version: 0.5.2.0 +id: array-0.5.2.0 +key: array-0.5.2.0 +license: BSD-3-Clause +maintainer: libraries@haskell.org +synopsis: Mutable and immutable arrays +description: + In addition to providing the "Data.Array" module + , + this package also defines the classes 'IArray' of + immutable arrays and 'MArray' of arrays mutable within appropriate + monads, as well as some instances of these classes. +category: Data Structures +exposed: True +exposed-modules: + Data.Array Data.Array.Base Data.Array.IArray Data.Array.IO + Data.Array.IO.Internals Data.Array.IO.Safe Data.Array.MArray + Data.Array.MArray.Safe Data.Array.ST Data.Array.ST.Safe + Data.Array.Storable Data.Array.Storable.Internals + Data.Array.Storable.Safe Data.Array.Unboxed Data.Array.Unsafe +hs-libraries: HSarray-0.5.2.0 +depends: + base-4.11.1.0 +abi-depends: base-4.11.1.0=5dd741007d6cdd784ac4032dc52ae6cd +--- +name: base +version: 4.11.1.0 +id: base-4.11.1.0 +key: base-4.11.1.0 +license: BSD-3-Clause +maintainer: libraries@haskell.org +synopsis: Basic libraries +description: + This package contains the "Prelude" and its support libraries, + and a large collection of useful libraries ranging from data + structures to parsing combinators and debugging utilities. +category: Prelude +exposed: True +exposed-modules: + Control.Applicative Control.Arrow Control.Category + Control.Concurrent Control.Concurrent.Chan Control.Concurrent.MVar + Control.Concurrent.QSem Control.Concurrent.QSemN Control.Exception + Control.Exception.Base Control.Monad Control.Monad.Fail + Control.Monad.Fix Control.Monad.IO.Class Control.Monad.Instances + Control.Monad.ST Control.Monad.ST.Lazy Control.Monad.ST.Lazy.Safe + Control.Monad.ST.Lazy.Unsafe Control.Monad.ST.Safe + Control.Monad.ST.Strict Control.Monad.ST.Unsafe Control.Monad.Zip + Data.Bifoldable Data.Bifunctor Data.Bitraversable Data.Bits + Data.Bool Data.Char Data.Coerce Data.Complex Data.Data Data.Dynamic + Data.Either Data.Eq Data.Fixed Data.Foldable Data.Function + Data.Functor Data.Functor.Classes Data.Functor.Compose + Data.Functor.Const Data.Functor.Identity Data.Functor.Product + Data.Functor.Sum Data.IORef Data.Int Data.Ix Data.Kind Data.List + Data.List.NonEmpty Data.Maybe Data.Monoid Data.Ord Data.Proxy + Data.Ratio Data.STRef Data.STRef.Lazy Data.STRef.Strict + Data.Semigroup Data.String Data.Traversable Data.Tuple + Data.Type.Bool Data.Type.Coercion Data.Type.Equality Data.Typeable + Data.Unique Data.Version Data.Void Data.Word Debug.Trace Foreign + Foreign.C Foreign.C.Error Foreign.C.String Foreign.C.Types + Foreign.Concurrent Foreign.ForeignPtr Foreign.ForeignPtr.Safe + Foreign.ForeignPtr.Unsafe Foreign.Marshal Foreign.Marshal.Alloc + Foreign.Marshal.Array Foreign.Marshal.Error Foreign.Marshal.Pool + Foreign.Marshal.Safe Foreign.Marshal.Unsafe Foreign.Marshal.Utils + Foreign.Ptr Foreign.Safe Foreign.StablePtr Foreign.Storable GHC.Arr + GHC.Base GHC.ByteOrder GHC.Char GHC.Clock GHC.Conc GHC.Conc.IO + GHC.Conc.Signal GHC.Conc.Sync GHC.ConsoleHandler GHC.Constants + GHC.Desugar GHC.Enum GHC.Environment GHC.Err GHC.Event + GHC.Exception GHC.ExecutionStack GHC.ExecutionStack.Internal + GHC.Exts GHC.Fingerprint GHC.Fingerprint.Type GHC.Float + GHC.Float.ConversionUtils GHC.Float.RealFracMethods GHC.Foreign + GHC.ForeignPtr GHC.GHCi GHC.Generics GHC.IO GHC.IO.Buffer + GHC.IO.BufferedIO GHC.IO.Device GHC.IO.Encoding + GHC.IO.Encoding.CodePage GHC.IO.Encoding.Failure + GHC.IO.Encoding.Iconv GHC.IO.Encoding.Latin1 GHC.IO.Encoding.Types + GHC.IO.Encoding.UTF16 GHC.IO.Encoding.UTF32 GHC.IO.Encoding.UTF8 + GHC.IO.Exception GHC.IO.FD GHC.IO.Handle GHC.IO.Handle.FD + GHC.IO.Handle.Internals GHC.IO.Handle.Lock GHC.IO.Handle.Text + GHC.IO.Handle.Types GHC.IO.IOMode GHC.IO.Unsafe GHC.IOArray + GHC.IORef GHC.Int GHC.List GHC.MVar GHC.Natural GHC.Num GHC.OldList + GHC.OverloadedLabels GHC.PArr GHC.Pack GHC.Profiling GHC.Ptr + GHC.RTS.Flags GHC.Read GHC.Real GHC.Records GHC.ST GHC.STRef + GHC.Show GHC.Stable GHC.Stack GHC.Stack.CCS GHC.Stack.Types + GHC.StaticPtr GHC.Stats GHC.Storable GHC.TopHandler GHC.TypeLits + GHC.TypeNats GHC.Unicode GHC.Weak GHC.Word Numeric Numeric.Natural + Prelude System.CPUTime System.Console.GetOpt System.Environment + System.Environment.Blank System.Exit System.IO System.IO.Error + System.IO.Unsafe System.Info System.Mem System.Mem.StableName + System.Mem.Weak System.Posix.Internals System.Posix.Types + System.Timeout Text.ParserCombinators.ReadP + Text.ParserCombinators.ReadPrec Text.Printf Text.Read Text.Read.Lex + Text.Show Text.Show.Functions Type.Reflection + Type.Reflection.Unsafe Unsafe.Coerce +hidden-modules: Control.Monad.ST.Imp Control.Monad.ST.Lazy.Imp + Data.Functor.Utils Data.OldList Data.Semigroup.Internal + Data.Typeable.Internal Foreign.ForeignPtr.Imp + GHC.StaticPtr.Internal System.Environment.ExecutablePath + System.CPUTime.Utils GHC.Event.Arr GHC.Event.Array + GHC.Event.Control GHC.Event.EPoll GHC.Event.IntTable + GHC.Event.Internal GHC.Event.KQueue GHC.Event.Manager GHC.Event.PSQ + GHC.Event.Poll GHC.Event.Thread GHC.Event.TimerManager + GHC.Event.Unique System.CPUTime.Posix.ClockGetTime + System.CPUTime.Posix.Times System.CPUTime.Posix.RUsage + System.CPUTime.Unsupported +hs-libraries: HSbase-4.11.1.0 +includes: + HsBase.h +depends: + rts ghc-prim-0.5.2.0 integer-gmp-1.0.2.0 +abi-depends: rts= ghc-prim-0.5.2.0=0a2596c0f516eb6cbf13841c1f06715e + integer-gmp-1.0.2.0=28d9d8fbabb28cc19fc92446ffd9b739 +--- +name: binary +version: 0.8.5.1 +id: binary-0.8.5.1 +key: binary-0.8.5.1 +license: BSD-3-Clause +maintainer: Lennart Kolmodin, Don Stewart +author: Lennart Kolmodin +stability: provisional +homepage: https://github.com/kolmodin/binary +synopsis: Binary serialisation for Haskell values using lazy ByteStrings +description: + Efficient, pure binary serialisation using lazy ByteStrings. + Haskell values may be encoded to and from binary formats, + written to disk as binary, or sent over the network. + The format used can be automatically generated, or + you can choose to implement a custom format if needed. + Serialisation speeds of over 1 G\/sec have been observed, + so this library should be suitable for high performance + scenarios. +category: Data, Parsing +exposed: True +exposed-modules: + Data.Binary Data.Binary.Builder Data.Binary.Get + Data.Binary.Get.Internal Data.Binary.Put +hidden-modules: Data.Binary.Class Data.Binary.Internal + Data.Binary.Generic Data.Binary.FloatCast +hs-libraries: HSbinary-0.8.5.1 +depends: + base-4.11.1.0 bytestring-0.10.8.2 containers-0.5.11.0 array-0.5.2.0 +abi-depends: base-4.11.1.0=5dd741007d6cdd784ac4032dc52ae6cd + bytestring-0.10.8.2=76891e933d92454fc24dbda9667e7672 + containers-0.5.11.0=e0faa336d346ac4d4359e1f41cd5c793 + array-0.5.2.0=03a64bb9d4be6771406b73145e6e58e1 +--- +name: bytestring +version: 0.10.8.2 +id: bytestring-0.10.8.2 +key: bytestring-0.10.8.2 +license: BSD-3-Clause +copyright: Copyright (c) Don Stewart 2005-2009, + (c) Duncan Coutts 2006-2015, + (c) David Roundy 2003-2005, + (c) Jasper Van der Jeugt 2010, + (c) Simon Meier 2010-2013. +maintainer: Duncan Coutts +author: Don Stewart, + Duncan Coutts +homepage: https://github.com/haskell/bytestring +synopsis: Fast, compact, strict and lazy byte strings with a list interface +description: + An efficient compact, immutable byte string type (both strict and lazy) + suitable for binary or 8-bit character data. + . + The 'ByteString' type represents sequences of bytes or 8-bit characters. + It is suitable for high performance use, both in terms of large data + quantities, or high speed requirements. The 'ByteString' functions follow + the same style as Haskell\'s ordinary lists, so it is easy to convert code + from using 'String' to 'ByteString'. + . + Two 'ByteString' variants are provided: + . + * Strict 'ByteString's keep the string as a single large array. This + makes them convenient for passing data between C and Haskell. + . + * Lazy 'ByteString's use a lazy list of strict chunks which makes it + suitable for I\/O streaming tasks. + . + The @Char8@ modules provide a character-based view of the same + underlying 'ByteString' types. This makes it convenient to handle mixed + binary and 8-bit character content (which is common in many file formats + and network protocols). + . + The 'Builder' module provides an efficient way to build up 'ByteString's + in an ad-hoc way by repeated concatenation. This is ideal for fast + serialisation or pretty printing. + . + There is also a 'ShortByteString' type which has a lower memory overhead + and can can be converted to or from a 'ByteString', but supports very few + other operations. It is suitable for keeping many short strings in memory. + . + 'ByteString's are not designed for Unicode. For Unicode strings you should + use the 'Text' type from the @text@ package. + . + These modules are intended to be imported qualified, to avoid name clashes + with "Prelude" functions, e.g. + . + > import qualified Data.ByteString as BS +category: Data +exposed: True +exposed-modules: + Data.ByteString Data.ByteString.Builder + Data.ByteString.Builder.Extra Data.ByteString.Builder.Internal + Data.ByteString.Builder.Prim Data.ByteString.Builder.Prim.Internal + Data.ByteString.Char8 Data.ByteString.Internal Data.ByteString.Lazy + Data.ByteString.Lazy.Builder Data.ByteString.Lazy.Builder.ASCII + Data.ByteString.Lazy.Builder.Extras Data.ByteString.Lazy.Char8 + Data.ByteString.Lazy.Internal Data.ByteString.Short + Data.ByteString.Short.Internal Data.ByteString.Unsafe +hidden-modules: Data.ByteString.Builder.ASCII + Data.ByteString.Builder.Prim.Binary + Data.ByteString.Builder.Prim.ASCII + Data.ByteString.Builder.Prim.Internal.Floating + Data.ByteString.Builder.Prim.Internal.UncheckedShifts + Data.ByteString.Builder.Prim.Internal.Base16 +hs-libraries: HSbytestring-0.10.8.2 +includes: + fpstring.h +depends: + base-4.11.1.0 ghc-prim-0.5.2.0 deepseq-1.4.3.0 integer-gmp-1.0.2.0 +abi-depends: base-4.11.1.0=5dd741007d6cdd784ac4032dc52ae6cd + ghc-prim-0.5.2.0=0a2596c0f516eb6cbf13841c1f06715e + deepseq-1.4.3.0=17e4fcaae52d394a15cfa6f2abc91bb0 + integer-gmp-1.0.2.0=28d9d8fbabb28cc19fc92446ffd9b739 +--- +name: containers +version: 0.5.11.0 +id: containers-0.5.11.0 +key: containers-0.5.11.0 +license: BSD-3-Clause +maintainer: libraries@haskell.org +synopsis: Assorted concrete container types +description: + . + This package contains efficient general-purpose implementations + of various immutable container types including sets, maps, sequences, + trees, and graphs. + . + For a walkthrough of what this package provides with examples of common + operations see the [containers + introduction](https://haskell-containers.readthedocs.io). + . + The declared cost of each operation is either worst-case or amortized, but + remains valid even if structures are shared. +category: Data Structures +exposed: True +exposed-modules: + Data.Graph Data.IntMap Data.IntMap.Internal + Data.IntMap.Internal.Debug Data.IntMap.Lazy Data.IntMap.Merge.Lazy + Data.IntMap.Merge.Strict Data.IntMap.Strict Data.IntSet + Data.IntSet.Internal Data.Map Data.Map.Internal + Data.Map.Internal.Debug Data.Map.Lazy Data.Map.Lazy.Merge + Data.Map.Merge.Lazy Data.Map.Merge.Strict Data.Map.Strict + Data.Map.Strict.Internal Data.Map.Strict.Merge Data.Sequence + Data.Sequence.Internal Data.Sequence.Internal.Sorting Data.Set + Data.Set.Internal Data.Tree Utils.Containers.Internal.BitQueue + Utils.Containers.Internal.BitUtil + Utils.Containers.Internal.StrictPair +hidden-modules: Utils.Containers.Internal.State + Utils.Containers.Internal.StrictFold + Utils.Containers.Internal.StrictMaybe + Utils.Containers.Internal.PtrEquality + Data.Map.Internal.DeprecatedShowTree + Data.IntMap.Internal.DeprecatedDebug +hs-libraries: HScontainers-0.5.11.0 +depends: + base-4.11.1.0 array-0.5.2.0 deepseq-1.4.3.0 ghc-prim-0.5.2.0 +abi-depends: base-4.11.1.0=5dd741007d6cdd784ac4032dc52ae6cd + array-0.5.2.0=03a64bb9d4be6771406b73145e6e58e1 + deepseq-1.4.3.0=17e4fcaae52d394a15cfa6f2abc91bb0 + ghc-prim-0.5.2.0=0a2596c0f516eb6cbf13841c1f06715e +--- +name: deepseq +version: 1.4.3.0 +id: deepseq-1.4.3.0 +key: deepseq-1.4.3.0 +license: BSD-3-Clause +maintainer: libraries@haskell.org +synopsis: Deep evaluation of data structures +description: + This package provides methods for fully evaluating data structures + (\"deep evaluation\"). Deep evaluation is often used for adding + strictness to a program, e.g. in order to force pending exceptions, + remove space leaks, or force lazy I/O to happen. It is also useful + in parallel programs, to ensure pending work does not migrate to the + wrong thread. + . + The primary use of this package is via the 'deepseq' function, a + \"deep\" version of 'seq'. It is implemented on top of an 'NFData' + typeclass (\"Normal Form Data\", data structures with no unevaluated + components) which defines strategies for fully evaluating different + data types. +category: Control +exposed: True +exposed-modules: + Control.DeepSeq +hidden-modules: Control.DeepSeq.BackDoor +hs-libraries: HSdeepseq-1.4.3.0 +depends: + base-4.11.1.0 array-0.5.2.0 +abi-depends: base-4.11.1.0=5dd741007d6cdd784ac4032dc52ae6cd + array-0.5.2.0=03a64bb9d4be6771406b73145e6e58e1 +--- +name: directory +version: 1.3.1.5 +id: directory-1.3.1.5 +key: directory-1.3.1.5 +license: BSD-3-Clause +maintainer: libraries@haskell.org +synopsis: Platform-agnostic library for filesystem operations +description: + This library provides a basic set of operations for manipulating files and + directories in a portable way. +category: System +exposed: True +exposed-modules: + System.Directory System.Directory.Internal + System.Directory.Internal.Prelude +hidden-modules: System.Directory.Internal.C_utimensat + System.Directory.Internal.Common System.Directory.Internal.Config + System.Directory.Internal.Posix System.Directory.Internal.Windows +hs-libraries: HSdirectory-1.3.1.5 +depends: + base-4.11.1.0 time-1.8.0.2 filepath-1.4.2 unix-2.7.2.2 +abi-depends: base-4.11.1.0=5dd741007d6cdd784ac4032dc52ae6cd + time-1.8.0.2=2ae9fc1c165f8024676cbedfffc1f10c + filepath-1.4.2=27f5ec6358f0ec240d827eaa0860b2af + unix-2.7.2.2=fe53d1beb580ee5f786dd05bcc179784 +--- +name: filepath +version: 1.4.2 +id: filepath-1.4.2 +key: filepath-1.4.2 +license: BSD-3-Clause +copyright: Neil Mitchell 2005-2018 +maintainer: Neil Mitchell +author: Neil Mitchell +homepage: https://github.com/haskell/filepath#readme +synopsis: Library for manipulating FilePaths in a cross platform way. +description: + This package provides functionality for manipulating @FilePath@ values, and is shipped with both and the . It provides three modules: + . + * "System.FilePath.Posix" manipulates POSIX\/Linux style @FilePath@ values (with @\/@ as the path separator). + . + * "System.FilePath.Windows" manipulates Windows style @FilePath@ values (with either @\\@ or @\/@ as the path separator, and deals with drives). + . + * "System.FilePath" is an alias for the module appropriate to your platform. + . + All three modules provide the same API, and the same documentation (calling out differences in the different variants). +category: System +exposed: True +exposed-modules: + System.FilePath System.FilePath.Posix System.FilePath.Windows +hs-libraries: HSfilepath-1.4.2 +depends: + base-4.11.1.0 +abi-depends: base-4.11.1.0=5dd741007d6cdd784ac4032dc52ae6cd +--- +name: ghc +version: 8.4.4 +id: ghc-8.4.4 +key: ghc-8.4.4 +license: BSD-3-Clause +maintainer: glasgow-haskell-users@haskell.org +author: The GHC Team +homepage: http://www.haskell.org/ghc/ +synopsis: The GHC API +description: + GHC's functionality can be useful for more things than just + compiling Haskell programs. Important use cases are programs + that analyse (and perhaps transform) Haskell code. Others + include loading Haskell code dynamically in a GHCi-like manner. + For this reason, a lot of GHC's functionality is made available + through this package. +category: Development +exposed-modules: + Annotations ApiAnnotation Ar AsmCodeGen AsmUtils Avail Bag + BasicTypes BinFingerprint BinIface Binary Bitmap BkpSyn BlockId + BooleanFormula BufWrite BuildTyCl ByteCodeAsm ByteCodeGen + ByteCodeInstr ByteCodeItbls ByteCodeLink ByteCodeTypes CLabel CPrim + CSE CallArity CgUtils Check Class CmdLineParser Cmm + CmmBuildInfoTables CmmCallConv CmmCommonBlockElim CmmContFlowOpt + CmmExpr CmmImplementSwitchPlans CmmInfo CmmLayoutStack CmmLex + CmmLint CmmLive CmmMachOp CmmMonad CmmNode CmmOpt CmmParse + CmmPipeline CmmProcPoint CmmSink CmmSwitch CmmType CmmUtils CoAxiom + CodeGen.Platform CodeGen.Platform.ARM CodeGen.Platform.ARM64 + CodeGen.Platform.NoRegs CodeGen.Platform.PPC + CodeGen.Platform.PPC_Darwin CodeGen.Platform.SPARC + CodeGen.Platform.X86 CodeGen.Platform.X86_64 CodeOutput Coercion + ConLike Config Constants Convert CoreArity CoreFVs CoreLint + CoreMonad CoreOpt CorePrep CoreSeq CoreStats CoreSubst CoreSyn + CoreTidy CoreToStg CoreUnfold CoreUtils CostCentre Coverage Ctype + DataCon Debug Debugger DebuggerUtils Demand Desugar Digraph DmdAnal + DriverBkp DriverMkDepend DriverPhases DriverPipeline DsArrows + DsBinds DsCCall DsExpr DsForeign DsGRHSs DsListComp DsMeta DsMonad + DsUsage DsUtils Dwarf Dwarf.Constants Dwarf.Types DynFlags + DynamicLoading Elf Encoding EnumSet ErrUtils Exception Exitify FV + FamInst FamInstEnv FastFunctions FastMutInt FastString + FastStringEnv FieldLabel FileCleanup Finder Fingerprint FiniteMap + FlagChecker FloatIn FloatOut ForeignCall Format FunDeps GHC GHCi + GhcMake GhcMonad GhcPlugins GraphBase GraphColor GraphOps GraphPpr + HaddockUtils HeaderInfo Hooks Hoopl.Block Hoopl.Collections + Hoopl.Dataflow Hoopl.Graph Hoopl.Label Hoopl.Unique HsBinds HsDecls + HsDoc HsDumpAst HsExpr HsExtension HsImpExp HsLit HsPat HsSyn + HsTypes HsUtils HscMain HscStats HscTypes IOEnv Id IdInfo IfaceEnv + IfaceSyn IfaceType Inst InstEnv Instruction InteractiveEval + InteractiveEvalTypes Json Kind KnownUniques Lexeme Lexer + LiberateCase Linker ListSetOps ListT Literal Llvm Llvm.AbsSyn + Llvm.MetaData Llvm.PpLlvm Llvm.Types LlvmCodeGen LlvmCodeGen.Base + LlvmCodeGen.CodeGen LlvmCodeGen.Data LlvmCodeGen.Ppr + LlvmCodeGen.Regs LlvmMangler LoadIface Match MatchCon MatchLit + Maybes MkCore MkGraph MkId MkIface Module MonadUtils NCGMonad Name + NameCache NameEnv NameSet NameShape OccName OccurAnal OptCoercion + OrdList Outputable PIC PPC.CodeGen PPC.Cond PPC.Instr PPC.Ppr + PPC.RegInfo PPC.Regs PackageConfig Packages Pair Panic Parser + PatSyn PipelineMonad PlaceHolder Platform PlatformConstants Plugins + PmExpr PprBase PprC PprCmm PprCmmDecl PprCmmExpr PprColour PprCore + PprTyThing PrelInfo PrelNames PrelRules Pretty PrimOp ProfInit + RdrHsSyn RdrName Reg RegAlloc.Graph.ArchBase RegAlloc.Graph.ArchX86 + RegAlloc.Graph.Coalesce RegAlloc.Graph.Main RegAlloc.Graph.Spill + RegAlloc.Graph.SpillClean RegAlloc.Graph.SpillCost + RegAlloc.Graph.Stats RegAlloc.Graph.TrivColorable + RegAlloc.Linear.Base RegAlloc.Linear.FreeRegs + RegAlloc.Linear.JoinToTargets RegAlloc.Linear.Main + RegAlloc.Linear.PPC.FreeRegs RegAlloc.Linear.SPARC.FreeRegs + RegAlloc.Linear.StackMap RegAlloc.Linear.State + RegAlloc.Linear.Stats RegAlloc.Linear.X86.FreeRegs + RegAlloc.Linear.X86_64.FreeRegs RegAlloc.Liveness RegClass RepType + RnBinds RnEnv RnExpr RnFixity RnHsDoc RnModIface RnNames RnPat + RnSource RnSplice RnTypes RnUnbound RnUtils RtClosureInspect Rules + SAT SMRep SPARC.AddrMode SPARC.Base SPARC.CodeGen + SPARC.CodeGen.Amode SPARC.CodeGen.Base SPARC.CodeGen.CondCode + SPARC.CodeGen.Expand SPARC.CodeGen.Gen32 SPARC.CodeGen.Gen64 + SPARC.CodeGen.Sanity SPARC.Cond SPARC.Imm SPARC.Instr SPARC.Ppr + SPARC.Regs SPARC.ShortcutJump SPARC.Stack SetLevels SimplCore + SimplEnv SimplMonad SimplStg SimplUtils Simplify SpecConstr + Specialise SrcLoc State StaticPtrTable StgCmm StgCmmArgRep + StgCmmBind StgCmmClosure StgCmmCon StgCmmEnv StgCmmExpr + StgCmmExtCode StgCmmForeign StgCmmHeap StgCmmHpc StgCmmLayout + StgCmmMonad StgCmmPrim StgCmmProf StgCmmTicky StgCmmUtils StgCse + StgLint StgStats StgSyn Stream StringBuffer SysTools + SysTools.BaseDir SysTools.ExtraObj SysTools.Info SysTools.Process + SysTools.Tasks SysTools.Terminal THNames TargetReg TcAnnotations + TcArrows TcBackpack TcBinds TcCanonical TcClassDcl TcDefaults + TcDeriv TcDerivInfer TcDerivUtils TcEnv TcErrors TcEvidence TcExpr + TcFlatten TcForeign TcGenDeriv TcGenFunctor TcGenGenerics TcHsSyn + TcHsType TcIface TcInstDcls TcInteract TcMType TcMatches TcPat + TcPatSyn TcPluginM TcRnDriver TcRnExports TcRnMonad TcRnTypes + TcRules TcSMonad TcSigs TcSimplify TcSplice TcTyClsDecls TcTyDecls + TcType TcTypeNats TcTypeable TcUnify TcValidity TidyPgm TmOracle + ToIface TrieMap TyCoRep TyCon Type TysPrim TysWiredIn UnVarGraph + UnariseStg Unify UniqDFM UniqDSet UniqFM UniqMap UniqSet UniqSupply + Unique Util Var VarEnv VarSet Vectorise Vectorise.Builtins + Vectorise.Builtins.Base Vectorise.Builtins.Initialise + Vectorise.Convert Vectorise.Env Vectorise.Exp + Vectorise.Generic.Description Vectorise.Generic.PADict + Vectorise.Generic.PAMethods Vectorise.Generic.PData Vectorise.Monad + Vectorise.Monad.Base Vectorise.Monad.Global Vectorise.Monad.InstEnv + Vectorise.Monad.Local Vectorise.Monad.Naming + Vectorise.Type.Classify Vectorise.Type.Env Vectorise.Type.TyConDecl + Vectorise.Type.Type Vectorise.Utils Vectorise.Utils.Base + Vectorise.Utils.Closure Vectorise.Utils.Hoisting + Vectorise.Utils.PADict Vectorise.Utils.Poly Vectorise.Var + Vectorise.Vect WorkWrap WwLib X86.CodeGen X86.Cond X86.Instr + X86.Ppr X86.RegInfo X86.Regs +hidden-modules: GhcPrelude +hs-libraries: HSghc-8.4.4 +depends: + base-4.11.1.0 deepseq-1.4.3.0 directory-1.3.1.5 process-1.6.3.0 + bytestring-0.10.8.2 binary-0.8.5.1 time-1.8.0.2 containers-0.5.11.0 + array-0.5.2.0 filepath-1.4.2 template-haskell-2.13.0.0 hpc-0.6.0.3 + transformers-0.5.5.0 ghc-boot-8.4.4 ghc-boot-th-8.4.4 ghci-8.4.4 + unix-2.7.2.2 terminfo-0.4.1.1 +abi-depends: base-4.11.1.0=5dd741007d6cdd784ac4032dc52ae6cd + deepseq-1.4.3.0=17e4fcaae52d394a15cfa6f2abc91bb0 + directory-1.3.1.5=a6230fff41697046acbb08ad982f5cff + process-1.6.3.0=5105eb2141bf9c41dca08eb71c7cff81 + bytestring-0.10.8.2=76891e933d92454fc24dbda9667e7672 + binary-0.8.5.1=24ea694af446178c140cf5fd8325d353 + time-1.8.0.2=2ae9fc1c165f8024676cbedfffc1f10c + containers-0.5.11.0=e0faa336d346ac4d4359e1f41cd5c793 + array-0.5.2.0=03a64bb9d4be6771406b73145e6e58e1 + filepath-1.4.2=27f5ec6358f0ec240d827eaa0860b2af + template-haskell-2.13.0.0=87d935369842db0114b18a4f5cccd520 + hpc-0.6.0.3=b0226a6fb3c6681995359ece2929495f + transformers-0.5.5.0=b5d2f6cdac279ec17c0fad50f5348c4f + ghc-boot-8.4.4=17a9f8091d49597104125d406bbf74ae + ghc-boot-th-8.4.4=d8bd507419aa2dc5daee657f9d2838de + ghci-8.4.4=973ae1f70f738efadae73c1d6af83b15 + unix-2.7.2.2=fe53d1beb580ee5f786dd05bcc179784 + terminfo-0.4.1.1=7c97c2b70b9b909e033361885d99c5fd +--- +name: ghc-boot +version: 8.4.4 +id: ghc-boot-8.4.4 +key: ghc-boot-8.4.4 +license: BSD-3-Clause +maintainer: ghc-devs@haskell.org +synopsis: Shared functionality between GHC and its boot libraries +description: + This library is shared between GHC, ghc-pkg, and other boot + libraries. + . + A note about "GHC.PackageDb": it only deals with the subset of + the package database that the compiler cares about: modules + paths etc and not package metadata like description, authors + etc. It is thus not a library interface to ghc-pkg and is *not* + suitable for modifying GHC package databases. + . + The package database format and this library are constructed in + such a way that while ghc-pkg depends on Cabal, the GHC library + and program do not have to depend on Cabal. +category: GHC +exposed: True +exposed-modules: + GHC.ForeignSrcLang GHC.LanguageExtensions GHC.PackageDb + GHC.Serialized +hs-libraries: HSghc-boot-8.4.4 +depends: + base-4.11.1.0 binary-0.8.5.1 bytestring-0.10.8.2 directory-1.3.1.5 + filepath-1.4.2 ghc-boot-th-8.4.4 +abi-depends: base-4.11.1.0=5dd741007d6cdd784ac4032dc52ae6cd + binary-0.8.5.1=24ea694af446178c140cf5fd8325d353 + bytestring-0.10.8.2=76891e933d92454fc24dbda9667e7672 + directory-1.3.1.5=a6230fff41697046acbb08ad982f5cff + filepath-1.4.2=27f5ec6358f0ec240d827eaa0860b2af + ghc-boot-th-8.4.4=d8bd507419aa2dc5daee657f9d2838de +--- +name: ghc-boot-th +version: 8.4.4 +id: ghc-boot-th-8.4.4 +key: ghc-boot-th-8.4.4 +license: BSD-3-Clause +maintainer: ghc-devs@haskell.org +synopsis: Shared functionality between GHC and the @template-haskell@ + library +description: + This library contains various bits shared between the @ghc@ and + @template-haskell@ libraries. + . + This package exists to ensure that @template-haskell@ has a + minimal set of transitive dependencies, since it is intended to + be depended upon by user code. +category: GHC +exposed: True +exposed-modules: + GHC.ForeignSrcLang.Type GHC.LanguageExtensions.Type GHC.Lexeme +hs-libraries: HSghc-boot-th-8.4.4 +depends: + base-4.11.1.0 +abi-depends: base-4.11.1.0=5dd741007d6cdd784ac4032dc52ae6cd +--- +name: ghc-compact +version: 0.1.0.0 +id: ghc-compact-0.1.0.0 +key: ghc-compact-0.1.0.0 +license: BSD-3-Clause +maintainer: libraries@haskell.org +synopsis: In memory storage of deeply evaluated data structure +description: + This package provides minimal functionality for working with + "compact regions", which hold a fully evaluated Haskell object graph. + These regions maintain the invariant that no pointers live inside the struct + that point outside it, which ensures efficient garbage collection without + ever reading the structure contents (effectively, it works as a manually + managed "oldest generation" which is never freed until the whole is + released). + Internally, the struct is stored a single contiguous block of memory, + which allows efficient serialization and deserialization of structs + for distributed computing. +category: Data +exposed: True +exposed-modules: + GHC.Compact GHC.Compact.Serialized +hs-libraries: HSghc-compact-0.1.0.0 +depends: + ghc-prim-0.5.2.0 base-4.11.1.0 bytestring-0.10.8.2 +abi-depends: ghc-prim-0.5.2.0=0a2596c0f516eb6cbf13841c1f06715e + base-4.11.1.0=5dd741007d6cdd784ac4032dc52ae6cd + bytestring-0.10.8.2=76891e933d92454fc24dbda9667e7672 +--- +name: ghc-prim +version: 0.5.2.0 +id: ghc-prim-0.5.2.0 +key: ghc-prim-0.5.2.0 +license: BSD-3-Clause +maintainer: libraries@haskell.org +synopsis: GHC primitives +description: + This package contains the primitive types and operations supplied by GHC. +category: GHC +exposed: True +exposed-modules: + GHC.CString GHC.Classes GHC.Debug GHC.IntWord64 GHC.Magic + GHC.PrimopWrappers GHC.Tuple GHC.Types GHC.Prim +hs-libraries: HSghc-prim-0.5.2.0 +depends: + rts +abi-depends: rts= +--- +name: ghci +version: 8.4.4 +id: ghci-8.4.4 +key: ghci-8.4.4 +license: BSD-3-Clause +maintainer: ghc-devs@haskell.org +synopsis: The library supporting GHC's interactive interpreter +description: + This library offers interfaces which mediate interactions between the + @ghci@ interactive shell and @iserv@, GHC's out-of-process interpreter + backend. +category: GHC +exposed: True +exposed-modules: + GHCi.BinaryArray GHCi.BreakArray GHCi.CreateBCO GHCi.FFI + GHCi.InfoTable GHCi.Message GHCi.ObjLink GHCi.RemoteTypes + GHCi.ResolvedBCO GHCi.Run GHCi.Signals GHCi.StaticPtrTable GHCi.TH + GHCi.TH.Binary SizedSeq +hs-libraries: HSghci-8.4.4 +depends: + array-0.5.2.0 base-4.11.1.0 binary-0.8.5.1 bytestring-0.10.8.2 + containers-0.5.11.0 deepseq-1.4.3.0 filepath-1.4.2 ghc-boot-8.4.4 + ghc-boot-th-8.4.4 template-haskell-2.13.0.0 transformers-0.5.5.0 + unix-2.7.2.2 +abi-depends: array-0.5.2.0=03a64bb9d4be6771406b73145e6e58e1 + base-4.11.1.0=5dd741007d6cdd784ac4032dc52ae6cd + binary-0.8.5.1=24ea694af446178c140cf5fd8325d353 + bytestring-0.10.8.2=76891e933d92454fc24dbda9667e7672 + containers-0.5.11.0=e0faa336d346ac4d4359e1f41cd5c793 + deepseq-1.4.3.0=17e4fcaae52d394a15cfa6f2abc91bb0 + filepath-1.4.2=27f5ec6358f0ec240d827eaa0860b2af + ghc-boot-8.4.4=17a9f8091d49597104125d406bbf74ae + ghc-boot-th-8.4.4=d8bd507419aa2dc5daee657f9d2838de + template-haskell-2.13.0.0=87d935369842db0114b18a4f5cccd520 + transformers-0.5.5.0=b5d2f6cdac279ec17c0fad50f5348c4f + unix-2.7.2.2=fe53d1beb580ee5f786dd05bcc179784 +--- +name: haskeline +version: 0.7.4.2 +id: haskeline-0.7.4.2 +key: haskeline-0.7.4.2 +license: BSD-3-Clause +copyright: (c) Judah Jacobson +maintainer: Judah Jacobson +author: Judah Jacobson +stability: Stable +homepage: https://github.com/judah/haskeline +synopsis: A command-line interface for user input, written in Haskell. +description: + Haskeline provides a user interface for line input in command-line + programs. This library is similar in purpose to readline, but since + it is written in Haskell it is (hopefully) more easily used in other + Haskell programs. + . + Haskeline runs both on POSIX-compatible systems and on Windows. +category: User Interfaces +exposed: True +exposed-modules: + System.Console.Haskeline System.Console.Haskeline.Completion + System.Console.Haskeline.History System.Console.Haskeline.IO + System.Console.Haskeline.MonadException +hidden-modules: System.Console.Haskeline.Backend + System.Console.Haskeline.Backend.WCWidth + System.Console.Haskeline.Command + System.Console.Haskeline.Command.Completion + System.Console.Haskeline.Command.History + System.Console.Haskeline.Command.KillRing + System.Console.Haskeline.Directory System.Console.Haskeline.Emacs + System.Console.Haskeline.InputT System.Console.Haskeline.Key + System.Console.Haskeline.LineState System.Console.Haskeline.Monads + System.Console.Haskeline.Prefs System.Console.Haskeline.Recover + System.Console.Haskeline.RunCommand System.Console.Haskeline.Term + System.Console.Haskeline.Command.Undo System.Console.Haskeline.Vi + System.Console.Haskeline.Backend.Posix + System.Console.Haskeline.Backend.Posix.Encoder + System.Console.Haskeline.Backend.DumbTerm + System.Console.Haskeline.Backend.Terminfo +hs-libraries: HShaskeline-0.7.4.2 +depends: + base-4.11.1.0 containers-0.5.11.0 directory-1.3.1.5 + bytestring-0.10.8.2 filepath-1.4.2 transformers-0.5.5.0 + process-1.6.3.0 stm-2.4.5.1 unix-2.7.2.2 terminfo-0.4.1.1 +abi-depends: base-4.11.1.0=5dd741007d6cdd784ac4032dc52ae6cd + containers-0.5.11.0=e0faa336d346ac4d4359e1f41cd5c793 + directory-1.3.1.5=a6230fff41697046acbb08ad982f5cff + bytestring-0.10.8.2=76891e933d92454fc24dbda9667e7672 + filepath-1.4.2=27f5ec6358f0ec240d827eaa0860b2af + transformers-0.5.5.0=b5d2f6cdac279ec17c0fad50f5348c4f + process-1.6.3.0=5105eb2141bf9c41dca08eb71c7cff81 + stm-2.4.5.1=e1689617987db6dbcec99141fd7e70d8 + unix-2.7.2.2=fe53d1beb580ee5f786dd05bcc179784 + terminfo-0.4.1.1=7c97c2b70b9b909e033361885d99c5fd +--- +name: hpc +version: 0.6.0.3 +id: hpc-0.6.0.3 +key: hpc-0.6.0.3 +license: BSD-3-Clause +maintainer: ghc-devs@haskell.org +author: Andy Gill +synopsis: Code Coverage Library for Haskell +description: + This package provides the code coverage library for Haskell. + . + See for more + information. +category: Control +exposed: True +exposed-modules: + Trace.Hpc.Mix Trace.Hpc.Reflect Trace.Hpc.Tix Trace.Hpc.Util +hs-libraries: HShpc-0.6.0.3 +depends: + base-4.11.1.0 containers-0.5.11.0 directory-1.3.1.5 filepath-1.4.2 + time-1.8.0.2 +abi-depends: base-4.11.1.0=5dd741007d6cdd784ac4032dc52ae6cd + containers-0.5.11.0=e0faa336d346ac4d4359e1f41cd5c793 + directory-1.3.1.5=a6230fff41697046acbb08ad982f5cff + filepath-1.4.2=27f5ec6358f0ec240d827eaa0860b2af + time-1.8.0.2=2ae9fc1c165f8024676cbedfffc1f10c +--- +name: integer-gmp +version: 1.0.2.0 +id: integer-gmp-1.0.2.0 +key: integer-gmp-1.0.2.0 +license: BSD-3-Clause +maintainer: hvr@gnu.org +author: Herbert Valerio Riedel +synopsis: Integer library based on GMP +category: Numeric, Algebra +exposed: True +exposed-modules: + GHC.Integer GHC.Integer.GMP.Internals GHC.Integer.Logarithms + GHC.Integer.Logarithms.Internals +hidden-modules: GHC.Integer.Type +hs-libraries: HSinteger-gmp-1.0.2.0 +extra-libraries: + gmp +depends: + ghc-prim-0.5.2.0 +abi-depends: ghc-prim-0.5.2.0=0a2596c0f516eb6cbf13841c1f06715e +--- +name: mtl +version: 2.2.2 +id: mtl-2.2.2 +key: mtl-2.2.2 +license: BSD-3-Clause +maintainer: Edward Kmett +author: Andy Gill +homepage: http://github.com/haskell/mtl +synopsis: Monad classes, using functional dependencies +description: + Monad classes using functional dependencies, with instances + for various monad transformers, inspired by the paper + /Functional Programming with Overloading and Higher-Order Polymorphism/, + by Mark P Jones, in /Advanced School of Functional Programming/, 1995 + (). +category: Control +exposed: True +exposed-modules: + Control.Monad.Cont Control.Monad.Cont.Class Control.Monad.Error + Control.Monad.Error.Class Control.Monad.Except + Control.Monad.Identity Control.Monad.List Control.Monad.RWS + Control.Monad.RWS.Class Control.Monad.RWS.Lazy + Control.Monad.RWS.Strict Control.Monad.Reader + Control.Monad.Reader.Class Control.Monad.State + Control.Monad.State.Class Control.Monad.State.Lazy + Control.Monad.State.Strict Control.Monad.Trans Control.Monad.Writer + Control.Monad.Writer.Class Control.Monad.Writer.Lazy + Control.Monad.Writer.Strict +hs-libraries: HSmtl-2.2.2 +depends: + base-4.11.1.0 transformers-0.5.5.0 +abi-depends: base-4.11.1.0=5dd741007d6cdd784ac4032dc52ae6cd + transformers-0.5.5.0=b5d2f6cdac279ec17c0fad50f5348c4f +--- +name: parsec +version: 3.1.13.0 +id: parsec-3.1.13.0 +key: parsec-3.1.13.0 +license: BSD-3-Clause +maintainer: Herbert Valerio Riedel +author: Daan Leijen , Paolo Martini , Antoine Latter +homepage: https://github.com/haskell/parsec +synopsis: Monadic parser combinators +description: + Parsec is designed from scratch as an industrial-strength parser + library. It is simple, safe, well documented (on the package + homepage), has extensive libraries, good error messages, + and is fast. It is defined as a monad transformer that can be + stacked on arbitrary monads, and it is also parametric in the + input stream type. + . + The main entry point is the "Text.Parsec" module which provides + defaults for parsing 'Char'acter data. + . + The "Text.ParserCombinators.Parsec" module hierarchy contains + the legacy @parsec-2@ API and may be removed at some point in + the future. +category: Parsing +exposed: True +exposed-modules: + Text.Parsec Text.Parsec.ByteString Text.Parsec.ByteString.Lazy + Text.Parsec.Char Text.Parsec.Combinator Text.Parsec.Error + Text.Parsec.Expr Text.Parsec.Language Text.Parsec.Perm + Text.Parsec.Pos Text.Parsec.Prim Text.Parsec.String + Text.Parsec.Text Text.Parsec.Text.Lazy Text.Parsec.Token + Text.ParserCombinators.Parsec Text.ParserCombinators.Parsec.Char + Text.ParserCombinators.Parsec.Combinator + Text.ParserCombinators.Parsec.Error + Text.ParserCombinators.Parsec.Expr + Text.ParserCombinators.Parsec.Language + Text.ParserCombinators.Parsec.Perm + Text.ParserCombinators.Parsec.Pos + Text.ParserCombinators.Parsec.Prim + Text.ParserCombinators.Parsec.Token +hs-libraries: HSparsec-3.1.13.0 +depends: + base-4.11.1.0 mtl-2.2.2 bytestring-0.10.8.2 text-1.2.3.1 +abi-depends: base-4.11.1.0=5dd741007d6cdd784ac4032dc52ae6cd + mtl-2.2.2=28a8b7973060d82dd465f14029339d4f + bytestring-0.10.8.2=76891e933d92454fc24dbda9667e7672 + text-1.2.3.1=30bbe0b5f5a7dda196521f0c55b14486 +--- +name: pretty +version: 1.1.3.6 +id: pretty-1.1.3.6 +key: pretty-1.1.3.6 +license: BSD-3-Clause +maintainer: David Terei +stability: Stable +homepage: http://github.com/haskell/pretty +synopsis: Pretty-printing library +description: + This package contains a pretty-printing library, a set of API's + that provides a way to easily print out text in a consistent + format of your choosing. This is useful for compilers and related + tools. + . + This library was originally designed by John Hughes's and has since + been heavily modified by Simon Peyton Jones. +category: Text +exposed: True +exposed-modules: + Text.PrettyPrint Text.PrettyPrint.Annotated + Text.PrettyPrint.Annotated.HughesPJ + Text.PrettyPrint.Annotated.HughesPJClass Text.PrettyPrint.HughesPJ + Text.PrettyPrint.HughesPJClass +hs-libraries: HSpretty-1.1.3.6 +depends: + base-4.11.1.0 deepseq-1.4.3.0 ghc-prim-0.5.2.0 +abi-depends: base-4.11.1.0=5dd741007d6cdd784ac4032dc52ae6cd + deepseq-1.4.3.0=17e4fcaae52d394a15cfa6f2abc91bb0 + ghc-prim-0.5.2.0=0a2596c0f516eb6cbf13841c1f06715e +--- +name: process +version: 1.6.3.0 +id: process-1.6.3.0 +key: process-1.6.3.0 +license: BSD-3-Clause +maintainer: libraries@haskell.org +synopsis: Process libraries +description: + This package contains libraries for dealing with system processes. + . + The typed-process package is a more recent take on a process API, + which uses this package internally. It features better binary + support, easier concurrency, and a more composable API. You can + read more about it at + . +category: System +exposed: True +exposed-modules: + System.Cmd System.Process System.Process.Internals +hidden-modules: System.Process.Common System.Process.Posix +hs-libraries: HSprocess-1.6.3.0 +includes: + runProcess.h +depends: + base-4.11.1.0 directory-1.3.1.5 filepath-1.4.2 deepseq-1.4.3.0 + unix-2.7.2.2 +abi-depends: base-4.11.1.0=5dd741007d6cdd784ac4032dc52ae6cd + directory-1.3.1.5=a6230fff41697046acbb08ad982f5cff + filepath-1.4.2=27f5ec6358f0ec240d827eaa0860b2af + deepseq-1.4.3.0=17e4fcaae52d394a15cfa6f2abc91bb0 + unix-2.7.2.2=fe53d1beb580ee5f786dd05bcc179784 +--- +name: rts +version: 1.0 +id: rts +key: rts +license: BSD-3-Clause +maintainer: glasgow-haskell-users@haskell.org +exposed: True +hs-libraries: HSrts Cffi +extra-libraries: + m rt dl pthread +includes: + Stg.h +ld-options: "-Wl,-u,base_GHCziTopHandler_runIO_closure" + "-Wl,-u,base_GHCziTopHandler_runNonIO_closure" + "-Wl,-u,ghczmprim_GHCziTuple_Z0T_closure" + "-Wl,-u,ghczmprim_GHCziTypes_True_closure" + "-Wl,-u,ghczmprim_GHCziTypes_False_closure" + "-Wl,-u,base_GHCziPack_unpackCString_closure" + "-Wl,-u,base_GHCziWeak_runFinalizzerBatch_closure" + "-Wl,-u,base_GHCziIOziException_stackOverflow_closure" + "-Wl,-u,base_GHCziIOziException_heapOverflow_closure" + "-Wl,-u,base_GHCziIOziException_allocationLimitExceeded_closure" + "-Wl,-u,base_GHCziIOziException_blockedIndefinitelyOnMVar_closure" + "-Wl,-u,base_GHCziIOziException_blockedIndefinitelyOnSTM_closure" + "-Wl,-u,base_GHCziIOziException_cannotCompactFunction_closure" + "-Wl,-u,base_GHCziIOziException_cannotCompactPinned_closure" + "-Wl,-u,base_GHCziIOziException_cannotCompactMutable_closure" + "-Wl,-u,base_ControlziExceptionziBase_absentSumFieldError_closure" + "-Wl,-u,base_ControlziExceptionziBase_nonTermination_closure" + "-Wl,-u,base_ControlziExceptionziBase_nestedAtomically_closure" + "-Wl,-u,base_GHCziEventziThread_blockedOnBadFD_closure" + "-Wl,-u,base_GHCziConcziSync_runSparks_closure" + "-Wl,-u,base_GHCziConcziIO_ensureIOManagerIsRunning_closure" + "-Wl,-u,base_GHCziConcziIO_ioManagerCapabilitiesChanged_closure" + "-Wl,-u,base_GHCziConcziSignal_runHandlersPtr_closure" + "-Wl,-u,base_GHCziTopHandler_flushStdHandles_closure" + "-Wl,-u,base_GHCziTopHandler_runMainIO_closure" + "-Wl,-u,ghczmprim_GHCziTypes_Czh_con_info" + "-Wl,-u,ghczmprim_GHCziTypes_Izh_con_info" + "-Wl,-u,ghczmprim_GHCziTypes_Fzh_con_info" + "-Wl,-u,ghczmprim_GHCziTypes_Dzh_con_info" + "-Wl,-u,ghczmprim_GHCziTypes_Wzh_con_info" + "-Wl,-u,base_GHCziPtr_Ptr_con_info" + "-Wl,-u,base_GHCziPtr_FunPtr_con_info" + "-Wl,-u,base_GHCziInt_I8zh_con_info" + "-Wl,-u,base_GHCziInt_I16zh_con_info" + "-Wl,-u,base_GHCziInt_I32zh_con_info" + "-Wl,-u,base_GHCziInt_I64zh_con_info" + "-Wl,-u,base_GHCziWord_W8zh_con_info" + "-Wl,-u,base_GHCziWord_W16zh_con_info" + "-Wl,-u,base_GHCziWord_W32zh_con_info" + "-Wl,-u,base_GHCziWord_W64zh_con_info" + "-Wl,-u,base_GHCziStable_StablePtr_con_info" + "-Wl,-u,hs_atomic_add8" "-Wl,-u,hs_atomic_add16" + "-Wl,-u,hs_atomic_add32" "-Wl,-u,hs_atomic_add64" + "-Wl,-u,hs_atomic_sub8" "-Wl,-u,hs_atomic_sub16" + "-Wl,-u,hs_atomic_sub32" "-Wl,-u,hs_atomic_sub64" + "-Wl,-u,hs_atomic_and8" "-Wl,-u,hs_atomic_and16" + "-Wl,-u,hs_atomic_and32" "-Wl,-u,hs_atomic_and64" + "-Wl,-u,hs_atomic_nand8" "-Wl,-u,hs_atomic_nand16" + "-Wl,-u,hs_atomic_nand32" "-Wl,-u,hs_atomic_nand64" + "-Wl,-u,hs_atomic_or8" "-Wl,-u,hs_atomic_or16" + "-Wl,-u,hs_atomic_or32" "-Wl,-u,hs_atomic_or64" + "-Wl,-u,hs_atomic_xor8" "-Wl,-u,hs_atomic_xor16" + "-Wl,-u,hs_atomic_xor32" "-Wl,-u,hs_atomic_xor64" + "-Wl,-u,hs_cmpxchg8" "-Wl,-u,hs_cmpxchg16" "-Wl,-u,hs_cmpxchg32" + "-Wl,-u,hs_cmpxchg64" "-Wl,-u,hs_atomicread8" + "-Wl,-u,hs_atomicread16" "-Wl,-u,hs_atomicread32" + "-Wl,-u,hs_atomicread64" "-Wl,-u,hs_atomicwrite8" + "-Wl,-u,hs_atomicwrite16" "-Wl,-u,hs_atomicwrite32" + "-Wl,-u,hs_atomicwrite64" +--- +name: stm +version: 2.4.5.1 +id: stm-2.4.5.1 +key: stm-2.4.5.1 +license: BSD-3-Clause +maintainer: libraries@haskell.org +homepage: https://wiki.haskell.org/Software_transactional_memory +synopsis: Software Transactional Memory +description: + Software Transactional Memory, or STM, is an abstraction for + concurrent communication. The main benefits of STM are + /composability/ and /modularity/. That is, using STM you can write + concurrent abstractions that can be easily composed with any other + abstraction built using STM, without exposing the details of how + your abstraction ensures safety. This is typically not the case + with other forms of concurrent communication, such as locks or + 'MVar's. +category: Concurrency +exposed: True +exposed-modules: + Control.Concurrent.STM Control.Concurrent.STM.TArray + Control.Concurrent.STM.TBQueue Control.Concurrent.STM.TChan + Control.Concurrent.STM.TMVar Control.Concurrent.STM.TQueue + Control.Concurrent.STM.TSem Control.Concurrent.STM.TVar + Control.Monad.STM +hidden-modules: Control.Sequential.STM +hs-libraries: HSstm-2.4.5.1 +depends: + base-4.11.1.0 array-0.5.2.0 +abi-depends: base-4.11.1.0=5dd741007d6cdd784ac4032dc52ae6cd + array-0.5.2.0=03a64bb9d4be6771406b73145e6e58e1 +--- +name: template-haskell +version: 2.13.0.0 +id: template-haskell-2.13.0.0 +key: template-haskell-2.13.0.0 +license: BSD-3-Clause +maintainer: libraries@haskell.org +synopsis: Support library for Template Haskell +description: + This package provides modules containing facilities for manipulating + Haskell source code using Template Haskell. + . + See for more + information. +category: Template Haskell +exposed: True +exposed-modules: + Language.Haskell.TH Language.Haskell.TH.LanguageExtensions + Language.Haskell.TH.Lib Language.Haskell.TH.Lib.Internal + Language.Haskell.TH.Ppr Language.Haskell.TH.PprLib + Language.Haskell.TH.Quote Language.Haskell.TH.Syntax +hidden-modules: Language.Haskell.TH.Lib.Map +hs-libraries: HStemplate-haskell-2.13.0.0 +depends: + base-4.11.1.0 ghc-boot-th-8.4.4 pretty-1.1.3.6 +abi-depends: base-4.11.1.0=5dd741007d6cdd784ac4032dc52ae6cd + ghc-boot-th-8.4.4=d8bd507419aa2dc5daee657f9d2838de + pretty-1.1.3.6=aea398207a7857d3310d3a9790f01571 +--- +name: terminfo +version: 0.4.1.1 +id: terminfo-0.4.1.1 +key: terminfo-0.4.1.1 +license: BSD-3-Clause +copyright: (c) Judah Jacobson +maintainer: Judah Jacobson +author: Judah Jacobson +stability: Stable +homepage: https://github.com/judah/terminfo +synopsis: Haskell bindings to the terminfo library. +description: + This library provides an interface to the terminfo database (via bindings to the + curses library). allows POSIX + systems to interact with a variety of terminals using a standard set of capabilities. +category: User Interfaces +exposed: True +exposed-modules: + System.Console.Terminfo System.Console.Terminfo.Base + System.Console.Terminfo.Color System.Console.Terminfo.Cursor + System.Console.Terminfo.Edit System.Console.Terminfo.Effects + System.Console.Terminfo.Keys +hs-libraries: HSterminfo-0.4.1.1 +extra-libraries: + tinfo +depends: + base-4.11.1.0 +abi-depends: base-4.11.1.0=5dd741007d6cdd784ac4032dc52ae6cd +--- +name: text +version: 1.2.3.1 +id: text-1.2.3.1 +key: text-1.2.3.1 +license: BSD-2-Clause +copyright: 2009-2011 Bryan O'Sullivan, 2008-2009 Tom Harper +maintainer: Bryan O'Sullivan , Herbert Valerio Riedel +author: Bryan O'Sullivan +homepage: https://github.com/haskell/text +synopsis: An efficient packed Unicode text type. +description: + . + An efficient packed, immutable Unicode text type (both strict and + lazy), with a powerful loop fusion optimization framework. + . + The 'Text' type represents Unicode character strings, in a time and + space-efficient manner. This package provides text processing + capabilities that are optimized for performance critical use, both + in terms of large data quantities and high speed. + . + The 'Text' type provides character-encoding, type-safe case + conversion via whole-string case conversion functions (see "Data.Text"). + It also provides a range of functions for converting 'Text' values to + and from 'ByteStrings', using several standard encodings + (see "Data.Text.Encoding"). + . + Efficient locale-sensitive support for text IO is also supported + (see "Data.Text.IO"). + . + These modules are intended to be imported qualified, to avoid name + clashes with Prelude functions, e.g. + . + > import qualified Data.Text as T + . + To use an extended and very rich family of functions for working + with Unicode text (including normalization, regular expressions, + non-standard encodings, text breaking, and locales), see + the [text-icu package](https://hackage.haskell.org/package/text-icu) + based on the well-respected and liberally + licensed [ICU library](http://site.icu-project.org/). +category: Data, Text +exposed: True +exposed-modules: + Data.Text Data.Text.Array Data.Text.Encoding + Data.Text.Encoding.Error Data.Text.Foreign Data.Text.IO + Data.Text.Internal Data.Text.Internal.Builder + Data.Text.Internal.Builder.Functions + Data.Text.Internal.Builder.Int.Digits + Data.Text.Internal.Builder.RealFloat.Functions + Data.Text.Internal.Encoding.Fusion + Data.Text.Internal.Encoding.Fusion.Common + Data.Text.Internal.Encoding.Utf16 Data.Text.Internal.Encoding.Utf32 + Data.Text.Internal.Encoding.Utf8 Data.Text.Internal.Functions + Data.Text.Internal.Fusion Data.Text.Internal.Fusion.CaseMapping + Data.Text.Internal.Fusion.Common Data.Text.Internal.Fusion.Size + Data.Text.Internal.Fusion.Types Data.Text.Internal.IO + Data.Text.Internal.Lazy Data.Text.Internal.Lazy.Encoding.Fusion + Data.Text.Internal.Lazy.Fusion Data.Text.Internal.Lazy.Search + Data.Text.Internal.Private Data.Text.Internal.Read + Data.Text.Internal.Search Data.Text.Internal.Unsafe + Data.Text.Internal.Unsafe.Char Data.Text.Internal.Unsafe.Shift + Data.Text.Lazy Data.Text.Lazy.Builder Data.Text.Lazy.Builder.Int + Data.Text.Lazy.Builder.RealFloat Data.Text.Lazy.Encoding + Data.Text.Lazy.IO Data.Text.Lazy.Internal Data.Text.Lazy.Read + Data.Text.Read Data.Text.Unsafe +hidden-modules: Data.Text.Show +hs-libraries: HStext-1.2.3.1 +depends: + array-0.5.2.0 base-4.11.1.0 binary-0.8.5.1 deepseq-1.4.3.0 + ghc-prim-0.5.2.0 bytestring-0.10.8.2 integer-gmp-1.0.2.0 +abi-depends: array-0.5.2.0=03a64bb9d4be6771406b73145e6e58e1 + base-4.11.1.0=5dd741007d6cdd784ac4032dc52ae6cd + binary-0.8.5.1=24ea694af446178c140cf5fd8325d353 + deepseq-1.4.3.0=17e4fcaae52d394a15cfa6f2abc91bb0 + ghc-prim-0.5.2.0=0a2596c0f516eb6cbf13841c1f06715e + bytestring-0.10.8.2=76891e933d92454fc24dbda9667e7672 + integer-gmp-1.0.2.0=28d9d8fbabb28cc19fc92446ffd9b739 +--- +name: time +version: 1.8.0.2 +id: time-1.8.0.2 +key: time-1.8.0.2 +license: BSD-3-Clause +maintainer: +author: Ashley Yakeley +stability: stable +homepage: https://github.com/haskell/time +synopsis: A time library +description: + A time library +category: Time +exposed: True +exposed-modules: + Data.Time Data.Time.Calendar Data.Time.Calendar.Easter + Data.Time.Calendar.Julian Data.Time.Calendar.MonthDay + Data.Time.Calendar.OrdinalDate Data.Time.Calendar.WeekDate + Data.Time.Clock Data.Time.Clock.POSIX Data.Time.Clock.System + Data.Time.Clock.TAI Data.Time.Format Data.Time.LocalTime +hidden-modules: Data.Time.Calendar.Private Data.Time.Calendar.Days + Data.Time.Calendar.Gregorian Data.Time.Calendar.JulianYearDay + Data.Time.Clock.Internal.DiffTime + Data.Time.Clock.Internal.AbsoluteTime + Data.Time.Clock.Internal.NominalDiffTime + Data.Time.Clock.Internal.POSIXTime + Data.Time.Clock.Internal.UniversalTime + Data.Time.Clock.Internal.SystemTime + Data.Time.Clock.Internal.UTCTime Data.Time.Clock.Internal.CTimeval + Data.Time.Clock.Internal.CTimespec Data.Time.Clock.Internal.UTCDiff + Data.Time.LocalTime.Internal.TimeZone + Data.Time.LocalTime.Internal.TimeOfDay + Data.Time.LocalTime.Internal.LocalTime + Data.Time.LocalTime.Internal.ZonedTime Data.Time.Format.Parse + Data.Time.Format.Locale +hs-libraries: HStime-1.8.0.2 +depends: + base-4.11.1.0 deepseq-1.4.3.0 +abi-depends: base-4.11.1.0=5dd741007d6cdd784ac4032dc52ae6cd + deepseq-1.4.3.0=17e4fcaae52d394a15cfa6f2abc91bb0 +--- +name: transformers +version: 0.5.5.0 +id: transformers-0.5.5.0 +key: transformers-0.5.5.0 +license: BSD-3-Clause +maintainer: Ross Paterson +author: Andy Gill, Ross Paterson +synopsis: Concrete functor and monad transformers +description: + A portable library of functor and monad transformers, inspired by + the paper \"Functional Programming with Overloading and Higher-Order + Polymorphism\", by Mark P Jones, + in /Advanced School of Functional Programming/, 1995 + (). + . + This package contains: + . + * the monad transformer class (in "Control.Monad.Trans.Class") + . + * concrete functor and monad transformers, each with associated + operations and functions to lift operations associated with other + transformers. + . + The package can be used on its own in portable Haskell code, in + which case operations need to be manually lifted through transformer + stacks (see "Control.Monad.Trans.Class" for some examples). + Alternatively, it can be used with the non-portable monad classes in + the @mtl@ or @monads-tf@ packages, which automatically lift operations + introduced by monad transformers through other transformers. +category: Control +exposed: True +exposed-modules: + Control.Applicative.Backwards Control.Applicative.Lift + Control.Monad.Signatures Control.Monad.Trans.Accum + Control.Monad.Trans.Class Control.Monad.Trans.Cont + Control.Monad.Trans.Error Control.Monad.Trans.Except + Control.Monad.Trans.Identity Control.Monad.Trans.List + Control.Monad.Trans.Maybe Control.Monad.Trans.RWS + Control.Monad.Trans.RWS.Lazy Control.Monad.Trans.RWS.Strict + Control.Monad.Trans.Reader Control.Monad.Trans.Select + Control.Monad.Trans.State Control.Monad.Trans.State.Lazy + Control.Monad.Trans.State.Strict Control.Monad.Trans.Writer + Control.Monad.Trans.Writer.Lazy Control.Monad.Trans.Writer.Strict + Data.Functor.Constant Data.Functor.Reverse +hs-libraries: HStransformers-0.5.5.0 +depends: + base-4.11.1.0 +abi-depends: base-4.11.1.0=5dd741007d6cdd784ac4032dc52ae6cd +--- +name: unix +version: 2.7.2.2 +id: unix-2.7.2.2 +key: unix-2.7.2.2 +license: BSD-3-Clause +maintainer: libraries@haskell.org +homepage: https://github.com/haskell/unix +synopsis: POSIX functionality +description: + This package gives you access to the set of operating system + services standardised by + + (or the IEEE Portable Operating System Interface for Computing + Environments - IEEE Std. 1003.1). + . + The package is not supported under Windows. +category: System +exposed: True +exposed-modules: + System.Posix System.Posix.ByteString + System.Posix.ByteString.FilePath System.Posix.Directory + System.Posix.Directory.ByteString System.Posix.DynamicLinker + System.Posix.DynamicLinker.ByteString + System.Posix.DynamicLinker.Module + System.Posix.DynamicLinker.Module.ByteString + System.Posix.DynamicLinker.Prim System.Posix.Env + System.Posix.Env.ByteString System.Posix.Error System.Posix.Fcntl + System.Posix.Files System.Posix.Files.ByteString System.Posix.IO + System.Posix.IO.ByteString System.Posix.Process + System.Posix.Process.ByteString System.Posix.Process.Internals + System.Posix.Resource System.Posix.Semaphore System.Posix.SharedMem + System.Posix.Signals System.Posix.Signals.Exts System.Posix.Temp + System.Posix.Temp.ByteString System.Posix.Terminal + System.Posix.Terminal.ByteString System.Posix.Time + System.Posix.Unistd System.Posix.User +hidden-modules: System.Posix.Directory.Common + System.Posix.DynamicLinker.Common System.Posix.Files.Common + System.Posix.IO.Common System.Posix.Process.Common + System.Posix.Terminal.Common +hs-libraries: HSunix-2.7.2.2 +extra-libraries: + rt util dl pthread +includes: + HsUnix.h execvpe.h +depends: + base-4.11.1.0 bytestring-0.10.8.2 time-1.8.0.2 +abi-depends: base-4.11.1.0=5dd741007d6cdd784ac4032dc52ae6cd + bytestring-0.10.8.2=76891e933d92454fc24dbda9667e7672 + time-1.8.0.2=2ae9fc1c165f8024676cbedfffc1f10c +--- +name: xhtml +version: 3000.2.2.1 +id: xhtml-3000.2.2.1 +key: xhtml-3000.2.2.1 +license: BSD-3-Clause +copyright: Bjorn Bringert 2004-2006, Andy Gill and the Oregon + Graduate Institute of Science and Technology, 1999-2001 +maintainer: Chris Dornan +author: Bjorn Bringert +stability: Stable +homepage: https://github.com/haskell/xhtml +synopsis: An XHTML combinator library +description: + This package provides combinators for producing + XHTML 1.0, including the Strict, Transitional and + Frameset variants. +category: Web, XML, Pretty Printer +exposed: True +exposed-modules: + Text.XHtml Text.XHtml.Debug Text.XHtml.Frameset Text.XHtml.Strict + Text.XHtml.Table Text.XHtml.Transitional +hidden-modules: Text.XHtml.Strict.Attributes + Text.XHtml.Strict.Elements Text.XHtml.Frameset.Attributes + Text.XHtml.Frameset.Elements Text.XHtml.Transitional.Attributes + Text.XHtml.Transitional.Elements Text.XHtml.BlockTable + Text.XHtml.Extras Text.XHtml.Internals +hs-libraries: HSxhtml-3000.2.2.1 +depends: + base-4.11.1.0 +abi-depends: base-4.11.1.0=5dd741007d6cdd784ac4032dc52ae6cd diff --git a/materialized/dummy-ghc/ghc-8.4.4-x86_64-linux/ghc-pkg/version b/materialized/dummy-ghc/ghc-8.4.4-x86_64-linux/ghc-pkg/version new file mode 100644 index 000000000..4bd3cb02a --- /dev/null +++ b/materialized/dummy-ghc/ghc-8.4.4-x86_64-linux/ghc-pkg/version @@ -0,0 +1 @@ +GHC package manager version 8.4.4 diff --git a/materialized/dummy-ghc/ghc-8.4.4-x86_64-linux/ghc/info b/materialized/dummy-ghc/ghc-8.4.4-x86_64-linux/ghc/info new file mode 100644 index 000000000..d7b30b081 --- /dev/null +++ b/materialized/dummy-ghc/ghc-8.4.4-x86_64-linux/ghc/info @@ -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") + ] diff --git a/materialized/dummy-ghc/ghc-8.4.4-x86_64-linux/ghc/numeric-version b/materialized/dummy-ghc/ghc-8.4.4-x86_64-linux/ghc/numeric-version new file mode 100644 index 000000000..917d38ec9 --- /dev/null +++ b/materialized/dummy-ghc/ghc-8.4.4-x86_64-linux/ghc/numeric-version @@ -0,0 +1 @@ +8.4.4 diff --git a/materialized/dummy-ghc/ghc-8.4.4-x86_64-linux/ghc/supported-languages b/materialized/dummy-ghc/ghc-8.4.4-x86_64-linux/ghc/supported-languages new file mode 100644 index 000000000..75a8fc03f --- /dev/null +++ b/materialized/dummy-ghc/ghc-8.4.4-x86_64-linux/ghc/supported-languages @@ -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 diff --git a/materialized/ghc865/alex/.plan.nix/alex.nix b/materialized/ghc865/alex/.plan.nix/alex.nix new file mode 100644 index 000000000..abf25a360 --- /dev/null +++ b/materialized/ghc865/alex/.plan.nix/alex.nix @@ -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 "; + 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 ../.; } \ No newline at end of file diff --git a/materialized/ghc865/alex/default.nix b/materialized/ghc865/alex/default.nix new file mode 100644 index 000000000..2f68e39d7 --- /dev/null +++ b/materialized/ghc865/alex/default.nix @@ -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; }; }; + }; + }) + ]; + } \ No newline at end of file diff --git a/materialized/ghc865/cabal-install/.plan.nix/cabal-install.nix b/materialized/ghc865/cabal-install/.plan.nix/cabal-install.nix new file mode 100644 index 000000000..db9072971 --- /dev/null +++ b/materialized/ghc865/cabal-install/.plan.nix/cabal-install.nix @@ -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 "; + 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 ../.; } \ No newline at end of file diff --git a/materialized/ghc865/cabal-install/default.nix b/materialized/ghc865/cabal-install/default.nix new file mode 100644 index 000000000..4ec46f50c --- /dev/null +++ b/materialized/ghc865/cabal-install/default.nix @@ -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; + }; + }; + }; + }) + ]; + } \ No newline at end of file diff --git a/materialized/ghc865/happy/.plan.nix/happy.nix b/materialized/ghc865/happy/.plan.nix/happy.nix new file mode 100644 index 000000000..b5455c571 --- /dev/null +++ b/materialized/ghc865/happy/.plan.nix/happy.nix @@ -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 "; + 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 ../.; } \ No newline at end of file diff --git a/materialized/ghc865/happy/default.nix b/materialized/ghc865/happy/default.nix new file mode 100644 index 000000000..3c8efdd15 --- /dev/null +++ b/materialized/ghc865/happy/default.nix @@ -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; }; }; + }; + }) + ]; + } \ No newline at end of file diff --git a/nix-tools/.plan.nix/hackage-db.nix b/materialized/ghc865/nix-tools/.plan.nix/hackage-db.nix similarity index 77% rename from nix-tools/.plan.nix/hackage-db.nix rename to materialized/ghc865/nix-tools/.plan.nix/hackage-db.nix index 07b3b1b7c..65f7917f0 100644 --- a/nix-tools/.plan.nix/hackage-db.nix +++ b/materialized/ghc865/nix-tools/.plan.nix/hackage-db.nix @@ -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 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"; - }); - } \ No newline at end of file + } // rec { src = (pkgs.lib).mkDefault .././.source-repository-packages/0; } \ No newline at end of file diff --git a/nix-tools/.plan.nix/nix-tools.nix b/materialized/ghc865/nix-tools/.plan.nix/nix-tools.nix similarity index 86% rename from nix-tools/.plan.nix/nix-tools.nix rename to materialized/ghc865/nix-tools/.plan.nix/nix-tools.nix index ed77046a8..6d1ad6e82 100644 --- a/nix-tools/.plan.nix/nix-tools.nix +++ b/materialized/ghc865/nix-tools/.plan.nix/nix-tools.nix @@ -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" ]; }; }; }; diff --git a/nix-tools/pkgs.nix b/materialized/ghc865/nix-tools/default.nix similarity index 98% rename from nix-tools/pkgs.nix rename to materialized/ghc865/nix-tools/default.nix index 7d6787a97..bf9e33474 100644 --- a/nix-tools/pkgs.nix +++ b/materialized/ghc865/nix-tools/default.nix @@ -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"; diff --git a/materialized/ghc883/alex/.plan.nix/alex.nix b/materialized/ghc883/alex/.plan.nix/alex.nix new file mode 100644 index 000000000..abf25a360 --- /dev/null +++ b/materialized/ghc883/alex/.plan.nix/alex.nix @@ -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 "; + 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 ../.; } \ No newline at end of file diff --git a/materialized/ghc883/alex/default.nix b/materialized/ghc883/alex/default.nix new file mode 100644 index 000000000..5a3c26abc --- /dev/null +++ b/materialized/ghc883/alex/default.nix @@ -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; }; }; + }; + }) + ]; + } \ No newline at end of file diff --git a/materialized/ghc883/cabal-install/.plan.nix/cabal-install.nix b/materialized/ghc883/cabal-install/.plan.nix/cabal-install.nix new file mode 100644 index 000000000..db9072971 --- /dev/null +++ b/materialized/ghc883/cabal-install/.plan.nix/cabal-install.nix @@ -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 "; + 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 ../.; } \ No newline at end of file diff --git a/materialized/ghc883/cabal-install/default.nix b/materialized/ghc883/cabal-install/default.nix new file mode 100644 index 000000000..cb50cf129 --- /dev/null +++ b/materialized/ghc883/cabal-install/default.nix @@ -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; + }; + }; + }; + }) + ]; + } \ No newline at end of file diff --git a/materialized/ghc883/happy/.plan.nix/happy.nix b/materialized/ghc883/happy/.plan.nix/happy.nix new file mode 100644 index 000000000..b5455c571 --- /dev/null +++ b/materialized/ghc883/happy/.plan.nix/happy.nix @@ -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 "; + 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 ../.; } \ No newline at end of file diff --git a/materialized/ghc883/happy/default.nix b/materialized/ghc883/happy/default.nix new file mode 100644 index 000000000..a7e3c5765 --- /dev/null +++ b/materialized/ghc883/happy/default.nix @@ -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; }; }; + }; + }) + ]; + } \ No newline at end of file diff --git a/materialized/ghc883/nix-tools/.plan.nix/hackage-db.nix b/materialized/ghc883/nix-tools/.plan.nix/hackage-db.nix new file mode 100644 index 000000000..65f7917f0 --- /dev/null +++ b/materialized/ghc883/nix-tools/.plan.nix/hackage-db.nix @@ -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 "; + 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 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; } \ No newline at end of file diff --git a/materialized/ghc883/nix-tools/.plan.nix/nix-tools.nix b/materialized/ghc883/nix-tools/.plan.nix/nix-tools.nix new file mode 100644 index 000000000..6d1ad6e82 --- /dev/null +++ b/materialized/ghc883/nix-tools/.plan.nix/nix-tools.nix @@ -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 ../.; } \ No newline at end of file diff --git a/nix-tools/pkgs-8.4.4.nix b/materialized/ghc883/nix-tools/default.nix similarity index 89% rename from nix-tools/pkgs-8.4.4.nix rename to materialized/ghc883/nix-tools/default.nix index c3dc97063..c9d95de26 100644 --- a/nix-tools/pkgs-8.4.4.nix +++ b/materialized/ghc883/nix-tools/default.nix @@ -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"; }; }; diff --git a/mk-local-hackage-repo/default.nix b/mk-local-hackage-repo/default.nix index 055cc0d67..7b7651b94 100644 --- a/mk-local-hackage-repo/default.nix +++ b/mk-local-hackage-repo/default.nix @@ -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" diff --git a/nix-tools/.plan.nix/haskell-src-meta.nix b/nix-tools/.plan.nix/haskell-src-meta.nix deleted file mode 100644 index 971c25873..000000000 --- a/nix-tools/.plan.nix/haskell-src-meta.nix +++ /dev/null @@ -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 "; - 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"; - }); - } \ No newline at end of file diff --git a/nix-tools/default.nix b/nix-tools/default.nix deleted file mode 100644 index 1af03bca2..000000000 --- a/nix-tools/default.nix +++ /dev/null @@ -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 - ''; - } diff --git a/nix-tools/regenerate.nix b/nix-tools/regenerate.nix index 9f23e3b85..231b92ed9 100644 --- a/nix-tools/regenerate.nix +++ b/nix-tools/regenerate.nix @@ -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 "******" '' diff --git a/overlays/bootstrap.nix b/overlays/bootstrap.nix index 7b973c1bf..971f9e423 100644 --- a/overlays/bootstrap.nix +++ b/overlays/bootstrap.nix @@ -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 {}; }; }; }; diff --git a/overlays/default.nix b/overlays/default.nix index 6743805e2..40f0c6875 100644 --- a/overlays/default.nix +++ b/overlays/default.nix @@ -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; } diff --git a/overlays/eval-on-build.nix b/overlays/eval-on-build.nix new file mode 100644 index 000000000..9680b8071 --- /dev/null +++ b/overlays/eval-on-build.nix @@ -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; +} \ No newline at end of file diff --git a/overlays/eval-on-current.nix b/overlays/eval-on-current.nix new file mode 100644 index 000000000..1f580ce47 --- /dev/null +++ b/overlays/eval-on-current.nix @@ -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; +} \ No newline at end of file diff --git a/overlays/ghc-packages.nix b/overlays/ghc-packages.nix index 54034b89a..7b9bc8343 100644 --- a/overlays/ghc-packages.nix +++ b/overlays/ghc-packages.nix @@ -1,24 +1,14 @@ final: prev: let - emptyDotCabal = final.runCommand "empty-dot-cabal" {} '' - mkdir -p $out/.cabal - cat < $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: diff --git a/overlays/haskell.nix b/overlays/haskell.nix index 69c2b4c14..958029abd 100644 --- a/overlays/haskell.nix +++ b/overlays/haskell.nix @@ -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 < $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; diff --git a/package-set.nix b/package-set.nix index 78fc0c97e..1b62ae0d5 100644 --- a/package-set.nix +++ b/package-set.nix @@ -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