Blob Blame History Raw
# Generated by rust2rpm
%bcond_with check
%global debug_package %{nil}

%global crate tuikit

Name:           rust-%{crate}
Version:        0.2.6
Release:        1%{?dist}
Summary:        Toolkit for writing TUI applications

License:        MIT
URL:            https://crates.io/crates/tuikit
Source:         %{crates_source}
# Initial patched metadata
# - Bump nix to 0.13.0 https://github.com/lotabout/tuikit/pull/7
Patch0:         tuikit-fix-metadata.diff

ExclusiveArch:  %{rust_arches}

BuildRequires:  rust-packaging
BuildRequires:  (crate(bitflags/default) >= 1.0.4 with crate(bitflags/default) < 2.0.0)
BuildRequires:  (crate(lazy_static/default) >= 1.2.0 with crate(lazy_static/default) < 2.0.0)
BuildRequires:  (crate(log/default) >= 0.4.0 with crate(log/default) < 0.5.0)
BuildRequires:  (crate(nix/default) >= 0.13.0 with crate(nix/default) < 0.14.0)
BuildRequires:  (crate(term/default) >= 0.5.1 with crate(term/default) < 0.6.0)
BuildRequires:  (crate(unicode-width/default) >= 0.1.5 with crate(unicode-width/default) < 0.2.0)
%if %{with check}
BuildRequires:  (crate(env_logger/default) >= 0.6.1 with crate(env_logger/default) < 0.7.0)
%endif

%global _description \
Tuikit is a TUI library for writing terminal UI applications. Highlights:\
\
 - Thread safe.\
 - Support non-fullscreen mode as well as fullscreen mode.\
 - Support Alt keys, mouse events, etc.\
 - Buffering for efficient rendering.\
\
Tuikit is modeld after termbox which views the terminal as a table of\
fixed-size cells and input being a stream of structured messages.

%description %{_description}

%package        devel
Summary:        %{summary}
BuildArch:      noarch

%description    devel %{_description}

This package contains library source intended for building other packages
which use "%{crate}" crate.

%files          devel
%doc CHANGELOG.md README.md
%license LICENSE
%{cargo_registry}/%{crate}-%{version}/

%package     -n %{name}+default-devel
Summary:        %{summary}
BuildArch:      noarch

%description -n %{name}+default-devel %{_description}

This package contains library source intended for building other packages
which use "default" feature of "%{crate}" crate.

%files       -n %{name}+default-devel
%ghost %{cargo_registry}/%{crate}-%{version}/Cargo.toml

%prep
%autosetup -n %{crate}-%{version_no_tilde} -p1
%cargo_prep

%build
%cargo_build

%install
%cargo_install

%if %{with check}
%check
# One test fails because ENOTTY in Mock
%cargo_test ||:
%endif

%changelog
* Sat Apr 13 2019 Robert-André Mauchin <zebob.m@gmail.com> - 0.2.6-1
- Initial package