diff --git a/overlays/ghc-packages.nix b/overlays/ghc-packages.nix index 5ebc2b2542..7cee136247 100644 --- a/overlays/ghc-packages.nix +++ b/overlays/ghc-packages.nix @@ -88,6 +88,9 @@ let ghc-internal = "libraries/ghc-internal"; } // final.lib.optionalAttrs (builtins.compareVersions ghcVersion "9.10" >= 0) { ghc-toolchain = "utils/ghc-toolchain"; + } // final.lib.optionalAttrs (builtins.compareVersions ghcVersion "9.12" >= 0) { + ghc-experimental = "libraries/ghc-experimental"; + haddock-api = "utils/haddock/haddock-api"; }; # The nix produced by `cabalProject` differs slightly depending on diff --git a/test/stack-simple/default.nix b/test/stack-simple/default.nix index 4fd25c6bcb..5c8be4a197 100644 --- a/test/stack-simple/default.nix +++ b/test/stack-simple/default.nix @@ -5,13 +5,14 @@ with lib; let project = pkgs.haskell-nix.stackProject' { src = testSrc "stack-simple"; + stackYaml = "stack-${compiler-nix-name}.yaml"; inherit evalPackages; }; packages = project.hsPkgs; in pkgs.recurseIntoAttrs { - meta.disabled = compiler-nix-name != "ghc984"; + meta.disabled = !builtins.pathExists ./stack-${compiler-nix-name}.yaml; stack-simple-exe = (haskellLib.check packages.stack-simple.components.exes.stack-simple-exe) // { # Attributes used for debugging with nix repl inherit pkgSet packages; diff --git a/test/stack-simple/stack-ghc9102.yaml b/test/stack-simple/stack-ghc9102.yaml new file mode 100644 index 0000000000..ca11e78eef --- /dev/null +++ b/test/stack-simple/stack-ghc9102.yaml @@ -0,0 +1,69 @@ +# This file was automatically generated by 'stack init' +# +# Some commonly used options have been documented as comments in this file. +# For advanced use and comprehensive documentation of the format, please see: +# https://docs.haskellstack.org/en/stable/yaml_configuration/ + +# Resolver to choose a 'specific' stackage snapshot or a compiler version. +# A snapshot resolver dictates the compiler version and the set of packages +# to be used for project dependencies. For example: +# +# resolver: lts-3.5 +# resolver: nightly-2015-09-21 +# resolver: ghc-7.10.2 +# +# The location of a snapshot can be provided as a file or url. Stack assumes +# a snapshot provided as a file might change, whereas a url resource does not. +# +# resolver: ./custom-snapshot.yaml +# resolver: https://example.com/snapshots/2018-01-01.yaml +resolver: nightly-2025-07-14 + +# User packages to be built. +# Various formats can be used as shown in the example below. +# +# packages: +# - some-directory +# - https://example.com/foo/bar/baz-0.0.2.tar.gz +# - location: +# git: https://github.com/commercialhaskell/stack.git +# commit: e7b331f14bcffb8367cd58fbfc8b40ec7642100a +# - location: https://github.com/commercialhaskell/stack/commit/e7b331f14bcffb8367cd58fbfc8b40ec7642100a +# subdirs: +# - auto-update +# - wai +packages: +- . +# Dependency packages to be pulled from upstream that are not in the resolver +# using the same syntax as the packages field. +# (e.g., acme-missiles-0.3) +extra-deps: + # Work around http://hackage.haskell.org/package/transformers-0.5.5.0/transformers.cabal + # This is the version of transformers which ships with GHC-8.6.4 + - transformers-0.5.6.2 + # ghc-8.6.4 ships with process-1.6.5.0, not 1.6.3.0 as stackage claims. 1.6.3.0 isn't even compatible with + # base 4.12 that ghc ships. + - process-1.6.5.0 +# Override default flag values for local packages and extra-deps +# flags: {} + +# Extra package databases containing global packages +# extra-package-dbs: [] + +# Control whether we use the GHC we find on the path +# system-ghc: true +# +# Require a specific version of stack, using version ranges +# require-stack-version: -any # Default +# require-stack-version: ">=1.9" +# +# Override the architecture used by stack, especially useful on Windows +# arch: i386 +# arch: x86_64 +# +# Extra directories used by stack for building +# extra-include-dirs: [/path/to/dir] +# extra-lib-dirs: [/path/to/dir] +# +# Allow a newer minor version of GHC than the snapshot specifies +# compiler-check: newer-minor diff --git a/test/stack-simple/stack-ghc9122.yaml b/test/stack-simple/stack-ghc9122.yaml new file mode 100644 index 0000000000..f8614f8de4 --- /dev/null +++ b/test/stack-simple/stack-ghc9122.yaml @@ -0,0 +1,69 @@ +# This file was automatically generated by 'stack init' +# +# Some commonly used options have been documented as comments in this file. +# For advanced use and comprehensive documentation of the format, please see: +# https://docs.haskellstack.org/en/stable/yaml_configuration/ + +# Resolver to choose a 'specific' stackage snapshot or a compiler version. +# A snapshot resolver dictates the compiler version and the set of packages +# to be used for project dependencies. For example: +# +# resolver: lts-3.5 +# resolver: nightly-2015-09-21 +# resolver: ghc-7.10.2 +# +# The location of a snapshot can be provided as a file or url. Stack assumes +# a snapshot provided as a file might change, whereas a url resource does not. +# +# resolver: ./custom-snapshot.yaml +# resolver: https://example.com/snapshots/2018-01-01.yaml +resolver: nightly-2025-07-26 + +# User packages to be built. +# Various formats can be used as shown in the example below. +# +# packages: +# - some-directory +# - https://example.com/foo/bar/baz-0.0.2.tar.gz +# - location: +# git: https://github.com/commercialhaskell/stack.git +# commit: e7b331f14bcffb8367cd58fbfc8b40ec7642100a +# - location: https://github.com/commercialhaskell/stack/commit/e7b331f14bcffb8367cd58fbfc8b40ec7642100a +# subdirs: +# - auto-update +# - wai +packages: +- . +# Dependency packages to be pulled from upstream that are not in the resolver +# using the same syntax as the packages field. +# (e.g., acme-missiles-0.3) +extra-deps: + # Work around http://hackage.haskell.org/package/transformers-0.5.5.0/transformers.cabal + # This is the version of transformers which ships with GHC-8.6.4 + - transformers-0.5.6.2 + # ghc-8.6.4 ships with process-1.6.5.0, not 1.6.3.0 as stackage claims. 1.6.3.0 isn't even compatible with + # base 4.12 that ghc ships. + - process-1.6.5.0 +# Override default flag values for local packages and extra-deps +# flags: {} + +# Extra package databases containing global packages +# extra-package-dbs: [] + +# Control whether we use the GHC we find on the path +# system-ghc: true +# +# Require a specific version of stack, using version ranges +# require-stack-version: -any # Default +# require-stack-version: ">=1.9" +# +# Override the architecture used by stack, especially useful on Windows +# arch: i386 +# arch: x86_64 +# +# Extra directories used by stack for building +# extra-include-dirs: [/path/to/dir] +# extra-lib-dirs: [/path/to/dir] +# +# Allow a newer minor version of GHC than the snapshot specifies +# compiler-check: newer-minor diff --git a/test/stack-simple/stack.yaml b/test/stack-simple/stack-ghc984.yaml similarity index 100% rename from test/stack-simple/stack.yaml rename to test/stack-simple/stack-ghc984.yaml