linux: various fixes across the crates to make it compile

Dzmitry Malyshau created

Change summary

crates/gpui/src/platform/test/text_system.rs | 4 ++--
crates/live_kit_client/Cargo.toml            | 4 ++--
crates/live_kit_client/src/test.rs           | 5 ++---
crates/media/src/media.rs                    | 1 +
crates/project/src/terminals.rs              | 2 +-
crates/zed/src/app_menus.rs                  | 1 -
crates/zed/src/main.rs                       | 3 +++
7 files changed, 11 insertions(+), 9 deletions(-)

Detailed changes

crates/gpui/src/platform/test/text_system.rs 🔗

@@ -3,13 +3,13 @@ use crate::{
     PlatformTextSystem, RenderGlyphParams, Size,
 };
 use anyhow::Result;
-use std::sync::Arc;
+use std::borrow::Cow;
 
 pub(crate) struct TestTextSystem {}
 
 #[allow(unused)]
 impl PlatformTextSystem for TestTextSystem {
-    fn add_fonts(&self, fonts: &[Arc<Vec<u8>>]) -> Result<()> {
+    fn add_fonts(&self, fonts: Vec<Cow<'static, [u8]>>) -> Result<()> {
         unimplemented!()
     }
     fn all_font_names(&self) -> Vec<String> {

crates/live_kit_client/Cargo.toml 🔗

@@ -19,7 +19,7 @@ test-support = [
     "collections/test-support",
     "gpui/test-support",
     "live_kit_server",
-    "nanoid",
+    #"nanoid",
 ]
 
 [dependencies]
@@ -32,7 +32,7 @@ gpui = { path = "../gpui", optional = true }
 live_kit_server = { path = "../live_kit_server", optional = true }
 log.workspace = true
 media = { path = "../media" }
-nanoid = { version ="0.4", optional = true}
+nanoid = "0.4" #TODO: optional
 parking_lot.workspace = true
 postage.workspace = true
 

crates/live_kit_client/src/test.rs 🔗

@@ -3,7 +3,7 @@ use anyhow::{anyhow, Context, Result};
 use async_trait::async_trait;
 use collections::{BTreeMap, HashMap, HashSet};
 use futures::Stream;
-use gpui::BackgroundExecutor;
+use gpui::{BackgroundExecutor, ImageSource};
 use live_kit_server::{proto, token};
 #[cfg(target_os = "macos")]
 use media::core_video::CVImageBuffer;
@@ -846,8 +846,7 @@ impl Frame {
         self.height
     }
 
-    #[cfg(target_os = "macos")]
-    pub fn image(&self) -> CVImageBuffer {
+    pub fn image(&self) -> ImageSource {
         unimplemented!("you can't call this in test mode")
     }
 }

crates/media/src/media.rs 🔗

@@ -8,6 +8,7 @@ use core_foundation::{
     base::{CFTypeID, TCFType},
     declare_TCFType, impl_CFTypeDescription, impl_TCFType,
 };
+#[cfg(target_os = "macos")]
 use std::ffi::c_void;
 
 #[cfg(target_os = "macos")]

crates/project/src/terminals.rs 🔗

@@ -124,7 +124,7 @@ impl Project {
             // Paths are not strings so we need to jump through some hoops to format the command without `format!`
             let mut command = Vec::from(activate_command.as_bytes());
             command.push(b' ');
-            command.extend_from_slice(activate_script.as_os_str().as_bytes());
+            command.extend_from_slice(activate_script.as_os_str().as_encoded_bytes());
             command.push(b'\n');
 
             terminal_handle.update(cx, |this, _| this.input_bytes(command));

crates/zed/src/app_menus.rs 🔗

@@ -1,6 +1,5 @@
 use gpui::{Menu, MenuItem, OsAction};
 
-#[cfg(target_os = "macos")]
 pub fn app_menus() -> Vec<Menu<'static>> {
     use zed_actions::Quit;
 

crates/zed/src/main.rs 🔗

@@ -11,6 +11,7 @@ use db::kvp::KEY_VALUE_STORE;
 use editor::Editor;
 use env_logger::Builder;
 use fs::RealFs;
+#[cfg(target_os = "macos")]
 use fsevent::StreamFlags;
 use futures::StreamExt;
 use gpui::{App, AppContext, AsyncAppContext, Context, SemanticVersion, Task};
@@ -173,6 +174,7 @@ fn main() {
         assistant::init(cx);
 
         load_user_themes_in_background(fs.clone(), cx);
+        #[cfg(target_os = "macos")]
         watch_themes(fs.clone(), cx);
 
         cx.spawn(|_| watch_languages(fs.clone(), languages.clone()))
@@ -916,6 +918,7 @@ fn load_user_themes_in_background(fs: Arc<dyn fs::Fs>, cx: &mut AppContext) {
 }
 
 /// Spawns a background task to watch the themes directory for changes.
+#[cfg(target_os = "macos")]
 fn watch_themes(fs: Arc<dyn fs::Fs>, cx: &mut AppContext) {
     cx.spawn(|cx| async move {
         let mut events = fs