File gitui.spec of Package gitui

#
# spec file for package gitui
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2025 Andreas Stieger <Andreas.Stieger@gmx.de>
#
# 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:           gitui
Version:        0.27.0
Release:        0
Summary:        Terminal UI for git
License:        (Apache-2.0 OR MIT) AND Unicode-DFS-2016 AND (0BSD OR MIT OR Apache-2.0) AND (Apache-2.0 OR BSL-1.0) AND (Apache-2.0 OR MIT) AND (Apache-2.0 OR Apache-2.0 WITH LLVM-exception OR MIT) AND (Artistic-2.0 OR CC0-1.0) 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 CDDL-1.0 AND ISC AND MIT AND MIT AND CC-BY-3.0 AND MPL-2.0 AND SUSE-GPL-2.0-with-linking-exception
URL:            https://github.com/extrawurst/gitui
Source0:        https://github.com/extrawurst/gitui/archive/refs/tags/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
Source1:        vendor.tar.zst
BuildRequires:  c++_compiler
BuildRequires:  cargo-packaging
BuildRequires:  cmake
BuildRequires:  git-core
BuildRequires:  pkgconfig
# package `home v0.5.11` requires rustc 1.81 or newer
BuildRequires:  rust+rustc >= 1.81
BuildRequires:  zstd
BuildRequires:  pkgconfig(libgit2)
BuildRequires:  pkgconfig(openssl)
BuildRequires:  pkgconfig(xcb)
BuildRequires:  pkgconfig(zlib)
ExclusiveArch:  %{rust_tier1_arches}

%description
TUI for git with the following features:
  * Fast and intuitive keyboard only control
  * Context based help (no need to memorize tons of hot-keys)
  * Inspect, commit, and amend changes (incl. hooks: pre-commit,commit-msg,post-commit)
  * Stage, unstage, revert and reset files, hunks and lines
  * Stashing (save, pop, apply, drop, and inspect)
  * Push/Fetch to/from remote
  * Branch List (create, rename, delete, checkout, remotes)
  * Browse commit log, diff committed changes
  * Scalable terminal UI layout
  * Async git API for fluid control
  * Submodule support

%prep
%autosetup -a1

%build
%{cargo_build}

%install
%{cargo_install}

%check
%{cargo_test}

%files
%license LICENSE.md
%doc CHANGELOG.md README.md FAQ.md THEMES.md
%{_bindir}/%{name}

%changelog
openSUSE Build Service is sponsored by