forked from ImageOptim/gifski
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Cargo.toml
104 lines (91 loc) · 3.28 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
[package]
authors = ["Kornel <[email protected]>"]
categories = ["multimedia::video", "command-line-utilities"]
description = "pngquant-based GIF maker for nice-looking animGIFs"
documentation = "https://docs.rs/gifski"
homepage = "https://gif.ski"
include = ["/README.md", "/Cargo.toml", "/src/**/*.rs", "/src/bin/*.rs"]
keywords = ["gif", "encoder", "converter", "maker", "gifquant"]
license = "AGPL-3.0-or-later"
name = "gifski"
readme = "README.md"
repository = "https://github.com/ImageOptim/gifski"
version = "1.32.0"
autobins = false
edition = "2021"
rust-version = "1.74"
[[bin]]
doctest = false
name = "gifski"
required-features = ["binary"]
[dependencies]
clap = { version = "4.5.4", features = ["cargo"], optional = true }
imgref = "1.10.1"
gif = { version = "0.13.1", default-features = false, features = ["std", "raii_no_panic"] }
gif-dispose = "5.0.0"
imagequant = "4.3.0"
lodepng = { version = "3.10.1", optional = true }
pbr = { version = "1.1.1", optional = true }
resize = { version = "0.8.3", features = ["rayon"] }
rgb = "0.8.37"
wild = { version = "2.2.0", optional = true, features = ["glob-quoted-on-windows"] }
natord = { version = "1.0.9", optional = true }
quick-error = "2.0.1"
dunce = { version = "1.0.4", optional = true }
crossbeam-channel = "0.5.11"
loop9 = "0.1.5"
# noisy-float 0.2 bug
num-traits = { version = "0.2.17", features = ["i128", "std"] }
crossbeam-utils = "0.8.19"
ordered-channel = { version = "1.1.0", features = ["crossbeam-channel"] }
y4m = { version = "0.8.0", optional = true }
yuv = { version = "0.1.5", optional = true }
[dependencies.ffmpeg]
package = "ffmpeg-next"
version = "6"
optional = true
default-features = false
features = ["codec", "format", "filter", "software-resampling", "software-scaling"]
[dev-dependencies]
lodepng = "3.10.1"
[features]
# `cargo build` will skip the binaries with missing `required-features`
# so all CLI dependencies have to be enabled by default.
default = ["gifsicle", "binary"]
# You can disable this feture when using gifski as a library.
binary = ["dep:clap", "dep:yuv", "dep:y4m", "png", "pbr", "dep:wild", "dep:natord", "dep:dunce"]
capi = [] # internal for cargo-c only
png = ["dep:lodepng"]
# Links dynamically to ffmpeg. Needs ffmpeg devel package installed on the system.
video = ["dep:ffmpeg"]
# Builds ffmpeg from source. Needs a C compiler, and all of ffmpeg's source dependencies.
video-static = ["video", "ffmpeg/build"]
# If you're lucky, this one might work with ffmpeg from vcpkg.
video-prebuilt-static = ["video", "ffmpeg/static"]
# Support lossy LZW encoding when lower quality is set
gifsicle = []
[lib]
path = "src/lib.rs"
crate-type = ["lib", "staticlib", "cdylib"]
[profile.dev]
debug = 1
opt-level = 1
[profile.dev.package.'*']
opt-level = 2
debug = false
[profile.release]
panic = "abort"
lto = true
debug = false
opt-level = 3
strip = true
[package.metadata.docs.rs]
targets = ["x86_64-unknown-linux-gnu"]
[package.metadata.capi.header]
subdirectory = false
generation = false
[package.metadata.capi.install.include]
asset = [{from = "gifski.h"}]
[patch.crates-io]
# ffmpeg-sys-next does not support cross-compilation, which I use to produce binaries https://github.com/zmwangx/rust-ffmpeg-sys/pull/30
ffmpeg-sys-next = { rev = "fd5784d645df2ebe022a204ac36582074da1edf7", git = "https://github.com/kornelski/rust-ffmpeg-sys-1"}