From b4576a44299cc33122ad25cf44581ad18c2bd281 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Wed, 9 Aug 2023 00:51:46 +1200 Subject: [PATCH 001/117] Add `ghc980` and `ghc99` Built using the `ghc-9.8` and `master` branch of ghc as flake inputs updated daily. --- .github/workflows/updates.yml | 4 +- ci.nix | 17 +- compiler/ghc/default.nix | 21 +- flake.lock | 39 + flake.nix | 8 + lib/make-dummy-ghc-data.nix | 2 +- .../ghc-9.6.2-x86_64-darwin/ghc/info | 4 +- .../ghc-pkg/dump-global | 1834 +++++++++++++++++ .../ghc-9.2.8-aarch64-darwin/ghc-pkg/version | 1 + .../ghc-9.2.8-aarch64-darwin/ghc/info | 64 + .../ghc/numeric-version | 1 + .../ghc/supported-languages | 268 +++ .../ghc-9.2.8-aarch64-darwin/ghc/version | 1 + .../ghc-pkg/dump-global | 1834 +++++++++++++++++ .../ghc-9.2.8-x86_64-darwin/ghc-pkg/version | 1 + .../ghc-9.2.8-x86_64-darwin/ghc/info | 64 + .../ghc/numeric-version | 1 + .../ghc/supported-languages | 268 +++ .../ghc-9.2.8-x86_64-darwin/ghc/version | 1 + modules/cabal-project.nix | 2 + modules/component-driver.nix | 8 +- overlays/bootstrap.nix | 38 +- overlays/default-setup.nix | 4 + 23 files changed, 4453 insertions(+), 32 deletions(-) create mode 100644 materialized/nixpkgs/dummy-ghc/ghc-9.2.8-aarch64-darwin/ghc-pkg/dump-global create mode 100644 materialized/nixpkgs/dummy-ghc/ghc-9.2.8-aarch64-darwin/ghc-pkg/version create mode 100644 materialized/nixpkgs/dummy-ghc/ghc-9.2.8-aarch64-darwin/ghc/info create mode 100644 materialized/nixpkgs/dummy-ghc/ghc-9.2.8-aarch64-darwin/ghc/numeric-version create mode 100644 materialized/nixpkgs/dummy-ghc/ghc-9.2.8-aarch64-darwin/ghc/supported-languages create mode 100644 materialized/nixpkgs/dummy-ghc/ghc-9.2.8-aarch64-darwin/ghc/version create mode 100644 materialized/nixpkgs/dummy-ghc/ghc-9.2.8-x86_64-darwin/ghc-pkg/dump-global create mode 100644 materialized/nixpkgs/dummy-ghc/ghc-9.2.8-x86_64-darwin/ghc-pkg/version create mode 100644 materialized/nixpkgs/dummy-ghc/ghc-9.2.8-x86_64-darwin/ghc/info create mode 100644 materialized/nixpkgs/dummy-ghc/ghc-9.2.8-x86_64-darwin/ghc/numeric-version create mode 100644 materialized/nixpkgs/dummy-ghc/ghc-9.2.8-x86_64-darwin/ghc/supported-languages create mode 100644 materialized/nixpkgs/dummy-ghc/ghc-9.2.8-x86_64-darwin/ghc/version diff --git a/.github/workflows/updates.yml b/.github/workflows/updates.yml index adeb15ade9..d54d86ff37 100644 --- a/.github/workflows/updates.yml +++ b/.github/workflows/updates.yml @@ -1,4 +1,4 @@ -name: "Update pins for hackage.nix and stackage.nix" +name: "Update pins for ghc, hackage.nix and stackage.nix" on: workflow_dispatch: @@ -20,6 +20,8 @@ jobs: run: | nix flake lock --update-input hackage nix flake lock --update-input stackage + nix flake lock --update-input ghc980 + nix flake lock --update-input ghc99 - name: Commit and push changes run: | git config --local user.email "devops+nix-tools@iohk.io" diff --git a/ci.nix b/ci.nix index 84f06a4ac6..5e5ffb1df5 100644 --- a/ci.nix +++ b/ci.nix @@ -66,31 +66,32 @@ ghc928 = true; ghc945 = true; ghc962 = true; - ghc9820230704 = true; + ghc980 = true; + ghc99 = true; })); crossSystems = nixpkgsName: nixpkgs: compiler-nix-name: # We need to use the actual nixpkgs version we're working with here, since the values # of 'lib.systems.examples' are not understood between all versions let lib = nixpkgs.lib; in lib.optionalAttrs (nixpkgsName == "unstable" - && ((system == "x86_64-linux" && __elem compiler-nix-name ["ghc8107" "ghc962" "ghc9820230704"]) - || (system == "aarch64-linux" && __elem compiler-nix-name ["ghc8107" "ghc962" "ghc9820230704"]) - || (system == "x86_64-darwin" && __elem compiler-nix-name ["ghc8107" "ghc962" "ghc9820230704"]) - || (system == "aarch64-darwin" && __elem compiler-nix-name ["ghc8107" "ghc962" "ghc9820230704"]) + && ((system == "x86_64-linux" && __elem compiler-nix-name ["ghc8107" "ghc962" "ghc980" "ghc99"]) + || (system == "aarch64-linux" && __elem compiler-nix-name ["ghc8107" "ghc962" "ghc980" "ghc99"]) + || (system == "x86_64-darwin" && __elem compiler-nix-name ["ghc8107" "ghc962" "ghc980" "ghc99"]) + || (system == "aarch64-darwin" && __elem compiler-nix-name ["ghc8107" "ghc962" "ghc980" "ghc99"]) )) { inherit (lib.systems.examples) ghcjs; } // lib.optionalAttrs (nixpkgsName == "unstable" - && ((system == "x86_64-linux" && __elem compiler-nix-name ["ghc8107" "ghc902" "ghc926" "ghc927" "ghc928" "ghc945" "ghc962" "ghc9820230704"]) + && ((system == "x86_64-linux" && __elem compiler-nix-name ["ghc8107" "ghc902" "ghc926" "ghc927" "ghc928" "ghc945" "ghc962" "ghc980" "ghc99"]) || (system == "x86_64-darwin" && __elem compiler-nix-name []))) { # TODO add ghc versions when we have more darwin build capacity inherit (lib.systems.examples) mingwW64; - } // lib.optionalAttrs (system == "x86_64-linux" && nixpkgsName == "unstable" && __elem compiler-nix-name ["ghc8107" "ghc902" "ghc922" "ghc923" "ghc924" "ghc926" "ghc927" "ghc928" "ghc945" "ghc962" "ghc9820230704"]) { + } // lib.optionalAttrs (system == "x86_64-linux" && nixpkgsName == "unstable" && __elem compiler-nix-name ["ghc8107" "ghc902" "ghc922" "ghc923" "ghc924" "ghc926" "ghc927" "ghc928" "ghc945" "ghc962" "ghc980" "ghc99"]) { # Musl cross only works on linux # aarch64 cross only works on linux inherit (lib.systems.examples) musl64 aarch64-multiplatform; } // lib.optionalAttrs (system == "x86_64-linux" && nixpkgsName == "unstable" && __elem compiler-nix-name ["ghc927" "ghc928"]) { # TODO fix this for the compilers we build with hadrian (ghc >=9.4) inherit (lib.systems.examples) aarch64-multiplatform-musl; - } // lib.optionalAttrs (system == "aarch64-linux" && nixpkgsName == "unstable" && __elem compiler-nix-name ["ghc927" "ghc928" "ghc945" "ghc962" "ghc9820230704"]) { + } // lib.optionalAttrs (system == "aarch64-linux" && nixpkgsName == "unstable" && __elem compiler-nix-name ["ghc927" "ghc928" "ghc945" "ghc962" "ghc980" "ghc99"]) { inherit (lib.systems.examples) aarch64-multiplatform-musl; }; isDisabled = d: d.meta.disabled or false; diff --git a/compiler/ghc/default.nix b/compiler/ghc/default.nix index 04b94b3c06..56d00f0384 100644 --- a/compiler/ghc/default.nix +++ b/compiler/ghc/default.nix @@ -72,6 +72,7 @@ let self = , ghc-version ? src-spec.version , ghc-version-date ? null +, ghc-commit-id ? null , src-spec , ghc-patches ? [] @@ -239,18 +240,9 @@ let # value for us. installStage1 = useHadrian && (haskell-nix.haskellLib.isCrossTarget || stdenv.targetPlatform.isMusl); - hadrian = buildPackages.haskell-nix.tool "ghc8107" "hadrian" { + hadrian = buildPackages.haskell-nix.tool "ghc928" "hadrian" { compilerSelection = p: p.haskell.compiler; index-state = buildPackages.haskell-nix.internalHackageIndexState; - # Verions of hadrian that comes with 9.6 depends on `time` - materialized = - if builtins.compareVersions ghc-version "9.4" < 0 - then ../../materialized/ghc8107/hadrian-ghc92 - else if builtins.compareVersions ghc-version "9.6" < 0 - then ../../materialized/ghc8107/hadrian-ghc94 - else if builtins.compareVersions ghc-version "9.8" < 0 - then ../../materialized/ghc8107/hadrian-ghc96 - else ../../materialized/ghc8107/hadrian-ghc98; modules = [{ # Apply the patches in a way that does not require using something # like `srcOnly`. The problem with `pkgs.srcOnly` was that it had to run @@ -263,10 +255,6 @@ let cd hadrian ''; }]; - cabalProject = '' - packages: - . - ''; cabalProjectLocal = null; cabalProjectFreeze = null; src = haskell-nix.haskellLib.cleanSourceWith { @@ -278,6 +266,7 @@ let filterPath = { path, ... }: path; }; subDir = "hadrian"; + includeSiblings = true; }; }; @@ -434,9 +423,11 @@ stdenv.mkDerivation (rec { '' + lib.optionalString (ghc-version-date != null) '' substituteInPlace configure --replace 'RELEASE=YES' 'RELEASE=NO' echo '${ghc-version-date}' > VERSION_DATE + '' + lib.optionalString (ghc-commit-id != null) '' + echo '${ghc-commit-id}' > GIT_COMMIT_ID '' # The official ghc 9.2.3 tarball requires booting. - + lib.optionalString (ghc-version == "9.2.3" || ghc-version == "9.8.20230704") '' + + lib.optionalString (ghc-version == "9.2.3" || ghc-version == "9.8.20230704" || src-spec.needsBooting or false) '' python3 ./boot ''; diff --git a/flake.lock b/flake.lock index 9484679830..cd27b07381 100644 --- a/flake.lock +++ b/flake.lock @@ -133,6 +133,43 @@ "type": "github" } }, + "ghc980": { + "flake": false, + "locked": { + "lastModified": 1690479793, + "narHash": "sha256-m6/WcPqFhsH3nYYimdBJFDyhHWRwEs37iEP8Hvpt5xk=", + "ref": "ghc-9.8", + "rev": "62cb821ef2ef0d47c4cf88a6f2aeb7f75106d361", + "revCount": 61521, + "submodules": true, + "type": "git", + "url": "https://github.com/ghc/ghc" + }, + "original": { + "ref": "ghc-9.8", + "submodules": true, + "type": "git", + "url": "https://github.com/ghc/ghc" + } + }, + "ghc99": { + "flake": false, + "locked": { + "lastModified": 1691477269, + "narHash": "sha256-gUdkzIEoV1D0E1Bz9mdsDRqJRddC3OO7+M9HFUTrzZQ=", + "ref": "refs/heads/master", + "rev": "3b373838e08e2e2b43fab9f0a008fb60325d31e0", + "revCount": 61713, + "submodules": true, + "type": "git", + "url": "https://github.com/ghc/ghc" + }, + "original": { + "submodules": true, + "type": "git", + "url": "https://github.com/ghc/ghc" + } + }, "hackage": { "flake": false, "locked": { @@ -446,6 +483,8 @@ "flake-compat": "flake-compat", "flake-utils": "flake-utils", "ghc-8.6.5-iohk": "ghc-8.6.5-iohk", + "ghc980": "ghc980", + "ghc99": "ghc99", "hackage": "hackage", "hls-1.10": "hls-1.10", "hls-2.0": "hls-2.0", diff --git a/flake.nix b/flake.nix index ee8aac6b0f..230d186e30 100644 --- a/flake.nix +++ b/flake.nix @@ -10,6 +10,14 @@ nixpkgs-2211 = { url = "github:NixOS/nixpkgs/nixpkgs-22.11-darwin"; }; nixpkgs-2305 = { url = "github:NixOS/nixpkgs/nixpkgs-23.05-darwin"; }; nixpkgs-unstable = { url = "github:NixOS/nixpkgs/nixpkgs-unstable"; }; + ghc980 = { + flake = false; + url = "git+https://github.com/ghc/ghc?ref=ghc-9.8&submodules=1"; + }; + ghc99 = { + flake = false; + url = "git+https://github.com/ghc/ghc?submodules=1"; + }; flake-compat = { url = "github:input-output-hk/flake-compat/hkm/gitlab-fix"; flake = false; }; flake-utils = { url = "github:hamishmack/flake-utils/hkm/nested-hydraJobs"; }; "hls-1.10" = { url = "github:haskell/haskell-language-server/1.10.0.0"; flake = false; }; diff --git a/lib/make-dummy-ghc-data.nix b/lib/make-dummy-ghc-data.nix index 0ddd4ef44c..669cafd45d 100644 --- a/lib/make-dummy-ghc-data.nix +++ b/lib/make-dummy-ghc-data.nix @@ -35,7 +35,7 @@ let reasonNotSafe = null; } // pkgs.lib.optionalAttrs (checkMaterialization != null) { inherit checkMaterialization; - }) ( + } // { checkMaterialization = true; }) ( runCommand ("dummy-data-" + ghc.name) { nativeBuildInputs = [ ghc ]; } '' diff --git a/materialized/dummy-ghc/ghc-9.6.2-x86_64-darwin/ghc/info b/materialized/dummy-ghc/ghc-9.6.2-x86_64-darwin/ghc/info index 688443c148..67ee1ece48 100644 --- a/materialized/dummy-ghc/ghc-9.6.2-x86_64-darwin/ghc/info +++ b/materialized/dummy-ghc/ghc-9.6.2-x86_64-darwin/ghc/info @@ -11,7 +11,7 @@ ,("ld is GNU ld","NO") ,("Merge objects flags","-r") ,("ar flags","qcls") - ,("ar supports at file","NO") + ,("ar supports at file","YES") ,("ar supports -L","NO") ,("otool command","otool") ,("install_name_tool command","install_name_tool") @@ -48,7 +48,7 @@ ,("Project Patch Level","2") ,("Project Patch Level1","2") ,("Project Patch Level2","0") - ,("Booter version","9.4.4") + ,("Booter version","9.6.2") ,("Stage","2") ,("Build platform","x86_64-apple-darwin") ,("Host platform","x86_64-apple-darwin") diff --git a/materialized/nixpkgs/dummy-ghc/ghc-9.2.8-aarch64-darwin/ghc-pkg/dump-global b/materialized/nixpkgs/dummy-ghc/ghc-9.2.8-aarch64-darwin/ghc-pkg/dump-global new file mode 100644 index 0000000000..765fcc159d --- /dev/null +++ b/materialized/nixpkgs/dummy-ghc/ghc-9.2.8-aarch64-darwin/ghc-pkg/dump-global @@ -0,0 +1,1834 @@ +name: Cabal +version: 3.6.3.0 +visibility: public +id: Cabal-3.6.3.0 +key: Cabal-3.6.3.0 +license: BSD-3-Clause +copyright: 2003-2021, 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.FilePath + Distribution.Compat.Graph Distribution.Compat.Internal.TempFile + Distribution.Compat.Lens Distribution.Compat.Newtype + Distribution.Compat.NonEmptySet Distribution.Compat.Parsing + Distribution.Compat.Prelude.Internal Distribution.Compat.Process + Distribution.Compat.ResponseFile Distribution.Compat.Semigroup + Distribution.Compat.Stack Distribution.Compat.Time + Distribution.Compat.Typeable Distribution.Compiler + Distribution.FieldGrammar Distribution.FieldGrammar.Class + Distribution.FieldGrammar.FieldDescrs + Distribution.FieldGrammar.Newtypes Distribution.FieldGrammar.Parsec + Distribution.FieldGrammar.Pretty Distribution.Fields + Distribution.Fields.ConfVar Distribution.Fields.Field + Distribution.Fields.Lexer Distribution.Fields.LexerMonad + Distribution.Fields.ParseResult Distribution.Fields.Parser + Distribution.Fields.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.Parsec + Distribution.Parsec.Error Distribution.Parsec.FieldLineStream + Distribution.Parsec.Position Distribution.Parsec.Warning + Distribution.Pretty Distribution.ReadE Distribution.SPDX + Distribution.SPDX.License Distribution.SPDX.LicenseExceptionId + Distribution.SPDX.LicenseExpression Distribution.SPDX.LicenseId + Distribution.SPDX.LicenseListVersion + 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.Flag + Distribution.Simple.GHC Distribution.Simple.GHCJS + Distribution.Simple.Glob Distribution.Simple.Haddock + Distribution.Simple.HaskellSuite Distribution.Simple.Hpc + Distribution.Simple.Install Distribution.Simple.InstallDirs + Distribution.Simple.InstallDirs.Internal + 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.ShowBuildInfo 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.ConfVar Distribution.Types.Dependency + Distribution.Types.DependencyMap Distribution.Types.ExeDependency + Distribution.Types.Executable Distribution.Types.Executable.Lens + Distribution.Types.ExecutableScope Distribution.Types.ExposedModule + Distribution.Types.Flag Distribution.Types.ForeignLib + Distribution.Types.ForeignLib.Lens + Distribution.Types.ForeignLibOption + Distribution.Types.ForeignLibType + Distribution.Types.GenericPackageDescription + Distribution.Types.GenericPackageDescription.Lens + Distribution.Types.GivenComponent + 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.LibraryName Distribution.Types.LibraryVisibility + 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.PackageName.Magic + Distribution.Types.PackageVersionConstraint + Distribution.Types.PkgconfigDependency + Distribution.Types.PkgconfigName + Distribution.Types.PkgconfigVersion + Distribution.Types.PkgconfigVersionRange + 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.VersionInterval.Legacy + Distribution.Types.VersionRange + Distribution.Types.VersionRange.Internal Distribution.Utils.Generic + Distribution.Utils.IOData Distribution.Utils.LogProgress + Distribution.Utils.MD5 Distribution.Utils.MapAccum + Distribution.Utils.NubList Distribution.Utils.Path + Distribution.Utils.Progress Distribution.Utils.ShortText + Distribution.Utils.Structured Distribution.Verbosity + Distribution.Verbosity.Internal 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.Async + Distribution.Compat.CopyFile Distribution.Compat.GetShortPathName + Distribution.Compat.MonadFail Distribution.Compat.Prelude + Distribution.Compat.SnocList Distribution.GetOpt Distribution.Lex + Distribution.Utils.String Distribution.Simple.Build.Macros.Z + Distribution.Simple.Build.PathsModule.Z + Distribution.Simple.GHC.EnvironmentParser + Distribution.Simple.GHC.Internal Distribution.Simple.GHC.ImplInfo + Distribution.Simple.Utils.Json Distribution.ZinzaPrelude + Paths_Cabal +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSCabal-3.6.3.0 +depends: + array-0.5.4.0 base-4.16.4.0 binary-0.8.9.0 bytestring-0.11.4.0 + containers-0.6.5.1 deepseq-1.4.6.1 directory-1.3.6.2 + filepath-1.4.2.2 mtl-2.2.2 parsec-3.1.15.0 pretty-1.1.3.6 + process-1.6.16.0 text-1.2.5.0 time-1.11.1.1 transformers-0.5.6.2 + unix-2.7.2.2 +haddock-interfaces: +haddock-html: +--- +name: array +version: 0.5.4.0 +visibility: public +id: array-0.5.4.0 +key: array-0.5.4.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 +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSarray-0.5.4.0 +depends: base-4.16.4.0 +haddock-interfaces: +haddock-html: +--- +name: base +version: 4.16.4.0 +visibility: public +id: base-4.16.4.0 +key: base-4.16.4.0 +license: BSD-3-Clause +maintainer: libraries@haskell.org +synopsis: Basic libraries +description: + This package contains the Standard Haskell "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.Contravariant, + 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.Type.Ord, 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.Bits, + 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.Event.TimeOut, GHC.Exception, GHC.Exception.Type, + 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.GHCi.Helpers, 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.StdHandles, + GHC.IO.SubSystem, GHC.IO.Unsafe, GHC.IOArray, GHC.IOPort, + GHC.IORef, GHC.Int, GHC.Integer, GHC.Integer.Logarithms, GHC.Ix, + GHC.List, GHC.MVar, GHC.Maybe, GHC.Natural, GHC.Num, + GHC.Num.BigNat from ghc-bignum-1.2:GHC.Num.BigNat, + GHC.Num.Integer from ghc-bignum-1.2:GHC.Num.Integer, + GHC.Num.Natural from ghc-bignum-1.2:GHC.Num.Natural, GHC.OldList, + GHC.OverloadedLabels, GHC.Pack, GHC.Profiling, GHC.Ptr, + GHC.RTS.Flags, GHC.Read, GHC.Real, GHC.Records, GHC.ResponseFile, + GHC.ST, GHC.STRef, GHC.Show, GHC.Stable, GHC.StableName, GHC.Stack, + GHC.Stack.CCS, GHC.Stack.Types, GHC.StaticPtr, GHC.Stats, + GHC.Storable, GHC.TopHandler, GHC.TypeLits, GHC.TypeLits.Internal, + GHC.TypeNats, GHC.TypeNats.Internal, 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.IO.Handle.Lock.Common + GHC.IO.Handle.Lock.Flock GHC.IO.Handle.Lock.LinuxOFD + GHC.IO.Handle.Lock.NoOp GHC.IO.Handle.Lock.Windows + GHC.StaticPtr.Internal GHC.Event.Arr GHC.Event.Array + GHC.Event.Internal GHC.Event.Internal.Types GHC.Event.IntTable + GHC.Event.IntVar GHC.Event.PSQ GHC.Event.Unique + System.Environment.ExecutablePath System.CPUTime.Utils + GHC.Event.Control GHC.Event.EPoll GHC.Event.KQueue + GHC.Event.Manager GHC.Event.Poll GHC.Event.Thread + GHC.Event.TimerManager System.CPUTime.Posix.ClockGetTime + System.CPUTime.Posix.Times System.CPUTime.Posix.RUsage + System.CPUTime.Unsupported +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSbase-4.16.4.0 +extra-libraries: iconv +include-dirs: +includes: HsBase.h +depends: ghc-bignum-1.2 ghc-prim-0.8.0 rts +haddock-interfaces: +haddock-html: +--- +name: binary +version: 0.8.9.0 +visibility: public +id: binary-0.8.9.0 +key: binary-0.8.9.0 +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 +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSbinary-0.8.9.0 +depends: + array-0.5.4.0 base-4.16.4.0 bytestring-0.11.4.0 containers-0.6.5.1 +haddock-interfaces: +haddock-html: +--- +name: bytestring +version: 0.11.4.0 +visibility: public +id: bytestring-0.11.4.0 +key: bytestring-0.11.4.0 +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: + Haskell Bytestring Team , Core Libraries Committee +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 be converted to or from a 'ByteString'. 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.Builder.RealFloat Data.ByteString.Char8 + Data.ByteString.Internal Data.ByteString.Lazy + 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.ASCII + Data.ByteString.Builder.Prim.Binary + Data.ByteString.Builder.Prim.Internal.Base16 + Data.ByteString.Builder.Prim.Internal.Floating + Data.ByteString.Builder.RealFloat.F2S + Data.ByteString.Builder.RealFloat.D2S + Data.ByteString.Builder.RealFloat.Internal + Data.ByteString.Builder.RealFloat.TableGenerator + Data.ByteString.Internal.Type Data.ByteString.Lazy.Internal.Deque +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSbytestring-0.11.4.0 +include-dirs: +includes: fpstring.h +depends: + base-4.16.4.0 deepseq-1.4.6.1 ghc-prim-0.8.0 + template-haskell-2.18.0.0 +haddock-interfaces: +haddock-html: +--- +name: containers +version: 0.6.5.1 +visibility: public +id: containers-0.6.5.1 +key: containers-0.6.5.1 +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.Containers.ListUtils 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.IntMap.Strict.Internal Data.IntSet Data.IntSet.Internal + Data.Map Data.Map.Internal Data.Map.Internal.Debug Data.Map.Lazy + Data.Map.Merge.Lazy Data.Map.Merge.Strict Data.Map.Strict + Data.Map.Strict.Internal 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.StrictMaybe + Utils.Containers.Internal.PtrEquality + Utils.Containers.Internal.Coercions + Utils.Containers.Internal.TypeError + Data.Map.Internal.DeprecatedShowTree + Data.IntMap.Internal.DeprecatedDebug +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HScontainers-0.6.5.1 +depends: array-0.5.4.0 base-4.16.4.0 deepseq-1.4.6.1 +haddock-interfaces: +haddock-html: +--- +name: deepseq +version: 1.4.6.1 +visibility: public +id: deepseq-1.4.6.1 +key: deepseq-1.4.6.1 +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. See module documentation in "Control.DeepSeq" for more + details. +category: Control +exposed: True +exposed-modules: Control.DeepSeq +hidden-modules: Control.DeepSeq.BackDoor +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSdeepseq-1.4.6.1 +depends: array-0.5.4.0 base-4.16.4.0 +haddock-interfaces: +haddock-html: +--- +name: directory +version: 1.3.6.2 +visibility: public +id: directory-1.3.6.2 +key: directory-1.3.6.2 +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 +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSdirectory-1.3.6.2 +depends: + base-4.16.4.0 filepath-1.4.2.2 time-1.11.1.1 unix-2.7.2.2 +haddock-interfaces: +haddock-html: +--- +name: exceptions +version: 0.10.4 +visibility: public +id: exceptions-0.10.4 +key: exceptions-0.10.4 +license: BSD-3-Clause +copyright: + Copyright (C) 2013-2015 Edward A. Kmett + Copyright (C) 2012 Google Inc. +maintainer: Edward A. Kmett +author: Edward A. Kmett +stability: provisional +homepage: http://github.com/ekmett/exceptions/ +synopsis: Extensible optionally-pure exceptions +description: Extensible optionally-pure exceptions. +category: Control, Exceptions, Monad +exposed: True +exposed-modules: Control.Monad.Catch Control.Monad.Catch.Pure +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSexceptions-0.10.4 +depends: + base-4.16.4.0 mtl-2.2.2 stm-2.5.0.2 template-haskell-2.18.0.0 + transformers-0.5.6.2 +haddock-interfaces: +haddock-html: +--- +name: filepath +version: 1.4.2.2 +visibility: public +id: filepath-1.4.2.2 +key: filepath-1.4.2.2 +license: BSD-3-Clause +copyright: Neil Mitchell 2005-2020 +maintainer: Julian Ospald +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 +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSfilepath-1.4.2.2 +depends: base-4.16.4.0 +haddock-interfaces: +haddock-html: +--- +name: ghc +version: 9.2.8 +visibility: public +id: ghc-9.2.8 +key: ghc-9.2.8 +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. + See + for more information. +category: Development +exposed-modules: + GHC, GHC.Builtin.Names, GHC.Builtin.Names.TH, GHC.Builtin.PrimOps, + GHC.Builtin.Types, GHC.Builtin.Types.Literals, + GHC.Builtin.Types.Prim, GHC.Builtin.Uniques, GHC.Builtin.Utils, + GHC.ByteCode.Asm, GHC.ByteCode.InfoTable, GHC.ByteCode.Instr, + GHC.ByteCode.Linker, GHC.ByteCode.Types, GHC.Cmm, GHC.Cmm.BlockId, + GHC.Cmm.CLabel, GHC.Cmm.CallConv, GHC.Cmm.CommonBlockElim, + GHC.Cmm.ContFlowOpt, GHC.Cmm.Dataflow, GHC.Cmm.Dataflow.Block, + GHC.Cmm.Dataflow.Collections, GHC.Cmm.Dataflow.Graph, + GHC.Cmm.Dataflow.Label, GHC.Cmm.DebugBlock, GHC.Cmm.Expr, + GHC.Cmm.Graph, GHC.Cmm.Info, GHC.Cmm.Info.Build, GHC.Cmm.LRegSet, + GHC.Cmm.LayoutStack, GHC.Cmm.Lexer, GHC.Cmm.Lint, GHC.Cmm.Liveness, + GHC.Cmm.MachOp, GHC.Cmm.Node, GHC.Cmm.Opt, GHC.Cmm.Parser, + GHC.Cmm.Parser.Monad, GHC.Cmm.Pipeline, GHC.Cmm.Ppr, + GHC.Cmm.Ppr.Decl, GHC.Cmm.Ppr.Expr, GHC.Cmm.ProcPoint, + GHC.Cmm.Sink, GHC.Cmm.Switch, GHC.Cmm.Switch.Implement, + GHC.Cmm.Type, GHC.Cmm.Utils, GHC.CmmToAsm, GHC.CmmToAsm.AArch64, + GHC.CmmToAsm.AArch64.CodeGen, GHC.CmmToAsm.AArch64.Cond, + GHC.CmmToAsm.AArch64.Instr, GHC.CmmToAsm.AArch64.Ppr, + GHC.CmmToAsm.AArch64.RegInfo, GHC.CmmToAsm.AArch64.Regs, + GHC.CmmToAsm.BlockLayout, GHC.CmmToAsm.CFG, + GHC.CmmToAsm.CFG.Dominators, GHC.CmmToAsm.CFG.Weight, + GHC.CmmToAsm.CPrim, GHC.CmmToAsm.Config, GHC.CmmToAsm.Dwarf, + GHC.CmmToAsm.Dwarf.Constants, GHC.CmmToAsm.Dwarf.Types, + GHC.CmmToAsm.Format, GHC.CmmToAsm.Instr, GHC.CmmToAsm.Monad, + GHC.CmmToAsm.PIC, GHC.CmmToAsm.PPC, GHC.CmmToAsm.PPC.CodeGen, + GHC.CmmToAsm.PPC.Cond, GHC.CmmToAsm.PPC.Instr, + GHC.CmmToAsm.PPC.Ppr, GHC.CmmToAsm.PPC.RegInfo, + GHC.CmmToAsm.PPC.Regs, GHC.CmmToAsm.Ppr, GHC.CmmToAsm.Reg.Graph, + GHC.CmmToAsm.Reg.Graph.Base, GHC.CmmToAsm.Reg.Graph.Coalesce, + GHC.CmmToAsm.Reg.Graph.Spill, GHC.CmmToAsm.Reg.Graph.SpillClean, + GHC.CmmToAsm.Reg.Graph.SpillCost, GHC.CmmToAsm.Reg.Graph.Stats, + GHC.CmmToAsm.Reg.Graph.TrivColorable, GHC.CmmToAsm.Reg.Graph.X86, + GHC.CmmToAsm.Reg.Linear, GHC.CmmToAsm.Reg.Linear.AArch64, + GHC.CmmToAsm.Reg.Linear.Base, GHC.CmmToAsm.Reg.Linear.FreeRegs, + GHC.CmmToAsm.Reg.Linear.JoinToTargets, GHC.CmmToAsm.Reg.Linear.PPC, + GHC.CmmToAsm.Reg.Linear.SPARC, GHC.CmmToAsm.Reg.Linear.StackMap, + GHC.CmmToAsm.Reg.Linear.State, GHC.CmmToAsm.Reg.Linear.Stats, + GHC.CmmToAsm.Reg.Linear.X86, GHC.CmmToAsm.Reg.Linear.X86_64, + GHC.CmmToAsm.Reg.Liveness, GHC.CmmToAsm.Reg.Target, + GHC.CmmToAsm.Reg.Utils, GHC.CmmToAsm.SPARC, + GHC.CmmToAsm.SPARC.AddrMode, GHC.CmmToAsm.SPARC.Base, + GHC.CmmToAsm.SPARC.CodeGen, GHC.CmmToAsm.SPARC.CodeGen.Amode, + GHC.CmmToAsm.SPARC.CodeGen.Base, + GHC.CmmToAsm.SPARC.CodeGen.CondCode, + GHC.CmmToAsm.SPARC.CodeGen.Expand, + GHC.CmmToAsm.SPARC.CodeGen.Gen32, GHC.CmmToAsm.SPARC.CodeGen.Gen64, + GHC.CmmToAsm.SPARC.CodeGen.Sanity, GHC.CmmToAsm.SPARC.Cond, + GHC.CmmToAsm.SPARC.Imm, GHC.CmmToAsm.SPARC.Instr, + GHC.CmmToAsm.SPARC.Ppr, GHC.CmmToAsm.SPARC.Regs, + GHC.CmmToAsm.SPARC.ShortcutJump, GHC.CmmToAsm.SPARC.Stack, + GHC.CmmToAsm.Types, GHC.CmmToAsm.Utils, GHC.CmmToAsm.X86, + GHC.CmmToAsm.X86.CodeGen, GHC.CmmToAsm.X86.Cond, + GHC.CmmToAsm.X86.Instr, GHC.CmmToAsm.X86.Ppr, + GHC.CmmToAsm.X86.RegInfo, GHC.CmmToAsm.X86.Regs, GHC.CmmToC, + GHC.CmmToLlvm, GHC.CmmToLlvm.Base, GHC.CmmToLlvm.CodeGen, + GHC.CmmToLlvm.Data, GHC.CmmToLlvm.Mangler, GHC.CmmToLlvm.Ppr, + GHC.CmmToLlvm.Regs, GHC.Core, GHC.Core.Class, GHC.Core.Coercion, + GHC.Core.Coercion.Axiom, GHC.Core.Coercion.Opt, GHC.Core.ConLike, + GHC.Core.DataCon, GHC.Core.FVs, GHC.Core.FamInstEnv, + GHC.Core.InstEnv, GHC.Core.Lint, GHC.Core.Make, GHC.Core.Map.Expr, + GHC.Core.Map.Type, GHC.Core.Multiplicity, GHC.Core.Opt.Arity, + GHC.Core.Opt.CSE, GHC.Core.Opt.CallArity, GHC.Core.Opt.CallerCC, + GHC.Core.Opt.ConstantFold, GHC.Core.Opt.CprAnal, + GHC.Core.Opt.DmdAnal, GHC.Core.Opt.Exitify, GHC.Core.Opt.FloatIn, + GHC.Core.Opt.FloatOut, GHC.Core.Opt.LiberateCase, + GHC.Core.Opt.Monad, GHC.Core.Opt.OccurAnal, GHC.Core.Opt.Pipeline, + GHC.Core.Opt.SetLevels, GHC.Core.Opt.Simplify, + GHC.Core.Opt.Simplify.Env, GHC.Core.Opt.Simplify.Monad, + GHC.Core.Opt.Simplify.Utils, GHC.Core.Opt.SpecConstr, + GHC.Core.Opt.Specialise, GHC.Core.Opt.StaticArgs, + GHC.Core.Opt.WorkWrap, GHC.Core.Opt.WorkWrap.Utils, + GHC.Core.PatSyn, GHC.Core.Ppr, GHC.Core.Predicate, GHC.Core.Rules, + GHC.Core.Seq, GHC.Core.SimpleOpt, GHC.Core.Stats, GHC.Core.Subst, + GHC.Core.Tidy, GHC.Core.TyCo.FVs, GHC.Core.TyCo.Ppr, + GHC.Core.TyCo.Rep, GHC.Core.TyCo.Subst, GHC.Core.TyCo.Tidy, + GHC.Core.TyCon, GHC.Core.TyCon.Env, GHC.Core.TyCon.RecWalk, + GHC.Core.TyCon.Set, GHC.Core.Type, GHC.Core.Unfold, + GHC.Core.Unfold.Make, GHC.Core.Unify, GHC.Core.UsageEnv, + GHC.Core.Utils, GHC.CoreToIface, GHC.CoreToStg, GHC.CoreToStg.Prep, + GHC.Data.Bag, GHC.Data.Bitmap, GHC.Data.BooleanFormula, + GHC.Data.EnumSet, GHC.Data.FastMutInt, GHC.Data.FastString, + GHC.Data.FastString.Env, GHC.Data.FiniteMap, GHC.Data.Graph.Base, + GHC.Data.Graph.Color, GHC.Data.Graph.Directed, GHC.Data.Graph.Ops, + GHC.Data.Graph.Ppr, GHC.Data.Graph.UnVar, GHC.Data.IOEnv, + GHC.Data.List.SetOps, GHC.Data.Maybe, GHC.Data.OrdList, + GHC.Data.Pair, GHC.Data.Stream, GHC.Data.StringBuffer, + GHC.Data.TrieMap, GHC.Data.UnionFind, GHC.Driver.Backend, + GHC.Driver.Backpack, GHC.Driver.Backpack.Syntax, + GHC.Driver.CmdLine, GHC.Driver.CodeOutput, GHC.Driver.Config, + GHC.Driver.Env, GHC.Driver.Env.Types, GHC.Driver.Errors, + GHC.Driver.Flags, GHC.Driver.Hooks, GHC.Driver.Main, + GHC.Driver.Make, GHC.Driver.MakeFile, GHC.Driver.Monad, + GHC.Driver.Phases, GHC.Driver.Pipeline, GHC.Driver.Pipeline.Monad, + GHC.Driver.Plugins, GHC.Driver.Ppr, GHC.Driver.Session, GHC.Hs, + GHC.Hs.Binds, GHC.Hs.Decls, GHC.Hs.Doc, GHC.Hs.Dump, GHC.Hs.Expr, + GHC.Hs.Extension, GHC.Hs.ImpExp, GHC.Hs.Instances, GHC.Hs.Lit, + GHC.Hs.Pat, GHC.Hs.Stats, GHC.Hs.Type, GHC.Hs.Utils, GHC.HsToCore, + GHC.HsToCore.Arrows, GHC.HsToCore.Binds, GHC.HsToCore.Coverage, + GHC.HsToCore.Docs, GHC.HsToCore.Expr, GHC.HsToCore.Foreign.Call, + GHC.HsToCore.Foreign.Decl, GHC.HsToCore.GuardedRHSs, + GHC.HsToCore.ListComp, GHC.HsToCore.Match, + GHC.HsToCore.Match.Constructor, GHC.HsToCore.Match.Literal, + GHC.HsToCore.Monad, GHC.HsToCore.Pmc, GHC.HsToCore.Pmc.Check, + GHC.HsToCore.Pmc.Desugar, GHC.HsToCore.Pmc.Ppr, + GHC.HsToCore.Pmc.Solver, GHC.HsToCore.Pmc.Solver.Types, + GHC.HsToCore.Pmc.Types, GHC.HsToCore.Pmc.Utils, GHC.HsToCore.Quote, + GHC.HsToCore.Types, GHC.HsToCore.Usage, GHC.HsToCore.Utils, + GHC.Iface.Binary, GHC.Iface.Env, GHC.Iface.Ext.Ast, + GHC.Iface.Ext.Binary, GHC.Iface.Ext.Debug, GHC.Iface.Ext.Fields, + GHC.Iface.Ext.Types, GHC.Iface.Ext.Utils, GHC.Iface.Load, + GHC.Iface.Make, GHC.Iface.Recomp, GHC.Iface.Recomp.Binary, + GHC.Iface.Recomp.Flags, GHC.Iface.Rename, GHC.Iface.Syntax, + GHC.Iface.Tidy, GHC.Iface.Tidy.StaticPtrTable, GHC.Iface.Type, + GHC.IfaceToCore, GHC.Linker, GHC.Linker.Dynamic, + GHC.Linker.ExtraObj, GHC.Linker.Loader, GHC.Linker.MacOS, + GHC.Linker.Static, GHC.Linker.Types, GHC.Linker.Unit, + GHC.Linker.Windows, GHC.Llvm, GHC.Llvm.MetaData, GHC.Llvm.Ppr, + GHC.Llvm.Syntax, GHC.Llvm.Types, GHC.Parser, GHC.Parser.Annotation, + GHC.Parser.CharClass, GHC.Parser.Errors, GHC.Parser.Errors.Ppr, + GHC.Parser.Header, GHC.Parser.Lexer, GHC.Parser.PostProcess, + GHC.Parser.PostProcess.Haddock, GHC.Parser.Types, GHC.Parser.Utils, + GHC.Platform, GHC.Platform.AArch64, GHC.Platform.ARM, + GHC.Platform.ArchOS from ghc-boot-9.2.8:GHC.Platform.ArchOS, + GHC.Platform.Constants, + GHC.Platform.Host from ghc-boot-9.2.8:GHC.Platform.Host, + GHC.Platform.NoRegs, GHC.Platform.PPC, GHC.Platform.Profile, + GHC.Platform.RISCV64, GHC.Platform.Reg, GHC.Platform.Reg.Class, + GHC.Platform.Regs, GHC.Platform.S390X, GHC.Platform.SPARC, + GHC.Platform.Ways, GHC.Platform.X86, GHC.Platform.X86_64, + GHC.Plugins, GHC.Prelude, GHC.Rename.Bind, GHC.Rename.Env, + GHC.Rename.Expr, GHC.Rename.Fixity, GHC.Rename.HsType, + GHC.Rename.Module, GHC.Rename.Names, GHC.Rename.Pat, + GHC.Rename.Splice, GHC.Rename.Unbound, GHC.Rename.Utils, + GHC.Runtime.Context, GHC.Runtime.Debugger, GHC.Runtime.Eval, + GHC.Runtime.Eval.Types, GHC.Runtime.Heap.Inspect, + GHC.Runtime.Heap.Layout, GHC.Runtime.Interpreter, + GHC.Runtime.Interpreter.Types, GHC.Runtime.Loader, GHC.Settings, + GHC.Settings.Config, GHC.Settings.Constants, GHC.Settings.IO, + GHC.Stg.CSE, GHC.Stg.Debug, GHC.Stg.DepAnal, GHC.Stg.FVs, + GHC.Stg.Lift, GHC.Stg.Lift.Analysis, GHC.Stg.Lift.Monad, + GHC.Stg.Lint, GHC.Stg.Pipeline, GHC.Stg.Stats, GHC.Stg.Subst, + GHC.Stg.Syntax, GHC.Stg.Unarise, GHC.StgToByteCode, GHC.StgToCmm, + GHC.StgToCmm.ArgRep, GHC.StgToCmm.Bind, GHC.StgToCmm.CgUtils, + GHC.StgToCmm.Closure, GHC.StgToCmm.DataCon, GHC.StgToCmm.Env, + GHC.StgToCmm.Expr, GHC.StgToCmm.ExtCode, GHC.StgToCmm.Foreign, + GHC.StgToCmm.Heap, GHC.StgToCmm.Hpc, GHC.StgToCmm.Layout, + GHC.StgToCmm.Lit, GHC.StgToCmm.Monad, GHC.StgToCmm.Prim, + GHC.StgToCmm.Prof, GHC.StgToCmm.Ticky, GHC.StgToCmm.Types, + GHC.StgToCmm.Utils, GHC.SysTools, GHC.SysTools.Ar, + GHC.SysTools.BaseDir, GHC.SysTools.Elf, GHC.SysTools.Info, + GHC.SysTools.Process, GHC.SysTools.Tasks, GHC.SysTools.Terminal, + GHC.Tc.Deriv, GHC.Tc.Deriv.Functor, GHC.Tc.Deriv.Generate, + GHC.Tc.Deriv.Generics, GHC.Tc.Deriv.Infer, GHC.Tc.Deriv.Utils, + GHC.Tc.Errors, GHC.Tc.Errors.Hole, GHC.Tc.Errors.Hole.FitTypes, + GHC.Tc.Gen.Annotation, GHC.Tc.Gen.App, GHC.Tc.Gen.Arrow, + GHC.Tc.Gen.Bind, GHC.Tc.Gen.Default, GHC.Tc.Gen.Export, + GHC.Tc.Gen.Expr, GHC.Tc.Gen.Foreign, GHC.Tc.Gen.Head, + GHC.Tc.Gen.HsType, GHC.Tc.Gen.Match, GHC.Tc.Gen.Pat, + GHC.Tc.Gen.Rule, GHC.Tc.Gen.Sig, GHC.Tc.Gen.Splice, + GHC.Tc.Instance.Class, GHC.Tc.Instance.Family, + GHC.Tc.Instance.FunDeps, GHC.Tc.Instance.Typeable, GHC.Tc.Module, + GHC.Tc.Plugin, GHC.Tc.Solver, GHC.Tc.Solver.Canonical, + GHC.Tc.Solver.Interact, GHC.Tc.Solver.Monad, GHC.Tc.Solver.Rewrite, + GHC.Tc.TyCl, GHC.Tc.TyCl.Build, GHC.Tc.TyCl.Class, + GHC.Tc.TyCl.Instance, GHC.Tc.TyCl.PatSyn, GHC.Tc.TyCl.Utils, + GHC.Tc.Types, GHC.Tc.Types.Constraint, GHC.Tc.Types.EvTerm, + GHC.Tc.Types.Evidence, GHC.Tc.Types.Origin, GHC.Tc.Utils.Backpack, + GHC.Tc.Utils.Env, GHC.Tc.Utils.Instantiate, GHC.Tc.Utils.Monad, + GHC.Tc.Utils.TcMType, GHC.Tc.Utils.TcType, GHC.Tc.Utils.Unify, + GHC.Tc.Utils.Zonk, GHC.Tc.Validity, GHC.ThToHs, + GHC.Types.Annotations, GHC.Types.Avail, GHC.Types.Basic, + GHC.Types.CompleteMatch, GHC.Types.CostCentre, + GHC.Types.CostCentre.State, GHC.Types.Cpr, GHC.Types.Demand, + GHC.Types.Error, GHC.Types.FieldLabel, GHC.Types.Fixity, + GHC.Types.Fixity.Env, GHC.Types.ForeignCall, + GHC.Types.ForeignStubs, GHC.Types.HpcInfo, GHC.Types.IPE, + GHC.Types.Id, GHC.Types.Id.Info, GHC.Types.Id.Make, + GHC.Types.Literal, GHC.Types.Meta, GHC.Types.Name, + GHC.Types.Name.Cache, GHC.Types.Name.Env, + GHC.Types.Name.Occurrence, GHC.Types.Name.Ppr, + GHC.Types.Name.Reader, GHC.Types.Name.Set, GHC.Types.Name.Shape, + GHC.Types.RepType, GHC.Types.SafeHaskell, GHC.Types.SourceError, + GHC.Types.SourceFile, GHC.Types.SourceText, GHC.Types.SrcLoc, + GHC.Types.Target, GHC.Types.Tickish, GHC.Types.TyThing, + GHC.Types.TyThing.Ppr, GHC.Types.TypeEnv, GHC.Types.Unique, + GHC.Types.Unique.DFM, GHC.Types.Unique.DSet, GHC.Types.Unique.FM, + GHC.Types.Unique.Map, GHC.Types.Unique.SDFM, GHC.Types.Unique.Set, + GHC.Types.Unique.Supply, GHC.Types.Var, GHC.Types.Var.Env, + GHC.Types.Var.Set, GHC.Unit, GHC.Unit.Env, GHC.Unit.External, + GHC.Unit.Finder, GHC.Unit.Finder.Types, GHC.Unit.Home, + GHC.Unit.Home.ModInfo, GHC.Unit.Info, GHC.Unit.Module, + GHC.Unit.Module.Deps, GHC.Unit.Module.Env, GHC.Unit.Module.Graph, + GHC.Unit.Module.Imported, GHC.Unit.Module.Location, + GHC.Unit.Module.ModDetails, GHC.Unit.Module.ModGuts, + GHC.Unit.Module.ModIface, GHC.Unit.Module.ModSummary, + GHC.Unit.Module.Name, GHC.Unit.Module.Status, + GHC.Unit.Module.Warnings, GHC.Unit.Parser, GHC.Unit.Ppr, + GHC.Unit.State, GHC.Unit.Types, GHC.Utils.Asm, GHC.Utils.Binary, + GHC.Utils.Binary.Typeable, GHC.Utils.BufHandle, + GHC.Utils.CliOption, GHC.Utils.Error, GHC.Utils.Exception, + GHC.Utils.FV, GHC.Utils.Fingerprint, GHC.Utils.GlobalVars, + GHC.Utils.IO.Unsafe, GHC.Utils.Json, GHC.Utils.Lexeme, + GHC.Utils.Logger, GHC.Utils.Misc, GHC.Utils.Monad, + GHC.Utils.Monad.State, GHC.Utils.Outputable, GHC.Utils.Panic, + GHC.Utils.Panic.Plain, GHC.Utils.Ppr, GHC.Utils.Ppr.Colour, + GHC.Utils.TmpFs, Language.Haskell.Syntax, + Language.Haskell.Syntax.Binds, Language.Haskell.Syntax.Decls, + Language.Haskell.Syntax.Expr, Language.Haskell.Syntax.Extension, + Language.Haskell.Syntax.Lit, Language.Haskell.Syntax.Pat, + Language.Haskell.Syntax.Type +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSghc-9.2.8 +include-dirs: +depends: + array-0.5.4.0 base-4.16.4.0 binary-0.8.9.0 bytestring-0.11.4.0 + containers-0.6.5.1 deepseq-1.4.6.1 directory-1.3.6.2 + exceptions-0.10.4 filepath-1.4.2.2 ghc-boot-9.2.8 ghc-heap-9.2.8 + ghci-9.2.8 hpc-0.6.1.0 process-1.6.16.0 template-haskell-2.18.0.0 + terminfo-0.4.1.5 time-1.11.1.1 transformers-0.5.6.2 unix-2.7.2.2 +haddock-interfaces: +haddock-html: +--- +name: ghc-bignum +version: 1.2 +visibility: public +id: ghc-bignum-1.2 +key: ghc-bignum-1.2 +license: BSD-3-Clause +maintainer: libraries@haskell.org +author: Sylvain Henry +synopsis: GHC BigNum library +description: + This package provides the low-level implementation of the standard + 'BigNat', 'Natural' and 'Integer' types. +category: Numeric, Algebra, GHC +exposed: True +exposed-modules: + GHC.Num.Backend GHC.Num.Backend.Native GHC.Num.Backend.Selected + GHC.Num.BigNat GHC.Num.Integer GHC.Num.Natural GHC.Num.Primitives + GHC.Num.WordArray +hidden-modules: GHC.Num.Backend.GMP +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSghc-bignum-1.2 +extra-libraries: gmp +include-dirs: +depends: ghc-prim-0.8.0 +haddock-interfaces: +haddock-html: +--- +name: ghc-boot +version: 9.2.8 +visibility: public +id: ghc-boot-9.2.8 +key: ghc-boot-9.2.8 +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.Unit.Database": 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.BaseDir, GHC.Data.ShortText, GHC.Data.SizedSeq, + GHC.ForeignSrcLang, + GHC.ForeignSrcLang.Type from ghc-boot-th-9.2.8:GHC.ForeignSrcLang.Type, + GHC.HandleEncoding, GHC.LanguageExtensions, + GHC.LanguageExtensions.Type from ghc-boot-th-9.2.8:GHC.LanguageExtensions.Type, + GHC.Lexeme from ghc-boot-th-9.2.8:GHC.Lexeme, GHC.Platform.ArchOS, + GHC.Platform.Host, GHC.Serialized, GHC.Settings.Utils, + GHC.UniqueSubdir, GHC.Unit.Database, GHC.Utils.Encoding, + GHC.Version +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSghc-boot-9.2.8 +depends: + base-4.16.4.0 binary-0.8.9.0 bytestring-0.11.4.0 containers-0.6.5.1 + deepseq-1.4.6.1 directory-1.3.6.2 filepath-1.4.2.2 + ghc-boot-th-9.2.8 unix-2.7.2.2 +haddock-interfaces: +haddock-html: +--- +name: ghc-boot-th +version: 9.2.8 +visibility: public +id: ghc-boot-th-9.2.8 +key: ghc-boot-th-9.2.8 +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 +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSghc-boot-th-9.2.8 +depends: base-4.16.4.0 +haddock-interfaces: +haddock-html: +--- +name: ghc-compact +version: 0.1.0.0 +visibility: public +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. + This package provides a low-level API; see also the which provides a user-facing API. +category: Data +exposed: True +exposed-modules: GHC.Compact GHC.Compact.Serialized +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSghc-compact-0.1.0.0 +depends: base-4.16.4.0 bytestring-0.11.4.0 ghc-prim-0.8.0 +haddock-interfaces: +haddock-html: +--- +name: ghc-heap +version: 9.2.8 +visibility: public +id: ghc-heap-9.2.8 +key: ghc-heap-9.2.8 +license: BSD-3-Clause +maintainer: libraries@haskell.org +synopsis: Functions for walking GHC's heap +description: + This package provides functions for walking the GHC heap data structures + and retrieving information about those data structures. +category: GHC +exposed: True +exposed-modules: + GHC.Exts.Heap GHC.Exts.Heap.ClosureTypes GHC.Exts.Heap.Closures + GHC.Exts.Heap.Constants GHC.Exts.Heap.FFIClosures + GHC.Exts.Heap.FFIClosures_ProfilingDisabled + GHC.Exts.Heap.FFIClosures_ProfilingEnabled GHC.Exts.Heap.InfoTable + GHC.Exts.Heap.InfoTable.Types GHC.Exts.Heap.InfoTableProf + GHC.Exts.Heap.ProfInfo.PeekProfInfo + GHC.Exts.Heap.ProfInfo.PeekProfInfo_ProfilingDisabled + GHC.Exts.Heap.ProfInfo.PeekProfInfo_ProfilingEnabled + GHC.Exts.Heap.ProfInfo.Types GHC.Exts.Heap.Utils +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSghc-heap-9.2.8 +depends: base-4.16.4.0 containers-0.6.5.1 ghc-prim-0.8.0 rts +haddock-interfaces: +haddock-html: +--- +name: ghc-prim +version: 0.8.0 +visibility: public +id: ghc-prim-0.8.0 +key: ghc-prim-0.8.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.Magic GHC.Prim.Exception + GHC.Prim.Ext GHC.Prim.Panic GHC.PrimopWrappers GHC.Tuple GHC.Types + GHC.Prim +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSghc-prim-0.8.0 +depends: rts +haddock-interfaces: +haddock-html: +--- +name: ghci +version: 9.2.8 +visibility: public +id: ghci-9.2.8 +key: ghci-9.2.8 +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 +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSghci-9.2.8 +depends: + array-0.5.4.0 base-4.16.4.0 binary-0.8.9.0 bytestring-0.11.4.0 + containers-0.6.5.1 deepseq-1.4.6.1 filepath-1.4.2.2 ghc-boot-9.2.8 + ghc-heap-9.2.8 ghc-prim-0.8.0 rts template-haskell-2.18.0.0 + transformers-0.5.6.2 unix-2.7.2.2 +haddock-interfaces: +haddock-html: +--- +name: haskeline +version: 0.8.2 +visibility: public +id: haskeline-0.8.2 +key: haskeline-0.8.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.Internal +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 +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HShaskeline-0.8.2 +depends: + base-4.16.4.0 bytestring-0.11.4.0 containers-0.6.5.1 + directory-1.3.6.2 exceptions-0.10.4 filepath-1.4.2.2 + process-1.6.16.0 stm-2.5.0.2 terminfo-0.4.1.5 transformers-0.5.6.2 + unix-2.7.2.2 +haddock-interfaces: +haddock-html: +--- +name: hpc +version: 0.6.1.0 +visibility: public +id: hpc-0.6.1.0 +key: hpc-0.6.1.0 +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 +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HShpc-0.6.1.0 +depends: + base-4.16.4.0 containers-0.6.5.1 deepseq-1.4.6.1 directory-1.3.6.2 + filepath-1.4.2.2 time-1.11.1.1 +haddock-interfaces: +haddock-html: +--- +name: integer-gmp +version: 1.1 +visibility: public +id: integer-gmp-1.1 +key: integer-gmp-1.1 +license: BSD-3-Clause +maintainer: hvr@gnu.org +author: Herbert Valerio Riedel +synopsis: Integer library based on GMP +description: + This package used to provide an implementation of the standard 'Integer' + type based on the + . + It is now deprecated in favor of the 'ghc-bignum' package. + Its purpose is to provide backward compatibility for codes directly + depending on the `integer-gmp` package. +category: Numeric, Algebra +exposed: True +exposed-modules: GHC.Integer.GMP.Internals +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSinteger-gmp-1.1 +depends: base-4.16.4.0 ghc-bignum-1.2 ghc-prim-0.8.0 +haddock-interfaces: +haddock-html: +--- +name: libiserv +version: 9.2.8 +visibility: public +id: libiserv-9.2.8 +key: libiserv-9.2.8 +license: BSD-3-Clause +copyright: XXX +maintainer: XXX +author: XXX +synopsis: + Provides shared functionality between iserv and iserv-proxy. +description: + Provides shared functionality between iserv and iserv-proxy. +category: Development +exposed: True +exposed-modules: GHCi.Utils Lib +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSlibiserv-9.2.8 +depends: + base-4.16.4.0 binary-0.8.9.0 bytestring-0.11.4.0 containers-0.6.5.1 + deepseq-1.4.6.1 ghci-9.2.8 unix-2.7.2.2 +haddock-interfaces: +haddock-html: +--- +name: mtl +version: 2.2.2 +visibility: public +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 +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSmtl-2.2.2 +depends: base-4.16.4.0 transformers-0.5.6.2 +haddock-interfaces: +haddock-html: +--- +name: parsec +version: 3.1.15.0 +visibility: public +id: parsec-3.1.15.0 +key: parsec-3.1.15.0 +license: BSD-2-Clause +maintainer: + Oleg Grenrus , 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 +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSparsec-3.1.15.0 +depends: + base-4.16.4.0 bytestring-0.11.4.0 mtl-2.2.2 text-1.2.5.0 +haddock-interfaces: +haddock-html: +--- +name: pretty +version: 1.1.3.6 +visibility: public +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 +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSpretty-1.1.3.6 +depends: base-4.16.4.0 deepseq-1.4.6.1 ghc-prim-0.8.0 +haddock-interfaces: +haddock-html: +--- +name: process +version: 1.6.16.0 +visibility: public +id: process-1.6.16.0 +key: process-1.6.16.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 +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSprocess-1.6.16.0 +include-dirs: +includes: runProcess.h +depends: + base-4.16.4.0 deepseq-1.4.6.1 directory-1.3.6.2 filepath-1.4.2.2 + unix-2.7.2.2 +haddock-interfaces: +haddock-html: +--- +name: stm +version: 2.5.0.2 +visibility: public +id: stm-2.5.0.2 +key: stm-2.5.0.2 +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 +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSstm-2.5.0.2 +depends: array-0.5.4.0 base-4.16.4.0 +haddock-interfaces: +haddock-html: +--- +name: template-haskell +version: 2.18.0.0 +visibility: public +id: template-haskell-2.18.0.0 +key: template-haskell-2.18.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.CodeDo + 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 +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HStemplate-haskell-2.18.0.0 +depends: + base-4.16.4.0 ghc-boot-th-9.2.8 ghc-prim-0.8.0 pretty-1.1.3.6 +haddock-interfaces: +haddock-html: +--- +name: terminfo +version: 0.4.1.5 +visibility: public +id: terminfo-0.4.1.5 +key: terminfo-0.4.1.5 +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 +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSterminfo-0.4.1.5 +extra-libraries: tinfo +depends: base-4.16.4.0 +haddock-interfaces: +haddock-html: +--- +name: text +version: 1.2.5.0 +visibility: public +id: text-1.2.5.0 +key: text-1.2.5.0 +license: BSD-2-Clause +copyright: 2009-2011 Bryan O'Sullivan, 2008-2009 Tom Harper +maintainer: + Haskell Text Team , Core Libraries Committee +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 + == ICU Support + 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/). + == Internal Representation: UTF-16 vs. UTF-8 + Currently the @text@ library uses UTF-16 as its internal representation + which is [neither a fixed-width nor always the most dense representation](http://utf8everywhere.org/) + for Unicode text. We're currently investigating the feasibility + of [changing Text's internal representation to UTF-8](https://github.com/text-utf8) + and if you need such a 'Text' type right now you might be interested in using the spin-off + packages and + . +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.ByteStringCompat + 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.PrimCompat 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 +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HStext-1.2.5.0 +depends: + array-0.5.4.0 base-4.16.4.0 binary-0.8.9.0 bytestring-0.11.4.0 + deepseq-1.4.6.1 ghc-prim-0.8.0 template-haskell-2.18.0.0 +haddock-interfaces: +haddock-html: +--- +name: time +version: 1.11.1.1 +visibility: public +id: time-1.11.1.1 +key: time-1.11.1.1 +license: BSD-3-Clause +maintainer: +author: Ashley Yakeley +stability: stable +homepage: https://github.com/haskell/time +synopsis: A time library +description: Time, clocks and calendars +category: Time +exposed: True +exposed-modules: + Data.Time Data.Time.Calendar Data.Time.Calendar.Easter + Data.Time.Calendar.Julian Data.Time.Calendar.Month + Data.Time.Calendar.MonthDay Data.Time.Calendar.OrdinalDate + Data.Time.Calendar.Quarter Data.Time.Calendar.WeekDate + Data.Time.Clock Data.Time.Clock.POSIX Data.Time.Clock.System + Data.Time.Clock.TAI Data.Time.Format Data.Time.Format.ISO8601 + Data.Time.Format.Internal Data.Time.LocalTime +hidden-modules: + Data.Format Data.Time.Calendar.Types Data.Time.Calendar.Private + Data.Time.Calendar.Days Data.Time.Calendar.Gregorian + Data.Time.Calendar.CalendarDiffDays Data.Time.Calendar.Week + 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.CalendarDiffTime + Data.Time.LocalTime.Internal.LocalTime + Data.Time.LocalTime.Internal.ZonedTime Data.Time.Format.Parse + Data.Time.Format.Locale Data.Time.Format.Format.Class + Data.Time.Format.Format.Instances Data.Time.Format.Parse.Class + Data.Time.Format.Parse.Instances +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HStime-1.11.1.1 +include-dirs: +depends: base-4.16.4.0 deepseq-1.4.6.1 +haddock-interfaces: +haddock-html: +--- +name: transformers +version: 0.5.6.2 +visibility: public +id: transformers-0.5.6.2 +key: transformers-0.5.6.2 +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.CPS 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.CPS + Control.Monad.Trans.Writer.Lazy Control.Monad.Trans.Writer.Strict + Data.Functor.Constant Data.Functor.Reverse +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HStransformers-0.5.6.2 +depends: base-4.16.4.0 +haddock-interfaces: +haddock-html: +--- +name: unix +version: 2.7.2.2 +visibility: public +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 +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSunix-2.7.2.2 +include-dirs: +includes: HsUnix.h execvpe.h +depends: base-4.16.4.0 bytestring-0.11.4.0 time-1.11.1.1 +haddock-interfaces: +haddock-html: +--- +name: xhtml +version: 3000.2.2.1 +visibility: public +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 +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSxhtml-3000.2.2.1 +depends: base-4.16.4.0 +haddock-interfaces: +haddock-html: +--- +name: rts +version: 1.0.2 +visibility: public +id: rts +key: rts +license: BSD-3-Clause +maintainer: glasgow-haskell-users@haskell.org +exposed: True +library-dirs: +hs-libraries: HSrts +extra-libraries: m dl ffi +include-dirs: +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_GHCziIOPort_doubleReadException_closure" + "-Wl,-u,_base_ControlziExceptionziBase_nonTermination_closure" + "-Wl,-u,_base_ControlziExceptionziBase_nestedAtomically_closure" + "-Wl,-u,_base_GHCziEventziThread_blockedOnBadFD_closure" + "-Wl,-u,_base_GHCziExceptionziType_divZZeroException_closure" + "-Wl,-u,_base_GHCziExceptionziType_underflowException_closure" + "-Wl,-u,_base_GHCziExceptionziType_overflowException_closure" + "-Wl,-u,_base_GHCziConcziSync_runSparks_closure" + "-Wl,-u,_base_GHCziConcziIO_ensureIOManagerIsRunning_closure" + "-Wl,-u,_base_GHCziConcziIO_interruptIOManager_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_xchg8" "-Wl,-u,_hs_xchg16" + "-Wl,-u,_hs_xchg32" "-Wl,-u,_hs_xchg64" "-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" + "-Wl,-U,___darwin_check_fd_set_overflow" diff --git a/materialized/nixpkgs/dummy-ghc/ghc-9.2.8-aarch64-darwin/ghc-pkg/version b/materialized/nixpkgs/dummy-ghc/ghc-9.2.8-aarch64-darwin/ghc-pkg/version new file mode 100644 index 0000000000..fdbd1af834 --- /dev/null +++ b/materialized/nixpkgs/dummy-ghc/ghc-9.2.8-aarch64-darwin/ghc-pkg/version @@ -0,0 +1 @@ +GHC package manager version 9.2.8 diff --git a/materialized/nixpkgs/dummy-ghc/ghc-9.2.8-aarch64-darwin/ghc/info b/materialized/nixpkgs/dummy-ghc/ghc-9.2.8-aarch64-darwin/ghc/info new file mode 100644 index 0000000000..523ac17562 --- /dev/null +++ b/materialized/nixpkgs/dummy-ghc/ghc-9.2.8-aarch64-darwin/ghc/info @@ -0,0 +1,64 @@ + [("Project name","The Glorious Glasgow Haskell Compilation System") + ,("GCC extra via C opts","") + ,("C compiler flags","--target=arm64-apple-darwin ") + ,("C++ compiler flags","--target=arm64-apple-darwin ") + ,("C compiler link flags","--target=arm64-apple-darwin ") + ,("C compiler supports -no-pie","NO") + ,("Haskell CPP flags","-E -undef -traditional -Wno-invalid-pp-token -Wno-unicode -Wno-trigraphs") + ,("ld flags","") + ,("ld supports compact unwind","YES") + ,("ld supports build-id","NO") + ,("ld supports filelist","YES") + ,("ld is GNU ld","NO") + ,("Merge objects flags","-r") + ,("ar flags","qcls") + ,("ar supports at file","YES") + ,("touch command","touch") + ,("dllwrap command","/bin/false") + ,("windres command","/bin/false") + ,("libtool command","libtool") + ,("cross compiling","NO") + ,("target platform string","aarch64-apple-darwin") + ,("target os","OSDarwin") + ,("target arch","ArchAArch64") + ,("target word size","8") + ,("target word big endian","NO") + ,("target has GNU nonexec stack","NO") + ,("target has .ident directive","YES") + ,("target has subsections via symbols","NO") + ,("target has RTS linker","YES") + ,("Unregisterised","NO") + ,("LLVM target","arm64-apple-darwin") + ,("LLVM llc command","llc") + ,("LLVM opt command","opt") + ,("LLVM clang command","clang") + ,("Use interpreter","YES") + ,("Support SMP","YES") + ,("RTS ways","l debug thr thr_debug thr_l dyn debug_dyn thr_dyn thr_debug_dyn l_dyn thr_l_dyn ") + ,("Tables next to code","YES") + ,("Leading underscore","YES") + ,("Use LibFFI","YES") + ,("RTS expects libdw","NO") + ,("Project version","9.2.8") + ,("Project Git commit id","dfa834627a94d98aaeddb0cb3a0cedca934d2814") + ,("Booter version","8.10.7") + ,("Stage","2") + ,("Build platform","aarch64-apple-darwin") + ,("Host platform","aarch64-apple-darwin") + ,("Target platform","aarch64-apple-darwin") + ,("Have interpreter","YES") + ,("Object splitting supported","NO") + ,("Have native code generator","YES") + ,("Target default backend","NCG") + ,("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") + ,("GHC Dynamic","YES") + ,("GHC Profiled","NO") + ,("Debug on","NO") + ] diff --git a/materialized/nixpkgs/dummy-ghc/ghc-9.2.8-aarch64-darwin/ghc/numeric-version b/materialized/nixpkgs/dummy-ghc/ghc-9.2.8-aarch64-darwin/ghc/numeric-version new file mode 100644 index 0000000000..08e647b0f9 --- /dev/null +++ b/materialized/nixpkgs/dummy-ghc/ghc-9.2.8-aarch64-darwin/ghc/numeric-version @@ -0,0 +1 @@ +9.2.8 diff --git a/materialized/nixpkgs/dummy-ghc/ghc-9.2.8-aarch64-darwin/ghc/supported-languages b/materialized/nixpkgs/dummy-ghc/ghc-9.2.8-aarch64-darwin/ghc/supported-languages new file mode 100644 index 0000000000..331def5550 --- /dev/null +++ b/materialized/nixpkgs/dummy-ghc/ghc-9.2.8-aarch64-darwin/ghc/supported-languages @@ -0,0 +1,268 @@ +Haskell98 +Haskell2010 +GHC2021 +Unsafe +Trustworthy +Safe +AllowAmbiguousTypes +NoAllowAmbiguousTypes +AlternativeLayoutRule +NoAlternativeLayoutRule +AlternativeLayoutRuleTransitional +NoAlternativeLayoutRuleTransitional +Arrows +NoArrows +AutoDeriveTypeable +NoAutoDeriveTypeable +BangPatterns +NoBangPatterns +BinaryLiterals +NoBinaryLiterals +CApiFFI +NoCApiFFI +CPP +NoCPP +CUSKs +NoCUSKs +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 +DerivingVia +NoDerivingVia +DisambiguateRecordFields +NoDisambiguateRecordFields +DoAndIfThenElse +NoDoAndIfThenElse +BlockArguments +NoBlockArguments +DoRec +NoDoRec +DuplicateRecordFields +NoDuplicateRecordFields +FieldSelectors +NoFieldSelectors +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 +GeneralisedNewtypeDeriving +NoGeneralisedNewtypeDeriving +ImplicitParams +NoImplicitParams +ImplicitPrelude +NoImplicitPrelude +ImportQualifiedPost +NoImportQualifiedPost +ImpredicativeTypes +NoImpredicativeTypes +IncoherentInstances +NoIncoherentInstances +TypeFamilyDependencies +NoTypeFamilyDependencies +InstanceSigs +NoInstanceSigs +ApplicativeDo +NoApplicativeDo +InterruptibleFFI +NoInterruptibleFFI +JavaScriptFFI +NoJavaScriptFFI +KindSignatures +NoKindSignatures +LambdaCase +NoLambdaCase +LexicalNegation +NoLexicalNegation +LiberalTypeSynonyms +NoLiberalTypeSynonyms +LinearTypes +NoLinearTypes +MagicHash +NoMagicHash +MonadComprehensions +NoMonadComprehensions +MonoLocalBinds +NoMonoLocalBinds +DeepSubsumption +NoDeepSubsumption +MonomorphismRestriction +NoMonomorphismRestriction +MultiParamTypeClasses +NoMultiParamTypeClasses +MultiWayIf +NoMultiWayIf +NumericUnderscores +NoNumericUnderscores +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 +QuantifiedConstraints +NoQuantifiedConstraints +PostfixOperators +NoPostfixOperators +QuasiQuotes +NoQuasiQuotes +QualifiedDo +NoQualifiedDo +Rank2Types +NoRank2Types +RankNTypes +NoRankNTypes +RebindableSyntax +NoRebindableSyntax +OverloadedRecordDot +NoOverloadedRecordDot +OverloadedRecordUpdate +NoOverloadedRecordUpdate +RecordPuns +NoRecordPuns +RecordWildCards +NoRecordWildCards +RecursiveDo +NoRecursiveDo +RelaxedLayout +NoRelaxedLayout +RelaxedPolyRec +NoRelaxedPolyRec +RoleAnnotations +NoRoleAnnotations +ScopedTypeVariables +NoScopedTypeVariables +StandaloneDeriving +NoStandaloneDeriving +StarIsType +NoStarIsType +StaticPointers +NoStaticPointers +Strict +NoStrict +StrictData +NoStrictData +TemplateHaskell +NoTemplateHaskell +TemplateHaskellQuotes +NoTemplateHaskellQuotes +StandaloneKindSignatures +NoStandaloneKindSignatures +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 +UnliftedDatatypes +NoUnliftedDatatypes +UnliftedFFITypes +NoUnliftedFFITypes +UnliftedNewtypes +NoUnliftedNewtypes +ViewPatterns +NoViewPatterns diff --git a/materialized/nixpkgs/dummy-ghc/ghc-9.2.8-aarch64-darwin/ghc/version b/materialized/nixpkgs/dummy-ghc/ghc-9.2.8-aarch64-darwin/ghc/version new file mode 100644 index 0000000000..11c5151b19 --- /dev/null +++ b/materialized/nixpkgs/dummy-ghc/ghc-9.2.8-aarch64-darwin/ghc/version @@ -0,0 +1 @@ +The Glorious Glasgow Haskell Compilation System, version 9.2.8 diff --git a/materialized/nixpkgs/dummy-ghc/ghc-9.2.8-x86_64-darwin/ghc-pkg/dump-global b/materialized/nixpkgs/dummy-ghc/ghc-9.2.8-x86_64-darwin/ghc-pkg/dump-global new file mode 100644 index 0000000000..765fcc159d --- /dev/null +++ b/materialized/nixpkgs/dummy-ghc/ghc-9.2.8-x86_64-darwin/ghc-pkg/dump-global @@ -0,0 +1,1834 @@ +name: Cabal +version: 3.6.3.0 +visibility: public +id: Cabal-3.6.3.0 +key: Cabal-3.6.3.0 +license: BSD-3-Clause +copyright: 2003-2021, 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.FilePath + Distribution.Compat.Graph Distribution.Compat.Internal.TempFile + Distribution.Compat.Lens Distribution.Compat.Newtype + Distribution.Compat.NonEmptySet Distribution.Compat.Parsing + Distribution.Compat.Prelude.Internal Distribution.Compat.Process + Distribution.Compat.ResponseFile Distribution.Compat.Semigroup + Distribution.Compat.Stack Distribution.Compat.Time + Distribution.Compat.Typeable Distribution.Compiler + Distribution.FieldGrammar Distribution.FieldGrammar.Class + Distribution.FieldGrammar.FieldDescrs + Distribution.FieldGrammar.Newtypes Distribution.FieldGrammar.Parsec + Distribution.FieldGrammar.Pretty Distribution.Fields + Distribution.Fields.ConfVar Distribution.Fields.Field + Distribution.Fields.Lexer Distribution.Fields.LexerMonad + Distribution.Fields.ParseResult Distribution.Fields.Parser + Distribution.Fields.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.Parsec + Distribution.Parsec.Error Distribution.Parsec.FieldLineStream + Distribution.Parsec.Position Distribution.Parsec.Warning + Distribution.Pretty Distribution.ReadE Distribution.SPDX + Distribution.SPDX.License Distribution.SPDX.LicenseExceptionId + Distribution.SPDX.LicenseExpression Distribution.SPDX.LicenseId + Distribution.SPDX.LicenseListVersion + 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.Flag + Distribution.Simple.GHC Distribution.Simple.GHCJS + Distribution.Simple.Glob Distribution.Simple.Haddock + Distribution.Simple.HaskellSuite Distribution.Simple.Hpc + Distribution.Simple.Install Distribution.Simple.InstallDirs + Distribution.Simple.InstallDirs.Internal + 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.ShowBuildInfo 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.ConfVar Distribution.Types.Dependency + Distribution.Types.DependencyMap Distribution.Types.ExeDependency + Distribution.Types.Executable Distribution.Types.Executable.Lens + Distribution.Types.ExecutableScope Distribution.Types.ExposedModule + Distribution.Types.Flag Distribution.Types.ForeignLib + Distribution.Types.ForeignLib.Lens + Distribution.Types.ForeignLibOption + Distribution.Types.ForeignLibType + Distribution.Types.GenericPackageDescription + Distribution.Types.GenericPackageDescription.Lens + Distribution.Types.GivenComponent + 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.LibraryName Distribution.Types.LibraryVisibility + 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.PackageName.Magic + Distribution.Types.PackageVersionConstraint + Distribution.Types.PkgconfigDependency + Distribution.Types.PkgconfigName + Distribution.Types.PkgconfigVersion + Distribution.Types.PkgconfigVersionRange + 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.VersionInterval.Legacy + Distribution.Types.VersionRange + Distribution.Types.VersionRange.Internal Distribution.Utils.Generic + Distribution.Utils.IOData Distribution.Utils.LogProgress + Distribution.Utils.MD5 Distribution.Utils.MapAccum + Distribution.Utils.NubList Distribution.Utils.Path + Distribution.Utils.Progress Distribution.Utils.ShortText + Distribution.Utils.Structured Distribution.Verbosity + Distribution.Verbosity.Internal 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.Async + Distribution.Compat.CopyFile Distribution.Compat.GetShortPathName + Distribution.Compat.MonadFail Distribution.Compat.Prelude + Distribution.Compat.SnocList Distribution.GetOpt Distribution.Lex + Distribution.Utils.String Distribution.Simple.Build.Macros.Z + Distribution.Simple.Build.PathsModule.Z + Distribution.Simple.GHC.EnvironmentParser + Distribution.Simple.GHC.Internal Distribution.Simple.GHC.ImplInfo + Distribution.Simple.Utils.Json Distribution.ZinzaPrelude + Paths_Cabal +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSCabal-3.6.3.0 +depends: + array-0.5.4.0 base-4.16.4.0 binary-0.8.9.0 bytestring-0.11.4.0 + containers-0.6.5.1 deepseq-1.4.6.1 directory-1.3.6.2 + filepath-1.4.2.2 mtl-2.2.2 parsec-3.1.15.0 pretty-1.1.3.6 + process-1.6.16.0 text-1.2.5.0 time-1.11.1.1 transformers-0.5.6.2 + unix-2.7.2.2 +haddock-interfaces: +haddock-html: +--- +name: array +version: 0.5.4.0 +visibility: public +id: array-0.5.4.0 +key: array-0.5.4.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 +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSarray-0.5.4.0 +depends: base-4.16.4.0 +haddock-interfaces: +haddock-html: +--- +name: base +version: 4.16.4.0 +visibility: public +id: base-4.16.4.0 +key: base-4.16.4.0 +license: BSD-3-Clause +maintainer: libraries@haskell.org +synopsis: Basic libraries +description: + This package contains the Standard Haskell "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.Contravariant, + 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.Type.Ord, 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.Bits, + 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.Event.TimeOut, GHC.Exception, GHC.Exception.Type, + 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.GHCi.Helpers, 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.StdHandles, + GHC.IO.SubSystem, GHC.IO.Unsafe, GHC.IOArray, GHC.IOPort, + GHC.IORef, GHC.Int, GHC.Integer, GHC.Integer.Logarithms, GHC.Ix, + GHC.List, GHC.MVar, GHC.Maybe, GHC.Natural, GHC.Num, + GHC.Num.BigNat from ghc-bignum-1.2:GHC.Num.BigNat, + GHC.Num.Integer from ghc-bignum-1.2:GHC.Num.Integer, + GHC.Num.Natural from ghc-bignum-1.2:GHC.Num.Natural, GHC.OldList, + GHC.OverloadedLabels, GHC.Pack, GHC.Profiling, GHC.Ptr, + GHC.RTS.Flags, GHC.Read, GHC.Real, GHC.Records, GHC.ResponseFile, + GHC.ST, GHC.STRef, GHC.Show, GHC.Stable, GHC.StableName, GHC.Stack, + GHC.Stack.CCS, GHC.Stack.Types, GHC.StaticPtr, GHC.Stats, + GHC.Storable, GHC.TopHandler, GHC.TypeLits, GHC.TypeLits.Internal, + GHC.TypeNats, GHC.TypeNats.Internal, 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.IO.Handle.Lock.Common + GHC.IO.Handle.Lock.Flock GHC.IO.Handle.Lock.LinuxOFD + GHC.IO.Handle.Lock.NoOp GHC.IO.Handle.Lock.Windows + GHC.StaticPtr.Internal GHC.Event.Arr GHC.Event.Array + GHC.Event.Internal GHC.Event.Internal.Types GHC.Event.IntTable + GHC.Event.IntVar GHC.Event.PSQ GHC.Event.Unique + System.Environment.ExecutablePath System.CPUTime.Utils + GHC.Event.Control GHC.Event.EPoll GHC.Event.KQueue + GHC.Event.Manager GHC.Event.Poll GHC.Event.Thread + GHC.Event.TimerManager System.CPUTime.Posix.ClockGetTime + System.CPUTime.Posix.Times System.CPUTime.Posix.RUsage + System.CPUTime.Unsupported +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSbase-4.16.4.0 +extra-libraries: iconv +include-dirs: +includes: HsBase.h +depends: ghc-bignum-1.2 ghc-prim-0.8.0 rts +haddock-interfaces: +haddock-html: +--- +name: binary +version: 0.8.9.0 +visibility: public +id: binary-0.8.9.0 +key: binary-0.8.9.0 +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 +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSbinary-0.8.9.0 +depends: + array-0.5.4.0 base-4.16.4.0 bytestring-0.11.4.0 containers-0.6.5.1 +haddock-interfaces: +haddock-html: +--- +name: bytestring +version: 0.11.4.0 +visibility: public +id: bytestring-0.11.4.0 +key: bytestring-0.11.4.0 +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: + Haskell Bytestring Team , Core Libraries Committee +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 be converted to or from a 'ByteString'. 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.Builder.RealFloat Data.ByteString.Char8 + Data.ByteString.Internal Data.ByteString.Lazy + 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.ASCII + Data.ByteString.Builder.Prim.Binary + Data.ByteString.Builder.Prim.Internal.Base16 + Data.ByteString.Builder.Prim.Internal.Floating + Data.ByteString.Builder.RealFloat.F2S + Data.ByteString.Builder.RealFloat.D2S + Data.ByteString.Builder.RealFloat.Internal + Data.ByteString.Builder.RealFloat.TableGenerator + Data.ByteString.Internal.Type Data.ByteString.Lazy.Internal.Deque +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSbytestring-0.11.4.0 +include-dirs: +includes: fpstring.h +depends: + base-4.16.4.0 deepseq-1.4.6.1 ghc-prim-0.8.0 + template-haskell-2.18.0.0 +haddock-interfaces: +haddock-html: +--- +name: containers +version: 0.6.5.1 +visibility: public +id: containers-0.6.5.1 +key: containers-0.6.5.1 +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.Containers.ListUtils 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.IntMap.Strict.Internal Data.IntSet Data.IntSet.Internal + Data.Map Data.Map.Internal Data.Map.Internal.Debug Data.Map.Lazy + Data.Map.Merge.Lazy Data.Map.Merge.Strict Data.Map.Strict + Data.Map.Strict.Internal 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.StrictMaybe + Utils.Containers.Internal.PtrEquality + Utils.Containers.Internal.Coercions + Utils.Containers.Internal.TypeError + Data.Map.Internal.DeprecatedShowTree + Data.IntMap.Internal.DeprecatedDebug +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HScontainers-0.6.5.1 +depends: array-0.5.4.0 base-4.16.4.0 deepseq-1.4.6.1 +haddock-interfaces: +haddock-html: +--- +name: deepseq +version: 1.4.6.1 +visibility: public +id: deepseq-1.4.6.1 +key: deepseq-1.4.6.1 +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. See module documentation in "Control.DeepSeq" for more + details. +category: Control +exposed: True +exposed-modules: Control.DeepSeq +hidden-modules: Control.DeepSeq.BackDoor +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSdeepseq-1.4.6.1 +depends: array-0.5.4.0 base-4.16.4.0 +haddock-interfaces: +haddock-html: +--- +name: directory +version: 1.3.6.2 +visibility: public +id: directory-1.3.6.2 +key: directory-1.3.6.2 +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 +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSdirectory-1.3.6.2 +depends: + base-4.16.4.0 filepath-1.4.2.2 time-1.11.1.1 unix-2.7.2.2 +haddock-interfaces: +haddock-html: +--- +name: exceptions +version: 0.10.4 +visibility: public +id: exceptions-0.10.4 +key: exceptions-0.10.4 +license: BSD-3-Clause +copyright: + Copyright (C) 2013-2015 Edward A. Kmett + Copyright (C) 2012 Google Inc. +maintainer: Edward A. Kmett +author: Edward A. Kmett +stability: provisional +homepage: http://github.com/ekmett/exceptions/ +synopsis: Extensible optionally-pure exceptions +description: Extensible optionally-pure exceptions. +category: Control, Exceptions, Monad +exposed: True +exposed-modules: Control.Monad.Catch Control.Monad.Catch.Pure +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSexceptions-0.10.4 +depends: + base-4.16.4.0 mtl-2.2.2 stm-2.5.0.2 template-haskell-2.18.0.0 + transformers-0.5.6.2 +haddock-interfaces: +haddock-html: +--- +name: filepath +version: 1.4.2.2 +visibility: public +id: filepath-1.4.2.2 +key: filepath-1.4.2.2 +license: BSD-3-Clause +copyright: Neil Mitchell 2005-2020 +maintainer: Julian Ospald +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 +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSfilepath-1.4.2.2 +depends: base-4.16.4.0 +haddock-interfaces: +haddock-html: +--- +name: ghc +version: 9.2.8 +visibility: public +id: ghc-9.2.8 +key: ghc-9.2.8 +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. + See + for more information. +category: Development +exposed-modules: + GHC, GHC.Builtin.Names, GHC.Builtin.Names.TH, GHC.Builtin.PrimOps, + GHC.Builtin.Types, GHC.Builtin.Types.Literals, + GHC.Builtin.Types.Prim, GHC.Builtin.Uniques, GHC.Builtin.Utils, + GHC.ByteCode.Asm, GHC.ByteCode.InfoTable, GHC.ByteCode.Instr, + GHC.ByteCode.Linker, GHC.ByteCode.Types, GHC.Cmm, GHC.Cmm.BlockId, + GHC.Cmm.CLabel, GHC.Cmm.CallConv, GHC.Cmm.CommonBlockElim, + GHC.Cmm.ContFlowOpt, GHC.Cmm.Dataflow, GHC.Cmm.Dataflow.Block, + GHC.Cmm.Dataflow.Collections, GHC.Cmm.Dataflow.Graph, + GHC.Cmm.Dataflow.Label, GHC.Cmm.DebugBlock, GHC.Cmm.Expr, + GHC.Cmm.Graph, GHC.Cmm.Info, GHC.Cmm.Info.Build, GHC.Cmm.LRegSet, + GHC.Cmm.LayoutStack, GHC.Cmm.Lexer, GHC.Cmm.Lint, GHC.Cmm.Liveness, + GHC.Cmm.MachOp, GHC.Cmm.Node, GHC.Cmm.Opt, GHC.Cmm.Parser, + GHC.Cmm.Parser.Monad, GHC.Cmm.Pipeline, GHC.Cmm.Ppr, + GHC.Cmm.Ppr.Decl, GHC.Cmm.Ppr.Expr, GHC.Cmm.ProcPoint, + GHC.Cmm.Sink, GHC.Cmm.Switch, GHC.Cmm.Switch.Implement, + GHC.Cmm.Type, GHC.Cmm.Utils, GHC.CmmToAsm, GHC.CmmToAsm.AArch64, + GHC.CmmToAsm.AArch64.CodeGen, GHC.CmmToAsm.AArch64.Cond, + GHC.CmmToAsm.AArch64.Instr, GHC.CmmToAsm.AArch64.Ppr, + GHC.CmmToAsm.AArch64.RegInfo, GHC.CmmToAsm.AArch64.Regs, + GHC.CmmToAsm.BlockLayout, GHC.CmmToAsm.CFG, + GHC.CmmToAsm.CFG.Dominators, GHC.CmmToAsm.CFG.Weight, + GHC.CmmToAsm.CPrim, GHC.CmmToAsm.Config, GHC.CmmToAsm.Dwarf, + GHC.CmmToAsm.Dwarf.Constants, GHC.CmmToAsm.Dwarf.Types, + GHC.CmmToAsm.Format, GHC.CmmToAsm.Instr, GHC.CmmToAsm.Monad, + GHC.CmmToAsm.PIC, GHC.CmmToAsm.PPC, GHC.CmmToAsm.PPC.CodeGen, + GHC.CmmToAsm.PPC.Cond, GHC.CmmToAsm.PPC.Instr, + GHC.CmmToAsm.PPC.Ppr, GHC.CmmToAsm.PPC.RegInfo, + GHC.CmmToAsm.PPC.Regs, GHC.CmmToAsm.Ppr, GHC.CmmToAsm.Reg.Graph, + GHC.CmmToAsm.Reg.Graph.Base, GHC.CmmToAsm.Reg.Graph.Coalesce, + GHC.CmmToAsm.Reg.Graph.Spill, GHC.CmmToAsm.Reg.Graph.SpillClean, + GHC.CmmToAsm.Reg.Graph.SpillCost, GHC.CmmToAsm.Reg.Graph.Stats, + GHC.CmmToAsm.Reg.Graph.TrivColorable, GHC.CmmToAsm.Reg.Graph.X86, + GHC.CmmToAsm.Reg.Linear, GHC.CmmToAsm.Reg.Linear.AArch64, + GHC.CmmToAsm.Reg.Linear.Base, GHC.CmmToAsm.Reg.Linear.FreeRegs, + GHC.CmmToAsm.Reg.Linear.JoinToTargets, GHC.CmmToAsm.Reg.Linear.PPC, + GHC.CmmToAsm.Reg.Linear.SPARC, GHC.CmmToAsm.Reg.Linear.StackMap, + GHC.CmmToAsm.Reg.Linear.State, GHC.CmmToAsm.Reg.Linear.Stats, + GHC.CmmToAsm.Reg.Linear.X86, GHC.CmmToAsm.Reg.Linear.X86_64, + GHC.CmmToAsm.Reg.Liveness, GHC.CmmToAsm.Reg.Target, + GHC.CmmToAsm.Reg.Utils, GHC.CmmToAsm.SPARC, + GHC.CmmToAsm.SPARC.AddrMode, GHC.CmmToAsm.SPARC.Base, + GHC.CmmToAsm.SPARC.CodeGen, GHC.CmmToAsm.SPARC.CodeGen.Amode, + GHC.CmmToAsm.SPARC.CodeGen.Base, + GHC.CmmToAsm.SPARC.CodeGen.CondCode, + GHC.CmmToAsm.SPARC.CodeGen.Expand, + GHC.CmmToAsm.SPARC.CodeGen.Gen32, GHC.CmmToAsm.SPARC.CodeGen.Gen64, + GHC.CmmToAsm.SPARC.CodeGen.Sanity, GHC.CmmToAsm.SPARC.Cond, + GHC.CmmToAsm.SPARC.Imm, GHC.CmmToAsm.SPARC.Instr, + GHC.CmmToAsm.SPARC.Ppr, GHC.CmmToAsm.SPARC.Regs, + GHC.CmmToAsm.SPARC.ShortcutJump, GHC.CmmToAsm.SPARC.Stack, + GHC.CmmToAsm.Types, GHC.CmmToAsm.Utils, GHC.CmmToAsm.X86, + GHC.CmmToAsm.X86.CodeGen, GHC.CmmToAsm.X86.Cond, + GHC.CmmToAsm.X86.Instr, GHC.CmmToAsm.X86.Ppr, + GHC.CmmToAsm.X86.RegInfo, GHC.CmmToAsm.X86.Regs, GHC.CmmToC, + GHC.CmmToLlvm, GHC.CmmToLlvm.Base, GHC.CmmToLlvm.CodeGen, + GHC.CmmToLlvm.Data, GHC.CmmToLlvm.Mangler, GHC.CmmToLlvm.Ppr, + GHC.CmmToLlvm.Regs, GHC.Core, GHC.Core.Class, GHC.Core.Coercion, + GHC.Core.Coercion.Axiom, GHC.Core.Coercion.Opt, GHC.Core.ConLike, + GHC.Core.DataCon, GHC.Core.FVs, GHC.Core.FamInstEnv, + GHC.Core.InstEnv, GHC.Core.Lint, GHC.Core.Make, GHC.Core.Map.Expr, + GHC.Core.Map.Type, GHC.Core.Multiplicity, GHC.Core.Opt.Arity, + GHC.Core.Opt.CSE, GHC.Core.Opt.CallArity, GHC.Core.Opt.CallerCC, + GHC.Core.Opt.ConstantFold, GHC.Core.Opt.CprAnal, + GHC.Core.Opt.DmdAnal, GHC.Core.Opt.Exitify, GHC.Core.Opt.FloatIn, + GHC.Core.Opt.FloatOut, GHC.Core.Opt.LiberateCase, + GHC.Core.Opt.Monad, GHC.Core.Opt.OccurAnal, GHC.Core.Opt.Pipeline, + GHC.Core.Opt.SetLevels, GHC.Core.Opt.Simplify, + GHC.Core.Opt.Simplify.Env, GHC.Core.Opt.Simplify.Monad, + GHC.Core.Opt.Simplify.Utils, GHC.Core.Opt.SpecConstr, + GHC.Core.Opt.Specialise, GHC.Core.Opt.StaticArgs, + GHC.Core.Opt.WorkWrap, GHC.Core.Opt.WorkWrap.Utils, + GHC.Core.PatSyn, GHC.Core.Ppr, GHC.Core.Predicate, GHC.Core.Rules, + GHC.Core.Seq, GHC.Core.SimpleOpt, GHC.Core.Stats, GHC.Core.Subst, + GHC.Core.Tidy, GHC.Core.TyCo.FVs, GHC.Core.TyCo.Ppr, + GHC.Core.TyCo.Rep, GHC.Core.TyCo.Subst, GHC.Core.TyCo.Tidy, + GHC.Core.TyCon, GHC.Core.TyCon.Env, GHC.Core.TyCon.RecWalk, + GHC.Core.TyCon.Set, GHC.Core.Type, GHC.Core.Unfold, + GHC.Core.Unfold.Make, GHC.Core.Unify, GHC.Core.UsageEnv, + GHC.Core.Utils, GHC.CoreToIface, GHC.CoreToStg, GHC.CoreToStg.Prep, + GHC.Data.Bag, GHC.Data.Bitmap, GHC.Data.BooleanFormula, + GHC.Data.EnumSet, GHC.Data.FastMutInt, GHC.Data.FastString, + GHC.Data.FastString.Env, GHC.Data.FiniteMap, GHC.Data.Graph.Base, + GHC.Data.Graph.Color, GHC.Data.Graph.Directed, GHC.Data.Graph.Ops, + GHC.Data.Graph.Ppr, GHC.Data.Graph.UnVar, GHC.Data.IOEnv, + GHC.Data.List.SetOps, GHC.Data.Maybe, GHC.Data.OrdList, + GHC.Data.Pair, GHC.Data.Stream, GHC.Data.StringBuffer, + GHC.Data.TrieMap, GHC.Data.UnionFind, GHC.Driver.Backend, + GHC.Driver.Backpack, GHC.Driver.Backpack.Syntax, + GHC.Driver.CmdLine, GHC.Driver.CodeOutput, GHC.Driver.Config, + GHC.Driver.Env, GHC.Driver.Env.Types, GHC.Driver.Errors, + GHC.Driver.Flags, GHC.Driver.Hooks, GHC.Driver.Main, + GHC.Driver.Make, GHC.Driver.MakeFile, GHC.Driver.Monad, + GHC.Driver.Phases, GHC.Driver.Pipeline, GHC.Driver.Pipeline.Monad, + GHC.Driver.Plugins, GHC.Driver.Ppr, GHC.Driver.Session, GHC.Hs, + GHC.Hs.Binds, GHC.Hs.Decls, GHC.Hs.Doc, GHC.Hs.Dump, GHC.Hs.Expr, + GHC.Hs.Extension, GHC.Hs.ImpExp, GHC.Hs.Instances, GHC.Hs.Lit, + GHC.Hs.Pat, GHC.Hs.Stats, GHC.Hs.Type, GHC.Hs.Utils, GHC.HsToCore, + GHC.HsToCore.Arrows, GHC.HsToCore.Binds, GHC.HsToCore.Coverage, + GHC.HsToCore.Docs, GHC.HsToCore.Expr, GHC.HsToCore.Foreign.Call, + GHC.HsToCore.Foreign.Decl, GHC.HsToCore.GuardedRHSs, + GHC.HsToCore.ListComp, GHC.HsToCore.Match, + GHC.HsToCore.Match.Constructor, GHC.HsToCore.Match.Literal, + GHC.HsToCore.Monad, GHC.HsToCore.Pmc, GHC.HsToCore.Pmc.Check, + GHC.HsToCore.Pmc.Desugar, GHC.HsToCore.Pmc.Ppr, + GHC.HsToCore.Pmc.Solver, GHC.HsToCore.Pmc.Solver.Types, + GHC.HsToCore.Pmc.Types, GHC.HsToCore.Pmc.Utils, GHC.HsToCore.Quote, + GHC.HsToCore.Types, GHC.HsToCore.Usage, GHC.HsToCore.Utils, + GHC.Iface.Binary, GHC.Iface.Env, GHC.Iface.Ext.Ast, + GHC.Iface.Ext.Binary, GHC.Iface.Ext.Debug, GHC.Iface.Ext.Fields, + GHC.Iface.Ext.Types, GHC.Iface.Ext.Utils, GHC.Iface.Load, + GHC.Iface.Make, GHC.Iface.Recomp, GHC.Iface.Recomp.Binary, + GHC.Iface.Recomp.Flags, GHC.Iface.Rename, GHC.Iface.Syntax, + GHC.Iface.Tidy, GHC.Iface.Tidy.StaticPtrTable, GHC.Iface.Type, + GHC.IfaceToCore, GHC.Linker, GHC.Linker.Dynamic, + GHC.Linker.ExtraObj, GHC.Linker.Loader, GHC.Linker.MacOS, + GHC.Linker.Static, GHC.Linker.Types, GHC.Linker.Unit, + GHC.Linker.Windows, GHC.Llvm, GHC.Llvm.MetaData, GHC.Llvm.Ppr, + GHC.Llvm.Syntax, GHC.Llvm.Types, GHC.Parser, GHC.Parser.Annotation, + GHC.Parser.CharClass, GHC.Parser.Errors, GHC.Parser.Errors.Ppr, + GHC.Parser.Header, GHC.Parser.Lexer, GHC.Parser.PostProcess, + GHC.Parser.PostProcess.Haddock, GHC.Parser.Types, GHC.Parser.Utils, + GHC.Platform, GHC.Platform.AArch64, GHC.Platform.ARM, + GHC.Platform.ArchOS from ghc-boot-9.2.8:GHC.Platform.ArchOS, + GHC.Platform.Constants, + GHC.Platform.Host from ghc-boot-9.2.8:GHC.Platform.Host, + GHC.Platform.NoRegs, GHC.Platform.PPC, GHC.Platform.Profile, + GHC.Platform.RISCV64, GHC.Platform.Reg, GHC.Platform.Reg.Class, + GHC.Platform.Regs, GHC.Platform.S390X, GHC.Platform.SPARC, + GHC.Platform.Ways, GHC.Platform.X86, GHC.Platform.X86_64, + GHC.Plugins, GHC.Prelude, GHC.Rename.Bind, GHC.Rename.Env, + GHC.Rename.Expr, GHC.Rename.Fixity, GHC.Rename.HsType, + GHC.Rename.Module, GHC.Rename.Names, GHC.Rename.Pat, + GHC.Rename.Splice, GHC.Rename.Unbound, GHC.Rename.Utils, + GHC.Runtime.Context, GHC.Runtime.Debugger, GHC.Runtime.Eval, + GHC.Runtime.Eval.Types, GHC.Runtime.Heap.Inspect, + GHC.Runtime.Heap.Layout, GHC.Runtime.Interpreter, + GHC.Runtime.Interpreter.Types, GHC.Runtime.Loader, GHC.Settings, + GHC.Settings.Config, GHC.Settings.Constants, GHC.Settings.IO, + GHC.Stg.CSE, GHC.Stg.Debug, GHC.Stg.DepAnal, GHC.Stg.FVs, + GHC.Stg.Lift, GHC.Stg.Lift.Analysis, GHC.Stg.Lift.Monad, + GHC.Stg.Lint, GHC.Stg.Pipeline, GHC.Stg.Stats, GHC.Stg.Subst, + GHC.Stg.Syntax, GHC.Stg.Unarise, GHC.StgToByteCode, GHC.StgToCmm, + GHC.StgToCmm.ArgRep, GHC.StgToCmm.Bind, GHC.StgToCmm.CgUtils, + GHC.StgToCmm.Closure, GHC.StgToCmm.DataCon, GHC.StgToCmm.Env, + GHC.StgToCmm.Expr, GHC.StgToCmm.ExtCode, GHC.StgToCmm.Foreign, + GHC.StgToCmm.Heap, GHC.StgToCmm.Hpc, GHC.StgToCmm.Layout, + GHC.StgToCmm.Lit, GHC.StgToCmm.Monad, GHC.StgToCmm.Prim, + GHC.StgToCmm.Prof, GHC.StgToCmm.Ticky, GHC.StgToCmm.Types, + GHC.StgToCmm.Utils, GHC.SysTools, GHC.SysTools.Ar, + GHC.SysTools.BaseDir, GHC.SysTools.Elf, GHC.SysTools.Info, + GHC.SysTools.Process, GHC.SysTools.Tasks, GHC.SysTools.Terminal, + GHC.Tc.Deriv, GHC.Tc.Deriv.Functor, GHC.Tc.Deriv.Generate, + GHC.Tc.Deriv.Generics, GHC.Tc.Deriv.Infer, GHC.Tc.Deriv.Utils, + GHC.Tc.Errors, GHC.Tc.Errors.Hole, GHC.Tc.Errors.Hole.FitTypes, + GHC.Tc.Gen.Annotation, GHC.Tc.Gen.App, GHC.Tc.Gen.Arrow, + GHC.Tc.Gen.Bind, GHC.Tc.Gen.Default, GHC.Tc.Gen.Export, + GHC.Tc.Gen.Expr, GHC.Tc.Gen.Foreign, GHC.Tc.Gen.Head, + GHC.Tc.Gen.HsType, GHC.Tc.Gen.Match, GHC.Tc.Gen.Pat, + GHC.Tc.Gen.Rule, GHC.Tc.Gen.Sig, GHC.Tc.Gen.Splice, + GHC.Tc.Instance.Class, GHC.Tc.Instance.Family, + GHC.Tc.Instance.FunDeps, GHC.Tc.Instance.Typeable, GHC.Tc.Module, + GHC.Tc.Plugin, GHC.Tc.Solver, GHC.Tc.Solver.Canonical, + GHC.Tc.Solver.Interact, GHC.Tc.Solver.Monad, GHC.Tc.Solver.Rewrite, + GHC.Tc.TyCl, GHC.Tc.TyCl.Build, GHC.Tc.TyCl.Class, + GHC.Tc.TyCl.Instance, GHC.Tc.TyCl.PatSyn, GHC.Tc.TyCl.Utils, + GHC.Tc.Types, GHC.Tc.Types.Constraint, GHC.Tc.Types.EvTerm, + GHC.Tc.Types.Evidence, GHC.Tc.Types.Origin, GHC.Tc.Utils.Backpack, + GHC.Tc.Utils.Env, GHC.Tc.Utils.Instantiate, GHC.Tc.Utils.Monad, + GHC.Tc.Utils.TcMType, GHC.Tc.Utils.TcType, GHC.Tc.Utils.Unify, + GHC.Tc.Utils.Zonk, GHC.Tc.Validity, GHC.ThToHs, + GHC.Types.Annotations, GHC.Types.Avail, GHC.Types.Basic, + GHC.Types.CompleteMatch, GHC.Types.CostCentre, + GHC.Types.CostCentre.State, GHC.Types.Cpr, GHC.Types.Demand, + GHC.Types.Error, GHC.Types.FieldLabel, GHC.Types.Fixity, + GHC.Types.Fixity.Env, GHC.Types.ForeignCall, + GHC.Types.ForeignStubs, GHC.Types.HpcInfo, GHC.Types.IPE, + GHC.Types.Id, GHC.Types.Id.Info, GHC.Types.Id.Make, + GHC.Types.Literal, GHC.Types.Meta, GHC.Types.Name, + GHC.Types.Name.Cache, GHC.Types.Name.Env, + GHC.Types.Name.Occurrence, GHC.Types.Name.Ppr, + GHC.Types.Name.Reader, GHC.Types.Name.Set, GHC.Types.Name.Shape, + GHC.Types.RepType, GHC.Types.SafeHaskell, GHC.Types.SourceError, + GHC.Types.SourceFile, GHC.Types.SourceText, GHC.Types.SrcLoc, + GHC.Types.Target, GHC.Types.Tickish, GHC.Types.TyThing, + GHC.Types.TyThing.Ppr, GHC.Types.TypeEnv, GHC.Types.Unique, + GHC.Types.Unique.DFM, GHC.Types.Unique.DSet, GHC.Types.Unique.FM, + GHC.Types.Unique.Map, GHC.Types.Unique.SDFM, GHC.Types.Unique.Set, + GHC.Types.Unique.Supply, GHC.Types.Var, GHC.Types.Var.Env, + GHC.Types.Var.Set, GHC.Unit, GHC.Unit.Env, GHC.Unit.External, + GHC.Unit.Finder, GHC.Unit.Finder.Types, GHC.Unit.Home, + GHC.Unit.Home.ModInfo, GHC.Unit.Info, GHC.Unit.Module, + GHC.Unit.Module.Deps, GHC.Unit.Module.Env, GHC.Unit.Module.Graph, + GHC.Unit.Module.Imported, GHC.Unit.Module.Location, + GHC.Unit.Module.ModDetails, GHC.Unit.Module.ModGuts, + GHC.Unit.Module.ModIface, GHC.Unit.Module.ModSummary, + GHC.Unit.Module.Name, GHC.Unit.Module.Status, + GHC.Unit.Module.Warnings, GHC.Unit.Parser, GHC.Unit.Ppr, + GHC.Unit.State, GHC.Unit.Types, GHC.Utils.Asm, GHC.Utils.Binary, + GHC.Utils.Binary.Typeable, GHC.Utils.BufHandle, + GHC.Utils.CliOption, GHC.Utils.Error, GHC.Utils.Exception, + GHC.Utils.FV, GHC.Utils.Fingerprint, GHC.Utils.GlobalVars, + GHC.Utils.IO.Unsafe, GHC.Utils.Json, GHC.Utils.Lexeme, + GHC.Utils.Logger, GHC.Utils.Misc, GHC.Utils.Monad, + GHC.Utils.Monad.State, GHC.Utils.Outputable, GHC.Utils.Panic, + GHC.Utils.Panic.Plain, GHC.Utils.Ppr, GHC.Utils.Ppr.Colour, + GHC.Utils.TmpFs, Language.Haskell.Syntax, + Language.Haskell.Syntax.Binds, Language.Haskell.Syntax.Decls, + Language.Haskell.Syntax.Expr, Language.Haskell.Syntax.Extension, + Language.Haskell.Syntax.Lit, Language.Haskell.Syntax.Pat, + Language.Haskell.Syntax.Type +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSghc-9.2.8 +include-dirs: +depends: + array-0.5.4.0 base-4.16.4.0 binary-0.8.9.0 bytestring-0.11.4.0 + containers-0.6.5.1 deepseq-1.4.6.1 directory-1.3.6.2 + exceptions-0.10.4 filepath-1.4.2.2 ghc-boot-9.2.8 ghc-heap-9.2.8 + ghci-9.2.8 hpc-0.6.1.0 process-1.6.16.0 template-haskell-2.18.0.0 + terminfo-0.4.1.5 time-1.11.1.1 transformers-0.5.6.2 unix-2.7.2.2 +haddock-interfaces: +haddock-html: +--- +name: ghc-bignum +version: 1.2 +visibility: public +id: ghc-bignum-1.2 +key: ghc-bignum-1.2 +license: BSD-3-Clause +maintainer: libraries@haskell.org +author: Sylvain Henry +synopsis: GHC BigNum library +description: + This package provides the low-level implementation of the standard + 'BigNat', 'Natural' and 'Integer' types. +category: Numeric, Algebra, GHC +exposed: True +exposed-modules: + GHC.Num.Backend GHC.Num.Backend.Native GHC.Num.Backend.Selected + GHC.Num.BigNat GHC.Num.Integer GHC.Num.Natural GHC.Num.Primitives + GHC.Num.WordArray +hidden-modules: GHC.Num.Backend.GMP +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSghc-bignum-1.2 +extra-libraries: gmp +include-dirs: +depends: ghc-prim-0.8.0 +haddock-interfaces: +haddock-html: +--- +name: ghc-boot +version: 9.2.8 +visibility: public +id: ghc-boot-9.2.8 +key: ghc-boot-9.2.8 +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.Unit.Database": 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.BaseDir, GHC.Data.ShortText, GHC.Data.SizedSeq, + GHC.ForeignSrcLang, + GHC.ForeignSrcLang.Type from ghc-boot-th-9.2.8:GHC.ForeignSrcLang.Type, + GHC.HandleEncoding, GHC.LanguageExtensions, + GHC.LanguageExtensions.Type from ghc-boot-th-9.2.8:GHC.LanguageExtensions.Type, + GHC.Lexeme from ghc-boot-th-9.2.8:GHC.Lexeme, GHC.Platform.ArchOS, + GHC.Platform.Host, GHC.Serialized, GHC.Settings.Utils, + GHC.UniqueSubdir, GHC.Unit.Database, GHC.Utils.Encoding, + GHC.Version +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSghc-boot-9.2.8 +depends: + base-4.16.4.0 binary-0.8.9.0 bytestring-0.11.4.0 containers-0.6.5.1 + deepseq-1.4.6.1 directory-1.3.6.2 filepath-1.4.2.2 + ghc-boot-th-9.2.8 unix-2.7.2.2 +haddock-interfaces: +haddock-html: +--- +name: ghc-boot-th +version: 9.2.8 +visibility: public +id: ghc-boot-th-9.2.8 +key: ghc-boot-th-9.2.8 +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 +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSghc-boot-th-9.2.8 +depends: base-4.16.4.0 +haddock-interfaces: +haddock-html: +--- +name: ghc-compact +version: 0.1.0.0 +visibility: public +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. + This package provides a low-level API; see also the which provides a user-facing API. +category: Data +exposed: True +exposed-modules: GHC.Compact GHC.Compact.Serialized +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSghc-compact-0.1.0.0 +depends: base-4.16.4.0 bytestring-0.11.4.0 ghc-prim-0.8.0 +haddock-interfaces: +haddock-html: +--- +name: ghc-heap +version: 9.2.8 +visibility: public +id: ghc-heap-9.2.8 +key: ghc-heap-9.2.8 +license: BSD-3-Clause +maintainer: libraries@haskell.org +synopsis: Functions for walking GHC's heap +description: + This package provides functions for walking the GHC heap data structures + and retrieving information about those data structures. +category: GHC +exposed: True +exposed-modules: + GHC.Exts.Heap GHC.Exts.Heap.ClosureTypes GHC.Exts.Heap.Closures + GHC.Exts.Heap.Constants GHC.Exts.Heap.FFIClosures + GHC.Exts.Heap.FFIClosures_ProfilingDisabled + GHC.Exts.Heap.FFIClosures_ProfilingEnabled GHC.Exts.Heap.InfoTable + GHC.Exts.Heap.InfoTable.Types GHC.Exts.Heap.InfoTableProf + GHC.Exts.Heap.ProfInfo.PeekProfInfo + GHC.Exts.Heap.ProfInfo.PeekProfInfo_ProfilingDisabled + GHC.Exts.Heap.ProfInfo.PeekProfInfo_ProfilingEnabled + GHC.Exts.Heap.ProfInfo.Types GHC.Exts.Heap.Utils +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSghc-heap-9.2.8 +depends: base-4.16.4.0 containers-0.6.5.1 ghc-prim-0.8.0 rts +haddock-interfaces: +haddock-html: +--- +name: ghc-prim +version: 0.8.0 +visibility: public +id: ghc-prim-0.8.0 +key: ghc-prim-0.8.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.Magic GHC.Prim.Exception + GHC.Prim.Ext GHC.Prim.Panic GHC.PrimopWrappers GHC.Tuple GHC.Types + GHC.Prim +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSghc-prim-0.8.0 +depends: rts +haddock-interfaces: +haddock-html: +--- +name: ghci +version: 9.2.8 +visibility: public +id: ghci-9.2.8 +key: ghci-9.2.8 +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 +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSghci-9.2.8 +depends: + array-0.5.4.0 base-4.16.4.0 binary-0.8.9.0 bytestring-0.11.4.0 + containers-0.6.5.1 deepseq-1.4.6.1 filepath-1.4.2.2 ghc-boot-9.2.8 + ghc-heap-9.2.8 ghc-prim-0.8.0 rts template-haskell-2.18.0.0 + transformers-0.5.6.2 unix-2.7.2.2 +haddock-interfaces: +haddock-html: +--- +name: haskeline +version: 0.8.2 +visibility: public +id: haskeline-0.8.2 +key: haskeline-0.8.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.Internal +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 +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HShaskeline-0.8.2 +depends: + base-4.16.4.0 bytestring-0.11.4.0 containers-0.6.5.1 + directory-1.3.6.2 exceptions-0.10.4 filepath-1.4.2.2 + process-1.6.16.0 stm-2.5.0.2 terminfo-0.4.1.5 transformers-0.5.6.2 + unix-2.7.2.2 +haddock-interfaces: +haddock-html: +--- +name: hpc +version: 0.6.1.0 +visibility: public +id: hpc-0.6.1.0 +key: hpc-0.6.1.0 +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 +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HShpc-0.6.1.0 +depends: + base-4.16.4.0 containers-0.6.5.1 deepseq-1.4.6.1 directory-1.3.6.2 + filepath-1.4.2.2 time-1.11.1.1 +haddock-interfaces: +haddock-html: +--- +name: integer-gmp +version: 1.1 +visibility: public +id: integer-gmp-1.1 +key: integer-gmp-1.1 +license: BSD-3-Clause +maintainer: hvr@gnu.org +author: Herbert Valerio Riedel +synopsis: Integer library based on GMP +description: + This package used to provide an implementation of the standard 'Integer' + type based on the + . + It is now deprecated in favor of the 'ghc-bignum' package. + Its purpose is to provide backward compatibility for codes directly + depending on the `integer-gmp` package. +category: Numeric, Algebra +exposed: True +exposed-modules: GHC.Integer.GMP.Internals +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSinteger-gmp-1.1 +depends: base-4.16.4.0 ghc-bignum-1.2 ghc-prim-0.8.0 +haddock-interfaces: +haddock-html: +--- +name: libiserv +version: 9.2.8 +visibility: public +id: libiserv-9.2.8 +key: libiserv-9.2.8 +license: BSD-3-Clause +copyright: XXX +maintainer: XXX +author: XXX +synopsis: + Provides shared functionality between iserv and iserv-proxy. +description: + Provides shared functionality between iserv and iserv-proxy. +category: Development +exposed: True +exposed-modules: GHCi.Utils Lib +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSlibiserv-9.2.8 +depends: + base-4.16.4.0 binary-0.8.9.0 bytestring-0.11.4.0 containers-0.6.5.1 + deepseq-1.4.6.1 ghci-9.2.8 unix-2.7.2.2 +haddock-interfaces: +haddock-html: +--- +name: mtl +version: 2.2.2 +visibility: public +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 +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSmtl-2.2.2 +depends: base-4.16.4.0 transformers-0.5.6.2 +haddock-interfaces: +haddock-html: +--- +name: parsec +version: 3.1.15.0 +visibility: public +id: parsec-3.1.15.0 +key: parsec-3.1.15.0 +license: BSD-2-Clause +maintainer: + Oleg Grenrus , 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 +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSparsec-3.1.15.0 +depends: + base-4.16.4.0 bytestring-0.11.4.0 mtl-2.2.2 text-1.2.5.0 +haddock-interfaces: +haddock-html: +--- +name: pretty +version: 1.1.3.6 +visibility: public +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 +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSpretty-1.1.3.6 +depends: base-4.16.4.0 deepseq-1.4.6.1 ghc-prim-0.8.0 +haddock-interfaces: +haddock-html: +--- +name: process +version: 1.6.16.0 +visibility: public +id: process-1.6.16.0 +key: process-1.6.16.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 +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSprocess-1.6.16.0 +include-dirs: +includes: runProcess.h +depends: + base-4.16.4.0 deepseq-1.4.6.1 directory-1.3.6.2 filepath-1.4.2.2 + unix-2.7.2.2 +haddock-interfaces: +haddock-html: +--- +name: stm +version: 2.5.0.2 +visibility: public +id: stm-2.5.0.2 +key: stm-2.5.0.2 +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 +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSstm-2.5.0.2 +depends: array-0.5.4.0 base-4.16.4.0 +haddock-interfaces: +haddock-html: +--- +name: template-haskell +version: 2.18.0.0 +visibility: public +id: template-haskell-2.18.0.0 +key: template-haskell-2.18.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.CodeDo + 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 +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HStemplate-haskell-2.18.0.0 +depends: + base-4.16.4.0 ghc-boot-th-9.2.8 ghc-prim-0.8.0 pretty-1.1.3.6 +haddock-interfaces: +haddock-html: +--- +name: terminfo +version: 0.4.1.5 +visibility: public +id: terminfo-0.4.1.5 +key: terminfo-0.4.1.5 +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 +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSterminfo-0.4.1.5 +extra-libraries: tinfo +depends: base-4.16.4.0 +haddock-interfaces: +haddock-html: +--- +name: text +version: 1.2.5.0 +visibility: public +id: text-1.2.5.0 +key: text-1.2.5.0 +license: BSD-2-Clause +copyright: 2009-2011 Bryan O'Sullivan, 2008-2009 Tom Harper +maintainer: + Haskell Text Team , Core Libraries Committee +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 + == ICU Support + 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/). + == Internal Representation: UTF-16 vs. UTF-8 + Currently the @text@ library uses UTF-16 as its internal representation + which is [neither a fixed-width nor always the most dense representation](http://utf8everywhere.org/) + for Unicode text. We're currently investigating the feasibility + of [changing Text's internal representation to UTF-8](https://github.com/text-utf8) + and if you need such a 'Text' type right now you might be interested in using the spin-off + packages and + . +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.ByteStringCompat + 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.PrimCompat 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 +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HStext-1.2.5.0 +depends: + array-0.5.4.0 base-4.16.4.0 binary-0.8.9.0 bytestring-0.11.4.0 + deepseq-1.4.6.1 ghc-prim-0.8.0 template-haskell-2.18.0.0 +haddock-interfaces: +haddock-html: +--- +name: time +version: 1.11.1.1 +visibility: public +id: time-1.11.1.1 +key: time-1.11.1.1 +license: BSD-3-Clause +maintainer: +author: Ashley Yakeley +stability: stable +homepage: https://github.com/haskell/time +synopsis: A time library +description: Time, clocks and calendars +category: Time +exposed: True +exposed-modules: + Data.Time Data.Time.Calendar Data.Time.Calendar.Easter + Data.Time.Calendar.Julian Data.Time.Calendar.Month + Data.Time.Calendar.MonthDay Data.Time.Calendar.OrdinalDate + Data.Time.Calendar.Quarter Data.Time.Calendar.WeekDate + Data.Time.Clock Data.Time.Clock.POSIX Data.Time.Clock.System + Data.Time.Clock.TAI Data.Time.Format Data.Time.Format.ISO8601 + Data.Time.Format.Internal Data.Time.LocalTime +hidden-modules: + Data.Format Data.Time.Calendar.Types Data.Time.Calendar.Private + Data.Time.Calendar.Days Data.Time.Calendar.Gregorian + Data.Time.Calendar.CalendarDiffDays Data.Time.Calendar.Week + 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.CalendarDiffTime + Data.Time.LocalTime.Internal.LocalTime + Data.Time.LocalTime.Internal.ZonedTime Data.Time.Format.Parse + Data.Time.Format.Locale Data.Time.Format.Format.Class + Data.Time.Format.Format.Instances Data.Time.Format.Parse.Class + Data.Time.Format.Parse.Instances +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HStime-1.11.1.1 +include-dirs: +depends: base-4.16.4.0 deepseq-1.4.6.1 +haddock-interfaces: +haddock-html: +--- +name: transformers +version: 0.5.6.2 +visibility: public +id: transformers-0.5.6.2 +key: transformers-0.5.6.2 +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.CPS 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.CPS + Control.Monad.Trans.Writer.Lazy Control.Monad.Trans.Writer.Strict + Data.Functor.Constant Data.Functor.Reverse +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HStransformers-0.5.6.2 +depends: base-4.16.4.0 +haddock-interfaces: +haddock-html: +--- +name: unix +version: 2.7.2.2 +visibility: public +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 +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSunix-2.7.2.2 +include-dirs: +includes: HsUnix.h execvpe.h +depends: base-4.16.4.0 bytestring-0.11.4.0 time-1.11.1.1 +haddock-interfaces: +haddock-html: +--- +name: xhtml +version: 3000.2.2.1 +visibility: public +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 +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSxhtml-3000.2.2.1 +depends: base-4.16.4.0 +haddock-interfaces: +haddock-html: +--- +name: rts +version: 1.0.2 +visibility: public +id: rts +key: rts +license: BSD-3-Clause +maintainer: glasgow-haskell-users@haskell.org +exposed: True +library-dirs: +hs-libraries: HSrts +extra-libraries: m dl ffi +include-dirs: +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_GHCziIOPort_doubleReadException_closure" + "-Wl,-u,_base_ControlziExceptionziBase_nonTermination_closure" + "-Wl,-u,_base_ControlziExceptionziBase_nestedAtomically_closure" + "-Wl,-u,_base_GHCziEventziThread_blockedOnBadFD_closure" + "-Wl,-u,_base_GHCziExceptionziType_divZZeroException_closure" + "-Wl,-u,_base_GHCziExceptionziType_underflowException_closure" + "-Wl,-u,_base_GHCziExceptionziType_overflowException_closure" + "-Wl,-u,_base_GHCziConcziSync_runSparks_closure" + "-Wl,-u,_base_GHCziConcziIO_ensureIOManagerIsRunning_closure" + "-Wl,-u,_base_GHCziConcziIO_interruptIOManager_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_xchg8" "-Wl,-u,_hs_xchg16" + "-Wl,-u,_hs_xchg32" "-Wl,-u,_hs_xchg64" "-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" + "-Wl,-U,___darwin_check_fd_set_overflow" diff --git a/materialized/nixpkgs/dummy-ghc/ghc-9.2.8-x86_64-darwin/ghc-pkg/version b/materialized/nixpkgs/dummy-ghc/ghc-9.2.8-x86_64-darwin/ghc-pkg/version new file mode 100644 index 0000000000..fdbd1af834 --- /dev/null +++ b/materialized/nixpkgs/dummy-ghc/ghc-9.2.8-x86_64-darwin/ghc-pkg/version @@ -0,0 +1 @@ +GHC package manager version 9.2.8 diff --git a/materialized/nixpkgs/dummy-ghc/ghc-9.2.8-x86_64-darwin/ghc/info b/materialized/nixpkgs/dummy-ghc/ghc-9.2.8-x86_64-darwin/ghc/info new file mode 100644 index 0000000000..6c24327075 --- /dev/null +++ b/materialized/nixpkgs/dummy-ghc/ghc-9.2.8-x86_64-darwin/ghc/info @@ -0,0 +1,64 @@ + [("Project name","The Glorious Glasgow Haskell Compilation System") + ,("GCC extra via C opts","") + ,("C compiler flags","--target=x86_64-apple-darwin ") + ,("C++ compiler flags","--target=x86_64-apple-darwin ") + ,("C compiler link flags","--target=x86_64-apple-darwin ") + ,("C compiler supports -no-pie","NO") + ,("Haskell CPP flags","-E -undef -traditional -Wno-invalid-pp-token -Wno-unicode -Wno-trigraphs") + ,("ld flags","") + ,("ld supports compact unwind","YES") + ,("ld supports build-id","NO") + ,("ld supports filelist","YES") + ,("ld is GNU ld","NO") + ,("Merge objects flags","-r") + ,("ar flags","qcls") + ,("ar supports at file","YES") + ,("touch command","touch") + ,("dllwrap command","/bin/false") + ,("windres command","/bin/false") + ,("libtool command","libtool") + ,("cross compiling","NO") + ,("target platform string","x86_64-apple-darwin") + ,("target os","OSDarwin") + ,("target arch","ArchX86_64") + ,("target word size","8") + ,("target word big endian","NO") + ,("target has GNU nonexec stack","NO") + ,("target has .ident directive","YES") + ,("target has subsections via symbols","YES") + ,("target has RTS linker","YES") + ,("Unregisterised","NO") + ,("LLVM target","x86_64-apple-darwin") + ,("LLVM llc command","llc") + ,("LLVM opt command","opt") + ,("LLVM clang command","clang") + ,("Use interpreter","YES") + ,("Support SMP","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 thr_debug_p debug_p") + ,("Tables next to code","YES") + ,("Leading underscore","YES") + ,("Use LibFFI","NO") + ,("RTS expects libdw","NO") + ,("Project version","9.2.8") + ,("Project Git commit id","dfa834627a94d98aaeddb0cb3a0cedca934d2814") + ,("Booter version","8.10.7") + ,("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") + ,("Target default backend","NCG") + ,("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") + ,("GHC Dynamic","YES") + ,("GHC Profiled","NO") + ,("Debug on","NO") + ] diff --git a/materialized/nixpkgs/dummy-ghc/ghc-9.2.8-x86_64-darwin/ghc/numeric-version b/materialized/nixpkgs/dummy-ghc/ghc-9.2.8-x86_64-darwin/ghc/numeric-version new file mode 100644 index 0000000000..08e647b0f9 --- /dev/null +++ b/materialized/nixpkgs/dummy-ghc/ghc-9.2.8-x86_64-darwin/ghc/numeric-version @@ -0,0 +1 @@ +9.2.8 diff --git a/materialized/nixpkgs/dummy-ghc/ghc-9.2.8-x86_64-darwin/ghc/supported-languages b/materialized/nixpkgs/dummy-ghc/ghc-9.2.8-x86_64-darwin/ghc/supported-languages new file mode 100644 index 0000000000..331def5550 --- /dev/null +++ b/materialized/nixpkgs/dummy-ghc/ghc-9.2.8-x86_64-darwin/ghc/supported-languages @@ -0,0 +1,268 @@ +Haskell98 +Haskell2010 +GHC2021 +Unsafe +Trustworthy +Safe +AllowAmbiguousTypes +NoAllowAmbiguousTypes +AlternativeLayoutRule +NoAlternativeLayoutRule +AlternativeLayoutRuleTransitional +NoAlternativeLayoutRuleTransitional +Arrows +NoArrows +AutoDeriveTypeable +NoAutoDeriveTypeable +BangPatterns +NoBangPatterns +BinaryLiterals +NoBinaryLiterals +CApiFFI +NoCApiFFI +CPP +NoCPP +CUSKs +NoCUSKs +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 +DerivingVia +NoDerivingVia +DisambiguateRecordFields +NoDisambiguateRecordFields +DoAndIfThenElse +NoDoAndIfThenElse +BlockArguments +NoBlockArguments +DoRec +NoDoRec +DuplicateRecordFields +NoDuplicateRecordFields +FieldSelectors +NoFieldSelectors +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 +GeneralisedNewtypeDeriving +NoGeneralisedNewtypeDeriving +ImplicitParams +NoImplicitParams +ImplicitPrelude +NoImplicitPrelude +ImportQualifiedPost +NoImportQualifiedPost +ImpredicativeTypes +NoImpredicativeTypes +IncoherentInstances +NoIncoherentInstances +TypeFamilyDependencies +NoTypeFamilyDependencies +InstanceSigs +NoInstanceSigs +ApplicativeDo +NoApplicativeDo +InterruptibleFFI +NoInterruptibleFFI +JavaScriptFFI +NoJavaScriptFFI +KindSignatures +NoKindSignatures +LambdaCase +NoLambdaCase +LexicalNegation +NoLexicalNegation +LiberalTypeSynonyms +NoLiberalTypeSynonyms +LinearTypes +NoLinearTypes +MagicHash +NoMagicHash +MonadComprehensions +NoMonadComprehensions +MonoLocalBinds +NoMonoLocalBinds +DeepSubsumption +NoDeepSubsumption +MonomorphismRestriction +NoMonomorphismRestriction +MultiParamTypeClasses +NoMultiParamTypeClasses +MultiWayIf +NoMultiWayIf +NumericUnderscores +NoNumericUnderscores +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 +QuantifiedConstraints +NoQuantifiedConstraints +PostfixOperators +NoPostfixOperators +QuasiQuotes +NoQuasiQuotes +QualifiedDo +NoQualifiedDo +Rank2Types +NoRank2Types +RankNTypes +NoRankNTypes +RebindableSyntax +NoRebindableSyntax +OverloadedRecordDot +NoOverloadedRecordDot +OverloadedRecordUpdate +NoOverloadedRecordUpdate +RecordPuns +NoRecordPuns +RecordWildCards +NoRecordWildCards +RecursiveDo +NoRecursiveDo +RelaxedLayout +NoRelaxedLayout +RelaxedPolyRec +NoRelaxedPolyRec +RoleAnnotations +NoRoleAnnotations +ScopedTypeVariables +NoScopedTypeVariables +StandaloneDeriving +NoStandaloneDeriving +StarIsType +NoStarIsType +StaticPointers +NoStaticPointers +Strict +NoStrict +StrictData +NoStrictData +TemplateHaskell +NoTemplateHaskell +TemplateHaskellQuotes +NoTemplateHaskellQuotes +StandaloneKindSignatures +NoStandaloneKindSignatures +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 +UnliftedDatatypes +NoUnliftedDatatypes +UnliftedFFITypes +NoUnliftedFFITypes +UnliftedNewtypes +NoUnliftedNewtypes +ViewPatterns +NoViewPatterns diff --git a/materialized/nixpkgs/dummy-ghc/ghc-9.2.8-x86_64-darwin/ghc/version b/materialized/nixpkgs/dummy-ghc/ghc-9.2.8-x86_64-darwin/ghc/version new file mode 100644 index 0000000000..11c5151b19 --- /dev/null +++ b/materialized/nixpkgs/dummy-ghc/ghc-9.2.8-x86_64-darwin/ghc/version @@ -0,0 +1 @@ +The Glorious Glasgow Haskell Compilation System, version 9.2.8 diff --git a/modules/cabal-project.nix b/modules/cabal-project.nix index 680187fd9a..3c789e553a 100644 --- a/modules/cabal-project.nix +++ b/modules/cabal-project.nix @@ -25,6 +25,8 @@ in { ghc92 = "ghc928"; ghc94 = "ghc945"; ghc96 = "ghc962"; + ghc980 = "ghc980${__substring 0 8 pkgs.haskell-nix.sources.ghc980.lastModifiedDate}"; + ghc99 = "ghc99${__substring 0 8 pkgs.haskell-nix.sources.ghc99.lastModifiedDate}"; }.${v} or v; }; compilerSelection = mkOption { diff --git a/modules/component-driver.nix b/modules/component-driver.nix index de21def99c..31dc97a3db 100644 --- a/modules/component-driver.nix +++ b/modules/component-driver.nix @@ -61,12 +61,12 @@ in ] # TODO make this unconditional ++ lib.optionals ( - __elem config.compiler.nix-name ["ghc901" "ghc902" "ghc921" "ghc922" "ghc923" "ghc924" "ghc925" "ghc926" "ghc927" "ghc928" "ghc941" "ghc942" "ghc943" "ghc944" "ghc945" "ghc961" "ghc962" "ghc96020230302" "ghc9820230704"]) + !__elem config.compiler.nix-name ["ghc865" "ghc881" "ghc882" "ghc883" "ghc884" "ghc8101" "ghc8102" "ghc8103" "ghc8104" "ghc8105" "ghc8106" "ghc8107"]) (["ghc-bignum"] # stm and exceptions are needed by the GHC package since 9.0.1 ++ lib.optionals (!config.reinstallableLibGhc) ["stm" "exceptions"]) ++ lib.optionals ( - __elem config.compiler.nix-name ["ghc925" "ghc926" "ghc927" "ghc928" "ghc941" "ghc942" "ghc943" "ghc944" "ghc945" "ghc961" "ghc962" "ghc96020230302" "ghc9820230704"]) [ + !__elem config.compiler.nix-name ["ghc865" "ghc881" "ghc882" "ghc883" "ghc884" "ghc8101" "ghc8102" "ghc8103" "ghc8104" "ghc8105" "ghc8106" "ghc8107" "ghc901" "ghc902"]) [ "system-cxx-std-lib" ] ++ lib.optionals (!config.reinstallableLibGhc) [ "ghc-boot" @@ -91,10 +91,10 @@ in "ghcjs-prim" ] ++ lib.optional (!config.reinstallableLibGhc) "ghc" ++ lib.optionals ( - __elem config.compiler.nix-name ["ghc901" "ghc902" "ghc921" "ghc922" "ghc923" "ghc924" "ghc925" "ghc926" "ghc927" "ghc928" "ghc941" "ghc942" "ghc943" "ghc944" "ghc945" "ghc961" "ghc962" "ghc96020230302" "ghc9820230704"]) [ + !__elem config.compiler.nix-name ["ghc865" "ghc881" "ghc882" "ghc883" "ghc884" "ghc8101" "ghc8102" "ghc8103" "ghc8104" "ghc8105" "ghc8106" "ghc8107"]) [ "ghc-bignum" ] ++ lib.optionals ( - __elem config.compiler.nix-name ["ghc941" "ghc942" "ghc943" "ghc944" "ghc945" "ghc961" "ghc962" "ghc96020230302" "ghc9820230704"]) [ + !__elem config.compiler.nix-name ["ghc865" "ghc881" "ghc882" "ghc883" "ghc884" "ghc8101" "ghc8102" "ghc8103" "ghc8104" "ghc8105" "ghc8106" "ghc8107" "ghc901" "ghc902"]) [ "system-cxx-std-lib" ]; options.hsPkgs = lib.mkOption { diff --git a/overlays/bootstrap.nix b/overlays/bootstrap.nix index 9c18aa43e5..d3012ae65a 100644 --- a/overlays/bootstrap.nix +++ b/overlays/bootstrap.nix @@ -920,7 +920,43 @@ in { # Avoid clashes with normal ghc8104 ghc-version = "8.10.4.20210212"; }; - } // final.lib.optionalAttrs (final.stdenv.targetPlatform.isGhcjs or false) ( + } // (__listToAttrs (final.lib.mapAttrsToList (source-name: ver: + let + src = final.haskell-nix.sources.${source-name}; + version-date = __substring 0 8 src.lastModifiedDate; + compiler-nix-name = "${source-name}${version-date}"; + version = "${ver}.${version-date}"; + in { + name = compiler-nix-name; + value = final.callPackage ../compiler/ghc { + extra-passthru = { buildGHC = final.buildPackages.haskell-nix.compiler.${compiler-nix-name}; }; + + bootPkgs = bootPkgsGhc94 // { + ghc = if final.stdenv.buildPlatform != final.stdenv.targetPlatform + then final.buildPackages.buildPackages.haskell-nix.compiler.ghc962 + else final.buildPackages.buildPackages.haskell.compiler.ghc962 + or final.buildPackages.buildPackages.haskell.compiler.ghc945 + or final.buildPackages.buildPackages.haskell.compiler.ghc944 + or final.buildPackages.buildPackages.haskell.compiler.ghc943; + }; + inherit sphinx; + + buildLlvmPackages = final.buildPackages.llvmPackages_12; + llvmPackages = final.llvmPackages_12; + + src-spec.file = src; + src-spec.version = version; + src-spec.needsBooting = true; + + ghc-patches = ghc-patches version; + ghc-version-date = version-date; + ghc-commit-id = src.rev; + }; + }) { + ghc980 = "9.8.0"; + ghc99 = "9.9"; + })) + // final.lib.optionalAttrs (final.stdenv.targetPlatform.isGhcjs or false) ( if final.stdenv.hostPlatform.isGhcjs then throw "An attempt was made to build ghcjs with ghcjs (perhaps use `buildPackages` when refering to ghc)" else diff --git a/overlays/default-setup.nix b/overlays/default-setup.nix index 378fde3d41..0b9b8bb384 100644 --- a/overlays/default-setup.nix +++ b/overlays/default-setup.nix @@ -93,6 +93,9 @@ let # to build itself would cause infinite recursion. defaultSetupFor = packageName: if + # Cabal that comes with GHC 9.8 is newer than cabal-install + __compareVersions ghc.version "9.8" < 0 + && ( # `cabalFromCabalInstall` is not cross compiled final.stdenv.buildPlatform != final.stdenv.hostPlatform || @@ -101,6 +104,7 @@ let ["alex" "happy" "hscolour" "Cabal" "Cabal-syntax" "bytestring" "time" "filepath" "base-compat-batteries" "base-compat" "unix" "directory" "transformers" "containers" "binary" "mtl" "text" "process" "parsec" "stm" "exceptions"] + ) then defaultSetup.useCabalFromCabalInstall else defaultSetup.useCabalFromGHC; }; From 05397164c858d12b8ff09a9788a510121595e861 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Wed, 9 Aug 2023 15:42:16 +1200 Subject: [PATCH 002/117] Use gitlab for ghc --- flake.lock | 24 ++++++++++++------------ flake.nix | 4 ++-- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/flake.lock b/flake.lock index cd27b07381..dbbe0672ce 100644 --- a/flake.lock +++ b/flake.lock @@ -136,38 +136,38 @@ "ghc980": { "flake": false, "locked": { - "lastModified": 1690479793, - "narHash": "sha256-m6/WcPqFhsH3nYYimdBJFDyhHWRwEs37iEP8Hvpt5xk=", + "lastModified": 1691513927, + "narHash": "sha256-G6rZnemarndDk3Zt2Z2ZWvDKNSW3LTN2dReF8iQN0Nc=", "ref": "ghc-9.8", - "rev": "62cb821ef2ef0d47c4cf88a6f2aeb7f75106d361", - "revCount": 61521, + "rev": "fc09110bf5e2e3ee34df8ba277e920e0783d3b31", + "revCount": 61544, "submodules": true, "type": "git", - "url": "https://github.com/ghc/ghc" + "url": "https://gitlab.haskell.org/ghc/ghc" }, "original": { "ref": "ghc-9.8", "submodules": true, "type": "git", - "url": "https://github.com/ghc/ghc" + "url": "https://gitlab.haskell.org/ghc/ghc" } }, "ghc99": { "flake": false, "locked": { - "lastModified": 1691477269, - "narHash": "sha256-gUdkzIEoV1D0E1Bz9mdsDRqJRddC3OO7+M9HFUTrzZQ=", + "lastModified": 1691544490, + "narHash": "sha256-Hu8osxL6Ueq98Ix6PQ7VYYZIhxm7sX51WKlYMRgJgJ0=", "ref": "refs/heads/master", - "rev": "3b373838e08e2e2b43fab9f0a008fb60325d31e0", - "revCount": 61713, + "rev": "6eab07b26ee46813683a8409871132d740805ec6", + "revCount": 61716, "submodules": true, "type": "git", - "url": "https://github.com/ghc/ghc" + "url": "https://gitlab.haskell.org/ghc/ghc" }, "original": { "submodules": true, "type": "git", - "url": "https://github.com/ghc/ghc" + "url": "https://gitlab.haskell.org/ghc/ghc" } }, "hackage": { diff --git a/flake.nix b/flake.nix index 230d186e30..c3c35620bc 100644 --- a/flake.nix +++ b/flake.nix @@ -12,11 +12,11 @@ nixpkgs-unstable = { url = "github:NixOS/nixpkgs/nixpkgs-unstable"; }; ghc980 = { flake = false; - url = "git+https://github.com/ghc/ghc?ref=ghc-9.8&submodules=1"; + url = "git+https://gitlab.haskell.org/ghc/ghc?ref=ghc-9.8&submodules=1"; }; ghc99 = { flake = false; - url = "git+https://github.com/ghc/ghc?submodules=1"; + url = "git+https://gitlab.haskell.org/ghc/ghc?submodules=1"; }; flake-compat = { url = "github:input-output-hk/flake-compat/hkm/gitlab-fix"; flake = false; }; flake-utils = { url = "github:hamishmack/flake-utils/hkm/nested-hydraJobs"; }; From f61c8df9571f9b8f20f047611e58d9ca41d78ddb Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Wed, 9 Aug 2023 15:59:36 +1200 Subject: [PATCH 003/117] Avoid restricted eval issue --- overlays/default.nix | 2 ++ overlays/fetch-source.nix | 47 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 49 insertions(+) create mode 100644 overlays/fetch-source.nix diff --git a/overlays/default.nix b/overlays/default.nix index 59ce26c2d0..dedbfdf8a8 100644 --- a/overlays/default.nix +++ b/overlays/default.nix @@ -25,6 +25,7 @@ let cacheCompilerDeps = import ./cache-compiler-deps.nix; default-setup = import ./default-setup.nix; dummy-ghc-data = import ./dummy-ghc-data.nix; + fetch-source = import ./fetch-source.nix; }; composeExtensions = f: g: final: prev: @@ -64,6 +65,7 @@ let dummy-ghc-data cacheCompilerDeps default-setup + fetch-source ]; combined = builtins.foldl' composeExtensions (_: _: { }) ordered; in overlays // { inherit combined; } diff --git a/overlays/fetch-source.nix b/overlays/fetch-source.nix new file mode 100644 index 0000000000..6b3ca0d3fa --- /dev/null +++ b/overlays/fetch-source.nix @@ -0,0 +1,47 @@ +final: prev: +let + lockFile = builtins.fromJSON (builtins.readFile ../flake.lock); + # Courtesy of `flake-compat` + # Format number of seconds in the Unix epoch as %Y%m%d%H%M%S. + formatSecondsSinceEpoch = t: + let + rem = x: y: x - x / y * y; + days = t / 86400; + secondsInDay = rem t 86400; + hours = secondsInDay / 3600; + minutes = (rem secondsInDay 3600) / 60; + seconds = rem t 60; + + # Courtesy of https://stackoverflow.com/a/32158604. + z = days + 719468; + era = (if z >= 0 then z else z - 146096) / 146097; + doe = z - era * 146097; + yoe = (doe - doe / 1460 + doe / 36524 - doe / 146096) / 365; + y = yoe + era * 400; + doy = doe - (365 * yoe + yoe / 4 - yoe / 100); + mp = (5 * doy + 2) / 153; + d = doy - (153 * mp + 2) / 5 + 1; + m = mp + (if mp < 10 then 3 else -9); + y' = y + (if m <= 2 then 1 else 0); + + pad = s: if builtins.stringLength s < 2 then "0" + s else s; + in "${toString y'}${pad (toString m)}${pad (toString d)}${pad (toString hours)}${pad (toString minutes)}${pad (toString seconds)}"; +in { + haskell-nix = prev.haskell-nix // { + sources = prev.haskell-nix.sources // builtins.listToAttrs (map (name: { + inherit name; + value = final.fetchFromGitLab { + domain = "gitlab.haskell.org"; + owner = "ghc"; + repo = "ghc"; + fetchSubmodules = true; + inherit (lockFile.nodes.${name}.locked) rev; + sha256 = lockFile.nodes.${name}.locked.narHash; + # rev = "62cb821ef2ef0d47c4cf88a6f2aeb7f75106d361"; + # sha256 = "sha256-m6/WcPqFhsH3nYYimdBJFDyhHWRwEs37iEP8Hvpt5xk="; + } // { + lastModifiedDate = formatSecondsSinceEpoch lockFile.nodes.${name}.locked.lastModified; + }; + }) ["ghc980" "ghc99"]); + }; +} From 1380ce4caa334f7ffaaf80c397cc9031a4948b60 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Wed, 9 Aug 2023 16:03:47 +1200 Subject: [PATCH 004/117] Remove forced check --- lib/make-dummy-ghc-data.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/make-dummy-ghc-data.nix b/lib/make-dummy-ghc-data.nix index 669cafd45d..0ddd4ef44c 100644 --- a/lib/make-dummy-ghc-data.nix +++ b/lib/make-dummy-ghc-data.nix @@ -35,7 +35,7 @@ let reasonNotSafe = null; } // pkgs.lib.optionalAttrs (checkMaterialization != null) { inherit checkMaterialization; - } // { checkMaterialization = true; }) ( + }) ( runCommand ("dummy-data-" + ghc.name) { nativeBuildInputs = [ ghc ]; } '' From 0c4fddeaa6246c5efc34e9ac966c958b0f2d3a64 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Wed, 9 Aug 2023 16:55:06 +1200 Subject: [PATCH 005/117] Add materialization --- .../ghc-pkg/dump-global | 1833 +++++++++++++++++ .../ghc-9.2.8-aarch64-linux/ghc-pkg/version | 1 + .../ghc-9.2.8-aarch64-linux/ghc/info | 64 + .../ghc/numeric-version | 1 + .../ghc/supported-languages | 268 +++ .../ghc-9.2.8-aarch64-linux/ghc/version | 1 + .../ghc-pkg/dump-global | 1833 +++++++++++++++++ .../ghc-9.2.8-x86_64-linux/ghc-pkg/version | 1 + .../dummy-ghc/ghc-9.2.8-x86_64-linux/ghc/info | 66 + .../ghc/numeric-version | 1 + .../ghc/supported-languages | 268 +++ .../ghc-9.2.8-x86_64-linux/ghc/version | 1 + 12 files changed, 4338 insertions(+) create mode 100644 materialized/nixpkgs/dummy-ghc/ghc-9.2.8-aarch64-linux/ghc-pkg/dump-global create mode 100644 materialized/nixpkgs/dummy-ghc/ghc-9.2.8-aarch64-linux/ghc-pkg/version create mode 100644 materialized/nixpkgs/dummy-ghc/ghc-9.2.8-aarch64-linux/ghc/info create mode 100644 materialized/nixpkgs/dummy-ghc/ghc-9.2.8-aarch64-linux/ghc/numeric-version create mode 100644 materialized/nixpkgs/dummy-ghc/ghc-9.2.8-aarch64-linux/ghc/supported-languages create mode 100644 materialized/nixpkgs/dummy-ghc/ghc-9.2.8-aarch64-linux/ghc/version create mode 100644 materialized/nixpkgs/dummy-ghc/ghc-9.2.8-x86_64-linux/ghc-pkg/dump-global create mode 100644 materialized/nixpkgs/dummy-ghc/ghc-9.2.8-x86_64-linux/ghc-pkg/version create mode 100644 materialized/nixpkgs/dummy-ghc/ghc-9.2.8-x86_64-linux/ghc/info create mode 100644 materialized/nixpkgs/dummy-ghc/ghc-9.2.8-x86_64-linux/ghc/numeric-version create mode 100644 materialized/nixpkgs/dummy-ghc/ghc-9.2.8-x86_64-linux/ghc/supported-languages create mode 100644 materialized/nixpkgs/dummy-ghc/ghc-9.2.8-x86_64-linux/ghc/version diff --git a/materialized/nixpkgs/dummy-ghc/ghc-9.2.8-aarch64-linux/ghc-pkg/dump-global b/materialized/nixpkgs/dummy-ghc/ghc-9.2.8-aarch64-linux/ghc-pkg/dump-global new file mode 100644 index 0000000000..134c3c2e8f --- /dev/null +++ b/materialized/nixpkgs/dummy-ghc/ghc-9.2.8-aarch64-linux/ghc-pkg/dump-global @@ -0,0 +1,1833 @@ +name: Cabal +version: 3.6.3.0 +visibility: public +id: Cabal-3.6.3.0 +key: Cabal-3.6.3.0 +license: BSD-3-Clause +copyright: 2003-2021, 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.FilePath + Distribution.Compat.Graph Distribution.Compat.Internal.TempFile + Distribution.Compat.Lens Distribution.Compat.Newtype + Distribution.Compat.NonEmptySet Distribution.Compat.Parsing + Distribution.Compat.Prelude.Internal Distribution.Compat.Process + Distribution.Compat.ResponseFile Distribution.Compat.Semigroup + Distribution.Compat.Stack Distribution.Compat.Time + Distribution.Compat.Typeable Distribution.Compiler + Distribution.FieldGrammar Distribution.FieldGrammar.Class + Distribution.FieldGrammar.FieldDescrs + Distribution.FieldGrammar.Newtypes Distribution.FieldGrammar.Parsec + Distribution.FieldGrammar.Pretty Distribution.Fields + Distribution.Fields.ConfVar Distribution.Fields.Field + Distribution.Fields.Lexer Distribution.Fields.LexerMonad + Distribution.Fields.ParseResult Distribution.Fields.Parser + Distribution.Fields.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.Parsec + Distribution.Parsec.Error Distribution.Parsec.FieldLineStream + Distribution.Parsec.Position Distribution.Parsec.Warning + Distribution.Pretty Distribution.ReadE Distribution.SPDX + Distribution.SPDX.License Distribution.SPDX.LicenseExceptionId + Distribution.SPDX.LicenseExpression Distribution.SPDX.LicenseId + Distribution.SPDX.LicenseListVersion + 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.Flag + Distribution.Simple.GHC Distribution.Simple.GHCJS + Distribution.Simple.Glob Distribution.Simple.Haddock + Distribution.Simple.HaskellSuite Distribution.Simple.Hpc + Distribution.Simple.Install Distribution.Simple.InstallDirs + Distribution.Simple.InstallDirs.Internal + 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.ShowBuildInfo 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.ConfVar Distribution.Types.Dependency + Distribution.Types.DependencyMap Distribution.Types.ExeDependency + Distribution.Types.Executable Distribution.Types.Executable.Lens + Distribution.Types.ExecutableScope Distribution.Types.ExposedModule + Distribution.Types.Flag Distribution.Types.ForeignLib + Distribution.Types.ForeignLib.Lens + Distribution.Types.ForeignLibOption + Distribution.Types.ForeignLibType + Distribution.Types.GenericPackageDescription + Distribution.Types.GenericPackageDescription.Lens + Distribution.Types.GivenComponent + 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.LibraryName Distribution.Types.LibraryVisibility + 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.PackageName.Magic + Distribution.Types.PackageVersionConstraint + Distribution.Types.PkgconfigDependency + Distribution.Types.PkgconfigName + Distribution.Types.PkgconfigVersion + Distribution.Types.PkgconfigVersionRange + 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.VersionInterval.Legacy + Distribution.Types.VersionRange + Distribution.Types.VersionRange.Internal Distribution.Utils.Generic + Distribution.Utils.IOData Distribution.Utils.LogProgress + Distribution.Utils.MD5 Distribution.Utils.MapAccum + Distribution.Utils.NubList Distribution.Utils.Path + Distribution.Utils.Progress Distribution.Utils.ShortText + Distribution.Utils.Structured Distribution.Verbosity + Distribution.Verbosity.Internal 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.Async + Distribution.Compat.CopyFile Distribution.Compat.GetShortPathName + Distribution.Compat.MonadFail Distribution.Compat.Prelude + Distribution.Compat.SnocList Distribution.GetOpt Distribution.Lex + Distribution.Utils.String Distribution.Simple.Build.Macros.Z + Distribution.Simple.Build.PathsModule.Z + Distribution.Simple.GHC.EnvironmentParser + Distribution.Simple.GHC.Internal Distribution.Simple.GHC.ImplInfo + Distribution.Simple.Utils.Json Distribution.ZinzaPrelude + Paths_Cabal +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSCabal-3.6.3.0 +depends: + array-0.5.4.0 base-4.16.4.0 binary-0.8.9.0 bytestring-0.11.4.0 + containers-0.6.5.1 deepseq-1.4.6.1 directory-1.3.6.2 + filepath-1.4.2.2 mtl-2.2.2 parsec-3.1.15.0 pretty-1.1.3.6 + process-1.6.16.0 text-1.2.5.0 time-1.11.1.1 transformers-0.5.6.2 + unix-2.7.2.2 +haddock-interfaces: +haddock-html: +--- +name: array +version: 0.5.4.0 +visibility: public +id: array-0.5.4.0 +key: array-0.5.4.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 +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSarray-0.5.4.0 +depends: base-4.16.4.0 +haddock-interfaces: +haddock-html: +--- +name: base +version: 4.16.4.0 +visibility: public +id: base-4.16.4.0 +key: base-4.16.4.0 +license: BSD-3-Clause +maintainer: libraries@haskell.org +synopsis: Basic libraries +description: + This package contains the Standard Haskell "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.Contravariant, + 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.Type.Ord, 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.Bits, + 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.Event.TimeOut, GHC.Exception, GHC.Exception.Type, + 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.GHCi.Helpers, 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.StdHandles, + GHC.IO.SubSystem, GHC.IO.Unsafe, GHC.IOArray, GHC.IOPort, + GHC.IORef, GHC.Int, GHC.Integer, GHC.Integer.Logarithms, GHC.Ix, + GHC.List, GHC.MVar, GHC.Maybe, GHC.Natural, GHC.Num, + GHC.Num.BigNat from ghc-bignum-1.2:GHC.Num.BigNat, + GHC.Num.Integer from ghc-bignum-1.2:GHC.Num.Integer, + GHC.Num.Natural from ghc-bignum-1.2:GHC.Num.Natural, GHC.OldList, + GHC.OverloadedLabels, GHC.Pack, GHC.Profiling, GHC.Ptr, + GHC.RTS.Flags, GHC.Read, GHC.Real, GHC.Records, GHC.ResponseFile, + GHC.ST, GHC.STRef, GHC.Show, GHC.Stable, GHC.StableName, GHC.Stack, + GHC.Stack.CCS, GHC.Stack.Types, GHC.StaticPtr, GHC.Stats, + GHC.Storable, GHC.TopHandler, GHC.TypeLits, GHC.TypeLits.Internal, + GHC.TypeNats, GHC.TypeNats.Internal, 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.IO.Handle.Lock.Common + GHC.IO.Handle.Lock.Flock GHC.IO.Handle.Lock.LinuxOFD + GHC.IO.Handle.Lock.NoOp GHC.IO.Handle.Lock.Windows + GHC.StaticPtr.Internal GHC.Event.Arr GHC.Event.Array + GHC.Event.Internal GHC.Event.Internal.Types GHC.Event.IntTable + GHC.Event.IntVar GHC.Event.PSQ GHC.Event.Unique + System.Environment.ExecutablePath System.CPUTime.Utils + GHC.Event.Control GHC.Event.EPoll GHC.Event.KQueue + GHC.Event.Manager GHC.Event.Poll GHC.Event.Thread + GHC.Event.TimerManager System.CPUTime.Posix.ClockGetTime + System.CPUTime.Posix.Times System.CPUTime.Posix.RUsage + System.CPUTime.Unsupported +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSbase-4.16.4.0 +include-dirs: +includes: HsBase.h +depends: ghc-bignum-1.2 ghc-prim-0.8.0 rts +haddock-interfaces: +haddock-html: +--- +name: binary +version: 0.8.9.0 +visibility: public +id: binary-0.8.9.0 +key: binary-0.8.9.0 +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 +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSbinary-0.8.9.0 +depends: + array-0.5.4.0 base-4.16.4.0 bytestring-0.11.4.0 containers-0.6.5.1 +haddock-interfaces: +haddock-html: +--- +name: bytestring +version: 0.11.4.0 +visibility: public +id: bytestring-0.11.4.0 +key: bytestring-0.11.4.0 +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: + Haskell Bytestring Team , Core Libraries Committee +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 be converted to or from a 'ByteString'. 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.Builder.RealFloat Data.ByteString.Char8 + Data.ByteString.Internal Data.ByteString.Lazy + 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.ASCII + Data.ByteString.Builder.Prim.Binary + Data.ByteString.Builder.Prim.Internal.Base16 + Data.ByteString.Builder.Prim.Internal.Floating + Data.ByteString.Builder.RealFloat.F2S + Data.ByteString.Builder.RealFloat.D2S + Data.ByteString.Builder.RealFloat.Internal + Data.ByteString.Builder.RealFloat.TableGenerator + Data.ByteString.Internal.Type Data.ByteString.Lazy.Internal.Deque +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSbytestring-0.11.4.0 +include-dirs: +includes: fpstring.h +depends: + base-4.16.4.0 deepseq-1.4.6.1 ghc-prim-0.8.0 + template-haskell-2.18.0.0 +haddock-interfaces: +haddock-html: +--- +name: containers +version: 0.6.5.1 +visibility: public +id: containers-0.6.5.1 +key: containers-0.6.5.1 +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.Containers.ListUtils 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.IntMap.Strict.Internal Data.IntSet Data.IntSet.Internal + Data.Map Data.Map.Internal Data.Map.Internal.Debug Data.Map.Lazy + Data.Map.Merge.Lazy Data.Map.Merge.Strict Data.Map.Strict + Data.Map.Strict.Internal 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.StrictMaybe + Utils.Containers.Internal.PtrEquality + Utils.Containers.Internal.Coercions + Utils.Containers.Internal.TypeError + Data.Map.Internal.DeprecatedShowTree + Data.IntMap.Internal.DeprecatedDebug +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HScontainers-0.6.5.1 +depends: array-0.5.4.0 base-4.16.4.0 deepseq-1.4.6.1 +haddock-interfaces: +haddock-html: +--- +name: deepseq +version: 1.4.6.1 +visibility: public +id: deepseq-1.4.6.1 +key: deepseq-1.4.6.1 +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. See module documentation in "Control.DeepSeq" for more + details. +category: Control +exposed: True +exposed-modules: Control.DeepSeq +hidden-modules: Control.DeepSeq.BackDoor +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSdeepseq-1.4.6.1 +depends: array-0.5.4.0 base-4.16.4.0 +haddock-interfaces: +haddock-html: +--- +name: directory +version: 1.3.6.2 +visibility: public +id: directory-1.3.6.2 +key: directory-1.3.6.2 +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 +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSdirectory-1.3.6.2 +depends: + base-4.16.4.0 filepath-1.4.2.2 time-1.11.1.1 unix-2.7.2.2 +haddock-interfaces: +haddock-html: +--- +name: exceptions +version: 0.10.4 +visibility: public +id: exceptions-0.10.4 +key: exceptions-0.10.4 +license: BSD-3-Clause +copyright: + Copyright (C) 2013-2015 Edward A. Kmett + Copyright (C) 2012 Google Inc. +maintainer: Edward A. Kmett +author: Edward A. Kmett +stability: provisional +homepage: http://github.com/ekmett/exceptions/ +synopsis: Extensible optionally-pure exceptions +description: Extensible optionally-pure exceptions. +category: Control, Exceptions, Monad +exposed: True +exposed-modules: Control.Monad.Catch Control.Monad.Catch.Pure +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSexceptions-0.10.4 +depends: + base-4.16.4.0 mtl-2.2.2 stm-2.5.0.2 template-haskell-2.18.0.0 + transformers-0.5.6.2 +haddock-interfaces: +haddock-html: +--- +name: filepath +version: 1.4.2.2 +visibility: public +id: filepath-1.4.2.2 +key: filepath-1.4.2.2 +license: BSD-3-Clause +copyright: Neil Mitchell 2005-2020 +maintainer: Julian Ospald +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 +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSfilepath-1.4.2.2 +depends: base-4.16.4.0 +haddock-interfaces: +haddock-html: +--- +name: ghc +version: 9.2.8 +visibility: public +id: ghc-9.2.8 +key: ghc-9.2.8 +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. + See + for more information. +category: Development +exposed-modules: + GHC, GHC.Builtin.Names, GHC.Builtin.Names.TH, GHC.Builtin.PrimOps, + GHC.Builtin.Types, GHC.Builtin.Types.Literals, + GHC.Builtin.Types.Prim, GHC.Builtin.Uniques, GHC.Builtin.Utils, + GHC.ByteCode.Asm, GHC.ByteCode.InfoTable, GHC.ByteCode.Instr, + GHC.ByteCode.Linker, GHC.ByteCode.Types, GHC.Cmm, GHC.Cmm.BlockId, + GHC.Cmm.CLabel, GHC.Cmm.CallConv, GHC.Cmm.CommonBlockElim, + GHC.Cmm.ContFlowOpt, GHC.Cmm.Dataflow, GHC.Cmm.Dataflow.Block, + GHC.Cmm.Dataflow.Collections, GHC.Cmm.Dataflow.Graph, + GHC.Cmm.Dataflow.Label, GHC.Cmm.DebugBlock, GHC.Cmm.Expr, + GHC.Cmm.Graph, GHC.Cmm.Info, GHC.Cmm.Info.Build, GHC.Cmm.LRegSet, + GHC.Cmm.LayoutStack, GHC.Cmm.Lexer, GHC.Cmm.Lint, GHC.Cmm.Liveness, + GHC.Cmm.MachOp, GHC.Cmm.Node, GHC.Cmm.Opt, GHC.Cmm.Parser, + GHC.Cmm.Parser.Monad, GHC.Cmm.Pipeline, GHC.Cmm.Ppr, + GHC.Cmm.Ppr.Decl, GHC.Cmm.Ppr.Expr, GHC.Cmm.ProcPoint, + GHC.Cmm.Sink, GHC.Cmm.Switch, GHC.Cmm.Switch.Implement, + GHC.Cmm.Type, GHC.Cmm.Utils, GHC.CmmToAsm, GHC.CmmToAsm.AArch64, + GHC.CmmToAsm.AArch64.CodeGen, GHC.CmmToAsm.AArch64.Cond, + GHC.CmmToAsm.AArch64.Instr, GHC.CmmToAsm.AArch64.Ppr, + GHC.CmmToAsm.AArch64.RegInfo, GHC.CmmToAsm.AArch64.Regs, + GHC.CmmToAsm.BlockLayout, GHC.CmmToAsm.CFG, + GHC.CmmToAsm.CFG.Dominators, GHC.CmmToAsm.CFG.Weight, + GHC.CmmToAsm.CPrim, GHC.CmmToAsm.Config, GHC.CmmToAsm.Dwarf, + GHC.CmmToAsm.Dwarf.Constants, GHC.CmmToAsm.Dwarf.Types, + GHC.CmmToAsm.Format, GHC.CmmToAsm.Instr, GHC.CmmToAsm.Monad, + GHC.CmmToAsm.PIC, GHC.CmmToAsm.PPC, GHC.CmmToAsm.PPC.CodeGen, + GHC.CmmToAsm.PPC.Cond, GHC.CmmToAsm.PPC.Instr, + GHC.CmmToAsm.PPC.Ppr, GHC.CmmToAsm.PPC.RegInfo, + GHC.CmmToAsm.PPC.Regs, GHC.CmmToAsm.Ppr, GHC.CmmToAsm.Reg.Graph, + GHC.CmmToAsm.Reg.Graph.Base, GHC.CmmToAsm.Reg.Graph.Coalesce, + GHC.CmmToAsm.Reg.Graph.Spill, GHC.CmmToAsm.Reg.Graph.SpillClean, + GHC.CmmToAsm.Reg.Graph.SpillCost, GHC.CmmToAsm.Reg.Graph.Stats, + GHC.CmmToAsm.Reg.Graph.TrivColorable, GHC.CmmToAsm.Reg.Graph.X86, + GHC.CmmToAsm.Reg.Linear, GHC.CmmToAsm.Reg.Linear.AArch64, + GHC.CmmToAsm.Reg.Linear.Base, GHC.CmmToAsm.Reg.Linear.FreeRegs, + GHC.CmmToAsm.Reg.Linear.JoinToTargets, GHC.CmmToAsm.Reg.Linear.PPC, + GHC.CmmToAsm.Reg.Linear.SPARC, GHC.CmmToAsm.Reg.Linear.StackMap, + GHC.CmmToAsm.Reg.Linear.State, GHC.CmmToAsm.Reg.Linear.Stats, + GHC.CmmToAsm.Reg.Linear.X86, GHC.CmmToAsm.Reg.Linear.X86_64, + GHC.CmmToAsm.Reg.Liveness, GHC.CmmToAsm.Reg.Target, + GHC.CmmToAsm.Reg.Utils, GHC.CmmToAsm.SPARC, + GHC.CmmToAsm.SPARC.AddrMode, GHC.CmmToAsm.SPARC.Base, + GHC.CmmToAsm.SPARC.CodeGen, GHC.CmmToAsm.SPARC.CodeGen.Amode, + GHC.CmmToAsm.SPARC.CodeGen.Base, + GHC.CmmToAsm.SPARC.CodeGen.CondCode, + GHC.CmmToAsm.SPARC.CodeGen.Expand, + GHC.CmmToAsm.SPARC.CodeGen.Gen32, GHC.CmmToAsm.SPARC.CodeGen.Gen64, + GHC.CmmToAsm.SPARC.CodeGen.Sanity, GHC.CmmToAsm.SPARC.Cond, + GHC.CmmToAsm.SPARC.Imm, GHC.CmmToAsm.SPARC.Instr, + GHC.CmmToAsm.SPARC.Ppr, GHC.CmmToAsm.SPARC.Regs, + GHC.CmmToAsm.SPARC.ShortcutJump, GHC.CmmToAsm.SPARC.Stack, + GHC.CmmToAsm.Types, GHC.CmmToAsm.Utils, GHC.CmmToAsm.X86, + GHC.CmmToAsm.X86.CodeGen, GHC.CmmToAsm.X86.Cond, + GHC.CmmToAsm.X86.Instr, GHC.CmmToAsm.X86.Ppr, + GHC.CmmToAsm.X86.RegInfo, GHC.CmmToAsm.X86.Regs, GHC.CmmToC, + GHC.CmmToLlvm, GHC.CmmToLlvm.Base, GHC.CmmToLlvm.CodeGen, + GHC.CmmToLlvm.Data, GHC.CmmToLlvm.Mangler, GHC.CmmToLlvm.Ppr, + GHC.CmmToLlvm.Regs, GHC.Core, GHC.Core.Class, GHC.Core.Coercion, + GHC.Core.Coercion.Axiom, GHC.Core.Coercion.Opt, GHC.Core.ConLike, + GHC.Core.DataCon, GHC.Core.FVs, GHC.Core.FamInstEnv, + GHC.Core.InstEnv, GHC.Core.Lint, GHC.Core.Make, GHC.Core.Map.Expr, + GHC.Core.Map.Type, GHC.Core.Multiplicity, GHC.Core.Opt.Arity, + GHC.Core.Opt.CSE, GHC.Core.Opt.CallArity, GHC.Core.Opt.CallerCC, + GHC.Core.Opt.ConstantFold, GHC.Core.Opt.CprAnal, + GHC.Core.Opt.DmdAnal, GHC.Core.Opt.Exitify, GHC.Core.Opt.FloatIn, + GHC.Core.Opt.FloatOut, GHC.Core.Opt.LiberateCase, + GHC.Core.Opt.Monad, GHC.Core.Opt.OccurAnal, GHC.Core.Opt.Pipeline, + GHC.Core.Opt.SetLevels, GHC.Core.Opt.Simplify, + GHC.Core.Opt.Simplify.Env, GHC.Core.Opt.Simplify.Monad, + GHC.Core.Opt.Simplify.Utils, GHC.Core.Opt.SpecConstr, + GHC.Core.Opt.Specialise, GHC.Core.Opt.StaticArgs, + GHC.Core.Opt.WorkWrap, GHC.Core.Opt.WorkWrap.Utils, + GHC.Core.PatSyn, GHC.Core.Ppr, GHC.Core.Predicate, GHC.Core.Rules, + GHC.Core.Seq, GHC.Core.SimpleOpt, GHC.Core.Stats, GHC.Core.Subst, + GHC.Core.Tidy, GHC.Core.TyCo.FVs, GHC.Core.TyCo.Ppr, + GHC.Core.TyCo.Rep, GHC.Core.TyCo.Subst, GHC.Core.TyCo.Tidy, + GHC.Core.TyCon, GHC.Core.TyCon.Env, GHC.Core.TyCon.RecWalk, + GHC.Core.TyCon.Set, GHC.Core.Type, GHC.Core.Unfold, + GHC.Core.Unfold.Make, GHC.Core.Unify, GHC.Core.UsageEnv, + GHC.Core.Utils, GHC.CoreToIface, GHC.CoreToStg, GHC.CoreToStg.Prep, + GHC.Data.Bag, GHC.Data.Bitmap, GHC.Data.BooleanFormula, + GHC.Data.EnumSet, GHC.Data.FastMutInt, GHC.Data.FastString, + GHC.Data.FastString.Env, GHC.Data.FiniteMap, GHC.Data.Graph.Base, + GHC.Data.Graph.Color, GHC.Data.Graph.Directed, GHC.Data.Graph.Ops, + GHC.Data.Graph.Ppr, GHC.Data.Graph.UnVar, GHC.Data.IOEnv, + GHC.Data.List.SetOps, GHC.Data.Maybe, GHC.Data.OrdList, + GHC.Data.Pair, GHC.Data.Stream, GHC.Data.StringBuffer, + GHC.Data.TrieMap, GHC.Data.UnionFind, GHC.Driver.Backend, + GHC.Driver.Backpack, GHC.Driver.Backpack.Syntax, + GHC.Driver.CmdLine, GHC.Driver.CodeOutput, GHC.Driver.Config, + GHC.Driver.Env, GHC.Driver.Env.Types, GHC.Driver.Errors, + GHC.Driver.Flags, GHC.Driver.Hooks, GHC.Driver.Main, + GHC.Driver.Make, GHC.Driver.MakeFile, GHC.Driver.Monad, + GHC.Driver.Phases, GHC.Driver.Pipeline, GHC.Driver.Pipeline.Monad, + GHC.Driver.Plugins, GHC.Driver.Ppr, GHC.Driver.Session, GHC.Hs, + GHC.Hs.Binds, GHC.Hs.Decls, GHC.Hs.Doc, GHC.Hs.Dump, GHC.Hs.Expr, + GHC.Hs.Extension, GHC.Hs.ImpExp, GHC.Hs.Instances, GHC.Hs.Lit, + GHC.Hs.Pat, GHC.Hs.Stats, GHC.Hs.Type, GHC.Hs.Utils, GHC.HsToCore, + GHC.HsToCore.Arrows, GHC.HsToCore.Binds, GHC.HsToCore.Coverage, + GHC.HsToCore.Docs, GHC.HsToCore.Expr, GHC.HsToCore.Foreign.Call, + GHC.HsToCore.Foreign.Decl, GHC.HsToCore.GuardedRHSs, + GHC.HsToCore.ListComp, GHC.HsToCore.Match, + GHC.HsToCore.Match.Constructor, GHC.HsToCore.Match.Literal, + GHC.HsToCore.Monad, GHC.HsToCore.Pmc, GHC.HsToCore.Pmc.Check, + GHC.HsToCore.Pmc.Desugar, GHC.HsToCore.Pmc.Ppr, + GHC.HsToCore.Pmc.Solver, GHC.HsToCore.Pmc.Solver.Types, + GHC.HsToCore.Pmc.Types, GHC.HsToCore.Pmc.Utils, GHC.HsToCore.Quote, + GHC.HsToCore.Types, GHC.HsToCore.Usage, GHC.HsToCore.Utils, + GHC.Iface.Binary, GHC.Iface.Env, GHC.Iface.Ext.Ast, + GHC.Iface.Ext.Binary, GHC.Iface.Ext.Debug, GHC.Iface.Ext.Fields, + GHC.Iface.Ext.Types, GHC.Iface.Ext.Utils, GHC.Iface.Load, + GHC.Iface.Make, GHC.Iface.Recomp, GHC.Iface.Recomp.Binary, + GHC.Iface.Recomp.Flags, GHC.Iface.Rename, GHC.Iface.Syntax, + GHC.Iface.Tidy, GHC.Iface.Tidy.StaticPtrTable, GHC.Iface.Type, + GHC.IfaceToCore, GHC.Linker, GHC.Linker.Dynamic, + GHC.Linker.ExtraObj, GHC.Linker.Loader, GHC.Linker.MacOS, + GHC.Linker.Static, GHC.Linker.Types, GHC.Linker.Unit, + GHC.Linker.Windows, GHC.Llvm, GHC.Llvm.MetaData, GHC.Llvm.Ppr, + GHC.Llvm.Syntax, GHC.Llvm.Types, GHC.Parser, GHC.Parser.Annotation, + GHC.Parser.CharClass, GHC.Parser.Errors, GHC.Parser.Errors.Ppr, + GHC.Parser.Header, GHC.Parser.Lexer, GHC.Parser.PostProcess, + GHC.Parser.PostProcess.Haddock, GHC.Parser.Types, GHC.Parser.Utils, + GHC.Platform, GHC.Platform.AArch64, GHC.Platform.ARM, + GHC.Platform.ArchOS from ghc-boot-9.2.8:GHC.Platform.ArchOS, + GHC.Platform.Constants, + GHC.Platform.Host from ghc-boot-9.2.8:GHC.Platform.Host, + GHC.Platform.NoRegs, GHC.Platform.PPC, GHC.Platform.Profile, + GHC.Platform.RISCV64, GHC.Platform.Reg, GHC.Platform.Reg.Class, + GHC.Platform.Regs, GHC.Platform.S390X, GHC.Platform.SPARC, + GHC.Platform.Ways, GHC.Platform.X86, GHC.Platform.X86_64, + GHC.Plugins, GHC.Prelude, GHC.Rename.Bind, GHC.Rename.Env, + GHC.Rename.Expr, GHC.Rename.Fixity, GHC.Rename.HsType, + GHC.Rename.Module, GHC.Rename.Names, GHC.Rename.Pat, + GHC.Rename.Splice, GHC.Rename.Unbound, GHC.Rename.Utils, + GHC.Runtime.Context, GHC.Runtime.Debugger, GHC.Runtime.Eval, + GHC.Runtime.Eval.Types, GHC.Runtime.Heap.Inspect, + GHC.Runtime.Heap.Layout, GHC.Runtime.Interpreter, + GHC.Runtime.Interpreter.Types, GHC.Runtime.Loader, GHC.Settings, + GHC.Settings.Config, GHC.Settings.Constants, GHC.Settings.IO, + GHC.Stg.CSE, GHC.Stg.Debug, GHC.Stg.DepAnal, GHC.Stg.FVs, + GHC.Stg.Lift, GHC.Stg.Lift.Analysis, GHC.Stg.Lift.Monad, + GHC.Stg.Lint, GHC.Stg.Pipeline, GHC.Stg.Stats, GHC.Stg.Subst, + GHC.Stg.Syntax, GHC.Stg.Unarise, GHC.StgToByteCode, GHC.StgToCmm, + GHC.StgToCmm.ArgRep, GHC.StgToCmm.Bind, GHC.StgToCmm.CgUtils, + GHC.StgToCmm.Closure, GHC.StgToCmm.DataCon, GHC.StgToCmm.Env, + GHC.StgToCmm.Expr, GHC.StgToCmm.ExtCode, GHC.StgToCmm.Foreign, + GHC.StgToCmm.Heap, GHC.StgToCmm.Hpc, GHC.StgToCmm.Layout, + GHC.StgToCmm.Lit, GHC.StgToCmm.Monad, GHC.StgToCmm.Prim, + GHC.StgToCmm.Prof, GHC.StgToCmm.Ticky, GHC.StgToCmm.Types, + GHC.StgToCmm.Utils, GHC.SysTools, GHC.SysTools.Ar, + GHC.SysTools.BaseDir, GHC.SysTools.Elf, GHC.SysTools.Info, + GHC.SysTools.Process, GHC.SysTools.Tasks, GHC.SysTools.Terminal, + GHC.Tc.Deriv, GHC.Tc.Deriv.Functor, GHC.Tc.Deriv.Generate, + GHC.Tc.Deriv.Generics, GHC.Tc.Deriv.Infer, GHC.Tc.Deriv.Utils, + GHC.Tc.Errors, GHC.Tc.Errors.Hole, GHC.Tc.Errors.Hole.FitTypes, + GHC.Tc.Gen.Annotation, GHC.Tc.Gen.App, GHC.Tc.Gen.Arrow, + GHC.Tc.Gen.Bind, GHC.Tc.Gen.Default, GHC.Tc.Gen.Export, + GHC.Tc.Gen.Expr, GHC.Tc.Gen.Foreign, GHC.Tc.Gen.Head, + GHC.Tc.Gen.HsType, GHC.Tc.Gen.Match, GHC.Tc.Gen.Pat, + GHC.Tc.Gen.Rule, GHC.Tc.Gen.Sig, GHC.Tc.Gen.Splice, + GHC.Tc.Instance.Class, GHC.Tc.Instance.Family, + GHC.Tc.Instance.FunDeps, GHC.Tc.Instance.Typeable, GHC.Tc.Module, + GHC.Tc.Plugin, GHC.Tc.Solver, GHC.Tc.Solver.Canonical, + GHC.Tc.Solver.Interact, GHC.Tc.Solver.Monad, GHC.Tc.Solver.Rewrite, + GHC.Tc.TyCl, GHC.Tc.TyCl.Build, GHC.Tc.TyCl.Class, + GHC.Tc.TyCl.Instance, GHC.Tc.TyCl.PatSyn, GHC.Tc.TyCl.Utils, + GHC.Tc.Types, GHC.Tc.Types.Constraint, GHC.Tc.Types.EvTerm, + GHC.Tc.Types.Evidence, GHC.Tc.Types.Origin, GHC.Tc.Utils.Backpack, + GHC.Tc.Utils.Env, GHC.Tc.Utils.Instantiate, GHC.Tc.Utils.Monad, + GHC.Tc.Utils.TcMType, GHC.Tc.Utils.TcType, GHC.Tc.Utils.Unify, + GHC.Tc.Utils.Zonk, GHC.Tc.Validity, GHC.ThToHs, + GHC.Types.Annotations, GHC.Types.Avail, GHC.Types.Basic, + GHC.Types.CompleteMatch, GHC.Types.CostCentre, + GHC.Types.CostCentre.State, GHC.Types.Cpr, GHC.Types.Demand, + GHC.Types.Error, GHC.Types.FieldLabel, GHC.Types.Fixity, + GHC.Types.Fixity.Env, GHC.Types.ForeignCall, + GHC.Types.ForeignStubs, GHC.Types.HpcInfo, GHC.Types.IPE, + GHC.Types.Id, GHC.Types.Id.Info, GHC.Types.Id.Make, + GHC.Types.Literal, GHC.Types.Meta, GHC.Types.Name, + GHC.Types.Name.Cache, GHC.Types.Name.Env, + GHC.Types.Name.Occurrence, GHC.Types.Name.Ppr, + GHC.Types.Name.Reader, GHC.Types.Name.Set, GHC.Types.Name.Shape, + GHC.Types.RepType, GHC.Types.SafeHaskell, GHC.Types.SourceError, + GHC.Types.SourceFile, GHC.Types.SourceText, GHC.Types.SrcLoc, + GHC.Types.Target, GHC.Types.Tickish, GHC.Types.TyThing, + GHC.Types.TyThing.Ppr, GHC.Types.TypeEnv, GHC.Types.Unique, + GHC.Types.Unique.DFM, GHC.Types.Unique.DSet, GHC.Types.Unique.FM, + GHC.Types.Unique.Map, GHC.Types.Unique.SDFM, GHC.Types.Unique.Set, + GHC.Types.Unique.Supply, GHC.Types.Var, GHC.Types.Var.Env, + GHC.Types.Var.Set, GHC.Unit, GHC.Unit.Env, GHC.Unit.External, + GHC.Unit.Finder, GHC.Unit.Finder.Types, GHC.Unit.Home, + GHC.Unit.Home.ModInfo, GHC.Unit.Info, GHC.Unit.Module, + GHC.Unit.Module.Deps, GHC.Unit.Module.Env, GHC.Unit.Module.Graph, + GHC.Unit.Module.Imported, GHC.Unit.Module.Location, + GHC.Unit.Module.ModDetails, GHC.Unit.Module.ModGuts, + GHC.Unit.Module.ModIface, GHC.Unit.Module.ModSummary, + GHC.Unit.Module.Name, GHC.Unit.Module.Status, + GHC.Unit.Module.Warnings, GHC.Unit.Parser, GHC.Unit.Ppr, + GHC.Unit.State, GHC.Unit.Types, GHC.Utils.Asm, GHC.Utils.Binary, + GHC.Utils.Binary.Typeable, GHC.Utils.BufHandle, + GHC.Utils.CliOption, GHC.Utils.Error, GHC.Utils.Exception, + GHC.Utils.FV, GHC.Utils.Fingerprint, GHC.Utils.GlobalVars, + GHC.Utils.IO.Unsafe, GHC.Utils.Json, GHC.Utils.Lexeme, + GHC.Utils.Logger, GHC.Utils.Misc, GHC.Utils.Monad, + GHC.Utils.Monad.State, GHC.Utils.Outputable, GHC.Utils.Panic, + GHC.Utils.Panic.Plain, GHC.Utils.Ppr, GHC.Utils.Ppr.Colour, + GHC.Utils.TmpFs, Language.Haskell.Syntax, + Language.Haskell.Syntax.Binds, Language.Haskell.Syntax.Decls, + Language.Haskell.Syntax.Expr, Language.Haskell.Syntax.Extension, + Language.Haskell.Syntax.Lit, Language.Haskell.Syntax.Pat, + Language.Haskell.Syntax.Type +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSghc-9.2.8 +include-dirs: +depends: + array-0.5.4.0 base-4.16.4.0 binary-0.8.9.0 bytestring-0.11.4.0 + containers-0.6.5.1 deepseq-1.4.6.1 directory-1.3.6.2 + exceptions-0.10.4 filepath-1.4.2.2 ghc-boot-9.2.8 ghc-heap-9.2.8 + ghci-9.2.8 hpc-0.6.1.0 process-1.6.16.0 template-haskell-2.18.0.0 + terminfo-0.4.1.5 time-1.11.1.1 transformers-0.5.6.2 unix-2.7.2.2 +haddock-interfaces: +haddock-html: +--- +name: ghc-bignum +version: 1.2 +visibility: public +id: ghc-bignum-1.2 +key: ghc-bignum-1.2 +license: BSD-3-Clause +maintainer: libraries@haskell.org +author: Sylvain Henry +synopsis: GHC BigNum library +description: + This package provides the low-level implementation of the standard + 'BigNat', 'Natural' and 'Integer' types. +category: Numeric, Algebra, GHC +exposed: True +exposed-modules: + GHC.Num.Backend GHC.Num.Backend.Native GHC.Num.Backend.Selected + GHC.Num.BigNat GHC.Num.Integer GHC.Num.Natural GHC.Num.Primitives + GHC.Num.WordArray +hidden-modules: GHC.Num.Backend.GMP +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSghc-bignum-1.2 +extra-libraries: gmp +include-dirs: +depends: ghc-prim-0.8.0 +haddock-interfaces: +haddock-html: +--- +name: ghc-boot +version: 9.2.8 +visibility: public +id: ghc-boot-9.2.8 +key: ghc-boot-9.2.8 +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.Unit.Database": 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.BaseDir, GHC.Data.ShortText, GHC.Data.SizedSeq, + GHC.ForeignSrcLang, + GHC.ForeignSrcLang.Type from ghc-boot-th-9.2.8:GHC.ForeignSrcLang.Type, + GHC.HandleEncoding, GHC.LanguageExtensions, + GHC.LanguageExtensions.Type from ghc-boot-th-9.2.8:GHC.LanguageExtensions.Type, + GHC.Lexeme from ghc-boot-th-9.2.8:GHC.Lexeme, GHC.Platform.ArchOS, + GHC.Platform.Host, GHC.Serialized, GHC.Settings.Utils, + GHC.UniqueSubdir, GHC.Unit.Database, GHC.Utils.Encoding, + GHC.Version +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSghc-boot-9.2.8 +depends: + base-4.16.4.0 binary-0.8.9.0 bytestring-0.11.4.0 containers-0.6.5.1 + deepseq-1.4.6.1 directory-1.3.6.2 filepath-1.4.2.2 + ghc-boot-th-9.2.8 unix-2.7.2.2 +haddock-interfaces: +haddock-html: +--- +name: ghc-boot-th +version: 9.2.8 +visibility: public +id: ghc-boot-th-9.2.8 +key: ghc-boot-th-9.2.8 +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 +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSghc-boot-th-9.2.8 +depends: base-4.16.4.0 +haddock-interfaces: +haddock-html: +--- +name: ghc-compact +version: 0.1.0.0 +visibility: public +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. + This package provides a low-level API; see also the which provides a user-facing API. +category: Data +exposed: True +exposed-modules: GHC.Compact GHC.Compact.Serialized +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSghc-compact-0.1.0.0 +depends: base-4.16.4.0 bytestring-0.11.4.0 ghc-prim-0.8.0 +haddock-interfaces: +haddock-html: +--- +name: ghc-heap +version: 9.2.8 +visibility: public +id: ghc-heap-9.2.8 +key: ghc-heap-9.2.8 +license: BSD-3-Clause +maintainer: libraries@haskell.org +synopsis: Functions for walking GHC's heap +description: + This package provides functions for walking the GHC heap data structures + and retrieving information about those data structures. +category: GHC +exposed: True +exposed-modules: + GHC.Exts.Heap GHC.Exts.Heap.ClosureTypes GHC.Exts.Heap.Closures + GHC.Exts.Heap.Constants GHC.Exts.Heap.FFIClosures + GHC.Exts.Heap.FFIClosures_ProfilingDisabled + GHC.Exts.Heap.FFIClosures_ProfilingEnabled GHC.Exts.Heap.InfoTable + GHC.Exts.Heap.InfoTable.Types GHC.Exts.Heap.InfoTableProf + GHC.Exts.Heap.ProfInfo.PeekProfInfo + GHC.Exts.Heap.ProfInfo.PeekProfInfo_ProfilingDisabled + GHC.Exts.Heap.ProfInfo.PeekProfInfo_ProfilingEnabled + GHC.Exts.Heap.ProfInfo.Types GHC.Exts.Heap.Utils +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSghc-heap-9.2.8 +depends: base-4.16.4.0 containers-0.6.5.1 ghc-prim-0.8.0 rts +haddock-interfaces: +haddock-html: +--- +name: ghc-prim +version: 0.8.0 +visibility: public +id: ghc-prim-0.8.0 +key: ghc-prim-0.8.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.Magic GHC.Prim.Exception + GHC.Prim.Ext GHC.Prim.Panic GHC.PrimopWrappers GHC.Tuple GHC.Types + GHC.Prim +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSghc-prim-0.8.0 +extra-libraries: c m +depends: rts +haddock-interfaces: +haddock-html: +--- +name: ghci +version: 9.2.8 +visibility: public +id: ghci-9.2.8 +key: ghci-9.2.8 +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 +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSghci-9.2.8 +depends: + array-0.5.4.0 base-4.16.4.0 binary-0.8.9.0 bytestring-0.11.4.0 + containers-0.6.5.1 deepseq-1.4.6.1 filepath-1.4.2.2 ghc-boot-9.2.8 + ghc-heap-9.2.8 ghc-prim-0.8.0 rts template-haskell-2.18.0.0 + transformers-0.5.6.2 unix-2.7.2.2 +haddock-interfaces: +haddock-html: +--- +name: haskeline +version: 0.8.2 +visibility: public +id: haskeline-0.8.2 +key: haskeline-0.8.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.Internal +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 +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HShaskeline-0.8.2 +depends: + base-4.16.4.0 bytestring-0.11.4.0 containers-0.6.5.1 + directory-1.3.6.2 exceptions-0.10.4 filepath-1.4.2.2 + process-1.6.16.0 stm-2.5.0.2 terminfo-0.4.1.5 transformers-0.5.6.2 + unix-2.7.2.2 +haddock-interfaces: +haddock-html: +--- +name: hpc +version: 0.6.1.0 +visibility: public +id: hpc-0.6.1.0 +key: hpc-0.6.1.0 +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 +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HShpc-0.6.1.0 +depends: + base-4.16.4.0 containers-0.6.5.1 deepseq-1.4.6.1 directory-1.3.6.2 + filepath-1.4.2.2 time-1.11.1.1 +haddock-interfaces: +haddock-html: +--- +name: integer-gmp +version: 1.1 +visibility: public +id: integer-gmp-1.1 +key: integer-gmp-1.1 +license: BSD-3-Clause +maintainer: hvr@gnu.org +author: Herbert Valerio Riedel +synopsis: Integer library based on GMP +description: + This package used to provide an implementation of the standard 'Integer' + type based on the + . + It is now deprecated in favor of the 'ghc-bignum' package. + Its purpose is to provide backward compatibility for codes directly + depending on the `integer-gmp` package. +category: Numeric, Algebra +exposed: True +exposed-modules: GHC.Integer.GMP.Internals +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSinteger-gmp-1.1 +depends: base-4.16.4.0 ghc-bignum-1.2 ghc-prim-0.8.0 +haddock-interfaces: +haddock-html: +--- +name: libiserv +version: 9.2.8 +visibility: public +id: libiserv-9.2.8 +key: libiserv-9.2.8 +license: BSD-3-Clause +copyright: XXX +maintainer: XXX +author: XXX +synopsis: + Provides shared functionality between iserv and iserv-proxy. +description: + Provides shared functionality between iserv and iserv-proxy. +category: Development +exposed: True +exposed-modules: GHCi.Utils Lib +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSlibiserv-9.2.8 +depends: + base-4.16.4.0 binary-0.8.9.0 bytestring-0.11.4.0 containers-0.6.5.1 + deepseq-1.4.6.1 ghci-9.2.8 unix-2.7.2.2 +haddock-interfaces: +haddock-html: +--- +name: mtl +version: 2.2.2 +visibility: public +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 +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSmtl-2.2.2 +depends: base-4.16.4.0 transformers-0.5.6.2 +haddock-interfaces: +haddock-html: +--- +name: parsec +version: 3.1.15.0 +visibility: public +id: parsec-3.1.15.0 +key: parsec-3.1.15.0 +license: BSD-2-Clause +maintainer: + Oleg Grenrus , 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 +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSparsec-3.1.15.0 +depends: + base-4.16.4.0 bytestring-0.11.4.0 mtl-2.2.2 text-1.2.5.0 +haddock-interfaces: +haddock-html: +--- +name: pretty +version: 1.1.3.6 +visibility: public +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 +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSpretty-1.1.3.6 +depends: base-4.16.4.0 deepseq-1.4.6.1 ghc-prim-0.8.0 +haddock-interfaces: +haddock-html: +--- +name: process +version: 1.6.16.0 +visibility: public +id: process-1.6.16.0 +key: process-1.6.16.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 +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSprocess-1.6.16.0 +include-dirs: +includes: runProcess.h +depends: + base-4.16.4.0 deepseq-1.4.6.1 directory-1.3.6.2 filepath-1.4.2.2 + unix-2.7.2.2 +haddock-interfaces: +haddock-html: +--- +name: stm +version: 2.5.0.2 +visibility: public +id: stm-2.5.0.2 +key: stm-2.5.0.2 +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 +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSstm-2.5.0.2 +depends: array-0.5.4.0 base-4.16.4.0 +haddock-interfaces: +haddock-html: +--- +name: template-haskell +version: 2.18.0.0 +visibility: public +id: template-haskell-2.18.0.0 +key: template-haskell-2.18.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.CodeDo + 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 +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HStemplate-haskell-2.18.0.0 +depends: + base-4.16.4.0 ghc-boot-th-9.2.8 ghc-prim-0.8.0 pretty-1.1.3.6 +haddock-interfaces: +haddock-html: +--- +name: terminfo +version: 0.4.1.5 +visibility: public +id: terminfo-0.4.1.5 +key: terminfo-0.4.1.5 +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 +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSterminfo-0.4.1.5 +extra-libraries: tinfo +depends: base-4.16.4.0 +haddock-interfaces: +haddock-html: +--- +name: text +version: 1.2.5.0 +visibility: public +id: text-1.2.5.0 +key: text-1.2.5.0 +license: BSD-2-Clause +copyright: 2009-2011 Bryan O'Sullivan, 2008-2009 Tom Harper +maintainer: + Haskell Text Team , Core Libraries Committee +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 + == ICU Support + 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/). + == Internal Representation: UTF-16 vs. UTF-8 + Currently the @text@ library uses UTF-16 as its internal representation + which is [neither a fixed-width nor always the most dense representation](http://utf8everywhere.org/) + for Unicode text. We're currently investigating the feasibility + of [changing Text's internal representation to UTF-8](https://github.com/text-utf8) + and if you need such a 'Text' type right now you might be interested in using the spin-off + packages and + . +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.ByteStringCompat + 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.PrimCompat 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 +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HStext-1.2.5.0 +depends: + array-0.5.4.0 base-4.16.4.0 binary-0.8.9.0 bytestring-0.11.4.0 + deepseq-1.4.6.1 ghc-prim-0.8.0 template-haskell-2.18.0.0 +haddock-interfaces: +haddock-html: +--- +name: time +version: 1.11.1.1 +visibility: public +id: time-1.11.1.1 +key: time-1.11.1.1 +license: BSD-3-Clause +maintainer: +author: Ashley Yakeley +stability: stable +homepage: https://github.com/haskell/time +synopsis: A time library +description: Time, clocks and calendars +category: Time +exposed: True +exposed-modules: + Data.Time Data.Time.Calendar Data.Time.Calendar.Easter + Data.Time.Calendar.Julian Data.Time.Calendar.Month + Data.Time.Calendar.MonthDay Data.Time.Calendar.OrdinalDate + Data.Time.Calendar.Quarter Data.Time.Calendar.WeekDate + Data.Time.Clock Data.Time.Clock.POSIX Data.Time.Clock.System + Data.Time.Clock.TAI Data.Time.Format Data.Time.Format.ISO8601 + Data.Time.Format.Internal Data.Time.LocalTime +hidden-modules: + Data.Format Data.Time.Calendar.Types Data.Time.Calendar.Private + Data.Time.Calendar.Days Data.Time.Calendar.Gregorian + Data.Time.Calendar.CalendarDiffDays Data.Time.Calendar.Week + 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.CalendarDiffTime + Data.Time.LocalTime.Internal.LocalTime + Data.Time.LocalTime.Internal.ZonedTime Data.Time.Format.Parse + Data.Time.Format.Locale Data.Time.Format.Format.Class + Data.Time.Format.Format.Instances Data.Time.Format.Parse.Class + Data.Time.Format.Parse.Instances +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HStime-1.11.1.1 +include-dirs: +depends: base-4.16.4.0 deepseq-1.4.6.1 +haddock-interfaces: +haddock-html: +--- +name: transformers +version: 0.5.6.2 +visibility: public +id: transformers-0.5.6.2 +key: transformers-0.5.6.2 +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.CPS 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.CPS + Control.Monad.Trans.Writer.Lazy Control.Monad.Trans.Writer.Strict + Data.Functor.Constant Data.Functor.Reverse +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HStransformers-0.5.6.2 +depends: base-4.16.4.0 +haddock-interfaces: +haddock-html: +--- +name: unix +version: 2.7.2.2 +visibility: public +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 +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSunix-2.7.2.2 +include-dirs: +includes: HsUnix.h execvpe.h +depends: base-4.16.4.0 bytestring-0.11.4.0 time-1.11.1.1 +haddock-interfaces: +haddock-html: +--- +name: xhtml +version: 3000.2.2.1 +visibility: public +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 +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSxhtml-3000.2.2.1 +depends: base-4.16.4.0 +haddock-interfaces: +haddock-html: +--- +name: rts +version: 1.0.2 +visibility: public +id: rts +key: rts +license: BSD-3-Clause +maintainer: glasgow-haskell-users@haskell.org +exposed: True +library-dirs: +hs-libraries: HSrts +extra-libraries: m rt dl ffi +include-dirs: +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_GHCziIOPort_doubleReadException_closure" + "-Wl,-u,base_ControlziExceptionziBase_nonTermination_closure" + "-Wl,-u,base_ControlziExceptionziBase_nestedAtomically_closure" + "-Wl,-u,base_GHCziEventziThread_blockedOnBadFD_closure" + "-Wl,-u,base_GHCziExceptionziType_divZZeroException_closure" + "-Wl,-u,base_GHCziExceptionziType_underflowException_closure" + "-Wl,-u,base_GHCziExceptionziType_overflowException_closure" + "-Wl,-u,base_GHCziConcziSync_runSparks_closure" + "-Wl,-u,base_GHCziConcziIO_ensureIOManagerIsRunning_closure" + "-Wl,-u,base_GHCziConcziIO_interruptIOManager_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_xchg8" "-Wl,-u,hs_xchg16" + "-Wl,-u,hs_xchg32" "-Wl,-u,hs_xchg64" "-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" diff --git a/materialized/nixpkgs/dummy-ghc/ghc-9.2.8-aarch64-linux/ghc-pkg/version b/materialized/nixpkgs/dummy-ghc/ghc-9.2.8-aarch64-linux/ghc-pkg/version new file mode 100644 index 0000000000..fdbd1af834 --- /dev/null +++ b/materialized/nixpkgs/dummy-ghc/ghc-9.2.8-aarch64-linux/ghc-pkg/version @@ -0,0 +1 @@ +GHC package manager version 9.2.8 diff --git a/materialized/nixpkgs/dummy-ghc/ghc-9.2.8-aarch64-linux/ghc/info b/materialized/nixpkgs/dummy-ghc/ghc-9.2.8-aarch64-linux/ghc/info new file mode 100644 index 0000000000..62fa7b62c6 --- /dev/null +++ b/materialized/nixpkgs/dummy-ghc/ghc-9.2.8-aarch64-linux/ghc/info @@ -0,0 +1,64 @@ + [("Project name","The Glorious Glasgow Haskell Compilation System") + ,("GCC extra via C opts","") + ,("C compiler flags","") + ,("C++ compiler flags","") + ,("C compiler link flags","-fuse-ld=gold -Wl,-z,noexecstack") + ,("C compiler supports -no-pie","YES") + ,("Haskell CPP flags","-E -undef -traditional") + ,("ld flags","-z noexecstack") + ,("ld supports compact unwind","YES") + ,("ld supports build-id","YES") + ,("ld supports filelist","NO") + ,("ld is GNU ld","YES") + ,("Merge objects flags","-r") + ,("ar flags","q") + ,("ar supports at file","YES") + ,("otool command","otool") + ,("install_name_tool command","install_name_tool") + ,("touch command","touch") + ,("dllwrap command","/bin/false") + ,("windres command","/bin/false") + ,("libtool command","libtool") + ,("cross compiling","NO") + ,("target platform string","aarch64-unknown-linux") + ,("target os","OSLinux") + ,("target arch","ArchAArch64") + ,("target word size","8") + ,("target word big endian","NO") + ,("target has GNU nonexec stack","YES") + ,("target has .ident directive","YES") + ,("target has subsections via symbols","NO") + ,("target has RTS linker","YES") + ,("Unregisterised","NO") + ,("LLVM target","aarch64-unknown-linux") + ,("LLVM clang command","clang") + ,("Use interpreter","YES") + ,("Support SMP","YES") + ,("RTS ways","l debug thr thr_debug thr_l dyn debug_dyn thr_dyn thr_debug_dyn l_dyn thr_l_dyn ") + ,("Tables next to code","YES") + ,("Leading underscore","NO") + ,("Use LibFFI","YES") + ,("RTS expects libdw","NO") + ,("Project version","9.2.8") + ,("Project Git commit id","dfa834627a94d98aaeddb0cb3a0cedca934d2814") + ,("Booter version","8.10.7") + ,("Stage","2") + ,("Build platform","aarch64-unknown-linux") + ,("Host platform","aarch64-unknown-linux") + ,("Target platform","aarch64-unknown-linux") + ,("Have interpreter","YES") + ,("Object splitting supported","NO") + ,("Have native code generator","YES") + ,("Target default backend","NCG") + ,("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") + ,("GHC Dynamic","YES") + ,("GHC Profiled","NO") + ,("Debug on","NO") + ] diff --git a/materialized/nixpkgs/dummy-ghc/ghc-9.2.8-aarch64-linux/ghc/numeric-version b/materialized/nixpkgs/dummy-ghc/ghc-9.2.8-aarch64-linux/ghc/numeric-version new file mode 100644 index 0000000000..08e647b0f9 --- /dev/null +++ b/materialized/nixpkgs/dummy-ghc/ghc-9.2.8-aarch64-linux/ghc/numeric-version @@ -0,0 +1 @@ +9.2.8 diff --git a/materialized/nixpkgs/dummy-ghc/ghc-9.2.8-aarch64-linux/ghc/supported-languages b/materialized/nixpkgs/dummy-ghc/ghc-9.2.8-aarch64-linux/ghc/supported-languages new file mode 100644 index 0000000000..331def5550 --- /dev/null +++ b/materialized/nixpkgs/dummy-ghc/ghc-9.2.8-aarch64-linux/ghc/supported-languages @@ -0,0 +1,268 @@ +Haskell98 +Haskell2010 +GHC2021 +Unsafe +Trustworthy +Safe +AllowAmbiguousTypes +NoAllowAmbiguousTypes +AlternativeLayoutRule +NoAlternativeLayoutRule +AlternativeLayoutRuleTransitional +NoAlternativeLayoutRuleTransitional +Arrows +NoArrows +AutoDeriveTypeable +NoAutoDeriveTypeable +BangPatterns +NoBangPatterns +BinaryLiterals +NoBinaryLiterals +CApiFFI +NoCApiFFI +CPP +NoCPP +CUSKs +NoCUSKs +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 +DerivingVia +NoDerivingVia +DisambiguateRecordFields +NoDisambiguateRecordFields +DoAndIfThenElse +NoDoAndIfThenElse +BlockArguments +NoBlockArguments +DoRec +NoDoRec +DuplicateRecordFields +NoDuplicateRecordFields +FieldSelectors +NoFieldSelectors +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 +GeneralisedNewtypeDeriving +NoGeneralisedNewtypeDeriving +ImplicitParams +NoImplicitParams +ImplicitPrelude +NoImplicitPrelude +ImportQualifiedPost +NoImportQualifiedPost +ImpredicativeTypes +NoImpredicativeTypes +IncoherentInstances +NoIncoherentInstances +TypeFamilyDependencies +NoTypeFamilyDependencies +InstanceSigs +NoInstanceSigs +ApplicativeDo +NoApplicativeDo +InterruptibleFFI +NoInterruptibleFFI +JavaScriptFFI +NoJavaScriptFFI +KindSignatures +NoKindSignatures +LambdaCase +NoLambdaCase +LexicalNegation +NoLexicalNegation +LiberalTypeSynonyms +NoLiberalTypeSynonyms +LinearTypes +NoLinearTypes +MagicHash +NoMagicHash +MonadComprehensions +NoMonadComprehensions +MonoLocalBinds +NoMonoLocalBinds +DeepSubsumption +NoDeepSubsumption +MonomorphismRestriction +NoMonomorphismRestriction +MultiParamTypeClasses +NoMultiParamTypeClasses +MultiWayIf +NoMultiWayIf +NumericUnderscores +NoNumericUnderscores +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 +QuantifiedConstraints +NoQuantifiedConstraints +PostfixOperators +NoPostfixOperators +QuasiQuotes +NoQuasiQuotes +QualifiedDo +NoQualifiedDo +Rank2Types +NoRank2Types +RankNTypes +NoRankNTypes +RebindableSyntax +NoRebindableSyntax +OverloadedRecordDot +NoOverloadedRecordDot +OverloadedRecordUpdate +NoOverloadedRecordUpdate +RecordPuns +NoRecordPuns +RecordWildCards +NoRecordWildCards +RecursiveDo +NoRecursiveDo +RelaxedLayout +NoRelaxedLayout +RelaxedPolyRec +NoRelaxedPolyRec +RoleAnnotations +NoRoleAnnotations +ScopedTypeVariables +NoScopedTypeVariables +StandaloneDeriving +NoStandaloneDeriving +StarIsType +NoStarIsType +StaticPointers +NoStaticPointers +Strict +NoStrict +StrictData +NoStrictData +TemplateHaskell +NoTemplateHaskell +TemplateHaskellQuotes +NoTemplateHaskellQuotes +StandaloneKindSignatures +NoStandaloneKindSignatures +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 +UnliftedDatatypes +NoUnliftedDatatypes +UnliftedFFITypes +NoUnliftedFFITypes +UnliftedNewtypes +NoUnliftedNewtypes +ViewPatterns +NoViewPatterns diff --git a/materialized/nixpkgs/dummy-ghc/ghc-9.2.8-aarch64-linux/ghc/version b/materialized/nixpkgs/dummy-ghc/ghc-9.2.8-aarch64-linux/ghc/version new file mode 100644 index 0000000000..11c5151b19 --- /dev/null +++ b/materialized/nixpkgs/dummy-ghc/ghc-9.2.8-aarch64-linux/ghc/version @@ -0,0 +1 @@ +The Glorious Glasgow Haskell Compilation System, version 9.2.8 diff --git a/materialized/nixpkgs/dummy-ghc/ghc-9.2.8-x86_64-linux/ghc-pkg/dump-global b/materialized/nixpkgs/dummy-ghc/ghc-9.2.8-x86_64-linux/ghc-pkg/dump-global new file mode 100644 index 0000000000..134c3c2e8f --- /dev/null +++ b/materialized/nixpkgs/dummy-ghc/ghc-9.2.8-x86_64-linux/ghc-pkg/dump-global @@ -0,0 +1,1833 @@ +name: Cabal +version: 3.6.3.0 +visibility: public +id: Cabal-3.6.3.0 +key: Cabal-3.6.3.0 +license: BSD-3-Clause +copyright: 2003-2021, 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.FilePath + Distribution.Compat.Graph Distribution.Compat.Internal.TempFile + Distribution.Compat.Lens Distribution.Compat.Newtype + Distribution.Compat.NonEmptySet Distribution.Compat.Parsing + Distribution.Compat.Prelude.Internal Distribution.Compat.Process + Distribution.Compat.ResponseFile Distribution.Compat.Semigroup + Distribution.Compat.Stack Distribution.Compat.Time + Distribution.Compat.Typeable Distribution.Compiler + Distribution.FieldGrammar Distribution.FieldGrammar.Class + Distribution.FieldGrammar.FieldDescrs + Distribution.FieldGrammar.Newtypes Distribution.FieldGrammar.Parsec + Distribution.FieldGrammar.Pretty Distribution.Fields + Distribution.Fields.ConfVar Distribution.Fields.Field + Distribution.Fields.Lexer Distribution.Fields.LexerMonad + Distribution.Fields.ParseResult Distribution.Fields.Parser + Distribution.Fields.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.Parsec + Distribution.Parsec.Error Distribution.Parsec.FieldLineStream + Distribution.Parsec.Position Distribution.Parsec.Warning + Distribution.Pretty Distribution.ReadE Distribution.SPDX + Distribution.SPDX.License Distribution.SPDX.LicenseExceptionId + Distribution.SPDX.LicenseExpression Distribution.SPDX.LicenseId + Distribution.SPDX.LicenseListVersion + 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.Flag + Distribution.Simple.GHC Distribution.Simple.GHCJS + Distribution.Simple.Glob Distribution.Simple.Haddock + Distribution.Simple.HaskellSuite Distribution.Simple.Hpc + Distribution.Simple.Install Distribution.Simple.InstallDirs + Distribution.Simple.InstallDirs.Internal + 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.ShowBuildInfo 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.ConfVar Distribution.Types.Dependency + Distribution.Types.DependencyMap Distribution.Types.ExeDependency + Distribution.Types.Executable Distribution.Types.Executable.Lens + Distribution.Types.ExecutableScope Distribution.Types.ExposedModule + Distribution.Types.Flag Distribution.Types.ForeignLib + Distribution.Types.ForeignLib.Lens + Distribution.Types.ForeignLibOption + Distribution.Types.ForeignLibType + Distribution.Types.GenericPackageDescription + Distribution.Types.GenericPackageDescription.Lens + Distribution.Types.GivenComponent + 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.LibraryName Distribution.Types.LibraryVisibility + 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.PackageName.Magic + Distribution.Types.PackageVersionConstraint + Distribution.Types.PkgconfigDependency + Distribution.Types.PkgconfigName + Distribution.Types.PkgconfigVersion + Distribution.Types.PkgconfigVersionRange + 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.VersionInterval.Legacy + Distribution.Types.VersionRange + Distribution.Types.VersionRange.Internal Distribution.Utils.Generic + Distribution.Utils.IOData Distribution.Utils.LogProgress + Distribution.Utils.MD5 Distribution.Utils.MapAccum + Distribution.Utils.NubList Distribution.Utils.Path + Distribution.Utils.Progress Distribution.Utils.ShortText + Distribution.Utils.Structured Distribution.Verbosity + Distribution.Verbosity.Internal 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.Async + Distribution.Compat.CopyFile Distribution.Compat.GetShortPathName + Distribution.Compat.MonadFail Distribution.Compat.Prelude + Distribution.Compat.SnocList Distribution.GetOpt Distribution.Lex + Distribution.Utils.String Distribution.Simple.Build.Macros.Z + Distribution.Simple.Build.PathsModule.Z + Distribution.Simple.GHC.EnvironmentParser + Distribution.Simple.GHC.Internal Distribution.Simple.GHC.ImplInfo + Distribution.Simple.Utils.Json Distribution.ZinzaPrelude + Paths_Cabal +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSCabal-3.6.3.0 +depends: + array-0.5.4.0 base-4.16.4.0 binary-0.8.9.0 bytestring-0.11.4.0 + containers-0.6.5.1 deepseq-1.4.6.1 directory-1.3.6.2 + filepath-1.4.2.2 mtl-2.2.2 parsec-3.1.15.0 pretty-1.1.3.6 + process-1.6.16.0 text-1.2.5.0 time-1.11.1.1 transformers-0.5.6.2 + unix-2.7.2.2 +haddock-interfaces: +haddock-html: +--- +name: array +version: 0.5.4.0 +visibility: public +id: array-0.5.4.0 +key: array-0.5.4.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 +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSarray-0.5.4.0 +depends: base-4.16.4.0 +haddock-interfaces: +haddock-html: +--- +name: base +version: 4.16.4.0 +visibility: public +id: base-4.16.4.0 +key: base-4.16.4.0 +license: BSD-3-Clause +maintainer: libraries@haskell.org +synopsis: Basic libraries +description: + This package contains the Standard Haskell "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.Contravariant, + 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.Type.Ord, 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.Bits, + 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.Event.TimeOut, GHC.Exception, GHC.Exception.Type, + 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.GHCi.Helpers, 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.StdHandles, + GHC.IO.SubSystem, GHC.IO.Unsafe, GHC.IOArray, GHC.IOPort, + GHC.IORef, GHC.Int, GHC.Integer, GHC.Integer.Logarithms, GHC.Ix, + GHC.List, GHC.MVar, GHC.Maybe, GHC.Natural, GHC.Num, + GHC.Num.BigNat from ghc-bignum-1.2:GHC.Num.BigNat, + GHC.Num.Integer from ghc-bignum-1.2:GHC.Num.Integer, + GHC.Num.Natural from ghc-bignum-1.2:GHC.Num.Natural, GHC.OldList, + GHC.OverloadedLabels, GHC.Pack, GHC.Profiling, GHC.Ptr, + GHC.RTS.Flags, GHC.Read, GHC.Real, GHC.Records, GHC.ResponseFile, + GHC.ST, GHC.STRef, GHC.Show, GHC.Stable, GHC.StableName, GHC.Stack, + GHC.Stack.CCS, GHC.Stack.Types, GHC.StaticPtr, GHC.Stats, + GHC.Storable, GHC.TopHandler, GHC.TypeLits, GHC.TypeLits.Internal, + GHC.TypeNats, GHC.TypeNats.Internal, 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.IO.Handle.Lock.Common + GHC.IO.Handle.Lock.Flock GHC.IO.Handle.Lock.LinuxOFD + GHC.IO.Handle.Lock.NoOp GHC.IO.Handle.Lock.Windows + GHC.StaticPtr.Internal GHC.Event.Arr GHC.Event.Array + GHC.Event.Internal GHC.Event.Internal.Types GHC.Event.IntTable + GHC.Event.IntVar GHC.Event.PSQ GHC.Event.Unique + System.Environment.ExecutablePath System.CPUTime.Utils + GHC.Event.Control GHC.Event.EPoll GHC.Event.KQueue + GHC.Event.Manager GHC.Event.Poll GHC.Event.Thread + GHC.Event.TimerManager System.CPUTime.Posix.ClockGetTime + System.CPUTime.Posix.Times System.CPUTime.Posix.RUsage + System.CPUTime.Unsupported +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSbase-4.16.4.0 +include-dirs: +includes: HsBase.h +depends: ghc-bignum-1.2 ghc-prim-0.8.0 rts +haddock-interfaces: +haddock-html: +--- +name: binary +version: 0.8.9.0 +visibility: public +id: binary-0.8.9.0 +key: binary-0.8.9.0 +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 +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSbinary-0.8.9.0 +depends: + array-0.5.4.0 base-4.16.4.0 bytestring-0.11.4.0 containers-0.6.5.1 +haddock-interfaces: +haddock-html: +--- +name: bytestring +version: 0.11.4.0 +visibility: public +id: bytestring-0.11.4.0 +key: bytestring-0.11.4.0 +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: + Haskell Bytestring Team , Core Libraries Committee +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 be converted to or from a 'ByteString'. 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.Builder.RealFloat Data.ByteString.Char8 + Data.ByteString.Internal Data.ByteString.Lazy + 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.ASCII + Data.ByteString.Builder.Prim.Binary + Data.ByteString.Builder.Prim.Internal.Base16 + Data.ByteString.Builder.Prim.Internal.Floating + Data.ByteString.Builder.RealFloat.F2S + Data.ByteString.Builder.RealFloat.D2S + Data.ByteString.Builder.RealFloat.Internal + Data.ByteString.Builder.RealFloat.TableGenerator + Data.ByteString.Internal.Type Data.ByteString.Lazy.Internal.Deque +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSbytestring-0.11.4.0 +include-dirs: +includes: fpstring.h +depends: + base-4.16.4.0 deepseq-1.4.6.1 ghc-prim-0.8.0 + template-haskell-2.18.0.0 +haddock-interfaces: +haddock-html: +--- +name: containers +version: 0.6.5.1 +visibility: public +id: containers-0.6.5.1 +key: containers-0.6.5.1 +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.Containers.ListUtils 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.IntMap.Strict.Internal Data.IntSet Data.IntSet.Internal + Data.Map Data.Map.Internal Data.Map.Internal.Debug Data.Map.Lazy + Data.Map.Merge.Lazy Data.Map.Merge.Strict Data.Map.Strict + Data.Map.Strict.Internal 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.StrictMaybe + Utils.Containers.Internal.PtrEquality + Utils.Containers.Internal.Coercions + Utils.Containers.Internal.TypeError + Data.Map.Internal.DeprecatedShowTree + Data.IntMap.Internal.DeprecatedDebug +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HScontainers-0.6.5.1 +depends: array-0.5.4.0 base-4.16.4.0 deepseq-1.4.6.1 +haddock-interfaces: +haddock-html: +--- +name: deepseq +version: 1.4.6.1 +visibility: public +id: deepseq-1.4.6.1 +key: deepseq-1.4.6.1 +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. See module documentation in "Control.DeepSeq" for more + details. +category: Control +exposed: True +exposed-modules: Control.DeepSeq +hidden-modules: Control.DeepSeq.BackDoor +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSdeepseq-1.4.6.1 +depends: array-0.5.4.0 base-4.16.4.0 +haddock-interfaces: +haddock-html: +--- +name: directory +version: 1.3.6.2 +visibility: public +id: directory-1.3.6.2 +key: directory-1.3.6.2 +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 +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSdirectory-1.3.6.2 +depends: + base-4.16.4.0 filepath-1.4.2.2 time-1.11.1.1 unix-2.7.2.2 +haddock-interfaces: +haddock-html: +--- +name: exceptions +version: 0.10.4 +visibility: public +id: exceptions-0.10.4 +key: exceptions-0.10.4 +license: BSD-3-Clause +copyright: + Copyright (C) 2013-2015 Edward A. Kmett + Copyright (C) 2012 Google Inc. +maintainer: Edward A. Kmett +author: Edward A. Kmett +stability: provisional +homepage: http://github.com/ekmett/exceptions/ +synopsis: Extensible optionally-pure exceptions +description: Extensible optionally-pure exceptions. +category: Control, Exceptions, Monad +exposed: True +exposed-modules: Control.Monad.Catch Control.Monad.Catch.Pure +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSexceptions-0.10.4 +depends: + base-4.16.4.0 mtl-2.2.2 stm-2.5.0.2 template-haskell-2.18.0.0 + transformers-0.5.6.2 +haddock-interfaces: +haddock-html: +--- +name: filepath +version: 1.4.2.2 +visibility: public +id: filepath-1.4.2.2 +key: filepath-1.4.2.2 +license: BSD-3-Clause +copyright: Neil Mitchell 2005-2020 +maintainer: Julian Ospald +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 +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSfilepath-1.4.2.2 +depends: base-4.16.4.0 +haddock-interfaces: +haddock-html: +--- +name: ghc +version: 9.2.8 +visibility: public +id: ghc-9.2.8 +key: ghc-9.2.8 +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. + See + for more information. +category: Development +exposed-modules: + GHC, GHC.Builtin.Names, GHC.Builtin.Names.TH, GHC.Builtin.PrimOps, + GHC.Builtin.Types, GHC.Builtin.Types.Literals, + GHC.Builtin.Types.Prim, GHC.Builtin.Uniques, GHC.Builtin.Utils, + GHC.ByteCode.Asm, GHC.ByteCode.InfoTable, GHC.ByteCode.Instr, + GHC.ByteCode.Linker, GHC.ByteCode.Types, GHC.Cmm, GHC.Cmm.BlockId, + GHC.Cmm.CLabel, GHC.Cmm.CallConv, GHC.Cmm.CommonBlockElim, + GHC.Cmm.ContFlowOpt, GHC.Cmm.Dataflow, GHC.Cmm.Dataflow.Block, + GHC.Cmm.Dataflow.Collections, GHC.Cmm.Dataflow.Graph, + GHC.Cmm.Dataflow.Label, GHC.Cmm.DebugBlock, GHC.Cmm.Expr, + GHC.Cmm.Graph, GHC.Cmm.Info, GHC.Cmm.Info.Build, GHC.Cmm.LRegSet, + GHC.Cmm.LayoutStack, GHC.Cmm.Lexer, GHC.Cmm.Lint, GHC.Cmm.Liveness, + GHC.Cmm.MachOp, GHC.Cmm.Node, GHC.Cmm.Opt, GHC.Cmm.Parser, + GHC.Cmm.Parser.Monad, GHC.Cmm.Pipeline, GHC.Cmm.Ppr, + GHC.Cmm.Ppr.Decl, GHC.Cmm.Ppr.Expr, GHC.Cmm.ProcPoint, + GHC.Cmm.Sink, GHC.Cmm.Switch, GHC.Cmm.Switch.Implement, + GHC.Cmm.Type, GHC.Cmm.Utils, GHC.CmmToAsm, GHC.CmmToAsm.AArch64, + GHC.CmmToAsm.AArch64.CodeGen, GHC.CmmToAsm.AArch64.Cond, + GHC.CmmToAsm.AArch64.Instr, GHC.CmmToAsm.AArch64.Ppr, + GHC.CmmToAsm.AArch64.RegInfo, GHC.CmmToAsm.AArch64.Regs, + GHC.CmmToAsm.BlockLayout, GHC.CmmToAsm.CFG, + GHC.CmmToAsm.CFG.Dominators, GHC.CmmToAsm.CFG.Weight, + GHC.CmmToAsm.CPrim, GHC.CmmToAsm.Config, GHC.CmmToAsm.Dwarf, + GHC.CmmToAsm.Dwarf.Constants, GHC.CmmToAsm.Dwarf.Types, + GHC.CmmToAsm.Format, GHC.CmmToAsm.Instr, GHC.CmmToAsm.Monad, + GHC.CmmToAsm.PIC, GHC.CmmToAsm.PPC, GHC.CmmToAsm.PPC.CodeGen, + GHC.CmmToAsm.PPC.Cond, GHC.CmmToAsm.PPC.Instr, + GHC.CmmToAsm.PPC.Ppr, GHC.CmmToAsm.PPC.RegInfo, + GHC.CmmToAsm.PPC.Regs, GHC.CmmToAsm.Ppr, GHC.CmmToAsm.Reg.Graph, + GHC.CmmToAsm.Reg.Graph.Base, GHC.CmmToAsm.Reg.Graph.Coalesce, + GHC.CmmToAsm.Reg.Graph.Spill, GHC.CmmToAsm.Reg.Graph.SpillClean, + GHC.CmmToAsm.Reg.Graph.SpillCost, GHC.CmmToAsm.Reg.Graph.Stats, + GHC.CmmToAsm.Reg.Graph.TrivColorable, GHC.CmmToAsm.Reg.Graph.X86, + GHC.CmmToAsm.Reg.Linear, GHC.CmmToAsm.Reg.Linear.AArch64, + GHC.CmmToAsm.Reg.Linear.Base, GHC.CmmToAsm.Reg.Linear.FreeRegs, + GHC.CmmToAsm.Reg.Linear.JoinToTargets, GHC.CmmToAsm.Reg.Linear.PPC, + GHC.CmmToAsm.Reg.Linear.SPARC, GHC.CmmToAsm.Reg.Linear.StackMap, + GHC.CmmToAsm.Reg.Linear.State, GHC.CmmToAsm.Reg.Linear.Stats, + GHC.CmmToAsm.Reg.Linear.X86, GHC.CmmToAsm.Reg.Linear.X86_64, + GHC.CmmToAsm.Reg.Liveness, GHC.CmmToAsm.Reg.Target, + GHC.CmmToAsm.Reg.Utils, GHC.CmmToAsm.SPARC, + GHC.CmmToAsm.SPARC.AddrMode, GHC.CmmToAsm.SPARC.Base, + GHC.CmmToAsm.SPARC.CodeGen, GHC.CmmToAsm.SPARC.CodeGen.Amode, + GHC.CmmToAsm.SPARC.CodeGen.Base, + GHC.CmmToAsm.SPARC.CodeGen.CondCode, + GHC.CmmToAsm.SPARC.CodeGen.Expand, + GHC.CmmToAsm.SPARC.CodeGen.Gen32, GHC.CmmToAsm.SPARC.CodeGen.Gen64, + GHC.CmmToAsm.SPARC.CodeGen.Sanity, GHC.CmmToAsm.SPARC.Cond, + GHC.CmmToAsm.SPARC.Imm, GHC.CmmToAsm.SPARC.Instr, + GHC.CmmToAsm.SPARC.Ppr, GHC.CmmToAsm.SPARC.Regs, + GHC.CmmToAsm.SPARC.ShortcutJump, GHC.CmmToAsm.SPARC.Stack, + GHC.CmmToAsm.Types, GHC.CmmToAsm.Utils, GHC.CmmToAsm.X86, + GHC.CmmToAsm.X86.CodeGen, GHC.CmmToAsm.X86.Cond, + GHC.CmmToAsm.X86.Instr, GHC.CmmToAsm.X86.Ppr, + GHC.CmmToAsm.X86.RegInfo, GHC.CmmToAsm.X86.Regs, GHC.CmmToC, + GHC.CmmToLlvm, GHC.CmmToLlvm.Base, GHC.CmmToLlvm.CodeGen, + GHC.CmmToLlvm.Data, GHC.CmmToLlvm.Mangler, GHC.CmmToLlvm.Ppr, + GHC.CmmToLlvm.Regs, GHC.Core, GHC.Core.Class, GHC.Core.Coercion, + GHC.Core.Coercion.Axiom, GHC.Core.Coercion.Opt, GHC.Core.ConLike, + GHC.Core.DataCon, GHC.Core.FVs, GHC.Core.FamInstEnv, + GHC.Core.InstEnv, GHC.Core.Lint, GHC.Core.Make, GHC.Core.Map.Expr, + GHC.Core.Map.Type, GHC.Core.Multiplicity, GHC.Core.Opt.Arity, + GHC.Core.Opt.CSE, GHC.Core.Opt.CallArity, GHC.Core.Opt.CallerCC, + GHC.Core.Opt.ConstantFold, GHC.Core.Opt.CprAnal, + GHC.Core.Opt.DmdAnal, GHC.Core.Opt.Exitify, GHC.Core.Opt.FloatIn, + GHC.Core.Opt.FloatOut, GHC.Core.Opt.LiberateCase, + GHC.Core.Opt.Monad, GHC.Core.Opt.OccurAnal, GHC.Core.Opt.Pipeline, + GHC.Core.Opt.SetLevels, GHC.Core.Opt.Simplify, + GHC.Core.Opt.Simplify.Env, GHC.Core.Opt.Simplify.Monad, + GHC.Core.Opt.Simplify.Utils, GHC.Core.Opt.SpecConstr, + GHC.Core.Opt.Specialise, GHC.Core.Opt.StaticArgs, + GHC.Core.Opt.WorkWrap, GHC.Core.Opt.WorkWrap.Utils, + GHC.Core.PatSyn, GHC.Core.Ppr, GHC.Core.Predicate, GHC.Core.Rules, + GHC.Core.Seq, GHC.Core.SimpleOpt, GHC.Core.Stats, GHC.Core.Subst, + GHC.Core.Tidy, GHC.Core.TyCo.FVs, GHC.Core.TyCo.Ppr, + GHC.Core.TyCo.Rep, GHC.Core.TyCo.Subst, GHC.Core.TyCo.Tidy, + GHC.Core.TyCon, GHC.Core.TyCon.Env, GHC.Core.TyCon.RecWalk, + GHC.Core.TyCon.Set, GHC.Core.Type, GHC.Core.Unfold, + GHC.Core.Unfold.Make, GHC.Core.Unify, GHC.Core.UsageEnv, + GHC.Core.Utils, GHC.CoreToIface, GHC.CoreToStg, GHC.CoreToStg.Prep, + GHC.Data.Bag, GHC.Data.Bitmap, GHC.Data.BooleanFormula, + GHC.Data.EnumSet, GHC.Data.FastMutInt, GHC.Data.FastString, + GHC.Data.FastString.Env, GHC.Data.FiniteMap, GHC.Data.Graph.Base, + GHC.Data.Graph.Color, GHC.Data.Graph.Directed, GHC.Data.Graph.Ops, + GHC.Data.Graph.Ppr, GHC.Data.Graph.UnVar, GHC.Data.IOEnv, + GHC.Data.List.SetOps, GHC.Data.Maybe, GHC.Data.OrdList, + GHC.Data.Pair, GHC.Data.Stream, GHC.Data.StringBuffer, + GHC.Data.TrieMap, GHC.Data.UnionFind, GHC.Driver.Backend, + GHC.Driver.Backpack, GHC.Driver.Backpack.Syntax, + GHC.Driver.CmdLine, GHC.Driver.CodeOutput, GHC.Driver.Config, + GHC.Driver.Env, GHC.Driver.Env.Types, GHC.Driver.Errors, + GHC.Driver.Flags, GHC.Driver.Hooks, GHC.Driver.Main, + GHC.Driver.Make, GHC.Driver.MakeFile, GHC.Driver.Monad, + GHC.Driver.Phases, GHC.Driver.Pipeline, GHC.Driver.Pipeline.Monad, + GHC.Driver.Plugins, GHC.Driver.Ppr, GHC.Driver.Session, GHC.Hs, + GHC.Hs.Binds, GHC.Hs.Decls, GHC.Hs.Doc, GHC.Hs.Dump, GHC.Hs.Expr, + GHC.Hs.Extension, GHC.Hs.ImpExp, GHC.Hs.Instances, GHC.Hs.Lit, + GHC.Hs.Pat, GHC.Hs.Stats, GHC.Hs.Type, GHC.Hs.Utils, GHC.HsToCore, + GHC.HsToCore.Arrows, GHC.HsToCore.Binds, GHC.HsToCore.Coverage, + GHC.HsToCore.Docs, GHC.HsToCore.Expr, GHC.HsToCore.Foreign.Call, + GHC.HsToCore.Foreign.Decl, GHC.HsToCore.GuardedRHSs, + GHC.HsToCore.ListComp, GHC.HsToCore.Match, + GHC.HsToCore.Match.Constructor, GHC.HsToCore.Match.Literal, + GHC.HsToCore.Monad, GHC.HsToCore.Pmc, GHC.HsToCore.Pmc.Check, + GHC.HsToCore.Pmc.Desugar, GHC.HsToCore.Pmc.Ppr, + GHC.HsToCore.Pmc.Solver, GHC.HsToCore.Pmc.Solver.Types, + GHC.HsToCore.Pmc.Types, GHC.HsToCore.Pmc.Utils, GHC.HsToCore.Quote, + GHC.HsToCore.Types, GHC.HsToCore.Usage, GHC.HsToCore.Utils, + GHC.Iface.Binary, GHC.Iface.Env, GHC.Iface.Ext.Ast, + GHC.Iface.Ext.Binary, GHC.Iface.Ext.Debug, GHC.Iface.Ext.Fields, + GHC.Iface.Ext.Types, GHC.Iface.Ext.Utils, GHC.Iface.Load, + GHC.Iface.Make, GHC.Iface.Recomp, GHC.Iface.Recomp.Binary, + GHC.Iface.Recomp.Flags, GHC.Iface.Rename, GHC.Iface.Syntax, + GHC.Iface.Tidy, GHC.Iface.Tidy.StaticPtrTable, GHC.Iface.Type, + GHC.IfaceToCore, GHC.Linker, GHC.Linker.Dynamic, + GHC.Linker.ExtraObj, GHC.Linker.Loader, GHC.Linker.MacOS, + GHC.Linker.Static, GHC.Linker.Types, GHC.Linker.Unit, + GHC.Linker.Windows, GHC.Llvm, GHC.Llvm.MetaData, GHC.Llvm.Ppr, + GHC.Llvm.Syntax, GHC.Llvm.Types, GHC.Parser, GHC.Parser.Annotation, + GHC.Parser.CharClass, GHC.Parser.Errors, GHC.Parser.Errors.Ppr, + GHC.Parser.Header, GHC.Parser.Lexer, GHC.Parser.PostProcess, + GHC.Parser.PostProcess.Haddock, GHC.Parser.Types, GHC.Parser.Utils, + GHC.Platform, GHC.Platform.AArch64, GHC.Platform.ARM, + GHC.Platform.ArchOS from ghc-boot-9.2.8:GHC.Platform.ArchOS, + GHC.Platform.Constants, + GHC.Platform.Host from ghc-boot-9.2.8:GHC.Platform.Host, + GHC.Platform.NoRegs, GHC.Platform.PPC, GHC.Platform.Profile, + GHC.Platform.RISCV64, GHC.Platform.Reg, GHC.Platform.Reg.Class, + GHC.Platform.Regs, GHC.Platform.S390X, GHC.Platform.SPARC, + GHC.Platform.Ways, GHC.Platform.X86, GHC.Platform.X86_64, + GHC.Plugins, GHC.Prelude, GHC.Rename.Bind, GHC.Rename.Env, + GHC.Rename.Expr, GHC.Rename.Fixity, GHC.Rename.HsType, + GHC.Rename.Module, GHC.Rename.Names, GHC.Rename.Pat, + GHC.Rename.Splice, GHC.Rename.Unbound, GHC.Rename.Utils, + GHC.Runtime.Context, GHC.Runtime.Debugger, GHC.Runtime.Eval, + GHC.Runtime.Eval.Types, GHC.Runtime.Heap.Inspect, + GHC.Runtime.Heap.Layout, GHC.Runtime.Interpreter, + GHC.Runtime.Interpreter.Types, GHC.Runtime.Loader, GHC.Settings, + GHC.Settings.Config, GHC.Settings.Constants, GHC.Settings.IO, + GHC.Stg.CSE, GHC.Stg.Debug, GHC.Stg.DepAnal, GHC.Stg.FVs, + GHC.Stg.Lift, GHC.Stg.Lift.Analysis, GHC.Stg.Lift.Monad, + GHC.Stg.Lint, GHC.Stg.Pipeline, GHC.Stg.Stats, GHC.Stg.Subst, + GHC.Stg.Syntax, GHC.Stg.Unarise, GHC.StgToByteCode, GHC.StgToCmm, + GHC.StgToCmm.ArgRep, GHC.StgToCmm.Bind, GHC.StgToCmm.CgUtils, + GHC.StgToCmm.Closure, GHC.StgToCmm.DataCon, GHC.StgToCmm.Env, + GHC.StgToCmm.Expr, GHC.StgToCmm.ExtCode, GHC.StgToCmm.Foreign, + GHC.StgToCmm.Heap, GHC.StgToCmm.Hpc, GHC.StgToCmm.Layout, + GHC.StgToCmm.Lit, GHC.StgToCmm.Monad, GHC.StgToCmm.Prim, + GHC.StgToCmm.Prof, GHC.StgToCmm.Ticky, GHC.StgToCmm.Types, + GHC.StgToCmm.Utils, GHC.SysTools, GHC.SysTools.Ar, + GHC.SysTools.BaseDir, GHC.SysTools.Elf, GHC.SysTools.Info, + GHC.SysTools.Process, GHC.SysTools.Tasks, GHC.SysTools.Terminal, + GHC.Tc.Deriv, GHC.Tc.Deriv.Functor, GHC.Tc.Deriv.Generate, + GHC.Tc.Deriv.Generics, GHC.Tc.Deriv.Infer, GHC.Tc.Deriv.Utils, + GHC.Tc.Errors, GHC.Tc.Errors.Hole, GHC.Tc.Errors.Hole.FitTypes, + GHC.Tc.Gen.Annotation, GHC.Tc.Gen.App, GHC.Tc.Gen.Arrow, + GHC.Tc.Gen.Bind, GHC.Tc.Gen.Default, GHC.Tc.Gen.Export, + GHC.Tc.Gen.Expr, GHC.Tc.Gen.Foreign, GHC.Tc.Gen.Head, + GHC.Tc.Gen.HsType, GHC.Tc.Gen.Match, GHC.Tc.Gen.Pat, + GHC.Tc.Gen.Rule, GHC.Tc.Gen.Sig, GHC.Tc.Gen.Splice, + GHC.Tc.Instance.Class, GHC.Tc.Instance.Family, + GHC.Tc.Instance.FunDeps, GHC.Tc.Instance.Typeable, GHC.Tc.Module, + GHC.Tc.Plugin, GHC.Tc.Solver, GHC.Tc.Solver.Canonical, + GHC.Tc.Solver.Interact, GHC.Tc.Solver.Monad, GHC.Tc.Solver.Rewrite, + GHC.Tc.TyCl, GHC.Tc.TyCl.Build, GHC.Tc.TyCl.Class, + GHC.Tc.TyCl.Instance, GHC.Tc.TyCl.PatSyn, GHC.Tc.TyCl.Utils, + GHC.Tc.Types, GHC.Tc.Types.Constraint, GHC.Tc.Types.EvTerm, + GHC.Tc.Types.Evidence, GHC.Tc.Types.Origin, GHC.Tc.Utils.Backpack, + GHC.Tc.Utils.Env, GHC.Tc.Utils.Instantiate, GHC.Tc.Utils.Monad, + GHC.Tc.Utils.TcMType, GHC.Tc.Utils.TcType, GHC.Tc.Utils.Unify, + GHC.Tc.Utils.Zonk, GHC.Tc.Validity, GHC.ThToHs, + GHC.Types.Annotations, GHC.Types.Avail, GHC.Types.Basic, + GHC.Types.CompleteMatch, GHC.Types.CostCentre, + GHC.Types.CostCentre.State, GHC.Types.Cpr, GHC.Types.Demand, + GHC.Types.Error, GHC.Types.FieldLabel, GHC.Types.Fixity, + GHC.Types.Fixity.Env, GHC.Types.ForeignCall, + GHC.Types.ForeignStubs, GHC.Types.HpcInfo, GHC.Types.IPE, + GHC.Types.Id, GHC.Types.Id.Info, GHC.Types.Id.Make, + GHC.Types.Literal, GHC.Types.Meta, GHC.Types.Name, + GHC.Types.Name.Cache, GHC.Types.Name.Env, + GHC.Types.Name.Occurrence, GHC.Types.Name.Ppr, + GHC.Types.Name.Reader, GHC.Types.Name.Set, GHC.Types.Name.Shape, + GHC.Types.RepType, GHC.Types.SafeHaskell, GHC.Types.SourceError, + GHC.Types.SourceFile, GHC.Types.SourceText, GHC.Types.SrcLoc, + GHC.Types.Target, GHC.Types.Tickish, GHC.Types.TyThing, + GHC.Types.TyThing.Ppr, GHC.Types.TypeEnv, GHC.Types.Unique, + GHC.Types.Unique.DFM, GHC.Types.Unique.DSet, GHC.Types.Unique.FM, + GHC.Types.Unique.Map, GHC.Types.Unique.SDFM, GHC.Types.Unique.Set, + GHC.Types.Unique.Supply, GHC.Types.Var, GHC.Types.Var.Env, + GHC.Types.Var.Set, GHC.Unit, GHC.Unit.Env, GHC.Unit.External, + GHC.Unit.Finder, GHC.Unit.Finder.Types, GHC.Unit.Home, + GHC.Unit.Home.ModInfo, GHC.Unit.Info, GHC.Unit.Module, + GHC.Unit.Module.Deps, GHC.Unit.Module.Env, GHC.Unit.Module.Graph, + GHC.Unit.Module.Imported, GHC.Unit.Module.Location, + GHC.Unit.Module.ModDetails, GHC.Unit.Module.ModGuts, + GHC.Unit.Module.ModIface, GHC.Unit.Module.ModSummary, + GHC.Unit.Module.Name, GHC.Unit.Module.Status, + GHC.Unit.Module.Warnings, GHC.Unit.Parser, GHC.Unit.Ppr, + GHC.Unit.State, GHC.Unit.Types, GHC.Utils.Asm, GHC.Utils.Binary, + GHC.Utils.Binary.Typeable, GHC.Utils.BufHandle, + GHC.Utils.CliOption, GHC.Utils.Error, GHC.Utils.Exception, + GHC.Utils.FV, GHC.Utils.Fingerprint, GHC.Utils.GlobalVars, + GHC.Utils.IO.Unsafe, GHC.Utils.Json, GHC.Utils.Lexeme, + GHC.Utils.Logger, GHC.Utils.Misc, GHC.Utils.Monad, + GHC.Utils.Monad.State, GHC.Utils.Outputable, GHC.Utils.Panic, + GHC.Utils.Panic.Plain, GHC.Utils.Ppr, GHC.Utils.Ppr.Colour, + GHC.Utils.TmpFs, Language.Haskell.Syntax, + Language.Haskell.Syntax.Binds, Language.Haskell.Syntax.Decls, + Language.Haskell.Syntax.Expr, Language.Haskell.Syntax.Extension, + Language.Haskell.Syntax.Lit, Language.Haskell.Syntax.Pat, + Language.Haskell.Syntax.Type +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSghc-9.2.8 +include-dirs: +depends: + array-0.5.4.0 base-4.16.4.0 binary-0.8.9.0 bytestring-0.11.4.0 + containers-0.6.5.1 deepseq-1.4.6.1 directory-1.3.6.2 + exceptions-0.10.4 filepath-1.4.2.2 ghc-boot-9.2.8 ghc-heap-9.2.8 + ghci-9.2.8 hpc-0.6.1.0 process-1.6.16.0 template-haskell-2.18.0.0 + terminfo-0.4.1.5 time-1.11.1.1 transformers-0.5.6.2 unix-2.7.2.2 +haddock-interfaces: +haddock-html: +--- +name: ghc-bignum +version: 1.2 +visibility: public +id: ghc-bignum-1.2 +key: ghc-bignum-1.2 +license: BSD-3-Clause +maintainer: libraries@haskell.org +author: Sylvain Henry +synopsis: GHC BigNum library +description: + This package provides the low-level implementation of the standard + 'BigNat', 'Natural' and 'Integer' types. +category: Numeric, Algebra, GHC +exposed: True +exposed-modules: + GHC.Num.Backend GHC.Num.Backend.Native GHC.Num.Backend.Selected + GHC.Num.BigNat GHC.Num.Integer GHC.Num.Natural GHC.Num.Primitives + GHC.Num.WordArray +hidden-modules: GHC.Num.Backend.GMP +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSghc-bignum-1.2 +extra-libraries: gmp +include-dirs: +depends: ghc-prim-0.8.0 +haddock-interfaces: +haddock-html: +--- +name: ghc-boot +version: 9.2.8 +visibility: public +id: ghc-boot-9.2.8 +key: ghc-boot-9.2.8 +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.Unit.Database": 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.BaseDir, GHC.Data.ShortText, GHC.Data.SizedSeq, + GHC.ForeignSrcLang, + GHC.ForeignSrcLang.Type from ghc-boot-th-9.2.8:GHC.ForeignSrcLang.Type, + GHC.HandleEncoding, GHC.LanguageExtensions, + GHC.LanguageExtensions.Type from ghc-boot-th-9.2.8:GHC.LanguageExtensions.Type, + GHC.Lexeme from ghc-boot-th-9.2.8:GHC.Lexeme, GHC.Platform.ArchOS, + GHC.Platform.Host, GHC.Serialized, GHC.Settings.Utils, + GHC.UniqueSubdir, GHC.Unit.Database, GHC.Utils.Encoding, + GHC.Version +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSghc-boot-9.2.8 +depends: + base-4.16.4.0 binary-0.8.9.0 bytestring-0.11.4.0 containers-0.6.5.1 + deepseq-1.4.6.1 directory-1.3.6.2 filepath-1.4.2.2 + ghc-boot-th-9.2.8 unix-2.7.2.2 +haddock-interfaces: +haddock-html: +--- +name: ghc-boot-th +version: 9.2.8 +visibility: public +id: ghc-boot-th-9.2.8 +key: ghc-boot-th-9.2.8 +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 +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSghc-boot-th-9.2.8 +depends: base-4.16.4.0 +haddock-interfaces: +haddock-html: +--- +name: ghc-compact +version: 0.1.0.0 +visibility: public +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. + This package provides a low-level API; see also the which provides a user-facing API. +category: Data +exposed: True +exposed-modules: GHC.Compact GHC.Compact.Serialized +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSghc-compact-0.1.0.0 +depends: base-4.16.4.0 bytestring-0.11.4.0 ghc-prim-0.8.0 +haddock-interfaces: +haddock-html: +--- +name: ghc-heap +version: 9.2.8 +visibility: public +id: ghc-heap-9.2.8 +key: ghc-heap-9.2.8 +license: BSD-3-Clause +maintainer: libraries@haskell.org +synopsis: Functions for walking GHC's heap +description: + This package provides functions for walking the GHC heap data structures + and retrieving information about those data structures. +category: GHC +exposed: True +exposed-modules: + GHC.Exts.Heap GHC.Exts.Heap.ClosureTypes GHC.Exts.Heap.Closures + GHC.Exts.Heap.Constants GHC.Exts.Heap.FFIClosures + GHC.Exts.Heap.FFIClosures_ProfilingDisabled + GHC.Exts.Heap.FFIClosures_ProfilingEnabled GHC.Exts.Heap.InfoTable + GHC.Exts.Heap.InfoTable.Types GHC.Exts.Heap.InfoTableProf + GHC.Exts.Heap.ProfInfo.PeekProfInfo + GHC.Exts.Heap.ProfInfo.PeekProfInfo_ProfilingDisabled + GHC.Exts.Heap.ProfInfo.PeekProfInfo_ProfilingEnabled + GHC.Exts.Heap.ProfInfo.Types GHC.Exts.Heap.Utils +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSghc-heap-9.2.8 +depends: base-4.16.4.0 containers-0.6.5.1 ghc-prim-0.8.0 rts +haddock-interfaces: +haddock-html: +--- +name: ghc-prim +version: 0.8.0 +visibility: public +id: ghc-prim-0.8.0 +key: ghc-prim-0.8.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.Magic GHC.Prim.Exception + GHC.Prim.Ext GHC.Prim.Panic GHC.PrimopWrappers GHC.Tuple GHC.Types + GHC.Prim +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSghc-prim-0.8.0 +extra-libraries: c m +depends: rts +haddock-interfaces: +haddock-html: +--- +name: ghci +version: 9.2.8 +visibility: public +id: ghci-9.2.8 +key: ghci-9.2.8 +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 +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSghci-9.2.8 +depends: + array-0.5.4.0 base-4.16.4.0 binary-0.8.9.0 bytestring-0.11.4.0 + containers-0.6.5.1 deepseq-1.4.6.1 filepath-1.4.2.2 ghc-boot-9.2.8 + ghc-heap-9.2.8 ghc-prim-0.8.0 rts template-haskell-2.18.0.0 + transformers-0.5.6.2 unix-2.7.2.2 +haddock-interfaces: +haddock-html: +--- +name: haskeline +version: 0.8.2 +visibility: public +id: haskeline-0.8.2 +key: haskeline-0.8.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.Internal +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 +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HShaskeline-0.8.2 +depends: + base-4.16.4.0 bytestring-0.11.4.0 containers-0.6.5.1 + directory-1.3.6.2 exceptions-0.10.4 filepath-1.4.2.2 + process-1.6.16.0 stm-2.5.0.2 terminfo-0.4.1.5 transformers-0.5.6.2 + unix-2.7.2.2 +haddock-interfaces: +haddock-html: +--- +name: hpc +version: 0.6.1.0 +visibility: public +id: hpc-0.6.1.0 +key: hpc-0.6.1.0 +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 +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HShpc-0.6.1.0 +depends: + base-4.16.4.0 containers-0.6.5.1 deepseq-1.4.6.1 directory-1.3.6.2 + filepath-1.4.2.2 time-1.11.1.1 +haddock-interfaces: +haddock-html: +--- +name: integer-gmp +version: 1.1 +visibility: public +id: integer-gmp-1.1 +key: integer-gmp-1.1 +license: BSD-3-Clause +maintainer: hvr@gnu.org +author: Herbert Valerio Riedel +synopsis: Integer library based on GMP +description: + This package used to provide an implementation of the standard 'Integer' + type based on the + . + It is now deprecated in favor of the 'ghc-bignum' package. + Its purpose is to provide backward compatibility for codes directly + depending on the `integer-gmp` package. +category: Numeric, Algebra +exposed: True +exposed-modules: GHC.Integer.GMP.Internals +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSinteger-gmp-1.1 +depends: base-4.16.4.0 ghc-bignum-1.2 ghc-prim-0.8.0 +haddock-interfaces: +haddock-html: +--- +name: libiserv +version: 9.2.8 +visibility: public +id: libiserv-9.2.8 +key: libiserv-9.2.8 +license: BSD-3-Clause +copyright: XXX +maintainer: XXX +author: XXX +synopsis: + Provides shared functionality between iserv and iserv-proxy. +description: + Provides shared functionality between iserv and iserv-proxy. +category: Development +exposed: True +exposed-modules: GHCi.Utils Lib +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSlibiserv-9.2.8 +depends: + base-4.16.4.0 binary-0.8.9.0 bytestring-0.11.4.0 containers-0.6.5.1 + deepseq-1.4.6.1 ghci-9.2.8 unix-2.7.2.2 +haddock-interfaces: +haddock-html: +--- +name: mtl +version: 2.2.2 +visibility: public +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 +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSmtl-2.2.2 +depends: base-4.16.4.0 transformers-0.5.6.2 +haddock-interfaces: +haddock-html: +--- +name: parsec +version: 3.1.15.0 +visibility: public +id: parsec-3.1.15.0 +key: parsec-3.1.15.0 +license: BSD-2-Clause +maintainer: + Oleg Grenrus , 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 +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSparsec-3.1.15.0 +depends: + base-4.16.4.0 bytestring-0.11.4.0 mtl-2.2.2 text-1.2.5.0 +haddock-interfaces: +haddock-html: +--- +name: pretty +version: 1.1.3.6 +visibility: public +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 +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSpretty-1.1.3.6 +depends: base-4.16.4.0 deepseq-1.4.6.1 ghc-prim-0.8.0 +haddock-interfaces: +haddock-html: +--- +name: process +version: 1.6.16.0 +visibility: public +id: process-1.6.16.0 +key: process-1.6.16.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 +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSprocess-1.6.16.0 +include-dirs: +includes: runProcess.h +depends: + base-4.16.4.0 deepseq-1.4.6.1 directory-1.3.6.2 filepath-1.4.2.2 + unix-2.7.2.2 +haddock-interfaces: +haddock-html: +--- +name: stm +version: 2.5.0.2 +visibility: public +id: stm-2.5.0.2 +key: stm-2.5.0.2 +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 +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSstm-2.5.0.2 +depends: array-0.5.4.0 base-4.16.4.0 +haddock-interfaces: +haddock-html: +--- +name: template-haskell +version: 2.18.0.0 +visibility: public +id: template-haskell-2.18.0.0 +key: template-haskell-2.18.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.CodeDo + 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 +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HStemplate-haskell-2.18.0.0 +depends: + base-4.16.4.0 ghc-boot-th-9.2.8 ghc-prim-0.8.0 pretty-1.1.3.6 +haddock-interfaces: +haddock-html: +--- +name: terminfo +version: 0.4.1.5 +visibility: public +id: terminfo-0.4.1.5 +key: terminfo-0.4.1.5 +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 +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSterminfo-0.4.1.5 +extra-libraries: tinfo +depends: base-4.16.4.0 +haddock-interfaces: +haddock-html: +--- +name: text +version: 1.2.5.0 +visibility: public +id: text-1.2.5.0 +key: text-1.2.5.0 +license: BSD-2-Clause +copyright: 2009-2011 Bryan O'Sullivan, 2008-2009 Tom Harper +maintainer: + Haskell Text Team , Core Libraries Committee +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 + == ICU Support + 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/). + == Internal Representation: UTF-16 vs. UTF-8 + Currently the @text@ library uses UTF-16 as its internal representation + which is [neither a fixed-width nor always the most dense representation](http://utf8everywhere.org/) + for Unicode text. We're currently investigating the feasibility + of [changing Text's internal representation to UTF-8](https://github.com/text-utf8) + and if you need such a 'Text' type right now you might be interested in using the spin-off + packages and + . +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.ByteStringCompat + 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.PrimCompat 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 +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HStext-1.2.5.0 +depends: + array-0.5.4.0 base-4.16.4.0 binary-0.8.9.0 bytestring-0.11.4.0 + deepseq-1.4.6.1 ghc-prim-0.8.0 template-haskell-2.18.0.0 +haddock-interfaces: +haddock-html: +--- +name: time +version: 1.11.1.1 +visibility: public +id: time-1.11.1.1 +key: time-1.11.1.1 +license: BSD-3-Clause +maintainer: +author: Ashley Yakeley +stability: stable +homepage: https://github.com/haskell/time +synopsis: A time library +description: Time, clocks and calendars +category: Time +exposed: True +exposed-modules: + Data.Time Data.Time.Calendar Data.Time.Calendar.Easter + Data.Time.Calendar.Julian Data.Time.Calendar.Month + Data.Time.Calendar.MonthDay Data.Time.Calendar.OrdinalDate + Data.Time.Calendar.Quarter Data.Time.Calendar.WeekDate + Data.Time.Clock Data.Time.Clock.POSIX Data.Time.Clock.System + Data.Time.Clock.TAI Data.Time.Format Data.Time.Format.ISO8601 + Data.Time.Format.Internal Data.Time.LocalTime +hidden-modules: + Data.Format Data.Time.Calendar.Types Data.Time.Calendar.Private + Data.Time.Calendar.Days Data.Time.Calendar.Gregorian + Data.Time.Calendar.CalendarDiffDays Data.Time.Calendar.Week + 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.CalendarDiffTime + Data.Time.LocalTime.Internal.LocalTime + Data.Time.LocalTime.Internal.ZonedTime Data.Time.Format.Parse + Data.Time.Format.Locale Data.Time.Format.Format.Class + Data.Time.Format.Format.Instances Data.Time.Format.Parse.Class + Data.Time.Format.Parse.Instances +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HStime-1.11.1.1 +include-dirs: +depends: base-4.16.4.0 deepseq-1.4.6.1 +haddock-interfaces: +haddock-html: +--- +name: transformers +version: 0.5.6.2 +visibility: public +id: transformers-0.5.6.2 +key: transformers-0.5.6.2 +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.CPS 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.CPS + Control.Monad.Trans.Writer.Lazy Control.Monad.Trans.Writer.Strict + Data.Functor.Constant Data.Functor.Reverse +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HStransformers-0.5.6.2 +depends: base-4.16.4.0 +haddock-interfaces: +haddock-html: +--- +name: unix +version: 2.7.2.2 +visibility: public +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 +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSunix-2.7.2.2 +include-dirs: +includes: HsUnix.h execvpe.h +depends: base-4.16.4.0 bytestring-0.11.4.0 time-1.11.1.1 +haddock-interfaces: +haddock-html: +--- +name: xhtml +version: 3000.2.2.1 +visibility: public +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 +import-dirs: +library-dirs: +dynamic-library-dirs: +data-dir: +hs-libraries: HSxhtml-3000.2.2.1 +depends: base-4.16.4.0 +haddock-interfaces: +haddock-html: +--- +name: rts +version: 1.0.2 +visibility: public +id: rts +key: rts +license: BSD-3-Clause +maintainer: glasgow-haskell-users@haskell.org +exposed: True +library-dirs: +hs-libraries: HSrts +extra-libraries: m rt dl ffi +include-dirs: +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_GHCziIOPort_doubleReadException_closure" + "-Wl,-u,base_ControlziExceptionziBase_nonTermination_closure" + "-Wl,-u,base_ControlziExceptionziBase_nestedAtomically_closure" + "-Wl,-u,base_GHCziEventziThread_blockedOnBadFD_closure" + "-Wl,-u,base_GHCziExceptionziType_divZZeroException_closure" + "-Wl,-u,base_GHCziExceptionziType_underflowException_closure" + "-Wl,-u,base_GHCziExceptionziType_overflowException_closure" + "-Wl,-u,base_GHCziConcziSync_runSparks_closure" + "-Wl,-u,base_GHCziConcziIO_ensureIOManagerIsRunning_closure" + "-Wl,-u,base_GHCziConcziIO_interruptIOManager_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_xchg8" "-Wl,-u,hs_xchg16" + "-Wl,-u,hs_xchg32" "-Wl,-u,hs_xchg64" "-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" diff --git a/materialized/nixpkgs/dummy-ghc/ghc-9.2.8-x86_64-linux/ghc-pkg/version b/materialized/nixpkgs/dummy-ghc/ghc-9.2.8-x86_64-linux/ghc-pkg/version new file mode 100644 index 0000000000..fdbd1af834 --- /dev/null +++ b/materialized/nixpkgs/dummy-ghc/ghc-9.2.8-x86_64-linux/ghc-pkg/version @@ -0,0 +1 @@ +GHC package manager version 9.2.8 diff --git a/materialized/nixpkgs/dummy-ghc/ghc-9.2.8-x86_64-linux/ghc/info b/materialized/nixpkgs/dummy-ghc/ghc-9.2.8-x86_64-linux/ghc/info new file mode 100644 index 0000000000..d64b992ab5 --- /dev/null +++ b/materialized/nixpkgs/dummy-ghc/ghc-9.2.8-x86_64-linux/ghc/info @@ -0,0 +1,66 @@ + [("Project name","The Glorious Glasgow Haskell Compilation System") + ,("GCC extra via C opts","") + ,("C compiler flags","") + ,("C++ compiler flags","") + ,("C compiler link flags","-fuse-ld=gold ") + ,("C compiler supports -no-pie","YES") + ,("Haskell CPP flags","-E -undef -traditional") + ,("ld flags","") + ,("ld supports compact unwind","YES") + ,("ld supports build-id","YES") + ,("ld supports filelist","NO") + ,("ld is GNU ld","YES") + ,("Merge objects flags","-r") + ,("ar flags","q") + ,("ar supports at file","YES") + ,("otool command","otool") + ,("install_name_tool command","install_name_tool") + ,("touch command","touch") + ,("dllwrap command","/bin/false") + ,("windres command","/bin/false") + ,("libtool command","libtool") + ,("cross compiling","NO") + ,("target platform string","x86_64-unknown-linux") + ,("target os","OSLinux") + ,("target arch","ArchX86_64") + ,("target word size","8") + ,("target word big endian","NO") + ,("target has GNU nonexec stack","YES") + ,("target has .ident directive","YES") + ,("target has subsections via symbols","NO") + ,("target has RTS linker","YES") + ,("Unregisterised","NO") + ,("LLVM target","x86_64-unknown-linux") + ,("LLVM llc command","llc") + ,("LLVM opt command","opt") + ,("LLVM clang command","clang") + ,("Use interpreter","YES") + ,("Support SMP","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 thr_debug_p debug_p") + ,("Tables next to code","YES") + ,("Leading underscore","NO") + ,("Use LibFFI","NO") + ,("RTS expects libdw","NO") + ,("Project version","9.2.8") + ,("Project Git commit id","dfa834627a94d98aaeddb0cb3a0cedca934d2814") + ,("Booter version","8.10.7") + ,("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","NO") + ,("Have native code generator","YES") + ,("Target default backend","NCG") + ,("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") + ,("GHC Dynamic","YES") + ,("GHC Profiled","NO") + ,("Debug on","NO") + ] diff --git a/materialized/nixpkgs/dummy-ghc/ghc-9.2.8-x86_64-linux/ghc/numeric-version b/materialized/nixpkgs/dummy-ghc/ghc-9.2.8-x86_64-linux/ghc/numeric-version new file mode 100644 index 0000000000..08e647b0f9 --- /dev/null +++ b/materialized/nixpkgs/dummy-ghc/ghc-9.2.8-x86_64-linux/ghc/numeric-version @@ -0,0 +1 @@ +9.2.8 diff --git a/materialized/nixpkgs/dummy-ghc/ghc-9.2.8-x86_64-linux/ghc/supported-languages b/materialized/nixpkgs/dummy-ghc/ghc-9.2.8-x86_64-linux/ghc/supported-languages new file mode 100644 index 0000000000..331def5550 --- /dev/null +++ b/materialized/nixpkgs/dummy-ghc/ghc-9.2.8-x86_64-linux/ghc/supported-languages @@ -0,0 +1,268 @@ +Haskell98 +Haskell2010 +GHC2021 +Unsafe +Trustworthy +Safe +AllowAmbiguousTypes +NoAllowAmbiguousTypes +AlternativeLayoutRule +NoAlternativeLayoutRule +AlternativeLayoutRuleTransitional +NoAlternativeLayoutRuleTransitional +Arrows +NoArrows +AutoDeriveTypeable +NoAutoDeriveTypeable +BangPatterns +NoBangPatterns +BinaryLiterals +NoBinaryLiterals +CApiFFI +NoCApiFFI +CPP +NoCPP +CUSKs +NoCUSKs +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 +DerivingVia +NoDerivingVia +DisambiguateRecordFields +NoDisambiguateRecordFields +DoAndIfThenElse +NoDoAndIfThenElse +BlockArguments +NoBlockArguments +DoRec +NoDoRec +DuplicateRecordFields +NoDuplicateRecordFields +FieldSelectors +NoFieldSelectors +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 +GeneralisedNewtypeDeriving +NoGeneralisedNewtypeDeriving +ImplicitParams +NoImplicitParams +ImplicitPrelude +NoImplicitPrelude +ImportQualifiedPost +NoImportQualifiedPost +ImpredicativeTypes +NoImpredicativeTypes +IncoherentInstances +NoIncoherentInstances +TypeFamilyDependencies +NoTypeFamilyDependencies +InstanceSigs +NoInstanceSigs +ApplicativeDo +NoApplicativeDo +InterruptibleFFI +NoInterruptibleFFI +JavaScriptFFI +NoJavaScriptFFI +KindSignatures +NoKindSignatures +LambdaCase +NoLambdaCase +LexicalNegation +NoLexicalNegation +LiberalTypeSynonyms +NoLiberalTypeSynonyms +LinearTypes +NoLinearTypes +MagicHash +NoMagicHash +MonadComprehensions +NoMonadComprehensions +MonoLocalBinds +NoMonoLocalBinds +DeepSubsumption +NoDeepSubsumption +MonomorphismRestriction +NoMonomorphismRestriction +MultiParamTypeClasses +NoMultiParamTypeClasses +MultiWayIf +NoMultiWayIf +NumericUnderscores +NoNumericUnderscores +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 +QuantifiedConstraints +NoQuantifiedConstraints +PostfixOperators +NoPostfixOperators +QuasiQuotes +NoQuasiQuotes +QualifiedDo +NoQualifiedDo +Rank2Types +NoRank2Types +RankNTypes +NoRankNTypes +RebindableSyntax +NoRebindableSyntax +OverloadedRecordDot +NoOverloadedRecordDot +OverloadedRecordUpdate +NoOverloadedRecordUpdate +RecordPuns +NoRecordPuns +RecordWildCards +NoRecordWildCards +RecursiveDo +NoRecursiveDo +RelaxedLayout +NoRelaxedLayout +RelaxedPolyRec +NoRelaxedPolyRec +RoleAnnotations +NoRoleAnnotations +ScopedTypeVariables +NoScopedTypeVariables +StandaloneDeriving +NoStandaloneDeriving +StarIsType +NoStarIsType +StaticPointers +NoStaticPointers +Strict +NoStrict +StrictData +NoStrictData +TemplateHaskell +NoTemplateHaskell +TemplateHaskellQuotes +NoTemplateHaskellQuotes +StandaloneKindSignatures +NoStandaloneKindSignatures +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 +UnliftedDatatypes +NoUnliftedDatatypes +UnliftedFFITypes +NoUnliftedFFITypes +UnliftedNewtypes +NoUnliftedNewtypes +ViewPatterns +NoViewPatterns diff --git a/materialized/nixpkgs/dummy-ghc/ghc-9.2.8-x86_64-linux/ghc/version b/materialized/nixpkgs/dummy-ghc/ghc-9.2.8-x86_64-linux/ghc/version new file mode 100644 index 0000000000..11c5151b19 --- /dev/null +++ b/materialized/nixpkgs/dummy-ghc/ghc-9.2.8-x86_64-linux/ghc/version @@ -0,0 +1 @@ +The Glorious Glasgow Haskell Compilation System, version 9.2.8 From 0b059e7f8967dc0593ca85b019a522666eff633f Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Wed, 9 Aug 2023 18:23:03 +1200 Subject: [PATCH 006/117] Use nixpkgs ghc to build cabal-install for use at eval time --- lib/call-cabal-project-to-nix.nix | 2 +- overlays/bootstrap.nix | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/lib/call-cabal-project-to-nix.nix b/lib/call-cabal-project-to-nix.nix index fa77ef64b8..4b62ce28c5 100644 --- a/lib/call-cabal-project-to-nix.nix +++ b/lib/call-cabal-project-to-nix.nix @@ -75,7 +75,7 @@ let else evalPackages.haskell-nix.nix-tools-unchecked.${compiler-nix-name}; cabal-install = if args.cabal-install or null != null then args.cabal-install - else evalPackages.haskell-nix.cabal-install-unchecked.${compiler-nix-name}; + else evalPackages.haskell-nix.internal-cabal-install; forName = pkgs.lib.optionalString (name != null) (" for " + name); nameAndSuffix = suffix: if name == null then suffix else name + "-" + suffix; diff --git a/overlays/bootstrap.nix b/overlays/bootstrap.nix index d3012ae65a..7fc0548a9c 100644 --- a/overlays/bootstrap.nix +++ b/overlays/bootstrap.nix @@ -1263,7 +1263,12 @@ in { # there should be no difference in the behaviour of these tools. # (stack projects on macOS may see a significant change in the # closure size of their build dependencies due to dynamic linking). - internal-cabal-install = final.haskell-nix.cabal-install.ghc8107; + internal-cabal-install = + final.haskell-nix.cabal-install-tool { + compiler-nix-name = "ghc8107"; + compilerSelection = p: p.haskell.compiler; + checkMaterialization = false; + }; internal-nix-tools = final.haskell-nix.nix-tools.ghc8107; # WARN: The `import ../. {}` will prevent From 6c8ee7e7fc5b70130e990a0d9c089125081b4d31 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Thu, 10 Aug 2023 00:18:40 +1200 Subject: [PATCH 007/117] Add hadrian plan materialization --- compiler/ghc/default.nix | 12 ++ .../hadrian/.plan.nix/hadrian.nix | 160 +++++++++++++++++ .../hadrian/cabal-files/QuickCheck.nix | 119 +++++++++++++ .../hadrian/cabal-files/clock.nix | 59 +++++++ .../hadrian/cabal-files/data-array-byte.nix | 55 ++++++ .../hadrian/cabal-files/extra.nix | 58 ++++++ .../hadrian/cabal-files/filepattern.nix | 56 ++++++ .../hadrian/cabal-files/hashable.nix | 82 +++++++++ .../hadrian/cabal-files/heaps.nix | 38 ++++ .../hadrian/cabal-files/js-dgtable.nix | 47 +++++ .../hadrian/cabal-files/js-flot.nix | 47 +++++ .../hadrian/cabal-files/js-jquery.nix | 48 +++++ .../hadrian/cabal-files/primitive.nix | 73 ++++++++ .../hadrian/cabal-files/random.nix | 113 ++++++++++++ .../hadrian/cabal-files/shake.nix | 132 ++++++++++++++ .../hadrian/cabal-files/splitmix.nix | 140 +++++++++++++++ .../cabal-files/unordered-containers.nix | 78 ++++++++ .../hadrian/cabal-files/utf8-string.nix | 51 ++++++ .../ghc928/hadrian-ghc94/hadrian/default.nix | 143 +++++++++++++++ .../hadrian/.plan.nix/hadrian.nix | 162 +++++++++++++++++ .../hadrian/cabal-files/QuickCheck.nix | 119 +++++++++++++ .../hadrian/cabal-files/clock.nix | 59 +++++++ .../hadrian/cabal-files/data-array-byte.nix | 55 ++++++ .../hadrian/cabal-files/extra.nix | 58 ++++++ .../hadrian/cabal-files/filepattern.nix | 56 ++++++ .../hadrian/cabal-files/hashable.nix | 82 +++++++++ .../hadrian/cabal-files/heaps.nix | 38 ++++ .../hadrian/cabal-files/js-dgtable.nix | 47 +++++ .../hadrian/cabal-files/js-flot.nix | 47 +++++ .../hadrian/cabal-files/js-jquery.nix | 48 +++++ .../hadrian/cabal-files/primitive.nix | 73 ++++++++ .../hadrian/cabal-files/random.nix | 113 ++++++++++++ .../hadrian/cabal-files/shake.nix | 132 ++++++++++++++ .../hadrian/cabal-files/splitmix.nix | 140 +++++++++++++++ .../cabal-files/unordered-containers.nix | 78 ++++++++ .../hadrian/cabal-files/utf8-string.nix | 51 ++++++ .../ghc928/hadrian-ghc96/hadrian/default.nix | 143 +++++++++++++++ .../hadrian/.plan.nix/hadrian.nix | 165 +++++++++++++++++ .../hadrian/cabal-files/QuickCheck.nix | 119 +++++++++++++ .../hadrian/cabal-files/base16-bytestring.nix | 68 +++++++ .../hadrian/cabal-files/clock.nix | 59 +++++++ .../hadrian/cabal-files/cryptohash-sha256.nix | 84 +++++++++ .../hadrian/cabal-files/data-array-byte.nix | 55 ++++++ .../hadrian/cabal-files/extra.nix | 58 ++++++ .../hadrian/cabal-files/filepattern.nix | 56 ++++++ .../hadrian/cabal-files/hashable.nix | 82 +++++++++ .../hadrian/cabal-files/heaps.nix | 38 ++++ .../hadrian/cabal-files/js-dgtable.nix | 47 +++++ .../hadrian/cabal-files/js-flot.nix | 47 +++++ .../hadrian/cabal-files/js-jquery.nix | 48 +++++ .../hadrian/cabal-files/primitive.nix | 73 ++++++++ .../hadrian/cabal-files/random.nix | 113 ++++++++++++ .../hadrian/cabal-files/shake.nix | 132 ++++++++++++++ .../hadrian/cabal-files/splitmix.nix | 140 +++++++++++++++ .../cabal-files/unordered-containers.nix | 78 ++++++++ .../hadrian/cabal-files/utf8-string.nix | 51 ++++++ .../ghc928/hadrian-ghc98/hadrian/default.nix | 149 ++++++++++++++++ .../hadrian/.plan.nix/ghc-platform.nix | 41 +++++ .../hadrian/.plan.nix/ghc-toolchain.nix | 69 ++++++++ .../hadrian/.plan.nix/hadrian.nix | 167 ++++++++++++++++++ .../hadrian/cabal-files/QuickCheck.nix | 119 +++++++++++++ .../hadrian/cabal-files/base16-bytestring.nix | 68 +++++++ .../hadrian/cabal-files/clock.nix | 59 +++++++ .../hadrian/cabal-files/cryptohash-sha256.nix | 84 +++++++++ .../hadrian/cabal-files/data-array-byte.nix | 55 ++++++ .../hadrian/cabal-files/extra.nix | 58 ++++++ .../hadrian/cabal-files/filepattern.nix | 56 ++++++ .../hadrian/cabal-files/hashable.nix | 82 +++++++++ .../hadrian/cabal-files/heaps.nix | 38 ++++ .../hadrian/cabal-files/js-dgtable.nix | 47 +++++ .../hadrian/cabal-files/js-flot.nix | 47 +++++ .../hadrian/cabal-files/js-jquery.nix | 48 +++++ .../hadrian/cabal-files/primitive.nix | 73 ++++++++ .../hadrian/cabal-files/random.nix | 113 ++++++++++++ .../hadrian/cabal-files/shake.nix | 132 ++++++++++++++ .../hadrian/cabal-files/splitmix.nix | 140 +++++++++++++++ .../cabal-files/unordered-containers.nix | 78 ++++++++ .../hadrian/cabal-files/utf8-string.nix | 51 ++++++ .../ghc928/hadrian-ghc99/hadrian/default.nix | 159 +++++++++++++++++ 79 files changed, 6458 insertions(+) create mode 100644 materialized/ghc928/hadrian-ghc94/hadrian/.plan.nix/hadrian.nix create mode 100644 materialized/ghc928/hadrian-ghc94/hadrian/cabal-files/QuickCheck.nix create mode 100644 materialized/ghc928/hadrian-ghc94/hadrian/cabal-files/clock.nix create mode 100644 materialized/ghc928/hadrian-ghc94/hadrian/cabal-files/data-array-byte.nix create mode 100644 materialized/ghc928/hadrian-ghc94/hadrian/cabal-files/extra.nix create mode 100644 materialized/ghc928/hadrian-ghc94/hadrian/cabal-files/filepattern.nix create mode 100644 materialized/ghc928/hadrian-ghc94/hadrian/cabal-files/hashable.nix create mode 100644 materialized/ghc928/hadrian-ghc94/hadrian/cabal-files/heaps.nix create mode 100644 materialized/ghc928/hadrian-ghc94/hadrian/cabal-files/js-dgtable.nix create mode 100644 materialized/ghc928/hadrian-ghc94/hadrian/cabal-files/js-flot.nix create mode 100644 materialized/ghc928/hadrian-ghc94/hadrian/cabal-files/js-jquery.nix create mode 100644 materialized/ghc928/hadrian-ghc94/hadrian/cabal-files/primitive.nix create mode 100644 materialized/ghc928/hadrian-ghc94/hadrian/cabal-files/random.nix create mode 100644 materialized/ghc928/hadrian-ghc94/hadrian/cabal-files/shake.nix create mode 100644 materialized/ghc928/hadrian-ghc94/hadrian/cabal-files/splitmix.nix create mode 100644 materialized/ghc928/hadrian-ghc94/hadrian/cabal-files/unordered-containers.nix create mode 100644 materialized/ghc928/hadrian-ghc94/hadrian/cabal-files/utf8-string.nix create mode 100644 materialized/ghc928/hadrian-ghc94/hadrian/default.nix create mode 100644 materialized/ghc928/hadrian-ghc96/hadrian/.plan.nix/hadrian.nix create mode 100644 materialized/ghc928/hadrian-ghc96/hadrian/cabal-files/QuickCheck.nix create mode 100644 materialized/ghc928/hadrian-ghc96/hadrian/cabal-files/clock.nix create mode 100644 materialized/ghc928/hadrian-ghc96/hadrian/cabal-files/data-array-byte.nix create mode 100644 materialized/ghc928/hadrian-ghc96/hadrian/cabal-files/extra.nix create mode 100644 materialized/ghc928/hadrian-ghc96/hadrian/cabal-files/filepattern.nix create mode 100644 materialized/ghc928/hadrian-ghc96/hadrian/cabal-files/hashable.nix create mode 100644 materialized/ghc928/hadrian-ghc96/hadrian/cabal-files/heaps.nix create mode 100644 materialized/ghc928/hadrian-ghc96/hadrian/cabal-files/js-dgtable.nix create mode 100644 materialized/ghc928/hadrian-ghc96/hadrian/cabal-files/js-flot.nix create mode 100644 materialized/ghc928/hadrian-ghc96/hadrian/cabal-files/js-jquery.nix create mode 100644 materialized/ghc928/hadrian-ghc96/hadrian/cabal-files/primitive.nix create mode 100644 materialized/ghc928/hadrian-ghc96/hadrian/cabal-files/random.nix create mode 100644 materialized/ghc928/hadrian-ghc96/hadrian/cabal-files/shake.nix create mode 100644 materialized/ghc928/hadrian-ghc96/hadrian/cabal-files/splitmix.nix create mode 100644 materialized/ghc928/hadrian-ghc96/hadrian/cabal-files/unordered-containers.nix create mode 100644 materialized/ghc928/hadrian-ghc96/hadrian/cabal-files/utf8-string.nix create mode 100644 materialized/ghc928/hadrian-ghc96/hadrian/default.nix create mode 100644 materialized/ghc928/hadrian-ghc98/hadrian/.plan.nix/hadrian.nix create mode 100644 materialized/ghc928/hadrian-ghc98/hadrian/cabal-files/QuickCheck.nix create mode 100644 materialized/ghc928/hadrian-ghc98/hadrian/cabal-files/base16-bytestring.nix create mode 100644 materialized/ghc928/hadrian-ghc98/hadrian/cabal-files/clock.nix create mode 100644 materialized/ghc928/hadrian-ghc98/hadrian/cabal-files/cryptohash-sha256.nix create mode 100644 materialized/ghc928/hadrian-ghc98/hadrian/cabal-files/data-array-byte.nix create mode 100644 materialized/ghc928/hadrian-ghc98/hadrian/cabal-files/extra.nix create mode 100644 materialized/ghc928/hadrian-ghc98/hadrian/cabal-files/filepattern.nix create mode 100644 materialized/ghc928/hadrian-ghc98/hadrian/cabal-files/hashable.nix create mode 100644 materialized/ghc928/hadrian-ghc98/hadrian/cabal-files/heaps.nix create mode 100644 materialized/ghc928/hadrian-ghc98/hadrian/cabal-files/js-dgtable.nix create mode 100644 materialized/ghc928/hadrian-ghc98/hadrian/cabal-files/js-flot.nix create mode 100644 materialized/ghc928/hadrian-ghc98/hadrian/cabal-files/js-jquery.nix create mode 100644 materialized/ghc928/hadrian-ghc98/hadrian/cabal-files/primitive.nix create mode 100644 materialized/ghc928/hadrian-ghc98/hadrian/cabal-files/random.nix create mode 100644 materialized/ghc928/hadrian-ghc98/hadrian/cabal-files/shake.nix create mode 100644 materialized/ghc928/hadrian-ghc98/hadrian/cabal-files/splitmix.nix create mode 100644 materialized/ghc928/hadrian-ghc98/hadrian/cabal-files/unordered-containers.nix create mode 100644 materialized/ghc928/hadrian-ghc98/hadrian/cabal-files/utf8-string.nix create mode 100644 materialized/ghc928/hadrian-ghc98/hadrian/default.nix create mode 100644 materialized/ghc928/hadrian-ghc99/hadrian/.plan.nix/ghc-platform.nix create mode 100644 materialized/ghc928/hadrian-ghc99/hadrian/.plan.nix/ghc-toolchain.nix create mode 100644 materialized/ghc928/hadrian-ghc99/hadrian/.plan.nix/hadrian.nix create mode 100644 materialized/ghc928/hadrian-ghc99/hadrian/cabal-files/QuickCheck.nix create mode 100644 materialized/ghc928/hadrian-ghc99/hadrian/cabal-files/base16-bytestring.nix create mode 100644 materialized/ghc928/hadrian-ghc99/hadrian/cabal-files/clock.nix create mode 100644 materialized/ghc928/hadrian-ghc99/hadrian/cabal-files/cryptohash-sha256.nix create mode 100644 materialized/ghc928/hadrian-ghc99/hadrian/cabal-files/data-array-byte.nix create mode 100644 materialized/ghc928/hadrian-ghc99/hadrian/cabal-files/extra.nix create mode 100644 materialized/ghc928/hadrian-ghc99/hadrian/cabal-files/filepattern.nix create mode 100644 materialized/ghc928/hadrian-ghc99/hadrian/cabal-files/hashable.nix create mode 100644 materialized/ghc928/hadrian-ghc99/hadrian/cabal-files/heaps.nix create mode 100644 materialized/ghc928/hadrian-ghc99/hadrian/cabal-files/js-dgtable.nix create mode 100644 materialized/ghc928/hadrian-ghc99/hadrian/cabal-files/js-flot.nix create mode 100644 materialized/ghc928/hadrian-ghc99/hadrian/cabal-files/js-jquery.nix create mode 100644 materialized/ghc928/hadrian-ghc99/hadrian/cabal-files/primitive.nix create mode 100644 materialized/ghc928/hadrian-ghc99/hadrian/cabal-files/random.nix create mode 100644 materialized/ghc928/hadrian-ghc99/hadrian/cabal-files/shake.nix create mode 100644 materialized/ghc928/hadrian-ghc99/hadrian/cabal-files/splitmix.nix create mode 100644 materialized/ghc928/hadrian-ghc99/hadrian/cabal-files/unordered-containers.nix create mode 100644 materialized/ghc928/hadrian-ghc99/hadrian/cabal-files/utf8-string.nix create mode 100644 materialized/ghc928/hadrian-ghc99/hadrian/default.nix diff --git a/compiler/ghc/default.nix b/compiler/ghc/default.nix index 56d00f0384..4e7e2742b6 100644 --- a/compiler/ghc/default.nix +++ b/compiler/ghc/default.nix @@ -243,6 +243,18 @@ let hadrian = buildPackages.haskell-nix.tool "ghc928" "hadrian" { compilerSelection = p: p.haskell.compiler; index-state = buildPackages.haskell-nix.internalHackageIndexState; + # Verions of hadrian that comes with 9.6 depends on `time` + materialized = + if builtins.compareVersions ghc-version "9.4" < 0 + then ../../materialized/ghc928/hadrian-ghc92 + else if builtins.compareVersions ghc-version "9.6" < 0 + then ../../materialized/ghc928/hadrian-ghc94 + else if builtins.compareVersions ghc-version "9.8" < 0 + then ../../materialized/ghc928/hadrian-ghc96 + else if builtins.compareVersions ghc-version "9.9" < 0 + then ../../materialized/ghc928/hadrian-ghc98 + else ../../materialized/ghc928/hadrian-ghc99; + checkMaterialization = true; modules = [{ # Apply the patches in a way that does not require using something # like `srcOnly`. The problem with `pkgs.srcOnly` was that it had to run diff --git a/materialized/ghc928/hadrian-ghc94/hadrian/.plan.nix/hadrian.nix b/materialized/ghc928/hadrian-ghc94/hadrian/.plan.nix/hadrian.nix new file mode 100644 index 0000000000..7c047cd1d6 --- /dev/null +++ b/materialized/ghc928/hadrian-ghc94/hadrian/.plan.nix/hadrian.nix @@ -0,0 +1,160 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = { threaded = true; selftest = true; }; + package = { + specVersion = "1.18"; + identifier = { name = "hadrian"; version = "0.1.0.0"; }; + license = "BSD-3-Clause"; + copyright = "Andrey Mokhov 2014-2017"; + maintainer = "Andrey Mokhov , github: @snowleopard"; + author = "Andrey Mokhov , github: @snowleopard"; + homepage = ""; + url = ""; + synopsis = "GHC build system"; + description = ""; + buildType = "Simple"; + isLocal = true; + detailLevel = "FullDetails"; + licenseFiles = [ "LICENSE" ]; + dataDir = "."; + dataFiles = []; + extraSrcFiles = []; + extraTmpFiles = []; + extraDocFiles = [ "README.md" ]; + }; + components = { + exes = { + "hadrian" = { + depends = [ + (hsPkgs."Cabal" or (errorHandler.buildDepError "Cabal")) + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + (hsPkgs."extra" or (errorHandler.buildDepError "extra")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."mtl" or (errorHandler.buildDepError "mtl")) + (hsPkgs."parsec" or (errorHandler.buildDepError "parsec")) + (hsPkgs."shake" or (errorHandler.buildDepError "shake")) + (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")) + (hsPkgs."unordered-containers" or (errorHandler.buildDepError "unordered-containers")) + (hsPkgs."text" or (errorHandler.buildDepError "text")) + ] ++ (pkgs.lib).optional (flags.selftest) (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")); + buildable = true; + modules = [ + "Base" + "Builder" + "CommandLine" + "Context" + "Context/Path" + "Context/Type" + "Environment" + "Expression" + "Expression/Type" + "Flavour" + "Flavour/Type" + "Hadrian/Builder" + "Hadrian/Builder/Ar" + "Hadrian/Builder/Sphinx" + "Hadrian/Builder/Tar" + "Hadrian/Builder/Git" + "Hadrian/BuildPath" + "Hadrian/Expression" + "Hadrian/Haskell/Cabal" + "Hadrian/Haskell/Cabal/Type" + "Hadrian/Haskell/Cabal/Parse" + "Hadrian/Oracles/ArgsHash" + "Hadrian/Oracles/Cabal" + "Hadrian/Oracles/Cabal/Rules" + "Hadrian/Oracles/Cabal/Type" + "Hadrian/Oracles/DirectoryContents" + "Hadrian/Oracles/Path" + "Hadrian/Oracles/TextFile" + "Hadrian/Package" + "Hadrian/Target" + "Hadrian/Utilities" + "Oracles/Flag" + "Oracles/Flavour" + "Oracles/Setting" + "Oracles/ModuleFiles" + "Oracles/TestSettings" + "Packages" + "Rules" + "Rules/BinaryDist" + "Rules/CabalReinstall" + "Rules/Clean" + "Rules/Compile" + "Rules/Dependencies" + "Rules/Docspec" + "Rules/Documentation" + "Rules/Generate" + "Rules/Gmp" + "Rules/Libffi" + "Rules/Library" + "Rules/Lint" + "Rules/Nofib" + "Rules/Program" + "Rules/Register" + "Rules/Rts" + "Rules/SimpleTargets" + "Rules/SourceDist" + "Rules/Test" + "Rules/ToolArgs" + "Settings" + "Settings/Builders/Alex" + "Settings/Builders/Cabal" + "Settings/Builders/Common" + "Settings/Builders/Cc" + "Settings/Builders/Configure" + "Settings/Builders/DeriveConstants" + "Settings/Builders/GenPrimopCode" + "Settings/Builders/Ghc" + "Settings/Builders/GhcPkg" + "Settings/Builders/Haddock" + "Settings/Builders/Happy" + "Settings/Builders/Hsc2Hs" + "Settings/Builders/HsCpp" + "Settings/Builders/Ar" + "Settings/Builders/Ld" + "Settings/Builders/Make" + "Settings/Builders/MergeObjects" + "Settings/Builders/RunTest" + "Settings/Builders/Win32Tarballs" + "Settings/Builders/Xelatex" + "Settings/Default" + "Settings/Flavours/Benchmark" + "Settings/Flavours/Development" + "Settings/Flavours/GhcInGhci" + "Settings/Flavours/Performance" + "Settings/Flavours/Quick" + "Settings/Flavours/QuickCross" + "Settings/Flavours/Quickest" + "Settings/Flavours/Validate" + "Settings/Flavours/Release" + "Settings/Packages" + "Settings/Parser" + "Settings/Program" + "Settings/Warnings" + "Stage" + "Target" + "UserSettings" + "Utilities" + "Way" + "Way/Type" + ] ++ (pkgs.lib).optional (flags.selftest) "Rules/Selftest"; + hsSourceDirs = [ "." "src" ]; + mainPath = ([ + "Main.hs" + ] ++ (pkgs.lib).optional (flags.threaded) "") ++ (pkgs.lib).optional (flags.selftest) ""; + }; + }; + }; + } // rec { src = (pkgs.lib).mkDefault ../.; } \ No newline at end of file diff --git a/materialized/ghc928/hadrian-ghc94/hadrian/cabal-files/QuickCheck.nix b/materialized/ghc928/hadrian-ghc94/hadrian/cabal-files/QuickCheck.nix new file mode 100644 index 0000000000..31390ca93b --- /dev/null +++ b/materialized/ghc928/hadrian-ghc94/hadrian/cabal-files/QuickCheck.nix @@ -0,0 +1,119 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = { templatehaskell = true; old-random = false; }; + package = { + specVersion = "1.10"; + identifier = { name = "QuickCheck"; version = "2.14.3"; }; + license = "BSD-3-Clause"; + copyright = "2000-2019 Koen Claessen, 2006-2008 Björn Bringert, 2009-2019 Nick Smallbone"; + maintainer = "Nick Smallbone "; + author = "Koen Claessen "; + homepage = "https://github.com/nick8325/quickcheck"; + url = ""; + synopsis = "Automatic testing of Haskell programs"; + description = "QuickCheck is a library for random testing of program properties.\nThe programmer provides a specification of the program, in the form of\nproperties which functions should satisfy, and QuickCheck then tests that the\nproperties hold in a large number of randomly generated cases.\nSpecifications are expressed in Haskell, using combinators provided by\nQuickCheck. QuickCheck provides combinators to define properties, observe the\ndistribution of test data, and define test data generators.\n\nMost of QuickCheck's functionality is exported by the main \"Test.QuickCheck\"\nmodule. The main exception is the monadic property testing library in\n\"Test.QuickCheck.Monadic\".\n\nIf you are new to QuickCheck, you can try looking at the following resources:\n\n* The .\nIt's a bit out-of-date in some details and doesn't cover newer QuickCheck features,\nbut is still full of good advice.\n* ,\na detailed tutorial written by a user of QuickCheck.\n\nThe \ncompanion package provides instances for types in Haskell Platform packages\nat the cost of additional dependencies."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = ((((((([ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + ] ++ [ + (hsPkgs."random" or (errorHandler.buildDepError "random")) + ]) ++ (pkgs.lib).optional (!(compiler.isHugs && true)) (hsPkgs."splitmix" or (errorHandler.buildDepError "splitmix"))) ++ (pkgs.lib).optionals (compiler.isGhc && true) [ + (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + ]) ++ (pkgs.lib).optional (compiler.isGhc && true && flags.templatehaskell) (hsPkgs."template-haskell" or (errorHandler.buildDepError "template-haskell"))) ++ (pkgs.lib).optional (compiler.isGhc && (compiler.version).ge "7.2" && (compiler.isGhc && (compiler.version).lt "7.6")) (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim"))) ++ (pkgs.lib).optional (compiler.isGhc && (compiler.version).ge "7.2") (hsPkgs."random" or (errorHandler.buildDepError "random"))) ++ (pkgs.lib).optional (compiler.isGhc && (compiler.version).ge "7.4") (hsPkgs."containers" or (errorHandler.buildDepError "containers"))) ++ (pkgs.lib).optionals (compiler.isUhc && true) [ + (hsPkgs."old-time" or (errorHandler.buildDepError "old-time")) + (hsPkgs."old-locale" or (errorHandler.buildDepError "old-locale")) + ]; + buildable = true; + }; + tests = { + "test-quickcheck" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")) + ]; + buildable = if !flags.templatehaskell then false else true; + }; + "test-quickcheck-gcoarbitrary" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")) + ] ++ (pkgs.lib).optional (compiler.isGhc && (compiler.version).ge "7.2" && (compiler.isGhc && (compiler.version).lt "7.6")) (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")); + buildable = if !flags.templatehaskell || !(compiler.isGhc && (compiler.version).ge "7.2") + then false + else true; + }; + "test-quickcheck-generators" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")) + ]; + buildable = if !flags.templatehaskell then false else true; + }; + "test-quickcheck-gshrink" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")) + ] ++ (pkgs.lib).optional (compiler.isGhc && (compiler.version).ge "7.2" && (compiler.isGhc && (compiler.version).lt "7.6")) (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")); + buildable = if !flags.templatehaskell || !(compiler.isGhc && (compiler.version).ge "7.2") + then false + else true; + }; + "test-quickcheck-terminal" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."process" or (errorHandler.buildDepError "process")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")) + ]; + buildable = if !flags.templatehaskell || !(compiler.isGhc && (compiler.version).ge "7.10") + then false + else true; + }; + "test-quickcheck-monadfix" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")) + ]; + buildable = if !flags.templatehaskell || !(compiler.isGhc && (compiler.version).ge "7.10") + then false + else true; + }; + "test-quickcheck-split" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")) + ]; + buildable = true; + }; + "test-quickcheck-misc" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")) + ]; + buildable = if !flags.templatehaskell || !(compiler.isGhc && (compiler.version).ge "7.10") + then false + else true; + }; + }; + }; + } // { + src = (pkgs.lib).mkDefault (pkgs.fetchurl { + url = "http://hackage.haskell.org/package/QuickCheck-2.14.3.tar.gz"; + sha256 = "5c0f22b36b28a1a8fa110b3819818d3f29494a3b0dedbae299f064123ca70501"; + }); + }) // { + package-description-override = "Name: QuickCheck\nVersion: 2.14.3\nCabal-Version: >= 1.10\nBuild-type: Simple\nLicense: BSD3\nLicense-file: LICENSE\nCopyright: 2000-2019 Koen Claessen, 2006-2008 Björn Bringert, 2009-2019 Nick Smallbone\nAuthor: Koen Claessen \nMaintainer: Nick Smallbone \nBug-reports: https://github.com/nick8325/quickcheck/issues\nTested-with: GHC ==7.0.4 || ==7.2.2 || >= 7.4\nHomepage: https://github.com/nick8325/quickcheck\nCategory: Testing\nSynopsis: Automatic testing of Haskell programs\nDescription:\n QuickCheck is a library for random testing of program properties.\n The programmer provides a specification of the program, in the form of\n properties which functions should satisfy, and QuickCheck then tests that the\n properties hold in a large number of randomly generated cases.\n Specifications are expressed in Haskell, using combinators provided by\n QuickCheck. QuickCheck provides combinators to define properties, observe the\n distribution of test data, and define test data generators.\n .\n Most of QuickCheck's functionality is exported by the main \"Test.QuickCheck\"\n module. The main exception is the monadic property testing library in\n \"Test.QuickCheck.Monadic\".\n .\n If you are new to QuickCheck, you can try looking at the following resources:\n .\n * The .\n It's a bit out-of-date in some details and doesn't cover newer QuickCheck features,\n but is still full of good advice.\n * ,\n a detailed tutorial written by a user of QuickCheck.\n .\n The \n companion package provides instances for types in Haskell Platform packages\n at the cost of additional dependencies.\n\nextra-source-files:\n README\n changelog\n examples/Heap.hs\n examples/Heap_Program.hs\n examples/Heap_ProgramAlgebraic.hs\n examples/Lambda.hs\n examples/Merge.hs\n examples/Set.hs\n examples/Simple.hs\n make-hugs\n test-hugs\n\nsource-repository head\n type: git\n location: https://github.com/nick8325/quickcheck\n\nsource-repository this\n type: git\n location: https://github.com/nick8325/quickcheck\n tag: 2.14.3\n\nflag templateHaskell\n Description: Build Test.QuickCheck.All, which uses Template Haskell.\n Default: True\n Manual: True\n\nflag old-random\n Description: Build against a pre-1.2.0 version of the random package.\n Default: False\n Manual: False\n\nlibrary\n Hs-source-dirs: src\n Build-depends: base >=4.3 && <5, containers\n Default-language: Haskell2010\n\n -- New vs old random.\n if flag(old-random)\n Build-depends: random >= 1.0.0.3 && < 1.2.0\n cpp-options: -DOLD_RANDOM\n else\n Build-depends: random >= 1.2.0 && < 1.3\n\n -- We always use splitmix directly rather than going through StdGen\n -- (it's somewhat more efficient).\n -- However, Hugs traps overflow on Word64, so we have to stick\n -- with StdGen there.\n if impl(hugs)\n cpp-options: -DNO_SPLITMIX\n else\n Build-depends: splitmix >= 0.1 && <0.2\n\n -- Modules that are always built.\n Exposed-Modules:\n Test.QuickCheck,\n Test.QuickCheck.Arbitrary,\n Test.QuickCheck.Gen,\n Test.QuickCheck.Gen.Unsafe,\n Test.QuickCheck.Monadic,\n Test.QuickCheck.Modifiers,\n Test.QuickCheck.Property,\n Test.QuickCheck.Test,\n Test.QuickCheck.Text,\n Test.QuickCheck.Poly,\n Test.QuickCheck.State,\n Test.QuickCheck.Random,\n Test.QuickCheck.Exception,\n Test.QuickCheck.Features\n\n -- GHC-specific modules.\n if impl(ghc)\n Exposed-Modules: Test.QuickCheck.Function\n Build-depends: transformers >= 0.3, deepseq >= 1.1.0.0\n else\n cpp-options: -DNO_TRANSFORMERS -DNO_DEEPSEQ\n\n if impl(ghc) && flag(templateHaskell)\n Build-depends: template-haskell >= 2.4\n if impl(ghc >=8.0)\n Other-Extensions: TemplateHaskellQuotes\n else\n Other-Extensions: TemplateHaskell\n Exposed-Modules: Test.QuickCheck.All\n else\n cpp-options: -DNO_TEMPLATE_HASKELL\n\n if !impl(ghc >= 7.4)\n cpp-options: -DNO_CTYPES_CONSTRUCTORS -DNO_FOREIGN_C_USECONDS\n\n -- The new generics appeared in GHC 7.2...\n if impl(ghc < 7.2)\n cpp-options: -DNO_GENERICS\n -- ...but in 7.2-7.4 it lives in the ghc-prim package.\n if impl(ghc >= 7.2) && impl(ghc < 7.6)\n Build-depends: ghc-prim\n\n -- Safe Haskell appeared in GHC 7.2, but GHC.Generics isn't safe until 7.4.\n if impl (ghc < 7.4)\n cpp-options: -DNO_SAFE_HASKELL\n\n -- random is explicitly Trustworthy since 1.0.1.0\n -- similar constraint for containers\n if impl(ghc >= 7.2)\n Build-depends: random >=1.0.1.0\n if impl(ghc >= 7.4)\n Build-depends: containers >=0.4.2.1\n\n if !impl(ghc >= 7.6)\n cpp-options: -DNO_POLYKINDS\n\n if !impl(ghc >= 8.0)\n cpp-options: -DNO_MONADFAIL\n\n -- Switch off most optional features on non-GHC systems.\n if !impl(ghc)\n -- If your Haskell compiler can cope without some of these, please\n -- send a message to the QuickCheck mailing list!\n cpp-options: -DNO_TIMEOUT -DNO_NEWTYPE_DERIVING -DNO_GENERICS\n -DNO_TEMPLATE_HASKELL -DNO_SAFE_HASKELL -DNO_TYPEABLE -DNO_GADTS\n -DNO_EXTRA_METHODS_IN_APPLICATIVE -DOLD_RANDOM\n if !impl(hugs) && !impl(uhc)\n cpp-options: -DNO_ST_MONAD -DNO_MULTI_PARAM_TYPE_CLASSES\n\n -- LANGUAGE pragmas don't have any effect in Hugs.\n if impl(hugs)\n Default-Extensions: CPP\n\n if impl(uhc)\n -- Cabal under UHC needs pointing out all the dependencies of the\n -- random package.\n Build-depends: old-time, old-locale\n -- Plus some bits of the standard library are missing.\n cpp-options: -DNO_FIXED -DNO_EXCEPTIONS\n\nTest-Suite test-quickcheck\n type: exitcode-stdio-1.0\n Default-language: Haskell2010\n hs-source-dirs:\n examples\n main-is: Heap.hs\n build-depends: base, QuickCheck\n if !flag(templateHaskell)\n Buildable: False\n\nTest-Suite test-quickcheck-gcoarbitrary\n type: exitcode-stdio-1.0\n Default-language: Haskell2010\n hs-source-dirs: tests\n main-is: GCoArbitraryExample.hs\n build-depends: base, QuickCheck\n if !flag(templateHaskell) || !impl(ghc >= 7.2)\n buildable: False\n if impl(ghc >= 7.2) && impl(ghc < 7.6)\n build-depends: ghc-prim\n\nTest-Suite test-quickcheck-generators\n type: exitcode-stdio-1.0\n Default-language: Haskell2010\n hs-source-dirs: tests\n main-is: Generators.hs\n build-depends: base, QuickCheck\n if !flag(templateHaskell)\n Buildable: False\n\nTest-Suite test-quickcheck-gshrink\n type: exitcode-stdio-1.0\n Default-language: Haskell2010\n hs-source-dirs: tests\n main-is: GShrinkExample.hs\n build-depends: base, QuickCheck\n if !flag(templateHaskell) || !impl(ghc >= 7.2)\n buildable: False\n if impl(ghc >= 7.2) && impl(ghc < 7.6)\n build-depends: ghc-prim\n\nTest-Suite test-quickcheck-terminal\n type: exitcode-stdio-1.0\n Default-language: Haskell2010\n hs-source-dirs: tests\n main-is: Terminal.hs\n build-depends: base, process, deepseq >= 1.1.0.0, QuickCheck\n if !flag(templateHaskell) || !impl(ghc >= 7.10)\n buildable: False\n\nTest-Suite test-quickcheck-monadfix\n type: exitcode-stdio-1.0\n Default-language: Haskell2010\n hs-source-dirs: tests\n main-is: MonadFix.hs\n build-depends: base, QuickCheck\n if !flag(templateHaskell) || !impl(ghc >= 7.10)\n buildable: False\n\nTest-Suite test-quickcheck-split\n type: exitcode-stdio-1.0\n Default-language: Haskell2010\n hs-source-dirs: tests\n main-is: Split.hs\n build-depends: base, QuickCheck\n\nTest-Suite test-quickcheck-misc\n type: exitcode-stdio-1.0\n Default-language: Haskell2010\n hs-source-dirs: tests\n main-is: Misc.hs\n build-depends: base, QuickCheck\n if !flag(templateHaskell) || !impl(ghc >= 7.10)\n buildable: False\n"; + } \ No newline at end of file diff --git a/materialized/ghc928/hadrian-ghc94/hadrian/cabal-files/clock.nix b/materialized/ghc928/hadrian-ghc94/hadrian/cabal-files/clock.nix new file mode 100644 index 0000000000..de66c1339a --- /dev/null +++ b/materialized/ghc928/hadrian-ghc94/hadrian/cabal-files/clock.nix @@ -0,0 +1,59 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = { llvm = false; }; + package = { + specVersion = "1.10"; + identifier = { name = "clock"; version = "0.8.3"; }; + license = "BSD-3-Clause"; + copyright = "Copyright © Cetin Sert 2009-2016, Eugene Kirpichov 2010, Finn Espen Gundersen 2013, Gerolf Seitz 2013, Mathieu Boespflug 2014 2015, Chris Done 2015, Dimitri Sabadie 2015, Christian Burger 2015, Mario Longobardi 2016, Alexander Vershilov 2021."; + maintainer = "Cetin Sert , Corsis Research"; + author = "Cetin Sert , Corsis Research"; + homepage = "https://github.com/corsis/clock"; + url = ""; + synopsis = "High-resolution clock functions: monotonic, realtime, cputime."; + description = "A package for convenient access to high-resolution clock and\ntimer functions of different operating systems via a unified API.\n\nPOSIX code and surface API was developed by Cetin Sert in 2009.\n\nWindows code was contributed by Eugene Kirpichov in 2010.\n\nFreeBSD code was contributed by Finn Espen Gundersen on 2013-10-14.\n\nOS X code was contributed by Gerolf Seitz on 2013-10-15.\n\nDerived @Generic@, @Typeable@ and other instances for @Clock@ and @TimeSpec@ was contributed by Mathieu Boespflug on 2014-09-17.\n\nCorrected dependency listing for @GHC < 7.6@ was contributed by Brian McKenna on 2014-09-30.\n\nWindows code corrected by Dimitri Sabadie on 2015-02-09.\n\nAdded @timeSpecAsNanoSecs@ as observed widely-used by Chris Done on 2015-01-06, exported correctly on 2015-04-20.\n\nImported Control.Applicative operators correctly for Haskell Platform on Windows on 2015-04-21.\n\nUnit tests and instance fixes by Christian Burger on 2015-06-25.\n\nRemoval of fromInteger : Integer -> TimeSpec by Cetin Sert on 2015-12-15.\n\nNew Linux-specific Clocks: MonotonicRaw, Boottime, MonotonicCoarse, RealtimeCoarse by Cetin Sert on 2015-12-15.\n\nReintroduction fromInteger : Integer -> TimeSpec by Cetin Sert on 2016-04-05.\n\nFixes for older Linux build failures introduced by new Linux-specific clocks by Mario Longobardi on 2016-04-18.\n\nRefreshment release in 2019-04 after numerous contributions.\n\nRefactoring for Windows, Mac implementation consistence by Alexander Vershilov on 2021-01-16.\n\n[Version Scheme]\nMajor-@/R/@-ewrite . New-@/F/@-unctionality . @/I/@-mprovementAndBugFixes . @/P/@-ackagingOnly\n\n* @PackagingOnly@ changes are made for quality assurance reasons."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ (hsPkgs."base" or (errorHandler.buildDepError "base")) ]; + buildable = true; + }; + tests = { + "test" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."tasty" or (errorHandler.buildDepError "tasty")) + (hsPkgs."tasty-quickcheck" or (errorHandler.buildDepError "tasty-quickcheck")) + (hsPkgs."clock" or (errorHandler.buildDepError "clock")) + ]; + buildable = true; + }; + }; + benchmarks = { + "benchmarks" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."criterion" or (errorHandler.buildDepError "criterion")) + (hsPkgs."clock" or (errorHandler.buildDepError "clock")) + ]; + buildable = true; + }; + }; + }; + } // { + src = (pkgs.lib).mkDefault (pkgs.fetchurl { + url = "http://hackage.haskell.org/package/clock-0.8.3.tar.gz"; + sha256 = "845ce5db4c98cefd517323e005f87effceff886987305e421c4ef616dc0505d1"; + }); + }) // { + package-description-override = "cabal-version: >= 1.10\nname: clock\nversion: 0.8.3\nstability: stable\nsynopsis: High-resolution clock functions: monotonic, realtime, cputime.\ndescription: A package for convenient access to high-resolution clock and\n timer functions of different operating systems via a unified API.\n .\n POSIX code and surface API was developed by Cetin Sert in 2009.\n .\n Windows code was contributed by Eugene Kirpichov in 2010.\n .\n FreeBSD code was contributed by Finn Espen Gundersen on 2013-10-14.\n .\n OS X code was contributed by Gerolf Seitz on 2013-10-15.\n .\n Derived @Generic@, @Typeable@ and other instances for @Clock@ and @TimeSpec@ was contributed by Mathieu Boespflug on 2014-09-17.\n .\n Corrected dependency listing for @GHC < 7.6@ was contributed by Brian McKenna on 2014-09-30.\n .\n Windows code corrected by Dimitri Sabadie on 2015-02-09.\n .\n Added @timeSpecAsNanoSecs@ as observed widely-used by Chris Done on 2015-01-06, exported correctly on 2015-04-20.\n .\n Imported Control.Applicative operators correctly for Haskell Platform on Windows on 2015-04-21.\n .\n Unit tests and instance fixes by Christian Burger on 2015-06-25.\n .\n Removal of fromInteger : Integer -> TimeSpec by Cetin Sert on 2015-12-15.\n .\n New Linux-specific Clocks: MonotonicRaw, Boottime, MonotonicCoarse, RealtimeCoarse by Cetin Sert on 2015-12-15.\n .\n Reintroduction fromInteger : Integer -> TimeSpec by Cetin Sert on 2016-04-05.\n .\n Fixes for older Linux build failures introduced by new Linux-specific clocks by Mario Longobardi on 2016-04-18.\n .\n Refreshment release in 2019-04 after numerous contributions.\n .\n Refactoring for Windows, Mac implementation consistence by Alexander Vershilov on 2021-01-16.\n .\n [Version Scheme]\n Major-@/R/@-ewrite . New-@/F/@-unctionality . @/I/@-mprovementAndBugFixes . @/P/@-ackagingOnly\n .\n * @PackagingOnly@ changes are made for quality assurance reasons.\n\ncopyright: Copyright © Cetin Sert 2009-2016, Eugene Kirpichov 2010, Finn Espen Gundersen 2013, Gerolf Seitz 2013, Mathieu Boespflug 2014 2015, Chris Done 2015, Dimitri Sabadie 2015, Christian Burger 2015, Mario Longobardi 2016, Alexander Vershilov 2021.\nlicense: BSD3\nlicense-file: LICENSE\nauthor: Cetin Sert , Corsis Research\nmaintainer: Cetin Sert , Corsis Research\nhomepage: https://github.com/corsis/clock\nbug-reports: https://github.com/corsis/clock/issues\ncategory: System\nbuild-type: Simple\n\ntested-with:\n GHC == 9.2.1\n GHC == 9.0.2\n GHC == 8.10.7\n GHC == 8.8.4\n GHC == 8.6.5\n GHC == 8.4.4\n GHC == 8.2.2\n GHC == 8.0.2\n GHC == 7.10.3\n GHC == 7.8.4\n\nextra-source-files:\n CHANGELOG.md\n\n\nsource-repository head\n type: git\n location: git://github.com/corsis/clock.git\n\n\nflag llvm\n description: compile via LLVM\n default : False\n\n\nlibrary\n build-depends: base >= 4.7 && < 5\n\n exposed-modules: System.Clock\n System.Clock.Seconds\n\n default-language: Haskell2010\n default-extensions: DeriveGeneric\n DeriveDataTypeable\n ForeignFunctionInterface\n ScopedTypeVariables\n ViewPatterns\n GeneralizedNewtypeDeriving\n if os(windows)\n c-sources: cbits/hs_clock_win32.c\n include-dirs: cbits\n ghc-options: -O3 -Wall\n\n if flag(llvm)\n ghc-options: -fllvm -optlo-O3\n\n\ntest-suite test\n default-language: Haskell2010\n default-extensions: ScopedTypeVariables\n GeneralizedNewtypeDeriving\n StandaloneDeriving\n type:\n exitcode-stdio-1.0\n hs-source-dirs:\n tests\n main-is:\n test.hs\n build-depends:\n base\n , tasty >= 0.10\n , tasty-quickcheck\n , clock\n\nbenchmark benchmarks\n default-language: Haskell2010\n type:\n exitcode-stdio-1.0\n hs-source-dirs:\n bench\n main-is:\n benchmarks.hs\n build-depends:\n base\n , criterion\n , clock\n"; + } \ No newline at end of file diff --git a/materialized/ghc928/hadrian-ghc94/hadrian/cabal-files/data-array-byte.nix b/materialized/ghc928/hadrian-ghc94/hadrian/cabal-files/data-array-byte.nix new file mode 100644 index 0000000000..c0d9745691 --- /dev/null +++ b/materialized/ghc928/hadrian-ghc94/hadrian/cabal-files/data-array-byte.nix @@ -0,0 +1,55 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = {}; + package = { + specVersion = "1.10"; + identifier = { name = "data-array-byte"; version = "0.1.0.1"; }; + license = "BSD-3-Clause"; + copyright = "(c) Roman Leshchinskiy 2009-2012"; + maintainer = "andrew.lelechenko@gmail.com"; + author = "Roman Leshchinskiy "; + homepage = "https://github.com/Bodigrim/data-array-byte"; + url = ""; + synopsis = "Compatibility layer for Data.Array.Byte"; + description = "Compatibility layer for [Data.Array.Byte](https://hackage.haskell.org/package/base/docs/Data-Array-Byte.html), providing boxed wrappers for @ByteArray#@ and @MutableByteArray#@ and relevant instances for GHC < 9.4. Include it into your Cabal file:\n\n> build-depends: base\n> if impl(ghc < 9.4)\n> build-depends: data-array-byte\n\nand then @import Data.Array.Byte@ unconditionally."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."template-haskell" or (errorHandler.buildDepError "template-haskell")) + ]; + buildable = true; + }; + tests = { + "data-array-byte-tests" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."data-array-byte" or (errorHandler.buildDepError "data-array-byte")) + (hsPkgs."quickcheck-classes-base" or (errorHandler.buildDepError "quickcheck-classes-base")) + (hsPkgs."tasty" or (errorHandler.buildDepError "tasty")) + (hsPkgs."tasty-quickcheck" or (errorHandler.buildDepError "tasty-quickcheck")) + (hsPkgs."template-haskell" or (errorHandler.buildDepError "template-haskell")) + ]; + buildable = true; + }; + }; + }; + } // { + src = (pkgs.lib).mkDefault (pkgs.fetchurl { + url = "http://hackage.haskell.org/package/data-array-byte-0.1.0.1.tar.gz"; + sha256 = "1bb6eca0b3e02d057fe7f4e14c81ef395216f421ab30fdaa1b18017c9c025600"; + }); + }) // { + package-description-override = "cabal-version: >=1.10\r\nname: data-array-byte\r\nversion: 0.1.0.1\r\nx-revision: 1\r\nlicense: BSD3\r\nlicense-file: LICENSE\r\ncopyright: (c) Roman Leshchinskiy 2009-2012\r\nmaintainer: andrew.lelechenko@gmail.com\r\nauthor: Roman Leshchinskiy \r\ntested-with:\r\n ghc ==8.0.2 ghc ==8.2.2 ghc ==8.4.4 ghc ==8.6.5 ghc ==8.8.4\r\n ghc ==8.10.7 ghc ==9.0.2 ghc ==9.2.4 ghc ==9.4.2\r\n\r\nhomepage: https://github.com/Bodigrim/data-array-byte\r\nbug-reports: https://github.com/Bodigrim/data-array-byte/issues\r\nsynopsis: Compatibility layer for Data.Array.Byte\r\ndescription:\r\n Compatibility layer for [Data.Array.Byte](https://hackage.haskell.org/package/base/docs/Data-Array-Byte.html), providing boxed wrappers for @ByteArray#@ and @MutableByteArray#@ and relevant instances for GHC < 9.4. Include it into your Cabal file:\r\n .\r\n > build-depends: base\r\n > if impl(ghc < 9.4)\r\n > build-depends: data-array-byte\r\n .\r\n and then @import Data.Array.Byte@ unconditionally.\r\n\r\ncategory: Compatibility\r\nbuild-type: Simple\r\nextra-source-files:\r\n changelog.md\r\n README.md\r\n\r\nsource-repository head\r\n type: git\r\n location: https://github.com/Bodigrim/data-array-byte\r\n\r\nlibrary\r\n default-language: Haskell2010\r\n ghc-options: -Wall\r\n build-depends:\r\n base >=4.9 && <4.19,\r\n deepseq >=1.4 && <1.5,\r\n template-haskell >=2.11 && <2.21\r\n\r\n if impl(ghc <9.4)\r\n exposed-modules: Data.Array.Byte\r\n\r\ntest-suite data-array-byte-tests\r\n type: exitcode-stdio-1.0\r\n main-is: Main.hs\r\n hs-source-dirs: test\r\n default-language: Haskell2010\r\n ghc-options: -Wall\r\n build-depends:\r\n base,\r\n data-array-byte,\r\n quickcheck-classes-base >=0.6 && <0.7,\r\n tasty >=1.4 && <1.5,\r\n tasty-quickcheck >=0.10 && <0.11,\r\n template-haskell\r\n"; + } \ No newline at end of file diff --git a/materialized/ghc928/hadrian-ghc94/hadrian/cabal-files/extra.nix b/materialized/ghc928/hadrian-ghc94/hadrian/cabal-files/extra.nix new file mode 100644 index 0000000000..450be82c4b --- /dev/null +++ b/materialized/ghc928/hadrian-ghc94/hadrian/cabal-files/extra.nix @@ -0,0 +1,58 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = {}; + package = { + specVersion = "1.18"; + identifier = { name = "extra"; version = "1.7.14"; }; + license = "BSD-3-Clause"; + copyright = "Neil Mitchell 2014-2023"; + maintainer = "Neil Mitchell "; + author = "Neil Mitchell "; + homepage = "https://github.com/ndmitchell/extra#readme"; + url = ""; + synopsis = "Extra functions I use."; + description = "A library of extra functions for the standard Haskell libraries. Most functions are simple additions, filling out missing functionality. A few functions are available in later versions of GHC, but this package makes them available back to GHC 7.2.\n\nThe module \"Extra\" documents all functions provided by this library. Modules such as \"Data.List.Extra\" provide extra functions over \"Data.List\" and also reexport \"Data.List\". Users are recommended to replace \"Data.List\" imports with \"Data.List.Extra\" if they need the extra functionality."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."process" or (errorHandler.buildDepError "process")) + (hsPkgs."clock" or (errorHandler.buildDepError "clock")) + (hsPkgs."time" or (errorHandler.buildDepError "time")) + ] ++ (pkgs.lib).optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix")); + buildable = true; + }; + tests = { + "extra-test" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."extra" or (errorHandler.buildDepError "extra")) + (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")) + (hsPkgs."quickcheck-instances" or (errorHandler.buildDepError "quickcheck-instances")) + ] ++ (pkgs.lib).optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix")); + buildable = true; + }; + }; + }; + } // { + src = (pkgs.lib).mkDefault (pkgs.fetchurl { + url = "http://hackage.haskell.org/package/extra-1.7.14.tar.gz"; + sha256 = "b6a909f8f0e4b8076a1653b4d34815a782f0a8c1e83d5267f4d00496471ef567"; + }); + }) // { + package-description-override = "cabal-version: 1.18\nbuild-type: Simple\nname: extra\nversion: 1.7.14\nlicense: BSD3\nlicense-file: LICENSE\ncategory: Development\nauthor: Neil Mitchell \nmaintainer: Neil Mitchell \ncopyright: Neil Mitchell 2014-2023\nsynopsis: Extra functions I use.\ndescription:\n A library of extra functions for the standard Haskell libraries. Most functions are simple additions, filling out missing functionality. A few functions are available in later versions of GHC, but this package makes them available back to GHC 7.2.\n .\n The module \"Extra\" documents all functions provided by this library. Modules such as \"Data.List.Extra\" provide extra functions over \"Data.List\" and also reexport \"Data.List\". Users are recommended to replace \"Data.List\" imports with \"Data.List.Extra\" if they need the extra functionality.\nhomepage: https://github.com/ndmitchell/extra#readme\nbug-reports: https://github.com/ndmitchell/extra/issues\ntested-with: GHC==9.6, GHC==9.4, GHC==9.2, GHC==9.0, GHC==8.10, GHC==8.8\n\nextra-doc-files:\n CHANGES.txt\n README.md\nextra-source-files:\n Generate.hs\n\nsource-repository head\n type: git\n location: https://github.com/ndmitchell/extra.git\n\nlibrary\n default-language: Haskell2010\n hs-source-dirs: src\n build-depends:\n base >= 4.9 && < 5,\n directory,\n filepath,\n process,\n clock >= 0.7,\n time\n if !os(windows)\n build-depends: unix\n\n other-modules:\n Partial\n exposed-modules:\n Extra\n Control.Concurrent.Extra\n Control.Exception.Extra\n Control.Monad.Extra\n Data.Foldable.Extra\n Data.Either.Extra\n Data.IORef.Extra\n Data.List.Extra\n Data.List.NonEmpty.Extra\n Data.Monoid.Extra\n Data.Tuple.Extra\n Data.Typeable.Extra\n Data.Version.Extra\n Numeric.Extra\n System.Directory.Extra\n System.Environment.Extra\n System.Info.Extra\n System.IO.Extra\n System.Process.Extra\n System.Time.Extra\n Text.Read.Extra\n\ntest-suite extra-test\n type: exitcode-stdio-1.0\n default-language: Haskell2010\n build-depends:\n base == 4.*,\n directory,\n filepath,\n extra,\n QuickCheck >= 2.10,\n quickcheck-instances >= 0.3.17\n if !os(windows)\n build-depends: unix\n hs-source-dirs: test\n ghc-options: -main-is Test -threaded \"-with-rtsopts=-N4 -K1K\"\n main-is: Test.hs\n other-modules:\n TestCustom\n TestGen\n TestUtil\n"; + } \ No newline at end of file diff --git a/materialized/ghc928/hadrian-ghc94/hadrian/cabal-files/filepattern.nix b/materialized/ghc928/hadrian-ghc94/hadrian/cabal-files/filepattern.nix new file mode 100644 index 0000000000..13bbd09e88 --- /dev/null +++ b/materialized/ghc928/hadrian-ghc94/hadrian/cabal-files/filepattern.nix @@ -0,0 +1,56 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = {}; + package = { + specVersion = "1.18"; + identifier = { name = "filepattern"; version = "0.1.3"; }; + license = "BSD-3-Clause"; + copyright = "Neil Mitchell 2011-2022"; + maintainer = "Neil Mitchell "; + author = "Neil Mitchell , Evan Rutledge Borden "; + homepage = "https://github.com/ndmitchell/filepattern#readme"; + url = ""; + synopsis = "File path glob-like matching"; + description = "A library for matching files using patterns such as @\\\"src\\/**\\/*.png\\\"@ for all @.png@ files\nrecursively under the @src@ directory. Features:\n\n* All matching is /O(n)/. Most functions precompute some information given only one argument.\n\n* See \"System.FilePattern\" and @?==@ simple matching and semantics.\n\n* Use @match@ and @substitute@ to extract suitable\nstrings from the @*@ and @**@ matches, and substitute them back into other patterns.\n\n* Use @step@ and @matchMany@ to perform bulk matching\nof many patterns against many paths simultaneously.\n\n* Use \"System.FilePattern.Directory\" to perform optimised directory traverals using patterns.\n\nOriginally taken from the ."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + (hsPkgs."extra" or (errorHandler.buildDepError "extra")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + ]; + buildable = true; + }; + tests = { + "filepattern-test" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + (hsPkgs."extra" or (errorHandler.buildDepError "extra")) + (hsPkgs."filepattern" or (errorHandler.buildDepError "filepattern")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")) + ]; + buildable = true; + }; + }; + }; + } // { + src = (pkgs.lib).mkDefault (pkgs.fetchurl { + url = "http://hackage.haskell.org/package/filepattern-0.1.3.tar.gz"; + sha256 = "cc445d439ea2f65cac7604d3578aa2c3a62e5a91dc989f4ce5b3390db9e59636"; + }); + }) // { + package-description-override = "cabal-version: 1.18\nbuild-type: Simple\nname: filepattern\nversion: 0.1.3\nlicense: BSD3\nlicense-file: LICENSE\ncategory: Development, FilePath\nauthor: Neil Mitchell , Evan Rutledge Borden \nmaintainer: Neil Mitchell \ncopyright: Neil Mitchell 2011-2022\nsynopsis: File path glob-like matching\ndescription:\n A library for matching files using patterns such as @\\\"src\\/**\\/*.png\\\"@ for all @.png@ files\n recursively under the @src@ directory. Features:\n .\n * All matching is /O(n)/. Most functions precompute some information given only one argument.\n .\n * See \"System.FilePattern\" and @?==@ simple matching and semantics.\n .\n * Use @match@ and @substitute@ to extract suitable\n strings from the @*@ and @**@ matches, and substitute them back into other patterns.\n .\n * Use @step@ and @matchMany@ to perform bulk matching\n of many patterns against many paths simultaneously.\n .\n * Use \"System.FilePattern.Directory\" to perform optimised directory traverals using patterns.\n .\n Originally taken from the .\nhomepage: https://github.com/ndmitchell/filepattern#readme\nbug-reports: https://github.com/ndmitchell/filepattern/issues\ntested-with: GHC==9.0, GHC==8.10, GHC==8.8, GHC==8.6, GHC==8.4, GHC==8.2, GHC==8.0\nextra-doc-files:\n CHANGES.txt\n README.md\n\nsource-repository head\n type: git\n location: https://github.com/ndmitchell/filepattern.git\n\nlibrary\n default-language: Haskell2010\n hs-source-dirs: src\n build-depends:\n base == 4.*,\n directory,\n extra >= 1.6.2,\n filepath\n exposed-modules:\n System.FilePattern\n System.FilePattern.Directory\n other-modules:\n System.FilePattern.Core\n System.FilePattern.ListBy\n System.FilePattern.Monads\n System.FilePattern.Step\n System.FilePattern.Tree\n System.FilePattern.Wildcard\n\n\ntest-suite filepattern-test\n default-language: Haskell2010\n type: exitcode-stdio-1.0\n main-is: Test.hs\n hs-source-dirs: test\n build-depends:\n base == 4.*,\n directory,\n extra,\n filepattern,\n filepath,\n QuickCheck >= 2.0\n other-modules:\n Test.Cases\n Test.Util\n"; + } \ No newline at end of file diff --git a/materialized/ghc928/hadrian-ghc94/hadrian/cabal-files/hashable.nix b/materialized/ghc928/hadrian-ghc94/hadrian/cabal-files/hashable.nix new file mode 100644 index 0000000000..288fdf7407 --- /dev/null +++ b/materialized/ghc928/hadrian-ghc94/hadrian/cabal-files/hashable.nix @@ -0,0 +1,82 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = { integer-gmp = true; random-initial-seed = false; }; + package = { + specVersion = "1.12"; + identifier = { name = "hashable"; version = "1.4.2.0"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "Oleg Grenrus "; + author = "Milan Straka \nJohan Tibell "; + homepage = "http://github.com/haskell-unordered-containers/hashable"; + url = ""; + synopsis = "A class for types that can be converted to a hash value"; + description = "This package defines a class, 'Hashable', for types that\ncan be converted to a hash value. This class\nexists for the benefit of hashing-based data\nstructures. The package provides instances for\nbasic types and a way to combine hash values."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = (([ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + (hsPkgs."text" or (errorHandler.buildDepError "text")) + ] ++ (pkgs.lib).optional (!(compiler.isGhc && (compiler.version).ge "9.2")) (hsPkgs."base-orphans" or (errorHandler.buildDepError "base-orphans"))) ++ (pkgs.lib).optional (!(compiler.isGhc && (compiler.version).ge "9.4")) (hsPkgs."data-array-byte" or (errorHandler.buildDepError "data-array-byte"))) ++ (if compiler.isGhc && (compiler.version).ge "9" + then [ + (hsPkgs."ghc-bignum" or (errorHandler.buildDepError "ghc-bignum")) + ] ++ (pkgs.lib).optional (!(compiler.isGhc && (compiler.version).ge "9.0.2")) (hsPkgs."ghc-bignum-orphans" or (errorHandler.buildDepError "ghc-bignum-orphans")) + else if flags.integer-gmp + then [ + (hsPkgs."integer-gmp" or (errorHandler.buildDepError "integer-gmp")) + ] + else [ + (hsPkgs."integer-simple" or (errorHandler.buildDepError "integer-simple")) + ]); + buildable = true; + }; + tests = { + "hashable-tests" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + (hsPkgs."hashable" or (errorHandler.buildDepError "hashable")) + (hsPkgs."HUnit" or (errorHandler.buildDepError "HUnit")) + (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")) + (hsPkgs."random" or (errorHandler.buildDepError "random")) + (hsPkgs."test-framework" or (errorHandler.buildDepError "test-framework")) + (hsPkgs."test-framework-hunit" or (errorHandler.buildDepError "test-framework-hunit")) + (hsPkgs."test-framework-quickcheck2" or (errorHandler.buildDepError "test-framework-quickcheck2")) + (hsPkgs."text" or (errorHandler.buildDepError "text")) + ] ++ (pkgs.lib).optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix")); + buildable = true; + }; + "hashable-examples" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + (hsPkgs."hashable" or (errorHandler.buildDepError "hashable")) + ]; + buildable = true; + }; + }; + }; + } // { + src = (pkgs.lib).mkDefault (pkgs.fetchurl { + url = "http://hackage.haskell.org/package/hashable-1.4.2.0.tar.gz"; + sha256 = "1b4000ea82b81f69d46d0af4152c10c6303873510738e24cfc4767760d30e3f8"; + }); + }) // { + package-description-override = "cabal-version: 1.12\nname: hashable\nversion: 1.4.2.0\nx-revision: 1\nsynopsis: A class for types that can be converted to a hash value\ndescription:\n This package defines a class, 'Hashable', for types that\n can be converted to a hash value. This class\n exists for the benefit of hashing-based data\n structures. The package provides instances for\n basic types and a way to combine hash values.\n\nhomepage: http://github.com/haskell-unordered-containers/hashable\n\n-- SPDX-License-Identifier : BSD-3-Clause\nlicense: BSD3\nlicense-file: LICENSE\nauthor:\n Milan Straka \n Johan Tibell \n\nmaintainer: Oleg Grenrus \nbug-reports:\n https://github.com/haskell-unordered-containers/hashable/issues\n\nstability: Provisional\ncategory: Data\nbuild-type: Simple\ntested-with:\n GHC ==8.2.2\n || ==8.4.4\n || ==8.6.5\n || ==8.8.3\n || ==8.10.4\n || ==8.10.7\n || ==9.0.1\n || ==9.0.2\n || ==9.2.5\n || ==9.4.4\n || ==9.6.1\n\nextra-source-files:\n CHANGES.md\n include/HsHashable.h\n README.md\n\nflag integer-gmp\n description:\n Are we using @integer-gmp@ to provide fast Integer instances? No effect on GHC-9.0 or later.\n\n manual: False\n default: True\n\nflag random-initial-seed\n description:\n Randomly initialize the initial seed on each final executable invocation\n This is useful for catching cases when you rely on (non-existent)\n stability of hashable's hash functions.\n This is not a security feature.\n\n manual: True\n default: False\n\nlibrary\n exposed-modules:\n Data.Hashable\n Data.Hashable.Generic\n Data.Hashable.Lifted\n\n other-modules:\n Data.Hashable.Class\n Data.Hashable.Generic.Instances\n Data.Hashable.Imports\n Data.Hashable.LowLevel\n\n c-sources: cbits/fnv.c\n include-dirs: include\n hs-source-dirs: src\n build-depends:\n base >=4.10.1.0 && <4.19\n , bytestring >=0.10.8.2 && <0.12\n , containers >=0.5.10.2 && <0.7\n , deepseq >=1.4.3.0 && <1.5\n , filepath >=1.4.1.2 && <1.5\n , ghc-prim\n , text >=1.2.3.0 && <1.3 || >=2.0 && <2.1\n\n if !impl(ghc >=9.2)\n build-depends: base-orphans >=0.8.6 && <0.10\n\n if !impl(ghc >=9.4)\n build-depends: data-array-byte >=0.1.0.1 && <0.2\n\n -- Integer internals\n if impl(ghc >=9)\n build-depends: ghc-bignum >=1.0 && <1.4\n\n if !impl(ghc >=9.0.2)\n build-depends: ghc-bignum-orphans >=0.1 && <0.2\n\n else\n if flag(integer-gmp)\n build-depends: integer-gmp >=0.4 && <1.1\n\n else\n -- this is needed for the automatic flag to be well-balanced\n build-depends: integer-simple\n\n if (flag(random-initial-seed) && impl(ghc))\n cpp-options: -DHASHABLE_RANDOM_SEED=1\n\n if os(windows)\n c-sources: cbits-win/init.c\n\n else\n c-sources: cbits-unix/init.c\n\n default-language: Haskell2010\n other-extensions:\n BangPatterns\n CPP\n DeriveDataTypeable\n FlexibleContexts\n FlexibleInstances\n GADTs\n KindSignatures\n MagicHash\n MultiParamTypeClasses\n ScopedTypeVariables\n Trustworthy\n TypeOperators\n UnliftedFFITypes\n\n ghc-options: -Wall -fwarn-tabs\n\n if impl(ghc >=9.0)\n -- these flags may abort compilation with GHC-8.10\n -- https://gitlab.haskell.org/ghc/ghc/-/merge_requests/3295\n ghc-options: -Winferred-safe-imports -Wmissing-safe-haskell-mode\n\ntest-suite hashable-tests\n type: exitcode-stdio-1.0\n hs-source-dirs: tests\n main-is: Main.hs\n other-modules:\n Properties\n Regress\n\n build-depends:\n base\n , bytestring\n , ghc-prim\n , hashable\n , HUnit\n , QuickCheck >=2.4.0.1\n , random >=1.0 && <1.3\n , test-framework >=0.3.3\n , test-framework-hunit\n , test-framework-quickcheck2 >=0.2.9\n , text >=0.11.0.5\n\n if !os(windows)\n build-depends: unix\n cpp-options: -DHAVE_MMAP\n other-modules: Regress.Mmap\n other-extensions: CApiFFI\n\n ghc-options: -Wall -fno-warn-orphans\n default-language: Haskell2010\n\ntest-suite hashable-examples\n type: exitcode-stdio-1.0\n build-depends:\n base\n , ghc-prim\n , hashable\n\n hs-source-dirs: examples\n main-is: Main.hs\n default-language: Haskell2010\n\nsource-repository head\n type: git\n location:\n https://github.com/haskell-unordered-containers/hashable.git\n"; + } \ No newline at end of file diff --git a/materialized/ghc928/hadrian-ghc94/hadrian/cabal-files/heaps.nix b/materialized/ghc928/hadrian-ghc94/hadrian/cabal-files/heaps.nix new file mode 100644 index 0000000000..dc77aed1f4 --- /dev/null +++ b/materialized/ghc928/hadrian-ghc94/hadrian/cabal-files/heaps.nix @@ -0,0 +1,38 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = {}; + package = { + specVersion = "1.10"; + identifier = { name = "heaps"; version = "0.4"; }; + license = "BSD-3-Clause"; + copyright = "(c) 2010-2015 Edward A. Kmett"; + maintainer = "Edward A. Kmett "; + author = "Edward A. Kmett"; + homepage = "http://github.com/ekmett/heaps/"; + url = ""; + synopsis = "Asymptotically optimal Brodal/Okasaki heaps."; + description = "Asymptotically optimal Brodal\\/Okasaki bootstrapped skew-binomial heaps from the paper , extended with a 'Foldable' interface."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ (hsPkgs."base" or (errorHandler.buildDepError "base")) ]; + buildable = true; + }; + }; + } // { + src = (pkgs.lib).mkDefault (pkgs.fetchurl { + url = "http://hackage.haskell.org/package/heaps-0.4.tar.gz"; + sha256 = "89329df8b95ae99ef272e41e7a2d0fe2f1bb7eacfcc34bc01664414b33067cfd"; + }); + }) // { + package-description-override = "name: heaps\nversion: 0.4\nlicense: BSD3\nlicense-file: LICENSE\nauthor: Edward A. Kmett\nmaintainer: Edward A. Kmett \nstability: experimental\nhomepage: http://github.com/ekmett/heaps/\nbug-reports: http://github.com/ekmett/heaps/issues\ncategory: Data Structures\nsynopsis: Asymptotically optimal Brodal/Okasaki heaps.\ndescription: Asymptotically optimal Brodal\\/Okasaki bootstrapped skew-binomial heaps from the paper , extended with a 'Foldable' interface.\ncopyright: (c) 2010-2015 Edward A. Kmett\ntested-with: GHC == 7.0.4\n , GHC == 7.2.2\n , GHC == 7.4.2\n , GHC == 7.6.3\n , GHC == 7.8.4\n , GHC == 7.10.3\n , GHC == 8.0.2\n , GHC == 8.2.2\n , GHC == 8.4.4\n , GHC == 8.6.5\n , GHC == 8.8.3\n , GHC == 8.10.1\nbuild-type: Simple\ncabal-version: >=1.10\nextra-source-files:\n .gitignore\n .hlint.yaml\n CHANGELOG.markdown\n README.markdown\n\nsource-repository head\n type: git\n location: git://github.com/ekmett/heaps.git\n\nlibrary\n exposed-modules: Data.Heap\n build-depends:\n base >= 4 && < 6\n hs-source-dirs: src\n ghc-options: -O2 -Wall\n default-language: Haskell2010\n"; + } \ No newline at end of file diff --git a/materialized/ghc928/hadrian-ghc94/hadrian/cabal-files/js-dgtable.nix b/materialized/ghc928/hadrian-ghc94/hadrian/cabal-files/js-dgtable.nix new file mode 100644 index 0000000000..0237404c41 --- /dev/null +++ b/materialized/ghc928/hadrian-ghc94/hadrian/cabal-files/js-dgtable.nix @@ -0,0 +1,47 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = {}; + package = { + specVersion = "1.18"; + identifier = { name = "js-dgtable"; version = "0.5.2"; }; + license = "MIT"; + copyright = "Neil Mitchell 2019"; + maintainer = "Neil Mitchell "; + author = "Neil Mitchell "; + homepage = "https://github.com/ndmitchell/js-dgtable#readme"; + url = ""; + synopsis = "Obtain minified jquery.dgtable code"; + description = "This package bundles the minified code into a Haskell package,\nso it can be depended upon by Cabal packages. The first three components of\nthe version number match the upstream jquery.dgtable version. The package is designed\nto meet the redistribution requirements of downstream users (e.g. Debian)."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ (hsPkgs."base" or (errorHandler.buildDepError "base")) ]; + buildable = true; + }; + tests = { + "js-dgtable-test" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."js-dgtable" or (errorHandler.buildDepError "js-dgtable")) + ]; + buildable = true; + }; + }; + }; + } // { + src = (pkgs.lib).mkDefault (pkgs.fetchurl { + url = "http://hackage.haskell.org/package/js-dgtable-0.5.2.tar.gz"; + sha256 = "e28dd65bee8083b17210134e22e01c6349dc33c3b7bd17705973cd014e9f20ac"; + }); + }) // { + package-description-override = "cabal-version: >= 1.18\nbuild-type: Simple\nname: js-dgtable\nversion: 0.5.2\nlicense: MIT\nlicense-file: LICENSE\ncategory: Javascript\nauthor: Neil Mitchell \nmaintainer: Neil Mitchell \ncopyright: Neil Mitchell 2019\nsynopsis: Obtain minified jquery.dgtable code\ndescription:\n This package bundles the minified code into a Haskell package,\n so it can be depended upon by Cabal packages. The first three components of\n the version number match the upstream jquery.dgtable version. The package is designed\n to meet the redistribution requirements of downstream users (e.g. Debian).\nhomepage: https://github.com/ndmitchell/js-dgtable#readme\nbug-reports: https://github.com/ndmitchell/js-dgtable/issues\ntested-with: GHC==8.6.4, GHC==8.4.4, GHC==8.2.2, GHC==8.0.2, GHC==7.10.3\nextra-source-files:\n javascript/jquery.dgtable.js\nextra-doc-files:\n CHANGES.txt\n README.md\n\ndata-dir: javascript\ndata-files:\n jquery.dgtable.min.js\n\nsource-repository head\n type: git\n location: https://github.com/ndmitchell/js-dgtable.git\n\nlibrary\n default-language: Haskell2010\n hs-source-dirs: src\n build-depends:\n base == 4.*\n\n exposed-modules:\n Language.Javascript.DGTable\n\n other-modules:\n Paths_js_dgtable\n\ntest-suite js-dgtable-test\n default-language: Haskell2010\n type: exitcode-stdio-1.0\n main-is: src/Test.hs\n other-modules:\n Paths_js_dgtable\n build-depends:\n base == 4.*,\n js-dgtable\n"; + } \ No newline at end of file diff --git a/materialized/ghc928/hadrian-ghc94/hadrian/cabal-files/js-flot.nix b/materialized/ghc928/hadrian-ghc94/hadrian/cabal-files/js-flot.nix new file mode 100644 index 0000000000..ba292fc8b2 --- /dev/null +++ b/materialized/ghc928/hadrian-ghc94/hadrian/cabal-files/js-flot.nix @@ -0,0 +1,47 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = {}; + package = { + specVersion = "1.10"; + identifier = { name = "js-flot"; version = "0.8.3"; }; + license = "MIT"; + copyright = "Neil Mitchell 2014"; + maintainer = "Neil Mitchell "; + author = "Neil Mitchell "; + homepage = "https://github.com/ndmitchell/js-flot#readme"; + url = ""; + synopsis = "Obtain minified flot code"; + description = "This package bundles the minified code\n(a jQuery plotting library) into a Haskell package,\nso it can be depended upon by Cabal packages. The first three components of\nthe version number match the upstream flot version. The package is designed\nto meet the redistribution requirements of downstream users (e.g. Debian)."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ (hsPkgs."base" or (errorHandler.buildDepError "base")) ]; + buildable = true; + }; + tests = { + "js-flot-test" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."HTTP" or (errorHandler.buildDepError "HTTP")) + ]; + buildable = true; + }; + }; + }; + } // { + src = (pkgs.lib).mkDefault (pkgs.fetchurl { + url = "http://hackage.haskell.org/package/js-flot-0.8.3.tar.gz"; + sha256 = "1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a"; + }); + }) // { + package-description-override = "cabal-version: >= 1.10\nbuild-type: Simple\nname: js-flot\nversion: 0.8.3\nlicense: MIT\nlicense-file: LICENSE\ncategory: Javascript\nauthor: Neil Mitchell \nmaintainer: Neil Mitchell \ncopyright: Neil Mitchell 2014\nsynopsis: Obtain minified flot code\ndescription:\n This package bundles the minified code\n (a jQuery plotting library) into a Haskell package,\n so it can be depended upon by Cabal packages. The first three components of\n the version number match the upstream flot version. The package is designed\n to meet the redistribution requirements of downstream users (e.g. Debian).\nhomepage: https://github.com/ndmitchell/js-flot#readme\nbug-reports: https://github.com/ndmitchell/js-flot/issues\ntested-with: GHC==7.8.3, GHC==7.6.3, GHC==7.4.2, GHC==7.2.2\nextra-source-files:\n javascript/flot-0.8.3.zip\n CHANGES.txt\n README.md\n\ndata-dir: javascript\ndata-files:\n jquery.flot.min.js\n jquery.flot.canvas.min.js\n jquery.flot.categories.min.js\n jquery.flot.crosshair.min.js\n jquery.flot.errorbars.min.js\n jquery.flot.fillbetween.min.js\n jquery.flot.image.min.js\n jquery.flot.navigate.min.js\n jquery.flot.pie.min.js\n jquery.flot.resize.min.js\n jquery.flot.selection.min.js\n jquery.flot.stack.min.js\n jquery.flot.symbol.min.js\n jquery.flot.threshold.min.js\n jquery.flot.time.min.js\n\nsource-repository head\n type: git\n location: https://github.com/ndmitchell/js-flot.git\n\nlibrary\n default-language: Haskell2010\n build-depends:\n base == 4.*\n\n exposed-modules:\n Language.Javascript.Flot\n\n other-modules:\n Paths_js_flot\n\ntest-suite js-flot-test\n default-language: Haskell2010\n type: exitcode-stdio-1.0\n main-is: Test.hs\n build-depends:\n base == 4.*,\n HTTP\n"; + } \ No newline at end of file diff --git a/materialized/ghc928/hadrian-ghc94/hadrian/cabal-files/js-jquery.nix b/materialized/ghc928/hadrian-ghc94/hadrian/cabal-files/js-jquery.nix new file mode 100644 index 0000000000..9ecdc931ed --- /dev/null +++ b/materialized/ghc928/hadrian-ghc94/hadrian/cabal-files/js-jquery.nix @@ -0,0 +1,48 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = {}; + package = { + specVersion = "1.18"; + identifier = { name = "js-jquery"; version = "3.3.1"; }; + license = "MIT"; + copyright = "Neil Mitchell 2014-2018"; + maintainer = "Neil Mitchell "; + author = "Neil Mitchell "; + homepage = "https://github.com/ndmitchell/js-jquery#readme"; + url = ""; + synopsis = "Obtain minified jQuery code"; + description = "This package bundles the minified code into a Haskell package,\nso it can be depended upon by Cabal packages. The first three components of\nthe version number match the upstream jQuery version. The package is designed\nto meet the redistribution requirements of downstream users (e.g. Debian)."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ (hsPkgs."base" or (errorHandler.buildDepError "base")) ]; + buildable = true; + }; + tests = { + "js-jquery-test" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."js-jquery" or (errorHandler.buildDepError "js-jquery")) + (hsPkgs."HTTP" or (errorHandler.buildDepError "HTTP")) + ]; + buildable = true; + }; + }; + }; + } // { + src = (pkgs.lib).mkDefault (pkgs.fetchurl { + url = "http://hackage.haskell.org/package/js-jquery-3.3.1.tar.gz"; + sha256 = "e0e0681f0da1130ede4e03a051630ea439c458cb97216cdb01771ebdbe44069b"; + }); + }) // { + package-description-override = "cabal-version: >= 1.18\nbuild-type: Simple\nname: js-jquery\nversion: 3.3.1\nlicense: MIT\nlicense-file: LICENSE\ncategory: Javascript\nauthor: Neil Mitchell \nmaintainer: Neil Mitchell \ncopyright: Neil Mitchell 2014-2018\nsynopsis: Obtain minified jQuery code\ndescription:\n This package bundles the minified code into a Haskell package,\n so it can be depended upon by Cabal packages. The first three components of\n the version number match the upstream jQuery version. The package is designed\n to meet the redistribution requirements of downstream users (e.g. Debian).\nhomepage: https://github.com/ndmitchell/js-jquery#readme\nbug-reports: https://github.com/ndmitchell/js-jquery/issues\ntested-with: GHC==8.2.2, GHC==8.0.2, GHC==7.10.3, GHC==7.8.4, GHC==7.6.3, GHC==7.4.2\nextra-source-files:\n javascript/jquery-3.3.1.js\nextra-doc-files:\n CHANGES.txt\n README.md\n\ndata-dir: javascript\ndata-files:\n jquery-3.3.1.min.js\n\nsource-repository head\n type: git\n location: https://github.com/ndmitchell/js-jquery.git\n\nlibrary\n default-language: Haskell2010\n hs-source-dirs: src\n build-depends:\n base == 4.*\n\n exposed-modules:\n Language.Javascript.JQuery\n\n other-modules:\n Paths_js_jquery\n\ntest-suite js-jquery-test\n default-language: Haskell2010\n type: exitcode-stdio-1.0\n main-is: src/Test.hs\n other-modules:\n Paths_js_jquery\n build-depends:\n base == 4.*,\n js-jquery,\n HTTP\n"; + } \ No newline at end of file diff --git a/materialized/ghc928/hadrian-ghc94/hadrian/cabal-files/primitive.nix b/materialized/ghc928/hadrian-ghc94/hadrian/cabal-files/primitive.nix new file mode 100644 index 0000000000..bbc2dd58da --- /dev/null +++ b/materialized/ghc928/hadrian-ghc94/hadrian/cabal-files/primitive.nix @@ -0,0 +1,73 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = {}; + package = { + specVersion = "2.0"; + identifier = { name = "primitive"; version = "0.8.0.0"; }; + license = "BSD-3-Clause"; + copyright = "(c) Roman Leshchinskiy 2009-2012"; + maintainer = "libraries@haskell.org"; + author = "Roman Leshchinskiy "; + homepage = "https://github.com/haskell/primitive"; + url = ""; + synopsis = "Primitive memory-related operations"; + description = "This package provides various primitive memory-related operations."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")) + (hsPkgs."template-haskell" or (errorHandler.buildDepError "template-haskell")) + ] ++ (pkgs.lib).optional (compiler.isGhc && (compiler.version).lt "9.4") (hsPkgs."data-array-byte" or (errorHandler.buildDepError "data-array-byte")); + buildable = true; + }; + tests = { + "test-qc" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."base-orphans" or (errorHandler.buildDepError "base-orphans")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + (hsPkgs."primitive" or (errorHandler.buildDepError "primitive")) + (hsPkgs."quickcheck-classes-base" or (errorHandler.buildDepError "quickcheck-classes-base")) + (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")) + (hsPkgs."tasty" or (errorHandler.buildDepError "tasty")) + (hsPkgs."tasty-quickcheck" or (errorHandler.buildDepError "tasty-quickcheck")) + (hsPkgs."tagged" or (errorHandler.buildDepError "tagged")) + (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")) + (hsPkgs."transformers-compat" or (errorHandler.buildDepError "transformers-compat")) + ]; + buildable = true; + }; + }; + benchmarks = { + "bench" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."primitive" or (errorHandler.buildDepError "primitive")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."tasty-bench" or (errorHandler.buildDepError "tasty-bench")) + (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")) + ]; + buildable = true; + }; + }; + }; + } // { + src = (pkgs.lib).mkDefault (pkgs.fetchurl { + url = "http://hackage.haskell.org/package/primitive-0.8.0.0.tar.gz"; + sha256 = "5553c21b4a789f9b591eed69e598cc58484c274af29250e517b5a8bcc62b995f"; + }); + }) // { + package-description-override = "Cabal-Version: 2.0\nName: primitive\nVersion: 0.8.0.0\nLicense: BSD3\nLicense-File: LICENSE\n\nAuthor: Roman Leshchinskiy \nMaintainer: libraries@haskell.org\nCopyright: (c) Roman Leshchinskiy 2009-2012\nHomepage: https://github.com/haskell/primitive\nBug-Reports: https://github.com/haskell/primitive/issues\nCategory: Data\nSynopsis: Primitive memory-related operations\nBuild-Type: Simple\nDescription: This package provides various primitive memory-related operations.\n\nExtra-Source-Files: changelog.md\n test/*.hs\n test/LICENSE\n\nTested-With:\n GHC == 8.0.2\n GHC == 8.2.2\n GHC == 8.4.4\n GHC == 8.6.5\n GHC == 8.8.4\n GHC == 8.10.7\n GHC == 9.0.2\n GHC == 9.2.5\n GHC == 9.4.4\n\nLibrary\n Default-Language: Haskell2010\n Default-Extensions:\n TypeOperators\n Other-Extensions:\n BangPatterns, CPP, DeriveDataTypeable,\n MagicHash, TypeFamilies, UnboxedTuples, UnliftedFFITypes\n\n Exposed-Modules:\n Control.Monad.Primitive\n Data.Primitive\n Data.Primitive.MachDeps\n Data.Primitive.Types\n Data.Primitive.Array\n Data.Primitive.ByteArray\n Data.Primitive.PrimArray\n Data.Primitive.SmallArray\n Data.Primitive.Ptr\n Data.Primitive.MutVar\n Data.Primitive.MVar\n Data.Primitive.PrimVar\n\n Other-Modules:\n Data.Primitive.Internal.Operations\n\n Build-Depends: base >= 4.9 && < 4.19\n , deepseq >= 1.1 && < 1.5\n , transformers >= 0.5 && < 0.7\n , template-haskell >= 2.11\n\n if impl(ghc >= 9.2)\n cpp-options: -DHAVE_KEEPALIVE\n\n if impl(ghc < 9.4)\n build-depends: data-array-byte >= 0.1 && < 0.1.1\n\n Ghc-Options: -O2\n\n Include-Dirs: cbits\n Install-Includes: primitive-memops.h\n includes: primitive-memops.h\n c-sources: cbits/primitive-memops.c\n if !os(solaris)\n cc-options: -ftree-vectorize\n if arch(i386) || arch(x86_64)\n cc-options: -msse2\n\ntest-suite test-qc\n Default-Language: Haskell2010\n hs-source-dirs: test\n test/src\n main-is: main.hs\n Other-Modules: PrimLaws\n type: exitcode-stdio-1.0\n build-depends: base\n , base-orphans\n , ghc-prim\n , primitive\n , quickcheck-classes-base >= 0.6 && <0.7\n , QuickCheck >= 2.13 && < 2.15\n , tasty ^>= 1.2 || ^>= 1.3 || ^>= 1.4\n , tasty-quickcheck\n , tagged\n , transformers >= 0.5\n , transformers-compat\n\n cpp-options: -DHAVE_UNARY_LAWS\n ghc-options: -O2\n\nbenchmark bench\n Default-Language: Haskell2010\n hs-source-dirs: bench\n main-is: main.hs\n type: exitcode-stdio-1.0\n ghc-options: -O2\n other-modules:\n Array.Traverse.Closure\n Array.Traverse.Unsafe\n ByteArray.Compare\n PrimArray.Compare\n PrimArray.Traverse\n build-depends:\n base\n , primitive\n , deepseq\n , tasty-bench\n , transformers >= 0.5\n\nsource-repository head\n type: git\n location: https://github.com/haskell/primitive\n"; + } \ No newline at end of file diff --git a/materialized/ghc928/hadrian-ghc94/hadrian/cabal-files/random.nix b/materialized/ghc928/hadrian-ghc94/hadrian/cabal-files/random.nix new file mode 100644 index 0000000000..c2f8f753b4 --- /dev/null +++ b/materialized/ghc928/hadrian-ghc94/hadrian/cabal-files/random.nix @@ -0,0 +1,113 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = {}; + package = { + specVersion = "1.10"; + identifier = { name = "random"; version = "1.2.1.1"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "core-libraries-committee@haskell.org"; + author = ""; + homepage = ""; + url = ""; + synopsis = "Pseudo-random number generation"; + description = "This package provides basic pseudo-random number generation, including the\nability to split random number generators.\n\n== \"System.Random\": pure pseudo-random number interface\n\nIn pure code, use 'System.Random.uniform' and 'System.Random.uniformR' from\n\"System.Random\" to generate pseudo-random numbers with a pure pseudo-random\nnumber generator like 'System.Random.StdGen'.\n\nAs an example, here is how you can simulate rolls of a six-sided die using\n'System.Random.uniformR':\n\n>>> let roll = uniformR (1, 6) :: RandomGen g => g -> (Word, g)\n>>> let rolls = unfoldr (Just . roll) :: RandomGen g => g -> [Word]\n>>> let pureGen = mkStdGen 42\n>>> take 10 (rolls pureGen) :: [Word]\n[1,1,3,2,4,5,3,4,6,2]\n\nSee \"System.Random\" for more details.\n\n== \"System.Random.Stateful\": monadic pseudo-random number interface\n\nIn monadic code, use 'System.Random.Stateful.uniformM' and\n'System.Random.Stateful.uniformRM' from \"System.Random.Stateful\" to generate\npseudo-random numbers with a monadic pseudo-random number generator, or\nusing a monadic adapter.\n\nAs an example, here is how you can simulate rolls of a six-sided die using\n'System.Random.Stateful.uniformRM':\n\n>>> let rollM = uniformRM (1, 6) :: StatefulGen g m => g -> m Word\n>>> let pureGen = mkStdGen 42\n>>> runStateGen_ pureGen (replicateM 10 . rollM) :: [Word]\n[1,1,3,2,4,5,3,4,6,2]\n\nThe monadic adapter 'System.Random.Stateful.runStateGen_' is used here to lift\nthe pure pseudo-random number generator @pureGen@ into the\n'System.Random.Stateful.StatefulGen' context.\n\nThe monadic interface can also be used with existing monadic pseudo-random\nnumber generators. In this example, we use the one provided in the\n package:\n\n>>> import System.Random.MWC as MWC\n>>> let rollM = uniformRM (1, 6) :: StatefulGen g m => g -> m Word\n>>> monadicGen <- MWC.create\n>>> replicateM 10 (rollM monadicGen) :: IO [Word]\n[2,3,6,6,4,4,3,1,5,4]\n\nSee \"System.Random.Stateful\" for more details."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."mtl" or (errorHandler.buildDepError "mtl")) + (hsPkgs."splitmix" or (errorHandler.buildDepError "splitmix")) + ] ++ (pkgs.lib).optional (compiler.isGhc && (compiler.version).lt "8.0") (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")); + buildable = true; + }; + tests = { + "legacy-test" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."random" or (errorHandler.buildDepError "random")) + ]; + buildable = true; + }; + "doctests" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."doctest" or (errorHandler.buildDepError "doctest")) + ] ++ (pkgs.lib).optionals (compiler.isGhc && (compiler.version).ge "8.2" && (compiler.isGhc && (compiler.version).lt "8.10")) [ + (hsPkgs."mwc-random" or (errorHandler.buildDepError "mwc-random")) + (hsPkgs."primitive" or (errorHandler.buildDepError "primitive")) + (hsPkgs."random" or (errorHandler.buildDepError "random")) + (hsPkgs."stm" or (errorHandler.buildDepError "stm")) + (hsPkgs."unliftio" or (errorHandler.buildDepError "unliftio")) + (hsPkgs."vector" or (errorHandler.buildDepError "vector")) + ]; + buildable = true; + }; + "spec" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."random" or (errorHandler.buildDepError "random")) + (hsPkgs."smallcheck" or (errorHandler.buildDepError "smallcheck")) + (hsPkgs."stm" or (errorHandler.buildDepError "stm")) + (hsPkgs."tasty" or (errorHandler.buildDepError "tasty")) + (hsPkgs."tasty-smallcheck" or (errorHandler.buildDepError "tasty-smallcheck")) + (hsPkgs."tasty-hunit" or (errorHandler.buildDepError "tasty-hunit")) + (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")) + ]; + buildable = true; + }; + "spec-inspection" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."random" or (errorHandler.buildDepError "random")) + (hsPkgs."tasty" or (errorHandler.buildDepError "tasty")) + ] ++ (pkgs.lib).optional (compiler.isGhc && (compiler.version).ge "8.0") (hsPkgs."tasty-inspection-testing" or (errorHandler.buildDepError "tasty-inspection-testing")); + buildable = true; + }; + }; + benchmarks = { + "legacy-bench" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."random" or (errorHandler.buildDepError "random")) + (hsPkgs."rdtsc" or (errorHandler.buildDepError "rdtsc")) + (hsPkgs."split" or (errorHandler.buildDepError "split")) + (hsPkgs."time" or (errorHandler.buildDepError "time")) + ]; + buildable = true; + }; + "bench" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."mtl" or (errorHandler.buildDepError "mtl")) + (hsPkgs."primitive" or (errorHandler.buildDepError "primitive")) + (hsPkgs."random" or (errorHandler.buildDepError "random")) + (hsPkgs."splitmix" or (errorHandler.buildDepError "splitmix")) + (hsPkgs."tasty-bench" or (errorHandler.buildDepError "tasty-bench")) + ]; + buildable = true; + }; + }; + }; + } // { + src = (pkgs.lib).mkDefault (pkgs.fetchurl { + url = "http://hackage.haskell.org/package/random-1.2.1.1.tar.gz"; + sha256 = "3e1272f7ed6a4d7bd1712b90143ec326fee9b225789222379fea20a9c90c9b76"; + }); + }) // { + package-description-override = "cabal-version: >=1.10\nname: random\nversion: 1.2.1.1\nlicense: BSD3\nlicense-file: LICENSE\nmaintainer: core-libraries-committee@haskell.org\nbug-reports: https://github.com/haskell/random/issues\nsynopsis: Pseudo-random number generation\ndescription:\n This package provides basic pseudo-random number generation, including the\n ability to split random number generators.\n .\n == \"System.Random\": pure pseudo-random number interface\n .\n In pure code, use 'System.Random.uniform' and 'System.Random.uniformR' from\n \"System.Random\" to generate pseudo-random numbers with a pure pseudo-random\n number generator like 'System.Random.StdGen'.\n .\n As an example, here is how you can simulate rolls of a six-sided die using\n 'System.Random.uniformR':\n .\n >>> let roll = uniformR (1, 6) :: RandomGen g => g -> (Word, g)\n >>> let rolls = unfoldr (Just . roll) :: RandomGen g => g -> [Word]\n >>> let pureGen = mkStdGen 42\n >>> take 10 (rolls pureGen) :: [Word]\n [1,1,3,2,4,5,3,4,6,2]\n .\n See \"System.Random\" for more details.\n .\n == \"System.Random.Stateful\": monadic pseudo-random number interface\n .\n In monadic code, use 'System.Random.Stateful.uniformM' and\n 'System.Random.Stateful.uniformRM' from \"System.Random.Stateful\" to generate\n pseudo-random numbers with a monadic pseudo-random number generator, or\n using a monadic adapter.\n .\n As an example, here is how you can simulate rolls of a six-sided die using\n 'System.Random.Stateful.uniformRM':\n .\n >>> let rollM = uniformRM (1, 6) :: StatefulGen g m => g -> m Word\n >>> let pureGen = mkStdGen 42\n >>> runStateGen_ pureGen (replicateM 10 . rollM) :: [Word]\n [1,1,3,2,4,5,3,4,6,2]\n .\n The monadic adapter 'System.Random.Stateful.runStateGen_' is used here to lift\n the pure pseudo-random number generator @pureGen@ into the\n 'System.Random.Stateful.StatefulGen' context.\n .\n The monadic interface can also be used with existing monadic pseudo-random\n number generators. In this example, we use the one provided in the\n package:\n .\n >>> import System.Random.MWC as MWC\n >>> let rollM = uniformRM (1, 6) :: StatefulGen g m => g -> m Word\n >>> monadicGen <- MWC.create\n >>> replicateM 10 (rollM monadicGen) :: IO [Word]\n [2,3,6,6,4,4,3,1,5,4]\n .\n See \"System.Random.Stateful\" for more details.\n\ncategory: System\nbuild-type: Simple\nextra-source-files:\n README.md\n CHANGELOG.md\ntested-with: GHC == 7.10.2\n , GHC == 7.10.3\n , GHC == 8.0.2\n , GHC == 8.2.2\n , GHC == 8.4.3\n , GHC == 8.4.4\n , GHC == 8.6.3\n , GHC == 8.6.4\n , GHC == 8.6.5\n , GHC == 8.8.1\n , GHC == 8.8.2\n , GHC == 8.10.1\n\nsource-repository head\n type: git\n location: https://github.com/haskell/random.git\n\n\nlibrary\n exposed-modules:\n System.Random\n System.Random.Internal\n System.Random.Stateful\n other-modules:\n System.Random.GFinite\n\n hs-source-dirs: src\n default-language: Haskell2010\n ghc-options:\n -Wall\n if impl(ghc >= 8.0)\n ghc-options:\n -Wincomplete-record-updates -Wincomplete-uni-patterns\n\n build-depends:\n base >=4.8 && <5,\n bytestring >=0.10.4 && <0.12,\n deepseq >=1.1 && <2,\n mtl >=2.2 && <2.4,\n splitmix >=0.1 && <0.2\n if impl(ghc < 8.0)\n build-depends:\n transformers\n\ntest-suite legacy-test\n type: exitcode-stdio-1.0\n main-is: Legacy.hs\n hs-source-dirs: test-legacy\n other-modules:\n T7936\n TestRandomIOs\n TestRandomRs\n Random1283\n RangeTest\n\n default-language: Haskell2010\n ghc-options: -with-rtsopts=-M8M\n if impl(ghc >= 8.0)\n ghc-options:\n -Wno-deprecations\n build-depends:\n base,\n containers >=0.5 && <0.7,\n random\n\ntest-suite doctests\n type: exitcode-stdio-1.0\n main-is: doctests.hs\n hs-source-dirs: test\n default-language: Haskell2010\n build-depends:\n base,\n doctest >=0.15 && <0.21\n if impl(ghc >= 8.2) && impl(ghc < 8.10)\n build-depends:\n mwc-random >=0.13 && <0.16,\n primitive >=0.6 && <0.8,\n random,\n stm,\n unliftio >=0.2 && <0.3,\n vector >= 0.10 && <0.14\n\ntest-suite spec\n type: exitcode-stdio-1.0\n main-is: Spec.hs\n hs-source-dirs: test\n other-modules:\n Spec.Range\n Spec.Run\n Spec.Stateful\n\n default-language: Haskell2010\n ghc-options: -Wall\n build-depends:\n base,\n bytestring,\n random,\n smallcheck >=1.2 && <1.3,\n stm,\n tasty >=1.0 && <1.5,\n tasty-smallcheck >=0.8 && <0.9,\n tasty-hunit >=0.10 && <0.11,\n transformers\n\n-- Note. Fails when compiled with coverage:\n-- https://github.com/haskell/random/issues/107\ntest-suite spec-inspection\n type: exitcode-stdio-1.0\n main-is: Spec.hs\n hs-source-dirs: test-inspection\n build-depends:\n\n default-language: Haskell2010\n ghc-options: -Wall\n build-depends:\n base,\n random,\n tasty >=1.0 && <1.5\n if impl(ghc >= 8.0)\n build-depends:\n tasty-inspection-testing\n other-modules:\n Spec.Inspection\n\nbenchmark legacy-bench\n type: exitcode-stdio-1.0\n main-is: SimpleRNGBench.hs\n hs-source-dirs: bench-legacy\n other-modules: BinSearch\n default-language: Haskell2010\n ghc-options:\n -Wall -O2 -threaded -rtsopts -with-rtsopts=-N\n if impl(ghc >= 8.0)\n ghc-options:\n -Wno-deprecations\n\n build-depends:\n base,\n random,\n rdtsc,\n split >=0.2 && <0.3,\n time >=1.4 && <1.13\n\nbenchmark bench\n type: exitcode-stdio-1.0\n main-is: Main.hs\n hs-source-dirs: bench\n default-language: Haskell2010\n ghc-options: -Wall -O2\n build-depends:\n base,\n mtl,\n primitive >= 0.7.1,\n random,\n splitmix >=0.1 && <0.2,\n tasty-bench\n"; + } \ No newline at end of file diff --git a/materialized/ghc928/hadrian-ghc94/hadrian/cabal-files/shake.nix b/materialized/ghc928/hadrian-ghc94/hadrian/cabal-files/shake.nix new file mode 100644 index 0000000000..e7eb5c6647 --- /dev/null +++ b/materialized/ghc928/hadrian-ghc94/hadrian/cabal-files/shake.nix @@ -0,0 +1,132 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = { portable = false; cloud = false; embed-files = false; }; + package = { + specVersion = "1.18"; + identifier = { name = "shake"; version = "0.19.7"; }; + license = "BSD-3-Clause"; + copyright = "Neil Mitchell 2011-2022"; + maintainer = "Neil Mitchell "; + author = "Neil Mitchell "; + homepage = "https://shakebuild.com"; + url = ""; + synopsis = "Build system library, like Make, but more accurate dependencies."; + description = "Shake is a Haskell library for writing build systems - designed as a\nreplacement for @make@. See \"Development.Shake\" for an introduction,\nincluding an example. The homepage contains links to a user\nmanual, an academic paper and further information:\n\n\nTo use Shake the user writes a Haskell program\nthat imports \"Development.Shake\", defines some build rules, and calls\nthe 'Development.Shake.shakeArgs' function. Thanks to do notation and infix\noperators, a simple Shake build system\nis not too dissimilar from a simple Makefile. However, as build systems\nget more complex, Shake is able to take advantage of the excellent\nabstraction facilities offered by Haskell and easily support much larger\nprojects. The Shake library provides all the standard features available in other\nbuild systems, including automatic parallelism and minimal rebuilds.\nShake also provides more accurate dependency tracking, including seamless\nsupport for generated files, and dependencies on system information\n(e.g. compiler version)."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = ((([ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (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."filepattern" or (errorHandler.buildDepError "filepattern")) + (hsPkgs."hashable" or (errorHandler.buildDepError "hashable")) + (hsPkgs."heaps" or (errorHandler.buildDepError "heaps")) + (hsPkgs."js-dgtable" or (errorHandler.buildDepError "js-dgtable")) + (hsPkgs."js-flot" or (errorHandler.buildDepError "js-flot")) + (hsPkgs."js-jquery" or (errorHandler.buildDepError "js-jquery")) + (hsPkgs."primitive" or (errorHandler.buildDepError "primitive")) + (hsPkgs."process" or (errorHandler.buildDepError "process")) + (hsPkgs."random" or (errorHandler.buildDepError "random")) + (hsPkgs."time" or (errorHandler.buildDepError "time")) + (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")) + (hsPkgs."unordered-containers" or (errorHandler.buildDepError "unordered-containers")) + (hsPkgs."utf8-string" or (errorHandler.buildDepError "utf8-string")) + ] ++ (pkgs.lib).optionals (flags.embed-files) [ + (hsPkgs."file-embed" or (errorHandler.buildDepError "file-embed")) + (hsPkgs."template-haskell" or (errorHandler.buildDepError "template-haskell")) + ]) ++ (pkgs.lib).optionals (!flags.portable) ((pkgs.lib).optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix")))) ++ (pkgs.lib).optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix"))) ++ (pkgs.lib).optionals (flags.cloud) [ + (hsPkgs."network" or (errorHandler.buildDepError "network")) + (hsPkgs."network-uri" or (errorHandler.buildDepError "network-uri")) + ]; + buildable = true; + }; + exes = { + "shake" = { + depends = (((([ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (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."filepattern" or (errorHandler.buildDepError "filepattern")) + (hsPkgs."hashable" or (errorHandler.buildDepError "hashable")) + (hsPkgs."heaps" or (errorHandler.buildDepError "heaps")) + (hsPkgs."js-dgtable" or (errorHandler.buildDepError "js-dgtable")) + (hsPkgs."js-flot" or (errorHandler.buildDepError "js-flot")) + (hsPkgs."js-jquery" or (errorHandler.buildDepError "js-jquery")) + (hsPkgs."primitive" or (errorHandler.buildDepError "primitive")) + (hsPkgs."process" or (errorHandler.buildDepError "process")) + (hsPkgs."random" or (errorHandler.buildDepError "random")) + (hsPkgs."time" or (errorHandler.buildDepError "time")) + (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")) + (hsPkgs."unordered-containers" or (errorHandler.buildDepError "unordered-containers")) + (hsPkgs."utf8-string" or (errorHandler.buildDepError "utf8-string")) + ] ++ (pkgs.lib).optionals (flags.embed-files) [ + (hsPkgs."file-embed" or (errorHandler.buildDepError "file-embed")) + (hsPkgs."template-haskell" or (errorHandler.buildDepError "template-haskell")) + ]) ++ (pkgs.lib).optionals (!flags.portable) ((pkgs.lib).optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix")))) ++ (pkgs.lib).optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix"))) ++ (pkgs.lib).optionals (flags.cloud) [ + (hsPkgs."network" or (errorHandler.buildDepError "network")) + (hsPkgs."network-uri" or (errorHandler.buildDepError "network-uri")) + ]) ++ (pkgs.lib).optional (compiler.isGhc && (compiler.version).lt "8.0") (hsPkgs."semigroups" or (errorHandler.buildDepError "semigroups")); + buildable = true; + }; + }; + tests = { + "shake-test" = { + depends = (((([ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (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."filepattern" or (errorHandler.buildDepError "filepattern")) + (hsPkgs."hashable" or (errorHandler.buildDepError "hashable")) + (hsPkgs."heaps" or (errorHandler.buildDepError "heaps")) + (hsPkgs."js-dgtable" or (errorHandler.buildDepError "js-dgtable")) + (hsPkgs."js-flot" or (errorHandler.buildDepError "js-flot")) + (hsPkgs."js-jquery" or (errorHandler.buildDepError "js-jquery")) + (hsPkgs."primitive" or (errorHandler.buildDepError "primitive")) + (hsPkgs."process" or (errorHandler.buildDepError "process")) + (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")) + (hsPkgs."random" or (errorHandler.buildDepError "random")) + (hsPkgs."time" or (errorHandler.buildDepError "time")) + (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")) + (hsPkgs."unordered-containers" or (errorHandler.buildDepError "unordered-containers")) + (hsPkgs."utf8-string" or (errorHandler.buildDepError "utf8-string")) + ] ++ (pkgs.lib).optionals (flags.embed-files) [ + (hsPkgs."file-embed" or (errorHandler.buildDepError "file-embed")) + (hsPkgs."template-haskell" or (errorHandler.buildDepError "template-haskell")) + ]) ++ (pkgs.lib).optionals (!flags.portable) ((pkgs.lib).optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix")))) ++ (pkgs.lib).optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix"))) ++ (pkgs.lib).optionals (flags.cloud) [ + (hsPkgs."network" or (errorHandler.buildDepError "network")) + (hsPkgs."network-uri" or (errorHandler.buildDepError "network-uri")) + ]) ++ (pkgs.lib).optional (compiler.isGhc && (compiler.version).lt "8.0") (hsPkgs."semigroups" or (errorHandler.buildDepError "semigroups")); + buildable = true; + }; + }; + }; + } // { + src = (pkgs.lib).mkDefault (pkgs.fetchurl { + url = "http://hackage.haskell.org/package/shake-0.19.7.tar.gz"; + sha256 = "352a56af12f70b50d564dcb61131555577281957ee196f1702a3723c0a3699d1"; + }); + }) // { + package-description-override = "cabal-version: 1.18\nbuild-type: Simple\nname: shake\nversion: 0.19.7\nx-revision: 1\nlicense: BSD3\nlicense-file: LICENSE\ncategory: Development, Shake\nauthor: Neil Mitchell \nmaintainer: Neil Mitchell \ncopyright: Neil Mitchell 2011-2022\nsynopsis: Build system library, like Make, but more accurate dependencies.\ndescription:\n Shake is a Haskell library for writing build systems - designed as a\n replacement for @make@. See \"Development.Shake\" for an introduction,\n including an example. The homepage contains links to a user\n manual, an academic paper and further information:\n \n .\n To use Shake the user writes a Haskell program\n that imports \"Development.Shake\", defines some build rules, and calls\n the 'Development.Shake.shakeArgs' function. Thanks to do notation and infix\n operators, a simple Shake build system\n is not too dissimilar from a simple Makefile. However, as build systems\n get more complex, Shake is able to take advantage of the excellent\n abstraction facilities offered by Haskell and easily support much larger\n projects. The Shake library provides all the standard features available in other\n build systems, including automatic parallelism and minimal rebuilds.\n Shake also provides more accurate dependency tracking, including seamless\n support for generated files, and dependencies on system information\n (e.g. compiler version).\nhomepage: https://shakebuild.com\nbug-reports: https://github.com/ndmitchell/shake/issues\ntested-with: GHC==9.0, GHC==8.10, GHC==8.8, GHC==8.6\nextra-doc-files:\n CHANGES.txt\n README.md\n docs/Manual.md\n docs/shake-progress.png\nextra-source-files:\n src/Paths.hs\n src/Test/C/constants.c\n src/Test/C/constants.h\n src/Test/C/main.c\n src/Test/Ninja/*.ninja\n src/Test/Ninja/*.output\n src/Test/Ninja/subdir/*.ninja\n src/Test/Progress/*.prog\n src/Test/Tar/list.txt\n src/Test/Tup/hello.c\n src/Test/Tup/newmath/root.cfg\n src/Test/Tup/newmath/square.c\n src/Test/Tup/newmath/square.h\n src/Test/Tup/root.cfg\ndata-files:\n docs/manual/build.bat\n docs/manual/Shakefile.hs\n docs/manual/build.sh\n docs/manual/constants.c\n docs/manual/constants.h\n docs/manual/main.c\n html/profile.html\n html/progress.html\n html/shake.js\n\nsource-repository head\n type: git\n location: https://github.com/ndmitchell/shake.git\n\nflag portable\n default: False\n manual: True\n description: Obtain FileTime using portable functions\n\nflag cloud\n default: False\n manual: True\n description: Enable cloud build features\n\nflag embed-files\n default: False\n manual: True\n description: Embed data files into the shake library\n\nlibrary\n default-language: Haskell2010\n hs-source-dirs: src\n build-depends:\n base >= 4.9,\n binary,\n bytestring,\n deepseq >= 1.1,\n directory >= 1.2.7.0,\n extra >= 1.6.19,\n filepath >= 1.4,\n filepattern,\n hashable >= 1.1.2.3,\n heaps >= 0.3.6.1,\n js-dgtable,\n js-flot,\n js-jquery,\n primitive,\n process >= 1.1,\n random,\n time,\n transformers >= 0.2,\n unordered-containers >= 0.2.7,\n utf8-string >= 0.3\n\n if flag(embed-files)\n cpp-options: -DFILE_EMBED\n build-depends:\n file-embed >= 0.0.11,\n template-haskell\n\n if flag(portable)\n cpp-options: -DPORTABLE\n else\n if !os(windows)\n build-depends: unix >= 2.5.1\n if !os(windows)\n build-depends: unix\n\n if flag(cloud)\n cpp-options: -DNETWORK\n build-depends: network, network-uri\n\n exposed-modules:\n Development.Shake\n Development.Shake.Classes\n Development.Shake.Command\n Development.Shake.Config\n Development.Shake.Database\n Development.Shake.FilePath\n Development.Shake.Forward\n Development.Shake.Rule\n Development.Shake.Util\n\n other-modules:\n Development.Ninja.Env\n Development.Ninja.Lexer\n Development.Ninja.Parse\n Development.Ninja.Type\n Development.Shake.Internal.Args\n Development.Shake.Internal.CmdOption\n Development.Shake.Internal.CompactUI\n Development.Shake.Internal.Core.Action\n Development.Shake.Internal.Core.Build\n Development.Shake.Internal.Core.Database\n Development.Shake.Internal.History.Shared\n Development.Shake.Internal.History.Symlink\n Development.Shake.Internal.History.Bloom\n Development.Shake.Internal.History.Cloud\n Development.Shake.Internal.History.Network\n Development.Shake.Internal.History.Server\n Development.Shake.Internal.History.Serialise\n Development.Shake.Internal.History.Types\n Development.Shake.Internal.Core.Monad\n Development.Shake.Internal.Core.Pool\n Development.Shake.Internal.Core.Rules\n Development.Shake.Internal.Core.Run\n Development.Shake.Internal.Core.Storage\n Development.Shake.Internal.Core.Types\n Development.Shake.Internal.Demo\n Development.Shake.Internal.Derived\n Development.Shake.Internal.Errors\n Development.Shake.Internal.FileInfo\n Development.Shake.Internal.FileName\n Development.Shake.Internal.FilePattern\n Development.Shake.Internal.Options\n Development.Shake.Internal.Paths\n Development.Shake.Internal.Profile\n Development.Shake.Internal.Progress\n Development.Shake.Internal.Resource\n Development.Shake.Internal.Rules.Default\n Development.Shake.Internal.Rules.Directory\n Development.Shake.Internal.Rules.File\n Development.Shake.Internal.Rules.Files\n Development.Shake.Internal.Rules.Oracle\n Development.Shake.Internal.Rules.OrderOnly\n Development.Shake.Internal.Rules.Rerun\n Development.Shake.Internal.Value\n General.Bilist\n General.Binary\n General.Chunks\n General.Cleanup\n General.Fence\n General.EscCodes\n General.Extra\n General.FileLock\n General.GetOpt\n General.Ids\n General.Intern\n General.ListBuilder\n General.Makefile\n General.Pool\n General.Process\n General.Template\n General.Thread\n General.Timing\n General.TypeMap\n General.Wait\n Paths_shake\n\n\nexecutable shake\n default-language: Haskell2010\n hs-source-dirs: src\n ghc-options: -main-is Run.main -rtsopts -threaded \"-with-rtsopts=-I0 -qg\"\n main-is: Run.hs\n build-depends:\n base == 4.*,\n binary,\n bytestring,\n deepseq >= 1.1,\n directory,\n extra >= 1.6.19,\n filepath,\n filepattern,\n hashable >= 1.1.2.3,\n heaps >= 0.3.6.1,\n js-dgtable,\n js-flot,\n js-jquery,\n primitive,\n process >= 1.1,\n random,\n time,\n transformers >= 0.2,\n unordered-containers >= 0.2.7,\n utf8-string >= 0.3\n\n if flag(embed-files)\n cpp-options: -DFILE_EMBED\n build-depends:\n file-embed >= 0.0.11,\n template-haskell\n\n if flag(portable)\n cpp-options: -DPORTABLE\n else\n if !os(windows)\n build-depends: unix >= 2.5.1\n if !os(windows)\n build-depends: unix\n\n if flag(cloud)\n cpp-options: -DNETWORK\n build-depends: network, network-uri\n\n if impl(ghc < 8.0)\n build-depends: semigroups >= 0.18\n\n other-modules:\n Development.Ninja.All\n Development.Ninja.Env\n Development.Ninja.Lexer\n Development.Ninja.Parse\n Development.Ninja.Type\n Development.Shake\n Development.Shake.Classes\n Development.Shake.Command\n Development.Shake.Database\n Development.Shake.FilePath\n Development.Shake.Internal.Args\n Development.Shake.Internal.CmdOption\n Development.Shake.Internal.CompactUI\n Development.Shake.Internal.Core.Action\n Development.Shake.Internal.Core.Build\n Development.Shake.Internal.Core.Database\n Development.Shake.Internal.History.Shared\n Development.Shake.Internal.History.Symlink\n Development.Shake.Internal.History.Bloom\n Development.Shake.Internal.History.Cloud\n Development.Shake.Internal.History.Network\n Development.Shake.Internal.History.Server\n Development.Shake.Internal.History.Serialise\n Development.Shake.Internal.History.Types\n Development.Shake.Internal.Core.Monad\n Development.Shake.Internal.Core.Pool\n Development.Shake.Internal.Core.Rules\n Development.Shake.Internal.Core.Run\n Development.Shake.Internal.Core.Storage\n Development.Shake.Internal.Core.Types\n Development.Shake.Internal.Demo\n Development.Shake.Internal.Derived\n Development.Shake.Internal.Errors\n Development.Shake.Internal.FileInfo\n Development.Shake.Internal.FileName\n Development.Shake.Internal.FilePattern\n Development.Shake.Internal.Options\n Development.Shake.Internal.Paths\n Development.Shake.Internal.Profile\n Development.Shake.Internal.Progress\n Development.Shake.Internal.Resource\n Development.Shake.Internal.Rules.Default\n Development.Shake.Internal.Rules.Directory\n Development.Shake.Internal.Rules.File\n Development.Shake.Internal.Rules.Files\n Development.Shake.Internal.Rules.Oracle\n Development.Shake.Internal.Rules.OrderOnly\n Development.Shake.Internal.Rules.Rerun\n Development.Shake.Internal.Value\n General.Bilist\n General.Binary\n General.Chunks\n General.Cleanup\n General.Fence\n General.EscCodes\n General.Extra\n General.FileLock\n General.GetOpt\n General.Ids\n General.Intern\n General.ListBuilder\n General.Makefile\n General.Pool\n General.Process\n General.Template\n General.Thread\n General.Timing\n General.TypeMap\n General.Wait\n Paths_shake\n\n\ntest-suite shake-test\n default-language: Haskell2010\n type: exitcode-stdio-1.0\n main-is: Test.hs\n hs-source-dirs: src\n ghc-options: -main-is Test.main -rtsopts -with-rtsopts=-K1K -threaded\n\n build-depends:\n base == 4.*,\n binary,\n bytestring,\n deepseq >= 1.1,\n directory,\n extra >= 1.6.19,\n filepath,\n filepattern,\n hashable >= 1.1.2.3,\n heaps >= 0.3.6.1,\n js-dgtable,\n js-flot,\n js-jquery,\n primitive,\n process >= 1.1,\n QuickCheck >= 2.0,\n random,\n time,\n transformers >= 0.2,\n unordered-containers >= 0.2.7,\n utf8-string >= 0.3\n\n if flag(embed-files)\n cpp-options: -DFILE_EMBED\n build-depends:\n file-embed >= 0.0.11,\n template-haskell\n\n if flag(portable)\n cpp-options: -DPORTABLE\n else\n if !os(windows)\n build-depends: unix >= 2.5.1\n if !os(windows)\n build-depends: unix\n\n if flag(cloud)\n cpp-options: -DNETWORK\n build-depends: network, network-uri\n\n if impl(ghc < 8.0)\n build-depends: semigroups >= 0.18\n\n other-modules:\n Development.Ninja.All\n Development.Ninja.Env\n Development.Ninja.Lexer\n Development.Ninja.Parse\n Development.Ninja.Type\n Development.Shake\n Development.Shake.Classes\n Development.Shake.Command\n Development.Shake.Config\n Development.Shake.Database\n Development.Shake.FilePath\n Development.Shake.Forward\n Development.Shake.Internal.Args\n Development.Shake.Internal.CmdOption\n Development.Shake.Internal.CompactUI\n Development.Shake.Internal.Core.Action\n Development.Shake.Internal.Core.Build\n Development.Shake.Internal.Core.Database\n Development.Shake.Internal.History.Shared\n Development.Shake.Internal.History.Symlink\n Development.Shake.Internal.History.Bloom\n Development.Shake.Internal.History.Cloud\n Development.Shake.Internal.History.Network\n Development.Shake.Internal.History.Server\n Development.Shake.Internal.History.Serialise\n Development.Shake.Internal.History.Types\n Development.Shake.Internal.Core.Monad\n Development.Shake.Internal.Core.Pool\n Development.Shake.Internal.Core.Rules\n Development.Shake.Internal.Core.Run\n Development.Shake.Internal.Core.Storage\n Development.Shake.Internal.Core.Types\n Development.Shake.Internal.Demo\n Development.Shake.Internal.Derived\n Development.Shake.Internal.Errors\n Development.Shake.Internal.FileInfo\n Development.Shake.Internal.FileName\n Development.Shake.Internal.FilePattern\n Development.Shake.Internal.Options\n Development.Shake.Internal.Paths\n Development.Shake.Internal.Profile\n Development.Shake.Internal.Progress\n Development.Shake.Internal.Resource\n Development.Shake.Internal.Rules.Default\n Development.Shake.Internal.Rules.Directory\n Development.Shake.Internal.Rules.File\n Development.Shake.Internal.Rules.Files\n Development.Shake.Internal.Rules.Oracle\n Development.Shake.Internal.Rules.OrderOnly\n Development.Shake.Internal.Rules.Rerun\n Development.Shake.Internal.Value\n Development.Shake.Rule\n Development.Shake.Util\n General.Bilist\n General.Binary\n General.Chunks\n General.Cleanup\n General.Fence\n General.EscCodes\n General.Extra\n General.FileLock\n General.GetOpt\n General.Ids\n General.Intern\n General.ListBuilder\n General.Makefile\n General.Pool\n General.Process\n General.Template\n General.Thread\n General.Timing\n General.TypeMap\n General.Wait\n Paths_shake\n Run\n Test.Basic\n Test.Batch\n Test.Benchmark\n Test.Builtin\n Test.BuiltinOverride\n Test.C\n Test.Cache\n Test.Cleanup\n Test.CloseFileHandles\n Test.Command\n Test.Config\n Test.Database\n Test.Digest\n Test.Directory\n Test.Docs\n Test.Errors\n Test.Existence\n Test.FileLock\n Test.FilePath\n Test.FilePattern\n Test.Files\n Test.Forward\n Test.History\n Test.Journal\n Test.Lint\n Test.Live\n Test.Manual\n Test.Match\n Test.Monad\n Test.Ninja\n Test.Oracle\n Test.OrderOnly\n Test.Parallel\n Test.Pool\n Test.Progress\n Test.Random\n Test.Rebuild\n Test.Reschedule\n Test.Resources\n Test.Self\n Test.SelfMake\n Test.Tar\n Test.Targets\n Test.Thread\n Test.Tup\n Test.Type\n Test.Unicode\n Test.Util\n Test.Verbosity\n Test.Version\n"; + } \ No newline at end of file diff --git a/materialized/ghc928/hadrian-ghc94/hadrian/cabal-files/splitmix.nix b/materialized/ghc928/hadrian-ghc94/hadrian/cabal-files/splitmix.nix new file mode 100644 index 0000000000..7918d356b1 --- /dev/null +++ b/materialized/ghc928/hadrian-ghc94/hadrian/cabal-files/splitmix.nix @@ -0,0 +1,140 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = { optimised-mixer = false; }; + package = { + specVersion = "1.10"; + identifier = { name = "splitmix"; version = "0.1.0.4"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "Oleg Grenrus "; + author = ""; + homepage = ""; + url = ""; + synopsis = "Fast Splittable PRNG"; + description = "Pure Haskell implementation of SplitMix described in\n\nGuy L. Steele, Jr., Doug Lea, and Christine H. Flood. 2014.\nFast splittable pseudorandom number generators. In Proceedings\nof the 2014 ACM International Conference on Object Oriented\nProgramming Systems Languages & Applications (OOPSLA '14). ACM,\nNew York, NY, USA, 453-472. DOI:\n\n\nThe paper describes a new algorithm /SplitMix/ for /splittable/\npseudorandom number generator that is quite fast: 9 64 bit arithmetic/logical\noperations per 64 bits generated.\n\n/SplitMix/ is tested with two standard statistical test suites (DieHarder and\nTestU01, this implementation only using the former) and it appears to be\nadequate for \"everyday\" use, such as Monte Carlo algorithms and randomized\ndata structures where speed is important.\n\nIn particular, it __should not be used for cryptographic or security applications__,\nbecause generated sequences of pseudorandom values are too predictable\n(the mixing functions are easily inverted, and two successive outputs\nsuffice to reconstruct the internal state)."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + ] ++ (pkgs.lib).optionals (!(compiler.isGhcjs && true)) ((pkgs.lib).optional (!(compiler.isGhc && true)) (hsPkgs."time" or (errorHandler.buildDepError "time"))); + buildable = true; + }; + tests = { + "examples" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."HUnit" or (errorHandler.buildDepError "HUnit")) + (hsPkgs."splitmix" or (errorHandler.buildDepError "splitmix")) + ]; + buildable = true; + }; + "splitmix-tests" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."base-compat" or (errorHandler.buildDepError "base-compat")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."HUnit" or (errorHandler.buildDepError "HUnit")) + (hsPkgs."math-functions" or (errorHandler.buildDepError "math-functions")) + (hsPkgs."splitmix" or (errorHandler.buildDepError "splitmix")) + (hsPkgs."test-framework" or (errorHandler.buildDepError "test-framework")) + (hsPkgs."test-framework-hunit" or (errorHandler.buildDepError "test-framework-hunit")) + ]; + buildable = true; + }; + "montecarlo-pi" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."splitmix" or (errorHandler.buildDepError "splitmix")) + ]; + buildable = true; + }; + "montecarlo-pi-32" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."splitmix" or (errorHandler.buildDepError "splitmix")) + ]; + buildable = true; + }; + "splitmix-dieharder" = { + depends = [ + (hsPkgs."async" or (errorHandler.buildDepError "async")) + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."base-compat-batteries" or (errorHandler.buildDepError "base-compat-batteries")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."process" or (errorHandler.buildDepError "process")) + (hsPkgs."random" or (errorHandler.buildDepError "random")) + (hsPkgs."splitmix" or (errorHandler.buildDepError "splitmix")) + (hsPkgs."tf-random" or (errorHandler.buildDepError "tf-random")) + (hsPkgs."vector" or (errorHandler.buildDepError "vector")) + ]; + buildable = true; + }; + "splitmix-testu01" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."base-compat-batteries" or (errorHandler.buildDepError "base-compat-batteries")) + (hsPkgs."splitmix" or (errorHandler.buildDepError "splitmix")) + ]; + libs = [ (pkgs."testu01" or (errorHandler.sysDepError "testu01")) ]; + buildable = if !system.isLinux then false else true; + }; + "initialization" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."HUnit" or (errorHandler.buildDepError "HUnit")) + (hsPkgs."splitmix" or (errorHandler.buildDepError "splitmix")) + ]; + buildable = true; + }; + }; + benchmarks = { + "comparison" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."criterion" or (errorHandler.buildDepError "criterion")) + (hsPkgs."random" or (errorHandler.buildDepError "random")) + (hsPkgs."splitmix" or (errorHandler.buildDepError "splitmix")) + (hsPkgs."tf-random" or (errorHandler.buildDepError "tf-random")) + ]; + buildable = true; + }; + "simple-sum" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."random" or (errorHandler.buildDepError "random")) + (hsPkgs."splitmix" or (errorHandler.buildDepError "splitmix")) + ]; + buildable = true; + }; + "range" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."clock" or (errorHandler.buildDepError "clock")) + (hsPkgs."random" or (errorHandler.buildDepError "random")) + (hsPkgs."splitmix" or (errorHandler.buildDepError "splitmix")) + ]; + buildable = true; + }; + }; + }; + } // { + src = (pkgs.lib).mkDefault (pkgs.fetchurl { + url = "http://hackage.haskell.org/package/splitmix-0.1.0.4.tar.gz"; + sha256 = "6d065402394e7a9117093dbb4530a21342c9b1e2ec509516c8a8d0ffed98ecaa"; + }); + }) // { + package-description-override = "cabal-version: >=1.10\nname: splitmix\nversion: 0.1.0.4\nx-revision: 2\nsynopsis: Fast Splittable PRNG\ndescription:\n Pure Haskell implementation of SplitMix described in\n .\n Guy L. Steele, Jr., Doug Lea, and Christine H. Flood. 2014.\n Fast splittable pseudorandom number generators. In Proceedings\n of the 2014 ACM International Conference on Object Oriented\n Programming Systems Languages & Applications (OOPSLA '14). ACM,\n New York, NY, USA, 453-472. DOI:\n \n .\n The paper describes a new algorithm /SplitMix/ for /splittable/\n pseudorandom number generator that is quite fast: 9 64 bit arithmetic/logical\n operations per 64 bits generated.\n .\n /SplitMix/ is tested with two standard statistical test suites (DieHarder and\n TestU01, this implementation only using the former) and it appears to be\n adequate for \"everyday\" use, such as Monte Carlo algorithms and randomized\n data structures where speed is important.\n .\n In particular, it __should not be used for cryptographic or security applications__,\n because generated sequences of pseudorandom values are too predictable\n (the mixing functions are easily inverted, and two successive outputs\n suffice to reconstruct the internal state).\n\nlicense: BSD3\nlicense-file: LICENSE\nmaintainer: Oleg Grenrus \nbug-reports: https://github.com/haskellari/splitmix/issues\ncategory: System, Random\nbuild-type: Simple\ntested-with:\n GHC ==7.0.4\n || ==7.2.2\n || ==7.4.2\n || ==7.6.3\n || ==7.8.4\n || ==7.10.3\n || ==8.0.2\n || ==8.2.2\n || ==8.4.4\n || ==8.6.5\n || ==8.8.4\n || ==8.10.4\n || ==9.0.2\n || ==9.2.5\n || ==9.4.4\n || ==9.6.1\n , GHCJS ==8.4\n\nextra-source-files:\n Changelog.md\n make-hugs.sh\n README.md\n test-hugs.sh\n\nflag optimised-mixer\n description: Use JavaScript for mix32\n manual: True\n default: False\n\nlibrary\n default-language: Haskell2010\n ghc-options: -Wall\n hs-source-dirs: src src-compat\n exposed-modules:\n System.Random.SplitMix\n System.Random.SplitMix32\n\n other-modules:\n Data.Bits.Compat\n System.Random.SplitMix.Init\n\n -- dump-core\n -- build-depends: dump-core\n -- ghc-options: -fplugin=DumpCore -fplugin-opt DumpCore:core-html\n\n build-depends:\n base >=4.3 && <4.19\n , deepseq >=1.3.0.0 && <1.5\n\n if flag(optimised-mixer)\n cpp-options: -DOPTIMISED_MIX32=1\n\n -- We don't want to depend on time, nor unix or Win32 packages\n -- because it's valuable that splitmix and QuickCheck doesn't\n -- depend on about anything\n\n if impl(ghcjs)\n cpp-options: -DSPLITMIX_INIT_GHCJS=1\n\n else\n if impl(ghc)\n cpp-options: -DSPLITMIX_INIT_C=1\n\n if os(windows)\n c-sources: cbits-win/init.c\n\n else\n c-sources: cbits-unix/init.c\n\n else\n cpp-options: -DSPLITMIX_INIT_COMPAT=1\n build-depends: time >=1.2.0.3 && <1.13\n\nsource-repository head\n type: git\n location: https://github.com/haskellari/splitmix.git\n\nbenchmark comparison\n type: exitcode-stdio-1.0\n default-language: Haskell2010\n ghc-options: -Wall\n hs-source-dirs: bench\n main-is: Bench.hs\n build-depends:\n base\n , containers >=0.4.2.1 && <0.7\n , criterion >=1.1.0.0 && <1.6\n , random\n , splitmix\n , tf-random >=0.5 && <0.6\n\nbenchmark simple-sum\n type: exitcode-stdio-1.0\n default-language: Haskell2010\n ghc-options: -Wall\n hs-source-dirs: bench\n main-is: SimpleSum.hs\n build-depends:\n base\n , random\n , splitmix\n\nbenchmark range\n type: exitcode-stdio-1.0\n default-language: Haskell2010\n ghc-options: -Wall\n hs-source-dirs: bench src-compat\n main-is: Range.hs\n other-modules: Data.Bits.Compat\n build-depends:\n base\n , clock >=0.8 && <0.9\n , random\n , splitmix\n\ntest-suite examples\n type: exitcode-stdio-1.0\n default-language: Haskell2010\n ghc-options: -Wall\n hs-source-dirs: tests\n main-is: Examples.hs\n build-depends:\n base\n , HUnit ==1.3.1.2 || >=1.6.0.0 && <1.7\n , splitmix\n\ntest-suite splitmix-tests\n type: exitcode-stdio-1.0\n default-language: Haskell2010\n ghc-options: -Wall\n hs-source-dirs: tests\n main-is: Tests.hs\n other-modules:\n MiniQC\n Uniformity\n\n build-depends:\n base\n , base-compat >=0.11.1 && <0.13\n , containers >=0.4.0.0 && <0.7\n , HUnit ==1.3.1.2 || >=1.6.0.0 && <1.7\n , math-functions ==0.1.7.0 || >=0.3.3.0 && <0.4\n , splitmix\n , test-framework >=0.8.2.0 && <0.9\n , test-framework-hunit >=0.3.0.2 && <0.4\n\ntest-suite montecarlo-pi\n type: exitcode-stdio-1.0\n default-language: Haskell2010\n ghc-options: -Wall\n hs-source-dirs: tests\n main-is: SplitMixPi.hs\n build-depends:\n base\n , splitmix\n\ntest-suite montecarlo-pi-32\n type: exitcode-stdio-1.0\n default-language: Haskell2010\n ghc-options: -Wall\n hs-source-dirs: tests\n main-is: SplitMixPi32.hs\n build-depends:\n base\n , splitmix\n\ntest-suite splitmix-dieharder\n default-language: Haskell2010\n type: exitcode-stdio-1.0\n ghc-options: -Wall -threaded -rtsopts\n hs-source-dirs: tests\n main-is: Dieharder.hs\n build-depends:\n async >=2.2.1 && <2.3\n , base\n , base-compat-batteries >=0.10.5 && <0.13\n , bytestring >=0.9.1.8 && <0.12\n , deepseq\n , process >=1.0.1.5 && <1.7\n , random\n , splitmix\n , tf-random >=0.5 && <0.6\n , vector >=0.11.0.0 && <0.13\n\ntest-suite splitmix-testu01\n if !os(linux)\n buildable: False\n\n default-language: Haskell2010\n type: exitcode-stdio-1.0\n ghc-options: -Wall -threaded -rtsopts\n hs-source-dirs: tests\n main-is: TestU01.hs\n c-sources: tests/cbits/testu01.c\n extra-libraries: testu01\n build-depends:\n base\n , base-compat-batteries >=0.10.5 && <0.13\n , splitmix\n\ntest-suite initialization\n default-language: Haskell2010\n type: exitcode-stdio-1.0\n ghc-options: -Wall -threaded -rtsopts\n hs-source-dirs: tests\n main-is: Initialization.hs\n build-depends:\n base\n , HUnit ==1.3.1.2 || >=1.6.0.0 && <1.7\n , splitmix\n"; + } \ No newline at end of file diff --git a/materialized/ghc928/hadrian-ghc94/hadrian/cabal-files/unordered-containers.nix b/materialized/ghc928/hadrian-ghc94/hadrian/cabal-files/unordered-containers.nix new file mode 100644 index 0000000000..ab6a9d8c44 --- /dev/null +++ b/materialized/ghc928/hadrian-ghc94/hadrian/cabal-files/unordered-containers.nix @@ -0,0 +1,78 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = { debug = false; }; + package = { + specVersion = "1.10"; + identifier = { name = "unordered-containers"; version = "0.2.19.1"; }; + license = "BSD-3-Clause"; + copyright = "2010-2014 Johan Tibell\n2010 Edward Z. Yang"; + maintainer = "simon.jakobi@gmail.com, David.Feuer@gmail.com"; + author = "Johan Tibell"; + homepage = "https://github.com/haskell-unordered-containers/unordered-containers"; + url = ""; + synopsis = "Efficient hashing-based container types"; + description = "Efficient hashing-based container types. The containers have been\noptimized for performance critical use, both in terms of large data\nquantities and high speed.\n\nThe declared cost of each operation is either worst-case or\namortized, but remains valid even if structures are shared.\n\n/Security/\n\nThis package currently provides no defenses against hash collision attacks\nsuch as HashDoS.\nUsers who need to store input from untrusted sources are advised to use\n@Data.Map@ or @Data.Set@ from the @containers@ package instead."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."hashable" or (errorHandler.buildDepError "hashable")) + (hsPkgs."template-haskell" or (errorHandler.buildDepError "template-haskell")) + ]; + buildable = true; + }; + tests = { + "unordered-containers-tests" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."ChasingBottoms" or (errorHandler.buildDepError "ChasingBottoms")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."hashable" or (errorHandler.buildDepError "hashable")) + (hsPkgs."HUnit" or (errorHandler.buildDepError "HUnit")) + (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")) + (hsPkgs."random" or (errorHandler.buildDepError "random")) + (hsPkgs."tasty" or (errorHandler.buildDepError "tasty")) + (hsPkgs."tasty-hunit" or (errorHandler.buildDepError "tasty-hunit")) + (hsPkgs."tasty-quickcheck" or (errorHandler.buildDepError "tasty-quickcheck")) + (hsPkgs."unordered-containers" or (errorHandler.buildDepError "unordered-containers")) + ] ++ (pkgs.lib).optional (compiler.isGhc && (compiler.version).ge "8.6") (hsPkgs."nothunks" or (errorHandler.buildDepError "nothunks")); + buildable = true; + }; + }; + benchmarks = { + "benchmarks" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."hashable" or (errorHandler.buildDepError "hashable")) + (hsPkgs."hashmap" or (errorHandler.buildDepError "hashmap")) + (hsPkgs."mtl" or (errorHandler.buildDepError "mtl")) + (hsPkgs."random" or (errorHandler.buildDepError "random")) + (hsPkgs."tasty-bench" or (errorHandler.buildDepError "tasty-bench")) + (hsPkgs."unordered-containers" or (errorHandler.buildDepError "unordered-containers")) + ]; + buildable = true; + }; + }; + }; + } // { + src = (pkgs.lib).mkDefault (pkgs.fetchurl { + url = "http://hackage.haskell.org/package/unordered-containers-0.2.19.1.tar.gz"; + sha256 = "1b27bec5e0d522b27a6029ebf4c4a6d40acbc083c787008e32fb55c4b1d128d2"; + }); + }) // { + package-description-override = "name: unordered-containers\r\nversion: 0.2.19.1\r\nx-revision: 2\r\nsynopsis: Efficient hashing-based container types\r\ndescription:\r\n Efficient hashing-based container types. The containers have been\r\n optimized for performance critical use, both in terms of large data\r\n quantities and high speed.\r\n .\r\n The declared cost of each operation is either worst-case or\r\n amortized, but remains valid even if structures are shared.\r\n .\r\n /Security/\r\n .\r\n This package currently provides no defenses against hash collision attacks\r\n such as HashDoS.\r\n Users who need to store input from untrusted sources are advised to use\r\n @Data.Map@ or @Data.Set@ from the @containers@ package instead.\r\nlicense: BSD3\r\nlicense-file: LICENSE\r\nauthor: Johan Tibell\r\nmaintainer: simon.jakobi@gmail.com, David.Feuer@gmail.com\r\nHomepage: https://github.com/haskell-unordered-containers/unordered-containers\r\nbug-reports: https://github.com/haskell-unordered-containers/unordered-containers/issues\r\ncopyright: 2010-2014 Johan Tibell\r\n 2010 Edward Z. Yang\r\ncategory: Data\r\nbuild-type: Simple\r\ncabal-version: >=1.10\r\nextra-source-files: CHANGES.md\r\n\r\ntested-with:\r\n GHC ==9.6.1\r\n || ==9.4.4\r\n || ==9.2.7\r\n || ==9.0.2\r\n || ==8.10.7\r\n || ==8.8.4\r\n || ==8.6.5\r\n || ==8.4.4\r\n || ==8.2.2\r\n\r\nflag debug\r\n description: Enable debug support\r\n default: False\r\n\r\nlibrary\r\n exposed-modules:\r\n Data.HashMap.Internal\r\n Data.HashMap.Internal.Array\r\n Data.HashMap.Internal.List\r\n Data.HashMap.Internal.Strict\r\n Data.HashMap.Lazy\r\n Data.HashMap.Strict\r\n Data.HashSet\r\n Data.HashSet.Internal\r\n\r\n build-depends:\r\n base >= 4.10 && < 5,\r\n deepseq >= 1.4.3,\r\n hashable >= 1.2.5 && < 1.5,\r\n template-haskell < 2.21\r\n\r\n default-language: Haskell2010\r\n\r\n other-extensions:\r\n RoleAnnotations,\r\n UnboxedTuples,\r\n ScopedTypeVariables,\r\n MagicHash,\r\n BangPatterns\r\n\r\n ghc-options: -Wall -O2 -fwarn-tabs -ferror-spans\r\n\r\n -- For dumping the generated code:\r\n -- ghc-options: -ddump-simpl -ddump-stg-final -ddump-cmm -ddump-asm -ddump-to-file\r\n -- ghc-options: -dsuppress-coercions -dsuppress-unfoldings -dsuppress-module-prefixes\r\n -- ghc-options: -dsuppress-uniques -dsuppress-timestamps\r\n\r\n if flag(debug)\r\n cpp-options: -DASSERTS\r\n\r\ntest-suite unordered-containers-tests\r\n hs-source-dirs: tests\r\n main-is: Main.hs\r\n type: exitcode-stdio-1.0\r\n other-modules:\r\n Regressions\r\n Properties\r\n Properties.HashMapLazy\r\n Properties.HashMapStrict\r\n Properties.HashSet\r\n Properties.List\r\n Strictness\r\n\r\n build-depends:\r\n base,\r\n ChasingBottoms,\r\n containers >= 0.5.8,\r\n hashable,\r\n HUnit,\r\n QuickCheck >= 2.4.0.1,\r\n random,\r\n tasty >= 1.4.0.3,\r\n tasty-hunit >= 0.10.0.3,\r\n tasty-quickcheck >= 0.10.1.2,\r\n unordered-containers\r\n\r\n if impl(ghc >= 8.6)\r\n build-depends:\r\n nothunks >= 0.1.3\r\n\r\n default-language: Haskell2010\r\n ghc-options: -Wall\r\n cpp-options: -DASSERTS\r\n\r\nbenchmark benchmarks\r\n hs-source-dirs: benchmarks\r\n main-is: Benchmarks.hs\r\n type: exitcode-stdio-1.0\r\n\r\n other-modules:\r\n Util.ByteString\r\n Util.String\r\n Util.Int\r\n\r\n build-depends:\r\n base,\r\n bytestring >= 0.10.0.0,\r\n containers,\r\n deepseq,\r\n hashable,\r\n hashmap,\r\n mtl,\r\n random,\r\n tasty-bench >= 0.3.1,\r\n unordered-containers\r\n\r\n default-language: Haskell2010\r\n ghc-options: -Wall -O2 -rtsopts -with-rtsopts=-A32m\r\n if impl(ghc >= 8.10)\r\n ghc-options: \"-with-rtsopts=-A32m --nonmoving-gc\"\r\n -- cpp-options: -DBENCH_containers_Map -DBENCH_containers_IntMap -DBENCH_hashmap_Map\r\n\r\nsource-repository head\r\n type: git\r\n location: https://github.com/haskell-unordered-containers/unordered-containers.git\r\n"; + } \ No newline at end of file diff --git a/materialized/ghc928/hadrian-ghc94/hadrian/cabal-files/utf8-string.nix b/materialized/ghc928/hadrian-ghc94/hadrian/cabal-files/utf8-string.nix new file mode 100644 index 0000000000..ac9bde4057 --- /dev/null +++ b/materialized/ghc928/hadrian-ghc94/hadrian/cabal-files/utf8-string.nix @@ -0,0 +1,51 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = {}; + package = { + specVersion = "1.10"; + identifier = { name = "utf8-string"; version = "1.0.2"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "emertens@galois.com"; + author = "Eric Mertens"; + homepage = "https://github.com/glguy/utf8-string/"; + url = ""; + synopsis = "Support for reading and writing UTF8 Strings"; + description = "A UTF8 layer for Strings. The utf8-string\npackage provides operations for encoding UTF8\nstrings to Word8 lists and back, and for reading and\nwriting UTF8 without truncation."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + ]; + buildable = true; + }; + tests = { + "unit-tests" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."HUnit" or (errorHandler.buildDepError "HUnit")) + (hsPkgs."utf8-string" or (errorHandler.buildDepError "utf8-string")) + ]; + buildable = true; + }; + }; + }; + } // { + src = (pkgs.lib).mkDefault (pkgs.fetchurl { + url = "http://hackage.haskell.org/package/utf8-string-1.0.2.tar.gz"; + sha256 = "ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a"; + }); + }) // { + package-description-override = "Name: utf8-string\nVersion: 1.0.2\nAuthor: Eric Mertens\nMaintainer: emertens@galois.com\nLicense: BSD3\nLicense-file: LICENSE\nHomepage: https://github.com/glguy/utf8-string/\nBug-Reports: https://github.com/glguy/utf8-string/issues\nSynopsis: Support for reading and writing UTF8 Strings\nDescription: A UTF8 layer for Strings. The utf8-string\n package provides operations for encoding UTF8\n strings to Word8 lists and back, and for reading and\n writing UTF8 without truncation.\nCategory: Codec\nBuild-type: Simple\ncabal-version: >= 1.10\nExtra-Source-Files: CHANGELOG.markdown\nTested-With: GHC==7.0.4, GHC==7.4.2, GHC==7.6.3, GHC==7.8.4, GHC==7.10.3, GHC==8.0.2, GHC==8.2.1\n\nsource-repository head\n type: git\n location: https://github.com/glguy/utf8-string\n\nlibrary\n Ghc-options: -W -O2\n\n build-depends: base >= 4.3 && < 5, bytestring >= 0.9\n\n Exposed-modules: Codec.Binary.UTF8.String\n Codec.Binary.UTF8.Generic\n Data.String.UTF8\n Data.ByteString.UTF8\n Data.ByteString.Lazy.UTF8\n\n default-language: Haskell2010\n\ntest-suite unit-tests\n type: exitcode-stdio-1.0\n hs-source-dirs: tests\n main-is: Tests.hs\n build-depends: base, HUnit >= 1.3 && < 1.7, utf8-string\n default-language: Haskell2010\n"; + } \ No newline at end of file diff --git a/materialized/ghc928/hadrian-ghc94/hadrian/default.nix b/materialized/ghc928/hadrian-ghc94/hadrian/default.nix new file mode 100644 index 0000000000..0299417c22 --- /dev/null +++ b/materialized/ghc928/hadrian-ghc94/hadrian/default.nix @@ -0,0 +1,143 @@ +{ + pkgs = hackage: + { + packages = { + bytestring.revision = (((hackage.bytestring)."0.11.4.0").revisions).default; + directory.revision = (((hackage.directory)."1.3.6.2").revisions).default; + filepath.revision = (((hackage.filepath)."1.4.2.2").revisions).default; + mtl.revision = (((hackage.mtl)."2.2.2").revisions).default; + ghc-bignum.revision = (((hackage.ghc-bignum)."1.2").revisions).default; + ghc-prim.revision = (((hackage.ghc-prim)."0.8.0").revisions).default; + parsec.revision = (((hackage.parsec)."3.1.15.0").revisions).default; + js-flot.revision = import ./cabal-files/js-flot.nix; + utf8-string.revision = import ./cabal-files/utf8-string.nix; + Cabal.revision = (((hackage.Cabal)."3.6.3.0").revisions).default; + splitmix.revision = import ./cabal-files/splitmix.nix; + splitmix.flags.optimised-mixer = false; + containers.revision = (((hackage.containers)."0.6.5.1").revisions).default; + clock.revision = import ./cabal-files/clock.nix; + clock.flags.llvm = false; + heaps.revision = import ./cabal-files/heaps.nix; + base.revision = (((hackage.base)."4.16.4.0").revisions).default; + time.revision = (((hackage.time)."1.11.1.1").revisions).default; + random.revision = import ./cabal-files/random.nix; + primitive.revision = import ./cabal-files/primitive.nix; + deepseq.revision = (((hackage.deepseq)."1.4.6.1").revisions).default; + js-jquery.revision = import ./cabal-files/js-jquery.nix; + js-dgtable.revision = import ./cabal-files/js-dgtable.nix; + rts.revision = (((hackage.rts)."1.0.2").revisions).default; + template-haskell.revision = (((hackage.template-haskell)."2.18.0.0").revisions).default; + binary.revision = (((hackage.binary)."0.8.9.0").revisions).default; + shake.revision = import ./cabal-files/shake.nix; + shake.flags.portable = false; + shake.flags.cloud = false; + shake.flags.embed-files = false; + process.revision = (((hackage.process)."1.6.16.0").revisions).default; + unix.revision = (((hackage.unix)."2.7.2.2").revisions).default; + data-array-byte.revision = import ./cabal-files/data-array-byte.nix; + transformers.revision = (((hackage.transformers)."0.5.6.2").revisions).default; + unordered-containers.revision = import ./cabal-files/unordered-containers.nix; + unordered-containers.flags.debug = false; + QuickCheck.revision = import ./cabal-files/QuickCheck.nix; + QuickCheck.flags.old-random = false; + QuickCheck.flags.templatehaskell = true; + extra.revision = import ./cabal-files/extra.nix; + text.revision = (((hackage.text)."1.2.5.0").revisions).default; + array.revision = (((hackage.array)."0.5.4.0").revisions).default; + ghc-boot-th.revision = (((hackage.ghc-boot-th)."9.2.8").revisions).default; + filepattern.revision = import ./cabal-files/filepattern.nix; + pretty.revision = (((hackage.pretty)."1.1.3.6").revisions).default; + hashable.revision = import ./cabal-files/hashable.nix; + hashable.flags.random-initial-seed = false; + hashable.flags.integer-gmp = true; + }; + compiler = { + version = "9.2.8"; + nix-name = "ghc928"; + packages = { + "pretty" = "1.1.3.6"; + "text" = "1.2.5.0"; + "array" = "0.5.4.0"; + "Cabal" = "3.6.3.0"; + "mtl" = "2.2.2"; + "parsec" = "3.1.15.0"; + "bytestring" = "0.11.4.0"; + "filepath" = "1.4.2.2"; + "ghc-prim" = "0.8.0"; + "ghc-boot-th" = "9.2.8"; + "base" = "4.16.4.0"; + "time" = "1.11.1.1"; + "process" = "1.6.16.0"; + "ghc-bignum" = "1.2"; + "directory" = "1.3.6.2"; + "rts" = "1.0.2"; + "transformers" = "0.5.6.2"; + "template-haskell" = "2.18.0.0"; + "deepseq" = "1.4.6.1"; + "unix" = "2.7.2.2"; + "binary" = "0.8.9.0"; + "containers" = "0.6.5.1"; + }; + }; + }; + extras = hackage: + { packages = { hadrian = ./.plan.nix/hadrian.nix; }; }; + modules = [ + ({ lib, ... }: + { + packages = { + "hadrian" = { + flags = { + "threaded" = lib.mkOverride 900 true; + "selftest" = lib.mkOverride 900 true; + }; + }; + }; + }) + ({ lib, ... }: + { + packages = { + "shake".components.library.planned = lib.mkOverride 900 true; + "heaps".components.library.planned = lib.mkOverride 900 true; + "extra".components.library.planned = lib.mkOverride 900 true; + "filepath".components.library.planned = lib.mkOverride 900 true; + "pretty".components.library.planned = lib.mkOverride 900 true; + "utf8-string".components.library.planned = lib.mkOverride 900 true; + "Cabal".components.library.planned = lib.mkOverride 900 true; + "bytestring".components.library.planned = lib.mkOverride 900 true; + "ghc-prim".components.library.planned = lib.mkOverride 900 true; + "array".components.library.planned = lib.mkOverride 900 true; + "binary".components.library.planned = lib.mkOverride 900 true; + "filepattern".components.library.planned = lib.mkOverride 900 true; + "ghc-boot-th".components.library.planned = lib.mkOverride 900 true; + "splitmix".components.library.planned = lib.mkOverride 900 true; + "rts".components.library.planned = lib.mkOverride 900 true; + "unix".components.library.planned = lib.mkOverride 900 true; + "shake".components.exes."shake".planned = lib.mkOverride 900 true; + "directory".components.library.planned = lib.mkOverride 900 true; + "time".components.library.planned = lib.mkOverride 900 true; + "js-flot".components.library.planned = lib.mkOverride 900 true; + "ghc-bignum".components.library.planned = lib.mkOverride 900 true; + "data-array-byte".components.library.planned = lib.mkOverride 900 true; + "process".components.library.planned = lib.mkOverride 900 true; + "clock".components.library.planned = lib.mkOverride 900 true; + "template-haskell".components.library.planned = lib.mkOverride 900 true; + "hadrian".components.exes."hadrian".planned = lib.mkOverride 900 true; + "QuickCheck".components.library.planned = lib.mkOverride 900 true; + "mtl".components.library.planned = lib.mkOverride 900 true; + "transformers".components.library.planned = lib.mkOverride 900 true; + "parsec".components.library.planned = lib.mkOverride 900 true; + "deepseq".components.library.planned = lib.mkOverride 900 true; + "primitive".components.library.planned = lib.mkOverride 900 true; + "js-jquery".components.library.planned = lib.mkOverride 900 true; + "text".components.library.planned = lib.mkOverride 900 true; + "unordered-containers".components.library.planned = lib.mkOverride 900 true; + "random".components.library.planned = lib.mkOverride 900 true; + "base".components.library.planned = lib.mkOverride 900 true; + "containers".components.library.planned = lib.mkOverride 900 true; + "js-dgtable".components.library.planned = lib.mkOverride 900 true; + "hashable".components.library.planned = lib.mkOverride 900 true; + }; + }) + ]; + } \ No newline at end of file diff --git a/materialized/ghc928/hadrian-ghc96/hadrian/.plan.nix/hadrian.nix b/materialized/ghc928/hadrian-ghc96/hadrian/.plan.nix/hadrian.nix new file mode 100644 index 0000000000..ade1f3d512 --- /dev/null +++ b/materialized/ghc928/hadrian-ghc96/hadrian/.plan.nix/hadrian.nix @@ -0,0 +1,162 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = { threaded = true; selftest = true; }; + package = { + specVersion = "1.18"; + identifier = { name = "hadrian"; version = "0.1.0.0"; }; + license = "BSD-3-Clause"; + copyright = "Andrey Mokhov 2014-2017"; + maintainer = "Andrey Mokhov , github: @snowleopard"; + author = "Andrey Mokhov , github: @snowleopard"; + homepage = ""; + url = ""; + synopsis = "GHC build system"; + description = ""; + buildType = "Simple"; + isLocal = true; + detailLevel = "FullDetails"; + licenseFiles = [ "LICENSE" ]; + dataDir = "."; + dataFiles = []; + extraSrcFiles = []; + extraTmpFiles = []; + extraDocFiles = [ "README.md" ]; + }; + components = { + exes = { + "hadrian" = { + depends = [ + (hsPkgs."Cabal" or (errorHandler.buildDepError "Cabal")) + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + (hsPkgs."extra" or (errorHandler.buildDepError "extra")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."time" or (errorHandler.buildDepError "time")) + (hsPkgs."mtl" or (errorHandler.buildDepError "mtl")) + (hsPkgs."parsec" or (errorHandler.buildDepError "parsec")) + (hsPkgs."shake" or (errorHandler.buildDepError "shake")) + (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")) + (hsPkgs."unordered-containers" or (errorHandler.buildDepError "unordered-containers")) + (hsPkgs."text" or (errorHandler.buildDepError "text")) + ] ++ (pkgs.lib).optional (flags.selftest) (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")); + buildable = true; + modules = [ + "Base" + "Builder" + "CommandLine" + "Context" + "Context/Path" + "Context/Type" + "Environment" + "Expression" + "Expression/Type" + "Flavour" + "Flavour/Type" + "Hadrian/Builder" + "Hadrian/Builder/Ar" + "Hadrian/Builder/Sphinx" + "Hadrian/Builder/Tar" + "Hadrian/Builder/Git" + "Hadrian/BuildPath" + "Hadrian/Expression" + "Hadrian/Haskell/Cabal" + "Hadrian/Haskell/Cabal/Type" + "Hadrian/Haskell/Cabal/Parse" + "Hadrian/Oracles/ArgsHash" + "Hadrian/Oracles/Cabal" + "Hadrian/Oracles/Cabal/Rules" + "Hadrian/Oracles/Cabal/Type" + "Hadrian/Oracles/DirectoryContents" + "Hadrian/Oracles/Path" + "Hadrian/Oracles/TextFile" + "Hadrian/Package" + "Hadrian/Target" + "Hadrian/Utilities" + "Oracles/Flag" + "Oracles/Flavour" + "Oracles/Setting" + "Oracles/ModuleFiles" + "Oracles/TestSettings" + "Packages" + "Rules" + "Rules/BinaryDist" + "Rules/CabalReinstall" + "Rules/Clean" + "Rules/Compile" + "Rules/Dependencies" + "Rules/Docspec" + "Rules/Documentation" + "Rules/Generate" + "Rules/Gmp" + "Rules/Libffi" + "Rules/Library" + "Rules/Lint" + "Rules/Nofib" + "Rules/Program" + "Rules/Register" + "Rules/Rts" + "Rules/SimpleTargets" + "Rules/SourceDist" + "Rules/Test" + "Rules/ToolArgs" + "Settings" + "Settings/Builders/Alex" + "Settings/Builders/Cabal" + "Settings/Builders/Common" + "Settings/Builders/Cc" + "Settings/Builders/Configure" + "Settings/Builders/DeriveConstants" + "Settings/Builders/GenPrimopCode" + "Settings/Builders/Ghc" + "Settings/Builders/GhcPkg" + "Settings/Builders/Haddock" + "Settings/Builders/Happy" + "Settings/Builders/Hsc2Hs" + "Settings/Builders/HsCpp" + "Settings/Builders/Ar" + "Settings/Builders/Ld" + "Settings/Builders/Make" + "Settings/Builders/MergeObjects" + "Settings/Builders/SplitSections" + "Settings/Builders/RunTest" + "Settings/Builders/Win32Tarballs" + "Settings/Builders/Xelatex" + "Settings/Default" + "Settings/Flavours/Benchmark" + "Settings/Flavours/Development" + "Settings/Flavours/GhcInGhci" + "Settings/Flavours/Performance" + "Settings/Flavours/Quick" + "Settings/Flavours/QuickCross" + "Settings/Flavours/Quickest" + "Settings/Flavours/Validate" + "Settings/Flavours/Release" + "Settings/Packages" + "Settings/Parser" + "Settings/Program" + "Settings/Warnings" + "Stage" + "Target" + "UserSettings" + "Utilities" + "Way" + "Way/Type" + ] ++ (pkgs.lib).optional (flags.selftest) "Rules/Selftest"; + hsSourceDirs = [ "." "src" ]; + mainPath = ([ + "Main.hs" + ] ++ (pkgs.lib).optional (flags.threaded) "") ++ (pkgs.lib).optional (flags.selftest) ""; + }; + }; + }; + } // rec { src = (pkgs.lib).mkDefault ../.; } \ No newline at end of file diff --git a/materialized/ghc928/hadrian-ghc96/hadrian/cabal-files/QuickCheck.nix b/materialized/ghc928/hadrian-ghc96/hadrian/cabal-files/QuickCheck.nix new file mode 100644 index 0000000000..31390ca93b --- /dev/null +++ b/materialized/ghc928/hadrian-ghc96/hadrian/cabal-files/QuickCheck.nix @@ -0,0 +1,119 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = { templatehaskell = true; old-random = false; }; + package = { + specVersion = "1.10"; + identifier = { name = "QuickCheck"; version = "2.14.3"; }; + license = "BSD-3-Clause"; + copyright = "2000-2019 Koen Claessen, 2006-2008 Björn Bringert, 2009-2019 Nick Smallbone"; + maintainer = "Nick Smallbone "; + author = "Koen Claessen "; + homepage = "https://github.com/nick8325/quickcheck"; + url = ""; + synopsis = "Automatic testing of Haskell programs"; + description = "QuickCheck is a library for random testing of program properties.\nThe programmer provides a specification of the program, in the form of\nproperties which functions should satisfy, and QuickCheck then tests that the\nproperties hold in a large number of randomly generated cases.\nSpecifications are expressed in Haskell, using combinators provided by\nQuickCheck. QuickCheck provides combinators to define properties, observe the\ndistribution of test data, and define test data generators.\n\nMost of QuickCheck's functionality is exported by the main \"Test.QuickCheck\"\nmodule. The main exception is the monadic property testing library in\n\"Test.QuickCheck.Monadic\".\n\nIf you are new to QuickCheck, you can try looking at the following resources:\n\n* The .\nIt's a bit out-of-date in some details and doesn't cover newer QuickCheck features,\nbut is still full of good advice.\n* ,\na detailed tutorial written by a user of QuickCheck.\n\nThe \ncompanion package provides instances for types in Haskell Platform packages\nat the cost of additional dependencies."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = ((((((([ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + ] ++ [ + (hsPkgs."random" or (errorHandler.buildDepError "random")) + ]) ++ (pkgs.lib).optional (!(compiler.isHugs && true)) (hsPkgs."splitmix" or (errorHandler.buildDepError "splitmix"))) ++ (pkgs.lib).optionals (compiler.isGhc && true) [ + (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + ]) ++ (pkgs.lib).optional (compiler.isGhc && true && flags.templatehaskell) (hsPkgs."template-haskell" or (errorHandler.buildDepError "template-haskell"))) ++ (pkgs.lib).optional (compiler.isGhc && (compiler.version).ge "7.2" && (compiler.isGhc && (compiler.version).lt "7.6")) (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim"))) ++ (pkgs.lib).optional (compiler.isGhc && (compiler.version).ge "7.2") (hsPkgs."random" or (errorHandler.buildDepError "random"))) ++ (pkgs.lib).optional (compiler.isGhc && (compiler.version).ge "7.4") (hsPkgs."containers" or (errorHandler.buildDepError "containers"))) ++ (pkgs.lib).optionals (compiler.isUhc && true) [ + (hsPkgs."old-time" or (errorHandler.buildDepError "old-time")) + (hsPkgs."old-locale" or (errorHandler.buildDepError "old-locale")) + ]; + buildable = true; + }; + tests = { + "test-quickcheck" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")) + ]; + buildable = if !flags.templatehaskell then false else true; + }; + "test-quickcheck-gcoarbitrary" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")) + ] ++ (pkgs.lib).optional (compiler.isGhc && (compiler.version).ge "7.2" && (compiler.isGhc && (compiler.version).lt "7.6")) (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")); + buildable = if !flags.templatehaskell || !(compiler.isGhc && (compiler.version).ge "7.2") + then false + else true; + }; + "test-quickcheck-generators" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")) + ]; + buildable = if !flags.templatehaskell then false else true; + }; + "test-quickcheck-gshrink" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")) + ] ++ (pkgs.lib).optional (compiler.isGhc && (compiler.version).ge "7.2" && (compiler.isGhc && (compiler.version).lt "7.6")) (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")); + buildable = if !flags.templatehaskell || !(compiler.isGhc && (compiler.version).ge "7.2") + then false + else true; + }; + "test-quickcheck-terminal" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."process" or (errorHandler.buildDepError "process")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")) + ]; + buildable = if !flags.templatehaskell || !(compiler.isGhc && (compiler.version).ge "7.10") + then false + else true; + }; + "test-quickcheck-monadfix" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")) + ]; + buildable = if !flags.templatehaskell || !(compiler.isGhc && (compiler.version).ge "7.10") + then false + else true; + }; + "test-quickcheck-split" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")) + ]; + buildable = true; + }; + "test-quickcheck-misc" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")) + ]; + buildable = if !flags.templatehaskell || !(compiler.isGhc && (compiler.version).ge "7.10") + then false + else true; + }; + }; + }; + } // { + src = (pkgs.lib).mkDefault (pkgs.fetchurl { + url = "http://hackage.haskell.org/package/QuickCheck-2.14.3.tar.gz"; + sha256 = "5c0f22b36b28a1a8fa110b3819818d3f29494a3b0dedbae299f064123ca70501"; + }); + }) // { + package-description-override = "Name: QuickCheck\nVersion: 2.14.3\nCabal-Version: >= 1.10\nBuild-type: Simple\nLicense: BSD3\nLicense-file: LICENSE\nCopyright: 2000-2019 Koen Claessen, 2006-2008 Björn Bringert, 2009-2019 Nick Smallbone\nAuthor: Koen Claessen \nMaintainer: Nick Smallbone \nBug-reports: https://github.com/nick8325/quickcheck/issues\nTested-with: GHC ==7.0.4 || ==7.2.2 || >= 7.4\nHomepage: https://github.com/nick8325/quickcheck\nCategory: Testing\nSynopsis: Automatic testing of Haskell programs\nDescription:\n QuickCheck is a library for random testing of program properties.\n The programmer provides a specification of the program, in the form of\n properties which functions should satisfy, and QuickCheck then tests that the\n properties hold in a large number of randomly generated cases.\n Specifications are expressed in Haskell, using combinators provided by\n QuickCheck. QuickCheck provides combinators to define properties, observe the\n distribution of test data, and define test data generators.\n .\n Most of QuickCheck's functionality is exported by the main \"Test.QuickCheck\"\n module. The main exception is the monadic property testing library in\n \"Test.QuickCheck.Monadic\".\n .\n If you are new to QuickCheck, you can try looking at the following resources:\n .\n * The .\n It's a bit out-of-date in some details and doesn't cover newer QuickCheck features,\n but is still full of good advice.\n * ,\n a detailed tutorial written by a user of QuickCheck.\n .\n The \n companion package provides instances for types in Haskell Platform packages\n at the cost of additional dependencies.\n\nextra-source-files:\n README\n changelog\n examples/Heap.hs\n examples/Heap_Program.hs\n examples/Heap_ProgramAlgebraic.hs\n examples/Lambda.hs\n examples/Merge.hs\n examples/Set.hs\n examples/Simple.hs\n make-hugs\n test-hugs\n\nsource-repository head\n type: git\n location: https://github.com/nick8325/quickcheck\n\nsource-repository this\n type: git\n location: https://github.com/nick8325/quickcheck\n tag: 2.14.3\n\nflag templateHaskell\n Description: Build Test.QuickCheck.All, which uses Template Haskell.\n Default: True\n Manual: True\n\nflag old-random\n Description: Build against a pre-1.2.0 version of the random package.\n Default: False\n Manual: False\n\nlibrary\n Hs-source-dirs: src\n Build-depends: base >=4.3 && <5, containers\n Default-language: Haskell2010\n\n -- New vs old random.\n if flag(old-random)\n Build-depends: random >= 1.0.0.3 && < 1.2.0\n cpp-options: -DOLD_RANDOM\n else\n Build-depends: random >= 1.2.0 && < 1.3\n\n -- We always use splitmix directly rather than going through StdGen\n -- (it's somewhat more efficient).\n -- However, Hugs traps overflow on Word64, so we have to stick\n -- with StdGen there.\n if impl(hugs)\n cpp-options: -DNO_SPLITMIX\n else\n Build-depends: splitmix >= 0.1 && <0.2\n\n -- Modules that are always built.\n Exposed-Modules:\n Test.QuickCheck,\n Test.QuickCheck.Arbitrary,\n Test.QuickCheck.Gen,\n Test.QuickCheck.Gen.Unsafe,\n Test.QuickCheck.Monadic,\n Test.QuickCheck.Modifiers,\n Test.QuickCheck.Property,\n Test.QuickCheck.Test,\n Test.QuickCheck.Text,\n Test.QuickCheck.Poly,\n Test.QuickCheck.State,\n Test.QuickCheck.Random,\n Test.QuickCheck.Exception,\n Test.QuickCheck.Features\n\n -- GHC-specific modules.\n if impl(ghc)\n Exposed-Modules: Test.QuickCheck.Function\n Build-depends: transformers >= 0.3, deepseq >= 1.1.0.0\n else\n cpp-options: -DNO_TRANSFORMERS -DNO_DEEPSEQ\n\n if impl(ghc) && flag(templateHaskell)\n Build-depends: template-haskell >= 2.4\n if impl(ghc >=8.0)\n Other-Extensions: TemplateHaskellQuotes\n else\n Other-Extensions: TemplateHaskell\n Exposed-Modules: Test.QuickCheck.All\n else\n cpp-options: -DNO_TEMPLATE_HASKELL\n\n if !impl(ghc >= 7.4)\n cpp-options: -DNO_CTYPES_CONSTRUCTORS -DNO_FOREIGN_C_USECONDS\n\n -- The new generics appeared in GHC 7.2...\n if impl(ghc < 7.2)\n cpp-options: -DNO_GENERICS\n -- ...but in 7.2-7.4 it lives in the ghc-prim package.\n if impl(ghc >= 7.2) && impl(ghc < 7.6)\n Build-depends: ghc-prim\n\n -- Safe Haskell appeared in GHC 7.2, but GHC.Generics isn't safe until 7.4.\n if impl (ghc < 7.4)\n cpp-options: -DNO_SAFE_HASKELL\n\n -- random is explicitly Trustworthy since 1.0.1.0\n -- similar constraint for containers\n if impl(ghc >= 7.2)\n Build-depends: random >=1.0.1.0\n if impl(ghc >= 7.4)\n Build-depends: containers >=0.4.2.1\n\n if !impl(ghc >= 7.6)\n cpp-options: -DNO_POLYKINDS\n\n if !impl(ghc >= 8.0)\n cpp-options: -DNO_MONADFAIL\n\n -- Switch off most optional features on non-GHC systems.\n if !impl(ghc)\n -- If your Haskell compiler can cope without some of these, please\n -- send a message to the QuickCheck mailing list!\n cpp-options: -DNO_TIMEOUT -DNO_NEWTYPE_DERIVING -DNO_GENERICS\n -DNO_TEMPLATE_HASKELL -DNO_SAFE_HASKELL -DNO_TYPEABLE -DNO_GADTS\n -DNO_EXTRA_METHODS_IN_APPLICATIVE -DOLD_RANDOM\n if !impl(hugs) && !impl(uhc)\n cpp-options: -DNO_ST_MONAD -DNO_MULTI_PARAM_TYPE_CLASSES\n\n -- LANGUAGE pragmas don't have any effect in Hugs.\n if impl(hugs)\n Default-Extensions: CPP\n\n if impl(uhc)\n -- Cabal under UHC needs pointing out all the dependencies of the\n -- random package.\n Build-depends: old-time, old-locale\n -- Plus some bits of the standard library are missing.\n cpp-options: -DNO_FIXED -DNO_EXCEPTIONS\n\nTest-Suite test-quickcheck\n type: exitcode-stdio-1.0\n Default-language: Haskell2010\n hs-source-dirs:\n examples\n main-is: Heap.hs\n build-depends: base, QuickCheck\n if !flag(templateHaskell)\n Buildable: False\n\nTest-Suite test-quickcheck-gcoarbitrary\n type: exitcode-stdio-1.0\n Default-language: Haskell2010\n hs-source-dirs: tests\n main-is: GCoArbitraryExample.hs\n build-depends: base, QuickCheck\n if !flag(templateHaskell) || !impl(ghc >= 7.2)\n buildable: False\n if impl(ghc >= 7.2) && impl(ghc < 7.6)\n build-depends: ghc-prim\n\nTest-Suite test-quickcheck-generators\n type: exitcode-stdio-1.0\n Default-language: Haskell2010\n hs-source-dirs: tests\n main-is: Generators.hs\n build-depends: base, QuickCheck\n if !flag(templateHaskell)\n Buildable: False\n\nTest-Suite test-quickcheck-gshrink\n type: exitcode-stdio-1.0\n Default-language: Haskell2010\n hs-source-dirs: tests\n main-is: GShrinkExample.hs\n build-depends: base, QuickCheck\n if !flag(templateHaskell) || !impl(ghc >= 7.2)\n buildable: False\n if impl(ghc >= 7.2) && impl(ghc < 7.6)\n build-depends: ghc-prim\n\nTest-Suite test-quickcheck-terminal\n type: exitcode-stdio-1.0\n Default-language: Haskell2010\n hs-source-dirs: tests\n main-is: Terminal.hs\n build-depends: base, process, deepseq >= 1.1.0.0, QuickCheck\n if !flag(templateHaskell) || !impl(ghc >= 7.10)\n buildable: False\n\nTest-Suite test-quickcheck-monadfix\n type: exitcode-stdio-1.0\n Default-language: Haskell2010\n hs-source-dirs: tests\n main-is: MonadFix.hs\n build-depends: base, QuickCheck\n if !flag(templateHaskell) || !impl(ghc >= 7.10)\n buildable: False\n\nTest-Suite test-quickcheck-split\n type: exitcode-stdio-1.0\n Default-language: Haskell2010\n hs-source-dirs: tests\n main-is: Split.hs\n build-depends: base, QuickCheck\n\nTest-Suite test-quickcheck-misc\n type: exitcode-stdio-1.0\n Default-language: Haskell2010\n hs-source-dirs: tests\n main-is: Misc.hs\n build-depends: base, QuickCheck\n if !flag(templateHaskell) || !impl(ghc >= 7.10)\n buildable: False\n"; + } \ No newline at end of file diff --git a/materialized/ghc928/hadrian-ghc96/hadrian/cabal-files/clock.nix b/materialized/ghc928/hadrian-ghc96/hadrian/cabal-files/clock.nix new file mode 100644 index 0000000000..de66c1339a --- /dev/null +++ b/materialized/ghc928/hadrian-ghc96/hadrian/cabal-files/clock.nix @@ -0,0 +1,59 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = { llvm = false; }; + package = { + specVersion = "1.10"; + identifier = { name = "clock"; version = "0.8.3"; }; + license = "BSD-3-Clause"; + copyright = "Copyright © Cetin Sert 2009-2016, Eugene Kirpichov 2010, Finn Espen Gundersen 2013, Gerolf Seitz 2013, Mathieu Boespflug 2014 2015, Chris Done 2015, Dimitri Sabadie 2015, Christian Burger 2015, Mario Longobardi 2016, Alexander Vershilov 2021."; + maintainer = "Cetin Sert , Corsis Research"; + author = "Cetin Sert , Corsis Research"; + homepage = "https://github.com/corsis/clock"; + url = ""; + synopsis = "High-resolution clock functions: monotonic, realtime, cputime."; + description = "A package for convenient access to high-resolution clock and\ntimer functions of different operating systems via a unified API.\n\nPOSIX code and surface API was developed by Cetin Sert in 2009.\n\nWindows code was contributed by Eugene Kirpichov in 2010.\n\nFreeBSD code was contributed by Finn Espen Gundersen on 2013-10-14.\n\nOS X code was contributed by Gerolf Seitz on 2013-10-15.\n\nDerived @Generic@, @Typeable@ and other instances for @Clock@ and @TimeSpec@ was contributed by Mathieu Boespflug on 2014-09-17.\n\nCorrected dependency listing for @GHC < 7.6@ was contributed by Brian McKenna on 2014-09-30.\n\nWindows code corrected by Dimitri Sabadie on 2015-02-09.\n\nAdded @timeSpecAsNanoSecs@ as observed widely-used by Chris Done on 2015-01-06, exported correctly on 2015-04-20.\n\nImported Control.Applicative operators correctly for Haskell Platform on Windows on 2015-04-21.\n\nUnit tests and instance fixes by Christian Burger on 2015-06-25.\n\nRemoval of fromInteger : Integer -> TimeSpec by Cetin Sert on 2015-12-15.\n\nNew Linux-specific Clocks: MonotonicRaw, Boottime, MonotonicCoarse, RealtimeCoarse by Cetin Sert on 2015-12-15.\n\nReintroduction fromInteger : Integer -> TimeSpec by Cetin Sert on 2016-04-05.\n\nFixes for older Linux build failures introduced by new Linux-specific clocks by Mario Longobardi on 2016-04-18.\n\nRefreshment release in 2019-04 after numerous contributions.\n\nRefactoring for Windows, Mac implementation consistence by Alexander Vershilov on 2021-01-16.\n\n[Version Scheme]\nMajor-@/R/@-ewrite . New-@/F/@-unctionality . @/I/@-mprovementAndBugFixes . @/P/@-ackagingOnly\n\n* @PackagingOnly@ changes are made for quality assurance reasons."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ (hsPkgs."base" or (errorHandler.buildDepError "base")) ]; + buildable = true; + }; + tests = { + "test" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."tasty" or (errorHandler.buildDepError "tasty")) + (hsPkgs."tasty-quickcheck" or (errorHandler.buildDepError "tasty-quickcheck")) + (hsPkgs."clock" or (errorHandler.buildDepError "clock")) + ]; + buildable = true; + }; + }; + benchmarks = { + "benchmarks" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."criterion" or (errorHandler.buildDepError "criterion")) + (hsPkgs."clock" or (errorHandler.buildDepError "clock")) + ]; + buildable = true; + }; + }; + }; + } // { + src = (pkgs.lib).mkDefault (pkgs.fetchurl { + url = "http://hackage.haskell.org/package/clock-0.8.3.tar.gz"; + sha256 = "845ce5db4c98cefd517323e005f87effceff886987305e421c4ef616dc0505d1"; + }); + }) // { + package-description-override = "cabal-version: >= 1.10\nname: clock\nversion: 0.8.3\nstability: stable\nsynopsis: High-resolution clock functions: monotonic, realtime, cputime.\ndescription: A package for convenient access to high-resolution clock and\n timer functions of different operating systems via a unified API.\n .\n POSIX code and surface API was developed by Cetin Sert in 2009.\n .\n Windows code was contributed by Eugene Kirpichov in 2010.\n .\n FreeBSD code was contributed by Finn Espen Gundersen on 2013-10-14.\n .\n OS X code was contributed by Gerolf Seitz on 2013-10-15.\n .\n Derived @Generic@, @Typeable@ and other instances for @Clock@ and @TimeSpec@ was contributed by Mathieu Boespflug on 2014-09-17.\n .\n Corrected dependency listing for @GHC < 7.6@ was contributed by Brian McKenna on 2014-09-30.\n .\n Windows code corrected by Dimitri Sabadie on 2015-02-09.\n .\n Added @timeSpecAsNanoSecs@ as observed widely-used by Chris Done on 2015-01-06, exported correctly on 2015-04-20.\n .\n Imported Control.Applicative operators correctly for Haskell Platform on Windows on 2015-04-21.\n .\n Unit tests and instance fixes by Christian Burger on 2015-06-25.\n .\n Removal of fromInteger : Integer -> TimeSpec by Cetin Sert on 2015-12-15.\n .\n New Linux-specific Clocks: MonotonicRaw, Boottime, MonotonicCoarse, RealtimeCoarse by Cetin Sert on 2015-12-15.\n .\n Reintroduction fromInteger : Integer -> TimeSpec by Cetin Sert on 2016-04-05.\n .\n Fixes for older Linux build failures introduced by new Linux-specific clocks by Mario Longobardi on 2016-04-18.\n .\n Refreshment release in 2019-04 after numerous contributions.\n .\n Refactoring for Windows, Mac implementation consistence by Alexander Vershilov on 2021-01-16.\n .\n [Version Scheme]\n Major-@/R/@-ewrite . New-@/F/@-unctionality . @/I/@-mprovementAndBugFixes . @/P/@-ackagingOnly\n .\n * @PackagingOnly@ changes are made for quality assurance reasons.\n\ncopyright: Copyright © Cetin Sert 2009-2016, Eugene Kirpichov 2010, Finn Espen Gundersen 2013, Gerolf Seitz 2013, Mathieu Boespflug 2014 2015, Chris Done 2015, Dimitri Sabadie 2015, Christian Burger 2015, Mario Longobardi 2016, Alexander Vershilov 2021.\nlicense: BSD3\nlicense-file: LICENSE\nauthor: Cetin Sert , Corsis Research\nmaintainer: Cetin Sert , Corsis Research\nhomepage: https://github.com/corsis/clock\nbug-reports: https://github.com/corsis/clock/issues\ncategory: System\nbuild-type: Simple\n\ntested-with:\n GHC == 9.2.1\n GHC == 9.0.2\n GHC == 8.10.7\n GHC == 8.8.4\n GHC == 8.6.5\n GHC == 8.4.4\n GHC == 8.2.2\n GHC == 8.0.2\n GHC == 7.10.3\n GHC == 7.8.4\n\nextra-source-files:\n CHANGELOG.md\n\n\nsource-repository head\n type: git\n location: git://github.com/corsis/clock.git\n\n\nflag llvm\n description: compile via LLVM\n default : False\n\n\nlibrary\n build-depends: base >= 4.7 && < 5\n\n exposed-modules: System.Clock\n System.Clock.Seconds\n\n default-language: Haskell2010\n default-extensions: DeriveGeneric\n DeriveDataTypeable\n ForeignFunctionInterface\n ScopedTypeVariables\n ViewPatterns\n GeneralizedNewtypeDeriving\n if os(windows)\n c-sources: cbits/hs_clock_win32.c\n include-dirs: cbits\n ghc-options: -O3 -Wall\n\n if flag(llvm)\n ghc-options: -fllvm -optlo-O3\n\n\ntest-suite test\n default-language: Haskell2010\n default-extensions: ScopedTypeVariables\n GeneralizedNewtypeDeriving\n StandaloneDeriving\n type:\n exitcode-stdio-1.0\n hs-source-dirs:\n tests\n main-is:\n test.hs\n build-depends:\n base\n , tasty >= 0.10\n , tasty-quickcheck\n , clock\n\nbenchmark benchmarks\n default-language: Haskell2010\n type:\n exitcode-stdio-1.0\n hs-source-dirs:\n bench\n main-is:\n benchmarks.hs\n build-depends:\n base\n , criterion\n , clock\n"; + } \ No newline at end of file diff --git a/materialized/ghc928/hadrian-ghc96/hadrian/cabal-files/data-array-byte.nix b/materialized/ghc928/hadrian-ghc96/hadrian/cabal-files/data-array-byte.nix new file mode 100644 index 0000000000..c0d9745691 --- /dev/null +++ b/materialized/ghc928/hadrian-ghc96/hadrian/cabal-files/data-array-byte.nix @@ -0,0 +1,55 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = {}; + package = { + specVersion = "1.10"; + identifier = { name = "data-array-byte"; version = "0.1.0.1"; }; + license = "BSD-3-Clause"; + copyright = "(c) Roman Leshchinskiy 2009-2012"; + maintainer = "andrew.lelechenko@gmail.com"; + author = "Roman Leshchinskiy "; + homepage = "https://github.com/Bodigrim/data-array-byte"; + url = ""; + synopsis = "Compatibility layer for Data.Array.Byte"; + description = "Compatibility layer for [Data.Array.Byte](https://hackage.haskell.org/package/base/docs/Data-Array-Byte.html), providing boxed wrappers for @ByteArray#@ and @MutableByteArray#@ and relevant instances for GHC < 9.4. Include it into your Cabal file:\n\n> build-depends: base\n> if impl(ghc < 9.4)\n> build-depends: data-array-byte\n\nand then @import Data.Array.Byte@ unconditionally."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."template-haskell" or (errorHandler.buildDepError "template-haskell")) + ]; + buildable = true; + }; + tests = { + "data-array-byte-tests" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."data-array-byte" or (errorHandler.buildDepError "data-array-byte")) + (hsPkgs."quickcheck-classes-base" or (errorHandler.buildDepError "quickcheck-classes-base")) + (hsPkgs."tasty" or (errorHandler.buildDepError "tasty")) + (hsPkgs."tasty-quickcheck" or (errorHandler.buildDepError "tasty-quickcheck")) + (hsPkgs."template-haskell" or (errorHandler.buildDepError "template-haskell")) + ]; + buildable = true; + }; + }; + }; + } // { + src = (pkgs.lib).mkDefault (pkgs.fetchurl { + url = "http://hackage.haskell.org/package/data-array-byte-0.1.0.1.tar.gz"; + sha256 = "1bb6eca0b3e02d057fe7f4e14c81ef395216f421ab30fdaa1b18017c9c025600"; + }); + }) // { + package-description-override = "cabal-version: >=1.10\r\nname: data-array-byte\r\nversion: 0.1.0.1\r\nx-revision: 1\r\nlicense: BSD3\r\nlicense-file: LICENSE\r\ncopyright: (c) Roman Leshchinskiy 2009-2012\r\nmaintainer: andrew.lelechenko@gmail.com\r\nauthor: Roman Leshchinskiy \r\ntested-with:\r\n ghc ==8.0.2 ghc ==8.2.2 ghc ==8.4.4 ghc ==8.6.5 ghc ==8.8.4\r\n ghc ==8.10.7 ghc ==9.0.2 ghc ==9.2.4 ghc ==9.4.2\r\n\r\nhomepage: https://github.com/Bodigrim/data-array-byte\r\nbug-reports: https://github.com/Bodigrim/data-array-byte/issues\r\nsynopsis: Compatibility layer for Data.Array.Byte\r\ndescription:\r\n Compatibility layer for [Data.Array.Byte](https://hackage.haskell.org/package/base/docs/Data-Array-Byte.html), providing boxed wrappers for @ByteArray#@ and @MutableByteArray#@ and relevant instances for GHC < 9.4. Include it into your Cabal file:\r\n .\r\n > build-depends: base\r\n > if impl(ghc < 9.4)\r\n > build-depends: data-array-byte\r\n .\r\n and then @import Data.Array.Byte@ unconditionally.\r\n\r\ncategory: Compatibility\r\nbuild-type: Simple\r\nextra-source-files:\r\n changelog.md\r\n README.md\r\n\r\nsource-repository head\r\n type: git\r\n location: https://github.com/Bodigrim/data-array-byte\r\n\r\nlibrary\r\n default-language: Haskell2010\r\n ghc-options: -Wall\r\n build-depends:\r\n base >=4.9 && <4.19,\r\n deepseq >=1.4 && <1.5,\r\n template-haskell >=2.11 && <2.21\r\n\r\n if impl(ghc <9.4)\r\n exposed-modules: Data.Array.Byte\r\n\r\ntest-suite data-array-byte-tests\r\n type: exitcode-stdio-1.0\r\n main-is: Main.hs\r\n hs-source-dirs: test\r\n default-language: Haskell2010\r\n ghc-options: -Wall\r\n build-depends:\r\n base,\r\n data-array-byte,\r\n quickcheck-classes-base >=0.6 && <0.7,\r\n tasty >=1.4 && <1.5,\r\n tasty-quickcheck >=0.10 && <0.11,\r\n template-haskell\r\n"; + } \ No newline at end of file diff --git a/materialized/ghc928/hadrian-ghc96/hadrian/cabal-files/extra.nix b/materialized/ghc928/hadrian-ghc96/hadrian/cabal-files/extra.nix new file mode 100644 index 0000000000..450be82c4b --- /dev/null +++ b/materialized/ghc928/hadrian-ghc96/hadrian/cabal-files/extra.nix @@ -0,0 +1,58 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = {}; + package = { + specVersion = "1.18"; + identifier = { name = "extra"; version = "1.7.14"; }; + license = "BSD-3-Clause"; + copyright = "Neil Mitchell 2014-2023"; + maintainer = "Neil Mitchell "; + author = "Neil Mitchell "; + homepage = "https://github.com/ndmitchell/extra#readme"; + url = ""; + synopsis = "Extra functions I use."; + description = "A library of extra functions for the standard Haskell libraries. Most functions are simple additions, filling out missing functionality. A few functions are available in later versions of GHC, but this package makes them available back to GHC 7.2.\n\nThe module \"Extra\" documents all functions provided by this library. Modules such as \"Data.List.Extra\" provide extra functions over \"Data.List\" and also reexport \"Data.List\". Users are recommended to replace \"Data.List\" imports with \"Data.List.Extra\" if they need the extra functionality."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."process" or (errorHandler.buildDepError "process")) + (hsPkgs."clock" or (errorHandler.buildDepError "clock")) + (hsPkgs."time" or (errorHandler.buildDepError "time")) + ] ++ (pkgs.lib).optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix")); + buildable = true; + }; + tests = { + "extra-test" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."extra" or (errorHandler.buildDepError "extra")) + (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")) + (hsPkgs."quickcheck-instances" or (errorHandler.buildDepError "quickcheck-instances")) + ] ++ (pkgs.lib).optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix")); + buildable = true; + }; + }; + }; + } // { + src = (pkgs.lib).mkDefault (pkgs.fetchurl { + url = "http://hackage.haskell.org/package/extra-1.7.14.tar.gz"; + sha256 = "b6a909f8f0e4b8076a1653b4d34815a782f0a8c1e83d5267f4d00496471ef567"; + }); + }) // { + package-description-override = "cabal-version: 1.18\nbuild-type: Simple\nname: extra\nversion: 1.7.14\nlicense: BSD3\nlicense-file: LICENSE\ncategory: Development\nauthor: Neil Mitchell \nmaintainer: Neil Mitchell \ncopyright: Neil Mitchell 2014-2023\nsynopsis: Extra functions I use.\ndescription:\n A library of extra functions for the standard Haskell libraries. Most functions are simple additions, filling out missing functionality. A few functions are available in later versions of GHC, but this package makes them available back to GHC 7.2.\n .\n The module \"Extra\" documents all functions provided by this library. Modules such as \"Data.List.Extra\" provide extra functions over \"Data.List\" and also reexport \"Data.List\". Users are recommended to replace \"Data.List\" imports with \"Data.List.Extra\" if they need the extra functionality.\nhomepage: https://github.com/ndmitchell/extra#readme\nbug-reports: https://github.com/ndmitchell/extra/issues\ntested-with: GHC==9.6, GHC==9.4, GHC==9.2, GHC==9.0, GHC==8.10, GHC==8.8\n\nextra-doc-files:\n CHANGES.txt\n README.md\nextra-source-files:\n Generate.hs\n\nsource-repository head\n type: git\n location: https://github.com/ndmitchell/extra.git\n\nlibrary\n default-language: Haskell2010\n hs-source-dirs: src\n build-depends:\n base >= 4.9 && < 5,\n directory,\n filepath,\n process,\n clock >= 0.7,\n time\n if !os(windows)\n build-depends: unix\n\n other-modules:\n Partial\n exposed-modules:\n Extra\n Control.Concurrent.Extra\n Control.Exception.Extra\n Control.Monad.Extra\n Data.Foldable.Extra\n Data.Either.Extra\n Data.IORef.Extra\n Data.List.Extra\n Data.List.NonEmpty.Extra\n Data.Monoid.Extra\n Data.Tuple.Extra\n Data.Typeable.Extra\n Data.Version.Extra\n Numeric.Extra\n System.Directory.Extra\n System.Environment.Extra\n System.Info.Extra\n System.IO.Extra\n System.Process.Extra\n System.Time.Extra\n Text.Read.Extra\n\ntest-suite extra-test\n type: exitcode-stdio-1.0\n default-language: Haskell2010\n build-depends:\n base == 4.*,\n directory,\n filepath,\n extra,\n QuickCheck >= 2.10,\n quickcheck-instances >= 0.3.17\n if !os(windows)\n build-depends: unix\n hs-source-dirs: test\n ghc-options: -main-is Test -threaded \"-with-rtsopts=-N4 -K1K\"\n main-is: Test.hs\n other-modules:\n TestCustom\n TestGen\n TestUtil\n"; + } \ No newline at end of file diff --git a/materialized/ghc928/hadrian-ghc96/hadrian/cabal-files/filepattern.nix b/materialized/ghc928/hadrian-ghc96/hadrian/cabal-files/filepattern.nix new file mode 100644 index 0000000000..13bbd09e88 --- /dev/null +++ b/materialized/ghc928/hadrian-ghc96/hadrian/cabal-files/filepattern.nix @@ -0,0 +1,56 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = {}; + package = { + specVersion = "1.18"; + identifier = { name = "filepattern"; version = "0.1.3"; }; + license = "BSD-3-Clause"; + copyright = "Neil Mitchell 2011-2022"; + maintainer = "Neil Mitchell "; + author = "Neil Mitchell , Evan Rutledge Borden "; + homepage = "https://github.com/ndmitchell/filepattern#readme"; + url = ""; + synopsis = "File path glob-like matching"; + description = "A library for matching files using patterns such as @\\\"src\\/**\\/*.png\\\"@ for all @.png@ files\nrecursively under the @src@ directory. Features:\n\n* All matching is /O(n)/. Most functions precompute some information given only one argument.\n\n* See \"System.FilePattern\" and @?==@ simple matching and semantics.\n\n* Use @match@ and @substitute@ to extract suitable\nstrings from the @*@ and @**@ matches, and substitute them back into other patterns.\n\n* Use @step@ and @matchMany@ to perform bulk matching\nof many patterns against many paths simultaneously.\n\n* Use \"System.FilePattern.Directory\" to perform optimised directory traverals using patterns.\n\nOriginally taken from the ."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + (hsPkgs."extra" or (errorHandler.buildDepError "extra")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + ]; + buildable = true; + }; + tests = { + "filepattern-test" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + (hsPkgs."extra" or (errorHandler.buildDepError "extra")) + (hsPkgs."filepattern" or (errorHandler.buildDepError "filepattern")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")) + ]; + buildable = true; + }; + }; + }; + } // { + src = (pkgs.lib).mkDefault (pkgs.fetchurl { + url = "http://hackage.haskell.org/package/filepattern-0.1.3.tar.gz"; + sha256 = "cc445d439ea2f65cac7604d3578aa2c3a62e5a91dc989f4ce5b3390db9e59636"; + }); + }) // { + package-description-override = "cabal-version: 1.18\nbuild-type: Simple\nname: filepattern\nversion: 0.1.3\nlicense: BSD3\nlicense-file: LICENSE\ncategory: Development, FilePath\nauthor: Neil Mitchell , Evan Rutledge Borden \nmaintainer: Neil Mitchell \ncopyright: Neil Mitchell 2011-2022\nsynopsis: File path glob-like matching\ndescription:\n A library for matching files using patterns such as @\\\"src\\/**\\/*.png\\\"@ for all @.png@ files\n recursively under the @src@ directory. Features:\n .\n * All matching is /O(n)/. Most functions precompute some information given only one argument.\n .\n * See \"System.FilePattern\" and @?==@ simple matching and semantics.\n .\n * Use @match@ and @substitute@ to extract suitable\n strings from the @*@ and @**@ matches, and substitute them back into other patterns.\n .\n * Use @step@ and @matchMany@ to perform bulk matching\n of many patterns against many paths simultaneously.\n .\n * Use \"System.FilePattern.Directory\" to perform optimised directory traverals using patterns.\n .\n Originally taken from the .\nhomepage: https://github.com/ndmitchell/filepattern#readme\nbug-reports: https://github.com/ndmitchell/filepattern/issues\ntested-with: GHC==9.0, GHC==8.10, GHC==8.8, GHC==8.6, GHC==8.4, GHC==8.2, GHC==8.0\nextra-doc-files:\n CHANGES.txt\n README.md\n\nsource-repository head\n type: git\n location: https://github.com/ndmitchell/filepattern.git\n\nlibrary\n default-language: Haskell2010\n hs-source-dirs: src\n build-depends:\n base == 4.*,\n directory,\n extra >= 1.6.2,\n filepath\n exposed-modules:\n System.FilePattern\n System.FilePattern.Directory\n other-modules:\n System.FilePattern.Core\n System.FilePattern.ListBy\n System.FilePattern.Monads\n System.FilePattern.Step\n System.FilePattern.Tree\n System.FilePattern.Wildcard\n\n\ntest-suite filepattern-test\n default-language: Haskell2010\n type: exitcode-stdio-1.0\n main-is: Test.hs\n hs-source-dirs: test\n build-depends:\n base == 4.*,\n directory,\n extra,\n filepattern,\n filepath,\n QuickCheck >= 2.0\n other-modules:\n Test.Cases\n Test.Util\n"; + } \ No newline at end of file diff --git a/materialized/ghc928/hadrian-ghc96/hadrian/cabal-files/hashable.nix b/materialized/ghc928/hadrian-ghc96/hadrian/cabal-files/hashable.nix new file mode 100644 index 0000000000..288fdf7407 --- /dev/null +++ b/materialized/ghc928/hadrian-ghc96/hadrian/cabal-files/hashable.nix @@ -0,0 +1,82 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = { integer-gmp = true; random-initial-seed = false; }; + package = { + specVersion = "1.12"; + identifier = { name = "hashable"; version = "1.4.2.0"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "Oleg Grenrus "; + author = "Milan Straka \nJohan Tibell "; + homepage = "http://github.com/haskell-unordered-containers/hashable"; + url = ""; + synopsis = "A class for types that can be converted to a hash value"; + description = "This package defines a class, 'Hashable', for types that\ncan be converted to a hash value. This class\nexists for the benefit of hashing-based data\nstructures. The package provides instances for\nbasic types and a way to combine hash values."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = (([ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + (hsPkgs."text" or (errorHandler.buildDepError "text")) + ] ++ (pkgs.lib).optional (!(compiler.isGhc && (compiler.version).ge "9.2")) (hsPkgs."base-orphans" or (errorHandler.buildDepError "base-orphans"))) ++ (pkgs.lib).optional (!(compiler.isGhc && (compiler.version).ge "9.4")) (hsPkgs."data-array-byte" or (errorHandler.buildDepError "data-array-byte"))) ++ (if compiler.isGhc && (compiler.version).ge "9" + then [ + (hsPkgs."ghc-bignum" or (errorHandler.buildDepError "ghc-bignum")) + ] ++ (pkgs.lib).optional (!(compiler.isGhc && (compiler.version).ge "9.0.2")) (hsPkgs."ghc-bignum-orphans" or (errorHandler.buildDepError "ghc-bignum-orphans")) + else if flags.integer-gmp + then [ + (hsPkgs."integer-gmp" or (errorHandler.buildDepError "integer-gmp")) + ] + else [ + (hsPkgs."integer-simple" or (errorHandler.buildDepError "integer-simple")) + ]); + buildable = true; + }; + tests = { + "hashable-tests" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + (hsPkgs."hashable" or (errorHandler.buildDepError "hashable")) + (hsPkgs."HUnit" or (errorHandler.buildDepError "HUnit")) + (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")) + (hsPkgs."random" or (errorHandler.buildDepError "random")) + (hsPkgs."test-framework" or (errorHandler.buildDepError "test-framework")) + (hsPkgs."test-framework-hunit" or (errorHandler.buildDepError "test-framework-hunit")) + (hsPkgs."test-framework-quickcheck2" or (errorHandler.buildDepError "test-framework-quickcheck2")) + (hsPkgs."text" or (errorHandler.buildDepError "text")) + ] ++ (pkgs.lib).optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix")); + buildable = true; + }; + "hashable-examples" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + (hsPkgs."hashable" or (errorHandler.buildDepError "hashable")) + ]; + buildable = true; + }; + }; + }; + } // { + src = (pkgs.lib).mkDefault (pkgs.fetchurl { + url = "http://hackage.haskell.org/package/hashable-1.4.2.0.tar.gz"; + sha256 = "1b4000ea82b81f69d46d0af4152c10c6303873510738e24cfc4767760d30e3f8"; + }); + }) // { + package-description-override = "cabal-version: 1.12\nname: hashable\nversion: 1.4.2.0\nx-revision: 1\nsynopsis: A class for types that can be converted to a hash value\ndescription:\n This package defines a class, 'Hashable', for types that\n can be converted to a hash value. This class\n exists for the benefit of hashing-based data\n structures. The package provides instances for\n basic types and a way to combine hash values.\n\nhomepage: http://github.com/haskell-unordered-containers/hashable\n\n-- SPDX-License-Identifier : BSD-3-Clause\nlicense: BSD3\nlicense-file: LICENSE\nauthor:\n Milan Straka \n Johan Tibell \n\nmaintainer: Oleg Grenrus \nbug-reports:\n https://github.com/haskell-unordered-containers/hashable/issues\n\nstability: Provisional\ncategory: Data\nbuild-type: Simple\ntested-with:\n GHC ==8.2.2\n || ==8.4.4\n || ==8.6.5\n || ==8.8.3\n || ==8.10.4\n || ==8.10.7\n || ==9.0.1\n || ==9.0.2\n || ==9.2.5\n || ==9.4.4\n || ==9.6.1\n\nextra-source-files:\n CHANGES.md\n include/HsHashable.h\n README.md\n\nflag integer-gmp\n description:\n Are we using @integer-gmp@ to provide fast Integer instances? No effect on GHC-9.0 or later.\n\n manual: False\n default: True\n\nflag random-initial-seed\n description:\n Randomly initialize the initial seed on each final executable invocation\n This is useful for catching cases when you rely on (non-existent)\n stability of hashable's hash functions.\n This is not a security feature.\n\n manual: True\n default: False\n\nlibrary\n exposed-modules:\n Data.Hashable\n Data.Hashable.Generic\n Data.Hashable.Lifted\n\n other-modules:\n Data.Hashable.Class\n Data.Hashable.Generic.Instances\n Data.Hashable.Imports\n Data.Hashable.LowLevel\n\n c-sources: cbits/fnv.c\n include-dirs: include\n hs-source-dirs: src\n build-depends:\n base >=4.10.1.0 && <4.19\n , bytestring >=0.10.8.2 && <0.12\n , containers >=0.5.10.2 && <0.7\n , deepseq >=1.4.3.0 && <1.5\n , filepath >=1.4.1.2 && <1.5\n , ghc-prim\n , text >=1.2.3.0 && <1.3 || >=2.0 && <2.1\n\n if !impl(ghc >=9.2)\n build-depends: base-orphans >=0.8.6 && <0.10\n\n if !impl(ghc >=9.4)\n build-depends: data-array-byte >=0.1.0.1 && <0.2\n\n -- Integer internals\n if impl(ghc >=9)\n build-depends: ghc-bignum >=1.0 && <1.4\n\n if !impl(ghc >=9.0.2)\n build-depends: ghc-bignum-orphans >=0.1 && <0.2\n\n else\n if flag(integer-gmp)\n build-depends: integer-gmp >=0.4 && <1.1\n\n else\n -- this is needed for the automatic flag to be well-balanced\n build-depends: integer-simple\n\n if (flag(random-initial-seed) && impl(ghc))\n cpp-options: -DHASHABLE_RANDOM_SEED=1\n\n if os(windows)\n c-sources: cbits-win/init.c\n\n else\n c-sources: cbits-unix/init.c\n\n default-language: Haskell2010\n other-extensions:\n BangPatterns\n CPP\n DeriveDataTypeable\n FlexibleContexts\n FlexibleInstances\n GADTs\n KindSignatures\n MagicHash\n MultiParamTypeClasses\n ScopedTypeVariables\n Trustworthy\n TypeOperators\n UnliftedFFITypes\n\n ghc-options: -Wall -fwarn-tabs\n\n if impl(ghc >=9.0)\n -- these flags may abort compilation with GHC-8.10\n -- https://gitlab.haskell.org/ghc/ghc/-/merge_requests/3295\n ghc-options: -Winferred-safe-imports -Wmissing-safe-haskell-mode\n\ntest-suite hashable-tests\n type: exitcode-stdio-1.0\n hs-source-dirs: tests\n main-is: Main.hs\n other-modules:\n Properties\n Regress\n\n build-depends:\n base\n , bytestring\n , ghc-prim\n , hashable\n , HUnit\n , QuickCheck >=2.4.0.1\n , random >=1.0 && <1.3\n , test-framework >=0.3.3\n , test-framework-hunit\n , test-framework-quickcheck2 >=0.2.9\n , text >=0.11.0.5\n\n if !os(windows)\n build-depends: unix\n cpp-options: -DHAVE_MMAP\n other-modules: Regress.Mmap\n other-extensions: CApiFFI\n\n ghc-options: -Wall -fno-warn-orphans\n default-language: Haskell2010\n\ntest-suite hashable-examples\n type: exitcode-stdio-1.0\n build-depends:\n base\n , ghc-prim\n , hashable\n\n hs-source-dirs: examples\n main-is: Main.hs\n default-language: Haskell2010\n\nsource-repository head\n type: git\n location:\n https://github.com/haskell-unordered-containers/hashable.git\n"; + } \ No newline at end of file diff --git a/materialized/ghc928/hadrian-ghc96/hadrian/cabal-files/heaps.nix b/materialized/ghc928/hadrian-ghc96/hadrian/cabal-files/heaps.nix new file mode 100644 index 0000000000..dc77aed1f4 --- /dev/null +++ b/materialized/ghc928/hadrian-ghc96/hadrian/cabal-files/heaps.nix @@ -0,0 +1,38 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = {}; + package = { + specVersion = "1.10"; + identifier = { name = "heaps"; version = "0.4"; }; + license = "BSD-3-Clause"; + copyright = "(c) 2010-2015 Edward A. Kmett"; + maintainer = "Edward A. Kmett "; + author = "Edward A. Kmett"; + homepage = "http://github.com/ekmett/heaps/"; + url = ""; + synopsis = "Asymptotically optimal Brodal/Okasaki heaps."; + description = "Asymptotically optimal Brodal\\/Okasaki bootstrapped skew-binomial heaps from the paper , extended with a 'Foldable' interface."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ (hsPkgs."base" or (errorHandler.buildDepError "base")) ]; + buildable = true; + }; + }; + } // { + src = (pkgs.lib).mkDefault (pkgs.fetchurl { + url = "http://hackage.haskell.org/package/heaps-0.4.tar.gz"; + sha256 = "89329df8b95ae99ef272e41e7a2d0fe2f1bb7eacfcc34bc01664414b33067cfd"; + }); + }) // { + package-description-override = "name: heaps\nversion: 0.4\nlicense: BSD3\nlicense-file: LICENSE\nauthor: Edward A. Kmett\nmaintainer: Edward A. Kmett \nstability: experimental\nhomepage: http://github.com/ekmett/heaps/\nbug-reports: http://github.com/ekmett/heaps/issues\ncategory: Data Structures\nsynopsis: Asymptotically optimal Brodal/Okasaki heaps.\ndescription: Asymptotically optimal Brodal\\/Okasaki bootstrapped skew-binomial heaps from the paper , extended with a 'Foldable' interface.\ncopyright: (c) 2010-2015 Edward A. Kmett\ntested-with: GHC == 7.0.4\n , GHC == 7.2.2\n , GHC == 7.4.2\n , GHC == 7.6.3\n , GHC == 7.8.4\n , GHC == 7.10.3\n , GHC == 8.0.2\n , GHC == 8.2.2\n , GHC == 8.4.4\n , GHC == 8.6.5\n , GHC == 8.8.3\n , GHC == 8.10.1\nbuild-type: Simple\ncabal-version: >=1.10\nextra-source-files:\n .gitignore\n .hlint.yaml\n CHANGELOG.markdown\n README.markdown\n\nsource-repository head\n type: git\n location: git://github.com/ekmett/heaps.git\n\nlibrary\n exposed-modules: Data.Heap\n build-depends:\n base >= 4 && < 6\n hs-source-dirs: src\n ghc-options: -O2 -Wall\n default-language: Haskell2010\n"; + } \ No newline at end of file diff --git a/materialized/ghc928/hadrian-ghc96/hadrian/cabal-files/js-dgtable.nix b/materialized/ghc928/hadrian-ghc96/hadrian/cabal-files/js-dgtable.nix new file mode 100644 index 0000000000..0237404c41 --- /dev/null +++ b/materialized/ghc928/hadrian-ghc96/hadrian/cabal-files/js-dgtable.nix @@ -0,0 +1,47 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = {}; + package = { + specVersion = "1.18"; + identifier = { name = "js-dgtable"; version = "0.5.2"; }; + license = "MIT"; + copyright = "Neil Mitchell 2019"; + maintainer = "Neil Mitchell "; + author = "Neil Mitchell "; + homepage = "https://github.com/ndmitchell/js-dgtable#readme"; + url = ""; + synopsis = "Obtain minified jquery.dgtable code"; + description = "This package bundles the minified code into a Haskell package,\nso it can be depended upon by Cabal packages. The first three components of\nthe version number match the upstream jquery.dgtable version. The package is designed\nto meet the redistribution requirements of downstream users (e.g. Debian)."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ (hsPkgs."base" or (errorHandler.buildDepError "base")) ]; + buildable = true; + }; + tests = { + "js-dgtable-test" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."js-dgtable" or (errorHandler.buildDepError "js-dgtable")) + ]; + buildable = true; + }; + }; + }; + } // { + src = (pkgs.lib).mkDefault (pkgs.fetchurl { + url = "http://hackage.haskell.org/package/js-dgtable-0.5.2.tar.gz"; + sha256 = "e28dd65bee8083b17210134e22e01c6349dc33c3b7bd17705973cd014e9f20ac"; + }); + }) // { + package-description-override = "cabal-version: >= 1.18\nbuild-type: Simple\nname: js-dgtable\nversion: 0.5.2\nlicense: MIT\nlicense-file: LICENSE\ncategory: Javascript\nauthor: Neil Mitchell \nmaintainer: Neil Mitchell \ncopyright: Neil Mitchell 2019\nsynopsis: Obtain minified jquery.dgtable code\ndescription:\n This package bundles the minified code into a Haskell package,\n so it can be depended upon by Cabal packages. The first three components of\n the version number match the upstream jquery.dgtable version. The package is designed\n to meet the redistribution requirements of downstream users (e.g. Debian).\nhomepage: https://github.com/ndmitchell/js-dgtable#readme\nbug-reports: https://github.com/ndmitchell/js-dgtable/issues\ntested-with: GHC==8.6.4, GHC==8.4.4, GHC==8.2.2, GHC==8.0.2, GHC==7.10.3\nextra-source-files:\n javascript/jquery.dgtable.js\nextra-doc-files:\n CHANGES.txt\n README.md\n\ndata-dir: javascript\ndata-files:\n jquery.dgtable.min.js\n\nsource-repository head\n type: git\n location: https://github.com/ndmitchell/js-dgtable.git\n\nlibrary\n default-language: Haskell2010\n hs-source-dirs: src\n build-depends:\n base == 4.*\n\n exposed-modules:\n Language.Javascript.DGTable\n\n other-modules:\n Paths_js_dgtable\n\ntest-suite js-dgtable-test\n default-language: Haskell2010\n type: exitcode-stdio-1.0\n main-is: src/Test.hs\n other-modules:\n Paths_js_dgtable\n build-depends:\n base == 4.*,\n js-dgtable\n"; + } \ No newline at end of file diff --git a/materialized/ghc928/hadrian-ghc96/hadrian/cabal-files/js-flot.nix b/materialized/ghc928/hadrian-ghc96/hadrian/cabal-files/js-flot.nix new file mode 100644 index 0000000000..ba292fc8b2 --- /dev/null +++ b/materialized/ghc928/hadrian-ghc96/hadrian/cabal-files/js-flot.nix @@ -0,0 +1,47 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = {}; + package = { + specVersion = "1.10"; + identifier = { name = "js-flot"; version = "0.8.3"; }; + license = "MIT"; + copyright = "Neil Mitchell 2014"; + maintainer = "Neil Mitchell "; + author = "Neil Mitchell "; + homepage = "https://github.com/ndmitchell/js-flot#readme"; + url = ""; + synopsis = "Obtain minified flot code"; + description = "This package bundles the minified code\n(a jQuery plotting library) into a Haskell package,\nso it can be depended upon by Cabal packages. The first three components of\nthe version number match the upstream flot version. The package is designed\nto meet the redistribution requirements of downstream users (e.g. Debian)."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ (hsPkgs."base" or (errorHandler.buildDepError "base")) ]; + buildable = true; + }; + tests = { + "js-flot-test" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."HTTP" or (errorHandler.buildDepError "HTTP")) + ]; + buildable = true; + }; + }; + }; + } // { + src = (pkgs.lib).mkDefault (pkgs.fetchurl { + url = "http://hackage.haskell.org/package/js-flot-0.8.3.tar.gz"; + sha256 = "1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a"; + }); + }) // { + package-description-override = "cabal-version: >= 1.10\nbuild-type: Simple\nname: js-flot\nversion: 0.8.3\nlicense: MIT\nlicense-file: LICENSE\ncategory: Javascript\nauthor: Neil Mitchell \nmaintainer: Neil Mitchell \ncopyright: Neil Mitchell 2014\nsynopsis: Obtain minified flot code\ndescription:\n This package bundles the minified code\n (a jQuery plotting library) into a Haskell package,\n so it can be depended upon by Cabal packages. The first three components of\n the version number match the upstream flot version. The package is designed\n to meet the redistribution requirements of downstream users (e.g. Debian).\nhomepage: https://github.com/ndmitchell/js-flot#readme\nbug-reports: https://github.com/ndmitchell/js-flot/issues\ntested-with: GHC==7.8.3, GHC==7.6.3, GHC==7.4.2, GHC==7.2.2\nextra-source-files:\n javascript/flot-0.8.3.zip\n CHANGES.txt\n README.md\n\ndata-dir: javascript\ndata-files:\n jquery.flot.min.js\n jquery.flot.canvas.min.js\n jquery.flot.categories.min.js\n jquery.flot.crosshair.min.js\n jquery.flot.errorbars.min.js\n jquery.flot.fillbetween.min.js\n jquery.flot.image.min.js\n jquery.flot.navigate.min.js\n jquery.flot.pie.min.js\n jquery.flot.resize.min.js\n jquery.flot.selection.min.js\n jquery.flot.stack.min.js\n jquery.flot.symbol.min.js\n jquery.flot.threshold.min.js\n jquery.flot.time.min.js\n\nsource-repository head\n type: git\n location: https://github.com/ndmitchell/js-flot.git\n\nlibrary\n default-language: Haskell2010\n build-depends:\n base == 4.*\n\n exposed-modules:\n Language.Javascript.Flot\n\n other-modules:\n Paths_js_flot\n\ntest-suite js-flot-test\n default-language: Haskell2010\n type: exitcode-stdio-1.0\n main-is: Test.hs\n build-depends:\n base == 4.*,\n HTTP\n"; + } \ No newline at end of file diff --git a/materialized/ghc928/hadrian-ghc96/hadrian/cabal-files/js-jquery.nix b/materialized/ghc928/hadrian-ghc96/hadrian/cabal-files/js-jquery.nix new file mode 100644 index 0000000000..9ecdc931ed --- /dev/null +++ b/materialized/ghc928/hadrian-ghc96/hadrian/cabal-files/js-jquery.nix @@ -0,0 +1,48 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = {}; + package = { + specVersion = "1.18"; + identifier = { name = "js-jquery"; version = "3.3.1"; }; + license = "MIT"; + copyright = "Neil Mitchell 2014-2018"; + maintainer = "Neil Mitchell "; + author = "Neil Mitchell "; + homepage = "https://github.com/ndmitchell/js-jquery#readme"; + url = ""; + synopsis = "Obtain minified jQuery code"; + description = "This package bundles the minified code into a Haskell package,\nso it can be depended upon by Cabal packages. The first three components of\nthe version number match the upstream jQuery version. The package is designed\nto meet the redistribution requirements of downstream users (e.g. Debian)."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ (hsPkgs."base" or (errorHandler.buildDepError "base")) ]; + buildable = true; + }; + tests = { + "js-jquery-test" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."js-jquery" or (errorHandler.buildDepError "js-jquery")) + (hsPkgs."HTTP" or (errorHandler.buildDepError "HTTP")) + ]; + buildable = true; + }; + }; + }; + } // { + src = (pkgs.lib).mkDefault (pkgs.fetchurl { + url = "http://hackage.haskell.org/package/js-jquery-3.3.1.tar.gz"; + sha256 = "e0e0681f0da1130ede4e03a051630ea439c458cb97216cdb01771ebdbe44069b"; + }); + }) // { + package-description-override = "cabal-version: >= 1.18\nbuild-type: Simple\nname: js-jquery\nversion: 3.3.1\nlicense: MIT\nlicense-file: LICENSE\ncategory: Javascript\nauthor: Neil Mitchell \nmaintainer: Neil Mitchell \ncopyright: Neil Mitchell 2014-2018\nsynopsis: Obtain minified jQuery code\ndescription:\n This package bundles the minified code into a Haskell package,\n so it can be depended upon by Cabal packages. The first three components of\n the version number match the upstream jQuery version. The package is designed\n to meet the redistribution requirements of downstream users (e.g. Debian).\nhomepage: https://github.com/ndmitchell/js-jquery#readme\nbug-reports: https://github.com/ndmitchell/js-jquery/issues\ntested-with: GHC==8.2.2, GHC==8.0.2, GHC==7.10.3, GHC==7.8.4, GHC==7.6.3, GHC==7.4.2\nextra-source-files:\n javascript/jquery-3.3.1.js\nextra-doc-files:\n CHANGES.txt\n README.md\n\ndata-dir: javascript\ndata-files:\n jquery-3.3.1.min.js\n\nsource-repository head\n type: git\n location: https://github.com/ndmitchell/js-jquery.git\n\nlibrary\n default-language: Haskell2010\n hs-source-dirs: src\n build-depends:\n base == 4.*\n\n exposed-modules:\n Language.Javascript.JQuery\n\n other-modules:\n Paths_js_jquery\n\ntest-suite js-jquery-test\n default-language: Haskell2010\n type: exitcode-stdio-1.0\n main-is: src/Test.hs\n other-modules:\n Paths_js_jquery\n build-depends:\n base == 4.*,\n js-jquery,\n HTTP\n"; + } \ No newline at end of file diff --git a/materialized/ghc928/hadrian-ghc96/hadrian/cabal-files/primitive.nix b/materialized/ghc928/hadrian-ghc96/hadrian/cabal-files/primitive.nix new file mode 100644 index 0000000000..bbc2dd58da --- /dev/null +++ b/materialized/ghc928/hadrian-ghc96/hadrian/cabal-files/primitive.nix @@ -0,0 +1,73 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = {}; + package = { + specVersion = "2.0"; + identifier = { name = "primitive"; version = "0.8.0.0"; }; + license = "BSD-3-Clause"; + copyright = "(c) Roman Leshchinskiy 2009-2012"; + maintainer = "libraries@haskell.org"; + author = "Roman Leshchinskiy "; + homepage = "https://github.com/haskell/primitive"; + url = ""; + synopsis = "Primitive memory-related operations"; + description = "This package provides various primitive memory-related operations."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")) + (hsPkgs."template-haskell" or (errorHandler.buildDepError "template-haskell")) + ] ++ (pkgs.lib).optional (compiler.isGhc && (compiler.version).lt "9.4") (hsPkgs."data-array-byte" or (errorHandler.buildDepError "data-array-byte")); + buildable = true; + }; + tests = { + "test-qc" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."base-orphans" or (errorHandler.buildDepError "base-orphans")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + (hsPkgs."primitive" or (errorHandler.buildDepError "primitive")) + (hsPkgs."quickcheck-classes-base" or (errorHandler.buildDepError "quickcheck-classes-base")) + (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")) + (hsPkgs."tasty" or (errorHandler.buildDepError "tasty")) + (hsPkgs."tasty-quickcheck" or (errorHandler.buildDepError "tasty-quickcheck")) + (hsPkgs."tagged" or (errorHandler.buildDepError "tagged")) + (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")) + (hsPkgs."transformers-compat" or (errorHandler.buildDepError "transformers-compat")) + ]; + buildable = true; + }; + }; + benchmarks = { + "bench" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."primitive" or (errorHandler.buildDepError "primitive")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."tasty-bench" or (errorHandler.buildDepError "tasty-bench")) + (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")) + ]; + buildable = true; + }; + }; + }; + } // { + src = (pkgs.lib).mkDefault (pkgs.fetchurl { + url = "http://hackage.haskell.org/package/primitive-0.8.0.0.tar.gz"; + sha256 = "5553c21b4a789f9b591eed69e598cc58484c274af29250e517b5a8bcc62b995f"; + }); + }) // { + package-description-override = "Cabal-Version: 2.0\nName: primitive\nVersion: 0.8.0.0\nLicense: BSD3\nLicense-File: LICENSE\n\nAuthor: Roman Leshchinskiy \nMaintainer: libraries@haskell.org\nCopyright: (c) Roman Leshchinskiy 2009-2012\nHomepage: https://github.com/haskell/primitive\nBug-Reports: https://github.com/haskell/primitive/issues\nCategory: Data\nSynopsis: Primitive memory-related operations\nBuild-Type: Simple\nDescription: This package provides various primitive memory-related operations.\n\nExtra-Source-Files: changelog.md\n test/*.hs\n test/LICENSE\n\nTested-With:\n GHC == 8.0.2\n GHC == 8.2.2\n GHC == 8.4.4\n GHC == 8.6.5\n GHC == 8.8.4\n GHC == 8.10.7\n GHC == 9.0.2\n GHC == 9.2.5\n GHC == 9.4.4\n\nLibrary\n Default-Language: Haskell2010\n Default-Extensions:\n TypeOperators\n Other-Extensions:\n BangPatterns, CPP, DeriveDataTypeable,\n MagicHash, TypeFamilies, UnboxedTuples, UnliftedFFITypes\n\n Exposed-Modules:\n Control.Monad.Primitive\n Data.Primitive\n Data.Primitive.MachDeps\n Data.Primitive.Types\n Data.Primitive.Array\n Data.Primitive.ByteArray\n Data.Primitive.PrimArray\n Data.Primitive.SmallArray\n Data.Primitive.Ptr\n Data.Primitive.MutVar\n Data.Primitive.MVar\n Data.Primitive.PrimVar\n\n Other-Modules:\n Data.Primitive.Internal.Operations\n\n Build-Depends: base >= 4.9 && < 4.19\n , deepseq >= 1.1 && < 1.5\n , transformers >= 0.5 && < 0.7\n , template-haskell >= 2.11\n\n if impl(ghc >= 9.2)\n cpp-options: -DHAVE_KEEPALIVE\n\n if impl(ghc < 9.4)\n build-depends: data-array-byte >= 0.1 && < 0.1.1\n\n Ghc-Options: -O2\n\n Include-Dirs: cbits\n Install-Includes: primitive-memops.h\n includes: primitive-memops.h\n c-sources: cbits/primitive-memops.c\n if !os(solaris)\n cc-options: -ftree-vectorize\n if arch(i386) || arch(x86_64)\n cc-options: -msse2\n\ntest-suite test-qc\n Default-Language: Haskell2010\n hs-source-dirs: test\n test/src\n main-is: main.hs\n Other-Modules: PrimLaws\n type: exitcode-stdio-1.0\n build-depends: base\n , base-orphans\n , ghc-prim\n , primitive\n , quickcheck-classes-base >= 0.6 && <0.7\n , QuickCheck >= 2.13 && < 2.15\n , tasty ^>= 1.2 || ^>= 1.3 || ^>= 1.4\n , tasty-quickcheck\n , tagged\n , transformers >= 0.5\n , transformers-compat\n\n cpp-options: -DHAVE_UNARY_LAWS\n ghc-options: -O2\n\nbenchmark bench\n Default-Language: Haskell2010\n hs-source-dirs: bench\n main-is: main.hs\n type: exitcode-stdio-1.0\n ghc-options: -O2\n other-modules:\n Array.Traverse.Closure\n Array.Traverse.Unsafe\n ByteArray.Compare\n PrimArray.Compare\n PrimArray.Traverse\n build-depends:\n base\n , primitive\n , deepseq\n , tasty-bench\n , transformers >= 0.5\n\nsource-repository head\n type: git\n location: https://github.com/haskell/primitive\n"; + } \ No newline at end of file diff --git a/materialized/ghc928/hadrian-ghc96/hadrian/cabal-files/random.nix b/materialized/ghc928/hadrian-ghc96/hadrian/cabal-files/random.nix new file mode 100644 index 0000000000..c2f8f753b4 --- /dev/null +++ b/materialized/ghc928/hadrian-ghc96/hadrian/cabal-files/random.nix @@ -0,0 +1,113 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = {}; + package = { + specVersion = "1.10"; + identifier = { name = "random"; version = "1.2.1.1"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "core-libraries-committee@haskell.org"; + author = ""; + homepage = ""; + url = ""; + synopsis = "Pseudo-random number generation"; + description = "This package provides basic pseudo-random number generation, including the\nability to split random number generators.\n\n== \"System.Random\": pure pseudo-random number interface\n\nIn pure code, use 'System.Random.uniform' and 'System.Random.uniformR' from\n\"System.Random\" to generate pseudo-random numbers with a pure pseudo-random\nnumber generator like 'System.Random.StdGen'.\n\nAs an example, here is how you can simulate rolls of a six-sided die using\n'System.Random.uniformR':\n\n>>> let roll = uniformR (1, 6) :: RandomGen g => g -> (Word, g)\n>>> let rolls = unfoldr (Just . roll) :: RandomGen g => g -> [Word]\n>>> let pureGen = mkStdGen 42\n>>> take 10 (rolls pureGen) :: [Word]\n[1,1,3,2,4,5,3,4,6,2]\n\nSee \"System.Random\" for more details.\n\n== \"System.Random.Stateful\": monadic pseudo-random number interface\n\nIn monadic code, use 'System.Random.Stateful.uniformM' and\n'System.Random.Stateful.uniformRM' from \"System.Random.Stateful\" to generate\npseudo-random numbers with a monadic pseudo-random number generator, or\nusing a monadic adapter.\n\nAs an example, here is how you can simulate rolls of a six-sided die using\n'System.Random.Stateful.uniformRM':\n\n>>> let rollM = uniformRM (1, 6) :: StatefulGen g m => g -> m Word\n>>> let pureGen = mkStdGen 42\n>>> runStateGen_ pureGen (replicateM 10 . rollM) :: [Word]\n[1,1,3,2,4,5,3,4,6,2]\n\nThe monadic adapter 'System.Random.Stateful.runStateGen_' is used here to lift\nthe pure pseudo-random number generator @pureGen@ into the\n'System.Random.Stateful.StatefulGen' context.\n\nThe monadic interface can also be used with existing monadic pseudo-random\nnumber generators. In this example, we use the one provided in the\n package:\n\n>>> import System.Random.MWC as MWC\n>>> let rollM = uniformRM (1, 6) :: StatefulGen g m => g -> m Word\n>>> monadicGen <- MWC.create\n>>> replicateM 10 (rollM monadicGen) :: IO [Word]\n[2,3,6,6,4,4,3,1,5,4]\n\nSee \"System.Random.Stateful\" for more details."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."mtl" or (errorHandler.buildDepError "mtl")) + (hsPkgs."splitmix" or (errorHandler.buildDepError "splitmix")) + ] ++ (pkgs.lib).optional (compiler.isGhc && (compiler.version).lt "8.0") (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")); + buildable = true; + }; + tests = { + "legacy-test" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."random" or (errorHandler.buildDepError "random")) + ]; + buildable = true; + }; + "doctests" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."doctest" or (errorHandler.buildDepError "doctest")) + ] ++ (pkgs.lib).optionals (compiler.isGhc && (compiler.version).ge "8.2" && (compiler.isGhc && (compiler.version).lt "8.10")) [ + (hsPkgs."mwc-random" or (errorHandler.buildDepError "mwc-random")) + (hsPkgs."primitive" or (errorHandler.buildDepError "primitive")) + (hsPkgs."random" or (errorHandler.buildDepError "random")) + (hsPkgs."stm" or (errorHandler.buildDepError "stm")) + (hsPkgs."unliftio" or (errorHandler.buildDepError "unliftio")) + (hsPkgs."vector" or (errorHandler.buildDepError "vector")) + ]; + buildable = true; + }; + "spec" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."random" or (errorHandler.buildDepError "random")) + (hsPkgs."smallcheck" or (errorHandler.buildDepError "smallcheck")) + (hsPkgs."stm" or (errorHandler.buildDepError "stm")) + (hsPkgs."tasty" or (errorHandler.buildDepError "tasty")) + (hsPkgs."tasty-smallcheck" or (errorHandler.buildDepError "tasty-smallcheck")) + (hsPkgs."tasty-hunit" or (errorHandler.buildDepError "tasty-hunit")) + (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")) + ]; + buildable = true; + }; + "spec-inspection" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."random" or (errorHandler.buildDepError "random")) + (hsPkgs."tasty" or (errorHandler.buildDepError "tasty")) + ] ++ (pkgs.lib).optional (compiler.isGhc && (compiler.version).ge "8.0") (hsPkgs."tasty-inspection-testing" or (errorHandler.buildDepError "tasty-inspection-testing")); + buildable = true; + }; + }; + benchmarks = { + "legacy-bench" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."random" or (errorHandler.buildDepError "random")) + (hsPkgs."rdtsc" or (errorHandler.buildDepError "rdtsc")) + (hsPkgs."split" or (errorHandler.buildDepError "split")) + (hsPkgs."time" or (errorHandler.buildDepError "time")) + ]; + buildable = true; + }; + "bench" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."mtl" or (errorHandler.buildDepError "mtl")) + (hsPkgs."primitive" or (errorHandler.buildDepError "primitive")) + (hsPkgs."random" or (errorHandler.buildDepError "random")) + (hsPkgs."splitmix" or (errorHandler.buildDepError "splitmix")) + (hsPkgs."tasty-bench" or (errorHandler.buildDepError "tasty-bench")) + ]; + buildable = true; + }; + }; + }; + } // { + src = (pkgs.lib).mkDefault (pkgs.fetchurl { + url = "http://hackage.haskell.org/package/random-1.2.1.1.tar.gz"; + sha256 = "3e1272f7ed6a4d7bd1712b90143ec326fee9b225789222379fea20a9c90c9b76"; + }); + }) // { + package-description-override = "cabal-version: >=1.10\nname: random\nversion: 1.2.1.1\nlicense: BSD3\nlicense-file: LICENSE\nmaintainer: core-libraries-committee@haskell.org\nbug-reports: https://github.com/haskell/random/issues\nsynopsis: Pseudo-random number generation\ndescription:\n This package provides basic pseudo-random number generation, including the\n ability to split random number generators.\n .\n == \"System.Random\": pure pseudo-random number interface\n .\n In pure code, use 'System.Random.uniform' and 'System.Random.uniformR' from\n \"System.Random\" to generate pseudo-random numbers with a pure pseudo-random\n number generator like 'System.Random.StdGen'.\n .\n As an example, here is how you can simulate rolls of a six-sided die using\n 'System.Random.uniformR':\n .\n >>> let roll = uniformR (1, 6) :: RandomGen g => g -> (Word, g)\n >>> let rolls = unfoldr (Just . roll) :: RandomGen g => g -> [Word]\n >>> let pureGen = mkStdGen 42\n >>> take 10 (rolls pureGen) :: [Word]\n [1,1,3,2,4,5,3,4,6,2]\n .\n See \"System.Random\" for more details.\n .\n == \"System.Random.Stateful\": monadic pseudo-random number interface\n .\n In monadic code, use 'System.Random.Stateful.uniformM' and\n 'System.Random.Stateful.uniformRM' from \"System.Random.Stateful\" to generate\n pseudo-random numbers with a monadic pseudo-random number generator, or\n using a monadic adapter.\n .\n As an example, here is how you can simulate rolls of a six-sided die using\n 'System.Random.Stateful.uniformRM':\n .\n >>> let rollM = uniformRM (1, 6) :: StatefulGen g m => g -> m Word\n >>> let pureGen = mkStdGen 42\n >>> runStateGen_ pureGen (replicateM 10 . rollM) :: [Word]\n [1,1,3,2,4,5,3,4,6,2]\n .\n The monadic adapter 'System.Random.Stateful.runStateGen_' is used here to lift\n the pure pseudo-random number generator @pureGen@ into the\n 'System.Random.Stateful.StatefulGen' context.\n .\n The monadic interface can also be used with existing monadic pseudo-random\n number generators. In this example, we use the one provided in the\n package:\n .\n >>> import System.Random.MWC as MWC\n >>> let rollM = uniformRM (1, 6) :: StatefulGen g m => g -> m Word\n >>> monadicGen <- MWC.create\n >>> replicateM 10 (rollM monadicGen) :: IO [Word]\n [2,3,6,6,4,4,3,1,5,4]\n .\n See \"System.Random.Stateful\" for more details.\n\ncategory: System\nbuild-type: Simple\nextra-source-files:\n README.md\n CHANGELOG.md\ntested-with: GHC == 7.10.2\n , GHC == 7.10.3\n , GHC == 8.0.2\n , GHC == 8.2.2\n , GHC == 8.4.3\n , GHC == 8.4.4\n , GHC == 8.6.3\n , GHC == 8.6.4\n , GHC == 8.6.5\n , GHC == 8.8.1\n , GHC == 8.8.2\n , GHC == 8.10.1\n\nsource-repository head\n type: git\n location: https://github.com/haskell/random.git\n\n\nlibrary\n exposed-modules:\n System.Random\n System.Random.Internal\n System.Random.Stateful\n other-modules:\n System.Random.GFinite\n\n hs-source-dirs: src\n default-language: Haskell2010\n ghc-options:\n -Wall\n if impl(ghc >= 8.0)\n ghc-options:\n -Wincomplete-record-updates -Wincomplete-uni-patterns\n\n build-depends:\n base >=4.8 && <5,\n bytestring >=0.10.4 && <0.12,\n deepseq >=1.1 && <2,\n mtl >=2.2 && <2.4,\n splitmix >=0.1 && <0.2\n if impl(ghc < 8.0)\n build-depends:\n transformers\n\ntest-suite legacy-test\n type: exitcode-stdio-1.0\n main-is: Legacy.hs\n hs-source-dirs: test-legacy\n other-modules:\n T7936\n TestRandomIOs\n TestRandomRs\n Random1283\n RangeTest\n\n default-language: Haskell2010\n ghc-options: -with-rtsopts=-M8M\n if impl(ghc >= 8.0)\n ghc-options:\n -Wno-deprecations\n build-depends:\n base,\n containers >=0.5 && <0.7,\n random\n\ntest-suite doctests\n type: exitcode-stdio-1.0\n main-is: doctests.hs\n hs-source-dirs: test\n default-language: Haskell2010\n build-depends:\n base,\n doctest >=0.15 && <0.21\n if impl(ghc >= 8.2) && impl(ghc < 8.10)\n build-depends:\n mwc-random >=0.13 && <0.16,\n primitive >=0.6 && <0.8,\n random,\n stm,\n unliftio >=0.2 && <0.3,\n vector >= 0.10 && <0.14\n\ntest-suite spec\n type: exitcode-stdio-1.0\n main-is: Spec.hs\n hs-source-dirs: test\n other-modules:\n Spec.Range\n Spec.Run\n Spec.Stateful\n\n default-language: Haskell2010\n ghc-options: -Wall\n build-depends:\n base,\n bytestring,\n random,\n smallcheck >=1.2 && <1.3,\n stm,\n tasty >=1.0 && <1.5,\n tasty-smallcheck >=0.8 && <0.9,\n tasty-hunit >=0.10 && <0.11,\n transformers\n\n-- Note. Fails when compiled with coverage:\n-- https://github.com/haskell/random/issues/107\ntest-suite spec-inspection\n type: exitcode-stdio-1.0\n main-is: Spec.hs\n hs-source-dirs: test-inspection\n build-depends:\n\n default-language: Haskell2010\n ghc-options: -Wall\n build-depends:\n base,\n random,\n tasty >=1.0 && <1.5\n if impl(ghc >= 8.0)\n build-depends:\n tasty-inspection-testing\n other-modules:\n Spec.Inspection\n\nbenchmark legacy-bench\n type: exitcode-stdio-1.0\n main-is: SimpleRNGBench.hs\n hs-source-dirs: bench-legacy\n other-modules: BinSearch\n default-language: Haskell2010\n ghc-options:\n -Wall -O2 -threaded -rtsopts -with-rtsopts=-N\n if impl(ghc >= 8.0)\n ghc-options:\n -Wno-deprecations\n\n build-depends:\n base,\n random,\n rdtsc,\n split >=0.2 && <0.3,\n time >=1.4 && <1.13\n\nbenchmark bench\n type: exitcode-stdio-1.0\n main-is: Main.hs\n hs-source-dirs: bench\n default-language: Haskell2010\n ghc-options: -Wall -O2\n build-depends:\n base,\n mtl,\n primitive >= 0.7.1,\n random,\n splitmix >=0.1 && <0.2,\n tasty-bench\n"; + } \ No newline at end of file diff --git a/materialized/ghc928/hadrian-ghc96/hadrian/cabal-files/shake.nix b/materialized/ghc928/hadrian-ghc96/hadrian/cabal-files/shake.nix new file mode 100644 index 0000000000..e7eb5c6647 --- /dev/null +++ b/materialized/ghc928/hadrian-ghc96/hadrian/cabal-files/shake.nix @@ -0,0 +1,132 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = { portable = false; cloud = false; embed-files = false; }; + package = { + specVersion = "1.18"; + identifier = { name = "shake"; version = "0.19.7"; }; + license = "BSD-3-Clause"; + copyright = "Neil Mitchell 2011-2022"; + maintainer = "Neil Mitchell "; + author = "Neil Mitchell "; + homepage = "https://shakebuild.com"; + url = ""; + synopsis = "Build system library, like Make, but more accurate dependencies."; + description = "Shake is a Haskell library for writing build systems - designed as a\nreplacement for @make@. See \"Development.Shake\" for an introduction,\nincluding an example. The homepage contains links to a user\nmanual, an academic paper and further information:\n\n\nTo use Shake the user writes a Haskell program\nthat imports \"Development.Shake\", defines some build rules, and calls\nthe 'Development.Shake.shakeArgs' function. Thanks to do notation and infix\noperators, a simple Shake build system\nis not too dissimilar from a simple Makefile. However, as build systems\nget more complex, Shake is able to take advantage of the excellent\nabstraction facilities offered by Haskell and easily support much larger\nprojects. The Shake library provides all the standard features available in other\nbuild systems, including automatic parallelism and minimal rebuilds.\nShake also provides more accurate dependency tracking, including seamless\nsupport for generated files, and dependencies on system information\n(e.g. compiler version)."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = ((([ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (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."filepattern" or (errorHandler.buildDepError "filepattern")) + (hsPkgs."hashable" or (errorHandler.buildDepError "hashable")) + (hsPkgs."heaps" or (errorHandler.buildDepError "heaps")) + (hsPkgs."js-dgtable" or (errorHandler.buildDepError "js-dgtable")) + (hsPkgs."js-flot" or (errorHandler.buildDepError "js-flot")) + (hsPkgs."js-jquery" or (errorHandler.buildDepError "js-jquery")) + (hsPkgs."primitive" or (errorHandler.buildDepError "primitive")) + (hsPkgs."process" or (errorHandler.buildDepError "process")) + (hsPkgs."random" or (errorHandler.buildDepError "random")) + (hsPkgs."time" or (errorHandler.buildDepError "time")) + (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")) + (hsPkgs."unordered-containers" or (errorHandler.buildDepError "unordered-containers")) + (hsPkgs."utf8-string" or (errorHandler.buildDepError "utf8-string")) + ] ++ (pkgs.lib).optionals (flags.embed-files) [ + (hsPkgs."file-embed" or (errorHandler.buildDepError "file-embed")) + (hsPkgs."template-haskell" or (errorHandler.buildDepError "template-haskell")) + ]) ++ (pkgs.lib).optionals (!flags.portable) ((pkgs.lib).optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix")))) ++ (pkgs.lib).optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix"))) ++ (pkgs.lib).optionals (flags.cloud) [ + (hsPkgs."network" or (errorHandler.buildDepError "network")) + (hsPkgs."network-uri" or (errorHandler.buildDepError "network-uri")) + ]; + buildable = true; + }; + exes = { + "shake" = { + depends = (((([ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (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."filepattern" or (errorHandler.buildDepError "filepattern")) + (hsPkgs."hashable" or (errorHandler.buildDepError "hashable")) + (hsPkgs."heaps" or (errorHandler.buildDepError "heaps")) + (hsPkgs."js-dgtable" or (errorHandler.buildDepError "js-dgtable")) + (hsPkgs."js-flot" or (errorHandler.buildDepError "js-flot")) + (hsPkgs."js-jquery" or (errorHandler.buildDepError "js-jquery")) + (hsPkgs."primitive" or (errorHandler.buildDepError "primitive")) + (hsPkgs."process" or (errorHandler.buildDepError "process")) + (hsPkgs."random" or (errorHandler.buildDepError "random")) + (hsPkgs."time" or (errorHandler.buildDepError "time")) + (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")) + (hsPkgs."unordered-containers" or (errorHandler.buildDepError "unordered-containers")) + (hsPkgs."utf8-string" or (errorHandler.buildDepError "utf8-string")) + ] ++ (pkgs.lib).optionals (flags.embed-files) [ + (hsPkgs."file-embed" or (errorHandler.buildDepError "file-embed")) + (hsPkgs."template-haskell" or (errorHandler.buildDepError "template-haskell")) + ]) ++ (pkgs.lib).optionals (!flags.portable) ((pkgs.lib).optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix")))) ++ (pkgs.lib).optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix"))) ++ (pkgs.lib).optionals (flags.cloud) [ + (hsPkgs."network" or (errorHandler.buildDepError "network")) + (hsPkgs."network-uri" or (errorHandler.buildDepError "network-uri")) + ]) ++ (pkgs.lib).optional (compiler.isGhc && (compiler.version).lt "8.0") (hsPkgs."semigroups" or (errorHandler.buildDepError "semigroups")); + buildable = true; + }; + }; + tests = { + "shake-test" = { + depends = (((([ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (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."filepattern" or (errorHandler.buildDepError "filepattern")) + (hsPkgs."hashable" or (errorHandler.buildDepError "hashable")) + (hsPkgs."heaps" or (errorHandler.buildDepError "heaps")) + (hsPkgs."js-dgtable" or (errorHandler.buildDepError "js-dgtable")) + (hsPkgs."js-flot" or (errorHandler.buildDepError "js-flot")) + (hsPkgs."js-jquery" or (errorHandler.buildDepError "js-jquery")) + (hsPkgs."primitive" or (errorHandler.buildDepError "primitive")) + (hsPkgs."process" or (errorHandler.buildDepError "process")) + (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")) + (hsPkgs."random" or (errorHandler.buildDepError "random")) + (hsPkgs."time" or (errorHandler.buildDepError "time")) + (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")) + (hsPkgs."unordered-containers" or (errorHandler.buildDepError "unordered-containers")) + (hsPkgs."utf8-string" or (errorHandler.buildDepError "utf8-string")) + ] ++ (pkgs.lib).optionals (flags.embed-files) [ + (hsPkgs."file-embed" or (errorHandler.buildDepError "file-embed")) + (hsPkgs."template-haskell" or (errorHandler.buildDepError "template-haskell")) + ]) ++ (pkgs.lib).optionals (!flags.portable) ((pkgs.lib).optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix")))) ++ (pkgs.lib).optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix"))) ++ (pkgs.lib).optionals (flags.cloud) [ + (hsPkgs."network" or (errorHandler.buildDepError "network")) + (hsPkgs."network-uri" or (errorHandler.buildDepError "network-uri")) + ]) ++ (pkgs.lib).optional (compiler.isGhc && (compiler.version).lt "8.0") (hsPkgs."semigroups" or (errorHandler.buildDepError "semigroups")); + buildable = true; + }; + }; + }; + } // { + src = (pkgs.lib).mkDefault (pkgs.fetchurl { + url = "http://hackage.haskell.org/package/shake-0.19.7.tar.gz"; + sha256 = "352a56af12f70b50d564dcb61131555577281957ee196f1702a3723c0a3699d1"; + }); + }) // { + package-description-override = "cabal-version: 1.18\nbuild-type: Simple\nname: shake\nversion: 0.19.7\nx-revision: 1\nlicense: BSD3\nlicense-file: LICENSE\ncategory: Development, Shake\nauthor: Neil Mitchell \nmaintainer: Neil Mitchell \ncopyright: Neil Mitchell 2011-2022\nsynopsis: Build system library, like Make, but more accurate dependencies.\ndescription:\n Shake is a Haskell library for writing build systems - designed as a\n replacement for @make@. See \"Development.Shake\" for an introduction,\n including an example. The homepage contains links to a user\n manual, an academic paper and further information:\n \n .\n To use Shake the user writes a Haskell program\n that imports \"Development.Shake\", defines some build rules, and calls\n the 'Development.Shake.shakeArgs' function. Thanks to do notation and infix\n operators, a simple Shake build system\n is not too dissimilar from a simple Makefile. However, as build systems\n get more complex, Shake is able to take advantage of the excellent\n abstraction facilities offered by Haskell and easily support much larger\n projects. The Shake library provides all the standard features available in other\n build systems, including automatic parallelism and minimal rebuilds.\n Shake also provides more accurate dependency tracking, including seamless\n support for generated files, and dependencies on system information\n (e.g. compiler version).\nhomepage: https://shakebuild.com\nbug-reports: https://github.com/ndmitchell/shake/issues\ntested-with: GHC==9.0, GHC==8.10, GHC==8.8, GHC==8.6\nextra-doc-files:\n CHANGES.txt\n README.md\n docs/Manual.md\n docs/shake-progress.png\nextra-source-files:\n src/Paths.hs\n src/Test/C/constants.c\n src/Test/C/constants.h\n src/Test/C/main.c\n src/Test/Ninja/*.ninja\n src/Test/Ninja/*.output\n src/Test/Ninja/subdir/*.ninja\n src/Test/Progress/*.prog\n src/Test/Tar/list.txt\n src/Test/Tup/hello.c\n src/Test/Tup/newmath/root.cfg\n src/Test/Tup/newmath/square.c\n src/Test/Tup/newmath/square.h\n src/Test/Tup/root.cfg\ndata-files:\n docs/manual/build.bat\n docs/manual/Shakefile.hs\n docs/manual/build.sh\n docs/manual/constants.c\n docs/manual/constants.h\n docs/manual/main.c\n html/profile.html\n html/progress.html\n html/shake.js\n\nsource-repository head\n type: git\n location: https://github.com/ndmitchell/shake.git\n\nflag portable\n default: False\n manual: True\n description: Obtain FileTime using portable functions\n\nflag cloud\n default: False\n manual: True\n description: Enable cloud build features\n\nflag embed-files\n default: False\n manual: True\n description: Embed data files into the shake library\n\nlibrary\n default-language: Haskell2010\n hs-source-dirs: src\n build-depends:\n base >= 4.9,\n binary,\n bytestring,\n deepseq >= 1.1,\n directory >= 1.2.7.0,\n extra >= 1.6.19,\n filepath >= 1.4,\n filepattern,\n hashable >= 1.1.2.3,\n heaps >= 0.3.6.1,\n js-dgtable,\n js-flot,\n js-jquery,\n primitive,\n process >= 1.1,\n random,\n time,\n transformers >= 0.2,\n unordered-containers >= 0.2.7,\n utf8-string >= 0.3\n\n if flag(embed-files)\n cpp-options: -DFILE_EMBED\n build-depends:\n file-embed >= 0.0.11,\n template-haskell\n\n if flag(portable)\n cpp-options: -DPORTABLE\n else\n if !os(windows)\n build-depends: unix >= 2.5.1\n if !os(windows)\n build-depends: unix\n\n if flag(cloud)\n cpp-options: -DNETWORK\n build-depends: network, network-uri\n\n exposed-modules:\n Development.Shake\n Development.Shake.Classes\n Development.Shake.Command\n Development.Shake.Config\n Development.Shake.Database\n Development.Shake.FilePath\n Development.Shake.Forward\n Development.Shake.Rule\n Development.Shake.Util\n\n other-modules:\n Development.Ninja.Env\n Development.Ninja.Lexer\n Development.Ninja.Parse\n Development.Ninja.Type\n Development.Shake.Internal.Args\n Development.Shake.Internal.CmdOption\n Development.Shake.Internal.CompactUI\n Development.Shake.Internal.Core.Action\n Development.Shake.Internal.Core.Build\n Development.Shake.Internal.Core.Database\n Development.Shake.Internal.History.Shared\n Development.Shake.Internal.History.Symlink\n Development.Shake.Internal.History.Bloom\n Development.Shake.Internal.History.Cloud\n Development.Shake.Internal.History.Network\n Development.Shake.Internal.History.Server\n Development.Shake.Internal.History.Serialise\n Development.Shake.Internal.History.Types\n Development.Shake.Internal.Core.Monad\n Development.Shake.Internal.Core.Pool\n Development.Shake.Internal.Core.Rules\n Development.Shake.Internal.Core.Run\n Development.Shake.Internal.Core.Storage\n Development.Shake.Internal.Core.Types\n Development.Shake.Internal.Demo\n Development.Shake.Internal.Derived\n Development.Shake.Internal.Errors\n Development.Shake.Internal.FileInfo\n Development.Shake.Internal.FileName\n Development.Shake.Internal.FilePattern\n Development.Shake.Internal.Options\n Development.Shake.Internal.Paths\n Development.Shake.Internal.Profile\n Development.Shake.Internal.Progress\n Development.Shake.Internal.Resource\n Development.Shake.Internal.Rules.Default\n Development.Shake.Internal.Rules.Directory\n Development.Shake.Internal.Rules.File\n Development.Shake.Internal.Rules.Files\n Development.Shake.Internal.Rules.Oracle\n Development.Shake.Internal.Rules.OrderOnly\n Development.Shake.Internal.Rules.Rerun\n Development.Shake.Internal.Value\n General.Bilist\n General.Binary\n General.Chunks\n General.Cleanup\n General.Fence\n General.EscCodes\n General.Extra\n General.FileLock\n General.GetOpt\n General.Ids\n General.Intern\n General.ListBuilder\n General.Makefile\n General.Pool\n General.Process\n General.Template\n General.Thread\n General.Timing\n General.TypeMap\n General.Wait\n Paths_shake\n\n\nexecutable shake\n default-language: Haskell2010\n hs-source-dirs: src\n ghc-options: -main-is Run.main -rtsopts -threaded \"-with-rtsopts=-I0 -qg\"\n main-is: Run.hs\n build-depends:\n base == 4.*,\n binary,\n bytestring,\n deepseq >= 1.1,\n directory,\n extra >= 1.6.19,\n filepath,\n filepattern,\n hashable >= 1.1.2.3,\n heaps >= 0.3.6.1,\n js-dgtable,\n js-flot,\n js-jquery,\n primitive,\n process >= 1.1,\n random,\n time,\n transformers >= 0.2,\n unordered-containers >= 0.2.7,\n utf8-string >= 0.3\n\n if flag(embed-files)\n cpp-options: -DFILE_EMBED\n build-depends:\n file-embed >= 0.0.11,\n template-haskell\n\n if flag(portable)\n cpp-options: -DPORTABLE\n else\n if !os(windows)\n build-depends: unix >= 2.5.1\n if !os(windows)\n build-depends: unix\n\n if flag(cloud)\n cpp-options: -DNETWORK\n build-depends: network, network-uri\n\n if impl(ghc < 8.0)\n build-depends: semigroups >= 0.18\n\n other-modules:\n Development.Ninja.All\n Development.Ninja.Env\n Development.Ninja.Lexer\n Development.Ninja.Parse\n Development.Ninja.Type\n Development.Shake\n Development.Shake.Classes\n Development.Shake.Command\n Development.Shake.Database\n Development.Shake.FilePath\n Development.Shake.Internal.Args\n Development.Shake.Internal.CmdOption\n Development.Shake.Internal.CompactUI\n Development.Shake.Internal.Core.Action\n Development.Shake.Internal.Core.Build\n Development.Shake.Internal.Core.Database\n Development.Shake.Internal.History.Shared\n Development.Shake.Internal.History.Symlink\n Development.Shake.Internal.History.Bloom\n Development.Shake.Internal.History.Cloud\n Development.Shake.Internal.History.Network\n Development.Shake.Internal.History.Server\n Development.Shake.Internal.History.Serialise\n Development.Shake.Internal.History.Types\n Development.Shake.Internal.Core.Monad\n Development.Shake.Internal.Core.Pool\n Development.Shake.Internal.Core.Rules\n Development.Shake.Internal.Core.Run\n Development.Shake.Internal.Core.Storage\n Development.Shake.Internal.Core.Types\n Development.Shake.Internal.Demo\n Development.Shake.Internal.Derived\n Development.Shake.Internal.Errors\n Development.Shake.Internal.FileInfo\n Development.Shake.Internal.FileName\n Development.Shake.Internal.FilePattern\n Development.Shake.Internal.Options\n Development.Shake.Internal.Paths\n Development.Shake.Internal.Profile\n Development.Shake.Internal.Progress\n Development.Shake.Internal.Resource\n Development.Shake.Internal.Rules.Default\n Development.Shake.Internal.Rules.Directory\n Development.Shake.Internal.Rules.File\n Development.Shake.Internal.Rules.Files\n Development.Shake.Internal.Rules.Oracle\n Development.Shake.Internal.Rules.OrderOnly\n Development.Shake.Internal.Rules.Rerun\n Development.Shake.Internal.Value\n General.Bilist\n General.Binary\n General.Chunks\n General.Cleanup\n General.Fence\n General.EscCodes\n General.Extra\n General.FileLock\n General.GetOpt\n General.Ids\n General.Intern\n General.ListBuilder\n General.Makefile\n General.Pool\n General.Process\n General.Template\n General.Thread\n General.Timing\n General.TypeMap\n General.Wait\n Paths_shake\n\n\ntest-suite shake-test\n default-language: Haskell2010\n type: exitcode-stdio-1.0\n main-is: Test.hs\n hs-source-dirs: src\n ghc-options: -main-is Test.main -rtsopts -with-rtsopts=-K1K -threaded\n\n build-depends:\n base == 4.*,\n binary,\n bytestring,\n deepseq >= 1.1,\n directory,\n extra >= 1.6.19,\n filepath,\n filepattern,\n hashable >= 1.1.2.3,\n heaps >= 0.3.6.1,\n js-dgtable,\n js-flot,\n js-jquery,\n primitive,\n process >= 1.1,\n QuickCheck >= 2.0,\n random,\n time,\n transformers >= 0.2,\n unordered-containers >= 0.2.7,\n utf8-string >= 0.3\n\n if flag(embed-files)\n cpp-options: -DFILE_EMBED\n build-depends:\n file-embed >= 0.0.11,\n template-haskell\n\n if flag(portable)\n cpp-options: -DPORTABLE\n else\n if !os(windows)\n build-depends: unix >= 2.5.1\n if !os(windows)\n build-depends: unix\n\n if flag(cloud)\n cpp-options: -DNETWORK\n build-depends: network, network-uri\n\n if impl(ghc < 8.0)\n build-depends: semigroups >= 0.18\n\n other-modules:\n Development.Ninja.All\n Development.Ninja.Env\n Development.Ninja.Lexer\n Development.Ninja.Parse\n Development.Ninja.Type\n Development.Shake\n Development.Shake.Classes\n Development.Shake.Command\n Development.Shake.Config\n Development.Shake.Database\n Development.Shake.FilePath\n Development.Shake.Forward\n Development.Shake.Internal.Args\n Development.Shake.Internal.CmdOption\n Development.Shake.Internal.CompactUI\n Development.Shake.Internal.Core.Action\n Development.Shake.Internal.Core.Build\n Development.Shake.Internal.Core.Database\n Development.Shake.Internal.History.Shared\n Development.Shake.Internal.History.Symlink\n Development.Shake.Internal.History.Bloom\n Development.Shake.Internal.History.Cloud\n Development.Shake.Internal.History.Network\n Development.Shake.Internal.History.Server\n Development.Shake.Internal.History.Serialise\n Development.Shake.Internal.History.Types\n Development.Shake.Internal.Core.Monad\n Development.Shake.Internal.Core.Pool\n Development.Shake.Internal.Core.Rules\n Development.Shake.Internal.Core.Run\n Development.Shake.Internal.Core.Storage\n Development.Shake.Internal.Core.Types\n Development.Shake.Internal.Demo\n Development.Shake.Internal.Derived\n Development.Shake.Internal.Errors\n Development.Shake.Internal.FileInfo\n Development.Shake.Internal.FileName\n Development.Shake.Internal.FilePattern\n Development.Shake.Internal.Options\n Development.Shake.Internal.Paths\n Development.Shake.Internal.Profile\n Development.Shake.Internal.Progress\n Development.Shake.Internal.Resource\n Development.Shake.Internal.Rules.Default\n Development.Shake.Internal.Rules.Directory\n Development.Shake.Internal.Rules.File\n Development.Shake.Internal.Rules.Files\n Development.Shake.Internal.Rules.Oracle\n Development.Shake.Internal.Rules.OrderOnly\n Development.Shake.Internal.Rules.Rerun\n Development.Shake.Internal.Value\n Development.Shake.Rule\n Development.Shake.Util\n General.Bilist\n General.Binary\n General.Chunks\n General.Cleanup\n General.Fence\n General.EscCodes\n General.Extra\n General.FileLock\n General.GetOpt\n General.Ids\n General.Intern\n General.ListBuilder\n General.Makefile\n General.Pool\n General.Process\n General.Template\n General.Thread\n General.Timing\n General.TypeMap\n General.Wait\n Paths_shake\n Run\n Test.Basic\n Test.Batch\n Test.Benchmark\n Test.Builtin\n Test.BuiltinOverride\n Test.C\n Test.Cache\n Test.Cleanup\n Test.CloseFileHandles\n Test.Command\n Test.Config\n Test.Database\n Test.Digest\n Test.Directory\n Test.Docs\n Test.Errors\n Test.Existence\n Test.FileLock\n Test.FilePath\n Test.FilePattern\n Test.Files\n Test.Forward\n Test.History\n Test.Journal\n Test.Lint\n Test.Live\n Test.Manual\n Test.Match\n Test.Monad\n Test.Ninja\n Test.Oracle\n Test.OrderOnly\n Test.Parallel\n Test.Pool\n Test.Progress\n Test.Random\n Test.Rebuild\n Test.Reschedule\n Test.Resources\n Test.Self\n Test.SelfMake\n Test.Tar\n Test.Targets\n Test.Thread\n Test.Tup\n Test.Type\n Test.Unicode\n Test.Util\n Test.Verbosity\n Test.Version\n"; + } \ No newline at end of file diff --git a/materialized/ghc928/hadrian-ghc96/hadrian/cabal-files/splitmix.nix b/materialized/ghc928/hadrian-ghc96/hadrian/cabal-files/splitmix.nix new file mode 100644 index 0000000000..7918d356b1 --- /dev/null +++ b/materialized/ghc928/hadrian-ghc96/hadrian/cabal-files/splitmix.nix @@ -0,0 +1,140 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = { optimised-mixer = false; }; + package = { + specVersion = "1.10"; + identifier = { name = "splitmix"; version = "0.1.0.4"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "Oleg Grenrus "; + author = ""; + homepage = ""; + url = ""; + synopsis = "Fast Splittable PRNG"; + description = "Pure Haskell implementation of SplitMix described in\n\nGuy L. Steele, Jr., Doug Lea, and Christine H. Flood. 2014.\nFast splittable pseudorandom number generators. In Proceedings\nof the 2014 ACM International Conference on Object Oriented\nProgramming Systems Languages & Applications (OOPSLA '14). ACM,\nNew York, NY, USA, 453-472. DOI:\n\n\nThe paper describes a new algorithm /SplitMix/ for /splittable/\npseudorandom number generator that is quite fast: 9 64 bit arithmetic/logical\noperations per 64 bits generated.\n\n/SplitMix/ is tested with two standard statistical test suites (DieHarder and\nTestU01, this implementation only using the former) and it appears to be\nadequate for \"everyday\" use, such as Monte Carlo algorithms and randomized\ndata structures where speed is important.\n\nIn particular, it __should not be used for cryptographic or security applications__,\nbecause generated sequences of pseudorandom values are too predictable\n(the mixing functions are easily inverted, and two successive outputs\nsuffice to reconstruct the internal state)."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + ] ++ (pkgs.lib).optionals (!(compiler.isGhcjs && true)) ((pkgs.lib).optional (!(compiler.isGhc && true)) (hsPkgs."time" or (errorHandler.buildDepError "time"))); + buildable = true; + }; + tests = { + "examples" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."HUnit" or (errorHandler.buildDepError "HUnit")) + (hsPkgs."splitmix" or (errorHandler.buildDepError "splitmix")) + ]; + buildable = true; + }; + "splitmix-tests" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."base-compat" or (errorHandler.buildDepError "base-compat")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."HUnit" or (errorHandler.buildDepError "HUnit")) + (hsPkgs."math-functions" or (errorHandler.buildDepError "math-functions")) + (hsPkgs."splitmix" or (errorHandler.buildDepError "splitmix")) + (hsPkgs."test-framework" or (errorHandler.buildDepError "test-framework")) + (hsPkgs."test-framework-hunit" or (errorHandler.buildDepError "test-framework-hunit")) + ]; + buildable = true; + }; + "montecarlo-pi" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."splitmix" or (errorHandler.buildDepError "splitmix")) + ]; + buildable = true; + }; + "montecarlo-pi-32" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."splitmix" or (errorHandler.buildDepError "splitmix")) + ]; + buildable = true; + }; + "splitmix-dieharder" = { + depends = [ + (hsPkgs."async" or (errorHandler.buildDepError "async")) + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."base-compat-batteries" or (errorHandler.buildDepError "base-compat-batteries")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."process" or (errorHandler.buildDepError "process")) + (hsPkgs."random" or (errorHandler.buildDepError "random")) + (hsPkgs."splitmix" or (errorHandler.buildDepError "splitmix")) + (hsPkgs."tf-random" or (errorHandler.buildDepError "tf-random")) + (hsPkgs."vector" or (errorHandler.buildDepError "vector")) + ]; + buildable = true; + }; + "splitmix-testu01" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."base-compat-batteries" or (errorHandler.buildDepError "base-compat-batteries")) + (hsPkgs."splitmix" or (errorHandler.buildDepError "splitmix")) + ]; + libs = [ (pkgs."testu01" or (errorHandler.sysDepError "testu01")) ]; + buildable = if !system.isLinux then false else true; + }; + "initialization" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."HUnit" or (errorHandler.buildDepError "HUnit")) + (hsPkgs."splitmix" or (errorHandler.buildDepError "splitmix")) + ]; + buildable = true; + }; + }; + benchmarks = { + "comparison" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."criterion" or (errorHandler.buildDepError "criterion")) + (hsPkgs."random" or (errorHandler.buildDepError "random")) + (hsPkgs."splitmix" or (errorHandler.buildDepError "splitmix")) + (hsPkgs."tf-random" or (errorHandler.buildDepError "tf-random")) + ]; + buildable = true; + }; + "simple-sum" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."random" or (errorHandler.buildDepError "random")) + (hsPkgs."splitmix" or (errorHandler.buildDepError "splitmix")) + ]; + buildable = true; + }; + "range" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."clock" or (errorHandler.buildDepError "clock")) + (hsPkgs."random" or (errorHandler.buildDepError "random")) + (hsPkgs."splitmix" or (errorHandler.buildDepError "splitmix")) + ]; + buildable = true; + }; + }; + }; + } // { + src = (pkgs.lib).mkDefault (pkgs.fetchurl { + url = "http://hackage.haskell.org/package/splitmix-0.1.0.4.tar.gz"; + sha256 = "6d065402394e7a9117093dbb4530a21342c9b1e2ec509516c8a8d0ffed98ecaa"; + }); + }) // { + package-description-override = "cabal-version: >=1.10\nname: splitmix\nversion: 0.1.0.4\nx-revision: 2\nsynopsis: Fast Splittable PRNG\ndescription:\n Pure Haskell implementation of SplitMix described in\n .\n Guy L. Steele, Jr., Doug Lea, and Christine H. Flood. 2014.\n Fast splittable pseudorandom number generators. In Proceedings\n of the 2014 ACM International Conference on Object Oriented\n Programming Systems Languages & Applications (OOPSLA '14). ACM,\n New York, NY, USA, 453-472. DOI:\n \n .\n The paper describes a new algorithm /SplitMix/ for /splittable/\n pseudorandom number generator that is quite fast: 9 64 bit arithmetic/logical\n operations per 64 bits generated.\n .\n /SplitMix/ is tested with two standard statistical test suites (DieHarder and\n TestU01, this implementation only using the former) and it appears to be\n adequate for \"everyday\" use, such as Monte Carlo algorithms and randomized\n data structures where speed is important.\n .\n In particular, it __should not be used for cryptographic or security applications__,\n because generated sequences of pseudorandom values are too predictable\n (the mixing functions are easily inverted, and two successive outputs\n suffice to reconstruct the internal state).\n\nlicense: BSD3\nlicense-file: LICENSE\nmaintainer: Oleg Grenrus \nbug-reports: https://github.com/haskellari/splitmix/issues\ncategory: System, Random\nbuild-type: Simple\ntested-with:\n GHC ==7.0.4\n || ==7.2.2\n || ==7.4.2\n || ==7.6.3\n || ==7.8.4\n || ==7.10.3\n || ==8.0.2\n || ==8.2.2\n || ==8.4.4\n || ==8.6.5\n || ==8.8.4\n || ==8.10.4\n || ==9.0.2\n || ==9.2.5\n || ==9.4.4\n || ==9.6.1\n , GHCJS ==8.4\n\nextra-source-files:\n Changelog.md\n make-hugs.sh\n README.md\n test-hugs.sh\n\nflag optimised-mixer\n description: Use JavaScript for mix32\n manual: True\n default: False\n\nlibrary\n default-language: Haskell2010\n ghc-options: -Wall\n hs-source-dirs: src src-compat\n exposed-modules:\n System.Random.SplitMix\n System.Random.SplitMix32\n\n other-modules:\n Data.Bits.Compat\n System.Random.SplitMix.Init\n\n -- dump-core\n -- build-depends: dump-core\n -- ghc-options: -fplugin=DumpCore -fplugin-opt DumpCore:core-html\n\n build-depends:\n base >=4.3 && <4.19\n , deepseq >=1.3.0.0 && <1.5\n\n if flag(optimised-mixer)\n cpp-options: -DOPTIMISED_MIX32=1\n\n -- We don't want to depend on time, nor unix or Win32 packages\n -- because it's valuable that splitmix and QuickCheck doesn't\n -- depend on about anything\n\n if impl(ghcjs)\n cpp-options: -DSPLITMIX_INIT_GHCJS=1\n\n else\n if impl(ghc)\n cpp-options: -DSPLITMIX_INIT_C=1\n\n if os(windows)\n c-sources: cbits-win/init.c\n\n else\n c-sources: cbits-unix/init.c\n\n else\n cpp-options: -DSPLITMIX_INIT_COMPAT=1\n build-depends: time >=1.2.0.3 && <1.13\n\nsource-repository head\n type: git\n location: https://github.com/haskellari/splitmix.git\n\nbenchmark comparison\n type: exitcode-stdio-1.0\n default-language: Haskell2010\n ghc-options: -Wall\n hs-source-dirs: bench\n main-is: Bench.hs\n build-depends:\n base\n , containers >=0.4.2.1 && <0.7\n , criterion >=1.1.0.0 && <1.6\n , random\n , splitmix\n , tf-random >=0.5 && <0.6\n\nbenchmark simple-sum\n type: exitcode-stdio-1.0\n default-language: Haskell2010\n ghc-options: -Wall\n hs-source-dirs: bench\n main-is: SimpleSum.hs\n build-depends:\n base\n , random\n , splitmix\n\nbenchmark range\n type: exitcode-stdio-1.0\n default-language: Haskell2010\n ghc-options: -Wall\n hs-source-dirs: bench src-compat\n main-is: Range.hs\n other-modules: Data.Bits.Compat\n build-depends:\n base\n , clock >=0.8 && <0.9\n , random\n , splitmix\n\ntest-suite examples\n type: exitcode-stdio-1.0\n default-language: Haskell2010\n ghc-options: -Wall\n hs-source-dirs: tests\n main-is: Examples.hs\n build-depends:\n base\n , HUnit ==1.3.1.2 || >=1.6.0.0 && <1.7\n , splitmix\n\ntest-suite splitmix-tests\n type: exitcode-stdio-1.0\n default-language: Haskell2010\n ghc-options: -Wall\n hs-source-dirs: tests\n main-is: Tests.hs\n other-modules:\n MiniQC\n Uniformity\n\n build-depends:\n base\n , base-compat >=0.11.1 && <0.13\n , containers >=0.4.0.0 && <0.7\n , HUnit ==1.3.1.2 || >=1.6.0.0 && <1.7\n , math-functions ==0.1.7.0 || >=0.3.3.0 && <0.4\n , splitmix\n , test-framework >=0.8.2.0 && <0.9\n , test-framework-hunit >=0.3.0.2 && <0.4\n\ntest-suite montecarlo-pi\n type: exitcode-stdio-1.0\n default-language: Haskell2010\n ghc-options: -Wall\n hs-source-dirs: tests\n main-is: SplitMixPi.hs\n build-depends:\n base\n , splitmix\n\ntest-suite montecarlo-pi-32\n type: exitcode-stdio-1.0\n default-language: Haskell2010\n ghc-options: -Wall\n hs-source-dirs: tests\n main-is: SplitMixPi32.hs\n build-depends:\n base\n , splitmix\n\ntest-suite splitmix-dieharder\n default-language: Haskell2010\n type: exitcode-stdio-1.0\n ghc-options: -Wall -threaded -rtsopts\n hs-source-dirs: tests\n main-is: Dieharder.hs\n build-depends:\n async >=2.2.1 && <2.3\n , base\n , base-compat-batteries >=0.10.5 && <0.13\n , bytestring >=0.9.1.8 && <0.12\n , deepseq\n , process >=1.0.1.5 && <1.7\n , random\n , splitmix\n , tf-random >=0.5 && <0.6\n , vector >=0.11.0.0 && <0.13\n\ntest-suite splitmix-testu01\n if !os(linux)\n buildable: False\n\n default-language: Haskell2010\n type: exitcode-stdio-1.0\n ghc-options: -Wall -threaded -rtsopts\n hs-source-dirs: tests\n main-is: TestU01.hs\n c-sources: tests/cbits/testu01.c\n extra-libraries: testu01\n build-depends:\n base\n , base-compat-batteries >=0.10.5 && <0.13\n , splitmix\n\ntest-suite initialization\n default-language: Haskell2010\n type: exitcode-stdio-1.0\n ghc-options: -Wall -threaded -rtsopts\n hs-source-dirs: tests\n main-is: Initialization.hs\n build-depends:\n base\n , HUnit ==1.3.1.2 || >=1.6.0.0 && <1.7\n , splitmix\n"; + } \ No newline at end of file diff --git a/materialized/ghc928/hadrian-ghc96/hadrian/cabal-files/unordered-containers.nix b/materialized/ghc928/hadrian-ghc96/hadrian/cabal-files/unordered-containers.nix new file mode 100644 index 0000000000..ab6a9d8c44 --- /dev/null +++ b/materialized/ghc928/hadrian-ghc96/hadrian/cabal-files/unordered-containers.nix @@ -0,0 +1,78 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = { debug = false; }; + package = { + specVersion = "1.10"; + identifier = { name = "unordered-containers"; version = "0.2.19.1"; }; + license = "BSD-3-Clause"; + copyright = "2010-2014 Johan Tibell\n2010 Edward Z. Yang"; + maintainer = "simon.jakobi@gmail.com, David.Feuer@gmail.com"; + author = "Johan Tibell"; + homepage = "https://github.com/haskell-unordered-containers/unordered-containers"; + url = ""; + synopsis = "Efficient hashing-based container types"; + description = "Efficient hashing-based container types. The containers have been\noptimized for performance critical use, both in terms of large data\nquantities and high speed.\n\nThe declared cost of each operation is either worst-case or\namortized, but remains valid even if structures are shared.\n\n/Security/\n\nThis package currently provides no defenses against hash collision attacks\nsuch as HashDoS.\nUsers who need to store input from untrusted sources are advised to use\n@Data.Map@ or @Data.Set@ from the @containers@ package instead."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."hashable" or (errorHandler.buildDepError "hashable")) + (hsPkgs."template-haskell" or (errorHandler.buildDepError "template-haskell")) + ]; + buildable = true; + }; + tests = { + "unordered-containers-tests" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."ChasingBottoms" or (errorHandler.buildDepError "ChasingBottoms")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."hashable" or (errorHandler.buildDepError "hashable")) + (hsPkgs."HUnit" or (errorHandler.buildDepError "HUnit")) + (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")) + (hsPkgs."random" or (errorHandler.buildDepError "random")) + (hsPkgs."tasty" or (errorHandler.buildDepError "tasty")) + (hsPkgs."tasty-hunit" or (errorHandler.buildDepError "tasty-hunit")) + (hsPkgs."tasty-quickcheck" or (errorHandler.buildDepError "tasty-quickcheck")) + (hsPkgs."unordered-containers" or (errorHandler.buildDepError "unordered-containers")) + ] ++ (pkgs.lib).optional (compiler.isGhc && (compiler.version).ge "8.6") (hsPkgs."nothunks" or (errorHandler.buildDepError "nothunks")); + buildable = true; + }; + }; + benchmarks = { + "benchmarks" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."hashable" or (errorHandler.buildDepError "hashable")) + (hsPkgs."hashmap" or (errorHandler.buildDepError "hashmap")) + (hsPkgs."mtl" or (errorHandler.buildDepError "mtl")) + (hsPkgs."random" or (errorHandler.buildDepError "random")) + (hsPkgs."tasty-bench" or (errorHandler.buildDepError "tasty-bench")) + (hsPkgs."unordered-containers" or (errorHandler.buildDepError "unordered-containers")) + ]; + buildable = true; + }; + }; + }; + } // { + src = (pkgs.lib).mkDefault (pkgs.fetchurl { + url = "http://hackage.haskell.org/package/unordered-containers-0.2.19.1.tar.gz"; + sha256 = "1b27bec5e0d522b27a6029ebf4c4a6d40acbc083c787008e32fb55c4b1d128d2"; + }); + }) // { + package-description-override = "name: unordered-containers\r\nversion: 0.2.19.1\r\nx-revision: 2\r\nsynopsis: Efficient hashing-based container types\r\ndescription:\r\n Efficient hashing-based container types. The containers have been\r\n optimized for performance critical use, both in terms of large data\r\n quantities and high speed.\r\n .\r\n The declared cost of each operation is either worst-case or\r\n amortized, but remains valid even if structures are shared.\r\n .\r\n /Security/\r\n .\r\n This package currently provides no defenses against hash collision attacks\r\n such as HashDoS.\r\n Users who need to store input from untrusted sources are advised to use\r\n @Data.Map@ or @Data.Set@ from the @containers@ package instead.\r\nlicense: BSD3\r\nlicense-file: LICENSE\r\nauthor: Johan Tibell\r\nmaintainer: simon.jakobi@gmail.com, David.Feuer@gmail.com\r\nHomepage: https://github.com/haskell-unordered-containers/unordered-containers\r\nbug-reports: https://github.com/haskell-unordered-containers/unordered-containers/issues\r\ncopyright: 2010-2014 Johan Tibell\r\n 2010 Edward Z. Yang\r\ncategory: Data\r\nbuild-type: Simple\r\ncabal-version: >=1.10\r\nextra-source-files: CHANGES.md\r\n\r\ntested-with:\r\n GHC ==9.6.1\r\n || ==9.4.4\r\n || ==9.2.7\r\n || ==9.0.2\r\n || ==8.10.7\r\n || ==8.8.4\r\n || ==8.6.5\r\n || ==8.4.4\r\n || ==8.2.2\r\n\r\nflag debug\r\n description: Enable debug support\r\n default: False\r\n\r\nlibrary\r\n exposed-modules:\r\n Data.HashMap.Internal\r\n Data.HashMap.Internal.Array\r\n Data.HashMap.Internal.List\r\n Data.HashMap.Internal.Strict\r\n Data.HashMap.Lazy\r\n Data.HashMap.Strict\r\n Data.HashSet\r\n Data.HashSet.Internal\r\n\r\n build-depends:\r\n base >= 4.10 && < 5,\r\n deepseq >= 1.4.3,\r\n hashable >= 1.2.5 && < 1.5,\r\n template-haskell < 2.21\r\n\r\n default-language: Haskell2010\r\n\r\n other-extensions:\r\n RoleAnnotations,\r\n UnboxedTuples,\r\n ScopedTypeVariables,\r\n MagicHash,\r\n BangPatterns\r\n\r\n ghc-options: -Wall -O2 -fwarn-tabs -ferror-spans\r\n\r\n -- For dumping the generated code:\r\n -- ghc-options: -ddump-simpl -ddump-stg-final -ddump-cmm -ddump-asm -ddump-to-file\r\n -- ghc-options: -dsuppress-coercions -dsuppress-unfoldings -dsuppress-module-prefixes\r\n -- ghc-options: -dsuppress-uniques -dsuppress-timestamps\r\n\r\n if flag(debug)\r\n cpp-options: -DASSERTS\r\n\r\ntest-suite unordered-containers-tests\r\n hs-source-dirs: tests\r\n main-is: Main.hs\r\n type: exitcode-stdio-1.0\r\n other-modules:\r\n Regressions\r\n Properties\r\n Properties.HashMapLazy\r\n Properties.HashMapStrict\r\n Properties.HashSet\r\n Properties.List\r\n Strictness\r\n\r\n build-depends:\r\n base,\r\n ChasingBottoms,\r\n containers >= 0.5.8,\r\n hashable,\r\n HUnit,\r\n QuickCheck >= 2.4.0.1,\r\n random,\r\n tasty >= 1.4.0.3,\r\n tasty-hunit >= 0.10.0.3,\r\n tasty-quickcheck >= 0.10.1.2,\r\n unordered-containers\r\n\r\n if impl(ghc >= 8.6)\r\n build-depends:\r\n nothunks >= 0.1.3\r\n\r\n default-language: Haskell2010\r\n ghc-options: -Wall\r\n cpp-options: -DASSERTS\r\n\r\nbenchmark benchmarks\r\n hs-source-dirs: benchmarks\r\n main-is: Benchmarks.hs\r\n type: exitcode-stdio-1.0\r\n\r\n other-modules:\r\n Util.ByteString\r\n Util.String\r\n Util.Int\r\n\r\n build-depends:\r\n base,\r\n bytestring >= 0.10.0.0,\r\n containers,\r\n deepseq,\r\n hashable,\r\n hashmap,\r\n mtl,\r\n random,\r\n tasty-bench >= 0.3.1,\r\n unordered-containers\r\n\r\n default-language: Haskell2010\r\n ghc-options: -Wall -O2 -rtsopts -with-rtsopts=-A32m\r\n if impl(ghc >= 8.10)\r\n ghc-options: \"-with-rtsopts=-A32m --nonmoving-gc\"\r\n -- cpp-options: -DBENCH_containers_Map -DBENCH_containers_IntMap -DBENCH_hashmap_Map\r\n\r\nsource-repository head\r\n type: git\r\n location: https://github.com/haskell-unordered-containers/unordered-containers.git\r\n"; + } \ No newline at end of file diff --git a/materialized/ghc928/hadrian-ghc96/hadrian/cabal-files/utf8-string.nix b/materialized/ghc928/hadrian-ghc96/hadrian/cabal-files/utf8-string.nix new file mode 100644 index 0000000000..ac9bde4057 --- /dev/null +++ b/materialized/ghc928/hadrian-ghc96/hadrian/cabal-files/utf8-string.nix @@ -0,0 +1,51 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = {}; + package = { + specVersion = "1.10"; + identifier = { name = "utf8-string"; version = "1.0.2"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "emertens@galois.com"; + author = "Eric Mertens"; + homepage = "https://github.com/glguy/utf8-string/"; + url = ""; + synopsis = "Support for reading and writing UTF8 Strings"; + description = "A UTF8 layer for Strings. The utf8-string\npackage provides operations for encoding UTF8\nstrings to Word8 lists and back, and for reading and\nwriting UTF8 without truncation."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + ]; + buildable = true; + }; + tests = { + "unit-tests" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."HUnit" or (errorHandler.buildDepError "HUnit")) + (hsPkgs."utf8-string" or (errorHandler.buildDepError "utf8-string")) + ]; + buildable = true; + }; + }; + }; + } // { + src = (pkgs.lib).mkDefault (pkgs.fetchurl { + url = "http://hackage.haskell.org/package/utf8-string-1.0.2.tar.gz"; + sha256 = "ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a"; + }); + }) // { + package-description-override = "Name: utf8-string\nVersion: 1.0.2\nAuthor: Eric Mertens\nMaintainer: emertens@galois.com\nLicense: BSD3\nLicense-file: LICENSE\nHomepage: https://github.com/glguy/utf8-string/\nBug-Reports: https://github.com/glguy/utf8-string/issues\nSynopsis: Support for reading and writing UTF8 Strings\nDescription: A UTF8 layer for Strings. The utf8-string\n package provides operations for encoding UTF8\n strings to Word8 lists and back, and for reading and\n writing UTF8 without truncation.\nCategory: Codec\nBuild-type: Simple\ncabal-version: >= 1.10\nExtra-Source-Files: CHANGELOG.markdown\nTested-With: GHC==7.0.4, GHC==7.4.2, GHC==7.6.3, GHC==7.8.4, GHC==7.10.3, GHC==8.0.2, GHC==8.2.1\n\nsource-repository head\n type: git\n location: https://github.com/glguy/utf8-string\n\nlibrary\n Ghc-options: -W -O2\n\n build-depends: base >= 4.3 && < 5, bytestring >= 0.9\n\n Exposed-modules: Codec.Binary.UTF8.String\n Codec.Binary.UTF8.Generic\n Data.String.UTF8\n Data.ByteString.UTF8\n Data.ByteString.Lazy.UTF8\n\n default-language: Haskell2010\n\ntest-suite unit-tests\n type: exitcode-stdio-1.0\n hs-source-dirs: tests\n main-is: Tests.hs\n build-depends: base, HUnit >= 1.3 && < 1.7, utf8-string\n default-language: Haskell2010\n"; + } \ No newline at end of file diff --git a/materialized/ghc928/hadrian-ghc96/hadrian/default.nix b/materialized/ghc928/hadrian-ghc96/hadrian/default.nix new file mode 100644 index 0000000000..0299417c22 --- /dev/null +++ b/materialized/ghc928/hadrian-ghc96/hadrian/default.nix @@ -0,0 +1,143 @@ +{ + pkgs = hackage: + { + packages = { + bytestring.revision = (((hackage.bytestring)."0.11.4.0").revisions).default; + directory.revision = (((hackage.directory)."1.3.6.2").revisions).default; + filepath.revision = (((hackage.filepath)."1.4.2.2").revisions).default; + mtl.revision = (((hackage.mtl)."2.2.2").revisions).default; + ghc-bignum.revision = (((hackage.ghc-bignum)."1.2").revisions).default; + ghc-prim.revision = (((hackage.ghc-prim)."0.8.0").revisions).default; + parsec.revision = (((hackage.parsec)."3.1.15.0").revisions).default; + js-flot.revision = import ./cabal-files/js-flot.nix; + utf8-string.revision = import ./cabal-files/utf8-string.nix; + Cabal.revision = (((hackage.Cabal)."3.6.3.0").revisions).default; + splitmix.revision = import ./cabal-files/splitmix.nix; + splitmix.flags.optimised-mixer = false; + containers.revision = (((hackage.containers)."0.6.5.1").revisions).default; + clock.revision = import ./cabal-files/clock.nix; + clock.flags.llvm = false; + heaps.revision = import ./cabal-files/heaps.nix; + base.revision = (((hackage.base)."4.16.4.0").revisions).default; + time.revision = (((hackage.time)."1.11.1.1").revisions).default; + random.revision = import ./cabal-files/random.nix; + primitive.revision = import ./cabal-files/primitive.nix; + deepseq.revision = (((hackage.deepseq)."1.4.6.1").revisions).default; + js-jquery.revision = import ./cabal-files/js-jquery.nix; + js-dgtable.revision = import ./cabal-files/js-dgtable.nix; + rts.revision = (((hackage.rts)."1.0.2").revisions).default; + template-haskell.revision = (((hackage.template-haskell)."2.18.0.0").revisions).default; + binary.revision = (((hackage.binary)."0.8.9.0").revisions).default; + shake.revision = import ./cabal-files/shake.nix; + shake.flags.portable = false; + shake.flags.cloud = false; + shake.flags.embed-files = false; + process.revision = (((hackage.process)."1.6.16.0").revisions).default; + unix.revision = (((hackage.unix)."2.7.2.2").revisions).default; + data-array-byte.revision = import ./cabal-files/data-array-byte.nix; + transformers.revision = (((hackage.transformers)."0.5.6.2").revisions).default; + unordered-containers.revision = import ./cabal-files/unordered-containers.nix; + unordered-containers.flags.debug = false; + QuickCheck.revision = import ./cabal-files/QuickCheck.nix; + QuickCheck.flags.old-random = false; + QuickCheck.flags.templatehaskell = true; + extra.revision = import ./cabal-files/extra.nix; + text.revision = (((hackage.text)."1.2.5.0").revisions).default; + array.revision = (((hackage.array)."0.5.4.0").revisions).default; + ghc-boot-th.revision = (((hackage.ghc-boot-th)."9.2.8").revisions).default; + filepattern.revision = import ./cabal-files/filepattern.nix; + pretty.revision = (((hackage.pretty)."1.1.3.6").revisions).default; + hashable.revision = import ./cabal-files/hashable.nix; + hashable.flags.random-initial-seed = false; + hashable.flags.integer-gmp = true; + }; + compiler = { + version = "9.2.8"; + nix-name = "ghc928"; + packages = { + "pretty" = "1.1.3.6"; + "text" = "1.2.5.0"; + "array" = "0.5.4.0"; + "Cabal" = "3.6.3.0"; + "mtl" = "2.2.2"; + "parsec" = "3.1.15.0"; + "bytestring" = "0.11.4.0"; + "filepath" = "1.4.2.2"; + "ghc-prim" = "0.8.0"; + "ghc-boot-th" = "9.2.8"; + "base" = "4.16.4.0"; + "time" = "1.11.1.1"; + "process" = "1.6.16.0"; + "ghc-bignum" = "1.2"; + "directory" = "1.3.6.2"; + "rts" = "1.0.2"; + "transformers" = "0.5.6.2"; + "template-haskell" = "2.18.0.0"; + "deepseq" = "1.4.6.1"; + "unix" = "2.7.2.2"; + "binary" = "0.8.9.0"; + "containers" = "0.6.5.1"; + }; + }; + }; + extras = hackage: + { packages = { hadrian = ./.plan.nix/hadrian.nix; }; }; + modules = [ + ({ lib, ... }: + { + packages = { + "hadrian" = { + flags = { + "threaded" = lib.mkOverride 900 true; + "selftest" = lib.mkOverride 900 true; + }; + }; + }; + }) + ({ lib, ... }: + { + packages = { + "shake".components.library.planned = lib.mkOverride 900 true; + "heaps".components.library.planned = lib.mkOverride 900 true; + "extra".components.library.planned = lib.mkOverride 900 true; + "filepath".components.library.planned = lib.mkOverride 900 true; + "pretty".components.library.planned = lib.mkOverride 900 true; + "utf8-string".components.library.planned = lib.mkOverride 900 true; + "Cabal".components.library.planned = lib.mkOverride 900 true; + "bytestring".components.library.planned = lib.mkOverride 900 true; + "ghc-prim".components.library.planned = lib.mkOverride 900 true; + "array".components.library.planned = lib.mkOverride 900 true; + "binary".components.library.planned = lib.mkOverride 900 true; + "filepattern".components.library.planned = lib.mkOverride 900 true; + "ghc-boot-th".components.library.planned = lib.mkOverride 900 true; + "splitmix".components.library.planned = lib.mkOverride 900 true; + "rts".components.library.planned = lib.mkOverride 900 true; + "unix".components.library.planned = lib.mkOverride 900 true; + "shake".components.exes."shake".planned = lib.mkOverride 900 true; + "directory".components.library.planned = lib.mkOverride 900 true; + "time".components.library.planned = lib.mkOverride 900 true; + "js-flot".components.library.planned = lib.mkOverride 900 true; + "ghc-bignum".components.library.planned = lib.mkOverride 900 true; + "data-array-byte".components.library.planned = lib.mkOverride 900 true; + "process".components.library.planned = lib.mkOverride 900 true; + "clock".components.library.planned = lib.mkOverride 900 true; + "template-haskell".components.library.planned = lib.mkOverride 900 true; + "hadrian".components.exes."hadrian".planned = lib.mkOverride 900 true; + "QuickCheck".components.library.planned = lib.mkOverride 900 true; + "mtl".components.library.planned = lib.mkOverride 900 true; + "transformers".components.library.planned = lib.mkOverride 900 true; + "parsec".components.library.planned = lib.mkOverride 900 true; + "deepseq".components.library.planned = lib.mkOverride 900 true; + "primitive".components.library.planned = lib.mkOverride 900 true; + "js-jquery".components.library.planned = lib.mkOverride 900 true; + "text".components.library.planned = lib.mkOverride 900 true; + "unordered-containers".components.library.planned = lib.mkOverride 900 true; + "random".components.library.planned = lib.mkOverride 900 true; + "base".components.library.planned = lib.mkOverride 900 true; + "containers".components.library.planned = lib.mkOverride 900 true; + "js-dgtable".components.library.planned = lib.mkOverride 900 true; + "hashable".components.library.planned = lib.mkOverride 900 true; + }; + }) + ]; + } \ No newline at end of file diff --git a/materialized/ghc928/hadrian-ghc98/hadrian/.plan.nix/hadrian.nix b/materialized/ghc928/hadrian-ghc98/hadrian/.plan.nix/hadrian.nix new file mode 100644 index 0000000000..9c366cea6d --- /dev/null +++ b/materialized/ghc928/hadrian-ghc98/hadrian/.plan.nix/hadrian.nix @@ -0,0 +1,165 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = { threaded = true; selftest = true; }; + package = { + specVersion = "1.18"; + identifier = { name = "hadrian"; version = "0.1.0.0"; }; + license = "BSD-3-Clause"; + copyright = "Andrey Mokhov 2014-2017"; + maintainer = "Andrey Mokhov , github: @snowleopard"; + author = "Andrey Mokhov , github: @snowleopard"; + homepage = ""; + url = ""; + synopsis = "GHC build system"; + description = ""; + buildType = "Simple"; + isLocal = true; + detailLevel = "FullDetails"; + licenseFiles = [ "LICENSE" ]; + dataDir = "."; + dataFiles = []; + extraSrcFiles = []; + extraTmpFiles = []; + extraDocFiles = [ "README.md" ]; + }; + components = { + exes = { + "hadrian" = { + depends = [ + (hsPkgs."Cabal" or (errorHandler.buildDepError "Cabal")) + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + (hsPkgs."extra" or (errorHandler.buildDepError "extra")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."time" or (errorHandler.buildDepError "time")) + (hsPkgs."mtl" or (errorHandler.buildDepError "mtl")) + (hsPkgs."parsec" or (errorHandler.buildDepError "parsec")) + (hsPkgs."shake" or (errorHandler.buildDepError "shake")) + (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")) + (hsPkgs."unordered-containers" or (errorHandler.buildDepError "unordered-containers")) + (hsPkgs."text" or (errorHandler.buildDepError "text")) + (hsPkgs."cryptohash-sha256" or (errorHandler.buildDepError "cryptohash-sha256")) + (hsPkgs."base16-bytestring" or (errorHandler.buildDepError "base16-bytestring")) + ] ++ (pkgs.lib).optional (flags.selftest) (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")); + buildable = true; + modules = [ + "Base" + "Builder" + "CommandLine" + "Context" + "Context/Path" + "Context/Type" + "Environment" + "Expression" + "Expression/Type" + "Flavour" + "Flavour/Type" + "Hadrian/Builder" + "Hadrian/Builder/Ar" + "Hadrian/Builder/Sphinx" + "Hadrian/Builder/Tar" + "Hadrian/Builder/Git" + "Hadrian/BuildPath" + "Hadrian/Expression" + "Hadrian/Haskell/Cabal" + "Hadrian/Haskell/Hash" + "Hadrian/Haskell/Cabal/Type" + "Hadrian/Haskell/Cabal/Parse" + "Hadrian/Oracles/ArgsHash" + "Hadrian/Oracles/Cabal" + "Hadrian/Oracles/Cabal/Rules" + "Hadrian/Oracles/Cabal/Type" + "Hadrian/Oracles/DirectoryContents" + "Hadrian/Oracles/Path" + "Hadrian/Oracles/TextFile" + "Hadrian/Package" + "Hadrian/Target" + "Hadrian/Utilities" + "Oracles/Flag" + "Oracles/Flavour" + "Oracles/Setting" + "Oracles/ModuleFiles" + "Oracles/TestSettings" + "Packages" + "Rules" + "Rules/BinaryDist" + "Rules/CabalReinstall" + "Rules/Clean" + "Rules/Compile" + "Rules/Dependencies" + "Rules/Docspec" + "Rules/Documentation" + "Rules/Generate" + "Rules/Gmp" + "Rules/Libffi" + "Rules/Library" + "Rules/Lint" + "Rules/Nofib" + "Rules/Program" + "Rules/Register" + "Rules/Rts" + "Rules/SimpleTargets" + "Rules/SourceDist" + "Rules/Test" + "Rules/ToolArgs" + "Settings" + "Settings/Builders/Alex" + "Settings/Builders/Cabal" + "Settings/Builders/Common" + "Settings/Builders/Cc" + "Settings/Builders/Configure" + "Settings/Builders/DeriveConstants" + "Settings/Builders/GenPrimopCode" + "Settings/Builders/Ghc" + "Settings/Builders/GhcPkg" + "Settings/Builders/Haddock" + "Settings/Builders/Happy" + "Settings/Builders/Hsc2Hs" + "Settings/Builders/HsCpp" + "Settings/Builders/Ar" + "Settings/Builders/Ld" + "Settings/Builders/Make" + "Settings/Builders/MergeObjects" + "Settings/Builders/SplitSections" + "Settings/Builders/RunTest" + "Settings/Builders/Win32Tarballs" + "Settings/Builders/Xelatex" + "Settings/Default" + "Settings/Flavours/Benchmark" + "Settings/Flavours/Development" + "Settings/Flavours/GhcInGhci" + "Settings/Flavours/Performance" + "Settings/Flavours/Quick" + "Settings/Flavours/QuickCross" + "Settings/Flavours/Quickest" + "Settings/Flavours/Validate" + "Settings/Flavours/Release" + "Settings/Packages" + "Settings/Parser" + "Settings/Program" + "Settings/Warnings" + "Stage" + "Target" + "UserSettings" + "Utilities" + "Way" + "Way/Type" + ] ++ (pkgs.lib).optional (flags.selftest) "Rules/Selftest"; + hsSourceDirs = [ "." "src" ]; + mainPath = ([ + "Main.hs" + ] ++ (pkgs.lib).optional (flags.threaded) "") ++ (pkgs.lib).optional (flags.selftest) ""; + }; + }; + }; + } // rec { src = (pkgs.lib).mkDefault ../.; } \ No newline at end of file diff --git a/materialized/ghc928/hadrian-ghc98/hadrian/cabal-files/QuickCheck.nix b/materialized/ghc928/hadrian-ghc98/hadrian/cabal-files/QuickCheck.nix new file mode 100644 index 0000000000..31390ca93b --- /dev/null +++ b/materialized/ghc928/hadrian-ghc98/hadrian/cabal-files/QuickCheck.nix @@ -0,0 +1,119 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = { templatehaskell = true; old-random = false; }; + package = { + specVersion = "1.10"; + identifier = { name = "QuickCheck"; version = "2.14.3"; }; + license = "BSD-3-Clause"; + copyright = "2000-2019 Koen Claessen, 2006-2008 Björn Bringert, 2009-2019 Nick Smallbone"; + maintainer = "Nick Smallbone "; + author = "Koen Claessen "; + homepage = "https://github.com/nick8325/quickcheck"; + url = ""; + synopsis = "Automatic testing of Haskell programs"; + description = "QuickCheck is a library for random testing of program properties.\nThe programmer provides a specification of the program, in the form of\nproperties which functions should satisfy, and QuickCheck then tests that the\nproperties hold in a large number of randomly generated cases.\nSpecifications are expressed in Haskell, using combinators provided by\nQuickCheck. QuickCheck provides combinators to define properties, observe the\ndistribution of test data, and define test data generators.\n\nMost of QuickCheck's functionality is exported by the main \"Test.QuickCheck\"\nmodule. The main exception is the monadic property testing library in\n\"Test.QuickCheck.Monadic\".\n\nIf you are new to QuickCheck, you can try looking at the following resources:\n\n* The .\nIt's a bit out-of-date in some details and doesn't cover newer QuickCheck features,\nbut is still full of good advice.\n* ,\na detailed tutorial written by a user of QuickCheck.\n\nThe \ncompanion package provides instances for types in Haskell Platform packages\nat the cost of additional dependencies."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = ((((((([ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + ] ++ [ + (hsPkgs."random" or (errorHandler.buildDepError "random")) + ]) ++ (pkgs.lib).optional (!(compiler.isHugs && true)) (hsPkgs."splitmix" or (errorHandler.buildDepError "splitmix"))) ++ (pkgs.lib).optionals (compiler.isGhc && true) [ + (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + ]) ++ (pkgs.lib).optional (compiler.isGhc && true && flags.templatehaskell) (hsPkgs."template-haskell" or (errorHandler.buildDepError "template-haskell"))) ++ (pkgs.lib).optional (compiler.isGhc && (compiler.version).ge "7.2" && (compiler.isGhc && (compiler.version).lt "7.6")) (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim"))) ++ (pkgs.lib).optional (compiler.isGhc && (compiler.version).ge "7.2") (hsPkgs."random" or (errorHandler.buildDepError "random"))) ++ (pkgs.lib).optional (compiler.isGhc && (compiler.version).ge "7.4") (hsPkgs."containers" or (errorHandler.buildDepError "containers"))) ++ (pkgs.lib).optionals (compiler.isUhc && true) [ + (hsPkgs."old-time" or (errorHandler.buildDepError "old-time")) + (hsPkgs."old-locale" or (errorHandler.buildDepError "old-locale")) + ]; + buildable = true; + }; + tests = { + "test-quickcheck" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")) + ]; + buildable = if !flags.templatehaskell then false else true; + }; + "test-quickcheck-gcoarbitrary" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")) + ] ++ (pkgs.lib).optional (compiler.isGhc && (compiler.version).ge "7.2" && (compiler.isGhc && (compiler.version).lt "7.6")) (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")); + buildable = if !flags.templatehaskell || !(compiler.isGhc && (compiler.version).ge "7.2") + then false + else true; + }; + "test-quickcheck-generators" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")) + ]; + buildable = if !flags.templatehaskell then false else true; + }; + "test-quickcheck-gshrink" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")) + ] ++ (pkgs.lib).optional (compiler.isGhc && (compiler.version).ge "7.2" && (compiler.isGhc && (compiler.version).lt "7.6")) (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")); + buildable = if !flags.templatehaskell || !(compiler.isGhc && (compiler.version).ge "7.2") + then false + else true; + }; + "test-quickcheck-terminal" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."process" or (errorHandler.buildDepError "process")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")) + ]; + buildable = if !flags.templatehaskell || !(compiler.isGhc && (compiler.version).ge "7.10") + then false + else true; + }; + "test-quickcheck-monadfix" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")) + ]; + buildable = if !flags.templatehaskell || !(compiler.isGhc && (compiler.version).ge "7.10") + then false + else true; + }; + "test-quickcheck-split" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")) + ]; + buildable = true; + }; + "test-quickcheck-misc" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")) + ]; + buildable = if !flags.templatehaskell || !(compiler.isGhc && (compiler.version).ge "7.10") + then false + else true; + }; + }; + }; + } // { + src = (pkgs.lib).mkDefault (pkgs.fetchurl { + url = "http://hackage.haskell.org/package/QuickCheck-2.14.3.tar.gz"; + sha256 = "5c0f22b36b28a1a8fa110b3819818d3f29494a3b0dedbae299f064123ca70501"; + }); + }) // { + package-description-override = "Name: QuickCheck\nVersion: 2.14.3\nCabal-Version: >= 1.10\nBuild-type: Simple\nLicense: BSD3\nLicense-file: LICENSE\nCopyright: 2000-2019 Koen Claessen, 2006-2008 Björn Bringert, 2009-2019 Nick Smallbone\nAuthor: Koen Claessen \nMaintainer: Nick Smallbone \nBug-reports: https://github.com/nick8325/quickcheck/issues\nTested-with: GHC ==7.0.4 || ==7.2.2 || >= 7.4\nHomepage: https://github.com/nick8325/quickcheck\nCategory: Testing\nSynopsis: Automatic testing of Haskell programs\nDescription:\n QuickCheck is a library for random testing of program properties.\n The programmer provides a specification of the program, in the form of\n properties which functions should satisfy, and QuickCheck then tests that the\n properties hold in a large number of randomly generated cases.\n Specifications are expressed in Haskell, using combinators provided by\n QuickCheck. QuickCheck provides combinators to define properties, observe the\n distribution of test data, and define test data generators.\n .\n Most of QuickCheck's functionality is exported by the main \"Test.QuickCheck\"\n module. The main exception is the monadic property testing library in\n \"Test.QuickCheck.Monadic\".\n .\n If you are new to QuickCheck, you can try looking at the following resources:\n .\n * The .\n It's a bit out-of-date in some details and doesn't cover newer QuickCheck features,\n but is still full of good advice.\n * ,\n a detailed tutorial written by a user of QuickCheck.\n .\n The \n companion package provides instances for types in Haskell Platform packages\n at the cost of additional dependencies.\n\nextra-source-files:\n README\n changelog\n examples/Heap.hs\n examples/Heap_Program.hs\n examples/Heap_ProgramAlgebraic.hs\n examples/Lambda.hs\n examples/Merge.hs\n examples/Set.hs\n examples/Simple.hs\n make-hugs\n test-hugs\n\nsource-repository head\n type: git\n location: https://github.com/nick8325/quickcheck\n\nsource-repository this\n type: git\n location: https://github.com/nick8325/quickcheck\n tag: 2.14.3\n\nflag templateHaskell\n Description: Build Test.QuickCheck.All, which uses Template Haskell.\n Default: True\n Manual: True\n\nflag old-random\n Description: Build against a pre-1.2.0 version of the random package.\n Default: False\n Manual: False\n\nlibrary\n Hs-source-dirs: src\n Build-depends: base >=4.3 && <5, containers\n Default-language: Haskell2010\n\n -- New vs old random.\n if flag(old-random)\n Build-depends: random >= 1.0.0.3 && < 1.2.0\n cpp-options: -DOLD_RANDOM\n else\n Build-depends: random >= 1.2.0 && < 1.3\n\n -- We always use splitmix directly rather than going through StdGen\n -- (it's somewhat more efficient).\n -- However, Hugs traps overflow on Word64, so we have to stick\n -- with StdGen there.\n if impl(hugs)\n cpp-options: -DNO_SPLITMIX\n else\n Build-depends: splitmix >= 0.1 && <0.2\n\n -- Modules that are always built.\n Exposed-Modules:\n Test.QuickCheck,\n Test.QuickCheck.Arbitrary,\n Test.QuickCheck.Gen,\n Test.QuickCheck.Gen.Unsafe,\n Test.QuickCheck.Monadic,\n Test.QuickCheck.Modifiers,\n Test.QuickCheck.Property,\n Test.QuickCheck.Test,\n Test.QuickCheck.Text,\n Test.QuickCheck.Poly,\n Test.QuickCheck.State,\n Test.QuickCheck.Random,\n Test.QuickCheck.Exception,\n Test.QuickCheck.Features\n\n -- GHC-specific modules.\n if impl(ghc)\n Exposed-Modules: Test.QuickCheck.Function\n Build-depends: transformers >= 0.3, deepseq >= 1.1.0.0\n else\n cpp-options: -DNO_TRANSFORMERS -DNO_DEEPSEQ\n\n if impl(ghc) && flag(templateHaskell)\n Build-depends: template-haskell >= 2.4\n if impl(ghc >=8.0)\n Other-Extensions: TemplateHaskellQuotes\n else\n Other-Extensions: TemplateHaskell\n Exposed-Modules: Test.QuickCheck.All\n else\n cpp-options: -DNO_TEMPLATE_HASKELL\n\n if !impl(ghc >= 7.4)\n cpp-options: -DNO_CTYPES_CONSTRUCTORS -DNO_FOREIGN_C_USECONDS\n\n -- The new generics appeared in GHC 7.2...\n if impl(ghc < 7.2)\n cpp-options: -DNO_GENERICS\n -- ...but in 7.2-7.4 it lives in the ghc-prim package.\n if impl(ghc >= 7.2) && impl(ghc < 7.6)\n Build-depends: ghc-prim\n\n -- Safe Haskell appeared in GHC 7.2, but GHC.Generics isn't safe until 7.4.\n if impl (ghc < 7.4)\n cpp-options: -DNO_SAFE_HASKELL\n\n -- random is explicitly Trustworthy since 1.0.1.0\n -- similar constraint for containers\n if impl(ghc >= 7.2)\n Build-depends: random >=1.0.1.0\n if impl(ghc >= 7.4)\n Build-depends: containers >=0.4.2.1\n\n if !impl(ghc >= 7.6)\n cpp-options: -DNO_POLYKINDS\n\n if !impl(ghc >= 8.0)\n cpp-options: -DNO_MONADFAIL\n\n -- Switch off most optional features on non-GHC systems.\n if !impl(ghc)\n -- If your Haskell compiler can cope without some of these, please\n -- send a message to the QuickCheck mailing list!\n cpp-options: -DNO_TIMEOUT -DNO_NEWTYPE_DERIVING -DNO_GENERICS\n -DNO_TEMPLATE_HASKELL -DNO_SAFE_HASKELL -DNO_TYPEABLE -DNO_GADTS\n -DNO_EXTRA_METHODS_IN_APPLICATIVE -DOLD_RANDOM\n if !impl(hugs) && !impl(uhc)\n cpp-options: -DNO_ST_MONAD -DNO_MULTI_PARAM_TYPE_CLASSES\n\n -- LANGUAGE pragmas don't have any effect in Hugs.\n if impl(hugs)\n Default-Extensions: CPP\n\n if impl(uhc)\n -- Cabal under UHC needs pointing out all the dependencies of the\n -- random package.\n Build-depends: old-time, old-locale\n -- Plus some bits of the standard library are missing.\n cpp-options: -DNO_FIXED -DNO_EXCEPTIONS\n\nTest-Suite test-quickcheck\n type: exitcode-stdio-1.0\n Default-language: Haskell2010\n hs-source-dirs:\n examples\n main-is: Heap.hs\n build-depends: base, QuickCheck\n if !flag(templateHaskell)\n Buildable: False\n\nTest-Suite test-quickcheck-gcoarbitrary\n type: exitcode-stdio-1.0\n Default-language: Haskell2010\n hs-source-dirs: tests\n main-is: GCoArbitraryExample.hs\n build-depends: base, QuickCheck\n if !flag(templateHaskell) || !impl(ghc >= 7.2)\n buildable: False\n if impl(ghc >= 7.2) && impl(ghc < 7.6)\n build-depends: ghc-prim\n\nTest-Suite test-quickcheck-generators\n type: exitcode-stdio-1.0\n Default-language: Haskell2010\n hs-source-dirs: tests\n main-is: Generators.hs\n build-depends: base, QuickCheck\n if !flag(templateHaskell)\n Buildable: False\n\nTest-Suite test-quickcheck-gshrink\n type: exitcode-stdio-1.0\n Default-language: Haskell2010\n hs-source-dirs: tests\n main-is: GShrinkExample.hs\n build-depends: base, QuickCheck\n if !flag(templateHaskell) || !impl(ghc >= 7.2)\n buildable: False\n if impl(ghc >= 7.2) && impl(ghc < 7.6)\n build-depends: ghc-prim\n\nTest-Suite test-quickcheck-terminal\n type: exitcode-stdio-1.0\n Default-language: Haskell2010\n hs-source-dirs: tests\n main-is: Terminal.hs\n build-depends: base, process, deepseq >= 1.1.0.0, QuickCheck\n if !flag(templateHaskell) || !impl(ghc >= 7.10)\n buildable: False\n\nTest-Suite test-quickcheck-monadfix\n type: exitcode-stdio-1.0\n Default-language: Haskell2010\n hs-source-dirs: tests\n main-is: MonadFix.hs\n build-depends: base, QuickCheck\n if !flag(templateHaskell) || !impl(ghc >= 7.10)\n buildable: False\n\nTest-Suite test-quickcheck-split\n type: exitcode-stdio-1.0\n Default-language: Haskell2010\n hs-source-dirs: tests\n main-is: Split.hs\n build-depends: base, QuickCheck\n\nTest-Suite test-quickcheck-misc\n type: exitcode-stdio-1.0\n Default-language: Haskell2010\n hs-source-dirs: tests\n main-is: Misc.hs\n build-depends: base, QuickCheck\n if !flag(templateHaskell) || !impl(ghc >= 7.10)\n buildable: False\n"; + } \ No newline at end of file diff --git a/materialized/ghc928/hadrian-ghc98/hadrian/cabal-files/base16-bytestring.nix b/materialized/ghc928/hadrian-ghc98/hadrian/cabal-files/base16-bytestring.nix new file mode 100644 index 0000000000..31d3b31c55 --- /dev/null +++ b/materialized/ghc928/hadrian-ghc98/hadrian/cabal-files/base16-bytestring.nix @@ -0,0 +1,68 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = {}; + package = { + specVersion = "1.12"; + identifier = { name = "base16-bytestring"; version = "1.0.2.0"; }; + license = "BSD-3-Clause"; + copyright = "Copyright 2011 MailRank, Inc.;\nCopyright 2010-2020 Bryan O'Sullivan et al."; + maintainer = "Herbert Valerio Riedel ,\nMikhail Glushenkov ,\nEmily Pillmore "; + author = "Bryan O'Sullivan "; + homepage = "http://github.com/haskell/base16-bytestring"; + url = ""; + synopsis = "RFC 4648-compliant Base16 encodings for ByteStrings"; + description = "This package provides support for encoding and decoding binary data according\nto @base16@ (see also ) for\nstrict (see \"Data.ByteString.Base16\") and lazy @ByteString@s (see \"Data.ByteString.Base16.Lazy\").\n\nSee the package which provides superior encoding and decoding performance as well as support for lazy, short, and strict variants of 'Text' and 'ByteString' values. Additionally, see the package which\nprovides an uniform API providing conversion paths between more binary and textual types."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + ]; + buildable = true; + }; + tests = { + "test" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."base16-bytestring" or (errorHandler.buildDepError "base16-bytestring")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."HUnit" or (errorHandler.buildDepError "HUnit")) + (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")) + (hsPkgs."test-framework" or (errorHandler.buildDepError "test-framework")) + (hsPkgs."test-framework-hunit" or (errorHandler.buildDepError "test-framework-hunit")) + (hsPkgs."test-framework-quickcheck2" or (errorHandler.buildDepError "test-framework-quickcheck2")) + ]; + buildable = true; + }; + }; + benchmarks = { + "bench" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."base16-bytestring" or (errorHandler.buildDepError "base16-bytestring")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."criterion" or (errorHandler.buildDepError "criterion")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + ]; + buildable = true; + }; + }; + }; + } // { + src = (pkgs.lib).mkDefault (pkgs.fetchurl { + url = "http://hackage.haskell.org/package/base16-bytestring-1.0.2.0.tar.gz"; + sha256 = "1d5a91143ef0e22157536093ec8e59d226a68220ec89378d5dcaeea86472c784"; + }); + }) // { + package-description-override = "cabal-version: 1.12\nname: base16-bytestring\nversion: 1.0.2.0\nsynopsis: RFC 4648-compliant Base16 encodings for ByteStrings\ndescription:\n This package provides support for encoding and decoding binary data according\n to @base16@ (see also ) for\n strict (see \"Data.ByteString.Base16\") and lazy @ByteString@s (see \"Data.ByteString.Base16.Lazy\").\n .\n See the package which provides superior encoding and decoding performance as well as support for lazy, short, and strict variants of 'Text' and 'ByteString' values. Additionally, see the package which\n provides an uniform API providing conversion paths between more binary and textual types.\n\nhomepage: http://github.com/haskell/base16-bytestring\nbug-reports: http://github.com/haskell/base16-bytestring/issues\nlicense: BSD3\nlicense-file: LICENSE\ncopyright:\n Copyright 2011 MailRank, Inc.;\n Copyright 2010-2020 Bryan O'Sullivan et al.\n\nauthor: Bryan O'Sullivan \nmaintainer:\n Herbert Valerio Riedel ,\n Mikhail Glushenkov ,\n Emily Pillmore \n\ncategory: Data\nbuild-type: Simple\nextra-source-files:\n README.md\n CHANGELOG.md\n\ntested-with:\n GHC ==8.0.2\n || ==8.2.2\n || ==8.4.4\n || ==8.6.5\n || ==8.8.4\n || ==8.10.4\n || ==9.0.1\n\nsource-repository head\n type: git\n location: http://github.com/haskell/base16-bytestring\n\nlibrary\n other-modules: Data.ByteString.Base16.Internal\n exposed-modules:\n Data.ByteString.Base16\n Data.ByteString.Base16.Lazy\n\n build-depends:\n base >=4.9 && <5\n , bytestring >=0.9 && <0.12\n\n ghc-options: -Wall -funbox-strict-fields\n default-language: Haskell2010\n\ntest-suite test\n type: exitcode-stdio-1.0\n hs-source-dirs: tests\n main-is: Tests.hs\n build-depends:\n base\n , base16-bytestring\n , bytestring\n , HUnit\n , QuickCheck\n , test-framework\n , test-framework-hunit\n , test-framework-quickcheck2\n\n default-language: Haskell2010\n\nbenchmark bench\n type: exitcode-stdio-1.0\n hs-source-dirs: benchmarks\n main-is: Benchmarks.hs\n build-depends:\n base >=4 && <5\n , base16-bytestring\n , bytestring\n , criterion\n , deepseq\n\n default-language: Haskell2010\n"; + } \ No newline at end of file diff --git a/materialized/ghc928/hadrian-ghc98/hadrian/cabal-files/clock.nix b/materialized/ghc928/hadrian-ghc98/hadrian/cabal-files/clock.nix new file mode 100644 index 0000000000..de66c1339a --- /dev/null +++ b/materialized/ghc928/hadrian-ghc98/hadrian/cabal-files/clock.nix @@ -0,0 +1,59 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = { llvm = false; }; + package = { + specVersion = "1.10"; + identifier = { name = "clock"; version = "0.8.3"; }; + license = "BSD-3-Clause"; + copyright = "Copyright © Cetin Sert 2009-2016, Eugene Kirpichov 2010, Finn Espen Gundersen 2013, Gerolf Seitz 2013, Mathieu Boespflug 2014 2015, Chris Done 2015, Dimitri Sabadie 2015, Christian Burger 2015, Mario Longobardi 2016, Alexander Vershilov 2021."; + maintainer = "Cetin Sert , Corsis Research"; + author = "Cetin Sert , Corsis Research"; + homepage = "https://github.com/corsis/clock"; + url = ""; + synopsis = "High-resolution clock functions: monotonic, realtime, cputime."; + description = "A package for convenient access to high-resolution clock and\ntimer functions of different operating systems via a unified API.\n\nPOSIX code and surface API was developed by Cetin Sert in 2009.\n\nWindows code was contributed by Eugene Kirpichov in 2010.\n\nFreeBSD code was contributed by Finn Espen Gundersen on 2013-10-14.\n\nOS X code was contributed by Gerolf Seitz on 2013-10-15.\n\nDerived @Generic@, @Typeable@ and other instances for @Clock@ and @TimeSpec@ was contributed by Mathieu Boespflug on 2014-09-17.\n\nCorrected dependency listing for @GHC < 7.6@ was contributed by Brian McKenna on 2014-09-30.\n\nWindows code corrected by Dimitri Sabadie on 2015-02-09.\n\nAdded @timeSpecAsNanoSecs@ as observed widely-used by Chris Done on 2015-01-06, exported correctly on 2015-04-20.\n\nImported Control.Applicative operators correctly for Haskell Platform on Windows on 2015-04-21.\n\nUnit tests and instance fixes by Christian Burger on 2015-06-25.\n\nRemoval of fromInteger : Integer -> TimeSpec by Cetin Sert on 2015-12-15.\n\nNew Linux-specific Clocks: MonotonicRaw, Boottime, MonotonicCoarse, RealtimeCoarse by Cetin Sert on 2015-12-15.\n\nReintroduction fromInteger : Integer -> TimeSpec by Cetin Sert on 2016-04-05.\n\nFixes for older Linux build failures introduced by new Linux-specific clocks by Mario Longobardi on 2016-04-18.\n\nRefreshment release in 2019-04 after numerous contributions.\n\nRefactoring for Windows, Mac implementation consistence by Alexander Vershilov on 2021-01-16.\n\n[Version Scheme]\nMajor-@/R/@-ewrite . New-@/F/@-unctionality . @/I/@-mprovementAndBugFixes . @/P/@-ackagingOnly\n\n* @PackagingOnly@ changes are made for quality assurance reasons."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ (hsPkgs."base" or (errorHandler.buildDepError "base")) ]; + buildable = true; + }; + tests = { + "test" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."tasty" or (errorHandler.buildDepError "tasty")) + (hsPkgs."tasty-quickcheck" or (errorHandler.buildDepError "tasty-quickcheck")) + (hsPkgs."clock" or (errorHandler.buildDepError "clock")) + ]; + buildable = true; + }; + }; + benchmarks = { + "benchmarks" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."criterion" or (errorHandler.buildDepError "criterion")) + (hsPkgs."clock" or (errorHandler.buildDepError "clock")) + ]; + buildable = true; + }; + }; + }; + } // { + src = (pkgs.lib).mkDefault (pkgs.fetchurl { + url = "http://hackage.haskell.org/package/clock-0.8.3.tar.gz"; + sha256 = "845ce5db4c98cefd517323e005f87effceff886987305e421c4ef616dc0505d1"; + }); + }) // { + package-description-override = "cabal-version: >= 1.10\nname: clock\nversion: 0.8.3\nstability: stable\nsynopsis: High-resolution clock functions: monotonic, realtime, cputime.\ndescription: A package for convenient access to high-resolution clock and\n timer functions of different operating systems via a unified API.\n .\n POSIX code and surface API was developed by Cetin Sert in 2009.\n .\n Windows code was contributed by Eugene Kirpichov in 2010.\n .\n FreeBSD code was contributed by Finn Espen Gundersen on 2013-10-14.\n .\n OS X code was contributed by Gerolf Seitz on 2013-10-15.\n .\n Derived @Generic@, @Typeable@ and other instances for @Clock@ and @TimeSpec@ was contributed by Mathieu Boespflug on 2014-09-17.\n .\n Corrected dependency listing for @GHC < 7.6@ was contributed by Brian McKenna on 2014-09-30.\n .\n Windows code corrected by Dimitri Sabadie on 2015-02-09.\n .\n Added @timeSpecAsNanoSecs@ as observed widely-used by Chris Done on 2015-01-06, exported correctly on 2015-04-20.\n .\n Imported Control.Applicative operators correctly for Haskell Platform on Windows on 2015-04-21.\n .\n Unit tests and instance fixes by Christian Burger on 2015-06-25.\n .\n Removal of fromInteger : Integer -> TimeSpec by Cetin Sert on 2015-12-15.\n .\n New Linux-specific Clocks: MonotonicRaw, Boottime, MonotonicCoarse, RealtimeCoarse by Cetin Sert on 2015-12-15.\n .\n Reintroduction fromInteger : Integer -> TimeSpec by Cetin Sert on 2016-04-05.\n .\n Fixes for older Linux build failures introduced by new Linux-specific clocks by Mario Longobardi on 2016-04-18.\n .\n Refreshment release in 2019-04 after numerous contributions.\n .\n Refactoring for Windows, Mac implementation consistence by Alexander Vershilov on 2021-01-16.\n .\n [Version Scheme]\n Major-@/R/@-ewrite . New-@/F/@-unctionality . @/I/@-mprovementAndBugFixes . @/P/@-ackagingOnly\n .\n * @PackagingOnly@ changes are made for quality assurance reasons.\n\ncopyright: Copyright © Cetin Sert 2009-2016, Eugene Kirpichov 2010, Finn Espen Gundersen 2013, Gerolf Seitz 2013, Mathieu Boespflug 2014 2015, Chris Done 2015, Dimitri Sabadie 2015, Christian Burger 2015, Mario Longobardi 2016, Alexander Vershilov 2021.\nlicense: BSD3\nlicense-file: LICENSE\nauthor: Cetin Sert , Corsis Research\nmaintainer: Cetin Sert , Corsis Research\nhomepage: https://github.com/corsis/clock\nbug-reports: https://github.com/corsis/clock/issues\ncategory: System\nbuild-type: Simple\n\ntested-with:\n GHC == 9.2.1\n GHC == 9.0.2\n GHC == 8.10.7\n GHC == 8.8.4\n GHC == 8.6.5\n GHC == 8.4.4\n GHC == 8.2.2\n GHC == 8.0.2\n GHC == 7.10.3\n GHC == 7.8.4\n\nextra-source-files:\n CHANGELOG.md\n\n\nsource-repository head\n type: git\n location: git://github.com/corsis/clock.git\n\n\nflag llvm\n description: compile via LLVM\n default : False\n\n\nlibrary\n build-depends: base >= 4.7 && < 5\n\n exposed-modules: System.Clock\n System.Clock.Seconds\n\n default-language: Haskell2010\n default-extensions: DeriveGeneric\n DeriveDataTypeable\n ForeignFunctionInterface\n ScopedTypeVariables\n ViewPatterns\n GeneralizedNewtypeDeriving\n if os(windows)\n c-sources: cbits/hs_clock_win32.c\n include-dirs: cbits\n ghc-options: -O3 -Wall\n\n if flag(llvm)\n ghc-options: -fllvm -optlo-O3\n\n\ntest-suite test\n default-language: Haskell2010\n default-extensions: ScopedTypeVariables\n GeneralizedNewtypeDeriving\n StandaloneDeriving\n type:\n exitcode-stdio-1.0\n hs-source-dirs:\n tests\n main-is:\n test.hs\n build-depends:\n base\n , tasty >= 0.10\n , tasty-quickcheck\n , clock\n\nbenchmark benchmarks\n default-language: Haskell2010\n type:\n exitcode-stdio-1.0\n hs-source-dirs:\n bench\n main-is:\n benchmarks.hs\n build-depends:\n base\n , criterion\n , clock\n"; + } \ No newline at end of file diff --git a/materialized/ghc928/hadrian-ghc98/hadrian/cabal-files/cryptohash-sha256.nix b/materialized/ghc928/hadrian-ghc98/hadrian/cabal-files/cryptohash-sha256.nix new file mode 100644 index 0000000000..5d4a3157f0 --- /dev/null +++ b/materialized/ghc928/hadrian-ghc98/hadrian/cabal-files/cryptohash-sha256.nix @@ -0,0 +1,84 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = { exe = false; use-cbits = true; }; + package = { + specVersion = "2.0"; + identifier = { name = "cryptohash-sha256"; version = "0.11.102.1"; }; + license = "BSD-3-Clause"; + copyright = "Vincent Hanquez, Herbert Valerio Riedel"; + maintainer = "Herbert Valerio Riedel "; + author = ""; + homepage = "https://github.com/hvr/cryptohash-sha256"; + url = ""; + synopsis = "Fast, pure and practical SHA-256 implementation"; + description = "A practical incremental and one-pass, pure API to\nthe [SHA-256 cryptographic hash algorithm](https://en.wikipedia.org/wiki/SHA-2) according\nto [FIPS 180-4](http://dx.doi.org/10.6028/NIST.FIPS.180-4)\nwith performance close to the fastest implementations available in other languages.\n\nThe core SHA-256 algorithm is implemented in C and is thus expected\nto be as fast as the standard [sha256sum(1) tool](https://linux.die.net/man/1/sha256sum);\nfor instance, on an /Intel Core i7-3770/ at 3.40GHz this implementation can\ncompute a SHA-256 hash over 230 MiB of data in under one second.\n(If, instead, you require a pure Haskell implementation and performance is secondary, please refer to the [SHA package](https://hackage.haskell.org/package/SHA).)\n\n\nAdditionally, this package provides support for\n\n- HMAC-SHA-256: SHA-256-based [Hashed Message Authentication Codes](https://en.wikipedia.org/wiki/HMAC) (HMAC)\n- HKDF-SHA-256: [HMAC-SHA-256-based Key Derivation Function](https://en.wikipedia.org/wiki/HKDF) (HKDF)\n\nconforming to [RFC6234](https://tools.ietf.org/html/rfc6234), [RFC4231](https://tools.ietf.org/html/rfc4231), [RFC5869](https://tools.ietf.org/html/rfc5869), et al..\n\n=== Relationship to the @cryptohash@ package and its API\n\nThis package has been originally a fork of @cryptohash-0.11.7@ because the @cryptohash@\npackage had been deprecated and so this package continues to satisfy the need for a\nlightweight package providing the SHA-256 hash algorithm without any dependencies on packages\nother than @base@ and @bytestring@. The API exposed by @cryptohash-sha256-0.11.*@'s\n\"Crypto.Hash.SHA256\" module is guaranteed to remain a compatible superset of the API provided\nby the @cryptohash-0.11.7@'s module of the same name.\n\nConsequently, this package is designed to be used as a drop-in replacement for @cryptohash-0.11.7@'s\n\"Crypto.Hash.SHA256\" module, though with\na [clearly smaller footprint by almost 3 orders of magnitude](https://www.reddit.com/r/haskell/comments/5lxv75/psa_please_use_unique_module_names_when_uploading/dbzegx3/)."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + ] ++ (if flags.use-cbits + then [ + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + ] + else [ + (hsPkgs."cryptohash-sha256-pure" or (errorHandler.buildDepError "cryptohash-sha256-pure")) + ]); + buildable = true; + }; + exes = { + "sha256sum" = { + depends = (pkgs.lib).optionals (flags.exe) [ + (hsPkgs."cryptohash-sha256" or (errorHandler.buildDepError "cryptohash-sha256")) + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."base16-bytestring" or (errorHandler.buildDepError "base16-bytestring")) + ]; + buildable = if flags.exe then true else false; + }; + }; + tests = { + "test-sha256" = { + depends = [ + (hsPkgs."cryptohash-sha256" or (errorHandler.buildDepError "cryptohash-sha256")) + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."base16-bytestring" or (errorHandler.buildDepError "base16-bytestring")) + (hsPkgs."SHA" or (errorHandler.buildDepError "SHA")) + (hsPkgs."tasty" or (errorHandler.buildDepError "tasty")) + (hsPkgs."tasty-quickcheck" or (errorHandler.buildDepError "tasty-quickcheck")) + (hsPkgs."tasty-hunit" or (errorHandler.buildDepError "tasty-hunit")) + ]; + buildable = true; + }; + }; + benchmarks = { + "bench-sha256" = { + depends = [ + (hsPkgs."cryptohash-sha256" or (errorHandler.buildDepError "cryptohash-sha256")) + (hsPkgs."SHA" or (errorHandler.buildDepError "SHA")) + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."criterion" or (errorHandler.buildDepError "criterion")) + ]; + buildable = true; + }; + }; + }; + } // { + src = (pkgs.lib).mkDefault (pkgs.fetchurl { + url = "http://hackage.haskell.org/package/cryptohash-sha256-0.11.102.1.tar.gz"; + sha256 = "73a7dc7163871a80837495039a099967b11f5c4fe70a118277842f7a713c6bf6"; + }); + }) // { + package-description-override = "cabal-version: 2.0\nname: cryptohash-sha256\nversion: 0.11.102.1\nx-revision: 2\n\nsynopsis: Fast, pure and practical SHA-256 implementation\ndescription: {\n\nA practical incremental and one-pass, pure API to\nthe [SHA-256 cryptographic hash algorithm](https://en.wikipedia.org/wiki/SHA-2) according\nto [FIPS 180-4](http://dx.doi.org/10.6028/NIST.FIPS.180-4)\nwith performance close to the fastest implementations available in other languages.\n.\nThe core SHA-256 algorithm is implemented in C and is thus expected\nto be as fast as the standard [sha256sum(1) tool](https://linux.die.net/man/1/sha256sum);\nfor instance, on an /Intel Core i7-3770/ at 3.40GHz this implementation can\ncompute a SHA-256 hash over 230 MiB of data in under one second.\n(If, instead, you require a pure Haskell implementation and performance is secondary, please refer to the [SHA package](https://hackage.haskell.org/package/SHA).)\n.\n\n.\nAdditionally, this package provides support for\n.\n- HMAC-SHA-256: SHA-256-based [Hashed Message Authentication Codes](https://en.wikipedia.org/wiki/HMAC) (HMAC)\n- HKDF-SHA-256: [HMAC-SHA-256-based Key Derivation Function](https://en.wikipedia.org/wiki/HKDF) (HKDF)\n.\nconforming to [RFC6234](https://tools.ietf.org/html/rfc6234), [RFC4231](https://tools.ietf.org/html/rfc4231), [RFC5869](https://tools.ietf.org/html/rfc5869), et al..\n.\n=== Relationship to the @cryptohash@ package and its API\n.\nThis package has been originally a fork of @cryptohash-0.11.7@ because the @cryptohash@\npackage had been deprecated and so this package continues to satisfy the need for a\nlightweight package providing the SHA-256 hash algorithm without any dependencies on packages\nother than @base@ and @bytestring@. The API exposed by @cryptohash-sha256-0.11.*@'s\n\"Crypto.Hash.SHA256\" module is guaranteed to remain a compatible superset of the API provided\nby the @cryptohash-0.11.7@'s module of the same name.\n.\nConsequently, this package is designed to be used as a drop-in replacement for @cryptohash-0.11.7@'s\n\"Crypto.Hash.SHA256\" module, though with\na [clearly smaller footprint by almost 3 orders of magnitude](https://www.reddit.com/r/haskell/comments/5lxv75/psa_please_use_unique_module_names_when_uploading/dbzegx3/).\n\n}\n\nlicense: BSD3\nlicense-file: LICENSE\ncopyright: Vincent Hanquez, Herbert Valerio Riedel\nmaintainer: Herbert Valerio Riedel \nhomepage: https://github.com/hvr/cryptohash-sha256\nbug-reports: https://github.com/hvr/cryptohash-sha256/issues\ncategory: Data, Cryptography\nbuild-type: Simple\n\ntested-with:\n GHC == 9.6.1\n GHC == 9.4.4\n GHC == 9.2.7\n GHC == 9.0.2\n GHC == 8.10.7\n GHC == 8.8.4\n GHC == 8.6.5\n GHC == 8.4.4\n GHC == 8.2.2\n GHC == 8.0.2\n GHC == 7.10.3\n GHC == 7.8.4\n GHC == 7.6.3\n GHC == 7.4.2\n\nextra-source-files: cbits/hs_sha256.h\n changelog.md\n\nsource-repository head\n type: git\n location: https://github.com/hvr/cryptohash-sha256.git\n\nflag exe\n description: Enable building @sha256sum@ executable\n manual: True\n default: False\n\nflag use-cbits\n description: Use fast optimized C routines via FFI; if flag is disabled falls back to non-FFI Haskell optimized implementation.\n manual: True\n default: True\n\nlibrary\n default-language: Haskell2010\n\n ghc-options: -Wall\n\n build-depends: base >= 4.5 && < 4.19\n\n exposed-modules: Crypto.Hash.SHA256\n\n if flag(use-cbits)\n build-depends: bytestring ^>= 0.9.2 || ^>= 0.10.0 || ^>= 0.11.0\n\n other-extensions: BangPatterns\n CApiFFI\n CPP\n Trustworthy\n Unsafe\n\n hs-source-dirs: src\n other-modules: Crypto.Hash.SHA256.FFI\n Compat\n include-dirs: cbits\n else\n hs-source-dirs: src-pure\n build-depends: cryptohash-sha256-pure ^>= 0.1.0\n\nexecutable sha256sum\n default-language: Haskell2010\n hs-source-dirs: src-exe\n main-is: sha256sum.hs\n ghc-options: -Wall -threaded\n if flag(exe)\n other-extensions: RecordWildCards\n build-depends: cryptohash-sha256\n , base\n , bytestring\n\n , base16-bytestring ^>= 0.1.1 || ^>= 1.0.0\n else\n buildable: False\n\ntest-suite test-sha256\n default-language: Haskell2010\n other-extensions: OverloadedStrings\n type: exitcode-stdio-1.0\n hs-source-dirs: src-tests\n main-is: test-sha256.hs\n ghc-options: -Wall -threaded\n build-depends: cryptohash-sha256\n , base\n , bytestring\n\n , base16-bytestring ^>= 0.1.1 || ^>= 1.0.0\n , SHA ^>= 1.6.4\n , tasty ^>= 1.4\n , tasty-quickcheck ^>= 0.10\n , tasty-hunit ^>= 0.10\n\nbenchmark bench-sha256\n default-language: Haskell2010\n other-extensions: BangPatterns\n type: exitcode-stdio-1.0\n main-is: bench-sha256.hs\n hs-source-dirs: src-bench\n build-depends: cryptohash-sha256\n , SHA ^>= 1.6.4\n , base\n , bytestring\n , criterion ^>= 1.5 || ^>=1.6\n\n -- not yet public\n -- build-depends: cryptohash-sha256-pure ^>= 0.1.0\n"; + } \ No newline at end of file diff --git a/materialized/ghc928/hadrian-ghc98/hadrian/cabal-files/data-array-byte.nix b/materialized/ghc928/hadrian-ghc98/hadrian/cabal-files/data-array-byte.nix new file mode 100644 index 0000000000..c0d9745691 --- /dev/null +++ b/materialized/ghc928/hadrian-ghc98/hadrian/cabal-files/data-array-byte.nix @@ -0,0 +1,55 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = {}; + package = { + specVersion = "1.10"; + identifier = { name = "data-array-byte"; version = "0.1.0.1"; }; + license = "BSD-3-Clause"; + copyright = "(c) Roman Leshchinskiy 2009-2012"; + maintainer = "andrew.lelechenko@gmail.com"; + author = "Roman Leshchinskiy "; + homepage = "https://github.com/Bodigrim/data-array-byte"; + url = ""; + synopsis = "Compatibility layer for Data.Array.Byte"; + description = "Compatibility layer for [Data.Array.Byte](https://hackage.haskell.org/package/base/docs/Data-Array-Byte.html), providing boxed wrappers for @ByteArray#@ and @MutableByteArray#@ and relevant instances for GHC < 9.4. Include it into your Cabal file:\n\n> build-depends: base\n> if impl(ghc < 9.4)\n> build-depends: data-array-byte\n\nand then @import Data.Array.Byte@ unconditionally."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."template-haskell" or (errorHandler.buildDepError "template-haskell")) + ]; + buildable = true; + }; + tests = { + "data-array-byte-tests" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."data-array-byte" or (errorHandler.buildDepError "data-array-byte")) + (hsPkgs."quickcheck-classes-base" or (errorHandler.buildDepError "quickcheck-classes-base")) + (hsPkgs."tasty" or (errorHandler.buildDepError "tasty")) + (hsPkgs."tasty-quickcheck" or (errorHandler.buildDepError "tasty-quickcheck")) + (hsPkgs."template-haskell" or (errorHandler.buildDepError "template-haskell")) + ]; + buildable = true; + }; + }; + }; + } // { + src = (pkgs.lib).mkDefault (pkgs.fetchurl { + url = "http://hackage.haskell.org/package/data-array-byte-0.1.0.1.tar.gz"; + sha256 = "1bb6eca0b3e02d057fe7f4e14c81ef395216f421ab30fdaa1b18017c9c025600"; + }); + }) // { + package-description-override = "cabal-version: >=1.10\r\nname: data-array-byte\r\nversion: 0.1.0.1\r\nx-revision: 1\r\nlicense: BSD3\r\nlicense-file: LICENSE\r\ncopyright: (c) Roman Leshchinskiy 2009-2012\r\nmaintainer: andrew.lelechenko@gmail.com\r\nauthor: Roman Leshchinskiy \r\ntested-with:\r\n ghc ==8.0.2 ghc ==8.2.2 ghc ==8.4.4 ghc ==8.6.5 ghc ==8.8.4\r\n ghc ==8.10.7 ghc ==9.0.2 ghc ==9.2.4 ghc ==9.4.2\r\n\r\nhomepage: https://github.com/Bodigrim/data-array-byte\r\nbug-reports: https://github.com/Bodigrim/data-array-byte/issues\r\nsynopsis: Compatibility layer for Data.Array.Byte\r\ndescription:\r\n Compatibility layer for [Data.Array.Byte](https://hackage.haskell.org/package/base/docs/Data-Array-Byte.html), providing boxed wrappers for @ByteArray#@ and @MutableByteArray#@ and relevant instances for GHC < 9.4. Include it into your Cabal file:\r\n .\r\n > build-depends: base\r\n > if impl(ghc < 9.4)\r\n > build-depends: data-array-byte\r\n .\r\n and then @import Data.Array.Byte@ unconditionally.\r\n\r\ncategory: Compatibility\r\nbuild-type: Simple\r\nextra-source-files:\r\n changelog.md\r\n README.md\r\n\r\nsource-repository head\r\n type: git\r\n location: https://github.com/Bodigrim/data-array-byte\r\n\r\nlibrary\r\n default-language: Haskell2010\r\n ghc-options: -Wall\r\n build-depends:\r\n base >=4.9 && <4.19,\r\n deepseq >=1.4 && <1.5,\r\n template-haskell >=2.11 && <2.21\r\n\r\n if impl(ghc <9.4)\r\n exposed-modules: Data.Array.Byte\r\n\r\ntest-suite data-array-byte-tests\r\n type: exitcode-stdio-1.0\r\n main-is: Main.hs\r\n hs-source-dirs: test\r\n default-language: Haskell2010\r\n ghc-options: -Wall\r\n build-depends:\r\n base,\r\n data-array-byte,\r\n quickcheck-classes-base >=0.6 && <0.7,\r\n tasty >=1.4 && <1.5,\r\n tasty-quickcheck >=0.10 && <0.11,\r\n template-haskell\r\n"; + } \ No newline at end of file diff --git a/materialized/ghc928/hadrian-ghc98/hadrian/cabal-files/extra.nix b/materialized/ghc928/hadrian-ghc98/hadrian/cabal-files/extra.nix new file mode 100644 index 0000000000..450be82c4b --- /dev/null +++ b/materialized/ghc928/hadrian-ghc98/hadrian/cabal-files/extra.nix @@ -0,0 +1,58 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = {}; + package = { + specVersion = "1.18"; + identifier = { name = "extra"; version = "1.7.14"; }; + license = "BSD-3-Clause"; + copyright = "Neil Mitchell 2014-2023"; + maintainer = "Neil Mitchell "; + author = "Neil Mitchell "; + homepage = "https://github.com/ndmitchell/extra#readme"; + url = ""; + synopsis = "Extra functions I use."; + description = "A library of extra functions for the standard Haskell libraries. Most functions are simple additions, filling out missing functionality. A few functions are available in later versions of GHC, but this package makes them available back to GHC 7.2.\n\nThe module \"Extra\" documents all functions provided by this library. Modules such as \"Data.List.Extra\" provide extra functions over \"Data.List\" and also reexport \"Data.List\". Users are recommended to replace \"Data.List\" imports with \"Data.List.Extra\" if they need the extra functionality."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."process" or (errorHandler.buildDepError "process")) + (hsPkgs."clock" or (errorHandler.buildDepError "clock")) + (hsPkgs."time" or (errorHandler.buildDepError "time")) + ] ++ (pkgs.lib).optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix")); + buildable = true; + }; + tests = { + "extra-test" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."extra" or (errorHandler.buildDepError "extra")) + (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")) + (hsPkgs."quickcheck-instances" or (errorHandler.buildDepError "quickcheck-instances")) + ] ++ (pkgs.lib).optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix")); + buildable = true; + }; + }; + }; + } // { + src = (pkgs.lib).mkDefault (pkgs.fetchurl { + url = "http://hackage.haskell.org/package/extra-1.7.14.tar.gz"; + sha256 = "b6a909f8f0e4b8076a1653b4d34815a782f0a8c1e83d5267f4d00496471ef567"; + }); + }) // { + package-description-override = "cabal-version: 1.18\nbuild-type: Simple\nname: extra\nversion: 1.7.14\nlicense: BSD3\nlicense-file: LICENSE\ncategory: Development\nauthor: Neil Mitchell \nmaintainer: Neil Mitchell \ncopyright: Neil Mitchell 2014-2023\nsynopsis: Extra functions I use.\ndescription:\n A library of extra functions for the standard Haskell libraries. Most functions are simple additions, filling out missing functionality. A few functions are available in later versions of GHC, but this package makes them available back to GHC 7.2.\n .\n The module \"Extra\" documents all functions provided by this library. Modules such as \"Data.List.Extra\" provide extra functions over \"Data.List\" and also reexport \"Data.List\". Users are recommended to replace \"Data.List\" imports with \"Data.List.Extra\" if they need the extra functionality.\nhomepage: https://github.com/ndmitchell/extra#readme\nbug-reports: https://github.com/ndmitchell/extra/issues\ntested-with: GHC==9.6, GHC==9.4, GHC==9.2, GHC==9.0, GHC==8.10, GHC==8.8\n\nextra-doc-files:\n CHANGES.txt\n README.md\nextra-source-files:\n Generate.hs\n\nsource-repository head\n type: git\n location: https://github.com/ndmitchell/extra.git\n\nlibrary\n default-language: Haskell2010\n hs-source-dirs: src\n build-depends:\n base >= 4.9 && < 5,\n directory,\n filepath,\n process,\n clock >= 0.7,\n time\n if !os(windows)\n build-depends: unix\n\n other-modules:\n Partial\n exposed-modules:\n Extra\n Control.Concurrent.Extra\n Control.Exception.Extra\n Control.Monad.Extra\n Data.Foldable.Extra\n Data.Either.Extra\n Data.IORef.Extra\n Data.List.Extra\n Data.List.NonEmpty.Extra\n Data.Monoid.Extra\n Data.Tuple.Extra\n Data.Typeable.Extra\n Data.Version.Extra\n Numeric.Extra\n System.Directory.Extra\n System.Environment.Extra\n System.Info.Extra\n System.IO.Extra\n System.Process.Extra\n System.Time.Extra\n Text.Read.Extra\n\ntest-suite extra-test\n type: exitcode-stdio-1.0\n default-language: Haskell2010\n build-depends:\n base == 4.*,\n directory,\n filepath,\n extra,\n QuickCheck >= 2.10,\n quickcheck-instances >= 0.3.17\n if !os(windows)\n build-depends: unix\n hs-source-dirs: test\n ghc-options: -main-is Test -threaded \"-with-rtsopts=-N4 -K1K\"\n main-is: Test.hs\n other-modules:\n TestCustom\n TestGen\n TestUtil\n"; + } \ No newline at end of file diff --git a/materialized/ghc928/hadrian-ghc98/hadrian/cabal-files/filepattern.nix b/materialized/ghc928/hadrian-ghc98/hadrian/cabal-files/filepattern.nix new file mode 100644 index 0000000000..13bbd09e88 --- /dev/null +++ b/materialized/ghc928/hadrian-ghc98/hadrian/cabal-files/filepattern.nix @@ -0,0 +1,56 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = {}; + package = { + specVersion = "1.18"; + identifier = { name = "filepattern"; version = "0.1.3"; }; + license = "BSD-3-Clause"; + copyright = "Neil Mitchell 2011-2022"; + maintainer = "Neil Mitchell "; + author = "Neil Mitchell , Evan Rutledge Borden "; + homepage = "https://github.com/ndmitchell/filepattern#readme"; + url = ""; + synopsis = "File path glob-like matching"; + description = "A library for matching files using patterns such as @\\\"src\\/**\\/*.png\\\"@ for all @.png@ files\nrecursively under the @src@ directory. Features:\n\n* All matching is /O(n)/. Most functions precompute some information given only one argument.\n\n* See \"System.FilePattern\" and @?==@ simple matching and semantics.\n\n* Use @match@ and @substitute@ to extract suitable\nstrings from the @*@ and @**@ matches, and substitute them back into other patterns.\n\n* Use @step@ and @matchMany@ to perform bulk matching\nof many patterns against many paths simultaneously.\n\n* Use \"System.FilePattern.Directory\" to perform optimised directory traverals using patterns.\n\nOriginally taken from the ."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + (hsPkgs."extra" or (errorHandler.buildDepError "extra")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + ]; + buildable = true; + }; + tests = { + "filepattern-test" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + (hsPkgs."extra" or (errorHandler.buildDepError "extra")) + (hsPkgs."filepattern" or (errorHandler.buildDepError "filepattern")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")) + ]; + buildable = true; + }; + }; + }; + } // { + src = (pkgs.lib).mkDefault (pkgs.fetchurl { + url = "http://hackage.haskell.org/package/filepattern-0.1.3.tar.gz"; + sha256 = "cc445d439ea2f65cac7604d3578aa2c3a62e5a91dc989f4ce5b3390db9e59636"; + }); + }) // { + package-description-override = "cabal-version: 1.18\nbuild-type: Simple\nname: filepattern\nversion: 0.1.3\nlicense: BSD3\nlicense-file: LICENSE\ncategory: Development, FilePath\nauthor: Neil Mitchell , Evan Rutledge Borden \nmaintainer: Neil Mitchell \ncopyright: Neil Mitchell 2011-2022\nsynopsis: File path glob-like matching\ndescription:\n A library for matching files using patterns such as @\\\"src\\/**\\/*.png\\\"@ for all @.png@ files\n recursively under the @src@ directory. Features:\n .\n * All matching is /O(n)/. Most functions precompute some information given only one argument.\n .\n * See \"System.FilePattern\" and @?==@ simple matching and semantics.\n .\n * Use @match@ and @substitute@ to extract suitable\n strings from the @*@ and @**@ matches, and substitute them back into other patterns.\n .\n * Use @step@ and @matchMany@ to perform bulk matching\n of many patterns against many paths simultaneously.\n .\n * Use \"System.FilePattern.Directory\" to perform optimised directory traverals using patterns.\n .\n Originally taken from the .\nhomepage: https://github.com/ndmitchell/filepattern#readme\nbug-reports: https://github.com/ndmitchell/filepattern/issues\ntested-with: GHC==9.0, GHC==8.10, GHC==8.8, GHC==8.6, GHC==8.4, GHC==8.2, GHC==8.0\nextra-doc-files:\n CHANGES.txt\n README.md\n\nsource-repository head\n type: git\n location: https://github.com/ndmitchell/filepattern.git\n\nlibrary\n default-language: Haskell2010\n hs-source-dirs: src\n build-depends:\n base == 4.*,\n directory,\n extra >= 1.6.2,\n filepath\n exposed-modules:\n System.FilePattern\n System.FilePattern.Directory\n other-modules:\n System.FilePattern.Core\n System.FilePattern.ListBy\n System.FilePattern.Monads\n System.FilePattern.Step\n System.FilePattern.Tree\n System.FilePattern.Wildcard\n\n\ntest-suite filepattern-test\n default-language: Haskell2010\n type: exitcode-stdio-1.0\n main-is: Test.hs\n hs-source-dirs: test\n build-depends:\n base == 4.*,\n directory,\n extra,\n filepattern,\n filepath,\n QuickCheck >= 2.0\n other-modules:\n Test.Cases\n Test.Util\n"; + } \ No newline at end of file diff --git a/materialized/ghc928/hadrian-ghc98/hadrian/cabal-files/hashable.nix b/materialized/ghc928/hadrian-ghc98/hadrian/cabal-files/hashable.nix new file mode 100644 index 0000000000..288fdf7407 --- /dev/null +++ b/materialized/ghc928/hadrian-ghc98/hadrian/cabal-files/hashable.nix @@ -0,0 +1,82 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = { integer-gmp = true; random-initial-seed = false; }; + package = { + specVersion = "1.12"; + identifier = { name = "hashable"; version = "1.4.2.0"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "Oleg Grenrus "; + author = "Milan Straka \nJohan Tibell "; + homepage = "http://github.com/haskell-unordered-containers/hashable"; + url = ""; + synopsis = "A class for types that can be converted to a hash value"; + description = "This package defines a class, 'Hashable', for types that\ncan be converted to a hash value. This class\nexists for the benefit of hashing-based data\nstructures. The package provides instances for\nbasic types and a way to combine hash values."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = (([ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + (hsPkgs."text" or (errorHandler.buildDepError "text")) + ] ++ (pkgs.lib).optional (!(compiler.isGhc && (compiler.version).ge "9.2")) (hsPkgs."base-orphans" or (errorHandler.buildDepError "base-orphans"))) ++ (pkgs.lib).optional (!(compiler.isGhc && (compiler.version).ge "9.4")) (hsPkgs."data-array-byte" or (errorHandler.buildDepError "data-array-byte"))) ++ (if compiler.isGhc && (compiler.version).ge "9" + then [ + (hsPkgs."ghc-bignum" or (errorHandler.buildDepError "ghc-bignum")) + ] ++ (pkgs.lib).optional (!(compiler.isGhc && (compiler.version).ge "9.0.2")) (hsPkgs."ghc-bignum-orphans" or (errorHandler.buildDepError "ghc-bignum-orphans")) + else if flags.integer-gmp + then [ + (hsPkgs."integer-gmp" or (errorHandler.buildDepError "integer-gmp")) + ] + else [ + (hsPkgs."integer-simple" or (errorHandler.buildDepError "integer-simple")) + ]); + buildable = true; + }; + tests = { + "hashable-tests" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + (hsPkgs."hashable" or (errorHandler.buildDepError "hashable")) + (hsPkgs."HUnit" or (errorHandler.buildDepError "HUnit")) + (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")) + (hsPkgs."random" or (errorHandler.buildDepError "random")) + (hsPkgs."test-framework" or (errorHandler.buildDepError "test-framework")) + (hsPkgs."test-framework-hunit" or (errorHandler.buildDepError "test-framework-hunit")) + (hsPkgs."test-framework-quickcheck2" or (errorHandler.buildDepError "test-framework-quickcheck2")) + (hsPkgs."text" or (errorHandler.buildDepError "text")) + ] ++ (pkgs.lib).optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix")); + buildable = true; + }; + "hashable-examples" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + (hsPkgs."hashable" or (errorHandler.buildDepError "hashable")) + ]; + buildable = true; + }; + }; + }; + } // { + src = (pkgs.lib).mkDefault (pkgs.fetchurl { + url = "http://hackage.haskell.org/package/hashable-1.4.2.0.tar.gz"; + sha256 = "1b4000ea82b81f69d46d0af4152c10c6303873510738e24cfc4767760d30e3f8"; + }); + }) // { + package-description-override = "cabal-version: 1.12\nname: hashable\nversion: 1.4.2.0\nx-revision: 1\nsynopsis: A class for types that can be converted to a hash value\ndescription:\n This package defines a class, 'Hashable', for types that\n can be converted to a hash value. This class\n exists for the benefit of hashing-based data\n structures. The package provides instances for\n basic types and a way to combine hash values.\n\nhomepage: http://github.com/haskell-unordered-containers/hashable\n\n-- SPDX-License-Identifier : BSD-3-Clause\nlicense: BSD3\nlicense-file: LICENSE\nauthor:\n Milan Straka \n Johan Tibell \n\nmaintainer: Oleg Grenrus \nbug-reports:\n https://github.com/haskell-unordered-containers/hashable/issues\n\nstability: Provisional\ncategory: Data\nbuild-type: Simple\ntested-with:\n GHC ==8.2.2\n || ==8.4.4\n || ==8.6.5\n || ==8.8.3\n || ==8.10.4\n || ==8.10.7\n || ==9.0.1\n || ==9.0.2\n || ==9.2.5\n || ==9.4.4\n || ==9.6.1\n\nextra-source-files:\n CHANGES.md\n include/HsHashable.h\n README.md\n\nflag integer-gmp\n description:\n Are we using @integer-gmp@ to provide fast Integer instances? No effect on GHC-9.0 or later.\n\n manual: False\n default: True\n\nflag random-initial-seed\n description:\n Randomly initialize the initial seed on each final executable invocation\n This is useful for catching cases when you rely on (non-existent)\n stability of hashable's hash functions.\n This is not a security feature.\n\n manual: True\n default: False\n\nlibrary\n exposed-modules:\n Data.Hashable\n Data.Hashable.Generic\n Data.Hashable.Lifted\n\n other-modules:\n Data.Hashable.Class\n Data.Hashable.Generic.Instances\n Data.Hashable.Imports\n Data.Hashable.LowLevel\n\n c-sources: cbits/fnv.c\n include-dirs: include\n hs-source-dirs: src\n build-depends:\n base >=4.10.1.0 && <4.19\n , bytestring >=0.10.8.2 && <0.12\n , containers >=0.5.10.2 && <0.7\n , deepseq >=1.4.3.0 && <1.5\n , filepath >=1.4.1.2 && <1.5\n , ghc-prim\n , text >=1.2.3.0 && <1.3 || >=2.0 && <2.1\n\n if !impl(ghc >=9.2)\n build-depends: base-orphans >=0.8.6 && <0.10\n\n if !impl(ghc >=9.4)\n build-depends: data-array-byte >=0.1.0.1 && <0.2\n\n -- Integer internals\n if impl(ghc >=9)\n build-depends: ghc-bignum >=1.0 && <1.4\n\n if !impl(ghc >=9.0.2)\n build-depends: ghc-bignum-orphans >=0.1 && <0.2\n\n else\n if flag(integer-gmp)\n build-depends: integer-gmp >=0.4 && <1.1\n\n else\n -- this is needed for the automatic flag to be well-balanced\n build-depends: integer-simple\n\n if (flag(random-initial-seed) && impl(ghc))\n cpp-options: -DHASHABLE_RANDOM_SEED=1\n\n if os(windows)\n c-sources: cbits-win/init.c\n\n else\n c-sources: cbits-unix/init.c\n\n default-language: Haskell2010\n other-extensions:\n BangPatterns\n CPP\n DeriveDataTypeable\n FlexibleContexts\n FlexibleInstances\n GADTs\n KindSignatures\n MagicHash\n MultiParamTypeClasses\n ScopedTypeVariables\n Trustworthy\n TypeOperators\n UnliftedFFITypes\n\n ghc-options: -Wall -fwarn-tabs\n\n if impl(ghc >=9.0)\n -- these flags may abort compilation with GHC-8.10\n -- https://gitlab.haskell.org/ghc/ghc/-/merge_requests/3295\n ghc-options: -Winferred-safe-imports -Wmissing-safe-haskell-mode\n\ntest-suite hashable-tests\n type: exitcode-stdio-1.0\n hs-source-dirs: tests\n main-is: Main.hs\n other-modules:\n Properties\n Regress\n\n build-depends:\n base\n , bytestring\n , ghc-prim\n , hashable\n , HUnit\n , QuickCheck >=2.4.0.1\n , random >=1.0 && <1.3\n , test-framework >=0.3.3\n , test-framework-hunit\n , test-framework-quickcheck2 >=0.2.9\n , text >=0.11.0.5\n\n if !os(windows)\n build-depends: unix\n cpp-options: -DHAVE_MMAP\n other-modules: Regress.Mmap\n other-extensions: CApiFFI\n\n ghc-options: -Wall -fno-warn-orphans\n default-language: Haskell2010\n\ntest-suite hashable-examples\n type: exitcode-stdio-1.0\n build-depends:\n base\n , ghc-prim\n , hashable\n\n hs-source-dirs: examples\n main-is: Main.hs\n default-language: Haskell2010\n\nsource-repository head\n type: git\n location:\n https://github.com/haskell-unordered-containers/hashable.git\n"; + } \ No newline at end of file diff --git a/materialized/ghc928/hadrian-ghc98/hadrian/cabal-files/heaps.nix b/materialized/ghc928/hadrian-ghc98/hadrian/cabal-files/heaps.nix new file mode 100644 index 0000000000..dc77aed1f4 --- /dev/null +++ b/materialized/ghc928/hadrian-ghc98/hadrian/cabal-files/heaps.nix @@ -0,0 +1,38 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = {}; + package = { + specVersion = "1.10"; + identifier = { name = "heaps"; version = "0.4"; }; + license = "BSD-3-Clause"; + copyright = "(c) 2010-2015 Edward A. Kmett"; + maintainer = "Edward A. Kmett "; + author = "Edward A. Kmett"; + homepage = "http://github.com/ekmett/heaps/"; + url = ""; + synopsis = "Asymptotically optimal Brodal/Okasaki heaps."; + description = "Asymptotically optimal Brodal\\/Okasaki bootstrapped skew-binomial heaps from the paper , extended with a 'Foldable' interface."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ (hsPkgs."base" or (errorHandler.buildDepError "base")) ]; + buildable = true; + }; + }; + } // { + src = (pkgs.lib).mkDefault (pkgs.fetchurl { + url = "http://hackage.haskell.org/package/heaps-0.4.tar.gz"; + sha256 = "89329df8b95ae99ef272e41e7a2d0fe2f1bb7eacfcc34bc01664414b33067cfd"; + }); + }) // { + package-description-override = "name: heaps\nversion: 0.4\nlicense: BSD3\nlicense-file: LICENSE\nauthor: Edward A. Kmett\nmaintainer: Edward A. Kmett \nstability: experimental\nhomepage: http://github.com/ekmett/heaps/\nbug-reports: http://github.com/ekmett/heaps/issues\ncategory: Data Structures\nsynopsis: Asymptotically optimal Brodal/Okasaki heaps.\ndescription: Asymptotically optimal Brodal\\/Okasaki bootstrapped skew-binomial heaps from the paper , extended with a 'Foldable' interface.\ncopyright: (c) 2010-2015 Edward A. Kmett\ntested-with: GHC == 7.0.4\n , GHC == 7.2.2\n , GHC == 7.4.2\n , GHC == 7.6.3\n , GHC == 7.8.4\n , GHC == 7.10.3\n , GHC == 8.0.2\n , GHC == 8.2.2\n , GHC == 8.4.4\n , GHC == 8.6.5\n , GHC == 8.8.3\n , GHC == 8.10.1\nbuild-type: Simple\ncabal-version: >=1.10\nextra-source-files:\n .gitignore\n .hlint.yaml\n CHANGELOG.markdown\n README.markdown\n\nsource-repository head\n type: git\n location: git://github.com/ekmett/heaps.git\n\nlibrary\n exposed-modules: Data.Heap\n build-depends:\n base >= 4 && < 6\n hs-source-dirs: src\n ghc-options: -O2 -Wall\n default-language: Haskell2010\n"; + } \ No newline at end of file diff --git a/materialized/ghc928/hadrian-ghc98/hadrian/cabal-files/js-dgtable.nix b/materialized/ghc928/hadrian-ghc98/hadrian/cabal-files/js-dgtable.nix new file mode 100644 index 0000000000..0237404c41 --- /dev/null +++ b/materialized/ghc928/hadrian-ghc98/hadrian/cabal-files/js-dgtable.nix @@ -0,0 +1,47 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = {}; + package = { + specVersion = "1.18"; + identifier = { name = "js-dgtable"; version = "0.5.2"; }; + license = "MIT"; + copyright = "Neil Mitchell 2019"; + maintainer = "Neil Mitchell "; + author = "Neil Mitchell "; + homepage = "https://github.com/ndmitchell/js-dgtable#readme"; + url = ""; + synopsis = "Obtain minified jquery.dgtable code"; + description = "This package bundles the minified code into a Haskell package,\nso it can be depended upon by Cabal packages. The first three components of\nthe version number match the upstream jquery.dgtable version. The package is designed\nto meet the redistribution requirements of downstream users (e.g. Debian)."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ (hsPkgs."base" or (errorHandler.buildDepError "base")) ]; + buildable = true; + }; + tests = { + "js-dgtable-test" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."js-dgtable" or (errorHandler.buildDepError "js-dgtable")) + ]; + buildable = true; + }; + }; + }; + } // { + src = (pkgs.lib).mkDefault (pkgs.fetchurl { + url = "http://hackage.haskell.org/package/js-dgtable-0.5.2.tar.gz"; + sha256 = "e28dd65bee8083b17210134e22e01c6349dc33c3b7bd17705973cd014e9f20ac"; + }); + }) // { + package-description-override = "cabal-version: >= 1.18\nbuild-type: Simple\nname: js-dgtable\nversion: 0.5.2\nlicense: MIT\nlicense-file: LICENSE\ncategory: Javascript\nauthor: Neil Mitchell \nmaintainer: Neil Mitchell \ncopyright: Neil Mitchell 2019\nsynopsis: Obtain minified jquery.dgtable code\ndescription:\n This package bundles the minified code into a Haskell package,\n so it can be depended upon by Cabal packages. The first three components of\n the version number match the upstream jquery.dgtable version. The package is designed\n to meet the redistribution requirements of downstream users (e.g. Debian).\nhomepage: https://github.com/ndmitchell/js-dgtable#readme\nbug-reports: https://github.com/ndmitchell/js-dgtable/issues\ntested-with: GHC==8.6.4, GHC==8.4.4, GHC==8.2.2, GHC==8.0.2, GHC==7.10.3\nextra-source-files:\n javascript/jquery.dgtable.js\nextra-doc-files:\n CHANGES.txt\n README.md\n\ndata-dir: javascript\ndata-files:\n jquery.dgtable.min.js\n\nsource-repository head\n type: git\n location: https://github.com/ndmitchell/js-dgtable.git\n\nlibrary\n default-language: Haskell2010\n hs-source-dirs: src\n build-depends:\n base == 4.*\n\n exposed-modules:\n Language.Javascript.DGTable\n\n other-modules:\n Paths_js_dgtable\n\ntest-suite js-dgtable-test\n default-language: Haskell2010\n type: exitcode-stdio-1.0\n main-is: src/Test.hs\n other-modules:\n Paths_js_dgtable\n build-depends:\n base == 4.*,\n js-dgtable\n"; + } \ No newline at end of file diff --git a/materialized/ghc928/hadrian-ghc98/hadrian/cabal-files/js-flot.nix b/materialized/ghc928/hadrian-ghc98/hadrian/cabal-files/js-flot.nix new file mode 100644 index 0000000000..ba292fc8b2 --- /dev/null +++ b/materialized/ghc928/hadrian-ghc98/hadrian/cabal-files/js-flot.nix @@ -0,0 +1,47 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = {}; + package = { + specVersion = "1.10"; + identifier = { name = "js-flot"; version = "0.8.3"; }; + license = "MIT"; + copyright = "Neil Mitchell 2014"; + maintainer = "Neil Mitchell "; + author = "Neil Mitchell "; + homepage = "https://github.com/ndmitchell/js-flot#readme"; + url = ""; + synopsis = "Obtain minified flot code"; + description = "This package bundles the minified code\n(a jQuery plotting library) into a Haskell package,\nso it can be depended upon by Cabal packages. The first three components of\nthe version number match the upstream flot version. The package is designed\nto meet the redistribution requirements of downstream users (e.g. Debian)."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ (hsPkgs."base" or (errorHandler.buildDepError "base")) ]; + buildable = true; + }; + tests = { + "js-flot-test" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."HTTP" or (errorHandler.buildDepError "HTTP")) + ]; + buildable = true; + }; + }; + }; + } // { + src = (pkgs.lib).mkDefault (pkgs.fetchurl { + url = "http://hackage.haskell.org/package/js-flot-0.8.3.tar.gz"; + sha256 = "1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a"; + }); + }) // { + package-description-override = "cabal-version: >= 1.10\nbuild-type: Simple\nname: js-flot\nversion: 0.8.3\nlicense: MIT\nlicense-file: LICENSE\ncategory: Javascript\nauthor: Neil Mitchell \nmaintainer: Neil Mitchell \ncopyright: Neil Mitchell 2014\nsynopsis: Obtain minified flot code\ndescription:\n This package bundles the minified code\n (a jQuery plotting library) into a Haskell package,\n so it can be depended upon by Cabal packages. The first three components of\n the version number match the upstream flot version. The package is designed\n to meet the redistribution requirements of downstream users (e.g. Debian).\nhomepage: https://github.com/ndmitchell/js-flot#readme\nbug-reports: https://github.com/ndmitchell/js-flot/issues\ntested-with: GHC==7.8.3, GHC==7.6.3, GHC==7.4.2, GHC==7.2.2\nextra-source-files:\n javascript/flot-0.8.3.zip\n CHANGES.txt\n README.md\n\ndata-dir: javascript\ndata-files:\n jquery.flot.min.js\n jquery.flot.canvas.min.js\n jquery.flot.categories.min.js\n jquery.flot.crosshair.min.js\n jquery.flot.errorbars.min.js\n jquery.flot.fillbetween.min.js\n jquery.flot.image.min.js\n jquery.flot.navigate.min.js\n jquery.flot.pie.min.js\n jquery.flot.resize.min.js\n jquery.flot.selection.min.js\n jquery.flot.stack.min.js\n jquery.flot.symbol.min.js\n jquery.flot.threshold.min.js\n jquery.flot.time.min.js\n\nsource-repository head\n type: git\n location: https://github.com/ndmitchell/js-flot.git\n\nlibrary\n default-language: Haskell2010\n build-depends:\n base == 4.*\n\n exposed-modules:\n Language.Javascript.Flot\n\n other-modules:\n Paths_js_flot\n\ntest-suite js-flot-test\n default-language: Haskell2010\n type: exitcode-stdio-1.0\n main-is: Test.hs\n build-depends:\n base == 4.*,\n HTTP\n"; + } \ No newline at end of file diff --git a/materialized/ghc928/hadrian-ghc98/hadrian/cabal-files/js-jquery.nix b/materialized/ghc928/hadrian-ghc98/hadrian/cabal-files/js-jquery.nix new file mode 100644 index 0000000000..9ecdc931ed --- /dev/null +++ b/materialized/ghc928/hadrian-ghc98/hadrian/cabal-files/js-jquery.nix @@ -0,0 +1,48 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = {}; + package = { + specVersion = "1.18"; + identifier = { name = "js-jquery"; version = "3.3.1"; }; + license = "MIT"; + copyright = "Neil Mitchell 2014-2018"; + maintainer = "Neil Mitchell "; + author = "Neil Mitchell "; + homepage = "https://github.com/ndmitchell/js-jquery#readme"; + url = ""; + synopsis = "Obtain minified jQuery code"; + description = "This package bundles the minified code into a Haskell package,\nso it can be depended upon by Cabal packages. The first three components of\nthe version number match the upstream jQuery version. The package is designed\nto meet the redistribution requirements of downstream users (e.g. Debian)."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ (hsPkgs."base" or (errorHandler.buildDepError "base")) ]; + buildable = true; + }; + tests = { + "js-jquery-test" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."js-jquery" or (errorHandler.buildDepError "js-jquery")) + (hsPkgs."HTTP" or (errorHandler.buildDepError "HTTP")) + ]; + buildable = true; + }; + }; + }; + } // { + src = (pkgs.lib).mkDefault (pkgs.fetchurl { + url = "http://hackage.haskell.org/package/js-jquery-3.3.1.tar.gz"; + sha256 = "e0e0681f0da1130ede4e03a051630ea439c458cb97216cdb01771ebdbe44069b"; + }); + }) // { + package-description-override = "cabal-version: >= 1.18\nbuild-type: Simple\nname: js-jquery\nversion: 3.3.1\nlicense: MIT\nlicense-file: LICENSE\ncategory: Javascript\nauthor: Neil Mitchell \nmaintainer: Neil Mitchell \ncopyright: Neil Mitchell 2014-2018\nsynopsis: Obtain minified jQuery code\ndescription:\n This package bundles the minified code into a Haskell package,\n so it can be depended upon by Cabal packages. The first three components of\n the version number match the upstream jQuery version. The package is designed\n to meet the redistribution requirements of downstream users (e.g. Debian).\nhomepage: https://github.com/ndmitchell/js-jquery#readme\nbug-reports: https://github.com/ndmitchell/js-jquery/issues\ntested-with: GHC==8.2.2, GHC==8.0.2, GHC==7.10.3, GHC==7.8.4, GHC==7.6.3, GHC==7.4.2\nextra-source-files:\n javascript/jquery-3.3.1.js\nextra-doc-files:\n CHANGES.txt\n README.md\n\ndata-dir: javascript\ndata-files:\n jquery-3.3.1.min.js\n\nsource-repository head\n type: git\n location: https://github.com/ndmitchell/js-jquery.git\n\nlibrary\n default-language: Haskell2010\n hs-source-dirs: src\n build-depends:\n base == 4.*\n\n exposed-modules:\n Language.Javascript.JQuery\n\n other-modules:\n Paths_js_jquery\n\ntest-suite js-jquery-test\n default-language: Haskell2010\n type: exitcode-stdio-1.0\n main-is: src/Test.hs\n other-modules:\n Paths_js_jquery\n build-depends:\n base == 4.*,\n js-jquery,\n HTTP\n"; + } \ No newline at end of file diff --git a/materialized/ghc928/hadrian-ghc98/hadrian/cabal-files/primitive.nix b/materialized/ghc928/hadrian-ghc98/hadrian/cabal-files/primitive.nix new file mode 100644 index 0000000000..bbc2dd58da --- /dev/null +++ b/materialized/ghc928/hadrian-ghc98/hadrian/cabal-files/primitive.nix @@ -0,0 +1,73 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = {}; + package = { + specVersion = "2.0"; + identifier = { name = "primitive"; version = "0.8.0.0"; }; + license = "BSD-3-Clause"; + copyright = "(c) Roman Leshchinskiy 2009-2012"; + maintainer = "libraries@haskell.org"; + author = "Roman Leshchinskiy "; + homepage = "https://github.com/haskell/primitive"; + url = ""; + synopsis = "Primitive memory-related operations"; + description = "This package provides various primitive memory-related operations."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")) + (hsPkgs."template-haskell" or (errorHandler.buildDepError "template-haskell")) + ] ++ (pkgs.lib).optional (compiler.isGhc && (compiler.version).lt "9.4") (hsPkgs."data-array-byte" or (errorHandler.buildDepError "data-array-byte")); + buildable = true; + }; + tests = { + "test-qc" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."base-orphans" or (errorHandler.buildDepError "base-orphans")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + (hsPkgs."primitive" or (errorHandler.buildDepError "primitive")) + (hsPkgs."quickcheck-classes-base" or (errorHandler.buildDepError "quickcheck-classes-base")) + (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")) + (hsPkgs."tasty" or (errorHandler.buildDepError "tasty")) + (hsPkgs."tasty-quickcheck" or (errorHandler.buildDepError "tasty-quickcheck")) + (hsPkgs."tagged" or (errorHandler.buildDepError "tagged")) + (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")) + (hsPkgs."transformers-compat" or (errorHandler.buildDepError "transformers-compat")) + ]; + buildable = true; + }; + }; + benchmarks = { + "bench" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."primitive" or (errorHandler.buildDepError "primitive")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."tasty-bench" or (errorHandler.buildDepError "tasty-bench")) + (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")) + ]; + buildable = true; + }; + }; + }; + } // { + src = (pkgs.lib).mkDefault (pkgs.fetchurl { + url = "http://hackage.haskell.org/package/primitive-0.8.0.0.tar.gz"; + sha256 = "5553c21b4a789f9b591eed69e598cc58484c274af29250e517b5a8bcc62b995f"; + }); + }) // { + package-description-override = "Cabal-Version: 2.0\nName: primitive\nVersion: 0.8.0.0\nLicense: BSD3\nLicense-File: LICENSE\n\nAuthor: Roman Leshchinskiy \nMaintainer: libraries@haskell.org\nCopyright: (c) Roman Leshchinskiy 2009-2012\nHomepage: https://github.com/haskell/primitive\nBug-Reports: https://github.com/haskell/primitive/issues\nCategory: Data\nSynopsis: Primitive memory-related operations\nBuild-Type: Simple\nDescription: This package provides various primitive memory-related operations.\n\nExtra-Source-Files: changelog.md\n test/*.hs\n test/LICENSE\n\nTested-With:\n GHC == 8.0.2\n GHC == 8.2.2\n GHC == 8.4.4\n GHC == 8.6.5\n GHC == 8.8.4\n GHC == 8.10.7\n GHC == 9.0.2\n GHC == 9.2.5\n GHC == 9.4.4\n\nLibrary\n Default-Language: Haskell2010\n Default-Extensions:\n TypeOperators\n Other-Extensions:\n BangPatterns, CPP, DeriveDataTypeable,\n MagicHash, TypeFamilies, UnboxedTuples, UnliftedFFITypes\n\n Exposed-Modules:\n Control.Monad.Primitive\n Data.Primitive\n Data.Primitive.MachDeps\n Data.Primitive.Types\n Data.Primitive.Array\n Data.Primitive.ByteArray\n Data.Primitive.PrimArray\n Data.Primitive.SmallArray\n Data.Primitive.Ptr\n Data.Primitive.MutVar\n Data.Primitive.MVar\n Data.Primitive.PrimVar\n\n Other-Modules:\n Data.Primitive.Internal.Operations\n\n Build-Depends: base >= 4.9 && < 4.19\n , deepseq >= 1.1 && < 1.5\n , transformers >= 0.5 && < 0.7\n , template-haskell >= 2.11\n\n if impl(ghc >= 9.2)\n cpp-options: -DHAVE_KEEPALIVE\n\n if impl(ghc < 9.4)\n build-depends: data-array-byte >= 0.1 && < 0.1.1\n\n Ghc-Options: -O2\n\n Include-Dirs: cbits\n Install-Includes: primitive-memops.h\n includes: primitive-memops.h\n c-sources: cbits/primitive-memops.c\n if !os(solaris)\n cc-options: -ftree-vectorize\n if arch(i386) || arch(x86_64)\n cc-options: -msse2\n\ntest-suite test-qc\n Default-Language: Haskell2010\n hs-source-dirs: test\n test/src\n main-is: main.hs\n Other-Modules: PrimLaws\n type: exitcode-stdio-1.0\n build-depends: base\n , base-orphans\n , ghc-prim\n , primitive\n , quickcheck-classes-base >= 0.6 && <0.7\n , QuickCheck >= 2.13 && < 2.15\n , tasty ^>= 1.2 || ^>= 1.3 || ^>= 1.4\n , tasty-quickcheck\n , tagged\n , transformers >= 0.5\n , transformers-compat\n\n cpp-options: -DHAVE_UNARY_LAWS\n ghc-options: -O2\n\nbenchmark bench\n Default-Language: Haskell2010\n hs-source-dirs: bench\n main-is: main.hs\n type: exitcode-stdio-1.0\n ghc-options: -O2\n other-modules:\n Array.Traverse.Closure\n Array.Traverse.Unsafe\n ByteArray.Compare\n PrimArray.Compare\n PrimArray.Traverse\n build-depends:\n base\n , primitive\n , deepseq\n , tasty-bench\n , transformers >= 0.5\n\nsource-repository head\n type: git\n location: https://github.com/haskell/primitive\n"; + } \ No newline at end of file diff --git a/materialized/ghc928/hadrian-ghc98/hadrian/cabal-files/random.nix b/materialized/ghc928/hadrian-ghc98/hadrian/cabal-files/random.nix new file mode 100644 index 0000000000..c2f8f753b4 --- /dev/null +++ b/materialized/ghc928/hadrian-ghc98/hadrian/cabal-files/random.nix @@ -0,0 +1,113 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = {}; + package = { + specVersion = "1.10"; + identifier = { name = "random"; version = "1.2.1.1"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "core-libraries-committee@haskell.org"; + author = ""; + homepage = ""; + url = ""; + synopsis = "Pseudo-random number generation"; + description = "This package provides basic pseudo-random number generation, including the\nability to split random number generators.\n\n== \"System.Random\": pure pseudo-random number interface\n\nIn pure code, use 'System.Random.uniform' and 'System.Random.uniformR' from\n\"System.Random\" to generate pseudo-random numbers with a pure pseudo-random\nnumber generator like 'System.Random.StdGen'.\n\nAs an example, here is how you can simulate rolls of a six-sided die using\n'System.Random.uniformR':\n\n>>> let roll = uniformR (1, 6) :: RandomGen g => g -> (Word, g)\n>>> let rolls = unfoldr (Just . roll) :: RandomGen g => g -> [Word]\n>>> let pureGen = mkStdGen 42\n>>> take 10 (rolls pureGen) :: [Word]\n[1,1,3,2,4,5,3,4,6,2]\n\nSee \"System.Random\" for more details.\n\n== \"System.Random.Stateful\": monadic pseudo-random number interface\n\nIn monadic code, use 'System.Random.Stateful.uniformM' and\n'System.Random.Stateful.uniformRM' from \"System.Random.Stateful\" to generate\npseudo-random numbers with a monadic pseudo-random number generator, or\nusing a monadic adapter.\n\nAs an example, here is how you can simulate rolls of a six-sided die using\n'System.Random.Stateful.uniformRM':\n\n>>> let rollM = uniformRM (1, 6) :: StatefulGen g m => g -> m Word\n>>> let pureGen = mkStdGen 42\n>>> runStateGen_ pureGen (replicateM 10 . rollM) :: [Word]\n[1,1,3,2,4,5,3,4,6,2]\n\nThe monadic adapter 'System.Random.Stateful.runStateGen_' is used here to lift\nthe pure pseudo-random number generator @pureGen@ into the\n'System.Random.Stateful.StatefulGen' context.\n\nThe monadic interface can also be used with existing monadic pseudo-random\nnumber generators. In this example, we use the one provided in the\n package:\n\n>>> import System.Random.MWC as MWC\n>>> let rollM = uniformRM (1, 6) :: StatefulGen g m => g -> m Word\n>>> monadicGen <- MWC.create\n>>> replicateM 10 (rollM monadicGen) :: IO [Word]\n[2,3,6,6,4,4,3,1,5,4]\n\nSee \"System.Random.Stateful\" for more details."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."mtl" or (errorHandler.buildDepError "mtl")) + (hsPkgs."splitmix" or (errorHandler.buildDepError "splitmix")) + ] ++ (pkgs.lib).optional (compiler.isGhc && (compiler.version).lt "8.0") (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")); + buildable = true; + }; + tests = { + "legacy-test" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."random" or (errorHandler.buildDepError "random")) + ]; + buildable = true; + }; + "doctests" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."doctest" or (errorHandler.buildDepError "doctest")) + ] ++ (pkgs.lib).optionals (compiler.isGhc && (compiler.version).ge "8.2" && (compiler.isGhc && (compiler.version).lt "8.10")) [ + (hsPkgs."mwc-random" or (errorHandler.buildDepError "mwc-random")) + (hsPkgs."primitive" or (errorHandler.buildDepError "primitive")) + (hsPkgs."random" or (errorHandler.buildDepError "random")) + (hsPkgs."stm" or (errorHandler.buildDepError "stm")) + (hsPkgs."unliftio" or (errorHandler.buildDepError "unliftio")) + (hsPkgs."vector" or (errorHandler.buildDepError "vector")) + ]; + buildable = true; + }; + "spec" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."random" or (errorHandler.buildDepError "random")) + (hsPkgs."smallcheck" or (errorHandler.buildDepError "smallcheck")) + (hsPkgs."stm" or (errorHandler.buildDepError "stm")) + (hsPkgs."tasty" or (errorHandler.buildDepError "tasty")) + (hsPkgs."tasty-smallcheck" or (errorHandler.buildDepError "tasty-smallcheck")) + (hsPkgs."tasty-hunit" or (errorHandler.buildDepError "tasty-hunit")) + (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")) + ]; + buildable = true; + }; + "spec-inspection" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."random" or (errorHandler.buildDepError "random")) + (hsPkgs."tasty" or (errorHandler.buildDepError "tasty")) + ] ++ (pkgs.lib).optional (compiler.isGhc && (compiler.version).ge "8.0") (hsPkgs."tasty-inspection-testing" or (errorHandler.buildDepError "tasty-inspection-testing")); + buildable = true; + }; + }; + benchmarks = { + "legacy-bench" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."random" or (errorHandler.buildDepError "random")) + (hsPkgs."rdtsc" or (errorHandler.buildDepError "rdtsc")) + (hsPkgs."split" or (errorHandler.buildDepError "split")) + (hsPkgs."time" or (errorHandler.buildDepError "time")) + ]; + buildable = true; + }; + "bench" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."mtl" or (errorHandler.buildDepError "mtl")) + (hsPkgs."primitive" or (errorHandler.buildDepError "primitive")) + (hsPkgs."random" or (errorHandler.buildDepError "random")) + (hsPkgs."splitmix" or (errorHandler.buildDepError "splitmix")) + (hsPkgs."tasty-bench" or (errorHandler.buildDepError "tasty-bench")) + ]; + buildable = true; + }; + }; + }; + } // { + src = (pkgs.lib).mkDefault (pkgs.fetchurl { + url = "http://hackage.haskell.org/package/random-1.2.1.1.tar.gz"; + sha256 = "3e1272f7ed6a4d7bd1712b90143ec326fee9b225789222379fea20a9c90c9b76"; + }); + }) // { + package-description-override = "cabal-version: >=1.10\nname: random\nversion: 1.2.1.1\nlicense: BSD3\nlicense-file: LICENSE\nmaintainer: core-libraries-committee@haskell.org\nbug-reports: https://github.com/haskell/random/issues\nsynopsis: Pseudo-random number generation\ndescription:\n This package provides basic pseudo-random number generation, including the\n ability to split random number generators.\n .\n == \"System.Random\": pure pseudo-random number interface\n .\n In pure code, use 'System.Random.uniform' and 'System.Random.uniformR' from\n \"System.Random\" to generate pseudo-random numbers with a pure pseudo-random\n number generator like 'System.Random.StdGen'.\n .\n As an example, here is how you can simulate rolls of a six-sided die using\n 'System.Random.uniformR':\n .\n >>> let roll = uniformR (1, 6) :: RandomGen g => g -> (Word, g)\n >>> let rolls = unfoldr (Just . roll) :: RandomGen g => g -> [Word]\n >>> let pureGen = mkStdGen 42\n >>> take 10 (rolls pureGen) :: [Word]\n [1,1,3,2,4,5,3,4,6,2]\n .\n See \"System.Random\" for more details.\n .\n == \"System.Random.Stateful\": monadic pseudo-random number interface\n .\n In monadic code, use 'System.Random.Stateful.uniformM' and\n 'System.Random.Stateful.uniformRM' from \"System.Random.Stateful\" to generate\n pseudo-random numbers with a monadic pseudo-random number generator, or\n using a monadic adapter.\n .\n As an example, here is how you can simulate rolls of a six-sided die using\n 'System.Random.Stateful.uniformRM':\n .\n >>> let rollM = uniformRM (1, 6) :: StatefulGen g m => g -> m Word\n >>> let pureGen = mkStdGen 42\n >>> runStateGen_ pureGen (replicateM 10 . rollM) :: [Word]\n [1,1,3,2,4,5,3,4,6,2]\n .\n The monadic adapter 'System.Random.Stateful.runStateGen_' is used here to lift\n the pure pseudo-random number generator @pureGen@ into the\n 'System.Random.Stateful.StatefulGen' context.\n .\n The monadic interface can also be used with existing monadic pseudo-random\n number generators. In this example, we use the one provided in the\n package:\n .\n >>> import System.Random.MWC as MWC\n >>> let rollM = uniformRM (1, 6) :: StatefulGen g m => g -> m Word\n >>> monadicGen <- MWC.create\n >>> replicateM 10 (rollM monadicGen) :: IO [Word]\n [2,3,6,6,4,4,3,1,5,4]\n .\n See \"System.Random.Stateful\" for more details.\n\ncategory: System\nbuild-type: Simple\nextra-source-files:\n README.md\n CHANGELOG.md\ntested-with: GHC == 7.10.2\n , GHC == 7.10.3\n , GHC == 8.0.2\n , GHC == 8.2.2\n , GHC == 8.4.3\n , GHC == 8.4.4\n , GHC == 8.6.3\n , GHC == 8.6.4\n , GHC == 8.6.5\n , GHC == 8.8.1\n , GHC == 8.8.2\n , GHC == 8.10.1\n\nsource-repository head\n type: git\n location: https://github.com/haskell/random.git\n\n\nlibrary\n exposed-modules:\n System.Random\n System.Random.Internal\n System.Random.Stateful\n other-modules:\n System.Random.GFinite\n\n hs-source-dirs: src\n default-language: Haskell2010\n ghc-options:\n -Wall\n if impl(ghc >= 8.0)\n ghc-options:\n -Wincomplete-record-updates -Wincomplete-uni-patterns\n\n build-depends:\n base >=4.8 && <5,\n bytestring >=0.10.4 && <0.12,\n deepseq >=1.1 && <2,\n mtl >=2.2 && <2.4,\n splitmix >=0.1 && <0.2\n if impl(ghc < 8.0)\n build-depends:\n transformers\n\ntest-suite legacy-test\n type: exitcode-stdio-1.0\n main-is: Legacy.hs\n hs-source-dirs: test-legacy\n other-modules:\n T7936\n TestRandomIOs\n TestRandomRs\n Random1283\n RangeTest\n\n default-language: Haskell2010\n ghc-options: -with-rtsopts=-M8M\n if impl(ghc >= 8.0)\n ghc-options:\n -Wno-deprecations\n build-depends:\n base,\n containers >=0.5 && <0.7,\n random\n\ntest-suite doctests\n type: exitcode-stdio-1.0\n main-is: doctests.hs\n hs-source-dirs: test\n default-language: Haskell2010\n build-depends:\n base,\n doctest >=0.15 && <0.21\n if impl(ghc >= 8.2) && impl(ghc < 8.10)\n build-depends:\n mwc-random >=0.13 && <0.16,\n primitive >=0.6 && <0.8,\n random,\n stm,\n unliftio >=0.2 && <0.3,\n vector >= 0.10 && <0.14\n\ntest-suite spec\n type: exitcode-stdio-1.0\n main-is: Spec.hs\n hs-source-dirs: test\n other-modules:\n Spec.Range\n Spec.Run\n Spec.Stateful\n\n default-language: Haskell2010\n ghc-options: -Wall\n build-depends:\n base,\n bytestring,\n random,\n smallcheck >=1.2 && <1.3,\n stm,\n tasty >=1.0 && <1.5,\n tasty-smallcheck >=0.8 && <0.9,\n tasty-hunit >=0.10 && <0.11,\n transformers\n\n-- Note. Fails when compiled with coverage:\n-- https://github.com/haskell/random/issues/107\ntest-suite spec-inspection\n type: exitcode-stdio-1.0\n main-is: Spec.hs\n hs-source-dirs: test-inspection\n build-depends:\n\n default-language: Haskell2010\n ghc-options: -Wall\n build-depends:\n base,\n random,\n tasty >=1.0 && <1.5\n if impl(ghc >= 8.0)\n build-depends:\n tasty-inspection-testing\n other-modules:\n Spec.Inspection\n\nbenchmark legacy-bench\n type: exitcode-stdio-1.0\n main-is: SimpleRNGBench.hs\n hs-source-dirs: bench-legacy\n other-modules: BinSearch\n default-language: Haskell2010\n ghc-options:\n -Wall -O2 -threaded -rtsopts -with-rtsopts=-N\n if impl(ghc >= 8.0)\n ghc-options:\n -Wno-deprecations\n\n build-depends:\n base,\n random,\n rdtsc,\n split >=0.2 && <0.3,\n time >=1.4 && <1.13\n\nbenchmark bench\n type: exitcode-stdio-1.0\n main-is: Main.hs\n hs-source-dirs: bench\n default-language: Haskell2010\n ghc-options: -Wall -O2\n build-depends:\n base,\n mtl,\n primitive >= 0.7.1,\n random,\n splitmix >=0.1 && <0.2,\n tasty-bench\n"; + } \ No newline at end of file diff --git a/materialized/ghc928/hadrian-ghc98/hadrian/cabal-files/shake.nix b/materialized/ghc928/hadrian-ghc98/hadrian/cabal-files/shake.nix new file mode 100644 index 0000000000..e7eb5c6647 --- /dev/null +++ b/materialized/ghc928/hadrian-ghc98/hadrian/cabal-files/shake.nix @@ -0,0 +1,132 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = { portable = false; cloud = false; embed-files = false; }; + package = { + specVersion = "1.18"; + identifier = { name = "shake"; version = "0.19.7"; }; + license = "BSD-3-Clause"; + copyright = "Neil Mitchell 2011-2022"; + maintainer = "Neil Mitchell "; + author = "Neil Mitchell "; + homepage = "https://shakebuild.com"; + url = ""; + synopsis = "Build system library, like Make, but more accurate dependencies."; + description = "Shake is a Haskell library for writing build systems - designed as a\nreplacement for @make@. See \"Development.Shake\" for an introduction,\nincluding an example. The homepage contains links to a user\nmanual, an academic paper and further information:\n\n\nTo use Shake the user writes a Haskell program\nthat imports \"Development.Shake\", defines some build rules, and calls\nthe 'Development.Shake.shakeArgs' function. Thanks to do notation and infix\noperators, a simple Shake build system\nis not too dissimilar from a simple Makefile. However, as build systems\nget more complex, Shake is able to take advantage of the excellent\nabstraction facilities offered by Haskell and easily support much larger\nprojects. The Shake library provides all the standard features available in other\nbuild systems, including automatic parallelism and minimal rebuilds.\nShake also provides more accurate dependency tracking, including seamless\nsupport for generated files, and dependencies on system information\n(e.g. compiler version)."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = ((([ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (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."filepattern" or (errorHandler.buildDepError "filepattern")) + (hsPkgs."hashable" or (errorHandler.buildDepError "hashable")) + (hsPkgs."heaps" or (errorHandler.buildDepError "heaps")) + (hsPkgs."js-dgtable" or (errorHandler.buildDepError "js-dgtable")) + (hsPkgs."js-flot" or (errorHandler.buildDepError "js-flot")) + (hsPkgs."js-jquery" or (errorHandler.buildDepError "js-jquery")) + (hsPkgs."primitive" or (errorHandler.buildDepError "primitive")) + (hsPkgs."process" or (errorHandler.buildDepError "process")) + (hsPkgs."random" or (errorHandler.buildDepError "random")) + (hsPkgs."time" or (errorHandler.buildDepError "time")) + (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")) + (hsPkgs."unordered-containers" or (errorHandler.buildDepError "unordered-containers")) + (hsPkgs."utf8-string" or (errorHandler.buildDepError "utf8-string")) + ] ++ (pkgs.lib).optionals (flags.embed-files) [ + (hsPkgs."file-embed" or (errorHandler.buildDepError "file-embed")) + (hsPkgs."template-haskell" or (errorHandler.buildDepError "template-haskell")) + ]) ++ (pkgs.lib).optionals (!flags.portable) ((pkgs.lib).optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix")))) ++ (pkgs.lib).optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix"))) ++ (pkgs.lib).optionals (flags.cloud) [ + (hsPkgs."network" or (errorHandler.buildDepError "network")) + (hsPkgs."network-uri" or (errorHandler.buildDepError "network-uri")) + ]; + buildable = true; + }; + exes = { + "shake" = { + depends = (((([ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (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."filepattern" or (errorHandler.buildDepError "filepattern")) + (hsPkgs."hashable" or (errorHandler.buildDepError "hashable")) + (hsPkgs."heaps" or (errorHandler.buildDepError "heaps")) + (hsPkgs."js-dgtable" or (errorHandler.buildDepError "js-dgtable")) + (hsPkgs."js-flot" or (errorHandler.buildDepError "js-flot")) + (hsPkgs."js-jquery" or (errorHandler.buildDepError "js-jquery")) + (hsPkgs."primitive" or (errorHandler.buildDepError "primitive")) + (hsPkgs."process" or (errorHandler.buildDepError "process")) + (hsPkgs."random" or (errorHandler.buildDepError "random")) + (hsPkgs."time" or (errorHandler.buildDepError "time")) + (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")) + (hsPkgs."unordered-containers" or (errorHandler.buildDepError "unordered-containers")) + (hsPkgs."utf8-string" or (errorHandler.buildDepError "utf8-string")) + ] ++ (pkgs.lib).optionals (flags.embed-files) [ + (hsPkgs."file-embed" or (errorHandler.buildDepError "file-embed")) + (hsPkgs."template-haskell" or (errorHandler.buildDepError "template-haskell")) + ]) ++ (pkgs.lib).optionals (!flags.portable) ((pkgs.lib).optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix")))) ++ (pkgs.lib).optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix"))) ++ (pkgs.lib).optionals (flags.cloud) [ + (hsPkgs."network" or (errorHandler.buildDepError "network")) + (hsPkgs."network-uri" or (errorHandler.buildDepError "network-uri")) + ]) ++ (pkgs.lib).optional (compiler.isGhc && (compiler.version).lt "8.0") (hsPkgs."semigroups" or (errorHandler.buildDepError "semigroups")); + buildable = true; + }; + }; + tests = { + "shake-test" = { + depends = (((([ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (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."filepattern" or (errorHandler.buildDepError "filepattern")) + (hsPkgs."hashable" or (errorHandler.buildDepError "hashable")) + (hsPkgs."heaps" or (errorHandler.buildDepError "heaps")) + (hsPkgs."js-dgtable" or (errorHandler.buildDepError "js-dgtable")) + (hsPkgs."js-flot" or (errorHandler.buildDepError "js-flot")) + (hsPkgs."js-jquery" or (errorHandler.buildDepError "js-jquery")) + (hsPkgs."primitive" or (errorHandler.buildDepError "primitive")) + (hsPkgs."process" or (errorHandler.buildDepError "process")) + (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")) + (hsPkgs."random" or (errorHandler.buildDepError "random")) + (hsPkgs."time" or (errorHandler.buildDepError "time")) + (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")) + (hsPkgs."unordered-containers" or (errorHandler.buildDepError "unordered-containers")) + (hsPkgs."utf8-string" or (errorHandler.buildDepError "utf8-string")) + ] ++ (pkgs.lib).optionals (flags.embed-files) [ + (hsPkgs."file-embed" or (errorHandler.buildDepError "file-embed")) + (hsPkgs."template-haskell" or (errorHandler.buildDepError "template-haskell")) + ]) ++ (pkgs.lib).optionals (!flags.portable) ((pkgs.lib).optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix")))) ++ (pkgs.lib).optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix"))) ++ (pkgs.lib).optionals (flags.cloud) [ + (hsPkgs."network" or (errorHandler.buildDepError "network")) + (hsPkgs."network-uri" or (errorHandler.buildDepError "network-uri")) + ]) ++ (pkgs.lib).optional (compiler.isGhc && (compiler.version).lt "8.0") (hsPkgs."semigroups" or (errorHandler.buildDepError "semigroups")); + buildable = true; + }; + }; + }; + } // { + src = (pkgs.lib).mkDefault (pkgs.fetchurl { + url = "http://hackage.haskell.org/package/shake-0.19.7.tar.gz"; + sha256 = "352a56af12f70b50d564dcb61131555577281957ee196f1702a3723c0a3699d1"; + }); + }) // { + package-description-override = "cabal-version: 1.18\nbuild-type: Simple\nname: shake\nversion: 0.19.7\nx-revision: 1\nlicense: BSD3\nlicense-file: LICENSE\ncategory: Development, Shake\nauthor: Neil Mitchell \nmaintainer: Neil Mitchell \ncopyright: Neil Mitchell 2011-2022\nsynopsis: Build system library, like Make, but more accurate dependencies.\ndescription:\n Shake is a Haskell library for writing build systems - designed as a\n replacement for @make@. See \"Development.Shake\" for an introduction,\n including an example. The homepage contains links to a user\n manual, an academic paper and further information:\n \n .\n To use Shake the user writes a Haskell program\n that imports \"Development.Shake\", defines some build rules, and calls\n the 'Development.Shake.shakeArgs' function. Thanks to do notation and infix\n operators, a simple Shake build system\n is not too dissimilar from a simple Makefile. However, as build systems\n get more complex, Shake is able to take advantage of the excellent\n abstraction facilities offered by Haskell and easily support much larger\n projects. The Shake library provides all the standard features available in other\n build systems, including automatic parallelism and minimal rebuilds.\n Shake also provides more accurate dependency tracking, including seamless\n support for generated files, and dependencies on system information\n (e.g. compiler version).\nhomepage: https://shakebuild.com\nbug-reports: https://github.com/ndmitchell/shake/issues\ntested-with: GHC==9.0, GHC==8.10, GHC==8.8, GHC==8.6\nextra-doc-files:\n CHANGES.txt\n README.md\n docs/Manual.md\n docs/shake-progress.png\nextra-source-files:\n src/Paths.hs\n src/Test/C/constants.c\n src/Test/C/constants.h\n src/Test/C/main.c\n src/Test/Ninja/*.ninja\n src/Test/Ninja/*.output\n src/Test/Ninja/subdir/*.ninja\n src/Test/Progress/*.prog\n src/Test/Tar/list.txt\n src/Test/Tup/hello.c\n src/Test/Tup/newmath/root.cfg\n src/Test/Tup/newmath/square.c\n src/Test/Tup/newmath/square.h\n src/Test/Tup/root.cfg\ndata-files:\n docs/manual/build.bat\n docs/manual/Shakefile.hs\n docs/manual/build.sh\n docs/manual/constants.c\n docs/manual/constants.h\n docs/manual/main.c\n html/profile.html\n html/progress.html\n html/shake.js\n\nsource-repository head\n type: git\n location: https://github.com/ndmitchell/shake.git\n\nflag portable\n default: False\n manual: True\n description: Obtain FileTime using portable functions\n\nflag cloud\n default: False\n manual: True\n description: Enable cloud build features\n\nflag embed-files\n default: False\n manual: True\n description: Embed data files into the shake library\n\nlibrary\n default-language: Haskell2010\n hs-source-dirs: src\n build-depends:\n base >= 4.9,\n binary,\n bytestring,\n deepseq >= 1.1,\n directory >= 1.2.7.0,\n extra >= 1.6.19,\n filepath >= 1.4,\n filepattern,\n hashable >= 1.1.2.3,\n heaps >= 0.3.6.1,\n js-dgtable,\n js-flot,\n js-jquery,\n primitive,\n process >= 1.1,\n random,\n time,\n transformers >= 0.2,\n unordered-containers >= 0.2.7,\n utf8-string >= 0.3\n\n if flag(embed-files)\n cpp-options: -DFILE_EMBED\n build-depends:\n file-embed >= 0.0.11,\n template-haskell\n\n if flag(portable)\n cpp-options: -DPORTABLE\n else\n if !os(windows)\n build-depends: unix >= 2.5.1\n if !os(windows)\n build-depends: unix\n\n if flag(cloud)\n cpp-options: -DNETWORK\n build-depends: network, network-uri\n\n exposed-modules:\n Development.Shake\n Development.Shake.Classes\n Development.Shake.Command\n Development.Shake.Config\n Development.Shake.Database\n Development.Shake.FilePath\n Development.Shake.Forward\n Development.Shake.Rule\n Development.Shake.Util\n\n other-modules:\n Development.Ninja.Env\n Development.Ninja.Lexer\n Development.Ninja.Parse\n Development.Ninja.Type\n Development.Shake.Internal.Args\n Development.Shake.Internal.CmdOption\n Development.Shake.Internal.CompactUI\n Development.Shake.Internal.Core.Action\n Development.Shake.Internal.Core.Build\n Development.Shake.Internal.Core.Database\n Development.Shake.Internal.History.Shared\n Development.Shake.Internal.History.Symlink\n Development.Shake.Internal.History.Bloom\n Development.Shake.Internal.History.Cloud\n Development.Shake.Internal.History.Network\n Development.Shake.Internal.History.Server\n Development.Shake.Internal.History.Serialise\n Development.Shake.Internal.History.Types\n Development.Shake.Internal.Core.Monad\n Development.Shake.Internal.Core.Pool\n Development.Shake.Internal.Core.Rules\n Development.Shake.Internal.Core.Run\n Development.Shake.Internal.Core.Storage\n Development.Shake.Internal.Core.Types\n Development.Shake.Internal.Demo\n Development.Shake.Internal.Derived\n Development.Shake.Internal.Errors\n Development.Shake.Internal.FileInfo\n Development.Shake.Internal.FileName\n Development.Shake.Internal.FilePattern\n Development.Shake.Internal.Options\n Development.Shake.Internal.Paths\n Development.Shake.Internal.Profile\n Development.Shake.Internal.Progress\n Development.Shake.Internal.Resource\n Development.Shake.Internal.Rules.Default\n Development.Shake.Internal.Rules.Directory\n Development.Shake.Internal.Rules.File\n Development.Shake.Internal.Rules.Files\n Development.Shake.Internal.Rules.Oracle\n Development.Shake.Internal.Rules.OrderOnly\n Development.Shake.Internal.Rules.Rerun\n Development.Shake.Internal.Value\n General.Bilist\n General.Binary\n General.Chunks\n General.Cleanup\n General.Fence\n General.EscCodes\n General.Extra\n General.FileLock\n General.GetOpt\n General.Ids\n General.Intern\n General.ListBuilder\n General.Makefile\n General.Pool\n General.Process\n General.Template\n General.Thread\n General.Timing\n General.TypeMap\n General.Wait\n Paths_shake\n\n\nexecutable shake\n default-language: Haskell2010\n hs-source-dirs: src\n ghc-options: -main-is Run.main -rtsopts -threaded \"-with-rtsopts=-I0 -qg\"\n main-is: Run.hs\n build-depends:\n base == 4.*,\n binary,\n bytestring,\n deepseq >= 1.1,\n directory,\n extra >= 1.6.19,\n filepath,\n filepattern,\n hashable >= 1.1.2.3,\n heaps >= 0.3.6.1,\n js-dgtable,\n js-flot,\n js-jquery,\n primitive,\n process >= 1.1,\n random,\n time,\n transformers >= 0.2,\n unordered-containers >= 0.2.7,\n utf8-string >= 0.3\n\n if flag(embed-files)\n cpp-options: -DFILE_EMBED\n build-depends:\n file-embed >= 0.0.11,\n template-haskell\n\n if flag(portable)\n cpp-options: -DPORTABLE\n else\n if !os(windows)\n build-depends: unix >= 2.5.1\n if !os(windows)\n build-depends: unix\n\n if flag(cloud)\n cpp-options: -DNETWORK\n build-depends: network, network-uri\n\n if impl(ghc < 8.0)\n build-depends: semigroups >= 0.18\n\n other-modules:\n Development.Ninja.All\n Development.Ninja.Env\n Development.Ninja.Lexer\n Development.Ninja.Parse\n Development.Ninja.Type\n Development.Shake\n Development.Shake.Classes\n Development.Shake.Command\n Development.Shake.Database\n Development.Shake.FilePath\n Development.Shake.Internal.Args\n Development.Shake.Internal.CmdOption\n Development.Shake.Internal.CompactUI\n Development.Shake.Internal.Core.Action\n Development.Shake.Internal.Core.Build\n Development.Shake.Internal.Core.Database\n Development.Shake.Internal.History.Shared\n Development.Shake.Internal.History.Symlink\n Development.Shake.Internal.History.Bloom\n Development.Shake.Internal.History.Cloud\n Development.Shake.Internal.History.Network\n Development.Shake.Internal.History.Server\n Development.Shake.Internal.History.Serialise\n Development.Shake.Internal.History.Types\n Development.Shake.Internal.Core.Monad\n Development.Shake.Internal.Core.Pool\n Development.Shake.Internal.Core.Rules\n Development.Shake.Internal.Core.Run\n Development.Shake.Internal.Core.Storage\n Development.Shake.Internal.Core.Types\n Development.Shake.Internal.Demo\n Development.Shake.Internal.Derived\n Development.Shake.Internal.Errors\n Development.Shake.Internal.FileInfo\n Development.Shake.Internal.FileName\n Development.Shake.Internal.FilePattern\n Development.Shake.Internal.Options\n Development.Shake.Internal.Paths\n Development.Shake.Internal.Profile\n Development.Shake.Internal.Progress\n Development.Shake.Internal.Resource\n Development.Shake.Internal.Rules.Default\n Development.Shake.Internal.Rules.Directory\n Development.Shake.Internal.Rules.File\n Development.Shake.Internal.Rules.Files\n Development.Shake.Internal.Rules.Oracle\n Development.Shake.Internal.Rules.OrderOnly\n Development.Shake.Internal.Rules.Rerun\n Development.Shake.Internal.Value\n General.Bilist\n General.Binary\n General.Chunks\n General.Cleanup\n General.Fence\n General.EscCodes\n General.Extra\n General.FileLock\n General.GetOpt\n General.Ids\n General.Intern\n General.ListBuilder\n General.Makefile\n General.Pool\n General.Process\n General.Template\n General.Thread\n General.Timing\n General.TypeMap\n General.Wait\n Paths_shake\n\n\ntest-suite shake-test\n default-language: Haskell2010\n type: exitcode-stdio-1.0\n main-is: Test.hs\n hs-source-dirs: src\n ghc-options: -main-is Test.main -rtsopts -with-rtsopts=-K1K -threaded\n\n build-depends:\n base == 4.*,\n binary,\n bytestring,\n deepseq >= 1.1,\n directory,\n extra >= 1.6.19,\n filepath,\n filepattern,\n hashable >= 1.1.2.3,\n heaps >= 0.3.6.1,\n js-dgtable,\n js-flot,\n js-jquery,\n primitive,\n process >= 1.1,\n QuickCheck >= 2.0,\n random,\n time,\n transformers >= 0.2,\n unordered-containers >= 0.2.7,\n utf8-string >= 0.3\n\n if flag(embed-files)\n cpp-options: -DFILE_EMBED\n build-depends:\n file-embed >= 0.0.11,\n template-haskell\n\n if flag(portable)\n cpp-options: -DPORTABLE\n else\n if !os(windows)\n build-depends: unix >= 2.5.1\n if !os(windows)\n build-depends: unix\n\n if flag(cloud)\n cpp-options: -DNETWORK\n build-depends: network, network-uri\n\n if impl(ghc < 8.0)\n build-depends: semigroups >= 0.18\n\n other-modules:\n Development.Ninja.All\n Development.Ninja.Env\n Development.Ninja.Lexer\n Development.Ninja.Parse\n Development.Ninja.Type\n Development.Shake\n Development.Shake.Classes\n Development.Shake.Command\n Development.Shake.Config\n Development.Shake.Database\n Development.Shake.FilePath\n Development.Shake.Forward\n Development.Shake.Internal.Args\n Development.Shake.Internal.CmdOption\n Development.Shake.Internal.CompactUI\n Development.Shake.Internal.Core.Action\n Development.Shake.Internal.Core.Build\n Development.Shake.Internal.Core.Database\n Development.Shake.Internal.History.Shared\n Development.Shake.Internal.History.Symlink\n Development.Shake.Internal.History.Bloom\n Development.Shake.Internal.History.Cloud\n Development.Shake.Internal.History.Network\n Development.Shake.Internal.History.Server\n Development.Shake.Internal.History.Serialise\n Development.Shake.Internal.History.Types\n Development.Shake.Internal.Core.Monad\n Development.Shake.Internal.Core.Pool\n Development.Shake.Internal.Core.Rules\n Development.Shake.Internal.Core.Run\n Development.Shake.Internal.Core.Storage\n Development.Shake.Internal.Core.Types\n Development.Shake.Internal.Demo\n Development.Shake.Internal.Derived\n Development.Shake.Internal.Errors\n Development.Shake.Internal.FileInfo\n Development.Shake.Internal.FileName\n Development.Shake.Internal.FilePattern\n Development.Shake.Internal.Options\n Development.Shake.Internal.Paths\n Development.Shake.Internal.Profile\n Development.Shake.Internal.Progress\n Development.Shake.Internal.Resource\n Development.Shake.Internal.Rules.Default\n Development.Shake.Internal.Rules.Directory\n Development.Shake.Internal.Rules.File\n Development.Shake.Internal.Rules.Files\n Development.Shake.Internal.Rules.Oracle\n Development.Shake.Internal.Rules.OrderOnly\n Development.Shake.Internal.Rules.Rerun\n Development.Shake.Internal.Value\n Development.Shake.Rule\n Development.Shake.Util\n General.Bilist\n General.Binary\n General.Chunks\n General.Cleanup\n General.Fence\n General.EscCodes\n General.Extra\n General.FileLock\n General.GetOpt\n General.Ids\n General.Intern\n General.ListBuilder\n General.Makefile\n General.Pool\n General.Process\n General.Template\n General.Thread\n General.Timing\n General.TypeMap\n General.Wait\n Paths_shake\n Run\n Test.Basic\n Test.Batch\n Test.Benchmark\n Test.Builtin\n Test.BuiltinOverride\n Test.C\n Test.Cache\n Test.Cleanup\n Test.CloseFileHandles\n Test.Command\n Test.Config\n Test.Database\n Test.Digest\n Test.Directory\n Test.Docs\n Test.Errors\n Test.Existence\n Test.FileLock\n Test.FilePath\n Test.FilePattern\n Test.Files\n Test.Forward\n Test.History\n Test.Journal\n Test.Lint\n Test.Live\n Test.Manual\n Test.Match\n Test.Monad\n Test.Ninja\n Test.Oracle\n Test.OrderOnly\n Test.Parallel\n Test.Pool\n Test.Progress\n Test.Random\n Test.Rebuild\n Test.Reschedule\n Test.Resources\n Test.Self\n Test.SelfMake\n Test.Tar\n Test.Targets\n Test.Thread\n Test.Tup\n Test.Type\n Test.Unicode\n Test.Util\n Test.Verbosity\n Test.Version\n"; + } \ No newline at end of file diff --git a/materialized/ghc928/hadrian-ghc98/hadrian/cabal-files/splitmix.nix b/materialized/ghc928/hadrian-ghc98/hadrian/cabal-files/splitmix.nix new file mode 100644 index 0000000000..7918d356b1 --- /dev/null +++ b/materialized/ghc928/hadrian-ghc98/hadrian/cabal-files/splitmix.nix @@ -0,0 +1,140 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = { optimised-mixer = false; }; + package = { + specVersion = "1.10"; + identifier = { name = "splitmix"; version = "0.1.0.4"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "Oleg Grenrus "; + author = ""; + homepage = ""; + url = ""; + synopsis = "Fast Splittable PRNG"; + description = "Pure Haskell implementation of SplitMix described in\n\nGuy L. Steele, Jr., Doug Lea, and Christine H. Flood. 2014.\nFast splittable pseudorandom number generators. In Proceedings\nof the 2014 ACM International Conference on Object Oriented\nProgramming Systems Languages & Applications (OOPSLA '14). ACM,\nNew York, NY, USA, 453-472. DOI:\n\n\nThe paper describes a new algorithm /SplitMix/ for /splittable/\npseudorandom number generator that is quite fast: 9 64 bit arithmetic/logical\noperations per 64 bits generated.\n\n/SplitMix/ is tested with two standard statistical test suites (DieHarder and\nTestU01, this implementation only using the former) and it appears to be\nadequate for \"everyday\" use, such as Monte Carlo algorithms and randomized\ndata structures where speed is important.\n\nIn particular, it __should not be used for cryptographic or security applications__,\nbecause generated sequences of pseudorandom values are too predictable\n(the mixing functions are easily inverted, and two successive outputs\nsuffice to reconstruct the internal state)."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + ] ++ (pkgs.lib).optionals (!(compiler.isGhcjs && true)) ((pkgs.lib).optional (!(compiler.isGhc && true)) (hsPkgs."time" or (errorHandler.buildDepError "time"))); + buildable = true; + }; + tests = { + "examples" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."HUnit" or (errorHandler.buildDepError "HUnit")) + (hsPkgs."splitmix" or (errorHandler.buildDepError "splitmix")) + ]; + buildable = true; + }; + "splitmix-tests" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."base-compat" or (errorHandler.buildDepError "base-compat")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."HUnit" or (errorHandler.buildDepError "HUnit")) + (hsPkgs."math-functions" or (errorHandler.buildDepError "math-functions")) + (hsPkgs."splitmix" or (errorHandler.buildDepError "splitmix")) + (hsPkgs."test-framework" or (errorHandler.buildDepError "test-framework")) + (hsPkgs."test-framework-hunit" or (errorHandler.buildDepError "test-framework-hunit")) + ]; + buildable = true; + }; + "montecarlo-pi" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."splitmix" or (errorHandler.buildDepError "splitmix")) + ]; + buildable = true; + }; + "montecarlo-pi-32" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."splitmix" or (errorHandler.buildDepError "splitmix")) + ]; + buildable = true; + }; + "splitmix-dieharder" = { + depends = [ + (hsPkgs."async" or (errorHandler.buildDepError "async")) + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."base-compat-batteries" or (errorHandler.buildDepError "base-compat-batteries")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."process" or (errorHandler.buildDepError "process")) + (hsPkgs."random" or (errorHandler.buildDepError "random")) + (hsPkgs."splitmix" or (errorHandler.buildDepError "splitmix")) + (hsPkgs."tf-random" or (errorHandler.buildDepError "tf-random")) + (hsPkgs."vector" or (errorHandler.buildDepError "vector")) + ]; + buildable = true; + }; + "splitmix-testu01" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."base-compat-batteries" or (errorHandler.buildDepError "base-compat-batteries")) + (hsPkgs."splitmix" or (errorHandler.buildDepError "splitmix")) + ]; + libs = [ (pkgs."testu01" or (errorHandler.sysDepError "testu01")) ]; + buildable = if !system.isLinux then false else true; + }; + "initialization" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."HUnit" or (errorHandler.buildDepError "HUnit")) + (hsPkgs."splitmix" or (errorHandler.buildDepError "splitmix")) + ]; + buildable = true; + }; + }; + benchmarks = { + "comparison" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."criterion" or (errorHandler.buildDepError "criterion")) + (hsPkgs."random" or (errorHandler.buildDepError "random")) + (hsPkgs."splitmix" or (errorHandler.buildDepError "splitmix")) + (hsPkgs."tf-random" or (errorHandler.buildDepError "tf-random")) + ]; + buildable = true; + }; + "simple-sum" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."random" or (errorHandler.buildDepError "random")) + (hsPkgs."splitmix" or (errorHandler.buildDepError "splitmix")) + ]; + buildable = true; + }; + "range" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."clock" or (errorHandler.buildDepError "clock")) + (hsPkgs."random" or (errorHandler.buildDepError "random")) + (hsPkgs."splitmix" or (errorHandler.buildDepError "splitmix")) + ]; + buildable = true; + }; + }; + }; + } // { + src = (pkgs.lib).mkDefault (pkgs.fetchurl { + url = "http://hackage.haskell.org/package/splitmix-0.1.0.4.tar.gz"; + sha256 = "6d065402394e7a9117093dbb4530a21342c9b1e2ec509516c8a8d0ffed98ecaa"; + }); + }) // { + package-description-override = "cabal-version: >=1.10\nname: splitmix\nversion: 0.1.0.4\nx-revision: 2\nsynopsis: Fast Splittable PRNG\ndescription:\n Pure Haskell implementation of SplitMix described in\n .\n Guy L. Steele, Jr., Doug Lea, and Christine H. Flood. 2014.\n Fast splittable pseudorandom number generators. In Proceedings\n of the 2014 ACM International Conference on Object Oriented\n Programming Systems Languages & Applications (OOPSLA '14). ACM,\n New York, NY, USA, 453-472. DOI:\n \n .\n The paper describes a new algorithm /SplitMix/ for /splittable/\n pseudorandom number generator that is quite fast: 9 64 bit arithmetic/logical\n operations per 64 bits generated.\n .\n /SplitMix/ is tested with two standard statistical test suites (DieHarder and\n TestU01, this implementation only using the former) and it appears to be\n adequate for \"everyday\" use, such as Monte Carlo algorithms and randomized\n data structures where speed is important.\n .\n In particular, it __should not be used for cryptographic or security applications__,\n because generated sequences of pseudorandom values are too predictable\n (the mixing functions are easily inverted, and two successive outputs\n suffice to reconstruct the internal state).\n\nlicense: BSD3\nlicense-file: LICENSE\nmaintainer: Oleg Grenrus \nbug-reports: https://github.com/haskellari/splitmix/issues\ncategory: System, Random\nbuild-type: Simple\ntested-with:\n GHC ==7.0.4\n || ==7.2.2\n || ==7.4.2\n || ==7.6.3\n || ==7.8.4\n || ==7.10.3\n || ==8.0.2\n || ==8.2.2\n || ==8.4.4\n || ==8.6.5\n || ==8.8.4\n || ==8.10.4\n || ==9.0.2\n || ==9.2.5\n || ==9.4.4\n || ==9.6.1\n , GHCJS ==8.4\n\nextra-source-files:\n Changelog.md\n make-hugs.sh\n README.md\n test-hugs.sh\n\nflag optimised-mixer\n description: Use JavaScript for mix32\n manual: True\n default: False\n\nlibrary\n default-language: Haskell2010\n ghc-options: -Wall\n hs-source-dirs: src src-compat\n exposed-modules:\n System.Random.SplitMix\n System.Random.SplitMix32\n\n other-modules:\n Data.Bits.Compat\n System.Random.SplitMix.Init\n\n -- dump-core\n -- build-depends: dump-core\n -- ghc-options: -fplugin=DumpCore -fplugin-opt DumpCore:core-html\n\n build-depends:\n base >=4.3 && <4.19\n , deepseq >=1.3.0.0 && <1.5\n\n if flag(optimised-mixer)\n cpp-options: -DOPTIMISED_MIX32=1\n\n -- We don't want to depend on time, nor unix or Win32 packages\n -- because it's valuable that splitmix and QuickCheck doesn't\n -- depend on about anything\n\n if impl(ghcjs)\n cpp-options: -DSPLITMIX_INIT_GHCJS=1\n\n else\n if impl(ghc)\n cpp-options: -DSPLITMIX_INIT_C=1\n\n if os(windows)\n c-sources: cbits-win/init.c\n\n else\n c-sources: cbits-unix/init.c\n\n else\n cpp-options: -DSPLITMIX_INIT_COMPAT=1\n build-depends: time >=1.2.0.3 && <1.13\n\nsource-repository head\n type: git\n location: https://github.com/haskellari/splitmix.git\n\nbenchmark comparison\n type: exitcode-stdio-1.0\n default-language: Haskell2010\n ghc-options: -Wall\n hs-source-dirs: bench\n main-is: Bench.hs\n build-depends:\n base\n , containers >=0.4.2.1 && <0.7\n , criterion >=1.1.0.0 && <1.6\n , random\n , splitmix\n , tf-random >=0.5 && <0.6\n\nbenchmark simple-sum\n type: exitcode-stdio-1.0\n default-language: Haskell2010\n ghc-options: -Wall\n hs-source-dirs: bench\n main-is: SimpleSum.hs\n build-depends:\n base\n , random\n , splitmix\n\nbenchmark range\n type: exitcode-stdio-1.0\n default-language: Haskell2010\n ghc-options: -Wall\n hs-source-dirs: bench src-compat\n main-is: Range.hs\n other-modules: Data.Bits.Compat\n build-depends:\n base\n , clock >=0.8 && <0.9\n , random\n , splitmix\n\ntest-suite examples\n type: exitcode-stdio-1.0\n default-language: Haskell2010\n ghc-options: -Wall\n hs-source-dirs: tests\n main-is: Examples.hs\n build-depends:\n base\n , HUnit ==1.3.1.2 || >=1.6.0.0 && <1.7\n , splitmix\n\ntest-suite splitmix-tests\n type: exitcode-stdio-1.0\n default-language: Haskell2010\n ghc-options: -Wall\n hs-source-dirs: tests\n main-is: Tests.hs\n other-modules:\n MiniQC\n Uniformity\n\n build-depends:\n base\n , base-compat >=0.11.1 && <0.13\n , containers >=0.4.0.0 && <0.7\n , HUnit ==1.3.1.2 || >=1.6.0.0 && <1.7\n , math-functions ==0.1.7.0 || >=0.3.3.0 && <0.4\n , splitmix\n , test-framework >=0.8.2.0 && <0.9\n , test-framework-hunit >=0.3.0.2 && <0.4\n\ntest-suite montecarlo-pi\n type: exitcode-stdio-1.0\n default-language: Haskell2010\n ghc-options: -Wall\n hs-source-dirs: tests\n main-is: SplitMixPi.hs\n build-depends:\n base\n , splitmix\n\ntest-suite montecarlo-pi-32\n type: exitcode-stdio-1.0\n default-language: Haskell2010\n ghc-options: -Wall\n hs-source-dirs: tests\n main-is: SplitMixPi32.hs\n build-depends:\n base\n , splitmix\n\ntest-suite splitmix-dieharder\n default-language: Haskell2010\n type: exitcode-stdio-1.0\n ghc-options: -Wall -threaded -rtsopts\n hs-source-dirs: tests\n main-is: Dieharder.hs\n build-depends:\n async >=2.2.1 && <2.3\n , base\n , base-compat-batteries >=0.10.5 && <0.13\n , bytestring >=0.9.1.8 && <0.12\n , deepseq\n , process >=1.0.1.5 && <1.7\n , random\n , splitmix\n , tf-random >=0.5 && <0.6\n , vector >=0.11.0.0 && <0.13\n\ntest-suite splitmix-testu01\n if !os(linux)\n buildable: False\n\n default-language: Haskell2010\n type: exitcode-stdio-1.0\n ghc-options: -Wall -threaded -rtsopts\n hs-source-dirs: tests\n main-is: TestU01.hs\n c-sources: tests/cbits/testu01.c\n extra-libraries: testu01\n build-depends:\n base\n , base-compat-batteries >=0.10.5 && <0.13\n , splitmix\n\ntest-suite initialization\n default-language: Haskell2010\n type: exitcode-stdio-1.0\n ghc-options: -Wall -threaded -rtsopts\n hs-source-dirs: tests\n main-is: Initialization.hs\n build-depends:\n base\n , HUnit ==1.3.1.2 || >=1.6.0.0 && <1.7\n , splitmix\n"; + } \ No newline at end of file diff --git a/materialized/ghc928/hadrian-ghc98/hadrian/cabal-files/unordered-containers.nix b/materialized/ghc928/hadrian-ghc98/hadrian/cabal-files/unordered-containers.nix new file mode 100644 index 0000000000..ab6a9d8c44 --- /dev/null +++ b/materialized/ghc928/hadrian-ghc98/hadrian/cabal-files/unordered-containers.nix @@ -0,0 +1,78 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = { debug = false; }; + package = { + specVersion = "1.10"; + identifier = { name = "unordered-containers"; version = "0.2.19.1"; }; + license = "BSD-3-Clause"; + copyright = "2010-2014 Johan Tibell\n2010 Edward Z. Yang"; + maintainer = "simon.jakobi@gmail.com, David.Feuer@gmail.com"; + author = "Johan Tibell"; + homepage = "https://github.com/haskell-unordered-containers/unordered-containers"; + url = ""; + synopsis = "Efficient hashing-based container types"; + description = "Efficient hashing-based container types. The containers have been\noptimized for performance critical use, both in terms of large data\nquantities and high speed.\n\nThe declared cost of each operation is either worst-case or\namortized, but remains valid even if structures are shared.\n\n/Security/\n\nThis package currently provides no defenses against hash collision attacks\nsuch as HashDoS.\nUsers who need to store input from untrusted sources are advised to use\n@Data.Map@ or @Data.Set@ from the @containers@ package instead."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."hashable" or (errorHandler.buildDepError "hashable")) + (hsPkgs."template-haskell" or (errorHandler.buildDepError "template-haskell")) + ]; + buildable = true; + }; + tests = { + "unordered-containers-tests" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."ChasingBottoms" or (errorHandler.buildDepError "ChasingBottoms")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."hashable" or (errorHandler.buildDepError "hashable")) + (hsPkgs."HUnit" or (errorHandler.buildDepError "HUnit")) + (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")) + (hsPkgs."random" or (errorHandler.buildDepError "random")) + (hsPkgs."tasty" or (errorHandler.buildDepError "tasty")) + (hsPkgs."tasty-hunit" or (errorHandler.buildDepError "tasty-hunit")) + (hsPkgs."tasty-quickcheck" or (errorHandler.buildDepError "tasty-quickcheck")) + (hsPkgs."unordered-containers" or (errorHandler.buildDepError "unordered-containers")) + ] ++ (pkgs.lib).optional (compiler.isGhc && (compiler.version).ge "8.6") (hsPkgs."nothunks" or (errorHandler.buildDepError "nothunks")); + buildable = true; + }; + }; + benchmarks = { + "benchmarks" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."hashable" or (errorHandler.buildDepError "hashable")) + (hsPkgs."hashmap" or (errorHandler.buildDepError "hashmap")) + (hsPkgs."mtl" or (errorHandler.buildDepError "mtl")) + (hsPkgs."random" or (errorHandler.buildDepError "random")) + (hsPkgs."tasty-bench" or (errorHandler.buildDepError "tasty-bench")) + (hsPkgs."unordered-containers" or (errorHandler.buildDepError "unordered-containers")) + ]; + buildable = true; + }; + }; + }; + } // { + src = (pkgs.lib).mkDefault (pkgs.fetchurl { + url = "http://hackage.haskell.org/package/unordered-containers-0.2.19.1.tar.gz"; + sha256 = "1b27bec5e0d522b27a6029ebf4c4a6d40acbc083c787008e32fb55c4b1d128d2"; + }); + }) // { + package-description-override = "name: unordered-containers\r\nversion: 0.2.19.1\r\nx-revision: 2\r\nsynopsis: Efficient hashing-based container types\r\ndescription:\r\n Efficient hashing-based container types. The containers have been\r\n optimized for performance critical use, both in terms of large data\r\n quantities and high speed.\r\n .\r\n The declared cost of each operation is either worst-case or\r\n amortized, but remains valid even if structures are shared.\r\n .\r\n /Security/\r\n .\r\n This package currently provides no defenses against hash collision attacks\r\n such as HashDoS.\r\n Users who need to store input from untrusted sources are advised to use\r\n @Data.Map@ or @Data.Set@ from the @containers@ package instead.\r\nlicense: BSD3\r\nlicense-file: LICENSE\r\nauthor: Johan Tibell\r\nmaintainer: simon.jakobi@gmail.com, David.Feuer@gmail.com\r\nHomepage: https://github.com/haskell-unordered-containers/unordered-containers\r\nbug-reports: https://github.com/haskell-unordered-containers/unordered-containers/issues\r\ncopyright: 2010-2014 Johan Tibell\r\n 2010 Edward Z. Yang\r\ncategory: Data\r\nbuild-type: Simple\r\ncabal-version: >=1.10\r\nextra-source-files: CHANGES.md\r\n\r\ntested-with:\r\n GHC ==9.6.1\r\n || ==9.4.4\r\n || ==9.2.7\r\n || ==9.0.2\r\n || ==8.10.7\r\n || ==8.8.4\r\n || ==8.6.5\r\n || ==8.4.4\r\n || ==8.2.2\r\n\r\nflag debug\r\n description: Enable debug support\r\n default: False\r\n\r\nlibrary\r\n exposed-modules:\r\n Data.HashMap.Internal\r\n Data.HashMap.Internal.Array\r\n Data.HashMap.Internal.List\r\n Data.HashMap.Internal.Strict\r\n Data.HashMap.Lazy\r\n Data.HashMap.Strict\r\n Data.HashSet\r\n Data.HashSet.Internal\r\n\r\n build-depends:\r\n base >= 4.10 && < 5,\r\n deepseq >= 1.4.3,\r\n hashable >= 1.2.5 && < 1.5,\r\n template-haskell < 2.21\r\n\r\n default-language: Haskell2010\r\n\r\n other-extensions:\r\n RoleAnnotations,\r\n UnboxedTuples,\r\n ScopedTypeVariables,\r\n MagicHash,\r\n BangPatterns\r\n\r\n ghc-options: -Wall -O2 -fwarn-tabs -ferror-spans\r\n\r\n -- For dumping the generated code:\r\n -- ghc-options: -ddump-simpl -ddump-stg-final -ddump-cmm -ddump-asm -ddump-to-file\r\n -- ghc-options: -dsuppress-coercions -dsuppress-unfoldings -dsuppress-module-prefixes\r\n -- ghc-options: -dsuppress-uniques -dsuppress-timestamps\r\n\r\n if flag(debug)\r\n cpp-options: -DASSERTS\r\n\r\ntest-suite unordered-containers-tests\r\n hs-source-dirs: tests\r\n main-is: Main.hs\r\n type: exitcode-stdio-1.0\r\n other-modules:\r\n Regressions\r\n Properties\r\n Properties.HashMapLazy\r\n Properties.HashMapStrict\r\n Properties.HashSet\r\n Properties.List\r\n Strictness\r\n\r\n build-depends:\r\n base,\r\n ChasingBottoms,\r\n containers >= 0.5.8,\r\n hashable,\r\n HUnit,\r\n QuickCheck >= 2.4.0.1,\r\n random,\r\n tasty >= 1.4.0.3,\r\n tasty-hunit >= 0.10.0.3,\r\n tasty-quickcheck >= 0.10.1.2,\r\n unordered-containers\r\n\r\n if impl(ghc >= 8.6)\r\n build-depends:\r\n nothunks >= 0.1.3\r\n\r\n default-language: Haskell2010\r\n ghc-options: -Wall\r\n cpp-options: -DASSERTS\r\n\r\nbenchmark benchmarks\r\n hs-source-dirs: benchmarks\r\n main-is: Benchmarks.hs\r\n type: exitcode-stdio-1.0\r\n\r\n other-modules:\r\n Util.ByteString\r\n Util.String\r\n Util.Int\r\n\r\n build-depends:\r\n base,\r\n bytestring >= 0.10.0.0,\r\n containers,\r\n deepseq,\r\n hashable,\r\n hashmap,\r\n mtl,\r\n random,\r\n tasty-bench >= 0.3.1,\r\n unordered-containers\r\n\r\n default-language: Haskell2010\r\n ghc-options: -Wall -O2 -rtsopts -with-rtsopts=-A32m\r\n if impl(ghc >= 8.10)\r\n ghc-options: \"-with-rtsopts=-A32m --nonmoving-gc\"\r\n -- cpp-options: -DBENCH_containers_Map -DBENCH_containers_IntMap -DBENCH_hashmap_Map\r\n\r\nsource-repository head\r\n type: git\r\n location: https://github.com/haskell-unordered-containers/unordered-containers.git\r\n"; + } \ No newline at end of file diff --git a/materialized/ghc928/hadrian-ghc98/hadrian/cabal-files/utf8-string.nix b/materialized/ghc928/hadrian-ghc98/hadrian/cabal-files/utf8-string.nix new file mode 100644 index 0000000000..ac9bde4057 --- /dev/null +++ b/materialized/ghc928/hadrian-ghc98/hadrian/cabal-files/utf8-string.nix @@ -0,0 +1,51 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = {}; + package = { + specVersion = "1.10"; + identifier = { name = "utf8-string"; version = "1.0.2"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "emertens@galois.com"; + author = "Eric Mertens"; + homepage = "https://github.com/glguy/utf8-string/"; + url = ""; + synopsis = "Support for reading and writing UTF8 Strings"; + description = "A UTF8 layer for Strings. The utf8-string\npackage provides operations for encoding UTF8\nstrings to Word8 lists and back, and for reading and\nwriting UTF8 without truncation."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + ]; + buildable = true; + }; + tests = { + "unit-tests" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."HUnit" or (errorHandler.buildDepError "HUnit")) + (hsPkgs."utf8-string" or (errorHandler.buildDepError "utf8-string")) + ]; + buildable = true; + }; + }; + }; + } // { + src = (pkgs.lib).mkDefault (pkgs.fetchurl { + url = "http://hackage.haskell.org/package/utf8-string-1.0.2.tar.gz"; + sha256 = "ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a"; + }); + }) // { + package-description-override = "Name: utf8-string\nVersion: 1.0.2\nAuthor: Eric Mertens\nMaintainer: emertens@galois.com\nLicense: BSD3\nLicense-file: LICENSE\nHomepage: https://github.com/glguy/utf8-string/\nBug-Reports: https://github.com/glguy/utf8-string/issues\nSynopsis: Support for reading and writing UTF8 Strings\nDescription: A UTF8 layer for Strings. The utf8-string\n package provides operations for encoding UTF8\n strings to Word8 lists and back, and for reading and\n writing UTF8 without truncation.\nCategory: Codec\nBuild-type: Simple\ncabal-version: >= 1.10\nExtra-Source-Files: CHANGELOG.markdown\nTested-With: GHC==7.0.4, GHC==7.4.2, GHC==7.6.3, GHC==7.8.4, GHC==7.10.3, GHC==8.0.2, GHC==8.2.1\n\nsource-repository head\n type: git\n location: https://github.com/glguy/utf8-string\n\nlibrary\n Ghc-options: -W -O2\n\n build-depends: base >= 4.3 && < 5, bytestring >= 0.9\n\n Exposed-modules: Codec.Binary.UTF8.String\n Codec.Binary.UTF8.Generic\n Data.String.UTF8\n Data.ByteString.UTF8\n Data.ByteString.Lazy.UTF8\n\n default-language: Haskell2010\n\ntest-suite unit-tests\n type: exitcode-stdio-1.0\n hs-source-dirs: tests\n main-is: Tests.hs\n build-depends: base, HUnit >= 1.3 && < 1.7, utf8-string\n default-language: Haskell2010\n"; + } \ No newline at end of file diff --git a/materialized/ghc928/hadrian-ghc98/hadrian/default.nix b/materialized/ghc928/hadrian-ghc98/hadrian/default.nix new file mode 100644 index 0000000000..09483208d0 --- /dev/null +++ b/materialized/ghc928/hadrian-ghc98/hadrian/default.nix @@ -0,0 +1,149 @@ +{ + pkgs = hackage: + { + packages = { + bytestring.revision = (((hackage.bytestring)."0.11.4.0").revisions).default; + directory.revision = (((hackage.directory)."1.3.6.2").revisions).default; + filepath.revision = (((hackage.filepath)."1.4.2.2").revisions).default; + mtl.revision = (((hackage.mtl)."2.2.2").revisions).default; + ghc-bignum.revision = (((hackage.ghc-bignum)."1.2").revisions).default; + ghc-prim.revision = (((hackage.ghc-prim)."0.8.0").revisions).default; + base16-bytestring.revision = import ./cabal-files/base16-bytestring.nix; + parsec.revision = (((hackage.parsec)."3.1.15.0").revisions).default; + js-flot.revision = import ./cabal-files/js-flot.nix; + utf8-string.revision = import ./cabal-files/utf8-string.nix; + Cabal.revision = (((hackage.Cabal)."3.6.3.0").revisions).default; + splitmix.revision = import ./cabal-files/splitmix.nix; + splitmix.flags.optimised-mixer = false; + containers.revision = (((hackage.containers)."0.6.5.1").revisions).default; + clock.revision = import ./cabal-files/clock.nix; + clock.flags.llvm = false; + heaps.revision = import ./cabal-files/heaps.nix; + base.revision = (((hackage.base)."4.16.4.0").revisions).default; + time.revision = (((hackage.time)."1.11.1.1").revisions).default; + random.revision = import ./cabal-files/random.nix; + primitive.revision = import ./cabal-files/primitive.nix; + deepseq.revision = (((hackage.deepseq)."1.4.6.1").revisions).default; + js-jquery.revision = import ./cabal-files/js-jquery.nix; + js-dgtable.revision = import ./cabal-files/js-dgtable.nix; + rts.revision = (((hackage.rts)."1.0.2").revisions).default; + template-haskell.revision = (((hackage.template-haskell)."2.18.0.0").revisions).default; + binary.revision = (((hackage.binary)."0.8.9.0").revisions).default; + shake.revision = import ./cabal-files/shake.nix; + shake.flags.portable = false; + shake.flags.cloud = false; + shake.flags.embed-files = false; + process.revision = (((hackage.process)."1.6.16.0").revisions).default; + unix.revision = (((hackage.unix)."2.7.2.2").revisions).default; + data-array-byte.revision = import ./cabal-files/data-array-byte.nix; + transformers.revision = (((hackage.transformers)."0.5.6.2").revisions).default; + unordered-containers.revision = import ./cabal-files/unordered-containers.nix; + unordered-containers.flags.debug = false; + QuickCheck.revision = import ./cabal-files/QuickCheck.nix; + QuickCheck.flags.old-random = false; + QuickCheck.flags.templatehaskell = true; + extra.revision = import ./cabal-files/extra.nix; + text.revision = (((hackage.text)."1.2.5.0").revisions).default; + array.revision = (((hackage.array)."0.5.4.0").revisions).default; + ghc-boot-th.revision = (((hackage.ghc-boot-th)."9.2.8").revisions).default; + filepattern.revision = import ./cabal-files/filepattern.nix; + pretty.revision = (((hackage.pretty)."1.1.3.6").revisions).default; + hashable.revision = import ./cabal-files/hashable.nix; + hashable.flags.random-initial-seed = false; + hashable.flags.integer-gmp = true; + cryptohash-sha256.revision = import ./cabal-files/cryptohash-sha256.nix; + cryptohash-sha256.flags.exe = false; + cryptohash-sha256.flags.use-cbits = true; + }; + compiler = { + version = "9.2.8"; + nix-name = "ghc928"; + packages = { + "pretty" = "1.1.3.6"; + "text" = "1.2.5.0"; + "array" = "0.5.4.0"; + "Cabal" = "3.6.3.0"; + "mtl" = "2.2.2"; + "parsec" = "3.1.15.0"; + "bytestring" = "0.11.4.0"; + "filepath" = "1.4.2.2"; + "ghc-prim" = "0.8.0"; + "ghc-boot-th" = "9.2.8"; + "base" = "4.16.4.0"; + "time" = "1.11.1.1"; + "process" = "1.6.16.0"; + "ghc-bignum" = "1.2"; + "directory" = "1.3.6.2"; + "rts" = "1.0.2"; + "transformers" = "0.5.6.2"; + "template-haskell" = "2.18.0.0"; + "deepseq" = "1.4.6.1"; + "unix" = "2.7.2.2"; + "binary" = "0.8.9.0"; + "containers" = "0.6.5.1"; + }; + }; + }; + extras = hackage: + { packages = { hadrian = ./.plan.nix/hadrian.nix; }; }; + modules = [ + ({ lib, ... }: + { + packages = { + "hadrian" = { + flags = { + "threaded" = lib.mkOverride 900 true; + "selftest" = lib.mkOverride 900 true; + }; + }; + }; + }) + ({ lib, ... }: + { + packages = { + "shake".components.library.planned = lib.mkOverride 900 true; + "base16-bytestring".components.library.planned = lib.mkOverride 900 true; + "heaps".components.library.planned = lib.mkOverride 900 true; + "extra".components.library.planned = lib.mkOverride 900 true; + "filepath".components.library.planned = lib.mkOverride 900 true; + "pretty".components.library.planned = lib.mkOverride 900 true; + "utf8-string".components.library.planned = lib.mkOverride 900 true; + "Cabal".components.library.planned = lib.mkOverride 900 true; + "bytestring".components.library.planned = lib.mkOverride 900 true; + "cryptohash-sha256".components.library.planned = lib.mkOverride 900 true; + "ghc-prim".components.library.planned = lib.mkOverride 900 true; + "array".components.library.planned = lib.mkOverride 900 true; + "binary".components.library.planned = lib.mkOverride 900 true; + "filepattern".components.library.planned = lib.mkOverride 900 true; + "ghc-boot-th".components.library.planned = lib.mkOverride 900 true; + "splitmix".components.library.planned = lib.mkOverride 900 true; + "rts".components.library.planned = lib.mkOverride 900 true; + "unix".components.library.planned = lib.mkOverride 900 true; + "shake".components.exes."shake".planned = lib.mkOverride 900 true; + "directory".components.library.planned = lib.mkOverride 900 true; + "time".components.library.planned = lib.mkOverride 900 true; + "js-flot".components.library.planned = lib.mkOverride 900 true; + "ghc-bignum".components.library.planned = lib.mkOverride 900 true; + "data-array-byte".components.library.planned = lib.mkOverride 900 true; + "process".components.library.planned = lib.mkOverride 900 true; + "clock".components.library.planned = lib.mkOverride 900 true; + "template-haskell".components.library.planned = lib.mkOverride 900 true; + "hadrian".components.exes."hadrian".planned = lib.mkOverride 900 true; + "QuickCheck".components.library.planned = lib.mkOverride 900 true; + "mtl".components.library.planned = lib.mkOverride 900 true; + "transformers".components.library.planned = lib.mkOverride 900 true; + "parsec".components.library.planned = lib.mkOverride 900 true; + "deepseq".components.library.planned = lib.mkOverride 900 true; + "primitive".components.library.planned = lib.mkOverride 900 true; + "js-jquery".components.library.planned = lib.mkOverride 900 true; + "text".components.library.planned = lib.mkOverride 900 true; + "unordered-containers".components.library.planned = lib.mkOverride 900 true; + "random".components.library.planned = lib.mkOverride 900 true; + "base".components.library.planned = lib.mkOverride 900 true; + "containers".components.library.planned = lib.mkOverride 900 true; + "js-dgtable".components.library.planned = lib.mkOverride 900 true; + "hashable".components.library.planned = lib.mkOverride 900 true; + }; + }) + ]; + } \ No newline at end of file diff --git a/materialized/ghc928/hadrian-ghc99/hadrian/.plan.nix/ghc-platform.nix b/materialized/ghc928/hadrian-ghc99/hadrian/.plan.nix/ghc-platform.nix new file mode 100644 index 0000000000..eb369bf5fa --- /dev/null +++ b/materialized/ghc928/hadrian-ghc99/hadrian/.plan.nix/ghc-platform.nix @@ -0,0 +1,41 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "3.0"; + identifier = { name = "ghc-platform"; version = "0.1.0.0"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "ghc-devs@haskell.org"; + author = "Rodrigo Mesquita"; + homepage = ""; + url = ""; + synopsis = "Platform information used by GHC and friends"; + description = ""; + buildType = "Simple"; + isLocal = true; + detailLevel = "FullDetails"; + licenseFiles = [ "LICENSE" ]; + dataDir = "."; + dataFiles = []; + extraSrcFiles = []; + extraTmpFiles = []; + extraDocFiles = [ "CHANGELOG.md" ]; + }; + components = { + "library" = { + depends = [ (hsPkgs."base" or (errorHandler.buildDepError "base")) ]; + buildable = true; + modules = [ "GHC/Platform/ArchOS" ]; + hsSourceDirs = [ "src" ]; + }; + }; + } // rec { src = (pkgs.lib).mkDefault ../../libraries/ghc-platform; } \ No newline at end of file diff --git a/materialized/ghc928/hadrian-ghc99/hadrian/.plan.nix/ghc-toolchain.nix b/materialized/ghc928/hadrian-ghc99/hadrian/.plan.nix/ghc-toolchain.nix new file mode 100644 index 0000000000..726a3d87c0 --- /dev/null +++ b/materialized/ghc928/hadrian-ghc99/hadrian/.plan.nix/ghc-toolchain.nix @@ -0,0 +1,69 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "2.4"; + identifier = { name = "ghc-toolchain"; version = "0.1.0.0"; }; + license = "NONE"; + copyright = "(c) The GHC Developers"; + maintainer = "ben@well-typed.com"; + author = "Ben Gamari"; + homepage = ""; + url = ""; + synopsis = "Utility for managing GHC target toolchains"; + description = ""; + buildType = "Simple"; + isLocal = true; + detailLevel = "FullDetails"; + licenseFiles = []; + dataDir = "."; + dataFiles = []; + extraSrcFiles = []; + extraTmpFiles = []; + extraDocFiles = []; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."process" or (errorHandler.buildDepError "process")) + (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")) + (hsPkgs."text" or (errorHandler.buildDepError "text")) + (hsPkgs."ghc-platform" or (errorHandler.buildDepError "ghc-platform")) + ]; + buildable = true; + modules = [ + "GHC/Toolchain" + "GHC/Toolchain/Lens" + "GHC/Toolchain/Monad" + "GHC/Toolchain/PlatformDetails" + "GHC/Toolchain/Prelude" + "GHC/Toolchain/Program" + "GHC/Toolchain/ParseTriple" + "GHC/Toolchain/CheckArm" + "GHC/Toolchain/Target" + "GHC/Toolchain/Tools/Ar" + "GHC/Toolchain/Tools/Cc" + "GHC/Toolchain/Tools/Cxx" + "GHC/Toolchain/Tools/Cpp" + "GHC/Toolchain/Tools/Link" + "GHC/Toolchain/Tools/Nm" + "GHC/Toolchain/Tools/Ranlib" + "GHC/Toolchain/Tools/Readelf" + "GHC/Toolchain/Tools/MergeObjs" + "GHC/Toolchain/Utils" + ]; + hsSourceDirs = [ "src" ]; + }; + }; + } // rec { src = (pkgs.lib).mkDefault ../../utils/ghc-toolchain; } \ No newline at end of file diff --git a/materialized/ghc928/hadrian-ghc99/hadrian/.plan.nix/hadrian.nix b/materialized/ghc928/hadrian-ghc99/hadrian/.plan.nix/hadrian.nix new file mode 100644 index 0000000000..bc2d2781ee --- /dev/null +++ b/materialized/ghc928/hadrian-ghc99/hadrian/.plan.nix/hadrian.nix @@ -0,0 +1,167 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = { threaded = true; selftest = true; }; + package = { + specVersion = "1.18"; + identifier = { name = "hadrian"; version = "0.1.0.0"; }; + license = "BSD-3-Clause"; + copyright = "Andrey Mokhov 2014-2017"; + maintainer = "Andrey Mokhov , github: @snowleopard"; + author = "Andrey Mokhov , github: @snowleopard"; + homepage = ""; + url = ""; + synopsis = "GHC build system"; + description = ""; + buildType = "Simple"; + isLocal = true; + detailLevel = "FullDetails"; + licenseFiles = [ "LICENSE" ]; + dataDir = "."; + dataFiles = []; + extraSrcFiles = []; + extraTmpFiles = []; + extraDocFiles = [ "README.md" ]; + }; + components = { + exes = { + "hadrian" = { + depends = [ + (hsPkgs."Cabal" or (errorHandler.buildDepError "Cabal")) + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + (hsPkgs."extra" or (errorHandler.buildDepError "extra")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."time" or (errorHandler.buildDepError "time")) + (hsPkgs."mtl" or (errorHandler.buildDepError "mtl")) + (hsPkgs."parsec" or (errorHandler.buildDepError "parsec")) + (hsPkgs."shake" or (errorHandler.buildDepError "shake")) + (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")) + (hsPkgs."unordered-containers" or (errorHandler.buildDepError "unordered-containers")) + (hsPkgs."text" or (errorHandler.buildDepError "text")) + (hsPkgs."cryptohash-sha256" or (errorHandler.buildDepError "cryptohash-sha256")) + (hsPkgs."base16-bytestring" or (errorHandler.buildDepError "base16-bytestring")) + (hsPkgs."ghc-platform" or (errorHandler.buildDepError "ghc-platform")) + (hsPkgs."ghc-toolchain" or (errorHandler.buildDepError "ghc-toolchain")) + ] ++ (pkgs.lib).optional (flags.selftest) (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")); + buildable = true; + modules = [ + "Base" + "Builder" + "CommandLine" + "Context" + "Context/Path" + "Context/Type" + "Environment" + "Expression" + "Expression/Type" + "Flavour" + "Flavour/Type" + "Hadrian/Builder" + "Hadrian/Builder/Ar" + "Hadrian/Builder/Sphinx" + "Hadrian/Builder/Tar" + "Hadrian/Builder/Git" + "Hadrian/BuildPath" + "Hadrian/Expression" + "Hadrian/Haskell/Cabal" + "Hadrian/Haskell/Hash" + "Hadrian/Haskell/Cabal/Type" + "Hadrian/Haskell/Cabal/Parse" + "Hadrian/Oracles/ArgsHash" + "Hadrian/Oracles/Cabal" + "Hadrian/Oracles/Cabal/Rules" + "Hadrian/Oracles/Cabal/Type" + "Hadrian/Oracles/DirectoryContents" + "Hadrian/Oracles/Path" + "Hadrian/Oracles/TextFile" + "Hadrian/Package" + "Hadrian/Target" + "Hadrian/Utilities" + "Oracles/Flag" + "Oracles/Flavour" + "Oracles/Setting" + "Oracles/ModuleFiles" + "Oracles/TestSettings" + "Packages" + "Rules" + "Rules/BinaryDist" + "Rules/CabalReinstall" + "Rules/Clean" + "Rules/Compile" + "Rules/Dependencies" + "Rules/Docspec" + "Rules/Documentation" + "Rules/Generate" + "Rules/Gmp" + "Rules/Libffi" + "Rules/Library" + "Rules/Lint" + "Rules/Nofib" + "Rules/Program" + "Rules/Register" + "Rules/Rts" + "Rules/SimpleTargets" + "Rules/SourceDist" + "Rules/Test" + "Rules/ToolArgs" + "Settings" + "Settings/Builders/Alex" + "Settings/Builders/Cabal" + "Settings/Builders/Common" + "Settings/Builders/Cc" + "Settings/Builders/Configure" + "Settings/Builders/DeriveConstants" + "Settings/Builders/GenPrimopCode" + "Settings/Builders/Ghc" + "Settings/Builders/GhcPkg" + "Settings/Builders/Haddock" + "Settings/Builders/Happy" + "Settings/Builders/Hsc2Hs" + "Settings/Builders/HsCpp" + "Settings/Builders/Ar" + "Settings/Builders/Ld" + "Settings/Builders/Make" + "Settings/Builders/MergeObjects" + "Settings/Builders/SplitSections" + "Settings/Builders/RunTest" + "Settings/Builders/Win32Tarballs" + "Settings/Builders/Xelatex" + "Settings/Default" + "Settings/Flavours/Benchmark" + "Settings/Flavours/Development" + "Settings/Flavours/GhcInGhci" + "Settings/Flavours/Performance" + "Settings/Flavours/Quick" + "Settings/Flavours/QuickCross" + "Settings/Flavours/Quickest" + "Settings/Flavours/Validate" + "Settings/Flavours/Release" + "Settings/Packages" + "Settings/Parser" + "Settings/Program" + "Settings/Warnings" + "Stage" + "Target" + "UserSettings" + "Utilities" + "Way" + "Way/Type" + ] ++ (pkgs.lib).optional (flags.selftest) "Rules/Selftest"; + hsSourceDirs = [ "." "src" ]; + mainPath = ([ + "Main.hs" + ] ++ (pkgs.lib).optional (flags.threaded) "") ++ (pkgs.lib).optional (flags.selftest) ""; + }; + }; + }; + } // rec { src = (pkgs.lib).mkDefault ../.; } \ No newline at end of file diff --git a/materialized/ghc928/hadrian-ghc99/hadrian/cabal-files/QuickCheck.nix b/materialized/ghc928/hadrian-ghc99/hadrian/cabal-files/QuickCheck.nix new file mode 100644 index 0000000000..31390ca93b --- /dev/null +++ b/materialized/ghc928/hadrian-ghc99/hadrian/cabal-files/QuickCheck.nix @@ -0,0 +1,119 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = { templatehaskell = true; old-random = false; }; + package = { + specVersion = "1.10"; + identifier = { name = "QuickCheck"; version = "2.14.3"; }; + license = "BSD-3-Clause"; + copyright = "2000-2019 Koen Claessen, 2006-2008 Björn Bringert, 2009-2019 Nick Smallbone"; + maintainer = "Nick Smallbone "; + author = "Koen Claessen "; + homepage = "https://github.com/nick8325/quickcheck"; + url = ""; + synopsis = "Automatic testing of Haskell programs"; + description = "QuickCheck is a library for random testing of program properties.\nThe programmer provides a specification of the program, in the form of\nproperties which functions should satisfy, and QuickCheck then tests that the\nproperties hold in a large number of randomly generated cases.\nSpecifications are expressed in Haskell, using combinators provided by\nQuickCheck. QuickCheck provides combinators to define properties, observe the\ndistribution of test data, and define test data generators.\n\nMost of QuickCheck's functionality is exported by the main \"Test.QuickCheck\"\nmodule. The main exception is the monadic property testing library in\n\"Test.QuickCheck.Monadic\".\n\nIf you are new to QuickCheck, you can try looking at the following resources:\n\n* The .\nIt's a bit out-of-date in some details and doesn't cover newer QuickCheck features,\nbut is still full of good advice.\n* ,\na detailed tutorial written by a user of QuickCheck.\n\nThe \ncompanion package provides instances for types in Haskell Platform packages\nat the cost of additional dependencies."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = ((((((([ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + ] ++ [ + (hsPkgs."random" or (errorHandler.buildDepError "random")) + ]) ++ (pkgs.lib).optional (!(compiler.isHugs && true)) (hsPkgs."splitmix" or (errorHandler.buildDepError "splitmix"))) ++ (pkgs.lib).optionals (compiler.isGhc && true) [ + (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + ]) ++ (pkgs.lib).optional (compiler.isGhc && true && flags.templatehaskell) (hsPkgs."template-haskell" or (errorHandler.buildDepError "template-haskell"))) ++ (pkgs.lib).optional (compiler.isGhc && (compiler.version).ge "7.2" && (compiler.isGhc && (compiler.version).lt "7.6")) (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim"))) ++ (pkgs.lib).optional (compiler.isGhc && (compiler.version).ge "7.2") (hsPkgs."random" or (errorHandler.buildDepError "random"))) ++ (pkgs.lib).optional (compiler.isGhc && (compiler.version).ge "7.4") (hsPkgs."containers" or (errorHandler.buildDepError "containers"))) ++ (pkgs.lib).optionals (compiler.isUhc && true) [ + (hsPkgs."old-time" or (errorHandler.buildDepError "old-time")) + (hsPkgs."old-locale" or (errorHandler.buildDepError "old-locale")) + ]; + buildable = true; + }; + tests = { + "test-quickcheck" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")) + ]; + buildable = if !flags.templatehaskell then false else true; + }; + "test-quickcheck-gcoarbitrary" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")) + ] ++ (pkgs.lib).optional (compiler.isGhc && (compiler.version).ge "7.2" && (compiler.isGhc && (compiler.version).lt "7.6")) (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")); + buildable = if !flags.templatehaskell || !(compiler.isGhc && (compiler.version).ge "7.2") + then false + else true; + }; + "test-quickcheck-generators" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")) + ]; + buildable = if !flags.templatehaskell then false else true; + }; + "test-quickcheck-gshrink" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")) + ] ++ (pkgs.lib).optional (compiler.isGhc && (compiler.version).ge "7.2" && (compiler.isGhc && (compiler.version).lt "7.6")) (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")); + buildable = if !flags.templatehaskell || !(compiler.isGhc && (compiler.version).ge "7.2") + then false + else true; + }; + "test-quickcheck-terminal" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."process" or (errorHandler.buildDepError "process")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")) + ]; + buildable = if !flags.templatehaskell || !(compiler.isGhc && (compiler.version).ge "7.10") + then false + else true; + }; + "test-quickcheck-monadfix" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")) + ]; + buildable = if !flags.templatehaskell || !(compiler.isGhc && (compiler.version).ge "7.10") + then false + else true; + }; + "test-quickcheck-split" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")) + ]; + buildable = true; + }; + "test-quickcheck-misc" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")) + ]; + buildable = if !flags.templatehaskell || !(compiler.isGhc && (compiler.version).ge "7.10") + then false + else true; + }; + }; + }; + } // { + src = (pkgs.lib).mkDefault (pkgs.fetchurl { + url = "http://hackage.haskell.org/package/QuickCheck-2.14.3.tar.gz"; + sha256 = "5c0f22b36b28a1a8fa110b3819818d3f29494a3b0dedbae299f064123ca70501"; + }); + }) // { + package-description-override = "Name: QuickCheck\nVersion: 2.14.3\nCabal-Version: >= 1.10\nBuild-type: Simple\nLicense: BSD3\nLicense-file: LICENSE\nCopyright: 2000-2019 Koen Claessen, 2006-2008 Björn Bringert, 2009-2019 Nick Smallbone\nAuthor: Koen Claessen \nMaintainer: Nick Smallbone \nBug-reports: https://github.com/nick8325/quickcheck/issues\nTested-with: GHC ==7.0.4 || ==7.2.2 || >= 7.4\nHomepage: https://github.com/nick8325/quickcheck\nCategory: Testing\nSynopsis: Automatic testing of Haskell programs\nDescription:\n QuickCheck is a library for random testing of program properties.\n The programmer provides a specification of the program, in the form of\n properties which functions should satisfy, and QuickCheck then tests that the\n properties hold in a large number of randomly generated cases.\n Specifications are expressed in Haskell, using combinators provided by\n QuickCheck. QuickCheck provides combinators to define properties, observe the\n distribution of test data, and define test data generators.\n .\n Most of QuickCheck's functionality is exported by the main \"Test.QuickCheck\"\n module. The main exception is the monadic property testing library in\n \"Test.QuickCheck.Monadic\".\n .\n If you are new to QuickCheck, you can try looking at the following resources:\n .\n * The .\n It's a bit out-of-date in some details and doesn't cover newer QuickCheck features,\n but is still full of good advice.\n * ,\n a detailed tutorial written by a user of QuickCheck.\n .\n The \n companion package provides instances for types in Haskell Platform packages\n at the cost of additional dependencies.\n\nextra-source-files:\n README\n changelog\n examples/Heap.hs\n examples/Heap_Program.hs\n examples/Heap_ProgramAlgebraic.hs\n examples/Lambda.hs\n examples/Merge.hs\n examples/Set.hs\n examples/Simple.hs\n make-hugs\n test-hugs\n\nsource-repository head\n type: git\n location: https://github.com/nick8325/quickcheck\n\nsource-repository this\n type: git\n location: https://github.com/nick8325/quickcheck\n tag: 2.14.3\n\nflag templateHaskell\n Description: Build Test.QuickCheck.All, which uses Template Haskell.\n Default: True\n Manual: True\n\nflag old-random\n Description: Build against a pre-1.2.0 version of the random package.\n Default: False\n Manual: False\n\nlibrary\n Hs-source-dirs: src\n Build-depends: base >=4.3 && <5, containers\n Default-language: Haskell2010\n\n -- New vs old random.\n if flag(old-random)\n Build-depends: random >= 1.0.0.3 && < 1.2.0\n cpp-options: -DOLD_RANDOM\n else\n Build-depends: random >= 1.2.0 && < 1.3\n\n -- We always use splitmix directly rather than going through StdGen\n -- (it's somewhat more efficient).\n -- However, Hugs traps overflow on Word64, so we have to stick\n -- with StdGen there.\n if impl(hugs)\n cpp-options: -DNO_SPLITMIX\n else\n Build-depends: splitmix >= 0.1 && <0.2\n\n -- Modules that are always built.\n Exposed-Modules:\n Test.QuickCheck,\n Test.QuickCheck.Arbitrary,\n Test.QuickCheck.Gen,\n Test.QuickCheck.Gen.Unsafe,\n Test.QuickCheck.Monadic,\n Test.QuickCheck.Modifiers,\n Test.QuickCheck.Property,\n Test.QuickCheck.Test,\n Test.QuickCheck.Text,\n Test.QuickCheck.Poly,\n Test.QuickCheck.State,\n Test.QuickCheck.Random,\n Test.QuickCheck.Exception,\n Test.QuickCheck.Features\n\n -- GHC-specific modules.\n if impl(ghc)\n Exposed-Modules: Test.QuickCheck.Function\n Build-depends: transformers >= 0.3, deepseq >= 1.1.0.0\n else\n cpp-options: -DNO_TRANSFORMERS -DNO_DEEPSEQ\n\n if impl(ghc) && flag(templateHaskell)\n Build-depends: template-haskell >= 2.4\n if impl(ghc >=8.0)\n Other-Extensions: TemplateHaskellQuotes\n else\n Other-Extensions: TemplateHaskell\n Exposed-Modules: Test.QuickCheck.All\n else\n cpp-options: -DNO_TEMPLATE_HASKELL\n\n if !impl(ghc >= 7.4)\n cpp-options: -DNO_CTYPES_CONSTRUCTORS -DNO_FOREIGN_C_USECONDS\n\n -- The new generics appeared in GHC 7.2...\n if impl(ghc < 7.2)\n cpp-options: -DNO_GENERICS\n -- ...but in 7.2-7.4 it lives in the ghc-prim package.\n if impl(ghc >= 7.2) && impl(ghc < 7.6)\n Build-depends: ghc-prim\n\n -- Safe Haskell appeared in GHC 7.2, but GHC.Generics isn't safe until 7.4.\n if impl (ghc < 7.4)\n cpp-options: -DNO_SAFE_HASKELL\n\n -- random is explicitly Trustworthy since 1.0.1.0\n -- similar constraint for containers\n if impl(ghc >= 7.2)\n Build-depends: random >=1.0.1.0\n if impl(ghc >= 7.4)\n Build-depends: containers >=0.4.2.1\n\n if !impl(ghc >= 7.6)\n cpp-options: -DNO_POLYKINDS\n\n if !impl(ghc >= 8.0)\n cpp-options: -DNO_MONADFAIL\n\n -- Switch off most optional features on non-GHC systems.\n if !impl(ghc)\n -- If your Haskell compiler can cope without some of these, please\n -- send a message to the QuickCheck mailing list!\n cpp-options: -DNO_TIMEOUT -DNO_NEWTYPE_DERIVING -DNO_GENERICS\n -DNO_TEMPLATE_HASKELL -DNO_SAFE_HASKELL -DNO_TYPEABLE -DNO_GADTS\n -DNO_EXTRA_METHODS_IN_APPLICATIVE -DOLD_RANDOM\n if !impl(hugs) && !impl(uhc)\n cpp-options: -DNO_ST_MONAD -DNO_MULTI_PARAM_TYPE_CLASSES\n\n -- LANGUAGE pragmas don't have any effect in Hugs.\n if impl(hugs)\n Default-Extensions: CPP\n\n if impl(uhc)\n -- Cabal under UHC needs pointing out all the dependencies of the\n -- random package.\n Build-depends: old-time, old-locale\n -- Plus some bits of the standard library are missing.\n cpp-options: -DNO_FIXED -DNO_EXCEPTIONS\n\nTest-Suite test-quickcheck\n type: exitcode-stdio-1.0\n Default-language: Haskell2010\n hs-source-dirs:\n examples\n main-is: Heap.hs\n build-depends: base, QuickCheck\n if !flag(templateHaskell)\n Buildable: False\n\nTest-Suite test-quickcheck-gcoarbitrary\n type: exitcode-stdio-1.0\n Default-language: Haskell2010\n hs-source-dirs: tests\n main-is: GCoArbitraryExample.hs\n build-depends: base, QuickCheck\n if !flag(templateHaskell) || !impl(ghc >= 7.2)\n buildable: False\n if impl(ghc >= 7.2) && impl(ghc < 7.6)\n build-depends: ghc-prim\n\nTest-Suite test-quickcheck-generators\n type: exitcode-stdio-1.0\n Default-language: Haskell2010\n hs-source-dirs: tests\n main-is: Generators.hs\n build-depends: base, QuickCheck\n if !flag(templateHaskell)\n Buildable: False\n\nTest-Suite test-quickcheck-gshrink\n type: exitcode-stdio-1.0\n Default-language: Haskell2010\n hs-source-dirs: tests\n main-is: GShrinkExample.hs\n build-depends: base, QuickCheck\n if !flag(templateHaskell) || !impl(ghc >= 7.2)\n buildable: False\n if impl(ghc >= 7.2) && impl(ghc < 7.6)\n build-depends: ghc-prim\n\nTest-Suite test-quickcheck-terminal\n type: exitcode-stdio-1.0\n Default-language: Haskell2010\n hs-source-dirs: tests\n main-is: Terminal.hs\n build-depends: base, process, deepseq >= 1.1.0.0, QuickCheck\n if !flag(templateHaskell) || !impl(ghc >= 7.10)\n buildable: False\n\nTest-Suite test-quickcheck-monadfix\n type: exitcode-stdio-1.0\n Default-language: Haskell2010\n hs-source-dirs: tests\n main-is: MonadFix.hs\n build-depends: base, QuickCheck\n if !flag(templateHaskell) || !impl(ghc >= 7.10)\n buildable: False\n\nTest-Suite test-quickcheck-split\n type: exitcode-stdio-1.0\n Default-language: Haskell2010\n hs-source-dirs: tests\n main-is: Split.hs\n build-depends: base, QuickCheck\n\nTest-Suite test-quickcheck-misc\n type: exitcode-stdio-1.0\n Default-language: Haskell2010\n hs-source-dirs: tests\n main-is: Misc.hs\n build-depends: base, QuickCheck\n if !flag(templateHaskell) || !impl(ghc >= 7.10)\n buildable: False\n"; + } \ No newline at end of file diff --git a/materialized/ghc928/hadrian-ghc99/hadrian/cabal-files/base16-bytestring.nix b/materialized/ghc928/hadrian-ghc99/hadrian/cabal-files/base16-bytestring.nix new file mode 100644 index 0000000000..31d3b31c55 --- /dev/null +++ b/materialized/ghc928/hadrian-ghc99/hadrian/cabal-files/base16-bytestring.nix @@ -0,0 +1,68 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = {}; + package = { + specVersion = "1.12"; + identifier = { name = "base16-bytestring"; version = "1.0.2.0"; }; + license = "BSD-3-Clause"; + copyright = "Copyright 2011 MailRank, Inc.;\nCopyright 2010-2020 Bryan O'Sullivan et al."; + maintainer = "Herbert Valerio Riedel ,\nMikhail Glushenkov ,\nEmily Pillmore "; + author = "Bryan O'Sullivan "; + homepage = "http://github.com/haskell/base16-bytestring"; + url = ""; + synopsis = "RFC 4648-compliant Base16 encodings for ByteStrings"; + description = "This package provides support for encoding and decoding binary data according\nto @base16@ (see also ) for\nstrict (see \"Data.ByteString.Base16\") and lazy @ByteString@s (see \"Data.ByteString.Base16.Lazy\").\n\nSee the package which provides superior encoding and decoding performance as well as support for lazy, short, and strict variants of 'Text' and 'ByteString' values. Additionally, see the package which\nprovides an uniform API providing conversion paths between more binary and textual types."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + ]; + buildable = true; + }; + tests = { + "test" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."base16-bytestring" or (errorHandler.buildDepError "base16-bytestring")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."HUnit" or (errorHandler.buildDepError "HUnit")) + (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")) + (hsPkgs."test-framework" or (errorHandler.buildDepError "test-framework")) + (hsPkgs."test-framework-hunit" or (errorHandler.buildDepError "test-framework-hunit")) + (hsPkgs."test-framework-quickcheck2" or (errorHandler.buildDepError "test-framework-quickcheck2")) + ]; + buildable = true; + }; + }; + benchmarks = { + "bench" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."base16-bytestring" or (errorHandler.buildDepError "base16-bytestring")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."criterion" or (errorHandler.buildDepError "criterion")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + ]; + buildable = true; + }; + }; + }; + } // { + src = (pkgs.lib).mkDefault (pkgs.fetchurl { + url = "http://hackage.haskell.org/package/base16-bytestring-1.0.2.0.tar.gz"; + sha256 = "1d5a91143ef0e22157536093ec8e59d226a68220ec89378d5dcaeea86472c784"; + }); + }) // { + package-description-override = "cabal-version: 1.12\nname: base16-bytestring\nversion: 1.0.2.0\nsynopsis: RFC 4648-compliant Base16 encodings for ByteStrings\ndescription:\n This package provides support for encoding and decoding binary data according\n to @base16@ (see also ) for\n strict (see \"Data.ByteString.Base16\") and lazy @ByteString@s (see \"Data.ByteString.Base16.Lazy\").\n .\n See the package which provides superior encoding and decoding performance as well as support for lazy, short, and strict variants of 'Text' and 'ByteString' values. Additionally, see the package which\n provides an uniform API providing conversion paths between more binary and textual types.\n\nhomepage: http://github.com/haskell/base16-bytestring\nbug-reports: http://github.com/haskell/base16-bytestring/issues\nlicense: BSD3\nlicense-file: LICENSE\ncopyright:\n Copyright 2011 MailRank, Inc.;\n Copyright 2010-2020 Bryan O'Sullivan et al.\n\nauthor: Bryan O'Sullivan \nmaintainer:\n Herbert Valerio Riedel ,\n Mikhail Glushenkov ,\n Emily Pillmore \n\ncategory: Data\nbuild-type: Simple\nextra-source-files:\n README.md\n CHANGELOG.md\n\ntested-with:\n GHC ==8.0.2\n || ==8.2.2\n || ==8.4.4\n || ==8.6.5\n || ==8.8.4\n || ==8.10.4\n || ==9.0.1\n\nsource-repository head\n type: git\n location: http://github.com/haskell/base16-bytestring\n\nlibrary\n other-modules: Data.ByteString.Base16.Internal\n exposed-modules:\n Data.ByteString.Base16\n Data.ByteString.Base16.Lazy\n\n build-depends:\n base >=4.9 && <5\n , bytestring >=0.9 && <0.12\n\n ghc-options: -Wall -funbox-strict-fields\n default-language: Haskell2010\n\ntest-suite test\n type: exitcode-stdio-1.0\n hs-source-dirs: tests\n main-is: Tests.hs\n build-depends:\n base\n , base16-bytestring\n , bytestring\n , HUnit\n , QuickCheck\n , test-framework\n , test-framework-hunit\n , test-framework-quickcheck2\n\n default-language: Haskell2010\n\nbenchmark bench\n type: exitcode-stdio-1.0\n hs-source-dirs: benchmarks\n main-is: Benchmarks.hs\n build-depends:\n base >=4 && <5\n , base16-bytestring\n , bytestring\n , criterion\n , deepseq\n\n default-language: Haskell2010\n"; + } \ No newline at end of file diff --git a/materialized/ghc928/hadrian-ghc99/hadrian/cabal-files/clock.nix b/materialized/ghc928/hadrian-ghc99/hadrian/cabal-files/clock.nix new file mode 100644 index 0000000000..de66c1339a --- /dev/null +++ b/materialized/ghc928/hadrian-ghc99/hadrian/cabal-files/clock.nix @@ -0,0 +1,59 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = { llvm = false; }; + package = { + specVersion = "1.10"; + identifier = { name = "clock"; version = "0.8.3"; }; + license = "BSD-3-Clause"; + copyright = "Copyright © Cetin Sert 2009-2016, Eugene Kirpichov 2010, Finn Espen Gundersen 2013, Gerolf Seitz 2013, Mathieu Boespflug 2014 2015, Chris Done 2015, Dimitri Sabadie 2015, Christian Burger 2015, Mario Longobardi 2016, Alexander Vershilov 2021."; + maintainer = "Cetin Sert , Corsis Research"; + author = "Cetin Sert , Corsis Research"; + homepage = "https://github.com/corsis/clock"; + url = ""; + synopsis = "High-resolution clock functions: monotonic, realtime, cputime."; + description = "A package for convenient access to high-resolution clock and\ntimer functions of different operating systems via a unified API.\n\nPOSIX code and surface API was developed by Cetin Sert in 2009.\n\nWindows code was contributed by Eugene Kirpichov in 2010.\n\nFreeBSD code was contributed by Finn Espen Gundersen on 2013-10-14.\n\nOS X code was contributed by Gerolf Seitz on 2013-10-15.\n\nDerived @Generic@, @Typeable@ and other instances for @Clock@ and @TimeSpec@ was contributed by Mathieu Boespflug on 2014-09-17.\n\nCorrected dependency listing for @GHC < 7.6@ was contributed by Brian McKenna on 2014-09-30.\n\nWindows code corrected by Dimitri Sabadie on 2015-02-09.\n\nAdded @timeSpecAsNanoSecs@ as observed widely-used by Chris Done on 2015-01-06, exported correctly on 2015-04-20.\n\nImported Control.Applicative operators correctly for Haskell Platform on Windows on 2015-04-21.\n\nUnit tests and instance fixes by Christian Burger on 2015-06-25.\n\nRemoval of fromInteger : Integer -> TimeSpec by Cetin Sert on 2015-12-15.\n\nNew Linux-specific Clocks: MonotonicRaw, Boottime, MonotonicCoarse, RealtimeCoarse by Cetin Sert on 2015-12-15.\n\nReintroduction fromInteger : Integer -> TimeSpec by Cetin Sert on 2016-04-05.\n\nFixes for older Linux build failures introduced by new Linux-specific clocks by Mario Longobardi on 2016-04-18.\n\nRefreshment release in 2019-04 after numerous contributions.\n\nRefactoring for Windows, Mac implementation consistence by Alexander Vershilov on 2021-01-16.\n\n[Version Scheme]\nMajor-@/R/@-ewrite . New-@/F/@-unctionality . @/I/@-mprovementAndBugFixes . @/P/@-ackagingOnly\n\n* @PackagingOnly@ changes are made for quality assurance reasons."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ (hsPkgs."base" or (errorHandler.buildDepError "base")) ]; + buildable = true; + }; + tests = { + "test" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."tasty" or (errorHandler.buildDepError "tasty")) + (hsPkgs."tasty-quickcheck" or (errorHandler.buildDepError "tasty-quickcheck")) + (hsPkgs."clock" or (errorHandler.buildDepError "clock")) + ]; + buildable = true; + }; + }; + benchmarks = { + "benchmarks" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."criterion" or (errorHandler.buildDepError "criterion")) + (hsPkgs."clock" or (errorHandler.buildDepError "clock")) + ]; + buildable = true; + }; + }; + }; + } // { + src = (pkgs.lib).mkDefault (pkgs.fetchurl { + url = "http://hackage.haskell.org/package/clock-0.8.3.tar.gz"; + sha256 = "845ce5db4c98cefd517323e005f87effceff886987305e421c4ef616dc0505d1"; + }); + }) // { + package-description-override = "cabal-version: >= 1.10\nname: clock\nversion: 0.8.3\nstability: stable\nsynopsis: High-resolution clock functions: monotonic, realtime, cputime.\ndescription: A package for convenient access to high-resolution clock and\n timer functions of different operating systems via a unified API.\n .\n POSIX code and surface API was developed by Cetin Sert in 2009.\n .\n Windows code was contributed by Eugene Kirpichov in 2010.\n .\n FreeBSD code was contributed by Finn Espen Gundersen on 2013-10-14.\n .\n OS X code was contributed by Gerolf Seitz on 2013-10-15.\n .\n Derived @Generic@, @Typeable@ and other instances for @Clock@ and @TimeSpec@ was contributed by Mathieu Boespflug on 2014-09-17.\n .\n Corrected dependency listing for @GHC < 7.6@ was contributed by Brian McKenna on 2014-09-30.\n .\n Windows code corrected by Dimitri Sabadie on 2015-02-09.\n .\n Added @timeSpecAsNanoSecs@ as observed widely-used by Chris Done on 2015-01-06, exported correctly on 2015-04-20.\n .\n Imported Control.Applicative operators correctly for Haskell Platform on Windows on 2015-04-21.\n .\n Unit tests and instance fixes by Christian Burger on 2015-06-25.\n .\n Removal of fromInteger : Integer -> TimeSpec by Cetin Sert on 2015-12-15.\n .\n New Linux-specific Clocks: MonotonicRaw, Boottime, MonotonicCoarse, RealtimeCoarse by Cetin Sert on 2015-12-15.\n .\n Reintroduction fromInteger : Integer -> TimeSpec by Cetin Sert on 2016-04-05.\n .\n Fixes for older Linux build failures introduced by new Linux-specific clocks by Mario Longobardi on 2016-04-18.\n .\n Refreshment release in 2019-04 after numerous contributions.\n .\n Refactoring for Windows, Mac implementation consistence by Alexander Vershilov on 2021-01-16.\n .\n [Version Scheme]\n Major-@/R/@-ewrite . New-@/F/@-unctionality . @/I/@-mprovementAndBugFixes . @/P/@-ackagingOnly\n .\n * @PackagingOnly@ changes are made for quality assurance reasons.\n\ncopyright: Copyright © Cetin Sert 2009-2016, Eugene Kirpichov 2010, Finn Espen Gundersen 2013, Gerolf Seitz 2013, Mathieu Boespflug 2014 2015, Chris Done 2015, Dimitri Sabadie 2015, Christian Burger 2015, Mario Longobardi 2016, Alexander Vershilov 2021.\nlicense: BSD3\nlicense-file: LICENSE\nauthor: Cetin Sert , Corsis Research\nmaintainer: Cetin Sert , Corsis Research\nhomepage: https://github.com/corsis/clock\nbug-reports: https://github.com/corsis/clock/issues\ncategory: System\nbuild-type: Simple\n\ntested-with:\n GHC == 9.2.1\n GHC == 9.0.2\n GHC == 8.10.7\n GHC == 8.8.4\n GHC == 8.6.5\n GHC == 8.4.4\n GHC == 8.2.2\n GHC == 8.0.2\n GHC == 7.10.3\n GHC == 7.8.4\n\nextra-source-files:\n CHANGELOG.md\n\n\nsource-repository head\n type: git\n location: git://github.com/corsis/clock.git\n\n\nflag llvm\n description: compile via LLVM\n default : False\n\n\nlibrary\n build-depends: base >= 4.7 && < 5\n\n exposed-modules: System.Clock\n System.Clock.Seconds\n\n default-language: Haskell2010\n default-extensions: DeriveGeneric\n DeriveDataTypeable\n ForeignFunctionInterface\n ScopedTypeVariables\n ViewPatterns\n GeneralizedNewtypeDeriving\n if os(windows)\n c-sources: cbits/hs_clock_win32.c\n include-dirs: cbits\n ghc-options: -O3 -Wall\n\n if flag(llvm)\n ghc-options: -fllvm -optlo-O3\n\n\ntest-suite test\n default-language: Haskell2010\n default-extensions: ScopedTypeVariables\n GeneralizedNewtypeDeriving\n StandaloneDeriving\n type:\n exitcode-stdio-1.0\n hs-source-dirs:\n tests\n main-is:\n test.hs\n build-depends:\n base\n , tasty >= 0.10\n , tasty-quickcheck\n , clock\n\nbenchmark benchmarks\n default-language: Haskell2010\n type:\n exitcode-stdio-1.0\n hs-source-dirs:\n bench\n main-is:\n benchmarks.hs\n build-depends:\n base\n , criterion\n , clock\n"; + } \ No newline at end of file diff --git a/materialized/ghc928/hadrian-ghc99/hadrian/cabal-files/cryptohash-sha256.nix b/materialized/ghc928/hadrian-ghc99/hadrian/cabal-files/cryptohash-sha256.nix new file mode 100644 index 0000000000..5d4a3157f0 --- /dev/null +++ b/materialized/ghc928/hadrian-ghc99/hadrian/cabal-files/cryptohash-sha256.nix @@ -0,0 +1,84 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = { exe = false; use-cbits = true; }; + package = { + specVersion = "2.0"; + identifier = { name = "cryptohash-sha256"; version = "0.11.102.1"; }; + license = "BSD-3-Clause"; + copyright = "Vincent Hanquez, Herbert Valerio Riedel"; + maintainer = "Herbert Valerio Riedel "; + author = ""; + homepage = "https://github.com/hvr/cryptohash-sha256"; + url = ""; + synopsis = "Fast, pure and practical SHA-256 implementation"; + description = "A practical incremental and one-pass, pure API to\nthe [SHA-256 cryptographic hash algorithm](https://en.wikipedia.org/wiki/SHA-2) according\nto [FIPS 180-4](http://dx.doi.org/10.6028/NIST.FIPS.180-4)\nwith performance close to the fastest implementations available in other languages.\n\nThe core SHA-256 algorithm is implemented in C and is thus expected\nto be as fast as the standard [sha256sum(1) tool](https://linux.die.net/man/1/sha256sum);\nfor instance, on an /Intel Core i7-3770/ at 3.40GHz this implementation can\ncompute a SHA-256 hash over 230 MiB of data in under one second.\n(If, instead, you require a pure Haskell implementation and performance is secondary, please refer to the [SHA package](https://hackage.haskell.org/package/SHA).)\n\n\nAdditionally, this package provides support for\n\n- HMAC-SHA-256: SHA-256-based [Hashed Message Authentication Codes](https://en.wikipedia.org/wiki/HMAC) (HMAC)\n- HKDF-SHA-256: [HMAC-SHA-256-based Key Derivation Function](https://en.wikipedia.org/wiki/HKDF) (HKDF)\n\nconforming to [RFC6234](https://tools.ietf.org/html/rfc6234), [RFC4231](https://tools.ietf.org/html/rfc4231), [RFC5869](https://tools.ietf.org/html/rfc5869), et al..\n\n=== Relationship to the @cryptohash@ package and its API\n\nThis package has been originally a fork of @cryptohash-0.11.7@ because the @cryptohash@\npackage had been deprecated and so this package continues to satisfy the need for a\nlightweight package providing the SHA-256 hash algorithm without any dependencies on packages\nother than @base@ and @bytestring@. The API exposed by @cryptohash-sha256-0.11.*@'s\n\"Crypto.Hash.SHA256\" module is guaranteed to remain a compatible superset of the API provided\nby the @cryptohash-0.11.7@'s module of the same name.\n\nConsequently, this package is designed to be used as a drop-in replacement for @cryptohash-0.11.7@'s\n\"Crypto.Hash.SHA256\" module, though with\na [clearly smaller footprint by almost 3 orders of magnitude](https://www.reddit.com/r/haskell/comments/5lxv75/psa_please_use_unique_module_names_when_uploading/dbzegx3/)."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + ] ++ (if flags.use-cbits + then [ + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + ] + else [ + (hsPkgs."cryptohash-sha256-pure" or (errorHandler.buildDepError "cryptohash-sha256-pure")) + ]); + buildable = true; + }; + exes = { + "sha256sum" = { + depends = (pkgs.lib).optionals (flags.exe) [ + (hsPkgs."cryptohash-sha256" or (errorHandler.buildDepError "cryptohash-sha256")) + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."base16-bytestring" or (errorHandler.buildDepError "base16-bytestring")) + ]; + buildable = if flags.exe then true else false; + }; + }; + tests = { + "test-sha256" = { + depends = [ + (hsPkgs."cryptohash-sha256" or (errorHandler.buildDepError "cryptohash-sha256")) + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."base16-bytestring" or (errorHandler.buildDepError "base16-bytestring")) + (hsPkgs."SHA" or (errorHandler.buildDepError "SHA")) + (hsPkgs."tasty" or (errorHandler.buildDepError "tasty")) + (hsPkgs."tasty-quickcheck" or (errorHandler.buildDepError "tasty-quickcheck")) + (hsPkgs."tasty-hunit" or (errorHandler.buildDepError "tasty-hunit")) + ]; + buildable = true; + }; + }; + benchmarks = { + "bench-sha256" = { + depends = [ + (hsPkgs."cryptohash-sha256" or (errorHandler.buildDepError "cryptohash-sha256")) + (hsPkgs."SHA" or (errorHandler.buildDepError "SHA")) + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."criterion" or (errorHandler.buildDepError "criterion")) + ]; + buildable = true; + }; + }; + }; + } // { + src = (pkgs.lib).mkDefault (pkgs.fetchurl { + url = "http://hackage.haskell.org/package/cryptohash-sha256-0.11.102.1.tar.gz"; + sha256 = "73a7dc7163871a80837495039a099967b11f5c4fe70a118277842f7a713c6bf6"; + }); + }) // { + package-description-override = "cabal-version: 2.0\nname: cryptohash-sha256\nversion: 0.11.102.1\nx-revision: 2\n\nsynopsis: Fast, pure and practical SHA-256 implementation\ndescription: {\n\nA practical incremental and one-pass, pure API to\nthe [SHA-256 cryptographic hash algorithm](https://en.wikipedia.org/wiki/SHA-2) according\nto [FIPS 180-4](http://dx.doi.org/10.6028/NIST.FIPS.180-4)\nwith performance close to the fastest implementations available in other languages.\n.\nThe core SHA-256 algorithm is implemented in C and is thus expected\nto be as fast as the standard [sha256sum(1) tool](https://linux.die.net/man/1/sha256sum);\nfor instance, on an /Intel Core i7-3770/ at 3.40GHz this implementation can\ncompute a SHA-256 hash over 230 MiB of data in under one second.\n(If, instead, you require a pure Haskell implementation and performance is secondary, please refer to the [SHA package](https://hackage.haskell.org/package/SHA).)\n.\n\n.\nAdditionally, this package provides support for\n.\n- HMAC-SHA-256: SHA-256-based [Hashed Message Authentication Codes](https://en.wikipedia.org/wiki/HMAC) (HMAC)\n- HKDF-SHA-256: [HMAC-SHA-256-based Key Derivation Function](https://en.wikipedia.org/wiki/HKDF) (HKDF)\n.\nconforming to [RFC6234](https://tools.ietf.org/html/rfc6234), [RFC4231](https://tools.ietf.org/html/rfc4231), [RFC5869](https://tools.ietf.org/html/rfc5869), et al..\n.\n=== Relationship to the @cryptohash@ package and its API\n.\nThis package has been originally a fork of @cryptohash-0.11.7@ because the @cryptohash@\npackage had been deprecated and so this package continues to satisfy the need for a\nlightweight package providing the SHA-256 hash algorithm without any dependencies on packages\nother than @base@ and @bytestring@. The API exposed by @cryptohash-sha256-0.11.*@'s\n\"Crypto.Hash.SHA256\" module is guaranteed to remain a compatible superset of the API provided\nby the @cryptohash-0.11.7@'s module of the same name.\n.\nConsequently, this package is designed to be used as a drop-in replacement for @cryptohash-0.11.7@'s\n\"Crypto.Hash.SHA256\" module, though with\na [clearly smaller footprint by almost 3 orders of magnitude](https://www.reddit.com/r/haskell/comments/5lxv75/psa_please_use_unique_module_names_when_uploading/dbzegx3/).\n\n}\n\nlicense: BSD3\nlicense-file: LICENSE\ncopyright: Vincent Hanquez, Herbert Valerio Riedel\nmaintainer: Herbert Valerio Riedel \nhomepage: https://github.com/hvr/cryptohash-sha256\nbug-reports: https://github.com/hvr/cryptohash-sha256/issues\ncategory: Data, Cryptography\nbuild-type: Simple\n\ntested-with:\n GHC == 9.6.1\n GHC == 9.4.4\n GHC == 9.2.7\n GHC == 9.0.2\n GHC == 8.10.7\n GHC == 8.8.4\n GHC == 8.6.5\n GHC == 8.4.4\n GHC == 8.2.2\n GHC == 8.0.2\n GHC == 7.10.3\n GHC == 7.8.4\n GHC == 7.6.3\n GHC == 7.4.2\n\nextra-source-files: cbits/hs_sha256.h\n changelog.md\n\nsource-repository head\n type: git\n location: https://github.com/hvr/cryptohash-sha256.git\n\nflag exe\n description: Enable building @sha256sum@ executable\n manual: True\n default: False\n\nflag use-cbits\n description: Use fast optimized C routines via FFI; if flag is disabled falls back to non-FFI Haskell optimized implementation.\n manual: True\n default: True\n\nlibrary\n default-language: Haskell2010\n\n ghc-options: -Wall\n\n build-depends: base >= 4.5 && < 4.19\n\n exposed-modules: Crypto.Hash.SHA256\n\n if flag(use-cbits)\n build-depends: bytestring ^>= 0.9.2 || ^>= 0.10.0 || ^>= 0.11.0\n\n other-extensions: BangPatterns\n CApiFFI\n CPP\n Trustworthy\n Unsafe\n\n hs-source-dirs: src\n other-modules: Crypto.Hash.SHA256.FFI\n Compat\n include-dirs: cbits\n else\n hs-source-dirs: src-pure\n build-depends: cryptohash-sha256-pure ^>= 0.1.0\n\nexecutable sha256sum\n default-language: Haskell2010\n hs-source-dirs: src-exe\n main-is: sha256sum.hs\n ghc-options: -Wall -threaded\n if flag(exe)\n other-extensions: RecordWildCards\n build-depends: cryptohash-sha256\n , base\n , bytestring\n\n , base16-bytestring ^>= 0.1.1 || ^>= 1.0.0\n else\n buildable: False\n\ntest-suite test-sha256\n default-language: Haskell2010\n other-extensions: OverloadedStrings\n type: exitcode-stdio-1.0\n hs-source-dirs: src-tests\n main-is: test-sha256.hs\n ghc-options: -Wall -threaded\n build-depends: cryptohash-sha256\n , base\n , bytestring\n\n , base16-bytestring ^>= 0.1.1 || ^>= 1.0.0\n , SHA ^>= 1.6.4\n , tasty ^>= 1.4\n , tasty-quickcheck ^>= 0.10\n , tasty-hunit ^>= 0.10\n\nbenchmark bench-sha256\n default-language: Haskell2010\n other-extensions: BangPatterns\n type: exitcode-stdio-1.0\n main-is: bench-sha256.hs\n hs-source-dirs: src-bench\n build-depends: cryptohash-sha256\n , SHA ^>= 1.6.4\n , base\n , bytestring\n , criterion ^>= 1.5 || ^>=1.6\n\n -- not yet public\n -- build-depends: cryptohash-sha256-pure ^>= 0.1.0\n"; + } \ No newline at end of file diff --git a/materialized/ghc928/hadrian-ghc99/hadrian/cabal-files/data-array-byte.nix b/materialized/ghc928/hadrian-ghc99/hadrian/cabal-files/data-array-byte.nix new file mode 100644 index 0000000000..c0d9745691 --- /dev/null +++ b/materialized/ghc928/hadrian-ghc99/hadrian/cabal-files/data-array-byte.nix @@ -0,0 +1,55 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = {}; + package = { + specVersion = "1.10"; + identifier = { name = "data-array-byte"; version = "0.1.0.1"; }; + license = "BSD-3-Clause"; + copyright = "(c) Roman Leshchinskiy 2009-2012"; + maintainer = "andrew.lelechenko@gmail.com"; + author = "Roman Leshchinskiy "; + homepage = "https://github.com/Bodigrim/data-array-byte"; + url = ""; + synopsis = "Compatibility layer for Data.Array.Byte"; + description = "Compatibility layer for [Data.Array.Byte](https://hackage.haskell.org/package/base/docs/Data-Array-Byte.html), providing boxed wrappers for @ByteArray#@ and @MutableByteArray#@ and relevant instances for GHC < 9.4. Include it into your Cabal file:\n\n> build-depends: base\n> if impl(ghc < 9.4)\n> build-depends: data-array-byte\n\nand then @import Data.Array.Byte@ unconditionally."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."template-haskell" or (errorHandler.buildDepError "template-haskell")) + ]; + buildable = true; + }; + tests = { + "data-array-byte-tests" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."data-array-byte" or (errorHandler.buildDepError "data-array-byte")) + (hsPkgs."quickcheck-classes-base" or (errorHandler.buildDepError "quickcheck-classes-base")) + (hsPkgs."tasty" or (errorHandler.buildDepError "tasty")) + (hsPkgs."tasty-quickcheck" or (errorHandler.buildDepError "tasty-quickcheck")) + (hsPkgs."template-haskell" or (errorHandler.buildDepError "template-haskell")) + ]; + buildable = true; + }; + }; + }; + } // { + src = (pkgs.lib).mkDefault (pkgs.fetchurl { + url = "http://hackage.haskell.org/package/data-array-byte-0.1.0.1.tar.gz"; + sha256 = "1bb6eca0b3e02d057fe7f4e14c81ef395216f421ab30fdaa1b18017c9c025600"; + }); + }) // { + package-description-override = "cabal-version: >=1.10\r\nname: data-array-byte\r\nversion: 0.1.0.1\r\nx-revision: 1\r\nlicense: BSD3\r\nlicense-file: LICENSE\r\ncopyright: (c) Roman Leshchinskiy 2009-2012\r\nmaintainer: andrew.lelechenko@gmail.com\r\nauthor: Roman Leshchinskiy \r\ntested-with:\r\n ghc ==8.0.2 ghc ==8.2.2 ghc ==8.4.4 ghc ==8.6.5 ghc ==8.8.4\r\n ghc ==8.10.7 ghc ==9.0.2 ghc ==9.2.4 ghc ==9.4.2\r\n\r\nhomepage: https://github.com/Bodigrim/data-array-byte\r\nbug-reports: https://github.com/Bodigrim/data-array-byte/issues\r\nsynopsis: Compatibility layer for Data.Array.Byte\r\ndescription:\r\n Compatibility layer for [Data.Array.Byte](https://hackage.haskell.org/package/base/docs/Data-Array-Byte.html), providing boxed wrappers for @ByteArray#@ and @MutableByteArray#@ and relevant instances for GHC < 9.4. Include it into your Cabal file:\r\n .\r\n > build-depends: base\r\n > if impl(ghc < 9.4)\r\n > build-depends: data-array-byte\r\n .\r\n and then @import Data.Array.Byte@ unconditionally.\r\n\r\ncategory: Compatibility\r\nbuild-type: Simple\r\nextra-source-files:\r\n changelog.md\r\n README.md\r\n\r\nsource-repository head\r\n type: git\r\n location: https://github.com/Bodigrim/data-array-byte\r\n\r\nlibrary\r\n default-language: Haskell2010\r\n ghc-options: -Wall\r\n build-depends:\r\n base >=4.9 && <4.19,\r\n deepseq >=1.4 && <1.5,\r\n template-haskell >=2.11 && <2.21\r\n\r\n if impl(ghc <9.4)\r\n exposed-modules: Data.Array.Byte\r\n\r\ntest-suite data-array-byte-tests\r\n type: exitcode-stdio-1.0\r\n main-is: Main.hs\r\n hs-source-dirs: test\r\n default-language: Haskell2010\r\n ghc-options: -Wall\r\n build-depends:\r\n base,\r\n data-array-byte,\r\n quickcheck-classes-base >=0.6 && <0.7,\r\n tasty >=1.4 && <1.5,\r\n tasty-quickcheck >=0.10 && <0.11,\r\n template-haskell\r\n"; + } \ No newline at end of file diff --git a/materialized/ghc928/hadrian-ghc99/hadrian/cabal-files/extra.nix b/materialized/ghc928/hadrian-ghc99/hadrian/cabal-files/extra.nix new file mode 100644 index 0000000000..450be82c4b --- /dev/null +++ b/materialized/ghc928/hadrian-ghc99/hadrian/cabal-files/extra.nix @@ -0,0 +1,58 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = {}; + package = { + specVersion = "1.18"; + identifier = { name = "extra"; version = "1.7.14"; }; + license = "BSD-3-Clause"; + copyright = "Neil Mitchell 2014-2023"; + maintainer = "Neil Mitchell "; + author = "Neil Mitchell "; + homepage = "https://github.com/ndmitchell/extra#readme"; + url = ""; + synopsis = "Extra functions I use."; + description = "A library of extra functions for the standard Haskell libraries. Most functions are simple additions, filling out missing functionality. A few functions are available in later versions of GHC, but this package makes them available back to GHC 7.2.\n\nThe module \"Extra\" documents all functions provided by this library. Modules such as \"Data.List.Extra\" provide extra functions over \"Data.List\" and also reexport \"Data.List\". Users are recommended to replace \"Data.List\" imports with \"Data.List.Extra\" if they need the extra functionality."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."process" or (errorHandler.buildDepError "process")) + (hsPkgs."clock" or (errorHandler.buildDepError "clock")) + (hsPkgs."time" or (errorHandler.buildDepError "time")) + ] ++ (pkgs.lib).optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix")); + buildable = true; + }; + tests = { + "extra-test" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."extra" or (errorHandler.buildDepError "extra")) + (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")) + (hsPkgs."quickcheck-instances" or (errorHandler.buildDepError "quickcheck-instances")) + ] ++ (pkgs.lib).optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix")); + buildable = true; + }; + }; + }; + } // { + src = (pkgs.lib).mkDefault (pkgs.fetchurl { + url = "http://hackage.haskell.org/package/extra-1.7.14.tar.gz"; + sha256 = "b6a909f8f0e4b8076a1653b4d34815a782f0a8c1e83d5267f4d00496471ef567"; + }); + }) // { + package-description-override = "cabal-version: 1.18\nbuild-type: Simple\nname: extra\nversion: 1.7.14\nlicense: BSD3\nlicense-file: LICENSE\ncategory: Development\nauthor: Neil Mitchell \nmaintainer: Neil Mitchell \ncopyright: Neil Mitchell 2014-2023\nsynopsis: Extra functions I use.\ndescription:\n A library of extra functions for the standard Haskell libraries. Most functions are simple additions, filling out missing functionality. A few functions are available in later versions of GHC, but this package makes them available back to GHC 7.2.\n .\n The module \"Extra\" documents all functions provided by this library. Modules such as \"Data.List.Extra\" provide extra functions over \"Data.List\" and also reexport \"Data.List\". Users are recommended to replace \"Data.List\" imports with \"Data.List.Extra\" if they need the extra functionality.\nhomepage: https://github.com/ndmitchell/extra#readme\nbug-reports: https://github.com/ndmitchell/extra/issues\ntested-with: GHC==9.6, GHC==9.4, GHC==9.2, GHC==9.0, GHC==8.10, GHC==8.8\n\nextra-doc-files:\n CHANGES.txt\n README.md\nextra-source-files:\n Generate.hs\n\nsource-repository head\n type: git\n location: https://github.com/ndmitchell/extra.git\n\nlibrary\n default-language: Haskell2010\n hs-source-dirs: src\n build-depends:\n base >= 4.9 && < 5,\n directory,\n filepath,\n process,\n clock >= 0.7,\n time\n if !os(windows)\n build-depends: unix\n\n other-modules:\n Partial\n exposed-modules:\n Extra\n Control.Concurrent.Extra\n Control.Exception.Extra\n Control.Monad.Extra\n Data.Foldable.Extra\n Data.Either.Extra\n Data.IORef.Extra\n Data.List.Extra\n Data.List.NonEmpty.Extra\n Data.Monoid.Extra\n Data.Tuple.Extra\n Data.Typeable.Extra\n Data.Version.Extra\n Numeric.Extra\n System.Directory.Extra\n System.Environment.Extra\n System.Info.Extra\n System.IO.Extra\n System.Process.Extra\n System.Time.Extra\n Text.Read.Extra\n\ntest-suite extra-test\n type: exitcode-stdio-1.0\n default-language: Haskell2010\n build-depends:\n base == 4.*,\n directory,\n filepath,\n extra,\n QuickCheck >= 2.10,\n quickcheck-instances >= 0.3.17\n if !os(windows)\n build-depends: unix\n hs-source-dirs: test\n ghc-options: -main-is Test -threaded \"-with-rtsopts=-N4 -K1K\"\n main-is: Test.hs\n other-modules:\n TestCustom\n TestGen\n TestUtil\n"; + } \ No newline at end of file diff --git a/materialized/ghc928/hadrian-ghc99/hadrian/cabal-files/filepattern.nix b/materialized/ghc928/hadrian-ghc99/hadrian/cabal-files/filepattern.nix new file mode 100644 index 0000000000..13bbd09e88 --- /dev/null +++ b/materialized/ghc928/hadrian-ghc99/hadrian/cabal-files/filepattern.nix @@ -0,0 +1,56 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = {}; + package = { + specVersion = "1.18"; + identifier = { name = "filepattern"; version = "0.1.3"; }; + license = "BSD-3-Clause"; + copyright = "Neil Mitchell 2011-2022"; + maintainer = "Neil Mitchell "; + author = "Neil Mitchell , Evan Rutledge Borden "; + homepage = "https://github.com/ndmitchell/filepattern#readme"; + url = ""; + synopsis = "File path glob-like matching"; + description = "A library for matching files using patterns such as @\\\"src\\/**\\/*.png\\\"@ for all @.png@ files\nrecursively under the @src@ directory. Features:\n\n* All matching is /O(n)/. Most functions precompute some information given only one argument.\n\n* See \"System.FilePattern\" and @?==@ simple matching and semantics.\n\n* Use @match@ and @substitute@ to extract suitable\nstrings from the @*@ and @**@ matches, and substitute them back into other patterns.\n\n* Use @step@ and @matchMany@ to perform bulk matching\nof many patterns against many paths simultaneously.\n\n* Use \"System.FilePattern.Directory\" to perform optimised directory traverals using patterns.\n\nOriginally taken from the ."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + (hsPkgs."extra" or (errorHandler.buildDepError "extra")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + ]; + buildable = true; + }; + tests = { + "filepattern-test" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + (hsPkgs."extra" or (errorHandler.buildDepError "extra")) + (hsPkgs."filepattern" or (errorHandler.buildDepError "filepattern")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")) + ]; + buildable = true; + }; + }; + }; + } // { + src = (pkgs.lib).mkDefault (pkgs.fetchurl { + url = "http://hackage.haskell.org/package/filepattern-0.1.3.tar.gz"; + sha256 = "cc445d439ea2f65cac7604d3578aa2c3a62e5a91dc989f4ce5b3390db9e59636"; + }); + }) // { + package-description-override = "cabal-version: 1.18\nbuild-type: Simple\nname: filepattern\nversion: 0.1.3\nlicense: BSD3\nlicense-file: LICENSE\ncategory: Development, FilePath\nauthor: Neil Mitchell , Evan Rutledge Borden \nmaintainer: Neil Mitchell \ncopyright: Neil Mitchell 2011-2022\nsynopsis: File path glob-like matching\ndescription:\n A library for matching files using patterns such as @\\\"src\\/**\\/*.png\\\"@ for all @.png@ files\n recursively under the @src@ directory. Features:\n .\n * All matching is /O(n)/. Most functions precompute some information given only one argument.\n .\n * See \"System.FilePattern\" and @?==@ simple matching and semantics.\n .\n * Use @match@ and @substitute@ to extract suitable\n strings from the @*@ and @**@ matches, and substitute them back into other patterns.\n .\n * Use @step@ and @matchMany@ to perform bulk matching\n of many patterns against many paths simultaneously.\n .\n * Use \"System.FilePattern.Directory\" to perform optimised directory traverals using patterns.\n .\n Originally taken from the .\nhomepage: https://github.com/ndmitchell/filepattern#readme\nbug-reports: https://github.com/ndmitchell/filepattern/issues\ntested-with: GHC==9.0, GHC==8.10, GHC==8.8, GHC==8.6, GHC==8.4, GHC==8.2, GHC==8.0\nextra-doc-files:\n CHANGES.txt\n README.md\n\nsource-repository head\n type: git\n location: https://github.com/ndmitchell/filepattern.git\n\nlibrary\n default-language: Haskell2010\n hs-source-dirs: src\n build-depends:\n base == 4.*,\n directory,\n extra >= 1.6.2,\n filepath\n exposed-modules:\n System.FilePattern\n System.FilePattern.Directory\n other-modules:\n System.FilePattern.Core\n System.FilePattern.ListBy\n System.FilePattern.Monads\n System.FilePattern.Step\n System.FilePattern.Tree\n System.FilePattern.Wildcard\n\n\ntest-suite filepattern-test\n default-language: Haskell2010\n type: exitcode-stdio-1.0\n main-is: Test.hs\n hs-source-dirs: test\n build-depends:\n base == 4.*,\n directory,\n extra,\n filepattern,\n filepath,\n QuickCheck >= 2.0\n other-modules:\n Test.Cases\n Test.Util\n"; + } \ No newline at end of file diff --git a/materialized/ghc928/hadrian-ghc99/hadrian/cabal-files/hashable.nix b/materialized/ghc928/hadrian-ghc99/hadrian/cabal-files/hashable.nix new file mode 100644 index 0000000000..288fdf7407 --- /dev/null +++ b/materialized/ghc928/hadrian-ghc99/hadrian/cabal-files/hashable.nix @@ -0,0 +1,82 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = { integer-gmp = true; random-initial-seed = false; }; + package = { + specVersion = "1.12"; + identifier = { name = "hashable"; version = "1.4.2.0"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "Oleg Grenrus "; + author = "Milan Straka \nJohan Tibell "; + homepage = "http://github.com/haskell-unordered-containers/hashable"; + url = ""; + synopsis = "A class for types that can be converted to a hash value"; + description = "This package defines a class, 'Hashable', for types that\ncan be converted to a hash value. This class\nexists for the benefit of hashing-based data\nstructures. The package provides instances for\nbasic types and a way to combine hash values."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = (([ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + (hsPkgs."text" or (errorHandler.buildDepError "text")) + ] ++ (pkgs.lib).optional (!(compiler.isGhc && (compiler.version).ge "9.2")) (hsPkgs."base-orphans" or (errorHandler.buildDepError "base-orphans"))) ++ (pkgs.lib).optional (!(compiler.isGhc && (compiler.version).ge "9.4")) (hsPkgs."data-array-byte" or (errorHandler.buildDepError "data-array-byte"))) ++ (if compiler.isGhc && (compiler.version).ge "9" + then [ + (hsPkgs."ghc-bignum" or (errorHandler.buildDepError "ghc-bignum")) + ] ++ (pkgs.lib).optional (!(compiler.isGhc && (compiler.version).ge "9.0.2")) (hsPkgs."ghc-bignum-orphans" or (errorHandler.buildDepError "ghc-bignum-orphans")) + else if flags.integer-gmp + then [ + (hsPkgs."integer-gmp" or (errorHandler.buildDepError "integer-gmp")) + ] + else [ + (hsPkgs."integer-simple" or (errorHandler.buildDepError "integer-simple")) + ]); + buildable = true; + }; + tests = { + "hashable-tests" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + (hsPkgs."hashable" or (errorHandler.buildDepError "hashable")) + (hsPkgs."HUnit" or (errorHandler.buildDepError "HUnit")) + (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")) + (hsPkgs."random" or (errorHandler.buildDepError "random")) + (hsPkgs."test-framework" or (errorHandler.buildDepError "test-framework")) + (hsPkgs."test-framework-hunit" or (errorHandler.buildDepError "test-framework-hunit")) + (hsPkgs."test-framework-quickcheck2" or (errorHandler.buildDepError "test-framework-quickcheck2")) + (hsPkgs."text" or (errorHandler.buildDepError "text")) + ] ++ (pkgs.lib).optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix")); + buildable = true; + }; + "hashable-examples" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + (hsPkgs."hashable" or (errorHandler.buildDepError "hashable")) + ]; + buildable = true; + }; + }; + }; + } // { + src = (pkgs.lib).mkDefault (pkgs.fetchurl { + url = "http://hackage.haskell.org/package/hashable-1.4.2.0.tar.gz"; + sha256 = "1b4000ea82b81f69d46d0af4152c10c6303873510738e24cfc4767760d30e3f8"; + }); + }) // { + package-description-override = "cabal-version: 1.12\nname: hashable\nversion: 1.4.2.0\nx-revision: 1\nsynopsis: A class for types that can be converted to a hash value\ndescription:\n This package defines a class, 'Hashable', for types that\n can be converted to a hash value. This class\n exists for the benefit of hashing-based data\n structures. The package provides instances for\n basic types and a way to combine hash values.\n\nhomepage: http://github.com/haskell-unordered-containers/hashable\n\n-- SPDX-License-Identifier : BSD-3-Clause\nlicense: BSD3\nlicense-file: LICENSE\nauthor:\n Milan Straka \n Johan Tibell \n\nmaintainer: Oleg Grenrus \nbug-reports:\n https://github.com/haskell-unordered-containers/hashable/issues\n\nstability: Provisional\ncategory: Data\nbuild-type: Simple\ntested-with:\n GHC ==8.2.2\n || ==8.4.4\n || ==8.6.5\n || ==8.8.3\n || ==8.10.4\n || ==8.10.7\n || ==9.0.1\n || ==9.0.2\n || ==9.2.5\n || ==9.4.4\n || ==9.6.1\n\nextra-source-files:\n CHANGES.md\n include/HsHashable.h\n README.md\n\nflag integer-gmp\n description:\n Are we using @integer-gmp@ to provide fast Integer instances? No effect on GHC-9.0 or later.\n\n manual: False\n default: True\n\nflag random-initial-seed\n description:\n Randomly initialize the initial seed on each final executable invocation\n This is useful for catching cases when you rely on (non-existent)\n stability of hashable's hash functions.\n This is not a security feature.\n\n manual: True\n default: False\n\nlibrary\n exposed-modules:\n Data.Hashable\n Data.Hashable.Generic\n Data.Hashable.Lifted\n\n other-modules:\n Data.Hashable.Class\n Data.Hashable.Generic.Instances\n Data.Hashable.Imports\n Data.Hashable.LowLevel\n\n c-sources: cbits/fnv.c\n include-dirs: include\n hs-source-dirs: src\n build-depends:\n base >=4.10.1.0 && <4.19\n , bytestring >=0.10.8.2 && <0.12\n , containers >=0.5.10.2 && <0.7\n , deepseq >=1.4.3.0 && <1.5\n , filepath >=1.4.1.2 && <1.5\n , ghc-prim\n , text >=1.2.3.0 && <1.3 || >=2.0 && <2.1\n\n if !impl(ghc >=9.2)\n build-depends: base-orphans >=0.8.6 && <0.10\n\n if !impl(ghc >=9.4)\n build-depends: data-array-byte >=0.1.0.1 && <0.2\n\n -- Integer internals\n if impl(ghc >=9)\n build-depends: ghc-bignum >=1.0 && <1.4\n\n if !impl(ghc >=9.0.2)\n build-depends: ghc-bignum-orphans >=0.1 && <0.2\n\n else\n if flag(integer-gmp)\n build-depends: integer-gmp >=0.4 && <1.1\n\n else\n -- this is needed for the automatic flag to be well-balanced\n build-depends: integer-simple\n\n if (flag(random-initial-seed) && impl(ghc))\n cpp-options: -DHASHABLE_RANDOM_SEED=1\n\n if os(windows)\n c-sources: cbits-win/init.c\n\n else\n c-sources: cbits-unix/init.c\n\n default-language: Haskell2010\n other-extensions:\n BangPatterns\n CPP\n DeriveDataTypeable\n FlexibleContexts\n FlexibleInstances\n GADTs\n KindSignatures\n MagicHash\n MultiParamTypeClasses\n ScopedTypeVariables\n Trustworthy\n TypeOperators\n UnliftedFFITypes\n\n ghc-options: -Wall -fwarn-tabs\n\n if impl(ghc >=9.0)\n -- these flags may abort compilation with GHC-8.10\n -- https://gitlab.haskell.org/ghc/ghc/-/merge_requests/3295\n ghc-options: -Winferred-safe-imports -Wmissing-safe-haskell-mode\n\ntest-suite hashable-tests\n type: exitcode-stdio-1.0\n hs-source-dirs: tests\n main-is: Main.hs\n other-modules:\n Properties\n Regress\n\n build-depends:\n base\n , bytestring\n , ghc-prim\n , hashable\n , HUnit\n , QuickCheck >=2.4.0.1\n , random >=1.0 && <1.3\n , test-framework >=0.3.3\n , test-framework-hunit\n , test-framework-quickcheck2 >=0.2.9\n , text >=0.11.0.5\n\n if !os(windows)\n build-depends: unix\n cpp-options: -DHAVE_MMAP\n other-modules: Regress.Mmap\n other-extensions: CApiFFI\n\n ghc-options: -Wall -fno-warn-orphans\n default-language: Haskell2010\n\ntest-suite hashable-examples\n type: exitcode-stdio-1.0\n build-depends:\n base\n , ghc-prim\n , hashable\n\n hs-source-dirs: examples\n main-is: Main.hs\n default-language: Haskell2010\n\nsource-repository head\n type: git\n location:\n https://github.com/haskell-unordered-containers/hashable.git\n"; + } \ No newline at end of file diff --git a/materialized/ghc928/hadrian-ghc99/hadrian/cabal-files/heaps.nix b/materialized/ghc928/hadrian-ghc99/hadrian/cabal-files/heaps.nix new file mode 100644 index 0000000000..dc77aed1f4 --- /dev/null +++ b/materialized/ghc928/hadrian-ghc99/hadrian/cabal-files/heaps.nix @@ -0,0 +1,38 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = {}; + package = { + specVersion = "1.10"; + identifier = { name = "heaps"; version = "0.4"; }; + license = "BSD-3-Clause"; + copyright = "(c) 2010-2015 Edward A. Kmett"; + maintainer = "Edward A. Kmett "; + author = "Edward A. Kmett"; + homepage = "http://github.com/ekmett/heaps/"; + url = ""; + synopsis = "Asymptotically optimal Brodal/Okasaki heaps."; + description = "Asymptotically optimal Brodal\\/Okasaki bootstrapped skew-binomial heaps from the paper , extended with a 'Foldable' interface."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ (hsPkgs."base" or (errorHandler.buildDepError "base")) ]; + buildable = true; + }; + }; + } // { + src = (pkgs.lib).mkDefault (pkgs.fetchurl { + url = "http://hackage.haskell.org/package/heaps-0.4.tar.gz"; + sha256 = "89329df8b95ae99ef272e41e7a2d0fe2f1bb7eacfcc34bc01664414b33067cfd"; + }); + }) // { + package-description-override = "name: heaps\nversion: 0.4\nlicense: BSD3\nlicense-file: LICENSE\nauthor: Edward A. Kmett\nmaintainer: Edward A. Kmett \nstability: experimental\nhomepage: http://github.com/ekmett/heaps/\nbug-reports: http://github.com/ekmett/heaps/issues\ncategory: Data Structures\nsynopsis: Asymptotically optimal Brodal/Okasaki heaps.\ndescription: Asymptotically optimal Brodal\\/Okasaki bootstrapped skew-binomial heaps from the paper , extended with a 'Foldable' interface.\ncopyright: (c) 2010-2015 Edward A. Kmett\ntested-with: GHC == 7.0.4\n , GHC == 7.2.2\n , GHC == 7.4.2\n , GHC == 7.6.3\n , GHC == 7.8.4\n , GHC == 7.10.3\n , GHC == 8.0.2\n , GHC == 8.2.2\n , GHC == 8.4.4\n , GHC == 8.6.5\n , GHC == 8.8.3\n , GHC == 8.10.1\nbuild-type: Simple\ncabal-version: >=1.10\nextra-source-files:\n .gitignore\n .hlint.yaml\n CHANGELOG.markdown\n README.markdown\n\nsource-repository head\n type: git\n location: git://github.com/ekmett/heaps.git\n\nlibrary\n exposed-modules: Data.Heap\n build-depends:\n base >= 4 && < 6\n hs-source-dirs: src\n ghc-options: -O2 -Wall\n default-language: Haskell2010\n"; + } \ No newline at end of file diff --git a/materialized/ghc928/hadrian-ghc99/hadrian/cabal-files/js-dgtable.nix b/materialized/ghc928/hadrian-ghc99/hadrian/cabal-files/js-dgtable.nix new file mode 100644 index 0000000000..0237404c41 --- /dev/null +++ b/materialized/ghc928/hadrian-ghc99/hadrian/cabal-files/js-dgtable.nix @@ -0,0 +1,47 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = {}; + package = { + specVersion = "1.18"; + identifier = { name = "js-dgtable"; version = "0.5.2"; }; + license = "MIT"; + copyright = "Neil Mitchell 2019"; + maintainer = "Neil Mitchell "; + author = "Neil Mitchell "; + homepage = "https://github.com/ndmitchell/js-dgtable#readme"; + url = ""; + synopsis = "Obtain minified jquery.dgtable code"; + description = "This package bundles the minified code into a Haskell package,\nso it can be depended upon by Cabal packages. The first three components of\nthe version number match the upstream jquery.dgtable version. The package is designed\nto meet the redistribution requirements of downstream users (e.g. Debian)."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ (hsPkgs."base" or (errorHandler.buildDepError "base")) ]; + buildable = true; + }; + tests = { + "js-dgtable-test" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."js-dgtable" or (errorHandler.buildDepError "js-dgtable")) + ]; + buildable = true; + }; + }; + }; + } // { + src = (pkgs.lib).mkDefault (pkgs.fetchurl { + url = "http://hackage.haskell.org/package/js-dgtable-0.5.2.tar.gz"; + sha256 = "e28dd65bee8083b17210134e22e01c6349dc33c3b7bd17705973cd014e9f20ac"; + }); + }) // { + package-description-override = "cabal-version: >= 1.18\nbuild-type: Simple\nname: js-dgtable\nversion: 0.5.2\nlicense: MIT\nlicense-file: LICENSE\ncategory: Javascript\nauthor: Neil Mitchell \nmaintainer: Neil Mitchell \ncopyright: Neil Mitchell 2019\nsynopsis: Obtain minified jquery.dgtable code\ndescription:\n This package bundles the minified code into a Haskell package,\n so it can be depended upon by Cabal packages. The first three components of\n the version number match the upstream jquery.dgtable version. The package is designed\n to meet the redistribution requirements of downstream users (e.g. Debian).\nhomepage: https://github.com/ndmitchell/js-dgtable#readme\nbug-reports: https://github.com/ndmitchell/js-dgtable/issues\ntested-with: GHC==8.6.4, GHC==8.4.4, GHC==8.2.2, GHC==8.0.2, GHC==7.10.3\nextra-source-files:\n javascript/jquery.dgtable.js\nextra-doc-files:\n CHANGES.txt\n README.md\n\ndata-dir: javascript\ndata-files:\n jquery.dgtable.min.js\n\nsource-repository head\n type: git\n location: https://github.com/ndmitchell/js-dgtable.git\n\nlibrary\n default-language: Haskell2010\n hs-source-dirs: src\n build-depends:\n base == 4.*\n\n exposed-modules:\n Language.Javascript.DGTable\n\n other-modules:\n Paths_js_dgtable\n\ntest-suite js-dgtable-test\n default-language: Haskell2010\n type: exitcode-stdio-1.0\n main-is: src/Test.hs\n other-modules:\n Paths_js_dgtable\n build-depends:\n base == 4.*,\n js-dgtable\n"; + } \ No newline at end of file diff --git a/materialized/ghc928/hadrian-ghc99/hadrian/cabal-files/js-flot.nix b/materialized/ghc928/hadrian-ghc99/hadrian/cabal-files/js-flot.nix new file mode 100644 index 0000000000..ba292fc8b2 --- /dev/null +++ b/materialized/ghc928/hadrian-ghc99/hadrian/cabal-files/js-flot.nix @@ -0,0 +1,47 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = {}; + package = { + specVersion = "1.10"; + identifier = { name = "js-flot"; version = "0.8.3"; }; + license = "MIT"; + copyright = "Neil Mitchell 2014"; + maintainer = "Neil Mitchell "; + author = "Neil Mitchell "; + homepage = "https://github.com/ndmitchell/js-flot#readme"; + url = ""; + synopsis = "Obtain minified flot code"; + description = "This package bundles the minified code\n(a jQuery plotting library) into a Haskell package,\nso it can be depended upon by Cabal packages. The first three components of\nthe version number match the upstream flot version. The package is designed\nto meet the redistribution requirements of downstream users (e.g. Debian)."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ (hsPkgs."base" or (errorHandler.buildDepError "base")) ]; + buildable = true; + }; + tests = { + "js-flot-test" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."HTTP" or (errorHandler.buildDepError "HTTP")) + ]; + buildable = true; + }; + }; + }; + } // { + src = (pkgs.lib).mkDefault (pkgs.fetchurl { + url = "http://hackage.haskell.org/package/js-flot-0.8.3.tar.gz"; + sha256 = "1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a"; + }); + }) // { + package-description-override = "cabal-version: >= 1.10\nbuild-type: Simple\nname: js-flot\nversion: 0.8.3\nlicense: MIT\nlicense-file: LICENSE\ncategory: Javascript\nauthor: Neil Mitchell \nmaintainer: Neil Mitchell \ncopyright: Neil Mitchell 2014\nsynopsis: Obtain minified flot code\ndescription:\n This package bundles the minified code\n (a jQuery plotting library) into a Haskell package,\n so it can be depended upon by Cabal packages. The first three components of\n the version number match the upstream flot version. The package is designed\n to meet the redistribution requirements of downstream users (e.g. Debian).\nhomepage: https://github.com/ndmitchell/js-flot#readme\nbug-reports: https://github.com/ndmitchell/js-flot/issues\ntested-with: GHC==7.8.3, GHC==7.6.3, GHC==7.4.2, GHC==7.2.2\nextra-source-files:\n javascript/flot-0.8.3.zip\n CHANGES.txt\n README.md\n\ndata-dir: javascript\ndata-files:\n jquery.flot.min.js\n jquery.flot.canvas.min.js\n jquery.flot.categories.min.js\n jquery.flot.crosshair.min.js\n jquery.flot.errorbars.min.js\n jquery.flot.fillbetween.min.js\n jquery.flot.image.min.js\n jquery.flot.navigate.min.js\n jquery.flot.pie.min.js\n jquery.flot.resize.min.js\n jquery.flot.selection.min.js\n jquery.flot.stack.min.js\n jquery.flot.symbol.min.js\n jquery.flot.threshold.min.js\n jquery.flot.time.min.js\n\nsource-repository head\n type: git\n location: https://github.com/ndmitchell/js-flot.git\n\nlibrary\n default-language: Haskell2010\n build-depends:\n base == 4.*\n\n exposed-modules:\n Language.Javascript.Flot\n\n other-modules:\n Paths_js_flot\n\ntest-suite js-flot-test\n default-language: Haskell2010\n type: exitcode-stdio-1.0\n main-is: Test.hs\n build-depends:\n base == 4.*,\n HTTP\n"; + } \ No newline at end of file diff --git a/materialized/ghc928/hadrian-ghc99/hadrian/cabal-files/js-jquery.nix b/materialized/ghc928/hadrian-ghc99/hadrian/cabal-files/js-jquery.nix new file mode 100644 index 0000000000..9ecdc931ed --- /dev/null +++ b/materialized/ghc928/hadrian-ghc99/hadrian/cabal-files/js-jquery.nix @@ -0,0 +1,48 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = {}; + package = { + specVersion = "1.18"; + identifier = { name = "js-jquery"; version = "3.3.1"; }; + license = "MIT"; + copyright = "Neil Mitchell 2014-2018"; + maintainer = "Neil Mitchell "; + author = "Neil Mitchell "; + homepage = "https://github.com/ndmitchell/js-jquery#readme"; + url = ""; + synopsis = "Obtain minified jQuery code"; + description = "This package bundles the minified code into a Haskell package,\nso it can be depended upon by Cabal packages. The first three components of\nthe version number match the upstream jQuery version. The package is designed\nto meet the redistribution requirements of downstream users (e.g. Debian)."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ (hsPkgs."base" or (errorHandler.buildDepError "base")) ]; + buildable = true; + }; + tests = { + "js-jquery-test" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."js-jquery" or (errorHandler.buildDepError "js-jquery")) + (hsPkgs."HTTP" or (errorHandler.buildDepError "HTTP")) + ]; + buildable = true; + }; + }; + }; + } // { + src = (pkgs.lib).mkDefault (pkgs.fetchurl { + url = "http://hackage.haskell.org/package/js-jquery-3.3.1.tar.gz"; + sha256 = "e0e0681f0da1130ede4e03a051630ea439c458cb97216cdb01771ebdbe44069b"; + }); + }) // { + package-description-override = "cabal-version: >= 1.18\nbuild-type: Simple\nname: js-jquery\nversion: 3.3.1\nlicense: MIT\nlicense-file: LICENSE\ncategory: Javascript\nauthor: Neil Mitchell \nmaintainer: Neil Mitchell \ncopyright: Neil Mitchell 2014-2018\nsynopsis: Obtain minified jQuery code\ndescription:\n This package bundles the minified code into a Haskell package,\n so it can be depended upon by Cabal packages. The first three components of\n the version number match the upstream jQuery version. The package is designed\n to meet the redistribution requirements of downstream users (e.g. Debian).\nhomepage: https://github.com/ndmitchell/js-jquery#readme\nbug-reports: https://github.com/ndmitchell/js-jquery/issues\ntested-with: GHC==8.2.2, GHC==8.0.2, GHC==7.10.3, GHC==7.8.4, GHC==7.6.3, GHC==7.4.2\nextra-source-files:\n javascript/jquery-3.3.1.js\nextra-doc-files:\n CHANGES.txt\n README.md\n\ndata-dir: javascript\ndata-files:\n jquery-3.3.1.min.js\n\nsource-repository head\n type: git\n location: https://github.com/ndmitchell/js-jquery.git\n\nlibrary\n default-language: Haskell2010\n hs-source-dirs: src\n build-depends:\n base == 4.*\n\n exposed-modules:\n Language.Javascript.JQuery\n\n other-modules:\n Paths_js_jquery\n\ntest-suite js-jquery-test\n default-language: Haskell2010\n type: exitcode-stdio-1.0\n main-is: src/Test.hs\n other-modules:\n Paths_js_jquery\n build-depends:\n base == 4.*,\n js-jquery,\n HTTP\n"; + } \ No newline at end of file diff --git a/materialized/ghc928/hadrian-ghc99/hadrian/cabal-files/primitive.nix b/materialized/ghc928/hadrian-ghc99/hadrian/cabal-files/primitive.nix new file mode 100644 index 0000000000..bbc2dd58da --- /dev/null +++ b/materialized/ghc928/hadrian-ghc99/hadrian/cabal-files/primitive.nix @@ -0,0 +1,73 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = {}; + package = { + specVersion = "2.0"; + identifier = { name = "primitive"; version = "0.8.0.0"; }; + license = "BSD-3-Clause"; + copyright = "(c) Roman Leshchinskiy 2009-2012"; + maintainer = "libraries@haskell.org"; + author = "Roman Leshchinskiy "; + homepage = "https://github.com/haskell/primitive"; + url = ""; + synopsis = "Primitive memory-related operations"; + description = "This package provides various primitive memory-related operations."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")) + (hsPkgs."template-haskell" or (errorHandler.buildDepError "template-haskell")) + ] ++ (pkgs.lib).optional (compiler.isGhc && (compiler.version).lt "9.4") (hsPkgs."data-array-byte" or (errorHandler.buildDepError "data-array-byte")); + buildable = true; + }; + tests = { + "test-qc" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."base-orphans" or (errorHandler.buildDepError "base-orphans")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + (hsPkgs."primitive" or (errorHandler.buildDepError "primitive")) + (hsPkgs."quickcheck-classes-base" or (errorHandler.buildDepError "quickcheck-classes-base")) + (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")) + (hsPkgs."tasty" or (errorHandler.buildDepError "tasty")) + (hsPkgs."tasty-quickcheck" or (errorHandler.buildDepError "tasty-quickcheck")) + (hsPkgs."tagged" or (errorHandler.buildDepError "tagged")) + (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")) + (hsPkgs."transformers-compat" or (errorHandler.buildDepError "transformers-compat")) + ]; + buildable = true; + }; + }; + benchmarks = { + "bench" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."primitive" or (errorHandler.buildDepError "primitive")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."tasty-bench" or (errorHandler.buildDepError "tasty-bench")) + (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")) + ]; + buildable = true; + }; + }; + }; + } // { + src = (pkgs.lib).mkDefault (pkgs.fetchurl { + url = "http://hackage.haskell.org/package/primitive-0.8.0.0.tar.gz"; + sha256 = "5553c21b4a789f9b591eed69e598cc58484c274af29250e517b5a8bcc62b995f"; + }); + }) // { + package-description-override = "Cabal-Version: 2.0\nName: primitive\nVersion: 0.8.0.0\nLicense: BSD3\nLicense-File: LICENSE\n\nAuthor: Roman Leshchinskiy \nMaintainer: libraries@haskell.org\nCopyright: (c) Roman Leshchinskiy 2009-2012\nHomepage: https://github.com/haskell/primitive\nBug-Reports: https://github.com/haskell/primitive/issues\nCategory: Data\nSynopsis: Primitive memory-related operations\nBuild-Type: Simple\nDescription: This package provides various primitive memory-related operations.\n\nExtra-Source-Files: changelog.md\n test/*.hs\n test/LICENSE\n\nTested-With:\n GHC == 8.0.2\n GHC == 8.2.2\n GHC == 8.4.4\n GHC == 8.6.5\n GHC == 8.8.4\n GHC == 8.10.7\n GHC == 9.0.2\n GHC == 9.2.5\n GHC == 9.4.4\n\nLibrary\n Default-Language: Haskell2010\n Default-Extensions:\n TypeOperators\n Other-Extensions:\n BangPatterns, CPP, DeriveDataTypeable,\n MagicHash, TypeFamilies, UnboxedTuples, UnliftedFFITypes\n\n Exposed-Modules:\n Control.Monad.Primitive\n Data.Primitive\n Data.Primitive.MachDeps\n Data.Primitive.Types\n Data.Primitive.Array\n Data.Primitive.ByteArray\n Data.Primitive.PrimArray\n Data.Primitive.SmallArray\n Data.Primitive.Ptr\n Data.Primitive.MutVar\n Data.Primitive.MVar\n Data.Primitive.PrimVar\n\n Other-Modules:\n Data.Primitive.Internal.Operations\n\n Build-Depends: base >= 4.9 && < 4.19\n , deepseq >= 1.1 && < 1.5\n , transformers >= 0.5 && < 0.7\n , template-haskell >= 2.11\n\n if impl(ghc >= 9.2)\n cpp-options: -DHAVE_KEEPALIVE\n\n if impl(ghc < 9.4)\n build-depends: data-array-byte >= 0.1 && < 0.1.1\n\n Ghc-Options: -O2\n\n Include-Dirs: cbits\n Install-Includes: primitive-memops.h\n includes: primitive-memops.h\n c-sources: cbits/primitive-memops.c\n if !os(solaris)\n cc-options: -ftree-vectorize\n if arch(i386) || arch(x86_64)\n cc-options: -msse2\n\ntest-suite test-qc\n Default-Language: Haskell2010\n hs-source-dirs: test\n test/src\n main-is: main.hs\n Other-Modules: PrimLaws\n type: exitcode-stdio-1.0\n build-depends: base\n , base-orphans\n , ghc-prim\n , primitive\n , quickcheck-classes-base >= 0.6 && <0.7\n , QuickCheck >= 2.13 && < 2.15\n , tasty ^>= 1.2 || ^>= 1.3 || ^>= 1.4\n , tasty-quickcheck\n , tagged\n , transformers >= 0.5\n , transformers-compat\n\n cpp-options: -DHAVE_UNARY_LAWS\n ghc-options: -O2\n\nbenchmark bench\n Default-Language: Haskell2010\n hs-source-dirs: bench\n main-is: main.hs\n type: exitcode-stdio-1.0\n ghc-options: -O2\n other-modules:\n Array.Traverse.Closure\n Array.Traverse.Unsafe\n ByteArray.Compare\n PrimArray.Compare\n PrimArray.Traverse\n build-depends:\n base\n , primitive\n , deepseq\n , tasty-bench\n , transformers >= 0.5\n\nsource-repository head\n type: git\n location: https://github.com/haskell/primitive\n"; + } \ No newline at end of file diff --git a/materialized/ghc928/hadrian-ghc99/hadrian/cabal-files/random.nix b/materialized/ghc928/hadrian-ghc99/hadrian/cabal-files/random.nix new file mode 100644 index 0000000000..c2f8f753b4 --- /dev/null +++ b/materialized/ghc928/hadrian-ghc99/hadrian/cabal-files/random.nix @@ -0,0 +1,113 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = {}; + package = { + specVersion = "1.10"; + identifier = { name = "random"; version = "1.2.1.1"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "core-libraries-committee@haskell.org"; + author = ""; + homepage = ""; + url = ""; + synopsis = "Pseudo-random number generation"; + description = "This package provides basic pseudo-random number generation, including the\nability to split random number generators.\n\n== \"System.Random\": pure pseudo-random number interface\n\nIn pure code, use 'System.Random.uniform' and 'System.Random.uniformR' from\n\"System.Random\" to generate pseudo-random numbers with a pure pseudo-random\nnumber generator like 'System.Random.StdGen'.\n\nAs an example, here is how you can simulate rolls of a six-sided die using\n'System.Random.uniformR':\n\n>>> let roll = uniformR (1, 6) :: RandomGen g => g -> (Word, g)\n>>> let rolls = unfoldr (Just . roll) :: RandomGen g => g -> [Word]\n>>> let pureGen = mkStdGen 42\n>>> take 10 (rolls pureGen) :: [Word]\n[1,1,3,2,4,5,3,4,6,2]\n\nSee \"System.Random\" for more details.\n\n== \"System.Random.Stateful\": monadic pseudo-random number interface\n\nIn monadic code, use 'System.Random.Stateful.uniformM' and\n'System.Random.Stateful.uniformRM' from \"System.Random.Stateful\" to generate\npseudo-random numbers with a monadic pseudo-random number generator, or\nusing a monadic adapter.\n\nAs an example, here is how you can simulate rolls of a six-sided die using\n'System.Random.Stateful.uniformRM':\n\n>>> let rollM = uniformRM (1, 6) :: StatefulGen g m => g -> m Word\n>>> let pureGen = mkStdGen 42\n>>> runStateGen_ pureGen (replicateM 10 . rollM) :: [Word]\n[1,1,3,2,4,5,3,4,6,2]\n\nThe monadic adapter 'System.Random.Stateful.runStateGen_' is used here to lift\nthe pure pseudo-random number generator @pureGen@ into the\n'System.Random.Stateful.StatefulGen' context.\n\nThe monadic interface can also be used with existing monadic pseudo-random\nnumber generators. In this example, we use the one provided in the\n package:\n\n>>> import System.Random.MWC as MWC\n>>> let rollM = uniformRM (1, 6) :: StatefulGen g m => g -> m Word\n>>> monadicGen <- MWC.create\n>>> replicateM 10 (rollM monadicGen) :: IO [Word]\n[2,3,6,6,4,4,3,1,5,4]\n\nSee \"System.Random.Stateful\" for more details."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."mtl" or (errorHandler.buildDepError "mtl")) + (hsPkgs."splitmix" or (errorHandler.buildDepError "splitmix")) + ] ++ (pkgs.lib).optional (compiler.isGhc && (compiler.version).lt "8.0") (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")); + buildable = true; + }; + tests = { + "legacy-test" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."random" or (errorHandler.buildDepError "random")) + ]; + buildable = true; + }; + "doctests" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."doctest" or (errorHandler.buildDepError "doctest")) + ] ++ (pkgs.lib).optionals (compiler.isGhc && (compiler.version).ge "8.2" && (compiler.isGhc && (compiler.version).lt "8.10")) [ + (hsPkgs."mwc-random" or (errorHandler.buildDepError "mwc-random")) + (hsPkgs."primitive" or (errorHandler.buildDepError "primitive")) + (hsPkgs."random" or (errorHandler.buildDepError "random")) + (hsPkgs."stm" or (errorHandler.buildDepError "stm")) + (hsPkgs."unliftio" or (errorHandler.buildDepError "unliftio")) + (hsPkgs."vector" or (errorHandler.buildDepError "vector")) + ]; + buildable = true; + }; + "spec" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."random" or (errorHandler.buildDepError "random")) + (hsPkgs."smallcheck" or (errorHandler.buildDepError "smallcheck")) + (hsPkgs."stm" or (errorHandler.buildDepError "stm")) + (hsPkgs."tasty" or (errorHandler.buildDepError "tasty")) + (hsPkgs."tasty-smallcheck" or (errorHandler.buildDepError "tasty-smallcheck")) + (hsPkgs."tasty-hunit" or (errorHandler.buildDepError "tasty-hunit")) + (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")) + ]; + buildable = true; + }; + "spec-inspection" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."random" or (errorHandler.buildDepError "random")) + (hsPkgs."tasty" or (errorHandler.buildDepError "tasty")) + ] ++ (pkgs.lib).optional (compiler.isGhc && (compiler.version).ge "8.0") (hsPkgs."tasty-inspection-testing" or (errorHandler.buildDepError "tasty-inspection-testing")); + buildable = true; + }; + }; + benchmarks = { + "legacy-bench" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."random" or (errorHandler.buildDepError "random")) + (hsPkgs."rdtsc" or (errorHandler.buildDepError "rdtsc")) + (hsPkgs."split" or (errorHandler.buildDepError "split")) + (hsPkgs."time" or (errorHandler.buildDepError "time")) + ]; + buildable = true; + }; + "bench" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."mtl" or (errorHandler.buildDepError "mtl")) + (hsPkgs."primitive" or (errorHandler.buildDepError "primitive")) + (hsPkgs."random" or (errorHandler.buildDepError "random")) + (hsPkgs."splitmix" or (errorHandler.buildDepError "splitmix")) + (hsPkgs."tasty-bench" or (errorHandler.buildDepError "tasty-bench")) + ]; + buildable = true; + }; + }; + }; + } // { + src = (pkgs.lib).mkDefault (pkgs.fetchurl { + url = "http://hackage.haskell.org/package/random-1.2.1.1.tar.gz"; + sha256 = "3e1272f7ed6a4d7bd1712b90143ec326fee9b225789222379fea20a9c90c9b76"; + }); + }) // { + package-description-override = "cabal-version: >=1.10\nname: random\nversion: 1.2.1.1\nlicense: BSD3\nlicense-file: LICENSE\nmaintainer: core-libraries-committee@haskell.org\nbug-reports: https://github.com/haskell/random/issues\nsynopsis: Pseudo-random number generation\ndescription:\n This package provides basic pseudo-random number generation, including the\n ability to split random number generators.\n .\n == \"System.Random\": pure pseudo-random number interface\n .\n In pure code, use 'System.Random.uniform' and 'System.Random.uniformR' from\n \"System.Random\" to generate pseudo-random numbers with a pure pseudo-random\n number generator like 'System.Random.StdGen'.\n .\n As an example, here is how you can simulate rolls of a six-sided die using\n 'System.Random.uniformR':\n .\n >>> let roll = uniformR (1, 6) :: RandomGen g => g -> (Word, g)\n >>> let rolls = unfoldr (Just . roll) :: RandomGen g => g -> [Word]\n >>> let pureGen = mkStdGen 42\n >>> take 10 (rolls pureGen) :: [Word]\n [1,1,3,2,4,5,3,4,6,2]\n .\n See \"System.Random\" for more details.\n .\n == \"System.Random.Stateful\": monadic pseudo-random number interface\n .\n In monadic code, use 'System.Random.Stateful.uniformM' and\n 'System.Random.Stateful.uniformRM' from \"System.Random.Stateful\" to generate\n pseudo-random numbers with a monadic pseudo-random number generator, or\n using a monadic adapter.\n .\n As an example, here is how you can simulate rolls of a six-sided die using\n 'System.Random.Stateful.uniformRM':\n .\n >>> let rollM = uniformRM (1, 6) :: StatefulGen g m => g -> m Word\n >>> let pureGen = mkStdGen 42\n >>> runStateGen_ pureGen (replicateM 10 . rollM) :: [Word]\n [1,1,3,2,4,5,3,4,6,2]\n .\n The monadic adapter 'System.Random.Stateful.runStateGen_' is used here to lift\n the pure pseudo-random number generator @pureGen@ into the\n 'System.Random.Stateful.StatefulGen' context.\n .\n The monadic interface can also be used with existing monadic pseudo-random\n number generators. In this example, we use the one provided in the\n package:\n .\n >>> import System.Random.MWC as MWC\n >>> let rollM = uniformRM (1, 6) :: StatefulGen g m => g -> m Word\n >>> monadicGen <- MWC.create\n >>> replicateM 10 (rollM monadicGen) :: IO [Word]\n [2,3,6,6,4,4,3,1,5,4]\n .\n See \"System.Random.Stateful\" for more details.\n\ncategory: System\nbuild-type: Simple\nextra-source-files:\n README.md\n CHANGELOG.md\ntested-with: GHC == 7.10.2\n , GHC == 7.10.3\n , GHC == 8.0.2\n , GHC == 8.2.2\n , GHC == 8.4.3\n , GHC == 8.4.4\n , GHC == 8.6.3\n , GHC == 8.6.4\n , GHC == 8.6.5\n , GHC == 8.8.1\n , GHC == 8.8.2\n , GHC == 8.10.1\n\nsource-repository head\n type: git\n location: https://github.com/haskell/random.git\n\n\nlibrary\n exposed-modules:\n System.Random\n System.Random.Internal\n System.Random.Stateful\n other-modules:\n System.Random.GFinite\n\n hs-source-dirs: src\n default-language: Haskell2010\n ghc-options:\n -Wall\n if impl(ghc >= 8.0)\n ghc-options:\n -Wincomplete-record-updates -Wincomplete-uni-patterns\n\n build-depends:\n base >=4.8 && <5,\n bytestring >=0.10.4 && <0.12,\n deepseq >=1.1 && <2,\n mtl >=2.2 && <2.4,\n splitmix >=0.1 && <0.2\n if impl(ghc < 8.0)\n build-depends:\n transformers\n\ntest-suite legacy-test\n type: exitcode-stdio-1.0\n main-is: Legacy.hs\n hs-source-dirs: test-legacy\n other-modules:\n T7936\n TestRandomIOs\n TestRandomRs\n Random1283\n RangeTest\n\n default-language: Haskell2010\n ghc-options: -with-rtsopts=-M8M\n if impl(ghc >= 8.0)\n ghc-options:\n -Wno-deprecations\n build-depends:\n base,\n containers >=0.5 && <0.7,\n random\n\ntest-suite doctests\n type: exitcode-stdio-1.0\n main-is: doctests.hs\n hs-source-dirs: test\n default-language: Haskell2010\n build-depends:\n base,\n doctest >=0.15 && <0.21\n if impl(ghc >= 8.2) && impl(ghc < 8.10)\n build-depends:\n mwc-random >=0.13 && <0.16,\n primitive >=0.6 && <0.8,\n random,\n stm,\n unliftio >=0.2 && <0.3,\n vector >= 0.10 && <0.14\n\ntest-suite spec\n type: exitcode-stdio-1.0\n main-is: Spec.hs\n hs-source-dirs: test\n other-modules:\n Spec.Range\n Spec.Run\n Spec.Stateful\n\n default-language: Haskell2010\n ghc-options: -Wall\n build-depends:\n base,\n bytestring,\n random,\n smallcheck >=1.2 && <1.3,\n stm,\n tasty >=1.0 && <1.5,\n tasty-smallcheck >=0.8 && <0.9,\n tasty-hunit >=0.10 && <0.11,\n transformers\n\n-- Note. Fails when compiled with coverage:\n-- https://github.com/haskell/random/issues/107\ntest-suite spec-inspection\n type: exitcode-stdio-1.0\n main-is: Spec.hs\n hs-source-dirs: test-inspection\n build-depends:\n\n default-language: Haskell2010\n ghc-options: -Wall\n build-depends:\n base,\n random,\n tasty >=1.0 && <1.5\n if impl(ghc >= 8.0)\n build-depends:\n tasty-inspection-testing\n other-modules:\n Spec.Inspection\n\nbenchmark legacy-bench\n type: exitcode-stdio-1.0\n main-is: SimpleRNGBench.hs\n hs-source-dirs: bench-legacy\n other-modules: BinSearch\n default-language: Haskell2010\n ghc-options:\n -Wall -O2 -threaded -rtsopts -with-rtsopts=-N\n if impl(ghc >= 8.0)\n ghc-options:\n -Wno-deprecations\n\n build-depends:\n base,\n random,\n rdtsc,\n split >=0.2 && <0.3,\n time >=1.4 && <1.13\n\nbenchmark bench\n type: exitcode-stdio-1.0\n main-is: Main.hs\n hs-source-dirs: bench\n default-language: Haskell2010\n ghc-options: -Wall -O2\n build-depends:\n base,\n mtl,\n primitive >= 0.7.1,\n random,\n splitmix >=0.1 && <0.2,\n tasty-bench\n"; + } \ No newline at end of file diff --git a/materialized/ghc928/hadrian-ghc99/hadrian/cabal-files/shake.nix b/materialized/ghc928/hadrian-ghc99/hadrian/cabal-files/shake.nix new file mode 100644 index 0000000000..e7eb5c6647 --- /dev/null +++ b/materialized/ghc928/hadrian-ghc99/hadrian/cabal-files/shake.nix @@ -0,0 +1,132 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = { portable = false; cloud = false; embed-files = false; }; + package = { + specVersion = "1.18"; + identifier = { name = "shake"; version = "0.19.7"; }; + license = "BSD-3-Clause"; + copyright = "Neil Mitchell 2011-2022"; + maintainer = "Neil Mitchell "; + author = "Neil Mitchell "; + homepage = "https://shakebuild.com"; + url = ""; + synopsis = "Build system library, like Make, but more accurate dependencies."; + description = "Shake is a Haskell library for writing build systems - designed as a\nreplacement for @make@. See \"Development.Shake\" for an introduction,\nincluding an example. The homepage contains links to a user\nmanual, an academic paper and further information:\n\n\nTo use Shake the user writes a Haskell program\nthat imports \"Development.Shake\", defines some build rules, and calls\nthe 'Development.Shake.shakeArgs' function. Thanks to do notation and infix\noperators, a simple Shake build system\nis not too dissimilar from a simple Makefile. However, as build systems\nget more complex, Shake is able to take advantage of the excellent\nabstraction facilities offered by Haskell and easily support much larger\nprojects. The Shake library provides all the standard features available in other\nbuild systems, including automatic parallelism and minimal rebuilds.\nShake also provides more accurate dependency tracking, including seamless\nsupport for generated files, and dependencies on system information\n(e.g. compiler version)."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = ((([ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (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."filepattern" or (errorHandler.buildDepError "filepattern")) + (hsPkgs."hashable" or (errorHandler.buildDepError "hashable")) + (hsPkgs."heaps" or (errorHandler.buildDepError "heaps")) + (hsPkgs."js-dgtable" or (errorHandler.buildDepError "js-dgtable")) + (hsPkgs."js-flot" or (errorHandler.buildDepError "js-flot")) + (hsPkgs."js-jquery" or (errorHandler.buildDepError "js-jquery")) + (hsPkgs."primitive" or (errorHandler.buildDepError "primitive")) + (hsPkgs."process" or (errorHandler.buildDepError "process")) + (hsPkgs."random" or (errorHandler.buildDepError "random")) + (hsPkgs."time" or (errorHandler.buildDepError "time")) + (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")) + (hsPkgs."unordered-containers" or (errorHandler.buildDepError "unordered-containers")) + (hsPkgs."utf8-string" or (errorHandler.buildDepError "utf8-string")) + ] ++ (pkgs.lib).optionals (flags.embed-files) [ + (hsPkgs."file-embed" or (errorHandler.buildDepError "file-embed")) + (hsPkgs."template-haskell" or (errorHandler.buildDepError "template-haskell")) + ]) ++ (pkgs.lib).optionals (!flags.portable) ((pkgs.lib).optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix")))) ++ (pkgs.lib).optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix"))) ++ (pkgs.lib).optionals (flags.cloud) [ + (hsPkgs."network" or (errorHandler.buildDepError "network")) + (hsPkgs."network-uri" or (errorHandler.buildDepError "network-uri")) + ]; + buildable = true; + }; + exes = { + "shake" = { + depends = (((([ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (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."filepattern" or (errorHandler.buildDepError "filepattern")) + (hsPkgs."hashable" or (errorHandler.buildDepError "hashable")) + (hsPkgs."heaps" or (errorHandler.buildDepError "heaps")) + (hsPkgs."js-dgtable" or (errorHandler.buildDepError "js-dgtable")) + (hsPkgs."js-flot" or (errorHandler.buildDepError "js-flot")) + (hsPkgs."js-jquery" or (errorHandler.buildDepError "js-jquery")) + (hsPkgs."primitive" or (errorHandler.buildDepError "primitive")) + (hsPkgs."process" or (errorHandler.buildDepError "process")) + (hsPkgs."random" or (errorHandler.buildDepError "random")) + (hsPkgs."time" or (errorHandler.buildDepError "time")) + (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")) + (hsPkgs."unordered-containers" or (errorHandler.buildDepError "unordered-containers")) + (hsPkgs."utf8-string" or (errorHandler.buildDepError "utf8-string")) + ] ++ (pkgs.lib).optionals (flags.embed-files) [ + (hsPkgs."file-embed" or (errorHandler.buildDepError "file-embed")) + (hsPkgs."template-haskell" or (errorHandler.buildDepError "template-haskell")) + ]) ++ (pkgs.lib).optionals (!flags.portable) ((pkgs.lib).optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix")))) ++ (pkgs.lib).optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix"))) ++ (pkgs.lib).optionals (flags.cloud) [ + (hsPkgs."network" or (errorHandler.buildDepError "network")) + (hsPkgs."network-uri" or (errorHandler.buildDepError "network-uri")) + ]) ++ (pkgs.lib).optional (compiler.isGhc && (compiler.version).lt "8.0") (hsPkgs."semigroups" or (errorHandler.buildDepError "semigroups")); + buildable = true; + }; + }; + tests = { + "shake-test" = { + depends = (((([ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (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."filepattern" or (errorHandler.buildDepError "filepattern")) + (hsPkgs."hashable" or (errorHandler.buildDepError "hashable")) + (hsPkgs."heaps" or (errorHandler.buildDepError "heaps")) + (hsPkgs."js-dgtable" or (errorHandler.buildDepError "js-dgtable")) + (hsPkgs."js-flot" or (errorHandler.buildDepError "js-flot")) + (hsPkgs."js-jquery" or (errorHandler.buildDepError "js-jquery")) + (hsPkgs."primitive" or (errorHandler.buildDepError "primitive")) + (hsPkgs."process" or (errorHandler.buildDepError "process")) + (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")) + (hsPkgs."random" or (errorHandler.buildDepError "random")) + (hsPkgs."time" or (errorHandler.buildDepError "time")) + (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")) + (hsPkgs."unordered-containers" or (errorHandler.buildDepError "unordered-containers")) + (hsPkgs."utf8-string" or (errorHandler.buildDepError "utf8-string")) + ] ++ (pkgs.lib).optionals (flags.embed-files) [ + (hsPkgs."file-embed" or (errorHandler.buildDepError "file-embed")) + (hsPkgs."template-haskell" or (errorHandler.buildDepError "template-haskell")) + ]) ++ (pkgs.lib).optionals (!flags.portable) ((pkgs.lib).optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix")))) ++ (pkgs.lib).optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix"))) ++ (pkgs.lib).optionals (flags.cloud) [ + (hsPkgs."network" or (errorHandler.buildDepError "network")) + (hsPkgs."network-uri" or (errorHandler.buildDepError "network-uri")) + ]) ++ (pkgs.lib).optional (compiler.isGhc && (compiler.version).lt "8.0") (hsPkgs."semigroups" or (errorHandler.buildDepError "semigroups")); + buildable = true; + }; + }; + }; + } // { + src = (pkgs.lib).mkDefault (pkgs.fetchurl { + url = "http://hackage.haskell.org/package/shake-0.19.7.tar.gz"; + sha256 = "352a56af12f70b50d564dcb61131555577281957ee196f1702a3723c0a3699d1"; + }); + }) // { + package-description-override = "cabal-version: 1.18\nbuild-type: Simple\nname: shake\nversion: 0.19.7\nx-revision: 1\nlicense: BSD3\nlicense-file: LICENSE\ncategory: Development, Shake\nauthor: Neil Mitchell \nmaintainer: Neil Mitchell \ncopyright: Neil Mitchell 2011-2022\nsynopsis: Build system library, like Make, but more accurate dependencies.\ndescription:\n Shake is a Haskell library for writing build systems - designed as a\n replacement for @make@. See \"Development.Shake\" for an introduction,\n including an example. The homepage contains links to a user\n manual, an academic paper and further information:\n \n .\n To use Shake the user writes a Haskell program\n that imports \"Development.Shake\", defines some build rules, and calls\n the 'Development.Shake.shakeArgs' function. Thanks to do notation and infix\n operators, a simple Shake build system\n is not too dissimilar from a simple Makefile. However, as build systems\n get more complex, Shake is able to take advantage of the excellent\n abstraction facilities offered by Haskell and easily support much larger\n projects. The Shake library provides all the standard features available in other\n build systems, including automatic parallelism and minimal rebuilds.\n Shake also provides more accurate dependency tracking, including seamless\n support for generated files, and dependencies on system information\n (e.g. compiler version).\nhomepage: https://shakebuild.com\nbug-reports: https://github.com/ndmitchell/shake/issues\ntested-with: GHC==9.0, GHC==8.10, GHC==8.8, GHC==8.6\nextra-doc-files:\n CHANGES.txt\n README.md\n docs/Manual.md\n docs/shake-progress.png\nextra-source-files:\n src/Paths.hs\n src/Test/C/constants.c\n src/Test/C/constants.h\n src/Test/C/main.c\n src/Test/Ninja/*.ninja\n src/Test/Ninja/*.output\n src/Test/Ninja/subdir/*.ninja\n src/Test/Progress/*.prog\n src/Test/Tar/list.txt\n src/Test/Tup/hello.c\n src/Test/Tup/newmath/root.cfg\n src/Test/Tup/newmath/square.c\n src/Test/Tup/newmath/square.h\n src/Test/Tup/root.cfg\ndata-files:\n docs/manual/build.bat\n docs/manual/Shakefile.hs\n docs/manual/build.sh\n docs/manual/constants.c\n docs/manual/constants.h\n docs/manual/main.c\n html/profile.html\n html/progress.html\n html/shake.js\n\nsource-repository head\n type: git\n location: https://github.com/ndmitchell/shake.git\n\nflag portable\n default: False\n manual: True\n description: Obtain FileTime using portable functions\n\nflag cloud\n default: False\n manual: True\n description: Enable cloud build features\n\nflag embed-files\n default: False\n manual: True\n description: Embed data files into the shake library\n\nlibrary\n default-language: Haskell2010\n hs-source-dirs: src\n build-depends:\n base >= 4.9,\n binary,\n bytestring,\n deepseq >= 1.1,\n directory >= 1.2.7.0,\n extra >= 1.6.19,\n filepath >= 1.4,\n filepattern,\n hashable >= 1.1.2.3,\n heaps >= 0.3.6.1,\n js-dgtable,\n js-flot,\n js-jquery,\n primitive,\n process >= 1.1,\n random,\n time,\n transformers >= 0.2,\n unordered-containers >= 0.2.7,\n utf8-string >= 0.3\n\n if flag(embed-files)\n cpp-options: -DFILE_EMBED\n build-depends:\n file-embed >= 0.0.11,\n template-haskell\n\n if flag(portable)\n cpp-options: -DPORTABLE\n else\n if !os(windows)\n build-depends: unix >= 2.5.1\n if !os(windows)\n build-depends: unix\n\n if flag(cloud)\n cpp-options: -DNETWORK\n build-depends: network, network-uri\n\n exposed-modules:\n Development.Shake\n Development.Shake.Classes\n Development.Shake.Command\n Development.Shake.Config\n Development.Shake.Database\n Development.Shake.FilePath\n Development.Shake.Forward\n Development.Shake.Rule\n Development.Shake.Util\n\n other-modules:\n Development.Ninja.Env\n Development.Ninja.Lexer\n Development.Ninja.Parse\n Development.Ninja.Type\n Development.Shake.Internal.Args\n Development.Shake.Internal.CmdOption\n Development.Shake.Internal.CompactUI\n Development.Shake.Internal.Core.Action\n Development.Shake.Internal.Core.Build\n Development.Shake.Internal.Core.Database\n Development.Shake.Internal.History.Shared\n Development.Shake.Internal.History.Symlink\n Development.Shake.Internal.History.Bloom\n Development.Shake.Internal.History.Cloud\n Development.Shake.Internal.History.Network\n Development.Shake.Internal.History.Server\n Development.Shake.Internal.History.Serialise\n Development.Shake.Internal.History.Types\n Development.Shake.Internal.Core.Monad\n Development.Shake.Internal.Core.Pool\n Development.Shake.Internal.Core.Rules\n Development.Shake.Internal.Core.Run\n Development.Shake.Internal.Core.Storage\n Development.Shake.Internal.Core.Types\n Development.Shake.Internal.Demo\n Development.Shake.Internal.Derived\n Development.Shake.Internal.Errors\n Development.Shake.Internal.FileInfo\n Development.Shake.Internal.FileName\n Development.Shake.Internal.FilePattern\n Development.Shake.Internal.Options\n Development.Shake.Internal.Paths\n Development.Shake.Internal.Profile\n Development.Shake.Internal.Progress\n Development.Shake.Internal.Resource\n Development.Shake.Internal.Rules.Default\n Development.Shake.Internal.Rules.Directory\n Development.Shake.Internal.Rules.File\n Development.Shake.Internal.Rules.Files\n Development.Shake.Internal.Rules.Oracle\n Development.Shake.Internal.Rules.OrderOnly\n Development.Shake.Internal.Rules.Rerun\n Development.Shake.Internal.Value\n General.Bilist\n General.Binary\n General.Chunks\n General.Cleanup\n General.Fence\n General.EscCodes\n General.Extra\n General.FileLock\n General.GetOpt\n General.Ids\n General.Intern\n General.ListBuilder\n General.Makefile\n General.Pool\n General.Process\n General.Template\n General.Thread\n General.Timing\n General.TypeMap\n General.Wait\n Paths_shake\n\n\nexecutable shake\n default-language: Haskell2010\n hs-source-dirs: src\n ghc-options: -main-is Run.main -rtsopts -threaded \"-with-rtsopts=-I0 -qg\"\n main-is: Run.hs\n build-depends:\n base == 4.*,\n binary,\n bytestring,\n deepseq >= 1.1,\n directory,\n extra >= 1.6.19,\n filepath,\n filepattern,\n hashable >= 1.1.2.3,\n heaps >= 0.3.6.1,\n js-dgtable,\n js-flot,\n js-jquery,\n primitive,\n process >= 1.1,\n random,\n time,\n transformers >= 0.2,\n unordered-containers >= 0.2.7,\n utf8-string >= 0.3\n\n if flag(embed-files)\n cpp-options: -DFILE_EMBED\n build-depends:\n file-embed >= 0.0.11,\n template-haskell\n\n if flag(portable)\n cpp-options: -DPORTABLE\n else\n if !os(windows)\n build-depends: unix >= 2.5.1\n if !os(windows)\n build-depends: unix\n\n if flag(cloud)\n cpp-options: -DNETWORK\n build-depends: network, network-uri\n\n if impl(ghc < 8.0)\n build-depends: semigroups >= 0.18\n\n other-modules:\n Development.Ninja.All\n Development.Ninja.Env\n Development.Ninja.Lexer\n Development.Ninja.Parse\n Development.Ninja.Type\n Development.Shake\n Development.Shake.Classes\n Development.Shake.Command\n Development.Shake.Database\n Development.Shake.FilePath\n Development.Shake.Internal.Args\n Development.Shake.Internal.CmdOption\n Development.Shake.Internal.CompactUI\n Development.Shake.Internal.Core.Action\n Development.Shake.Internal.Core.Build\n Development.Shake.Internal.Core.Database\n Development.Shake.Internal.History.Shared\n Development.Shake.Internal.History.Symlink\n Development.Shake.Internal.History.Bloom\n Development.Shake.Internal.History.Cloud\n Development.Shake.Internal.History.Network\n Development.Shake.Internal.History.Server\n Development.Shake.Internal.History.Serialise\n Development.Shake.Internal.History.Types\n Development.Shake.Internal.Core.Monad\n Development.Shake.Internal.Core.Pool\n Development.Shake.Internal.Core.Rules\n Development.Shake.Internal.Core.Run\n Development.Shake.Internal.Core.Storage\n Development.Shake.Internal.Core.Types\n Development.Shake.Internal.Demo\n Development.Shake.Internal.Derived\n Development.Shake.Internal.Errors\n Development.Shake.Internal.FileInfo\n Development.Shake.Internal.FileName\n Development.Shake.Internal.FilePattern\n Development.Shake.Internal.Options\n Development.Shake.Internal.Paths\n Development.Shake.Internal.Profile\n Development.Shake.Internal.Progress\n Development.Shake.Internal.Resource\n Development.Shake.Internal.Rules.Default\n Development.Shake.Internal.Rules.Directory\n Development.Shake.Internal.Rules.File\n Development.Shake.Internal.Rules.Files\n Development.Shake.Internal.Rules.Oracle\n Development.Shake.Internal.Rules.OrderOnly\n Development.Shake.Internal.Rules.Rerun\n Development.Shake.Internal.Value\n General.Bilist\n General.Binary\n General.Chunks\n General.Cleanup\n General.Fence\n General.EscCodes\n General.Extra\n General.FileLock\n General.GetOpt\n General.Ids\n General.Intern\n General.ListBuilder\n General.Makefile\n General.Pool\n General.Process\n General.Template\n General.Thread\n General.Timing\n General.TypeMap\n General.Wait\n Paths_shake\n\n\ntest-suite shake-test\n default-language: Haskell2010\n type: exitcode-stdio-1.0\n main-is: Test.hs\n hs-source-dirs: src\n ghc-options: -main-is Test.main -rtsopts -with-rtsopts=-K1K -threaded\n\n build-depends:\n base == 4.*,\n binary,\n bytestring,\n deepseq >= 1.1,\n directory,\n extra >= 1.6.19,\n filepath,\n filepattern,\n hashable >= 1.1.2.3,\n heaps >= 0.3.6.1,\n js-dgtable,\n js-flot,\n js-jquery,\n primitive,\n process >= 1.1,\n QuickCheck >= 2.0,\n random,\n time,\n transformers >= 0.2,\n unordered-containers >= 0.2.7,\n utf8-string >= 0.3\n\n if flag(embed-files)\n cpp-options: -DFILE_EMBED\n build-depends:\n file-embed >= 0.0.11,\n template-haskell\n\n if flag(portable)\n cpp-options: -DPORTABLE\n else\n if !os(windows)\n build-depends: unix >= 2.5.1\n if !os(windows)\n build-depends: unix\n\n if flag(cloud)\n cpp-options: -DNETWORK\n build-depends: network, network-uri\n\n if impl(ghc < 8.0)\n build-depends: semigroups >= 0.18\n\n other-modules:\n Development.Ninja.All\n Development.Ninja.Env\n Development.Ninja.Lexer\n Development.Ninja.Parse\n Development.Ninja.Type\n Development.Shake\n Development.Shake.Classes\n Development.Shake.Command\n Development.Shake.Config\n Development.Shake.Database\n Development.Shake.FilePath\n Development.Shake.Forward\n Development.Shake.Internal.Args\n Development.Shake.Internal.CmdOption\n Development.Shake.Internal.CompactUI\n Development.Shake.Internal.Core.Action\n Development.Shake.Internal.Core.Build\n Development.Shake.Internal.Core.Database\n Development.Shake.Internal.History.Shared\n Development.Shake.Internal.History.Symlink\n Development.Shake.Internal.History.Bloom\n Development.Shake.Internal.History.Cloud\n Development.Shake.Internal.History.Network\n Development.Shake.Internal.History.Server\n Development.Shake.Internal.History.Serialise\n Development.Shake.Internal.History.Types\n Development.Shake.Internal.Core.Monad\n Development.Shake.Internal.Core.Pool\n Development.Shake.Internal.Core.Rules\n Development.Shake.Internal.Core.Run\n Development.Shake.Internal.Core.Storage\n Development.Shake.Internal.Core.Types\n Development.Shake.Internal.Demo\n Development.Shake.Internal.Derived\n Development.Shake.Internal.Errors\n Development.Shake.Internal.FileInfo\n Development.Shake.Internal.FileName\n Development.Shake.Internal.FilePattern\n Development.Shake.Internal.Options\n Development.Shake.Internal.Paths\n Development.Shake.Internal.Profile\n Development.Shake.Internal.Progress\n Development.Shake.Internal.Resource\n Development.Shake.Internal.Rules.Default\n Development.Shake.Internal.Rules.Directory\n Development.Shake.Internal.Rules.File\n Development.Shake.Internal.Rules.Files\n Development.Shake.Internal.Rules.Oracle\n Development.Shake.Internal.Rules.OrderOnly\n Development.Shake.Internal.Rules.Rerun\n Development.Shake.Internal.Value\n Development.Shake.Rule\n Development.Shake.Util\n General.Bilist\n General.Binary\n General.Chunks\n General.Cleanup\n General.Fence\n General.EscCodes\n General.Extra\n General.FileLock\n General.GetOpt\n General.Ids\n General.Intern\n General.ListBuilder\n General.Makefile\n General.Pool\n General.Process\n General.Template\n General.Thread\n General.Timing\n General.TypeMap\n General.Wait\n Paths_shake\n Run\n Test.Basic\n Test.Batch\n Test.Benchmark\n Test.Builtin\n Test.BuiltinOverride\n Test.C\n Test.Cache\n Test.Cleanup\n Test.CloseFileHandles\n Test.Command\n Test.Config\n Test.Database\n Test.Digest\n Test.Directory\n Test.Docs\n Test.Errors\n Test.Existence\n Test.FileLock\n Test.FilePath\n Test.FilePattern\n Test.Files\n Test.Forward\n Test.History\n Test.Journal\n Test.Lint\n Test.Live\n Test.Manual\n Test.Match\n Test.Monad\n Test.Ninja\n Test.Oracle\n Test.OrderOnly\n Test.Parallel\n Test.Pool\n Test.Progress\n Test.Random\n Test.Rebuild\n Test.Reschedule\n Test.Resources\n Test.Self\n Test.SelfMake\n Test.Tar\n Test.Targets\n Test.Thread\n Test.Tup\n Test.Type\n Test.Unicode\n Test.Util\n Test.Verbosity\n Test.Version\n"; + } \ No newline at end of file diff --git a/materialized/ghc928/hadrian-ghc99/hadrian/cabal-files/splitmix.nix b/materialized/ghc928/hadrian-ghc99/hadrian/cabal-files/splitmix.nix new file mode 100644 index 0000000000..7918d356b1 --- /dev/null +++ b/materialized/ghc928/hadrian-ghc99/hadrian/cabal-files/splitmix.nix @@ -0,0 +1,140 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = { optimised-mixer = false; }; + package = { + specVersion = "1.10"; + identifier = { name = "splitmix"; version = "0.1.0.4"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "Oleg Grenrus "; + author = ""; + homepage = ""; + url = ""; + synopsis = "Fast Splittable PRNG"; + description = "Pure Haskell implementation of SplitMix described in\n\nGuy L. Steele, Jr., Doug Lea, and Christine H. Flood. 2014.\nFast splittable pseudorandom number generators. In Proceedings\nof the 2014 ACM International Conference on Object Oriented\nProgramming Systems Languages & Applications (OOPSLA '14). ACM,\nNew York, NY, USA, 453-472. DOI:\n\n\nThe paper describes a new algorithm /SplitMix/ for /splittable/\npseudorandom number generator that is quite fast: 9 64 bit arithmetic/logical\noperations per 64 bits generated.\n\n/SplitMix/ is tested with two standard statistical test suites (DieHarder and\nTestU01, this implementation only using the former) and it appears to be\nadequate for \"everyday\" use, such as Monte Carlo algorithms and randomized\ndata structures where speed is important.\n\nIn particular, it __should not be used for cryptographic or security applications__,\nbecause generated sequences of pseudorandom values are too predictable\n(the mixing functions are easily inverted, and two successive outputs\nsuffice to reconstruct the internal state)."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + ] ++ (pkgs.lib).optionals (!(compiler.isGhcjs && true)) ((pkgs.lib).optional (!(compiler.isGhc && true)) (hsPkgs."time" or (errorHandler.buildDepError "time"))); + buildable = true; + }; + tests = { + "examples" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."HUnit" or (errorHandler.buildDepError "HUnit")) + (hsPkgs."splitmix" or (errorHandler.buildDepError "splitmix")) + ]; + buildable = true; + }; + "splitmix-tests" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."base-compat" or (errorHandler.buildDepError "base-compat")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."HUnit" or (errorHandler.buildDepError "HUnit")) + (hsPkgs."math-functions" or (errorHandler.buildDepError "math-functions")) + (hsPkgs."splitmix" or (errorHandler.buildDepError "splitmix")) + (hsPkgs."test-framework" or (errorHandler.buildDepError "test-framework")) + (hsPkgs."test-framework-hunit" or (errorHandler.buildDepError "test-framework-hunit")) + ]; + buildable = true; + }; + "montecarlo-pi" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."splitmix" or (errorHandler.buildDepError "splitmix")) + ]; + buildable = true; + }; + "montecarlo-pi-32" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."splitmix" or (errorHandler.buildDepError "splitmix")) + ]; + buildable = true; + }; + "splitmix-dieharder" = { + depends = [ + (hsPkgs."async" or (errorHandler.buildDepError "async")) + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."base-compat-batteries" or (errorHandler.buildDepError "base-compat-batteries")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."process" or (errorHandler.buildDepError "process")) + (hsPkgs."random" or (errorHandler.buildDepError "random")) + (hsPkgs."splitmix" or (errorHandler.buildDepError "splitmix")) + (hsPkgs."tf-random" or (errorHandler.buildDepError "tf-random")) + (hsPkgs."vector" or (errorHandler.buildDepError "vector")) + ]; + buildable = true; + }; + "splitmix-testu01" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."base-compat-batteries" or (errorHandler.buildDepError "base-compat-batteries")) + (hsPkgs."splitmix" or (errorHandler.buildDepError "splitmix")) + ]; + libs = [ (pkgs."testu01" or (errorHandler.sysDepError "testu01")) ]; + buildable = if !system.isLinux then false else true; + }; + "initialization" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."HUnit" or (errorHandler.buildDepError "HUnit")) + (hsPkgs."splitmix" or (errorHandler.buildDepError "splitmix")) + ]; + buildable = true; + }; + }; + benchmarks = { + "comparison" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."criterion" or (errorHandler.buildDepError "criterion")) + (hsPkgs."random" or (errorHandler.buildDepError "random")) + (hsPkgs."splitmix" or (errorHandler.buildDepError "splitmix")) + (hsPkgs."tf-random" or (errorHandler.buildDepError "tf-random")) + ]; + buildable = true; + }; + "simple-sum" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."random" or (errorHandler.buildDepError "random")) + (hsPkgs."splitmix" or (errorHandler.buildDepError "splitmix")) + ]; + buildable = true; + }; + "range" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."clock" or (errorHandler.buildDepError "clock")) + (hsPkgs."random" or (errorHandler.buildDepError "random")) + (hsPkgs."splitmix" or (errorHandler.buildDepError "splitmix")) + ]; + buildable = true; + }; + }; + }; + } // { + src = (pkgs.lib).mkDefault (pkgs.fetchurl { + url = "http://hackage.haskell.org/package/splitmix-0.1.0.4.tar.gz"; + sha256 = "6d065402394e7a9117093dbb4530a21342c9b1e2ec509516c8a8d0ffed98ecaa"; + }); + }) // { + package-description-override = "cabal-version: >=1.10\nname: splitmix\nversion: 0.1.0.4\nx-revision: 2\nsynopsis: Fast Splittable PRNG\ndescription:\n Pure Haskell implementation of SplitMix described in\n .\n Guy L. Steele, Jr., Doug Lea, and Christine H. Flood. 2014.\n Fast splittable pseudorandom number generators. In Proceedings\n of the 2014 ACM International Conference on Object Oriented\n Programming Systems Languages & Applications (OOPSLA '14). ACM,\n New York, NY, USA, 453-472. DOI:\n \n .\n The paper describes a new algorithm /SplitMix/ for /splittable/\n pseudorandom number generator that is quite fast: 9 64 bit arithmetic/logical\n operations per 64 bits generated.\n .\n /SplitMix/ is tested with two standard statistical test suites (DieHarder and\n TestU01, this implementation only using the former) and it appears to be\n adequate for \"everyday\" use, such as Monte Carlo algorithms and randomized\n data structures where speed is important.\n .\n In particular, it __should not be used for cryptographic or security applications__,\n because generated sequences of pseudorandom values are too predictable\n (the mixing functions are easily inverted, and two successive outputs\n suffice to reconstruct the internal state).\n\nlicense: BSD3\nlicense-file: LICENSE\nmaintainer: Oleg Grenrus \nbug-reports: https://github.com/haskellari/splitmix/issues\ncategory: System, Random\nbuild-type: Simple\ntested-with:\n GHC ==7.0.4\n || ==7.2.2\n || ==7.4.2\n || ==7.6.3\n || ==7.8.4\n || ==7.10.3\n || ==8.0.2\n || ==8.2.2\n || ==8.4.4\n || ==8.6.5\n || ==8.8.4\n || ==8.10.4\n || ==9.0.2\n || ==9.2.5\n || ==9.4.4\n || ==9.6.1\n , GHCJS ==8.4\n\nextra-source-files:\n Changelog.md\n make-hugs.sh\n README.md\n test-hugs.sh\n\nflag optimised-mixer\n description: Use JavaScript for mix32\n manual: True\n default: False\n\nlibrary\n default-language: Haskell2010\n ghc-options: -Wall\n hs-source-dirs: src src-compat\n exposed-modules:\n System.Random.SplitMix\n System.Random.SplitMix32\n\n other-modules:\n Data.Bits.Compat\n System.Random.SplitMix.Init\n\n -- dump-core\n -- build-depends: dump-core\n -- ghc-options: -fplugin=DumpCore -fplugin-opt DumpCore:core-html\n\n build-depends:\n base >=4.3 && <4.19\n , deepseq >=1.3.0.0 && <1.5\n\n if flag(optimised-mixer)\n cpp-options: -DOPTIMISED_MIX32=1\n\n -- We don't want to depend on time, nor unix or Win32 packages\n -- because it's valuable that splitmix and QuickCheck doesn't\n -- depend on about anything\n\n if impl(ghcjs)\n cpp-options: -DSPLITMIX_INIT_GHCJS=1\n\n else\n if impl(ghc)\n cpp-options: -DSPLITMIX_INIT_C=1\n\n if os(windows)\n c-sources: cbits-win/init.c\n\n else\n c-sources: cbits-unix/init.c\n\n else\n cpp-options: -DSPLITMIX_INIT_COMPAT=1\n build-depends: time >=1.2.0.3 && <1.13\n\nsource-repository head\n type: git\n location: https://github.com/haskellari/splitmix.git\n\nbenchmark comparison\n type: exitcode-stdio-1.0\n default-language: Haskell2010\n ghc-options: -Wall\n hs-source-dirs: bench\n main-is: Bench.hs\n build-depends:\n base\n , containers >=0.4.2.1 && <0.7\n , criterion >=1.1.0.0 && <1.6\n , random\n , splitmix\n , tf-random >=0.5 && <0.6\n\nbenchmark simple-sum\n type: exitcode-stdio-1.0\n default-language: Haskell2010\n ghc-options: -Wall\n hs-source-dirs: bench\n main-is: SimpleSum.hs\n build-depends:\n base\n , random\n , splitmix\n\nbenchmark range\n type: exitcode-stdio-1.0\n default-language: Haskell2010\n ghc-options: -Wall\n hs-source-dirs: bench src-compat\n main-is: Range.hs\n other-modules: Data.Bits.Compat\n build-depends:\n base\n , clock >=0.8 && <0.9\n , random\n , splitmix\n\ntest-suite examples\n type: exitcode-stdio-1.0\n default-language: Haskell2010\n ghc-options: -Wall\n hs-source-dirs: tests\n main-is: Examples.hs\n build-depends:\n base\n , HUnit ==1.3.1.2 || >=1.6.0.0 && <1.7\n , splitmix\n\ntest-suite splitmix-tests\n type: exitcode-stdio-1.0\n default-language: Haskell2010\n ghc-options: -Wall\n hs-source-dirs: tests\n main-is: Tests.hs\n other-modules:\n MiniQC\n Uniformity\n\n build-depends:\n base\n , base-compat >=0.11.1 && <0.13\n , containers >=0.4.0.0 && <0.7\n , HUnit ==1.3.1.2 || >=1.6.0.0 && <1.7\n , math-functions ==0.1.7.0 || >=0.3.3.0 && <0.4\n , splitmix\n , test-framework >=0.8.2.0 && <0.9\n , test-framework-hunit >=0.3.0.2 && <0.4\n\ntest-suite montecarlo-pi\n type: exitcode-stdio-1.0\n default-language: Haskell2010\n ghc-options: -Wall\n hs-source-dirs: tests\n main-is: SplitMixPi.hs\n build-depends:\n base\n , splitmix\n\ntest-suite montecarlo-pi-32\n type: exitcode-stdio-1.0\n default-language: Haskell2010\n ghc-options: -Wall\n hs-source-dirs: tests\n main-is: SplitMixPi32.hs\n build-depends:\n base\n , splitmix\n\ntest-suite splitmix-dieharder\n default-language: Haskell2010\n type: exitcode-stdio-1.0\n ghc-options: -Wall -threaded -rtsopts\n hs-source-dirs: tests\n main-is: Dieharder.hs\n build-depends:\n async >=2.2.1 && <2.3\n , base\n , base-compat-batteries >=0.10.5 && <0.13\n , bytestring >=0.9.1.8 && <0.12\n , deepseq\n , process >=1.0.1.5 && <1.7\n , random\n , splitmix\n , tf-random >=0.5 && <0.6\n , vector >=0.11.0.0 && <0.13\n\ntest-suite splitmix-testu01\n if !os(linux)\n buildable: False\n\n default-language: Haskell2010\n type: exitcode-stdio-1.0\n ghc-options: -Wall -threaded -rtsopts\n hs-source-dirs: tests\n main-is: TestU01.hs\n c-sources: tests/cbits/testu01.c\n extra-libraries: testu01\n build-depends:\n base\n , base-compat-batteries >=0.10.5 && <0.13\n , splitmix\n\ntest-suite initialization\n default-language: Haskell2010\n type: exitcode-stdio-1.0\n ghc-options: -Wall -threaded -rtsopts\n hs-source-dirs: tests\n main-is: Initialization.hs\n build-depends:\n base\n , HUnit ==1.3.1.2 || >=1.6.0.0 && <1.7\n , splitmix\n"; + } \ No newline at end of file diff --git a/materialized/ghc928/hadrian-ghc99/hadrian/cabal-files/unordered-containers.nix b/materialized/ghc928/hadrian-ghc99/hadrian/cabal-files/unordered-containers.nix new file mode 100644 index 0000000000..ab6a9d8c44 --- /dev/null +++ b/materialized/ghc928/hadrian-ghc99/hadrian/cabal-files/unordered-containers.nix @@ -0,0 +1,78 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = { debug = false; }; + package = { + specVersion = "1.10"; + identifier = { name = "unordered-containers"; version = "0.2.19.1"; }; + license = "BSD-3-Clause"; + copyright = "2010-2014 Johan Tibell\n2010 Edward Z. Yang"; + maintainer = "simon.jakobi@gmail.com, David.Feuer@gmail.com"; + author = "Johan Tibell"; + homepage = "https://github.com/haskell-unordered-containers/unordered-containers"; + url = ""; + synopsis = "Efficient hashing-based container types"; + description = "Efficient hashing-based container types. The containers have been\noptimized for performance critical use, both in terms of large data\nquantities and high speed.\n\nThe declared cost of each operation is either worst-case or\namortized, but remains valid even if structures are shared.\n\n/Security/\n\nThis package currently provides no defenses against hash collision attacks\nsuch as HashDoS.\nUsers who need to store input from untrusted sources are advised to use\n@Data.Map@ or @Data.Set@ from the @containers@ package instead."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."hashable" or (errorHandler.buildDepError "hashable")) + (hsPkgs."template-haskell" or (errorHandler.buildDepError "template-haskell")) + ]; + buildable = true; + }; + tests = { + "unordered-containers-tests" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."ChasingBottoms" or (errorHandler.buildDepError "ChasingBottoms")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."hashable" or (errorHandler.buildDepError "hashable")) + (hsPkgs."HUnit" or (errorHandler.buildDepError "HUnit")) + (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")) + (hsPkgs."random" or (errorHandler.buildDepError "random")) + (hsPkgs."tasty" or (errorHandler.buildDepError "tasty")) + (hsPkgs."tasty-hunit" or (errorHandler.buildDepError "tasty-hunit")) + (hsPkgs."tasty-quickcheck" or (errorHandler.buildDepError "tasty-quickcheck")) + (hsPkgs."unordered-containers" or (errorHandler.buildDepError "unordered-containers")) + ] ++ (pkgs.lib).optional (compiler.isGhc && (compiler.version).ge "8.6") (hsPkgs."nothunks" or (errorHandler.buildDepError "nothunks")); + buildable = true; + }; + }; + benchmarks = { + "benchmarks" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."hashable" or (errorHandler.buildDepError "hashable")) + (hsPkgs."hashmap" or (errorHandler.buildDepError "hashmap")) + (hsPkgs."mtl" or (errorHandler.buildDepError "mtl")) + (hsPkgs."random" or (errorHandler.buildDepError "random")) + (hsPkgs."tasty-bench" or (errorHandler.buildDepError "tasty-bench")) + (hsPkgs."unordered-containers" or (errorHandler.buildDepError "unordered-containers")) + ]; + buildable = true; + }; + }; + }; + } // { + src = (pkgs.lib).mkDefault (pkgs.fetchurl { + url = "http://hackage.haskell.org/package/unordered-containers-0.2.19.1.tar.gz"; + sha256 = "1b27bec5e0d522b27a6029ebf4c4a6d40acbc083c787008e32fb55c4b1d128d2"; + }); + }) // { + package-description-override = "name: unordered-containers\r\nversion: 0.2.19.1\r\nx-revision: 2\r\nsynopsis: Efficient hashing-based container types\r\ndescription:\r\n Efficient hashing-based container types. The containers have been\r\n optimized for performance critical use, both in terms of large data\r\n quantities and high speed.\r\n .\r\n The declared cost of each operation is either worst-case or\r\n amortized, but remains valid even if structures are shared.\r\n .\r\n /Security/\r\n .\r\n This package currently provides no defenses against hash collision attacks\r\n such as HashDoS.\r\n Users who need to store input from untrusted sources are advised to use\r\n @Data.Map@ or @Data.Set@ from the @containers@ package instead.\r\nlicense: BSD3\r\nlicense-file: LICENSE\r\nauthor: Johan Tibell\r\nmaintainer: simon.jakobi@gmail.com, David.Feuer@gmail.com\r\nHomepage: https://github.com/haskell-unordered-containers/unordered-containers\r\nbug-reports: https://github.com/haskell-unordered-containers/unordered-containers/issues\r\ncopyright: 2010-2014 Johan Tibell\r\n 2010 Edward Z. Yang\r\ncategory: Data\r\nbuild-type: Simple\r\ncabal-version: >=1.10\r\nextra-source-files: CHANGES.md\r\n\r\ntested-with:\r\n GHC ==9.6.1\r\n || ==9.4.4\r\n || ==9.2.7\r\n || ==9.0.2\r\n || ==8.10.7\r\n || ==8.8.4\r\n || ==8.6.5\r\n || ==8.4.4\r\n || ==8.2.2\r\n\r\nflag debug\r\n description: Enable debug support\r\n default: False\r\n\r\nlibrary\r\n exposed-modules:\r\n Data.HashMap.Internal\r\n Data.HashMap.Internal.Array\r\n Data.HashMap.Internal.List\r\n Data.HashMap.Internal.Strict\r\n Data.HashMap.Lazy\r\n Data.HashMap.Strict\r\n Data.HashSet\r\n Data.HashSet.Internal\r\n\r\n build-depends:\r\n base >= 4.10 && < 5,\r\n deepseq >= 1.4.3,\r\n hashable >= 1.2.5 && < 1.5,\r\n template-haskell < 2.21\r\n\r\n default-language: Haskell2010\r\n\r\n other-extensions:\r\n RoleAnnotations,\r\n UnboxedTuples,\r\n ScopedTypeVariables,\r\n MagicHash,\r\n BangPatterns\r\n\r\n ghc-options: -Wall -O2 -fwarn-tabs -ferror-spans\r\n\r\n -- For dumping the generated code:\r\n -- ghc-options: -ddump-simpl -ddump-stg-final -ddump-cmm -ddump-asm -ddump-to-file\r\n -- ghc-options: -dsuppress-coercions -dsuppress-unfoldings -dsuppress-module-prefixes\r\n -- ghc-options: -dsuppress-uniques -dsuppress-timestamps\r\n\r\n if flag(debug)\r\n cpp-options: -DASSERTS\r\n\r\ntest-suite unordered-containers-tests\r\n hs-source-dirs: tests\r\n main-is: Main.hs\r\n type: exitcode-stdio-1.0\r\n other-modules:\r\n Regressions\r\n Properties\r\n Properties.HashMapLazy\r\n Properties.HashMapStrict\r\n Properties.HashSet\r\n Properties.List\r\n Strictness\r\n\r\n build-depends:\r\n base,\r\n ChasingBottoms,\r\n containers >= 0.5.8,\r\n hashable,\r\n HUnit,\r\n QuickCheck >= 2.4.0.1,\r\n random,\r\n tasty >= 1.4.0.3,\r\n tasty-hunit >= 0.10.0.3,\r\n tasty-quickcheck >= 0.10.1.2,\r\n unordered-containers\r\n\r\n if impl(ghc >= 8.6)\r\n build-depends:\r\n nothunks >= 0.1.3\r\n\r\n default-language: Haskell2010\r\n ghc-options: -Wall\r\n cpp-options: -DASSERTS\r\n\r\nbenchmark benchmarks\r\n hs-source-dirs: benchmarks\r\n main-is: Benchmarks.hs\r\n type: exitcode-stdio-1.0\r\n\r\n other-modules:\r\n Util.ByteString\r\n Util.String\r\n Util.Int\r\n\r\n build-depends:\r\n base,\r\n bytestring >= 0.10.0.0,\r\n containers,\r\n deepseq,\r\n hashable,\r\n hashmap,\r\n mtl,\r\n random,\r\n tasty-bench >= 0.3.1,\r\n unordered-containers\r\n\r\n default-language: Haskell2010\r\n ghc-options: -Wall -O2 -rtsopts -with-rtsopts=-A32m\r\n if impl(ghc >= 8.10)\r\n ghc-options: \"-with-rtsopts=-A32m --nonmoving-gc\"\r\n -- cpp-options: -DBENCH_containers_Map -DBENCH_containers_IntMap -DBENCH_hashmap_Map\r\n\r\nsource-repository head\r\n type: git\r\n location: https://github.com/haskell-unordered-containers/unordered-containers.git\r\n"; + } \ No newline at end of file diff --git a/materialized/ghc928/hadrian-ghc99/hadrian/cabal-files/utf8-string.nix b/materialized/ghc928/hadrian-ghc99/hadrian/cabal-files/utf8-string.nix new file mode 100644 index 0000000000..ac9bde4057 --- /dev/null +++ b/materialized/ghc928/hadrian-ghc99/hadrian/cabal-files/utf8-string.nix @@ -0,0 +1,51 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = {}; + package = { + specVersion = "1.10"; + identifier = { name = "utf8-string"; version = "1.0.2"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "emertens@galois.com"; + author = "Eric Mertens"; + homepage = "https://github.com/glguy/utf8-string/"; + url = ""; + synopsis = "Support for reading and writing UTF8 Strings"; + description = "A UTF8 layer for Strings. The utf8-string\npackage provides operations for encoding UTF8\nstrings to Word8 lists and back, and for reading and\nwriting UTF8 without truncation."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + ]; + buildable = true; + }; + tests = { + "unit-tests" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."HUnit" or (errorHandler.buildDepError "HUnit")) + (hsPkgs."utf8-string" or (errorHandler.buildDepError "utf8-string")) + ]; + buildable = true; + }; + }; + }; + } // { + src = (pkgs.lib).mkDefault (pkgs.fetchurl { + url = "http://hackage.haskell.org/package/utf8-string-1.0.2.tar.gz"; + sha256 = "ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a"; + }); + }) // { + package-description-override = "Name: utf8-string\nVersion: 1.0.2\nAuthor: Eric Mertens\nMaintainer: emertens@galois.com\nLicense: BSD3\nLicense-file: LICENSE\nHomepage: https://github.com/glguy/utf8-string/\nBug-Reports: https://github.com/glguy/utf8-string/issues\nSynopsis: Support for reading and writing UTF8 Strings\nDescription: A UTF8 layer for Strings. The utf8-string\n package provides operations for encoding UTF8\n strings to Word8 lists and back, and for reading and\n writing UTF8 without truncation.\nCategory: Codec\nBuild-type: Simple\ncabal-version: >= 1.10\nExtra-Source-Files: CHANGELOG.markdown\nTested-With: GHC==7.0.4, GHC==7.4.2, GHC==7.6.3, GHC==7.8.4, GHC==7.10.3, GHC==8.0.2, GHC==8.2.1\n\nsource-repository head\n type: git\n location: https://github.com/glguy/utf8-string\n\nlibrary\n Ghc-options: -W -O2\n\n build-depends: base >= 4.3 && < 5, bytestring >= 0.9\n\n Exposed-modules: Codec.Binary.UTF8.String\n Codec.Binary.UTF8.Generic\n Data.String.UTF8\n Data.ByteString.UTF8\n Data.ByteString.Lazy.UTF8\n\n default-language: Haskell2010\n\ntest-suite unit-tests\n type: exitcode-stdio-1.0\n hs-source-dirs: tests\n main-is: Tests.hs\n build-depends: base, HUnit >= 1.3 && < 1.7, utf8-string\n default-language: Haskell2010\n"; + } \ No newline at end of file diff --git a/materialized/ghc928/hadrian-ghc99/hadrian/default.nix b/materialized/ghc928/hadrian-ghc99/hadrian/default.nix new file mode 100644 index 0000000000..2d53fa9e1a --- /dev/null +++ b/materialized/ghc928/hadrian-ghc99/hadrian/default.nix @@ -0,0 +1,159 @@ +{ + pkgs = hackage: + { + packages = { + bytestring.revision = (((hackage.bytestring)."0.11.4.0").revisions).default; + directory.revision = (((hackage.directory)."1.3.6.2").revisions).default; + filepath.revision = (((hackage.filepath)."1.4.2.2").revisions).default; + mtl.revision = (((hackage.mtl)."2.2.2").revisions).default; + ghc-bignum.revision = (((hackage.ghc-bignum)."1.2").revisions).default; + ghc-prim.revision = (((hackage.ghc-prim)."0.8.0").revisions).default; + base16-bytestring.revision = import ./cabal-files/base16-bytestring.nix; + parsec.revision = (((hackage.parsec)."3.1.15.0").revisions).default; + js-flot.revision = import ./cabal-files/js-flot.nix; + utf8-string.revision = import ./cabal-files/utf8-string.nix; + Cabal.revision = (((hackage.Cabal)."3.6.3.0").revisions).default; + splitmix.revision = import ./cabal-files/splitmix.nix; + splitmix.flags.optimised-mixer = false; + containers.revision = (((hackage.containers)."0.6.5.1").revisions).default; + clock.revision = import ./cabal-files/clock.nix; + clock.flags.llvm = false; + heaps.revision = import ./cabal-files/heaps.nix; + base.revision = (((hackage.base)."4.16.4.0").revisions).default; + time.revision = (((hackage.time)."1.11.1.1").revisions).default; + random.revision = import ./cabal-files/random.nix; + primitive.revision = import ./cabal-files/primitive.nix; + deepseq.revision = (((hackage.deepseq)."1.4.6.1").revisions).default; + js-jquery.revision = import ./cabal-files/js-jquery.nix; + js-dgtable.revision = import ./cabal-files/js-dgtable.nix; + rts.revision = (((hackage.rts)."1.0.2").revisions).default; + template-haskell.revision = (((hackage.template-haskell)."2.18.0.0").revisions).default; + binary.revision = (((hackage.binary)."0.8.9.0").revisions).default; + shake.revision = import ./cabal-files/shake.nix; + shake.flags.portable = false; + shake.flags.cloud = false; + shake.flags.embed-files = false; + process.revision = (((hackage.process)."1.6.16.0").revisions).default; + unix.revision = (((hackage.unix)."2.7.2.2").revisions).default; + data-array-byte.revision = import ./cabal-files/data-array-byte.nix; + transformers.revision = (((hackage.transformers)."0.5.6.2").revisions).default; + unordered-containers.revision = import ./cabal-files/unordered-containers.nix; + unordered-containers.flags.debug = false; + QuickCheck.revision = import ./cabal-files/QuickCheck.nix; + QuickCheck.flags.old-random = false; + QuickCheck.flags.templatehaskell = true; + extra.revision = import ./cabal-files/extra.nix; + text.revision = (((hackage.text)."1.2.5.0").revisions).default; + array.revision = (((hackage.array)."0.5.4.0").revisions).default; + ghc-boot-th.revision = (((hackage.ghc-boot-th)."9.2.8").revisions).default; + filepattern.revision = import ./cabal-files/filepattern.nix; + pretty.revision = (((hackage.pretty)."1.1.3.6").revisions).default; + hashable.revision = import ./cabal-files/hashable.nix; + hashable.flags.random-initial-seed = false; + hashable.flags.integer-gmp = true; + cryptohash-sha256.revision = import ./cabal-files/cryptohash-sha256.nix; + cryptohash-sha256.flags.exe = false; + cryptohash-sha256.flags.use-cbits = true; + }; + compiler = { + version = "9.2.8"; + nix-name = "ghc928"; + packages = { + "pretty" = "1.1.3.6"; + "text" = "1.2.5.0"; + "array" = "0.5.4.0"; + "Cabal" = "3.6.3.0"; + "mtl" = "2.2.2"; + "parsec" = "3.1.15.0"; + "bytestring" = "0.11.4.0"; + "filepath" = "1.4.2.2"; + "ghc-prim" = "0.8.0"; + "ghc-boot-th" = "9.2.8"; + "base" = "4.16.4.0"; + "time" = "1.11.1.1"; + "process" = "1.6.16.0"; + "ghc-bignum" = "1.2"; + "directory" = "1.3.6.2"; + "rts" = "1.0.2"; + "transformers" = "0.5.6.2"; + "template-haskell" = "2.18.0.0"; + "deepseq" = "1.4.6.1"; + "unix" = "2.7.2.2"; + "binary" = "0.8.9.0"; + "containers" = "0.6.5.1"; + }; + }; + }; + extras = hackage: + { + packages = { + hadrian = ./.plan.nix/hadrian.nix; + ghc-platform = ./.plan.nix/ghc-platform.nix; + ghc-toolchain = ./.plan.nix/ghc-toolchain.nix; + }; + }; + modules = [ + ({ lib, ... }: + { + packages = { + "hadrian" = { + flags = { + "threaded" = lib.mkOverride 900 true; + "selftest" = lib.mkOverride 900 true; + }; + }; + "ghc-platform" = { flags = {}; }; + "ghc-toolchain" = { flags = {}; }; + }; + }) + ({ lib, ... }: + { + packages = { + "shake".components.library.planned = lib.mkOverride 900 true; + "base16-bytestring".components.library.planned = lib.mkOverride 900 true; + "heaps".components.library.planned = lib.mkOverride 900 true; + "extra".components.library.planned = lib.mkOverride 900 true; + "filepath".components.library.planned = lib.mkOverride 900 true; + "pretty".components.library.planned = lib.mkOverride 900 true; + "utf8-string".components.library.planned = lib.mkOverride 900 true; + "Cabal".components.library.planned = lib.mkOverride 900 true; + "bytestring".components.library.planned = lib.mkOverride 900 true; + "cryptohash-sha256".components.library.planned = lib.mkOverride 900 true; + "ghc-platform".components.library.planned = lib.mkOverride 900 true; + "ghc-prim".components.library.planned = lib.mkOverride 900 true; + "array".components.library.planned = lib.mkOverride 900 true; + "binary".components.library.planned = lib.mkOverride 900 true; + "filepattern".components.library.planned = lib.mkOverride 900 true; + "ghc-boot-th".components.library.planned = lib.mkOverride 900 true; + "ghc-toolchain".components.library.planned = lib.mkOverride 900 true; + "splitmix".components.library.planned = lib.mkOverride 900 true; + "rts".components.library.planned = lib.mkOverride 900 true; + "unix".components.library.planned = lib.mkOverride 900 true; + "shake".components.exes."shake".planned = lib.mkOverride 900 true; + "directory".components.library.planned = lib.mkOverride 900 true; + "time".components.library.planned = lib.mkOverride 900 true; + "js-flot".components.library.planned = lib.mkOverride 900 true; + "ghc-bignum".components.library.planned = lib.mkOverride 900 true; + "data-array-byte".components.library.planned = lib.mkOverride 900 true; + "process".components.library.planned = lib.mkOverride 900 true; + "clock".components.library.planned = lib.mkOverride 900 true; + "template-haskell".components.library.planned = lib.mkOverride 900 true; + "hadrian".components.exes."hadrian".planned = lib.mkOverride 900 true; + "QuickCheck".components.library.planned = lib.mkOverride 900 true; + "mtl".components.library.planned = lib.mkOverride 900 true; + "transformers".components.library.planned = lib.mkOverride 900 true; + "parsec".components.library.planned = lib.mkOverride 900 true; + "deepseq".components.library.planned = lib.mkOverride 900 true; + "primitive".components.library.planned = lib.mkOverride 900 true; + "js-jquery".components.library.planned = lib.mkOverride 900 true; + "text".components.library.planned = lib.mkOverride 900 true; + "unordered-containers".components.library.planned = lib.mkOverride 900 true; + "random".components.library.planned = lib.mkOverride 900 true; + "base".components.library.planned = lib.mkOverride 900 true; + "containers".components.library.planned = lib.mkOverride 900 true; + "js-dgtable".components.library.planned = lib.mkOverride 900 true; + "hashable".components.library.planned = lib.mkOverride 900 true; + }; + }) + ]; + } \ No newline at end of file From ad43dde0bfceb0a5347eecc234d458ff6edb3d17 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Thu, 10 Aug 2023 00:22:30 +1200 Subject: [PATCH 008/117] ifdLevel 0 --- ci.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci.nix b/ci.nix index 5e5ffb1df5..d9c6d475e0 100644 --- a/ci.nix +++ b/ci.nix @@ -1,6 +1,6 @@ # 'supportedSystems' restricts the set of systems that we will evaluate for. Useful when you're evaluating # on a machine with e.g. no way to build the Darwin IFDs you need! -{ ifdLevel ? 3 +{ ifdLevel ? 0 # Whether or not we are evaluating in restricted mode. This is true in Hydra, but not in Hercules. , restrictEval ? false , checkMaterialization ? false From 445a433cb9605cbce15bb2b2657a29e36fe6f260 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Thu, 10 Aug 2023 01:23:19 +1200 Subject: [PATCH 009/117] Use full compiler-nix-name in ci --- ci.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ci.nix b/ci.nix index d9c6d475e0..0d88dafe09 100644 --- a/ci.nix +++ b/ci.nix @@ -66,8 +66,8 @@ ghc928 = true; ghc945 = true; ghc962 = true; - ghc980 = true; - ghc99 = true; + "ghc980${__substring 0 8 sources.ghc980.lastModifiedDate}" = true; + "ghc99${__substring 0 8 sources.ghc99.lastModifiedDate}" = true; })); crossSystems = nixpkgsName: nixpkgs: compiler-nix-name: # We need to use the actual nixpkgs version we're working with here, since the values From 28647aa20c61bf82a7e8816fbc49540ec9232779 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Thu, 10 Aug 2023 01:49:29 +1200 Subject: [PATCH 010/117] Fix for new ghc with old nixpkgs --- compiler/ghc/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compiler/ghc/default.nix b/compiler/ghc/default.nix index 4e7e2742b6..9407d6d2d7 100644 --- a/compiler/ghc/default.nix +++ b/compiler/ghc/default.nix @@ -241,7 +241,7 @@ let installStage1 = useHadrian && (haskell-nix.haskellLib.isCrossTarget || stdenv.targetPlatform.isMusl); hadrian = buildPackages.haskell-nix.tool "ghc928" "hadrian" { - compilerSelection = p: p.haskell.compiler; + compilerSelection = p: p.haskell-nix.compiler // p.haskell.compiler; index-state = buildPackages.haskell-nix.internalHackageIndexState; # Verions of hadrian that comes with 9.6 depends on `time` materialized = From 82668d2965a80771fb6ead50d737497a31808b65 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Thu, 10 Aug 2023 13:03:18 +1200 Subject: [PATCH 011/117] Avoid ghc chain --- compiler/ghc/default.nix | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/compiler/ghc/default.nix b/compiler/ghc/default.nix index 9407d6d2d7..d40b96276c 100644 --- a/compiler/ghc/default.nix +++ b/compiler/ghc/default.nix @@ -240,20 +240,25 @@ let # value for us. installStage1 = useHadrian && (haskell-nix.haskellLib.isCrossTarget || stdenv.targetPlatform.isMusl); - hadrian = buildPackages.haskell-nix.tool "ghc928" "hadrian" { - compilerSelection = p: p.haskell-nix.compiler // p.haskell.compiler; + hadrian = + let + compiler-nix-name = if buildPackages.haskell-nix.compilers ? "ghc928" + then "ghc928" + else "ghc8107"; + in buildPackages.haskell-nix.tool compiler-nix-name "hadrian" { + compilerSelection = p: p.haskell.compiler; index-state = buildPackages.haskell-nix.internalHackageIndexState; # Verions of hadrian that comes with 9.6 depends on `time` materialized = if builtins.compareVersions ghc-version "9.4" < 0 - then ../../materialized/ghc928/hadrian-ghc92 + then ../../materialized/${compiler-nix-name}/hadrian-ghc92 else if builtins.compareVersions ghc-version "9.6" < 0 - then ../../materialized/ghc928/hadrian-ghc94 + then ../../materialized/${compiler-nix-name}/hadrian-ghc94 else if builtins.compareVersions ghc-version "9.8" < 0 - then ../../materialized/ghc928/hadrian-ghc96 + then ../../materialized/${compiler-nix-name}/hadrian-ghc96 else if builtins.compareVersions ghc-version "9.9" < 0 - then ../../materialized/ghc928/hadrian-ghc98 - else ../../materialized/ghc928/hadrian-ghc99; + then ../../materialized/${compiler-nix-name}/hadrian-ghc98 + else ../../materialized/${compiler-nix-name}/hadrian-ghc99; checkMaterialization = true; modules = [{ # Apply the patches in a way that does not require using something From e8e4d34ff819a21f43185bd11ad88691814c3aa7 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Thu, 10 Aug 2023 13:06:47 +1200 Subject: [PATCH 012/117] Avoid ghc chain --- compiler/ghc/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compiler/ghc/default.nix b/compiler/ghc/default.nix index d40b96276c..64abe3774b 100644 --- a/compiler/ghc/default.nix +++ b/compiler/ghc/default.nix @@ -242,7 +242,7 @@ let hadrian = let - compiler-nix-name = if buildPackages.haskell-nix.compilers ? "ghc928" + compiler-nix-name = if buildPackages.haskell-nix.compiler ? "ghc928" then "ghc928" else "ghc8107"; in buildPackages.haskell-nix.tool compiler-nix-name "hadrian" { From 5987057bc9bc7de082622658b32177221320ec39 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Thu, 10 Aug 2023 13:08:37 +1200 Subject: [PATCH 013/117] Avoid ghc chain --- compiler/ghc/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compiler/ghc/default.nix b/compiler/ghc/default.nix index 64abe3774b..9e4d933589 100644 --- a/compiler/ghc/default.nix +++ b/compiler/ghc/default.nix @@ -242,7 +242,7 @@ let hadrian = let - compiler-nix-name = if buildPackages.haskell-nix.compiler ? "ghc928" + compiler-nix-name = if buildPackages.haskell.compiler ? "ghc928" then "ghc928" else "ghc8107"; in buildPackages.haskell-nix.tool compiler-nix-name "hadrian" { From 3635b09514f7fbb880013d554fc2afec3e5fb8df Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Thu, 10 Aug 2023 14:05:25 +1200 Subject: [PATCH 014/117] Turn of materialization check --- compiler/ghc/default.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/compiler/ghc/default.nix b/compiler/ghc/default.nix index 9e4d933589..90a72f1247 100644 --- a/compiler/ghc/default.nix +++ b/compiler/ghc/default.nix @@ -259,7 +259,6 @@ let else if builtins.compareVersions ghc-version "9.9" < 0 then ../../materialized/${compiler-nix-name}/hadrian-ghc98 else ../../materialized/${compiler-nix-name}/hadrian-ghc99; - checkMaterialization = true; modules = [{ # Apply the patches in a way that does not require using something # like `srcOnly`. The problem with `pkgs.srcOnly` was that it had to run From 94d733f198b4594e575cb5af26d808cff096a96b Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Thu, 10 Aug 2023 14:07:22 +1200 Subject: [PATCH 015/117] ifdLevel 1 --- ci.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci.nix b/ci.nix index 0d88dafe09..63392ef672 100644 --- a/ci.nix +++ b/ci.nix @@ -1,6 +1,6 @@ # 'supportedSystems' restricts the set of systems that we will evaluate for. Useful when you're evaluating # on a machine with e.g. no way to build the Darwin IFDs you need! -{ ifdLevel ? 0 +{ ifdLevel ? 1 # Whether or not we are evaluating in restricted mode. This is true in Hydra, but not in Hercules. , restrictEval ? false , checkMaterialization ? false From a61741f3fa332d073a62a8ddbb35eab17cfe03cc Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Thu, 10 Aug 2023 16:02:28 +1200 Subject: [PATCH 016/117] Fix iserv-proxy for ghc 9.8 --- flake.lock | 8 ++++---- overlays/haskell.nix | 25 ++++++++++++++++--------- 2 files changed, 20 insertions(+), 13 deletions(-) diff --git a/flake.lock b/flake.lock index dbbe0672ce..80f4f2ed2c 100644 --- a/flake.lock +++ b/flake.lock @@ -261,11 +261,11 @@ "iserv-proxy": { "flake": false, "locked": { - "lastModified": 1688517130, - "narHash": "sha256-hUqfxSlo+ffqVdkSZ1EDoB7/ILCL25eYkcCXW9/P3Wc=", + "lastModified": 1691634696, + "narHash": "sha256-MZH2NznKC/gbgBu8NgIibtSUZeJ00HTLJ0PlWKCBHb0=", "ref": "hkm/remote-iserv", - "rev": "9151db2a9a61d7f5fe52ff8836f18bbd0fd8933c", - "revCount": 13, + "rev": "43a979272d9addc29fbffc2e8542c5d96e993d73", + "revCount": 14, "type": "git", "url": "https://gitlab.haskell.org/hamishmack/iserv-proxy.git" }, diff --git a/overlays/haskell.nix b/overlays/haskell.nix index 6ae2c70fdc..55dcae6120 100644 --- a/overlays/haskell.nix +++ b/overlays/haskell.nix @@ -1053,14 +1053,6 @@ final: prev: { sha256 = iservProxyPin.narHash; }; index-state = final.haskell-nix.internalHackageIndexState; - materialized =../materialized/iserv-proxy + "/${ - if pkgs.stdenv.hostPlatform.isWindows - then "windows" - else if pkgs.stdenv.hostPlatform.isGhcjs - then "ghcjs" - else if pkgs.haskell-nix.haskellLib.isCrossHost - then "cross" - else "default"}/${compiler-nix-name}"; modules = [{ config = { reinstallableLibGhc = false; @@ -1073,7 +1065,22 @@ final: prev: { apply = x: x ++ [ "ghci" "exceptions" "stm" "libiserv" ]; }; }]; - })).hsPkgs.iserv-proxy.components.exes; + } // (if (__compareVersions final.haskell-nix.compiler.${compiler-nix-name}.version "9.8" < 0) + then { + materialized =../materialized/iserv-proxy + "/${ + if pkgs.stdenv.hostPlatform.isWindows + then "windows" + else if pkgs.stdenv.hostPlatform.isGhcjs + then "ghcjs" + else if pkgs.haskell-nix.haskellLib.isCrossHost + then "cross" + else "default"}/${compiler-nix-name}"; + } + else { + cabalProjectLocal = '' + allow-newer: *:base + ''; + }))).hsPkgs.iserv-proxy.components.exes; in { # We need the proxy for the build system and the interpreter for the target inherit (exes final.pkgsBuildBuild) iserv-proxy; From 5672394d2bba9b42a1f9cbd0394326e04b0e339a Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Thu, 10 Aug 2023 16:38:39 +1200 Subject: [PATCH 017/117] More materialization fixes --- overlays/ghc-packages.nix | 23 ++++++++++++++--------- overlays/haskell.nix | 2 +- 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/overlays/ghc-packages.nix b/overlays/ghc-packages.nix index 52102f7002..5361791cce 100644 --- a/overlays/ghc-packages.nix +++ b/overlays/ghc-packages.nix @@ -41,13 +41,16 @@ let # into a single derivation and materialize it. combineAndMaterialize = unchecked: materialized-dir: ghcName: bootPackages: (final.haskell-nix.materialize ({ - materialized = materialized-dir + "/ghc-boot-packages-nix/${ghcName + - # The 3434.patch we apply to fix linking on arm systems changes ghc-prim.cabal - # so it needs its own materialization. - final.lib.optionalString final.stdenv.targetPlatform.isAarch64 "-aarch64" - # GHCJS bytestring and libiserv versions differs - + final.lib.optionalString final.stdenv.hostPlatform.isGhcjs "-ghcjs" - }"; + materialized = + if __compareVersions final.buildPackages.haskell-nix.compiler.${ghcName}.version "9.8" < 0 + then materialized-dir + "/ghc-boot-packages-nix/${ghcName + + # The 3434.patch we apply to fix linking on arm systems changes ghc-prim.cabal + # so it needs its own materialization. + final.lib.optionalString final.stdenv.targetPlatform.isAarch64 "-aarch64" + # GHCJS bytestring and libiserv versions differs + + final.lib.optionalString final.stdenv.hostPlatform.isGhcjs "-ghcjs" + }" + else null; } // final.lib.optionalAttrs unchecked { checkMaterialization = false; }) (combineFiles "${ghcName}-boot-packages-nix" ".nix" (builtins.mapAttrs @@ -246,8 +249,10 @@ in rec { cabalProjectFreeze = null; index-state = final.haskell-nix.internalHackageIndexState; # Where to look for materialization files - materialized = ../materialized/ghc-extra-projects - + "/${ghc-extra-projects-type proj.ghc}/${ghcName}"; + materialized = + if __compareVersions final.buildPackages.haskell-nix.compiler.${ghcName}.version "9.8" < 0 + then ../materialized/ghc-extra-projects + "/${ghc-extra-projects-type proj.ghc}/${ghcName}" + else null; compiler-nix-name = ghcName; configureArgs = "--disable-tests --disable-benchmarks --allow-newer='terminfo:base'"; # avoid failures satisfying bytestring package tests dependencies modules = [{ diff --git a/overlays/haskell.nix b/overlays/haskell.nix index 55dcae6120..a7daba8ee6 100644 --- a/overlays/haskell.nix +++ b/overlays/haskell.nix @@ -1065,7 +1065,7 @@ final: prev: { apply = x: x ++ [ "ghci" "exceptions" "stm" "libiserv" ]; }; }]; - } // (if (__compareVersions final.haskell-nix.compiler.${compiler-nix-name}.version "9.8" < 0) + } // (if __compareVersions final.buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.8" < 0 then { materialized =../materialized/iserv-proxy + "/${ if pkgs.stdenv.hostPlatform.isWindows From 432bdaabb35f157824bbc6315f3096270b59b895 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Thu, 10 Aug 2023 16:59:31 +1200 Subject: [PATCH 018/117] Add ghc-platform to ghc-packages.nix --- overlays/ghc-packages.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/overlays/ghc-packages.nix b/overlays/ghc-packages.nix index 5361791cce..3197f61503 100644 --- a/overlays/ghc-packages.nix +++ b/overlays/ghc-packages.nix @@ -103,6 +103,8 @@ let } // final.lib.optionalAttrs (builtins.compareVersions ghcVersion "9.2.1" >= 0) { deepseq = "libraries/deepseq"; pretty = "libraries/pretty"; + } // final.lib.optionalAttrs (builtins.compareVersions ghcVersion "9.8" >= 0) { + ghc-platform = "libraries/ghc-platform"; }; # The nix produced by `cabalProject` differs slightly depending on From 7c4cd5cf00d24b7c40866b1255ce3d93d0b99b5a Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Thu, 10 Aug 2023 17:25:49 +1200 Subject: [PATCH 019/117] Only ghc 9.9 has ghc-platform --- overlays/ghc-packages.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/overlays/ghc-packages.nix b/overlays/ghc-packages.nix index 3197f61503..3bf4813c0f 100644 --- a/overlays/ghc-packages.nix +++ b/overlays/ghc-packages.nix @@ -103,7 +103,7 @@ let } // final.lib.optionalAttrs (builtins.compareVersions ghcVersion "9.2.1" >= 0) { deepseq = "libraries/deepseq"; pretty = "libraries/pretty"; - } // final.lib.optionalAttrs (builtins.compareVersions ghcVersion "9.8" >= 0) { + } // final.lib.optionalAttrs (builtins.compareVersions ghcVersion "9.9" >= 0) { ghc-platform = "libraries/ghc-platform"; }; From a6a4976f16d2b9412e758bb3532350b76b3e8631 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Thu, 10 Aug 2023 20:13:54 +1200 Subject: [PATCH 020/117] Remove broken postConfigure code --- compiler/ghc/default.nix | 5 ----- 1 file changed, 5 deletions(-) diff --git a/compiler/ghc/default.nix b/compiler/ghc/default.nix index 90a72f1247..958126645d 100644 --- a/compiler/ghc/default.nix +++ b/compiler/ghc/default.nix @@ -651,11 +651,6 @@ stdenv.mkDerivation (rec { for a in libraries/*/*.cabal.in utils/*/*.cabal.in compiler/ghc.cabal.in; do ${hadrian}/bin/hadrian ${hadrianArgs} "''${a%.*}" done - '' + lib.optionalString (builtins.compareVersions ghc-version "9.8.1" >= 0) '' - for a in bytearray-access-ops.txt.pp addr-access-ops.txt.pp primops.txt; do - ${hadrian}/bin/hadrian ${hadrianArgs} _build/stage0/compiler/build/$a - cp _build/stage0/compiler/build/$a compiler/GHC/Builtin/$a - done '' + lib.optionalString stdenv.isDarwin '' substituteInPlace mk/system-cxx-std-lib-1.0.conf \ --replace 'dynamic-library-dirs:' 'dynamic-library-dirs: ${libcxx}/lib ${libcxxabi}/lib' From 66eb5988599ad5941b39be69da9d6c6ff7b50a66 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Thu, 10 Aug 2023 20:21:29 +1200 Subject: [PATCH 021/117] ifdLevel 2 --- ci.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci.nix b/ci.nix index 63392ef672..aefb45a560 100644 --- a/ci.nix +++ b/ci.nix @@ -1,6 +1,6 @@ # 'supportedSystems' restricts the set of systems that we will evaluate for. Useful when you're evaluating # on a machine with e.g. no way to build the Darwin IFDs you need! -{ ifdLevel ? 1 +{ ifdLevel ? 2 # Whether or not we are evaluating in restricted mode. This is true in Hydra, but not in Hercules. , restrictEval ? false , checkMaterialization ? false From d027b6a62270dc639795f05ce953fdf6f33f757e Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Fri, 11 Aug 2023 02:52:28 +1200 Subject: [PATCH 022/117] Fix cabal-install --- ci.nix | 1 + modules/hackage-quirks.nix | 4 ++-- overlays/bootstrap.nix | 9 ++++++--- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/ci.nix b/ci.nix index aefb45a560..d6ef2722cb 100644 --- a/ci.nix +++ b/ci.nix @@ -66,6 +66,7 @@ ghc928 = true; ghc945 = true; ghc962 = true; + ghc9820230704 = true; "ghc980${__substring 0 8 sources.ghc980.lastModifiedDate}" = true; "ghc99${__substring 0 8 sources.ghc99.lastModifiedDate}" = true; })); diff --git a/modules/hackage-quirks.nix b/modules/hackage-quirks.nix index c57e9475ee..0fe087a182 100644 --- a/modules/hackage-quirks.nix +++ b/modules/hackage-quirks.nix @@ -30,8 +30,8 @@ in [ # See https://github.com/haskell/cabal/issues/8370 + lib.optionalString (builtins.compareVersions config.version "3.7" < 0) '' constraints: Cabal-syntax <0 - '' + lib.optionalString (__elem config.compiler-nix-name ["ghc961" "ghc962" "ghc96020230302"] && __elem config.version ["3.8.1.0" "3.10.1.0"]) '' - allow-newer: *:base, *:template-haskell + '' + lib.optionalString (__compareVersions pkgs.buildPackages.haskell-nix.compiler.${config.compiler-nix-name}.version "9.6.1" >= 0 && __elem config.version ["3.8.1.0" "3.10.1.0"]) '' + allow-newer: *:base, *:template-haskell, *:deepseq ''); modules = [ # Version of of cabal-install in hackage is broken for GHC 8.10.1 diff --git a/overlays/bootstrap.nix b/overlays/bootstrap.nix index 7fc0548a9c..9d49e18271 100644 --- a/overlays/bootstrap.nix +++ b/overlays/bootstrap.nix @@ -188,7 +188,7 @@ in { ++ fromUntil "9.2.2" "9.3" ./patches/ghc/ghc-9.2.2-fix-warnings-building-with-self.patch # https://gitlab.haskell.org/ghc/ghc/-/commit/c41c478eb9003eaa9fc8081a0039652448124f5d ++ fromUntil "8.6.5" "9.5" ./patches/ghc/ghc-hpc-response-files.patch # https://gitlab.haskell.org/ghc/ghc/-/merge_requests/8194 ++ final.lib.optionals (final.stdenv.targetPlatform.isWindows) (fromUntil "9.4.1" "9.4.5" ./patches/ghc/ghc-9.4-hadrian-win-cross.patch) - ++ final.lib.optionals (final.stdenv.targetPlatform.isWindows) (fromUntil "9.8.1" "9.10" ./patches/ghc/ghc-9.8-hadrian-win-cross.patch) + ++ final.lib.optionals (final.stdenv.targetPlatform.isWindows) (fromUntil "9.8.0" "9.10" ./patches/ghc/ghc-9.8-hadrian-win-cross.patch) ++ fromUntil "9.4.5" "9.4.6" ./patches/ghc/ghc-9.4.5-include-order-fix.patch ++ fromUntil "9.6.2" "9.8" ./patches/ghc/ghc-9.4.5-include-order-fix.patch ++ fromUntil "9.6.1" "9.10" ./patches/ghc/MR10116.patch @@ -197,7 +197,7 @@ in { ++ final.lib.optionals (final.stdenv.targetPlatform.isGhcjs) (fromUntil "9.6.1" "9.8" ./patches/ghc/ghc-9.6-Merge-libiserv-with-ghci.patch) ++ final.lib.optionals (final.stdenv.targetPlatform.isGhcjs) (fromUntil "9.6.1" "9.8" ./patches/ghc/ghc-9.6-Assorted-changes-to-avoid-head-tail.patch) ++ final.lib.optionals (final.stdenv.targetPlatform.isGhcjs) (fromUntil "9.6.1" "9.8" ./patches/ghc/ghc-9.6-JS-implement-TH-support.patch) - ++ final.lib.optionals (final.stdenv.targetPlatform.isGhcjs) (fromUntil "9.8.1" "9.10" ./patches/ghc/ghc-9.8-js-support-this-unit-id-10819.patch) # https://gitlab.haskell.org/ghc/ghc/-/merge_requests/10819 + ++ final.lib.optionals (final.stdenv.targetPlatform.isGhcjs) (fromUntil "9.8.0" "9.10" ./patches/ghc/ghc-9.8-js-support-this-unit-id-10819.patch) # https://gitlab.haskell.org/ghc/ghc/-/merge_requests/10819 # the following is a partial reversal of https://gitlab.haskell.org/ghc/ghc/-/merge_requests/4391, to address haskell.nix#1227 ++ final.lib.optional (versionAtLeast "8.10.6" && versionLessThan "9.0" && final.stdenv.targetPlatform.isAarch64) ./patches/ghc/mmap-next.patch @@ -1164,7 +1164,10 @@ in { evalPackages = pkgs.buildPackages; version = "3.10.1.0"; index-state = final.haskell-nix.internalHackageIndexState; - materialized = ../materialized + "/${compiler-nix-name}/cabal-install"; + materialized = + if __compareVersions final.buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.8.0" < 0 + then ../materialized + "/${compiler-nix-name}/cabal-install" + else null; } // args)); nix-tools-set = { compiler-nix-name, ... }@args: let From 0efc41f8350b351cd8a0e525670aa574ef236870 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Fri, 11 Aug 2023 03:16:00 +1200 Subject: [PATCH 023/117] ifdLevel 0 --- ci.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci.nix b/ci.nix index d6ef2722cb..b2a7aa0981 100644 --- a/ci.nix +++ b/ci.nix @@ -1,6 +1,6 @@ # 'supportedSystems' restricts the set of systems that we will evaluate for. Useful when you're evaluating # on a machine with e.g. no way to build the Darwin IFDs you need! -{ ifdLevel ? 2 +{ ifdLevel ? 0 # Whether or not we are evaluating in restricted mode. This is true in Hydra, but not in Hercules. , restrictEval ? false , checkMaterialization ? false From 1a932088b981cd2505f8cc814b5fac9398dd50ea Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Fri, 11 Aug 2023 03:27:04 +1200 Subject: [PATCH 024/117] ifdLevel 1 --- ci.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci.nix b/ci.nix index b2a7aa0981..f101329d16 100644 --- a/ci.nix +++ b/ci.nix @@ -1,6 +1,6 @@ # 'supportedSystems' restricts the set of systems that we will evaluate for. Useful when you're evaluating # on a machine with e.g. no way to build the Darwin IFDs you need! -{ ifdLevel ? 0 +{ ifdLevel ? 1 # Whether or not we are evaluating in restricted mode. This is true in Hydra, but not in Hercules. , restrictEval ? false , checkMaterialization ? false From 45d46938f1824877748fbcdb4631c547708fc789 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Fri, 11 Aug 2023 03:46:02 +1200 Subject: [PATCH 025/117] ifdLevel 2 --- ci.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci.nix b/ci.nix index f101329d16..d6ef2722cb 100644 --- a/ci.nix +++ b/ci.nix @@ -1,6 +1,6 @@ # 'supportedSystems' restricts the set of systems that we will evaluate for. Useful when you're evaluating # on a machine with e.g. no way to build the Darwin IFDs you need! -{ ifdLevel ? 1 +{ ifdLevel ? 2 # Whether or not we are evaluating in restricted mode. This is true in Hydra, but not in Hercules. , restrictEval ? false , checkMaterialization ? false From deffba375ba956eeada920bbc7eba4de19b993b7 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Fri, 11 Aug 2023 15:11:13 +1200 Subject: [PATCH 026/117] Test fixes --- test/cabal-simple-debug/default.nix | 10 +++------- test/cabal-simple-prof/default.nix | 10 +++------- test/cabal-simple/default.nix | 10 +++------- test/cabal-source-repo-comments/default.nix | 10 +++------- test/cabal-source-repo/default.nix | 10 +++------- test/cabal-sublib/default.nix | 10 +++------- test/call-cabal-project-to-nix/default.nix | 8 ++------ test/sublib-docs/default.nix | 10 +++------- test/with-packages/default.nix | 10 +++------- 9 files changed, 26 insertions(+), 62 deletions(-) diff --git a/test/cabal-simple-debug/default.nix b/test/cabal-simple-debug/default.nix index 68039ad397..980867aff3 100644 --- a/test/cabal-simple-debug/default.nix +++ b/test/cabal-simple-debug/default.nix @@ -1,5 +1,5 @@ # Test a package set -{ stdenv, lib, util, cabalProject', haskellLib, recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages, dwarfdump }: +{ stdenv, lib, util, cabalProject', haskellLib, recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages, dwarfdump, buildPackages }: with lib; @@ -7,12 +7,8 @@ let project = cabalProject' { inherit compiler-nix-name evalPackages; src = testSrc "cabal-simple-debug"; - cabalProjectLocal = lib.optionalString (__elem compiler-nix-name ["ghc9820230704"]) '' - source-repository-package - type: git - location: https://github.com/glguy/th-abstraction.git - tag: 24b9ea9b498b182e44abeb3a755e2b4e35c48788 - --sha256: sha256-nWWZVEek0fNVRI+P5oXkuJyrPJWts5tCphymFoYWIPg= + cabalProjectLocal = lib.optionalString (__compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.8.0" >= 0) '' + allow-newer: *:* ''; }; diff --git a/test/cabal-simple-prof/default.nix b/test/cabal-simple-prof/default.nix index f9cb95ebce..9e18969d1e 100644 --- a/test/cabal-simple-prof/default.nix +++ b/test/cabal-simple-prof/default.nix @@ -1,5 +1,5 @@ # Test a package set -{ stdenv, lib, util, cabalProject', haskellLib, recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages }: +{ stdenv, lib, util, cabalProject', haskellLib, recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages, buildPackages }: with lib; @@ -19,12 +19,8 @@ let inherit compiler-nix-name evalPackages; src = testSrc "cabal-simple-prof"; inherit modules; - cabalProjectLocal = lib.optionalString (__elem compiler-nix-name ["ghc9820230704"]) '' - source-repository-package - type: git - location: https://github.com/glguy/th-abstraction.git - tag: 24b9ea9b498b182e44abeb3a755e2b4e35c48788 - --sha256: sha256-nWWZVEek0fNVRI+P5oXkuJyrPJWts5tCphymFoYWIPg= + cabalProjectLocal = lib.optionalString (__compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.8.0" >= 0) '' + allow-newer: *:* ''; }; diff --git a/test/cabal-simple/default.nix b/test/cabal-simple/default.nix index 8565c52b9f..0d5445ceee 100644 --- a/test/cabal-simple/default.nix +++ b/test/cabal-simple/default.nix @@ -1,5 +1,5 @@ # Test a package set -{ stdenv, lib, util, mkCabalProjectPkgSet, project', haskellLib, recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages }: +{ stdenv, lib, util, mkCabalProjectPkgSet, project', haskellLib, recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages, buildPackages }: with lib; @@ -16,12 +16,8 @@ let inherit compiler-nix-name evalPackages; src = testSrc "cabal-simple"; inherit modules; - cabalProjectLocal = lib.optionalString (__elem compiler-nix-name ["ghc9820230704"]) '' - source-repository-package - type: git - location: https://github.com/glguy/th-abstraction.git - tag: 24b9ea9b498b182e44abeb3a755e2b4e35c48788 - --sha256: sha256-nWWZVEek0fNVRI+P5oXkuJyrPJWts5tCphymFoYWIPg= + cabalProjectLocal = lib.optionalString (__compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.8.0" >= 0) '' + allow-newer: *:* ''; }; diff --git a/test/cabal-source-repo-comments/default.nix b/test/cabal-source-repo-comments/default.nix index bf6f4ba120..d9e5d4d5de 100644 --- a/test/cabal-source-repo-comments/default.nix +++ b/test/cabal-source-repo-comments/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, cabalProject', recurseIntoAttrs, haskellLib, testSrc, compiler-nix-name, evalPackages }: +{ stdenv, lib, cabalProject', recurseIntoAttrs, haskellLib, testSrc, compiler-nix-name, evalPackages, buildPackages }: with lib; @@ -6,12 +6,8 @@ let project = cabalProject' { inherit compiler-nix-name evalPackages; src = testSrc "cabal-source-repo-comments"; - cabalProjectLocal = lib.optionalString (__elem compiler-nix-name ["ghc9820230704"]) '' - source-repository-package - type: git - location: https://github.com/glguy/th-abstraction.git - tag: 24b9ea9b498b182e44abeb3a755e2b4e35c48788 - --sha256: sha256-nWWZVEek0fNVRI+P5oXkuJyrPJWts5tCphymFoYWIPg= + cabalProjectLocal = lib.optionalString (__compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.8.0" >= 0) '' + allow-newer: *:* ''; }; packages = project.hsPkgs; diff --git a/test/cabal-source-repo/default.nix b/test/cabal-source-repo/default.nix index 818a94324e..4be39311d6 100644 --- a/test/cabal-source-repo/default.nix +++ b/test/cabal-source-repo/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, cabalProject', recurseIntoAttrs, haskellLib, testSrc, compiler-nix-name, evalPackages }: +{ stdenv, lib, cabalProject', recurseIntoAttrs, haskellLib, testSrc, compiler-nix-name, evalPackages, buildPackages }: with lib; @@ -6,12 +6,8 @@ let project = cabalProject' { inherit compiler-nix-name evalPackages; src = testSrc "cabal-source-repo"; - cabalProjectLocal = lib.optionalString (__elem compiler-nix-name ["ghc9820230704"]) '' - source-repository-package - type: git - location: https://github.com/glguy/th-abstraction.git - tag: 24b9ea9b498b182e44abeb3a755e2b4e35c48788 - --sha256: sha256-nWWZVEek0fNVRI+P5oXkuJyrPJWts5tCphymFoYWIPg= + cabalProjectLocal = lib.optionalString (__compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.8.0" >= 0) '' + allow-newer: *:* ''; }; packages = project.hsPkgs; diff --git a/test/cabal-sublib/default.nix b/test/cabal-sublib/default.nix index fdf847eade..02356462d5 100644 --- a/test/cabal-sublib/default.nix +++ b/test/cabal-sublib/default.nix @@ -1,5 +1,5 @@ # Test a package set -{ stdenv, lib, util, cabalProject', haskellLib, recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages }: +{ stdenv, lib, util, cabalProject', haskellLib, recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages, buildPackages }: with lib; @@ -17,12 +17,8 @@ let inherit compiler-nix-name evalPackages; src = testSrc "cabal-sublib"; inherit modules; - cabalProjectLocal = lib.optionalString (__elem compiler-nix-name ["ghc9820230704"]) '' - source-repository-package - type: git - location: https://github.com/glguy/th-abstraction.git - tag: 24b9ea9b498b182e44abeb3a755e2b4e35c48788 - --sha256: sha256-nWWZVEek0fNVRI+P5oXkuJyrPJWts5tCphymFoYWIPg= + cabalProjectLocal = lib.optionalString (__compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.8.0" >= 0) '' + allow-newer: *:* ''; }; diff --git a/test/call-cabal-project-to-nix/default.nix b/test/call-cabal-project-to-nix/default.nix index 1b577bd691..1a5108bb14 100644 --- a/test/call-cabal-project-to-nix/default.nix +++ b/test/call-cabal-project-to-nix/default.nix @@ -9,12 +9,8 @@ let inherit compiler-nix-name evalPackages; # reuse the cabal-simple test project src = testSrc "cabal-simple"; - cabalProjectLocal = lib.optionalString (__elem compiler-nix-name ["ghc9820230704"]) '' - source-repository-package - type: git - location: https://github.com/glguy/th-abstraction.git - tag: 24b9ea9b498b182e44abeb3a755e2b4e35c48788 - --sha256: sha256-nWWZVEek0fNVRI+P5oXkuJyrPJWts5tCphymFoYWIPg= + cabalProjectLocal = lib.optionalString (__compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.8.0" >= 0) '' + allow-newer: *:* ''; }; pkgSet = mkCabalProjectPkgSet { diff --git a/test/sublib-docs/default.nix b/test/sublib-docs/default.nix index b02e8caf70..bdbb7a9665 100644 --- a/test/sublib-docs/default.nix +++ b/test/sublib-docs/default.nix @@ -1,5 +1,5 @@ # Test a package set -{ stdenv, lib, util, cabalProject', haskellLib, recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages }: +{ stdenv, lib, util, cabalProject', haskellLib, recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages, buildPackages }: with lib; @@ -7,12 +7,8 @@ let project = cabalProject' { inherit compiler-nix-name evalPackages; src = testSrc "sublib-docs"; - cabalProjectLocal = lib.optionalString (__elem compiler-nix-name ["ghc9820230704"]) '' - source-repository-package - type: git - location: https://github.com/glguy/th-abstraction.git - tag: 24b9ea9b498b182e44abeb3a755e2b4e35c48788 - --sha256: sha256-nWWZVEek0fNVRI+P5oXkuJyrPJWts5tCphymFoYWIPg= + cabalProjectLocal = lib.optionalString (__compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.8.0" >= 0) '' + allow-newer: *:* ''; }; diff --git a/test/with-packages/default.nix b/test/with-packages/default.nix index bb72b3908e..02b64da574 100644 --- a/test/with-packages/default.nix +++ b/test/with-packages/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, util, cabalProject', recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages }: +{ stdenv, lib, util, cabalProject', recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages, buildPackages }: with lib; with util; @@ -7,12 +7,8 @@ let project = doExactConfig: cabalProject' { inherit compiler-nix-name evalPackages; src = testSrc "with-packages"; - cabalProjectLocal = lib.optionalString (__elem compiler-nix-name ["ghc9820230704"]) '' - source-repository-package - type: git - location: https://github.com/glguy/th-abstraction.git - tag: 24b9ea9b498b182e44abeb3a755e2b4e35c48788 - --sha256: sha256-nWWZVEek0fNVRI+P5oXkuJyrPJWts5tCphymFoYWIPg= + cabalProjectLocal = lib.optionalString (__compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.8.0" >= 0) '' + allow-newer: *:* ''; modules = [ # overrides to fix the build From 60fe53b91cfe6248615f006386696f9d2d3dfbe6 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Fri, 11 Aug 2023 15:47:30 +1200 Subject: [PATCH 027/117] More fixes --- test/exe-dlls/default.nix | 5 ++++- test/setup-deps/default.nix | 4 ++-- test/th-dlls/default.nix | 5 ++++- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/test/exe-dlls/default.nix b/test/exe-dlls/default.nix index 42cbe689e5..68907869db 100644 --- a/test/exe-dlls/default.nix +++ b/test/exe-dlls/default.nix @@ -1,5 +1,5 @@ # Test building TH code that needs DLLs when cross compiling for windows -{ stdenv, lib, util, project', haskellLib, recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages }: +{ stdenv, lib, util, project', haskellLib, recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages, buildPackages }: with lib; @@ -7,6 +7,9 @@ let project = project' { inherit compiler-nix-name evalPackages; src = testSrc "exe-dlls"; + cabalProjectLocal = lib.optionalString (__compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.8.0" >= 0) '' + allow-newer: *:* + ''; }; packages = project.hsPkgs; diff --git a/test/setup-deps/default.nix b/test/setup-deps/default.nix index d3a0b05507..bca5a292bc 100644 --- a/test/setup-deps/default.nix +++ b/test/setup-deps/default.nix @@ -7,8 +7,8 @@ let project = haskell-nix.cabalProject' { inherit compiler-nix-name evalPackages; src = evalPackages.haskell-nix.haskellLib.cleanGit { src = ../..; name = "setup-deps"; subDir = "test/setup-deps"; }; - cabalProjectLocal = lib.optionalString (__elem compiler-nix-name ["ghc96020230302" "ghc961"]) '' - allow-newer: *:base, *:ghc-prim, *:template-haskell + cabalProjectLocal = lib.optionalString (__compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.8.0" >= 0) '' + allow-newer: *:* ''; modules = [{ # Package has no exposed modules which causes diff --git a/test/th-dlls/default.nix b/test/th-dlls/default.nix index 9f972a9ca3..6dced0ac60 100644 --- a/test/th-dlls/default.nix +++ b/test/th-dlls/default.nix @@ -1,5 +1,5 @@ # Test building TH code that needs DLLs when cross compiling for windows -{ stdenv, lib, util, project', haskellLib, recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages }: +{ stdenv, lib, util, project', haskellLib, recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages, buildPackages }: with lib; @@ -7,6 +7,9 @@ let project = externalInterpreter: project' { inherit compiler-nix-name evalPackages; src = testSrc "th-dlls"; + cabalProjectLocal = lib.optionalString (__compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.8.0" >= 0) '' + allow-newer: *:* + ''; modules = [({pkgs, ...}: lib.optionalAttrs externalInterpreter { packages.th-dlls.components.library.ghcOptions = [ "-fexternal-interpreter" ]; # Static openssl seems to fail to load in iserv for musl From 6cc5f18fef06a5daddd6e2ed6da6722318cf5afd Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Fri, 11 Aug 2023 15:57:41 +1200 Subject: [PATCH 028/117] ifdLevel 3 --- ci.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci.nix b/ci.nix index d6ef2722cb..a194e7f49b 100644 --- a/ci.nix +++ b/ci.nix @@ -1,6 +1,6 @@ # 'supportedSystems' restricts the set of systems that we will evaluate for. Useful when you're evaluating # on a machine with e.g. no way to build the Darwin IFDs you need! -{ ifdLevel ? 2 +{ ifdLevel ? 3 # Whether or not we are evaluating in restricted mode. This is true in Hydra, but not in Hercules. , restrictEval ? false , checkMaterialization ? false From c3b7d5dc2673802d661f5b18e598b4a70d3ced11 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Fri, 11 Aug 2023 16:51:33 +1200 Subject: [PATCH 029/117] More fixes --- test/exe-lib-dlls/default.nix | 5 ++++- test/ghcjs-overlay/default.nix | 2 +- test/haskell-language-server/cabal.nix | 2 +- test/shell-for-setup-deps/default.nix | 6 +++--- 4 files changed, 9 insertions(+), 6 deletions(-) diff --git a/test/exe-lib-dlls/default.nix b/test/exe-lib-dlls/default.nix index b944f923e2..83cf1aebe2 100644 --- a/test/exe-lib-dlls/default.nix +++ b/test/exe-lib-dlls/default.nix @@ -1,5 +1,5 @@ # Test building TH code that needs DLLs when cross compiling for windows -{ stdenv, lib, util, project', haskellLib, recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages }: +{ stdenv, lib, util, project', haskellLib, recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages, buildPackages }: with lib; @@ -7,6 +7,9 @@ let project = project' { inherit compiler-nix-name evalPackages; src = testSrc "exe-lib-dlls"; + cabalProjectLocal = lib.optionalString (__compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.8.0" >= 0) '' + allow-newer: *:* + ''; }; packages = project.hsPkgs; diff --git a/test/ghcjs-overlay/default.nix b/test/ghcjs-overlay/default.nix index 12874264bc..e869c15b6d 100644 --- a/test/ghcjs-overlay/default.nix +++ b/test/ghcjs-overlay/default.nix @@ -26,7 +26,7 @@ let packages = project.hsPkgs; in recurseIntoAttrs { - meta.disabled = __elem compiler-nix-name ["ghc941" "ghc942" "ghc943" "ghc944" "ghc945" "ghc96020230302" "ghc961" "ghc962" "ghc9820230704"]; + meta.disabled = __compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.4.0" >= 0; ifdInputs = { inherit (project) plan-nix; }; diff --git a/test/haskell-language-server/cabal.nix b/test/haskell-language-server/cabal.nix index 25c70d156a..ba7bcd2f5e 100644 --- a/test/haskell-language-server/cabal.nix +++ b/test/haskell-language-server/cabal.nix @@ -13,5 +13,5 @@ in recurseIntoAttrs { build = project.getComponent "haskell-language-server:exe:haskell-language-server"; # hls does not need to be cross compiled. - meta.disabled = stdenv.hostPlatform != stdenv.buildPlatform || __elem compiler-nix-name ["ghc9820230704"]; + meta.disabled = stdenv.hostPlatform != stdenv.buildPlatform || __compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.8.0" >= 0; } diff --git a/test/shell-for-setup-deps/default.nix b/test/shell-for-setup-deps/default.nix index 7ea1d5a57d..473564f461 100644 --- a/test/shell-for-setup-deps/default.nix +++ b/test/shell-for-setup-deps/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, cabal-install, cabalProject', recurseIntoAttrs, runCommand, testSrc, compiler-nix-name, evalPackages }: +{ stdenv, lib, cabal-install, cabalProject', recurseIntoAttrs, runCommand, testSrc, compiler-nix-name, evalPackages, buildPackages }: with lib; @@ -6,8 +6,8 @@ let project = cabalProject' { inherit compiler-nix-name evalPackages; src = testSrc "shell-for-setup-deps"; - cabalProjectLocal = lib.optionalString (__elem compiler-nix-name ["ghc96020230302" "ghc961"]) '' - allow-newer: *:base, *:ghc-prim, *:template-haskell + cabalProjectLocal = lib.optionalString (__compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.8.0" >= 0) '' + allow-newer: *:* ''; modules = [{ # Package has no exposed modules which causes From 6d77aba43c1929a488ce4d280bf9fa3291bf4514 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Fri, 11 Aug 2023 17:20:01 +1200 Subject: [PATCH 030/117] Another fix --- test/cabal-22/default.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/test/cabal-22/default.nix b/test/cabal-22/default.nix index 353af4cbb6..9d4ccad634 100644 --- a/test/cabal-22/default.nix +++ b/test/cabal-22/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, mkCabalProjectPkgSet, cabalProject', haskellLib, util, recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages }: +{ stdenv, lib, mkCabalProjectPkgSet, cabalProject', haskellLib, util, recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages, buildPackages }: with lib; @@ -6,6 +6,9 @@ let project = cabalProject' { inherit compiler-nix-name evalPackages; src = testSrc "cabal-22"; + cabalProjectLocal = lib.optionalString (__compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.8.0" >= 0) '' + allow-newer: *:* + ''; }; packages = project.hsPkgs; From 3c07d3f660053793becfdcbc90ac14c9ceecf389 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Fri, 11 Aug 2023 17:52:25 +1200 Subject: [PATCH 031/117] Fix tests that depend on lens --- modules/configuration-nix.nix | 4 ++ patches/lens-5.2.2.patch | 93 ++++++++++++++++++++++++++ test/coverage/default.nix | 8 ++- test/ghcjs-overlay/default.nix | 2 +- test/haskell-language-server/cabal.nix | 2 +- test/with-packages/default.nix | 9 +-- 6 files changed, 107 insertions(+), 11 deletions(-) create mode 100644 patches/lens-5.2.2.patch diff --git a/modules/configuration-nix.nix b/modules/configuration-nix.nix index 04a0b85dc4..79cb37628f 100644 --- a/modules/configuration-nix.nix +++ b/modules/configuration-nix.nix @@ -182,4 +182,8 @@ in { # Using -j1 works around the issue. packages.gi-gtk.components.library.ghcOptions = pkgs.lib.optional (__elem config.compiler.nix-name ["ghc961" "ghc962"]) "-j1"; + + # https://github.com/ekmett/lens/issues/1043 + packages.lens.patches = pkgs.lib.optional (builtins.compareVersions pkgs.buildPackages.haskell-nix.compiler.${config.compiler.nix-name}.version "9.8.0" >= 0) + (fromUntil "5.2.2" "5.2.2.1" ../patches/lens-5.2.2.patch); } diff --git a/patches/lens-5.2.2.patch b/patches/lens-5.2.2.patch new file mode 100644 index 0000000000..ddbc65aa25 --- /dev/null +++ b/patches/lens-5.2.2.patch @@ -0,0 +1,93 @@ +diff --git a/src/Control/Lens/Internal/FieldTH.hs b/src/Control/Lens/Internal/FieldTH.hs +index 968c01e..7c7c88e 100644 +--- a/src/Control/Lens/Internal/FieldTH.hs ++++ b/src/Control/Lens/Internal/FieldTH.hs +@@ -369,7 +369,7 @@ makeClassyClass className methodName s defs = do + | otherwise = [FunDep [c] varNames] + + +- classD (cxt[]) className (D.plainTV c:vars) fd ++ classD (cxt[]) className (D.plainTV c : D.changeTVFlags D.defaultBndrFlag vars) fd + $ sigD methodName (return (lens'TypeName `conAppsT` [VarT c, s'])) + : concat + [ [sigD defName (return ty) +diff --git a/src/Control/Lens/Internal/PrismTH.hs b/src/Control/Lens/Internal/PrismTH.hs +index 37b5ec5..23e0b08 100644 +--- a/src/Control/Lens/Internal/PrismTH.hs ++++ b/src/Control/Lens/Internal/PrismTH.hs +@@ -415,7 +415,7 @@ makeClassyPrismClass t className methodName cons = + do r <- newName "r" + let methodType = appsT (conT prism'TypeName) [varT r,return t] + methodss <- traverse (mkMethod r) cons' +- classD (cxt[]) className (D.plainTV r : vs) (fds r) ++ classD (cxt[]) className (D.plainTV r : D.changeTVFlags D.defaultBndrFlag vs) (fds r) + ( sigD methodName methodType + : map return (concat methodss) + ) +diff --git a/src/Language/Haskell/TH/Lens.hs b/src/Language/Haskell/TH/Lens.hs +index 25282be..1567a77 100644 +--- a/src/Language/Haskell/TH/Lens.hs ++++ b/src/Language/Haskell/TH/Lens.hs +@@ -759,7 +759,7 @@ typeFamilyHeadName = lens g s where + g (TypeFamilyHead n _ _ _ ) = n + s (TypeFamilyHead _ tvbs rs ia) n = TypeFamilyHead n tvbs rs ia + +-typeFamilyHeadTyVarBndrs :: Lens' TypeFamilyHead [TyVarBndrUnit] ++typeFamilyHeadTyVarBndrs :: Lens' TypeFamilyHead [TyVarBndrVis] + typeFamilyHeadTyVarBndrs = lens g s where + g (TypeFamilyHead _ tvbs _ _ ) = tvbs + s (TypeFamilyHead n _ rs ia) tvbs = TypeFamilyHead n tvbs rs ia +@@ -886,7 +886,7 @@ _ValD + remitter (ValD x y z) = Just (x, y, z) + remitter _ = Nothing + +-_TySynD :: Prism' Dec (Name, [TyVarBndrUnit], Type) ++_TySynD :: Prism' Dec (Name, [TyVarBndrVis], Type) + _TySynD + = prism' reviewer remitter + where +@@ -894,7 +894,7 @@ _TySynD + remitter (TySynD x y z) = Just (x, y, z) + remitter _ = Nothing + +-_ClassD :: Prism' Dec (Cxt, Name, [TyVarBndrUnit], [FunDep], [Dec]) ++_ClassD :: Prism' Dec (Cxt, Name, [TyVarBndrVis], [FunDep], [Dec]) + _ClassD + = prism' reviewer remitter + where +@@ -1100,7 +1100,7 @@ _ClosedTypeFamilyD + -- _DataD :: 'Prism'' 'Dec' ('Cxt', 'Name', ['TyVarBndrUnit'], 'Maybe' 'Kind', ['Con'], ['DerivClause']) -- template-haskell-2.12+ + -- _DataD :: 'Prism'' 'Dec' ('Cxt', 'Name', ['Type'], 'Maybe' 'Kind', ['Con'], 'Cxt') -- Earlier versions + -- @ +-_DataD :: DataPrism' [TyVarBndrUnit] [Con] ++_DataD :: DataPrism' [TyVarBndrVis] [Con] + _DataD + = prism' reviewer remitter + where +@@ -1113,7 +1113,7 @@ _DataD + -- _NewtypeD :: 'Prism'' 'Dec' ('Cxt', 'Name', ['TyVarBndrUnit'], 'Maybe' 'Kind', 'Con', ['DerivClause']) -- template-haskell-2.12+ + -- _NewtypeD :: 'Prism'' 'Dec' ('Cxt', 'Name', ['Type'], 'Maybe' 'Kind', 'Con', 'Cxt') -- Earlier versions + -- @ +-_NewtypeD :: DataPrism' [TyVarBndrUnit] Con ++_NewtypeD :: DataPrism' [TyVarBndrVis] Con + _NewtypeD + = prism' reviewer remitter + where +@@ -1121,7 +1121,7 @@ _NewtypeD + remitter (NewtypeD x y z w u v) = Just (x, y, z, w, u, v) + remitter _ = Nothing + +-_DataFamilyD :: Prism' Dec (Name, [TyVarBndrUnit], Maybe Kind) ++_DataFamilyD :: Prism' Dec (Name, [TyVarBndrVis], Maybe Kind) + _DataFamilyD + = prism' reviewer remitter + where +@@ -1176,7 +1176,7 @@ _DefaultD + #endif + + #if MIN_VERSION_template_haskell(2,20,0) +-_TypeDataD :: Prism' Dec (Name, [TyVarBndr ()], Maybe Kind, [Con]) ++_TypeDataD :: Prism' Dec (Name, [TyVarBndrVis], Maybe Kind, [Con]) + _TypeDataD + = prism' reviewer remitter + where diff --git a/test/coverage/default.nix b/test/coverage/default.nix index 740e4a323d..e7c9ce4dbb 100644 --- a/test/coverage/default.nix +++ b/test/coverage/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, cabal-install, cabalProject', stackProject', recurseIntoAttrs, runCommand, testSrc, compiler-nix-name, evalPackages }: +{ stdenv, lib, cabal-install, cabalProject', stackProject', recurseIntoAttrs, runCommand, testSrc, compiler-nix-name, evalPackages, buildPackages }: with lib; @@ -6,6 +6,9 @@ let projectArgs = { inherit evalPackages; src = testSrc "coverage"; + cabalProjectLocal = lib.optionalString (__compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.8.0" >= 0) '' + allow-newer: *:* + ''; modules = [{ # Package has no exposed modules which causes # haddock: No input file(s) @@ -27,8 +30,7 @@ let in recurseIntoAttrs ({ # Does not work on ghcjs because it needs zlib. - meta.disabled = stdenv.hostPlatform.isGhcjs - || __elem compiler-nix-name ["ghc9820230704"]; # lens is currently broken + meta.disabled = stdenv.hostPlatform.isGhcjs; run = stdenv.mkDerivation { name = "coverage-test"; diff --git a/test/ghcjs-overlay/default.nix b/test/ghcjs-overlay/default.nix index e869c15b6d..257c20c9a1 100644 --- a/test/ghcjs-overlay/default.nix +++ b/test/ghcjs-overlay/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, cabalProject', haskellLib, recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages }: +{ stdenv, lib, cabalProject', haskellLib, recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages, buildPackages }: with lib; diff --git a/test/haskell-language-server/cabal.nix b/test/haskell-language-server/cabal.nix index ba7bcd2f5e..f17f945153 100644 --- a/test/haskell-language-server/cabal.nix +++ b/test/haskell-language-server/cabal.nix @@ -1,4 +1,4 @@ -{ stdenv, testSrc, haskell-nix, compiler-nix-name, evalPackages, recurseIntoAttrs }: +{ stdenv, testSrc, haskell-nix, compiler-nix-name, evalPackages, recurseIntoAttrs, buildPackages }: let project = haskell-nix.cabalProject' { inherit compiler-nix-name evalPackages; diff --git a/test/with-packages/default.nix b/test/with-packages/default.nix index 02b64da574..62e5bf9fdb 100644 --- a/test/with-packages/default.nix +++ b/test/with-packages/default.nix @@ -42,8 +42,7 @@ in recurseIntoAttrs { test-shell = (addCabalInstall library.shell).overrideAttrs (_: _: { meta = rec { platforms = lib.platforms.all; - broken = (stdenv.hostPlatform.isGhcjs && __elem compiler-nix-name ["ghc961" "ghc962" "ghc9820230704"]) - || __elem compiler-nix-name ["ghc9820230704"]; # lens is currently broken + broken = stdenv.hostPlatform.isGhcjs && __elem compiler-nix-name ["ghc961" "ghc962" "ghc9820230704"]; disabled = broken; }; }); @@ -52,8 +51,7 @@ in recurseIntoAttrs { test-shell-dec = (addCabalInstall decLibrary.shell).overrideAttrs (_: _: { meta = rec { platforms = lib.platforms.all; - broken = stdenv.hostPlatform.isGhcjs && __elem compiler-nix-name ["ghc961" "ghc962" "ghc9820230704"] - || __elem compiler-nix-name ["ghc9820230704"]; # lens is currently broken + broken = stdenv.hostPlatform.isGhcjs && __elem compiler-nix-name ["ghc961" "ghc962" "ghc9820230704"]; disabled = broken; }; }); @@ -110,8 +108,7 @@ in recurseIntoAttrs { meta = rec { platforms = lib.platforms.all; - broken = (stdenv.hostPlatform.isGhcjs && __elem compiler-nix-name ["ghc961" "ghc962" "ghc9820230704"]) || stdenv.hostPlatform.isMusl - || __elem compiler-nix-name ["ghc9820230704"]; # lens is currently broken + broken = (stdenv.hostPlatform.isGhcjs && __elem compiler-nix-name ["ghc961" "ghc962" "ghc9820230704"]) || stdenv.hostPlatform.isMusl; disabled = broken; }; From 0384da9dd0adb17550056b13fdaf410629cd9916 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Sat, 12 Aug 2023 02:39:11 +1200 Subject: [PATCH 032/117] Use https://ghc.gitlab.haskell.org/head.hackage/ --- modules/cabal-project.nix | 23 ++++++++++++- modules/configuration-nix.nix | 4 --- modules/hackage-quirks.nix | 37 --------------------- overlays/bootstrap.nix | 6 ++-- test/cabal-22/default.nix | 3 -- test/cabal-simple-debug/default.nix | 3 -- test/cabal-simple-prof/default.nix | 3 -- test/cabal-simple/default.nix | 5 +-- test/cabal-source-repo-comments/default.nix | 3 -- test/cabal-source-repo/default.nix | 3 -- test/cabal-sublib/default.nix | 3 -- test/call-cabal-project-to-nix/default.nix | 3 -- test/coverage/default.nix | 3 -- test/exe-dlls/default.nix | 3 -- test/exe-lib-dlls/default.nix | 3 -- test/setup-deps/default.nix | 3 -- test/shell-for-setup-deps/default.nix | 3 -- test/sublib-docs/default.nix | 3 -- test/th-dlls/default.nix | 3 -- test/with-packages/default.nix | 7 ++-- 20 files changed, 27 insertions(+), 97 deletions(-) diff --git a/modules/cabal-project.nix b/modules/cabal-project.nix index 3c789e553a..98a584b246 100644 --- a/modules/cabal-project.nix +++ b/modules/cabal-project.nix @@ -69,7 +69,28 @@ in { }; cabalProjectLocal = mkOption { type = nullOr lines; - default = readIfExists config.src "${config.cabalProjectFileName}.local"; + default = + let + fileContents = readIfExists config.src "${config.cabalProjectFileName}.local"; + in if __compareVersions pkgs.buildPackages.haskell-nix.compiler.${config.compiler-nix-name}.version "9.8.0" >= 0 + then '' + ${lib.optionalString (fileContents != null) fileContents} + + allow-newer: *:* + + repository head.hackage.ghc.haskell.org + url: https://ghc.gitlab.haskell.org/head.hackage/ + secure: True + key-threshold: 3 + root-keys: + f76d08be13e9a61a377a85e2fb63f4c5435d40f8feb3e12eb05905edb8cdea89 + 26021a13b401500c8eb2761ca95c61f2d625bfef951b939a8124ed12ecf07329 + 7541f32a4ccca4f97aea3b22f5e593ba2c0267546016b992dfadcd2fe944e55d + --sha256: sha256-WrhyfhCN6IiP5/yCyQibeHHfUDoAUioAH2ysMLoRqdg= + + active-repositories: hackage.haskell.org, head.hackage.ghc.haskell.org:override + '' + else fileContents; }; cabalProjectFreeze = mkOption { type = nullOr lines; diff --git a/modules/configuration-nix.nix b/modules/configuration-nix.nix index 79cb37628f..04a0b85dc4 100644 --- a/modules/configuration-nix.nix +++ b/modules/configuration-nix.nix @@ -182,8 +182,4 @@ in { # Using -j1 works around the issue. packages.gi-gtk.components.library.ghcOptions = pkgs.lib.optional (__elem config.compiler.nix-name ["ghc961" "ghc962"]) "-j1"; - - # https://github.com/ekmett/lens/issues/1043 - packages.lens.patches = pkgs.lib.optional (builtins.compareVersions pkgs.buildPackages.haskell-nix.compiler.${config.compiler.nix-name}.version "9.8.0" >= 0) - (fromUntil "5.2.2" "5.2.2.1" ../patches/lens-5.2.2.patch); } diff --git a/modules/hackage-quirks.nix b/modules/hackage-quirks.nix index 0fe087a182..e513bee8b6 100644 --- a/modules/hackage-quirks.nix +++ b/modules/hackage-quirks.nix @@ -6,43 +6,6 @@ let mapAttrsToList = f: attrs: map (name: f name attrs.${name}) (__attrNames attrs); in [ - ({config, lib, pkgs, ...}: - { _file = "haskell.nix/overlays/hackage-quirks.nix#cabal-install"; } // - lib.mkIf (config.name == "cabal-install") { - cabalProjectLocal = lib.mkForce ( - # FIXME: this is required to build cabal-install 3.2 with ghc 8.6, - # but also for - # https://github.com/input-output-hk/haskell.nix/issues/422 - lib.optionalString (builtins.compareVersions config.version "3.3" < 0) '' - allow-newer: cabal-install:base, *:base, *:template-haskell - '' - # Work around issue with the plan now choosen for older versions - # of `cabal-install` that causes this error: - # src/Distribution/Client/FetchUtils.hs:195:36: error: - # • Couldn't match type ‘Distribution.Types.PackageId.PackageIdentifier’ - # with ‘Cabal-syntax-3.8.1.0:Distribution.Types.PackageId.PackageIdentifier’ - # NB: ‘Cabal-syntax-3.8.1.0:Distribution.Types.PackageId.PackageIdentifier’ - # is defined in ‘Distribution.Types.PackageId’ - # in package ‘Cabal-syntax-3.8.1.0’ - # ‘Distribution.Types.PackageId.PackageIdentifier’ - # is defined in ‘Distribution.Types.PackageId’ - # in package ‘Cabal-3.6.3.0’ - # See https://github.com/haskell/cabal/issues/8370 - + lib.optionalString (builtins.compareVersions config.version "3.7" < 0) '' - constraints: Cabal-syntax <0 - '' + lib.optionalString (__compareVersions pkgs.buildPackages.haskell-nix.compiler.${config.compiler-nix-name}.version "9.6.1" >= 0 && __elem config.version ["3.8.1.0" "3.10.1.0"]) '' - allow-newer: *:base, *:template-haskell, *:deepseq - ''); - modules = [ - # Version of of cabal-install in hackage is broken for GHC 8.10.1 - (lib.optionalAttrs (config.version == "3.2.0.0" - && builtins.compareVersions pkgs.buildPackages.haskell-nix.compiler.${config.compiler-nix-name}.version "8.10.0.0" >= 0) { - packages.cabal-install.src = pkgs.buildPackages.haskell-nix.sources.cabal-32 + "/cabal-install"; - }) - ]; - } - ) - # Avoid pantry 0.9 in versions without https://github.com/commercialhaskell/stack/pull/6187 # Also avoid optparse-applicative 0.18 ({config, lib, pkgs, ...}: diff --git a/overlays/bootstrap.nix b/overlays/bootstrap.nix index 9d49e18271..40142a2e87 100644 --- a/overlays/bootstrap.nix +++ b/overlays/bootstrap.nix @@ -1163,11 +1163,9 @@ in { (final.haskell-nix.tool compiler-nix-name "cabal" ({pkgs, ...}: { evalPackages = pkgs.buildPackages; version = "3.10.1.0"; + } // final.lib.optionalAttrs (__compareVersions final.buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.8.0" < 0) { index-state = final.haskell-nix.internalHackageIndexState; - materialized = - if __compareVersions final.buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.8.0" < 0 - then ../materialized + "/${compiler-nix-name}/cabal-install" - else null; + materialized = ../materialized + "/${compiler-nix-name}/cabal-install"; } // args)); nix-tools-set = { compiler-nix-name, ... }@args: let diff --git a/test/cabal-22/default.nix b/test/cabal-22/default.nix index 9d4ccad634..b39ad0f442 100644 --- a/test/cabal-22/default.nix +++ b/test/cabal-22/default.nix @@ -6,9 +6,6 @@ let project = cabalProject' { inherit compiler-nix-name evalPackages; src = testSrc "cabal-22"; - cabalProjectLocal = lib.optionalString (__compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.8.0" >= 0) '' - allow-newer: *:* - ''; }; packages = project.hsPkgs; diff --git a/test/cabal-simple-debug/default.nix b/test/cabal-simple-debug/default.nix index 980867aff3..ad27e2a085 100644 --- a/test/cabal-simple-debug/default.nix +++ b/test/cabal-simple-debug/default.nix @@ -7,9 +7,6 @@ let project = cabalProject' { inherit compiler-nix-name evalPackages; src = testSrc "cabal-simple-debug"; - cabalProjectLocal = lib.optionalString (__compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.8.0" >= 0) '' - allow-newer: *:* - ''; }; packages = project.hsPkgs; diff --git a/test/cabal-simple-prof/default.nix b/test/cabal-simple-prof/default.nix index 9e18969d1e..2e0dfe9054 100644 --- a/test/cabal-simple-prof/default.nix +++ b/test/cabal-simple-prof/default.nix @@ -19,9 +19,6 @@ let inherit compiler-nix-name evalPackages; src = testSrc "cabal-simple-prof"; inherit modules; - cabalProjectLocal = lib.optionalString (__compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.8.0" >= 0) '' - allow-newer: *:* - ''; }; in recurseIntoAttrs { diff --git a/test/cabal-simple/default.nix b/test/cabal-simple/default.nix index 0d5445ceee..f458e4e27d 100644 --- a/test/cabal-simple/default.nix +++ b/test/cabal-simple/default.nix @@ -1,5 +1,5 @@ # Test a package set -{ stdenv, lib, util, mkCabalProjectPkgSet, project', haskellLib, recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages, buildPackages }: +{ stdenv, lib, util, mkCabalProjectPkgSet, project', haskellLib, recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages, buildPackages, cabalProjectLocal }: with lib; @@ -16,9 +16,6 @@ let inherit compiler-nix-name evalPackages; src = testSrc "cabal-simple"; inherit modules; - cabalProjectLocal = lib.optionalString (__compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.8.0" >= 0) '' - allow-newer: *:* - ''; }; packages = project.hsPkgs; diff --git a/test/cabal-source-repo-comments/default.nix b/test/cabal-source-repo-comments/default.nix index d9e5d4d5de..a8280f4b64 100644 --- a/test/cabal-source-repo-comments/default.nix +++ b/test/cabal-source-repo-comments/default.nix @@ -6,9 +6,6 @@ let project = cabalProject' { inherit compiler-nix-name evalPackages; src = testSrc "cabal-source-repo-comments"; - cabalProjectLocal = lib.optionalString (__compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.8.0" >= 0) '' - allow-newer: *:* - ''; }; packages = project.hsPkgs; in recurseIntoAttrs { diff --git a/test/cabal-source-repo/default.nix b/test/cabal-source-repo/default.nix index 4be39311d6..4302a5f024 100644 --- a/test/cabal-source-repo/default.nix +++ b/test/cabal-source-repo/default.nix @@ -6,9 +6,6 @@ let project = cabalProject' { inherit compiler-nix-name evalPackages; src = testSrc "cabal-source-repo"; - cabalProjectLocal = lib.optionalString (__compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.8.0" >= 0) '' - allow-newer: *:* - ''; }; packages = project.hsPkgs; in recurseIntoAttrs { diff --git a/test/cabal-sublib/default.nix b/test/cabal-sublib/default.nix index 02356462d5..3bee5f354b 100644 --- a/test/cabal-sublib/default.nix +++ b/test/cabal-sublib/default.nix @@ -17,9 +17,6 @@ let inherit compiler-nix-name evalPackages; src = testSrc "cabal-sublib"; inherit modules; - cabalProjectLocal = lib.optionalString (__compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.8.0" >= 0) '' - allow-newer: *:* - ''; }; packages = project.hsPkgs; diff --git a/test/call-cabal-project-to-nix/default.nix b/test/call-cabal-project-to-nix/default.nix index 1a5108bb14..e535b6d115 100644 --- a/test/call-cabal-project-to-nix/default.nix +++ b/test/call-cabal-project-to-nix/default.nix @@ -9,9 +9,6 @@ let inherit compiler-nix-name evalPackages; # reuse the cabal-simple test project src = testSrc "cabal-simple"; - cabalProjectLocal = lib.optionalString (__compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.8.0" >= 0) '' - allow-newer: *:* - ''; }; pkgSet = mkCabalProjectPkgSet { plan-pkgs = importAndFilterProject { diff --git a/test/coverage/default.nix b/test/coverage/default.nix index e7c9ce4dbb..d095ae0bb5 100644 --- a/test/coverage/default.nix +++ b/test/coverage/default.nix @@ -6,9 +6,6 @@ let projectArgs = { inherit evalPackages; src = testSrc "coverage"; - cabalProjectLocal = lib.optionalString (__compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.8.0" >= 0) '' - allow-newer: *:* - ''; modules = [{ # Package has no exposed modules which causes # haddock: No input file(s) diff --git a/test/exe-dlls/default.nix b/test/exe-dlls/default.nix index 68907869db..207afe3ae2 100644 --- a/test/exe-dlls/default.nix +++ b/test/exe-dlls/default.nix @@ -7,9 +7,6 @@ let project = project' { inherit compiler-nix-name evalPackages; src = testSrc "exe-dlls"; - cabalProjectLocal = lib.optionalString (__compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.8.0" >= 0) '' - allow-newer: *:* - ''; }; packages = project.hsPkgs; diff --git a/test/exe-lib-dlls/default.nix b/test/exe-lib-dlls/default.nix index 83cf1aebe2..7a45ac93ca 100644 --- a/test/exe-lib-dlls/default.nix +++ b/test/exe-lib-dlls/default.nix @@ -7,9 +7,6 @@ let project = project' { inherit compiler-nix-name evalPackages; src = testSrc "exe-lib-dlls"; - cabalProjectLocal = lib.optionalString (__compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.8.0" >= 0) '' - allow-newer: *:* - ''; }; packages = project.hsPkgs; diff --git a/test/setup-deps/default.nix b/test/setup-deps/default.nix index bca5a292bc..00a2be61c9 100644 --- a/test/setup-deps/default.nix +++ b/test/setup-deps/default.nix @@ -7,9 +7,6 @@ let project = haskell-nix.cabalProject' { inherit compiler-nix-name evalPackages; src = evalPackages.haskell-nix.haskellLib.cleanGit { src = ../..; name = "setup-deps"; subDir = "test/setup-deps"; }; - cabalProjectLocal = lib.optionalString (__compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.8.0" >= 0) '' - allow-newer: *:* - ''; modules = [{ # Package has no exposed modules which causes # haddock: No input file(s) diff --git a/test/shell-for-setup-deps/default.nix b/test/shell-for-setup-deps/default.nix index 473564f461..885383cd23 100644 --- a/test/shell-for-setup-deps/default.nix +++ b/test/shell-for-setup-deps/default.nix @@ -6,9 +6,6 @@ let project = cabalProject' { inherit compiler-nix-name evalPackages; src = testSrc "shell-for-setup-deps"; - cabalProjectLocal = lib.optionalString (__compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.8.0" >= 0) '' - allow-newer: *:* - ''; modules = [{ # Package has no exposed modules which causes # haddock: No input file(s) diff --git a/test/sublib-docs/default.nix b/test/sublib-docs/default.nix index bdbb7a9665..9052eff0e4 100644 --- a/test/sublib-docs/default.nix +++ b/test/sublib-docs/default.nix @@ -7,9 +7,6 @@ let project = cabalProject' { inherit compiler-nix-name evalPackages; src = testSrc "sublib-docs"; - cabalProjectLocal = lib.optionalString (__compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.8.0" >= 0) '' - allow-newer: *:* - ''; }; packages = project.hsPkgs; diff --git a/test/th-dlls/default.nix b/test/th-dlls/default.nix index 6dced0ac60..c72b092301 100644 --- a/test/th-dlls/default.nix +++ b/test/th-dlls/default.nix @@ -7,9 +7,6 @@ let project = externalInterpreter: project' { inherit compiler-nix-name evalPackages; src = testSrc "th-dlls"; - cabalProjectLocal = lib.optionalString (__compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.8.0" >= 0) '' - allow-newer: *:* - ''; modules = [({pkgs, ...}: lib.optionalAttrs externalInterpreter { packages.th-dlls.components.library.ghcOptions = [ "-fexternal-interpreter" ]; # Static openssl seems to fail to load in iserv for musl diff --git a/test/with-packages/default.nix b/test/with-packages/default.nix index 62e5bf9fdb..1eefed8c6e 100644 --- a/test/with-packages/default.nix +++ b/test/with-packages/default.nix @@ -1,15 +1,12 @@ -{ stdenv, lib, util, cabalProject', recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages, buildPackages }: +{ stdenv, lib, util, cabalProject', recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages, buildPackages, cabalProjectLocal }: with lib; with util; let project = doExactConfig: cabalProject' { - inherit compiler-nix-name evalPackages; + inherit compiler-nix-name evalPackages cabalProjectLocal; src = testSrc "with-packages"; - cabalProjectLocal = lib.optionalString (__compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.8.0" >= 0) '' - allow-newer: *:* - ''; modules = [ # overrides to fix the build { From 215b9bc682635203871780687c74137754e78350 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Sat, 12 Aug 2023 02:49:28 +1200 Subject: [PATCH 033/117] Use https://ghc.gitlab.haskell.org/head.hackage/ --- test/cabal-22/default.nix | 2 +- test/cabal-simple-debug/default.nix | 2 +- test/cabal-simple-prof/default.nix | 2 +- test/cabal-simple/default.nix | 2 +- test/cabal-source-repo-comments/default.nix | 2 +- test/cabal-source-repo/default.nix | 2 +- test/cabal-sublib/default.nix | 2 +- test/exe-lib-dlls/default.nix | 2 +- test/shell-for-setup-deps/default.nix | 2 +- test/sublib-docs/default.nix | 2 +- test/th-dlls/default.nix | 2 +- test/with-packages/default.nix | 2 +- 12 files changed, 12 insertions(+), 12 deletions(-) diff --git a/test/cabal-22/default.nix b/test/cabal-22/default.nix index b39ad0f442..353af4cbb6 100644 --- a/test/cabal-22/default.nix +++ b/test/cabal-22/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, mkCabalProjectPkgSet, cabalProject', haskellLib, util, recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages, buildPackages }: +{ stdenv, lib, mkCabalProjectPkgSet, cabalProject', haskellLib, util, recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages }: with lib; diff --git a/test/cabal-simple-debug/default.nix b/test/cabal-simple-debug/default.nix index ad27e2a085..efa64d8dfd 100644 --- a/test/cabal-simple-debug/default.nix +++ b/test/cabal-simple-debug/default.nix @@ -1,5 +1,5 @@ # Test a package set -{ stdenv, lib, util, cabalProject', haskellLib, recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages, dwarfdump, buildPackages }: +{ stdenv, lib, util, cabalProject', haskellLib, recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages, dwarfdump }: with lib; diff --git a/test/cabal-simple-prof/default.nix b/test/cabal-simple-prof/default.nix index 2e0dfe9054..c16aac029a 100644 --- a/test/cabal-simple-prof/default.nix +++ b/test/cabal-simple-prof/default.nix @@ -1,5 +1,5 @@ # Test a package set -{ stdenv, lib, util, cabalProject', haskellLib, recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages, buildPackages }: +{ stdenv, lib, util, cabalProject', haskellLib, recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages }: with lib; diff --git a/test/cabal-simple/default.nix b/test/cabal-simple/default.nix index f458e4e27d..cfaef90ff3 100644 --- a/test/cabal-simple/default.nix +++ b/test/cabal-simple/default.nix @@ -1,5 +1,5 @@ # Test a package set -{ stdenv, lib, util, mkCabalProjectPkgSet, project', haskellLib, recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages, buildPackages, cabalProjectLocal }: +{ stdenv, lib, util, mkCabalProjectPkgSet, project', haskellLib, recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages }: with lib; diff --git a/test/cabal-source-repo-comments/default.nix b/test/cabal-source-repo-comments/default.nix index a8280f4b64..396b76dc1b 100644 --- a/test/cabal-source-repo-comments/default.nix +++ b/test/cabal-source-repo-comments/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, cabalProject', recurseIntoAttrs, haskellLib, testSrc, compiler-nix-name, evalPackages, buildPackages }: +{ stdenv, lib, cabalProject', recurseIntoAttrs, haskellLib, testSrc, compiler-nix-name, evalPackages }: with lib; diff --git a/test/cabal-source-repo/default.nix b/test/cabal-source-repo/default.nix index 4302a5f024..f2a2642ee3 100644 --- a/test/cabal-source-repo/default.nix +++ b/test/cabal-source-repo/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, cabalProject', recurseIntoAttrs, haskellLib, testSrc, compiler-nix-name, evalPackages, buildPackages }: +{ stdenv, lib, cabalProject', recurseIntoAttrs, haskellLib, testSrc, compiler-nix-name, evalPackages }: with lib; diff --git a/test/cabal-sublib/default.nix b/test/cabal-sublib/default.nix index 3bee5f354b..8b4ae5dc09 100644 --- a/test/cabal-sublib/default.nix +++ b/test/cabal-sublib/default.nix @@ -1,5 +1,5 @@ # Test a package set -{ stdenv, lib, util, cabalProject', haskellLib, recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages, buildPackages }: +{ stdenv, lib, util, cabalProject', haskellLib, recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages }: with lib; diff --git a/test/exe-lib-dlls/default.nix b/test/exe-lib-dlls/default.nix index 7a45ac93ca..b944f923e2 100644 --- a/test/exe-lib-dlls/default.nix +++ b/test/exe-lib-dlls/default.nix @@ -1,5 +1,5 @@ # Test building TH code that needs DLLs when cross compiling for windows -{ stdenv, lib, util, project', haskellLib, recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages, buildPackages }: +{ stdenv, lib, util, project', haskellLib, recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages }: with lib; diff --git a/test/shell-for-setup-deps/default.nix b/test/shell-for-setup-deps/default.nix index 885383cd23..16b22e9462 100644 --- a/test/shell-for-setup-deps/default.nix +++ b/test/shell-for-setup-deps/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, cabal-install, cabalProject', recurseIntoAttrs, runCommand, testSrc, compiler-nix-name, evalPackages, buildPackages }: +{ stdenv, lib, cabal-install, cabalProject', recurseIntoAttrs, runCommand, testSrc, compiler-nix-name, evalPackages }: with lib; diff --git a/test/sublib-docs/default.nix b/test/sublib-docs/default.nix index 9052eff0e4..09f00fcadd 100644 --- a/test/sublib-docs/default.nix +++ b/test/sublib-docs/default.nix @@ -1,5 +1,5 @@ # Test a package set -{ stdenv, lib, util, cabalProject', haskellLib, recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages, buildPackages }: +{ stdenv, lib, util, cabalProject', haskellLib, recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages }: with lib; diff --git a/test/th-dlls/default.nix b/test/th-dlls/default.nix index c72b092301..9f972a9ca3 100644 --- a/test/th-dlls/default.nix +++ b/test/th-dlls/default.nix @@ -1,5 +1,5 @@ # Test building TH code that needs DLLs when cross compiling for windows -{ stdenv, lib, util, project', haskellLib, recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages, buildPackages }: +{ stdenv, lib, util, project', haskellLib, recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages }: with lib; diff --git a/test/with-packages/default.nix b/test/with-packages/default.nix index 1eefed8c6e..6eb7327aa9 100644 --- a/test/with-packages/default.nix +++ b/test/with-packages/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, util, cabalProject', recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages, buildPackages, cabalProjectLocal }: +{ stdenv, lib, util, cabalProject', recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages }: with lib; with util; From 7008a66e1f6e3ad2ecbcb6eaa417ebe59c858825 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Sat, 12 Aug 2023 02:51:23 +1200 Subject: [PATCH 034/117] Use https://ghc.gitlab.haskell.org/head.hackage/ --- test/with-packages/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/with-packages/default.nix b/test/with-packages/default.nix index 6eb7327aa9..db2c57a28c 100644 --- a/test/with-packages/default.nix +++ b/test/with-packages/default.nix @@ -5,7 +5,7 @@ with util; let project = doExactConfig: cabalProject' { - inherit compiler-nix-name evalPackages cabalProjectLocal; + inherit compiler-nix-name evalPackages; src = testSrc "with-packages"; modules = [ # overrides to fix the build From 19e9a45ada72f6c6e43f79c0ff3440b38df815ef Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Mon, 14 Aug 2023 12:46:47 +1200 Subject: [PATCH 035/117] Test fix --- test/call-cabal-project-to-nix/default.nix | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/test/call-cabal-project-to-nix/default.nix b/test/call-cabal-project-to-nix/default.nix index e535b6d115..85b8dfd3fa 100644 --- a/test/call-cabal-project-to-nix/default.nix +++ b/test/call-cabal-project-to-nix/default.nix @@ -9,6 +9,21 @@ let inherit compiler-nix-name evalPackages; # reuse the cabal-simple test project src = testSrc "cabal-simple"; + cabalProjectLocal = optionalString (__compareVersions pkgs.buildPackages.haskell-nix.compiler.${config.compiler-nix-name}.version "9.8.0" >= 0) '' + allow-newer: *:* + + repository head.hackage.ghc.haskell.org + url: https://ghc.gitlab.haskell.org/head.hackage/ + secure: True + key-threshold: 3 + root-keys: + f76d08be13e9a61a377a85e2fb63f4c5435d40f8feb3e12eb05905edb8cdea89 + 26021a13b401500c8eb2761ca95c61f2d625bfef951b939a8124ed12ecf07329 + 7541f32a4ccca4f97aea3b22f5e593ba2c0267546016b992dfadcd2fe944e55d + --sha256: sha256-WrhyfhCN6IiP5/yCyQibeHHfUDoAUioAH2ysMLoRqdg= + + active-repositories: hackage.haskell.org, head.hackage.ghc.haskell.org:override + ''; }; pkgSet = mkCabalProjectPkgSet { plan-pkgs = importAndFilterProject { From 3005815a6f0b8abbde012251c98b3d203ad96da8 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Mon, 14 Aug 2023 13:01:35 +1200 Subject: [PATCH 036/117] Test fixes --- test/call-cabal-project-to-nix/default.nix | 2 +- test/th-dlls/default.nix | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/test/call-cabal-project-to-nix/default.nix b/test/call-cabal-project-to-nix/default.nix index 85b8dfd3fa..fef98e25e4 100644 --- a/test/call-cabal-project-to-nix/default.nix +++ b/test/call-cabal-project-to-nix/default.nix @@ -9,7 +9,7 @@ let inherit compiler-nix-name evalPackages; # reuse the cabal-simple test project src = testSrc "cabal-simple"; - cabalProjectLocal = optionalString (__compareVersions pkgs.buildPackages.haskell-nix.compiler.${config.compiler-nix-name}.version "9.8.0" >= 0) '' + cabalProjectLocal = optionalString (__compareVersions buildPackages.haskell-nix.compiler.${config.compiler-nix-name}.version "9.8.0" >= 0) '' allow-newer: *:* repository head.hackage.ghc.haskell.org diff --git a/test/th-dlls/default.nix b/test/th-dlls/default.nix index 9f972a9ca3..e16fa63718 100644 --- a/test/th-dlls/default.nix +++ b/test/th-dlls/default.nix @@ -1,5 +1,5 @@ # Test building TH code that needs DLLs when cross compiling for windows -{ stdenv, lib, util, project', haskellLib, recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages }: +{ stdenv, lib, util, project', haskellLib, recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages, buildPackages }: with lib; @@ -21,9 +21,9 @@ in recurseIntoAttrs { meta.disabled = stdenv.hostPlatform.isGhcjs || # TH breaks for ghc 9.4.3 cross compile for windows if the library even # just depends on the `text` package (this may be related to the C++ dependency). - (stdenv.hostPlatform.isWindows && __elem compiler-nix-name ["ghc941" "ghc942" "ghc943" "ghc944" "ghc945" "ghc96020230302" "ghc961" "ghc962" "ghc9820230704"]) || + (stdenv.hostPlatform.isWindows && __compareVersions buildPackages.haskell-nix.compiler.${config.compiler-nix-name}.version "9.4.0" >= 0) || # Similar problem on macOS - (stdenv.hostPlatform.isDarwin && __elem compiler-nix-name ["ghc941" "ghc942" "ghc943" "ghc944" "ghc945" "ghc96020230302" "ghc961" "ghc962" "ghc9820230704"]) || + (stdenv.hostPlatform.isDarwin && __compareVersions buildPackages.haskell-nix.compiler.${config.compiler-nix-name}.version "9.8.0" >= 0) || # On aarch64 this test also breaks form musl builds (including cross compiles on x86_64-linux) (stdenv.hostPlatform.isAarch64 && stdenv.hostPlatform.isMusl); From d14ca60f37da0cad468fb487e8730c84d7077c59 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Mon, 14 Aug 2023 13:46:57 +1200 Subject: [PATCH 037/117] Test fixes --- test/call-cabal-project-to-nix/default.nix | 2 +- test/th-dlls/default.nix | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/test/call-cabal-project-to-nix/default.nix b/test/call-cabal-project-to-nix/default.nix index fef98e25e4..2c49a7e562 100644 --- a/test/call-cabal-project-to-nix/default.nix +++ b/test/call-cabal-project-to-nix/default.nix @@ -9,7 +9,7 @@ let inherit compiler-nix-name evalPackages; # reuse the cabal-simple test project src = testSrc "cabal-simple"; - cabalProjectLocal = optionalString (__compareVersions buildPackages.haskell-nix.compiler.${config.compiler-nix-name}.version "9.8.0" >= 0) '' + cabalProjectLocal = optionalString (__compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.8.0" >= 0) '' allow-newer: *:* repository head.hackage.ghc.haskell.org diff --git a/test/th-dlls/default.nix b/test/th-dlls/default.nix index e16fa63718..3ab776a066 100644 --- a/test/th-dlls/default.nix +++ b/test/th-dlls/default.nix @@ -21,9 +21,9 @@ in recurseIntoAttrs { meta.disabled = stdenv.hostPlatform.isGhcjs || # TH breaks for ghc 9.4.3 cross compile for windows if the library even # just depends on the `text` package (this may be related to the C++ dependency). - (stdenv.hostPlatform.isWindows && __compareVersions buildPackages.haskell-nix.compiler.${config.compiler-nix-name}.version "9.4.0" >= 0) || + (stdenv.hostPlatform.isWindows && __compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.4.0" >= 0) || # Similar problem on macOS - (stdenv.hostPlatform.isDarwin && __compareVersions buildPackages.haskell-nix.compiler.${config.compiler-nix-name}.version "9.8.0" >= 0) || + (stdenv.hostPlatform.isDarwin && __compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.8.0" >= 0) || # On aarch64 this test also breaks form musl builds (including cross compiles on x86_64-linux) (stdenv.hostPlatform.isAarch64 && stdenv.hostPlatform.isMusl); From 5c0e21d715d2fd4ac9582ca4841cede2d39df1fd Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Mon, 14 Aug 2023 16:33:21 +1200 Subject: [PATCH 038/117] Test fixes --- test/th-dlls/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/th-dlls/default.nix b/test/th-dlls/default.nix index 3ab776a066..290db74959 100644 --- a/test/th-dlls/default.nix +++ b/test/th-dlls/default.nix @@ -23,7 +23,7 @@ in recurseIntoAttrs { # just depends on the `text` package (this may be related to the C++ dependency). (stdenv.hostPlatform.isWindows && __compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.4.0" >= 0) || # Similar problem on macOS - (stdenv.hostPlatform.isDarwin && __compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.8.0" >= 0) || + (stdenv.hostPlatform.isDarwin && __compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.4.0" >= 0) || # On aarch64 this test also breaks form musl builds (including cross compiles on x86_64-linux) (stdenv.hostPlatform.isAarch64 && stdenv.hostPlatform.isMusl); From 5969e86710df4d5eb19650dc5bc3e3e52166b486 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Mon, 14 Aug 2023 16:48:14 +1200 Subject: [PATCH 039/117] Fix extra-hackage test --- test/extra-hackage/default.nix | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/test/extra-hackage/default.nix b/test/extra-hackage/default.nix index c3b9f81863..12577a2b74 100644 --- a/test/extra-hackage/default.nix +++ b/test/extra-hackage/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, cabalProject', haskellLib, recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages }: +{ stdenv, lib, cabalProject', haskellLib, recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages, buildPackages }: with lib; @@ -18,6 +18,21 @@ let extra-hackages = [ hackage ]; extra-hackage-tarballs = tarballs; + cabalProjectLocal = optionalString (__compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.8.0" >= 0) '' + allow-newer: *:* + + repository head.hackage.ghc.haskell.org + url: https://ghc.gitlab.haskell.org/head.hackage/ + secure: True + key-threshold: 3 + root-keys: + f76d08be13e9a61a377a85e2fb63f4c5435d40f8feb3e12eb05905edb8cdea89 + 26021a13b401500c8eb2761ca95c61f2d625bfef951b939a8124ed12ecf07329 + 7541f32a4ccca4f97aea3b22f5e593ba2c0267546016b992dfadcd2fe944e55d + --sha256: sha256-WrhyfhCN6IiP5/yCyQibeHHfUDoAUioAH2ysMLoRqdg= + + active-repositories: hackage.haskell.org, head.hackage.ghc.haskell.org:override, extra-hackage-demo:override + ''; modules = [ # To prevent nix-build from trying to download it from the From d7897f500ac060f58dd964b67ebb762f9e0be5c0 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Mon, 14 Aug 2023 17:45:18 +1200 Subject: [PATCH 040/117] Fix building ghcjs --- ci.nix | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/ci.nix b/ci.nix index a194e7f49b..bf8e4b3ad8 100644 --- a/ci.nix +++ b/ci.nix @@ -1,6 +1,6 @@ # 'supportedSystems' restricts the set of systems that we will evaluate for. Useful when you're evaluating # on a machine with e.g. no way to build the Darwin IFDs you need! -{ ifdLevel ? 3 +{ ifdLevel ? 0 # Whether or not we are evaluating in restricted mode. This is true in Hydra, but not in Hercules. , restrictEval ? false , checkMaterialization ? false @@ -17,6 +17,8 @@ "R2305" = "nixpkgs-2305"; "unstable" = "nixpkgs-unstable"; }; + ghc980X = ghc980${__substring 0 8 sources.ghc980.lastModifiedDate}; + ghc99X = ghc99${__substring 0 8 sources.ghc99.lastModifiedDate}; haskellNix = compat { inherit checkMaterialization system; }; nixpkgsArgs = haskellNix.nixpkgsArgs // { # Needed for dwarf tests @@ -67,32 +69,32 @@ ghc945 = true; ghc962 = true; ghc9820230704 = true; - "ghc980${__substring 0 8 sources.ghc980.lastModifiedDate}" = true; - "ghc99${__substring 0 8 sources.ghc99.lastModifiedDate}" = true; + ${ghc980X} = true; + ${ghc99X} = true; })); crossSystems = nixpkgsName: nixpkgs: compiler-nix-name: # We need to use the actual nixpkgs version we're working with here, since the values # of 'lib.systems.examples' are not understood between all versions let lib = nixpkgs.lib; in lib.optionalAttrs (nixpkgsName == "unstable" - && ((system == "x86_64-linux" && __elem compiler-nix-name ["ghc8107" "ghc962" "ghc980" "ghc99"]) - || (system == "aarch64-linux" && __elem compiler-nix-name ["ghc8107" "ghc962" "ghc980" "ghc99"]) - || (system == "x86_64-darwin" && __elem compiler-nix-name ["ghc8107" "ghc962" "ghc980" "ghc99"]) - || (system == "aarch64-darwin" && __elem compiler-nix-name ["ghc8107" "ghc962" "ghc980" "ghc99"]) + && ((system == "x86_64-linux" && __elem compiler-nix-name ["ghc8107" "ghc962" ghc980X ghc99X]) + || (system == "aarch64-linux" && __elem compiler-nix-name ["ghc8107" "ghc962" ghc980X ghc99X]) + || (system == "x86_64-darwin" && __elem compiler-nix-name ["ghc8107" "ghc962" ghc980X ghc99X]) + || (system == "aarch64-darwin" && __elem compiler-nix-name ["ghc8107" "ghc962" ghc980X ghc99X]) )) { inherit (lib.systems.examples) ghcjs; } // lib.optionalAttrs (nixpkgsName == "unstable" - && ((system == "x86_64-linux" && __elem compiler-nix-name ["ghc8107" "ghc902" "ghc926" "ghc927" "ghc928" "ghc945" "ghc962" "ghc980" "ghc99"]) + && ((system == "x86_64-linux" && __elem compiler-nix-name ["ghc8107" "ghc902" "ghc926" "ghc927" "ghc928" "ghc945" "ghc962" ghc980X ghc99X]) || (system == "x86_64-darwin" && __elem compiler-nix-name []))) { # TODO add ghc versions when we have more darwin build capacity inherit (lib.systems.examples) mingwW64; - } // lib.optionalAttrs (system == "x86_64-linux" && nixpkgsName == "unstable" && __elem compiler-nix-name ["ghc8107" "ghc902" "ghc922" "ghc923" "ghc924" "ghc926" "ghc927" "ghc928" "ghc945" "ghc962" "ghc980" "ghc99"]) { + } // lib.optionalAttrs (system == "x86_64-linux" && nixpkgsName == "unstable" && __elem compiler-nix-name ["ghc8107" "ghc902" "ghc922" "ghc923" "ghc924" "ghc926" "ghc927" "ghc928" "ghc945" "ghc962" ghc980X ghc99X]) { # Musl cross only works on linux # aarch64 cross only works on linux inherit (lib.systems.examples) musl64 aarch64-multiplatform; } // lib.optionalAttrs (system == "x86_64-linux" && nixpkgsName == "unstable" && __elem compiler-nix-name ["ghc927" "ghc928"]) { # TODO fix this for the compilers we build with hadrian (ghc >=9.4) inherit (lib.systems.examples) aarch64-multiplatform-musl; - } // lib.optionalAttrs (system == "aarch64-linux" && nixpkgsName == "unstable" && __elem compiler-nix-name ["ghc927" "ghc928" "ghc945" "ghc962" "ghc980" "ghc99"]) { + } // lib.optionalAttrs (system == "aarch64-linux" && nixpkgsName == "unstable" && __elem compiler-nix-name ["ghc927" "ghc928" "ghc945" "ghc962" ghc980X ghc99X]) { inherit (lib.systems.examples) aarch64-multiplatform-musl; }; isDisabled = d: d.meta.disabled or false; From ddfff3da18954d31d82a4d612a27c2b519da6057 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Mon, 14 Aug 2023 17:52:45 +1200 Subject: [PATCH 041/117] Add missing quotes --- ci.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ci.nix b/ci.nix index bf8e4b3ad8..21d620c974 100644 --- a/ci.nix +++ b/ci.nix @@ -17,8 +17,8 @@ "R2305" = "nixpkgs-2305"; "unstable" = "nixpkgs-unstable"; }; - ghc980X = ghc980${__substring 0 8 sources.ghc980.lastModifiedDate}; - ghc99X = ghc99${__substring 0 8 sources.ghc99.lastModifiedDate}; + ghc980X = "ghc980${__substring 0 8 sources.ghc980.lastModifiedDate}"; + ghc99X = "ghc99${__substring 0 8 sources.ghc99.lastModifiedDate}"; haskellNix = compat { inherit checkMaterialization system; }; nixpkgsArgs = haskellNix.nixpkgsArgs // { # Needed for dwarf tests From 8a7352ee5911ba817dcbc060ceca60f97bf0b1d4 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Mon, 14 Aug 2023 17:54:33 +1200 Subject: [PATCH 042/117] ifdLevel 1 --- ci.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci.nix b/ci.nix index 21d620c974..64d1dedf9e 100644 --- a/ci.nix +++ b/ci.nix @@ -1,6 +1,6 @@ # 'supportedSystems' restricts the set of systems that we will evaluate for. Useful when you're evaluating # on a machine with e.g. no way to build the Darwin IFDs you need! -{ ifdLevel ? 0 +{ ifdLevel ? 1 # Whether or not we are evaluating in restricted mode. This is true in Hydra, but not in Hercules. , restrictEval ? false , checkMaterialization ? false From da96f2121d18a27e3cc9bd6cc719250f2bcb3c44 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Mon, 14 Aug 2023 18:06:41 +1200 Subject: [PATCH 043/117] Remove patch now merged in ghc git branches --- overlays/bootstrap.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/overlays/bootstrap.nix b/overlays/bootstrap.nix index 40142a2e87..2b140d79d9 100644 --- a/overlays/bootstrap.nix +++ b/overlays/bootstrap.nix @@ -197,7 +197,6 @@ in { ++ final.lib.optionals (final.stdenv.targetPlatform.isGhcjs) (fromUntil "9.6.1" "9.8" ./patches/ghc/ghc-9.6-Merge-libiserv-with-ghci.patch) ++ final.lib.optionals (final.stdenv.targetPlatform.isGhcjs) (fromUntil "9.6.1" "9.8" ./patches/ghc/ghc-9.6-Assorted-changes-to-avoid-head-tail.patch) ++ final.lib.optionals (final.stdenv.targetPlatform.isGhcjs) (fromUntil "9.6.1" "9.8" ./patches/ghc/ghc-9.6-JS-implement-TH-support.patch) - ++ final.lib.optionals (final.stdenv.targetPlatform.isGhcjs) (fromUntil "9.8.0" "9.10" ./patches/ghc/ghc-9.8-js-support-this-unit-id-10819.patch) # https://gitlab.haskell.org/ghc/ghc/-/merge_requests/10819 # the following is a partial reversal of https://gitlab.haskell.org/ghc/ghc/-/merge_requests/4391, to address haskell.nix#1227 ++ final.lib.optional (versionAtLeast "8.10.6" && versionLessThan "9.0" && final.stdenv.targetPlatform.isAarch64) ./patches/ghc/mmap-next.patch From 3438630e883168d69db2d955210df1a7a7d677eb Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Mon, 14 Aug 2023 19:12:04 +1200 Subject: [PATCH 044/117] Build cross compilers with same version --- overlays/bootstrap.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/overlays/bootstrap.nix b/overlays/bootstrap.nix index 2b140d79d9..1d73f75a7c 100644 --- a/overlays/bootstrap.nix +++ b/overlays/bootstrap.nix @@ -932,7 +932,7 @@ in { bootPkgs = bootPkgsGhc94 // { ghc = if final.stdenv.buildPlatform != final.stdenv.targetPlatform - then final.buildPackages.buildPackages.haskell-nix.compiler.ghc962 + then final.buildPackages.buildPackages.haskell-nix.compiler.${compiler-nix-name} else final.buildPackages.buildPackages.haskell.compiler.ghc962 or final.buildPackages.buildPackages.haskell.compiler.ghc945 or final.buildPackages.buildPackages.haskell.compiler.ghc944 From f3bd575dd55af1e6c9c1783b525a195c36a7b64b Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Mon, 14 Aug 2023 19:53:20 +1200 Subject: [PATCH 045/117] Stick with ghc962 for build cross compilers --- overlays/bootstrap.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/overlays/bootstrap.nix b/overlays/bootstrap.nix index 1d73f75a7c..57c7ccae8b 100644 --- a/overlays/bootstrap.nix +++ b/overlays/bootstrap.nix @@ -928,7 +928,7 @@ in { in { name = compiler-nix-name; value = final.callPackage ../compiler/ghc { - extra-passthru = { buildGHC = final.buildPackages.haskell-nix.compiler.${compiler-nix-name}; }; + extra-passthru = { buildGHC = final.buildPackages.haskell-nix.compiler.ghc962; }; bootPkgs = bootPkgsGhc94 // { ghc = if final.stdenv.buildPlatform != final.stdenv.targetPlatform From 3de92cea6b12b2bc39554f7f640b1c43d8fc5678 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Mon, 14 Aug 2023 20:18:19 +1200 Subject: [PATCH 046/117] Stick with ghc962 for build cross compilers --- overlays/bootstrap.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/overlays/bootstrap.nix b/overlays/bootstrap.nix index 57c7ccae8b..2b140d79d9 100644 --- a/overlays/bootstrap.nix +++ b/overlays/bootstrap.nix @@ -928,11 +928,11 @@ in { in { name = compiler-nix-name; value = final.callPackage ../compiler/ghc { - extra-passthru = { buildGHC = final.buildPackages.haskell-nix.compiler.ghc962; }; + extra-passthru = { buildGHC = final.buildPackages.haskell-nix.compiler.${compiler-nix-name}; }; bootPkgs = bootPkgsGhc94 // { ghc = if final.stdenv.buildPlatform != final.stdenv.targetPlatform - then final.buildPackages.buildPackages.haskell-nix.compiler.${compiler-nix-name} + then final.buildPackages.buildPackages.haskell-nix.compiler.ghc962 else final.buildPackages.buildPackages.haskell.compiler.ghc962 or final.buildPackages.buildPackages.haskell.compiler.ghc945 or final.buildPackages.buildPackages.haskell.compiler.ghc944 From 25f7fbf7a813995b4bf464da93e9c6a58a08b2a3 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Tue, 15 Aug 2023 13:20:54 +1200 Subject: [PATCH 047/117] Bump ghc git pins --- flake.lock | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/flake.lock b/flake.lock index 80f4f2ed2c..5770770718 100644 --- a/flake.lock +++ b/flake.lock @@ -136,11 +136,11 @@ "ghc980": { "flake": false, "locked": { - "lastModified": 1691513927, - "narHash": "sha256-G6rZnemarndDk3Zt2Z2ZWvDKNSW3LTN2dReF8iQN0Nc=", + "lastModified": 1691586105, + "narHash": "sha256-oVzcQQCYY39otXy1OibJ+QzQWiyDZafrTRTP/vOxTLw=", "ref": "ghc-9.8", - "rev": "fc09110bf5e2e3ee34df8ba277e920e0783d3b31", - "revCount": 61544, + "rev": "291963af49a12a05c40d9ed6fd000cba8b15595b", + "revCount": 61550, "submodules": true, "type": "git", "url": "https://gitlab.haskell.org/ghc/ghc" @@ -155,11 +155,11 @@ "ghc99": { "flake": false, "locked": { - "lastModified": 1691544490, - "narHash": "sha256-Hu8osxL6Ueq98Ix6PQ7VYYZIhxm7sX51WKlYMRgJgJ0=", + "lastModified": 1692035231, + "narHash": "sha256-QjvrRA//9LIGJW+ov6om3Bt8XQZ2rzfvVi2H+cSqPAg=", "ref": "refs/heads/master", - "rev": "6eab07b26ee46813683a8409871132d740805ec6", - "revCount": 61716, + "rev": "994a9b35fb3f10f429933583d10e0d2fa2dd9b88", + "revCount": 61754, "submodules": true, "type": "git", "url": "https://gitlab.haskell.org/ghc/ghc" From f0a0b6168e35d3b9a6db4c934c29083b51a2b381 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Tue, 15 Aug 2023 16:44:16 +1200 Subject: [PATCH 048/117] ifdLevel 0 --- ci.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci.nix b/ci.nix index 64d1dedf9e..21d620c974 100644 --- a/ci.nix +++ b/ci.nix @@ -1,6 +1,6 @@ # 'supportedSystems' restricts the set of systems that we will evaluate for. Useful when you're evaluating # on a machine with e.g. no way to build the Darwin IFDs you need! -{ ifdLevel ? 1 +{ ifdLevel ? 0 # Whether or not we are evaluating in restricted mode. This is true in Hydra, but not in Hercules. , restrictEval ? false , checkMaterialization ? false From 3d9c05dc480c6558357ee8df0b413d2663a48c49 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Tue, 15 Aug 2023 19:33:37 +1200 Subject: [PATCH 049/117] Add patch for windows cross --- overlays/bootstrap.nix | 2 ++ .../ghc/ghc-9.9-mingw-tooldir-fix-11094.patch | 26 +++++++++++++++++++ 2 files changed, 28 insertions(+) create mode 100644 overlays/patches/ghc/ghc-9.9-mingw-tooldir-fix-11094.patch diff --git a/overlays/bootstrap.nix b/overlays/bootstrap.nix index 2b140d79d9..6db755371d 100644 --- a/overlays/bootstrap.nix +++ b/overlays/bootstrap.nix @@ -213,6 +213,8 @@ in { ++ final.lib.optional (versionAtLeast "8.10" && versionLessThan "9.0" && final.stdenv.targetPlatform.isAarch64) ./patches/ghc/ghc-8.10-aarch64-handle-none-rela.patch ++ final.lib.optional (versionAtLeast "9.0" && final.stdenv.targetPlatform.isAarch64) ./patches/ghc/ghc-9.0-better-symbol-addr-debug.patch ++ final.lib.optional (versionAtLeast "9.0" && final.stdenv.targetPlatform.isAarch64) ./patches/ghc/ghc-9.0-aarch64-handle-none-rela.patch + + ++ final.lib.optionals (final.stdenv.targetPlatform.isWindows) (fromUntil "9.9.0" "9.10" ./patches/ghc/ghc-9.9-mingw-tooldir-fix-11094.patch) # https://gitlab.haskell.org/ghc/ghc/-/merge_requests/11094 ; in ({ ghc865 = final.callPackage ../compiler/ghc (traceWarnOld "8.6" { diff --git a/overlays/patches/ghc/ghc-9.9-mingw-tooldir-fix-11094.patch b/overlays/patches/ghc/ghc-9.9-mingw-tooldir-fix-11094.patch new file mode 100644 index 0000000000..056002f55f --- /dev/null +++ b/overlays/patches/ghc/ghc-9.9-mingw-tooldir-fix-11094.patch @@ -0,0 +1,26 @@ +From 9cfd6b56603563cdf1b837a85d1af2de35f2d614 Mon Sep 17 00:00:00 2001 +From: Moritz Angermann +Date: Tue, 15 Aug 2023 06:41:58 +0000 +Subject: [PATCH] Update Generate.hs + +--- + hadrian/src/Rules/Generate.hs | 3 --- + 1 file changed, 3 deletions(-) + +diff --git a/hadrian/src/Rules/Generate.hs b/hadrian/src/Rules/Generate.hs +index 93885b14e41..94c3049c30b 100644 +--- a/hadrian/src/Rules/Generate.hs ++++ b/hadrian/src/Rules/Generate.hs +@@ -522,9 +522,6 @@ generateSettings = do + queryTarget (\t -> substTooldir topdir (archOS_OS $ tgtArchOs t) (f t)) + where + substTooldir :: String -> OS -> String -> String +- substTooldir topdir OSMinGW32 s +- = T.unpack $ +- T.replace (T.pack $ normalise $ topdir "inplace" "mingw") (T.pack "$tooldir/mingw") (T.pack $ normalise s) + substTooldir _ _ s = s + + +-- +GitLab + From 3b5fe20ee1dc5409ef9a8b69d80e3d8a9e992e88 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Tue, 15 Aug 2023 19:35:49 +1200 Subject: [PATCH 050/117] ifdLevel 1 --- ci.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci.nix b/ci.nix index 21d620c974..64d1dedf9e 100644 --- a/ci.nix +++ b/ci.nix @@ -1,6 +1,6 @@ # 'supportedSystems' restricts the set of systems that we will evaluate for. Useful when you're evaluating # on a machine with e.g. no way to build the Darwin IFDs you need! -{ ifdLevel ? 0 +{ ifdLevel ? 1 # Whether or not we are evaluating in restricted mode. This is true in Hydra, but not in Hercules. , restrictEval ? false , checkMaterialization ? false From 9735bbff326e1340cea1dade260e0e93d81aca1b Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Tue, 15 Aug 2023 21:28:22 +1200 Subject: [PATCH 051/117] ifdLevel 2 --- ci.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci.nix b/ci.nix index 64d1dedf9e..056ffc9e07 100644 --- a/ci.nix +++ b/ci.nix @@ -1,6 +1,6 @@ # 'supportedSystems' restricts the set of systems that we will evaluate for. Useful when you're evaluating # on a machine with e.g. no way to build the Darwin IFDs you need! -{ ifdLevel ? 1 +{ ifdLevel ? 2 # Whether or not we are evaluating in restricted mode. This is true in Hydra, but not in Hercules. , restrictEval ? false , checkMaterialization ? false From fc8972c2c0ca9ba8d3686be7728509b475590656 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Tue, 15 Aug 2023 22:46:20 +1200 Subject: [PATCH 052/117] ifdLevel 3 --- ci.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci.nix b/ci.nix index 056ffc9e07..774e527d18 100644 --- a/ci.nix +++ b/ci.nix @@ -1,6 +1,6 @@ # 'supportedSystems' restricts the set of systems that we will evaluate for. Useful when you're evaluating # on a machine with e.g. no way to build the Darwin IFDs you need! -{ ifdLevel ? 2 +{ ifdLevel ? 3 # Whether or not we are evaluating in restricted mode. This is true in Hydra, but not in Hercules. , restrictEval ? false , checkMaterialization ? false From 7b1307f6e7f12029972ad1dfdfb3ccb0983df7f7 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Wed, 16 Aug 2023 15:26:45 +1200 Subject: [PATCH 053/117] Fix exe extension for ghcjs --- builder/comp-builder.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/builder/comp-builder.nix b/builder/comp-builder.nix index be61fe68a3..4e40d6bf7f 100644 --- a/builder/comp-builder.nix +++ b/builder/comp-builder.nix @@ -260,8 +260,9 @@ let if builtins.isFunction shellHook then shellHook { inherit package shellWrappers; } else abort "shellHook should be a string or a function"; - exeExt = if stdenv.hostPlatform.isGhcjs then ".jsexe/all.js" else - stdenv.hostPlatform.extensions.executable; + exeExt = if stdenv.hostPlatform.isGhcjs && builtins.compareVersions defaults.ghc.version "9.8" < 0 + then ".jsexe/all.js" + else stdenv.hostPlatform.extensions.executable; exeName = componentId.cname + exeExt; testExecutable = "dist/build/${componentId.cname}/${exeName}"; From 3749663d454c19555deea67b44f310b2a835b4f1 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Wed, 16 Aug 2023 18:08:19 +1200 Subject: [PATCH 054/117] ghcjs fix --- builder/comp-builder.nix | 4 ++-- lib/check.nix | 7 +++++-- lib/default.nix | 1 + overlays/ghcjs.nix | 7 ------- 4 files changed, 8 insertions(+), 11 deletions(-) diff --git a/builder/comp-builder.nix b/builder/comp-builder.nix index 4e40d6bf7f..5cf8e568b0 100644 --- a/builder/comp-builder.nix +++ b/builder/comp-builder.nix @@ -591,8 +591,8 @@ let if [ -f ${testExecutable} ]; then mkdir -p $(dirname $out/bin/${exeName}) ${lib.optionalString stdenv.buildPlatform.isLinux "sync"} - ${if stdenv.hostPlatform.isGhcjs then '' - cat <(echo \#!${lib.getBin buildPackages.nodejs-18_x}/bin/node) ${testExecutable} >| $out/bin/${exeName} + ${if stdenv.hostPlatform.isGhcjs && builtins.compareVersions defaults.ghc.version "9.8" < 0 then '' + cat <(echo \#!/usr/bin/env node) ${testExecutable} >| $out/bin/${exeName} chmod +x $out/bin/${exeName} '' else '' cp -r ${testExecutable} $(dirname $out/bin/${exeName}) diff --git a/lib/check.nix b/lib/check.nix index b436b691dc..63701a5d89 100644 --- a/lib/check.nix +++ b/lib/check.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, haskellLib }: +{ stdenv, lib, haskellLib, buildPackages }: drv: let @@ -30,7 +30,10 @@ in stdenv.mkDerivation (( inherit (drv) identifier config configFiles executableToolDepends cleanSrc env exeName; }; - inherit (drv) meta LANG LC_ALL buildInputs nativeBuildInputs; + inherit (drv) meta LANG LC_ALL buildInputs; + + nativeBuildInputs = drv.nativeBuildInputs + ++ lib.optional (stdenv.hostPlatform.isGhcjs) buildPackages.nodejs-18_x; inherit (component) doCheck doCrossCheck; diff --git a/lib/default.nix b/lib/default.nix index 3d3d4f3e50..2932df320d 100644 --- a/lib/default.nix +++ b/lib/default.nix @@ -231,6 +231,7 @@ in { # Check a test component check = import ./check.nix { inherit stdenv lib haskellLib; + inherit (pkgs) buildPackages; }; # Do coverage of a package diff --git a/overlays/ghcjs.nix b/overlays/ghcjs.nix index 90c13314a3..ad29cfe899 100644 --- a/overlays/ghcjs.nix +++ b/overlays/ghcjs.nix @@ -3,13 +3,6 @@ final: prev: haskell-nix = prev.haskell-nix // ({ defaultModules = prev.haskell-nix.defaultModules ++ final.lib.optional final.stdenv.hostPlatform.isGhcjs ( ({ pkgs, buildModules, config, lib, ... }: { - testWrapper = [((final.writeScriptBin "node-wrapper" '' - set -euo pipefail - exe=$1 - shift - ${final.buildPackages.nodejs-18_x}/bin/node $exe $@ - '') + "/bin/node-wrapper")]; - # Apply the patches that came with `ghcjs` # Also add a "Keep alive" message to prevent hydra timeouts when hsc2hs runs packages = pkgs.lib.genAttrs (pkgs.lib.optionals (__elem config.compiler.nix-name ["ghc865" "ghc884" "ghc8107"]) ["base" "directory" "filepath" "ghc-prim" "integer-gmp" "process" "template-haskell" "time" "unix" "Win32" ]) From 04c83f4bc02a46e04b4b1779ef50184b5fe6a99e Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Wed, 16 Aug 2023 19:36:32 +1200 Subject: [PATCH 055/117] ghcjs test fix --- builder/comp-builder.nix | 2 +- lib/check.nix | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/builder/comp-builder.nix b/builder/comp-builder.nix index 5cf8e568b0..0cd59b4192 100644 --- a/builder/comp-builder.nix +++ b/builder/comp-builder.nix @@ -586,7 +586,7 @@ let '') } ''} - ${(lib.optionalString (haskellLib.isTest componentId || haskellLib.isBenchmark componentId) '' + ${(lib.optionalString (haskellLib.isTest componentId || haskellLib.isBenchmark componentId || (haskellLib.isExe componentId && stdenv.hostPlatform.isGhcjs)) '' mkdir -p $out/bin if [ -f ${testExecutable} ]; then mkdir -p $(dirname $out/bin/${exeName}) diff --git a/lib/check.nix b/lib/check.nix index 63701a5d89..3e1c3be006 100644 --- a/lib/check.nix +++ b/lib/check.nix @@ -33,7 +33,8 @@ in stdenv.mkDerivation (( inherit (drv) meta LANG LC_ALL buildInputs; nativeBuildInputs = drv.nativeBuildInputs - ++ lib.optional (stdenv.hostPlatform.isGhcjs) buildPackages.nodejs-18_x; + ++ [buildPackages.xorg.lndir] + ++ lib.optional (stdenv.hostPlatform.isGhcjs) buildPackages.nodejs-18_x; inherit (component) doCheck doCrossCheck; @@ -45,7 +46,12 @@ in stdenv.mkDerivation (( mkdir $out runHook preCheck - ${toString component.testWrapper} ${drv}/bin/${drv.exeName} ${lib.concatStringsSep " " component.testFlags} | tee $out/test-stdout + drv=$(mktemp -d) + lndir ${drv} $drv + rm $drv/bin/${drv.exeName} + cp ${drv}/bin/${drv.exeName} $drv/bin + patchShebangs --build $drv/bin + ${toString component.testWrapper} $drv/bin/${drv.exeName} ${lib.concatStringsSep " " component.testFlags} | tee $out/test-stdout # Copy over tix files, if they exist find . -iname '${drv.exeName}.tix' -exec mkdir -p $out/share/hpc/vanilla/tix/${drv.exeName} \; -exec cp {} $out/share/hpc/vanilla/tix/${drv.exeName}/ \; From e3a010b8dd8da3a50068075c309c3b2b0e1787a9 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Wed, 16 Aug 2023 20:27:04 +1200 Subject: [PATCH 056/117] ghcjs test fix --- lib/check.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/check.nix b/lib/check.nix index 3e1c3be006..641c06b37a 100644 --- a/lib/check.nix +++ b/lib/check.nix @@ -49,8 +49,8 @@ in stdenv.mkDerivation (( drv=$(mktemp -d) lndir ${drv} $drv rm $drv/bin/${drv.exeName} - cp ${drv}/bin/${drv.exeName} $drv/bin - patchShebangs --build $drv/bin + cp ${drv}/bin/${drv.exeName} $drv/bin/${drv.exeName} + patchShebangs --build $(dirname $drv/bin${drv.exeName}) ${toString component.testWrapper} $drv/bin/${drv.exeName} ${lib.concatStringsSep " " component.testFlags} | tee $out/test-stdout # Copy over tix files, if they exist From 724b24aa2c56580e7b5e0839e4b70849038cfa46 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Wed, 16 Aug 2023 20:50:35 +1200 Subject: [PATCH 057/117] Add missing / --- lib/check.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/check.nix b/lib/check.nix index 641c06b37a..19682ca836 100644 --- a/lib/check.nix +++ b/lib/check.nix @@ -50,7 +50,7 @@ in stdenv.mkDerivation (( lndir ${drv} $drv rm $drv/bin/${drv.exeName} cp ${drv}/bin/${drv.exeName} $drv/bin/${drv.exeName} - patchShebangs --build $(dirname $drv/bin${drv.exeName}) + patchShebangs --build $(dirname $drv/bin/${drv.exeName}) ${toString component.testWrapper} $drv/bin/${drv.exeName} ${lib.concatStringsSep " " component.testFlags} | tee $out/test-stdout # Copy over tix files, if they exist From 84fdb84f639ae24f87f53b6310e435bd5e919c15 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Wed, 16 Aug 2023 22:24:34 +1200 Subject: [PATCH 058/117] Mark tests as broken --- test/buildable/default.nix | 4 ++-- test/c-ffi/default.nix | 4 ++-- test/cabal-hpack/default.nix | 4 ++-- test/cabal-simple/default.nix | 6 +++--- test/cabal-source-repo-comments/default.nix | 4 ++-- test/cabal-source-repo/default.nix | 4 ++-- test/cabal-sublib/default.nix | 4 ++-- test/call-cabal-project-to-nix/default.nix | 2 +- test/exe-only/default.nix | 4 ++-- test/extra-hackage/default.nix | 2 +- test/ghc-options/cabal.nix | 4 ++-- test/project-flags/cabal.nix | 4 ++-- test/with-packages/default.nix | 8 ++++---- 13 files changed, 27 insertions(+), 27 deletions(-) diff --git a/test/buildable/default.nix b/test/buildable/default.nix index 93df5c9597..c6b266c0c5 100644 --- a/test/buildable/default.nix +++ b/test/buildable/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, cabalProject', haskellLib, recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages }: +{ stdenv, lib, cabalProject', haskellLib, recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages, buildPackages }: with lib; @@ -27,7 +27,7 @@ in recurseIntoAttrs { meta = rec { platforms = lib.platforms.all; - broken = stdenv.hostPlatform.isGhcjs && __elem compiler-nix-name ["ghc961" "ghc962" "ghc9820230704"]; + broken = stdenv.hostPlatform.isGhcjs && __compareVersion buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.6.1" >= 0; disabled = broken; }; diff --git a/test/c-ffi/default.nix b/test/c-ffi/default.nix index 131ea4241b..9169af821a 100644 --- a/test/c-ffi/default.nix +++ b/test/c-ffi/default.nix @@ -1,5 +1,5 @@ # Test a package set -{ stdenv, lib, util, mkCabalProjectPkgSet, project', haskellLib, recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages }: +{ stdenv, lib, util, mkCabalProjectPkgSet, project', haskellLib, recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages, buildPackages }: with lib; @@ -57,7 +57,7 @@ in recurseIntoAttrs { meta = rec { platforms = lib.platforms.all; - broken = stdenv.hostPlatform.isGhcjs && __elem compiler-nix-name ["ghc961" "ghc962" "ghc9820230704"]; + broken = stdenv.hostPlatform.isGhcjs && __compareVersion buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.6.1" >= 0; disabled = broken; }; diff --git a/test/cabal-hpack/default.nix b/test/cabal-hpack/default.nix index 183a037cc2..6dc2085824 100644 --- a/test/cabal-hpack/default.nix +++ b/test/cabal-hpack/default.nix @@ -1,5 +1,5 @@ # Test a package set -{ stdenv, lib, util, mkCabalProjectPkgSet, project', haskellLib, recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages }: +{ stdenv, lib, util, mkCabalProjectPkgSet, project', haskellLib, recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages, buildPackages }: with lib; @@ -58,7 +58,7 @@ in recurseIntoAttrs { meta = rec { platforms = lib.platforms.all; - broken = stdenv.hostPlatform.isGhcjs && __elem compiler-nix-name ["ghc961" "ghc962" "ghc9820230704"]; + broken = stdenv.hostPlatform.isGhcjs && __compareVersion buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.6.1" >= 0; disabled = broken; }; diff --git a/test/cabal-simple/default.nix b/test/cabal-simple/default.nix index cfaef90ff3..8a086886ff 100644 --- a/test/cabal-simple/default.nix +++ b/test/cabal-simple/default.nix @@ -1,5 +1,5 @@ # Test a package set -{ stdenv, lib, util, mkCabalProjectPkgSet, project', haskellLib, recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages }: +{ stdenv, lib, util, mkCabalProjectPkgSet, project', haskellLib, recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages, buildPackages }: with lib; @@ -32,7 +32,7 @@ in recurseIntoAttrs { }).overrideAttrs (_: _: { meta = rec { platforms = lib.platforms.all; - broken = stdenv.hostPlatform.isGhcjs && __elem compiler-nix-name ["ghc961" "ghc962" "ghc9820230704"]; + broken = stdenv.hostPlatform.isGhcjs && __compareVersion buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.6.1" >= 0; disabled = broken; }; }); @@ -69,7 +69,7 @@ in recurseIntoAttrs { meta = rec { platforms = lib.platforms.all; - broken = stdenv.hostPlatform.isGhcjs && __elem compiler-nix-name ["ghc961" "ghc962" "ghc9820230704"]; + broken = stdenv.hostPlatform.isGhcjs && __compareVersion buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.6.1" >= 0; disabled = broken; }; diff --git a/test/cabal-source-repo-comments/default.nix b/test/cabal-source-repo-comments/default.nix index 396b76dc1b..b10df96a44 100644 --- a/test/cabal-source-repo-comments/default.nix +++ b/test/cabal-source-repo-comments/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, cabalProject', recurseIntoAttrs, haskellLib, testSrc, compiler-nix-name, evalPackages }: +{ stdenv, lib, cabalProject', recurseIntoAttrs, haskellLib, testSrc, compiler-nix-name, evalPackages, buildPackages }: with lib; @@ -26,7 +26,7 @@ in recurseIntoAttrs { meta = rec { platforms = lib.platforms.all; - broken = stdenv.hostPlatform.isGhcjs && __elem compiler-nix-name ["ghc961" "ghc962" "ghc9820230704"]; + broken = stdenv.hostPlatform.isGhcjs && __compareVersion buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.6.1" >= 0; disabled = broken; }; diff --git a/test/cabal-source-repo/default.nix b/test/cabal-source-repo/default.nix index f2a2642ee3..361f316a92 100644 --- a/test/cabal-source-repo/default.nix +++ b/test/cabal-source-repo/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, cabalProject', recurseIntoAttrs, haskellLib, testSrc, compiler-nix-name, evalPackages }: +{ stdenv, lib, cabalProject', recurseIntoAttrs, haskellLib, testSrc, compiler-nix-name, evalPackages, buildPackages }: with lib; @@ -26,7 +26,7 @@ in recurseIntoAttrs { meta = rec { platforms = lib.platforms.all; - broken = stdenv.hostPlatform.isGhcjs && __elem compiler-nix-name ["ghc961" "ghc962" "ghc9820230704"]; + broken = stdenv.hostPlatform.isGhcjs && __compareVersion buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.6.1" >= 0; disabled = broken; }; diff --git a/test/cabal-sublib/default.nix b/test/cabal-sublib/default.nix index 8b4ae5dc09..c10356d09d 100644 --- a/test/cabal-sublib/default.nix +++ b/test/cabal-sublib/default.nix @@ -1,5 +1,5 @@ # Test a package set -{ stdenv, lib, util, cabalProject', haskellLib, recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages }: +{ stdenv, lib, util, cabalProject', haskellLib, recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages, buildPackages }: with lib; @@ -53,7 +53,7 @@ in recurseIntoAttrs { meta = rec { platforms = lib.platforms.all; - broken = stdenv.hostPlatform.isGhcjs && __elem compiler-nix-name ["ghc961" "ghc962" "ghc9820230704"]; + broken = stdenv.hostPlatform.isGhcjs && __compareVersion buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.6.1" >= 0; disabled = broken; }; diff --git a/test/call-cabal-project-to-nix/default.nix b/test/call-cabal-project-to-nix/default.nix index 2c49a7e562..aa0adeee02 100644 --- a/test/call-cabal-project-to-nix/default.nix +++ b/test/call-cabal-project-to-nix/default.nix @@ -51,7 +51,7 @@ in recurseIntoAttrs { meta = rec { platforms = lib.platforms.all; - broken = stdenv.hostPlatform.isGhcjs && __elem compiler-nix-name ["ghc961" "ghc962" "ghc9820230704"]; + broken = stdenv.hostPlatform.isGhcjs && __compareVersion buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.6.1" >= 0; disabled = broken; }; diff --git a/test/exe-only/default.nix b/test/exe-only/default.nix index f731924c69..4b4493f74d 100644 --- a/test/exe-only/default.nix +++ b/test/exe-only/default.nix @@ -1,5 +1,5 @@ # Test a package set -{ stdenv, lib, util, haskell-nix, recurseIntoAttrs, haskellLib, testSrc, compiler-nix-name, evalPackages }: +{ stdenv, lib, util, haskell-nix, recurseIntoAttrs, haskellLib, testSrc, compiler-nix-name, evalPackages, buildPackages }: with lib; @@ -46,7 +46,7 @@ in recurseIntoAttrs { meta = rec { platforms = lib.platforms.all; - broken = stdenv.hostPlatform.isGhcjs && __elem compiler-nix-name ["ghc961" "ghc962" "ghc9820230704"]; + broken = stdenv.hostPlatform.isGhcjs && __compareVersion buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.6.1" >= 0; disabled = broken; }; diff --git a/test/extra-hackage/default.nix b/test/extra-hackage/default.nix index 12577a2b74..cf128bdb69 100644 --- a/test/extra-hackage/default.nix +++ b/test/extra-hackage/default.nix @@ -75,7 +75,7 @@ in recurseIntoAttrs { meta = rec { platforms = lib.platforms.all; - broken = stdenv.hostPlatform.isGhcjs && __elem compiler-nix-name ["ghc961" "ghc962" "ghc9820230704"]; + broken = stdenv.hostPlatform.isGhcjs && __compareVersion buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.6.1" >= 0; disabled = broken; }; diff --git a/test/ghc-options/cabal.nix b/test/ghc-options/cabal.nix index 97c9d28aad..6edb428c80 100644 --- a/test/ghc-options/cabal.nix +++ b/test/ghc-options/cabal.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, cabalProject', recurseIntoAttrs, haskellLib, testSrc, compiler-nix-name, evalPackages }: +{ stdenv, lib, cabalProject', recurseIntoAttrs, haskellLib, testSrc, compiler-nix-name, evalPackages, buildPackages }: with lib; @@ -35,7 +35,7 @@ in recurseIntoAttrs { meta = rec { platforms = lib.platforms.all; - broken = stdenv.hostPlatform.isGhcjs && __elem compiler-nix-name ["ghc961" "ghc962" "ghc9820230704"]; + broken = stdenv.hostPlatform.isGhcjs && __compareVersion buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.6.1" >= 0; disabled = broken; }; diff --git a/test/project-flags/cabal.nix b/test/project-flags/cabal.nix index 080bc8fa20..0b03449cf8 100644 --- a/test/project-flags/cabal.nix +++ b/test/project-flags/cabal.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, cabalProject', recurseIntoAttrs, haskellLib, testSrc, compiler-nix-name, evalPackages }: +{ stdenv, lib, cabalProject', recurseIntoAttrs, haskellLib, testSrc, compiler-nix-name, evalPackages, buildPackages }: with lib; @@ -27,7 +27,7 @@ in recurseIntoAttrs { meta = rec { platforms = lib.platforms.all; - broken = stdenv.hostPlatform.isGhcjs && __elem compiler-nix-name ["ghc961" "ghc962" "ghc9820230704"]; + broken = stdenv.hostPlatform.isGhcjs && __compareVersion buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.6.1" >= 0; disabled = broken; }; diff --git a/test/with-packages/default.nix b/test/with-packages/default.nix index db2c57a28c..02e013a913 100644 --- a/test/with-packages/default.nix +++ b/test/with-packages/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, util, cabalProject', recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages }: +{ stdenv, lib, util, cabalProject', recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages, buildPackages }: with lib; with util; @@ -39,7 +39,7 @@ in recurseIntoAttrs { test-shell = (addCabalInstall library.shell).overrideAttrs (_: _: { meta = rec { platforms = lib.platforms.all; - broken = stdenv.hostPlatform.isGhcjs && __elem compiler-nix-name ["ghc961" "ghc962" "ghc9820230704"]; + broken = stdenv.hostPlatform.isGhcjs && __compareVersion buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.6.1" >= 0; disabled = broken; }; }); @@ -48,7 +48,7 @@ in recurseIntoAttrs { test-shell-dec = (addCabalInstall decLibrary.shell).overrideAttrs (_: _: { meta = rec { platforms = lib.platforms.all; - broken = stdenv.hostPlatform.isGhcjs && __elem compiler-nix-name ["ghc961" "ghc962" "ghc9820230704"]; + broken = stdenv.hostPlatform.isGhcjs && __compareVersion buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.6.1" >= 0; disabled = broken; }; }); @@ -105,7 +105,7 @@ in recurseIntoAttrs { meta = rec { platforms = lib.platforms.all; - broken = (stdenv.hostPlatform.isGhcjs && __elem compiler-nix-name ["ghc961" "ghc962" "ghc9820230704"]) || stdenv.hostPlatform.isMusl; + broken = (stdenv.hostPlatform.isGhcjs && __compareVersion buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.6.1" >= 0) || stdenv.hostPlatform.isMusl; disabled = broken; }; From 5e60b20521e68e959c006f619ff22e0cdf8a3e79 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Wed, 16 Aug 2023 23:00:45 +1200 Subject: [PATCH 059/117] Mark tests as broken --- test/buildable/default.nix | 2 +- test/c-ffi/default.nix | 2 +- test/cabal-hpack/default.nix | 2 +- test/cabal-simple/default.nix | 4 ++-- test/cabal-source-repo-comments/default.nix | 2 +- test/cabal-source-repo/default.nix | 2 +- test/cabal-sublib/default.nix | 2 +- test/call-cabal-project-to-nix/default.nix | 2 +- test/exe-only/default.nix | 2 +- test/extra-hackage/default.nix | 2 +- test/ghc-options/cabal.nix | 2 +- test/project-flags/cabal.nix | 2 +- test/with-packages/default.nix | 6 +++--- 13 files changed, 16 insertions(+), 16 deletions(-) diff --git a/test/buildable/default.nix b/test/buildable/default.nix index c6b266c0c5..0f813ad079 100644 --- a/test/buildable/default.nix +++ b/test/buildable/default.nix @@ -27,7 +27,7 @@ in recurseIntoAttrs { meta = rec { platforms = lib.platforms.all; - broken = stdenv.hostPlatform.isGhcjs && __compareVersion buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.6.1" >= 0; + broken = stdenv.hostPlatform.isGhcjs && __compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.6.1" >= 0; disabled = broken; }; diff --git a/test/c-ffi/default.nix b/test/c-ffi/default.nix index 9169af821a..f03ac119fe 100644 --- a/test/c-ffi/default.nix +++ b/test/c-ffi/default.nix @@ -57,7 +57,7 @@ in recurseIntoAttrs { meta = rec { platforms = lib.platforms.all; - broken = stdenv.hostPlatform.isGhcjs && __compareVersion buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.6.1" >= 0; + broken = stdenv.hostPlatform.isGhcjs && __compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.6.1" >= 0; disabled = broken; }; diff --git a/test/cabal-hpack/default.nix b/test/cabal-hpack/default.nix index 6dc2085824..431eb83d7b 100644 --- a/test/cabal-hpack/default.nix +++ b/test/cabal-hpack/default.nix @@ -58,7 +58,7 @@ in recurseIntoAttrs { meta = rec { platforms = lib.platforms.all; - broken = stdenv.hostPlatform.isGhcjs && __compareVersion buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.6.1" >= 0; + broken = stdenv.hostPlatform.isGhcjs && __compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.6.1" >= 0; disabled = broken; }; diff --git a/test/cabal-simple/default.nix b/test/cabal-simple/default.nix index 8a086886ff..8b6f7f427e 100644 --- a/test/cabal-simple/default.nix +++ b/test/cabal-simple/default.nix @@ -32,7 +32,7 @@ in recurseIntoAttrs { }).overrideAttrs (_: _: { meta = rec { platforms = lib.platforms.all; - broken = stdenv.hostPlatform.isGhcjs && __compareVersion buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.6.1" >= 0; + broken = stdenv.hostPlatform.isGhcjs && __compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.6.1" >= 0; disabled = broken; }; }); @@ -69,7 +69,7 @@ in recurseIntoAttrs { meta = rec { platforms = lib.platforms.all; - broken = stdenv.hostPlatform.isGhcjs && __compareVersion buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.6.1" >= 0; + broken = stdenv.hostPlatform.isGhcjs && __compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.6.1" >= 0; disabled = broken; }; diff --git a/test/cabal-source-repo-comments/default.nix b/test/cabal-source-repo-comments/default.nix index b10df96a44..83b4cd9a32 100644 --- a/test/cabal-source-repo-comments/default.nix +++ b/test/cabal-source-repo-comments/default.nix @@ -26,7 +26,7 @@ in recurseIntoAttrs { meta = rec { platforms = lib.platforms.all; - broken = stdenv.hostPlatform.isGhcjs && __compareVersion buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.6.1" >= 0; + broken = stdenv.hostPlatform.isGhcjs && __compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.6.1" >= 0; disabled = broken; }; diff --git a/test/cabal-source-repo/default.nix b/test/cabal-source-repo/default.nix index 361f316a92..3dd16efb0f 100644 --- a/test/cabal-source-repo/default.nix +++ b/test/cabal-source-repo/default.nix @@ -26,7 +26,7 @@ in recurseIntoAttrs { meta = rec { platforms = lib.platforms.all; - broken = stdenv.hostPlatform.isGhcjs && __compareVersion buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.6.1" >= 0; + broken = stdenv.hostPlatform.isGhcjs && __compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.6.1" >= 0; disabled = broken; }; diff --git a/test/cabal-sublib/default.nix b/test/cabal-sublib/default.nix index c10356d09d..21395f38da 100644 --- a/test/cabal-sublib/default.nix +++ b/test/cabal-sublib/default.nix @@ -53,7 +53,7 @@ in recurseIntoAttrs { meta = rec { platforms = lib.platforms.all; - broken = stdenv.hostPlatform.isGhcjs && __compareVersion buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.6.1" >= 0; + broken = stdenv.hostPlatform.isGhcjs && __compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.6.1" >= 0; disabled = broken; }; diff --git a/test/call-cabal-project-to-nix/default.nix b/test/call-cabal-project-to-nix/default.nix index aa0adeee02..58d971d57a 100644 --- a/test/call-cabal-project-to-nix/default.nix +++ b/test/call-cabal-project-to-nix/default.nix @@ -51,7 +51,7 @@ in recurseIntoAttrs { meta = rec { platforms = lib.platforms.all; - broken = stdenv.hostPlatform.isGhcjs && __compareVersion buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.6.1" >= 0; + broken = stdenv.hostPlatform.isGhcjs && __compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.6.1" >= 0; disabled = broken; }; diff --git a/test/exe-only/default.nix b/test/exe-only/default.nix index 4b4493f74d..d95bc742da 100644 --- a/test/exe-only/default.nix +++ b/test/exe-only/default.nix @@ -46,7 +46,7 @@ in recurseIntoAttrs { meta = rec { platforms = lib.platforms.all; - broken = stdenv.hostPlatform.isGhcjs && __compareVersion buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.6.1" >= 0; + broken = stdenv.hostPlatform.isGhcjs && __compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.6.1" >= 0; disabled = broken; }; diff --git a/test/extra-hackage/default.nix b/test/extra-hackage/default.nix index cf128bdb69..67bc9a7127 100644 --- a/test/extra-hackage/default.nix +++ b/test/extra-hackage/default.nix @@ -75,7 +75,7 @@ in recurseIntoAttrs { meta = rec { platforms = lib.platforms.all; - broken = stdenv.hostPlatform.isGhcjs && __compareVersion buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.6.1" >= 0; + broken = stdenv.hostPlatform.isGhcjs && __compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.6.1" >= 0; disabled = broken; }; diff --git a/test/ghc-options/cabal.nix b/test/ghc-options/cabal.nix index 6edb428c80..8f883c968e 100644 --- a/test/ghc-options/cabal.nix +++ b/test/ghc-options/cabal.nix @@ -35,7 +35,7 @@ in recurseIntoAttrs { meta = rec { platforms = lib.platforms.all; - broken = stdenv.hostPlatform.isGhcjs && __compareVersion buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.6.1" >= 0; + broken = stdenv.hostPlatform.isGhcjs && __compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.6.1" >= 0; disabled = broken; }; diff --git a/test/project-flags/cabal.nix b/test/project-flags/cabal.nix index 0b03449cf8..5d256f7154 100644 --- a/test/project-flags/cabal.nix +++ b/test/project-flags/cabal.nix @@ -27,7 +27,7 @@ in recurseIntoAttrs { meta = rec { platforms = lib.platforms.all; - broken = stdenv.hostPlatform.isGhcjs && __compareVersion buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.6.1" >= 0; + broken = stdenv.hostPlatform.isGhcjs && __compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.6.1" >= 0; disabled = broken; }; diff --git a/test/with-packages/default.nix b/test/with-packages/default.nix index 02e013a913..ed6f327c1e 100644 --- a/test/with-packages/default.nix +++ b/test/with-packages/default.nix @@ -39,7 +39,7 @@ in recurseIntoAttrs { test-shell = (addCabalInstall library.shell).overrideAttrs (_: _: { meta = rec { platforms = lib.platforms.all; - broken = stdenv.hostPlatform.isGhcjs && __compareVersion buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.6.1" >= 0; + broken = stdenv.hostPlatform.isGhcjs && __compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.6.1" >= 0; disabled = broken; }; }); @@ -48,7 +48,7 @@ in recurseIntoAttrs { test-shell-dec = (addCabalInstall decLibrary.shell).overrideAttrs (_: _: { meta = rec { platforms = lib.platforms.all; - broken = stdenv.hostPlatform.isGhcjs && __compareVersion buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.6.1" >= 0; + broken = stdenv.hostPlatform.isGhcjs && __compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.6.1" >= 0; disabled = broken; }; }); @@ -105,7 +105,7 @@ in recurseIntoAttrs { meta = rec { platforms = lib.platforms.all; - broken = (stdenv.hostPlatform.isGhcjs && __compareVersion buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.6.1" >= 0) || stdenv.hostPlatform.isMusl; + broken = (stdenv.hostPlatform.isGhcjs && __compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.6.1" >= 0) || stdenv.hostPlatform.isMusl; disabled = broken; }; From bc70d67183fa38cf06c673d30f46d55d8a1852b5 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Fri, 18 Aug 2023 16:17:31 +1200 Subject: [PATCH 060/117] Fix for ghc9820230704 --- compiler/ghc/default.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/compiler/ghc/default.nix b/compiler/ghc/default.nix index 958126645d..26c24e8ebe 100644 --- a/compiler/ghc/default.nix +++ b/compiler/ghc/default.nix @@ -651,6 +651,11 @@ stdenv.mkDerivation (rec { for a in libraries/*/*.cabal.in utils/*/*.cabal.in compiler/ghc.cabal.in; do ${hadrian}/bin/hadrian ${hadrianArgs} "''${a%.*}" done + '' + lib.optionalString (ghc-version == "9.8.20230704") '' + for a in bytearray-access-ops.txt.pp addr-access-ops.txt.pp primops.txt; do + ${hadrian}/bin/hadrian ${hadrianArgs} _build/stage0/compiler/build/$a + cp _build/stage0/compiler/build/$a compiler/GHC/Builtin/$a + done '' + lib.optionalString stdenv.isDarwin '' substituteInPlace mk/system-cxx-std-lib-1.0.conf \ --replace 'dynamic-library-dirs:' 'dynamic-library-dirs: ${libcxx}/lib ${libcxxabi}/lib' From 965c62eb1cc118e1b09cd3b8a4824145d9e36b9a Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Sat, 19 Aug 2023 00:52:05 +1200 Subject: [PATCH 061/117] Fix for missing `ld` command --- builder/comp-builder.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/builder/comp-builder.nix b/builder/comp-builder.nix index 0cd59b4192..9d653bec0a 100644 --- a/builder/comp-builder.nix +++ b/builder/comp-builder.nix @@ -187,7 +187,11 @@ let "--with-ar=${stdenv.cc.bintools.targetPrefix}ar" "--with-strip=${stdenv.cc.bintools.targetPrefix}strip" ] - ) ++ [ # other flags + ) # Starting with ghc 9.10 the `ld command` will no longer be in the GHC `settings` file. + # We need to start passing it explicitly to setup like we do for `ar` and `strip`. + ++ lib.optional (builtins.compareVersions defaults.ghc.version "9.8" >= 0) + "--with-ld=${stdenv.cc.bintools.targetPrefix}ld" + ++ [ # other flags (disableFeature dontStrip "executable-stripping") (disableFeature dontStrip "library-stripping") (enableFeature enableLibraryProfiling "library-profiling") From 79e9a57c62e823eb34a7664cf55d31420792804b Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Sat, 19 Aug 2023 01:46:04 +1200 Subject: [PATCH 062/117] Fix for ghcjs --- builder/comp-builder.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/builder/comp-builder.nix b/builder/comp-builder.nix index 9d653bec0a..56b6b14a7b 100644 --- a/builder/comp-builder.nix +++ b/builder/comp-builder.nix @@ -189,8 +189,12 @@ let ] ) # Starting with ghc 9.10 the `ld command` will no longer be in the GHC `settings` file. # We need to start passing it explicitly to setup like we do for `ar` and `strip`. - ++ lib.optional (builtins.compareVersions defaults.ghc.version "9.8" >= 0) + ++ lib.optional (!stdenv.hostPlatform.isGhcjs && builtins.compareVersions defaults.ghc.version "9.8" >= 0) "--with-ld=${stdenv.cc.bintools.targetPrefix}ld" + ++ lib.optionals (stdenv.hostPlatform.isGhcjs) [ + "--with-gcc=${buildPackages.emscripten}/bin/emcc" + "--with-ld=${buildPackages.emscripten}/bin/emcc" + ] ++ [ # other flags (disableFeature dontStrip "executable-stripping") (disableFeature dontStrip "library-stripping") From 18bbdb552fe1ea862739b128f31e6fa1d29d7988 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Tue, 22 Aug 2023 22:50:53 +1200 Subject: [PATCH 063/117] Fix duplicate Stack.o symbols --- overlays/bootstrap.nix | 1 + .../patches/ghc/ghc-9.9-mv-stack-c-file.patch | 17 +++++++++++++++++ 2 files changed, 18 insertions(+) create mode 100644 overlays/patches/ghc/ghc-9.9-mv-stack-c-file.patch diff --git a/overlays/bootstrap.nix b/overlays/bootstrap.nix index 7b307e08eb..bcb0cd181a 100644 --- a/overlays/bootstrap.nix +++ b/overlays/bootstrap.nix @@ -209,6 +209,7 @@ in { ++ final.lib.optional (versionAtLeast "9.0" && final.stdenv.targetPlatform.isAarch64) ./patches/ghc/ghc-9.0-aarch64-handle-none-rela.patch ++ final.lib.optionals (final.stdenv.targetPlatform.isWindows) (fromUntil "9.9.0" "9.10" ./patches/ghc/ghc-9.9-mingw-tooldir-fix-11094.patch) # https://gitlab.haskell.org/ghc/ghc/-/merge_requests/11094 + ++ fromUntil "9.9.0" "9.10" ./patches/ghc/ghc-9.9-mv-stack-c-file.patch ; in ({ ghc865 = final.callPackage ../compiler/ghc (traceWarnOld "8.6" { diff --git a/overlays/patches/ghc/ghc-9.9-mv-stack-c-file.patch b/overlays/patches/ghc/ghc-9.9-mv-stack-c-file.patch new file mode 100644 index 0000000000..b353229a0d --- /dev/null +++ b/overlays/patches/ghc/ghc-9.9-mv-stack-c-file.patch @@ -0,0 +1,17 @@ +diff --git a/libraries/ghc-heap/cbits/Stack.c b/libraries/ghc-heap/cbits/StackC.c +similarity index 100% +rename from libraries/ghc-heap/cbits/Stack.c +rename to libraries/ghc-heap/cbits/StackC.c +diff --git a/libraries/ghc-heap/ghc-heap.cabal.in b/libraries/ghc-heap/ghc-heap.cabal.in +index 2135996cd9..6b8568391d 100644 +--- a/libraries/ghc-heap/ghc-heap.cabal.in ++++ b/libraries/ghc-heap/ghc-heap.cabal.in +@@ -31,7 +31,7 @@ library + if !os(ghcjs) + cmm-sources: cbits/HeapPrim.cmm + cbits/Stack.cmm +- c-sources: cbits/Stack.c ++ c-sources: cbits/StackC.c + + default-extensions: NoImplicitPrelude + From 5c5d21d855892ad3ac237984ff13438efff277dd Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Tue, 22 Aug 2023 22:51:26 +1200 Subject: [PATCH 064/117] Bump head.hackage --- modules/cabal-project.nix | 2 +- test/call-cabal-project-to-nix/default.nix | 2 +- test/extra-hackage/default.nix | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/cabal-project.nix b/modules/cabal-project.nix index 98a584b246..3c6b7e2ded 100644 --- a/modules/cabal-project.nix +++ b/modules/cabal-project.nix @@ -86,7 +86,7 @@ in { f76d08be13e9a61a377a85e2fb63f4c5435d40f8feb3e12eb05905edb8cdea89 26021a13b401500c8eb2761ca95c61f2d625bfef951b939a8124ed12ecf07329 7541f32a4ccca4f97aea3b22f5e593ba2c0267546016b992dfadcd2fe944e55d - --sha256: sha256-WrhyfhCN6IiP5/yCyQibeHHfUDoAUioAH2ysMLoRqdg= + --sha256: sha256-yMzVCP7DLb1Ztif1KCGk4RfREoROjtb6QBBtrSFy4OQ= active-repositories: hackage.haskell.org, head.hackage.ghc.haskell.org:override '' diff --git a/test/call-cabal-project-to-nix/default.nix b/test/call-cabal-project-to-nix/default.nix index 58d971d57a..3308f33c26 100644 --- a/test/call-cabal-project-to-nix/default.nix +++ b/test/call-cabal-project-to-nix/default.nix @@ -20,7 +20,7 @@ let f76d08be13e9a61a377a85e2fb63f4c5435d40f8feb3e12eb05905edb8cdea89 26021a13b401500c8eb2761ca95c61f2d625bfef951b939a8124ed12ecf07329 7541f32a4ccca4f97aea3b22f5e593ba2c0267546016b992dfadcd2fe944e55d - --sha256: sha256-WrhyfhCN6IiP5/yCyQibeHHfUDoAUioAH2ysMLoRqdg= + --sha256: sha256-yMzVCP7DLb1Ztif1KCGk4RfREoROjtb6QBBtrSFy4OQ= active-repositories: hackage.haskell.org, head.hackage.ghc.haskell.org:override ''; diff --git a/test/extra-hackage/default.nix b/test/extra-hackage/default.nix index 67bc9a7127..f2ec71ee91 100644 --- a/test/extra-hackage/default.nix +++ b/test/extra-hackage/default.nix @@ -29,7 +29,7 @@ let f76d08be13e9a61a377a85e2fb63f4c5435d40f8feb3e12eb05905edb8cdea89 26021a13b401500c8eb2761ca95c61f2d625bfef951b939a8124ed12ecf07329 7541f32a4ccca4f97aea3b22f5e593ba2c0267546016b992dfadcd2fe944e55d - --sha256: sha256-WrhyfhCN6IiP5/yCyQibeHHfUDoAUioAH2ysMLoRqdg= + --sha256: sha256-yMzVCP7DLb1Ztif1KCGk4RfREoROjtb6QBBtrSFy4OQ= active-repositories: hackage.haskell.org, head.hackage.ghc.haskell.org:override, extra-hackage-demo:override ''; From a4471c2c5aa6b9ef0adf025c56cf23282a5743da Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Wed, 23 Aug 2023 10:48:21 +1200 Subject: [PATCH 065/117] ifdLevel 1 --- ci.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci.nix b/ci.nix index 774e527d18..64d1dedf9e 100644 --- a/ci.nix +++ b/ci.nix @@ -1,6 +1,6 @@ # 'supportedSystems' restricts the set of systems that we will evaluate for. Useful when you're evaluating # on a machine with e.g. no way to build the Darwin IFDs you need! -{ ifdLevel ? 3 +{ ifdLevel ? 1 # Whether or not we are evaluating in restricted mode. This is true in Hydra, but not in Hercules. , restrictEval ? false , checkMaterialization ? false From 77061cfa449b520855e5aeafcd3ca078b615eef7 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Wed, 23 Aug 2023 11:16:59 +1200 Subject: [PATCH 066/117] ifdLevel 0 --- ci.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci.nix b/ci.nix index 64d1dedf9e..21d620c974 100644 --- a/ci.nix +++ b/ci.nix @@ -1,6 +1,6 @@ # 'supportedSystems' restricts the set of systems that we will evaluate for. Useful when you're evaluating # on a machine with e.g. no way to build the Darwin IFDs you need! -{ ifdLevel ? 1 +{ ifdLevel ? 0 # Whether or not we are evaluating in restricted mode. This is true in Hydra, but not in Hercules. , restrictEval ? false , checkMaterialization ? false From 69226d9fe4b419fba79f81badea8a701a6f251b5 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Wed, 23 Aug 2023 12:38:23 +1200 Subject: [PATCH 067/117] ifdLevel 1 --- ci.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci.nix b/ci.nix index 21d620c974..64d1dedf9e 100644 --- a/ci.nix +++ b/ci.nix @@ -1,6 +1,6 @@ # 'supportedSystems' restricts the set of systems that we will evaluate for. Useful when you're evaluating # on a machine with e.g. no way to build the Darwin IFDs you need! -{ ifdLevel ? 0 +{ ifdLevel ? 1 # Whether or not we are evaluating in restricted mode. This is true in Hydra, but not in Hercules. , restrictEval ? false , checkMaterialization ? false From aded5d5148dbdd0e06baa262f7cf92969261bc8b Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Wed, 23 Aug 2023 14:19:45 +1200 Subject: [PATCH 068/117] ifdLevel 2 --- ci.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci.nix b/ci.nix index 64d1dedf9e..056ffc9e07 100644 --- a/ci.nix +++ b/ci.nix @@ -1,6 +1,6 @@ # 'supportedSystems' restricts the set of systems that we will evaluate for. Useful when you're evaluating # on a machine with e.g. no way to build the Darwin IFDs you need! -{ ifdLevel ? 1 +{ ifdLevel ? 2 # Whether or not we are evaluating in restricted mode. This is true in Hydra, but not in Hercules. , restrictEval ? false , checkMaterialization ? false From a010b7803101cba5af45f370e9b09e12599e6521 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Wed, 23 Aug 2023 14:52:06 +1200 Subject: [PATCH 069/117] ifdLevel 3 --- ci.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci.nix b/ci.nix index 056ffc9e07..774e527d18 100644 --- a/ci.nix +++ b/ci.nix @@ -1,6 +1,6 @@ # 'supportedSystems' restricts the set of systems that we will evaluate for. Useful when you're evaluating # on a machine with e.g. no way to build the Darwin IFDs you need! -{ ifdLevel ? 2 +{ ifdLevel ? 3 # Whether or not we are evaluating in restricted mode. This is true in Hydra, but not in Hercules. , restrictEval ? false , checkMaterialization ? false From c36e42b4a4cba6cb665700991d9ce932c363ed51 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Wed, 23 Aug 2023 14:57:27 +1200 Subject: [PATCH 070/117] ifdLevel 0 --- ci.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci.nix b/ci.nix index 774e527d18..21d620c974 100644 --- a/ci.nix +++ b/ci.nix @@ -1,6 +1,6 @@ # 'supportedSystems' restricts the set of systems that we will evaluate for. Useful when you're evaluating # on a machine with e.g. no way to build the Darwin IFDs you need! -{ ifdLevel ? 3 +{ ifdLevel ? 0 # Whether or not we are evaluating in restricted mode. This is true in Hydra, but not in Hercules. , restrictEval ? false , checkMaterialization ? false From 7a5c65876b6a6411a4fa05a9d57ce2e215e1e4e9 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Wed, 23 Aug 2023 15:40:06 +1200 Subject: [PATCH 071/117] ifdLevel 1 --- ci.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci.nix b/ci.nix index 21d620c974..64d1dedf9e 100644 --- a/ci.nix +++ b/ci.nix @@ -1,6 +1,6 @@ # 'supportedSystems' restricts the set of systems that we will evaluate for. Useful when you're evaluating # on a machine with e.g. no way to build the Darwin IFDs you need! -{ ifdLevel ? 0 +{ ifdLevel ? 1 # Whether or not we are evaluating in restricted mode. This is true in Hydra, but not in Hercules. , restrictEval ? false , checkMaterialization ? false From 14cd413186e5048f306e26db8f169d429c77129c Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Wed, 23 Aug 2023 15:50:30 +1200 Subject: [PATCH 072/117] ifdLevel 2 --- ci.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci.nix b/ci.nix index 64d1dedf9e..056ffc9e07 100644 --- a/ci.nix +++ b/ci.nix @@ -1,6 +1,6 @@ # 'supportedSystems' restricts the set of systems that we will evaluate for. Useful when you're evaluating # on a machine with e.g. no way to build the Darwin IFDs you need! -{ ifdLevel ? 1 +{ ifdLevel ? 2 # Whether or not we are evaluating in restricted mode. This is true in Hydra, but not in Hercules. , restrictEval ? false , checkMaterialization ? false From 56932ad121ddb40065cfb44cf720d2ebf304f0c2 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Wed, 23 Aug 2023 16:06:33 +1200 Subject: [PATCH 073/117] ifdLevel 3 --- ci.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci.nix b/ci.nix index 056ffc9e07..774e527d18 100644 --- a/ci.nix +++ b/ci.nix @@ -1,6 +1,6 @@ # 'supportedSystems' restricts the set of systems that we will evaluate for. Useful when you're evaluating # on a machine with e.g. no way to build the Darwin IFDs you need! -{ ifdLevel ? 2 +{ ifdLevel ? 3 # Whether or not we are evaluating in restricted mode. This is true in Hydra, but not in Hercules. , restrictEval ? false , checkMaterialization ? false From 1eb067088ff318f63b15d8c4e0e5984ca1b862f2 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Fri, 25 Aug 2023 15:45:42 +1200 Subject: [PATCH 074/117] Enable ghcjs tests --- test/buildable/default.nix | 4 +--- test/c-ffi/default.nix | 4 +--- test/cabal-hpack/default.nix | 4 +--- test/cabal-simple/default.nix | 4 +--- test/cabal-source-repo-comments/default.nix | 4 +--- test/cabal-source-repo/default.nix | 4 +--- test/cabal-sublib/default.nix | 4 +--- test/call-cabal-project-to-nix/default.nix | 4 +--- test/exe-only/default.nix | 4 +--- test/extra-hackage/default.nix | 4 +--- test/ghc-options/cabal.nix | 4 +--- test/ghcjs-overlay/default.nix | 1 - test/project-flags/cabal.nix | 4 +--- test/with-packages/default.nix | 10 +++------- 14 files changed, 15 insertions(+), 44 deletions(-) diff --git a/test/buildable/default.nix b/test/buildable/default.nix index 0f813ad079..56522ff1f3 100644 --- a/test/buildable/default.nix +++ b/test/buildable/default.nix @@ -25,10 +25,8 @@ in recurseIntoAttrs { touch $out ''; - meta = rec { + meta = { platforms = lib.platforms.all; - broken = stdenv.hostPlatform.isGhcjs && __compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.6.1" >= 0; - disabled = broken; }; passthru = { diff --git a/test/c-ffi/default.nix b/test/c-ffi/default.nix index f03ac119fe..c8dae160d4 100644 --- a/test/c-ffi/default.nix +++ b/test/c-ffi/default.nix @@ -55,10 +55,8 @@ in recurseIntoAttrs { touch $out ''; - meta = rec { + meta = { platforms = lib.platforms.all; - broken = stdenv.hostPlatform.isGhcjs && __compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.6.1" >= 0; - disabled = broken; }; passthru = { diff --git a/test/cabal-hpack/default.nix b/test/cabal-hpack/default.nix index 431eb83d7b..4162bb6886 100644 --- a/test/cabal-hpack/default.nix +++ b/test/cabal-hpack/default.nix @@ -56,10 +56,8 @@ in recurseIntoAttrs { touch $out ''; - meta = rec { + meta = { platforms = lib.platforms.all; - broken = stdenv.hostPlatform.isGhcjs && __compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.6.1" >= 0; - disabled = broken; }; passthru = { diff --git a/test/cabal-simple/default.nix b/test/cabal-simple/default.nix index 8b6f7f427e..5d85910080 100644 --- a/test/cabal-simple/default.nix +++ b/test/cabal-simple/default.nix @@ -67,10 +67,8 @@ in recurseIntoAttrs { touch $out ''; - meta = rec { + meta = { platforms = lib.platforms.all; - broken = stdenv.hostPlatform.isGhcjs && __compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.6.1" >= 0; - disabled = broken; }; passthru = { diff --git a/test/cabal-source-repo-comments/default.nix b/test/cabal-source-repo-comments/default.nix index 83b4cd9a32..956c50aa02 100644 --- a/test/cabal-source-repo-comments/default.nix +++ b/test/cabal-source-repo-comments/default.nix @@ -24,10 +24,8 @@ in recurseIntoAttrs { touch $out ''; - meta = rec { + meta = { platforms = lib.platforms.all; - broken = stdenv.hostPlatform.isGhcjs && __compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.6.1" >= 0; - disabled = broken; }; passthru = { diff --git a/test/cabal-source-repo/default.nix b/test/cabal-source-repo/default.nix index 3dd16efb0f..c33bf0595e 100644 --- a/test/cabal-source-repo/default.nix +++ b/test/cabal-source-repo/default.nix @@ -24,10 +24,8 @@ in recurseIntoAttrs { touch $out ''; - meta = rec { + meta = { platforms = lib.platforms.all; - broken = stdenv.hostPlatform.isGhcjs && __compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.6.1" >= 0; - disabled = broken; }; passthru = { diff --git a/test/cabal-sublib/default.nix b/test/cabal-sublib/default.nix index 21395f38da..5281f7b341 100644 --- a/test/cabal-sublib/default.nix +++ b/test/cabal-sublib/default.nix @@ -51,10 +51,8 @@ in recurseIntoAttrs { touch $out ''; - meta = rec { + meta = { platforms = lib.platforms.all; - broken = stdenv.hostPlatform.isGhcjs && __compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.6.1" >= 0; - disabled = broken; }; passthru = { diff --git a/test/call-cabal-project-to-nix/default.nix b/test/call-cabal-project-to-nix/default.nix index 3308f33c26..ec28bb473f 100644 --- a/test/call-cabal-project-to-nix/default.nix +++ b/test/call-cabal-project-to-nix/default.nix @@ -49,10 +49,8 @@ in recurseIntoAttrs { touch $out ''; - meta = rec { + meta = { platforms = lib.platforms.all; - broken = stdenv.hostPlatform.isGhcjs && __compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.6.1" >= 0; - disabled = broken; }; passthru = { diff --git a/test/exe-only/default.nix b/test/exe-only/default.nix index d95bc742da..c832f8ce4e 100644 --- a/test/exe-only/default.nix +++ b/test/exe-only/default.nix @@ -44,10 +44,8 @@ in recurseIntoAttrs { touch $out ''; - meta = rec { + meta = { platforms = lib.platforms.all; - broken = stdenv.hostPlatform.isGhcjs && __compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.6.1" >= 0; - disabled = broken; }; passthru = { diff --git a/test/extra-hackage/default.nix b/test/extra-hackage/default.nix index f2ec71ee91..98e8b19674 100644 --- a/test/extra-hackage/default.nix +++ b/test/extra-hackage/default.nix @@ -73,10 +73,8 @@ in recurseIntoAttrs { touch $out ''; - meta = rec { + meta = { platforms = lib.platforms.all; - broken = stdenv.hostPlatform.isGhcjs && __compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.6.1" >= 0; - disabled = broken; }; passthru = { diff --git a/test/ghc-options/cabal.nix b/test/ghc-options/cabal.nix index 8f883c968e..c3388e8eae 100644 --- a/test/ghc-options/cabal.nix +++ b/test/ghc-options/cabal.nix @@ -33,10 +33,8 @@ in recurseIntoAttrs { touch $out ''; - meta = rec { + meta = { platforms = lib.platforms.all; - broken = stdenv.hostPlatform.isGhcjs && __compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.6.1" >= 0; - disabled = broken; }; passthru = { diff --git a/test/ghcjs-overlay/default.nix b/test/ghcjs-overlay/default.nix index 257c20c9a1..15812166d4 100644 --- a/test/ghcjs-overlay/default.nix +++ b/test/ghcjs-overlay/default.nix @@ -26,7 +26,6 @@ let packages = project.hsPkgs; in recurseIntoAttrs { - meta.disabled = __compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.4.0" >= 0; ifdInputs = { inherit (project) plan-nix; }; diff --git a/test/project-flags/cabal.nix b/test/project-flags/cabal.nix index 5d256f7154..808f56b104 100644 --- a/test/project-flags/cabal.nix +++ b/test/project-flags/cabal.nix @@ -25,10 +25,8 @@ in recurseIntoAttrs { touch $out ''; - meta = rec { + meta = { platforms = lib.platforms.all; - broken = stdenv.hostPlatform.isGhcjs && __compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.6.1" >= 0; - disabled = broken; }; passthru = { diff --git a/test/with-packages/default.nix b/test/with-packages/default.nix index ed6f327c1e..3abf070dbc 100644 --- a/test/with-packages/default.nix +++ b/test/with-packages/default.nix @@ -37,19 +37,15 @@ in recurseIntoAttrs { # Used for testing externally with nix-shell (../tests.sh). # This just adds cabal-install to the existing shells. test-shell = (addCabalInstall library.shell).overrideAttrs (_: _: { - meta = rec { + meta = { platforms = lib.platforms.all; - broken = stdenv.hostPlatform.isGhcjs && __compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.6.1" >= 0; - disabled = broken; }; }); # A variant of test-shell with the component option doExactConfig enabled test-shell-dec = (addCabalInstall decLibrary.shell).overrideAttrs (_: _: { - meta = rec { + meta = { platforms = lib.platforms.all; - broken = stdenv.hostPlatform.isGhcjs && __compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.6.1" >= 0; - disabled = broken; }; }); @@ -105,7 +101,7 @@ in recurseIntoAttrs { meta = rec { platforms = lib.platforms.all; - broken = (stdenv.hostPlatform.isGhcjs && __compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.6.1" >= 0) || stdenv.hostPlatform.isMusl; + broken = stdenv.hostPlatform.isMusl; disabled = broken; }; From 2fef92a9e0f5f9141a24b4e7ba2eef8ff0d75ca3 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Fri, 25 Aug 2023 15:46:42 +1200 Subject: [PATCH 075/117] Fix for ghcjs --- builder/comp-builder.nix | 2 +- overlays/patches/config.sub | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/builder/comp-builder.nix b/builder/comp-builder.nix index 8e148f7927..05d8eb7b03 100644 --- a/builder/comp-builder.nix +++ b/builder/comp-builder.nix @@ -203,7 +203,7 @@ let (enableFeature enableStatic "static") (enableFeature enableShared "shared") (enableFeature doCoverage "coverage") - (enableFeature enableLibraryForGhci "library-for-ghci") + (enableFeature (enableLibraryForGhci && !stdenv.hostPlatform.isGhcjs) "library-for-ghci") ] ++ lib.optionals (stdenv.hostPlatform.isMusl && (haskellLib.isExecutableType componentId)) [ # These flags will make sure the resulting executable is statically linked. # If it uses other libraries it may be necessary for to add more diff --git a/overlays/patches/config.sub b/overlays/patches/config.sub index cedbf61a9b..b73026eb73 100755 --- a/overlays/patches/config.sub +++ b/overlays/patches/config.sub @@ -1183,6 +1183,7 @@ case $cpu-$vendor in | i370 | i*86 | i860 | i960 | ia16 | ia64 \ | ip2k | iq2000 \ | js \ + | javascript \ | k1om \ | le32 | le64 \ | lm32 \ From 896644dd16bb196b4b5a897527708a1a1bda86ab Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Fri, 25 Aug 2023 16:21:51 +1200 Subject: [PATCH 076/117] Clunky temp work around for ghcjs-overlay test --- test/ghcjs-overlay/default.nix | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/test/ghcjs-overlay/default.nix b/test/ghcjs-overlay/default.nix index 15812166d4..339ad93581 100644 --- a/test/ghcjs-overlay/default.nix +++ b/test/ghcjs-overlay/default.nix @@ -6,7 +6,7 @@ let project = cabalProject' { src = testSrc "ghcjs-overlay"; inherit compiler-nix-name evalPackages; - cabalProjectLocal = if stdenv.hostPlatform.isGhcjs then '' + cabalProjectLocal = (if stdenv.hostPlatform.isGhcjs then '' repository ghcjs-overlay url: https://raw.githubusercontent.com/input-output-hk/hackage-overlay-ghcjs/bfc363b9f879c360e0a0460ec0c18ec87222ec32 secure: True @@ -16,7 +16,22 @@ let '' else '' allow-newer: double-conversion:bytestring - ''; + '') + + lib.optionalString (__compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.8.0" >= 0) '' + allow-newer: *:* + + repository head.hackage.ghc.haskell.org + url: https://ghc.gitlab.haskell.org/head.hackage/ + secure: True + key-threshold: 3 + root-keys: + f76d08be13e9a61a377a85e2fb63f4c5435d40f8feb3e12eb05905edb8cdea89 + 26021a13b401500c8eb2761ca95c61f2d625bfef951b939a8124ed12ecf07329 + 7541f32a4ccca4f97aea3b22f5e593ba2c0267546016b992dfadcd2fe944e55d + --sha256: sha256-yMzVCP7DLb1Ztif1KCGk4RfREoROjtb6QBBtrSFy4OQ= + + active-repositories: hackage.haskell.org, head.hackage.ghc.haskell.org:override${lib.optionalString stdenv.hostPlatform.isGhcjs ", ghcjs-overlay:override"} + ''; # Alternative to the --sha256 comment in cabal.project # sha256map = { # "https://raw.githubusercontent.com/input-output-hk/hackage-overlay-ghcjs/bfc363b9f879c360e0a0460ec0c18ec87222ec32" = From c08650639ef6a761565af07f3834300d72d60a27 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Fri, 25 Aug 2023 23:18:05 +1200 Subject: [PATCH 077/117] Fix for ghcjs-overlay test --- test/ghcjs-overlay/default.nix | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/test/ghcjs-overlay/default.nix b/test/ghcjs-overlay/default.nix index 339ad93581..cf2dcc31e4 100644 --- a/test/ghcjs-overlay/default.nix +++ b/test/ghcjs-overlay/default.nix @@ -15,22 +15,22 @@ let --sha256: sha256-y1vQnXI1XzkjnC4h66tVDmu2TZjZPcMrZEnE3m0XOfg= '' else '' - allow-newer: double-conversion:bytestring + allow-newer: *:* '') + lib.optionalString (__compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.8.0" >= 0) '' - allow-newer: *:* + allow-newer: *:* - repository head.hackage.ghc.haskell.org - url: https://ghc.gitlab.haskell.org/head.hackage/ - secure: True - key-threshold: 3 - root-keys: - f76d08be13e9a61a377a85e2fb63f4c5435d40f8feb3e12eb05905edb8cdea89 - 26021a13b401500c8eb2761ca95c61f2d625bfef951b939a8124ed12ecf07329 - 7541f32a4ccca4f97aea3b22f5e593ba2c0267546016b992dfadcd2fe944e55d - --sha256: sha256-yMzVCP7DLb1Ztif1KCGk4RfREoROjtb6QBBtrSFy4OQ= + repository head.hackage.ghc.haskell.org + url: https://ghc.gitlab.haskell.org/head.hackage/ + secure: True + key-threshold: 3 + root-keys: + f76d08be13e9a61a377a85e2fb63f4c5435d40f8feb3e12eb05905edb8cdea89 + 26021a13b401500c8eb2761ca95c61f2d625bfef951b939a8124ed12ecf07329 + 7541f32a4ccca4f97aea3b22f5e593ba2c0267546016b992dfadcd2fe944e55d + --sha256: sha256-yMzVCP7DLb1Ztif1KCGk4RfREoROjtb6QBBtrSFy4OQ= - active-repositories: hackage.haskell.org, head.hackage.ghc.haskell.org:override${lib.optionalString stdenv.hostPlatform.isGhcjs ", ghcjs-overlay:override"} + active-repositories: hackage.haskell.org, head.hackage.ghc.haskell.org:override${lib.optionalString stdenv.hostPlatform.isGhcjs ", ghcjs-overlay:override"} ''; # Alternative to the --sha256 comment in cabal.project # sha256map = { From bafbad6acb7fb3d495efe7f42c137dd42a01d755 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Sat, 26 Aug 2023 03:20:10 +1200 Subject: [PATCH 078/117] Add cabalProjectCompiler --- lib/call-cabal-project-to-nix.nix | 5 +++ modules/cabal-project.nix | 53 ++++++++++++++++++++----------- test/ghcjs-overlay/default.nix | 27 ++-------------- 3 files changed, 41 insertions(+), 44 deletions(-) diff --git a/lib/call-cabal-project-to-nix.nix b/lib/call-cabal-project-to-nix.nix index 4cc924ab66..b4946a710b 100644 --- a/lib/call-cabal-project-to-nix.nix +++ b/lib/call-cabal-project-to-nix.nix @@ -11,6 +11,7 @@ , cabalProjectFileName ? "cabal.project" , cabalProject ? null , cabalProjectLocal ? null +, cabalProjectCompiler ? null , cabalProjectFreeze ? null , caller ? "callCabalProjectToNix" # Name of the calling function for better warning messages , compilerSelection ? p: p.haskell-nix.compiler @@ -138,6 +139,10 @@ in let -- Added from `cabalProjectLocal` argument to the `cabalProject` function ${cabalProjectLocal} '' + + pkgs.lib.optionalString (cabalProjectCompiler != null) '' + -- Added from `cabalProjectCompiler` argument to the `cabalProject` function + ${cabalProjectCompiler} + '' } ''; diff --git a/modules/cabal-project.nix b/modules/cabal-project.nix index 1f27cf40b0..b4e65374a5 100644 --- a/modules/cabal-project.nix +++ b/modules/cabal-project.nix @@ -68,29 +68,44 @@ in { default = readIfExists config.src config.cabalProjectFileName; }; cabalProjectLocal = mkOption { + type = nullOr lines; + default = readIfExists config.src "${config.cabalProjectFileName}.local"; + }; + cabalProjectCompiler = mkOption { type = nullOr lines; default = let - fileContents = readIfExists config.src "${config.cabalProjectFileName}.local"; - in if __compareVersions pkgs.buildPackages.haskell-nix.compiler.${config.compiler-nix-name}.version "9.8.0" >= 0 - then '' - ${lib.optionalString (fileContents != null) fileContents} - - allow-newer: *:* - - repository head.hackage.ghc.haskell.org - url: https://ghc.gitlab.haskell.org/head.hackage/ - secure: True - key-threshold: 3 - root-keys: - f76d08be13e9a61a377a85e2fb63f4c5435d40f8feb3e12eb05905edb8cdea89 - 26021a13b401500c8eb2761ca95c61f2d625bfef951b939a8124ed12ecf07329 - 7541f32a4ccca4f97aea3b22f5e593ba2c0267546016b992dfadcd2fe944e55d - --sha256: sha256-yMzVCP7DLb1Ztif1KCGk4RfREoROjtb6QBBtrSFy4OQ= + useHeadHackage = __compareVersions pkgs.buildPackages.haskell-nix.compiler.${config.compiler-nix-name}.version "9.8.0" >= 0; + in + if pkgs.stdenv.hostPlatform.isGhcjs || useHeadHackage + then + optionalString pkgs.stdenv.hostPlatform.isGhcjs '' + repository ghcjs-overlay + url: https://raw.githubusercontent.com/input-output-hk/hackage-overlay-ghcjs/91f4ce9bea0e7f739b7495647c3f72a308ed1c6f + secure: True + root-keys: + key-threshold: 0 + --sha256: sha256-mZT7c+xR5cUTjLdCqOxpprjYL3kr/+9rmumtXvWAQlM= + '' + + optionalString useHeadHackage '' + allow-newer: *:* - active-repositories: hackage.haskell.org, head.hackage.ghc.haskell.org:override - '' - else fileContents; + repository head.hackage.ghc.haskell.org + url: https://ghc.gitlab.haskell.org/head.hackage/ + secure: True + key-threshold: 3 + root-keys: + f76d08be13e9a61a377a85e2fb63f4c5435d40f8feb3e12eb05905edb8cdea89 + 26021a13b401500c8eb2761ca95c61f2d625bfef951b939a8124ed12ecf07329 + 7541f32a4ccca4f97aea3b22f5e593ba2c0267546016b992dfadcd2fe944e55d + --sha256: sha256-yMzVCP7DLb1Ztif1KCGk4RfREoROjtb6QBBtrSFy4OQ= + '' + + optionalString (pkgs.stdenv.hostPlatform.isGhcjs || useHeadHackage) '' + active-repositories: hackage.haskell.org${ + optionalString useHeadHackage ", head.hackage.ghc.haskell.org:override" + + optionalString pkgs.stdenv.hostPlatform.isGhcjs ", ghcjs-overlay:override"} + '' + else null; }; cabalProjectFreeze = mkOption { type = nullOr lines; diff --git a/test/ghcjs-overlay/default.nix b/test/ghcjs-overlay/default.nix index cf2dcc31e4..878b49d71e 100644 --- a/test/ghcjs-overlay/default.nix +++ b/test/ghcjs-overlay/default.nix @@ -6,31 +6,8 @@ let project = cabalProject' { src = testSrc "ghcjs-overlay"; inherit compiler-nix-name evalPackages; - cabalProjectLocal = (if stdenv.hostPlatform.isGhcjs then '' - repository ghcjs-overlay - url: https://raw.githubusercontent.com/input-output-hk/hackage-overlay-ghcjs/bfc363b9f879c360e0a0460ec0c18ec87222ec32 - secure: True - root-keys: - key-threshold: 0 - --sha256: sha256-y1vQnXI1XzkjnC4h66tVDmu2TZjZPcMrZEnE3m0XOfg= - '' - else '' - allow-newer: *:* - '') - + lib.optionalString (__compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.8.0" >= 0) '' - allow-newer: *:* - - repository head.hackage.ghc.haskell.org - url: https://ghc.gitlab.haskell.org/head.hackage/ - secure: True - key-threshold: 3 - root-keys: - f76d08be13e9a61a377a85e2fb63f4c5435d40f8feb3e12eb05905edb8cdea89 - 26021a13b401500c8eb2761ca95c61f2d625bfef951b939a8124ed12ecf07329 - 7541f32a4ccca4f97aea3b22f5e593ba2c0267546016b992dfadcd2fe944e55d - --sha256: sha256-yMzVCP7DLb1Ztif1KCGk4RfREoROjtb6QBBtrSFy4OQ= - - active-repositories: hackage.haskell.org, head.hackage.ghc.haskell.org:override${lib.optionalString stdenv.hostPlatform.isGhcjs ", ghcjs-overlay:override"} + cabalProjectLocal = '' + allow-newer: *:* ''; # Alternative to the --sha256 comment in cabal.project # sha256map = { From d9c7571d18d9d2295856e33cf8ea7eb14a3ebf98 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Sat, 26 Aug 2023 03:21:55 +1200 Subject: [PATCH 079/117] Add cabalProjectCompiler --- modules/cabal-project.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/cabal-project.nix b/modules/cabal-project.nix index b4e65374a5..c818b831b6 100644 --- a/modules/cabal-project.nix +++ b/modules/cabal-project.nix @@ -100,7 +100,7 @@ in { 7541f32a4ccca4f97aea3b22f5e593ba2c0267546016b992dfadcd2fe944e55d --sha256: sha256-yMzVCP7DLb1Ztif1KCGk4RfREoROjtb6QBBtrSFy4OQ= '' - + optionalString (pkgs.stdenv.hostPlatform.isGhcjs || useHeadHackage) '' + + '' active-repositories: hackage.haskell.org${ optionalString useHeadHackage ", head.hackage.ghc.haskell.org:override" + optionalString pkgs.stdenv.hostPlatform.isGhcjs ", ghcjs-overlay:override"} From 46d7389d621c55d305e3bf5491b0955021cb942b Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Tue, 29 Aug 2023 12:35:53 +1200 Subject: [PATCH 080/117] Use `dontUpdateAutotoolsGnuConfigScripts` for ghcjs --- builder/comp-builder.nix | 4 ++++ modules/cabal-project.nix | 18 +++++++++--------- modules/component-options.nix | 6 ++++++ overlays/ghcjs.nix | 7 ++++--- 4 files changed, 23 insertions(+), 12 deletions(-) diff --git a/builder/comp-builder.nix b/builder/comp-builder.nix index 05d8eb7b03..d84371cb3f 100644 --- a/builder/comp-builder.nix +++ b/builder/comp-builder.nix @@ -39,6 +39,7 @@ let self = , dontPatchELF ? component.dontPatchELF , dontStrip ? component.dontStrip +, dontUpdateAutotoolsGnuConfigScripts ? component.dontUpdateAutotoolsGnuConfigScripts , hardeningDisable ? component.hardeningDisable , enableStatic ? component.enableStatic @@ -326,6 +327,9 @@ let // lib.optionalAttrs stdenv.hostPlatform.isMusl { # This fixes musl compilation of TH code that depends on C++ (for instance TH code that uses the double-conversion package) LD_LIBRARY_PATH="${pkgs.buildPackages.gcc-unwrapped.lib}/x86_64-unknown-linux-musl/lib"; + } + // lib.optionalAttrs dontUpdateAutotoolsGnuConfigScripts { + inherit dontUpdateAutotoolsGnuConfigScripts; }; haddock = haddockBuilder { diff --git a/modules/cabal-project.nix b/modules/cabal-project.nix index 0c8090760e..0816855e44 100644 --- a/modules/cabal-project.nix +++ b/modules/cabal-project.nix @@ -79,15 +79,7 @@ in { in if pkgs.stdenv.hostPlatform.isGhcjs || useHeadHackage then - optionalString pkgs.stdenv.hostPlatform.isGhcjs '' - repository ghcjs-overlay - url: https://raw.githubusercontent.com/input-output-hk/hackage-overlay-ghcjs/91f4ce9bea0e7f739b7495647c3f72a308ed1c6f - secure: True - root-keys: - key-threshold: 0 - --sha256: sha256-mZT7c+xR5cUTjLdCqOxpprjYL3kr/+9rmumtXvWAQlM= - '' - + optionalString useHeadHackage '' + optionalString useHeadHackage '' allow-newer: *:* repository head.hackage.ghc.haskell.org @@ -100,6 +92,14 @@ in { 7541f32a4ccca4f97aea3b22f5e593ba2c0267546016b992dfadcd2fe944e55d --sha256: sha256-yMzVCP7DLb1Ztif1KCGk4RfREoROjtb6QBBtrSFy4OQ= '' + + optionalString pkgs.stdenv.hostPlatform.isGhcjs '' + repository ghcjs-overlay + url: https://raw.githubusercontent.com/input-output-hk/hackage-overlay-ghcjs/91f4ce9bea0e7f739b7495647c3f72a308ed1c6f + secure: True + root-keys: + key-threshold: 0 + --sha256: sha256-mZT7c+xR5cUTjLdCqOxpprjYL3kr/+9rmumtXvWAQlM= + '' + '' active-repositories: hackage.haskell.org${ optionalString useHeadHackage ", head.hackage.ghc.haskell.org:override" diff --git a/modules/component-options.nix b/modules/component-options.nix index ad5783399d..86825cb11e 100644 --- a/modules/component-options.nix +++ b/modules/component-options.nix @@ -89,6 +89,12 @@ default = true; }; + dontUpdateAutotoolsGnuConfigScripts = lib.mkOption { + description = "If set, config.sub and config.guess will not be updated."; + type = lib.types.bool; + default = false; + }; + enableDeadCodeElimination = lib.mkOption { description = "If set, enables split sections for link-time dead-code stripping. Only applies to Linux"; type = lib.types.bool; diff --git a/overlays/ghcjs.nix b/overlays/ghcjs.nix index ad29cfe899..cc97c3293a 100644 --- a/overlays/ghcjs.nix +++ b/overlays/ghcjs.nix @@ -5,19 +5,20 @@ final: prev: ({ pkgs, buildModules, config, lib, ... }: { # Apply the patches that came with `ghcjs` # Also add a "Keep alive" message to prevent hydra timeouts when hsc2hs runs - packages = pkgs.lib.genAttrs (pkgs.lib.optionals (__elem config.compiler.nix-name ["ghc865" "ghc884" "ghc8107"]) ["base" "directory" "filepath" "ghc-prim" "integer-gmp" "process" "template-haskell" "time" "unix" "Win32" ]) + packages = pkgs.lib.genAttrs ["base" "directory" "filepath" "ghc-prim" "integer-gmp" "process" "template-haskell" "time" "unix" "Win32" ] (name: let ghcjs-src = pkgs.buildPackages.haskell-nix.compiler.${config.compiler.nix-name}.project.configured-src; # This src derivation is needed for the unpatched config.sub file # (the config.sub in the hackage is too old and the one created by autoreconf is too new for the patch). ghcjs-src' = pkgs.buildPackages.haskell-nix.compiler.${config.compiler.nix-name}.configured-src; in { - components.library.preConfigure = '' + components.library.preConfigure = if (__elem config.compiler.nix-name ["ghc865" "ghc884" "ghc8107"]) then '' tr -d '\r' < ${name}.cabal > ${name}.cabal-new mv ${name}.cabal-new ${name}.cabal if [[ -e config.sub ]]; then cp ${ghcjs-src'}/config.sub config.sub; fi patch -p3 < ${ghcjs-src}/lib/patches/${name}.patch - ''; + '' else ""; + components.library.dontUpdateAutotoolsGnuConfigScripts = true; components.library.preBuild = '' # Avoid timeouts while unix package runs hsc2hs (it does not print anything # for more than 900 seconds). From 07549c7bdd128d309d87b3cc907767bcd81e030e Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Tue, 29 Aug 2023 13:24:09 +1200 Subject: [PATCH 081/117] Try without setting `active-repositories` --- modules/cabal-project.nix | 5 ----- test/extra-hackage/default.nix | 15 --------------- 2 files changed, 20 deletions(-) diff --git a/modules/cabal-project.nix b/modules/cabal-project.nix index 0816855e44..e066ff8a0e 100644 --- a/modules/cabal-project.nix +++ b/modules/cabal-project.nix @@ -100,11 +100,6 @@ in { key-threshold: 0 --sha256: sha256-mZT7c+xR5cUTjLdCqOxpprjYL3kr/+9rmumtXvWAQlM= '' - + '' - active-repositories: hackage.haskell.org${ - optionalString useHeadHackage ", head.hackage.ghc.haskell.org:override" - + optionalString pkgs.stdenv.hostPlatform.isGhcjs ", ghcjs-overlay:override"} - '' else null; }; cabalProjectFreeze = mkOption { diff --git a/test/extra-hackage/default.nix b/test/extra-hackage/default.nix index 98e8b19674..6c43bb7a97 100644 --- a/test/extra-hackage/default.nix +++ b/test/extra-hackage/default.nix @@ -18,21 +18,6 @@ let extra-hackages = [ hackage ]; extra-hackage-tarballs = tarballs; - cabalProjectLocal = optionalString (__compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.8.0" >= 0) '' - allow-newer: *:* - - repository head.hackage.ghc.haskell.org - url: https://ghc.gitlab.haskell.org/head.hackage/ - secure: True - key-threshold: 3 - root-keys: - f76d08be13e9a61a377a85e2fb63f4c5435d40f8feb3e12eb05905edb8cdea89 - 26021a13b401500c8eb2761ca95c61f2d625bfef951b939a8124ed12ecf07329 - 7541f32a4ccca4f97aea3b22f5e593ba2c0267546016b992dfadcd2fe944e55d - --sha256: sha256-yMzVCP7DLb1Ztif1KCGk4RfREoROjtb6QBBtrSFy4OQ= - - active-repositories: hackage.haskell.org, head.hackage.ghc.haskell.org:override, extra-hackage-demo:override - ''; modules = [ # To prevent nix-build from trying to download it from the From 9f7bfc34d812dc6939c33f1809acfb6711aeaf5b Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Tue, 29 Aug 2023 15:17:59 +1200 Subject: [PATCH 082/117] Swap repo order --- modules/cabal-project.nix | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/modules/cabal-project.nix b/modules/cabal-project.nix index e066ff8a0e..828795da84 100644 --- a/modules/cabal-project.nix +++ b/modules/cabal-project.nix @@ -79,7 +79,15 @@ in { in if pkgs.stdenv.hostPlatform.isGhcjs || useHeadHackage then - optionalString useHeadHackage '' + optionalString pkgs.stdenv.hostPlatform.isGhcjs '' + repository ghcjs-overlay + url: https://raw.githubusercontent.com/input-output-hk/hackage-overlay-ghcjs/91f4ce9bea0e7f739b7495647c3f72a308ed1c6f + secure: True + root-keys: + key-threshold: 0 + --sha256: sha256-mZT7c+xR5cUTjLdCqOxpprjYL3kr/+9rmumtXvWAQlM= + '' + + optionalString useHeadHackage '' allow-newer: *:* repository head.hackage.ghc.haskell.org @@ -92,14 +100,6 @@ in { 7541f32a4ccca4f97aea3b22f5e593ba2c0267546016b992dfadcd2fe944e55d --sha256: sha256-yMzVCP7DLb1Ztif1KCGk4RfREoROjtb6QBBtrSFy4OQ= '' - + optionalString pkgs.stdenv.hostPlatform.isGhcjs '' - repository ghcjs-overlay - url: https://raw.githubusercontent.com/input-output-hk/hackage-overlay-ghcjs/91f4ce9bea0e7f739b7495647c3f72a308ed1c6f - secure: True - root-keys: - key-threshold: 0 - --sha256: sha256-mZT7c+xR5cUTjLdCqOxpprjYL3kr/+9rmumtXvWAQlM= - '' else null; }; cabalProjectFreeze = mkOption { From fe8ab14cb03d054d9bee1c3077291f63a87e7748 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Tue, 29 Aug 2023 16:05:20 +1200 Subject: [PATCH 083/117] Include `extra-hackage-tarballs` in `active-repositories` --- modules/cabal-project.nix | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/modules/cabal-project.nix b/modules/cabal-project.nix index 828795da84..7849bf53fc 100644 --- a/modules/cabal-project.nix +++ b/modules/cabal-project.nix @@ -79,15 +79,7 @@ in { in if pkgs.stdenv.hostPlatform.isGhcjs || useHeadHackage then - optionalString pkgs.stdenv.hostPlatform.isGhcjs '' - repository ghcjs-overlay - url: https://raw.githubusercontent.com/input-output-hk/hackage-overlay-ghcjs/91f4ce9bea0e7f739b7495647c3f72a308ed1c6f - secure: True - root-keys: - key-threshold: 0 - --sha256: sha256-mZT7c+xR5cUTjLdCqOxpprjYL3kr/+9rmumtXvWAQlM= - '' - + optionalString useHeadHackage '' + optionalString useHeadHackage '' allow-newer: *:* repository head.hackage.ghc.haskell.org @@ -100,6 +92,20 @@ in { 7541f32a4ccca4f97aea3b22f5e593ba2c0267546016b992dfadcd2fe944e55d --sha256: sha256-yMzVCP7DLb1Ztif1KCGk4RfREoROjtb6QBBtrSFy4OQ= '' + + optionalString pkgs.stdenv.hostPlatform.isGhcjs '' + repository ghcjs-overlay + url: https://raw.githubusercontent.com/input-output-hk/hackage-overlay-ghcjs/91f4ce9bea0e7f739b7495647c3f72a308ed1c6f + secure: True + root-keys: + key-threshold: 0 + --sha256: sha256-mZT7c+xR5cUTjLdCqOxpprjYL3kr/+9rmumtXvWAQlM= + '' + + '' + active-repositories: hackage.haskell.org${ + optionalString useHeadHackage ", head.hackage.ghc.haskell.org:override" + + optionalString pkgs.stdenv.hostPlatform.isGhcjs ", ghcjs-overlay:override" + + concatMapStrings (name: ", ${name}:override") (builtins.attrNames config.extra-hackage-tarballs)} + '' else null; }; cabalProjectFreeze = mkOption { From e9fc9fbc3edd7dce63a16a3aa80e199c9202e6a7 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Tue, 29 Aug 2023 16:42:45 +1200 Subject: [PATCH 084/117] Fix merge error --- overlays/bootstrap.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/overlays/bootstrap.nix b/overlays/bootstrap.nix index fc806f0cf6..04c8d95018 100644 --- a/overlays/bootstrap.nix +++ b/overlays/bootstrap.nix @@ -184,7 +184,7 @@ in { ++ final.lib.optionals (final.stdenv.targetPlatform.isWindows) (fromUntil "9.4.1" "9.4.5" ./patches/ghc/ghc-9.4-hadrian-win-cross.patch) ++ final.lib.optionals (final.stdenv.targetPlatform.isWindows) (fromUntil "9.4.7" "9.4.8" ./patches/ghc/ghc-9.8-hadrian-win-cross.patch) ++ final.lib.optionals (final.stdenv.targetPlatform.isWindows) (fromUntil "9.8.0" "9.10" ./patches/ghc/ghc-9.8-hadrian-win-cross.patch) - ++ fromUntil "9.4.5" "9.4.6" ./patches/ghc/ghc-9.4.5-include-order-fix.patch + ++ fromUntil "9.4.5" "9.4.8" ./patches/ghc/ghc-9.4.5-include-order-fix.patch ++ fromUntil "9.6.2" "9.8" ./patches/ghc/ghc-9.4.5-include-order-fix.patch ++ fromUntil "9.6.1" "9.10" ./patches/ghc/MR10116.patch ++ final.lib.optionals (final.stdenv.buildPlatform == final.stdenv.targetPlatform) (fromUntil "9.4.1" "9.6" ./patches/ghc/hadrian-build-deriveConstants-genprimopcode-ghc94.patch) From 43f660ad06ea7950fc3f61abba0b4058847c8970 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Fri, 1 Sep 2023 00:15:42 +1200 Subject: [PATCH 085/117] constraints: setup.Cabal >=3.10 --- lib/call-cabal-project-to-nix.nix | 8 ++-- modules/cabal-project.nix | 61 +++++++++++++++---------------- 2 files changed, 34 insertions(+), 35 deletions(-) diff --git a/lib/call-cabal-project-to-nix.nix b/lib/call-cabal-project-to-nix.nix index b4946a710b..0a2b0e3cfe 100644 --- a/lib/call-cabal-project-to-nix.nix +++ b/lib/call-cabal-project-to-nix.nix @@ -11,7 +11,7 @@ , cabalProjectFileName ? "cabal.project" , cabalProject ? null , cabalProjectLocal ? null -, cabalProjectCompiler ? null +, cabalProjectDefaults ? null , cabalProjectFreeze ? null , caller ? "callCabalProjectToNix" # Name of the calling function for better warning messages , compilerSelection ? p: p.haskell-nix.compiler @@ -139,9 +139,9 @@ in let -- Added from `cabalProjectLocal` argument to the `cabalProject` function ${cabalProjectLocal} '' - + pkgs.lib.optionalString (cabalProjectCompiler != null) '' - -- Added from `cabalProjectCompiler` argument to the `cabalProject` function - ${cabalProjectCompiler} + + pkgs.lib.optionalString (cabalProjectDefaults != null) '' + -- Added from `cabalProjectDefaults` argument to the `cabalProject` function + ${cabalProjectDefaults} '' } ''; diff --git a/modules/cabal-project.nix b/modules/cabal-project.nix index 7849bf53fc..e08786a580 100644 --- a/modules/cabal-project.nix +++ b/modules/cabal-project.nix @@ -71,42 +71,41 @@ in { type = nullOr lines; default = readIfExists config.src "${config.cabalProjectFileName}.local"; }; - cabalProjectCompiler = mkOption { + cabalProjectDefaults = mkOption { type = nullOr lines; default = let useHeadHackage = __compareVersions pkgs.buildPackages.haskell-nix.compiler.${config.compiler-nix-name}.version "9.8.0" >= 0; - in - if pkgs.stdenv.hostPlatform.isGhcjs || useHeadHackage - then - optionalString useHeadHackage '' - allow-newer: *:* + in '' + constraints: setup.Cabal >=3.10 + ${ optionalString useHeadHackage '' + allow-newer: *:* - repository head.hackage.ghc.haskell.org - url: https://ghc.gitlab.haskell.org/head.hackage/ - secure: True - key-threshold: 3 - root-keys: - f76d08be13e9a61a377a85e2fb63f4c5435d40f8feb3e12eb05905edb8cdea89 - 26021a13b401500c8eb2761ca95c61f2d625bfef951b939a8124ed12ecf07329 - 7541f32a4ccca4f97aea3b22f5e593ba2c0267546016b992dfadcd2fe944e55d - --sha256: sha256-yMzVCP7DLb1Ztif1KCGk4RfREoROjtb6QBBtrSFy4OQ= - '' - + optionalString pkgs.stdenv.hostPlatform.isGhcjs '' - repository ghcjs-overlay - url: https://raw.githubusercontent.com/input-output-hk/hackage-overlay-ghcjs/91f4ce9bea0e7f739b7495647c3f72a308ed1c6f - secure: True - root-keys: - key-threshold: 0 - --sha256: sha256-mZT7c+xR5cUTjLdCqOxpprjYL3kr/+9rmumtXvWAQlM= - '' - + '' - active-repositories: hackage.haskell.org${ - optionalString useHeadHackage ", head.hackage.ghc.haskell.org:override" - + optionalString pkgs.stdenv.hostPlatform.isGhcjs ", ghcjs-overlay:override" - + concatMapStrings (name: ", ${name}:override") (builtins.attrNames config.extra-hackage-tarballs)} - '' - else null; + repository head.hackage.ghc.haskell.org + url: https://ghc.gitlab.haskell.org/head.hackage/ + secure: True + key-threshold: 3 + root-keys: + f76d08be13e9a61a377a85e2fb63f4c5435d40f8feb3e12eb05905edb8cdea89 + 26021a13b401500c8eb2761ca95c61f2d625bfef951b939a8124ed12ecf07329 + 7541f32a4ccca4f97aea3b22f5e593ba2c0267546016b992dfadcd2fe944e55d + --sha256: sha256-yMzVCP7DLb1Ztif1KCGk4RfREoROjtb6QBBtrSFy4OQ= + '' + + optionalString pkgs.stdenv.hostPlatform.isGhcjs '' + repository ghcjs-overlay + url: https://raw.githubusercontent.com/input-output-hk/hackage-overlay-ghcjs/91f4ce9bea0e7f739b7495647c3f72a308ed1c6f + secure: True + root-keys: + key-threshold: 0 + --sha256: sha256-mZT7c+xR5cUTjLdCqOxpprjYL3kr/+9rmumtXvWAQlM= + '' + + '' + active-repositories: hackage.haskell.org${ + optionalString useHeadHackage ", head.hackage.ghc.haskell.org:override" + + optionalString pkgs.stdenv.hostPlatform.isGhcjs ", ghcjs-overlay:override" + + concatMapStrings (name: ", ${name}:override") (builtins.attrNames config.extra-hackage-tarballs)} + '' + }''; }; cabalProjectFreeze = mkOption { type = nullOr lines; From 76f7a77a4f1f2338542126c0d090e4a93a5794e6 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Fri, 1 Sep 2023 00:19:40 +1200 Subject: [PATCH 086/117] Leave out daily updates for now --- .github/workflows/updates.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/updates.yml b/.github/workflows/updates.yml index d54d86ff37..e77ec4c132 100644 --- a/.github/workflows/updates.yml +++ b/.github/workflows/updates.yml @@ -20,8 +20,6 @@ jobs: run: | nix flake lock --update-input hackage nix flake lock --update-input stackage - nix flake lock --update-input ghc980 - nix flake lock --update-input ghc99 - name: Commit and push changes run: | git config --local user.email "devops+nix-tools@iohk.io" From a8b440e16ac8089ad45d405cb8a4f27d87b2b8b5 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Fri, 1 Sep 2023 00:46:33 +1200 Subject: [PATCH 087/117] Fix for ghcOptions and js backend of ghc --- builder/comp-builder.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/builder/comp-builder.nix b/builder/comp-builder.nix index d84371cb3f..70baee084e 100644 --- a/builder/comp-builder.nix +++ b/builder/comp-builder.nix @@ -231,7 +231,7 @@ let ++ lib.optionals useLLVM [ "--ghc-option=-fPIC" "--gcc-option=-fPIC" ] - ++ map (o: ''--ghc${lib.optionalString stdenv.hostPlatform.isGhcjs "js"}-options="${o}"'') ghcOptions + ++ map (o: ''--ghc${lib.optionalString (stdenv.hostPlatform.isGhcjs && builtins.compareVersions defaults.ghc.version "9" < 0) "js"}-options="${o}"'') ghcOptions ++ lib.optional ( # GHC 9.2 cross compiler built with older versions of GHC seem to have problems # with unique conters. Perhaps because the name changed for the counters. From b890dd9ad689ee4b0818f7ac982ed7eda2f7711c Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Fri, 1 Sep 2023 00:48:20 +1200 Subject: [PATCH 088/117] Disable still broken ghcjs tests --- test/c-ffi/default.nix | 4 +++- test/cabal-simple/default.nix | 4 +++- test/cabal-source-repo-comments/default.nix | 4 +++- test/cabal-source-repo/default.nix | 4 +++- test/cabal-sublib/default.nix | 4 +++- test/call-cabal-project-to-nix/default.nix | 4 +++- test/exe-only/default.nix | 4 +++- 7 files changed, 21 insertions(+), 7 deletions(-) diff --git a/test/c-ffi/default.nix b/test/c-ffi/default.nix index c8dae160d4..f03ac119fe 100644 --- a/test/c-ffi/default.nix +++ b/test/c-ffi/default.nix @@ -55,8 +55,10 @@ in recurseIntoAttrs { touch $out ''; - meta = { + meta = rec { platforms = lib.platforms.all; + broken = stdenv.hostPlatform.isGhcjs && __compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.6.1" >= 0; + disabled = broken; }; passthru = { diff --git a/test/cabal-simple/default.nix b/test/cabal-simple/default.nix index 5d85910080..8b6f7f427e 100644 --- a/test/cabal-simple/default.nix +++ b/test/cabal-simple/default.nix @@ -67,8 +67,10 @@ in recurseIntoAttrs { touch $out ''; - meta = { + meta = rec { platforms = lib.platforms.all; + broken = stdenv.hostPlatform.isGhcjs && __compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.6.1" >= 0; + disabled = broken; }; passthru = { diff --git a/test/cabal-source-repo-comments/default.nix b/test/cabal-source-repo-comments/default.nix index 956c50aa02..83b4cd9a32 100644 --- a/test/cabal-source-repo-comments/default.nix +++ b/test/cabal-source-repo-comments/default.nix @@ -24,8 +24,10 @@ in recurseIntoAttrs { touch $out ''; - meta = { + meta = rec { platforms = lib.platforms.all; + broken = stdenv.hostPlatform.isGhcjs && __compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.6.1" >= 0; + disabled = broken; }; passthru = { diff --git a/test/cabal-source-repo/default.nix b/test/cabal-source-repo/default.nix index c33bf0595e..3dd16efb0f 100644 --- a/test/cabal-source-repo/default.nix +++ b/test/cabal-source-repo/default.nix @@ -24,8 +24,10 @@ in recurseIntoAttrs { touch $out ''; - meta = { + meta = rec { platforms = lib.platforms.all; + broken = stdenv.hostPlatform.isGhcjs && __compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.6.1" >= 0; + disabled = broken; }; passthru = { diff --git a/test/cabal-sublib/default.nix b/test/cabal-sublib/default.nix index 5281f7b341..21395f38da 100644 --- a/test/cabal-sublib/default.nix +++ b/test/cabal-sublib/default.nix @@ -51,8 +51,10 @@ in recurseIntoAttrs { touch $out ''; - meta = { + meta = rec { platforms = lib.platforms.all; + broken = stdenv.hostPlatform.isGhcjs && __compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.6.1" >= 0; + disabled = broken; }; passthru = { diff --git a/test/call-cabal-project-to-nix/default.nix b/test/call-cabal-project-to-nix/default.nix index ec28bb473f..3308f33c26 100644 --- a/test/call-cabal-project-to-nix/default.nix +++ b/test/call-cabal-project-to-nix/default.nix @@ -49,8 +49,10 @@ in recurseIntoAttrs { touch $out ''; - meta = { + meta = rec { platforms = lib.platforms.all; + broken = stdenv.hostPlatform.isGhcjs && __compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.6.1" >= 0; + disabled = broken; }; passthru = { diff --git a/test/exe-only/default.nix b/test/exe-only/default.nix index c832f8ce4e..d95bc742da 100644 --- a/test/exe-only/default.nix +++ b/test/exe-only/default.nix @@ -44,8 +44,10 @@ in recurseIntoAttrs { touch $out ''; - meta = { + meta = rec { platforms = lib.platforms.all; + broken = stdenv.hostPlatform.isGhcjs && __compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.6.1" >= 0; + disabled = broken; }; passthru = { From 8f912ea00e678a88c9fbf45240f6186a251ed198 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Fri, 1 Sep 2023 01:39:36 +1200 Subject: [PATCH 089/117] Fixes for constraints: Cabal >=3.10 --- build.nix | 9 ++++----- modules/cabal-project.nix | 2 ++ test/cabal-doctests/default.nix | 1 - test/index-state/default.nix | 1 + 4 files changed, 7 insertions(+), 6 deletions(-) diff --git a/build.nix b/build.nix index 5574e61168..5f7f73fcb8 100644 --- a/build.nix +++ b/build.nix @@ -43,13 +43,12 @@ in rec { "ghc8107" = "3.4.1"; }.${compiler-nix-name} or "latest"; }; - } // pkgs.lib.optionalAttrs (__compareVersions haskell.compiler.${compiler-nix-name}.version "9.6" < 0) { + } // pkgs.lib.optionalAttrs ( + __compareVersions haskell.compiler.${compiler-nix-name}.version "9.2" >= 0 + && __compareVersions haskell.compiler.${compiler-nix-name}.version "9.6" < 0) { stack = tool compiler-nix-name "stack" { - version = - if __compareVersions haskell.compiler.${compiler-nix-name}.version "9.2" < 0 - then "2.9.3.1" - else "2.11.1"; + version = "2.11.1"; inherit evalPackages; }; } // pkgs.lib.optionalAttrs (__compareVersions haskell.compiler.${compiler-nix-name}.version "9.6" < 0) { diff --git a/modules/cabal-project.nix b/modules/cabal-project.nix index e08786a580..c508506059 100644 --- a/modules/cabal-project.nix +++ b/modules/cabal-project.nix @@ -78,6 +78,8 @@ in { useHeadHackage = __compareVersions pkgs.buildPackages.haskell-nix.compiler.${config.compiler-nix-name}.version "9.8.0" >= 0; in '' constraints: setup.Cabal >=3.10 + allow-newer: entropy:Cabal + ${ optionalString useHeadHackage '' allow-newer: *:* diff --git a/test/cabal-doctests/default.nix b/test/cabal-doctests/default.nix index dc258c6c81..1a2ccd235c 100644 --- a/test/cabal-doctests/default.nix +++ b/test/cabal-doctests/default.nix @@ -8,7 +8,6 @@ let cabalProject' { inherit compiler-nix-name evalPackages; src = testSrc "cabal-doctests"; - index-state = "2021-01-11T00:00:00Z"; }; packages = project.hsPkgs; diff --git a/test/index-state/default.nix b/test/index-state/default.nix index 8c844d076c..f3ae4c892e 100644 --- a/test/index-state/default.nix +++ b/test/index-state/default.nix @@ -15,6 +15,7 @@ let package cabal-install flags: -native-dns ''; + cabalProjectDefaults = null; # Need to leave out `constraints: Cabal >=3.10` }).project.getPackage "hackage-security").components.library.version; version-before = version-used-at "2020-04-06T20:54:34Z"; version-after = version-used-at "2020-04-06T20:54:35Z"; From 98ccd2198d047a6b25e61d846874df3d7d6bfdb5 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Fri, 1 Sep 2023 01:50:18 +1200 Subject: [PATCH 090/117] ifdLevel 2 --- ci.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci.nix b/ci.nix index 14bb1957fd..c75b185765 100644 --- a/ci.nix +++ b/ci.nix @@ -1,6 +1,6 @@ # 'supportedSystems' restricts the set of systems that we will evaluate for. Useful when you're evaluating # on a machine with e.g. no way to build the Darwin IFDs you need! -{ ifdLevel ? 3 +{ ifdLevel ? 2 # Whether or not we are evaluating in restricted mode. This is true in Hydra, but not in Hercules. , restrictEval ? false , checkMaterialization ? false From 49c8a7bed064224917fd83f97c05187d74b0c481 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Fri, 1 Sep 2023 01:53:49 +1200 Subject: [PATCH 091/117] ifdLevel 3 --- ci.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci.nix b/ci.nix index c75b185765..14bb1957fd 100644 --- a/ci.nix +++ b/ci.nix @@ -1,6 +1,6 @@ # 'supportedSystems' restricts the set of systems that we will evaluate for. Useful when you're evaluating # on a machine with e.g. no way to build the Darwin IFDs you need! -{ ifdLevel ? 2 +{ ifdLevel ? 3 # Whether or not we are evaluating in restricted mode. This is true in Hydra, but not in Hercules. , restrictEval ? false , checkMaterialization ? false From 29b0121eb04b1878acb43d627d5710cb2ad263ac Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Fri, 1 Sep 2023 03:03:15 +1200 Subject: [PATCH 092/117] Fix hls tests --- build.nix | 2 ++ test/index-state/default.nix | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/build.nix b/build.nix index f18a08eb13..ca8aec7d0b 100644 --- a/build.nix +++ b/build.nix @@ -55,11 +55,13 @@ in rec { "hls-110" = tool compiler-nix-name "haskell-language-server" { inherit evalPackages; src = pkgs.haskell-nix.sources."hls-1.10"; + cabalProjectDefaults = null; # Need to leave out `constraints: setup.Cabal >=3.10` }; } // pkgs.lib.optionalAttrs (__compareVersions haskell.compiler.${compiler-nix-name}.version "9.8" < 0) { "hls-20" = tool compiler-nix-name "haskell-language-server" { inherit evalPackages; src = pkgs.haskell-nix.sources."hls-2.0"; + cabalProjectDefaults = null; # Need to leave out `constraints: setup.Cabal >=3.10` }; } // pkgs.lib.optionalAttrs (__compareVersions haskell.compiler.${compiler-nix-name}.version "9.8" < 0) { "hls-22" = tool compiler-nix-name "haskell-language-server" { diff --git a/test/index-state/default.nix b/test/index-state/default.nix index f3ae4c892e..113dcfa646 100644 --- a/test/index-state/default.nix +++ b/test/index-state/default.nix @@ -15,7 +15,7 @@ let package cabal-install flags: -native-dns ''; - cabalProjectDefaults = null; # Need to leave out `constraints: Cabal >=3.10` + cabalProjectDefaults = null; # Need to leave out `constraints: setup.Cabal >=3.10` }).project.getPackage "hackage-security").components.library.version; version-before = version-used-at "2020-04-06T20:54:34Z"; version-after = version-used-at "2020-04-06T20:54:35Z"; From 27948c63896945082aee84feb4c66754f2413b54 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Fri, 1 Sep 2023 23:51:22 +1200 Subject: [PATCH 093/117] Revert constraints: setup.Cabal >=3.10 --- build.nix | 2 -- modules/cabal-project.nix | 9 ++------- test/index-state/default.nix | 1 - 3 files changed, 2 insertions(+), 10 deletions(-) diff --git a/build.nix b/build.nix index ca8aec7d0b..f18a08eb13 100644 --- a/build.nix +++ b/build.nix @@ -55,13 +55,11 @@ in rec { "hls-110" = tool compiler-nix-name "haskell-language-server" { inherit evalPackages; src = pkgs.haskell-nix.sources."hls-1.10"; - cabalProjectDefaults = null; # Need to leave out `constraints: setup.Cabal >=3.10` }; } // pkgs.lib.optionalAttrs (__compareVersions haskell.compiler.${compiler-nix-name}.version "9.8" < 0) { "hls-20" = tool compiler-nix-name "haskell-language-server" { inherit evalPackages; src = pkgs.haskell-nix.sources."hls-2.0"; - cabalProjectDefaults = null; # Need to leave out `constraints: setup.Cabal >=3.10` }; } // pkgs.lib.optionalAttrs (__compareVersions haskell.compiler.${compiler-nix-name}.version "9.8" < 0) { "hls-22" = tool compiler-nix-name "haskell-language-server" { diff --git a/modules/cabal-project.nix b/modules/cabal-project.nix index c508506059..8e5b38bf5f 100644 --- a/modules/cabal-project.nix +++ b/modules/cabal-project.nix @@ -76,11 +76,7 @@ in { default = let useHeadHackage = __compareVersions pkgs.buildPackages.haskell-nix.compiler.${config.compiler-nix-name}.version "9.8.0" >= 0; - in '' - constraints: setup.Cabal >=3.10 - allow-newer: entropy:Cabal - - ${ optionalString useHeadHackage '' + in optionalString useHeadHackage '' allow-newer: *:* repository head.hackage.ghc.haskell.org @@ -106,8 +102,7 @@ in { optionalString useHeadHackage ", head.hackage.ghc.haskell.org:override" + optionalString pkgs.stdenv.hostPlatform.isGhcjs ", ghcjs-overlay:override" + concatMapStrings (name: ", ${name}:override") (builtins.attrNames config.extra-hackage-tarballs)} - '' - }''; + ''; }; cabalProjectFreeze = mkOption { type = nullOr lines; diff --git a/test/index-state/default.nix b/test/index-state/default.nix index 113dcfa646..8c844d076c 100644 --- a/test/index-state/default.nix +++ b/test/index-state/default.nix @@ -15,7 +15,6 @@ let package cabal-install flags: -native-dns ''; - cabalProjectDefaults = null; # Need to leave out `constraints: setup.Cabal >=3.10` }).project.getPackage "hackage-security").components.library.version; version-before = version-used-at "2020-04-06T20:54:34Z"; version-after = version-used-at "2020-04-06T20:54:35Z"; From d0ee0707edf4650db065aee8832a5bfe55ccd59c Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Sat, 2 Sep 2023 13:22:51 +1200 Subject: [PATCH 094/117] Bump ghc git inputs --- ci.nix | 2 +- flake.lock | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/ci.nix b/ci.nix index 14bb1957fd..7a9b291757 100644 --- a/ci.nix +++ b/ci.nix @@ -1,6 +1,6 @@ # 'supportedSystems' restricts the set of systems that we will evaluate for. Useful when you're evaluating # on a machine with e.g. no way to build the Darwin IFDs you need! -{ ifdLevel ? 3 +{ ifdLevel ? 0 # Whether or not we are evaluating in restricted mode. This is true in Hydra, but not in Hercules. , restrictEval ? false , checkMaterialization ? false diff --git a/flake.lock b/flake.lock index 1631b2c310..bdee796175 100644 --- a/flake.lock +++ b/flake.lock @@ -138,11 +138,11 @@ "ghc980": { "flake": false, "locked": { - "lastModified": 1691586105, - "narHash": "sha256-oVzcQQCYY39otXy1OibJ+QzQWiyDZafrTRTP/vOxTLw=", + "lastModified": 1692910316, + "narHash": "sha256-Qv8I3GzzIIN32RTEKI38BW5nO1f7j6Xm+dDeDUyYZWo=", "ref": "ghc-9.8", - "rev": "291963af49a12a05c40d9ed6fd000cba8b15595b", - "revCount": 61550, + "rev": "249aa8193e4c5c1ee46ce29b39d2fffa57de7904", + "revCount": 61566, "submodules": true, "type": "git", "url": "https://gitlab.haskell.org/ghc/ghc" @@ -157,11 +157,11 @@ "ghc99": { "flake": false, "locked": { - "lastModified": 1692035231, - "narHash": "sha256-QjvrRA//9LIGJW+ov6om3Bt8XQZ2rzfvVi2H+cSqPAg=", + "lastModified": 1693593002, + "narHash": "sha256-4TurNt5/JfnMKsfg6jaVI2uw3G9zJEfQibLptTd0LB8=", "ref": "refs/heads/master", - "rev": "994a9b35fb3f10f429933583d10e0d2fa2dd9b88", - "revCount": 61754, + "rev": "ac29787c92551682ec89fcd71ac939becf69f051", + "revCount": 61874, "submodules": true, "type": "git", "url": "https://gitlab.haskell.org/ghc/ghc" From d4330c95372136163ecf805341b45222a9857e0c Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Sat, 2 Sep 2023 13:44:02 +1200 Subject: [PATCH 095/117] Remove unnecessary patch --- overlays/bootstrap.nix | 1 - .../patches/ghc/ghc-9.9-mv-stack-c-file.patch | 17 ----------------- 2 files changed, 18 deletions(-) delete mode 100644 overlays/patches/ghc/ghc-9.9-mv-stack-c-file.patch diff --git a/overlays/bootstrap.nix b/overlays/bootstrap.nix index 04c8d95018..68951f0433 100644 --- a/overlays/bootstrap.nix +++ b/overlays/bootstrap.nix @@ -210,7 +210,6 @@ in { ++ final.lib.optional (versionAtLeast "9.0" && final.stdenv.targetPlatform.isAarch64) ./patches/ghc/ghc-9.0-aarch64-handle-none-rela.patch ++ final.lib.optionals (final.stdenv.targetPlatform.isWindows) (fromUntil "9.9.0" "9.10" ./patches/ghc/ghc-9.9-mingw-tooldir-fix-11094.patch) # https://gitlab.haskell.org/ghc/ghc/-/merge_requests/11094 - ++ fromUntil "9.9.0" "9.10" ./patches/ghc/ghc-9.9-mv-stack-c-file.patch ; in ({ ghc865 = final.callPackage ../compiler/ghc (traceWarnOld "8.6" { diff --git a/overlays/patches/ghc/ghc-9.9-mv-stack-c-file.patch b/overlays/patches/ghc/ghc-9.9-mv-stack-c-file.patch deleted file mode 100644 index b353229a0d..0000000000 --- a/overlays/patches/ghc/ghc-9.9-mv-stack-c-file.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff --git a/libraries/ghc-heap/cbits/Stack.c b/libraries/ghc-heap/cbits/StackC.c -similarity index 100% -rename from libraries/ghc-heap/cbits/Stack.c -rename to libraries/ghc-heap/cbits/StackC.c -diff --git a/libraries/ghc-heap/ghc-heap.cabal.in b/libraries/ghc-heap/ghc-heap.cabal.in -index 2135996cd9..6b8568391d 100644 ---- a/libraries/ghc-heap/ghc-heap.cabal.in -+++ b/libraries/ghc-heap/ghc-heap.cabal.in -@@ -31,7 +31,7 @@ library - if !os(ghcjs) - cmm-sources: cbits/HeapPrim.cmm - cbits/Stack.cmm -- c-sources: cbits/Stack.c -+ c-sources: cbits/StackC.c - - default-extensions: NoImplicitPrelude - From bf367cd09ddb10659f5f407f39de57fc970440a7 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Sat, 2 Sep 2023 20:29:18 +1200 Subject: [PATCH 096/117] ifdLevel 1 --- ci.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci.nix b/ci.nix index 7a9b291757..b9a63d7144 100644 --- a/ci.nix +++ b/ci.nix @@ -1,6 +1,6 @@ # 'supportedSystems' restricts the set of systems that we will evaluate for. Useful when you're evaluating # on a machine with e.g. no way to build the Darwin IFDs you need! -{ ifdLevel ? 0 +{ ifdLevel ? 1 # Whether or not we are evaluating in restricted mode. This is true in Hydra, but not in Hercules. , restrictEval ? false , checkMaterialization ? false From 815a0cb92c9bb78f2ad5be6b5e4b48d528683d79 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Sat, 2 Sep 2023 22:29:50 +1200 Subject: [PATCH 097/117] Fixes for latest ghc HEAD --- compiler/ghc/default.nix | 1 + overlays/ghc-packages.nix | 1 + 2 files changed, 2 insertions(+) diff --git a/compiler/ghc/default.nix b/compiler/ghc/default.nix index b894485160..6ab2d57c82 100644 --- a/compiler/ghc/default.nix +++ b/compiler/ghc/default.nix @@ -377,6 +377,7 @@ stdenv.mkDerivation (rec { export CC="${targetCC}/bin/emcc" export CXX="${targetCC}/bin/em++" export LD="${targetCC}/bin/emcc" + export NM="${targetCC}/share/emscripten/emnm" export EM_CACHE=$(mktemp -d) mv config.sub.ghcjs config.sub '' diff --git a/overlays/ghc-packages.nix b/overlays/ghc-packages.nix index 27a42f74ec..4d0e1efa5a 100644 --- a/overlays/ghc-packages.nix +++ b/overlays/ghc-packages.nix @@ -105,6 +105,7 @@ let pretty = "libraries/pretty"; } // final.lib.optionalAttrs (builtins.compareVersions ghcVersion "9.9" >= 0) { ghc-platform = "libraries/ghc-platform"; + ghc-internal = "libraries/ghc-internal"; }; # The nix produced by `cabalProject` differs slightly depending on From 8610eddad37245ffc7d08271d2e6e9e053dac87c Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Sat, 2 Sep 2023 22:43:05 +1200 Subject: [PATCH 098/117] Remove unnecessary patch --- overlays/bootstrap.nix | 2 -- .../ghc/ghc-9.9-mingw-tooldir-fix-11094.patch | 26 ------------------- 2 files changed, 28 deletions(-) delete mode 100644 overlays/patches/ghc/ghc-9.9-mingw-tooldir-fix-11094.patch diff --git a/overlays/bootstrap.nix b/overlays/bootstrap.nix index 68951f0433..6159a114db 100644 --- a/overlays/bootstrap.nix +++ b/overlays/bootstrap.nix @@ -208,8 +208,6 @@ in { ++ final.lib.optional (versionAtLeast "8.10" && versionLessThan "9.0" && final.stdenv.targetPlatform.isAarch64) ./patches/ghc/ghc-8.10-aarch64-handle-none-rela.patch ++ final.lib.optional (versionAtLeast "9.0" && final.stdenv.targetPlatform.isAarch64) ./patches/ghc/ghc-9.0-better-symbol-addr-debug.patch ++ final.lib.optional (versionAtLeast "9.0" && final.stdenv.targetPlatform.isAarch64) ./patches/ghc/ghc-9.0-aarch64-handle-none-rela.patch - - ++ final.lib.optionals (final.stdenv.targetPlatform.isWindows) (fromUntil "9.9.0" "9.10" ./patches/ghc/ghc-9.9-mingw-tooldir-fix-11094.patch) # https://gitlab.haskell.org/ghc/ghc/-/merge_requests/11094 ; in ({ ghc865 = final.callPackage ../compiler/ghc (traceWarnOld "8.6" { diff --git a/overlays/patches/ghc/ghc-9.9-mingw-tooldir-fix-11094.patch b/overlays/patches/ghc/ghc-9.9-mingw-tooldir-fix-11094.patch deleted file mode 100644 index 056002f55f..0000000000 --- a/overlays/patches/ghc/ghc-9.9-mingw-tooldir-fix-11094.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 9cfd6b56603563cdf1b837a85d1af2de35f2d614 Mon Sep 17 00:00:00 2001 -From: Moritz Angermann -Date: Tue, 15 Aug 2023 06:41:58 +0000 -Subject: [PATCH] Update Generate.hs - ---- - hadrian/src/Rules/Generate.hs | 3 --- - 1 file changed, 3 deletions(-) - -diff --git a/hadrian/src/Rules/Generate.hs b/hadrian/src/Rules/Generate.hs -index 93885b14e41..94c3049c30b 100644 ---- a/hadrian/src/Rules/Generate.hs -+++ b/hadrian/src/Rules/Generate.hs -@@ -522,9 +522,6 @@ generateSettings = do - queryTarget (\t -> substTooldir topdir (archOS_OS $ tgtArchOs t) (f t)) - where - substTooldir :: String -> OS -> String -> String -- substTooldir topdir OSMinGW32 s -- = T.unpack $ -- T.replace (T.pack $ normalise $ topdir "inplace" "mingw") (T.pack "$tooldir/mingw") (T.pack $ normalise s) - substTooldir _ _ s = s - - --- -GitLab - From dd91191bb45417347c1b07e01589a3f5374b3898 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Tue, 5 Sep 2023 14:10:26 +1200 Subject: [PATCH 099/117] Fix merge issue --- ci.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ci.nix b/ci.nix index 366196b63e..d6032e1409 100644 --- a/ci.nix +++ b/ci.nix @@ -24,8 +24,8 @@ "unstable" = inputs.nixpkgs-unstable; }; - ghc980X = "ghc980${__substring 0 8 sources.ghc980.lastModifiedDate}"; - ghc99X = "ghc99${__substring 0 8 sources.ghc99.lastModifiedDate}"; + ghc980X = "ghc980${__substring 0 8 inputs.ghc980.lastModifiedDate}"; + ghc99X = "ghc99${__substring 0 8 inputs.ghc99.lastModifiedDate}"; nixpkgsArgs = { # set checkMaterialization as per top-level argument From 29e6467aa798f39d50cd7a4ed224ebf4d75cfc04 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Tue, 5 Sep 2023 19:04:58 +1200 Subject: [PATCH 100/117] Fix hydra eval --- ci.nix | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/ci.nix b/ci.nix index d6032e1409..5bb4a4b068 100644 --- a/ci.nix +++ b/ci.nix @@ -24,8 +24,8 @@ "unstable" = inputs.nixpkgs-unstable; }; - ghc980X = "ghc980${__substring 0 8 inputs.ghc980.lastModifiedDate}"; - ghc99X = "ghc99${__substring 0 8 inputs.ghc99.lastModifiedDate}"; + ghc980X = pkgs: "ghc980${__substring 0 8 pkgs.haskell-nix.sources.ghc980.lastModifiedDate}"; + ghc99X = pkgs: "ghc99${__substring 0 8 pkgs.haskell-nix.sources.ghc99.lastModifiedDate}"; nixpkgsArgs = { # set checkMaterialization as per top-level argument @@ -90,32 +90,32 @@ ghc947 = true; ghc962 = true; ghc9820230704 = true; - ${ghc980X} = true; - ${ghc99X} = true; + ${ghc980X nixpkgs} = true; + ${ghc99X nixpkgs} = true; })); crossSystems = nixpkgsName: nixpkgs: compiler-nix-name: # We need to use the actual nixpkgs version we're working with here, since the values # of 'lib.systems.examples' are not understood between all versions let lib = nixpkgs.lib; in lib.optionalAttrs (nixpkgsName == "unstable" - && ((system == "x86_64-linux" && builtins.elem compiler-nix-name ["ghc8107" "ghc962" ghc980X ghc99X]) - || (system == "aarch64-linux" && builtins.elem compiler-nix-name ["ghc8107" "ghc962" ghc980X ghc99X]) - || (system == "x86_64-darwin" && builtins.elem compiler-nix-name ["ghc8107" "ghc962" ghc980X ghc99X]) - || (system == "aarch64-darwin" && builtins.elem compiler-nix-name ["ghc8107" "ghc962" ghc980X ghc99X]) + && ((system == "x86_64-linux" && builtins.elem compiler-nix-name ["ghc8107" "ghc962" (ghc980X nixpkgs) (ghc99X nixpkgs)]) + || (system == "aarch64-linux" && builtins.elem compiler-nix-name ["ghc8107" "ghc962" (ghc980X nixpkgs) (ghc99X nixpkgs)]) + || (system == "x86_64-darwin" && builtins.elem compiler-nix-name ["ghc8107" "ghc962" (ghc980X nixpkgs) (ghc99X nixpkgs)]) + || (system == "aarch64-darwin" && builtins.elem compiler-nix-name ["ghc8107" "ghc962" (ghc980X nixpkgs) (ghc99X nixpkgs)]) )) { inherit (lib.systems.examples) ghcjs; } // lib.optionalAttrs (nixpkgsName == "unstable" - && ((system == "x86_64-linux" && builtins.elem compiler-nix-name ["ghc8107" "ghc902" "ghc926" "ghc927" "ghc928" "ghc947" "ghc962" ghc980X ghc99X]) + && ((system == "x86_64-linux" && builtins.elem compiler-nix-name ["ghc8107" "ghc902" "ghc926" "ghc927" "ghc928" "ghc947" "ghc962" (ghc980X nixpkgs) (ghc980X nixpkgs)]) || (system == "x86_64-darwin" && builtins.elem compiler-nix-name []))) { # TODO add ghc versions when we have more darwin build capacity inherit (lib.systems.examples) mingwW64; - } // lib.optionalAttrs (system == "x86_64-linux" && nixpkgsName == "unstable" && builtins.elem compiler-nix-name ["ghc8107" "ghc902" "ghc922" "ghc923" "ghc924" "ghc926" "ghc927" "ghc928" "ghc947" "ghc962" ghc980X ghc99X]) { + } // lib.optionalAttrs (system == "x86_64-linux" && nixpkgsName == "unstable" && builtins.elem compiler-nix-name ["ghc8107" "ghc902" "ghc922" "ghc923" "ghc924" "ghc926" "ghc927" "ghc928" "ghc947" "ghc962" (ghc980X nixpkgs) (ghc980X nixpkgs)]) { # Musl cross only works on linux # aarch64 cross only works on linux inherit (lib.systems.examples) musl64 aarch64-multiplatform; } // lib.optionalAttrs (system == "x86_64-linux" && nixpkgsName == "unstable" && builtins.elem compiler-nix-name ["ghc927" "ghc928"]) { # TODO fix this for the compilers we build with hadrian (ghc >=9.4) inherit (lib.systems.examples) aarch64-multiplatform-musl; - } // lib.optionalAttrs (system == "aarch64-linux" && nixpkgsName == "unstable" && builtins.elem compiler-nix-name ["ghc927" "ghc928" "ghc947" "ghc962" ghc980X ghc99X]) { + } // lib.optionalAttrs (system == "aarch64-linux" && nixpkgsName == "unstable" && builtins.elem compiler-nix-name ["ghc927" "ghc928" "ghc947" "ghc962" (ghc980X nixpkgs) (ghc980X nixpkgs)]) { inherit (lib.systems.examples) aarch64-multiplatform-musl; }; isDisabled = d: d.meta.disabled or false; From c47e2a6ad5e04710a0ebb9c69466556e56adbbdb Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Wed, 6 Sep 2023 03:42:22 +1200 Subject: [PATCH 101/117] Include cabal fix in ghc99 --- flake.lock | 27 ++++++--------------------- 1 file changed, 6 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index 3f3d8504cc..17ec1b7bc8 100644 --- a/flake.lock +++ b/flake.lock @@ -139,14 +139,14 @@ "ghc99": { "flake": false, "locked": { - "lastModified": 1693593002, - "narHash": "sha256-4TurNt5/JfnMKsfg6jaVI2uw3G9zJEfQibLptTd0LB8=", - "ref": "refs/heads/master", - "rev": "ac29787c92551682ec89fcd71ac939becf69f051", - "revCount": 61874, + "lastModified": 1693928019, + "narHash": "sha256-MaX5ObhrO/6iNpxQhz2S4B0nK2vbI7oBtUN6SyZDyQg=", + "ref": "hkm/bump-Cabal", + "rev": "fe62c3c1b705e98976d307562e7ae726721e719e", + "revCount": 61878, "submodules": true, "type": "git", - "url": "https://gitlab.haskell.org/ghc/ghc" + "url": "https://gitlab.haskell.org/hamishmack/ghc" }, "original": { "submodules": true, @@ -521,21 +521,6 @@ "repo": "stackage.nix", "type": "github" } - }, - "systems": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } } }, "root": "root", From 7d2d4f4376e3b04c1d92fca3a5d90ca6a4503e9c Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Wed, 6 Sep 2023 04:23:28 +1200 Subject: [PATCH 102/117] Include cabal fix in ghc99 --- overlays/fetch-source.nix | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/overlays/fetch-source.nix b/overlays/fetch-source.nix index 6b3ca0d3fa..78c0a29d09 100644 --- a/overlays/fetch-source.nix +++ b/overlays/fetch-source.nix @@ -32,13 +32,11 @@ in { inherit name; value = final.fetchFromGitLab { domain = "gitlab.haskell.org"; - owner = "ghc"; + owner = "hamishmack"; repo = "ghc"; fetchSubmodules = true; inherit (lockFile.nodes.${name}.locked) rev; sha256 = lockFile.nodes.${name}.locked.narHash; - # rev = "62cb821ef2ef0d47c4cf88a6f2aeb7f75106d361"; - # sha256 = "sha256-m6/WcPqFhsH3nYYimdBJFDyhHWRwEs37iEP8Hvpt5xk="; } // { lastModifiedDate = formatSecondsSinceEpoch lockFile.nodes.${name}.locked.lastModified; }; From 4352e254e03653ed04339ae71d162b498c7aaa98 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Wed, 6 Sep 2023 16:45:29 +1200 Subject: [PATCH 103/117] Include cabal fix in ghc99 --- flake.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/flake.lock b/flake.lock index 17ec1b7bc8..2689476daf 100644 --- a/flake.lock +++ b/flake.lock @@ -139,11 +139,11 @@ "ghc99": { "flake": false, "locked": { - "lastModified": 1693928019, - "narHash": "sha256-MaX5ObhrO/6iNpxQhz2S4B0nK2vbI7oBtUN6SyZDyQg=", + "lastModified": 1693974777, + "narHash": "sha256-r+uFw44X9XVPdDtxylfBuFL+l+5q5cX+vDVT7SCTHB8=", "ref": "hkm/bump-Cabal", - "rev": "fe62c3c1b705e98976d307562e7ae726721e719e", - "revCount": 61878, + "rev": "b2bddd0b8214ac1db6239cc25f7c0aabeb2ebb70", + "revCount": 61879, "submodules": true, "type": "git", "url": "https://gitlab.haskell.org/hamishmack/ghc" From 652363651b434048773d01454bd4e1295d13b138 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Wed, 6 Sep 2023 19:59:35 +1200 Subject: [PATCH 104/117] ifdLevel 2 --- ci.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci.nix b/ci.nix index 5bb4a4b068..32967fb9f6 100644 --- a/ci.nix +++ b/ci.nix @@ -1,6 +1,6 @@ # 'supportedSystems' restricts the set of systems that we will evaluate for. Useful when you're evaluating # on a machine with e.g. no way to build the Darwin IFDs you need! -{ ifdLevel ? 1 +{ ifdLevel ? 2 , checkMaterialization ? false , system ? builtins.currentSystem , evalSystem ? builtins.currentSystem or "x86_64-linux" From 608e6f79846a4dd0d8e7e57f5f96e0fe7ecff1cb Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Thu, 7 Sep 2023 00:39:33 +1200 Subject: [PATCH 105/117] Use `cabal` from `nix-tools` --- build.nix | 6 ++---- overlays/haskell.nix | 10 ++++------ scripts/update-external.nix | 4 ++-- scripts/update-hackage.nix | 2 +- scripts/update-stackage.nix | 2 +- 5 files changed, 10 insertions(+), 14 deletions(-) diff --git a/build.nix b/build.nix index f18a08eb13..051c44eb59 100644 --- a/build.nix +++ b/build.nix @@ -77,17 +77,15 @@ in rec { update-hackage = import ./scripts/update-hackage.nix { inherit (pkgs) stdenv lib writeScript coreutils glibc git openssh nixFlakes gawk bash curl findutils; - # Update scripts use the internal nix-tools and cabal-install (compiled with a fixed GHC version) + # Update scripts use the internal nix-tools (compiled with a fixed GHC version) nix-tools = haskell.nix-tools-unchecked; - cabal-install = haskell.internal-cabal-install; inherit (haskell) update-index-state-hashes cabal-issue-8352-workaround; }; update-stackage = haskell.callPackage ./scripts/update-stackage.nix { inherit (pkgs) stdenv lib writeScript coreutils glibc git openssh nixFlakes gawk bash curl findutils; - # Update scripts use the internal nix-tools and cabal-install (compiled with a fixed GHC version) + # Update scripts use the internal nix-tools (compiled with a fixed GHC version) nix-tools = haskell.nix-tools-unchecked; - cabal-install = haskell.internal-cabal-install; inherit (haskell) cabal-issue-8352-workaround; }; update-pins = haskell.callPackage ./scripts/update-pins.nix {}; diff --git a/overlays/haskell.nix b/overlays/haskell.nix index 93b539bc97..f23d5778a6 100644 --- a/overlays/haskell.nix +++ b/overlays/haskell.nix @@ -460,7 +460,7 @@ final: prev: { update-index-state-hashes = import ../scripts/update-index-state-hashes.nix { inherit (final.haskell-nix) indexStateHashesPath; inherit (final) coreutils nix writeShellScriptBin stdenv lib curl; - # Update scripts use the internal nix-tools and cabal-install (compiled with a fixed GHC version) + # Update scripts use the internal nix-tools (compiled with a fixed GHC version) nix-tools = final.haskell-nix.nix-tools-unchecked; }; @@ -472,7 +472,7 @@ final: prev: { callCabalToNix = { name, src, cabal-file ? "${name}.cabal" }: final.buildPackages.pkgs.runCommand "${name}.nix" { # This function is only used when building stack projects (via mkCacheLine and mkCacheFile) - # When building stack projects we use the unchecked nix-tools and cabal-install (compiled with a fixed GHC version) + # When building stack projects we use the unchecked nix-tools (compiled with a fixed GHC version) nativeBuildInputs = [ final.buildPackages.haskell-nix.nix-tools-unchecked ]; LOCALE_ARCHIVE = final.lib.optionalString (final.stdenv.buildPlatform.libc == "glibc") "${final.buildPackages.glibcLocales}/lib/locale/locale-archive"; @@ -1121,12 +1121,10 @@ final: prev: { ghc-extra-projects-nix = final.ghc-extra-projects.${compiler-nix-name}.plan-nix; }) // final.lib.optionalAttrs (ifdLevel > 1) { # Things that require two levels of IFD to build (inputs should be in level 1) - # The internal versions of nix-tools and cabal-install are occasionally used, - # but definitely need to be cached in case they are used. nix-tools = final.buildPackages.haskell-nix.nix-tools; nix-tools-unchecked = final.buildPackages.haskell-nix.nix-tools-unchecked; - cabal-install = final.buildPackages.haskell-nix.cabal-install.${compiler-nix-name}; - internal-cabal-install = final.buildPackages.haskell-nix.internal-cabal-install; + setup-cabal-from-cabal-install = final.buildPackages.haskell-nix.compiler.${compiler-nix-name}.defaultSetup.useCabalFromCabalInstall; + setup-cabal-from-ghc = final.buildPackages.haskell-nix.compiler.${compiler-nix-name}.defaultSetup.useCabalFromGHC; } // final.lib.optionalAttrs (ifdLevel > 1 && final.haskell-nix.haskellLib.isCrossHost # GHCJS builds its own template haskell runner. diff --git a/scripts/update-external.nix b/scripts/update-external.nix index 18bf984961..41876c42ee 100644 --- a/scripts/update-external.nix +++ b/scripts/update-external.nix @@ -1,5 +1,5 @@ { stdenv, lib, writeScript, glibc, coreutils, git, openssh -, nix-tools, cabal-install, nixFlakes +, nix-tools, nixFlakes , bash, curl, findutils, gawk, cabal-issue-8352-workaround }: { name, script }: @@ -16,7 +16,7 @@ in set -euo pipefail - export PATH="${makeBinPath ([ coreutils curl findutils gawk bash git openssh nix-tools cabal-install nixFlakes ] ++ cabal-issue-8352-workaround ++ optional stdenv.isLinux glibc)}" + export PATH="${makeBinPath ([ coreutils curl findutils gawk bash git openssh nix-tools nixFlakes ] ++ cabal-issue-8352-workaround ++ optional stdenv.isLinux glibc)}" ${script} diff --git a/scripts/update-hackage.nix b/scripts/update-hackage.nix index 334406ce2a..2e02aa429c 100644 --- a/scripts/update-hackage.nix +++ b/scripts/update-hackage.nix @@ -1,5 +1,5 @@ { stdenv, lib, writeScript, coreutils, glibc, git, openssh -, nix-tools, cabal-install, nixFlakes +, nix-tools, nixFlakes , gawk, bash, curl, findutils , update-index-state-hashes, cabal-issue-8352-workaround }@args: diff --git a/scripts/update-stackage.nix b/scripts/update-stackage.nix index 4d01776e70..19bbf00ffb 100644 --- a/scripts/update-stackage.nix +++ b/scripts/update-stackage.nix @@ -1,5 +1,5 @@ { stdenv, lib, writeScript, coreutils, glibc, git, openssh -, nix-tools, cabal-install, nixFlakes +, nix-tools, nixFlakes , gawk, bash, curl, findutils, cabal-issue-8352-workaround }@args: import ./update-external.nix args { From ec252bfff78991637622eccdaf275f6a5abc67b7 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Thu, 7 Sep 2023 01:10:26 +1200 Subject: [PATCH 106/117] Use `defaultSetupFor` to pick correct setup --- overlays/haskell.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/overlays/haskell.nix b/overlays/haskell.nix index f23d5778a6..e9c59d1d37 100644 --- a/overlays/haskell.nix +++ b/overlays/haskell.nix @@ -1123,7 +1123,9 @@ final: prev: { # Things that require two levels of IFD to build (inputs should be in level 1) nix-tools = final.buildPackages.haskell-nix.nix-tools; nix-tools-unchecked = final.buildPackages.haskell-nix.nix-tools-unchecked; - setup-cabal-from-cabal-install = final.buildPackages.haskell-nix.compiler.${compiler-nix-name}.defaultSetup.useCabalFromCabalInstall; + # This is the setup using the prefered Cabal library. + default-setup = final.buildPackages.haskell-nix.compiler.${compiler-nix-name}.defaultSetupFor "some-package"; + # This is the one used when that one is not allowed. setup-cabal-from-ghc = final.buildPackages.haskell-nix.compiler.${compiler-nix-name}.defaultSetup.useCabalFromGHC; } // final.lib.optionalAttrs (ifdLevel > 1 && final.haskell-nix.haskellLib.isCrossHost From 492bd3453104d7300c3adb9aa586d4dbf95e12e7 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Thu, 7 Sep 2023 01:18:41 +1200 Subject: [PATCH 107/117] ifdLevel 3 --- ci.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci.nix b/ci.nix index 32967fb9f6..e3f71ea4a8 100644 --- a/ci.nix +++ b/ci.nix @@ -1,6 +1,6 @@ # 'supportedSystems' restricts the set of systems that we will evaluate for. Useful when you're evaluating # on a machine with e.g. no way to build the Darwin IFDs you need! -{ ifdLevel ? 2 +{ ifdLevel ? 3 , checkMaterialization ? false , system ? builtins.currentSystem , evalSystem ? builtins.currentSystem or "x86_64-linux" From 69182e5d9aa05cb4d512a8433c1cdf6c9a29a647 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Thu, 7 Sep 2023 18:10:47 +1200 Subject: [PATCH 108/117] Prevent building cabal 3.10.1.0 with ghc head --- modules/cabal-project.nix | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/modules/cabal-project.nix b/modules/cabal-project.nix index 8e5b38bf5f..1220e0d747 100644 --- a/modules/cabal-project.nix +++ b/modules/cabal-project.nix @@ -19,15 +19,21 @@ in { description = "The name of the ghc compiler to use eg. \"ghc884\""; # Map short version names to the latest GHC version. # TODO: perhaps combine this with the `latestVer` mapping in `overlays/boostrap.nix`. - apply = v: { - ghc810 = "ghc8107"; - ghc90 = "ghc902"; - ghc92 = "ghc928"; - ghc94 = "ghc947"; - ghc96 = "ghc962"; - ghc980 = "ghc980${__substring 0 8 pkgs.haskell-nix.sources.ghc980.lastModifiedDate}"; - ghc99 = "ghc99${__substring 0 8 pkgs.haskell-nix.sources.ghc99.lastModifiedDate}"; - }.${v} or v; + apply = name: + let + shortNameMap = { + ghc810 = "ghc8107"; + ghc90 = "ghc902"; + ghc92 = "ghc928"; + ghc94 = "ghc947"; + ghc96 = "ghc962"; + ghc980 = "ghc980${__substring 0 8 pkgs.haskell-nix.sources.ghc980.lastModifiedDate}"; + ghc99 = "ghc99${__substring 0 8 pkgs.haskell-nix.sources.ghc99.lastModifiedDate}"; + }; + fullName = shortNameMap.${name} or name; + in if fullName == shortNameMap.ghc99 && config.name == "cabal-install" && config.version == "3.10.1.0" + then "ghc962" + else fullName; }; compilerSelection = mkOption { type = unspecified; From 51d55ed522f45b5b44a5940ef382d1493e4bfccc Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Thu, 7 Sep 2023 22:29:55 +1200 Subject: [PATCH 109/117] Add ghc-internal to nonReinstallablePkgs --- modules/component-driver.nix | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/modules/component-driver.nix b/modules/component-driver.nix index 31dc97a3db..8387b1eca0 100644 --- a/modules/component-driver.nix +++ b/modules/component-driver.nix @@ -59,16 +59,13 @@ in # ghcjs custom packages "ghcjs-prim" "ghcjs-th" ] - # TODO make this unconditional - ++ lib.optionals ( - !__elem config.compiler.nix-name ["ghc865" "ghc881" "ghc882" "ghc883" "ghc884" "ghc8101" "ghc8102" "ghc8103" "ghc8104" "ghc8105" "ghc8106" "ghc8107"]) - (["ghc-bignum"] - # stm and exceptions are needed by the GHC package since 9.0.1 - ++ lib.optionals (!config.reinstallableLibGhc) ["stm" "exceptions"]) - ++ lib.optionals ( - !__elem config.compiler.nix-name ["ghc865" "ghc881" "ghc882" "ghc883" "ghc884" "ghc8101" "ghc8102" "ghc8103" "ghc8104" "ghc8105" "ghc8106" "ghc8107" "ghc901" "ghc902"]) [ + ++ lib.optionals (builtins.compareVersions config.compiler.version "8.11" >= 0) [ + "ghc-bignum"] + ++ lib.optionals (builtins.compareVersions config.compiler.version "9.1" >= 0) [ "system-cxx-std-lib" ] - ++ lib.optionals (!config.reinstallableLibGhc) [ + ++ lib.optionals (builtins.compareVersions config.compiler.version "9.9" >= 0) [ + "ghc-internal" ] + ++ lib.optionals (!config.reinstallableLibGhc) ([ "ghc-boot" "ghc" "Cabal" "Win32" "array" "binary" "bytestring" "containers" "directory" "filepath" "ghc-boot" "ghc-compact" "ghc-prim" @@ -76,8 +73,11 @@ in "hpc" "mtl" "parsec" "process" "text" "time" "transformers" "unix" "xhtml" "terminfo" - # "stm" ] + ++ lib.optionals (builtins.compareVersions config.compiler.version "8.11" >= 0) [ + # stm and exceptions are needed by the GHC package since 9.0.1 + "stm" "exceptions"] + ) ++ lib.optionals (!config.reinstallableLibGhc || __elem config.compiler.nix-name ["ghc865"]) [ "ghc-heap" ]; From ac7ec464b0ccb1628102f18736190d434479d414 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Fri, 8 Sep 2023 22:54:46 +1200 Subject: [PATCH 110/117] Update head.hackage --- modules/cabal-project.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/cabal-project.nix b/modules/cabal-project.nix index 1220e0d747..04d9300f74 100644 --- a/modules/cabal-project.nix +++ b/modules/cabal-project.nix @@ -93,7 +93,7 @@ in { f76d08be13e9a61a377a85e2fb63f4c5435d40f8feb3e12eb05905edb8cdea89 26021a13b401500c8eb2761ca95c61f2d625bfef951b939a8124ed12ecf07329 7541f32a4ccca4f97aea3b22f5e593ba2c0267546016b992dfadcd2fe944e55d - --sha256: sha256-yMzVCP7DLb1Ztif1KCGk4RfREoROjtb6QBBtrSFy4OQ= + --sha256: sha256-7BB/TeaP4wsQZggI08hZrhdxL7KzUjSyOrMEmuciUas= '' + optionalString pkgs.stdenv.hostPlatform.isGhcjs '' repository ghcjs-overlay From 239ba840d88bd42e529e501d9d453fab82030703 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Sat, 9 Sep 2023 00:42:50 +1200 Subject: [PATCH 111/117] Skip patches that don't apply --- overlays/bootstrap.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/overlays/bootstrap.nix b/overlays/bootstrap.nix index 5e1af50fa1..18ab8d145e 100644 --- a/overlays/bootstrap.nix +++ b/overlays/bootstrap.nix @@ -191,11 +191,11 @@ in { # if the host system provides ucrt (e.g. wine with ucrtbase.dll), we may end up linking against symbols from ucrtbase, instead of msvcrt, # thus leading to broken code. E.g. the handles we create and hand to wine will all be busted, because they come from one and are processed # by another crt. - ++ final.lib.optionals (final.stdenv.targetPlatform.isWindows) (fromUntil "8.10" "9.10" ./patches/ghc/win-linker-no-ucrt.patch) + ++ final.lib.optionals (final.stdenv.targetPlatform.isWindows) (fromUntil "8.10" "9.8" ./patches/ghc/win-linker-no-ucrt.patch) # Nixos/nixpkgs is mscvrt for now, thus we must disable ucrt in ghc, otherwise we end up with broken linking. - ++ final.lib.optionals (final.stdenv.targetPlatform.isWindows) (fromUntil "9.6" "9.10" ./patches/ghc/no-ucrt.patch) + ++ final.lib.optionals (final.stdenv.targetPlatform.isWindows) (fromUntil "9.6" "9.8" ./patches/ghc/no-ucrt.patch) # the following is needed for cardano-prelude as it uses closure_sizeW :-/ - ++ final.lib.optionals (final.stdenv.targetPlatform.isWindows) (fromUntil "9.6" "9.10" ./patches/ghc/win-add-closure_sizeW-to-rtssyms.patch) + ++ final.lib.optionals (final.stdenv.targetPlatform.isWindows) (fromUntil "9.6" "9.8" ./patches/ghc/win-add-closure_sizeW-to-rtssyms.patch) ++ fromUntil "9.4.5" "9.4.8" ./patches/ghc/ghc-9.4.5-include-order-fix.patch ++ fromUntil "9.6.2" "9.8" ./patches/ghc/ghc-9.4.5-include-order-fix.patch ++ fromUntil "9.6.1" "9.10" ./patches/ghc/MR10116.patch From a65eb688539738fa81d323169b33bda38c912226 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Mon, 11 Sep 2023 00:39:23 +1200 Subject: [PATCH 112/117] Fix call-cabal-project-to-nix test --- test/call-cabal-project-to-nix/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/call-cabal-project-to-nix/default.nix b/test/call-cabal-project-to-nix/default.nix index 3308f33c26..05c5b8a93e 100644 --- a/test/call-cabal-project-to-nix/default.nix +++ b/test/call-cabal-project-to-nix/default.nix @@ -20,7 +20,7 @@ let f76d08be13e9a61a377a85e2fb63f4c5435d40f8feb3e12eb05905edb8cdea89 26021a13b401500c8eb2761ca95c61f2d625bfef951b939a8124ed12ecf07329 7541f32a4ccca4f97aea3b22f5e593ba2c0267546016b992dfadcd2fe944e55d - --sha256: sha256-yMzVCP7DLb1Ztif1KCGk4RfREoROjtb6QBBtrSFy4OQ= + --sha256: sha256-7BB/TeaP4wsQZggI08hZrhdxL7KzUjSyOrMEmuciUas= active-repositories: hackage.haskell.org, head.hackage.ghc.haskell.org:override ''; From cac63bb777a16debdf5a4c9ea3b8a68d9b7b6d2a Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Mon, 11 Sep 2023 02:20:04 +1200 Subject: [PATCH 113/117] Add containers and bytestring to nonReinstallablePkgs for now --- modules/component-driver.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/component-driver.nix b/modules/component-driver.nix index 8387b1eca0..247f363a96 100644 --- a/modules/component-driver.nix +++ b/modules/component-driver.nix @@ -62,9 +62,9 @@ in ++ lib.optionals (builtins.compareVersions config.compiler.version "8.11" >= 0) [ "ghc-bignum"] ++ lib.optionals (builtins.compareVersions config.compiler.version "9.1" >= 0) [ - "system-cxx-std-lib" ] + "system-cxx-std-lib"] ++ lib.optionals (builtins.compareVersions config.compiler.version "9.9" >= 0) [ - "ghc-internal" ] + "ghc-internal" "bytestring" "containers"] ++ lib.optionals (!config.reinstallableLibGhc) ([ "ghc-boot" "ghc" "Cabal" "Win32" "array" "binary" "bytestring" "containers" From c25b73aa4a0608f119c176a61c9b99964632999f Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Mon, 11 Sep 2023 13:13:09 +1200 Subject: [PATCH 114/117] Handle new error output format --- builder/comp-builder.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/builder/comp-builder.nix b/builder/comp-builder.nix index 70baee084e..3ed8e6401f 100644 --- a/builder/comp-builder.nix +++ b/builder/comp-builder.nix @@ -544,7 +544,7 @@ let # we assume that if the SETUP_HS command fails and the following line was found in the error # log, that it was the only error. Hence if we do _not_ find the line, grep will fail and this derivation # will be marked as failure. - cat $SETUP_ERR | grep 'Error: Setup: No executables and no library found\. Nothing to do\.' + cat $SETUP_ERR | grep 'No executables and no library found\. Nothing to do\.' fi ''} ${lib.optionalString (haskellLib.isLibrary componentId) '' From 654fc270583f1fc50495c55c26a8a7b883e17e18 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Mon, 11 Sep 2023 14:01:42 +1200 Subject: [PATCH 115/117] Fix comment --- .github/workflows/updates.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/updates.yml b/.github/workflows/updates.yml index e77ec4c132..adeb15ade9 100644 --- a/.github/workflows/updates.yml +++ b/.github/workflows/updates.yml @@ -1,4 +1,4 @@ -name: "Update pins for ghc, hackage.nix and stackage.nix" +name: "Update pins for hackage.nix and stackage.nix" on: workflow_dispatch: From de3b5a4771981eb83ca269aa6feb59f238190584 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Mon, 11 Sep 2023 18:10:06 +1200 Subject: [PATCH 116/117] Remove unused patch (comes from head.hackage now) --- patches/lens-5.2.2.patch | 93 ---------------------------------------- 1 file changed, 93 deletions(-) delete mode 100644 patches/lens-5.2.2.patch diff --git a/patches/lens-5.2.2.patch b/patches/lens-5.2.2.patch deleted file mode 100644 index ddbc65aa25..0000000000 --- a/patches/lens-5.2.2.patch +++ /dev/null @@ -1,93 +0,0 @@ -diff --git a/src/Control/Lens/Internal/FieldTH.hs b/src/Control/Lens/Internal/FieldTH.hs -index 968c01e..7c7c88e 100644 ---- a/src/Control/Lens/Internal/FieldTH.hs -+++ b/src/Control/Lens/Internal/FieldTH.hs -@@ -369,7 +369,7 @@ makeClassyClass className methodName s defs = do - | otherwise = [FunDep [c] varNames] - - -- classD (cxt[]) className (D.plainTV c:vars) fd -+ classD (cxt[]) className (D.plainTV c : D.changeTVFlags D.defaultBndrFlag vars) fd - $ sigD methodName (return (lens'TypeName `conAppsT` [VarT c, s'])) - : concat - [ [sigD defName (return ty) -diff --git a/src/Control/Lens/Internal/PrismTH.hs b/src/Control/Lens/Internal/PrismTH.hs -index 37b5ec5..23e0b08 100644 ---- a/src/Control/Lens/Internal/PrismTH.hs -+++ b/src/Control/Lens/Internal/PrismTH.hs -@@ -415,7 +415,7 @@ makeClassyPrismClass t className methodName cons = - do r <- newName "r" - let methodType = appsT (conT prism'TypeName) [varT r,return t] - methodss <- traverse (mkMethod r) cons' -- classD (cxt[]) className (D.plainTV r : vs) (fds r) -+ classD (cxt[]) className (D.plainTV r : D.changeTVFlags D.defaultBndrFlag vs) (fds r) - ( sigD methodName methodType - : map return (concat methodss) - ) -diff --git a/src/Language/Haskell/TH/Lens.hs b/src/Language/Haskell/TH/Lens.hs -index 25282be..1567a77 100644 ---- a/src/Language/Haskell/TH/Lens.hs -+++ b/src/Language/Haskell/TH/Lens.hs -@@ -759,7 +759,7 @@ typeFamilyHeadName = lens g s where - g (TypeFamilyHead n _ _ _ ) = n - s (TypeFamilyHead _ tvbs rs ia) n = TypeFamilyHead n tvbs rs ia - --typeFamilyHeadTyVarBndrs :: Lens' TypeFamilyHead [TyVarBndrUnit] -+typeFamilyHeadTyVarBndrs :: Lens' TypeFamilyHead [TyVarBndrVis] - typeFamilyHeadTyVarBndrs = lens g s where - g (TypeFamilyHead _ tvbs _ _ ) = tvbs - s (TypeFamilyHead n _ rs ia) tvbs = TypeFamilyHead n tvbs rs ia -@@ -886,7 +886,7 @@ _ValD - remitter (ValD x y z) = Just (x, y, z) - remitter _ = Nothing - --_TySynD :: Prism' Dec (Name, [TyVarBndrUnit], Type) -+_TySynD :: Prism' Dec (Name, [TyVarBndrVis], Type) - _TySynD - = prism' reviewer remitter - where -@@ -894,7 +894,7 @@ _TySynD - remitter (TySynD x y z) = Just (x, y, z) - remitter _ = Nothing - --_ClassD :: Prism' Dec (Cxt, Name, [TyVarBndrUnit], [FunDep], [Dec]) -+_ClassD :: Prism' Dec (Cxt, Name, [TyVarBndrVis], [FunDep], [Dec]) - _ClassD - = prism' reviewer remitter - where -@@ -1100,7 +1100,7 @@ _ClosedTypeFamilyD - -- _DataD :: 'Prism'' 'Dec' ('Cxt', 'Name', ['TyVarBndrUnit'], 'Maybe' 'Kind', ['Con'], ['DerivClause']) -- template-haskell-2.12+ - -- _DataD :: 'Prism'' 'Dec' ('Cxt', 'Name', ['Type'], 'Maybe' 'Kind', ['Con'], 'Cxt') -- Earlier versions - -- @ --_DataD :: DataPrism' [TyVarBndrUnit] [Con] -+_DataD :: DataPrism' [TyVarBndrVis] [Con] - _DataD - = prism' reviewer remitter - where -@@ -1113,7 +1113,7 @@ _DataD - -- _NewtypeD :: 'Prism'' 'Dec' ('Cxt', 'Name', ['TyVarBndrUnit'], 'Maybe' 'Kind', 'Con', ['DerivClause']) -- template-haskell-2.12+ - -- _NewtypeD :: 'Prism'' 'Dec' ('Cxt', 'Name', ['Type'], 'Maybe' 'Kind', 'Con', 'Cxt') -- Earlier versions - -- @ --_NewtypeD :: DataPrism' [TyVarBndrUnit] Con -+_NewtypeD :: DataPrism' [TyVarBndrVis] Con - _NewtypeD - = prism' reviewer remitter - where -@@ -1121,7 +1121,7 @@ _NewtypeD - remitter (NewtypeD x y z w u v) = Just (x, y, z, w, u, v) - remitter _ = Nothing - --_DataFamilyD :: Prism' Dec (Name, [TyVarBndrUnit], Maybe Kind) -+_DataFamilyD :: Prism' Dec (Name, [TyVarBndrVis], Maybe Kind) - _DataFamilyD - = prism' reviewer remitter - where -@@ -1176,7 +1176,7 @@ _DefaultD - #endif - - #if MIN_VERSION_template_haskell(2,20,0) --_TypeDataD :: Prism' Dec (Name, [TyVarBndr ()], Maybe Kind, [Con]) -+_TypeDataD :: Prism' Dec (Name, [TyVarBndrVis], Maybe Kind, [Con]) - _TypeDataD - = prism' reviewer remitter - where From 1f396482495f1c1cc1f08e5f7f0570cdb25d8053 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Mon, 11 Sep 2023 18:10:26 +1200 Subject: [PATCH 117/117] Add comments --- modules/cabal-project.nix | 18 ++++++++++++++---- modules/component-driver.nix | 6 +++++- 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/modules/cabal-project.nix b/modules/cabal-project.nix index 04d9300f74..2b96d8d6f1 100644 --- a/modules/cabal-project.nix +++ b/modules/cabal-project.nix @@ -31,9 +31,11 @@ in { ghc99 = "ghc99${__substring 0 8 pkgs.haskell-nix.sources.ghc99.lastModifiedDate}"; }; fullName = shortNameMap.${name} or name; - in if fullName == shortNameMap.ghc99 && config.name == "cabal-install" && config.version == "3.10.1.0" - then "ghc962" - else fullName; + in + # cabal-install from hackage (3.10.1.0) does not build with GHC HEAD + if fullName == shortNameMap.ghc99 && config.name == "cabal-install" && config.version == "3.10.1.0" + then "ghc962" + else fullName; }; compilerSelection = mkOption { type = unspecified; @@ -82,7 +84,13 @@ in { default = let useHeadHackage = __compareVersions pkgs.buildPackages.haskell-nix.compiler.${config.compiler-nix-name}.version "9.8.0" >= 0; - in optionalString useHeadHackage '' + in + # When building ghc 9.8 and ghc HEAD projects we need to include the + # `head.hackage` repository to get the patched versions of packages + # that are needed for those versions of GHC. + # TODO Currently the sha256 here will need regular updating as + # there is no way to pin `head.hackage`. + optionalString useHeadHackage '' allow-newer: *:* repository head.hackage.ghc.haskell.org @@ -95,6 +103,8 @@ in { 7541f32a4ccca4f97aea3b22f5e593ba2c0267546016b992dfadcd2fe944e55d --sha256: sha256-7BB/TeaP4wsQZggI08hZrhdxL7KzUjSyOrMEmuciUas= '' + # When building to JS we need the patched versions of packages + # included in `hackage-overlay-ghcjs`. + optionalString pkgs.stdenv.hostPlatform.isGhcjs '' repository ghcjs-overlay url: https://raw.githubusercontent.com/input-output-hk/hackage-overlay-ghcjs/91f4ce9bea0e7f739b7495647c3f72a308ed1c6f diff --git a/modules/component-driver.nix b/modules/component-driver.nix index 247f363a96..9583ab60d2 100644 --- a/modules/component-driver.nix +++ b/modules/component-driver.nix @@ -64,7 +64,11 @@ in ++ lib.optionals (builtins.compareVersions config.compiler.version "9.1" >= 0) [ "system-cxx-std-lib"] ++ lib.optionals (builtins.compareVersions config.compiler.version "9.9" >= 0) [ - "ghc-internal" "bytestring" "containers"] + "ghc-internal" + # TODO Remove "bytestring" "containers" if they are added to `head.hackage` or + # once there are new versions in hackage. + # See https://gitlab.haskell.org/ghc/head.hackage/-/merge_requests/325#note_524658 + "bytestring" "containers"] ++ lib.optionals (!config.reinstallableLibGhc) ([ "ghc-boot" "ghc" "Cabal" "Win32" "array" "binary" "bytestring" "containers"