diff --git a/flake.lock b/flake.lock index 66508f26d..d47f55846 100644 --- a/flake.lock +++ b/flake.lock @@ -202,43 +202,6 @@ "type": "github" } }, - "ghc910X": { - "flake": false, - "locked": { - "lastModified": 1714520650, - "narHash": "sha256-4uz6RA1hRr0RheGNDM49a/B3jszqNNU8iHIow4mSyso=", - "ref": "ghc-9.10", - "rev": "2c6375b9a804ac7fca1e82eb6fcfc8594c67c5f5", - "revCount": 62663, - "submodules": true, - "type": "git", - "url": "https://gitlab.haskell.org/ghc/ghc" - }, - "original": { - "ref": "ghc-9.10", - "submodules": true, - "type": "git", - "url": "https://gitlab.haskell.org/ghc/ghc" - } - }, - "ghc911": { - "flake": false, - "locked": { - "lastModified": 1714817013, - "narHash": "sha256-m2je4UvWfkgepMeUIiXHMwE6W+iVfUY38VDGkMzjCcc=", - "ref": "refs/heads/master", - "rev": "fc24c5cf6c62ca9e3c8d236656e139676df65034", - "revCount": 62816, - "submodules": true, - "type": "git", - "url": "https://gitlab.haskell.org/ghc/ghc" - }, - "original": { - "submodules": true, - "type": "git", - "url": "https://gitlab.haskell.org/ghc/ghc" - } - }, "gitignore": { "inputs": { "nixpkgs": [ @@ -285,8 +248,6 @@ "cardano-shell": "cardano-shell", "flake-compat": "flake-compat_2", "ghc-8.6.5-iohk": "ghc-8.6.5-iohk", - "ghc910X": "ghc910X", - "ghc911": "ghc911", "hackage": [ "hackageNix" ], @@ -299,6 +260,7 @@ "hls-2.6": "hls-2.6", "hls-2.7": "hls-2.7", "hls-2.8": "hls-2.8", + "hls-2.9": "hls-2.9", "hpc-coveralls": "hpc-coveralls", "hydra": "hydra", "iserv-proxy": "iserv-proxy", @@ -313,21 +275,21 @@ "nixpkgs-2211": "nixpkgs-2211", "nixpkgs-2305": "nixpkgs-2305", "nixpkgs-2311": "nixpkgs-2311", + "nixpkgs-2405": "nixpkgs-2405", "nixpkgs-unstable": "nixpkgs-unstable", "old-ghc-nix": "old-ghc-nix", "stackage": "stackage" }, "locked": { - "lastModified": 1718797200, - "narHash": "sha256-ueFxTuZrQ3ZT/Fj5sSeUWlqKa4+OkUU1xW0E+q/XTfw=", + "lastModified": 1730432803, + "narHash": "sha256-TL//ooWXQTObYE693t1aagyRJAGWNkcQhCA3tWO/4As=", "owner": "input-output-hk", "repo": "haskell.nix", - "rev": "cb139fa956158397aa398186bb32dd26f7318784", + "rev": "3a2662401d82a33a30582e17f1e94bfaf16d6424", "type": "github" }, "original": { "owner": "input-output-hk", - "ref": "cb139fa956158397aa398186bb32dd26f7318784", "repo": "haskell.nix", "type": "github" } @@ -485,6 +447,23 @@ "type": "github" } }, + "hls-2.9": { + "flake": false, + "locked": { + "lastModified": 1720003792, + "narHash": "sha256-qnDx8Pk0UxtoPr7BimEsAZh9g2WuTuMB/kGqnmdryKs=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "0c1817cb2babef0765e4e72dd297c013e8e3d12b", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "2.9.0.1", + "repo": "haskell-language-server", + "type": "github" + } + }, "hpc-coveralls": { "flake": false, "locked": { @@ -697,11 +676,11 @@ }, "nixpkgs-2305": { "locked": { - "lastModified": 1701362232, - "narHash": "sha256-GVdzxL0lhEadqs3hfRLuj+L1OJFGiL/L7gCcelgBlsw=", + "lastModified": 1705033721, + "narHash": "sha256-K5eJHmL1/kev6WuqyqqbS1cdNnSidIZ3jeqJ7GbrYnQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d2332963662edffacfddfad59ff4f709dde80ffe", + "rev": "a1982c92d8980a0114372973cbdfe0a307f1bdea", "type": "github" }, "original": { @@ -713,11 +692,11 @@ }, "nixpkgs-2311": { "locked": { - "lastModified": 1701386440, - "narHash": "sha256-xI0uQ9E7JbmEy/v8kR9ZQan6389rHug+zOtZeZFiDJk=", + "lastModified": 1719957072, + "narHash": "sha256-gvFhEf5nszouwLAkT9nWsDzocUTqLWHuL++dvNjMp9I=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "293822e55ec1872f715a66d0eda9e592dc14419f", + "rev": "7144d6241f02d171d25fba3edeaf15e0f2592105", "type": "github" }, "original": { @@ -727,6 +706,22 @@ "type": "github" } }, + "nixpkgs-2405": { + "locked": { + "lastModified": 1726447378, + "narHash": "sha256-2yV8nmYE1p9lfmLHhOCbYwQC/W8WYfGQABoGzJOb1JQ=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "086b448a5d54fd117f4dc2dee55c9f0ff461bdc1", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-24.05-darwin", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs-regression": { "locked": { "lastModified": 1643052045, @@ -761,17 +756,17 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1694822471, - "narHash": "sha256-6fSDCj++lZVMZlyqOe9SIOL8tYSBz1bI8acwovRwoX8=", + "lastModified": 1726583932, + "narHash": "sha256-zACxiQx8knB3F8+Ze+1BpiYrI+CbhxyWpcSID9kVhkQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "47585496bcb13fb72e4a90daeea2f434e2501998", + "rev": "658e7223191d2598641d50ee4e898126768fe847", "type": "github" }, "original": { "owner": "NixOS", + "ref": "nixpkgs-unstable", "repo": "nixpkgs", - "rev": "47585496bcb13fb72e4a90daeea2f434e2501998", "type": "github" } }, @@ -897,11 +892,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1718756571, - "narHash": "sha256-8rL8viTbuE9/yV1of6SWp2tHmhVMD2UmkOfmN5KDbKg=", + "lastModified": 1730419934, + "narHash": "sha256-JJ85fnFBsUTCQOUIn82nlFlWgsrruvtFwKfc4LCCCJs=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "027672fb6fd45828b0e623c8152572d4058429ad", + "rev": "2c63b809f462ee4043dda25cb0b2998eaa3b9bd2", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 37292f3bd..e8d28a7f7 100644 --- a/flake.nix +++ b/flake.nix @@ -2,8 +2,7 @@ description = "cardano-base"; inputs = { - # freeze haskell.nix prior to the nixpkgs update that broken 8.10 cross-windows - haskellNix.url = "github:input-output-hk/haskell.nix?ref=cb139fa956158397aa398186bb32dd26f7318784"; + haskellNix.url = "github:input-output-hk/haskell.nix"; # allow us to independently update hackageNix haskellNix.inputs.hackage.follows = "hackageNix"; nixpkgs.follows = "haskellNix/nixpkgs-unstable"; @@ -56,7 +55,7 @@ inherit (nixpkgs) lib; # see flake `variants` below for alternative compilers - defaultCompiler = "ghc964"; + defaultCompiler = "ghc966"; fourmoluVersion = "0.16.2.0"; # We use cabalProject' to ensure we don't build the plan for # all systems. @@ -112,11 +111,23 @@ # Skip cross compilers for the shell crossPlatforms = _: []; }; + flake = { + # on linux, build/test other supported compilers + variants = lib.genAttrs ["ghc8107"] (compiler-nix-name: { + inherit compiler-nix-name; + }); + # we also want cross compilation to windows. + crossPlatforms = p: lib.optional (system == "x86_64-linux" && config.compiler-nix-name != "ghc8107") p.mingwW64; + }; # package customizations as needed. Where cabal.project is not # specific enough, or doesn't allow setting these. modules = [ ({pkgs, ...}: { + # Packages that are not always in the plan need to be listed so that haskell.nix does not + # complain about overrides on packages that do not exist. + package-keys = ["katip" "ekg" "slotting" "lens" "nonempty-vector"]; + # Packages we wish to ignore version bounds of. # This is similar to jailbreakCabal, however it # does not require any messing with cabal files. @@ -148,17 +159,7 @@ ]; }); # ... and construct a flake from the cabal project - flake = - cabalProject.flake ( - lib.optionalAttrs (system == "x86_64-linux") { - # on linux, build/test other supported compilers - variants = lib.genAttrs ["ghc8107"] (compiler-nix-name: { - inherit compiler-nix-name; - }); - # we also want cross compilation to windows. - crossPlatforms = p: [p.mingwW64]; - } - ); + flake = cabalProject.flake {}; in lib.recursiveUpdate flake rec { project = cabalProject;