![]() ![]() The Haskell section in the nixpkgs manual.Īlthough most of this info is not directly helpful… If you’re looking for more help fixing problems, I recommend the following resources: You can also look at past PRs with that label to get an idea of how other people fixed broken Haskell packages. Reviewing PRs or responding to issues is a huge help for the other nixpkgs maintainers. If all the packages you care about are working, but you still want to help others, I suggest you watch the haskell label on the nixpkgs repo. This helps the wider Haskell community, not just nixpkgs. When fixing things, we really like to upstream fixes where appropriate. This is discussed in the video linked above. ![]() This file is generated automatically from configuration-hackage2nix.yaml. Make sure to not directly edit hackage-packages.nix. The main files in nixpkgs you can look at to get ideas of how to fix Haskell packages are the following: When sending PRs to nixpkgs for Haskell-related changes, make sure to set the base branch as haskell-updates, not master. It is also a short video, so I suggest giving it a watch if you’d like to contribute to the Haskell ecosystem in nixpkgs. This video is for the simplest case, but this covers a surprising large number of packages. There is a convenient video for how to mark Haskell packages as unbroken if they were marked broken by mistake (or if they have become unbroken over time): Video Tutorial: How to Fix Broken Haskell Packages in Nix Here are some tips for fixing Haskell packages: If you are able to get a broken Haskell package building, please send a PR to nixpkgs. Different kinds of breakage will require different fixes. There is no set method to fixup any Haskell package. ![]() The next section will talk about how to unbreak Haskell packages. In cases where the package cannot be built, you’ll often get a message about it being marked broken: $ nix-build -A haskellPackages.AAIĮrror: Package ‘AAI-0.2.0.1’ in /home/illabout/git/nixpkgs/pkgs/development/haskell-modules/hackage-packages.nix:55 is marked as broken, refusing to evaluate.ī) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add ![]() In cases where the package can be successfully built, you’ll often be able to pull it from the nixpkgs cache. For instance, to check if lens compiles: $ nix-build -A haskellPackages.lens haskell-updates is regularly merged back into master. If you don’t use the haskell-updates branch for this, it is possible that you will try to fix a package on master that has already been fixed in haskell-updates. $ git checkout haskell-updatesĪll the Haskell-related development in nixpkgs takes place on the haskell-updates branch. Here’s the steps for checking if a package still compiles after the bump to LTS-15.Ĭlone the nixpkgs repo locally: $ git clone cd nixpkgs/Ĭheckout the haskell-updates branch. If you find a package that isn’t working, we’d love to get a PR unbreaking it. This is a call to action for nix-using Haskellers to check that their favorite Haskell packages still compile and work in nixpkgs. The Haskell ecosystem in Nixpkgs has followed suit and switched from LTS-14 to LTS-15.ĭuring this transition, some Haskell packages have been marked broken. Stackage LTS-15 was recently released, which switches to GHC-8.8.2 from GHC-8.6.5. The Haskell ecosystem in Nixpkgs generally tracks the latest Stackage LTS release. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |