diff --git a/flake.lock b/flake.lock index 3b37398245..e48e2bb62b 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "ghc910X": { "flake": false, "locked": { - "lastModified": 1713193157, - "narHash": "sha256-XFkrSrDyzZGEinXD6gV2zuj/lD5gJbbJhF5E5mI+wpE=", + "lastModified": 1714520650, + "narHash": "sha256-4uz6RA1hRr0RheGNDM49a/B3jszqNNU8iHIow4mSyso=", "ref": "ghc-9.10", - "rev": "26b6c7fdaf0ac6c5c68d76922c2339d0cfec6c6e", - "revCount": 62642, + "rev": "2c6375b9a804ac7fca1e82eb6fcfc8594c67c5f5", + "revCount": 62663, "submodules": true, "type": "git", "url": "https://gitlab.haskell.org/ghc/ghc" @@ -139,11 +139,11 @@ "ghc911": { "flake": false, "locked": { - "lastModified": 1713898958, - "narHash": "sha256-eXmPTWrIRH7Px+G4V5Uy5LwTlgMI30IVTSLXz7Dhmd4=", + "lastModified": 1714817013, + "narHash": "sha256-m2je4UvWfkgepMeUIiXHMwE6W+iVfUY38VDGkMzjCcc=", "ref": "refs/heads/master", - "rev": "3fff09779d5830549ae455a15907b7bb9fe7859a", - "revCount": 62764, + "rev": "fc24c5cf6c62ca9e3c8d236656e139676df65034", + "revCount": 62816, "submodules": true, "type": "git", "url": "https://gitlab.haskell.org/ghc/ghc" diff --git a/materialized/ghc-boot-packages-nix/ghc963-ghcjs/Cabal-syntax.nix b/materialized/ghc-boot-packages-nix/ghc963-ghcjs/Cabal-syntax.nix deleted file mode 100644 index d45ad0f06a..0000000000 --- a/materialized/ghc-boot-packages-nix/ghc963-ghcjs/Cabal-syntax.nix +++ /dev/null @@ -1,48 +0,0 @@ -{ system - , compiler - , flags - , pkgs - , hsPkgs - , pkgconfPkgs - , errorHandler - , config - , ... }: - { - flags = {}; - package = { - specVersion = "2.2"; - identifier = { name = "Cabal-syntax"; version = "3.10.1.0"; }; - license = "BSD-3-Clause"; - copyright = "2003-2023, 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; - }; - }; - } // rec { src = (pkgs.lib).mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc963-ghcjs/Cabal.nix b/materialized/ghc-boot-packages-nix/ghc963-ghcjs/Cabal.nix deleted file mode 100644 index 3d56191f23..0000000000 --- a/materialized/ghc-boot-packages-nix/ghc963-ghcjs/Cabal.nix +++ /dev/null @@ -1,49 +0,0 @@ -{ system - , compiler - , flags - , pkgs - , hsPkgs - , pkgconfPkgs - , errorHandler - , config - , ... }: - { - flags = {}; - package = { - specVersion = "2.2"; - identifier = { name = "Cabal"; version = "3.10.1.0"; }; - license = "BSD-3-Clause"; - copyright = "2003-2023, 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")) - ] ++ (if system.isWindows - then [ (hsPkgs."Win32" or (errorHandler.buildDepError "Win32")) ] - else [ (hsPkgs."unix" or (errorHandler.buildDepError "unix")) ]); - buildable = true; - }; - }; - } // rec { src = (pkgs.lib).mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc963-ghcjs/base.nix b/materialized/ghc-boot-packages-nix/ghc963-ghcjs/base.nix index 25658450a4..a75eab350a 100644 --- a/materialized/ghc-boot-packages-nix/ghc963-ghcjs/base.nix +++ b/materialized/ghc-boot-packages-nix/ghc963-ghcjs/base.nix @@ -21,15 +21,15 @@ synopsis = "Basic libraries"; description = "This package contains the Standard Haskell \"Prelude\" and its support libraries,\nand a large collection of useful libraries ranging from data\nstructures to parsing combinators and debugging utilities."; buildType = "Configure"; - }; + }; components = { "library" = { depends = [ (hsPkgs."rts" or (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) [ + ]; + libs = pkgs.lib.optionals (system.isWindows) [ (pkgs."wsock32" or (errorHandler.sysDepError "wsock32")) (pkgs."user32" or (errorHandler.sysDepError "user32")) (pkgs."shell32" or (errorHandler.sysDepError "shell32")) @@ -42,8 +42,8 @@ (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 ./.; } + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc963-ghcjs/bytestring.nix b/materialized/ghc-boot-packages-nix/ghc963-ghcjs/bytestring.nix index 528c70e0cc..41bd131c24 100644 --- a/materialized/ghc-boot-packages-nix/ghc963-ghcjs/bytestring.nix +++ b/materialized/ghc-boot-packages-nix/ghc963-ghcjs/bytestring.nix @@ -21,7 +21,7 @@ synopsis = "Fast, compact, strict and lazy byte strings with a list interface"; description = "An efficient compact, immutable byte string type (both strict and lazy)\nsuitable for binary or 8-bit character data.\n\nThe 'ByteString' type represents sequences of bytes or 8-bit characters.\nIt is suitable for high performance use, both in terms of large data\nquantities, or high speed requirements. The 'ByteString' functions follow\nthe same style as Haskell\\'s ordinary lists, so it is easy to convert code\nfrom using 'String' to 'ByteString'.\n\nTwo 'ByteString' variants are provided:\n\n* Strict 'ByteString's keep the string as a single large array. This\nmakes them convenient for passing data between C and Haskell.\n\n* Lazy 'ByteString's use a lazy list of strict chunks which makes it\nsuitable for I\\/O streaming tasks.\n\nThe @Char8@ modules provide a character-based view of the same\nunderlying 'ByteString' types. This makes it convenient to handle mixed\nbinary and 8-bit character content (which is common in many file formats\nand network protocols).\n\nThe 'Builder' module provides an efficient way to build up 'ByteString's\nin an ad-hoc way by repeated concatenation. This is ideal for fast\nserialisation or pretty printing.\n\nThere is also a 'ShortByteString' type which has a lower memory overhead\nand can be converted to or from a 'ByteString'. It is suitable for keeping\nmany short strings in memory.\n\n'ByteString's are not designed for Unicode. For Unicode strings you should\nuse the 'Text' type from the @text@ package.\n\nThese modules are intended to be imported qualified, to avoid name clashes\nwith \"Prelude\" functions, e.g.\n\n> import qualified Data.ByteString as BS"; buildType = "Simple"; - }; + }; components = { "library" = { depends = [ @@ -29,10 +29,10 @@ (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) (hsPkgs."template-haskell" or (errorHandler.buildDepError "template-haskell")) - ]; - libs = (pkgs.lib).optional (system.isWindows && (compiler.isGhc && (compiler.version).lt "9.3")) (pkgs."gcc" or (errorHandler.sysDepError "gcc")); + ]; + libs = pkgs.lib.optional (system.isWindows && (compiler.isGhc && compiler.version.lt "9.3")) (pkgs."gcc" or (errorHandler.sysDepError "gcc")); buildable = true; - }; + }; tests = { "bytestring-tests" = { depends = [ @@ -45,10 +45,10 @@ (hsPkgs."tasty-quickcheck" or (errorHandler.buildDepError "tasty-quickcheck")) (hsPkgs."template-haskell" or (errorHandler.buildDepError "template-haskell")) (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")) - ]; + ]; buildable = true; - }; }; + }; benchmarks = { "bytestring-bench" = { depends = [ @@ -57,9 +57,9 @@ (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) (hsPkgs."tasty-bench" or (errorHandler.buildDepError "tasty-bench")) (hsPkgs."random" or (errorHandler.buildDepError "random")) - ]; + ]; buildable = true; - }; }; }; - } // rec { src = (pkgs.lib).mkDefault ./.; } + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc963-ghcjs/cabal-install-solver.nix b/materialized/ghc-boot-packages-nix/ghc963-ghcjs/cabal-install-solver.nix deleted file mode 100644 index 0779acb137..0000000000 --- a/materialized/ghc-boot-packages-nix/ghc963-ghcjs/cabal-install-solver.nix +++ /dev/null @@ -1,61 +0,0 @@ -{ system - , compiler - , flags - , pkgs - , hsPkgs - , pkgconfPkgs - , errorHandler - , config - , ... }: - { - flags = { - debug-expensive-assertions = false; - debug-conflict-sets = false; - debug-tracetree = false; - }; - package = { - specVersion = "2.2"; - identifier = { name = "cabal-install-solver"; version = "3.10.1.0"; }; - license = "BSD-3-Clause"; - copyright = "2003-2023, Cabal Development Team"; - maintainer = "Cabal Development Team "; - author = "Cabal Development Team (see AUTHORS file)"; - homepage = "http://www.haskell.org/cabal/"; - url = ""; - synopsis = "The command-line interface for Cabal and Hackage."; - description = "The solver component used in cabal-install command-line program"; - buildType = "Simple"; - }; - components = { - "library" = { - depends = ([ - (hsPkgs."array" or (errorHandler.buildDepError "array")) - (hsPkgs."base" or (errorHandler.buildDepError "base")) - (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) - (hsPkgs."Cabal" or (errorHandler.buildDepError "Cabal")) - (hsPkgs."Cabal-syntax" or (errorHandler.buildDepError "Cabal-syntax")) - (hsPkgs."containers" or (errorHandler.buildDepError "containers")) - (hsPkgs."edit-distance" or (errorHandler.buildDepError "edit-distance")) - (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) - (hsPkgs."mtl" or (errorHandler.buildDepError "mtl")) - (hsPkgs."pretty" or (errorHandler.buildDepError "pretty")) - (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")) - ] ++ (pkgs.lib).optional (flags.debug-conflict-sets) (hsPkgs."base" or (errorHandler.buildDepError "base"))) ++ (pkgs.lib).optional (flags.debug-tracetree) (hsPkgs."tracetree" or (errorHandler.buildDepError "tracetree")); - buildable = true; - }; - tests = { - "unit-tests" = { - depends = [ - (hsPkgs."base" or (errorHandler.buildDepError "base")) - (hsPkgs."Cabal" or (errorHandler.buildDepError "Cabal")) - (hsPkgs."Cabal-syntax" or (errorHandler.buildDepError "Cabal-syntax")) - (hsPkgs."cabal-install-solver" or (errorHandler.buildDepError "cabal-install-solver")) - (hsPkgs."tasty" or (errorHandler.buildDepError "tasty")) - (hsPkgs."tasty-quickcheck" or (errorHandler.buildDepError "tasty-quickcheck")) - (hsPkgs."tasty-hunit" or (errorHandler.buildDepError "tasty-hunit")) - ]; - buildable = true; - }; - }; - }; - } // rec { src = (pkgs.lib).mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc963-ghcjs/cabal-install.nix b/materialized/ghc-boot-packages-nix/ghc963-ghcjs/cabal-install.nix deleted file mode 100644 index 8fcb262ac1..0000000000 --- a/materialized/ghc-boot-packages-nix/ghc963-ghcjs/cabal-install.nix +++ /dev/null @@ -1,177 +0,0 @@ -{ system - , compiler - , flags - , pkgs - , hsPkgs - , pkgconfPkgs - , errorHandler - , config - , ... }: - { - flags = { native-dns = true; lukko = true; }; - package = { - specVersion = "2.2"; - identifier = { name = "cabal-install"; version = "3.10.1.0"; }; - license = "BSD-3-Clause"; - copyright = "2003-2023, Cabal Development Team"; - maintainer = "Cabal Development Team "; - author = "Cabal Development Team (see AUTHORS file)"; - homepage = "http://www.haskell.org/cabal/"; - url = ""; - synopsis = "The command-line interface for Cabal and Hackage."; - description = "The \\'cabal\\' command-line program simplifies the process of managing\nHaskell software by automating the fetching, configuration, compilation\nand installation of Haskell libraries and programs."; - buildType = "Simple"; - }; - components = { - "library" = { - depends = ((([ - (hsPkgs."base" or (errorHandler.buildDepError "base")) - (hsPkgs."Cabal" or (errorHandler.buildDepError "Cabal")) - (hsPkgs."Cabal-syntax" or (errorHandler.buildDepError "Cabal-syntax")) - (hsPkgs."cabal-install-solver" or (errorHandler.buildDepError "cabal-install-solver")) - (hsPkgs."async" or (errorHandler.buildDepError "async")) - (hsPkgs."array" or (errorHandler.buildDepError "array")) - (hsPkgs."base16-bytestring" or (errorHandler.buildDepError "base16-bytestring")) - (hsPkgs."binary" or (errorHandler.buildDepError "binary")) - (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) - (hsPkgs."containers" or (errorHandler.buildDepError "containers")) - (hsPkgs."cryptohash-sha256" or (errorHandler.buildDepError "cryptohash-sha256")) - (hsPkgs."directory" or (errorHandler.buildDepError "directory")) - (hsPkgs."echo" or (errorHandler.buildDepError "echo")) - (hsPkgs."edit-distance" or (errorHandler.buildDepError "edit-distance")) - (hsPkgs."exceptions" or (errorHandler.buildDepError "exceptions")) - (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) - (hsPkgs."hashable" or (errorHandler.buildDepError "hashable")) - (hsPkgs."HTTP" or (errorHandler.buildDepError "HTTP")) - (hsPkgs."mtl" or (errorHandler.buildDepError "mtl")) - (hsPkgs."network-uri" or (errorHandler.buildDepError "network-uri")) - (hsPkgs."pretty" or (errorHandler.buildDepError "pretty")) - (hsPkgs."process" or (errorHandler.buildDepError "process")) - (hsPkgs."random" or (errorHandler.buildDepError "random")) - (hsPkgs."stm" or (errorHandler.buildDepError "stm")) - (hsPkgs."tar" or (errorHandler.buildDepError "tar")) - (hsPkgs."time" or (errorHandler.buildDepError "time")) - (hsPkgs."zlib" or (errorHandler.buildDepError "zlib")) - (hsPkgs."hackage-security" or (errorHandler.buildDepError "hackage-security")) - (hsPkgs."text" or (errorHandler.buildDepError "text")) - (hsPkgs."parsec" or (errorHandler.buildDepError "parsec")) - (hsPkgs."regex-base" or (errorHandler.buildDepError "regex-base")) - (hsPkgs."regex-posix" or (errorHandler.buildDepError "regex-posix")) - (hsPkgs."safe-exceptions" or (errorHandler.buildDepError "safe-exceptions")) - ] ++ (pkgs.lib).optionals (flags.native-dns) (if system.isWindows - then [ (hsPkgs."windns" or (errorHandler.buildDepError "windns")) ] - else [ - (hsPkgs."resolv" or (errorHandler.buildDepError "resolv")) - ])) ++ (if system.isWindows - then [ - (hsPkgs."Win32" or (errorHandler.buildDepError "Win32")) - (hsPkgs."directory" or (errorHandler.buildDepError "directory")) - ] - else [ - (hsPkgs."unix" or (errorHandler.buildDepError "unix")) - ])) ++ (pkgs.lib).optional (flags.lukko) (hsPkgs."lukko" or (errorHandler.buildDepError "lukko"))) ++ (pkgs.lib).optional (compiler.isGhc && (compiler.version).ge "8.2") (hsPkgs."process" or (errorHandler.buildDepError "process")); - buildable = true; - }; - exes = { - "cabal" = { - depends = [ - (hsPkgs."base" or (errorHandler.buildDepError "base")) - (hsPkgs."Cabal" or (errorHandler.buildDepError "Cabal")) - (hsPkgs."Cabal-syntax" or (errorHandler.buildDepError "Cabal-syntax")) - (hsPkgs."cabal-install" or (errorHandler.buildDepError "cabal-install")) - (hsPkgs."directory" or (errorHandler.buildDepError "directory")) - (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) - ]; - libs = (pkgs.lib).optional (system.isAix) (pkgs."bsd" or (errorHandler.sysDepError "bsd")); - buildable = true; - }; - }; - tests = { - "unit-tests" = { - depends = [ - (hsPkgs."base" or (errorHandler.buildDepError "base")) - (hsPkgs."Cabal" or (errorHandler.buildDepError "Cabal")) - (hsPkgs."Cabal-syntax" or (errorHandler.buildDepError "Cabal-syntax")) - (hsPkgs."cabal-install-solver" or (errorHandler.buildDepError "cabal-install-solver")) - (hsPkgs."array" or (errorHandler.buildDepError "array")) - (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) - (hsPkgs."cabal-install" or (errorHandler.buildDepError "cabal-install")) - (hsPkgs."Cabal-tree-diff" or (errorHandler.buildDepError "Cabal-tree-diff")) - (hsPkgs."Cabal-QuickCheck" or (errorHandler.buildDepError "Cabal-QuickCheck")) - (hsPkgs."containers" or (errorHandler.buildDepError "containers")) - (hsPkgs."directory" or (errorHandler.buildDepError "directory")) - (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) - (hsPkgs."mtl" or (errorHandler.buildDepError "mtl")) - (hsPkgs."network-uri" or (errorHandler.buildDepError "network-uri")) - (hsPkgs."random" or (errorHandler.buildDepError "random")) - (hsPkgs."tar" or (errorHandler.buildDepError "tar")) - (hsPkgs."time" or (errorHandler.buildDepError "time")) - (hsPkgs."zlib" or (errorHandler.buildDepError "zlib")) - (hsPkgs."tasty" or (errorHandler.buildDepError "tasty")) - (hsPkgs."tasty-golden" or (errorHandler.buildDepError "tasty-golden")) - (hsPkgs."tasty-quickcheck" or (errorHandler.buildDepError "tasty-quickcheck")) - (hsPkgs."tasty-hunit" or (errorHandler.buildDepError "tasty-hunit")) - (hsPkgs."tree-diff" or (errorHandler.buildDepError "tree-diff")) - (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")) - ]; - buildable = true; - }; - "mem-use-tests" = { - depends = [ - (hsPkgs."base" or (errorHandler.buildDepError "base")) - (hsPkgs."Cabal" or (errorHandler.buildDepError "Cabal")) - (hsPkgs."Cabal-syntax" or (errorHandler.buildDepError "Cabal-syntax")) - (hsPkgs."cabal-install-solver" or (errorHandler.buildDepError "cabal-install-solver")) - (hsPkgs."cabal-install" or (errorHandler.buildDepError "cabal-install")) - (hsPkgs."containers" or (errorHandler.buildDepError "containers")) - (hsPkgs."tasty" or (errorHandler.buildDepError "tasty")) - (hsPkgs."tasty-hunit" or (errorHandler.buildDepError "tasty-hunit")) - ]; - buildable = true; - }; - "integration-tests2" = { - depends = [ - (hsPkgs."base" or (errorHandler.buildDepError "base")) - (hsPkgs."Cabal" or (errorHandler.buildDepError "Cabal")) - (hsPkgs."Cabal-syntax" or (errorHandler.buildDepError "Cabal-syntax")) - (hsPkgs."cabal-install-solver" or (errorHandler.buildDepError "cabal-install-solver")) - (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) - (hsPkgs."cabal-install" or (errorHandler.buildDepError "cabal-install")) - (hsPkgs."containers" or (errorHandler.buildDepError "containers")) - (hsPkgs."directory" or (errorHandler.buildDepError "directory")) - (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) - (hsPkgs."tasty" or (errorHandler.buildDepError "tasty")) - (hsPkgs."tasty-hunit" or (errorHandler.buildDepError "tasty-hunit")) - (hsPkgs."tagged" or (errorHandler.buildDepError "tagged")) - ]; - buildable = true; - }; - "long-tests" = { - depends = [ - (hsPkgs."base" or (errorHandler.buildDepError "base")) - (hsPkgs."Cabal" or (errorHandler.buildDepError "Cabal")) - (hsPkgs."Cabal-syntax" or (errorHandler.buildDepError "Cabal-syntax")) - (hsPkgs."cabal-install-solver" or (errorHandler.buildDepError "cabal-install-solver")) - (hsPkgs."Cabal-QuickCheck" or (errorHandler.buildDepError "Cabal-QuickCheck")) - (hsPkgs."Cabal-described" or (errorHandler.buildDepError "Cabal-described")) - (hsPkgs."cabal-install" or (errorHandler.buildDepError "cabal-install")) - (hsPkgs."containers" or (errorHandler.buildDepError "containers")) - (hsPkgs."directory" or (errorHandler.buildDepError "directory")) - (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) - (hsPkgs."hashable" or (errorHandler.buildDepError "hashable")) - (hsPkgs."mtl" or (errorHandler.buildDepError "mtl")) - (hsPkgs."network-uri" or (errorHandler.buildDepError "network-uri")) - (hsPkgs."random" or (errorHandler.buildDepError "random")) - (hsPkgs."tagged" or (errorHandler.buildDepError "tagged")) - (hsPkgs."tasty" or (errorHandler.buildDepError "tasty")) - (hsPkgs."tasty-expected-failure" or (errorHandler.buildDepError "tasty-expected-failure")) - (hsPkgs."tasty-hunit" or (errorHandler.buildDepError "tasty-hunit")) - (hsPkgs."tasty-quickcheck" or (errorHandler.buildDepError "tasty-quickcheck")) - (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")) - (hsPkgs."pretty-show" or (errorHandler.buildDepError "pretty-show")) - ]; - buildable = true; - }; - }; - }; - } // rec { src = (pkgs.lib).mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc963-ghcjs/deepseq.nix b/materialized/ghc-boot-packages-nix/ghc963-ghcjs/deepseq.nix index 938c0bea00..c8a67d1812 100644 --- a/materialized/ghc-boot-packages-nix/ghc963-ghcjs/deepseq.nix +++ b/materialized/ghc-boot-packages-nix/ghc963-ghcjs/deepseq.nix @@ -21,15 +21,15 @@ synopsis = "Deep evaluation of data structures"; description = "This package provides methods for fully evaluating data structures\n(\\\"deep evaluation\\\"). Deep evaluation is often used for adding\nstrictness to a program, e.g. in order to force pending exceptions,\nremove space leaks, or force lazy I/O to happen. It is also useful\nin parallel programs, to ensure pending work does not migrate to the\nwrong thread.\n\nThe primary use of this package is via the 'deepseq' function, a\n\\\"deep\\\" version of 'seq'. It is implemented on top of an 'NFData'\ntypeclass (\\\"Normal Form Data\\\", data structures with no unevaluated\ncomponents) which defines strategies for fully evaluating different\ndata types. See module documentation in \"Control.DeepSeq\" for more\ndetails."; buildType = "Simple"; - }; + }; components = { "library" = { depends = [ (hsPkgs."base" or (errorHandler.buildDepError "base")) (hsPkgs."array" or (errorHandler.buildDepError "array")) - ] ++ (pkgs.lib).optional (compiler.isGhc && (compiler.version).ge "9.0") (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")); + ] ++ pkgs.lib.optional (compiler.isGhc && compiler.version.ge "9.0") (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")); buildable = true; - }; + }; tests = { "test" = { depends = [ @@ -37,9 +37,9 @@ (hsPkgs."base" or (errorHandler.buildDepError "base")) (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) - ]; + ]; buildable = true; - }; }; }; - } // rec { src = (pkgs.lib).mkDefault ./.; } + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc963-ghcjs/deriveConstants.nix b/materialized/ghc-boot-packages-nix/ghc963-ghcjs/deriveConstants.nix index a981b275ae..135cdd02f6 100644 --- a/materialized/ghc-boot-packages-nix/ghc963-ghcjs/deriveConstants.nix +++ b/materialized/ghc-boot-packages-nix/ghc963-ghcjs/deriveConstants.nix @@ -21,7 +21,7 @@ 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" = { @@ -31,9 +31,9 @@ (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 ./.; } + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc963-ghcjs/genprimopcode.nix b/materialized/ghc-boot-packages-nix/ghc963-ghcjs/genprimopcode.nix index a2bc7e09d1..efed2c72fa 100644 --- a/materialized/ghc-boot-packages-nix/ghc963-ghcjs/genprimopcode.nix +++ b/materialized/ghc-boot-packages-nix/ghc963-ghcjs/genprimopcode.nix @@ -21,20 +21,20 @@ 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) [ + ]; + build-tools = pkgs.lib.optionals (flags.build-tool-depends) [ (hsPkgs.buildPackages.alex.components.exes.alex or (pkgs.buildPackages.alex or (errorHandler.buildToolDepError "alex:alex"))) (hsPkgs.buildPackages.happy.components.exes.happy or (pkgs.buildPackages.happy or (errorHandler.buildToolDepError "happy:happy"))) - ]; + ]; buildable = true; - }; }; }; - } // rec { src = (pkgs.lib).mkDefault ./.; } + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc963-ghcjs/ghc-bignum.nix b/materialized/ghc-boot-packages-nix/ghc963-ghcjs/ghc-bignum.nix index 3a2dcde23f..46af6e0e9f 100644 --- a/materialized/ghc-boot-packages-nix/ghc963-ghcjs/ghc-bignum.nix +++ b/materialized/ghc-boot-packages-nix/ghc963-ghcjs/ghc-bignum.nix @@ -21,17 +21,17 @@ 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 ./.; } + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc963-ghcjs/ghc-heap.nix b/materialized/ghc-boot-packages-nix/ghc963-ghcjs/ghc-heap.nix index 81b303376d..67f6747d80 100644 --- a/materialized/ghc-boot-packages-nix/ghc963-ghcjs/ghc-heap.nix +++ b/materialized/ghc-boot-packages-nix/ghc963-ghcjs/ghc-heap.nix @@ -21,7 +21,7 @@ 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 = [ @@ -29,8 +29,8 @@ (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 ./.; } + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc963-ghcjs/ghc-prim.nix b/materialized/ghc-boot-packages-nix/ghc963-ghcjs/ghc-prim.nix index 9413311b5b..af03d7def6 100644 --- a/materialized/ghc-boot-packages-nix/ghc963-ghcjs/ghc-prim.nix +++ b/materialized/ghc-boot-packages-nix/ghc963-ghcjs/ghc-prim.nix @@ -27,21 +27,21 @@ (hsPkgs.buildPackages.filepath or (pkgs.buildPackages.filepath or (errorHandler.setupDepError "filepath"))) (hsPkgs.buildPackages.directory or (pkgs.buildPackages.directory or (errorHandler.setupDepError "directory"))) (hsPkgs.buildPackages.Cabal or (pkgs.buildPackages.Cabal or (errorHandler.setupDepError "Cabal"))) - ]; - }; + ]; + }; components = { "library" = { depends = [ (hsPkgs."rts" or (errorHandler.buildDepError "rts")) ]; - libs = (pkgs.lib).optionals (system.isWindows) [ + 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.lib.optionals (system.isLinux) [ (pkgs."c" or (errorHandler.sysDepError "c")) (pkgs."m" or (errorHandler.sysDepError "m")) - ]; + ]; buildable = true; - }; }; - } // rec { src = (pkgs.lib).mkDefault ./.; } + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc963-ghcjs/ghci.nix b/materialized/ghc-boot-packages-nix/ghc963-ghcjs/ghci.nix index 515c1d1357..106ed1e95e 100644 --- a/materialized/ghc-boot-packages-nix/ghc963-ghcjs/ghci.nix +++ b/materialized/ghc-boot-packages-nix/ghc963-ghcjs/ghci.nix @@ -21,7 +21,7 @@ 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 = [ @@ -38,8 +38,8 @@ (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")); + ] ++ pkgs.lib.optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix")); buildable = true; - }; }; - } // rec { src = (pkgs.lib).mkDefault ./.; } + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc963-ghcjs/hpc.nix b/materialized/ghc-boot-packages-nix/ghc963-ghcjs/hpc.nix index a889ccbd0a..c9d84dfbb7 100644 --- a/materialized/ghc-boot-packages-nix/ghc963-ghcjs/hpc.nix +++ b/materialized/ghc-boot-packages-nix/ghc963-ghcjs/hpc.nix @@ -21,7 +21,7 @@ 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 = [ @@ -31,8 +31,8 @@ (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 ./.; } + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc963-ghcjs/integer-gmp.nix b/materialized/ghc-boot-packages-nix/ghc963-ghcjs/integer-gmp.nix index 35554ad858..94f930e70e 100644 --- a/materialized/ghc-boot-packages-nix/ghc963-ghcjs/integer-gmp.nix +++ b/materialized/ghc-boot-packages-nix/ghc963-ghcjs/integer-gmp.nix @@ -21,15 +21,15 @@ 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 ./.; } + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc963-ghcjs/iserv.nix b/materialized/ghc-boot-packages-nix/ghc963-ghcjs/iserv.nix index 7dbf852b55..9431fc4171 100644 --- a/materialized/ghc-boot-packages-nix/ghc963-ghcjs/iserv.nix +++ b/materialized/ghc-boot-packages-nix/ghc963-ghcjs/iserv.nix @@ -21,7 +21,7 @@ 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" = { @@ -33,9 +33,9 @@ (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")); + ] ++ pkgs.lib.optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix")); buildable = true; - }; }; }; - } // rec { src = (pkgs.lib).mkDefault ./.; } + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc963-ghcjs/pretty.nix b/materialized/ghc-boot-packages-nix/ghc963-ghcjs/pretty.nix index df71370d97..7d4c79f506 100644 --- a/materialized/ghc-boot-packages-nix/ghc963-ghcjs/pretty.nix +++ b/materialized/ghc-boot-packages-nix/ghc963-ghcjs/pretty.nix @@ -21,16 +21,16 @@ synopsis = "Pretty-printing library"; description = "This package contains a pretty-printing library, a set of API's\nthat provides a way to easily print out text in a consistent\nformat of your choosing. This is useful for compilers and related\ntools.\n\nThis library was originally designed by John Hughes's and has since\nbeen heavily modified by Simon Peyton Jones."; buildType = "Simple"; - }; + }; components = { "library" = { depends = [ (hsPkgs."base" or (errorHandler.buildDepError "base")) (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) - ]; + ]; buildable = true; - }; + }; tests = { "test-pretty" = { depends = [ @@ -38,19 +38,19 @@ (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")) - ]; + ]; buildable = true; - }; }; + }; benchmarks = { "pretty-bench" = { depends = [ (hsPkgs."base" or (errorHandler.buildDepError "base")) (hsPkgs."criterion" or (errorHandler.buildDepError "criterion")) (hsPkgs."pretty" or (errorHandler.buildDepError "pretty")) - ]; + ]; buildable = true; - }; }; }; - } // rec { src = (pkgs.lib).mkDefault ./.; } + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc963-ghcjs/remote-iserv.nix b/materialized/ghc-boot-packages-nix/ghc963-ghcjs/remote-iserv.nix index e7fcbba85e..74a149a99b 100644 --- a/materialized/ghc-boot-packages-nix/ghc963-ghcjs/remote-iserv.nix +++ b/materialized/ghc-boot-packages-nix/ghc963-ghcjs/remote-iserv.nix @@ -21,16 +21,16 @@ 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 ./.; } + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc963-ghcjs/template-haskell.nix b/materialized/ghc-boot-packages-nix/ghc963-ghcjs/template-haskell.nix index 63d723e53a..693b8f6a78 100644 --- a/materialized/ghc-boot-packages-nix/ghc963-ghcjs/template-haskell.nix +++ b/materialized/ghc-boot-packages-nix/ghc963-ghcjs/template-haskell.nix @@ -21,7 +21,7 @@ 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 = [ @@ -29,8 +29,8 @@ (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 ./.; } + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc964-ghcjs/base.nix b/materialized/ghc-boot-packages-nix/ghc964-ghcjs/base.nix index 707da5e42b..0cfdcc8c46 100644 --- a/materialized/ghc-boot-packages-nix/ghc964-ghcjs/base.nix +++ b/materialized/ghc-boot-packages-nix/ghc964-ghcjs/base.nix @@ -21,15 +21,15 @@ synopsis = "Basic libraries"; description = "This package contains the Standard Haskell \"Prelude\" and its support libraries,\nand a large collection of useful libraries ranging from data\nstructures to parsing combinators and debugging utilities."; buildType = "Configure"; - }; + }; components = { "library" = { depends = [ (hsPkgs."rts" or (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) [ + ]; + libs = pkgs.lib.optionals (system.isWindows) [ (pkgs."wsock32" or (errorHandler.sysDepError "wsock32")) (pkgs."user32" or (errorHandler.sysDepError "user32")) (pkgs."shell32" or (errorHandler.sysDepError "shell32")) @@ -42,8 +42,8 @@ (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 ./.; } + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc964-ghcjs/bytestring.nix b/materialized/ghc-boot-packages-nix/ghc964-ghcjs/bytestring.nix index 2c6c152a83..9901355311 100644 --- a/materialized/ghc-boot-packages-nix/ghc964-ghcjs/bytestring.nix +++ b/materialized/ghc-boot-packages-nix/ghc964-ghcjs/bytestring.nix @@ -21,7 +21,7 @@ synopsis = "Fast, compact, strict and lazy byte strings with a list interface"; description = "An efficient compact, immutable byte string type (both strict and lazy)\nsuitable for binary or 8-bit character data.\n\nThe 'ByteString' type represents sequences of bytes or 8-bit characters.\nIt is suitable for high performance use, both in terms of large data\nquantities, or high speed requirements. The 'ByteString' functions follow\nthe same style as Haskell\\'s ordinary lists, so it is easy to convert code\nfrom using 'String' to 'ByteString'.\n\nTwo 'ByteString' variants are provided:\n\n* Strict 'ByteString's keep the string as a single large array. This\nmakes them convenient for passing data between C and Haskell.\n\n* Lazy 'ByteString's use a lazy list of strict chunks which makes it\nsuitable for I\\/O streaming tasks.\n\nThe @Char8@ modules provide a character-based view of the same\nunderlying 'ByteString' types. This makes it convenient to handle mixed\nbinary and 8-bit character content (which is common in many file formats\nand network protocols).\n\nThe 'Builder' module provides an efficient way to build up 'ByteString's\nin an ad-hoc way by repeated concatenation. This is ideal for fast\nserialisation or pretty printing.\n\nThere is also a 'ShortByteString' type which has a lower memory overhead\nand can be converted to or from a 'ByteString'. It is suitable for keeping\nmany short strings in memory.\n\n'ByteString's are not designed for Unicode. For Unicode strings you should\nuse the 'Text' type from the @text@ package.\n\nThese modules are intended to be imported qualified, to avoid name clashes\nwith \"Prelude\" functions, e.g.\n\n> import qualified Data.ByteString as BS"; buildType = "Simple"; - }; + }; components = { "library" = { depends = [ @@ -29,10 +29,10 @@ (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) (hsPkgs."template-haskell" or (errorHandler.buildDepError "template-haskell")) - ]; - libs = (pkgs.lib).optional (system.isWindows && (compiler.isGhc && (compiler.version).lt "9.3")) (pkgs."gcc" or (errorHandler.sysDepError "gcc")); + ]; + libs = pkgs.lib.optional (system.isWindows && (compiler.isGhc && compiler.version.lt "9.3")) (pkgs."gcc" or (errorHandler.sysDepError "gcc")); buildable = true; - }; + }; tests = { "bytestring-tests" = { depends = [ @@ -45,10 +45,10 @@ (hsPkgs."tasty-quickcheck" or (errorHandler.buildDepError "tasty-quickcheck")) (hsPkgs."template-haskell" or (errorHandler.buildDepError "template-haskell")) (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")) - ]; + ]; buildable = true; - }; }; + }; benchmarks = { "bytestring-bench" = { depends = [ @@ -57,9 +57,9 @@ (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) (hsPkgs."tasty-bench" or (errorHandler.buildDepError "tasty-bench")) (hsPkgs."random" or (errorHandler.buildDepError "random")) - ]; + ]; buildable = true; - }; }; }; - } // rec { src = (pkgs.lib).mkDefault ./.; } + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc964-ghcjs/deepseq.nix b/materialized/ghc-boot-packages-nix/ghc964-ghcjs/deepseq.nix index 938c0bea00..c8a67d1812 100644 --- a/materialized/ghc-boot-packages-nix/ghc964-ghcjs/deepseq.nix +++ b/materialized/ghc-boot-packages-nix/ghc964-ghcjs/deepseq.nix @@ -21,15 +21,15 @@ synopsis = "Deep evaluation of data structures"; description = "This package provides methods for fully evaluating data structures\n(\\\"deep evaluation\\\"). Deep evaluation is often used for adding\nstrictness to a program, e.g. in order to force pending exceptions,\nremove space leaks, or force lazy I/O to happen. It is also useful\nin parallel programs, to ensure pending work does not migrate to the\nwrong thread.\n\nThe primary use of this package is via the 'deepseq' function, a\n\\\"deep\\\" version of 'seq'. It is implemented on top of an 'NFData'\ntypeclass (\\\"Normal Form Data\\\", data structures with no unevaluated\ncomponents) which defines strategies for fully evaluating different\ndata types. See module documentation in \"Control.DeepSeq\" for more\ndetails."; buildType = "Simple"; - }; + }; components = { "library" = { depends = [ (hsPkgs."base" or (errorHandler.buildDepError "base")) (hsPkgs."array" or (errorHandler.buildDepError "array")) - ] ++ (pkgs.lib).optional (compiler.isGhc && (compiler.version).ge "9.0") (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")); + ] ++ pkgs.lib.optional (compiler.isGhc && compiler.version.ge "9.0") (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")); buildable = true; - }; + }; tests = { "test" = { depends = [ @@ -37,9 +37,9 @@ (hsPkgs."base" or (errorHandler.buildDepError "base")) (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) - ]; + ]; buildable = true; - }; }; }; - } // rec { src = (pkgs.lib).mkDefault ./.; } + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc964-ghcjs/deriveConstants.nix b/materialized/ghc-boot-packages-nix/ghc964-ghcjs/deriveConstants.nix index a981b275ae..135cdd02f6 100644 --- a/materialized/ghc-boot-packages-nix/ghc964-ghcjs/deriveConstants.nix +++ b/materialized/ghc-boot-packages-nix/ghc964-ghcjs/deriveConstants.nix @@ -21,7 +21,7 @@ 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" = { @@ -31,9 +31,9 @@ (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 ./.; } + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc964-ghcjs/genprimopcode.nix b/materialized/ghc-boot-packages-nix/ghc964-ghcjs/genprimopcode.nix index a2bc7e09d1..efed2c72fa 100644 --- a/materialized/ghc-boot-packages-nix/ghc964-ghcjs/genprimopcode.nix +++ b/materialized/ghc-boot-packages-nix/ghc964-ghcjs/genprimopcode.nix @@ -21,20 +21,20 @@ 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) [ + ]; + build-tools = pkgs.lib.optionals (flags.build-tool-depends) [ (hsPkgs.buildPackages.alex.components.exes.alex or (pkgs.buildPackages.alex or (errorHandler.buildToolDepError "alex:alex"))) (hsPkgs.buildPackages.happy.components.exes.happy or (pkgs.buildPackages.happy or (errorHandler.buildToolDepError "happy:happy"))) - ]; + ]; buildable = true; - }; }; }; - } // rec { src = (pkgs.lib).mkDefault ./.; } + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc964-ghcjs/ghc-bignum.nix b/materialized/ghc-boot-packages-nix/ghc964-ghcjs/ghc-bignum.nix index 3a2dcde23f..46af6e0e9f 100644 --- a/materialized/ghc-boot-packages-nix/ghc964-ghcjs/ghc-bignum.nix +++ b/materialized/ghc-boot-packages-nix/ghc964-ghcjs/ghc-bignum.nix @@ -21,17 +21,17 @@ 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 ./.; } + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc964-ghcjs/ghc-heap.nix b/materialized/ghc-boot-packages-nix/ghc964-ghcjs/ghc-heap.nix index e4a6fac9fb..ad6cf34ec4 100644 --- a/materialized/ghc-boot-packages-nix/ghc964-ghcjs/ghc-heap.nix +++ b/materialized/ghc-boot-packages-nix/ghc964-ghcjs/ghc-heap.nix @@ -21,7 +21,7 @@ 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 = [ @@ -29,8 +29,8 @@ (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 ./.; } + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc964-ghcjs/ghc-prim.nix b/materialized/ghc-boot-packages-nix/ghc964-ghcjs/ghc-prim.nix index 9413311b5b..af03d7def6 100644 --- a/materialized/ghc-boot-packages-nix/ghc964-ghcjs/ghc-prim.nix +++ b/materialized/ghc-boot-packages-nix/ghc964-ghcjs/ghc-prim.nix @@ -27,21 +27,21 @@ (hsPkgs.buildPackages.filepath or (pkgs.buildPackages.filepath or (errorHandler.setupDepError "filepath"))) (hsPkgs.buildPackages.directory or (pkgs.buildPackages.directory or (errorHandler.setupDepError "directory"))) (hsPkgs.buildPackages.Cabal or (pkgs.buildPackages.Cabal or (errorHandler.setupDepError "Cabal"))) - ]; - }; + ]; + }; components = { "library" = { depends = [ (hsPkgs."rts" or (errorHandler.buildDepError "rts")) ]; - libs = (pkgs.lib).optionals (system.isWindows) [ + 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.lib.optionals (system.isLinux) [ (pkgs."c" or (errorHandler.sysDepError "c")) (pkgs."m" or (errorHandler.sysDepError "m")) - ]; + ]; buildable = true; - }; }; - } // rec { src = (pkgs.lib).mkDefault ./.; } + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc964-ghcjs/ghci.nix b/materialized/ghc-boot-packages-nix/ghc964-ghcjs/ghci.nix index eb60b591e0..81564c41da 100644 --- a/materialized/ghc-boot-packages-nix/ghc964-ghcjs/ghci.nix +++ b/materialized/ghc-boot-packages-nix/ghc964-ghcjs/ghci.nix @@ -21,7 +21,7 @@ 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 = [ @@ -38,8 +38,8 @@ (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")); + ] ++ pkgs.lib.optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix")); buildable = true; - }; }; - } // rec { src = (pkgs.lib).mkDefault ./.; } + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc964-ghcjs/hpc.nix b/materialized/ghc-boot-packages-nix/ghc964-ghcjs/hpc.nix index a889ccbd0a..c9d84dfbb7 100644 --- a/materialized/ghc-boot-packages-nix/ghc964-ghcjs/hpc.nix +++ b/materialized/ghc-boot-packages-nix/ghc964-ghcjs/hpc.nix @@ -21,7 +21,7 @@ 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 = [ @@ -31,8 +31,8 @@ (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 ./.; } + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc964-ghcjs/integer-gmp.nix b/materialized/ghc-boot-packages-nix/ghc964-ghcjs/integer-gmp.nix index 35554ad858..94f930e70e 100644 --- a/materialized/ghc-boot-packages-nix/ghc964-ghcjs/integer-gmp.nix +++ b/materialized/ghc-boot-packages-nix/ghc964-ghcjs/integer-gmp.nix @@ -21,15 +21,15 @@ 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 ./.; } + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc964-ghcjs/iserv.nix b/materialized/ghc-boot-packages-nix/ghc964-ghcjs/iserv.nix index f38364219f..ee84bee243 100644 --- a/materialized/ghc-boot-packages-nix/ghc964-ghcjs/iserv.nix +++ b/materialized/ghc-boot-packages-nix/ghc964-ghcjs/iserv.nix @@ -21,7 +21,7 @@ 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" = { @@ -33,9 +33,9 @@ (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")); + ] ++ pkgs.lib.optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix")); buildable = true; - }; }; }; - } // rec { src = (pkgs.lib).mkDefault ./.; } + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc964-ghcjs/pretty.nix b/materialized/ghc-boot-packages-nix/ghc964-ghcjs/pretty.nix index df71370d97..7d4c79f506 100644 --- a/materialized/ghc-boot-packages-nix/ghc964-ghcjs/pretty.nix +++ b/materialized/ghc-boot-packages-nix/ghc964-ghcjs/pretty.nix @@ -21,16 +21,16 @@ synopsis = "Pretty-printing library"; description = "This package contains a pretty-printing library, a set of API's\nthat provides a way to easily print out text in a consistent\nformat of your choosing. This is useful for compilers and related\ntools.\n\nThis library was originally designed by John Hughes's and has since\nbeen heavily modified by Simon Peyton Jones."; buildType = "Simple"; - }; + }; components = { "library" = { depends = [ (hsPkgs."base" or (errorHandler.buildDepError "base")) (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) - ]; + ]; buildable = true; - }; + }; tests = { "test-pretty" = { depends = [ @@ -38,19 +38,19 @@ (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")) - ]; + ]; buildable = true; - }; }; + }; benchmarks = { "pretty-bench" = { depends = [ (hsPkgs."base" or (errorHandler.buildDepError "base")) (hsPkgs."criterion" or (errorHandler.buildDepError "criterion")) (hsPkgs."pretty" or (errorHandler.buildDepError "pretty")) - ]; + ]; buildable = true; - }; }; }; - } // rec { src = (pkgs.lib).mkDefault ./.; } + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc964-ghcjs/remote-iserv.nix b/materialized/ghc-boot-packages-nix/ghc964-ghcjs/remote-iserv.nix index 060aa62474..b41d155af5 100644 --- a/materialized/ghc-boot-packages-nix/ghc964-ghcjs/remote-iserv.nix +++ b/materialized/ghc-boot-packages-nix/ghc964-ghcjs/remote-iserv.nix @@ -21,16 +21,16 @@ 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 ./.; } + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc964-ghcjs/template-haskell.nix b/materialized/ghc-boot-packages-nix/ghc964-ghcjs/template-haskell.nix index 63d723e53a..693b8f6a78 100644 --- a/materialized/ghc-boot-packages-nix/ghc964-ghcjs/template-haskell.nix +++ b/materialized/ghc-boot-packages-nix/ghc964-ghcjs/template-haskell.nix @@ -21,7 +21,7 @@ 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 = [ @@ -29,8 +29,8 @@ (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 ./.; } + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/overlays/bootstrap.nix b/overlays/bootstrap.nix index ad084e0529..977790fcae 100644 --- a/overlays/bootstrap.nix +++ b/overlays/bootstrap.nix @@ -278,7 +278,9 @@ in { ++ final.lib.optional (versionAtLeast "8.10" && versionLessThan "8.11") ./patches/ghc/ghc-8.10-0006-Adds-support-for-Hidden-symbols-2.patch ++ final.lib.optional (versionAtLeast "9.6" && versionLessThan "9.8" && (final.stdenv.targetPlatform.isWindows || final.stdenv.targetPlatform.isMusl)) ./patches/ghc/ghc-9.6-0006-Adds-support-for-Hidden-symbols.patch ++ final.lib.optional (versionAtLeast "9.6" && versionLessThan "9.8" && (final.stdenv.targetPlatform.isWindows || final.stdenv.targetPlatform.isMusl)) ./patches/ghc/ghc-9.6-0006-Adds-support-for-Hidden-symbols-2.patch - ++ fromUntil "9.9" "9.12" ./patches/ghc/ghc-9.9-Cabal-3.11.patch + ++ fromUntil "9.9" "9.12" ./patches/ghc/ghc-9.9-Cabal-3.11.patch + ++ fromUntil "9.10" "9.12" ./patches/ghc/ghc-9.10-containers-upper-bound.patch + ++ fromUntil "9.10" "9.12" ./patches/ghc/ghc-9.10-merge-objects.patch ; in ({ ghc865 = final.callPackage ../compiler/ghc (traceWarnOld "8.6" { @@ -1072,8 +1074,9 @@ in { bootPkgs = bootPkgsGhc94 // { ghc = if final.stdenv.buildPlatform != final.stdenv.targetPlatform - then final.buildPackages.buildPackages.haskell-nix.compiler.ghc964 - else final.buildPackages.buildPackages.haskell.compiler.ghc964 + then final.buildPackages.buildPackages.haskell-nix.compiler.ghc965 + else 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 @@ -1098,8 +1101,9 @@ in { bootPkgs = bootPkgsGhc94 // { ghc = if final.stdenv.buildPlatform != final.stdenv.targetPlatform - then final.buildPackages.buildPackages.haskell-nix.compiler.ghc964 - else final.buildPackages.buildPackages.haskell.compiler.ghc964 + then final.buildPackages.buildPackages.haskell-nix.compiler.ghc965 + else 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 @@ -1132,8 +1136,10 @@ in { bootPkgs = bootPkgsGhc94 // { ghc = if final.stdenv.buildPlatform != final.stdenv.targetPlatform - then final.buildPackages.buildPackages.haskell-nix.compiler.ghc964 - else final.buildPackages.buildPackages.haskell.compiler.ghc981 + then final.buildPackages.buildPackages.haskell-nix.compiler.ghc982 # TODO use ${compiler-nix-name} + else final.buildPackages.buildPackages.haskell.compiler.ghc982 + or final.buildPackages.buildPackages.haskell.compiler.ghc981 + 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 diff --git a/overlays/patches/ghc/ghc-9.10-containers-upper-bound.patch b/overlays/patches/ghc/ghc-9.10-containers-upper-bound.patch new file mode 100644 index 0000000000..4d23f51496 --- /dev/null +++ b/overlays/patches/ghc/ghc-9.10-containers-upper-bound.patch @@ -0,0 +1,14 @@ +diff --git a/linters/lint-whitespace/lint-whitespace.cabal b/linters/lint-whitespace/lint-whitespace.cabal +index e4fab0631e..4d8e6dd1cf 100644 +--- a/linters/lint-whitespace/lint-whitespace.cabal ++++ b/linters/lint-whitespace/lint-whitespace.cabal +@@ -24,7 +24,7 @@ executable lint-whitespace + process + ^>= 1.6, + containers +- ^>= 0.6, ++ >=0.6 && <0.8, + base + >= 4.14 && < 5, + text + diff --git a/overlays/patches/ghc/ghc-9.10-merge-objects.patch b/overlays/patches/ghc/ghc-9.10-merge-objects.patch new file mode 100644 index 0000000000..0ff411054d --- /dev/null +++ b/overlays/patches/ghc/ghc-9.10-merge-objects.patch @@ -0,0 +1,14 @@ +diff --git a/configure.ac b/configure.ac +index 07fc4263ff..08f842b55b 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -177,6 +177,9 @@ if test "$WithGhc" != ""; then + if test -z "$LD_STAGE0"; then + BOOTSTRAPPING_GHC_INFO_FIELD([LD_STAGE0],[ld command]) + fi ++ if test -z "$LD_STAGE0"; then ++ BOOTSTRAPPING_GHC_INFO_FIELD([LD_STAGE0],[Merge objects command]) ++ fi + if test -z "$AR_STAGE0"; then + BOOTSTRAPPING_GHC_INFO_FIELD([AR_STAGE0],[ar command]) + fi diff --git a/test/cabal.project.local b/test/cabal.project.local index 62781233a1..5aa69b3316 100644 --- a/test/cabal.project.local +++ b/test/cabal.project.local @@ -6,6 +6,7 @@ if impl(ghc>=9.8) allow-newer: *:base, *:template-haskell, *:bytestring, *:text, *:ghc-prim, *:deepseq, *:Cabal if impl(ghc > 9.9) allow-newer: *:containers + constraints: base-compat >=0.14.0, aeson >=2.2.1.0 -- This prevents hsc2hs from causing old versions of packages from being added to plan.json allow-newer: hsc2hs:* diff --git a/test/plugin/default.nix b/test/plugin/default.nix index caa6b46718..a38c5dde65 100644 --- a/test/plugin/default.nix +++ b/test/plugin/default.nix @@ -21,7 +21,7 @@ in recurseIntoAttrs { # Not sure why this breaks for ghc 8.10.7 meta.disabled = compiler-nix-name == "ghc8107" - || builtins.elem compiler-nix-name [ "ghc910020240415" "ghc91120240423" ] + || builtins.elem compiler-nix-name [ "ghc910020240430" "ghc91120240504" ] || stdenv.hostPlatform.isMusl || stdenv.hostPlatform.isGhcjs || stdenv.hostPlatform.isWindows diff --git a/test/setup-deps/cabal.project b/test/setup-deps/cabal.project index a01bd0b21b..3c7f92fe41 100644 --- a/test/setup-deps/cabal.project +++ b/test/setup-deps/cabal.project @@ -1 +1,3 @@ packages: pkg + +allow-newer: Cabal:time, Cabal-syntax:time