Improve FreeBSD support (#33162)
This PR contains a set of changes for improving FreeBSD support (#15309, #29550) and is a kind of follow up to the PR #20480 which added an initial support for FreeBSD. A summary of changes is as follows: - Add some more freebsd conditionals which seem missing in the previous PR. - Implement `anonymous_fd()` and `current_path()` functions for FreeBSD. - Improve detection of FreeBSD in telemetry and GPU detection. - Temporarily disable LiveKit/WebRTC support to make build succeed. - Remove support for flatpak since it is Linux-only packaging format. Adding `RUSTFLAGS="-C link-dead-code"` does not seem necessary anymore. It builds fine without the flag. Known issues: - Integrated terminal is painfully laggy and virtually unusable in my environment. This might be specific to my setup. - I cannot input Japanese using IME. When I type characters, they appear on the screen. But when I hit return key, they disappears. Seems the same issue as #15409. My environment is MATE desktop on X11 on FreeBSD 14.2 on Intel Core i5-7260U integrated graphics. P.S. For those who might be interested, a work-in-progress FreeBSD port and binary packages are available at https://github.com/tagattie/FreeBSD-Zed Release Notes: - N/A --------- Co-authored-by: Peter Tripp <peter@zed.dev>
This commit is contained in:
parent
6b4c607331
commit
ac30a8b0df
8 changed files with 50 additions and 18 deletions
|
@ -83,10 +83,14 @@ pub fn os_name() -> String {
|
|||
{
|
||||
"macOS".to_string()
|
||||
}
|
||||
#[cfg(any(target_os = "linux", target_os = "freebsd"))]
|
||||
#[cfg(target_os = "linux")]
|
||||
{
|
||||
format!("Linux {}", gpui::guess_compositor())
|
||||
}
|
||||
#[cfg(target_os = "freebsd")]
|
||||
{
|
||||
format!("FreeBSD {}", gpui::guess_compositor())
|
||||
}
|
||||
|
||||
#[cfg(target_os = "windows")]
|
||||
{
|
||||
|
@ -120,8 +124,12 @@ pub fn os_version() -> String {
|
|||
file
|
||||
} else if let Ok(file) = std::fs::read_to_string(&Path::new("/usr/lib/os-release")) {
|
||||
file
|
||||
} else if let Ok(file) = std::fs::read_to_string(&Path::new("/var/run/os-release")) {
|
||||
file
|
||||
} else {
|
||||
log::error!("Failed to load /etc/os-release, /usr/lib/os-release");
|
||||
log::error!(
|
||||
"Failed to load /etc/os-release, /usr/lib/os-release, or /var/run/os-release"
|
||||
);
|
||||
"".to_string()
|
||||
};
|
||||
let mut name = "unknown";
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue