# Copyright lowRISC contributors.
# Licensed under the Apache License, Version 2.0, see LICENSE for details.
# SPDX-License-Identifier: Apache-2.0

[package]
name = "opentitanlib"
version = "0.1.0"
authors = ["lowRISC contributors"]
edition = "2018"

[dependencies]
anyhow = "1.0"
thiserror = "1.0"
lazy_static = "1.4.0"
regex = "1"
nix = "0.17.0"
bitflags = "1.0"
log = "0.4"
# TODO(cfrantz): work with cr1901 to release 0.3.0.
safe-ftdi = { git = "https://github.com/cr1901/safe-ftdi" }
num_enum = "0.5.2"
byteorder = "1.4.3"
structopt = "0.3"
rusb = "0.8.1"
serialport = "4.0.1"
zerocopy = "0.5.0"
mundane = "0.4.4"
hex = "0.4.3"

serde = { version="1", features=["serde_derive"] }
serde_json = "1"
erased-serde = "0.3.12"
opentitantool_derive = {path = "opentitantool_derive"}
