commit 08d92e09b1a14176f363a565588a042468cae4dc Author: tigro Date: Mon Jan 15 22:52:58 2024 +0300 import rust-termion1-1.5.6-1.el9 diff --git a/.rust-termion1.metadata b/.rust-termion1.metadata new file mode 100644 index 0000000..e69de29 diff --git a/SOURCES/0001-Update-numtoa.patch b/SOURCES/0001-Update-numtoa.patch new file mode 100644 index 0000000..d542d80 --- /dev/null +++ b/SOURCES/0001-Update-numtoa.patch @@ -0,0 +1,104 @@ +From d80ab4617f79f68b85cc1d113250ad3d791a66d5 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Jonathan=20Schleu=C3=9Fer?= +Date: Sat, 29 Dec 2018 17:15:18 +0100 +Subject: [PATCH] Update numtoa + +This now allows byte slices with lengths different than 20, so +specific lengths based on the biggest possible value for each +number can be used. +--- + src/color.rs | 8 ++++---- + src/cursor.rs | 10 +++++----- + 2 files changed, 9 insertions(+), 9 deletions(-) + +diff --git a/src/color.rs b/src/color.rs +index 6c543b69561f..6c0055b5e9e3 100644 +--- a/src/color.rs ++++ b/src/color.rs +@@ -125,14 +125,14 @@ impl AnsiValue { + impl AnsiValue { + /// Returns the ANSI sequence as a string. + pub fn fg_string(self) -> String { +- let mut x = [0u8; 20]; ++ let mut x = [0u8; 3]; + let x = self.0.numtoa_str(10, &mut x); + [csi!("38;5;"), x, "m"].concat() + } + + /// Returns the ANSI sequence as a string. + pub fn bg_string(self) -> String { +- let mut x = [0u8; 20]; ++ let mut x = [0u8; 3]; + let x = self.0.numtoa_str(10, &mut x); + [csi!("48;5;"), x, "m"].concat() + } +@@ -157,7 +157,7 @@ pub struct Rgb(pub u8, pub u8, pub u8); + impl Rgb { + /// Returns the ANSI sequence as a string. + pub fn fg_string(self) -> String { +- let (mut x, mut y, mut z) = ([0u8; 20], [0u8; 20], [0u8; 20]); ++ let (mut x, mut y, mut z) = ([0u8; 3], [0u8; 3], [0u8; 3]); + let (x, y, z) = ( + self.0.numtoa_str(10, &mut x), + self.1.numtoa_str(10, &mut y), +@@ -169,7 +169,7 @@ impl Rgb { + + /// Returns the ANSI sequence as a string. + pub fn bg_string(self) -> String { +- let (mut x, mut y, mut z) = ([0u8; 20], [0u8; 20], [0u8; 20]); ++ let (mut x, mut y, mut z) = ([0u8; 3], [0u8; 3], [0u8; 3]); + let (x, y, z) = ( + self.0.numtoa_str(10, &mut x), + self.1.numtoa_str(10, &mut y), +diff --git a/src/cursor.rs b/src/cursor.rs +index bbc039406746..8596c3f47fab 100644 +--- a/src/cursor.rs ++++ b/src/cursor.rs +@@ -36,7 +36,7 @@ pub struct Goto(pub u16, pub u16); + + impl From for String { + fn from(this: Goto) -> String { +- let (mut x, mut y) = ([0u8; 20], [0u8; 20]); ++ let (mut x, mut y) = ([0u8; 5], [0u8; 5]); + ["\x1B[", this.1.numtoa_str(10, &mut x), ";", this.0.numtoa_str(10, &mut y), "H"].concat() + } + } +@@ -60,7 +60,7 @@ pub struct Left(pub u16); + + impl From for String { + fn from(this: Left) -> String { +- let mut buf = [0u8; 20]; ++ let mut buf = [0u8; 5]; + ["\x1B[", this.0.numtoa_str(10, &mut buf), "D"].concat() + } + } +@@ -77,7 +77,7 @@ pub struct Right(pub u16); + + impl From for String { + fn from(this: Right) -> String { +- let mut buf = [0u8; 20]; ++ let mut buf = [0u8; 5]; + ["\x1B[", this.0.numtoa_str(10, &mut buf), "C"].concat() + } + } +@@ -94,7 +94,7 @@ pub struct Up(pub u16); + + impl From for String { + fn from(this: Up) -> String { +- let mut buf = [0u8; 20]; ++ let mut buf = [0u8; 5]; + ["\x1B[", this.0.numtoa_str(10, &mut buf), "A"].concat() + } + } +@@ -111,7 +111,7 @@ pub struct Down(pub u16); + + impl From for String { + fn from(this: Down) -> String { +- let mut buf = [0u8; 20]; ++ let mut buf = [0u8; 5]; + ["\x1B[", this.0.numtoa_str(10, &mut buf), "B"].concat() + } + } +-- +2.21.0 + diff --git a/SOURCES/termion-1.5.6.crate b/SOURCES/termion-1.5.6.crate new file mode 100644 index 0000000..88cf567 Binary files /dev/null and b/SOURCES/termion-1.5.6.crate differ diff --git a/SOURCES/termion-fix-metadata-auto.diff b/SOURCES/termion-fix-metadata-auto.diff new file mode 100644 index 0000000..a4f2197 --- /dev/null +++ b/SOURCES/termion-fix-metadata-auto.diff @@ -0,0 +1,11 @@ +--- termion-1.5.6/Cargo.toml 1970-01-01T00:00:00+00:00 ++++ termion-1.5.6/Cargo.toml 2023-05-18T14:57:45.292786+00:00 +@@ -25,8 +25,3 @@ + features = ["std"] + [target."cfg(not(target_os = \"redox\"))".dependencies.libc] + version = "0.2" +-[target."cfg(target_os = \"redox\")".dependencies.redox_syscall] +-version = "0.2" +- +-[target."cfg(target_os = \"redox\")".dependencies.redox_termios] +-version = "0.1" diff --git a/SOURCES/termion-fix-metadata.diff b/SOURCES/termion-fix-metadata.diff new file mode 100644 index 0000000..c4d656e --- /dev/null +++ b/SOURCES/termion-fix-metadata.diff @@ -0,0 +1,11 @@ +--- termion-1.5.6/Cargo.toml 1970-01-01T00:00:00+00:00 ++++ termion-1.5.6/Cargo.toml 2023-05-18T14:57:50.801811+00:00 +@@ -21,7 +21,6 @@ + license = "MIT" + repository = "https://gitlab.redox-os.org/redox-os/termion" + [dependencies.numtoa] +-version = "0.1" +-features = ["std"] ++version = "0.2.3" + [target."cfg(not(target_os = \"redox\"))".dependencies.libc] + version = "0.2" diff --git a/SPECS/rust-termion1.spec b/SPECS/rust-termion1.spec new file mode 100644 index 0000000..febef39 --- /dev/null +++ b/SPECS/rust-termion1.spec @@ -0,0 +1,91 @@ +## START: Set by rpmautospec +## (rpmautospec version 0.3.5) +## RPMAUTOSPEC: autorelease, autochangelog +%define autorelease(e:s:pb:n) %{?-p:0.}%{lua: + release_number = 1; + base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); + print(release_number + base_release_number - 1); +}%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}} +## END: Set by rpmautospec + +# Generated by rust2rpm 24 +# * tests can only be run on a real TTY +%bcond_with check +%global debug_package %{nil} + +%global crate termion + +Name: rust-termion1 +Version: 1.5.6 +Release: %autorelease +Summary: Bindless library for manipulating terminals + +License: MIT +URL: https://crates.io/crates/termion +Source: %{crates_source} +# Automatically generated patch to strip foreign dependencies +Patch: termion-fix-metadata-auto.diff +# Manually created patch for downstream crate metadata changes +# * bump numtoa from 0.1 to 0.2.3 +Patch: termion-fix-metadata.diff +# * port to numtoa 0.2: +# https://gitlab.redox-os.org/redox-os/termion/merge_requests/153 +Patch: 0001-Update-numtoa.patch + +BuildRequires: rust-packaging >= 21 + +%global _description %{expand: +A bindless library for manipulating terminals.} + +%description %{_description} + +%package devel +Summary: %{summary} +BuildArch: noarch + +%description devel %{_description} + +This package contains library source intended for building other packages which +use the "%{crate}" crate. + +%files devel +%license %{crate_instdir}/LICENSE +%doc %{crate_instdir}/README.md +%{crate_instdir}/ + +%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 the "default" feature of the "%{crate}" crate. + +%files -n %{name}+default-devel +%ghost %{crate_instdir}/Cargo.toml + +%prep +%autosetup -n %{crate}-%{version_no_tilde} -p1 +%cargo_prep + +%generate_buildrequires +%cargo_generate_buildrequires + +%build +%cargo_build + +%install +%cargo_install + +%if %{with check} +%check +%cargo_test +%endif + +%changelog +* Mon Jan 15 2024 Arkady L. Shane - 1.5.6-1 +- Rebuilt for MSVSphere 9.3 + +* Mon May 22 2023 Michel Alexandre Salim - 1.5.6-1 +- Initial Fedora package