-
Notifications
You must be signed in to change notification settings - Fork 11
/
Cargo.toml
133 lines (100 loc) · 4.6 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
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
[package]
name = "browsers"
version = "0.6.0"
authors = ["Madis Liias <[email protected]>"]
edition = "2021"
description = "Browsers"
homepage = "https://browsers.software/"
repository = "https://github.com/Browsers-software/browsers"
license = "MIT OR Apache-2.0"
build = "build.rs"
[dependencies]
# command-line argument parser
clap = "4.5.7"
# logging library
tracing = "0.1.40"
tracing-subscriber = { version = "0.3.18", features = ["fmt", "std", "time", "local-time"] }
tracing-appender = "0.2.3"
# Official remote
#rolling-file = "0.2.0"
# Chrono-less fork, so doesn't pull in old time crate 0.1
rolling-file = { git = "https://github.com/browsers-software/rolling-file-rs.git", branch = "browsers" }
dirs = "5.0.1"
toml = "0.8.14"
serde_json = "1.0.118"
serde = { version = "1.0.203", features = ["derive"] }
# UI library
# official remote
#druid = { git = "https://github.com/linebender/druid.git", features = ["png", "jpeg", "image"] }
# for local development
#druid = { path = "../druid/druid", features = ["png", "jpeg", "image"] }
# jpeg is required to process downloaded Chrome profile images
druid = { git = "https://github.com/browsers-software/druid.git", branch = "browsers", features = ["png", "jpeg", "image"] }
# parse urls
url = "2.5.2"
# parse url rules
globset = "0.4.14"
# Parse .ini files (e.g Firefox profiles.ini)
configparser = "3.1.0"
# Hash Firefox path with cityhash64, to map it to
# locked installation in profiles.ini
naive-cityhash = "0.2.0"
# To create lazy static variables
lazy_static = "1.5.0"
# When running a new instance of Browsers, new instances will check if existing instance is already running
single-instance = "0.3.3"
# When running a new instance of Browsers, new instances will send arguments
# to existing process via this library (and then close itself)
interprocess = "2.2.0"
dark-light = "1.1.1"
# macOS Core Foundation bindings
# small selection of Core Foundation libs I happen to need
[target.'cfg(target_os = "macos")'.dependencies]
core-foundation = "0.10.0"
cocoa-foundation = "0.2.0"
objc = "0.2.7"
libc = "0.2.154"
[target.'cfg(target_os = "linux")'.dependencies]
xdg-mime = "^0.4.0"
# to find application .desktop files
freedesktop-desktop-entry = "0.7.0"
# to find icon theme and icon;
freedesktop-icons = "0.2.6"
# Helps parsing commands that are in Exec field in .desktop files
shell-words = "1.1.0"
[target.'cfg(target_os = "windows")'.dependencies]
winreg = "0.52.0"
# same version as druid-shell uses
winapi = { version = "0.3.9", features = ["ntdef"] }
# Helps parsing commands that are in windows registry for different apps
# Same as `shell-words` but for Windows, i.e supporting \ in paths
winsplit = "0.1"
# Replacement for fs::canonicalize, but returns normal path instead of the `\\?` prefixed path
dunce = "1.0.4"
[target.'cfg(target_os = "windows")'.build-dependencies]
# To embed .ico into .exe
# Requires rc.exe from the Windows SDK (or windres.exe and ar.exe from minGW64)
winres = "0.1.12"
# statically link vcruntime140.dll instead of requiring user to install the runtime
static_vcruntime = "2.0"
#[profile.dev]
#lto = true
[profile.release]
#opt-level = 'z' # Optimize for size.
lto = true # Enable Link Time Optimization
#codegen-units = 1 # Reduce number of codegen units to increase optimizations.
#panic = 'abort' # Abort on panic
# Base image is ubuntu:20.04, see https://github.com/cross-rs/cross/blob/main/docker/Dockerfile.x86_64-unknown-linux-gnu
# Unfortunately https://github.com/cross-rs/cross/pull/591 is not yet in stable version,
# so update from main to specific version once released https://github.com/cross-rs/cross/pkgs/container/x86_64-unknown-linux-gnu/versions?filters%5Bversion_type%5D=tagged
# Additionally install some libraries we need
[package.metadata.cross.target.x86_64-unknown-linux-gnu]
image = "browsers.software/x86_64-unknown-linux-gnu-gtk:local"
#image = "ghcr.io/cross-rs/x86_64-unknown-linux-gnu:main"
#pre-build = ["DEBIAN_FRONTEND=noninteractive apt-get update && DEBIAN_FRONTEND=noninteractive apt-get -y --no-install-recommends install libpango-1.0-0 libpango1.0-dev libgtk-3-dev"]
[package.metadata.cross.target.aarch64-unknown-linux-gnu]
image = "browsers.software/aarch64-unknown-linux-gnu-gtk:local"
#image = "ghcr.io/cross-rs/aarch64-unknown-linux-gnu:main"
#pre-build = ["dpkg --add-architecture arm64 && DEBIAN_FRONTEND=noninteractive apt-get update && DEBIAN_FRONTEND=noninteractive apt-get -y --no-install-recommends install libpango-1.0-0:arm64 libpango1.0-dev:arm64 libgtk-3-dev:arm64"]
[package.metadata.cross.target.armv7-unknown-linux-gnueabihf]
image = "browsers.software/armv7-unknown-linux-gnueabihf-gtk:local"