Skip to content

amesgen/hs-rustls

Repository files navigation

hs-rustls — Rustls for Haskell

CI Hackage

Haskell bindings for the Rustls TLS library via rustls-ffi.

See the haddocks for documentation.

Also see:

Development

With Nix

When developing this library, just drop into a Nix shell.

If you want to depend on this library in another package, you have to make sure to include rustls-ffi as a native dependency. You can do so by depending on the github:amesgen/hs-rustls?dir=nix-rustls flake, and then using the nix-rustls.packages.${system}.default output.

Without Nix

rustls-ffi

Make sure to have Cargo installed. Then, clone and install rustls-ffi:

git clone https://github.com/rustls/rustls-ffi -b v0.14.1
cd rustls-ffi
make DESTDIR=/path/to/some/dir install

Then, in a cabal.project.local, add these lines:

extra-include-dirs: /path/to/some/dir/include
extra-lib-dirs:     /path/to/some/dir/lib

With this, Cabal should be able to find the rustls-ffi native library.

Note: This process might become less manual if sth like haskell/cabal#7906 lands in Cabal.

Testing

When running the tests in this repo, you have to have minica and miniserve installed.