/ buzzsaw-core / Cargo.toml
Cargo.toml
  1  [package]
  2  name = "buzzsaw-core"
  3  version.workspace = true
  4  edition.workspace = true
  5  rust-version.workspace = true
  6  license.workspace = true
  7  include = ["src/**/*", "LICENSE.md", "README.md"]
  8  
  9  [dependencies]
 10  bitflags = "2.11.0"
 11  buzzsaw-sys = { path = "../buzzsaw-sys", version = "0.1.0" }
 12  document-features = "0.2.12"
 13  
 14  [features]
 15  default = ["hb-11_1_0"]
 16  ## If this feature is enabled, the `buzzsaw-src` crate will be used to compile and statically link
 17  ## to a copy of Harfbuzz. The build process requires a C compiler.
 18  bundled = ["buzzsaw-sys/bundled"]
 19  #! ### Harfbuzz version selection
 20  #!
 21  #! The following features determine the minimum Harfbuzz version expected, and with that, what
 22  #! features are enabled on the API surface.
 23  #!
 24  #! As this mostly affects Linux distros where Harfbuzz is likely pre-installed, each feature flag
 25  #! gives a short list of the minimum required version of a few popular distros.
 26  #
 27  ## Require HarfBuzz 3.0.0
 28  ##
 29  ## The minimum Linux OS versions are as follows:
 30  ##
 31  ## | OS     | Version       |
 32  ## | ------ | ------------- |
 33  ## | Debian | 12 (Bookworm) |
 34  ## | Ubuntu | 24.04 (Noble) |
 35  ## | Fedora | 38            |
 36  ## | Alpine | 3.16          |
 37  hb-3_0_0 = []
 38  ## Require HarfBuzz 4.2.0
 39  ##
 40  ## The minimum Linux OS versions are as follows:
 41  ##
 42  ## | OS     | Version       |
 43  ## | ------ | ------------- |
 44  ## | Debian | 12 (Bookworm) |
 45  ## | Ubuntu | 24.04 (Noble) |
 46  ## | Fedora | 38            |
 47  ## | Alpine | 3.16          |
 48  hb-4_2_0 = ["hb-3_0_0"]
 49  ## Require HarfBuzz 4.3.0
 50  ##
 51  ## The minimum Linux OS versions are as follows:
 52  ##
 53  ## | OS     | Version       |
 54  ## | ------ | ------------- |
 55  ## | Debian | 12 (Bookworm) |
 56  ## | Ubuntu | 24.04 (Noble) |
 57  ## | Fedora | 38            |
 58  ## | Alpine | 3.16          |
 59  hb-4_3_0 = ["hb-4_2_0"]
 60  ## Require HarfBuzz 4.4.0
 61  ##
 62  ## The minimum Linux OS versions are as follows:
 63  ##
 64  ## | OS     | Version       |
 65  ## | ------ | ------------- |
 66  ## | Debian | 12 (Bookworm) |
 67  ## | Ubuntu | 24.04 (Noble) |
 68  ## | Fedora | 38            |
 69  ## | Alpine | 3.17          |
 70  hb-4_4_0 = ["hb-4_3_0"]
 71  ## Require HarfBuzz 6.0.0
 72  ##
 73  ## The minimum Linux OS versions are as follows:
 74  ##
 75  ## | OS     | Version       |
 76  ## | ------ | ------------- |
 77  ## | Debian | 12 (Bookworm) |
 78  ## | Ubuntu | 24.04 (Noble) |
 79  ## | Fedora | 38            |
 80  ## | Alpine | 3.18          |
 81  hb-6_0_0 = ["hb-4_4_0"]
 82  ## Require HarfBuzz 7.0.0
 83  ##
 84  ## The minimum Linux OS versions are as follows:
 85  ##
 86  ## | OS     | Version       |
 87  ## | ------ | ------------- |
 88  ## | Debian | 13 (Trixie)   |
 89  ## | Ubuntu | 24.04 (Noble) |
 90  ## | Fedora | 38            |
 91  ## | Alpine | 3.18          |
 92  hb-7_0_0 = ["hb-6_0_0"]
 93  ## Require HarfBuzz 7.2.0
 94  ##
 95  ## The minimum Linux OS versions are as follows:
 96  ##
 97  ## | OS     | Version       |
 98  ## | ------ | ------------- |
 99  ## | Debian | 13 (Trixie)   |
100  ## | Ubuntu | 24.04 (Noble) |
101  ## | Fedora | 39            |
102  ## | Alpine | 3.18          |
103  hb-7_2_0 = ["hb-7_0_0"]
104  ## Require HarfBuzz 7.3.0
105  ##
106  ## The minimum Linux OS versions are as follows:
107  ##
108  ## | OS     | Version       |
109  ## | ------ | ------------- |
110  ## | Debian | 13 (Trixie)   |
111  ## | Ubuntu | 24.04 (Noble) |
112  ## | Fedora | 39            |
113  ## | Alpine | 3.18          |
114  hb-7_3_0 = ["hb-7_2_0"]
115  ## Require HarfBuzz 8.3.1
116  ##
117  ## The minimum Linux OS versions are as follows:
118  ##
119  ## | OS     | Version        |
120  ## | ------ | -------------- |
121  ## | Debian | 13 (Trixie)    |
122  ## | Ubuntu | 25.04 (Plucky) |
123  ## | Fedora | 40             |
124  ## | Alpine | 3.20           |
125  hb-8_3_1 = ["hb-7_3_0"]
126  ## Require HarfBuzz 8.5.0
127  ##
128  ## The minimum Linux OS versions are as follows:
129  ##
130  ## | OS     | Version        |
131  ## | ------ | -------------- |
132  ## | Debian | 13 (Trixie)    |
133  ## | Ubuntu | 25.04 (Plucky) |
134  ## | Fedora | 40             |
135  ## | Alpine | 3.20           |
136  hb-8_5_0 = ["hb-8_3_1"]
137  ## Require HarfBuzz 10.2.0
138  ##
139  ## The minimum Linux OS versions are as follows:
140  ##
141  ## | OS     | Version        |
142  ## | ------ | -------------- |
143  ## | Debian | 13 (Trixie)    |
144  ## | Ubuntu | 25.04 (Plucky) |
145  ## | Fedora | 42             |
146  ## | Alpine | 3.22           |
147  hb-10_2_0 = ["hb-8_5_0"]
148  ## Require HarfBuzz 11.1.0
149  ##
150  ## The minimum Linux OS versions are as follows:
151  ##
152  ## | OS     | Version          |
153  ## | ------ | ---------------- |
154  ## | Debian | 14 (Forky)       |
155  ## | Ubuntu | 26.04 (Resolute) |
156  ## | Fedora | 43               |
157  ## | Alpine | 3.22             |
158  hb-11_1_0 = ["hb-10_2_0"]
159  
160  [lints]
161  workspace = true
162  
163  [dev-dependencies]
164  strum = { version = "0.28.0", features = ["derive"] }