MyNixOS website logo
Description

Bindings to the low-level netcode.io library.

Bindings to the low-level netcode.io library, which come in two flavors: c-level bindings and a high-level interface to the library. For the low level interface, refer to the Bindings.Netcode.IO module. For the high-level interface, which is a bit closer to idiomatic Haskell, refer to the Netcode.IO module.

netcode-io Build Status

Haskell bindings to the netcode.io library

Development

These bindings were developed using stack in the "usual" way. We expect that anyone building from source to use the same workflow. The only major dependency is on the sodium library. netcode-io uses at least version 1.0.16. Below are various ways for integrating this into your Haskell build ecosystem.

Windows

The cabal file specifies that the sodium library is required for building this package. Unfortunately, this is a bit tricky on Windows since there's no native package manager. To use this with Windows, we recommend using MSYS2. msys2.exe has a built-in shell for using the gcc toolchain on Windows. This toolchain is compatible with the one ghc uses. Within this environment, you can install sodium using the pacman package manager:

$ pacman -S mingw64/mingw-w64-x86_64-libsodium

Once installed, you can add the following lines to your global config.yaml:

extra-include-dirs:
  - D:\msys64\mingw64\include

extra-lib-dirs:
  - D:\msys64\mingw64\lib

Your config.yaml is located at your %STACK_ROOT% directory:

C:\> stack path --stack-root
C:\path\to\stack\root

OS X

On MacOS, we can install sodium simply by using homebrew:

$ brew install libsodium

Linux

On Linux, it depends on your package manager, but if you're using Ubuntu Bionic (18.04) or later:

$ sudo apt-get install libsodium-dev

LICENSING

IANAL, but these bindings use the same license that the original library uses, so you must comply with both.

Metadata

Version

0.0.3

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