diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..eb04b23 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/kitty-0.14.6.tar.gz diff --git a/kitty.appdata.xml b/kitty.appdata.xml new file mode 100644 index 0000000..54a2507 --- /dev/null +++ b/kitty.appdata.xml @@ -0,0 +1,36 @@ + + + + kitty + CC0 + GPL-3.0-or-later + kitty + Cross-platform, fast, feature full, GPU based terminal emulator + +

Qt5 image viewer. Fast, configurable, easy to use. Optional video support. + +Key features: + +- Simple UI +- Fast +- Easy to use +- Fully configurable, including shortcuts +- Basic image editing: Crop, Rotate and Resize +- Ability to quickly copy / move images to different folders +- Experimental video playback via libmpv +- Ability to run shell scripts +- A nice dark theme, should look identical on every OS / DE

+
+ + kitty + + + + https://sw.kovidgoyal.net/kitty/_images/screenshot.png + + + Kovid Goyal + https://sw.kovidgoyal.net/kitty + https://github.com/kovidgoyal/kitty/issues + https://sw.kovidgoyal.net/kitty/support.html +
diff --git a/kitty.spec b/kitty.spec new file mode 100644 index 0000000..fd235bd --- /dev/null +++ b/kitty.spec @@ -0,0 +1,166 @@ +# Enable LTO +%global optflags %{optflags} -flto +%global build_ldflags %{build_ldflags} -flto + +Name: kitty +Version: 0.14.6 +Release: 10%{?dist} +Summary: Cross-platform, fast, feature full, GPU based terminal emulator + +# BSD: docs/_templates/searchbox.html +# zlib: glfw/* +License: GPLv3 and zlib and BSD +URL: https://sw.kovidgoyal.net/kitty +Source0: https://github.com/kovidgoyal/kitty/archive/v%{version}/%{name}-%{version}.tar.gz + +# https://github.com/kovidgoyal/kitty/pull/2088 +Source1: https://raw.githubusercontent.com/kovidgoyal/kitty/46c0951751444e4f4994008f0d2dcb41e49389f4/kitty/data/%{name}.appdata.xml + +BuildRequires: desktop-file-utils +BuildRequires: gcc +BuildRequires: libappstream-glib +BuildRequires: python3-devel +BuildRequires: python3dist(setuptools) +BuildRequires: wayland-devel +BuildRequires: wayland-protocols-devel +BuildRequires: pkgconfig(dbus-1) +BuildRequires: pkgconfig(fontconfig) +BuildRequires: pkgconfig(gl) +BuildRequires: pkgconfig(harfbuzz) +BuildRequires: pkgconfig(libcanberra) +BuildRequires: pkgconfig(libpng) +BuildRequires: pkgconfig(xcursor) +BuildRequires: pkgconfig(xi) +BuildRequires: pkgconfig(xinerama) +BuildRequires: pkgconfig(xkbcommon-x11) +BuildRequires: pkgconfig(xrandr) +BuildRequires: pkgconfig(zlib) +Requires: python3%{?_isa} +Requires: hicolor-icon-theme + +# Terminfo file has been split from the main program and is required for use without errors. +# It has been separated to support SSH into remote machines using kitty as per the maintainers suggestion. +# Install the terminfo file on the remote machine. +Requires: %{name}-terminfo = %{version}-%{release} + +# Very weak dependencies, these are required to enable all features of kitty's "kittens" functions install separately +Recommends: python3-pygments +Suggests: ImageMagick%{?_isa} + +%description +- Offloads rendering to the GPU for lower system load and buttery smooth + scrolling. Uses threaded rendering to minimize input latency. + +- Supports all modern terminal features: graphics (images), unicode, true-color, + OpenType ligatures, mouse protocol, focus tracking, bracketed paste and + several new terminal protocol extensions. + +- Supports tiling multiple terminal windows side by side in different layouts + without needing to use an extra program like tmux. + +- Can be controlled from scripts or the shell prompt, even over SSH. + +- Has a framework for Kittens, small terminal programs that can be used to + extend kitty's functionality. For example, they are used for Unicode input, + Hints and Side-by-side diff. + +- Supports startup sessions which allow you to specify the window/tab layout, + working directories and programs to run on startup. + +- Cross-platform: kitty works on Linux and macOS, but because it uses only + OpenGL for rendering, it should be trivial to port to other Unix-like + platforms. + +- Allows you to open the scrollback buffer in a separate window using arbitrary + programs of your choice. This is useful for browsing the history comfortably + in a pager or editor. + +- Has multiple copy/paste buffers, like vim. + + +%package terminfo +Summary: The terminfo file for Kitty Terminal +BuildArch: noarch + +Requires: ncurses-base + +%description terminfo +Cross-platform, fast, feature full, GPU based terminal emulator. + +The terminfo file for Kitty Terminal. + + +%package doc +Summary: Documentation for %{name} + +BuildRequires: python3dist(sphinx) + +%description doc +This package contains the documentation for %{name}. + + +%prep +%autosetup +# Replace python shebangs to make them compatible with fedora +find -type f -name "*.py" -exec sed -e 's@/usr/bin/env python3@%{__python3}@g' -e 's@/usr/bin/env python@%{__python3}@g' -i "{}" \; + +# non-executable-script +sed -e "s/f.endswith('\.so')/f.endswith('\.so') or f.endswith('\.py')/g" -i setup.py + +# script-without-shebang '__init__.py' +find -type f -name "*.py*" -empty -exec chmod -x "{}" \; + + +%build +%set_build_flags +# Project using custom build scripts :( +%{__python3} setup.py build + + +%install +%{__python3} setup.py linux-package --libdir-name=%{_lib} --prefix=%{buildroot}%{_prefix} --update-check-interval=0 --debug +install -m 0644 -Dp %{SOURCE1} %{buildroot}%{_metainfodir}/%{name}.appdata.xml + +# script-without-shebang '__init__.py' +find %{buildroot} -type f -name "*.py*" -empty -exec chmod -x "{}" \; + +# rpmlint fixes +rm %{buildroot}%{_datadir}/doc/%{name}/html/.buildinfo +rm %{buildroot}%{_datadir}/doc/%{name}/html/.nojekyll + + +%check +%{__python3} setup.py test --prefix=%{buildroot}%{_prefix} +appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/*.appdata.xml +desktop-file-validate %{buildroot}/%{_datadir}/applications/*.desktop + + +%files +%license LICENSE +%{_bindir}/%{name} +%{_datadir}/applications/*.desktop +%{_datadir}/icons/hicolor/*/*/*.png +%{_libdir}/%{name} +%{_mandir}/man1/* +%{_metainfodir}/*.xml + +%files terminfo +%license LICENSE +%{_datadir}/terminfo/x/xterm-%{name} + +%files doc +%license LICENSE +%doc CONTRIBUTING.md CHANGELOG.rst INSTALL.md +%{_datadir}/doc/%{name}/html +%dir %{_datadir}/doc/%{name} + + +%changelog +* Sun Oct 20 2019 Artem Polishchuk - 0.14.6-10 +- Update to 0.14.6 +- Spec file fixes +- Thanks to Vitaly Zaitsev + +* Fri Jul 12 2019 eskse 0.14.2-1 +- Initial version of file + diff --git a/sources b/sources new file mode 100644 index 0000000..115777a --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (kitty-0.14.6.tar.gz) = 0949db2daf0e1cd6e725a8d242fc43f15108964b2acdcf9e307168db99e44cffc339b6c98f3f571d54a8aa3f019442f76b9c4dd6553c715eeeef92057ff84006