Various Haskell things that I can never remember
Making Cabal fetch a dependency from a version control repository
TLDR: put this in cabal.project
:
source-repository-package
type: git
location: https://github.com/hvr/HsYAML.git
tag: e70cf0c171c9a586b62b3f75d72f1591e4e6aaa1
The tag
is the Git commit.
Making Cabal fetch a dependency from a directory
Add another packages
stanza to cabal.project
. Example:
packages: ../futhark-server-haskell
Ignoring upper bounds
Put this in cabal.project
:
allow-newer: hashable:ghc-bignum
This lets hashable
use a newer ghc-bignum
.
Using packages from a different version of GHC in Nix
Use e.g. pkgs.haskell.packages.ghc921.ormolu_0_4_0_0
where
pkgs
is the Nixpkgs package set. You don’t need the version
number on the package itself; but if you’re using a nonstandard
compiler version, you’re probably trying to use a newer version of the
package than is the default in Nixpkgs.