[package]
edition = "2021"
name = "nebulus"
version = "0.1.29"
build = "build.rs"
publish = true
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Low-latency native OpenIPC FPV ground station built with egui"
readme = "README.md"
license = "MIT"
repository = "https://github.com/neelsani/openipc-rs"
[package.metadata.android]
package = "dev.neels.openipc.nebulus"
apk_name = "Nebulus"
java_sources = "android/java"
build_targets = [
"aarch64-linux-android",
"armv7-linux-androideabi",
"x86_64-linux-android",
"i686-linux-android",
]
[package.metadata.android.sdk]
min_sdk_version = 26
target_sdk_version = 36
[package.metadata.android.application]
theme = "@android:style/Theme.DeviceDefault.NoActionBar.Fullscreen"
label = "Nebulus"
[[package.metadata.android.application.activity]]
name = "dev.neels.openipc.nebulus.NebulusActivity"
exported = true
[[package.metadata.android.application.activity.meta_data]]
name = "android.app.lib_name"
value = "nebulus_app"
[[package.metadata.android.application.activity.intent_filter]]
actions = ["android.intent.action.MAIN"]
categories = ["android.intent.category.LAUNCHER"]
[[package.metadata.android.application.service]]
name = "dev.neels.openipc.nebulus.NebulusVpnService"
enabled = true
exported = false
permission = "android.permission.BIND_VPN_SERVICE"
[[package.metadata.android.application.service.intent_filter]]
actions = ["android.net.VpnService"]
[[package.metadata.android.uses_feature]]
name = "android.hardware.usb.host"
required = true
[lib]
name = "nebulus_app"
crate-type = [
"cdylib",
"rlib",
]
path = "src/lib.rs"
[[bin]]
name = "nebulus"
path = "src/main.rs"
[dependencies.catppuccin-egui]
version = "5.7.0"
features = ["egui33"]
default-features = false
[dependencies.eframe]
version = "0.35"
features = [
"default_fonts",
"persistence",
]
default-features = false
[dependencies.egui_plot]
version = "0.36"
[dependencies.log]
version = "0.4"
[dependencies.mavlink]
version = "0.18.0"
features = [
"std",
"dialect-common",
"mav2-message-extensions",
"mav2-message-signing",
]
default-features = false
[dependencies.muxide]
version = "0.2.5"
[dependencies.nusb]
version = "0.2.3"
package = "nusb-webusb"
[dependencies.openipc-core]
version = "0.1.29"
[dependencies.openipc-rtl88xx]
version = "0.1.29"
[dependencies.openipc-video]
version = "0.1.29"
[dependencies.ropus]
version = "0.12.18"
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.web-time]
version = "1.1"
[dependencies.zip]
version = "4.6.1"
features = ["deflate"]
default-features = false
[target.'cfg(all(not(target_arch = "wasm32"), not(target_os = "android")))'.dependencies.dirs]
version = "6"
[target.'cfg(all(not(target_arch = "wasm32"), not(target_os = "android")))'.dependencies.rfd]
version = "0.17.2"
features = ["xdg-portal"]
default-features = false
[target.'cfg(all(target_arch = "wasm32", target_os = "unknown"))'.dependencies.console_error_panic_hook]
version = "0.1"
[target.'cfg(all(target_arch = "wasm32", target_os = "unknown"))'.dependencies.eframe]
version = "0.35"
features = ["glow"]
default-features = false
[target.'cfg(all(target_arch = "wasm32", target_os = "unknown"))'.dependencies.egui_glow]
version = "0.35"
[target.'cfg(all(target_arch = "wasm32", target_os = "unknown"))'.dependencies.futures-channel]
version = "0.3"
[target.'cfg(all(target_arch = "wasm32", target_os = "unknown"))'.dependencies.futures-util]
version = "0.3"
[target.'cfg(all(target_arch = "wasm32", target_os = "unknown"))'.dependencies.js-sys]
version = "0.3"
[target.'cfg(all(target_arch = "wasm32", target_os = "unknown"))'.dependencies.rfd]
version = "0.17.2"
default-features = false
[target.'cfg(all(target_arch = "wasm32", target_os = "unknown"))'.dependencies.wasm-bindgen]
version = "0.2"
[target.'cfg(all(target_arch = "wasm32", target_os = "unknown"))'.dependencies.wasm-bindgen-futures]
version = "0.4"
[target.'cfg(all(target_arch = "wasm32", target_os = "unknown"))'.dependencies.web-sys]
version = "0.3"
features = [
"AudioBuffer",
"AudioBufferSourceNode",
"AudioContext",
"AudioContextState",
"AudioDestinationNode",
"AudioNode",
"AudioParam",
"AudioScheduledSourceNode",
"BaseAudioContext",
"Blob",
"BlobPropertyBag",
"Document",
"Element",
"GainNode",
"HtmlAnchorElement",
"HtmlCanvasElement",
"Navigator",
"Usb",
"UsbDevice",
"UsbDeviceFilter",
"UsbDeviceRequestOptions",
"Url",
"VideoFrame",
"Window",
"console",
]
[target.'cfg(all(unix, not(target_arch = "wasm32")))'.dependencies.libc]
version = "0.2"
[target.'cfg(any(target_os = "macos", target_os = "windows"))'.dependencies.tray-icon]
version = "0.24.1"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.cpal]
version = "0.18.1"
features = ["realtime"]
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.tun]
version = "0.8"
features = [
"async",
"verify_binary_signature",
]
[target.'cfg(target_os = "android")'.dependencies.android-activity]
version = "0.6"
features = ["native-activity"]
[target.'cfg(target_os = "android")'.dependencies.eframe]
version = "0.35"
features = ["glow"]
default-features = false
[target.'cfg(target_os = "android")'.dependencies.egui_glow]
version = "0.35"
[target.'cfg(target_os = "android")'.dependencies.jni]
version = "0.22.4"
[target.'cfg(target_os = "android")'.dependencies.libc]
version = "0.2"
[target.'cfg(target_os = "android")'.dependencies.log]
version = "0.4"
[target.'cfg(target_os = "android")'.dependencies.ndk]
version = "0.9"
features = [
"nativewindow",
"api-level-26",
]
default-features = false
[target.'cfg(target_os = "linux")'.dependencies.eframe]
version = "0.35"
features = [
"wgpu",
"wayland",
"x11",
]
default-features = false
[target.'cfg(target_os = "macos")'.dependencies.eframe]
version = "0.35"
features = ["wgpu"]
default-features = false
[target.'cfg(target_os = "windows")'.dependencies.eframe]
version = "0.35"
features = ["wgpu"]
default-features = false
[target.'cfg(target_os = "windows")'.dependencies.reqwest]
version = "0.13.4"
features = [
"blocking",
"native-tls-no-alpn",
]
default-features = false
[target.'cfg(target_os = "windows")'.dependencies.sha2]
version = "0.10.9"
[target.'cfg(target_os = "windows")'.dependencies.tokio]
version = "1"
features = [
"rt",
"time",
]
[target.'cfg(target_os = "windows")'.dependencies.windows]
version = "0.62.2"
features = [
"Win32_Foundation",
"Win32_System_Threading",
]