7a58853178
* x11/wayland: restore mouse copying to both clipboard and primary selection * ssh: do our own proxycommand handling * window: negative caching for xdg-portal * Add Solus build dependencies * cargo update * config: allow config_builder to work with set_config_overrides * window: use a shorter timeout for xdg portal reads * palette: add CTRL-p / CTRL-n key bindings to move up/down * docs: command palette * palette: add full doc and enum name to text to match * macos: make initial position consistent with window:set_position * docs: webgpu * ci: remove ubuntu 18 * mux: only resize zoomed pane when resizing a tab * defer loading background until after rescaling in config reload * reduce macos locale warning to debug * docs: link to dark mode example from appearance section * x11: avoid "Unhandled" log line for focus events * wgpu: ensure that the srgb format is available before using it * fixup test for nerd font symbol update * deps: wgpu -> 0.15 * fonts: update Symbols Nerd Font Mono * rust 1.67 is the minimum required version * Change to the command to upgrade wezterm-nightly * macos: fixup open_untitled_file handling * cargo update * mux: pass gui window position through from new mux window * remove some debug prints * macos: spawn new window when clicking on dock icon * Add quit_when_all_windows_are_closed config option * docs: expand wezterm.format examples * docs: changelog for https://github.com/wez/wezterm/pull/2887 * wayland: set scale factor without wegl_surface (for WebGpu) * docs: changelog for https://github.com/wez/wezterm/pull/3054 * macos: Add "New Window" to the dock menu * docs: changelog for https://github.com/wez/wezterm/pull/2762 * update derived files * Add bindings for Home and End in copy_mode (#2762) * add `wezterm cli get-text` command * cargo fmt * deps: http_req -> 0.9 * docs: changelog for #2955 * fix(wezterm-gui): Move word able to jump next line * finish test * fix: correctly set WHEEL_POSITIVE * wip: horizontal scroll support * ci: reduce frequency of thread locking * deps: sctk -> 0.16 * wayland: improve error when no seats have pointers * docs: changelog for https://github.com/wez/wezterm/pull/3053 * Detect ALT key for mouse events on Windows * docs: link (In|De)creaseFontSize <-> adjust_window_size_when_changing_font_size * workflows: add auto-locking of inactive closed issues * docs: changelog for #2959 * x11: simplify focus event matching * x11: ignore pointer focus events * docs: clarify that you want window_decorations=RESIZE * allow window_decorations to work with config_builder * ci: use freebsd 13 * window_decorations: add MACOS_FORCE_(EN|DIS)ABLE_SHADOW * Add wezterm.plugin module, allows loading modules from git * deps: update toml -> 0.7, cargo update * macos: don't include LEADER based key assignments in menubar * fix crash bug uncovered by rust 1.67 * fix command output not being displayed for short lived commands * Add wezterm start --domain DOMAIN --attach + gui-attached event * macos: maybe fix window positioning for multi-monitor systems * docs: add a bit explaining what a terminal is * docs: add version info to newer copy mode shortcuts * wezterm.GLOBAL now returns references to stored data * config: capture warnings and show them in config error window * shell integration: check existence of `hostname` command before calling * cargo fmt * config: add wezterm.config_builder * ci: unpin rust and mdbook versions in pages workflow * docs: use new gelatyx `file-list` option * fix typo in logging * ci: try a bit harder to make doc builds work on PRs * docs: shell-integration: cover the new built-in user-vars * shell integration: set some handy user vars by default * docs: add a brief bit about workspaces * docs: start recipes section * docs: add note about multiplexing and color schemes * cargo update * x11: always update selection ownership * cargo fmt * bleh, fix unix build * mention that wayland doesn't allow --position * fix build on windows * reduce latency when heavily using foreground process info * ci: try harder to successfully build the docs on PRs * cargo update * lua: add some more tab methods * modals: invalidate window after assignment * window:active_key_table now includes per-pane stacks * add window activation items to palette and menubar * docs: change log and docs for https://github.com/wez/wezterm/pull/2908 * chore(wezterm-gui): Create move_to_end_of_word * docs(wezterm-gui): Update docs * feat(wezterm-gui): Support move to word end * docs: add troubleshooting section * add explicit SHIFT key caps to copymode docs * docs: css for https://github.com/wez/wezterm/pull/2911 * fmt docs * Improve Copy Mode key documentation * cargo fmt * mux: try harder to use default_workspace from config * macos: implement window:focus() * windows: implement focus method * add WindowOps::focus, ActivateWindow, window:focus() * docs: changelog for https://github.com/wez/wezterm/pull/2977 * wayland: hide mouse cursor when typing * docs: changelog for https://github.com/wez/wezterm/pull/2978 * Use dpi from configuration while resizing * lua: add some pane methods for working with zones * cargo update * macos: ensure menubar is visible when switching away from a fullscreen window * palette: ensure reverse background block spans full width * macos: enable opacity for webgpu * macos: retain menu menu when retrieving it from NSApp * macos: fixup application termination * docs: changelog for https://github.com/wez/wezterm/pull/2946 * docs: add version info to hide_mouse_cursor_when_typing * docs: document new config option * feat: hide_mouse_cursor_when_typing config option * sync color schemes * docs: clarify native macos full screen mode * docs: changelog for https://github.com/wez/wezterm/pull/2928 * x11: determine active screen by using max intersecting area with active window * x11: use TranslateCoordinates to get the root coordinates of focused window * x11: clean up active screen detection * x11: implement active screen detection * macos: add version info to system name * config: fix typo in error message * gui: include x11 window manager in connection name * gui: describe connection and show it in debug overlay * gui: add target triple to debug overlay * config: allow using bright but not bold text when brightening text * expose some mux domain stuff to lua * update base64, work around another batch of breaking API changes * palette: fix min width * cargo update * Add Fedora 37 nightly builds * ci: another pass at tumbleweed * ci: make fix tumbleweed build * windows: avoid panic when minimizing w/ WebGpu * cargo update * deps: update ntapi to 0.4 * ci: apparently GH_TOKEN is what it really should be * Fix typo * Tweak labels in the menubar/command palette * ssh: respect AddressFamily for environments with broken ipv6 * cargo update * docs: changelog for https://github.com/wez/wezterm/issues/2782 * Add the hidden alias `-e` for the `start` subcommand. (#2889) * palette: add icons for a number of entries * box model: improve max width constraint for more complex elements * palette: adjust group prefix when menubar is empty * macos: update menubar when the config reloads * include key assignments in palette and menubar * tidy up macos menubar key assignment * menubar: re-categorize attach/detach * command palette: tweak for empty doc case * improve width constraints in box_model, center command palette * synthesize commands from domains, workspaces * command palette: first pass * ci: potentially fixup flakey pages build * removed deprecated Copy, Paste, PastePrimarySelection actions * docs: changelog for https://github.com/wez/wezterm/issues/2819 * launcher: prefer to use human description of key assignment * Re-organize default command list * add descriptions for all keyassignment actions * adjust default command list * move OpenInBrowser -> KeyAssignment * macos: allow running when there are no windows * put quit at bottom of application menu * macos: link to helpful resources from Help menu * fixup tests * macOS: add MenuBar * macos: use interactive shell for .command scripts * ci: refine error reporting in doc build * mux: avoid deadlock in mux server * deps: harfbuzz -> 6.0.0 * fix windows build * x11: potential fix for hanging IME * mux: rename Mux::get() -> try_get(), add "infallible" Mux::get() * mux: Mux is now Send+Sync * mux: require that Domain be Send + Sync * mux: switch RefCell to RwLock internally * Rc<Tab> -> Arc<Tab> * mux: make Tab Send+Sync * mux: reduce context switching when parsing output * mux: add notify_from_any_thread helper * mux: Pane is now required to be Send+Sync. Use Arc<dyn Pane> * ci: add debug output when building docs * withdraw DEC private SGR handling for super/subscript * cargo update * macos: allow association with .command file type * disable window title reporting escape sequence by default * docs: add aarch64 macos example to target_triple OBS-URL: https://build.opensuse.org/package/show/X11:terminals/wezterm?expand=0&rev=61
176 lines
6.5 KiB
RPMSpec
176 lines
6.5 KiB
RPMSpec
#
|
|
# spec file for package wezterm
|
|
#
|
|
# Copyright (c) 2023 SUSE LLC
|
|
#
|
|
# All modifications and additions to the file contributed by third parties
|
|
# remain the property of their copyright owners, unless otherwise agreed
|
|
# upon. The license for this file, and modifications and additions to the
|
|
# file, is the same license as for the pristine package itself (unless the
|
|
# license for the pristine package is not an Open Source License, in which
|
|
# case the license is the MIT License). An "Open Source License" is a
|
|
# license that conforms to the Open Source Definition (Version 1.9)
|
|
# published by the Open Source Initiative.
|
|
|
|
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
|
#
|
|
|
|
|
|
%global rustflags -Clink-arg=-Wl,-z,relro,-z,now -C debuginfo=2
|
|
|
|
Name: wezterm
|
|
Version: 20221119.145034.49b9839f+g221
|
|
Release: 0
|
|
Summary: GPU-accelerated cross-platform terminal emulator and multiplexer
|
|
URL: https://github.com/wez/wezterm
|
|
License: (Apache-2.0 OR MIT) AND BSD-3-Clause AND (0BSD OR MIT OR Apache-2.0) AND (Apache-2.0 OR BSL-1.0) AND (Apache-2.0 OR BSL-1.0 OR MIT) AND (Apache-2.0 OR MIT) AND (Apache-2.0 OR MIT) AND (Apache-2.0 OR MIT OR BSD-2-Clause) AND (Apache-2.0 OR MIT OR Zlib) AND (Apache-2.0 OR MIT OR Zlib) AND (MIT OR Unlicense) AND (Apache-2.0 OR Zlib OR MIT) AND Apache-2.0 AND BSD-2-Clause AND BSD-3-Clause AND CC0-1.0 AND ISC AND LGPL-2.1-only AND MIT AND MPL-2.0 AND WTFPL AND Zlib AND MIT
|
|
Source0: %{name}-%{version}.tar.zst
|
|
Source1: vendor.tar.zst
|
|
Source2: cargo_config
|
|
Requires: terminfo
|
|
BuildRequires: Mesa-libEGL-devel
|
|
|
|
BuildRequires: rust+cargo >= 1.43
|
|
%if 0%{?suse_version} > 1500
|
|
BuildRequires: cargo-packaging
|
|
%endif
|
|
ExclusiveArch: %{rust_arches}
|
|
|
|
BuildRequires: cmake
|
|
BuildRequires: gcc
|
|
BuildRequires: gcc-c++
|
|
BuildRequires: hicolor-icon-theme
|
|
BuildRequires: libxkbcommon-devel
|
|
BuildRequires: libxkbcommon-x11-devel
|
|
BuildRequires: ncurses-devel
|
|
BuildRequires: perl
|
|
BuildRequires: pkgconfig
|
|
BuildRequires: python-nautilus-common-files
|
|
BuildRequires: python3
|
|
BuildRequires: wayland-devel
|
|
BuildRequires: xcb-util-devel
|
|
BuildRequires: xcb-util-image-devel
|
|
BuildRequires: xcb-util-keysyms-devel
|
|
BuildRequires: xcb-util-wm-devel
|
|
BuildRequires: pkgconfig(fontconfig)
|
|
BuildRequires: pkgconfig(libssh2)
|
|
BuildRequires: pkgconfig(openssl)
|
|
BuildRequires: pkgconfig(tic)
|
|
BuildRequires: pkgconfig(xcb)
|
|
|
|
%description
|
|
Wezterm is a GPU-accelerated terminal emulator written in Rust. It supports
|
|
ligatures, font fallback and true color. It features dynamic color schemes, hyperlinks,
|
|
and multiplex terminal panes.
|
|
|
|
%package mux-server
|
|
Summary: Multiplexer server for %{name}
|
|
Recommends: %{name} = %{version}
|
|
|
|
%description mux-server
|
|
Multiplexer server for wezterm for running on a headless system.
|
|
|
|
%package bash-completion
|
|
Summary: Bash Completion for %{name}
|
|
Requires: bash-completion
|
|
Supplements: (%{name} and bash-completion)
|
|
BuildArch: noarch
|
|
|
|
%description bash-completion
|
|
Bash completion support for %{name}.
|
|
|
|
%package fish-completion
|
|
Summary: Fish Completion for %{name}
|
|
Supplements: (%{name} and fish)
|
|
BuildArch: noarch
|
|
|
|
%description fish-completion
|
|
Fish completion script for %{name}.
|
|
|
|
%package zsh-completion
|
|
Summary: ZSH Completion for %{name}
|
|
Supplements: (%{name} and zsh)
|
|
BuildArch: noarch
|
|
|
|
%description zsh-completion
|
|
Zsh completion script for %{name}.
|
|
|
|
%prep
|
|
%autosetup -a1
|
|
mkdir -p .cargo
|
|
cp %{SOURCE2} .cargo/config
|
|
tic -vvv -x -o terminfo termwiz/data/%{name}.terminfo
|
|
printf "%{version}" > .tag
|
|
|
|
%build
|
|
%if 0%{?suse_version} > 1500
|
|
%{cargo_build} --all-features
|
|
%else
|
|
export CARGO_FEATURE_VENDORED=1
|
|
export RUSTFLAGS='%{rustflags}'
|
|
cargo build --offline --release --all-features
|
|
%endif
|
|
|
|
%install
|
|
install -Dm 0755 %{_builddir}/%{name}-%{version}/target/release/wezterm %{buildroot}%{_bindir}/wezterm
|
|
install -Dm 0755 %{_builddir}/%{name}-%{version}/target/release/wezterm-gui %{buildroot}%{_bindir}/wezterm-gui
|
|
install -Dm 0755 %{_builddir}/%{name}-%{version}/target/release/wezterm-mux-server %{buildroot}%{_bindir}/wezterm-mux-server
|
|
install -Dm 0755 %{_builddir}/%{name}-%{version}/target/release/strip-ansi-escapes %{buildroot}%{_bindir}/strip-ansi-escapes
|
|
|
|
install -Dm 0644 terminfo/w/wezterm %{buildroot}%{_datadir}/terminfo/w/wezterm
|
|
install -Dm 0644 assets/%{name}.desktop %{buildroot}%{_datadir}/applications/org.wezfurlong.%{name}.desktop
|
|
install -Dm 0644 assets/icon/%{name}-icon.svg %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/org.wezfurlong.%{name}.svg
|
|
install -Dm 0644 assets/%{name}.appdata.xml %{buildroot}%{_datadir}/metainfo/org.wezfurlong.%{name}.appdata.xml
|
|
install -Dm 0644 assets/shell-integration/* -t %{buildroot}%{_sysconfdir}/profile.d
|
|
install -Dm 0644 assets/%{name}-nautilus.py %{buildroot}%{_datadir}/nautilus-python/extensions/%{name}-nautilus.py
|
|
|
|
# Bash completion
|
|
install -D -m 0644 assets/shell-completion/bash %{buildroot}%{_datadir}/bash-completion/completions/wezterm
|
|
install -D -m 0644 assets/shell-completion/bash %{buildroot}%{_datadir}/bash-completion/completions/wezterm-gui
|
|
|
|
# Zsh completion
|
|
install -D -m 0644 assets/shell-completion/zsh %{buildroot}%{_datadir}/zsh/site-functions/_wezterm
|
|
install -D -m 0644 assets/shell-completion/zsh %{buildroot}%{_datadir}/zsh/site-functions/_wezterm-gui
|
|
|
|
# Fish completion
|
|
install -D -m 0644 assets/shell-completion/fish %{buildroot}%{_datadir}/fish/vendor_completions.d/wezterm.fish
|
|
install -D -m 0644 assets/shell-completion/fish %{buildroot}%{_datadir}/fish/vendor_completions.d/wezterm-gui.fish
|
|
|
|
%files
|
|
%license LICENSE.md
|
|
%doc README.md CONTRIBUTING.md
|
|
%{_bindir}/wezterm
|
|
%{_bindir}/wezterm-gui
|
|
%{_bindir}/strip-ansi-escapes
|
|
%{_datadir}/terminfo/w/wezterm
|
|
%{_datadir}/applications/org.wezfurlong.wezterm.desktop
|
|
%{_datadir}/icons/hicolor/scalable/apps/org.wezfurlong.wezterm.svg
|
|
%{_datadir}/metainfo/org.wezfurlong.wezterm.appdata.xml
|
|
%{_datadir}/nautilus-python/extensions/wezterm-nautilus.py
|
|
%config %{_sysconfdir}/profile.d/wezterm.sh
|
|
|
|
%files mux-server
|
|
%license LICENSE.md
|
|
%doc README.md CONTRIBUTING.md
|
|
%{_bindir}/wezterm-mux-server
|
|
|
|
%files bash-completion
|
|
%dir %{_datadir}/bash-completion
|
|
%dir %{_datadir}/bash-completion/completions
|
|
%{_datadir}/bash-completion/completions/wezterm
|
|
%{_datadir}/bash-completion/completions/wezterm-gui
|
|
|
|
%files fish-completion
|
|
%dir %{_datadir}/fish
|
|
%dir %{_datadir}/fish/vendor_completions.d
|
|
%{_datadir}/fish/vendor_completions.d/wezterm.fish
|
|
%{_datadir}/fish/vendor_completions.d/wezterm-gui.fish
|
|
|
|
%files zsh-completion
|
|
%dir %{_datadir}/zsh
|
|
%dir %{_datadir}/zsh/site-functions
|
|
%{_datadir}/zsh/site-functions/_wezterm
|
|
%{_datadir}/zsh/site-functions/_wezterm-gui
|
|
|
|
%changelog
|