File icy_tools.spec of Package icy_tools

#
# spec file for package icy_tools
#
# Copyright (c) 2025, Martin Hauke <mardnh@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/
#


%define icy_draw_version 0.4.2
%define icy_term_version 0.7.13
%define icy_view_version 0.8.2
%define icy_play_version 0.2.0

Name:           icy_tools
Version:        0~git20251023
Release:        0
Summary:        A set of tools related to BBSing and ANSI art
License:        Apache-2.0 OR MIT
URL:            https://github.com/mkrueger/icy_tools
#Git-Clone:     https://github.com/mkrueger/icy_tools.git
Source:         %{name}-%{version}.tar.gz
Source1:        vendor.tar.zst
BuildRequires:  cargo-packaging
BuildRequires:  hicolor-icon-theme
BuildRequires:  pkgconfig
BuildRequires:  pkgconfig(alsa)
BuildRequires:  pkgconfig(openssl)
ExclusiveArch:  %{rust_tier1_arches}

%description
A set of tools related to BBSing and ANSI art:

* Icy Term - A Terminal program for legacy BBS systems.
* Icy Draw - A tool for creating ANSI and ASCII art.
* Icy View - A Viewer to browse/view ANSI screens.
* Icy Play - A Tool that shows icy draw animations on cmd line/BBS.

%package -n icy_term
Summary:        A Terminal program for legacy BBS systems
License:        Apache-2.0
Version:        %{icy_term_version}

%description -n icy_term
IcyTERM is a BBS terminal program with allows you to connect to BBSes.
Visit https://www.telnetbbsguide.com/ for a start to enter the BBS world.

Features:
 - Telnet, SSH, Websockets and Raw connections.
 - Ansi BBS, Avatar, PETSCII, ATASCII, Viewdata, RIPscrip and SkyPix emulation
 - File transfer X/Y/Z Modem and variants (1k/1k-G/8k)
 - Rich set of ansi features
   - Modern engine with extended colors, 24bit fonts, ice support
   - Sixels, loadable fonts, ansi macros, osc8 www links
   - ANSI music
 - Misc features
   - 3D accelerated rendering engine
   - IEMSI autologin
   - Baud emulation
   - Exporting buffer to disk & capture session
   - Copy & Paste

%package -n icy_view
Summary:        Simple ANSI viewer in the spirit of AcidView
License:        Apache-2.0
Version:        %{icy_view_version}

%description -n icy_view
Simple ANSI viewer in the spirit of AcidView.

Features:
 - ANSI File formats: Ansi, Ascii, Artworx ADF, Avatar, BIN, XBIN,
   PCBoard, iCE, Tundra Draw
 - Pictures: png, jpg, jpeg, gif, bmp
 - Displays sauce info
 - Can read contents of zip files

%package -n icy_draw
Summary:        An ANSI drawing tool
License:        Apache-2.0
Version:        %{icy_draw_version}

%description -n icy_draw
IcyDraw is the successor of MysticDraw an ANSI drawing tool I developed 1996
and last updated 2003. Due to lack on feedback I lost interest there.
Now 20 years later I've decided to give it an update and here it is.

IcyDraw is a full features ANSI drawing tool doing things a bit different
than other tools.

Features:
 - Full CP437 support
 - The model is more like modern graphic tools rather than AcidDraw
   (draw lines/fill/brushes etc.)
 - File formats import/export: Ansi, Ascii, Artworx ADF, Avatar, BIN, XBIN,
   PCBoard, iCE, Tundra Draw, CtrlA and Renegade
 - Export files to .png
 - Own custom .png based file format: .ice
 - Layer model & transparent chars
 - Free selections & select by attribute/chars etc.
 - Can open multiple files
 - Like Mystic draw full TDF font support, including creating/altering fonts
 - Font editor for tdf fonts
 - Built in font editor for bit fonts
      - Supports the usage of multiple bit fonts in the same file.
      - Preview font changes in all open files
 - Suports full RGB colors
 - Sixel support - just paste an image
 - Shares the engine with IcyTerm and IcyView so it's 100% compatible
 - Palette loading (.pal JASC, Paint.NET .txt, GIMP .gpl and .hex files
   supported)
 - Complex animation engine (export to ansimation or animated gif)
     - Note: Icy Term can display animations without flickering (as well as
       any other client with a propert DCS macro implementation)
 - LUA based plugins
 - Many display options, guides, grids, line numbers
 - Full SAUCE support including 9px & aspect ratio display
 - 3D accelerated output & output filters
 - BBS Tag support.

%package -n icy_play
Summary:        Plays icy_anim files for bbs systems
License:        Apache-2.0
Version:        %{icy_play_version}

%description -n icy_play
Plays IcyDraw animations on console.
Useful for BBSes showing icy draw animations.

%prep
%autosetup -a 1

%build
%{cargo_build} --all

%install
for f in icy_draw icy_term icy_view; do
  install -D -m0755 "./target/release/$f" "%{buildroot}%{_bindir}/$f"
  install -D -m0644 "./crates/$f/build/linux/$f.desktop" "%{buildroot}%{_datadir}/applications/$f.desktop"
  install -D -m0644 "./crates/$f/build/linux/128x128.png" "%{buildroot}%{_datadir}/icons/hicolor/128x128/apps/$f.png"
  install -D -m0644 "./crates/$f/build/linux/256x256.png" "%{buildroot}%{_datadir}/icons/hicolor/256x256/apps/$f.png"
done

install -D -m0755 "./target/release/icy_play" "%{buildroot}%{_bindir}/icy_play"

%files
%license LICENSE-APACHE LICENSE-MIT
%doc README.md

%files -n icy_draw
%license crates/icy_draw/build/license.rtf
%doc crates/icy_draw/README.md
%{_bindir}/icy_draw
%{_datadir}/applications/icy_draw.desktop
%{_datadir}/icons/hicolor/*/apps/icy_draw.png

%files -n icy_view
%license crates/icy_view/build/license.rtf
%doc crates/icy_view/README.md
%{_bindir}/icy_view
%{_datadir}/applications/icy_view.desktop
%{_datadir}/icons/hicolor/*/apps/icy_view.png

%files -n icy_term
%license crates/icy_term/build/license.rtf
%doc crates/icy_term/README.md
%{_bindir}/icy_term
%{_datadir}/applications/icy_term.desktop
%{_datadir}/icons/hicolor/*/apps/icy_term.png

%files -n icy_play
%doc crates/icy_play/README.md
%{_bindir}/icy_play

%changelog
openSUSE Build Service is sponsored by