Accepting request 1142992 from home:xtexChooser

Add new package: yazi

Yazi (means "duck") is a terminal file manager written in Rust, based on non-blocking async I/O. It aims to provide an efficient, user-friendly, and customizable file management experience.

OBS-URL: https://build.opensuse.org/request/show/1142992
OBS-URL: https://build.opensuse.org/package/show/utilities/yazi?expand=0&rev=1
This commit is contained in:
Michael Vetter 2024-02-01 08:18:15 +00:00 committed by Git OBS Bridge
commit 643bd6624f
10 changed files with 207 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.osc

24
_service Normal file
View File

@ -0,0 +1,24 @@
<services>
<service mode="disabled" name="obs_scm">
<param name="url">https://github.com/sxyazi/yazi.git</param>
<param name="versionformat">@PARENT_TAG@</param>
<param name="scm">git</param>
<param name="revision">v0.2.2</param>
<param name="match-tag">*</param>
<param name="versionrewrite-pattern">v(\d+\.\d+\.\d+)</param>
<param name="versionrewrite-replacement">\1</param>
<param name="changesgenerate">enable</param>
<param name="changesauthor">xtexchooser@duck.com</param>
</service>
<service mode="disabled" name="tar" />
<service mode="disabled" name="recompress">
<param name="file">*.tar</param>
<param name="compression">zst</param>
</service>
<service mode="disabled" name="set_version" />
<service mode="disabled" name="cargo_vendor">
<param name="src">yazi</param>
<param name="compression">zst</param>
<param name="update">true</param>
</service>
</services>

4
_servicedata Normal file
View File

@ -0,0 +1,4 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/sxyazi/yazi.git</param>
<param name="changesrevision">a19e263242488ecc8c76eb5b16af8185bb2e0f64</param></service></servicedata>

3
vendor.tar.zst Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:018e0a2e2c3ed8358f39ce4bc878af6a596b8f0d01860e23c271db546069d5f4
size 48122893

3
yazi-0.2.2.obscpio Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:90581e14e5ab679b2cdf15f8056e2249f9588450b764886a0e66e26311731898
size 1207820

3
yazi-0.2.2.tar.zst Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:0d3dda9610357a5baf2330c3e47181931e1c21ba2e70b2789431ccc0c302778f
size 673448

20
yazi.changes Normal file
View File

@ -0,0 +1,20 @@
-------------------------------------------------------------------
Wed Jan 31 11:02:18 UTC 2024 - xtexChooser <xtexchooser@duck.com>
- Package vendored lua for lua 5.4 syntax support.
LuaJIT only supports up to lua 5.1 syntax.
-------------------------------------------------------------------
Wed Jan 31 09:09:58 UTC 2024 - xtexChooser <xtexchooser@duck.com>
- Build shell completions packages
-------------------------------------------------------------------
Wed Jan 31 04:24:38 UTC 2024 - xtexChooser <xtexchooser@duck.com>
- Fix rustc SIGSEGV exception
-------------------------------------------------------------------
Wed Jan 31 03:29:18 UTC 2024 - xtexChooser <xtexchooser@duck.com>
- Init package yazi v0.2.2

4
yazi.obsinfo Normal file
View File

@ -0,0 +1,4 @@
name: yazi
version: 0.2.2
mtime: 1706058671
commit: a19e263242488ecc8c76eb5b16af8185bb2e0f64

122
yazi.spec Normal file
View File

@ -0,0 +1,122 @@
#
# spec file for package yazi
#
# Copyright (c) 2024 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/
#
Name: yazi
Version: 0.2.2
Release: 0
Summary: Blazing fast terminal file manager written in Rust, based on async I/O
License: MIT
Group: Productivity/Text/Utilities
URL: https://github.com/sxyazi/yazi
Source0: %{name}-%{version}.tar.zst
Source1: vendor.tar.zst
Requires: file
BuildRequires: cargo-packaging
# Override "-C debuginfo=2" from cargo-packaging, to solve rustc SIGSEGV exception:
# error: rustc interrupted by SIGSEGV, printing backtrace
# /usr/lib/librustc_driver-16d66626a1fefc07.so(+0x7aafa6)[0x7fbd6ffaafa6]
# Tested with rustc 1.75.0 (82e1608df 2023-12-21) by xtexChooser
%global build_rustflags %build_rustflags -C debuginfo=0
# Suggests: nerd-fonts
Suggests: ffmpegthumbnailer
Suggests: unar
Suggests: jq
Suggests: poppler
Suggests: fd
Suggests: rg
Suggests: fzf
Suggests: zoxide
%description
Yazi (means "duck") is a terminal file manager written in Rust, based on non-blocking async I/O. It aims to provide an efficient, user-friendly, and customizable file management experience.
💡 A new article explaining its internal workings: Why is Yazi Fast?
🚀 Full Asynchronous Support: All I/O operations are asynchronous, CPU tasks are spread across multiple threads, making the most of available resources.
💪 Powerful Async Task Scheduling and Management: Provides real-time progress updates, task cancellation, and internal task priority assignment.
🖼️ Built-in Support for Multiple Image Protocols: Also integrated with Überzug++, covering almost all terminals.
🌟 Built-in Code Highlighting and Image Decoding: Combined with the pre-loading mechanism, greatly accelerates image and normal file loading.
🔌 Concurrent Plugin System: UI plugins (rewriting most of the UI), functional plugins (coming soon), custom previewer, and custom preloader; Just some pieces of Lua.
🧰 Integration with fd, rg, fzf, zoxide
💫 Vim-like input/select component, auto-completion for cd paths
🏷️ Multi-Tab Support, Scrollable Preview (for videos, PDFs, archives, directories, code, etc.)
🔄 Bulk Renaming, Visual Mode, File Chooser
🎨 Theme System, Custom Layouts, Trash Bin, CSI u
... and more!
%package bash-completion
Summary: Bash Completion for %{name}
Group: System/Shells
Requires: bash-completion
Supplements: (%{name} and bash)
BuildArch: noarch
%description bash-completion
The official bash completion script for %{name}.
%package fish-completion
Summary: Fish Completion for %{name}
Group: System/Shells
Supplements: (%{name} and fish)
BuildArch: noarch
%description fish-completion
The official fish completion script for %{name}.
%package zsh-completion
Summary: ZSH Completion for %{name}
Group: System/Shells
Supplements: (%{name} and zsh)
BuildArch: noarch
%description zsh-completion
The official zsh completion script for %{name}.
%prep
%autosetup -a1 -p0
%build
export YAZI_GEN_COMPLETIONS=true
%{cargo_build}
%install
%{cargo_install -p yazi-fm}
install -Dm 644 yazi-config/completions/yazi.bash %{buildroot}%{_datadir}/bash-completion/completions/yazi
install -Dm 644 yazi-config/completions/yazi.fish %{buildroot}%{_datadir}/fish/vendor_completions.d/yazi.fish
install -Dm 644 yazi-config/completions/_yazi %{buildroot}%{_datadir}/zsh/site-functions/_yazi
%check
%{cargo_test}
%files
%license LICENSE
%doc README.md
%{_bindir}/%{name}
%files bash-completion
%{_datadir}/bash-completion
%files fish-completion
%{_datadir}/fish
%files zsh-completion
%{_datadir}/zsh
%changelog