netcode-io: Bindings to the low-level library.

[ bsd3, library, network ] [ Propose Tags ]

Bindings to the low-level 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.

[Skip to Readme]


[Index] [Quick Jump]


Automatic Flags

If true, build the examples


Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info


Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


Versions [RSS] 0.0.1, 0.0.2, 0.0.3
Dependencies base (>=4.12 && <5), bindings-DSL, netcode-io [details]
License BSD-3-Clause
Copyright Pavel Krajcevski, 2020
Author Pavel Krajcevski
Category Network
Home page
Bug tracker
Source repo head: git clone
Uploaded by Mokosha at 2021-10-09T16:12:06Z
Distributions LTSHaskell:0.0.3, NixOS:0.0.3, Stackage:0.0.3
Executables netcode-io-soak, netcode-io-clientserver, netcode-io-server, netcode-io-client, netcode-io-c-unit-tests
Downloads 481 total (13 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2021-10-09 [all 1 reports]

Readme for netcode-io-0.0.3

[back to package description]

netcode-io Build Status

Haskell bindings to the library


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.


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:

  - D:\msys64\mingw64\include

  - D:\msys64\mingw64\lib

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

C:\> stack path --stack-root


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

$ brew install libsodium


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


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