mirror of
https://github.com/roc-lang/roc.git
synced 2024-11-11 16:51:53 +03:00
46a03e7cd5
I currently don't like how the xml is parsed. It is definitely functional, but it is very strange. Serde is not made to deal with a list of fields with the same name that aren't next to eachother in the xml.
91 lines
3.2 KiB
TOML
91 lines
3.2 KiB
TOML
[package]
|
|
name = "roc_cli"
|
|
version = "0.1.0"
|
|
authors = ["Richard Feldman <oss@rtfeldman.com>"]
|
|
repository = "https://github.com/rtfeldman/roc"
|
|
edition = "2018"
|
|
description = "A CLI for Roc"
|
|
license = "Apache-2.0"
|
|
default-run = "roc"
|
|
|
|
[[bin]]
|
|
name = "roc"
|
|
path = "src/main.rs"
|
|
test = false
|
|
bench = false
|
|
|
|
[features]
|
|
default = ["target-x86"]
|
|
|
|
target-x86 = []
|
|
|
|
# arm and wasm give linker errors on some platforms
|
|
target-arm = []
|
|
target-webassembly = []
|
|
|
|
target-all = [
|
|
"target-x86",
|
|
"target-arm",
|
|
"target-webassembly"
|
|
]
|
|
|
|
|
|
[dependencies]
|
|
roc_collections = { path = "../compiler/collections" }
|
|
roc_can = { path = "../compiler/can" }
|
|
roc_parse = { path = "../compiler/parse" }
|
|
roc_region = { path = "../compiler/region" }
|
|
roc_module = { path = "../compiler/module" }
|
|
roc_problem = { path = "../compiler/problem" }
|
|
roc_types = { path = "../compiler/types" }
|
|
roc_builtins = { path = "../compiler/builtins" }
|
|
roc_constrain = { path = "../compiler/constrain" }
|
|
roc_uniq = { path = "../compiler/uniq" }
|
|
roc_unify = { path = "../compiler/unify" }
|
|
roc_solve = { path = "../compiler/solve" }
|
|
roc_mono = { path = "../compiler/mono" }
|
|
roc_load = { path = "../compiler/load" }
|
|
roc_gen = { path = "../compiler/gen" }
|
|
roc_build = { path = "../compiler/build" }
|
|
roc_fmt = { path = "../compiler/fmt" }
|
|
roc_reporting = { path = "../compiler/reporting" }
|
|
roc_editor = { path = "../editor" }
|
|
# TODO switch to clap 3.0.0 once it's out. Tried adding clap = "~3.0.0-beta.1" and cargo wouldn't accept it
|
|
clap = { git = "https://github.com/rtfeldman/clap", branch = "master" }
|
|
im = "14" # im and im-rc should always have the same version!
|
|
im-rc = "14" # im and im-rc should always have the same version!
|
|
bumpalo = { version = "3.2", features = ["collections"] }
|
|
inlinable_string = "0.1"
|
|
tokio = { version = "0.2", features = ["blocking", "fs", "sync", "rt-threaded", "process", "io-driver"] }
|
|
libc = "0.2"
|
|
|
|
# NOTE: rtfeldman/inkwell is a fork of TheDan64/inkwell which does not change anything.
|
|
#
|
|
# The reason for this fork is that the way Inkwell is designed, you have to use
|
|
# a particular branch (e.g. "llvm8-0") in Cargo.toml. That would be fine, except that
|
|
# breaking changes get pushed directly to that branch, which breaks our build
|
|
# without warning.
|
|
#
|
|
# We tried referencing a specific rev on TheDan64/inkwell directly (instead of branch),
|
|
# but although that worked locally, it did not work on GitHub Actions. (After a few
|
|
# hours of investigation, gave up trying to figure out why.) So this is the workaround:
|
|
# having an immutable tag on the rtfeldman/inkwell fork which points to
|
|
# a particular "release" of Inkwell.
|
|
#
|
|
# When we want to update Inkwell, we can sync up rtfeldman/inkwell to the latest
|
|
# commit of TheDan64/inkwell, push a new tag which points to the latest commit,
|
|
# change the tag value in this Cargo.toml to point to that tag, and `cargo update`.
|
|
# This way, GitHub Actions works and nobody's builds get broken.
|
|
inkwell = { git = "https://github.com/rtfeldman/inkwell", tag = "llvm10-0.release2" }
|
|
target-lexicon = "0.10"
|
|
|
|
[dev-dependencies]
|
|
pretty_assertions = "0.5.1"
|
|
maplit = "1.0.1"
|
|
indoc = "0.3.3"
|
|
quickcheck = "0.8"
|
|
quickcheck_macros = "0.8"
|
|
strip-ansi-escapes = "0.1"
|
|
serde = { version = "1.0", features = ["derive"] }
|
|
serde-xml-rs = "0.4"
|