Comments (6)
You mentioned rustup
above: whether you use rustup or not shouldn't have any bearing on how freetype is linked in. You need to have a reasonably recent version of rust + cargo installed to build wezterm.
freetype and harfbuzz are co-dependent libraries and most distributions do not have the right combination of these available and built with the correct build options, which is why we bundle and build them. These libraries do not get updated very frequently by distributions (which is another reason for bundling) and weakens the argument that you will receive updates from your distribution.
I spent a lot of time getting the build in its current reproducible state so, while I have empathy for the slow downloads you're experiencing, I'm sorry to say that I don't think the amount of effort required to get the build working that way is worth the time.
If you, or someone else, wanted to submit a PR that makes this possible I'm open to it, but I would want it to not be the default mode of operation.
As an alternative proposal, consider making a PR for the azure pipelines configuration that captures the built artifacts using the same mechanism we use for the other targets; then we would have a binary tarball or package download for Arch. This feels like a more impactful use of time!
from wezterm.
Thanks for the pull requests! I'm currently traveling so it may take a few days before I can fully review these!
from wezterm.
I decided against allowing this; see #48 (comment) for the rationale
from wezterm.
@wez why don't you use https://lib.rs/crates/harfbuzz_rs & https://lib.rs/crates/freetype?
Do they lack any features you need for wezterm
?
from wezterm.
When I started this, they didn't exist and/or the only existing bindings linked only against system libraries, but I require static linkage of known versions so that I have consistent behavior across windows, mac and linux. In particular, freetype, harfbuzz, zlib and png are problematic on windows; all are required for proper color emoji support.
If those other crates now meet those requirements then I'm open to a PR that targets them.
from wezterm.
I'm going to lock this issue because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active issues. If you have found a problem that seems similar to this, please open a new issue and complete the issue template so we can capture all the details necessary to investigate further.
from wezterm.
Related Issues (20)
- Mouse events show up as characters in the terminal instead of being handled
- Closing wezterm kills tmux window with nothing running
- On windows10, using SHIFT in modifiers behaves unexpected, different from macOS. HOT 1
- Add option to pre-populate user prompts with custom text
- Wezterm getting memory allocation failure if configured with large scrollback_lines buffer
- `GLD_TEXTURE_INDEX_2D is unloadable` warning and pixellated/unusable output on Nix aarch64-darwin HOT 1
- Ctrl+Scrolllock crashes Wezterm
- Command execution interface support
- Capital cyrrillic letters are not displayed when using TMUX with `ModifyOtherKeys` option
- WezTerm doesn't do a good job of automatically modifying the wsl2 directory when launching a new tab.
- Builds in copr are broken
- Option for "smart" case sensitive search
- Changing argument to `wezterm.action.Search` has no effect when argument is an empty string
- usage as library/embedding into other application HOT 5
- Nested domains/subdomains
- Tab title not refreshed at toggling debug overlay
- Wezterm window not movable via tab bar on fedora HOT 3
- Allow reduced opacity for dim text HOT 2
- pane:get_foreground_process_info() return nil in multiplexing or ssh mode
- split-pane --move-pane-id can kill panes
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from wezterm.