diff --git a/Cargo.toml b/Cargo.toml index 92a51dc..80602bd 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -3,3 +3,33 @@ [workspace] resolver = "2" members = ["crates/*"] + +[workspace.package] +version = "0.1.0" +license = "LGPL-3.0-or-later" +edition = "2021" +repository = "https://git.libre-chip.org/libre-chip/fayalite" +keywords = ["hdl", "hardware", "semiconductors", "firrtl", "fpga"] +categories = ["simulation", "development-tools", "compilers"] +rust-version = "1.79" + +[workspace.dependencies] +fayalite-proc-macros = { version = "=0.1.0", path = "crates/fayalite-proc-macros" } +fayalite-proc-macros-impl = { version = "=0.1.0", path = "crates/fayalite-proc-macros-impl" } +fayalite-visit-gen = { version = "=0.1.0", path = "crates/fayalite-visit-gen" } +base16ct = "0.2.0" +bitvec = { version = "1.0.1", features = ["serde"] } +hashbrown = "0.14.3" +indexmap = { version = "2.2.6", features = ["serde"] } +num-bigint = "0.4.4" +num-traits = "0.2.16" +prettyplease = "0.2.20" +proc-macro2 = "1.0.83" +quote = "1.0.36" +serde = { version = "1.0.202", features = ["derive"] } +serde_json = { version = "1.0.117", features = ["preserve_order"] } +sha2 = "0.10.8" +syn = { version = "2.0.66", features = ["full", "fold", "visit", "extra-traits"] } +tempfile = "3.10.1" +thiserror = "1.0.61" +trybuild = "1.0" diff --git a/README.md b/README.md new file mode 100644 index 0000000..e69de29 diff --git a/crates/fayalite-proc-macros-impl/Cargo.toml b/crates/fayalite-proc-macros-impl/Cargo.toml index 4c94935..31c4465 100644 --- a/crates/fayalite-proc-macros-impl/Cargo.toml +++ b/crates/fayalite-proc-macros-impl/Cargo.toml @@ -2,17 +2,22 @@ # See Notices.txt for copyright information [package] name = "fayalite-proc-macros-impl" -version = "0.1.0" -edition = "2021" workspace = "../.." -license = "LGPL-3.0-or-later" +description = "an implementation detail of fayalite -- the procedural macros' implementations" +categories.workspace = true +edition.workspace = true +keywords.workspace = true +license.workspace = true +repository.workspace = true +rust-version.workspace = true +version.workspace = true [dependencies] -base16ct = "0.2.0" -num-bigint = "0.4.4" -prettyplease = "0.2.20" -proc-macro2 = "1.0.78" -quote = "1.0.35" -sha2 = "0.10.8" -syn = { version = "2.0.53", features = ["full", "fold", "visit", "extra-traits"] } -tempfile = "3.10.1" +base16ct = { workspace = true } +num-bigint = { workspace = true } +prettyplease = { workspace = true } +proc-macro2 = { workspace = true } +quote = { workspace = true } +sha2 = { workspace = true } +syn = { workspace = true } +tempfile = { workspace = true } diff --git a/crates/fayalite-proc-macros-impl/LICENSE.md b/crates/fayalite-proc-macros-impl/LICENSE.md new file mode 120000 index 0000000..f0608a6 --- /dev/null +++ b/crates/fayalite-proc-macros-impl/LICENSE.md @@ -0,0 +1 @@ +../../LICENSE.md \ No newline at end of file diff --git a/crates/fayalite-proc-macros-impl/Notices.txt b/crates/fayalite-proc-macros-impl/Notices.txt new file mode 120000 index 0000000..9f3a306 --- /dev/null +++ b/crates/fayalite-proc-macros-impl/Notices.txt @@ -0,0 +1 @@ +../../Notices.txt \ No newline at end of file diff --git a/crates/fayalite-proc-macros/Cargo.toml b/crates/fayalite-proc-macros/Cargo.toml index 8e09bd1..08c630a 100644 --- a/crates/fayalite-proc-macros/Cargo.toml +++ b/crates/fayalite-proc-macros/Cargo.toml @@ -2,13 +2,18 @@ # See Notices.txt for copyright information [package] name = "fayalite-proc-macros" -version = "0.1.0" -edition = "2021" workspace = "../.." -license = "LGPL-3.0-or-later" +description = "an implementation detail of fayalite -- the procedural macros" +categories.workspace = true +edition.workspace = true +keywords.workspace = true +license.workspace = true +repository.workspace = true +rust-version.workspace = true +version.workspace = true [lib] proc-macro = true [dependencies] -fayalite-proc-macros-impl = { version = "=0.1.0", path = "../fayalite-proc-macros-impl" } +fayalite-proc-macros-impl = { workspace = true } diff --git a/crates/fayalite-proc-macros/LICENSE.md b/crates/fayalite-proc-macros/LICENSE.md new file mode 120000 index 0000000..f0608a6 --- /dev/null +++ b/crates/fayalite-proc-macros/LICENSE.md @@ -0,0 +1 @@ +../../LICENSE.md \ No newline at end of file diff --git a/crates/fayalite-proc-macros/Notices.txt b/crates/fayalite-proc-macros/Notices.txt new file mode 120000 index 0000000..9f3a306 --- /dev/null +++ b/crates/fayalite-proc-macros/Notices.txt @@ -0,0 +1 @@ +../../Notices.txt \ No newline at end of file diff --git a/crates/fayalite-visit-gen/Cargo.toml b/crates/fayalite-visit-gen/Cargo.toml index 3360f00..6da95d2 100644 --- a/crates/fayalite-visit-gen/Cargo.toml +++ b/crates/fayalite-visit-gen/Cargo.toml @@ -2,17 +2,22 @@ # See Notices.txt for copyright information [package] name = "fayalite-visit-gen" -version = "0.1.0" -edition = "2021" workspace = "../.." -license = "LGPL-3.0-or-later" +description = "an implementation detail of fayalite -- Visit/Fold implementation generator" +categories.workspace = true +edition.workspace = true +keywords.workspace = true +license.workspace = true +repository.workspace = true +rust-version.workspace = true +version.workspace = true [dependencies] -indexmap = { version = "2.2.6", features = ["serde"] } -prettyplease = "0.2.20" -proc-macro2 = "1.0.83" -quote = "1.0.36" -serde = { version = "1.0.202", features = ["derive"] } -serde_json = { version = "1.0.117", features = ["preserve_order"] } -syn = { version = "2.0.66", features = ["full", "extra-traits"] } -thiserror = "1.0.61" +indexmap = { workspace = true } +prettyplease = { workspace = true } +proc-macro2 = { workspace = true } +quote = { workspace = true } +serde = { workspace = true } +serde_json = { workspace = true } +syn = { workspace = true } +thiserror = { workspace = true } diff --git a/crates/fayalite-visit-gen/LICENSE.md b/crates/fayalite-visit-gen/LICENSE.md new file mode 120000 index 0000000..f0608a6 --- /dev/null +++ b/crates/fayalite-visit-gen/LICENSE.md @@ -0,0 +1 @@ +../../LICENSE.md \ No newline at end of file diff --git a/crates/fayalite-visit-gen/Notices.txt b/crates/fayalite-visit-gen/Notices.txt new file mode 120000 index 0000000..9f3a306 --- /dev/null +++ b/crates/fayalite-visit-gen/Notices.txt @@ -0,0 +1 @@ +../../Notices.txt \ No newline at end of file diff --git a/crates/fayalite/Cargo.toml b/crates/fayalite/Cargo.toml index ad6712f..4d3e289 100644 --- a/crates/fayalite/Cargo.toml +++ b/crates/fayalite/Cargo.toml @@ -2,22 +2,28 @@ # See Notices.txt for copyright information [package] name = "fayalite" -version = "0.1.0" -edition = "2021" +description = "Hardware Description Language embedded in Rust, using FIRRTL's semantics" workspace = "../.." -license = "LGPL-3.0-or-later" +readme = "README.md" +categories.workspace = true +edition.workspace = true +keywords.workspace = true +license.workspace = true +repository.workspace = true +rust-version.workspace = true +version.workspace = true [dependencies] -bitvec = { version = "1.0.1", features = ["serde"] } -hashbrown = "0.14.3" -num-bigint = "0.4.4" -num-traits = "0.2.16" -fayalite-proc-macros = { version = "=0.1.0", path = "../fayalite-proc-macros" } -serde = { version = "1.0.202", features = ["derive"] } -serde_json = "1.0.117" +bitvec = { workspace = true } +hashbrown = { workspace = true } +num-bigint = { workspace = true } +num-traits = { workspace = true } +fayalite-proc-macros = { workspace = true } +serde = { workspace = true } +serde_json = { workspace = true } [dev-dependencies] -trybuild = "1.0" +trybuild = { workspace = true } [build-dependencies] -fayalite-visit-gen = { version = "=0.1.0", path = "../fayalite-visit-gen" } +fayalite-visit-gen = { workspace = true } diff --git a/crates/fayalite/LICENSE.md b/crates/fayalite/LICENSE.md new file mode 120000 index 0000000..f0608a6 --- /dev/null +++ b/crates/fayalite/LICENSE.md @@ -0,0 +1 @@ +../../LICENSE.md \ No newline at end of file diff --git a/crates/fayalite/Notices.txt b/crates/fayalite/Notices.txt new file mode 120000 index 0000000..9f3a306 --- /dev/null +++ b/crates/fayalite/Notices.txt @@ -0,0 +1 @@ +../../Notices.txt \ No newline at end of file diff --git a/crates/fayalite/README.md b/crates/fayalite/README.md new file mode 120000 index 0000000..fe84005 --- /dev/null +++ b/crates/fayalite/README.md @@ -0,0 +1 @@ +../../README.md \ No newline at end of file