MyNixOS website logo
Description

TLS bindings for Rustls.

TLS bindings for Rustls via rustls-ffi.

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.13.0
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.

Metadata

Version

0.1.0.0

License

Platforms (75)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-darwin
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-darwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-windows