Skip to content

githedgehog/dpdk-sys

Repository files navigation

dpdk-sys

Nix build suite for a rust + dpdk toolchain.

Building the toolchains

Requirements:

  1. just
    1. If you have cargo:
      cargo install just
    2. use your package manager (but ensure a recent version of just)
  2. nix

    Single user nix (which I recommend) can be installed with:

    sudo mkdir -m 0755 -p /nix
    sudo chown "$(id -u):$(id -g)" /nix
    sh <(curl -L https://nixos.org/nix/install) --no-daemon
  3. docker
    1. Install docker via a package manager.
    2. The user you are running the build as needs to be in the docker group (or be root).
  4. bash or some other POSIX shell (with `set -euo pipefail`)

    Whatever implementation of sh you have is fine so long as it supports

    1. set -e (exit on error)
    2. set -u (exit on undefined variable)
    3. set -o pipefail (exit on error in a pipeline)

    You very likely already have bash or busybox which supports these flags.

    Unfortunately, sh as it exists in CI does not support these flags, so we need to specify bash in the justfile ¯_(ツ)_/¯