[package] name = "roc_build" version = "0.1.0" authors = ["Richard Feldman "] edition = "2018" license = "Apache-2.0" [dependencies] roc_collections = { path = "../collections" } roc_can = { path = "../can" } roc_parse = { path = "../parse" } roc_region = { path = "../region" } roc_module = { path = "../module" } roc_problem = { path = "../problem" } roc_types = { path = "../types" } roc_builtins = { path = "../builtins" } roc_constrain = { path = "../constrain" } roc_uniq = { path = "../uniq" } roc_unify = { path = "../unify" } roc_solve = { path = "../solve" } roc_mono = { path = "../mono" } roc_load = { path = "../load" } roc_gen = { path = "../gen" } roc_reporting = { path = "../reporting" } 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.0" tokio = { version = "0.2", features = ["blocking", "fs", "sync", "rt-threaded", "process", "io-driver"] } # 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.release1" } 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"