# Cargo.toml -- Cargo definition file for Tectonic.
# Copyright 2016-2020 the Tectonic Project
# Licensed under the MIT License.

[package]
name = "tectonic"
version = "0.4.0"
authors = ["Peter Williams <peter@newton.cx>"]
build = "build.rs"
description = """
A modernized, complete, embeddable TeX/LaTeX engine. Tectonic is forked from the XeTeX
extension to the classic “Web2C” implementation of TeX and uses the TeXLive distribution
of support files.
"""
homepage = "https://tectonic-typesetting.github.io/"
documentation = "https://docs.rs/tectonic"
repository = "https://github.com/tectonic-typesetting/tectonic/"
readme = "README.md"
keywords = ["tex", "latex", "typesetting", "font"]
categories = ["command-line-interface", "parser-implementations", "rendering", "science", "text-processing"]
license = "MIT"
edition = "2018"
exclude = ["/dist/", "/reference_sources/"]

[badges]
travis-ci = { repository = "tectonic-typesetting/tectonic" }
codecov = { repository = "tectonic-typesetting/tectonic", service = "github" }

[workspace]
members = ["xdv"]

[lib]
name = "tectonic"
crate-type = ["rlib"]

[build-dependencies]
cc = "^1.0.66"
pkg-config = "^0.3"
regex = "^1.4"
sha2 = "^0.9"
tectonic_cfg_support = { path = "cfg_support", version ="^0.1.0"}
vcpkg = "0.2.11"
cbindgen = "0.16.0"

[dependencies]
app_dirs = { version = "2", package = "app_dirs2" }
atty = "0.2"
byte-unit = "^4.0"
cfg-if = "1.0"
structopt = "0.3"
error-chain = "^0.12"
flate2 = { version = "^1.0", default-features = false, features = ["zlib"] }
fs2 = "^0.4"
headers = "^0.2"
lazy_static = "^1.4"
libc = "^0.2"
tempfile = "^3.1"
md-5 = "^0.9"
reqwest = "^0.9"
sha2 = "^0.9"
serde = { version = "^1.0", features = ["derive"], optional = true }
tectonic_xdv = { path = "xdv", version ="^0.1.9"}
termcolor = "^1.1"
toml = { version = "^0.5", optional = true }
zip = { version = "^0.5", default-features = false, features = ["deflate"] }

[features]
default = ["serialization"]
# Note: we used to have this to couple "serde" and "serde-derive", but we've
# adopted the newer scheme to avoid having to depend on both -- should maybe
# just get rid of this feature:
serialization = ["serde", "toml"]

# developer feature to compile with the necessary flags for profiling tectonic.
profile = []

# freetype-sys = "^0.4"
# harfbuzz-sys = "^0.1"
# libz-sys = "^1.0"

[dev-dependencies]
filetime = "^0.2"
futures = "0.1"
headers = "0.2"
hyper = "0.12"
tempfile = "^3.1"
tokio = "0.1.22"

[package.metadata.vcpkg]
git = "https://github.com/microsoft/vcpkg"
rev = "b7056e9f1f34f18b6648b1f1d9c4e9d31f04e91c"

[package.metadata.vcpkg.target]
x86_64-apple-darwin = { install = ["freetype","harfbuzz[icu,graphite2]"] }
x86_64-unknown-linux-gnu = { install = ["fontconfig","freetype","harfbuzz[icu,graphite2]"] }
x86_64-pc-windows-msvc = { triplet = "x64-windows-static", install = ["fontconfig","freetype","harfbuzz[icu,graphite2]"] }

[package.metadata.internal_dep_versions]
tectonic_cfg_support = "thiscommit:aeRoo7oa"
tectonic_xdv = "c91f2ef37858d1a0a724a5c3ddc2f7ea46373c77"

