From fde159fea1887f7175384d50fdc0be7b79959be4 Mon Sep 17 00:00:00 2001 From: Amin Yahyaabadi Date: Sun, 4 Feb 2024 23:08:05 -0800 Subject: [PATCH] build: add Blade font-config sys deps on Linux --- Cargo.lock | 325 +++++++++++++++++++++++++++++++++++++++------------ script/linux | 24 ++-- 2 files changed, 267 insertions(+), 82 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index c3df96e992..37f3b09130 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -267,12 +267,38 @@ version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" +[[package]] +name = "as-raw-xcb-connection" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "175571dd1d178ced59193a6fc02dde1b972eb0bc56c892cde9beeceac5bf0f6b" + [[package]] name = "ascii" version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d92bec98840b8f03a5ff5413de5293bfcd8bf96467cf5452609f939ec6f5de16" +[[package]] +name = "ash" +version = "0.37.3+1.3.251" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "39e9c3835d686b0a6084ab4234fcd1b07dbf6e4767dce60874b12356a25ecd4a" +dependencies = [ + "libloading 0.7.4", +] + +[[package]] +name = "ash-window" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b912285a7c29f3a8f87ca6f55afc48768624e5e33ec17dbd2f2075903f5e35ab" +dependencies = [ + "ash", + "raw-window-handle 0.5.2", + "raw-window-metal", +] + [[package]] name = "assets" version = "0.1.0" @@ -908,6 +934,46 @@ dependencies = [ "wyz", ] +[[package]] +name = "blade-graphics" +version = "0.3.0" +source = "git+https://github.com/kvark/blade?rev=62eb18d312f720a5aac8f508fe223146a24fc7f0#62eb18d312f720a5aac8f508fe223146a24fc7f0" +dependencies = [ + "ash", + "ash-window", + "bitflags 2.4.1", + "block", + "bytemuck", + "codespan-reporting", + "core-graphics-types", + "glow", + "gpu-alloc", + "gpu-alloc-ash", + "hidden-trait", + "js-sys", + "khronos-egl", + "libloading 0.8.0", + "log", + "metal 0.25.0", + "mint", + "naga", + "objc", + "raw-window-handle 0.5.2", + "slab", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "blade-macros" +version = "0.2.1" +source = "git+https://github.com/kvark/blade?rev=62eb18d312f720a5aac8f508fe223146a24fc7f0#62eb18d312f720a5aac8f508fe223146a24fc7f0" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.48", +] + [[package]] name = "block" version = "0.1.6" @@ -1065,6 +1131,20 @@ name = "bytemuck" version = "1.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "374d28ec25809ee0e23827c2ab573d729e293f281dfe393500e7ad618baa61c6" +dependencies = [ + "bytemuck_derive", +] + +[[package]] +name = "bytemuck_derive" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "965ab7eb5f8f97d2a083c799f3a1b994fc397b2fe2da5d1da1626ce15a39f2b1" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.48", +] [[package]] name = "byteorder" @@ -1341,11 +1421,8 @@ version = "0.1.0" dependencies = [ "anyhow", "clap 3.2.25", - "core-foundation", - "core-services", "dirs 3.0.2", "ipc-channel", - "plist", "serde", "serde_derive", "util", @@ -1438,6 +1515,16 @@ dependencies = [ "objc", ] +[[package]] +name = "codespan-reporting" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e" +dependencies = [ + "termcolor", + "unicode-width", +] + [[package]] name = "collab" version = "0.44.0" @@ -1786,15 +1873,6 @@ dependencies = [ "libc", ] -[[package]] -name = "core-services" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92567e81db522550ebaf742c5d875624ec7820c2c7ee5f8c60e4ce7c2ae3c0fd" -dependencies = [ - "core-foundation", -] - [[package]] name = "core-text" version = "19.2.0" @@ -3088,16 +3166,6 @@ dependencies = [ "version_check", ] -[[package]] -name = "gethostname" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0176e0459c2e4a1fe232f984bca6890e681076abb9934f6cea7c326f3fc47818" -dependencies = [ - "libc", - "windows-targets 0.48.5", -] - [[package]] name = "getrandom" version = "0.1.16" @@ -3207,6 +3275,18 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "glow" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd348e04c43b32574f2de31c8bb397d96c9fcfa1371bd4ca6d8bdc464ab121b1" +dependencies = [ + "js-sys", + "slotmap", + "wasm-bindgen", + "web-sys", +] + [[package]] name = "go_to_line" version = "0.1.0" @@ -3224,15 +3304,48 @@ dependencies = [ "workspace", ] +[[package]] +name = "gpu-alloc" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbcd2dba93594b227a1f57ee09b8b9da8892c34d55aa332e034a228d0fe6a171" +dependencies = [ + "bitflags 2.4.1", + "gpu-alloc-types", +] + +[[package]] +name = "gpu-alloc-ash" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2424bc9be88170e1a56e57c25d3d0e2dfdd22e8f328e892786aeb4da1415732" +dependencies = [ + "ash", + "gpu-alloc-types", + "tinyvec", +] + +[[package]] +name = "gpu-alloc-types" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "98ff03b468aa837d70984d55f5d3f846f6ec31fe34bbb97c4f85219caeee1ca4" +dependencies = [ + "bitflags 2.4.1", +] + [[package]] name = "gpui" version = "0.1.0" dependencies = [ "anyhow", + "as-raw-xcb-connection", "async-task", "backtrace", "bindgen 0.65.1", "bitflags 2.4.1", + "blade-graphics", + "blade-macros", "block", "bytemuck", "cbindgen", @@ -3257,7 +3370,7 @@ dependencies = [ "linkme", "log", "media", - "metal", + "metal 0.21.0", "num_cpus", "objc", "ordered-float 2.10.0", @@ -3267,6 +3380,7 @@ dependencies = [ "png", "postage", "rand 0.8.5", + "raw-window-handle 0.5.2", "raw-window-handle 0.6.0", "refineable", "resvg", @@ -3288,7 +3402,7 @@ dependencies = [ "util", "uuid 1.4.1", "waker-fn", - "x11rb", + "xcb", ] [[package]] @@ -3425,6 +3539,23 @@ version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" +[[package]] +name = "hexf-parse" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dfa686283ad6dd069f105e5ab091b04c62850d3e4cf5d67debad1933f55023df" + +[[package]] +name = "hidden-trait" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68ed9e850438ac849bec07e7d09fbe9309cbd396a5988c30b010580ce08860df" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + [[package]] name = "hkdf" version = "0.12.3" @@ -3914,6 +4045,16 @@ dependencies = [ "winapi-build", ] +[[package]] +name = "khronos-egl" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1382b16c04aeb821453d6215a3c80ba78f24c6595c5aa85653378aabe0c83e3" +dependencies = [ + "libc", + "libloading 0.8.0", +] + [[package]] name = "kqueue" version = "1.0.8" @@ -4148,15 +4289,6 @@ dependencies = [ "vcpkg", ] -[[package]] -name = "line-wrap" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f30344350a2a51da54c1d53be93fade8a237e545dbcc4bdbe635413f2117cab9" -dependencies = [ - "safemem", -] - [[package]] name = "linkme" version = "0.3.17" @@ -4209,8 +4341,10 @@ dependencies = [ "block", "byteorder", "bytes 1.5.0", + "cocoa", "collections", "core-foundation", + "core-graphics 0.22.3", "foreign-types 0.3.2", "futures 0.3.28", "gpui", @@ -4220,6 +4354,7 @@ dependencies = [ "log", "media", "nanoid", + "objc", "parking_lot 0.11.2", "postage", "serde", @@ -4407,7 +4542,7 @@ dependencies = [ "bytes 1.5.0", "core-foundation", "foreign-types 0.3.2", - "metal", + "metal 0.21.0", "objc", ] @@ -4475,6 +4610,21 @@ dependencies = [ "objc", ] +[[package]] +name = "metal" +version = "0.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "550b24b0cd4cf923f36bae78eca457b3a10d8a6a14a9c84cb2687b527e6a84af" +dependencies = [ + "bitflags 1.3.2", + "block", + "core-graphics-types", + "foreign-types 0.5.0", + "log", + "objc", + "paste", +] + [[package]] name = "mimalloc" version = "0.1.39" @@ -4524,6 +4674,12 @@ dependencies = [ "adler", ] +[[package]] +name = "mint" +version = "0.5.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e53debba6bda7a793e5f99b8dacf19e626084f525f7829104ba9898f367d85ff" + [[package]] name = "mintex" version = "0.1.2" @@ -4651,6 +4807,26 @@ version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a" +[[package]] +name = "naga" +version = "0.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae585df4b6514cf8842ac0f1ab4992edc975892704835b549cf818dc0191249e" +dependencies = [ + "bit-set", + "bitflags 2.4.1", + "codespan-reporting", + "hexf-parse", + "indexmap 2.0.0", + "log", + "num-traits", + "rustc-hash", + "spirv", + "termcolor", + "thiserror", + "unicode-xid", +] + [[package]] name = "nanoid" version = "0.4.0" @@ -5600,20 +5776,6 @@ version = "0.3.27" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" -[[package]] -name = "plist" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bdc0001cfea3db57a2e24bc0d818e9e20e554b5f97fabb9bc231dc240269ae06" -dependencies = [ - "base64 0.21.4", - "indexmap 1.9.3", - "line-wrap", - "quick-xml", - "serde", - "time", -] - [[package]] name = "plugin" version = "0.1.0" @@ -6071,9 +6233,9 @@ dependencies = [ [[package]] name = "quick-xml" -version = "0.29.0" +version = "0.30.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81b9228215d82c7b61490fec1de287136b5de6f5700f6e58ea9ad61a7964ca51" +checksum = "eff6510e86862b57b210fd8cbe8ed3f0d7d600b9c2863cd4549a2e033c66e956" dependencies = [ "memchr", ] @@ -6188,6 +6350,18 @@ version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "42a9830a0e1b9fb145ebb365b8bc4ccd75f290f98c0247deafbbe2c75cefb544" +[[package]] +name = "raw-window-metal" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac4ea493258d54c24cb46aa9345d099e58e2ea3f30dd63667fc54fc892f18e76" +dependencies = [ + "cocoa", + "core-graphics 0.23.1", + "objc", + "raw-window-handle 0.5.2", +] + [[package]] name = "rawpointer" version = "0.2.1" @@ -6836,12 +7010,6 @@ dependencies = [ "bytemuck", ] -[[package]] -name = "safemem" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef703b7cb59335eae2eb93ceb664c0eb7ea6bf567079d843e09420219668e072" - [[package]] name = "salsa20" version = "0.8.1" @@ -7552,6 +7720,16 @@ dependencies = [ "lock_api", ] +[[package]] +name = "spirv" +version = "0.2.0+1.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "246bfa38fe3db3f1dfc8ca5a2cdeb7348c78be2112740cc0ec8ef18b6d94f830" +dependencies = [ + "bitflags 1.3.2", + "num-traits", +] + [[package]] name = "spki" version = "0.7.2" @@ -9276,6 +9454,12 @@ version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85" +[[package]] +name = "unicode-xid" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" + [[package]] name = "unicode_categories" version = "0.1.1" @@ -10285,23 +10469,6 @@ dependencies = [ "tap", ] -[[package]] -name = "x11rb" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8f25ead8c7e4cba123243a6367da5d3990e0d3affa708ea19dce96356bd9f1a" -dependencies = [ - "gethostname", - "rustix 0.38.30", - "x11rb-protocol", -] - -[[package]] -name = "x11rb-protocol" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e63e71c4b8bd9ffec2c963173a4dc4cbde9ee96961d4fcb4429db9929b606c34" - [[package]] name = "xattr" version = "0.2.3" @@ -10311,6 +10478,18 @@ dependencies = [ "libc", ] +[[package]] +name = "xcb" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d27b37e69b8c05bfadcd968eb1a4fe27c9c52565b727f88512f43b89567e262" +dependencies = [ + "as-raw-xcb-connection", + "bitflags 1.3.2", + "libc", + "quick-xml", +] + [[package]] name = "xmlparser" version = "0.13.5" diff --git a/script/linux b/script/linux index 1acf7a6e16..7a3865bce1 100755 --- a/script/linux +++ b/script/linux @@ -8,31 +8,37 @@ maysudo=$(command -v sudo || true) export maysudo # Ubuntu, Debian, etc. +# https://packages.ubuntu.com/ apt=$(command -v apt-get || true) -deps=( - libasound2-dev -) if [[ -n $apt ]]; then + deps=( + libasound2-dev + libfontconfig-dev + ) $maysudo "$apt" install -y "${deps[@]}" exit 0 fi # Fedora, CentOS, RHEL, etc. +# https://packages.fedoraproject.org/ dnf=$(command -v dnf || true) -deps=( - alsa-lib-devel -) if [[ -n $dnf ]]; then + deps=( + alsa-lib-devel + fontconfig-devel + ) $maysudo "$dnf" install -y "${deps[@]}" exit 0 fi # Arch, Manjaro, etc. +# https://archlinux.org/packages pacman=$(command -v pacman || true) -deps=( - alsa-lib -) if [[ -n $pacman ]]; then + deps=( + alsa-lib + fontconfig + ) $maysudo "$pacman" -S --noconfirm "${deps[@]}" exit 0 fi