From 54ddc77cd29c19779489d8f7fae14d70e90d8c68 Mon Sep 17 00:00:00 2001 From: IOHK Date: Tue, 12 Nov 2024 00:51:35 +0000 Subject: [PATCH 01/34] Update Hackage and Stackage --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 469f1da5d..268fa80fe 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1731284938, - "narHash": "sha256-AQVH9SrhRzolbcqjXcOM3vkvKtCQ/R9QNLm08HUeLOs=", + "lastModified": 1731371270, + "narHash": "sha256-9hAGzHPyc6EncczyVrDrjElS6H9wwlR4j1fj4JRTigw=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "334ff3e33e7bd2f1f35ac9e234885baa19072412", + "rev": "c96fd8da826bb383b7fa36cfe7d386013f070fa4", "type": "github" }, "original": { @@ -630,11 +630,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1731283878, - "narHash": "sha256-VwtiYP/mTtT+RtXk3PAncnQSX/XJBlszGGMvSwDTaug=", + "lastModified": 1731370260, + "narHash": "sha256-DsuG/LEJduoxwK+VbKubVsCfg1WFAUaewYAUFLW0FRU=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "22e28ef394e6a5188860737bbb647c0987bb36a4", + "rev": "5b7b9fad43a035243f87f654ac5611f597ce5fc2", "type": "github" }, "original": { From fc8633a447714e7720b7db2a88038e75fa350150 Mon Sep 17 00:00:00 2001 From: IOHK Date: Wed, 13 Nov 2024 00:51:33 +0000 Subject: [PATCH 02/34] Update Hackage and Stackage --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 268fa80fe..d2ecbbbde 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1731371270, - "narHash": "sha256-9hAGzHPyc6EncczyVrDrjElS6H9wwlR4j1fj4JRTigw=", + "lastModified": 1731457652, + "narHash": "sha256-v9u++UVoVRP0NTFBjtW/c/xt8js/l46zYFuV3D6M8RQ=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "c96fd8da826bb383b7fa36cfe7d386013f070fa4", + "rev": "3de0e93a65428a0dbf185b66b680f432a9ba7669", "type": "github" }, "original": { @@ -630,11 +630,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1731370260, - "narHash": "sha256-DsuG/LEJduoxwK+VbKubVsCfg1WFAUaewYAUFLW0FRU=", + "lastModified": 1731456685, + "narHash": "sha256-R0XG54ymDUUaQ8TprY9UuBnJ0UabRFQkwCt838JA56M=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "5b7b9fad43a035243f87f654ac5611f597ce5fc2", + "rev": "ad774845ced6cda5a29966f13703332636d6cea8", "type": "github" }, "original": { From a439ebf33e99c0bed972d6e76befeaa4ae15b04d Mon Sep 17 00:00:00 2001 From: IOHK Date: Thu, 14 Nov 2024 00:51:08 +0000 Subject: [PATCH 03/34] Update Hackage and Stackage --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index d2ecbbbde..b22e7120f 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1731457652, - "narHash": "sha256-v9u++UVoVRP0NTFBjtW/c/xt8js/l46zYFuV3D6M8RQ=", + "lastModified": 1731544085, + "narHash": "sha256-WP5UqFAsn+Zk0eIpWEu4GzwkMUBBvCHaW0eA6OHQ8fc=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "3de0e93a65428a0dbf185b66b680f432a9ba7669", + "rev": "4735b698fb482845c04cf66a50f871a10d2ca951", "type": "github" }, "original": { From c8a2fb5b451f05b6d216490af4ddfabe4aa4320d Mon Sep 17 00:00:00 2001 From: Craige McWhirter Date: Thu, 14 Nov 2024 14:01:27 +1000 Subject: [PATCH 04/34] Add materialized hadrian-ghc964 (#2282) --- .../hadrian/.plan.nix/hadrian.nix | 162 ++++++++++++++++ .../hadrian/cabal-files/Cabal-syntax.nix | 55 ++++++ .../hadrian/cabal-files/Cabal.nix | 56 ++++++ .../hadrian/cabal-files/QuickCheck.nix | 119 ++++++++++++ .../hadrian/cabal-files/clock.nix | 59 ++++++ .../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 | 139 ++++++++++++++ .../cabal-files/unordered-containers.nix | 78 ++++++++ .../hadrian/cabal-files/utf8-string.nix | 51 +++++ .../ghc964/hadrian-ghc964/hadrian/default.nix | 175 ++++++++++++++++++ 19 files changed, 1588 insertions(+) create mode 100644 materialized/ghc964/hadrian-ghc964/hadrian/.plan.nix/hadrian.nix create mode 100644 materialized/ghc964/hadrian-ghc964/hadrian/cabal-files/Cabal-syntax.nix create mode 100644 materialized/ghc964/hadrian-ghc964/hadrian/cabal-files/Cabal.nix create mode 100644 materialized/ghc964/hadrian-ghc964/hadrian/cabal-files/QuickCheck.nix create mode 100644 materialized/ghc964/hadrian-ghc964/hadrian/cabal-files/clock.nix create mode 100644 materialized/ghc964/hadrian-ghc964/hadrian/cabal-files/extra.nix create mode 100644 materialized/ghc964/hadrian-ghc964/hadrian/cabal-files/filepattern.nix create mode 100644 materialized/ghc964/hadrian-ghc964/hadrian/cabal-files/hashable.nix create mode 100644 materialized/ghc964/hadrian-ghc964/hadrian/cabal-files/heaps.nix create mode 100644 materialized/ghc964/hadrian-ghc964/hadrian/cabal-files/js-dgtable.nix create mode 100644 materialized/ghc964/hadrian-ghc964/hadrian/cabal-files/js-flot.nix create mode 100644 materialized/ghc964/hadrian-ghc964/hadrian/cabal-files/js-jquery.nix create mode 100644 materialized/ghc964/hadrian-ghc964/hadrian/cabal-files/primitive.nix create mode 100644 materialized/ghc964/hadrian-ghc964/hadrian/cabal-files/random.nix create mode 100644 materialized/ghc964/hadrian-ghc964/hadrian/cabal-files/shake.nix create mode 100644 materialized/ghc964/hadrian-ghc964/hadrian/cabal-files/splitmix.nix create mode 100644 materialized/ghc964/hadrian-ghc964/hadrian/cabal-files/unordered-containers.nix create mode 100644 materialized/ghc964/hadrian-ghc964/hadrian/cabal-files/utf8-string.nix create mode 100644 materialized/ghc964/hadrian-ghc964/hadrian/default.nix diff --git a/materialized/ghc964/hadrian-ghc964/hadrian/.plan.nix/hadrian.nix b/materialized/ghc964/hadrian-ghc964/hadrian/.plan.nix/hadrian.nix new file mode 100644 index 000000000..5fd22b23a --- /dev/null +++ b/materialized/ghc964/hadrian-ghc964/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/ghc964/hadrian-ghc964/hadrian/cabal-files/Cabal-syntax.nix b/materialized/ghc964/hadrian-ghc964/hadrian/cabal-files/Cabal-syntax.nix new file mode 100644 index 000000000..dabbcbdee --- /dev/null +++ b/materialized/ghc964/hadrian-ghc964/hadrian/cabal-files/Cabal-syntax.nix @@ -0,0 +1,55 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = {}; + package = { + specVersion = "1.22"; + identifier = { name = "Cabal-syntax"; version = "3.8.1.0"; }; + license = "BSD-3-Clause"; + copyright = "2003-2022, Cabal Development Team (see AUTHORS file)"; + maintainer = "cabal-devel@haskell.org"; + author = "Cabal Development Team "; + homepage = "http://www.haskell.org/cabal/"; + url = ""; + synopsis = "A library for working with .cabal files"; + description = "This library provides tools for reading and manipulating the .cabal file\nformat."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."array" or (errorHandler.buildDepError "array")) + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."mtl" or (errorHandler.buildDepError "mtl")) + (hsPkgs."parsec" or (errorHandler.buildDepError "parsec")) + (hsPkgs."pretty" or (errorHandler.buildDepError "pretty")) + (hsPkgs."text" or (errorHandler.buildDepError "text")) + (hsPkgs."time" or (errorHandler.buildDepError "time")) + (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")) + ] ++ (if system.isWindows + then [ (hsPkgs."Win32" or (errorHandler.buildDepError "Win32")) ] + else [ (hsPkgs."unix" or (errorHandler.buildDepError "unix")) ]); + buildable = true; + }; + }; + } // { + src = pkgs.lib.mkDefault (pkgs.fetchurl { + url = "http://hackage.haskell.org/package/Cabal-syntax-3.8.1.0.tar.gz"; + sha256 = "07e8ddb19fe01781485f1522b6afc22aba680b0ab28ebe6bbfb84a2dd698ce0f"; + }); + }) // { + package-description-override = "cabal-version: 1.22\r\nname: Cabal-syntax\r\nversion: 3.8.1.0\r\nx-revision: 3\r\ncopyright: 2003-2022, Cabal Development Team (see AUTHORS file)\r\nlicense: BSD3\r\nlicense-file: LICENSE\r\nauthor: Cabal Development Team \r\nmaintainer: cabal-devel@haskell.org\r\nhomepage: http://www.haskell.org/cabal/\r\nbug-reports: https://github.com/haskell/cabal/issues\r\nsynopsis: A library for working with .cabal files\r\ndescription:\r\n This library provides tools for reading and manipulating the .cabal file\r\n format.\r\ncategory: Distribution\r\nbuild-type: Simple\r\n\r\nextra-source-files:\r\n README.md ChangeLog.md\r\n\r\nsource-repository head\r\n type: git\r\n location: https://github.com/haskell/cabal/\r\n subdir: Cabal-syntax\r\n\r\nlibrary\r\n default-language: Haskell2010\r\n hs-source-dirs: src\r\n\r\n build-depends:\r\n array >= 0.4.0.1 && < 0.6,\r\n base >= 4.9 && < 5,\r\n binary >= 0.7 && < 0.9,\r\n bytestring >= 0.10.0.0 && < 0.12,\r\n containers >= 0.5.0.0 && < 0.7,\r\n deepseq >= 1.3.0.1 && < 1.5,\r\n directory >= 1.2 && < 1.4,\r\n filepath >= 1.3.0.1 && < 1.5,\r\n mtl >= 2.1 && < 2.4,\r\n parsec >= 3.1.13.0 && < 3.2,\r\n pretty >= 1.1.1 && < 1.2,\r\n text (>= 1.2.3.0 && < 1.3) || (>= 2.0 && < 2.1),\r\n time >= 1.4.0.1 && < 1.13,\r\n -- transformers-0.4.0.0 doesn't have record syntax e.g. for Identity\r\n -- See also https://github.com/ekmett/transformers-compat/issues/35\r\n transformers (>= 0.3 && < 0.4) || (>=0.4.1.0 && <0.7)\r\n\r\n if os(windows)\r\n build-depends: Win32 >= 2.3.0.0 && < 2.14\r\n else\r\n build-depends: unix >= 2.6.0.0 && < 2.9\r\n\r\n ghc-options: -Wall -fno-ignore-asserts -fwarn-tabs -fwarn-incomplete-uni-patterns -fwarn-incomplete-record-updates\r\n ghc-options: -Wcompat -Wnoncanonical-monad-instances\r\n\r\n if impl(ghc < 8.8)\r\n ghc-options: -Wnoncanonical-monadfail-instances\r\n\r\n exposed-modules:\r\n Distribution.Backpack\r\n Distribution.CabalSpecVersion\r\n Distribution.Compat.Binary\r\n Distribution.Compat.CharParsing\r\n Distribution.Compat.DList\r\n Distribution.Compat.Exception\r\n Distribution.Compat.Graph\r\n Distribution.Compat.Lens\r\n Distribution.Compat.MonadFail\r\n Distribution.Compat.Newtype\r\n Distribution.Compat.NonEmptySet\r\n Distribution.Compat.Parsing\r\n Distribution.Compat.Prelude\r\n Distribution.Compat.Semigroup\r\n Distribution.Compat.Typeable\r\n Distribution.Compiler\r\n Distribution.FieldGrammar\r\n Distribution.FieldGrammar.Class\r\n Distribution.FieldGrammar.FieldDescrs\r\n Distribution.FieldGrammar.Newtypes\r\n Distribution.FieldGrammar.Parsec\r\n Distribution.FieldGrammar.Pretty\r\n Distribution.Fields\r\n Distribution.Fields.ConfVar\r\n Distribution.Fields.Field\r\n Distribution.Fields.Lexer\r\n Distribution.Fields.LexerMonad\r\n Distribution.Fields.ParseResult\r\n Distribution.Fields.Parser\r\n Distribution.Fields.Pretty\r\n Distribution.InstalledPackageInfo\r\n Distribution.License\r\n Distribution.ModuleName\r\n Distribution.Package\r\n Distribution.PackageDescription\r\n Distribution.PackageDescription.Configuration\r\n Distribution.PackageDescription.FieldGrammar\r\n Distribution.PackageDescription.Parsec\r\n Distribution.PackageDescription.PrettyPrint\r\n Distribution.PackageDescription.Quirks\r\n Distribution.PackageDescription.Utils\r\n Distribution.Parsec\r\n Distribution.Parsec.Error\r\n Distribution.Parsec.FieldLineStream\r\n Distribution.Parsec.Position\r\n Distribution.Parsec.Warning\r\n Distribution.Pretty\r\n Distribution.SPDX\r\n Distribution.SPDX.License\r\n Distribution.SPDX.LicenseExceptionId\r\n Distribution.SPDX.LicenseExpression\r\n Distribution.SPDX.LicenseId\r\n Distribution.SPDX.LicenseListVersion\r\n Distribution.SPDX.LicenseReference\r\n Distribution.System\r\n Distribution.Text\r\n Distribution.Types.AbiDependency\r\n Distribution.Types.AbiHash\r\n Distribution.Types.Benchmark\r\n Distribution.Types.Benchmark.Lens\r\n Distribution.Types.BenchmarkInterface\r\n Distribution.Types.BenchmarkType\r\n Distribution.Types.BuildInfo\r\n Distribution.Types.BuildInfo.Lens\r\n Distribution.Types.BuildType\r\n Distribution.Types.Component\r\n Distribution.Types.ComponentId\r\n Distribution.Types.ComponentName\r\n Distribution.Types.ComponentRequestedSpec\r\n Distribution.Types.CondTree\r\n Distribution.Types.Condition\r\n Distribution.Types.ConfVar\r\n Distribution.Types.Dependency\r\n Distribution.Types.DependencyMap\r\n Distribution.Types.ExeDependency\r\n Distribution.Types.Executable\r\n Distribution.Types.Executable.Lens\r\n Distribution.Types.ExecutableScope\r\n Distribution.Types.ExposedModule\r\n Distribution.Types.Flag\r\n Distribution.Types.ForeignLib\r\n Distribution.Types.ForeignLib.Lens\r\n Distribution.Types.ForeignLibOption\r\n Distribution.Types.ForeignLibType\r\n Distribution.Types.GenericPackageDescription\r\n Distribution.Types.GenericPackageDescription.Lens\r\n Distribution.Types.HookedBuildInfo\r\n Distribution.Types.IncludeRenaming\r\n Distribution.Types.InstalledPackageInfo\r\n Distribution.Types.InstalledPackageInfo.Lens\r\n Distribution.Types.InstalledPackageInfo.FieldGrammar\r\n Distribution.Types.LegacyExeDependency\r\n Distribution.Types.Lens\r\n Distribution.Types.Library\r\n Distribution.Types.Library.Lens\r\n Distribution.Types.LibraryName\r\n Distribution.Types.LibraryVisibility\r\n Distribution.Types.Mixin\r\n Distribution.Types.Module\r\n Distribution.Types.ModuleReexport\r\n Distribution.Types.ModuleRenaming\r\n Distribution.Types.MungedPackageId\r\n Distribution.Types.MungedPackageName\r\n Distribution.Types.PackageDescription\r\n Distribution.Types.PackageDescription.Lens\r\n Distribution.Types.PackageId\r\n Distribution.Types.PackageId.Lens\r\n Distribution.Types.PackageName\r\n Distribution.Types.PackageVersionConstraint\r\n Distribution.Types.PkgconfigDependency\r\n Distribution.Types.PkgconfigName\r\n Distribution.Types.PkgconfigVersion\r\n Distribution.Types.PkgconfigVersionRange\r\n Distribution.Types.SetupBuildInfo\r\n Distribution.Types.SetupBuildInfo.Lens\r\n Distribution.Types.SourceRepo\r\n Distribution.Types.SourceRepo.Lens\r\n Distribution.Types.TestSuite\r\n Distribution.Types.TestSuite.Lens\r\n Distribution.Types.TestSuiteInterface\r\n Distribution.Types.TestType\r\n Distribution.Types.UnitId\r\n Distribution.Types.UnqualComponentName\r\n Distribution.Types.Version\r\n Distribution.Types.VersionInterval\r\n Distribution.Types.VersionInterval.Legacy\r\n Distribution.Types.VersionRange\r\n Distribution.Types.VersionRange.Internal\r\n Distribution.Utils.Base62\r\n Distribution.Utils.Generic\r\n Distribution.Utils.MD5\r\n Distribution.Utils.Path\r\n Distribution.Utils.ShortText\r\n Distribution.Utils.String\r\n Distribution.Utils.Structured\r\n Distribution.Version\r\n Language.Haskell.Extension\r\n\r\n other-extensions:\r\n BangPatterns\r\n CPP\r\n DefaultSignatures\r\n DeriveDataTypeable\r\n DeriveFoldable\r\n DeriveFunctor\r\n DeriveGeneric\r\n DeriveTraversable\r\n ExistentialQuantification\r\n FlexibleContexts\r\n FlexibleInstances\r\n GeneralizedNewtypeDeriving\r\n ImplicitParams\r\n KindSignatures\r\n NondecreasingIndentation\r\n OverloadedStrings\r\n PatternSynonyms\r\n RankNTypes\r\n RecordWildCards\r\n ScopedTypeVariables\r\n StandaloneDeriving\r\n Trustworthy\r\n TypeFamilies\r\n TypeOperators\r\n TypeSynonymInstances\r\n UndecidableInstances\r\n"; + } \ No newline at end of file diff --git a/materialized/ghc964/hadrian-ghc964/hadrian/cabal-files/Cabal.nix b/materialized/ghc964/hadrian-ghc964/hadrian/cabal-files/Cabal.nix new file mode 100644 index 000000000..be0b5019d --- /dev/null +++ b/materialized/ghc964/hadrian-ghc964/hadrian/cabal-files/Cabal.nix @@ -0,0 +1,56 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = {}; + package = { + specVersion = "1.22"; + identifier = { name = "Cabal"; version = "3.8.1.0"; }; + license = "BSD-3-Clause"; + copyright = "2003-2022, Cabal Development Team (see AUTHORS file)"; + maintainer = "cabal-devel@haskell.org"; + author = "Cabal Development Team "; + homepage = "http://www.haskell.org/cabal/"; + url = ""; + synopsis = "A framework for packaging Haskell software"; + description = "The Haskell Common Architecture for Building Applications and\nLibraries: a framework defining a common interface for authors to more\neasily build their Haskell applications in a portable way.\n\nThe Haskell Cabal is part of a larger infrastructure for distributing,\norganizing, and cataloging Haskell libraries and tools."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = ([ + (hsPkgs."Cabal-syntax" or (errorHandler.buildDepError "Cabal-syntax")) + (hsPkgs."array" or (errorHandler.buildDepError "array")) + (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."directory" or (errorHandler.buildDepError "directory")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."pretty" or (errorHandler.buildDepError "pretty")) + (hsPkgs."process" or (errorHandler.buildDepError "process")) + (hsPkgs."time" or (errorHandler.buildDepError "time")) + (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")) + (hsPkgs."mtl" or (errorHandler.buildDepError "mtl")) + (hsPkgs."text" or (errorHandler.buildDepError "text")) + (hsPkgs."parsec" or (errorHandler.buildDepError "parsec")) + ] ++ pkgs.lib.optional (compiler.isGhc && compiler.version.ge "8.2") (hsPkgs."process" or (errorHandler.buildDepError "process"))) ++ (if system.isWindows + then [ (hsPkgs."Win32" or (errorHandler.buildDepError "Win32")) ] + else [ (hsPkgs."unix" or (errorHandler.buildDepError "unix")) ]); + buildable = true; + }; + }; + } // { + src = pkgs.lib.mkDefault (pkgs.fetchurl { + url = "http://hackage.haskell.org/package/Cabal-3.8.1.0.tar.gz"; + sha256 = "7464cbe6c2f3d7e5d0232023a1a7330621f8b24853cb259fc89a2af85b736608"; + }); + }) // { + package-description-override = "cabal-version: 1.22\r\nname: Cabal\r\nversion: 3.8.1.0\r\nx-revision: 2\r\ncopyright: 2003-2022, Cabal Development Team (see AUTHORS file)\r\nlicense: BSD3\r\nlicense-file: LICENSE\r\nauthor: Cabal Development Team \r\nmaintainer: cabal-devel@haskell.org\r\nhomepage: http://www.haskell.org/cabal/\r\nbug-reports: https://github.com/haskell/cabal/issues\r\nsynopsis: A framework for packaging Haskell software\r\ndescription:\r\n The Haskell Common Architecture for Building Applications and\r\n Libraries: a framework defining a common interface for authors to more\r\n easily build their Haskell applications in a portable way.\r\n .\r\n The Haskell Cabal is part of a larger infrastructure for distributing,\r\n organizing, and cataloging Haskell libraries and tools.\r\ncategory: Distribution\r\nbuild-type: Simple\r\n-- If we use a new Cabal feature, this needs to be changed to Custom so\r\n-- we can bootstrap.\r\n\r\nextra-source-files:\r\n README.md ChangeLog.md\r\n\r\nsource-repository head\r\n type: git\r\n location: https://github.com/haskell/cabal/\r\n subdir: Cabal\r\n\r\nlibrary\r\n default-language: Haskell2010\r\n hs-source-dirs: src\r\n\r\n build-depends:\r\n Cabal-syntax >= 3.8 && < 3.9,\r\n array >= 0.4.0.1 && < 0.6,\r\n base >= 4.6 && < 5,\r\n bytestring >= 0.10.0.0 && < 0.12,\r\n containers >= 0.5.0.0 && < 0.7,\r\n deepseq >= 1.3.0.1 && < 1.5,\r\n directory >= 1.2 && < 1.4,\r\n filepath >= 1.3.0.1 && < 1.5,\r\n pretty >= 1.1.1 && < 1.2,\r\n process >= 1.2.1.0 && < 1.7,\r\n time >= 1.4.0.1 && < 1.13\r\n\r\n -- PR #8802: moved conditional process lower bound to cabal-install package\r\n if impl(ghc >=8.2)\r\n build-depends: process >= 1.2.1.0\r\n\r\n if os(windows)\r\n build-depends: Win32 >= 2.3.0.0 && < 2.14\r\n else\r\n build-depends: unix >= 2.6.0.0 && < 2.9\r\n\r\n ghc-options: -Wall -fno-ignore-asserts -fwarn-tabs -fwarn-incomplete-uni-patterns -fwarn-incomplete-record-updates\r\n ghc-options: -Wcompat -Wnoncanonical-monad-instances\r\n\r\n if impl(ghc <8.8)\r\n ghc-options: -Wnoncanonical-monadfail-instances\r\n\r\n exposed-modules:\r\n Distribution.Backpack.Configure\r\n Distribution.Backpack.ComponentsGraph\r\n Distribution.Backpack.ConfiguredComponent\r\n Distribution.Backpack.DescribeUnitId\r\n Distribution.Backpack.FullUnitId\r\n Distribution.Backpack.LinkedComponent\r\n Distribution.Backpack.ModSubst\r\n Distribution.Backpack.ModuleShape\r\n Distribution.Backpack.PreModuleShape\r\n Distribution.Utils.IOData\r\n Distribution.Utils.LogProgress\r\n Distribution.Utils.MapAccum\r\n Distribution.Compat.CreatePipe\r\n Distribution.Compat.Directory\r\n Distribution.Compat.Environment\r\n Distribution.Compat.FilePath\r\n Distribution.Compat.Internal.TempFile\r\n Distribution.Compat.ResponseFile\r\n Distribution.Compat.Prelude.Internal\r\n Distribution.Compat.Process\r\n Distribution.Compat.Stack\r\n Distribution.Compat.Time\r\n Distribution.Make\r\n Distribution.PackageDescription.Check\r\n Distribution.ReadE\r\n Distribution.Simple\r\n Distribution.Simple.Bench\r\n Distribution.Simple.Build\r\n Distribution.Simple.Build.Macros\r\n Distribution.Simple.Build.PathsModule\r\n Distribution.Simple.BuildPaths\r\n Distribution.Simple.BuildTarget\r\n Distribution.Simple.BuildToolDepends\r\n Distribution.Simple.CCompiler\r\n Distribution.Simple.Command\r\n Distribution.Simple.Compiler\r\n Distribution.Simple.Configure\r\n Distribution.Simple.Flag\r\n Distribution.Simple.GHC\r\n Distribution.Simple.GHCJS\r\n Distribution.Simple.Haddock\r\n Distribution.Simple.Glob\r\n Distribution.Simple.HaskellSuite\r\n Distribution.Simple.Hpc\r\n Distribution.Simple.Install\r\n Distribution.Simple.InstallDirs\r\n Distribution.Simple.InstallDirs.Internal\r\n Distribution.Simple.LocalBuildInfo\r\n Distribution.Simple.PackageDescription\r\n Distribution.Simple.PackageIndex\r\n Distribution.Simple.PreProcess\r\n Distribution.Simple.PreProcess.Unlit\r\n Distribution.Simple.Program\r\n Distribution.Simple.Program.Ar\r\n Distribution.Simple.Program.Builtin\r\n Distribution.Simple.Program.Db\r\n Distribution.Simple.Program.Find\r\n Distribution.Simple.Program.GHC\r\n Distribution.Simple.Program.HcPkg\r\n Distribution.Simple.Program.Hpc\r\n Distribution.Simple.Program.Internal\r\n Distribution.Simple.Program.Ld\r\n Distribution.Simple.Program.ResponseFile\r\n Distribution.Simple.Program.Run\r\n Distribution.Simple.Program.Script\r\n Distribution.Simple.Program.Strip\r\n Distribution.Simple.Program.Types\r\n Distribution.Simple.Register\r\n Distribution.Simple.Setup\r\n Distribution.Simple.ShowBuildInfo\r\n Distribution.Simple.SrcDist\r\n Distribution.Simple.Test\r\n Distribution.Simple.Test.ExeV10\r\n Distribution.Simple.Test.LibV09\r\n Distribution.Simple.Test.Log\r\n Distribution.Simple.UHC\r\n Distribution.Simple.UserHooks\r\n Distribution.Simple.Utils\r\n Distribution.TestSuite\r\n Distribution.Types.AnnotatedId\r\n Distribution.Types.ComponentInclude\r\n Distribution.Types.DumpBuildInfo\r\n Distribution.Types.PackageName.Magic\r\n Distribution.Types.ComponentLocalBuildInfo\r\n Distribution.Types.LocalBuildInfo\r\n Distribution.Types.TargetInfo\r\n Distribution.Types.GivenComponent\r\n Distribution.Utils.Json\r\n Distribution.Utils.NubList\r\n Distribution.Utils.Progress\r\n Distribution.Verbosity\r\n Distribution.Verbosity.Internal\r\n\r\n -- We reexport all of Cabal-syntax to aid in compatibility for downstream\r\n -- users. In the future we may opt to deprecate some or all of these exports.\r\n -- See haskell/Cabal#7974.\r\n reexported-modules:\r\n Distribution.Backpack,\r\n Distribution.CabalSpecVersion,\r\n Distribution.Compat.Binary,\r\n Distribution.Compat.CharParsing,\r\n Distribution.Compat.DList,\r\n Distribution.Compat.Exception,\r\n Distribution.Compat.Graph,\r\n Distribution.Compat.Lens,\r\n Distribution.Compat.MonadFail,\r\n Distribution.Compat.Newtype,\r\n Distribution.Compat.NonEmptySet,\r\n Distribution.Compat.Parsing,\r\n Distribution.Compat.Prelude,\r\n Distribution.Compat.Semigroup,\r\n Distribution.Compat.Typeable,\r\n Distribution.Compiler,\r\n Distribution.FieldGrammar,\r\n Distribution.FieldGrammar.Class,\r\n Distribution.FieldGrammar.FieldDescrs,\r\n Distribution.FieldGrammar.Newtypes,\r\n Distribution.FieldGrammar.Parsec,\r\n Distribution.FieldGrammar.Pretty,\r\n Distribution.Fields,\r\n Distribution.Fields.ConfVar,\r\n Distribution.Fields.Field,\r\n Distribution.Fields.Lexer,\r\n Distribution.Fields.LexerMonad,\r\n Distribution.Fields.ParseResult,\r\n Distribution.Fields.Parser,\r\n Distribution.Fields.Pretty,\r\n Distribution.InstalledPackageInfo,\r\n Distribution.License,\r\n Distribution.ModuleName,\r\n Distribution.Package,\r\n Distribution.PackageDescription,\r\n Distribution.PackageDescription.Configuration,\r\n Distribution.PackageDescription.FieldGrammar,\r\n Distribution.PackageDescription.Parsec,\r\n Distribution.PackageDescription.PrettyPrint,\r\n Distribution.PackageDescription.Quirks,\r\n Distribution.PackageDescription.Utils,\r\n Distribution.Parsec,\r\n Distribution.Parsec.Error,\r\n Distribution.Parsec.FieldLineStream,\r\n Distribution.Parsec.Position,\r\n Distribution.Parsec.Warning,\r\n Distribution.Pretty,\r\n Distribution.SPDX,\r\n Distribution.SPDX.License,\r\n Distribution.SPDX.LicenseExceptionId,\r\n Distribution.SPDX.LicenseExpression,\r\n Distribution.SPDX.LicenseId,\r\n Distribution.SPDX.LicenseListVersion,\r\n Distribution.SPDX.LicenseReference,\r\n Distribution.System,\r\n Distribution.Text,\r\n Distribution.Types.AbiDependency,\r\n Distribution.Types.AbiHash,\r\n Distribution.Types.Benchmark,\r\n Distribution.Types.Benchmark.Lens,\r\n Distribution.Types.BenchmarkInterface,\r\n Distribution.Types.BenchmarkType,\r\n Distribution.Types.BuildInfo,\r\n Distribution.Types.BuildInfo.Lens,\r\n Distribution.Types.BuildType,\r\n Distribution.Types.Component,\r\n Distribution.Types.ComponentId,\r\n Distribution.Types.ComponentName,\r\n Distribution.Types.ComponentRequestedSpec,\r\n Distribution.Types.CondTree,\r\n Distribution.Types.Condition,\r\n Distribution.Types.ConfVar,\r\n Distribution.Types.Dependency,\r\n Distribution.Types.DependencyMap,\r\n Distribution.Types.ExeDependency,\r\n Distribution.Types.Executable,\r\n Distribution.Types.Executable.Lens,\r\n Distribution.Types.ExecutableScope,\r\n Distribution.Types.ExposedModule,\r\n Distribution.Types.Flag,\r\n Distribution.Types.ForeignLib,\r\n Distribution.Types.ForeignLib.Lens,\r\n Distribution.Types.ForeignLibOption,\r\n Distribution.Types.ForeignLibType,\r\n Distribution.Types.GenericPackageDescription,\r\n Distribution.Types.GenericPackageDescription.Lens,\r\n Distribution.Types.HookedBuildInfo,\r\n Distribution.Types.IncludeRenaming,\r\n Distribution.Types.InstalledPackageInfo,\r\n Distribution.Types.InstalledPackageInfo.Lens,\r\n Distribution.Types.InstalledPackageInfo.FieldGrammar,\r\n Distribution.Types.LegacyExeDependency,\r\n Distribution.Types.Lens,\r\n Distribution.Types.Library,\r\n Distribution.Types.Library.Lens,\r\n Distribution.Types.LibraryName,\r\n Distribution.Types.LibraryVisibility,\r\n Distribution.Types.Mixin,\r\n Distribution.Types.Module,\r\n Distribution.Types.ModuleReexport,\r\n Distribution.Types.ModuleRenaming,\r\n Distribution.Types.MungedPackageId,\r\n Distribution.Types.MungedPackageName,\r\n Distribution.Types.PackageDescription,\r\n Distribution.Types.PackageDescription.Lens,\r\n Distribution.Types.PackageId,\r\n Distribution.Types.PackageId.Lens,\r\n Distribution.Types.PackageName,\r\n Distribution.Types.PackageVersionConstraint,\r\n Distribution.Types.PkgconfigDependency,\r\n Distribution.Types.PkgconfigName,\r\n Distribution.Types.PkgconfigVersion,\r\n Distribution.Types.PkgconfigVersionRange,\r\n Distribution.Types.SetupBuildInfo,\r\n Distribution.Types.SetupBuildInfo.Lens,\r\n Distribution.Types.SourceRepo,\r\n Distribution.Types.SourceRepo.Lens,\r\n Distribution.Types.TestSuite,\r\n Distribution.Types.TestSuite.Lens,\r\n Distribution.Types.TestSuiteInterface,\r\n Distribution.Types.TestType,\r\n Distribution.Types.UnitId,\r\n Distribution.Types.UnqualComponentName,\r\n Distribution.Types.Version,\r\n Distribution.Types.VersionInterval,\r\n Distribution.Types.VersionInterval.Legacy,\r\n Distribution.Types.VersionRange,\r\n Distribution.Types.VersionRange.Internal,\r\n Distribution.Utils.Base62,\r\n Distribution.Utils.Generic,\r\n Distribution.Utils.MD5,\r\n Distribution.Utils.Path,\r\n Distribution.Utils.ShortText,\r\n Distribution.Utils.String,\r\n Distribution.Utils.Structured,\r\n Distribution.Version,\r\n Language.Haskell.Extension\r\n\r\n -- Parsec parser-related modules\r\n build-depends:\r\n -- transformers-0.4.0.0 doesn't have record syntax e.g. for Identity\r\n -- See also https://github.com/ekmett/transformers-compat/issues/35\r\n transformers (>= 0.3 && < 0.4) || (>=0.4.1.0 && <0.7),\r\n mtl >= 2.1 && < 2.4,\r\n text (>= 1.2.3.0 && < 1.3) || (>= 2.0 && < 2.1),\r\n parsec >= 3.1.13.0 && < 3.2\r\n\r\n other-modules:\r\n Distribution.Backpack.PreExistingComponent\r\n Distribution.Backpack.ReadyComponent\r\n Distribution.Backpack.MixLink\r\n Distribution.Backpack.ModuleScope\r\n Distribution.Backpack.UnifyM\r\n Distribution.Backpack.Id\r\n Distribution.Utils.UnionFind\r\n Distribution.Compat.Async\r\n Distribution.Compat.CopyFile\r\n Distribution.Compat.GetShortPathName\r\n Distribution.Compat.SnocList\r\n Distribution.GetOpt\r\n Distribution.Lex\r\n Distribution.Simple.Build.Macros.Z\r\n Distribution.Simple.Build.PathsModule.Z\r\n Distribution.Simple.GHC.EnvironmentParser\r\n Distribution.Simple.GHC.Internal\r\n Distribution.Simple.GHC.ImplInfo\r\n Distribution.ZinzaPrelude\r\n Paths_Cabal\r\n\r\n other-extensions:\r\n BangPatterns\r\n CPP\r\n DefaultSignatures\r\n DeriveDataTypeable\r\n DeriveFoldable\r\n DeriveFunctor\r\n DeriveGeneric\r\n DeriveTraversable\r\n ExistentialQuantification\r\n FlexibleContexts\r\n FlexibleInstances\r\n GeneralizedNewtypeDeriving\r\n ImplicitParams\r\n KindSignatures\r\n LambdaCase\r\n NondecreasingIndentation\r\n OverloadedStrings\r\n PatternSynonyms\r\n RankNTypes\r\n RecordWildCards\r\n ScopedTypeVariables\r\n StandaloneDeriving\r\n Trustworthy\r\n TypeFamilies\r\n TypeOperators\r\n TypeSynonymInstances\r\n UndecidableInstances\r\n"; + } \ No newline at end of file diff --git a/materialized/ghc964/hadrian-ghc964/hadrian/cabal-files/QuickCheck.nix b/materialized/ghc964/hadrian-ghc964/hadrian/cabal-files/QuickCheck.nix new file mode 100644 index 000000000..62e36aa8b --- /dev/null +++ b/materialized/ghc964/hadrian-ghc964/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/ghc964/hadrian-ghc964/hadrian/cabal-files/clock.nix b/materialized/ghc964/hadrian-ghc964/hadrian/cabal-files/clock.nix new file mode 100644 index 000000000..1db6e2d90 --- /dev/null +++ b/materialized/ghc964/hadrian-ghc964/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.4"; }; + license = "BSD-3-Clause"; + copyright = "Copyright © Cetin Sert 2009-2023, 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 , Elefunc, Inc."; + author = "Cetin Sert , Elefunc, Inc."; + 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.4.tar.gz"; + sha256 = "6ae9898afe788a5e334cd5fad5d18a3c2e8e59fa09aaf7b957dbb38a4767df2e"; + }); + }) // { + package-description-override = "cabal-version: >= 1.10\nname: clock\nversion: 0.8.4\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-2023, 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 , Elefunc, Inc.\nmaintainer: Cetin Sert , Elefunc, Inc.\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.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\nextra-source-files:\n CHANGELOG.md\n\n\nsource-repository head\n type: git\n location: https://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/ghc964/hadrian-ghc964/hadrian/cabal-files/extra.nix b/materialized/ghc964/hadrian-ghc964/hadrian/cabal-files/extra.nix new file mode 100644 index 000000000..41668cf6b --- /dev/null +++ b/materialized/ghc964/hadrian-ghc964/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/ghc964/hadrian-ghc964/hadrian/cabal-files/filepattern.nix b/materialized/ghc964/hadrian-ghc964/hadrian/cabal-files/filepattern.nix new file mode 100644 index 000000000..385c50200 --- /dev/null +++ b/materialized/ghc964/hadrian-ghc964/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/ghc964/hadrian-ghc964/hadrian/cabal-files/hashable.nix b/materialized/ghc964/hadrian-ghc964/hadrian/cabal-files/hashable.nix new file mode 100644 index 000000000..4b125fa0b --- /dev/null +++ b/materialized/ghc964/hadrian-ghc964/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.3.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.\n\nThe 'Hashable' 'hash' values are not guaranteed to be stable across library versions, operating systems or architectures. For stable hashing use named hashes: SHA256, CRC32 etc."; + 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.3.0.tar.gz"; + sha256 = "32efb16c2891786209b7cbe5c39df9b3a9ae51e836f1a54f646bc4602b7ab0f5"; + }); + }) // { + package-description-override = "cabal-version: 1.12\nname: hashable\nversion: 1.4.3.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 .\n The 'Hashable' 'hash' values are not guaranteed to be stable across library versions, operating systems or architectures. For stable hashing use named hashes: SHA256, CRC32 etc.\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.8\n || ==9.4.7\n || ==9.6.3\n || ==9.8.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.20\n , bytestring >=0.10.8.2 && <0.13\n , containers >=0.5.10.2 && <0.7\n , deepseq >=1.4.3.0 && <1.6\n , filepath >=1.4.1.2 && <1.5\n , ghc-prim\n , text >=1.2.3.0 && <1.3 || >=2.0 && <2.2\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/ghc964/hadrian-ghc964/hadrian/cabal-files/heaps.nix b/materialized/ghc964/hadrian-ghc964/hadrian/cabal-files/heaps.nix new file mode 100644 index 000000000..e759e305b --- /dev/null +++ b/materialized/ghc964/hadrian-ghc964/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/ghc964/hadrian-ghc964/hadrian/cabal-files/js-dgtable.nix b/materialized/ghc964/hadrian-ghc964/hadrian/cabal-files/js-dgtable.nix new file mode 100644 index 000000000..40ea1148c --- /dev/null +++ b/materialized/ghc964/hadrian-ghc964/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/ghc964/hadrian-ghc964/hadrian/cabal-files/js-flot.nix b/materialized/ghc964/hadrian-ghc964/hadrian/cabal-files/js-flot.nix new file mode 100644 index 000000000..67980dd7b --- /dev/null +++ b/materialized/ghc964/hadrian-ghc964/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/ghc964/hadrian-ghc964/hadrian/cabal-files/js-jquery.nix b/materialized/ghc964/hadrian-ghc964/hadrian/cabal-files/js-jquery.nix new file mode 100644 index 000000000..05e54a25a --- /dev/null +++ b/materialized/ghc964/hadrian-ghc964/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/ghc964/hadrian-ghc964/hadrian/cabal-files/primitive.nix b/materialized/ghc964/hadrian-ghc964/hadrian/cabal-files/primitive.nix new file mode 100644 index 000000000..b5683f2c8 --- /dev/null +++ b/materialized/ghc964/hadrian-ghc964/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.9.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.9.0.0.tar.gz"; + sha256 = "696d4bd291c94d736142d6182117dca4258d3ef28bfefdb649ac8b5ecd0999c7"; + }); + }) // { + package-description-override = "Cabal-Version: 2.0\nName: primitive\nVersion: 0.9.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 Data.Primitive.Internal.Read\n\n Build-Depends: base >= 4.9 && < 4.20\n , deepseq >= 1.1 && < 1.6\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/ghc964/hadrian-ghc964/hadrian/cabal-files/random.nix b/materialized/ghc964/hadrian-ghc964/hadrian/cabal-files/random.nix new file mode 100644 index 000000000..0dbaf8b09 --- /dev/null +++ b/materialized/ghc964/hadrian-ghc964/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\r\nname: random\r\nversion: 1.2.1.1\r\nx-revision: 1\r\nlicense: BSD3\r\nlicense-file: LICENSE\r\nmaintainer: core-libraries-committee@haskell.org\r\nbug-reports: https://github.com/haskell/random/issues\r\nsynopsis: Pseudo-random number generation\r\ndescription:\r\n This package provides basic pseudo-random number generation, including the\r\n ability to split random number generators.\r\n .\r\n == \"System.Random\": pure pseudo-random number interface\r\n .\r\n In pure code, use 'System.Random.uniform' and 'System.Random.uniformR' from\r\n \"System.Random\" to generate pseudo-random numbers with a pure pseudo-random\r\n number generator like 'System.Random.StdGen'.\r\n .\r\n As an example, here is how you can simulate rolls of a six-sided die using\r\n 'System.Random.uniformR':\r\n .\r\n >>> let roll = uniformR (1, 6) :: RandomGen g => g -> (Word, g)\r\n >>> let rolls = unfoldr (Just . roll) :: RandomGen g => g -> [Word]\r\n >>> let pureGen = mkStdGen 42\r\n >>> take 10 (rolls pureGen) :: [Word]\r\n [1,1,3,2,4,5,3,4,6,2]\r\n .\r\n See \"System.Random\" for more details.\r\n .\r\n == \"System.Random.Stateful\": monadic pseudo-random number interface\r\n .\r\n In monadic code, use 'System.Random.Stateful.uniformM' and\r\n 'System.Random.Stateful.uniformRM' from \"System.Random.Stateful\" to generate\r\n pseudo-random numbers with a monadic pseudo-random number generator, or\r\n using a monadic adapter.\r\n .\r\n As an example, here is how you can simulate rolls of a six-sided die using\r\n 'System.Random.Stateful.uniformRM':\r\n .\r\n >>> let rollM = uniformRM (1, 6) :: StatefulGen g m => g -> m Word\r\n >>> let pureGen = mkStdGen 42\r\n >>> runStateGen_ pureGen (replicateM 10 . rollM) :: [Word]\r\n [1,1,3,2,4,5,3,4,6,2]\r\n .\r\n The monadic adapter 'System.Random.Stateful.runStateGen_' is used here to lift\r\n the pure pseudo-random number generator @pureGen@ into the\r\n 'System.Random.Stateful.StatefulGen' context.\r\n .\r\n The monadic interface can also be used with existing monadic pseudo-random\r\n number generators. In this example, we use the one provided in the\r\n package:\r\n .\r\n >>> import System.Random.MWC as MWC\r\n >>> let rollM = uniformRM (1, 6) :: StatefulGen g m => g -> m Word\r\n >>> monadicGen <- MWC.create\r\n >>> replicateM 10 (rollM monadicGen) :: IO [Word]\r\n [2,3,6,6,4,4,3,1,5,4]\r\n .\r\n See \"System.Random.Stateful\" for more details.\r\n\r\ncategory: System\r\nbuild-type: Simple\r\nextra-source-files:\r\n README.md\r\n CHANGELOG.md\r\ntested-with: GHC == 7.10.2\r\n , GHC == 7.10.3\r\n , GHC == 8.0.2\r\n , GHC == 8.2.2\r\n , GHC == 8.4.3\r\n , GHC == 8.4.4\r\n , GHC == 8.6.3\r\n , GHC == 8.6.4\r\n , GHC == 8.6.5\r\n , GHC == 8.8.1\r\n , GHC == 8.8.2\r\n , GHC == 8.10.1\r\n\r\nsource-repository head\r\n type: git\r\n location: https://github.com/haskell/random.git\r\n\r\n\r\nlibrary\r\n exposed-modules:\r\n System.Random\r\n System.Random.Internal\r\n System.Random.Stateful\r\n other-modules:\r\n System.Random.GFinite\r\n\r\n hs-source-dirs: src\r\n default-language: Haskell2010\r\n ghc-options:\r\n -Wall\r\n if impl(ghc >= 8.0)\r\n ghc-options:\r\n -Wincomplete-record-updates -Wincomplete-uni-patterns\r\n\r\n build-depends:\r\n base >=4.8 && <5,\r\n bytestring >=0.10.4 && <0.13,\r\n deepseq >=1.1 && <2,\r\n mtl >=2.2 && <2.4,\r\n splitmix >=0.1 && <0.2\r\n if impl(ghc < 8.0)\r\n build-depends:\r\n transformers\r\n\r\ntest-suite legacy-test\r\n type: exitcode-stdio-1.0\r\n main-is: Legacy.hs\r\n hs-source-dirs: test-legacy\r\n other-modules:\r\n T7936\r\n TestRandomIOs\r\n TestRandomRs\r\n Random1283\r\n RangeTest\r\n\r\n default-language: Haskell2010\r\n ghc-options: -with-rtsopts=-M8M\r\n if impl(ghc >= 8.0)\r\n ghc-options:\r\n -Wno-deprecations\r\n build-depends:\r\n base,\r\n containers >=0.5 && <0.7,\r\n random\r\n\r\ntest-suite doctests\r\n type: exitcode-stdio-1.0\r\n main-is: doctests.hs\r\n hs-source-dirs: test\r\n default-language: Haskell2010\r\n build-depends:\r\n base,\r\n doctest >=0.15 && <0.21\r\n if impl(ghc >= 8.2) && impl(ghc < 8.10)\r\n build-depends:\r\n mwc-random >=0.13 && <0.16,\r\n primitive >=0.6 && <0.8,\r\n random,\r\n stm,\r\n unliftio >=0.2 && <0.3,\r\n vector >= 0.10 && <0.14\r\n\r\ntest-suite spec\r\n type: exitcode-stdio-1.0\r\n main-is: Spec.hs\r\n hs-source-dirs: test\r\n other-modules:\r\n Spec.Range\r\n Spec.Run\r\n Spec.Stateful\r\n\r\n default-language: Haskell2010\r\n ghc-options: -Wall\r\n build-depends:\r\n base,\r\n bytestring,\r\n random,\r\n smallcheck >=1.2 && <1.3,\r\n stm,\r\n tasty >=1.0 && <1.5,\r\n tasty-smallcheck >=0.8 && <0.9,\r\n tasty-hunit >=0.10 && <0.11,\r\n transformers\r\n\r\n-- Note. Fails when compiled with coverage:\r\n-- https://github.com/haskell/random/issues/107\r\ntest-suite spec-inspection\r\n type: exitcode-stdio-1.0\r\n main-is: Spec.hs\r\n hs-source-dirs: test-inspection\r\n build-depends:\r\n\r\n default-language: Haskell2010\r\n ghc-options: -Wall\r\n build-depends:\r\n base,\r\n random,\r\n tasty >=1.0 && <1.5\r\n if impl(ghc >= 8.0)\r\n build-depends:\r\n tasty-inspection-testing\r\n other-modules:\r\n Spec.Inspection\r\n\r\nbenchmark legacy-bench\r\n type: exitcode-stdio-1.0\r\n main-is: SimpleRNGBench.hs\r\n hs-source-dirs: bench-legacy\r\n other-modules: BinSearch\r\n default-language: Haskell2010\r\n ghc-options:\r\n -Wall -O2 -threaded -rtsopts -with-rtsopts=-N\r\n if impl(ghc >= 8.0)\r\n ghc-options:\r\n -Wno-deprecations\r\n\r\n build-depends:\r\n base,\r\n random,\r\n rdtsc,\r\n split >=0.2 && <0.3,\r\n time >=1.4 && <1.13\r\n\r\nbenchmark bench\r\n type: exitcode-stdio-1.0\r\n main-is: Main.hs\r\n hs-source-dirs: bench\r\n default-language: Haskell2010\r\n ghc-options: -Wall -O2\r\n build-depends:\r\n base,\r\n mtl,\r\n primitive >= 0.7.1,\r\n random,\r\n splitmix >=0.1 && <0.2,\r\n tasty-bench\r\n"; + } \ No newline at end of file diff --git a/materialized/ghc964/hadrian-ghc964/hadrian/cabal-files/shake.nix b/materialized/ghc964/hadrian-ghc964/hadrian/cabal-files/shake.nix new file mode 100644 index 000000000..d40c2a8bb --- /dev/null +++ b/materialized/ghc964/hadrian-ghc964/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/ghc964/hadrian-ghc964/hadrian/cabal-files/splitmix.nix b/materialized/ghc964/hadrian-ghc964/hadrian/cabal-files/splitmix.nix new file mode 100644 index 000000000..aa0dd88d3 --- /dev/null +++ b/materialized/ghc964/hadrian-ghc964/hadrian/cabal-files/splitmix.nix @@ -0,0 +1,139 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = { optimised-mixer = false; }; + package = { + specVersion = "1.10"; + identifier = { name = "splitmix"; version = "0.1.0.5"; }; + 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."random" or (errorHandler.buildDepError "random")) + (hsPkgs."splitmix" or (errorHandler.buildDepError "splitmix")) + ] ++ pkgs.lib.optional (!(compiler.isGhcjs && true)) (hsPkgs."clock" or (errorHandler.buildDepError "clock")); + buildable = true; + }; + }; + }; + } // { + src = pkgs.lib.mkDefault (pkgs.fetchurl { + url = "http://hackage.haskell.org/package/splitmix-0.1.0.5.tar.gz"; + sha256 = "9df07a9611ef45f1b1258a0b412f4d02c920248f69d2e2ce8ccda328f7e13002"; + }); + }) // { + package-description-override = "cabal-version: >=1.10\nname: splitmix\nversion: 0.1.0.5\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.8\n || ==9.4.7\n || ==9.6.3\n || ==9.8.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.20\n , deepseq >=1.3.0.0 && <1.6\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.7\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 , random\n , splitmix\n\n if !impl(ghcjs)\n build-depends: clock >=0.8 && <0.9\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.14\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.14\n , bytestring >=0.9.1.8 && <0.13\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.14\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.14\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/ghc964/hadrian-ghc964/hadrian/cabal-files/unordered-containers.nix b/materialized/ghc964/hadrian-ghc964/hadrian/cabal-files/unordered-containers.nix new file mode 100644 index 000000000..0aeaccb27 --- /dev/null +++ b/materialized/ghc964/hadrian-ghc964/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\nversion: 0.2.19.1\nx-revision: 3\nsynopsis: Efficient hashing-based container types\ndescription:\n Efficient hashing-based container types. The containers have been\n optimized for performance critical use, both in terms of large data\n quantities and high speed.\n .\n The declared cost of each operation is either worst-case or\n amortized, but remains valid even if structures are shared.\n .\n /Security/\n .\n This package currently provides no defenses against hash collision attacks\n such as HashDoS.\n Users who need to store input from untrusted sources are advised to use\n @Data.Map@ or @Data.Set@ from the @containers@ package instead.\nlicense: BSD3\nlicense-file: LICENSE\nauthor: Johan Tibell\nmaintainer: simon.jakobi@gmail.com, David.Feuer@gmail.com\nHomepage: https://github.com/haskell-unordered-containers/unordered-containers\nbug-reports: https://github.com/haskell-unordered-containers/unordered-containers/issues\ncopyright: 2010-2014 Johan Tibell\n 2010 Edward Z. Yang\ncategory: Data\nbuild-type: Simple\ncabal-version: >=1.10\nextra-source-files: CHANGES.md\n\ntested-with:\n GHC ==9.8.1\n || ==9.6.3\n || ==9.4.7\n || ==9.2.8\n || ==9.0.2\n || ==8.10.7\n || ==8.8.4\n || ==8.6.5\n || ==8.4.4\n || ==8.2.2\n\nflag debug\n description: Enable debug support\n default: False\n\nlibrary\n exposed-modules:\n Data.HashMap.Internal\n Data.HashMap.Internal.Array\n Data.HashMap.Internal.List\n Data.HashMap.Internal.Strict\n Data.HashMap.Lazy\n Data.HashMap.Strict\n Data.HashSet\n Data.HashSet.Internal\n\n build-depends:\n base >= 4.10 && < 5,\n deepseq >= 1.4.3,\n hashable >= 1.2.5 && < 1.5,\n template-haskell < 2.22\n\n default-language: Haskell2010\n\n other-extensions:\n RoleAnnotations,\n UnboxedTuples,\n ScopedTypeVariables,\n MagicHash,\n BangPatterns\n\n ghc-options: -Wall -O2 -fwarn-tabs -ferror-spans\n\n -- For dumping the generated code:\n -- ghc-options: -ddump-simpl -ddump-stg-final -ddump-cmm -ddump-asm -ddump-to-file\n -- ghc-options: -dsuppress-coercions -dsuppress-unfoldings -dsuppress-module-prefixes\n -- ghc-options: -dsuppress-uniques -dsuppress-timestamps\n\n if flag(debug)\n cpp-options: -DASSERTS\n\ntest-suite unordered-containers-tests\n hs-source-dirs: tests\n main-is: Main.hs\n type: exitcode-stdio-1.0\n other-modules:\n Regressions\n Properties\n Properties.HashMapLazy\n Properties.HashMapStrict\n Properties.HashSet\n Properties.List\n Strictness\n\n build-depends:\n base,\n ChasingBottoms,\n containers >= 0.5.8,\n hashable,\n HUnit,\n QuickCheck >= 2.4.0.1,\n random,\n tasty >= 1.4.0.3,\n tasty-hunit >= 0.10.0.3,\n tasty-quickcheck >= 0.10.1.2,\n unordered-containers\n\n if impl(ghc >= 8.6)\n build-depends:\n nothunks >= 0.1.3\n\n default-language: Haskell2010\n ghc-options: -Wall\n cpp-options: -DASSERTS\n\nbenchmark benchmarks\n hs-source-dirs: benchmarks\n main-is: Benchmarks.hs\n type: exitcode-stdio-1.0\n\n other-modules:\n Util.ByteString\n Util.String\n Util.Int\n\n build-depends:\n base >= 4.8.0,\n bytestring >= 0.10.0.0,\n containers,\n deepseq,\n hashable,\n hashmap,\n mtl,\n random,\n tasty-bench >= 0.3.1,\n unordered-containers\n\n default-language: Haskell2010\n ghc-options: -Wall -O2 -rtsopts -with-rtsopts=-A32m\n if impl(ghc >= 8.10)\n ghc-options: \"-with-rtsopts=-A32m --nonmoving-gc\"\n -- cpp-options: -DBENCH_containers_Map -DBENCH_containers_IntMap -DBENCH_hashmap_Map\n\nsource-repository head\n type: git\n location: https://github.com/haskell-unordered-containers/unordered-containers.git\n"; + } \ No newline at end of file diff --git a/materialized/ghc964/hadrian-ghc964/hadrian/cabal-files/utf8-string.nix b/materialized/ghc964/hadrian-ghc964/hadrian/cabal-files/utf8-string.nix new file mode 100644 index 000000000..a5ee5272d --- /dev/null +++ b/materialized/ghc964/hadrian-ghc964/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/ghc964/hadrian-ghc964/hadrian/default.nix b/materialized/ghc964/hadrian-ghc964/hadrian/default.nix new file mode 100644 index 000000000..ca057a5d6 --- /dev/null +++ b/materialized/ghc964/hadrian-ghc964/hadrian/default.nix @@ -0,0 +1,175 @@ +{ + pkgs = hackage: + { + packages = { + ghc-prim.revision = hackage.ghc-prim."0.10.0".revisions.default; + clock.revision = import ./cabal-files/clock.nix; + clock.flags.llvm = false; + transformers.revision = hackage.transformers."0.6.1.0".revisions.default; + time.revision = hackage.time."1.12.2".revisions.default; + base.revision = hackage.base."4.18.2.0".revisions.default; + splitmix.revision = import ./cabal-files/splitmix.nix; + splitmix.flags.optimised-mixer = false; + unix.revision = hackage.unix."2.8.4.0".revisions.default; + filepattern.revision = import ./cabal-files/filepattern.nix; + ghc-boot-th.revision = hackage.ghc-boot-th."9.6.4".revisions.default; + mtl.revision = hackage.mtl."2.3.1".revisions.default; + 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; + heaps.revision = import ./cabal-files/heaps.nix; + Cabal-syntax.revision = import ./cabal-files/Cabal-syntax.nix; + process.revision = hackage.process."1.6.17.0".revisions.default; + primitive.revision = import ./cabal-files/primitive.nix; + stm.revision = hackage.stm."2.5.1.0".revisions.default; + template-haskell.revision = hackage.template-haskell."2.20.0.0".revisions.default; + exceptions.revision = hackage.exceptions."0.10.7".revisions.default; + parsec.revision = hackage.parsec."3.1.16.1".revisions.default; + system-cxx-std-lib.revision = hackage.system-cxx-std-lib."1.0".revisions.default; + deepseq.revision = hackage.deepseq."1.4.8.1".revisions.default; + utf8-string.revision = import ./cabal-files/utf8-string.nix; + js-jquery.revision = import ./cabal-files/js-jquery.nix; + text.revision = hackage.text."2.0.2".revisions.default; + QuickCheck.revision = import ./cabal-files/QuickCheck.nix; + QuickCheck.flags.old-random = false; + QuickCheck.flags.templatehaskell = true; + unordered-containers.revision = import ./cabal-files/unordered-containers.nix; + unordered-containers.flags.debug = false; + containers.revision = hackage.containers."0.6.7".revisions.default; + array.revision = hackage.array."0.5.6.0".revisions.default; + shake.revision = import ./cabal-files/shake.nix; + shake.flags.cloud = false; + shake.flags.embed-files = false; + shake.flags.portable = false; + random.revision = import ./cabal-files/random.nix; + bytestring.revision = hackage.bytestring."0.11.5.3".revisions.default; + Cabal.revision = import ./cabal-files/Cabal.nix; + directory.revision = hackage.directory."1.3.8.1".revisions.default; + js-flot.revision = import ./cabal-files/js-flot.nix; + ghc-bignum.revision = hackage.ghc-bignum."1.3".revisions.default; + binary.revision = hackage.binary."0.8.9.1".revisions.default; + filepath.revision = hackage.filepath."1.4.200.1".revisions.default; + js-dgtable.revision = import ./cabal-files/js-dgtable.nix; + extra.revision = import ./cabal-files/extra.nix; + }; + compiler = { + version = "9.6.4"; + nix-name = "ghc964"; + packages = { + "unix" = "2.8.4.0"; + "filepath" = "1.4.200.1"; + "transformers" = "0.6.1.0"; + "parsec" = "3.1.16.1"; + "bytestring" = "0.11.5.3"; + "containers" = "0.6.7"; + "ghc-prim" = "0.10.0"; + "mtl" = "2.3.1"; + "ghc-boot-th" = "9.6.4"; + "base" = "4.18.2.0"; + "time" = "1.12.2"; + "stm" = "2.5.1.0"; + "ghc-bignum" = "1.3"; + "directory" = "1.3.8.1"; + "template-haskell" = "2.20.0.0"; + "process" = "1.6.17.0"; + "binary" = "0.8.9.1"; + "pretty" = "1.1.3.6"; + "text" = "2.0.2"; + "system-cxx-std-lib" = "1.0"; + "deepseq" = "1.4.8.1"; + "array" = "0.5.6.0"; + "exceptions" = "0.10.7"; + }; + }; + }; + extras = hackage: + { packages = { hadrian = ./.plan.nix/hadrian.nix; }; }; + modules = [ + { + preExistingPkgs = [ + "ghc-prim" + "transformers" + "time" + "base" + "unix" + "ghc-boot-th" + "mtl" + "pretty" + "process" + "stm" + "template-haskell" + "exceptions" + "parsec" + "system-cxx-std-lib" + "deepseq" + "text" + "containers" + "array" + "bytestring" + "directory" + "ghc-bignum" + "binary" + "filepath" + ]; + } + ({ lib, ... }: + { + packages = { + "hadrian" = { + flags = { + "threaded" = lib.mkOverride 900 true; + "selftest" = lib.mkOverride 900 true; + }; + }; + }; + }) + ({ lib, ... }: + { + packages = { + "directory".components.library.planned = lib.mkOverride 900 true; + "hadrian".components.exes."hadrian".planned = lib.mkOverride 900 true; + "deepseq".components.library.planned = lib.mkOverride 900 true; + "unordered-containers".components.library.planned = lib.mkOverride 900 true; + "text".components.library.planned = lib.mkOverride 900 true; + "base".components.library.planned = lib.mkOverride 900 true; + "js-flot".components.library.planned = lib.mkOverride 900 true; + "splitmix".components.library.planned = lib.mkOverride 900 true; + "filepath".components.library.planned = lib.mkOverride 900 true; + "clock".components.library.planned = lib.mkOverride 900 true; + "heaps".components.library.planned = lib.mkOverride 900 true; + "extra".components.library.planned = lib.mkOverride 900 true; + "transformers".components.library.planned = lib.mkOverride 900 true; + "parsec".components.library.planned = lib.mkOverride 900 true; + "system-cxx-std-lib".components.library.planned = lib.mkOverride 900 true; + "hashable".components.library.planned = lib.mkOverride 900 true; + "primitive".components.library.planned = lib.mkOverride 900 true; + "Cabal-syntax".components.library.planned = lib.mkOverride 900 true; + "QuickCheck".components.library.planned = lib.mkOverride 900 true; + "js-jquery".components.library.planned = lib.mkOverride 900 true; + "mtl".components.library.planned = lib.mkOverride 900 true; + "containers".components.library.planned = lib.mkOverride 900 true; + "ghc-prim".components.library.planned = lib.mkOverride 900 true; + "pretty".components.library.planned = lib.mkOverride 900 true; + "shake".components.exes."shake".planned = lib.mkOverride 900 true; + "bytestring".components.library.planned = lib.mkOverride 900 true; + "time".components.library.planned = lib.mkOverride 900 true; + "shake".components.library.planned = lib.mkOverride 900 true; + "random".components.library.planned = lib.mkOverride 900 true; + "template-haskell".components.library.planned = lib.mkOverride 900 true; + "process".components.library.planned = lib.mkOverride 900 true; + "utf8-string".components.library.planned = lib.mkOverride 900 true; + "Cabal".components.library.planned = lib.mkOverride 900 true; + "ghc-bignum".components.library.planned = lib.mkOverride 900 true; + "stm".components.library.planned = lib.mkOverride 900 true; + "binary".components.library.planned = lib.mkOverride 900 true; + "exceptions".components.library.planned = lib.mkOverride 900 true; + "js-dgtable".components.library.planned = lib.mkOverride 900 true; + "array".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; + "unix".components.library.planned = lib.mkOverride 900 true; + }; + }) + ]; +} \ No newline at end of file From 92fba1dccf8ed85a9cc0af8da2768ca5591c44d4 Mon Sep 17 00:00:00 2001 From: IOHK Date: Fri, 15 Nov 2024 00:51:19 +0000 Subject: [PATCH 05/34] Update Hackage and Stackage --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index b22e7120f..b39eb0fcb 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1731544085, - "narHash": "sha256-WP5UqFAsn+Zk0eIpWEu4GzwkMUBBvCHaW0eA6OHQ8fc=", + "lastModified": 1731630577, + "narHash": "sha256-71cxbwpPuksy/nz0V48gQWqO2Y+bPsqcBmYZ/4Rvkqo=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "4735b698fb482845c04cf66a50f871a10d2ca951", + "rev": "602d631806d0904b252b4e8f7ad3a17889ad2e8a", "type": "github" }, "original": { From d58918e5b2bbdfe1b5b4ee3231c9becb4862cb64 Mon Sep 17 00:00:00 2001 From: IOHK Date: Sat, 16 Nov 2024 00:51:49 +0000 Subject: [PATCH 06/34] Update Hackage and Stackage --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index b39eb0fcb..03eab15f3 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1731630577, - "narHash": "sha256-71cxbwpPuksy/nz0V48gQWqO2Y+bPsqcBmYZ/4Rvkqo=", + "lastModified": 1731717048, + "narHash": "sha256-XU63MY91kwyM96tqtP8JFcGM1XA6+j38ZTlNt6w4+vY=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "602d631806d0904b252b4e8f7ad3a17889ad2e8a", + "rev": "16804160dc6f860f09259136e8aea6c65536cdf4", "type": "github" }, "original": { From 256e8da232ea566d08575f57b339d0a1f1e29f2d Mon Sep 17 00:00:00 2001 From: IOHK Date: Sun, 17 Nov 2024 00:51:55 +0000 Subject: [PATCH 07/34] Update Hackage and Stackage --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 03eab15f3..92e87a42f 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1731717048, - "narHash": "sha256-XU63MY91kwyM96tqtP8JFcGM1XA6+j38ZTlNt6w4+vY=", + "lastModified": 1731803447, + "narHash": "sha256-ZQu0vSFTuIT+NOCV2cbXVVC/su5bH6pqxmSXT/GpK4I=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "16804160dc6f860f09259136e8aea6c65536cdf4", + "rev": "63a2ef6b360db26a465da0893fa32dcaa86761ca", "type": "github" }, "original": { From c2f22dbca2eed4166864c013c25f473d3e520ab8 Mon Sep 17 00:00:00 2001 From: IOHK Date: Mon, 18 Nov 2024 00:51:48 +0000 Subject: [PATCH 08/34] Update Hackage and Stackage --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 92e87a42f..9cbcd972f 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1731803447, - "narHash": "sha256-ZQu0vSFTuIT+NOCV2cbXVVC/su5bH6pqxmSXT/GpK4I=", + "lastModified": 1731889834, + "narHash": "sha256-1kG5KbsGCBehC1rqOdo3qJe4OYv3QVP62ZlZ084TQUc=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "63a2ef6b360db26a465da0893fa32dcaa86761ca", + "rev": "ecad25be07e23e736b54cb801de19c0d84a4f4bf", "type": "github" }, "original": { From 9e015ed047a00a3b67c91f0658e6447197e44ba8 Mon Sep 17 00:00:00 2001 From: IOHK Date: Tue, 19 Nov 2024 00:51:50 +0000 Subject: [PATCH 09/34] Update Hackage and Stackage --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 9cbcd972f..6c16511e3 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1731889834, - "narHash": "sha256-1kG5KbsGCBehC1rqOdo3qJe4OYv3QVP62ZlZ084TQUc=", + "lastModified": 1731976165, + "narHash": "sha256-rvBWQ/96NwYYhjaez4mJ1aMYxl/XZOEHbfnUGwZsHy4=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "ecad25be07e23e736b54cb801de19c0d84a4f4bf", + "rev": "5ed9e6a1a027458559d900534540dc2d92eaf1c1", "type": "github" }, "original": { @@ -630,11 +630,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1731456685, - "narHash": "sha256-R0XG54ymDUUaQ8TprY9UuBnJ0UabRFQkwCt838JA56M=", + "lastModified": 1731975114, + "narHash": "sha256-LkZ70BuytHm6wf9CqhW+tQY9n3491XdUtRnNTb2+iFA=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "ad774845ced6cda5a29966f13703332636d6cea8", + "rev": "591d7cdc53287ba005ff356a04a3c5a02fb2bfce", "type": "github" }, "original": { From 3cca9b78a23dcb2146b4fe0aef12b9d2e8e6213c Mon Sep 17 00:00:00 2001 From: IOHK Date: Wed, 20 Nov 2024 00:51:40 +0000 Subject: [PATCH 10/34] Update Hackage and Stackage --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 6c16511e3..9d7062093 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1731976165, - "narHash": "sha256-rvBWQ/96NwYYhjaez4mJ1aMYxl/XZOEHbfnUGwZsHy4=", + "lastModified": 1732062550, + "narHash": "sha256-7WEgL74nWqnuue00ZgFCRdmB9ZFMCdN94pMS8OJUUZE=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "5ed9e6a1a027458559d900534540dc2d92eaf1c1", + "rev": "ad8f3fa0751f7e50ca7c1a6b49410ea92ccf003e", "type": "github" }, "original": { @@ -630,11 +630,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1731975114, - "narHash": "sha256-LkZ70BuytHm6wf9CqhW+tQY9n3491XdUtRnNTb2+iFA=", + "lastModified": 1732061500, + "narHash": "sha256-exwtyDeUn6BwKd5gWseAT8SVn+na/YGw/VIwuBkeUd0=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "591d7cdc53287ba005ff356a04a3c5a02fb2bfce", + "rev": "000b2806cef5408df133a22bc5460ec91b25606b", "type": "github" }, "original": { From e9eca9ab74f5d729ddf3ad2960b2444937f81675 Mon Sep 17 00:00:00 2001 From: IOHK Date: Thu, 21 Nov 2024 00:51:21 +0000 Subject: [PATCH 11/34] Update Hackage and Stackage --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 9d7062093..4eb7c53b4 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1732062550, - "narHash": "sha256-7WEgL74nWqnuue00ZgFCRdmB9ZFMCdN94pMS8OJUUZE=", + "lastModified": 1732148935, + "narHash": "sha256-zRj4ndWzyY9JFG3c8SCIxlFHefgS0YEazpq580gE3dk=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "ad8f3fa0751f7e50ca7c1a6b49410ea92ccf003e", + "rev": "834ac92115c32dabf23abd6b61f925e4d6edc9db", "type": "github" }, "original": { @@ -630,11 +630,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1732061500, - "narHash": "sha256-exwtyDeUn6BwKd5gWseAT8SVn+na/YGw/VIwuBkeUd0=", + "lastModified": 1732147927, + "narHash": "sha256-6pgxZmoFTrpnfelUmDPRxVp0o/MakXeM6adUtXK8cas=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "000b2806cef5408df133a22bc5460ec91b25606b", + "rev": "90cc47c495fe65b426410a1ecd2cb146dd91cb66", "type": "github" }, "original": { From ec0dceff52162768442320cadb9921ff867e4f69 Mon Sep 17 00:00:00 2001 From: IOHK Date: Fri, 22 Nov 2024 00:51:46 +0000 Subject: [PATCH 12/34] Update Hackage and Stackage --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 4eb7c53b4..9e7868da4 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1732148935, - "narHash": "sha256-zRj4ndWzyY9JFG3c8SCIxlFHefgS0YEazpq580gE3dk=", + "lastModified": 1732235401, + "narHash": "sha256-kiRyU+gifpcpazoCsKZpWMDXuG2Ld/a5QGwUmqV/+Jc=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "834ac92115c32dabf23abd6b61f925e4d6edc9db", + "rev": "e14b5bdd5bfb5d58304b6dee6c706fe52a365dbe", "type": "github" }, "original": { @@ -630,11 +630,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1732147927, - "narHash": "sha256-6pgxZmoFTrpnfelUmDPRxVp0o/MakXeM6adUtXK8cas=", + "lastModified": 1732234325, + "narHash": "sha256-nNyVymDwd+Aw078NXdd1kLFiYnT/fHSUpF34heeEYbA=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "90cc47c495fe65b426410a1ecd2cb146dd91cb66", + "rev": "d5ccc74e2e0cb05ea5ca0881d68a7ca5188dc3e5", "type": "github" }, "original": { From 9507fd272055a1aa2719ef1035cf68be8643ac1f Mon Sep 17 00:00:00 2001 From: IOHK Date: Sat, 23 Nov 2024 00:51:10 +0000 Subject: [PATCH 13/34] Update Hackage and Stackage --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 9e7868da4..c53413ef9 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1732235401, - "narHash": "sha256-kiRyU+gifpcpazoCsKZpWMDXuG2Ld/a5QGwUmqV/+Jc=", + "lastModified": 1732321731, + "narHash": "sha256-aZ7k1nJ+20d0TdQc/IUa7NGKaYXS3eHqstAMeVyHA9k=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "e14b5bdd5bfb5d58304b6dee6c706fe52a365dbe", + "rev": "f98da3ea2d14f57da85692404cd61e925ff97660", "type": "github" }, "original": { @@ -630,11 +630,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1732234325, - "narHash": "sha256-nNyVymDwd+Aw078NXdd1kLFiYnT/fHSUpF34heeEYbA=", + "lastModified": 1732320735, + "narHash": "sha256-rO3+Nj3zQTC9VVlO5nOwKhqLQS9RyPh9Rp22uVep5g0=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "d5ccc74e2e0cb05ea5ca0881d68a7ca5188dc3e5", + "rev": "41ed1977fa47fa0a3458b807c9699f39e0819f3c", "type": "github" }, "original": { From 93fdba63d6567643c0dc222fa6b29013a786f9af Mon Sep 17 00:00:00 2001 From: IOHK Date: Sun, 24 Nov 2024 00:52:00 +0000 Subject: [PATCH 14/34] Update Hackage and Stackage --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index c53413ef9..66830ae8d 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1732321731, - "narHash": "sha256-aZ7k1nJ+20d0TdQc/IUa7NGKaYXS3eHqstAMeVyHA9k=", + "lastModified": 1732408308, + "narHash": "sha256-cD+g07FungRIY0djRv6f7eQWSob9H74wGDxxlxlnVT4=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "f98da3ea2d14f57da85692404cd61e925ff97660", + "rev": "1c0d41d9f45b8c6b5007102803a8eaa4353d041c", "type": "github" }, "original": { @@ -630,11 +630,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1732320735, - "narHash": "sha256-rO3+Nj3zQTC9VVlO5nOwKhqLQS9RyPh9Rp22uVep5g0=", + "lastModified": 1732407163, + "narHash": "sha256-FZcr31TrkwiRY+DKSBebPune/D0mRn1Lt7rd2hUVIZQ=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "41ed1977fa47fa0a3458b807c9699f39e0819f3c", + "rev": "b68b483a062ed06b0196b23b8ddba7ffdc789e67", "type": "github" }, "original": { From ed2574bb336db42f69c822f9d94ed14205250c05 Mon Sep 17 00:00:00 2001 From: IOHK Date: Mon, 25 Nov 2024 00:51:52 +0000 Subject: [PATCH 15/34] Update Hackage and Stackage --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 66830ae8d..e8afdb136 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1732408308, - "narHash": "sha256-cD+g07FungRIY0djRv6f7eQWSob9H74wGDxxlxlnVT4=", + "lastModified": 1732494631, + "narHash": "sha256-NrHUkkhz7PTKV/yciWezL+qG4IRX8CsVz4ZcxYbOIso=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "1c0d41d9f45b8c6b5007102803a8eaa4353d041c", + "rev": "ed487dd9c78992176b1d39ee8268b192e848a7b5", "type": "github" }, "original": { @@ -630,11 +630,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1732407163, - "narHash": "sha256-FZcr31TrkwiRY+DKSBebPune/D0mRn1Lt7rd2hUVIZQ=", + "lastModified": 1732493529, + "narHash": "sha256-lsaOSrOLXTDGoWUcQzfzpJ+hplMhlO+uKKZUOYCzCAA=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "b68b483a062ed06b0196b23b8ddba7ffdc789e67", + "rev": "56a26f8bc2b81d733fd9878c771ded93b37dc427", "type": "github" }, "original": { From 1a21c60c59d1173b045bd7767f9ece540dd5433e Mon Sep 17 00:00:00 2001 From: IOHK Date: Tue, 26 Nov 2024 00:51:20 +0000 Subject: [PATCH 16/34] Update Hackage and Stackage --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index e8afdb136..b755bcb06 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1732494631, - "narHash": "sha256-NrHUkkhz7PTKV/yciWezL+qG4IRX8CsVz4ZcxYbOIso=", + "lastModified": 1732580948, + "narHash": "sha256-PvtR+UmQBBKOT5qntW3Rmltl8tq0dHwTn1vCoUMv2tM=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "ed487dd9c78992176b1d39ee8268b192e848a7b5", + "rev": "1585be3754870e9b6fff83e0ade0550a387c719a", "type": "github" }, "original": { @@ -630,11 +630,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1732493529, - "narHash": "sha256-lsaOSrOLXTDGoWUcQzfzpJ+hplMhlO+uKKZUOYCzCAA=", + "lastModified": 1732579905, + "narHash": "sha256-cdOQ2nqayGDeqv8V3mlqPU1lgC9dgdWmvrIf4Bkx4VU=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "56a26f8bc2b81d733fd9878c771ded93b37dc427", + "rev": "7f71ec2c174a3dcd713bdf662df34011be304258", "type": "github" }, "original": { From 2e1861a06807bc950f3319bc681523dfb416b594 Mon Sep 17 00:00:00 2001 From: IOHK Date: Wed, 27 Nov 2024 00:51:18 +0000 Subject: [PATCH 17/34] Update Hackage and Stackage --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index b755bcb06..825ba04e1 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1732580948, - "narHash": "sha256-PvtR+UmQBBKOT5qntW3Rmltl8tq0dHwTn1vCoUMv2tM=", + "lastModified": 1732667385, + "narHash": "sha256-Du4DAQow/LtlSDB1nyvxiIU/qmKNYL+YJqTumTXL3KE=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "1585be3754870e9b6fff83e0ade0550a387c719a", + "rev": "3a14852c06c6bfd9be706f8138bdb9315e9f2f58", "type": "github" }, "original": { @@ -630,11 +630,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1732579905, - "narHash": "sha256-cdOQ2nqayGDeqv8V3mlqPU1lgC9dgdWmvrIf4Bkx4VU=", + "lastModified": 1732666324, + "narHash": "sha256-OBCUO48PY5OuNaUqPfUOl9x8S9/R/wkm12aiwf6ejAs=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "7f71ec2c174a3dcd713bdf662df34011be304258", + "rev": "b8ddcbbe0ae38d378f0418958ac10ddc67c0c717", "type": "github" }, "original": { From 126be8fdc079019351c6780bbc484cc83870b911 Mon Sep 17 00:00:00 2001 From: IOHK Date: Thu, 28 Nov 2024 00:51:57 +0000 Subject: [PATCH 18/34] Update Hackage and Stackage --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 825ba04e1..8143cdbd4 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1732667385, - "narHash": "sha256-Du4DAQow/LtlSDB1nyvxiIU/qmKNYL+YJqTumTXL3KE=", + "lastModified": 1732753783, + "narHash": "sha256-Le/2JXtlOQqY6R0LgTXOrtkBdKcXDA3o8jrDvi0uVwA=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "3a14852c06c6bfd9be706f8138bdb9315e9f2f58", + "rev": "62687b703a06a6af5fd2d493b938f4c3e1be36fa", "type": "github" }, "original": { @@ -630,11 +630,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1732666324, - "narHash": "sha256-OBCUO48PY5OuNaUqPfUOl9x8S9/R/wkm12aiwf6ejAs=", + "lastModified": 1732752729, + "narHash": "sha256-7ij1/jbmQywmZlwjNyDgeNIbefW/Z/5EOnlpaf/4Ruk=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "b8ddcbbe0ae38d378f0418958ac10ddc67c0c717", + "rev": "1bb0c9f5509dd19bec61724ff71da8d7d918223c", "type": "github" }, "original": { From 8488e9d160703dbf71bbc7fcbd37a3ac0658b1b9 Mon Sep 17 00:00:00 2001 From: IOHK Date: Fri, 29 Nov 2024 00:51:25 +0000 Subject: [PATCH 19/34] Update Hackage and Stackage --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 8143cdbd4..892b8ec85 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1732753783, - "narHash": "sha256-Le/2JXtlOQqY6R0LgTXOrtkBdKcXDA3o8jrDvi0uVwA=", + "lastModified": 1732840189, + "narHash": "sha256-b+viOATjkNr/QXW70Kyep/LYs1bJFD+uVGFKEmClXh0=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "62687b703a06a6af5fd2d493b938f4c3e1be36fa", + "rev": "ec565d9db214e057ae9cdd9c38b920fa9b694c8c", "type": "github" }, "original": { @@ -630,11 +630,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1732752729, - "narHash": "sha256-7ij1/jbmQywmZlwjNyDgeNIbefW/Z/5EOnlpaf/4Ruk=", + "lastModified": 1732839126, + "narHash": "sha256-342w7Sbe+zXjTobvMDZSg6GCvApHypod5qKVA3ASx04=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "1bb0c9f5509dd19bec61724ff71da8d7d918223c", + "rev": "52f63bd33299c1e6b51a07503fce14c186a8a768", "type": "github" }, "original": { From 5a47cb688aa7f70bc843a30b9341e948becfcd0c Mon Sep 17 00:00:00 2001 From: IOHK Date: Sat, 30 Nov 2024 00:51:44 +0000 Subject: [PATCH 20/34] Update Hackage and Stackage --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 892b8ec85..81823a13c 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1732840189, - "narHash": "sha256-b+viOATjkNr/QXW70Kyep/LYs1bJFD+uVGFKEmClXh0=", + "lastModified": 1732926525, + "narHash": "sha256-JeEDFtOjElYXb1FWkkX/RxeVaIPp33R/buFZjfu6UJs=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "ec565d9db214e057ae9cdd9c38b920fa9b694c8c", + "rev": "6b760aaf9980540b09aad7b271bf661a58bbd758", "type": "github" }, "original": { @@ -630,11 +630,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1732839126, - "narHash": "sha256-342w7Sbe+zXjTobvMDZSg6GCvApHypod5qKVA3ASx04=", + "lastModified": 1732925496, + "narHash": "sha256-QUg849PFoZ10/y/77orONhID2gX7YmcWUCLy264gh5c=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "52f63bd33299c1e6b51a07503fce14c186a8a768", + "rev": "305b376d969af5c7b67b6258714ce96b4e9f40a7", "type": "github" }, "original": { From 33a4219b9dfd7ad6b4dd452194c2ec0a9a25bbeb Mon Sep 17 00:00:00 2001 From: IOHK Date: Sun, 1 Dec 2024 00:52:21 +0000 Subject: [PATCH 21/34] Update Hackage and Stackage --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 81823a13c..1fb5e231f 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1732926525, - "narHash": "sha256-JeEDFtOjElYXb1FWkkX/RxeVaIPp33R/buFZjfu6UJs=", + "lastModified": 1733013291, + "narHash": "sha256-uW8acJXMnZDXVTsIhINqYqO+pMWRWSTaJwTWS+XDgeA=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "6b760aaf9980540b09aad7b271bf661a58bbd758", + "rev": "b469686c8b295244d4e28a7609531af6a06c9ebf", "type": "github" }, "original": { @@ -630,11 +630,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1732925496, - "narHash": "sha256-QUg849PFoZ10/y/77orONhID2gX7YmcWUCLy264gh5c=", + "lastModified": 1733012053, + "narHash": "sha256-tGP50DXm44W8fyhbPE9RqJ/vMz8haA/UEuMikHUK6rI=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "305b376d969af5c7b67b6258714ce96b4e9f40a7", + "rev": "7f5618355d29e4b4d3eb0d927fba63055a4a4856", "type": "github" }, "original": { From a611dfa0dfba7fb72790a186a59312e8598464c9 Mon Sep 17 00:00:00 2001 From: IOHK Date: Mon, 2 Dec 2024 00:51:29 +0000 Subject: [PATCH 22/34] Update Hackage and Stackage --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 1fb5e231f..913c49d2b 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1733013291, - "narHash": "sha256-uW8acJXMnZDXVTsIhINqYqO+pMWRWSTaJwTWS+XDgeA=", + "lastModified": 1733099475, + "narHash": "sha256-YVGmAXFmh0FkPSrLt33kVAgv79RaffNZOkEvO7Ru1q8=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "b469686c8b295244d4e28a7609531af6a06c9ebf", + "rev": "8b4a3467f2fea817bef20ed424dece1fb1323d4d", "type": "github" }, "original": { From 68c7b4574fd611645eca7a7b6ad6c4ba0220e225 Mon Sep 17 00:00:00 2001 From: IOHK Date: Tue, 3 Dec 2024 00:51:56 +0000 Subject: [PATCH 23/34] Update Hackage and Stackage --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 913c49d2b..ab623b40f 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1733099475, - "narHash": "sha256-YVGmAXFmh0FkPSrLt33kVAgv79RaffNZOkEvO7Ru1q8=", + "lastModified": 1733185839, + "narHash": "sha256-niHm1EhJ0c/6vLRy7XWzyBQhZP6wOHAcKUOMasijZlc=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "8b4a3467f2fea817bef20ed424dece1fb1323d4d", + "rev": "ca66bff9d1e64be6ec693f9eb31b02d835f70d34", "type": "github" }, "original": { From 94ee1602c1fe35e5262fcf4a56b262d9a25e3e44 Mon Sep 17 00:00:00 2001 From: HongKuang <166261675+HongKuang@users.noreply.github.com> Date: Tue, 3 Dec 2024 19:30:44 +0800 Subject: [PATCH 24/34] chore: fix some typos in comment (#2286) Signed-off-by: hongkuang --- overlays/haskell.nix | 2 +- overlays/musl.nix | 2 +- test/githash/default.nix | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/overlays/haskell.nix b/overlays/haskell.nix index 651674bff..b6b58a4a9 100644 --- a/overlays/haskell.nix +++ b/overlays/haskell.nix @@ -353,7 +353,7 @@ final: prev: { # urls there will allow us to know from where to fetch the packages tarballs at build # time. # 3. We don't want to leak the nix path of the index into the derivation of the component - # builder since this will cause unnecesary recompilation. In other words, the recipe to + # builder since this will cause unnecessary recompilation. In other words, the recipe to # compile a package has to only depend on its content, not on where the recipe is from # or how it is obtained. # diff --git a/overlays/musl.nix b/overlays/musl.nix index f7b9c0ab0..e13a5fbd4 100644 --- a/overlays/musl.nix +++ b/overlays/musl.nix @@ -33,7 +33,7 @@ final: prev: prev.lib.optionalAttrs prev.stdenv.hostPlatform.isMusl ({ # See https://github.com/input-output-hk/haskell.nix/issues/948 postgresql = (prev.postgresql.overrideAttrs (_old: { dontDisableStatic = true; - # the following is needed becuase libicu links against stdc++ + # the following is needed because libicu links against stdc++ NIX_LDFLAGS = "--push-state --as-needed -lstdc++ --pop-state"; # without this collate.icu.utf8, and foreign_data will fail. LC_CTYPE = "C"; diff --git a/test/githash/default.nix b/test/githash/default.nix index 89afd45c0..e3e9bfe17 100644 --- a/test/githash/default.nix +++ b/test/githash/default.nix @@ -42,7 +42,7 @@ let in recurseIntoAttrs { # githash runs git from TH code and this needs a cross compiled git exe - # to work correctly. Cross compiling git is currently brocken. + # to work correctly. Cross compiling git is currently broken. meta.disabled = __elem compiler-nix-name ["ghc901" "ghc902"] || haskellLib.isCrossHost || # TODO find out why TH fails for this (__elem compiler-nix-name ["ghc927" "ghc928"] && stdenv.hostPlatform.isAarch64 && stdenv.hostPlatform.isMusl); From 93937e0c23be3decfafbc821301c711201234910 Mon Sep 17 00:00:00 2001 From: IOHK Date: Wed, 4 Dec 2024 00:51:26 +0000 Subject: [PATCH 25/34] Update Hackage and Stackage --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index ab623b40f..a918dc973 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1733185839, - "narHash": "sha256-niHm1EhJ0c/6vLRy7XWzyBQhZP6wOHAcKUOMasijZlc=", + "lastModified": 1733272207, + "narHash": "sha256-4gCU1d7x8dK3+5dmGVPZLf+DlLgIWDw2IWA8pKXn/yw=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "ca66bff9d1e64be6ec693f9eb31b02d835f70d34", + "rev": "1e119d9d07d2cced932cb00dbb389753783ef660", "type": "github" }, "original": { @@ -630,11 +630,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1733012053, - "narHash": "sha256-tGP50DXm44W8fyhbPE9RqJ/vMz8haA/UEuMikHUK6rI=", + "lastModified": 1733271141, + "narHash": "sha256-VqqVkeRYgfcV96TMekq0BDYcUe6vjjw/Yk155xZESSs=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "7f5618355d29e4b4d3eb0d927fba63055a4a4856", + "rev": "d6216685e9e976123f1df884963873473672bf54", "type": "github" }, "original": { From 5ce912ea381df1746c33255d0a976560972c15f7 Mon Sep 17 00:00:00 2001 From: Moritz Angermann Date: Wed, 4 Dec 2024 10:52:17 +0900 Subject: [PATCH 26/34] fix potentially broken install_name_tool (#2284) * fix potentially broken install_name_tool We by default try to pull the one from the targetCC, only if that fails fall back to the bintools one. * Consistent use of `${targetCC.targetPrefix}` --------- Co-authored-by: Hamish Mackenzie --- compiler/ghc/default.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/compiler/ghc/default.nix b/compiler/ghc/default.nix index 420e80269..1bafff3d3 100644 --- a/compiler/ghc/default.nix +++ b/compiler/ghc/default.nix @@ -434,7 +434,11 @@ stdenv.mkDerivation (rec { export STRIP="${bintoolsFor.strip}/bin/${bintoolsFor.strip.targetPrefix}strip" '' + lib.optionalString (stdenv.targetPlatform.linker == "cctools") '' export OTOOL="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}otool" - export INSTALL_NAME_TOOL="${bintoolsFor.install_name_tool}/bin/${bintoolsFor.install_name_tool.targetPrefix}install_name_tool" + if [ -f ${targetCC}/bin/${targetCC.targetPrefix}install_name_tool ]; then + export INSTALL_NAME_TOOL="${targetCC}/bin/${targetCC.targetPrefix}install_name_tool" + else + export INSTALL_NAME_TOOL="${bintoolsFor.install_name_tool}/bin/${bintoolsFor.install_name_tool.targetPrefix}install_name_tool" + fi '') + lib.optionalString (targetPlatform == hostPlatform && useLdGold) # set LD explicitly if we want gold even if we aren't cross compiling '' From 6bfaa3f488a3aa20153d9278a311120a9036459a Mon Sep 17 00:00:00 2001 From: IOHK Date: Thu, 5 Dec 2024 00:51:59 +0000 Subject: [PATCH 27/34] Update Hackage and Stackage --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index a918dc973..cd4fccda6 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1733272207, - "narHash": "sha256-4gCU1d7x8dK3+5dmGVPZLf+DlLgIWDw2IWA8pKXn/yw=", + "lastModified": 1733358616, + "narHash": "sha256-96x1H0cfIX2iMx3FkmFDoXohBCBVUJt5DH3457xAXVM=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "1e119d9d07d2cced932cb00dbb389753783ef660", + "rev": "bb0ec3418c4593dd79ed2f5423f8fddd1db726ae", "type": "github" }, "original": { @@ -630,11 +630,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1733271141, - "narHash": "sha256-VqqVkeRYgfcV96TMekq0BDYcUe6vjjw/Yk155xZESSs=", + "lastModified": 1733357539, + "narHash": "sha256-r5B5lCFZC1a/V+banTIYzjOVlP2lIuLrhnC1FnCMAl0=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "d6216685e9e976123f1df884963873473672bf54", + "rev": "d6b9beeb93d98ea98b6ad32f36768cad48177e89", "type": "github" }, "original": { From 0ea900cf2a95deabb1704a00f40543c2e0c13b6e Mon Sep 17 00:00:00 2001 From: IOHK Date: Fri, 6 Dec 2024 00:51:55 +0000 Subject: [PATCH 28/34] Update Hackage and Stackage --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index cd4fccda6..7ad2e1406 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1733358616, - "narHash": "sha256-96x1H0cfIX2iMx3FkmFDoXohBCBVUJt5DH3457xAXVM=", + "lastModified": 1733445020, + "narHash": "sha256-KnEbmqy2yX0316kZkgG63unxtpxpXre9z581DRQg9TM=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "bb0ec3418c4593dd79ed2f5423f8fddd1db726ae", + "rev": "3e12b545e3f597e48989811cc9d4f4f4a353921d", "type": "github" }, "original": { @@ -630,11 +630,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1733357539, - "narHash": "sha256-r5B5lCFZC1a/V+banTIYzjOVlP2lIuLrhnC1FnCMAl0=", + "lastModified": 1733443946, + "narHash": "sha256-xz8bzbXm5vE3TWdvU+/7CdRSm43D9P8XftYUSVp58Ck=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "d6b9beeb93d98ea98b6ad32f36768cad48177e89", + "rev": "2e2aba31ade325ca2c6ab0f4564f568cac2110bd", "type": "github" }, "original": { From 47ee8a2c90975aef07ca3188dc4918de417e1bc7 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Fri, 6 Dec 2024 18:47:12 +1300 Subject: [PATCH 29/34] Add GHC 9.8.4 (#2287) * Add GHC 9.8.4 * Fix patch upper bound --- ci.nix | 4 +- lazy-inputs/default.nix | 1 + lazy-inputs/ghc984/flake.lock | 30 +++++++ lazy-inputs/ghc984/flake.nix | 12 +++ .../ghc984-aarch64/base.nix | 49 +++++++++++ .../ghc984-aarch64/deriveConstants.nix | 39 +++++++++ .../ghc984-aarch64/genprimopcode.nix | 40 +++++++++ .../ghc984-aarch64/ghc-bignum.nix | 37 +++++++++ .../ghc984-aarch64/ghc-boot.nix | 46 +++++++++++ .../ghc984-aarch64/ghc-heap.nix | 36 +++++++++ .../ghc984-aarch64/ghc-prim.nix | 47 +++++++++++ .../ghc984-aarch64/ghc.nix | 81 +++++++++++++++++++ .../ghc984-aarch64/ghci.nix | 45 +++++++++++ .../ghc984-aarch64/hpc.nix | 38 +++++++++ .../ghc984-aarch64/integer-gmp.nix | 35 ++++++++ .../ghc984-aarch64/iserv.nix | 41 ++++++++++ .../ghc984-aarch64/remote-iserv.nix | 36 +++++++++ .../ghc984-aarch64/template-haskell.nix | 36 +++++++++ .../ghc984-ghcjs/base.nix | 49 +++++++++++ .../ghc984-ghcjs/deriveConstants.nix | 39 +++++++++ .../ghc984-ghcjs/genprimopcode.nix | 40 +++++++++ .../ghc984-ghcjs/ghc-bignum.nix | 37 +++++++++ .../ghc984-ghcjs/ghc-boot.nix | 46 +++++++++++ .../ghc984-ghcjs/ghc-heap.nix | 36 +++++++++ .../ghc984-ghcjs/ghc-prim.nix | 47 +++++++++++ .../ghc984-ghcjs/ghc.nix | 81 +++++++++++++++++++ .../ghc984-ghcjs/ghci.nix | 45 +++++++++++ .../ghc984-ghcjs/hpc.nix | 38 +++++++++ .../ghc984-ghcjs/integer-gmp.nix | 35 ++++++++ .../ghc984-ghcjs/iserv.nix | 41 ++++++++++ .../ghc984-ghcjs/remote-iserv.nix | 36 +++++++++ .../ghc984-ghcjs/template-haskell.nix | 36 +++++++++ .../ghc-boot-packages-nix/ghc984/base.nix | 49 +++++++++++ .../ghc984/deriveConstants.nix | 39 +++++++++ .../ghc984/genprimopcode.nix | 40 +++++++++ .../ghc984/ghc-bignum.nix | 37 +++++++++ .../ghc-boot-packages-nix/ghc984/ghc-boot.nix | 46 +++++++++++ .../ghc-boot-packages-nix/ghc984/ghc-heap.nix | 36 +++++++++ .../ghc-boot-packages-nix/ghc984/ghc-prim.nix | 47 +++++++++++ .../ghc-boot-packages-nix/ghc984/ghc.nix | 81 +++++++++++++++++++ .../ghc-boot-packages-nix/ghc984/ghci.nix | 45 +++++++++++ .../ghc-boot-packages-nix/ghc984/hpc.nix | 38 +++++++++ .../ghc984/integer-gmp.nix | 35 ++++++++ .../ghc-boot-packages-nix/ghc984/iserv.nix | 41 ++++++++++ .../ghc984/remote-iserv.nix | 36 +++++++++ .../ghc984/template-haskell.nix | 36 +++++++++ .../ghc984llvm-aarch64/base.nix | 49 +++++++++++ .../ghc984llvm-aarch64/deriveConstants.nix | 39 +++++++++ .../ghc984llvm-aarch64/genprimopcode.nix | 40 +++++++++ .../ghc984llvm-aarch64/ghc-bignum.nix | 37 +++++++++ .../ghc984llvm-aarch64/ghc-boot.nix | 46 +++++++++++ .../ghc984llvm-aarch64/ghc-heap.nix | 36 +++++++++ .../ghc984llvm-aarch64/ghc-prim.nix | 47 +++++++++++ .../ghc984llvm-aarch64/ghc.nix | 81 +++++++++++++++++++ .../ghc984llvm-aarch64/ghci.nix | 45 +++++++++++ .../ghc984llvm-aarch64/hpc.nix | 38 +++++++++ .../ghc984llvm-aarch64/integer-gmp.nix | 35 ++++++++ .../ghc984llvm-aarch64/iserv.nix | 41 ++++++++++ .../ghc984llvm-aarch64/remote-iserv.nix | 36 +++++++++ .../ghc984llvm-aarch64/template-haskell.nix | 36 +++++++++ .../ghc-boot-packages-nix/ghc984llvm/base.nix | 49 +++++++++++ .../ghc984llvm/deriveConstants.nix | 39 +++++++++ .../ghc984llvm/genprimopcode.nix | 40 +++++++++ .../ghc984llvm/ghc-bignum.nix | 37 +++++++++ .../ghc984llvm/ghc-boot.nix | 46 +++++++++++ .../ghc984llvm/ghc-heap.nix | 36 +++++++++ .../ghc984llvm/ghc-prim.nix | 47 +++++++++++ .../ghc-boot-packages-nix/ghc984llvm/ghc.nix | 81 +++++++++++++++++++ .../ghc-boot-packages-nix/ghc984llvm/ghci.nix | 45 +++++++++++ .../ghc-boot-packages-nix/ghc984llvm/hpc.nix | 38 +++++++++ .../ghc984llvm/integer-gmp.nix | 35 ++++++++ .../ghc984llvm/iserv.nix | 41 ++++++++++ .../ghc984llvm/remote-iserv.nix | 36 +++++++++ .../ghc984llvm/template-haskell.nix | 36 +++++++++ overlays/bootstrap.nix | 36 ++++++++- .../default.nix | 8 +- test/haskell-language-server/cabal.nix | 2 +- 77 files changed, 3112 insertions(+), 11 deletions(-) create mode 100644 lazy-inputs/ghc984/flake.lock create mode 100644 lazy-inputs/ghc984/flake.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc984-aarch64/base.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc984-aarch64/deriveConstants.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc984-aarch64/genprimopcode.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc984-aarch64/ghc-bignum.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc984-aarch64/ghc-boot.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc984-aarch64/ghc-heap.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc984-aarch64/ghc-prim.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc984-aarch64/ghc.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc984-aarch64/ghci.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc984-aarch64/hpc.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc984-aarch64/integer-gmp.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc984-aarch64/iserv.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc984-aarch64/remote-iserv.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc984-aarch64/template-haskell.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc984-ghcjs/base.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc984-ghcjs/deriveConstants.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc984-ghcjs/genprimopcode.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc984-ghcjs/ghc-bignum.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc984-ghcjs/ghc-boot.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc984-ghcjs/ghc-heap.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc984-ghcjs/ghc-prim.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc984-ghcjs/ghc.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc984-ghcjs/ghci.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc984-ghcjs/hpc.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc984-ghcjs/integer-gmp.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc984-ghcjs/iserv.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc984-ghcjs/remote-iserv.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc984-ghcjs/template-haskell.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc984/base.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc984/deriveConstants.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc984/genprimopcode.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc984/ghc-bignum.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc984/ghc-boot.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc984/ghc-heap.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc984/ghc-prim.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc984/ghc.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc984/ghci.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc984/hpc.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc984/integer-gmp.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc984/iserv.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc984/remote-iserv.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc984/template-haskell.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc984llvm-aarch64/base.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc984llvm-aarch64/deriveConstants.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc984llvm-aarch64/genprimopcode.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc984llvm-aarch64/ghc-bignum.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc984llvm-aarch64/ghc-boot.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc984llvm-aarch64/ghc-heap.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc984llvm-aarch64/ghc-prim.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc984llvm-aarch64/ghc.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc984llvm-aarch64/ghci.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc984llvm-aarch64/hpc.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc984llvm-aarch64/integer-gmp.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc984llvm-aarch64/iserv.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc984llvm-aarch64/remote-iserv.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc984llvm-aarch64/template-haskell.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc984llvm/base.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc984llvm/deriveConstants.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc984llvm/genprimopcode.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc984llvm/ghc-bignum.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc984llvm/ghc-boot.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc984llvm/ghc-heap.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc984llvm/ghc-prim.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc984llvm/ghc.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc984llvm/ghci.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc984llvm/hpc.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc984llvm/integer-gmp.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc984llvm/iserv.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc984llvm/remote-iserv.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc984llvm/template-haskell.nix diff --git a/ci.nix b/ci.nix index 7526274df..d99f9c3bc 100644 --- a/ci.nix +++ b/ci.nix @@ -84,8 +84,8 @@ && (__match ".*llvm" compiler-nix-name == null) && ((system == "x86_64-linux" && !builtins.elem compiler-nix-name ["ghc884" "ghc902" "ghc928" "ghc948"]) || (system == "aarch64-linux" && !builtins.elem compiler-nix-name ["ghc884" "ghc902" "ghc928" "ghc948"]) - || (system == "x86_64-darwin" && !builtins.elem compiler-nix-name ["ghc884" "ghc902" "ghc928" "ghc948" "ghc966" "ghc982" "ghc983"]) - || (system == "aarch64-darwin" && !builtins.elem compiler-nix-name ["ghc884" "ghc902" "ghc928" "ghc948" "ghc966" "ghc982" "ghc983"]) + || (system == "x86_64-darwin" && !builtins.elem compiler-nix-name ["ghc884" "ghc902" "ghc928" "ghc948" "ghc966" "ghc982" "ghc983" "ghc984"]) + || (system == "aarch64-darwin" && !builtins.elem compiler-nix-name ["ghc884" "ghc902" "ghc928" "ghc948" "ghc966" "ghc982" "ghc983" "ghc984"]) )) { inherit (lib.systems.examples) ghcjs; } // lib.optionalAttrs ( diff --git a/lazy-inputs/default.nix b/lazy-inputs/default.nix index 3b5242ab6..bdbc23aea 100644 --- a/lazy-inputs/default.nix +++ b/lazy-inputs/default.nix @@ -32,6 +32,7 @@ in { inherit ((callFlake { pkgs = final; src = ./ghc981; }).defaultNix) ghc981; inherit ((callFlake { pkgs = final; src = ./ghc982; }).defaultNix) ghc982; inherit ((callFlake { pkgs = final; src = ./ghc983; }).defaultNix) ghc983; + inherit ((callFlake { pkgs = final; src = ./ghc984; }).defaultNix) ghc984; inherit ((callFlake { pkgs = final; src = ./ghc9101; }).defaultNix) ghc9101; inherit ((callFlake { pkgs = final; src = ./ghc912X; }).defaultNix) ghc912X; inherit ((callFlake { pkgs = final; src = ./ghc913; }).defaultNix) ghc913; diff --git a/lazy-inputs/ghc984/flake.lock b/lazy-inputs/ghc984/flake.lock new file mode 100644 index 000000000..e8572b9b7 --- /dev/null +++ b/lazy-inputs/ghc984/flake.lock @@ -0,0 +1,30 @@ +{ + "nodes": { + "ghc984": { + "flake": false, + "locked": { + "lastModified": 1732720399, + "narHash": "sha256-6wEklk1Cf6nzjbWkzXLvTVGs5Q6Q4PrN1J6rq1nVEeU=", + "ref": "ghc-9.8.4-iog", + "rev": "a3401159f2846605abb517e71af463df47398e72", + "revCount": 61890, + "submodules": true, + "type": "git", + "url": "https://github.com/stable-haskell/ghc" + }, + "original": { + "ref": "ghc-9.8.4-iog", + "submodules": true, + "type": "git", + "url": "https://github.com/stable-haskell/ghc" + } + }, + "root": { + "inputs": { + "ghc984": "ghc984" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/lazy-inputs/ghc984/flake.nix b/lazy-inputs/ghc984/flake.nix new file mode 100644 index 000000000..cb99523fd --- /dev/null +++ b/lazy-inputs/ghc984/flake.nix @@ -0,0 +1,12 @@ +{ + description = "Lazy Input for Haskell.nix"; + + inputs = { + ghc984 = { + flake = false; + url = "git+https://github.com/stable-haskell/ghc?ref=ghc-9.8.4-iog&submodules=1"; + }; + }; + + outputs = inputs: inputs; +} diff --git a/materialized/ghc-boot-packages-nix/ghc984-aarch64/base.nix b/materialized/ghc-boot-packages-nix/ghc984-aarch64/base.nix new file mode 100644 index 000000000..d918879f6 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc984-aarch64/base.nix @@ -0,0 +1,49 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "3.0"; + identifier = { name = "base"; version = "4.19.2.0"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "Core Libraries Committee "; + author = ""; + homepage = ""; + url = ""; + synopsis = "Core data structures and operations"; + description = "Haskell's base library provides, among other things, core types (e.g. [Bool](\"Data.Bool\") and [Int](\"Data.Int\")),\ndata structures (e.g. [List](\"Data.List\"), [Tuple](\"Data.Tuple\") and [Maybe](\"Data.Maybe\")),\nthe [Exception](\"Control.Exception\") mechanism, and the [IO](\"System.IO\") & [Concurrency](\"Control.Concurrent\") operations.\nThe \"Prelude\" module, which is imported by default, exposes a curated set of types and functions from other modules.\n\nOther data structures like [Map](https://hackage.haskell.org/package/containers/docs/Data-Map.html),\n[Set](https://hackage.haskell.org/package/containers/docs/Data-Set.html) are available in the [containers](https://hackage.haskell.org/package/containers) library.\nTo work with textual data, use the [text](https://hackage.haskell.org/package/text/docs/Data-Text.html) library."; + buildType = "Configure"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."rts" or (errorHandler.buildDepError "rts")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + (hsPkgs."ghc-bignum" or (errorHandler.buildDepError "ghc-bignum")) + ]; + libs = pkgs.lib.optionals (system.isWindows) [ + (pkgs."wsock32" or (errorHandler.sysDepError "wsock32")) + (pkgs."user32" or (errorHandler.sysDepError "user32")) + (pkgs."shell32" or (errorHandler.sysDepError "shell32")) + (pkgs."mingw32" or (errorHandler.sysDepError "mingw32")) + (pkgs."kernel32" or (errorHandler.sysDepError "kernel32")) + (pkgs."advapi32" or (errorHandler.sysDepError "advapi32")) + (pkgs."mingwex" or (errorHandler.sysDepError "mingwex")) + (pkgs."ws2_32" or (errorHandler.sysDepError "ws2_32")) + (pkgs."shlwapi" or (errorHandler.sysDepError "shlwapi")) + (pkgs."ole32" or (errorHandler.sysDepError "ole32")) + (pkgs."rpcrt4" or (errorHandler.sysDepError "rpcrt4")) + (pkgs."ntdll" or (errorHandler.sysDepError "ntdll")) + ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc984-aarch64/deriveConstants.nix b/materialized/ghc-boot-packages-nix/ghc984-aarch64/deriveConstants.nix new file mode 100644 index 000000000..135cdd02f --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc984-aarch64/deriveConstants.nix @@ -0,0 +1,39 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "1.10"; + identifier = { name = "deriveConstants"; version = "0.1"; }; + license = "BSD-3-Clause"; + copyright = "XXX"; + maintainer = "XXX"; + author = "XXX"; + homepage = ""; + url = ""; + synopsis = "Derive header files containing various constants for the GHC build process"; + description = "This utility is responsible for generating a number of C header files\nneeded during the GHC build process. See @rts/include/ghc.mk@ in the GHC\nbuild system for details."; + buildType = "Simple"; + }; + components = { + exes = { + "deriveConstants" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."process" or (errorHandler.buildDepError "process")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + ]; + buildable = true; + }; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc984-aarch64/genprimopcode.nix b/materialized/ghc-boot-packages-nix/ghc984-aarch64/genprimopcode.nix new file mode 100644 index 000000000..49bbe516b --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc984-aarch64/genprimopcode.nix @@ -0,0 +1,40 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = { build-tool-depends = true; }; + package = { + specVersion = "2.0"; + identifier = { name = "genprimopcode"; version = "0.1"; }; + license = "BSD-3-Clause"; + copyright = "XXX"; + maintainer = "XXX"; + author = "XXX"; + homepage = ""; + url = ""; + synopsis = "Generates various files implementing GHC's primitive operations."; + description = "This utility reads a textual description of GHC's primitive operations\n(@primops.txt.pp@) and produces a number of outputs. These include,\n\n* the @GHC.Prim@ module included in the @ghc-prim@ package.\n* the @GHC.PrimopWrappers@ module included in the @ghc-prim@ package.\n* an LaTeX document describing the primitive operations."; + buildType = "Simple"; + }; + components = { + exes = { + "genprimopcode" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."array" or (errorHandler.buildDepError "array")) + ]; + build-tools = pkgs.lib.optionals (flags.build-tool-depends) [ + (hsPkgs.pkgsBuildBuild.alex.components.exes.alex or (pkgs.pkgsBuildBuild.alex or (errorHandler.buildToolDepError "alex:alex"))) + (hsPkgs.pkgsBuildBuild.happy.components.exes.happy or (pkgs.pkgsBuildBuild.happy or (errorHandler.buildToolDepError "happy:happy"))) + ]; + buildable = true; + }; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc984-aarch64/ghc-bignum.nix b/materialized/ghc-boot-packages-nix/ghc984-aarch64/ghc-bignum.nix new file mode 100644 index 000000000..46af6e0e9 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc984-aarch64/ghc-bignum.nix @@ -0,0 +1,37 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = { native = false; ffi = false; gmp = false; check = false; }; + package = { + specVersion = "2.0"; + identifier = { name = "ghc-bignum"; version = "1.3"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "libraries@haskell.org"; + author = "Sylvain Henry"; + homepage = ""; + url = ""; + synopsis = "GHC BigNum library"; + description = "This package provides the low-level implementation of the standard\n'BigNat', 'Natural' and 'Integer' types."; + buildType = "Configure"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + ]; + buildable = (if !flags.native && !flags.gmp && !flags.ffi + then false + else true) && (if flags.native && (flags.gmp || flags.ffi) + then false + else true) && (if flags.gmp && flags.ffi then false else true); + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc984-aarch64/ghc-boot.nix b/materialized/ghc-boot-packages-nix/ghc984-aarch64/ghc-boot.nix new file mode 100644 index 000000000..6f834c074 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc984-aarch64/ghc-boot.nix @@ -0,0 +1,46 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "3.0"; + identifier = { name = "ghc-boot"; version = "9.8.4"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "ghc-devs@haskell.org"; + author = ""; + homepage = ""; + url = ""; + synopsis = "Shared functionality between GHC and its boot libraries"; + description = "This library is shared between GHC, ghc-pkg, and other boot\nlibraries.\n.\nA note about \"GHC.Unit.Database\": it only deals with the subset of\nthe package database that the compiler cares about: modules\npaths etc and not package metadata like description, authors\netc. It is thus not a library interface to ghc-pkg and is *not*\nsuitable for modifying GHC package databases.\n.\nThe package database format and this library are constructed in\nsuch a way that while ghc-pkg depends on Cabal, the GHC library\nand program do not have to depend on Cabal."; + buildType = "Custom"; + setup-depends = [ + (hsPkgs.pkgsBuildBuild.base or (pkgs.pkgsBuildBuild.base or (errorHandler.setupDepError "base"))) + (hsPkgs.pkgsBuildBuild.Cabal or (pkgs.pkgsBuildBuild.Cabal or (errorHandler.setupDepError "Cabal"))) + (hsPkgs.pkgsBuildBuild.directory or (pkgs.pkgsBuildBuild.directory or (errorHandler.setupDepError "directory"))) + (hsPkgs.pkgsBuildBuild.filepath or (pkgs.pkgsBuildBuild.filepath or (errorHandler.setupDepError "filepath"))) + ]; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."ghc-boot-th" or (errorHandler.buildDepError "ghc-boot-th")) + ] ++ pkgs.lib.optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix")); + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc984-aarch64/ghc-heap.nix b/materialized/ghc-boot-packages-nix/ghc984-aarch64/ghc-heap.nix new file mode 100644 index 000000000..c793f1b24 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc984-aarch64/ghc-heap.nix @@ -0,0 +1,36 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "3.0"; + identifier = { name = "ghc-heap"; version = "9.8.4"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "libraries@haskell.org"; + author = ""; + homepage = ""; + url = ""; + synopsis = "Functions for walking GHC's heap"; + description = "This package provides functions for walking the GHC heap data structures\nand retrieving information about those data structures."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + (hsPkgs."rts" or (errorHandler.buildDepError "rts")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc984-aarch64/ghc-prim.nix b/materialized/ghc-boot-packages-nix/ghc984-aarch64/ghc-prim.nix new file mode 100644 index 000000000..546c5704d --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc984-aarch64/ghc-prim.nix @@ -0,0 +1,47 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = { need-atomic = false; }; + package = { + specVersion = "2.2"; + identifier = { name = "ghc-prim"; version = "0.11.0"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "libraries@haskell.org"; + author = ""; + homepage = ""; + url = ""; + synopsis = "GHC primitives"; + description = "This package contains the primitive types and operations supplied by GHC.\nIt is an internal package, only for the use of GHC developers.\nGHC users should not use it! If you do use it then expect\nbreaking changes at any time without warning. You should prefer\nto import @GHC.Exts@ from the @base@ package instead."; + buildType = "Custom"; + setup-depends = [ + (hsPkgs.pkgsBuildBuild.base or (pkgs.pkgsBuildBuild.base or (errorHandler.setupDepError "base"))) + (hsPkgs.pkgsBuildBuild.process or (pkgs.pkgsBuildBuild.process or (errorHandler.setupDepError "process"))) + (hsPkgs.pkgsBuildBuild.filepath or (pkgs.pkgsBuildBuild.filepath or (errorHandler.setupDepError "filepath"))) + (hsPkgs.pkgsBuildBuild.directory or (pkgs.pkgsBuildBuild.directory or (errorHandler.setupDepError "directory"))) + (hsPkgs.pkgsBuildBuild.Cabal or (pkgs.pkgsBuildBuild.Cabal or (errorHandler.setupDepError "Cabal"))) + ]; + }; + components = { + "library" = { + depends = [ (hsPkgs."rts" or (errorHandler.buildDepError "rts")) ]; + libs = (pkgs.lib.optionals (system.isWindows) [ + (pkgs."user32" or (errorHandler.sysDepError "user32")) + (pkgs."mingw32" or (errorHandler.sysDepError "mingw32")) + (pkgs."mingwex" or (errorHandler.sysDepError "mingwex")) + (pkgs."ucrt" or (errorHandler.sysDepError "ucrt")) + ] ++ pkgs.lib.optionals (system.isLinux) [ + (pkgs."c" or (errorHandler.sysDepError "c")) + (pkgs."m" or (errorHandler.sysDepError "m")) + ]) ++ pkgs.lib.optional (flags.need-atomic) (pkgs."atomic" or (errorHandler.sysDepError "atomic")); + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc984-aarch64/ghc.nix b/materialized/ghc-boot-packages-nix/ghc984-aarch64/ghc.nix new file mode 100644 index 000000000..d1f3fc8e0 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc984-aarch64/ghc.nix @@ -0,0 +1,81 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = { + internal-interpreter = false; + dynamic-system-linker = true; + build-tool-depends = true; + with-libzstd = false; + static-libzstd = false; + hadrian-stage0 = false; + }; + package = { + specVersion = "2.2"; + identifier = { name = "ghc"; version = "9.8.4"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "glasgow-haskell-users@haskell.org"; + author = "The GHC Team"; + homepage = "http://www.haskell.org/ghc/"; + url = ""; + synopsis = "The GHC API"; + description = "GHC's functionality can be useful for more things than just\ncompiling Haskell programs. Important use cases are programs\nthat analyse (and perhaps transform) Haskell code. Others\ninclude loading Haskell code dynamically in a GHCi-like manner.\nFor this reason, a lot of GHC's functionality is made available\nthrough this package.\n\nSee \nfor more information."; + buildType = "Custom"; + setup-depends = [ + (hsPkgs.pkgsBuildBuild.base or (pkgs.pkgsBuildBuild.base or (errorHandler.setupDepError "base"))) + (hsPkgs.pkgsBuildBuild.Cabal or (pkgs.pkgsBuildBuild.Cabal or (errorHandler.setupDepError "Cabal"))) + (hsPkgs.pkgsBuildBuild.directory or (pkgs.pkgsBuildBuild.directory or (errorHandler.setupDepError "directory"))) + (hsPkgs.pkgsBuildBuild.process or (pkgs.pkgsBuildBuild.process or (errorHandler.setupDepError "process"))) + (hsPkgs.pkgsBuildBuild.filepath or (pkgs.pkgsBuildBuild.filepath or (errorHandler.setupDepError "filepath"))) + (hsPkgs.pkgsBuildBuild.containers or (pkgs.pkgsBuildBuild.containers or (errorHandler.setupDepError "containers"))) + ]; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + (hsPkgs."process" or (errorHandler.buildDepError "process")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (hsPkgs."time" or (errorHandler.buildDepError "time")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."array" or (errorHandler.buildDepError "array")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."template-haskell" or (errorHandler.buildDepError "template-haskell")) + (hsPkgs."hpc" or (errorHandler.buildDepError "hpc")) + (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")) + (hsPkgs."exceptions" or (errorHandler.buildDepError "exceptions")) + (hsPkgs."semaphore-compat" or (errorHandler.buildDepError "semaphore-compat")) + (hsPkgs."stm" or (errorHandler.buildDepError "stm")) + (hsPkgs."ghc-boot" or (errorHandler.buildDepError "ghc-boot")) + (hsPkgs."ghc-heap" or (errorHandler.buildDepError "ghc-heap")) + (hsPkgs."ghci" or (errorHandler.buildDepError "ghci")) + ] ++ (if system.isWindows + then [ (hsPkgs."Win32" or (errorHandler.buildDepError "Win32")) ] + else [ (hsPkgs."unix" or (errorHandler.buildDepError "unix")) ]); + libs = pkgs.lib.optionals (flags.with-libzstd) (if flags.static-libzstd + then pkgs.lib.optional (!system.isOsx) (pkgs.":libzstd.a" or (errorHandler.sysDepError ":libzstd.a")) + else [ (pkgs."zstd" or (errorHandler.sysDepError "zstd")) ]); + build-tools = pkgs.lib.optionals (flags.build-tool-depends) [ + (hsPkgs.pkgsBuildBuild.alex.components.exes.alex or (pkgs.pkgsBuildBuild.alex or (errorHandler.buildToolDepError "alex:alex"))) + (hsPkgs.pkgsBuildBuild.happy.components.exes.happy or (pkgs.pkgsBuildBuild.happy or (errorHandler.buildToolDepError "happy:happy"))) + (hsPkgs.pkgsBuildBuild.genprimopcode.components.exes.genprimopcode or (pkgs.pkgsBuildBuild.genprimopcode or (errorHandler.buildToolDepError "genprimopcode:genprimopcode"))) + (hsPkgs.pkgsBuildBuild.deriveConstants.components.exes.deriveConstants or (pkgs.pkgsBuildBuild.deriveConstants or (errorHandler.buildToolDepError "deriveConstants:deriveConstants"))) + ]; + buildable = if flags.with-libzstd + then if flags.static-libzstd + then if system.isOsx then false else true + else true + else true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc984-aarch64/ghci.nix b/materialized/ghc-boot-packages-nix/ghc984-aarch64/ghci.nix new file mode 100644 index 000000000..0c5990385 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc984-aarch64/ghci.nix @@ -0,0 +1,45 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = { internal-interpreter = false; }; + package = { + specVersion = "1.10"; + identifier = { name = "ghci"; version = "9.8.4"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "ghc-devs@haskell.org"; + author = ""; + homepage = ""; + url = ""; + synopsis = "The library supporting GHC's interactive interpreter"; + description = "This library offers interfaces which mediate interactions between the\n@ghci@ interactive shell and @iserv@, GHC's out-of-process interpreter\nbackend."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."rts" or (errorHandler.buildDepError "rts")) + (hsPkgs."array" or (errorHandler.buildDepError "array")) + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (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-boot" or (errorHandler.buildDepError "ghc-boot")) + (hsPkgs."ghc-heap" or (errorHandler.buildDepError "ghc-heap")) + (hsPkgs."template-haskell" or (errorHandler.buildDepError "template-haskell")) + (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")) + ] ++ pkgs.lib.optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix")); + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc984-aarch64/hpc.nix b/materialized/ghc-boot-packages-nix/ghc984-aarch64/hpc.nix new file mode 100644 index 000000000..f6b275cfd --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc984-aarch64/hpc.nix @@ -0,0 +1,38 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "2.2"; + identifier = { name = "hpc"; version = "0.7.0.0"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "ghc-devs@haskell.org"; + author = "Andy Gill"; + homepage = ""; + url = ""; + synopsis = "Code Coverage Library for Haskell"; + description = "This package provides the code coverage library for Haskell.\n\nSee for more\ninformation."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."time" or (errorHandler.buildDepError "time")) + ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc984-aarch64/integer-gmp.nix b/materialized/ghc-boot-packages-nix/ghc984-aarch64/integer-gmp.nix new file mode 100644 index 000000000..94f930e70 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc984-aarch64/integer-gmp.nix @@ -0,0 +1,35 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "2.0"; + identifier = { name = "integer-gmp"; version = "1.1"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "hvr@gnu.org"; + author = "Herbert Valerio Riedel"; + homepage = "https://www.haskell.org/ghc/"; + url = ""; + synopsis = "Integer library based on GMP"; + description = "This package used to provide an implementation of the standard 'Integer'\ntype based on the\n.\n\nIt is now deprecated in favor of the 'ghc-bignum' package.\n\nIts purpose is to provide backward compatibility for codes directly\ndepending on the `integer-gmp` package."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + (hsPkgs."ghc-bignum" or (errorHandler.buildDepError "ghc-bignum")) + ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc984-aarch64/iserv.nix b/materialized/ghc-boot-packages-nix/ghc984-aarch64/iserv.nix new file mode 100644 index 000000000..a3bbce53b --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc984-aarch64/iserv.nix @@ -0,0 +1,41 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "1.10"; + identifier = { name = "iserv"; version = "9.8.4"; }; + license = "BSD-3-Clause"; + copyright = "XXX"; + maintainer = "XXX"; + author = "XXX"; + homepage = ""; + url = ""; + synopsis = "iserv allows GHC to delegate Template Haskell computations"; + description = "GHC can be provided with a path to the iserv binary with\n@-pgmi=/path/to/iserv-bin@, and will in combination with\n@-fexternal-interpreter@, compile Template Haskell though the\n@iserv-bin@ delegate. This is very similar to how ghcjs has been\ncompiling Template Haskell, by spawning a separate delegate (so\ncalled runner on the javascript vm) and evaluating the splices\nthere."; + buildType = "Simple"; + }; + components = { + exes = { + "iserv" = { + depends = [ + (hsPkgs."array" or (errorHandler.buildDepError "array")) + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."ghci" or (errorHandler.buildDepError "ghci")) + ] ++ pkgs.lib.optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix")); + buildable = true; + }; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc984-aarch64/remote-iserv.nix b/materialized/ghc-boot-packages-nix/ghc984-aarch64/remote-iserv.nix new file mode 100644 index 000000000..688b67499 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc984-aarch64/remote-iserv.nix @@ -0,0 +1,36 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "1.10"; + identifier = { name = "remote-iserv"; version = "9.8.4"; }; + license = "BSD-3-Clause"; + copyright = "XXX"; + maintainer = "Moritz Angermann "; + author = "Moritz Angermann "; + homepage = ""; + url = ""; + synopsis = "iserv allows GHC to delegate Template Haskell computations"; + description = "This is a very simple remote runner for iserv, to be used together\nwith iserv-proxy. The foundamental idea is that this this wrapper\nstarts running the GHCi server on a given port to which iserv-proxy will\nthen connect."; + buildType = "Simple"; + }; + components = { + exes = { + "remote-iserv" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."ghci" or (errorHandler.buildDepError "ghci")) + ]; + buildable = true; + }; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc984-aarch64/template-haskell.nix b/materialized/ghc-boot-packages-nix/ghc984-aarch64/template-haskell.nix new file mode 100644 index 000000000..3e2655643 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc984-aarch64/template-haskell.nix @@ -0,0 +1,36 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "1.10"; + identifier = { name = "template-haskell"; version = "2.21.0.0"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "libraries@haskell.org"; + author = ""; + homepage = ""; + url = ""; + synopsis = "Support library for Template Haskell"; + description = "This package provides modules containing facilities for manipulating\nHaskell source code using Template Haskell.\n\nSee for more\ninformation."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."ghc-boot-th" or (errorHandler.buildDepError "ghc-boot-th")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + (hsPkgs."pretty" or (errorHandler.buildDepError "pretty")) + ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc984-ghcjs/base.nix b/materialized/ghc-boot-packages-nix/ghc984-ghcjs/base.nix new file mode 100644 index 000000000..d918879f6 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc984-ghcjs/base.nix @@ -0,0 +1,49 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "3.0"; + identifier = { name = "base"; version = "4.19.2.0"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "Core Libraries Committee "; + author = ""; + homepage = ""; + url = ""; + synopsis = "Core data structures and operations"; + description = "Haskell's base library provides, among other things, core types (e.g. [Bool](\"Data.Bool\") and [Int](\"Data.Int\")),\ndata structures (e.g. [List](\"Data.List\"), [Tuple](\"Data.Tuple\") and [Maybe](\"Data.Maybe\")),\nthe [Exception](\"Control.Exception\") mechanism, and the [IO](\"System.IO\") & [Concurrency](\"Control.Concurrent\") operations.\nThe \"Prelude\" module, which is imported by default, exposes a curated set of types and functions from other modules.\n\nOther data structures like [Map](https://hackage.haskell.org/package/containers/docs/Data-Map.html),\n[Set](https://hackage.haskell.org/package/containers/docs/Data-Set.html) are available in the [containers](https://hackage.haskell.org/package/containers) library.\nTo work with textual data, use the [text](https://hackage.haskell.org/package/text/docs/Data-Text.html) library."; + buildType = "Configure"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."rts" or (errorHandler.buildDepError "rts")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + (hsPkgs."ghc-bignum" or (errorHandler.buildDepError "ghc-bignum")) + ]; + libs = pkgs.lib.optionals (system.isWindows) [ + (pkgs."wsock32" or (errorHandler.sysDepError "wsock32")) + (pkgs."user32" or (errorHandler.sysDepError "user32")) + (pkgs."shell32" or (errorHandler.sysDepError "shell32")) + (pkgs."mingw32" or (errorHandler.sysDepError "mingw32")) + (pkgs."kernel32" or (errorHandler.sysDepError "kernel32")) + (pkgs."advapi32" or (errorHandler.sysDepError "advapi32")) + (pkgs."mingwex" or (errorHandler.sysDepError "mingwex")) + (pkgs."ws2_32" or (errorHandler.sysDepError "ws2_32")) + (pkgs."shlwapi" or (errorHandler.sysDepError "shlwapi")) + (pkgs."ole32" or (errorHandler.sysDepError "ole32")) + (pkgs."rpcrt4" or (errorHandler.sysDepError "rpcrt4")) + (pkgs."ntdll" or (errorHandler.sysDepError "ntdll")) + ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc984-ghcjs/deriveConstants.nix b/materialized/ghc-boot-packages-nix/ghc984-ghcjs/deriveConstants.nix new file mode 100644 index 000000000..135cdd02f --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc984-ghcjs/deriveConstants.nix @@ -0,0 +1,39 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "1.10"; + identifier = { name = "deriveConstants"; version = "0.1"; }; + license = "BSD-3-Clause"; + copyright = "XXX"; + maintainer = "XXX"; + author = "XXX"; + homepage = ""; + url = ""; + synopsis = "Derive header files containing various constants for the GHC build process"; + description = "This utility is responsible for generating a number of C header files\nneeded during the GHC build process. See @rts/include/ghc.mk@ in the GHC\nbuild system for details."; + buildType = "Simple"; + }; + components = { + exes = { + "deriveConstants" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."process" or (errorHandler.buildDepError "process")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + ]; + buildable = true; + }; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc984-ghcjs/genprimopcode.nix b/materialized/ghc-boot-packages-nix/ghc984-ghcjs/genprimopcode.nix new file mode 100644 index 000000000..49bbe516b --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc984-ghcjs/genprimopcode.nix @@ -0,0 +1,40 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = { build-tool-depends = true; }; + package = { + specVersion = "2.0"; + identifier = { name = "genprimopcode"; version = "0.1"; }; + license = "BSD-3-Clause"; + copyright = "XXX"; + maintainer = "XXX"; + author = "XXX"; + homepage = ""; + url = ""; + synopsis = "Generates various files implementing GHC's primitive operations."; + description = "This utility reads a textual description of GHC's primitive operations\n(@primops.txt.pp@) and produces a number of outputs. These include,\n\n* the @GHC.Prim@ module included in the @ghc-prim@ package.\n* the @GHC.PrimopWrappers@ module included in the @ghc-prim@ package.\n* an LaTeX document describing the primitive operations."; + buildType = "Simple"; + }; + components = { + exes = { + "genprimopcode" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."array" or (errorHandler.buildDepError "array")) + ]; + build-tools = pkgs.lib.optionals (flags.build-tool-depends) [ + (hsPkgs.pkgsBuildBuild.alex.components.exes.alex or (pkgs.pkgsBuildBuild.alex or (errorHandler.buildToolDepError "alex:alex"))) + (hsPkgs.pkgsBuildBuild.happy.components.exes.happy or (pkgs.pkgsBuildBuild.happy or (errorHandler.buildToolDepError "happy:happy"))) + ]; + buildable = true; + }; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc984-ghcjs/ghc-bignum.nix b/materialized/ghc-boot-packages-nix/ghc984-ghcjs/ghc-bignum.nix new file mode 100644 index 000000000..46af6e0e9 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc984-ghcjs/ghc-bignum.nix @@ -0,0 +1,37 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = { native = false; ffi = false; gmp = false; check = false; }; + package = { + specVersion = "2.0"; + identifier = { name = "ghc-bignum"; version = "1.3"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "libraries@haskell.org"; + author = "Sylvain Henry"; + homepage = ""; + url = ""; + synopsis = "GHC BigNum library"; + description = "This package provides the low-level implementation of the standard\n'BigNat', 'Natural' and 'Integer' types."; + buildType = "Configure"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + ]; + buildable = (if !flags.native && !flags.gmp && !flags.ffi + then false + else true) && (if flags.native && (flags.gmp || flags.ffi) + then false + else true) && (if flags.gmp && flags.ffi then false else true); + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc984-ghcjs/ghc-boot.nix b/materialized/ghc-boot-packages-nix/ghc984-ghcjs/ghc-boot.nix new file mode 100644 index 000000000..6f834c074 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc984-ghcjs/ghc-boot.nix @@ -0,0 +1,46 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "3.0"; + identifier = { name = "ghc-boot"; version = "9.8.4"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "ghc-devs@haskell.org"; + author = ""; + homepage = ""; + url = ""; + synopsis = "Shared functionality between GHC and its boot libraries"; + description = "This library is shared between GHC, ghc-pkg, and other boot\nlibraries.\n.\nA note about \"GHC.Unit.Database\": it only deals with the subset of\nthe package database that the compiler cares about: modules\npaths etc and not package metadata like description, authors\netc. It is thus not a library interface to ghc-pkg and is *not*\nsuitable for modifying GHC package databases.\n.\nThe package database format and this library are constructed in\nsuch a way that while ghc-pkg depends on Cabal, the GHC library\nand program do not have to depend on Cabal."; + buildType = "Custom"; + setup-depends = [ + (hsPkgs.pkgsBuildBuild.base or (pkgs.pkgsBuildBuild.base or (errorHandler.setupDepError "base"))) + (hsPkgs.pkgsBuildBuild.Cabal or (pkgs.pkgsBuildBuild.Cabal or (errorHandler.setupDepError "Cabal"))) + (hsPkgs.pkgsBuildBuild.directory or (pkgs.pkgsBuildBuild.directory or (errorHandler.setupDepError "directory"))) + (hsPkgs.pkgsBuildBuild.filepath or (pkgs.pkgsBuildBuild.filepath or (errorHandler.setupDepError "filepath"))) + ]; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."ghc-boot-th" or (errorHandler.buildDepError "ghc-boot-th")) + ] ++ pkgs.lib.optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix")); + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc984-ghcjs/ghc-heap.nix b/materialized/ghc-boot-packages-nix/ghc984-ghcjs/ghc-heap.nix new file mode 100644 index 000000000..c793f1b24 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc984-ghcjs/ghc-heap.nix @@ -0,0 +1,36 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "3.0"; + identifier = { name = "ghc-heap"; version = "9.8.4"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "libraries@haskell.org"; + author = ""; + homepage = ""; + url = ""; + synopsis = "Functions for walking GHC's heap"; + description = "This package provides functions for walking the GHC heap data structures\nand retrieving information about those data structures."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + (hsPkgs."rts" or (errorHandler.buildDepError "rts")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc984-ghcjs/ghc-prim.nix b/materialized/ghc-boot-packages-nix/ghc984-ghcjs/ghc-prim.nix new file mode 100644 index 000000000..546c5704d --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc984-ghcjs/ghc-prim.nix @@ -0,0 +1,47 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = { need-atomic = false; }; + package = { + specVersion = "2.2"; + identifier = { name = "ghc-prim"; version = "0.11.0"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "libraries@haskell.org"; + author = ""; + homepage = ""; + url = ""; + synopsis = "GHC primitives"; + description = "This package contains the primitive types and operations supplied by GHC.\nIt is an internal package, only for the use of GHC developers.\nGHC users should not use it! If you do use it then expect\nbreaking changes at any time without warning. You should prefer\nto import @GHC.Exts@ from the @base@ package instead."; + buildType = "Custom"; + setup-depends = [ + (hsPkgs.pkgsBuildBuild.base or (pkgs.pkgsBuildBuild.base or (errorHandler.setupDepError "base"))) + (hsPkgs.pkgsBuildBuild.process or (pkgs.pkgsBuildBuild.process or (errorHandler.setupDepError "process"))) + (hsPkgs.pkgsBuildBuild.filepath or (pkgs.pkgsBuildBuild.filepath or (errorHandler.setupDepError "filepath"))) + (hsPkgs.pkgsBuildBuild.directory or (pkgs.pkgsBuildBuild.directory or (errorHandler.setupDepError "directory"))) + (hsPkgs.pkgsBuildBuild.Cabal or (pkgs.pkgsBuildBuild.Cabal or (errorHandler.setupDepError "Cabal"))) + ]; + }; + components = { + "library" = { + depends = [ (hsPkgs."rts" or (errorHandler.buildDepError "rts")) ]; + libs = (pkgs.lib.optionals (system.isWindows) [ + (pkgs."user32" or (errorHandler.sysDepError "user32")) + (pkgs."mingw32" or (errorHandler.sysDepError "mingw32")) + (pkgs."mingwex" or (errorHandler.sysDepError "mingwex")) + (pkgs."ucrt" or (errorHandler.sysDepError "ucrt")) + ] ++ pkgs.lib.optionals (system.isLinux) [ + (pkgs."c" or (errorHandler.sysDepError "c")) + (pkgs."m" or (errorHandler.sysDepError "m")) + ]) ++ pkgs.lib.optional (flags.need-atomic) (pkgs."atomic" or (errorHandler.sysDepError "atomic")); + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc984-ghcjs/ghc.nix b/materialized/ghc-boot-packages-nix/ghc984-ghcjs/ghc.nix new file mode 100644 index 000000000..d1f3fc8e0 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc984-ghcjs/ghc.nix @@ -0,0 +1,81 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = { + internal-interpreter = false; + dynamic-system-linker = true; + build-tool-depends = true; + with-libzstd = false; + static-libzstd = false; + hadrian-stage0 = false; + }; + package = { + specVersion = "2.2"; + identifier = { name = "ghc"; version = "9.8.4"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "glasgow-haskell-users@haskell.org"; + author = "The GHC Team"; + homepage = "http://www.haskell.org/ghc/"; + url = ""; + synopsis = "The GHC API"; + description = "GHC's functionality can be useful for more things than just\ncompiling Haskell programs. Important use cases are programs\nthat analyse (and perhaps transform) Haskell code. Others\ninclude loading Haskell code dynamically in a GHCi-like manner.\nFor this reason, a lot of GHC's functionality is made available\nthrough this package.\n\nSee \nfor more information."; + buildType = "Custom"; + setup-depends = [ + (hsPkgs.pkgsBuildBuild.base or (pkgs.pkgsBuildBuild.base or (errorHandler.setupDepError "base"))) + (hsPkgs.pkgsBuildBuild.Cabal or (pkgs.pkgsBuildBuild.Cabal or (errorHandler.setupDepError "Cabal"))) + (hsPkgs.pkgsBuildBuild.directory or (pkgs.pkgsBuildBuild.directory or (errorHandler.setupDepError "directory"))) + (hsPkgs.pkgsBuildBuild.process or (pkgs.pkgsBuildBuild.process or (errorHandler.setupDepError "process"))) + (hsPkgs.pkgsBuildBuild.filepath or (pkgs.pkgsBuildBuild.filepath or (errorHandler.setupDepError "filepath"))) + (hsPkgs.pkgsBuildBuild.containers or (pkgs.pkgsBuildBuild.containers or (errorHandler.setupDepError "containers"))) + ]; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + (hsPkgs."process" or (errorHandler.buildDepError "process")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (hsPkgs."time" or (errorHandler.buildDepError "time")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."array" or (errorHandler.buildDepError "array")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."template-haskell" or (errorHandler.buildDepError "template-haskell")) + (hsPkgs."hpc" or (errorHandler.buildDepError "hpc")) + (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")) + (hsPkgs."exceptions" or (errorHandler.buildDepError "exceptions")) + (hsPkgs."semaphore-compat" or (errorHandler.buildDepError "semaphore-compat")) + (hsPkgs."stm" or (errorHandler.buildDepError "stm")) + (hsPkgs."ghc-boot" or (errorHandler.buildDepError "ghc-boot")) + (hsPkgs."ghc-heap" or (errorHandler.buildDepError "ghc-heap")) + (hsPkgs."ghci" or (errorHandler.buildDepError "ghci")) + ] ++ (if system.isWindows + then [ (hsPkgs."Win32" or (errorHandler.buildDepError "Win32")) ] + else [ (hsPkgs."unix" or (errorHandler.buildDepError "unix")) ]); + libs = pkgs.lib.optionals (flags.with-libzstd) (if flags.static-libzstd + then pkgs.lib.optional (!system.isOsx) (pkgs.":libzstd.a" or (errorHandler.sysDepError ":libzstd.a")) + else [ (pkgs."zstd" or (errorHandler.sysDepError "zstd")) ]); + build-tools = pkgs.lib.optionals (flags.build-tool-depends) [ + (hsPkgs.pkgsBuildBuild.alex.components.exes.alex or (pkgs.pkgsBuildBuild.alex or (errorHandler.buildToolDepError "alex:alex"))) + (hsPkgs.pkgsBuildBuild.happy.components.exes.happy or (pkgs.pkgsBuildBuild.happy or (errorHandler.buildToolDepError "happy:happy"))) + (hsPkgs.pkgsBuildBuild.genprimopcode.components.exes.genprimopcode or (pkgs.pkgsBuildBuild.genprimopcode or (errorHandler.buildToolDepError "genprimopcode:genprimopcode"))) + (hsPkgs.pkgsBuildBuild.deriveConstants.components.exes.deriveConstants or (pkgs.pkgsBuildBuild.deriveConstants or (errorHandler.buildToolDepError "deriveConstants:deriveConstants"))) + ]; + buildable = if flags.with-libzstd + then if flags.static-libzstd + then if system.isOsx then false else true + else true + else true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc984-ghcjs/ghci.nix b/materialized/ghc-boot-packages-nix/ghc984-ghcjs/ghci.nix new file mode 100644 index 000000000..0c5990385 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc984-ghcjs/ghci.nix @@ -0,0 +1,45 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = { internal-interpreter = false; }; + package = { + specVersion = "1.10"; + identifier = { name = "ghci"; version = "9.8.4"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "ghc-devs@haskell.org"; + author = ""; + homepage = ""; + url = ""; + synopsis = "The library supporting GHC's interactive interpreter"; + description = "This library offers interfaces which mediate interactions between the\n@ghci@ interactive shell and @iserv@, GHC's out-of-process interpreter\nbackend."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."rts" or (errorHandler.buildDepError "rts")) + (hsPkgs."array" or (errorHandler.buildDepError "array")) + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (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-boot" or (errorHandler.buildDepError "ghc-boot")) + (hsPkgs."ghc-heap" or (errorHandler.buildDepError "ghc-heap")) + (hsPkgs."template-haskell" or (errorHandler.buildDepError "template-haskell")) + (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")) + ] ++ pkgs.lib.optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix")); + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc984-ghcjs/hpc.nix b/materialized/ghc-boot-packages-nix/ghc984-ghcjs/hpc.nix new file mode 100644 index 000000000..f6b275cfd --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc984-ghcjs/hpc.nix @@ -0,0 +1,38 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "2.2"; + identifier = { name = "hpc"; version = "0.7.0.0"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "ghc-devs@haskell.org"; + author = "Andy Gill"; + homepage = ""; + url = ""; + synopsis = "Code Coverage Library for Haskell"; + description = "This package provides the code coverage library for Haskell.\n\nSee for more\ninformation."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."time" or (errorHandler.buildDepError "time")) + ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc984-ghcjs/integer-gmp.nix b/materialized/ghc-boot-packages-nix/ghc984-ghcjs/integer-gmp.nix new file mode 100644 index 000000000..94f930e70 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc984-ghcjs/integer-gmp.nix @@ -0,0 +1,35 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "2.0"; + identifier = { name = "integer-gmp"; version = "1.1"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "hvr@gnu.org"; + author = "Herbert Valerio Riedel"; + homepage = "https://www.haskell.org/ghc/"; + url = ""; + synopsis = "Integer library based on GMP"; + description = "This package used to provide an implementation of the standard 'Integer'\ntype based on the\n.\n\nIt is now deprecated in favor of the 'ghc-bignum' package.\n\nIts purpose is to provide backward compatibility for codes directly\ndepending on the `integer-gmp` package."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + (hsPkgs."ghc-bignum" or (errorHandler.buildDepError "ghc-bignum")) + ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc984-ghcjs/iserv.nix b/materialized/ghc-boot-packages-nix/ghc984-ghcjs/iserv.nix new file mode 100644 index 000000000..a3bbce53b --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc984-ghcjs/iserv.nix @@ -0,0 +1,41 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "1.10"; + identifier = { name = "iserv"; version = "9.8.4"; }; + license = "BSD-3-Clause"; + copyright = "XXX"; + maintainer = "XXX"; + author = "XXX"; + homepage = ""; + url = ""; + synopsis = "iserv allows GHC to delegate Template Haskell computations"; + description = "GHC can be provided with a path to the iserv binary with\n@-pgmi=/path/to/iserv-bin@, and will in combination with\n@-fexternal-interpreter@, compile Template Haskell though the\n@iserv-bin@ delegate. This is very similar to how ghcjs has been\ncompiling Template Haskell, by spawning a separate delegate (so\ncalled runner on the javascript vm) and evaluating the splices\nthere."; + buildType = "Simple"; + }; + components = { + exes = { + "iserv" = { + depends = [ + (hsPkgs."array" or (errorHandler.buildDepError "array")) + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."ghci" or (errorHandler.buildDepError "ghci")) + ] ++ pkgs.lib.optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix")); + buildable = true; + }; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc984-ghcjs/remote-iserv.nix b/materialized/ghc-boot-packages-nix/ghc984-ghcjs/remote-iserv.nix new file mode 100644 index 000000000..688b67499 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc984-ghcjs/remote-iserv.nix @@ -0,0 +1,36 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "1.10"; + identifier = { name = "remote-iserv"; version = "9.8.4"; }; + license = "BSD-3-Clause"; + copyright = "XXX"; + maintainer = "Moritz Angermann "; + author = "Moritz Angermann "; + homepage = ""; + url = ""; + synopsis = "iserv allows GHC to delegate Template Haskell computations"; + description = "This is a very simple remote runner for iserv, to be used together\nwith iserv-proxy. The foundamental idea is that this this wrapper\nstarts running the GHCi server on a given port to which iserv-proxy will\nthen connect."; + buildType = "Simple"; + }; + components = { + exes = { + "remote-iserv" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."ghci" or (errorHandler.buildDepError "ghci")) + ]; + buildable = true; + }; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc984-ghcjs/template-haskell.nix b/materialized/ghc-boot-packages-nix/ghc984-ghcjs/template-haskell.nix new file mode 100644 index 000000000..3e2655643 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc984-ghcjs/template-haskell.nix @@ -0,0 +1,36 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "1.10"; + identifier = { name = "template-haskell"; version = "2.21.0.0"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "libraries@haskell.org"; + author = ""; + homepage = ""; + url = ""; + synopsis = "Support library for Template Haskell"; + description = "This package provides modules containing facilities for manipulating\nHaskell source code using Template Haskell.\n\nSee for more\ninformation."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."ghc-boot-th" or (errorHandler.buildDepError "ghc-boot-th")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + (hsPkgs."pretty" or (errorHandler.buildDepError "pretty")) + ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc984/base.nix b/materialized/ghc-boot-packages-nix/ghc984/base.nix new file mode 100644 index 000000000..d918879f6 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc984/base.nix @@ -0,0 +1,49 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "3.0"; + identifier = { name = "base"; version = "4.19.2.0"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "Core Libraries Committee "; + author = ""; + homepage = ""; + url = ""; + synopsis = "Core data structures and operations"; + description = "Haskell's base library provides, among other things, core types (e.g. [Bool](\"Data.Bool\") and [Int](\"Data.Int\")),\ndata structures (e.g. [List](\"Data.List\"), [Tuple](\"Data.Tuple\") and [Maybe](\"Data.Maybe\")),\nthe [Exception](\"Control.Exception\") mechanism, and the [IO](\"System.IO\") & [Concurrency](\"Control.Concurrent\") operations.\nThe \"Prelude\" module, which is imported by default, exposes a curated set of types and functions from other modules.\n\nOther data structures like [Map](https://hackage.haskell.org/package/containers/docs/Data-Map.html),\n[Set](https://hackage.haskell.org/package/containers/docs/Data-Set.html) are available in the [containers](https://hackage.haskell.org/package/containers) library.\nTo work with textual data, use the [text](https://hackage.haskell.org/package/text/docs/Data-Text.html) library."; + buildType = "Configure"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."rts" or (errorHandler.buildDepError "rts")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + (hsPkgs."ghc-bignum" or (errorHandler.buildDepError "ghc-bignum")) + ]; + libs = pkgs.lib.optionals (system.isWindows) [ + (pkgs."wsock32" or (errorHandler.sysDepError "wsock32")) + (pkgs."user32" or (errorHandler.sysDepError "user32")) + (pkgs."shell32" or (errorHandler.sysDepError "shell32")) + (pkgs."mingw32" or (errorHandler.sysDepError "mingw32")) + (pkgs."kernel32" or (errorHandler.sysDepError "kernel32")) + (pkgs."advapi32" or (errorHandler.sysDepError "advapi32")) + (pkgs."mingwex" or (errorHandler.sysDepError "mingwex")) + (pkgs."ws2_32" or (errorHandler.sysDepError "ws2_32")) + (pkgs."shlwapi" or (errorHandler.sysDepError "shlwapi")) + (pkgs."ole32" or (errorHandler.sysDepError "ole32")) + (pkgs."rpcrt4" or (errorHandler.sysDepError "rpcrt4")) + (pkgs."ntdll" or (errorHandler.sysDepError "ntdll")) + ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc984/deriveConstants.nix b/materialized/ghc-boot-packages-nix/ghc984/deriveConstants.nix new file mode 100644 index 000000000..135cdd02f --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc984/deriveConstants.nix @@ -0,0 +1,39 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "1.10"; + identifier = { name = "deriveConstants"; version = "0.1"; }; + license = "BSD-3-Clause"; + copyright = "XXX"; + maintainer = "XXX"; + author = "XXX"; + homepage = ""; + url = ""; + synopsis = "Derive header files containing various constants for the GHC build process"; + description = "This utility is responsible for generating a number of C header files\nneeded during the GHC build process. See @rts/include/ghc.mk@ in the GHC\nbuild system for details."; + buildType = "Simple"; + }; + components = { + exes = { + "deriveConstants" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."process" or (errorHandler.buildDepError "process")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + ]; + buildable = true; + }; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc984/genprimopcode.nix b/materialized/ghc-boot-packages-nix/ghc984/genprimopcode.nix new file mode 100644 index 000000000..49bbe516b --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc984/genprimopcode.nix @@ -0,0 +1,40 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = { build-tool-depends = true; }; + package = { + specVersion = "2.0"; + identifier = { name = "genprimopcode"; version = "0.1"; }; + license = "BSD-3-Clause"; + copyright = "XXX"; + maintainer = "XXX"; + author = "XXX"; + homepage = ""; + url = ""; + synopsis = "Generates various files implementing GHC's primitive operations."; + description = "This utility reads a textual description of GHC's primitive operations\n(@primops.txt.pp@) and produces a number of outputs. These include,\n\n* the @GHC.Prim@ module included in the @ghc-prim@ package.\n* the @GHC.PrimopWrappers@ module included in the @ghc-prim@ package.\n* an LaTeX document describing the primitive operations."; + buildType = "Simple"; + }; + components = { + exes = { + "genprimopcode" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."array" or (errorHandler.buildDepError "array")) + ]; + build-tools = pkgs.lib.optionals (flags.build-tool-depends) [ + (hsPkgs.pkgsBuildBuild.alex.components.exes.alex or (pkgs.pkgsBuildBuild.alex or (errorHandler.buildToolDepError "alex:alex"))) + (hsPkgs.pkgsBuildBuild.happy.components.exes.happy or (pkgs.pkgsBuildBuild.happy or (errorHandler.buildToolDepError "happy:happy"))) + ]; + buildable = true; + }; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc984/ghc-bignum.nix b/materialized/ghc-boot-packages-nix/ghc984/ghc-bignum.nix new file mode 100644 index 000000000..46af6e0e9 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc984/ghc-bignum.nix @@ -0,0 +1,37 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = { native = false; ffi = false; gmp = false; check = false; }; + package = { + specVersion = "2.0"; + identifier = { name = "ghc-bignum"; version = "1.3"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "libraries@haskell.org"; + author = "Sylvain Henry"; + homepage = ""; + url = ""; + synopsis = "GHC BigNum library"; + description = "This package provides the low-level implementation of the standard\n'BigNat', 'Natural' and 'Integer' types."; + buildType = "Configure"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + ]; + buildable = (if !flags.native && !flags.gmp && !flags.ffi + then false + else true) && (if flags.native && (flags.gmp || flags.ffi) + then false + else true) && (if flags.gmp && flags.ffi then false else true); + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc984/ghc-boot.nix b/materialized/ghc-boot-packages-nix/ghc984/ghc-boot.nix new file mode 100644 index 000000000..6f834c074 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc984/ghc-boot.nix @@ -0,0 +1,46 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "3.0"; + identifier = { name = "ghc-boot"; version = "9.8.4"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "ghc-devs@haskell.org"; + author = ""; + homepage = ""; + url = ""; + synopsis = "Shared functionality between GHC and its boot libraries"; + description = "This library is shared between GHC, ghc-pkg, and other boot\nlibraries.\n.\nA note about \"GHC.Unit.Database\": it only deals with the subset of\nthe package database that the compiler cares about: modules\npaths etc and not package metadata like description, authors\netc. It is thus not a library interface to ghc-pkg and is *not*\nsuitable for modifying GHC package databases.\n.\nThe package database format and this library are constructed in\nsuch a way that while ghc-pkg depends on Cabal, the GHC library\nand program do not have to depend on Cabal."; + buildType = "Custom"; + setup-depends = [ + (hsPkgs.pkgsBuildBuild.base or (pkgs.pkgsBuildBuild.base or (errorHandler.setupDepError "base"))) + (hsPkgs.pkgsBuildBuild.Cabal or (pkgs.pkgsBuildBuild.Cabal or (errorHandler.setupDepError "Cabal"))) + (hsPkgs.pkgsBuildBuild.directory or (pkgs.pkgsBuildBuild.directory or (errorHandler.setupDepError "directory"))) + (hsPkgs.pkgsBuildBuild.filepath or (pkgs.pkgsBuildBuild.filepath or (errorHandler.setupDepError "filepath"))) + ]; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."ghc-boot-th" or (errorHandler.buildDepError "ghc-boot-th")) + ] ++ pkgs.lib.optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix")); + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc984/ghc-heap.nix b/materialized/ghc-boot-packages-nix/ghc984/ghc-heap.nix new file mode 100644 index 000000000..c793f1b24 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc984/ghc-heap.nix @@ -0,0 +1,36 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "3.0"; + identifier = { name = "ghc-heap"; version = "9.8.4"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "libraries@haskell.org"; + author = ""; + homepage = ""; + url = ""; + synopsis = "Functions for walking GHC's heap"; + description = "This package provides functions for walking the GHC heap data structures\nand retrieving information about those data structures."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + (hsPkgs."rts" or (errorHandler.buildDepError "rts")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc984/ghc-prim.nix b/materialized/ghc-boot-packages-nix/ghc984/ghc-prim.nix new file mode 100644 index 000000000..546c5704d --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc984/ghc-prim.nix @@ -0,0 +1,47 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = { need-atomic = false; }; + package = { + specVersion = "2.2"; + identifier = { name = "ghc-prim"; version = "0.11.0"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "libraries@haskell.org"; + author = ""; + homepage = ""; + url = ""; + synopsis = "GHC primitives"; + description = "This package contains the primitive types and operations supplied by GHC.\nIt is an internal package, only for the use of GHC developers.\nGHC users should not use it! If you do use it then expect\nbreaking changes at any time without warning. You should prefer\nto import @GHC.Exts@ from the @base@ package instead."; + buildType = "Custom"; + setup-depends = [ + (hsPkgs.pkgsBuildBuild.base or (pkgs.pkgsBuildBuild.base or (errorHandler.setupDepError "base"))) + (hsPkgs.pkgsBuildBuild.process or (pkgs.pkgsBuildBuild.process or (errorHandler.setupDepError "process"))) + (hsPkgs.pkgsBuildBuild.filepath or (pkgs.pkgsBuildBuild.filepath or (errorHandler.setupDepError "filepath"))) + (hsPkgs.pkgsBuildBuild.directory or (pkgs.pkgsBuildBuild.directory or (errorHandler.setupDepError "directory"))) + (hsPkgs.pkgsBuildBuild.Cabal or (pkgs.pkgsBuildBuild.Cabal or (errorHandler.setupDepError "Cabal"))) + ]; + }; + components = { + "library" = { + depends = [ (hsPkgs."rts" or (errorHandler.buildDepError "rts")) ]; + libs = (pkgs.lib.optionals (system.isWindows) [ + (pkgs."user32" or (errorHandler.sysDepError "user32")) + (pkgs."mingw32" or (errorHandler.sysDepError "mingw32")) + (pkgs."mingwex" or (errorHandler.sysDepError "mingwex")) + (pkgs."ucrt" or (errorHandler.sysDepError "ucrt")) + ] ++ pkgs.lib.optionals (system.isLinux) [ + (pkgs."c" or (errorHandler.sysDepError "c")) + (pkgs."m" or (errorHandler.sysDepError "m")) + ]) ++ pkgs.lib.optional (flags.need-atomic) (pkgs."atomic" or (errorHandler.sysDepError "atomic")); + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc984/ghc.nix b/materialized/ghc-boot-packages-nix/ghc984/ghc.nix new file mode 100644 index 000000000..d1f3fc8e0 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc984/ghc.nix @@ -0,0 +1,81 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = { + internal-interpreter = false; + dynamic-system-linker = true; + build-tool-depends = true; + with-libzstd = false; + static-libzstd = false; + hadrian-stage0 = false; + }; + package = { + specVersion = "2.2"; + identifier = { name = "ghc"; version = "9.8.4"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "glasgow-haskell-users@haskell.org"; + author = "The GHC Team"; + homepage = "http://www.haskell.org/ghc/"; + url = ""; + synopsis = "The GHC API"; + description = "GHC's functionality can be useful for more things than just\ncompiling Haskell programs. Important use cases are programs\nthat analyse (and perhaps transform) Haskell code. Others\ninclude loading Haskell code dynamically in a GHCi-like manner.\nFor this reason, a lot of GHC's functionality is made available\nthrough this package.\n\nSee \nfor more information."; + buildType = "Custom"; + setup-depends = [ + (hsPkgs.pkgsBuildBuild.base or (pkgs.pkgsBuildBuild.base or (errorHandler.setupDepError "base"))) + (hsPkgs.pkgsBuildBuild.Cabal or (pkgs.pkgsBuildBuild.Cabal or (errorHandler.setupDepError "Cabal"))) + (hsPkgs.pkgsBuildBuild.directory or (pkgs.pkgsBuildBuild.directory or (errorHandler.setupDepError "directory"))) + (hsPkgs.pkgsBuildBuild.process or (pkgs.pkgsBuildBuild.process or (errorHandler.setupDepError "process"))) + (hsPkgs.pkgsBuildBuild.filepath or (pkgs.pkgsBuildBuild.filepath or (errorHandler.setupDepError "filepath"))) + (hsPkgs.pkgsBuildBuild.containers or (pkgs.pkgsBuildBuild.containers or (errorHandler.setupDepError "containers"))) + ]; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + (hsPkgs."process" or (errorHandler.buildDepError "process")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (hsPkgs."time" or (errorHandler.buildDepError "time")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."array" or (errorHandler.buildDepError "array")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."template-haskell" or (errorHandler.buildDepError "template-haskell")) + (hsPkgs."hpc" or (errorHandler.buildDepError "hpc")) + (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")) + (hsPkgs."exceptions" or (errorHandler.buildDepError "exceptions")) + (hsPkgs."semaphore-compat" or (errorHandler.buildDepError "semaphore-compat")) + (hsPkgs."stm" or (errorHandler.buildDepError "stm")) + (hsPkgs."ghc-boot" or (errorHandler.buildDepError "ghc-boot")) + (hsPkgs."ghc-heap" or (errorHandler.buildDepError "ghc-heap")) + (hsPkgs."ghci" or (errorHandler.buildDepError "ghci")) + ] ++ (if system.isWindows + then [ (hsPkgs."Win32" or (errorHandler.buildDepError "Win32")) ] + else [ (hsPkgs."unix" or (errorHandler.buildDepError "unix")) ]); + libs = pkgs.lib.optionals (flags.with-libzstd) (if flags.static-libzstd + then pkgs.lib.optional (!system.isOsx) (pkgs.":libzstd.a" or (errorHandler.sysDepError ":libzstd.a")) + else [ (pkgs."zstd" or (errorHandler.sysDepError "zstd")) ]); + build-tools = pkgs.lib.optionals (flags.build-tool-depends) [ + (hsPkgs.pkgsBuildBuild.alex.components.exes.alex or (pkgs.pkgsBuildBuild.alex or (errorHandler.buildToolDepError "alex:alex"))) + (hsPkgs.pkgsBuildBuild.happy.components.exes.happy or (pkgs.pkgsBuildBuild.happy or (errorHandler.buildToolDepError "happy:happy"))) + (hsPkgs.pkgsBuildBuild.genprimopcode.components.exes.genprimopcode or (pkgs.pkgsBuildBuild.genprimopcode or (errorHandler.buildToolDepError "genprimopcode:genprimopcode"))) + (hsPkgs.pkgsBuildBuild.deriveConstants.components.exes.deriveConstants or (pkgs.pkgsBuildBuild.deriveConstants or (errorHandler.buildToolDepError "deriveConstants:deriveConstants"))) + ]; + buildable = if flags.with-libzstd + then if flags.static-libzstd + then if system.isOsx then false else true + else true + else true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc984/ghci.nix b/materialized/ghc-boot-packages-nix/ghc984/ghci.nix new file mode 100644 index 000000000..0c5990385 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc984/ghci.nix @@ -0,0 +1,45 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = { internal-interpreter = false; }; + package = { + specVersion = "1.10"; + identifier = { name = "ghci"; version = "9.8.4"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "ghc-devs@haskell.org"; + author = ""; + homepage = ""; + url = ""; + synopsis = "The library supporting GHC's interactive interpreter"; + description = "This library offers interfaces which mediate interactions between the\n@ghci@ interactive shell and @iserv@, GHC's out-of-process interpreter\nbackend."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."rts" or (errorHandler.buildDepError "rts")) + (hsPkgs."array" or (errorHandler.buildDepError "array")) + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (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-boot" or (errorHandler.buildDepError "ghc-boot")) + (hsPkgs."ghc-heap" or (errorHandler.buildDepError "ghc-heap")) + (hsPkgs."template-haskell" or (errorHandler.buildDepError "template-haskell")) + (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")) + ] ++ pkgs.lib.optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix")); + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc984/hpc.nix b/materialized/ghc-boot-packages-nix/ghc984/hpc.nix new file mode 100644 index 000000000..f6b275cfd --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc984/hpc.nix @@ -0,0 +1,38 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "2.2"; + identifier = { name = "hpc"; version = "0.7.0.0"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "ghc-devs@haskell.org"; + author = "Andy Gill"; + homepage = ""; + url = ""; + synopsis = "Code Coverage Library for Haskell"; + description = "This package provides the code coverage library for Haskell.\n\nSee for more\ninformation."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."time" or (errorHandler.buildDepError "time")) + ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc984/integer-gmp.nix b/materialized/ghc-boot-packages-nix/ghc984/integer-gmp.nix new file mode 100644 index 000000000..94f930e70 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc984/integer-gmp.nix @@ -0,0 +1,35 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "2.0"; + identifier = { name = "integer-gmp"; version = "1.1"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "hvr@gnu.org"; + author = "Herbert Valerio Riedel"; + homepage = "https://www.haskell.org/ghc/"; + url = ""; + synopsis = "Integer library based on GMP"; + description = "This package used to provide an implementation of the standard 'Integer'\ntype based on the\n.\n\nIt is now deprecated in favor of the 'ghc-bignum' package.\n\nIts purpose is to provide backward compatibility for codes directly\ndepending on the `integer-gmp` package."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + (hsPkgs."ghc-bignum" or (errorHandler.buildDepError "ghc-bignum")) + ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc984/iserv.nix b/materialized/ghc-boot-packages-nix/ghc984/iserv.nix new file mode 100644 index 000000000..a3bbce53b --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc984/iserv.nix @@ -0,0 +1,41 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "1.10"; + identifier = { name = "iserv"; version = "9.8.4"; }; + license = "BSD-3-Clause"; + copyright = "XXX"; + maintainer = "XXX"; + author = "XXX"; + homepage = ""; + url = ""; + synopsis = "iserv allows GHC to delegate Template Haskell computations"; + description = "GHC can be provided with a path to the iserv binary with\n@-pgmi=/path/to/iserv-bin@, and will in combination with\n@-fexternal-interpreter@, compile Template Haskell though the\n@iserv-bin@ delegate. This is very similar to how ghcjs has been\ncompiling Template Haskell, by spawning a separate delegate (so\ncalled runner on the javascript vm) and evaluating the splices\nthere."; + buildType = "Simple"; + }; + components = { + exes = { + "iserv" = { + depends = [ + (hsPkgs."array" or (errorHandler.buildDepError "array")) + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."ghci" or (errorHandler.buildDepError "ghci")) + ] ++ pkgs.lib.optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix")); + buildable = true; + }; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc984/remote-iserv.nix b/materialized/ghc-boot-packages-nix/ghc984/remote-iserv.nix new file mode 100644 index 000000000..688b67499 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc984/remote-iserv.nix @@ -0,0 +1,36 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "1.10"; + identifier = { name = "remote-iserv"; version = "9.8.4"; }; + license = "BSD-3-Clause"; + copyright = "XXX"; + maintainer = "Moritz Angermann "; + author = "Moritz Angermann "; + homepage = ""; + url = ""; + synopsis = "iserv allows GHC to delegate Template Haskell computations"; + description = "This is a very simple remote runner for iserv, to be used together\nwith iserv-proxy. The foundamental idea is that this this wrapper\nstarts running the GHCi server on a given port to which iserv-proxy will\nthen connect."; + buildType = "Simple"; + }; + components = { + exes = { + "remote-iserv" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."ghci" or (errorHandler.buildDepError "ghci")) + ]; + buildable = true; + }; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc984/template-haskell.nix b/materialized/ghc-boot-packages-nix/ghc984/template-haskell.nix new file mode 100644 index 000000000..3e2655643 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc984/template-haskell.nix @@ -0,0 +1,36 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "1.10"; + identifier = { name = "template-haskell"; version = "2.21.0.0"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "libraries@haskell.org"; + author = ""; + homepage = ""; + url = ""; + synopsis = "Support library for Template Haskell"; + description = "This package provides modules containing facilities for manipulating\nHaskell source code using Template Haskell.\n\nSee for more\ninformation."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."ghc-boot-th" or (errorHandler.buildDepError "ghc-boot-th")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + (hsPkgs."pretty" or (errorHandler.buildDepError "pretty")) + ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc984llvm-aarch64/base.nix b/materialized/ghc-boot-packages-nix/ghc984llvm-aarch64/base.nix new file mode 100644 index 000000000..d918879f6 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc984llvm-aarch64/base.nix @@ -0,0 +1,49 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "3.0"; + identifier = { name = "base"; version = "4.19.2.0"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "Core Libraries Committee "; + author = ""; + homepage = ""; + url = ""; + synopsis = "Core data structures and operations"; + description = "Haskell's base library provides, among other things, core types (e.g. [Bool](\"Data.Bool\") and [Int](\"Data.Int\")),\ndata structures (e.g. [List](\"Data.List\"), [Tuple](\"Data.Tuple\") and [Maybe](\"Data.Maybe\")),\nthe [Exception](\"Control.Exception\") mechanism, and the [IO](\"System.IO\") & [Concurrency](\"Control.Concurrent\") operations.\nThe \"Prelude\" module, which is imported by default, exposes a curated set of types and functions from other modules.\n\nOther data structures like [Map](https://hackage.haskell.org/package/containers/docs/Data-Map.html),\n[Set](https://hackage.haskell.org/package/containers/docs/Data-Set.html) are available in the [containers](https://hackage.haskell.org/package/containers) library.\nTo work with textual data, use the [text](https://hackage.haskell.org/package/text/docs/Data-Text.html) library."; + buildType = "Configure"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."rts" or (errorHandler.buildDepError "rts")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + (hsPkgs."ghc-bignum" or (errorHandler.buildDepError "ghc-bignum")) + ]; + libs = pkgs.lib.optionals (system.isWindows) [ + (pkgs."wsock32" or (errorHandler.sysDepError "wsock32")) + (pkgs."user32" or (errorHandler.sysDepError "user32")) + (pkgs."shell32" or (errorHandler.sysDepError "shell32")) + (pkgs."mingw32" or (errorHandler.sysDepError "mingw32")) + (pkgs."kernel32" or (errorHandler.sysDepError "kernel32")) + (pkgs."advapi32" or (errorHandler.sysDepError "advapi32")) + (pkgs."mingwex" or (errorHandler.sysDepError "mingwex")) + (pkgs."ws2_32" or (errorHandler.sysDepError "ws2_32")) + (pkgs."shlwapi" or (errorHandler.sysDepError "shlwapi")) + (pkgs."ole32" or (errorHandler.sysDepError "ole32")) + (pkgs."rpcrt4" or (errorHandler.sysDepError "rpcrt4")) + (pkgs."ntdll" or (errorHandler.sysDepError "ntdll")) + ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc984llvm-aarch64/deriveConstants.nix b/materialized/ghc-boot-packages-nix/ghc984llvm-aarch64/deriveConstants.nix new file mode 100644 index 000000000..135cdd02f --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc984llvm-aarch64/deriveConstants.nix @@ -0,0 +1,39 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "1.10"; + identifier = { name = "deriveConstants"; version = "0.1"; }; + license = "BSD-3-Clause"; + copyright = "XXX"; + maintainer = "XXX"; + author = "XXX"; + homepage = ""; + url = ""; + synopsis = "Derive header files containing various constants for the GHC build process"; + description = "This utility is responsible for generating a number of C header files\nneeded during the GHC build process. See @rts/include/ghc.mk@ in the GHC\nbuild system for details."; + buildType = "Simple"; + }; + components = { + exes = { + "deriveConstants" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."process" or (errorHandler.buildDepError "process")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + ]; + buildable = true; + }; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc984llvm-aarch64/genprimopcode.nix b/materialized/ghc-boot-packages-nix/ghc984llvm-aarch64/genprimopcode.nix new file mode 100644 index 000000000..49bbe516b --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc984llvm-aarch64/genprimopcode.nix @@ -0,0 +1,40 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = { build-tool-depends = true; }; + package = { + specVersion = "2.0"; + identifier = { name = "genprimopcode"; version = "0.1"; }; + license = "BSD-3-Clause"; + copyright = "XXX"; + maintainer = "XXX"; + author = "XXX"; + homepage = ""; + url = ""; + synopsis = "Generates various files implementing GHC's primitive operations."; + description = "This utility reads a textual description of GHC's primitive operations\n(@primops.txt.pp@) and produces a number of outputs. These include,\n\n* the @GHC.Prim@ module included in the @ghc-prim@ package.\n* the @GHC.PrimopWrappers@ module included in the @ghc-prim@ package.\n* an LaTeX document describing the primitive operations."; + buildType = "Simple"; + }; + components = { + exes = { + "genprimopcode" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."array" or (errorHandler.buildDepError "array")) + ]; + build-tools = pkgs.lib.optionals (flags.build-tool-depends) [ + (hsPkgs.pkgsBuildBuild.alex.components.exes.alex or (pkgs.pkgsBuildBuild.alex or (errorHandler.buildToolDepError "alex:alex"))) + (hsPkgs.pkgsBuildBuild.happy.components.exes.happy or (pkgs.pkgsBuildBuild.happy or (errorHandler.buildToolDepError "happy:happy"))) + ]; + buildable = true; + }; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc984llvm-aarch64/ghc-bignum.nix b/materialized/ghc-boot-packages-nix/ghc984llvm-aarch64/ghc-bignum.nix new file mode 100644 index 000000000..46af6e0e9 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc984llvm-aarch64/ghc-bignum.nix @@ -0,0 +1,37 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = { native = false; ffi = false; gmp = false; check = false; }; + package = { + specVersion = "2.0"; + identifier = { name = "ghc-bignum"; version = "1.3"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "libraries@haskell.org"; + author = "Sylvain Henry"; + homepage = ""; + url = ""; + synopsis = "GHC BigNum library"; + description = "This package provides the low-level implementation of the standard\n'BigNat', 'Natural' and 'Integer' types."; + buildType = "Configure"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + ]; + buildable = (if !flags.native && !flags.gmp && !flags.ffi + then false + else true) && (if flags.native && (flags.gmp || flags.ffi) + then false + else true) && (if flags.gmp && flags.ffi then false else true); + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc984llvm-aarch64/ghc-boot.nix b/materialized/ghc-boot-packages-nix/ghc984llvm-aarch64/ghc-boot.nix new file mode 100644 index 000000000..6f834c074 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc984llvm-aarch64/ghc-boot.nix @@ -0,0 +1,46 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "3.0"; + identifier = { name = "ghc-boot"; version = "9.8.4"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "ghc-devs@haskell.org"; + author = ""; + homepage = ""; + url = ""; + synopsis = "Shared functionality between GHC and its boot libraries"; + description = "This library is shared between GHC, ghc-pkg, and other boot\nlibraries.\n.\nA note about \"GHC.Unit.Database\": it only deals with the subset of\nthe package database that the compiler cares about: modules\npaths etc and not package metadata like description, authors\netc. It is thus not a library interface to ghc-pkg and is *not*\nsuitable for modifying GHC package databases.\n.\nThe package database format and this library are constructed in\nsuch a way that while ghc-pkg depends on Cabal, the GHC library\nand program do not have to depend on Cabal."; + buildType = "Custom"; + setup-depends = [ + (hsPkgs.pkgsBuildBuild.base or (pkgs.pkgsBuildBuild.base or (errorHandler.setupDepError "base"))) + (hsPkgs.pkgsBuildBuild.Cabal or (pkgs.pkgsBuildBuild.Cabal or (errorHandler.setupDepError "Cabal"))) + (hsPkgs.pkgsBuildBuild.directory or (pkgs.pkgsBuildBuild.directory or (errorHandler.setupDepError "directory"))) + (hsPkgs.pkgsBuildBuild.filepath or (pkgs.pkgsBuildBuild.filepath or (errorHandler.setupDepError "filepath"))) + ]; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."ghc-boot-th" or (errorHandler.buildDepError "ghc-boot-th")) + ] ++ pkgs.lib.optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix")); + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc984llvm-aarch64/ghc-heap.nix b/materialized/ghc-boot-packages-nix/ghc984llvm-aarch64/ghc-heap.nix new file mode 100644 index 000000000..c793f1b24 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc984llvm-aarch64/ghc-heap.nix @@ -0,0 +1,36 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "3.0"; + identifier = { name = "ghc-heap"; version = "9.8.4"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "libraries@haskell.org"; + author = ""; + homepage = ""; + url = ""; + synopsis = "Functions for walking GHC's heap"; + description = "This package provides functions for walking the GHC heap data structures\nand retrieving information about those data structures."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + (hsPkgs."rts" or (errorHandler.buildDepError "rts")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc984llvm-aarch64/ghc-prim.nix b/materialized/ghc-boot-packages-nix/ghc984llvm-aarch64/ghc-prim.nix new file mode 100644 index 000000000..546c5704d --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc984llvm-aarch64/ghc-prim.nix @@ -0,0 +1,47 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = { need-atomic = false; }; + package = { + specVersion = "2.2"; + identifier = { name = "ghc-prim"; version = "0.11.0"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "libraries@haskell.org"; + author = ""; + homepage = ""; + url = ""; + synopsis = "GHC primitives"; + description = "This package contains the primitive types and operations supplied by GHC.\nIt is an internal package, only for the use of GHC developers.\nGHC users should not use it! If you do use it then expect\nbreaking changes at any time without warning. You should prefer\nto import @GHC.Exts@ from the @base@ package instead."; + buildType = "Custom"; + setup-depends = [ + (hsPkgs.pkgsBuildBuild.base or (pkgs.pkgsBuildBuild.base or (errorHandler.setupDepError "base"))) + (hsPkgs.pkgsBuildBuild.process or (pkgs.pkgsBuildBuild.process or (errorHandler.setupDepError "process"))) + (hsPkgs.pkgsBuildBuild.filepath or (pkgs.pkgsBuildBuild.filepath or (errorHandler.setupDepError "filepath"))) + (hsPkgs.pkgsBuildBuild.directory or (pkgs.pkgsBuildBuild.directory or (errorHandler.setupDepError "directory"))) + (hsPkgs.pkgsBuildBuild.Cabal or (pkgs.pkgsBuildBuild.Cabal or (errorHandler.setupDepError "Cabal"))) + ]; + }; + components = { + "library" = { + depends = [ (hsPkgs."rts" or (errorHandler.buildDepError "rts")) ]; + libs = (pkgs.lib.optionals (system.isWindows) [ + (pkgs."user32" or (errorHandler.sysDepError "user32")) + (pkgs."mingw32" or (errorHandler.sysDepError "mingw32")) + (pkgs."mingwex" or (errorHandler.sysDepError "mingwex")) + (pkgs."ucrt" or (errorHandler.sysDepError "ucrt")) + ] ++ pkgs.lib.optionals (system.isLinux) [ + (pkgs."c" or (errorHandler.sysDepError "c")) + (pkgs."m" or (errorHandler.sysDepError "m")) + ]) ++ pkgs.lib.optional (flags.need-atomic) (pkgs."atomic" or (errorHandler.sysDepError "atomic")); + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc984llvm-aarch64/ghc.nix b/materialized/ghc-boot-packages-nix/ghc984llvm-aarch64/ghc.nix new file mode 100644 index 000000000..d1f3fc8e0 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc984llvm-aarch64/ghc.nix @@ -0,0 +1,81 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = { + internal-interpreter = false; + dynamic-system-linker = true; + build-tool-depends = true; + with-libzstd = false; + static-libzstd = false; + hadrian-stage0 = false; + }; + package = { + specVersion = "2.2"; + identifier = { name = "ghc"; version = "9.8.4"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "glasgow-haskell-users@haskell.org"; + author = "The GHC Team"; + homepage = "http://www.haskell.org/ghc/"; + url = ""; + synopsis = "The GHC API"; + description = "GHC's functionality can be useful for more things than just\ncompiling Haskell programs. Important use cases are programs\nthat analyse (and perhaps transform) Haskell code. Others\ninclude loading Haskell code dynamically in a GHCi-like manner.\nFor this reason, a lot of GHC's functionality is made available\nthrough this package.\n\nSee \nfor more information."; + buildType = "Custom"; + setup-depends = [ + (hsPkgs.pkgsBuildBuild.base or (pkgs.pkgsBuildBuild.base or (errorHandler.setupDepError "base"))) + (hsPkgs.pkgsBuildBuild.Cabal or (pkgs.pkgsBuildBuild.Cabal or (errorHandler.setupDepError "Cabal"))) + (hsPkgs.pkgsBuildBuild.directory or (pkgs.pkgsBuildBuild.directory or (errorHandler.setupDepError "directory"))) + (hsPkgs.pkgsBuildBuild.process or (pkgs.pkgsBuildBuild.process or (errorHandler.setupDepError "process"))) + (hsPkgs.pkgsBuildBuild.filepath or (pkgs.pkgsBuildBuild.filepath or (errorHandler.setupDepError "filepath"))) + (hsPkgs.pkgsBuildBuild.containers or (pkgs.pkgsBuildBuild.containers or (errorHandler.setupDepError "containers"))) + ]; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + (hsPkgs."process" or (errorHandler.buildDepError "process")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (hsPkgs."time" or (errorHandler.buildDepError "time")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."array" or (errorHandler.buildDepError "array")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."template-haskell" or (errorHandler.buildDepError "template-haskell")) + (hsPkgs."hpc" or (errorHandler.buildDepError "hpc")) + (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")) + (hsPkgs."exceptions" or (errorHandler.buildDepError "exceptions")) + (hsPkgs."semaphore-compat" or (errorHandler.buildDepError "semaphore-compat")) + (hsPkgs."stm" or (errorHandler.buildDepError "stm")) + (hsPkgs."ghc-boot" or (errorHandler.buildDepError "ghc-boot")) + (hsPkgs."ghc-heap" or (errorHandler.buildDepError "ghc-heap")) + (hsPkgs."ghci" or (errorHandler.buildDepError "ghci")) + ] ++ (if system.isWindows + then [ (hsPkgs."Win32" or (errorHandler.buildDepError "Win32")) ] + else [ (hsPkgs."unix" or (errorHandler.buildDepError "unix")) ]); + libs = pkgs.lib.optionals (flags.with-libzstd) (if flags.static-libzstd + then pkgs.lib.optional (!system.isOsx) (pkgs.":libzstd.a" or (errorHandler.sysDepError ":libzstd.a")) + else [ (pkgs."zstd" or (errorHandler.sysDepError "zstd")) ]); + build-tools = pkgs.lib.optionals (flags.build-tool-depends) [ + (hsPkgs.pkgsBuildBuild.alex.components.exes.alex or (pkgs.pkgsBuildBuild.alex or (errorHandler.buildToolDepError "alex:alex"))) + (hsPkgs.pkgsBuildBuild.happy.components.exes.happy or (pkgs.pkgsBuildBuild.happy or (errorHandler.buildToolDepError "happy:happy"))) + (hsPkgs.pkgsBuildBuild.genprimopcode.components.exes.genprimopcode or (pkgs.pkgsBuildBuild.genprimopcode or (errorHandler.buildToolDepError "genprimopcode:genprimopcode"))) + (hsPkgs.pkgsBuildBuild.deriveConstants.components.exes.deriveConstants or (pkgs.pkgsBuildBuild.deriveConstants or (errorHandler.buildToolDepError "deriveConstants:deriveConstants"))) + ]; + buildable = if flags.with-libzstd + then if flags.static-libzstd + then if system.isOsx then false else true + else true + else true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc984llvm-aarch64/ghci.nix b/materialized/ghc-boot-packages-nix/ghc984llvm-aarch64/ghci.nix new file mode 100644 index 000000000..0c5990385 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc984llvm-aarch64/ghci.nix @@ -0,0 +1,45 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = { internal-interpreter = false; }; + package = { + specVersion = "1.10"; + identifier = { name = "ghci"; version = "9.8.4"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "ghc-devs@haskell.org"; + author = ""; + homepage = ""; + url = ""; + synopsis = "The library supporting GHC's interactive interpreter"; + description = "This library offers interfaces which mediate interactions between the\n@ghci@ interactive shell and @iserv@, GHC's out-of-process interpreter\nbackend."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."rts" or (errorHandler.buildDepError "rts")) + (hsPkgs."array" or (errorHandler.buildDepError "array")) + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (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-boot" or (errorHandler.buildDepError "ghc-boot")) + (hsPkgs."ghc-heap" or (errorHandler.buildDepError "ghc-heap")) + (hsPkgs."template-haskell" or (errorHandler.buildDepError "template-haskell")) + (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")) + ] ++ pkgs.lib.optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix")); + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc984llvm-aarch64/hpc.nix b/materialized/ghc-boot-packages-nix/ghc984llvm-aarch64/hpc.nix new file mode 100644 index 000000000..f6b275cfd --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc984llvm-aarch64/hpc.nix @@ -0,0 +1,38 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "2.2"; + identifier = { name = "hpc"; version = "0.7.0.0"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "ghc-devs@haskell.org"; + author = "Andy Gill"; + homepage = ""; + url = ""; + synopsis = "Code Coverage Library for Haskell"; + description = "This package provides the code coverage library for Haskell.\n\nSee for more\ninformation."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."time" or (errorHandler.buildDepError "time")) + ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc984llvm-aarch64/integer-gmp.nix b/materialized/ghc-boot-packages-nix/ghc984llvm-aarch64/integer-gmp.nix new file mode 100644 index 000000000..94f930e70 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc984llvm-aarch64/integer-gmp.nix @@ -0,0 +1,35 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "2.0"; + identifier = { name = "integer-gmp"; version = "1.1"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "hvr@gnu.org"; + author = "Herbert Valerio Riedel"; + homepage = "https://www.haskell.org/ghc/"; + url = ""; + synopsis = "Integer library based on GMP"; + description = "This package used to provide an implementation of the standard 'Integer'\ntype based on the\n.\n\nIt is now deprecated in favor of the 'ghc-bignum' package.\n\nIts purpose is to provide backward compatibility for codes directly\ndepending on the `integer-gmp` package."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + (hsPkgs."ghc-bignum" or (errorHandler.buildDepError "ghc-bignum")) + ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc984llvm-aarch64/iserv.nix b/materialized/ghc-boot-packages-nix/ghc984llvm-aarch64/iserv.nix new file mode 100644 index 000000000..a3bbce53b --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc984llvm-aarch64/iserv.nix @@ -0,0 +1,41 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "1.10"; + identifier = { name = "iserv"; version = "9.8.4"; }; + license = "BSD-3-Clause"; + copyright = "XXX"; + maintainer = "XXX"; + author = "XXX"; + homepage = ""; + url = ""; + synopsis = "iserv allows GHC to delegate Template Haskell computations"; + description = "GHC can be provided with a path to the iserv binary with\n@-pgmi=/path/to/iserv-bin@, and will in combination with\n@-fexternal-interpreter@, compile Template Haskell though the\n@iserv-bin@ delegate. This is very similar to how ghcjs has been\ncompiling Template Haskell, by spawning a separate delegate (so\ncalled runner on the javascript vm) and evaluating the splices\nthere."; + buildType = "Simple"; + }; + components = { + exes = { + "iserv" = { + depends = [ + (hsPkgs."array" or (errorHandler.buildDepError "array")) + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."ghci" or (errorHandler.buildDepError "ghci")) + ] ++ pkgs.lib.optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix")); + buildable = true; + }; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc984llvm-aarch64/remote-iserv.nix b/materialized/ghc-boot-packages-nix/ghc984llvm-aarch64/remote-iserv.nix new file mode 100644 index 000000000..688b67499 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc984llvm-aarch64/remote-iserv.nix @@ -0,0 +1,36 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "1.10"; + identifier = { name = "remote-iserv"; version = "9.8.4"; }; + license = "BSD-3-Clause"; + copyright = "XXX"; + maintainer = "Moritz Angermann "; + author = "Moritz Angermann "; + homepage = ""; + url = ""; + synopsis = "iserv allows GHC to delegate Template Haskell computations"; + description = "This is a very simple remote runner for iserv, to be used together\nwith iserv-proxy. The foundamental idea is that this this wrapper\nstarts running the GHCi server on a given port to which iserv-proxy will\nthen connect."; + buildType = "Simple"; + }; + components = { + exes = { + "remote-iserv" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."ghci" or (errorHandler.buildDepError "ghci")) + ]; + buildable = true; + }; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc984llvm-aarch64/template-haskell.nix b/materialized/ghc-boot-packages-nix/ghc984llvm-aarch64/template-haskell.nix new file mode 100644 index 000000000..3e2655643 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc984llvm-aarch64/template-haskell.nix @@ -0,0 +1,36 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "1.10"; + identifier = { name = "template-haskell"; version = "2.21.0.0"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "libraries@haskell.org"; + author = ""; + homepage = ""; + url = ""; + synopsis = "Support library for Template Haskell"; + description = "This package provides modules containing facilities for manipulating\nHaskell source code using Template Haskell.\n\nSee for more\ninformation."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."ghc-boot-th" or (errorHandler.buildDepError "ghc-boot-th")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + (hsPkgs."pretty" or (errorHandler.buildDepError "pretty")) + ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc984llvm/base.nix b/materialized/ghc-boot-packages-nix/ghc984llvm/base.nix new file mode 100644 index 000000000..d918879f6 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc984llvm/base.nix @@ -0,0 +1,49 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "3.0"; + identifier = { name = "base"; version = "4.19.2.0"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "Core Libraries Committee "; + author = ""; + homepage = ""; + url = ""; + synopsis = "Core data structures and operations"; + description = "Haskell's base library provides, among other things, core types (e.g. [Bool](\"Data.Bool\") and [Int](\"Data.Int\")),\ndata structures (e.g. [List](\"Data.List\"), [Tuple](\"Data.Tuple\") and [Maybe](\"Data.Maybe\")),\nthe [Exception](\"Control.Exception\") mechanism, and the [IO](\"System.IO\") & [Concurrency](\"Control.Concurrent\") operations.\nThe \"Prelude\" module, which is imported by default, exposes a curated set of types and functions from other modules.\n\nOther data structures like [Map](https://hackage.haskell.org/package/containers/docs/Data-Map.html),\n[Set](https://hackage.haskell.org/package/containers/docs/Data-Set.html) are available in the [containers](https://hackage.haskell.org/package/containers) library.\nTo work with textual data, use the [text](https://hackage.haskell.org/package/text/docs/Data-Text.html) library."; + buildType = "Configure"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."rts" or (errorHandler.buildDepError "rts")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + (hsPkgs."ghc-bignum" or (errorHandler.buildDepError "ghc-bignum")) + ]; + libs = pkgs.lib.optionals (system.isWindows) [ + (pkgs."wsock32" or (errorHandler.sysDepError "wsock32")) + (pkgs."user32" or (errorHandler.sysDepError "user32")) + (pkgs."shell32" or (errorHandler.sysDepError "shell32")) + (pkgs."mingw32" or (errorHandler.sysDepError "mingw32")) + (pkgs."kernel32" or (errorHandler.sysDepError "kernel32")) + (pkgs."advapi32" or (errorHandler.sysDepError "advapi32")) + (pkgs."mingwex" or (errorHandler.sysDepError "mingwex")) + (pkgs."ws2_32" or (errorHandler.sysDepError "ws2_32")) + (pkgs."shlwapi" or (errorHandler.sysDepError "shlwapi")) + (pkgs."ole32" or (errorHandler.sysDepError "ole32")) + (pkgs."rpcrt4" or (errorHandler.sysDepError "rpcrt4")) + (pkgs."ntdll" or (errorHandler.sysDepError "ntdll")) + ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc984llvm/deriveConstants.nix b/materialized/ghc-boot-packages-nix/ghc984llvm/deriveConstants.nix new file mode 100644 index 000000000..135cdd02f --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc984llvm/deriveConstants.nix @@ -0,0 +1,39 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "1.10"; + identifier = { name = "deriveConstants"; version = "0.1"; }; + license = "BSD-3-Clause"; + copyright = "XXX"; + maintainer = "XXX"; + author = "XXX"; + homepage = ""; + url = ""; + synopsis = "Derive header files containing various constants for the GHC build process"; + description = "This utility is responsible for generating a number of C header files\nneeded during the GHC build process. See @rts/include/ghc.mk@ in the GHC\nbuild system for details."; + buildType = "Simple"; + }; + components = { + exes = { + "deriveConstants" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."process" or (errorHandler.buildDepError "process")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + ]; + buildable = true; + }; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc984llvm/genprimopcode.nix b/materialized/ghc-boot-packages-nix/ghc984llvm/genprimopcode.nix new file mode 100644 index 000000000..49bbe516b --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc984llvm/genprimopcode.nix @@ -0,0 +1,40 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = { build-tool-depends = true; }; + package = { + specVersion = "2.0"; + identifier = { name = "genprimopcode"; version = "0.1"; }; + license = "BSD-3-Clause"; + copyright = "XXX"; + maintainer = "XXX"; + author = "XXX"; + homepage = ""; + url = ""; + synopsis = "Generates various files implementing GHC's primitive operations."; + description = "This utility reads a textual description of GHC's primitive operations\n(@primops.txt.pp@) and produces a number of outputs. These include,\n\n* the @GHC.Prim@ module included in the @ghc-prim@ package.\n* the @GHC.PrimopWrappers@ module included in the @ghc-prim@ package.\n* an LaTeX document describing the primitive operations."; + buildType = "Simple"; + }; + components = { + exes = { + "genprimopcode" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."array" or (errorHandler.buildDepError "array")) + ]; + build-tools = pkgs.lib.optionals (flags.build-tool-depends) [ + (hsPkgs.pkgsBuildBuild.alex.components.exes.alex or (pkgs.pkgsBuildBuild.alex or (errorHandler.buildToolDepError "alex:alex"))) + (hsPkgs.pkgsBuildBuild.happy.components.exes.happy or (pkgs.pkgsBuildBuild.happy or (errorHandler.buildToolDepError "happy:happy"))) + ]; + buildable = true; + }; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc984llvm/ghc-bignum.nix b/materialized/ghc-boot-packages-nix/ghc984llvm/ghc-bignum.nix new file mode 100644 index 000000000..46af6e0e9 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc984llvm/ghc-bignum.nix @@ -0,0 +1,37 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = { native = false; ffi = false; gmp = false; check = false; }; + package = { + specVersion = "2.0"; + identifier = { name = "ghc-bignum"; version = "1.3"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "libraries@haskell.org"; + author = "Sylvain Henry"; + homepage = ""; + url = ""; + synopsis = "GHC BigNum library"; + description = "This package provides the low-level implementation of the standard\n'BigNat', 'Natural' and 'Integer' types."; + buildType = "Configure"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + ]; + buildable = (if !flags.native && !flags.gmp && !flags.ffi + then false + else true) && (if flags.native && (flags.gmp || flags.ffi) + then false + else true) && (if flags.gmp && flags.ffi then false else true); + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc984llvm/ghc-boot.nix b/materialized/ghc-boot-packages-nix/ghc984llvm/ghc-boot.nix new file mode 100644 index 000000000..6f834c074 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc984llvm/ghc-boot.nix @@ -0,0 +1,46 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "3.0"; + identifier = { name = "ghc-boot"; version = "9.8.4"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "ghc-devs@haskell.org"; + author = ""; + homepage = ""; + url = ""; + synopsis = "Shared functionality between GHC and its boot libraries"; + description = "This library is shared between GHC, ghc-pkg, and other boot\nlibraries.\n.\nA note about \"GHC.Unit.Database\": it only deals with the subset of\nthe package database that the compiler cares about: modules\npaths etc and not package metadata like description, authors\netc. It is thus not a library interface to ghc-pkg and is *not*\nsuitable for modifying GHC package databases.\n.\nThe package database format and this library are constructed in\nsuch a way that while ghc-pkg depends on Cabal, the GHC library\nand program do not have to depend on Cabal."; + buildType = "Custom"; + setup-depends = [ + (hsPkgs.pkgsBuildBuild.base or (pkgs.pkgsBuildBuild.base or (errorHandler.setupDepError "base"))) + (hsPkgs.pkgsBuildBuild.Cabal or (pkgs.pkgsBuildBuild.Cabal or (errorHandler.setupDepError "Cabal"))) + (hsPkgs.pkgsBuildBuild.directory or (pkgs.pkgsBuildBuild.directory or (errorHandler.setupDepError "directory"))) + (hsPkgs.pkgsBuildBuild.filepath or (pkgs.pkgsBuildBuild.filepath or (errorHandler.setupDepError "filepath"))) + ]; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."ghc-boot-th" or (errorHandler.buildDepError "ghc-boot-th")) + ] ++ pkgs.lib.optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix")); + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc984llvm/ghc-heap.nix b/materialized/ghc-boot-packages-nix/ghc984llvm/ghc-heap.nix new file mode 100644 index 000000000..c793f1b24 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc984llvm/ghc-heap.nix @@ -0,0 +1,36 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "3.0"; + identifier = { name = "ghc-heap"; version = "9.8.4"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "libraries@haskell.org"; + author = ""; + homepage = ""; + url = ""; + synopsis = "Functions for walking GHC's heap"; + description = "This package provides functions for walking the GHC heap data structures\nand retrieving information about those data structures."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + (hsPkgs."rts" or (errorHandler.buildDepError "rts")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc984llvm/ghc-prim.nix b/materialized/ghc-boot-packages-nix/ghc984llvm/ghc-prim.nix new file mode 100644 index 000000000..546c5704d --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc984llvm/ghc-prim.nix @@ -0,0 +1,47 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = { need-atomic = false; }; + package = { + specVersion = "2.2"; + identifier = { name = "ghc-prim"; version = "0.11.0"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "libraries@haskell.org"; + author = ""; + homepage = ""; + url = ""; + synopsis = "GHC primitives"; + description = "This package contains the primitive types and operations supplied by GHC.\nIt is an internal package, only for the use of GHC developers.\nGHC users should not use it! If you do use it then expect\nbreaking changes at any time without warning. You should prefer\nto import @GHC.Exts@ from the @base@ package instead."; + buildType = "Custom"; + setup-depends = [ + (hsPkgs.pkgsBuildBuild.base or (pkgs.pkgsBuildBuild.base or (errorHandler.setupDepError "base"))) + (hsPkgs.pkgsBuildBuild.process or (pkgs.pkgsBuildBuild.process or (errorHandler.setupDepError "process"))) + (hsPkgs.pkgsBuildBuild.filepath or (pkgs.pkgsBuildBuild.filepath or (errorHandler.setupDepError "filepath"))) + (hsPkgs.pkgsBuildBuild.directory or (pkgs.pkgsBuildBuild.directory or (errorHandler.setupDepError "directory"))) + (hsPkgs.pkgsBuildBuild.Cabal or (pkgs.pkgsBuildBuild.Cabal or (errorHandler.setupDepError "Cabal"))) + ]; + }; + components = { + "library" = { + depends = [ (hsPkgs."rts" or (errorHandler.buildDepError "rts")) ]; + libs = (pkgs.lib.optionals (system.isWindows) [ + (pkgs."user32" or (errorHandler.sysDepError "user32")) + (pkgs."mingw32" or (errorHandler.sysDepError "mingw32")) + (pkgs."mingwex" or (errorHandler.sysDepError "mingwex")) + (pkgs."ucrt" or (errorHandler.sysDepError "ucrt")) + ] ++ pkgs.lib.optionals (system.isLinux) [ + (pkgs."c" or (errorHandler.sysDepError "c")) + (pkgs."m" or (errorHandler.sysDepError "m")) + ]) ++ pkgs.lib.optional (flags.need-atomic) (pkgs."atomic" or (errorHandler.sysDepError "atomic")); + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc984llvm/ghc.nix b/materialized/ghc-boot-packages-nix/ghc984llvm/ghc.nix new file mode 100644 index 000000000..d1f3fc8e0 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc984llvm/ghc.nix @@ -0,0 +1,81 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = { + internal-interpreter = false; + dynamic-system-linker = true; + build-tool-depends = true; + with-libzstd = false; + static-libzstd = false; + hadrian-stage0 = false; + }; + package = { + specVersion = "2.2"; + identifier = { name = "ghc"; version = "9.8.4"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "glasgow-haskell-users@haskell.org"; + author = "The GHC Team"; + homepage = "http://www.haskell.org/ghc/"; + url = ""; + synopsis = "The GHC API"; + description = "GHC's functionality can be useful for more things than just\ncompiling Haskell programs. Important use cases are programs\nthat analyse (and perhaps transform) Haskell code. Others\ninclude loading Haskell code dynamically in a GHCi-like manner.\nFor this reason, a lot of GHC's functionality is made available\nthrough this package.\n\nSee \nfor more information."; + buildType = "Custom"; + setup-depends = [ + (hsPkgs.pkgsBuildBuild.base or (pkgs.pkgsBuildBuild.base or (errorHandler.setupDepError "base"))) + (hsPkgs.pkgsBuildBuild.Cabal or (pkgs.pkgsBuildBuild.Cabal or (errorHandler.setupDepError "Cabal"))) + (hsPkgs.pkgsBuildBuild.directory or (pkgs.pkgsBuildBuild.directory or (errorHandler.setupDepError "directory"))) + (hsPkgs.pkgsBuildBuild.process or (pkgs.pkgsBuildBuild.process or (errorHandler.setupDepError "process"))) + (hsPkgs.pkgsBuildBuild.filepath or (pkgs.pkgsBuildBuild.filepath or (errorHandler.setupDepError "filepath"))) + (hsPkgs.pkgsBuildBuild.containers or (pkgs.pkgsBuildBuild.containers or (errorHandler.setupDepError "containers"))) + ]; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + (hsPkgs."process" or (errorHandler.buildDepError "process")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (hsPkgs."time" or (errorHandler.buildDepError "time")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."array" or (errorHandler.buildDepError "array")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."template-haskell" or (errorHandler.buildDepError "template-haskell")) + (hsPkgs."hpc" or (errorHandler.buildDepError "hpc")) + (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")) + (hsPkgs."exceptions" or (errorHandler.buildDepError "exceptions")) + (hsPkgs."semaphore-compat" or (errorHandler.buildDepError "semaphore-compat")) + (hsPkgs."stm" or (errorHandler.buildDepError "stm")) + (hsPkgs."ghc-boot" or (errorHandler.buildDepError "ghc-boot")) + (hsPkgs."ghc-heap" or (errorHandler.buildDepError "ghc-heap")) + (hsPkgs."ghci" or (errorHandler.buildDepError "ghci")) + ] ++ (if system.isWindows + then [ (hsPkgs."Win32" or (errorHandler.buildDepError "Win32")) ] + else [ (hsPkgs."unix" or (errorHandler.buildDepError "unix")) ]); + libs = pkgs.lib.optionals (flags.with-libzstd) (if flags.static-libzstd + then pkgs.lib.optional (!system.isOsx) (pkgs.":libzstd.a" or (errorHandler.sysDepError ":libzstd.a")) + else [ (pkgs."zstd" or (errorHandler.sysDepError "zstd")) ]); + build-tools = pkgs.lib.optionals (flags.build-tool-depends) [ + (hsPkgs.pkgsBuildBuild.alex.components.exes.alex or (pkgs.pkgsBuildBuild.alex or (errorHandler.buildToolDepError "alex:alex"))) + (hsPkgs.pkgsBuildBuild.happy.components.exes.happy or (pkgs.pkgsBuildBuild.happy or (errorHandler.buildToolDepError "happy:happy"))) + (hsPkgs.pkgsBuildBuild.genprimopcode.components.exes.genprimopcode or (pkgs.pkgsBuildBuild.genprimopcode or (errorHandler.buildToolDepError "genprimopcode:genprimopcode"))) + (hsPkgs.pkgsBuildBuild.deriveConstants.components.exes.deriveConstants or (pkgs.pkgsBuildBuild.deriveConstants or (errorHandler.buildToolDepError "deriveConstants:deriveConstants"))) + ]; + buildable = if flags.with-libzstd + then if flags.static-libzstd + then if system.isOsx then false else true + else true + else true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc984llvm/ghci.nix b/materialized/ghc-boot-packages-nix/ghc984llvm/ghci.nix new file mode 100644 index 000000000..0c5990385 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc984llvm/ghci.nix @@ -0,0 +1,45 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = { internal-interpreter = false; }; + package = { + specVersion = "1.10"; + identifier = { name = "ghci"; version = "9.8.4"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "ghc-devs@haskell.org"; + author = ""; + homepage = ""; + url = ""; + synopsis = "The library supporting GHC's interactive interpreter"; + description = "This library offers interfaces which mediate interactions between the\n@ghci@ interactive shell and @iserv@, GHC's out-of-process interpreter\nbackend."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."rts" or (errorHandler.buildDepError "rts")) + (hsPkgs."array" or (errorHandler.buildDepError "array")) + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (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-boot" or (errorHandler.buildDepError "ghc-boot")) + (hsPkgs."ghc-heap" or (errorHandler.buildDepError "ghc-heap")) + (hsPkgs."template-haskell" or (errorHandler.buildDepError "template-haskell")) + (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")) + ] ++ pkgs.lib.optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix")); + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc984llvm/hpc.nix b/materialized/ghc-boot-packages-nix/ghc984llvm/hpc.nix new file mode 100644 index 000000000..f6b275cfd --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc984llvm/hpc.nix @@ -0,0 +1,38 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "2.2"; + identifier = { name = "hpc"; version = "0.7.0.0"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "ghc-devs@haskell.org"; + author = "Andy Gill"; + homepage = ""; + url = ""; + synopsis = "Code Coverage Library for Haskell"; + description = "This package provides the code coverage library for Haskell.\n\nSee for more\ninformation."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."time" or (errorHandler.buildDepError "time")) + ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc984llvm/integer-gmp.nix b/materialized/ghc-boot-packages-nix/ghc984llvm/integer-gmp.nix new file mode 100644 index 000000000..94f930e70 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc984llvm/integer-gmp.nix @@ -0,0 +1,35 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "2.0"; + identifier = { name = "integer-gmp"; version = "1.1"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "hvr@gnu.org"; + author = "Herbert Valerio Riedel"; + homepage = "https://www.haskell.org/ghc/"; + url = ""; + synopsis = "Integer library based on GMP"; + description = "This package used to provide an implementation of the standard 'Integer'\ntype based on the\n.\n\nIt is now deprecated in favor of the 'ghc-bignum' package.\n\nIts purpose is to provide backward compatibility for codes directly\ndepending on the `integer-gmp` package."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + (hsPkgs."ghc-bignum" or (errorHandler.buildDepError "ghc-bignum")) + ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc984llvm/iserv.nix b/materialized/ghc-boot-packages-nix/ghc984llvm/iserv.nix new file mode 100644 index 000000000..a3bbce53b --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc984llvm/iserv.nix @@ -0,0 +1,41 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "1.10"; + identifier = { name = "iserv"; version = "9.8.4"; }; + license = "BSD-3-Clause"; + copyright = "XXX"; + maintainer = "XXX"; + author = "XXX"; + homepage = ""; + url = ""; + synopsis = "iserv allows GHC to delegate Template Haskell computations"; + description = "GHC can be provided with a path to the iserv binary with\n@-pgmi=/path/to/iserv-bin@, and will in combination with\n@-fexternal-interpreter@, compile Template Haskell though the\n@iserv-bin@ delegate. This is very similar to how ghcjs has been\ncompiling Template Haskell, by spawning a separate delegate (so\ncalled runner on the javascript vm) and evaluating the splices\nthere."; + buildType = "Simple"; + }; + components = { + exes = { + "iserv" = { + depends = [ + (hsPkgs."array" or (errorHandler.buildDepError "array")) + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."ghci" or (errorHandler.buildDepError "ghci")) + ] ++ pkgs.lib.optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix")); + buildable = true; + }; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc984llvm/remote-iserv.nix b/materialized/ghc-boot-packages-nix/ghc984llvm/remote-iserv.nix new file mode 100644 index 000000000..688b67499 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc984llvm/remote-iserv.nix @@ -0,0 +1,36 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "1.10"; + identifier = { name = "remote-iserv"; version = "9.8.4"; }; + license = "BSD-3-Clause"; + copyright = "XXX"; + maintainer = "Moritz Angermann "; + author = "Moritz Angermann "; + homepage = ""; + url = ""; + synopsis = "iserv allows GHC to delegate Template Haskell computations"; + description = "This is a very simple remote runner for iserv, to be used together\nwith iserv-proxy. The foundamental idea is that this this wrapper\nstarts running the GHCi server on a given port to which iserv-proxy will\nthen connect."; + buildType = "Simple"; + }; + components = { + exes = { + "remote-iserv" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."ghci" or (errorHandler.buildDepError "ghci")) + ]; + buildable = true; + }; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc984llvm/template-haskell.nix b/materialized/ghc-boot-packages-nix/ghc984llvm/template-haskell.nix new file mode 100644 index 000000000..3e2655643 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc984llvm/template-haskell.nix @@ -0,0 +1,36 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "1.10"; + identifier = { name = "template-haskell"; version = "2.21.0.0"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "libraries@haskell.org"; + author = ""; + homepage = ""; + url = ""; + synopsis = "Support library for Template Haskell"; + description = "This package provides modules containing facilities for manipulating\nHaskell source code using Template Haskell.\n\nSee for more\ninformation."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."ghc-boot-th" or (errorHandler.buildDepError "ghc-boot-th")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + (hsPkgs."pretty" or (errorHandler.buildDepError "pretty")) + ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/overlays/bootstrap.nix b/overlays/bootstrap.nix index 6edb41288..86d8328d2 100644 --- a/overlays/bootstrap.nix +++ b/overlays/bootstrap.nix @@ -7,7 +7,7 @@ let "9.2" = "9.2.8"; "9.4" = "9.4.8"; "9.6" = "9.6.6"; - "9.8" = "9.8.3"; + "9.8" = "9.8.4"; "9.10" = "9.10.1"; }; gitInputs = { @@ -257,7 +257,7 @@ in { ++ onWindowsOrMusl (fromUntil "9.8.2" "9.11" ./patches/ghc/ghc-9.6-0006-Adds-support-for-Hidden-symbols-2.patch) ++ fromUntil "9.9" "9.11" ./patches/ghc/ghc-9.9-Cabal-3.11.patch ++ fromUntil "9.8" "9.8.3" ./patches/ghc/ghc-9.8-text-upper-bound.patch - ++ fromUntil "9.8.3" "9.10" ./patches/ghc/ghc-9.8.3-text-upper-bound.patch + ++ fromUntil "9.8.3" "9.8.4" ./patches/ghc/ghc-9.8.3-text-upper-bound.patch ++ fromUntil "9.10" "9.11" ./patches/ghc/ghc-9.10-containers-upper-bound.patch ++ fromUntil "9.10" "9.14" ./patches/ghc/ghc-9.10-merge-objects.patch @@ -851,13 +851,40 @@ in { ghc-patches = ghc-patches "9.8.3"; }); + ghc984 = traceWarnOld "9.8" (final.callPackage ../compiler/ghc { + extra-passthru = { buildGHC = final.buildPackages.haskell-nix.compiler.ghc984; }; + + bootPkgs = bootPkgsGhc94 // { + ghc = if final.stdenv.buildPlatform != final.stdenv.targetPlatform + then final.buildPackages.buildPackages.haskell-nix.compiler.ghc984 + else final.buildPackages.buildPackages.haskell.compiler.ghc966 + or final.buildPackages.buildPackages.haskell.compiler.ghc965 + or final.buildPackages.buildPackages.haskell.compiler.ghc964 + or final.buildPackages.buildPackages.haskell.compiler.ghc963 + or 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 = final.haskell-nix.sources.ghc984; + src-spec.version = "9.8.4"; + src-spec.needsBooting = true; + + ghc-patches = ghc-patches "9.8.4"; + }); ghc9101 = traceWarnOld "9.10" (final.callPackage ../compiler/ghc { extra-passthru = { buildGHC = final.buildPackages.haskell-nix.compiler.ghc9101; }; bootPkgs = bootPkgsGhc94 // { ghc = if final.stdenv.buildPlatform != final.stdenv.targetPlatform then final.buildPackages.buildPackages.haskell-nix.compiler.ghc9101 - else final.buildPackages.buildPackages.haskell.compiler.ghc983 + else final.buildPackages.buildPackages.haskell.compiler.ghc984 + or final.buildPackages.buildPackages.haskell.compiler.ghc983 or final.buildPackages.buildPackages.haskell.compiler.ghc982 or final.buildPackages.buildPackages.haskell.compiler.ghc981 or final.buildPackages.buildPackages.haskell.compiler.ghc966 @@ -894,7 +921,8 @@ in { bootPkgs = bootPkgsGhc94 // { ghc = if final.stdenv.buildPlatform != final.stdenv.targetPlatform then final.buildPackages.buildPackages.haskell-nix.compiler.ghc9101 # TODO use ${compiler-nix-name} - else final.buildPackages.buildPackages.haskell.compiler.ghc983 + else final.buildPackages.buildPackages.haskell.compiler.ghc984 + or final.buildPackages.buildPackages.haskell.compiler.ghc983 or final.buildPackages.buildPackages.haskell.compiler.ghc982 or final.buildPackages.buildPackages.haskell.compiler.ghc981 or final.buildPackages.buildPackages.haskell.compiler.ghc966 diff --git a/scripts/check-compiler-materialization/default.nix b/scripts/check-compiler-materialization/default.nix index 21262ed4d..3cb71d0b1 100644 --- a/scripts/check-compiler-materialization/default.nix +++ b/scripts/check-compiler-materialization/default.nix @@ -47,10 +47,10 @@ in builtins.listToAttrs (builtins.concatMap (system: builtins.concatMap (compile { name = "${prefix}-iserv-int-arm-musl"; value = pkgs.pkgsCross.aarch64-multiplatform-musl.haskell-nix.iserv-proxy-exes.${compiler-nix-name}.iserv-proxy-interpreter.project.plan-nix; } { name = "${prefix}-hello-arm-musl"; value = (pkgs.pkgsCross.aarch64-multiplatform-musl.haskell-nix.tool compiler-nix-name "hello" {}).project.plan-nix; } ] ++ eval.lib.optionals ( - (system == "x86_64-linux" && __elem compiler-nix-name ["ghc8107" "ghc961" "ghc962" "ghc963" "ghc964" "ghc965" "ghc981" "ghc982" "ghc983" "ghc9101"]) - || (system == "aarch64-linux" && __elem compiler-nix-name ["ghc961" "ghc962" "ghc963" "ghc964" "ghc965" "ghc981" "ghc982" "ghc983" "ghc9101"]) - || (system == "x86_64-darwin" && __elem compiler-nix-name ["ghc8107" "ghc961" "ghc962" "ghc963" "ghc964" "ghc964" "ghc981" "ghc982" "ghc983" "ghc9101"]) - || (system == "aarch64-darwin" && __elem compiler-nix-name ["ghc961" "ghc962" "ghc963" "ghc964" "ghc981" "ghc965" "ghc982" "ghc983" "ghc9101"])) [ + (system == "x86_64-linux" && __elem compiler-nix-name ["ghc8107" "ghc961" "ghc962" "ghc963" "ghc964" "ghc965" "ghc981" "ghc982" "ghc983" "ghc984" "ghc9101"]) + || (system == "aarch64-linux" && __elem compiler-nix-name ["ghc961" "ghc962" "ghc963" "ghc964" "ghc965" "ghc981" "ghc982" "ghc983" "ghc984" "ghc9101"]) + || (system == "x86_64-darwin" && __elem compiler-nix-name ["ghc8107" "ghc961" "ghc962" "ghc963" "ghc964" "ghc964" "ghc981" "ghc982" "ghc983" "ghc984" "ghc9101"]) + || (system == "aarch64-darwin" && __elem compiler-nix-name ["ghc961" "ghc962" "ghc963" "ghc964" "ghc981" "ghc965" "ghc982" "ghc983" "ghc984" "ghc9101"])) [ { name = "${prefix}-boot-ghcjs"; value = pkgs.pkgsCross.ghcjs.ghc-boot-packages-nix.${compiler-nix-name}; } { name = "${prefix}-ghcjs"; value = (pkgs.pkgsCross.ghcjs.haskell-nix.roots' compiler-nix-name).ghc-extra-projects-nix or {}; } { name = "${prefix}-hello-ghcjs"; value = (pkgs.pkgsCross.ghcjs.haskell-nix.tool compiler-nix-name "hello" {}).project.plan-nix; } diff --git a/test/haskell-language-server/cabal.nix b/test/haskell-language-server/cabal.nix index da938755c..f2894dab3 100644 --- a/test/haskell-language-server/cabal.nix +++ b/test/haskell-language-server/cabal.nix @@ -17,5 +17,5 @@ in recurseIntoAttrs { stdenv.hostPlatform != stdenv.buildPlatform || __compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.0.1" < 0 || __compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.11.0" >= 0 - || compiler-nix-name == "ghc983"; + || __elem compiler-nix-name ["ghc983" "ghc984"]; } From e26f83af05a3b71e4c6408aa86f2f13701bd2e33 Mon Sep 17 00:00:00 2001 From: IOHK Date: Sat, 7 Dec 2024 00:51:53 +0000 Subject: [PATCH 30/34] Update Hackage and Stackage --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 7ad2e1406..eddb1e1e7 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1733445020, - "narHash": "sha256-KnEbmqy2yX0316kZkgG63unxtpxpXre9z581DRQg9TM=", + "lastModified": 1733531400, + "narHash": "sha256-rNSDbhaxeDeYHrjNOGcz1XZPl35tK+OEHL0nt3vG6YM=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "3e12b545e3f597e48989811cc9d4f4f4a353921d", + "rev": "cd2b3f220e9ba17e7331b2d656585fe88908865d", "type": "github" }, "original": { From 217e68fac2f3c88e781d08b3fea7f0f11478fcdf Mon Sep 17 00:00:00 2001 From: IOHK Date: Sun, 8 Dec 2024 00:52:05 +0000 Subject: [PATCH 31/34] Update Hackage and Stackage --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index eddb1e1e7..4ae3e2be0 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1733531400, - "narHash": "sha256-rNSDbhaxeDeYHrjNOGcz1XZPl35tK+OEHL0nt3vG6YM=", + "lastModified": 1733617944, + "narHash": "sha256-NjZALjMVkdab7Jft9eGFc3ON1odCwx4SQnUP43CcC8k=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "cd2b3f220e9ba17e7331b2d656585fe88908865d", + "rev": "9ee6d67724b1118b78cd5e57749c0778c449c862", "type": "github" }, "original": { @@ -630,11 +630,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1733443946, - "narHash": "sha256-xz8bzbXm5vE3TWdvU+/7CdRSm43D9P8XftYUSVp58Ck=", + "lastModified": 1733616797, + "narHash": "sha256-r3M/dZVoA1DpmCrZFZ/KFKHWzsfAuDgVx5v77xX2a5I=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "2e2aba31ade325ca2c6ab0f4564f568cac2110bd", + "rev": "9489cf35a70d08a0889cf0148d5b30729776a1ae", "type": "github" }, "original": { From 62b367bb066bd156b395424be022d57a251409bb Mon Sep 17 00:00:00 2001 From: IOHK Date: Mon, 9 Dec 2024 00:51:58 +0000 Subject: [PATCH 32/34] Update Hackage and Stackage --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 4ae3e2be0..2cdd1d8eb 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1733617944, - "narHash": "sha256-NjZALjMVkdab7Jft9eGFc3ON1odCwx4SQnUP43CcC8k=", + "lastModified": 1733704277, + "narHash": "sha256-fZ1dxVDJ7bLWiwzT9uK6TNWADVlSb1LaAD5gnsckxFs=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "9ee6d67724b1118b78cd5e57749c0778c449c862", + "rev": "c81e5d210fdbaa001e1eba2408485fc48fab1143", "type": "github" }, "original": { @@ -630,11 +630,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1733616797, - "narHash": "sha256-r3M/dZVoA1DpmCrZFZ/KFKHWzsfAuDgVx5v77xX2a5I=", + "lastModified": 1733703167, + "narHash": "sha256-UIpSBNQh4Q5Sv9PU1oMxZfP27T0COikiZXC/sNBE7Yc=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "9489cf35a70d08a0889cf0148d5b30729776a1ae", + "rev": "984d656a0bf4d130acb560ccf2d91e89e7e076ae", "type": "github" }, "original": { From 6742e781f47ae3a75a61d0f1efcd22880d155d6f Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Mon, 9 Dec 2024 20:41:36 +1300 Subject: [PATCH 33/34] Update GHC 9.12 and HEAD git pins (#2289) * Update GHC 9.12 and HEAD git pins * Manually update hashes * Add .0 to GHC 9.12 * Update head.hackage * Skip broken tests * Fixes for mingwW64 * Skip broken tests * Skip broken tests --- ci.nix | 16 +++++----- lazy-inputs/ghc912X/flake.lock | 8 ++--- lazy-inputs/ghc913/flake.lock | 8 ++--- overlays/bootstrap.nix | 3 +- .../ghc/ghc-9.12-windows-rts-symbols.patch | 29 +++++++++++++++++++ test/cabal.project.local | 2 +- test/gi-gtk/default.nix | 2 +- test/js-template-haskell/default.nix | 3 +- test/plugin/default.nix | 2 +- test/th-dlls/default.nix | 2 +- 10 files changed, 53 insertions(+), 22 deletions(-) create mode 100644 overlays/patches/ghc/ghc-9.12-windows-rts-symbols.patch diff --git a/ci.nix b/ci.nix index d99f9c3bc..7ff047680 100644 --- a/ci.nix +++ b/ci.nix @@ -82,30 +82,30 @@ let lib = nixpkgs.lib; in lib.optionalAttrs (nixpkgsName == "unstable" && (__match ".*llvm" compiler-nix-name == null) - && ((system == "x86_64-linux" && !builtins.elem compiler-nix-name ["ghc884" "ghc902" "ghc928" "ghc948"]) - || (system == "aarch64-linux" && !builtins.elem compiler-nix-name ["ghc884" "ghc902" "ghc928" "ghc948"]) - || (system == "x86_64-darwin" && !builtins.elem compiler-nix-name ["ghc884" "ghc902" "ghc928" "ghc948" "ghc966" "ghc982" "ghc983" "ghc984"]) - || (system == "aarch64-darwin" && !builtins.elem compiler-nix-name ["ghc884" "ghc902" "ghc928" "ghc948" "ghc966" "ghc982" "ghc983" "ghc984"]) + && ((system == "x86_64-linux" && !builtins.elem compiler-nix-name ["ghc902" "ghc928" "ghc948"]) + || (system == "aarch64-linux" && !builtins.elem compiler-nix-name ["ghc902" "ghc928" "ghc948"]) + || (system == "x86_64-darwin" && !builtins.elem compiler-nix-name ["ghc902" "ghc928" "ghc948" "ghc966" "ghc982" "ghc983" "ghc984"]) + || (system == "aarch64-darwin" && !builtins.elem compiler-nix-name ["ghc902" "ghc928" "ghc948" "ghc966" "ghc982" "ghc983" "ghc984"]) )) { inherit (lib.systems.examples) ghcjs; } // lib.optionalAttrs ( (__match ".*llvm" compiler-nix-name == null) - && ((system == "x86_64-linux" && !builtins.elem compiler-nix-name ["ghc884" "ghc902" "ghc928" "ghc91220241014" "ghc91320241101"]) # Including GHC HEAD here because the patches for rts/RtsSymbols.c no longer apply and mingwW64 GHC build fails without them + && ((system == "x86_64-linux" && !builtins.elem compiler-nix-name ["ghc902" "ghc928"]) # Including GHC HEAD here because the patches for rts/RtsSymbols.c no longer apply and mingwW64 GHC build fails without them || (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 (nixpkgsName == "unstable" && (__match ".*llvm" compiler-nix-name == null) - && ((system == "x86_64-linux" && !builtins.elem compiler-nix-name ["ghc884" "ghc8107" "ghc902" "ghc928" "ghc948"]) + && ((system == "x86_64-linux" && !builtins.elem compiler-nix-name ["ghc8107" "ghc902" "ghc928" "ghc948"]) || (system == "x86_64-darwin" && builtins.elem compiler-nix-name []))) { # TODO add ghc versions when we have more darwin build capacity inherit (lib.systems.examples) ucrt64; - } // lib.optionalAttrs (system == "x86_64-linux" && nixpkgsName == "unstable" && !builtins.elem compiler-nix-name ["ghc884" "ghc902" "ghc928" "ghc948"]) { + } // lib.optionalAttrs (system == "x86_64-linux" && nixpkgsName == "unstable" && !builtins.elem compiler-nix-name ["ghc902" "ghc928" "ghc948"]) { # 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 ["ghc884" "ghc8107" "ghc902"]) { + } // lib.optionalAttrs (system == "aarch64-linux" && nixpkgsName == "unstable" && !builtins.elem compiler-nix-name ["ghc8107" "ghc902"]) { inherit (lib.systems.examples) aarch64-multiplatform-musl; }; isDisabled = d: d.meta.disabled or false; diff --git a/lazy-inputs/ghc912X/flake.lock b/lazy-inputs/ghc912X/flake.lock index 16fbfe7e4..dbf610844 100644 --- a/lazy-inputs/ghc912X/flake.lock +++ b/lazy-inputs/ghc912X/flake.lock @@ -3,11 +3,11 @@ "ghc912X": { "flake": false, "locked": { - "lastModified": 1728948341, - "narHash": "sha256-yeIet7pwSkOngSTcm/E9XJAZhOalrfSbjVMOri/m1Ak=", + "lastModified": 1732798405, + "narHash": "sha256-gYYJMwnnPFHHbSc2SkJldBRl5ECZg3/muFAd21xJqfM=", "ref": "ghc-9.12", - "rev": "ca2b21c3429a5ff780cb6c58c33c171a3c0af82b", - "revCount": 67355, + "rev": "5d938345841e3dff6a1dfa129202ba939a4564c9", + "revCount": 67485, "submodules": true, "type": "git", "url": "https://gitlab.haskell.org/ghc/ghc" diff --git a/lazy-inputs/ghc913/flake.lock b/lazy-inputs/ghc913/flake.lock index e64ad1b7b..010b5c746 100644 --- a/lazy-inputs/ghc913/flake.lock +++ b/lazy-inputs/ghc913/flake.lock @@ -3,11 +3,11 @@ "ghc913": { "flake": false, "locked": { - "lastModified": 1730499133, - "narHash": "sha256-vROyv1V9bxMblJukZmg79ArEcRSwAWk/4JXlMRgfCqg=", + "lastModified": 1733355534, + "narHash": "sha256-kCiFiMIsOQWfXP73qWjhfvGv8OdFBg7nz6InQc/xhhQ=", "ref": "refs/heads/master", - "rev": "778ac793289934eb89f904cee4b8d4162b0539fa", - "revCount": 67494, + "rev": "cad6fede4252aeff3a0a93e81c2188a825ab39c6", + "revCount": 67629, "submodules": true, "type": "git", "url": "https://gitlab.haskell.org/ghc/ghc" diff --git a/overlays/bootstrap.nix b/overlays/bootstrap.nix index 86d8328d2..38494ec07 100644 --- a/overlays/bootstrap.nix +++ b/overlays/bootstrap.nix @@ -11,7 +11,7 @@ let "9.10" = "9.10.1"; }; gitInputs = { - ghc912X = "9.12"; + ghc912X = "9.12.0"; ghc913 = "9.13"; }; versionToNixName = v: "ghc${builtins.replaceStrings ["."] [""] v}"; @@ -157,6 +157,7 @@ in { ++ onWindows (fromUntil "9.8.1" "9.8.2" ./patches/ghc/win-linker-no-null-deref-9.6.patch) ++ onWindows (until "9.0" ./patches/ghc/ghc-8.10-windres-invocation.patch) ++ onWindows (fromUntil "9.0" "9.4" ./patches/ghc/ghc-9.0-windres-invocation.patch) + ++ onWindows (from "9.12" ./patches/ghc/ghc-9.12-windows-rts-symbols.patch) ++ fromUntil "9.4.5" "9.4.9" ./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.9.20231203" ./patches/ghc/MR10116.patch diff --git a/overlays/patches/ghc/ghc-9.12-windows-rts-symbols.patch b/overlays/patches/ghc/ghc-9.12-windows-rts-symbols.patch new file mode 100644 index 000000000..d80140b0b --- /dev/null +++ b/overlays/patches/ghc/ghc-9.12-windows-rts-symbols.patch @@ -0,0 +1,29 @@ +diff --git a/rts/RtsSymbols.c b/rts/RtsSymbols.c +index a447f126bd..93af0f511f 100644 +--- a/rts/RtsSymbols.c ++++ b/rts/RtsSymbols.c +@@ -165,15 +165,21 @@ extern char **environ; + SymI_HasProto(rts_ConsoleHandlerDone) \ + SymI_NeedsProto(__mingw_module_is_dll) \ + RTS_WIN64_ONLY(SymI_NeedsProto(___chkstk_ms)) \ +- SymI_HasProto(__stdio_common_vswprintf_s) \ +- SymI_HasProto(__stdio_common_vswprintf) \ + SymI_HasProto(_errno) \ + /* see Note [Symbols for MinGW's printf] */ \ + SymI_HasProto(_lock_file) \ + SymI_HasProto(_unlock_file) \ + /* See Note [_iob_func symbol] */ \ + SymI_HasProto_redirect( \ +- __imp___acrt_iob_func, __rts_iob_func, STRENGTH_WEAK, SYM_TYPE_INDIRECT_DATA) ++ __imp___acrt_iob_func, __rts_iob_func, STRENGTH_WEAK, SYM_TYPE_INDIRECT_DATA) \ ++ SymI_HasProto(__mingw_vsnwprintf) \ ++ SymI_HasProto(__mingw_vfprintf) \ ++ SymI_HasProto(closure_sizeW_) \ ++ SymI_NeedsProto(_tzset) \ ++ /* ^^ This one needed for time, tzset deprecated */\ ++ SymI_NeedsProto(tzset) \ ++ SymI_HasProto(strtoll) ++ /* ^^ These two are needed for unix-time */ + #else + #define RTS_MINGW_ONLY_SYMBOLS /**/ + #endif diff --git a/test/cabal.project.local b/test/cabal.project.local index 78d760ff2..59c077bf3 100644 --- a/test/cabal.project.local +++ b/test/cabal.project.local @@ -24,7 +24,7 @@ repository head.hackage.ghc.haskell.org f76d08be13e9a61a377a85e2fb63f4c5435d40f8feb3e12eb05905edb8cdea89 26021a13b401500c8eb2761ca95c61f2d625bfef951b939a8124ed12ecf07329 7541f32a4ccca4f97aea3b22f5e593ba2c0267546016b992dfadcd2fe944e55d - --sha256: sha256-0eRaAKpZ7NzlneI7AnTOymTGrRectxnoaLosjY4aGC4= + --sha256: sha256-EQKpiiwoIXiM7r+bGYvQzB4vWANqO6PJaSUlt1NUIeI= repository ghcjs-overlay url: https://raw.githubusercontent.com/input-output-hk/hackage-overlay-ghcjs/ffb32dce467b9a4d27be759fdd2740a6edd09d0b diff --git a/test/gi-gtk/default.nix b/test/gi-gtk/default.nix index d407c8c34..c8ef2232a 100644 --- a/test/gi-gtk/default.nix +++ b/test/gi-gtk/default.nix @@ -31,7 +31,7 @@ in recurseIntoAttrs rec { # Cross compilation to aarch64 is also broken || stdenv.hostPlatform.isAarch64 && !stdenv.buildPlatform.isAarch64 # Building profiled version of Cabal for haskell-gi is currently broken for GHC head - || compiler-nix-name == "ghc91320241101"; + || compiler-nix-name == "ghc91320241204"; ifdInputs = { inherit (project) plan-nix; diff --git a/test/js-template-haskell/default.nix b/test/js-template-haskell/default.nix index 423ed3dd4..c5663e8ad 100644 --- a/test/js-template-haskell/default.nix +++ b/test/js-template-haskell/default.nix @@ -23,7 +23,8 @@ in recurseIntoAttrs { inherit (project) plan-nix; }; - meta.disabled = stdenv.buildPlatform != stdenv.hostPlatform && stdenv.hostPlatform.isAarch64; + meta.disabled = stdenv.buildPlatform != stdenv.hostPlatform && stdenv.hostPlatform.isAarch64 + || builtins.elem compiler-nix-name ["ghc91320241204"]; build = packages.js-template-haskell.components.library; check = packages.js-template-haskell.checks.test; diff --git a/test/plugin/default.nix b/test/plugin/default.nix index 1e1a1bc4b..c2fdf1698 100644 --- a/test/plugin/default.nix +++ b/test/plugin/default.nix @@ -20,7 +20,7 @@ in recurseIntoAttrs { # Not sure why this breaks for ghc 8.10.7 meta.disabled = compiler-nix-name == "ghc8107" - || builtins.elem compiler-nix-name [ "ghc91220241014" "ghc91320241101" ] + || builtins.elem compiler-nix-name [ "ghc912020241128" "ghc91320241204" ] || stdenv.hostPlatform.isMusl || stdenv.hostPlatform.isGhcjs || stdenv.hostPlatform.isWindows diff --git a/test/th-dlls/default.nix b/test/th-dlls/default.nix index bff7ac290..be6343552 100644 --- a/test/th-dlls/default.nix +++ b/test/th-dlls/default.nix @@ -28,7 +28,7 @@ in recurseIntoAttrs { || (compiler-nix-name == "ghc8107" && stdenv.hostPlatform.isWindows) # We need to update GHC HEAD to get a version of ghc-internal compatible # with th-lift from head.hackage. - || builtins.elem compiler-nix-name [ "ghc91220241014" "ghc91320241101" ] + || builtins.elem compiler-nix-name [ "ghc91320241204" ] ; ifdInputs = { From e5f2f9b704ab4d7c74bad72c859b2facb50ea23f Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Tue, 10 Dec 2024 10:02:47 +1300 Subject: [PATCH 34/34] Avoid base-orphans that does not work with ghc HEAD (#2291) --- test/cabal.project.local | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/test/cabal.project.local b/test/cabal.project.local index 59c077bf3..7d32b6d98 100644 --- a/test/cabal.project.local +++ b/test/cabal.project.local @@ -4,12 +4,16 @@ if impl(ghc>=9.10.1) -- be very careful to only extend it for absolutely necessary packages -- otherwise we risk running into broken build-plans down the line. allow-newer: *:base, *:template-haskell, *:bytestring, *:text, *:ghc-prim, *:deepseq, *:Cabal + if impl(ghc > 9.11) allow-newer: *:containers, *:time constraints: base-compat >=0.14.0, aeson >=2.2.1.0 -- From https://ghc.gitlab.haskell.org/head.hackage/cabal.constraints constraints: extra ==1.7.14 +if impl(ghc >9.13) + constraints: base-orphans <0.9.3 || >0.9.3 + -- This prevents hsc2hs from causing old versions of packages from being added to plan.json allow-newer: hsc2hs:*