-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCargo.toml
111 lines (100 loc) · 3.36 KB
/
Cargo.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
# Copyright (c) 2023 Mike Tsao. All rights reserved.
#
[package]
authors = ["Mike Tsao <[email protected]>"]
default-run = "groove-egui"
description = "A DAW (digital audio workstation) engine."
edition = "2021"
license = "Copyright (c) 2023 Mike Tsao. All rights reserved."
name = "groove"
publish = false
readme = "README.md"
version = "0.1.0"
[dependencies]
anyhow = "1.0"
async-std = "1.0"
atomic-counter = "1.0.1"
btreemultimap = "0.1.1"
clap = { version = "4.0", features = ["derive"] }
crossbeam-channel = { version = "0.5" }
derive_builder = "0.12"
derive_more = "0.99"
dipstick = { version = "0.9" }
eframe = { version = "0.22" }
egui_extras = { version = "0.22" }
ensnare = { path = "../ensnare" }
ensnare-core = { path = "../ensnare/core" }
ensnare-not-core = { path = "../ensnare/not-core" }
ensnare-midi-interface = { path = "../ensnare/midi-interface" }
ensnare-proc-macros = { path = "../ensnare/proc-macros" }
enum-primitive-derive = "0.2"
futures = "0.3"
groove-proc-macros = { path = "proc-macros" }
hound = "3.5"
once_cell = "1.18.0"
oorandom = "11.1"
plotters = { version = "0.3", optional = true, default-features = false }
rayon = "1.7"
serde = { version = "1.0", features = ["derive", "rc"] }
serde_json = "1.0"
spectrum-analyzer = { version = "1.2" }
strum = "0.25"
strum_macros = "0.25"
typetag = "0.2"
[workspace]
members = ["proc-macros"]
[[bin]]
name = "groove-cli"
[[bin]]
name = "groove-egui"
[lib]
name = "groove"
path = "src/lib.rs"
[profile.release]
strip = true
lto = true
codegen-units = 1
panic = "abort"
# https://doc.rust-lang.org/cargo/commands/cargo-build.html
#
# "Binaries are skipped if they have required-features that are missing"
#
# We want all the binaries to build on a plain `cargo build --workspace`.
[features]
visualization = ["dep:plotters"]
[build-dependencies]
clap_mangen = "0.2.12"
clap = { version = "4.0", features = ["derive"] }
[package.metadata.cross.target.aarch64-unknown-linux-gnu]
pre-build = [
"dpkg --add-architecture $CROSS_DEB_ARCH",
"apt -qq update",
"apt -y install pkg-config libfontconfig-dev:$CROSS_DEB_ARCH libasound2-dev:$CROSS_DEB_ARCH",
]
# See https://github.com/iced-rs/iced/blob/master/Cross.toml
image = "ghcr.io/iced-rs/aarch64:latest"
xargo = false
[package.metadata.cross.target.armv7-unknown-linux-gnueabihf]
pre-build = [
"dpkg --add-architecture $CROSS_DEB_ARCH",
"apt -qq update",
"apt -y install pkg-config libfontconfig-dev:$CROSS_DEB_ARCH libasound2-dev:$CROSS_DEB_ARCH",
]
# See https://github.com/iced-rs/iced/blob/master/Cross.toml
image = "ghcr.io/iced-rs/armv7:latest"
xargo = false
[package.metadata.deb]
assets = [
# "You can use target/release/ in asset paths, even if Cargo is configured
# to cross-compile or use custom CARGO_TARGET_DIR. The target dir paths will
# be automatically corrected." https://github.com/kornelski/cargo-deb
["LICENSE.md", "usr/share/doc/groove/", "644"],
["README.md", "usr/share/doc/groove/", "644"],
["assets-nodist/os/groove-egui.desktop", "usr/share/applications/", "644"],
["assets/patches/**/*.json", "usr/share/groove/patches/", "644"],
["assets/samples/**/*.wav", "usr/share/groove/samples/", "644"],
["projects/**/*.json", "usr/share/groove/projects/", "644"],
["target/release/groove-cli", "usr/bin/", "755"],
["target/release/groove-egui", "usr/bin/", "755"],
["target/groove.1", "usr/local/man/man1/", "644"],
]