Compare commits
No commits in common. "6d4fbcd078bf915ca4b3759da97cb41a89a50157" and "a2e93278c12351fd4c9e24d1615027aeca003ed3" have entirely different histories.
6d4fbcd078
...
a2e93278c1
34 changed files with 100 additions and 1633 deletions
14
.github/workflows/build-rust.yml
vendored
14
.github/workflows/build-rust.yml
vendored
|
|
@ -17,24 +17,21 @@ jobs:
|
||||||
platform: Linux
|
platform: Linux
|
||||||
packages:
|
packages:
|
||||||
- gcc-aarch64-linux-gnu
|
- gcc-aarch64-linux-gnu
|
||||||
test-targets:
|
|
||||||
- x86_64-unknown-linux-gnu
|
|
||||||
targets:
|
targets:
|
||||||
|
- x86_64-unknown-linux-gnu
|
||||||
- aarch64-unknown-linux-gnu
|
- aarch64-unknown-linux-gnu
|
||||||
- os: macos-12
|
- os: macos-12
|
||||||
platform: macOS
|
platform: macOS
|
||||||
test-targets:
|
|
||||||
- x86_64-apple-darwin
|
|
||||||
targets:
|
targets:
|
||||||
|
- x86_64-apple-darwin
|
||||||
- aarch64-apple-darwin
|
- aarch64-apple-darwin
|
||||||
- aarch64-apple-ios
|
- aarch64-apple-ios
|
||||||
- aarch64-apple-ios-sim
|
- aarch64-apple-ios-sim
|
||||||
- x86_64-apple-ios
|
- x86_64-apple-ios
|
||||||
- os: windows-2022
|
- os: windows-2022
|
||||||
platform: Windows
|
platform: Windows
|
||||||
test-targets:
|
|
||||||
- x86_64-pc-windows-msvc
|
|
||||||
targets:
|
targets:
|
||||||
|
- x86_64-pc-windows-msvc
|
||||||
- aarch64-pc-windows-msvc
|
- aarch64-pc-windows-msvc
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
env:
|
env:
|
||||||
|
|
@ -62,7 +59,4 @@ jobs:
|
||||||
targets: ${{ join(matrix.targets, ', ') }}
|
targets: ${{ join(matrix.targets, ', ') }}
|
||||||
- name: Build
|
- name: Build
|
||||||
shell: bash
|
shell: bash
|
||||||
run: cargo build --verbose --workspace --all-features --target ${{ join(matrix.targets, ' --target ') }} --target ${{ join(matrix.test-targets, ' --target ') }}
|
run: cargo build --verbose --workspace --all-features --target ${{ join(matrix.targets, ' --target ') }}
|
||||||
- name: Test
|
|
||||||
shell: bash
|
|
||||||
run: cargo test --verbose --workspace --all-features --target ${{ join(matrix.test-targets, ' --target ') }}
|
|
||||||
|
|
|
||||||
4
.gitignore
vendored
4
.gitignore
vendored
|
|
@ -3,7 +3,3 @@ xcuserdata
|
||||||
|
|
||||||
# Rust
|
# Rust
|
||||||
target/
|
target/
|
||||||
|
|
||||||
# GTK
|
|
||||||
blueprint-compiler/
|
|
||||||
.flatpak-builder/
|
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,2 @@
|
||||||
[workspace]
|
[workspace]
|
||||||
members = ["burrow", "tun"]
|
members = ["burrow", "tun"]
|
||||||
exclude = ["burrow-gtk"]
|
|
||||||
|
|
|
||||||
897
burrow-gtk/Cargo.lock
generated
897
burrow-gtk/Cargo.lock
generated
|
|
@ -1,897 +0,0 @@
|
||||||
# This file is automatically @generated by Cargo.
|
|
||||||
# It is not intended for manual editing.
|
|
||||||
version = 3
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "aho-corasick"
|
|
||||||
version = "1.0.2"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "43f6cb1bf222025340178f382c426f13757b2960e89779dfcb319c32542a5a41"
|
|
||||||
dependencies = [
|
|
||||||
"memchr",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "anyhow"
|
|
||||||
version = "1.0.71"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "9c7d0618f0e0b7e8ff11427422b64564d5fb0be1940354bfe2e0529b18a9d9b8"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "autocfg"
|
|
||||||
version = "1.1.0"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "bitflags"
|
|
||||||
version = "1.3.2"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "block"
|
|
||||||
version = "0.1.6"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "burrow-gtk"
|
|
||||||
version = "0.1.0"
|
|
||||||
dependencies = [
|
|
||||||
"gettext-rs",
|
|
||||||
"gtk4",
|
|
||||||
"libadwaita",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "cairo-rs"
|
|
||||||
version = "0.17.10"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "ab3603c4028a5e368d09b51c8b624b9a46edcd7c3778284077a6125af73c9f0a"
|
|
||||||
dependencies = [
|
|
||||||
"bitflags",
|
|
||||||
"cairo-sys-rs",
|
|
||||||
"glib",
|
|
||||||
"libc",
|
|
||||||
"once_cell",
|
|
||||||
"thiserror",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "cairo-sys-rs"
|
|
||||||
version = "0.17.10"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "691d0c66b1fb4881be80a760cb8fe76ea97218312f9dfe2c9cc0f496ca279cb1"
|
|
||||||
dependencies = [
|
|
||||||
"glib-sys",
|
|
||||||
"libc",
|
|
||||||
"system-deps",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "cc"
|
|
||||||
version = "1.0.79"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "cfg-expr"
|
|
||||||
version = "0.15.3"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "215c0072ecc28f92eeb0eea38ba63ddfcb65c2828c46311d646f1a3ff5f9841c"
|
|
||||||
dependencies = [
|
|
||||||
"smallvec",
|
|
||||||
"target-lexicon",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "equivalent"
|
|
||||||
version = "1.0.0"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "88bffebc5d80432c9b140ee17875ff173a8ab62faad5b257da912bd2f6c1c0a1"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "field-offset"
|
|
||||||
version = "0.3.6"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "38e2275cc4e4fc009b0669731a1e5ab7ebf11f469eaede2bab9309a5b4d6057f"
|
|
||||||
dependencies = [
|
|
||||||
"memoffset",
|
|
||||||
"rustc_version",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "futures-channel"
|
|
||||||
version = "0.3.28"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2"
|
|
||||||
dependencies = [
|
|
||||||
"futures-core",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "futures-core"
|
|
||||||
version = "0.3.28"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "futures-executor"
|
|
||||||
version = "0.3.28"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0"
|
|
||||||
dependencies = [
|
|
||||||
"futures-core",
|
|
||||||
"futures-task",
|
|
||||||
"futures-util",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "futures-io"
|
|
||||||
version = "0.3.28"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "futures-macro"
|
|
||||||
version = "0.3.28"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72"
|
|
||||||
dependencies = [
|
|
||||||
"proc-macro2",
|
|
||||||
"quote",
|
|
||||||
"syn 2.0.22",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "futures-task"
|
|
||||||
version = "0.3.28"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "futures-util"
|
|
||||||
version = "0.3.28"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533"
|
|
||||||
dependencies = [
|
|
||||||
"futures-core",
|
|
||||||
"futures-macro",
|
|
||||||
"futures-task",
|
|
||||||
"pin-project-lite",
|
|
||||||
"pin-utils",
|
|
||||||
"slab",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "gdk-pixbuf"
|
|
||||||
version = "0.17.10"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "695d6bc846438c5708b07007537b9274d883373dd30858ca881d7d71b5540717"
|
|
||||||
dependencies = [
|
|
||||||
"bitflags",
|
|
||||||
"gdk-pixbuf-sys",
|
|
||||||
"gio",
|
|
||||||
"glib",
|
|
||||||
"libc",
|
|
||||||
"once_cell",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "gdk-pixbuf-sys"
|
|
||||||
version = "0.17.10"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "9285ec3c113c66d7d0ab5676599176f1f42f4944ca1b581852215bf5694870cb"
|
|
||||||
dependencies = [
|
|
||||||
"gio-sys",
|
|
||||||
"glib-sys",
|
|
||||||
"gobject-sys",
|
|
||||||
"libc",
|
|
||||||
"system-deps",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "gdk4"
|
|
||||||
version = "0.6.3"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "c3abf96408a26e3eddf881a7f893a1e111767137136e347745e8ea6ed12731ff"
|
|
||||||
dependencies = [
|
|
||||||
"bitflags",
|
|
||||||
"cairo-rs",
|
|
||||||
"gdk-pixbuf",
|
|
||||||
"gdk4-sys",
|
|
||||||
"gio",
|
|
||||||
"glib",
|
|
||||||
"libc",
|
|
||||||
"pango",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "gdk4-sys"
|
|
||||||
version = "0.6.3"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "1bc92aa1608c089c49393d014c38ac0390d01e4841e1fedaa75dbcef77aaed64"
|
|
||||||
dependencies = [
|
|
||||||
"cairo-sys-rs",
|
|
||||||
"gdk-pixbuf-sys",
|
|
||||||
"gio-sys",
|
|
||||||
"glib-sys",
|
|
||||||
"gobject-sys",
|
|
||||||
"libc",
|
|
||||||
"pango-sys",
|
|
||||||
"pkg-config",
|
|
||||||
"system-deps",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "gettext-rs"
|
|
||||||
version = "0.7.0"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "e49ea8a8fad198aaa1f9655a2524b64b70eb06b2f3ff37da407566c93054f364"
|
|
||||||
dependencies = [
|
|
||||||
"gettext-sys",
|
|
||||||
"locale_config",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "gettext-sys"
|
|
||||||
version = "0.21.3"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "c63ce2e00f56a206778276704bbe38564c8695249fdc8f354b4ef71c57c3839d"
|
|
||||||
dependencies = [
|
|
||||||
"cc",
|
|
||||||
"temp-dir",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "gio"
|
|
||||||
version = "0.17.10"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "a6973e92937cf98689b6a054a9e56c657ed4ff76de925e36fc331a15f0c5d30a"
|
|
||||||
dependencies = [
|
|
||||||
"bitflags",
|
|
||||||
"futures-channel",
|
|
||||||
"futures-core",
|
|
||||||
"futures-io",
|
|
||||||
"futures-util",
|
|
||||||
"gio-sys",
|
|
||||||
"glib",
|
|
||||||
"libc",
|
|
||||||
"once_cell",
|
|
||||||
"pin-project-lite",
|
|
||||||
"smallvec",
|
|
||||||
"thiserror",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "gio-sys"
|
|
||||||
version = "0.17.10"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "0ccf87c30a12c469b6d958950f6a9c09f2be20b7773f7e70d20b867fdf2628c3"
|
|
||||||
dependencies = [
|
|
||||||
"glib-sys",
|
|
||||||
"gobject-sys",
|
|
||||||
"libc",
|
|
||||||
"system-deps",
|
|
||||||
"winapi",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "glib"
|
|
||||||
version = "0.17.10"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "d3fad45ba8d4d2cea612b432717e834f48031cd8853c8aaf43b2c79fec8d144b"
|
|
||||||
dependencies = [
|
|
||||||
"bitflags",
|
|
||||||
"futures-channel",
|
|
||||||
"futures-core",
|
|
||||||
"futures-executor",
|
|
||||||
"futures-task",
|
|
||||||
"futures-util",
|
|
||||||
"gio-sys",
|
|
||||||
"glib-macros",
|
|
||||||
"glib-sys",
|
|
||||||
"gobject-sys",
|
|
||||||
"libc",
|
|
||||||
"memchr",
|
|
||||||
"once_cell",
|
|
||||||
"smallvec",
|
|
||||||
"thiserror",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "glib-macros"
|
|
||||||
version = "0.17.10"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "eca5c79337338391f1ab8058d6698125034ce8ef31b72a442437fa6c8580de26"
|
|
||||||
dependencies = [
|
|
||||||
"anyhow",
|
|
||||||
"heck",
|
|
||||||
"proc-macro-crate",
|
|
||||||
"proc-macro-error",
|
|
||||||
"proc-macro2",
|
|
||||||
"quote",
|
|
||||||
"syn 1.0.109",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "glib-sys"
|
|
||||||
version = "0.17.10"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "d80aa6ea7bba0baac79222204aa786a6293078c210abe69ef1336911d4bdc4f0"
|
|
||||||
dependencies = [
|
|
||||||
"libc",
|
|
||||||
"system-deps",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "gobject-sys"
|
|
||||||
version = "0.17.10"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "cd34c3317740a6358ec04572c1bcfd3ac0b5b6529275fae255b237b314bb8062"
|
|
||||||
dependencies = [
|
|
||||||
"glib-sys",
|
|
||||||
"libc",
|
|
||||||
"system-deps",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "graphene-rs"
|
|
||||||
version = "0.17.10"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "def4bb01265b59ed548b05455040d272d989b3012c42d4c1bbd39083cb9b40d9"
|
|
||||||
dependencies = [
|
|
||||||
"glib",
|
|
||||||
"graphene-sys",
|
|
||||||
"libc",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "graphene-sys"
|
|
||||||
version = "0.17.10"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "1856fc817e6a6675e36cea0bd9a3afe296f5d9709d1e2d3182803ac77f0ab21d"
|
|
||||||
dependencies = [
|
|
||||||
"glib-sys",
|
|
||||||
"libc",
|
|
||||||
"pkg-config",
|
|
||||||
"system-deps",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "gsk4"
|
|
||||||
version = "0.6.3"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "6f01ef44fa7cac15e2da9978529383e6bee03e570ba5bf7036b4c10a15cc3a3c"
|
|
||||||
dependencies = [
|
|
||||||
"bitflags",
|
|
||||||
"cairo-rs",
|
|
||||||
"gdk4",
|
|
||||||
"glib",
|
|
||||||
"graphene-rs",
|
|
||||||
"gsk4-sys",
|
|
||||||
"libc",
|
|
||||||
"pango",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "gsk4-sys"
|
|
||||||
version = "0.6.3"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "c07a84fb4dcf1323d29435aa85e2f5f58bef564342bef06775ec7bd0da1f01b0"
|
|
||||||
dependencies = [
|
|
||||||
"cairo-sys-rs",
|
|
||||||
"gdk4-sys",
|
|
||||||
"glib-sys",
|
|
||||||
"gobject-sys",
|
|
||||||
"graphene-sys",
|
|
||||||
"libc",
|
|
||||||
"pango-sys",
|
|
||||||
"system-deps",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "gtk4"
|
|
||||||
version = "0.6.6"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "b28a32a04cd75cef14a0983f8b0c669e0fe152a0a7725accdeb594e2c764c88b"
|
|
||||||
dependencies = [
|
|
||||||
"bitflags",
|
|
||||||
"cairo-rs",
|
|
||||||
"field-offset",
|
|
||||||
"futures-channel",
|
|
||||||
"gdk-pixbuf",
|
|
||||||
"gdk4",
|
|
||||||
"gio",
|
|
||||||
"glib",
|
|
||||||
"graphene-rs",
|
|
||||||
"gsk4",
|
|
||||||
"gtk4-macros",
|
|
||||||
"gtk4-sys",
|
|
||||||
"libc",
|
|
||||||
"once_cell",
|
|
||||||
"pango",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "gtk4-macros"
|
|
||||||
version = "0.6.6"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "6a4d6b61570f76d3ee542d984da443b1cd69b6105264c61afec3abed08c2500f"
|
|
||||||
dependencies = [
|
|
||||||
"anyhow",
|
|
||||||
"proc-macro-crate",
|
|
||||||
"proc-macro-error",
|
|
||||||
"proc-macro2",
|
|
||||||
"quote",
|
|
||||||
"syn 1.0.109",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "gtk4-sys"
|
|
||||||
version = "0.6.3"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "5f8283f707b07e019e76c7f2934bdd4180c277e08aa93f4c0d8dd07b7a34e22f"
|
|
||||||
dependencies = [
|
|
||||||
"cairo-sys-rs",
|
|
||||||
"gdk-pixbuf-sys",
|
|
||||||
"gdk4-sys",
|
|
||||||
"gio-sys",
|
|
||||||
"glib-sys",
|
|
||||||
"gobject-sys",
|
|
||||||
"graphene-sys",
|
|
||||||
"gsk4-sys",
|
|
||||||
"libc",
|
|
||||||
"pango-sys",
|
|
||||||
"system-deps",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "hashbrown"
|
|
||||||
version = "0.14.0"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "heck"
|
|
||||||
version = "0.4.1"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "indexmap"
|
|
||||||
version = "2.0.0"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d"
|
|
||||||
dependencies = [
|
|
||||||
"equivalent",
|
|
||||||
"hashbrown",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "lazy_static"
|
|
||||||
version = "1.4.0"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "libadwaita"
|
|
||||||
version = "0.3.1"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "b1c4efd2020a4fcedbad2c4a97de97bf6045e5dc49d61d5a5d0cfd753db60700"
|
|
||||||
dependencies = [
|
|
||||||
"bitflags",
|
|
||||||
"futures-channel",
|
|
||||||
"gdk-pixbuf",
|
|
||||||
"gdk4",
|
|
||||||
"gio",
|
|
||||||
"glib",
|
|
||||||
"gtk4",
|
|
||||||
"libadwaita-sys",
|
|
||||||
"libc",
|
|
||||||
"once_cell",
|
|
||||||
"pango",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "libadwaita-sys"
|
|
||||||
version = "0.3.0"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "0727b85b4fe2b1bed5ac90df6343de15cbf8118bfb96d7c3cc1512681a4b34ac"
|
|
||||||
dependencies = [
|
|
||||||
"gdk4-sys",
|
|
||||||
"gio-sys",
|
|
||||||
"glib-sys",
|
|
||||||
"gobject-sys",
|
|
||||||
"gtk4-sys",
|
|
||||||
"libc",
|
|
||||||
"pango-sys",
|
|
||||||
"system-deps",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "libc"
|
|
||||||
version = "0.2.147"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "locale_config"
|
|
||||||
version = "0.3.0"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "08d2c35b16f4483f6c26f0e4e9550717a2f6575bcd6f12a53ff0c490a94a6934"
|
|
||||||
dependencies = [
|
|
||||||
"lazy_static",
|
|
||||||
"objc",
|
|
||||||
"objc-foundation",
|
|
||||||
"regex",
|
|
||||||
"winapi",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "malloc_buf"
|
|
||||||
version = "0.0.6"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb"
|
|
||||||
dependencies = [
|
|
||||||
"libc",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "memchr"
|
|
||||||
version = "2.5.0"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "memoffset"
|
|
||||||
version = "0.9.0"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c"
|
|
||||||
dependencies = [
|
|
||||||
"autocfg",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "objc"
|
|
||||||
version = "0.2.7"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1"
|
|
||||||
dependencies = [
|
|
||||||
"malloc_buf",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "objc-foundation"
|
|
||||||
version = "0.1.1"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "1add1b659e36c9607c7aab864a76c7a4c2760cd0cd2e120f3fb8b952c7e22bf9"
|
|
||||||
dependencies = [
|
|
||||||
"block",
|
|
||||||
"objc",
|
|
||||||
"objc_id",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "objc_id"
|
|
||||||
version = "0.1.1"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "c92d4ddb4bd7b50d730c215ff871754d0da6b2178849f8a2a2ab69712d0c073b"
|
|
||||||
dependencies = [
|
|
||||||
"objc",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "once_cell"
|
|
||||||
version = "1.18.0"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "pango"
|
|
||||||
version = "0.17.10"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "35be456fc620e61f62dff7ff70fbd54dcbaf0a4b920c0f16de1107c47d921d48"
|
|
||||||
dependencies = [
|
|
||||||
"bitflags",
|
|
||||||
"gio",
|
|
||||||
"glib",
|
|
||||||
"libc",
|
|
||||||
"once_cell",
|
|
||||||
"pango-sys",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "pango-sys"
|
|
||||||
version = "0.17.10"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "3da69f9f3850b0d8990d462f8c709561975e95f689c1cdf0fecdebde78b35195"
|
|
||||||
dependencies = [
|
|
||||||
"glib-sys",
|
|
||||||
"gobject-sys",
|
|
||||||
"libc",
|
|
||||||
"system-deps",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "pin-project-lite"
|
|
||||||
version = "0.2.9"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "pin-utils"
|
|
||||||
version = "0.1.0"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "pkg-config"
|
|
||||||
version = "0.3.27"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "proc-macro-crate"
|
|
||||||
version = "1.3.1"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919"
|
|
||||||
dependencies = [
|
|
||||||
"once_cell",
|
|
||||||
"toml_edit",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "proc-macro-error"
|
|
||||||
version = "1.0.4"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c"
|
|
||||||
dependencies = [
|
|
||||||
"proc-macro-error-attr",
|
|
||||||
"proc-macro2",
|
|
||||||
"quote",
|
|
||||||
"syn 1.0.109",
|
|
||||||
"version_check",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "proc-macro-error-attr"
|
|
||||||
version = "1.0.4"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869"
|
|
||||||
dependencies = [
|
|
||||||
"proc-macro2",
|
|
||||||
"quote",
|
|
||||||
"version_check",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "proc-macro2"
|
|
||||||
version = "1.0.63"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "7b368fba921b0dce7e60f5e04ec15e565b3303972b42bcfde1d0713b881959eb"
|
|
||||||
dependencies = [
|
|
||||||
"unicode-ident",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "quote"
|
|
||||||
version = "1.0.29"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "573015e8ab27661678357f27dc26460738fd2b6c86e46f386fde94cb5d913105"
|
|
||||||
dependencies = [
|
|
||||||
"proc-macro2",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "regex"
|
|
||||||
version = "1.8.4"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "d0ab3ca65655bb1e41f2a8c8cd662eb4fb035e67c3f78da1d61dffe89d07300f"
|
|
||||||
dependencies = [
|
|
||||||
"aho-corasick",
|
|
||||||
"memchr",
|
|
||||||
"regex-syntax",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "regex-syntax"
|
|
||||||
version = "0.7.2"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "436b050e76ed2903236f032a59761c1eb99e1b0aead2c257922771dab1fc8c78"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "rustc_version"
|
|
||||||
version = "0.4.0"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366"
|
|
||||||
dependencies = [
|
|
||||||
"semver",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "semver"
|
|
||||||
version = "1.0.17"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "bebd363326d05ec3e2f532ab7660680f3b02130d780c299bca73469d521bc0ed"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "serde"
|
|
||||||
version = "1.0.164"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "9e8c8cf938e98f769bc164923b06dce91cea1751522f46f8466461af04c9027d"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "serde_spanned"
|
|
||||||
version = "0.6.3"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "96426c9936fd7a0124915f9185ea1d20aa9445cc9821142f0a73bc9207a2e186"
|
|
||||||
dependencies = [
|
|
||||||
"serde",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "slab"
|
|
||||||
version = "0.4.8"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d"
|
|
||||||
dependencies = [
|
|
||||||
"autocfg",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "smallvec"
|
|
||||||
version = "1.10.0"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "syn"
|
|
||||||
version = "1.0.109"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
|
|
||||||
dependencies = [
|
|
||||||
"proc-macro2",
|
|
||||||
"quote",
|
|
||||||
"unicode-ident",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "syn"
|
|
||||||
version = "2.0.22"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "2efbeae7acf4eabd6bcdcbd11c92f45231ddda7539edc7806bd1a04a03b24616"
|
|
||||||
dependencies = [
|
|
||||||
"proc-macro2",
|
|
||||||
"quote",
|
|
||||||
"unicode-ident",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "system-deps"
|
|
||||||
version = "6.1.1"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "30c2de8a4d8f4b823d634affc9cd2a74ec98c53a756f317e529a48046cbf71f3"
|
|
||||||
dependencies = [
|
|
||||||
"cfg-expr",
|
|
||||||
"heck",
|
|
||||||
"pkg-config",
|
|
||||||
"toml",
|
|
||||||
"version-compare",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "target-lexicon"
|
|
||||||
version = "0.12.8"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "1b1c7f239eb94671427157bd93b3694320f3668d4e1eff08c7285366fd777fac"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "temp-dir"
|
|
||||||
version = "0.1.11"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "af547b166dd1ea4b472165569fc456cfb6818116f854690b0ff205e636523dab"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "thiserror"
|
|
||||||
version = "1.0.40"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac"
|
|
||||||
dependencies = [
|
|
||||||
"thiserror-impl",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "thiserror-impl"
|
|
||||||
version = "1.0.40"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f"
|
|
||||||
dependencies = [
|
|
||||||
"proc-macro2",
|
|
||||||
"quote",
|
|
||||||
"syn 2.0.22",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "toml"
|
|
||||||
version = "0.7.5"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "1ebafdf5ad1220cb59e7d17cf4d2c72015297b75b19a10472f99b89225089240"
|
|
||||||
dependencies = [
|
|
||||||
"serde",
|
|
||||||
"serde_spanned",
|
|
||||||
"toml_datetime",
|
|
||||||
"toml_edit",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "toml_datetime"
|
|
||||||
version = "0.6.3"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b"
|
|
||||||
dependencies = [
|
|
||||||
"serde",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "toml_edit"
|
|
||||||
version = "0.19.11"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "266f016b7f039eec8a1a80dfe6156b633d208b9fccca5e4db1d6775b0c4e34a7"
|
|
||||||
dependencies = [
|
|
||||||
"indexmap",
|
|
||||||
"serde",
|
|
||||||
"serde_spanned",
|
|
||||||
"toml_datetime",
|
|
||||||
"winnow",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "unicode-ident"
|
|
||||||
version = "1.0.9"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "b15811caf2415fb889178633e7724bad2509101cde276048e013b9def5e51fa0"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "version-compare"
|
|
||||||
version = "0.1.1"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "579a42fc0b8e0c63b76519a339be31bed574929511fa53c1a3acae26eb258f29"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "version_check"
|
|
||||||
version = "0.9.4"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "winapi"
|
|
||||||
version = "0.3.9"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
|
|
||||||
dependencies = [
|
|
||||||
"winapi-i686-pc-windows-gnu",
|
|
||||||
"winapi-x86_64-pc-windows-gnu",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "winapi-i686-pc-windows-gnu"
|
|
||||||
version = "0.4.0"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "winapi-x86_64-pc-windows-gnu"
|
|
||||||
version = "0.4.0"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "winnow"
|
|
||||||
version = "0.4.7"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "ca0ace3845f0d96209f0375e6d367e3eb87eb65d27d445bdc9f1843a26f39448"
|
|
||||||
dependencies = [
|
|
||||||
"memchr",
|
|
||||||
]
|
|
||||||
|
|
@ -1,15 +0,0 @@
|
||||||
[package]
|
|
||||||
name = "burrow-gtk"
|
|
||||||
version = "0.1.0"
|
|
||||||
edition = "2021"
|
|
||||||
|
|
||||||
[dependencies]
|
|
||||||
gettext-rs = { version = "0.7", features = ["gettext-system"] }
|
|
||||||
gtk = { version = "0.6", package = "gtk4" }
|
|
||||||
|
|
||||||
[dependencies.adw]
|
|
||||||
package = "libadwaita"
|
|
||||||
version = "0.3"
|
|
||||||
features = ["v1_2"]
|
|
||||||
|
|
||||||
[workspace]
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
# Burrow (GTK)
|
|
||||||
|
|
||||||
A description of this project.
|
|
||||||
|
|
@ -1,64 +0,0 @@
|
||||||
{
|
|
||||||
"app-id" : "com.hackclub.burrow",
|
|
||||||
"runtime" : "org.gnome.Platform",
|
|
||||||
"runtime-version" : "45",
|
|
||||||
"sdk" : "org.gnome.Sdk",
|
|
||||||
"sdk-extensions" : [
|
|
||||||
"org.freedesktop.Sdk.Extension.rust-stable"
|
|
||||||
],
|
|
||||||
"command" : "burrow-gtk",
|
|
||||||
"finish-args" : [
|
|
||||||
"--share=network",
|
|
||||||
"--share=ipc",
|
|
||||||
"--socket=fallback-x11",
|
|
||||||
"--device=dri",
|
|
||||||
"--socket=wayland"
|
|
||||||
],
|
|
||||||
"build-options" : {
|
|
||||||
"append-path" : "/usr/lib/sdk/rust-stable/bin",
|
|
||||||
"build-args" : [
|
|
||||||
"--share=network"
|
|
||||||
],
|
|
||||||
"env" : {
|
|
||||||
"RUST_BACKTRACE" : "1",
|
|
||||||
"RUST_LOG" : "burrow-gtk=debug"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"cleanup" : [
|
|
||||||
"/include",
|
|
||||||
"/lib/pkgconfig",
|
|
||||||
"/man",
|
|
||||||
"/share/doc",
|
|
||||||
"/share/gtk-doc",
|
|
||||||
"/share/man",
|
|
||||||
"/share/pkgconfig",
|
|
||||||
"*.la",
|
|
||||||
"*.a"
|
|
||||||
],
|
|
||||||
"modules" : [
|
|
||||||
{
|
|
||||||
"name": "blueprint-compiler",
|
|
||||||
"buildsystem": "meson",
|
|
||||||
"sources": [
|
|
||||||
{
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://gitlab.gnome.org/jwestman/blueprint-compiler",
|
|
||||||
"tag": "v0.8.1"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name" : "burrow-gtk",
|
|
||||||
"builddir" : true,
|
|
||||||
"subdir" : "burrow-gtk",
|
|
||||||
"buildsystem" : "meson",
|
|
||||||
"sources" : [
|
|
||||||
{
|
|
||||||
"type": "dir",
|
|
||||||
"path": "./"
|
|
||||||
}
|
|
||||||
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
@ -1,8 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<component type="desktop">
|
|
||||||
<id>com.hackclub.burrow.desktop</id>
|
|
||||||
<project_license>GPL-3.0-or-later</project_license>
|
|
||||||
<description>
|
|
||||||
<p>No description</p>
|
|
||||||
</description>
|
|
||||||
</component>
|
|
||||||
|
|
@ -1,8 +0,0 @@
|
||||||
[Desktop Entry]
|
|
||||||
Name=Burrow
|
|
||||||
Exec=burrow-gtk
|
|
||||||
Icon=com.hackclub.burrow
|
|
||||||
Terminal=false
|
|
||||||
Type=Application
|
|
||||||
Categories=GTK;Network
|
|
||||||
StartupNotify=true
|
|
||||||
|
|
@ -1,5 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<schemalist gettext-domain="burrow-gtk">
|
|
||||||
<schema id="com.hackclub.burrow" path="/com/hackclub/burrow/">
|
|
||||||
</schema>
|
|
||||||
</schemalist>
|
|
||||||
|
|
@ -1,130 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
||||||
<svg
|
|
||||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
|
||||||
xmlns:cc="http://creativecommons.org/ns#"
|
|
||||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
|
||||||
xmlns:svg="http://www.w3.org/2000/svg"
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
|
||||||
width="33.750061mm"
|
|
||||||
height="33.750061mm"
|
|
||||||
viewBox="0 0 33.750061 33.750061"
|
|
||||||
version="1.1"
|
|
||||||
id="svg974">
|
|
||||||
<defs
|
|
||||||
id="defs968">
|
|
||||||
<clipPath
|
|
||||||
clipPathUnits="userSpaceOnUse"
|
|
||||||
id="clipPath18689">
|
|
||||||
<rect
|
|
||||||
clip-path="none"
|
|
||||||
transform="rotate(45)"
|
|
||||||
ry="32.000008"
|
|
||||||
rx="32.000008"
|
|
||||||
y="123.9986"
|
|
||||||
x="486.03726"
|
|
||||||
height="362.94299"
|
|
||||||
width="362.94299"
|
|
||||||
id="rect18691"
|
|
||||||
style="display:inline;opacity:1;vector-effect:none;fill:#4a86cf;fill-opacity:1;stroke:none;stroke-width:26.0669;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new" />
|
|
||||||
</clipPath>
|
|
||||||
<clipPath
|
|
||||||
clipPathUnits="userSpaceOnUse"
|
|
||||||
id="clipPath18689-3">
|
|
||||||
<rect
|
|
||||||
clip-path="none"
|
|
||||||
transform="rotate(45)"
|
|
||||||
ry="32.000008"
|
|
||||||
rx="32.000008"
|
|
||||||
y="123.9986"
|
|
||||||
x="486.03726"
|
|
||||||
height="362.94299"
|
|
||||||
width="362.94299"
|
|
||||||
id="rect18691-6"
|
|
||||||
style="display:inline;opacity:1;vector-effect:none;fill:#4a86cf;fill-opacity:1;stroke:none;stroke-width:26.0669;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new" />
|
|
||||||
</clipPath>
|
|
||||||
</defs>
|
|
||||||
<metadata
|
|
||||||
id="metadata971">
|
|
||||||
<rdf:RDF>
|
|
||||||
<cc:Work
|
|
||||||
rdf:about="">
|
|
||||||
<dc:format>image/svg+xml</dc:format>
|
|
||||||
<dc:type
|
|
||||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
|
||||||
<dc:title></dc:title>
|
|
||||||
</cc:Work>
|
|
||||||
</rdf:RDF>
|
|
||||||
</metadata>
|
|
||||||
<g
|
|
||||||
id="layer1"
|
|
||||||
transform="translate(-61.819823,-103.94395)">
|
|
||||||
<g
|
|
||||||
transform="matrix(0.26367235,0,0,0.26367235,61.819823,-529.39703)"
|
|
||||||
style="display:inline;stroke-width:0.25;enable-background:new"
|
|
||||||
id="g1836">
|
|
||||||
<title
|
|
||||||
id="title1838">application-x-executable</title>
|
|
||||||
<g
|
|
||||||
transform="matrix(0.25,0,0,0.25,0,2295)"
|
|
||||||
id="g18818"
|
|
||||||
style="stroke-width:0.25">
|
|
||||||
<g
|
|
||||||
style="stroke-width:0.269963"
|
|
||||||
transform="matrix(0.92605186,0,0,0.92605186,18.930729,50.876335)"
|
|
||||||
id="g18590">
|
|
||||||
<g
|
|
||||||
style="stroke-width:0.269963"
|
|
||||||
id="g18681"
|
|
||||||
clip-path="url(#clipPath18689-3)">
|
|
||||||
<rect
|
|
||||||
style="opacity:1;vector-effect:none;fill:#3584e4;fill-opacity:1;stroke:none;stroke-width:8.22095;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
|
|
||||||
id="rect18571"
|
|
||||||
width="424"
|
|
||||||
height="424"
|
|
||||||
x="458.33722"
|
|
||||||
y="90.641701"
|
|
||||||
rx="10.092117"
|
|
||||||
ry="10.092117"
|
|
||||||
transform="matrix(0.60528171,0.60528171,-0.60528171,0.60528171,33.440632,99.073632)"
|
|
||||||
clip-path="none" />
|
|
||||||
<circle
|
|
||||||
style="opacity:1;vector-effect:none;fill:#f66151;fill-opacity:1;stroke:none;stroke-width:7.03712;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
|
|
||||||
id="path18706"
|
|
||||||
cx="0"
|
|
||||||
cy="0"
|
|
||||||
r="0"
|
|
||||||
transform="translate(0,-212)" />
|
|
||||||
<circle
|
|
||||||
style="opacity:1;vector-effect:none;fill:#f66151;fill-opacity:1;stroke:none;stroke-width:7.03712;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
|
|
||||||
id="path18708"
|
|
||||||
cx="0"
|
|
||||||
cy="0"
|
|
||||||
r="0"
|
|
||||||
transform="translate(0,-212)" />
|
|
||||||
<path
|
|
||||||
style="display:inline;opacity:1;vector-effect:none;fill:#98c1f1;fill-opacity:1;stroke:none;stroke-width:7.03712;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
|
|
||||||
d="m 408.91993,561.9183 -9.8861,29.82892 a 172.97099,172.97099 0 0 0 -1.42693,-0.0713 172.97099,172.97099 0 0 0 -23.92891,1.85189 l -13.80082,-28.50125 a 203.29325,203.29325 0 0 0 -29.40085,7.97217 l 2.28619,31.40474 a 172.97099,172.97099 0 0 0 -22.73152,11.31923 l -23.71796,-21.103 a 203.29325,203.29325 0 0 0 -24.05918,18.6741 l 14.09863,28.07319 a 172.97099,172.97099 0 0 0 -16.63608,19.21074 l -30.05845,-10.44758 a 203.29325,203.29325 0 0 0 -15.01683,26.48807 l 23.73035,20.50738 a 172.97099,172.97099 0 0 0 -7.98456,24.14293 l -31.73044,1.84879 a 203.29325,203.29325 0 0 0 -3.77825,30.21664 l 29.82892,9.8861 a 172.97099,172.97099 0 0 0 -0.0713,1.42693 172.97099,172.97099 0 0 0 1.85188,23.92889 l -28.50125,13.80084 a 203.29325,203.29325 0 0 0 7.97215,29.40084 l 31.40475,-2.28619 a 172.97099,172.97099 0 0 0 11.31922,22.73152 l -21.10296,23.71797 a 203.29325,203.29325 0 0 0 18.67409,24.05918 l 28.07319,-14.09863 a 172.97099,172.97099 0 0 0 19.21074,16.63606 l -10.44758,30.05847 a 203.29325,203.29325 0 0 0 26.48806,15.01683 l 20.50739,-23.73036 a 172.97099,172.97099 0 0 0 24.14293,7.98457 l 1.8488,31.73043 a 203.29325,203.29325 0 0 0 30.21666,3.77826 l 9.8861,-29.82892 a 172.97099,172.97099 0 0 0 1.42693,0.0713 172.97099,172.97099 0 0 0 23.9289,-1.85188 l 13.80084,28.50125 a 203.29325,203.29325 0 0 0 29.40084,-7.97217 l -2.2862,-31.40474 a 172.97099,172.97099 0 0 0 22.73153,-11.31922 l 23.71796,21.10297 A 203.29325,203.29325 0 0 0 532.96,916.00016 l -14.09864,-28.07319 a 172.97099,172.97099 0 0 0 16.63607,-19.21073 l 30.05846,10.44757 a 203.29325,203.29325 0 0 0 15.01683,-26.48807 l -23.73036,-20.50738 a 172.97099,172.97099 0 0 0 7.98457,-24.14293 l 31.73044,-1.84879 a 203.29325,203.29325 0 0 0 3.77825,-30.21667 l -29.82892,-9.8861 a 172.97099,172.97099 0 0 0 0.0713,-1.42692 172.97099,172.97099 0 0 0 -1.85189,-23.9289 l 28.50124,-13.80084 a 203.29325,203.29325 0 0 0 -7.97215,-29.40084 l -31.40474,2.2862 a 172.97099,172.97099 0 0 0 -11.31923,-22.73153 l 21.10297,-23.71797 a 203.29325,203.29325 0 0 0 -18.67409,-24.05918 l -28.07319,14.09863 a 172.97099,172.97099 0 0 0 -19.21074,-16.63606 l 10.44757,-30.05847 A 203.29325,203.29325 0 0 0 485.6357,581.68117 l -20.50738,23.73035 a 172.97099,172.97099 0 0 0 -24.14293,-7.98455 l -1.84879,-31.73044 a 203.29325,203.29325 0 0 0 -30.21667,-3.77826 z M 397.6069,637.72208 A 126.92605,126.92605 0 0 1 524.5318,764.64699 126.92605,126.92605 0 0 1 397.6069,891.57189 126.92605,126.92605 0 0 1 270.682,764.64699 126.92605,126.92605 0 0 1 397.6069,637.72208 Z"
|
|
||||||
id="path18717-4" />
|
|
||||||
<path
|
|
||||||
id="path18758"
|
|
||||||
d="m 51.748325,401.28402 -9.8861,29.82892 c -0.475543,-0.0257 -0.951191,-0.0495 -1.42693,-0.0713 -8.00956,0.0625 -16.005106,0.6813 -23.92891,1.85189 L 2.7055639,404.39228 c -9.9858697,1.91835 -19.8137359,4.58322 -29.4008489,7.97217 l 2.28619,31.40474 c -7.844275,3.21103 -15.441918,6.9943 -22.73152,11.31923 l -23.71796,-21.103 c -8.475372,5.61437 -16.517661,11.85658 -24.05918,18.6741 l 14.09863,28.07319 c -6.008901,5.98701 -11.569263,12.40791 -16.636077,19.21074 l -30.058438,-10.44758 c -5.66072,8.44155 -10.68041,17.29574 -15.01683,26.48807 l 23.73035,20.50738 c -3.25027,7.84084 -5.919,15.91028 -7.98456,24.14293 l -31.73044,1.84879 c -2.01308,9.96359 -3.27604,20.06413 -3.77825,30.21664 l 29.82892,9.8861 c -0.0257,0.47554 -0.0495,0.95119 -0.0713,1.42693 0.0625,8.00955 0.68129,16.00509 1.85188,23.92889 l -28.50125,13.80084 c 1.91835,9.98587 4.58321,19.81373 7.97215,29.40084 l 31.40475,-2.28619 c 3.21102,7.84427 6.99429,15.44192 11.31922,22.73152 l -21.10296,23.71797 c 5.61437,8.47537 11.85658,16.51766 18.67409,24.05918 l 28.073175,-14.09863 c 5.987006,6.00889 12.407911,11.56925 19.21074,16.63606 l -10.44758,30.05847 c 8.441549,5.66072 17.295731,10.68041 26.48806,15.01683 l 20.50739,-23.73036 c 7.840839,3.25027 15.910282,5.91901 24.142929,7.98457 l 1.8488,31.73043 c 9.9635962,2.01309 20.064147,3.27605 30.216661,3.77826 l 9.8861,-29.82892 c 0.475543,0.0257 0.951191,0.0495 1.42693,0.0713 8.009557,-0.0625 16.005099,-0.68129 23.9289,-1.85188 l 13.80084,28.50125 c 9.985867,-1.91835 19.813731,-4.58322 29.400855,-7.97217 l -2.2862,-31.40474 c 7.84428,-3.21102 15.44192,-6.99429 22.73153,-11.31922 l 23.71796,21.10297 c 8.47538,-5.61437 16.51767,-11.85658 24.05919,-18.6741 l -14.09864,-28.07319 c 6.0089,-5.987 11.56926,-12.4079 16.63607,-19.21073 l 30.05846,10.44757 c 5.66072,-8.44155 10.68041,-17.29574 15.01683,-26.48807 l -23.73036,-20.50738 c 3.25027,-7.84084 5.91901,-15.91028 7.98457,-24.14293 l 31.73044,-1.84879 c 2.01308,-9.9636 3.27604,-20.06415 3.77825,-30.21667 l -29.82892,-9.8861 c 0.0257,-0.47554 0.0495,-0.95118 0.0713,-1.42692 -0.0625,-8.00956 -0.6813,-16.0051 -1.85189,-23.9289 l 28.50124,-13.80084 c -1.91835,-9.98587 -4.58321,-19.81373 -7.97215,-29.40084 l -31.40474,2.2862 c -3.21103,-7.84428 -6.9943,-15.44192 -11.31923,-22.73153 l 21.10297,-23.71797 c -5.61437,-8.47537 -11.85658,-16.51766 -18.67409,-24.05918 l -28.07319,14.09863 c -5.98701,-6.00889 -12.40791,-11.56925 -19.21074,-16.63606 l 10.44757,-30.05847 c -8.44155,-5.66072 -17.29572,-10.6804 -26.48805,-15.01682 l -20.50738,23.73035 c -7.84085,-3.25027 -15.910298,-5.91899 -24.142945,-7.98455 l -1.84879,-31.73044 c -9.9636,-2.01309 -20.064152,-3.27605 -30.21667,-3.77826 z"
|
|
||||||
style="display:inline;opacity:1;vector-effect:none;fill:#1a5fb4;fill-opacity:1;stroke:none;stroke-width:7.03712;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new" />
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
<path
|
|
||||||
style="display:inline;opacity:0.534;vector-effect:none;fill:#1a5fb4;fill-opacity:1;stroke:none;stroke-width:1.62918;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
|
|
||||||
clip-path="none"
|
|
||||||
d="m 8.4765625,2676 c -1.1711695,2.8866 -0.5827763,6.3078 1.7656255,8.6562 l 48.101562,48.1016 c 3.133898,3.1339 8.178602,3.1339 11.3125,0 l 48.10156,-48.1016 c 2.3484,-2.3484 2.9368,-5.7696 1.76563,-8.6562 -0.39174,0.9655 -0.98013,1.8708 -1.76563,2.6562 l -48.10156,48.1016 c -3.133898,3.1339 -8.178602,3.1339 -11.3125,0 L 10.242188,2678.6562 C 9.4566904,2677.8708 8.8682972,2676.9655 8.4765625,2676 Z"
|
|
||||||
transform="matrix(4,0,0,4,0,-10028)"
|
|
||||||
id="rect18571-6" />
|
|
||||||
</g>
|
|
||||||
<rect
|
|
||||||
y="2402"
|
|
||||||
x="-1.5000001e-06"
|
|
||||||
height="128"
|
|
||||||
width="128"
|
|
||||||
id="rect9125-7-2"
|
|
||||||
style="display:inline;opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:none;stroke-width:1.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new" />
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 12 KiB |
|
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><g color="#000" fill="#2e3436"><path d="M7.188 2.281c-.094.056-.192.125-.29.19L5.566 3.803a1.684 1.684 0 11-2.17 2.17L2.332 7.037c.506-.069 1.017-.136 1.2.026.242.214.139 1.031.155 1.656.213.088.427.171.657.219.04.008.085-.007.125 0 .337-.525.683-1.288 1-1.344.322-.057.905.562 1.406.937a3.67 3.67 0 00.656-.468c-.195-.595-.594-1.369-.437-1.657.158-.29 1.019-.37 1.625-.531.028-.183.062-.371.062-.562 0-.075-.027-.146-.031-.22-.587-.217-1.435-.385-1.562-.687-.128-.302.34-1.021.593-1.593a3.722 3.722 0 00-.593-.532zm3.875 3.25c-.165.475-.305 1.086-.47 1.563-.43.047-.84.14-1.218.312-.38-.322-.787-.773-1.156-1.093a5.562 5.562 0 00-.688.468c.177.46.453 1.001.625 1.469-.298.309-.531.67-.719 1.063-.494 0-1.102-.084-1.593-.094a5.68 5.68 0 00-.219.812c.435.24 1.006.468 1.438.72-.006.093-.032.185-.032.28 0 .333.049.66.125.97-.382.304-.898.63-1.28.937.015.044.04.083.058.127l.613.613c.417-.1.868-.223 1.266-.303.248.343.532.626.875.875-.027.135-.068.283-.104.428.174-.063.34-.155.482-.297l1.432-1.432a1.994 1.994 0 01.533-3.918c.919 0 1.684.623 1.918 1.467l1.338-1.338c.06-.06.11-.124.156-.191-.035-.062-.06-.13-.1-.188.096-.152.205-.31.315-.47.017-.348-.1-.7-.37-.971l-.177-.176c-.28.192-.561.387-.83.555-.345-.233-.746-.383-1.156-.5-.077-.507-.107-1.132-.187-1.625a5.44 5.44 0 00-.875-.063zm-9.247.608c-.087.068-.173.138-.254.205l.014.035z" style="marker:none" overflow="visible"/><path d="M8.707.293a1 1 0 00-1.415 0l-6.999 7a1 1 0 000 1.413l7 7.001a1 1 0 001.415 0l7-7a1 1 0 000-1.413zm-.708 2.121l5.587 5.587L8 13.586 2.414 7.999z" style="line-height:normal;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000;text-transform:none;text-orientation:mixed;shape-padding:0;isolation:auto;mix-blend-mode:normal;marker:none" font-weight="400" font-family="sans-serif" overflow="visible"/></g></svg>
|
|
||||||
|
Before Width: | Height: | Size: 2 KiB |
|
|
@ -1,13 +0,0 @@
|
||||||
application_id = 'com.hackclub.burrow'
|
|
||||||
|
|
||||||
scalable_dir = join_paths('hicolor', 'scalable', 'apps')
|
|
||||||
install_data(
|
|
||||||
join_paths(scalable_dir, ('@0@.svg').format(application_id)),
|
|
||||||
install_dir: join_paths(get_option('datadir'), 'icons', scalable_dir)
|
|
||||||
)
|
|
||||||
|
|
||||||
symbolic_dir = join_paths('hicolor', 'symbolic', 'apps')
|
|
||||||
install_data(
|
|
||||||
join_paths(symbolic_dir, ('@0@-symbolic.svg').format(application_id)),
|
|
||||||
install_dir: join_paths(get_option('datadir'), 'icons', symbolic_dir)
|
|
||||||
)
|
|
||||||
|
|
@ -1,39 +0,0 @@
|
||||||
desktop_file = i18n.merge_file(
|
|
||||||
input: 'com.hackclub.burrow.desktop.in',
|
|
||||||
output: 'com.hackclub.burrow.desktop',
|
|
||||||
type: 'desktop',
|
|
||||||
po_dir: '../po',
|
|
||||||
install: true,
|
|
||||||
install_dir: join_paths(get_option('datadir'), 'applications')
|
|
||||||
)
|
|
||||||
|
|
||||||
desktop_utils = find_program('desktop-file-validate', required: false)
|
|
||||||
if desktop_utils.found()
|
|
||||||
test('Validate desktop file', desktop_utils, args: [desktop_file])
|
|
||||||
endif
|
|
||||||
|
|
||||||
appstream_file = i18n.merge_file(
|
|
||||||
input: 'com.hackclub.burrow.appdata.xml.in',
|
|
||||||
output: 'com.hackclub.burrow.appdata.xml',
|
|
||||||
po_dir: '../po',
|
|
||||||
install: true,
|
|
||||||
install_dir: join_paths(get_option('datadir'), 'appdata')
|
|
||||||
)
|
|
||||||
|
|
||||||
appstream_util = find_program('appstream-util', required: false)
|
|
||||||
if appstream_util.found()
|
|
||||||
test('Validate appstream file', appstream_util, args: ['validate', appstream_file])
|
|
||||||
endif
|
|
||||||
|
|
||||||
install_data('com.hackclub.burrow.gschema.xml',
|
|
||||||
install_dir: join_paths(get_option('datadir'), 'glib-2.0/schemas')
|
|
||||||
)
|
|
||||||
|
|
||||||
compile_schemas = find_program('glib-compile-schemas', required: false)
|
|
||||||
if compile_schemas.found()
|
|
||||||
test('Validate schema file',
|
|
||||||
compile_schemas,
|
|
||||||
args: ['--strict', '--dry-run', meson.current_source_dir()])
|
|
||||||
endif
|
|
||||||
|
|
||||||
subdir('icons')
|
|
||||||
|
|
@ -1,20 +0,0 @@
|
||||||
project('burrow-gtk', 'rust',
|
|
||||||
version: '0.1.0',
|
|
||||||
meson_version: '>= 0.62.0',
|
|
||||||
default_options: [ 'warning_level=2', 'werror=false', ],
|
|
||||||
)
|
|
||||||
|
|
||||||
i18n = import('i18n')
|
|
||||||
gnome = import('gnome')
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
subdir('data')
|
|
||||||
subdir('src')
|
|
||||||
subdir('po')
|
|
||||||
|
|
||||||
gnome.post_install(
|
|
||||||
glib_compile_schemas: true,
|
|
||||||
gtk_update_icon_cache: true,
|
|
||||||
update_desktop_database: true,
|
|
||||||
)
|
|
||||||
|
|
@ -1,4 +0,0 @@
|
||||||
data/com.hackclub.Burrow.desktop.in
|
|
||||||
data/com.hackclub.Burrow.appdata.xml.in
|
|
||||||
data/com.hackclub.Burrow.gschema.xml
|
|
||||||
src/window.ui
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
i18n.gettext('burrow-gtk', preset: 'glib')
|
|
||||||
1
burrow-gtk/src/.gitignore
vendored
1
burrow-gtk/src/.gitignore
vendored
|
|
@ -1 +0,0 @@
|
||||||
config.rs
|
|
||||||
|
|
@ -1,92 +0,0 @@
|
||||||
use gtk::prelude::*;
|
|
||||||
use adw::subclass::prelude::*;
|
|
||||||
use gtk::{gio, glib};
|
|
||||||
|
|
||||||
use crate::config::VERSION;
|
|
||||||
use crate::BurrowGtkWindow;
|
|
||||||
|
|
||||||
mod imp {
|
|
||||||
use super::*;
|
|
||||||
|
|
||||||
#[derive(Debug, Default)]
|
|
||||||
pub struct BurrowGtkApplication {}
|
|
||||||
|
|
||||||
#[glib::object_subclass]
|
|
||||||
impl ObjectSubclass for BurrowGtkApplication {
|
|
||||||
const NAME: &'static str = "BurrowGtkApplication";
|
|
||||||
type Type = super::BurrowGtkApplication;
|
|
||||||
type ParentType = adw::Application;
|
|
||||||
}
|
|
||||||
|
|
||||||
impl ObjectImpl for BurrowGtkApplication {
|
|
||||||
fn constructed(&self) {
|
|
||||||
self.parent_constructed();
|
|
||||||
let obj = self.obj();
|
|
||||||
obj.setup_gactions();
|
|
||||||
obj.set_accels_for_action("app.quit", &["<primary>q"]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
impl ApplicationImpl for BurrowGtkApplication {
|
|
||||||
// We connect to the activate callback to create a window when the application
|
|
||||||
// has been launched. Additionally, this callback notifies us when the user
|
|
||||||
// tries to launch a "second instance" of the application. When they try
|
|
||||||
// to do that, we'll just present any existing window.
|
|
||||||
fn activate(&self) {
|
|
||||||
let application = self.obj();
|
|
||||||
// Get the current window or create one if necessary
|
|
||||||
let window = if let Some(window) = application.active_window() {
|
|
||||||
window
|
|
||||||
} else {
|
|
||||||
let window = BurrowGtkWindow::new(&*application);
|
|
||||||
window.upcast()
|
|
||||||
};
|
|
||||||
|
|
||||||
// Ask the window manager/compositor to present the window
|
|
||||||
window.present();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
impl GtkApplicationImpl for BurrowGtkApplication {}
|
|
||||||
impl AdwApplicationImpl for BurrowGtkApplication {}
|
|
||||||
}
|
|
||||||
|
|
||||||
glib::wrapper! {
|
|
||||||
pub struct BurrowGtkApplication(ObjectSubclass<imp::BurrowGtkApplication>)
|
|
||||||
@extends gio::Application, gtk::Application, adw::Application,
|
|
||||||
@implements gio::ActionGroup, gio::ActionMap;
|
|
||||||
}
|
|
||||||
|
|
||||||
impl BurrowGtkApplication {
|
|
||||||
pub fn new(application_id: &str, flags: &gio::ApplicationFlags) -> Self {
|
|
||||||
glib::Object::builder()
|
|
||||||
.property("application-id", application_id)
|
|
||||||
.property("flags", flags)
|
|
||||||
.build()
|
|
||||||
}
|
|
||||||
|
|
||||||
fn setup_gactions(&self) {
|
|
||||||
let quit_action = gio::ActionEntry::builder("quit")
|
|
||||||
.activate(move |app: &Self, _, _| app.quit())
|
|
||||||
.build();
|
|
||||||
let about_action = gio::ActionEntry::builder("about")
|
|
||||||
.activate(move |app: &Self, _, _| app.show_about())
|
|
||||||
.build();
|
|
||||||
self.add_action_entries([quit_action, about_action]);
|
|
||||||
}
|
|
||||||
|
|
||||||
fn show_about(&self) {
|
|
||||||
let window = self.active_window().unwrap();
|
|
||||||
let about = adw::AboutWindow::builder()
|
|
||||||
.transient_for(&window)
|
|
||||||
.application_name("Burrow")
|
|
||||||
.application_icon("com.hackclub.burrow")
|
|
||||||
.developer_name("Hack Club")
|
|
||||||
.version(VERSION)
|
|
||||||
.developers(vec!["Hack Club"])
|
|
||||||
.copyright("© 2023 The Hack Foundation")
|
|
||||||
.build();
|
|
||||||
|
|
||||||
about.present();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,8 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<gresources>
|
|
||||||
<gresource prefix="/com/hackclub/burrow">
|
|
||||||
<file preprocess="xml-stripblanks">window.ui</file>
|
|
||||||
<file preprocess="xml-stripblanks">gtk/help-overlay.ui</file>
|
|
||||||
</gresource>
|
|
||||||
</gresources>
|
|
||||||
|
|
||||||
|
|
@ -1,4 +0,0 @@
|
||||||
pub static VERSION: &str = "0.1.0";
|
|
||||||
pub static GETTEXT_PACKAGE: &str = "burrow-gtk";
|
|
||||||
pub static LOCALEDIR: &str = "/usr/local/share/locale";
|
|
||||||
pub static PKGDATADIR: &str = "/usr/local/share/burrow-gtk";
|
|
||||||
|
|
@ -1,4 +0,0 @@
|
||||||
pub static VERSION: &str = @VERSION@;
|
|
||||||
pub static GETTEXT_PACKAGE: &str = @GETTEXT_PACKAGE@;
|
|
||||||
pub static LOCALEDIR: &str = @LOCALEDIR@;
|
|
||||||
pub static PKGDATADIR: &str = @PKGDATADIR@;
|
|
||||||
|
|
@ -1,24 +0,0 @@
|
||||||
using Gtk 4.0;
|
|
||||||
|
|
||||||
ShortcutsWindow help_overlay {
|
|
||||||
modal: true;
|
|
||||||
|
|
||||||
ShortcutsSection {
|
|
||||||
section-name: "shortcuts";
|
|
||||||
max-height: 10;
|
|
||||||
|
|
||||||
ShortcutsGroup {
|
|
||||||
title: C_("shortcut window", "General");
|
|
||||||
|
|
||||||
ShortcutsShortcut {
|
|
||||||
title: C_("shortcut window", "Show Shortcuts");
|
|
||||||
action-name: "win.show-help-overlay";
|
|
||||||
}
|
|
||||||
|
|
||||||
ShortcutsShortcut {
|
|
||||||
title: C_("shortcut window", "Quit");
|
|
||||||
action-name: "app.quit";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,35 +0,0 @@
|
||||||
mod application;
|
|
||||||
mod config;
|
|
||||||
mod window;
|
|
||||||
|
|
||||||
use self::application::BurrowGtkApplication;
|
|
||||||
use self::window::BurrowGtkWindow;
|
|
||||||
|
|
||||||
use config::{GETTEXT_PACKAGE, LOCALEDIR, PKGDATADIR};
|
|
||||||
use gettextrs::{bind_textdomain_codeset, bindtextdomain, textdomain};
|
|
||||||
use gtk::{gio, glib};
|
|
||||||
use gtk::prelude::*;
|
|
||||||
|
|
||||||
fn main() -> glib::ExitCode {
|
|
||||||
// Set up gettext translations
|
|
||||||
bindtextdomain(GETTEXT_PACKAGE, LOCALEDIR).expect("Unable to bind the text domain");
|
|
||||||
bind_textdomain_codeset(GETTEXT_PACKAGE, "UTF-8")
|
|
||||||
.expect("Unable to set the text domain encoding");
|
|
||||||
textdomain(GETTEXT_PACKAGE).expect("Unable to switch to the text domain");
|
|
||||||
|
|
||||||
// Load resources
|
|
||||||
let resources = gio::Resource::load(PKGDATADIR.to_owned() + "/burrow-gtk.gresource")
|
|
||||||
.expect("Could not load resources");
|
|
||||||
gio::resources_register(&resources);
|
|
||||||
|
|
||||||
// Create a new GtkApplication. The application manages our main loop,
|
|
||||||
// application windows, integration with the window manager/compositor, and
|
|
||||||
// desktop features such as file opening and single-instance applications.
|
|
||||||
let app = BurrowGtkApplication::new("com.hackclub.burrow", &gio::ApplicationFlags::empty());
|
|
||||||
|
|
||||||
// Run the application. This function will block until the application
|
|
||||||
// exits. Upon return, we have our exit code to return to the shell. (This
|
|
||||||
// is the code you see when you do `echo $?` after running a command in a
|
|
||||||
// terminal.
|
|
||||||
app.run()
|
|
||||||
}
|
|
||||||
|
|
@ -1,67 +0,0 @@
|
||||||
pkgdatadir = join_paths(get_option('prefix'), get_option('datadir'), meson.project_name())
|
|
||||||
gnome = import('gnome')
|
|
||||||
|
|
||||||
|
|
||||||
blueprints = custom_target('blueprints',
|
|
||||||
input: files(
|
|
||||||
'gtk/help-overlay.blp',
|
|
||||||
'window.blp',
|
|
||||||
),
|
|
||||||
output: '.',
|
|
||||||
command: [find_program('blueprint-compiler'), 'batch-compile', '@OUTPUT@', '@CURRENT_SOURCE_DIR@', '@INPUT@'],
|
|
||||||
)
|
|
||||||
|
|
||||||
gnome.compile_resources('burrow-gtk',
|
|
||||||
'burrow-gtk.gresource.xml',
|
|
||||||
gresource_bundle: true,
|
|
||||||
install: true,
|
|
||||||
install_dir: pkgdatadir,
|
|
||||||
dependencies: blueprints
|
|
||||||
)
|
|
||||||
|
|
||||||
conf = configuration_data()
|
|
||||||
conf.set_quoted('VERSION', meson.project_version())
|
|
||||||
conf.set_quoted('GETTEXT_PACKAGE', 'burrow-gtk')
|
|
||||||
conf.set_quoted('LOCALEDIR', join_paths(get_option('prefix'), get_option('localedir')))
|
|
||||||
conf.set_quoted('PKGDATADIR', pkgdatadir)
|
|
||||||
|
|
||||||
configure_file(
|
|
||||||
input: 'config.rs.in',
|
|
||||||
output: 'config.rs',
|
|
||||||
configuration: conf
|
|
||||||
)
|
|
||||||
|
|
||||||
# Copy the config.rs output to the source directory.
|
|
||||||
run_command(
|
|
||||||
'cp',
|
|
||||||
join_paths(meson.project_build_root(), 'src', 'config.rs'),
|
|
||||||
join_paths(meson.project_source_root(), 'src', 'config.rs'),
|
|
||||||
check: true
|
|
||||||
)
|
|
||||||
|
|
||||||
cargo_bin = find_program('cargo')
|
|
||||||
cargo_opt = [ '--manifest-path', meson.project_source_root() / 'Cargo.toml' ]
|
|
||||||
cargo_opt += [ '--target-dir', meson.project_build_root() / 'src' ]
|
|
||||||
cargo_env = [ 'CARGO_HOME=' + meson.project_build_root() / 'cargo-home' ]
|
|
||||||
|
|
||||||
if get_option('buildtype') == 'release'
|
|
||||||
cargo_options += [ '--release' ]
|
|
||||||
rust_target = 'release'
|
|
||||||
else
|
|
||||||
rust_target = 'debug'
|
|
||||||
endif
|
|
||||||
|
|
||||||
cargo_build = custom_target(
|
|
||||||
'cargo-build',
|
|
||||||
build_by_default: true,
|
|
||||||
build_always_stale: true,
|
|
||||||
output: meson.project_name(),
|
|
||||||
console: true,
|
|
||||||
install: true,
|
|
||||||
install_dir: get_option('bindir'),
|
|
||||||
command: [
|
|
||||||
'env', cargo_env,
|
|
||||||
cargo_bin, 'build',
|
|
||||||
cargo_opt, '&&', 'cp', 'src' / rust_target / meson.project_name(), '@OUTPUT@',
|
|
||||||
]
|
|
||||||
)
|
|
||||||
|
|
@ -1,48 +0,0 @@
|
||||||
using Gtk 4.0;
|
|
||||||
using Adw 1;
|
|
||||||
|
|
||||||
template BurrowGtkWindow : Adw.ApplicationWindow {
|
|
||||||
default-width: 600;
|
|
||||||
default-height: 400;
|
|
||||||
|
|
||||||
Box {
|
|
||||||
orientation: vertical;
|
|
||||||
|
|
||||||
HeaderBar header_bar {
|
|
||||||
[end]
|
|
||||||
MenuButton {
|
|
||||||
icon-name: "open-menu-symbolic";
|
|
||||||
menu-model: primary_menu;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Label label {
|
|
||||||
label: "Burrow GNOME";
|
|
||||||
|
|
||||||
vexpand: true;
|
|
||||||
|
|
||||||
styles [
|
|
||||||
"title-1",
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
menu primary_menu {
|
|
||||||
section {
|
|
||||||
item {
|
|
||||||
label: _("_Preferences");
|
|
||||||
action: "app.preferences";
|
|
||||||
}
|
|
||||||
|
|
||||||
item {
|
|
||||||
label: _("_Keyboard Shortcuts");
|
|
||||||
action: "win.show-help-overlay";
|
|
||||||
}
|
|
||||||
|
|
||||||
item {
|
|
||||||
label: _("_About Burrow");
|
|
||||||
action: "app.about";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,51 +0,0 @@
|
||||||
use gtk::prelude::*;
|
|
||||||
use adw::subclass::prelude::*;
|
|
||||||
use gtk::{gio, glib};
|
|
||||||
|
|
||||||
mod imp {
|
|
||||||
use super::*;
|
|
||||||
|
|
||||||
#[derive(Debug, Default, gtk::CompositeTemplate)]
|
|
||||||
#[template(resource = "/com/hackclub/burrow/window.ui")]
|
|
||||||
pub struct BurrowGtkWindow {
|
|
||||||
// Template widgets
|
|
||||||
#[template_child]
|
|
||||||
pub header_bar: TemplateChild<gtk::HeaderBar>,
|
|
||||||
#[template_child]
|
|
||||||
pub label: TemplateChild<gtk::Label>,
|
|
||||||
}
|
|
||||||
|
|
||||||
#[glib::object_subclass]
|
|
||||||
impl ObjectSubclass for BurrowGtkWindow {
|
|
||||||
const NAME: &'static str = "BurrowGtkWindow";
|
|
||||||
type Type = super::BurrowGtkWindow;
|
|
||||||
type ParentType = adw::ApplicationWindow;
|
|
||||||
|
|
||||||
fn class_init(klass: &mut Self::Class) {
|
|
||||||
klass.bind_template();
|
|
||||||
}
|
|
||||||
|
|
||||||
fn instance_init(obj: &glib::subclass::InitializingObject<Self>) {
|
|
||||||
obj.init_template();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
impl ObjectImpl for BurrowGtkWindow {}
|
|
||||||
impl WidgetImpl for BurrowGtkWindow {}
|
|
||||||
impl WindowImpl for BurrowGtkWindow {}
|
|
||||||
impl ApplicationWindowImpl for BurrowGtkWindow {}
|
|
||||||
impl AdwApplicationWindowImpl for BurrowGtkWindow {}
|
|
||||||
}
|
|
||||||
|
|
||||||
glib::wrapper! {
|
|
||||||
pub struct BurrowGtkWindow(ObjectSubclass<imp::BurrowGtkWindow>)
|
|
||||||
@extends gtk::Widget, gtk::Window, gtk::ApplicationWindow, adw::ApplicationWindow, @implements gio::ActionGroup, gio::ActionMap;
|
|
||||||
}
|
|
||||||
|
|
||||||
impl BurrowGtkWindow {
|
|
||||||
pub fn new<P: glib::IsA<gtk::Application>>(application: &P) -> Self {
|
|
||||||
glib::Object::builder()
|
|
||||||
.property("application", application)
|
|
||||||
.build()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,8 +0,0 @@
|
||||||
[wrap-git]
|
|
||||||
directory = blueprint-compiler
|
|
||||||
url = https://gitlab.gnome.org/jwestman/blueprint-compiler.git
|
|
||||||
revision = main
|
|
||||||
depth = 1
|
|
||||||
|
|
||||||
[provide]
|
|
||||||
program_names = blueprint-compiler
|
|
||||||
|
|
@ -156,3 +156,32 @@ impl TunInterface {
|
||||||
.map_err(|_| Error::new(ErrorKind::Other, "Conversion error"))?
|
.map_err(|_| Error::new(ErrorKind::Other, "Conversion error"))?
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[cfg(test)]
|
||||||
|
mod test {
|
||||||
|
use super::*;
|
||||||
|
use std::net::Ipv4Addr;
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn mtu() {
|
||||||
|
let interf = TunInterface::new().unwrap();
|
||||||
|
|
||||||
|
interf.set_mtu(500).unwrap();
|
||||||
|
|
||||||
|
assert_eq!(interf.mtu().unwrap(), 500);
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
#[throws]
|
||||||
|
fn netmask() {
|
||||||
|
let interf = TunInterface::new()?;
|
||||||
|
|
||||||
|
let netmask = Ipv4Addr::new(255, 0, 0, 0);
|
||||||
|
let addr = Ipv4Addr::new(192, 168, 1, 1);
|
||||||
|
|
||||||
|
interf.set_ipv4_addr(addr)?;
|
||||||
|
interf.set_netmask(netmask)?;
|
||||||
|
|
||||||
|
assert_eq!(interf.netmask()?, netmask);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -172,3 +172,32 @@ impl TunInterface {
|
||||||
self.socket.send(buf)?
|
self.socket.send(buf)?
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[cfg(test)]
|
||||||
|
mod test {
|
||||||
|
use super::TunInterface;
|
||||||
|
use std::net::Ipv4Addr;
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn mtu() {
|
||||||
|
let interf = TunInterface::new().unwrap();
|
||||||
|
|
||||||
|
interf.set_mtu(500).unwrap();
|
||||||
|
|
||||||
|
assert_eq!(interf.mtu().unwrap(), 500);
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
#[throws]
|
||||||
|
fn netmask() {
|
||||||
|
let interf = TunInterface::new()?;
|
||||||
|
|
||||||
|
let netmask = Ipv4Addr::new(255, 0, 0, 0);
|
||||||
|
let addr = Ipv4Addr::new(192, 168, 1, 1);
|
||||||
|
|
||||||
|
interf.set_ipv4_addr(addr)?;
|
||||||
|
interf.set_netmask(netmask)?;
|
||||||
|
|
||||||
|
assert_eq!(interf.netmask()?, netmask);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -62,3 +62,38 @@ pub fn string_to_ifname(name: &str) -> [libc::c_char; libc::IFNAMSIZ] {
|
||||||
buf[..len].copy_from_slice(unsafe { &*(name.as_bytes() as *const _ as *const [libc::c_char]) });
|
buf[..len].copy_from_slice(unsafe { &*(name.as_bytes() as *const _ as *const [libc::c_char]) });
|
||||||
buf
|
buf
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[cfg(test)]
|
||||||
|
mod test {
|
||||||
|
|
||||||
|
use super::*;
|
||||||
|
|
||||||
|
use std::net::Ipv4Addr;
|
||||||
|
|
||||||
|
#[throws]
|
||||||
|
#[test]
|
||||||
|
fn tst_read() {
|
||||||
|
// This test is interactive, you need to send a packet to any server through 192.168.1.10
|
||||||
|
// EG. `sudo route add 8.8.8.8 192.168.1.10`,
|
||||||
|
//`dig @8.8.8.8 hackclub.com`
|
||||||
|
let mut tun = TunInterface::new()?;
|
||||||
|
println!("tun name: {:?}", tun.name()?);
|
||||||
|
tun.set_ipv4_addr(Ipv4Addr::from([192, 168, 1, 10]))?;
|
||||||
|
println!("tun ip: {:?}", tun.ipv4_addr()?);
|
||||||
|
println!("Waiting for a packet...");
|
||||||
|
let buf = &mut [0u8; 1500];
|
||||||
|
let res = tun.recv(buf);
|
||||||
|
println!("Received!");
|
||||||
|
assert!(res.is_ok());
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
#[throws]
|
||||||
|
fn write_packets() {
|
||||||
|
let tun = TunInterface::new()?;
|
||||||
|
let mut buf = [0u8; 1500];
|
||||||
|
buf[0] = 6 << 4;
|
||||||
|
let bytes_written = tun.send(&buf)?;
|
||||||
|
assert_eq!(bytes_written, 1504);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
use fehler::throws;
|
use fehler::throws;
|
||||||
use std::io::Error;
|
use std::io::Error;
|
||||||
use std::net::Ipv4Addr;
|
use std::net::{Ipv4Addr};
|
||||||
use tun::TunInterface;
|
use tun::TunInterface;
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
|
@ -11,7 +11,6 @@ fn test_create() {
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
#[throws]
|
#[throws]
|
||||||
#[cfg(not(target_os = "windows"))]
|
|
||||||
fn test_set_get_ipv4() {
|
fn test_set_get_ipv4() {
|
||||||
let tun = TunInterface::new()?;
|
let tun = TunInterface::new()?;
|
||||||
|
|
||||||
|
|
@ -24,10 +23,8 @@ fn test_set_get_ipv4() {
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
#[throws]
|
#[throws]
|
||||||
#[cfg(not(any(target_os = "windows", target_vendor = "apple")))]
|
#[cfg(target_os = "linux")]
|
||||||
fn test_set_get_ipv6() {
|
fn test_set_get_ipv6() {
|
||||||
use std::net::Ipv6Addr;
|
|
||||||
|
|
||||||
let tun = TunInterface::new()?;
|
let tun = TunInterface::new()?;
|
||||||
|
|
||||||
let addr = Ipv6Addr::new(1, 1, 1, 1, 1, 1, 1, 1);
|
let addr = Ipv6Addr::new(1, 1, 1, 1, 1, 1, 1, 1);
|
||||||
|
|
@ -36,29 +33,3 @@ fn test_set_get_ipv6() {
|
||||||
// let result = tun.ipv6_addr()?;
|
// let result = tun.ipv6_addr()?;
|
||||||
// assert_eq!(addr, result);
|
// assert_eq!(addr, result);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
|
||||||
#[throws]
|
|
||||||
#[cfg(not(target_os = "windows"))]
|
|
||||||
fn test_set_get_mtu() {
|
|
||||||
let interf = TunInterface::new()?;
|
|
||||||
|
|
||||||
interf.set_mtu(500)?;
|
|
||||||
|
|
||||||
assert_eq!(interf.mtu().unwrap(), 500);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
#[throws]
|
|
||||||
#[cfg(not(target_os = "windows"))]
|
|
||||||
fn test_set_get_netmask() {
|
|
||||||
let interf = TunInterface::new()?;
|
|
||||||
|
|
||||||
let netmask = Ipv4Addr::new(255, 0, 0, 0);
|
|
||||||
let addr = Ipv4Addr::new(192, 168, 1, 1);
|
|
||||||
|
|
||||||
interf.set_ipv4_addr(addr)?;
|
|
||||||
interf.set_netmask(netmask)?;
|
|
||||||
|
|
||||||
assert_eq!(interf.netmask()?, netmask);
|
|
||||||
}
|
|
||||||
|
|
|
||||||
|
|
@ -1,36 +0,0 @@
|
||||||
use fehler::throws;
|
|
||||||
use std::io::Error;
|
|
||||||
use std::io::Write;
|
|
||||||
use std::net::Ipv4Addr;
|
|
||||||
use tun::TunInterface;
|
|
||||||
|
|
||||||
#[throws]
|
|
||||||
#[test]
|
|
||||||
#[ignore = "requires interactivity"]
|
|
||||||
#[cfg(not(target_os = "windows"))]
|
|
||||||
fn tst_read() {
|
|
||||||
// This test is interactive, you need to send a packet to any server through 192.168.1.10
|
|
||||||
// EG. `sudo route add 8.8.8.8 192.168.1.10`,
|
|
||||||
//`dig @8.8.8.8 hackclub.com`
|
|
||||||
let mut tun = TunInterface::new()?;
|
|
||||||
println!("tun name: {:?}", tun.name()?);
|
|
||||||
tun.set_ipv4_addr(Ipv4Addr::from([192, 168, 1, 10]))?;
|
|
||||||
println!("tun ip: {:?}", tun.ipv4_addr()?);
|
|
||||||
println!("Waiting for a packet...");
|
|
||||||
let buf = &mut [0u8; 1500];
|
|
||||||
let res = tun.recv(buf);
|
|
||||||
println!("Received!");
|
|
||||||
assert!(res.is_ok());
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
#[throws]
|
|
||||||
#[ignore = "requires interactivity"]
|
|
||||||
#[cfg(not(target_os = "windows"))]
|
|
||||||
fn write_packets() {
|
|
||||||
let tun = TunInterface::new()?;
|
|
||||||
let mut buf = [0u8; 1500];
|
|
||||||
buf[0] = 6 << 4;
|
|
||||||
let bytes_written = tun.send(&buf)?;
|
|
||||||
assert_eq!(bytes_written, 1504);
|
|
||||||
}
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue