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

[ bsd3, library, network ] [ Propose Tags ]

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.


[Skip to Readme]

Modules

[Index] [Quick Jump]

Flags

Automatic Flags
NameDescriptionDefault
examples

If true, build the examples

Disabled

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

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

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
Maintainer krajcevski@gmail.com
Category Network
Home page http://www.github.com/Mokosha/netcode-io
Bug tracker http://www.github.com/Mokosha/netcode-io
Source repo head: git clone https://www.github.com/Mokosha/netcode-io.git
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 620 total (18 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 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.