# Cargo.toml -- Cargo definition file for Tectonic. # Copyright 2016-2023 the Tectonic Project # Licensed under the MIT License. [package] name = "tectonic" version = "0.15.0" authors = ["Peter Williams "] 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 = "CARGO_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 = [ "crates/bridge_flate", "crates/bridge_freetype2", "crates/bridge_graphite2", "crates/bridge_harfbuzz", "crates/bridge_icu", "crates/bundles", "crates/cfg_support", "crates/dep_support", "crates/docmodel", "crates/engine_bibtex", "crates/engine_spx2html", "crates/engine_xdvipdfmx", "crates/engine_xetex", "crates/errors", "crates/geturl", "crates/io_base", "crates/pdf_io", "crates/status_base", "crates/xdv", "crates/xetex_format", "crates/xetex_layout", ] [lib] name = "tectonic" crate-type = ["rlib"] [dependencies] atty = "0.2" byte-unit = "^4.0" cfg-if = "1.0" error-chain = "^0.12" flate2 = { version = "^1.0.19", default-features = false, features = ["zlib"] } fs2 = "^0.4" lazy_static = "^1.4" libc = "^0.2" md-5 = "^0.10" open = "^4.0" quick-xml = "^0.28" serde = { version = "^1.0", features = ["derive"], optional = true } sha2 = "^0.10" structopt = "0.3" tectonic_bridge_core = { path = "crates/bridge_core", version =">=0.4.0,<1"} tectonic_bundles = { path = "crates/bundles", version =">=0.3.0,<1", default-features = false } tectonic_docmodel = { path = "crates/docmodel", version =">=0.2.0,<1", optional = true } tectonic_engine_bibtex = { path = "crates/engine_bibtex", version =">=0.1.0,<1"} tectonic_engine_spx2html = { path = "crates/engine_spx2html", version =">=0.3.0,<1"} tectonic_engine_xdvipdfmx = { path = "crates/engine_xdvipdfmx", version =">=0.3.0,<1"} tectonic_engine_xetex = { path = "crates/engine_xetex", version =">=0.4.0,<1"} tectonic_errors = { path = "crates/errors", version =">=0.1.0,<1"} tectonic_geturl = { path = "crates/geturl", version =">=0.3.0,<1", default-features = false } tectonic_io_base = { path = "crates/io_base", version =">=0.3.0,<1"} tectonic_status_base = { path = "crates/status_base", version =">=0.1.0,<1"} tectonic_xdv = { path = "crates/xdv", version =">=0.1.9,<1"} tectonic_xetex_layout = { path = "crates/xetex_layout", version =">=0.1.0,<1"} tempfile = "^3.1" termcolor = "^1.1" tokio = "^1.0" toml = { version = "^0.7", optional = true } url = "^2.0" watchexec = "^2.3.0" watchexec-filterer-globset = "1.2" watchexec-signals = "1.0" zip = { version = "^0.6", default-features = false, features = ["deflate"] } [features] default = ["geturl-reqwest", "serialization"] # The main motivation for this feature was to be able to compile without # proc-macros (via serde-derive), for statically-linked targets which can't use # them. In the CI, we now build for statically-linked targets using a # cross-compilation model that allows us to have proc-macros anyway. So maybe # this feature should go away? It's kind of annoying to support, and at this # point proc-macros may have snuck into the dependency tree elsewhere, anyway. serialization = ["serde", "tectonic_docmodel", "toml"] external-harfbuzz = ["tectonic_engine_xetex/external-harfbuzz"] geturl-curl = ["tectonic_bundles/geturl-curl", "tectonic_geturl/curl"] geturl-reqwest = ["tectonic_bundles/geturl-reqwest", "tectonic_geturl/reqwest"] native-tls-vendored = [ "tectonic_bundles/native-tls-vendored", "tectonic_geturl/native-tls-vendored", ] # developer feature to compile with the necessary flags for profiling tectonic. profile = [] [dev-dependencies] filetime = "^0.2" futures = "0.3" headers = "0.3" hyper = { version = "0.14", features = ["server"] } tempfile = "^3.1" [package.metadata.vcpkg] git = "https://github.com/microsoft/vcpkg" rev = "4a600e9fea71bd7872080cbb716797e04d30e6d3" overlay-triplets-path = "dist/vcpkg-triplets" # If other targets start using custom triplets like x86_64-pc-windows-msvc, # add them to crates/dep_support/src/lib.rs:new_from_vcpkg() to give users # guidance if they might need to set $VCPKGRS_TRIPLET. [package.metadata.vcpkg.target] x86_64-apple-darwin = { install = ["freetype", "harfbuzz[graphite2]", "icu"] } aarch64-apple-darwin = { triplet = "arm64-osx", install = [ "freetype", "harfbuzz[graphite2]", "icu", ] } x86_64-unknown-linux-gnu = { install = [ "fontconfig", "freetype", "harfbuzz[graphite2]", "icu", ] } x86_64-pc-windows-msvc = { triplet = "x64-windows-static-release", install = [ "fontconfig", "freetype", "harfbuzz[graphite2]", "icu", ] } [package.metadata.internal_dep_versions] tectonic_bridge_core = "thiscommit:2023-06-11:PvhF7YB" tectonic_bridge_flate = "thiscommit:2021-01-01:eer4ahL4" tectonic_bridge_graphite2 = "2c1ffcd702a662c003bd3d7d0ca4d169784cb6ad" tectonic_bridge_harfbuzz = "thiscommit:2023-09-17:FZwRtUP" tectonic_bridge_icu = "thiscommit:2023-09-17:AwTXf3W" tectonic_bundles = "thiscommit:2022-03-29:SFnXSaL" tectonic_cfg_support = "thiscommit:aeRoo7oa" tectonic_dep_support = "5faf4205bdd3d31101b749fc32857dd746f9e5bc" tectonic_docmodel = "a88a0418a9c3c559d023d9b1da9b03fce3a469e5" tectonic_engine_bibtex = "thiscommit:2021-01-17:KuhaeG1e" tectonic_engine_spx2html = "thiscommit:2022-11-22:vicemXu" tectonic_engine_xdvipdfmx = "8a003834b1f6d967d33cc07de4cc025af14560da" tectonic_engine_xetex = "c135e6a4a5a2e8c2dc4edcbcfd93f7d466ff8f88" tectonic_errors = "317ae79ceaa2593fb56090e37bf1f5cc24213dd9" tectonic_geturl = "68c5fc525c5fead75913bd90380043761bde9f61" tectonic_io_base = "thiscommit:2021-06-13:XFjtSsZ" tectonic_status_base = "317ae79ceaa2593fb56090e37bf1f5cc24213dd9" tectonic_xdv = "c91f2ef37858d1a0a724a5c3ddc2f7ea46373c77" tectonic_xetex_layout = "2c1ffcd702a662c003bd3d7d0ca4d169784cb6ad"