ef79955
%bcond_without test
ef79955
4841115
%if 0%{?fedora}
4841115
%bcond_without doc
4841115
%else
4841115
%bcond_with doc
4841115
%endif
4841115
91033f9
Name:           kitty
1eaae6d
Version:        0.21.2
25bb9d7
Release:        3%{?dist}
91033f9
Summary:        Cross-platform, fast, feature full, GPU based terminal emulator
d38747d
91033f9
# BSD:          docs/_templates/searchbox.html
66fa275
# zlib:         glfw/
91033f9
License:        GPLv3 and zlib and BSD
91033f9
URL:            https://sw.kovidgoyal.net/kitty
91033f9
Source0:        https://github.com/kovidgoyal/kitty/archive/v%{version}/%{name}-%{version}.tar.gz
ef79955
8606c3a
# Allow skipping documentation build.
8606c3a
# EPEL8's Sphinx is too old and does not have sphinx-build.
8606c3a
Patch0:         kitty-no_sphinx.patch
1c6d656
5f2daf8
# Add AppData manifest file
5f2daf8
# * https://github.com/kovidgoyal/kitty/pull/2088
91033f9
Source1:        https://raw.githubusercontent.com/kovidgoyal/kitty/46c0951751444e4f4994008f0d2dcb41e49389f4/kitty/data/%{name}.appdata.xml
91033f9
91033f9
BuildRequires:  desktop-file-utils
91033f9
BuildRequires:  gcc
e31d7d3
BuildRequires:  lcms2-devel
91033f9
BuildRequires:  libappstream-glib
5b8c44c
BuildRequires:  ncurses
c9d2efd
BuildRequires:  python3-devel >= 3.6
91033f9
BuildRequires:  wayland-devel
91033f9
BuildRequires:  wayland-protocols-devel
ef79955
c9d2efd
BuildRequires:  python3dist(setuptools)
ef79955
91033f9
BuildRequires:  pkgconfig(dbus-1)
91033f9
BuildRequires:  pkgconfig(fontconfig)
91033f9
BuildRequires:  pkgconfig(gl)
91033f9
BuildRequires:  pkgconfig(harfbuzz)
91033f9
BuildRequires:  pkgconfig(libcanberra)
91033f9
BuildRequires:  pkgconfig(libpng)
91033f9
BuildRequires:  pkgconfig(xcursor)
91033f9
BuildRequires:  pkgconfig(xi)
91033f9
BuildRequires:  pkgconfig(xinerama)
91033f9
BuildRequires:  pkgconfig(xkbcommon-x11)
91033f9
BuildRequires:  pkgconfig(xrandr)
91033f9
BuildRequires:  pkgconfig(zlib)
98de06c
91033f9
Requires:       python3%{?_isa}
91033f9
Requires:       hicolor-icon-theme
91033f9
5f2daf8
# Terminfo file has been split from the main program and is required for use
5f2daf8
# without errors. It has been separated to support SSH into remote machines using
5f2daf8
# kitty as per the maintainers suggestion. Install the terminfo file on the remote
5f2daf8
# machine.
91033f9
Requires:       %{name}-terminfo = %{version}-%{release}
91033f9
5f2daf8
# Very weak dependencies, these are required to enable all features of kitty's
5f2daf8
# "kittens" functions install separately
91033f9
Recommends:     python3-pygments
c9d2efd
91033f9
Suggests:       ImageMagick%{?_isa}
91033f9
91033f9
%description
91033f9
- Offloads rendering to the GPU for lower system load and buttery smooth
91033f9
  scrolling. Uses threaded rendering to minimize input latency.
91033f9
91033f9
- Supports all modern terminal features: graphics (images), unicode, true-color,
91033f9
  OpenType ligatures, mouse protocol, focus tracking, bracketed paste and
91033f9
  several new terminal protocol extensions.
91033f9
91033f9
- Supports tiling multiple terminal windows side by side in different layouts
91033f9
  without needing to use an extra program like tmux.
91033f9
91033f9
- Can be controlled from scripts or the shell prompt, even over SSH.
91033f9
91033f9
- Has a framework for Kittens, small terminal programs that can be used to
91033f9
  extend kitty's functionality. For example, they are used for Unicode input,
91033f9
  Hints and Side-by-side diff.
91033f9
91033f9
- Supports startup sessions which allow you to specify the window/tab layout,
91033f9
  working directories and programs to run on startup.
91033f9
91033f9
- Cross-platform: kitty works on Linux and macOS, but because it uses only
91033f9
  OpenGL for rendering, it should be trivial to port to other Unix-like
91033f9
  platforms.
91033f9
91033f9
- Allows you to open the scrollback buffer in a separate window using arbitrary
91033f9
  programs of your choice. This is useful for browsing the history comfortably
91033f9
  in a pager or editor.
91033f9
91033f9
- Has multiple copy/paste buffers, like vim.
91033f9
91033f9
4ecce33
# terminfo package
91033f9
%package        terminfo
91033f9
Summary:        The terminfo file for Kitty Terminal
91033f9
BuildArch:      noarch
91033f9
91033f9
Requires:       ncurses-base
91033f9
91033f9
%description    terminfo
91033f9
Cross-platform, fast, feature full, GPU based terminal emulator.
91033f9
91033f9
The terminfo file for Kitty Terminal.
91033f9
91033f9
4ecce33
# doc package
4841115
%if %{with doc}
91033f9
%package        doc
91033f9
Summary:        Documentation for %{name}
91033f9
91033f9
BuildRequires:  python3dist(sphinx)
91033f9
91033f9
%description    doc
91033f9
This package contains the documentation for %{name}.
4841115
%endif
91033f9
91033f9
91033f9
%prep
99eb880
%autosetup -p1
ec35ed4
91033f9
# Replace python shebangs to make them compatible with fedora
5f2daf8
find -type f -name "*.py" -exec sed -e 's|/usr/bin/env python3|%{__python3}|g'  \
5f2daf8
                                    -e 's|/usr/bin/env python|%{__python3}|g'   \
5f2daf8
                                    -i "{}" \;
91033f9
91033f9
# non-executable-script
91033f9
sed -e "s/f.endswith('\.so')/f.endswith('\.so') or f.endswith('\.py')/g" -i setup.py
91033f9
91033f9
# script-without-shebang '__init__.py'
3221c11
find -type f -name "*.py*" -exec chmod -x "{}"  \;
91033f9
91033f9
91033f9
%install
4ecce33
%set_build_flags
ec35ed4
%{__python3} setup.py linux-package \
5f2daf8
    --libdir-name=%{_lib}           \
ec35ed4
    --prefix=%{buildroot}%{_prefix} \
5f2daf8
    --update-check-interval=0       \
ec35ed4
    --debug
baca20f
install -m0644 -Dp %{SOURCE1} %{buildroot}%{_metainfodir}/%{name}.appdata.xml
91033f9
91033f9
# script-without-shebang '__init__.py'
3221c11
find %{buildroot} -type f -name "*.py*" -exec chmod -x "{}"  \;
91033f9
4841115
%if %{with doc}
91033f9
# rpmlint fixes
66fa275
rm %{buildroot}%{_datadir}/doc/%{name}/html/.buildinfo \
66fa275
   %{buildroot}%{_datadir}/doc/%{name}/html/.nojekyll
4841115
%endif
91033f9
91033f9
91033f9
%check
ef79955
%if %{with test}
01ad92e
export PATH=%{buildroot}%{_bindir}:$PATH
8f872ca
%{__python3} setup.py test \
8f872ca
    --prefix=%{buildroot}%{_prefix}
ef79955
%endif
8f872ca
baca20f
appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/*.xml
91033f9
desktop-file-validate %{buildroot}/%{_datadir}/applications/*.desktop
91033f9
91033f9
91033f9
%files
91033f9
%license LICENSE
91033f9
%{_bindir}/%{name}
91033f9
%{_datadir}/applications/*.desktop
91033f9
%{_datadir}/icons/hicolor/*/*/*.png
ec35ed4
%{_libdir}/%{name}/
4841115
%if %{with doc}
1c6d656
%{_mandir}/man{1,5}/*.{1,5}*
4841115
%endif
91033f9
%{_metainfodir}/*.xml
91033f9
91033f9
%files terminfo
91033f9
%license LICENSE
91033f9
%{_datadir}/terminfo/x/xterm-%{name}
91033f9
4841115
%if %{with doc}
91033f9
%files doc
91033f9
%license LICENSE
91033f9
%doc CONTRIBUTING.md CHANGELOG.rst INSTALL.md
91033f9
%{_datadir}/doc/%{name}/html
91033f9
%dir %{_datadir}/doc/%{name}
4841115
%endif
91033f9
91033f9
91033f9
%changelog
25bb9d7
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.21.2-3
25bb9d7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
25bb9d7
b3ba282
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.21.2-2
b3ba282
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
b3ba282
1eaae6d
* Tue Jun 29 2021 Artem Polishchuk <ego.cordatus@gmail.com> - 0.21.2-1
1eaae6d
- build(update): 0.21.2
1eaae6d
01ad92e
* Mon Jun 14 2021 Miro Hrončok <mhroncok@redhat.com> - 0.21.1-2
01ad92e
- Run tests in %%check with currently-built kitty
01ad92e
- Fixes rhbz#1971563
01ad92e
81096e6
* Mon Jun 14 2021 Artem Polishchuk <ego.cordatus@gmail.com> - 0.21.1-1
81096e6
- build(update): 0.21.1
81096e6
57bccc1
* Sat Jun 12 2021 Artem Polishchuk <ego.cordatus@gmail.com> - 0.21.0-1
57bccc1
- build(update): 0.21.0
57bccc1
246bc7b
* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 0.20.3-2
246bc7b
- Rebuilt for Python 3.10
246bc7b
8606c3a
* Thu May 06 2021 Artem Polishchuk <ego.cordatus@gmail.com> - 0.20.3-1
8606c3a
- build(update): 0.20.3
8606c3a
1c6d656
* Wed Apr 28 2021 Artem Polishchuk <ego.cordatus@gmail.com> - 0.20.2-1
1c6d656
- build(update): 0.20.2
1c6d656
7f2c041
* Mon Apr 19 2021 Artem Polishchuk <ego.cordatus@gmail.com> - 0.20.1-1
7f2c041
- build(update): 0.20.1
7f2c041
ef79955
* Mon Apr 19 2021 Artem Polishchuk <ego.cordatus@gmail.com> - 0.20.0-1
ef79955
- build(update): 0.20.0
ef79955
2681747
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.19.3-2
2681747
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
2681747
3cf0773
* Sat Dec 19 2020 Artem Polishchuk <ego.cordatus@gmail.com> - 0.19.3-1
3cf0773
- build(update): 0.19.3
3cf0773
7487197
* Fri Nov 13 2020 Artem Polishchuk <ego.cordatus@gmail.com> - 0.19.2-1
7487197
- build(update): 0.19.2
7487197
1ffbc50
* Tue Oct  6 16:34:51 EEST 2020 Artem Polishchuk <ego.cordatus@gmail.com> - 0.19.1-1
1ffbc50
- build(update): 0.19.1
1ffbc50
e31d7d3
* Sun Oct  4 2020 Artem Polishchuk <ego.cordatus@gmail.com> - 0.19.0-1
e31d7d3
- Update to 0.19.0
e31d7d3
- build: add BR: lcms2-devel
e31d7d3
2fae0d8
* Fri Aug 28 2020 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 0.18.3-3
2fae0d8
- Enable building on s390x
2fae0d8
4841115
* Mon Aug 24 2020 Michel Alexandre Salim <salimma@fedoraproject.org> - 0.18.3-2
4841115
- Support building on EPEL8
4841115
8f872ca
* Tue Aug 11 2020 Artem Polishchuk <ego.cordatus@gmail.com> - 0.18.3-1
8f872ca
- Update to 0.18.3
8f872ca
baca20f
* Tue Jul 28 2020 Artem Polishchuk <ego.cordatus@gmail.com> - 0.18.2-1
baca20f
- Update to 0.18.2
baca20f
7170826
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.18.1-3
7170826
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
7170826
5b8c44c
* Fri Jul 24 2020 Artem Polishchuk <ego.cordatus@gmail.com> - 0.18.1-2
5b8c44c
- Add 'ncurses' BR explicitly to fix FTBFS for F33
5b8c44c
f945d22
* Tue Jun 23 2020 Artem Polishchuk <ego.cordatus@gmail.com> - 0.18.1-1
f945d22
- Update to 0.18.1
f945d22
38b3946
* Sat Jun 20 2020 Artem Polishchuk <ego.cordatus@gmail.com> - 0.18.0-1
38b3946
- Update to 0.18.0
38b3946
- Disable LTO
38b3946
c2fc827
* Tue May 26 2020 Miro Hrončok <mhroncok@redhat.com> - 0.17.4-2
c2fc827
- Rebuilt for Python 3.9
c2fc827
edeffa2
* Sat May 09 2020 Artem Polishchuk <ego.cordatus@gmail.com> - 0.17.4-1
edeffa2
- Update to 0.17.4
edeffa2
d543ee7
* Thu Apr 23 2020 Artem Polishchuk <ego.cordatus@gmail.com> - 0.17.3-1
d543ee7
- Update to 0.17.3
d543ee7
31b9512
* Sun Mar 29 2020 Artem Polishchuk <ego.cordatus@gmail.com> - 0.17.2-1
31b9512
- Update to 0.17.2
31b9512
4ecce33
* Tue Mar 24 2020 Artem Polishchuk <ego.cordatus@gmail.com> - 0.17.1-2
4ecce33
- Drop sedding build flags. Not needed anymore.
4ecce33
- Fix build step as upstream recommended
4ecce33
- Do not exclude ppc64le arch anymore
4ecce33
7d0c409
* Tue Mar 24 2020 Artem Polishchuk <ego.cordatus@gmail.com> - 0.17.1-1
7d0c409
- Update to 0.17.1
7d0c409
c9d2efd
* Tue Mar 24 2020 Artem Polishchuk <ego.cordatus@gmail.com> - 0.17.0-1
c9d2efd
- Update to 0.17.0
4a15200
- Exclude arch ppc64le
c9d2efd
98de06c
* Mon Mar 09 2020 Artem Polishchuk <ego.cordatus@gmail.com> - 0.16.0-3
98de06c
- Fix AppData description - #1811657
98de06c
99eb880
* Thu Mar 05 2020 Than Ngo <than@redhat.com> - 0.16.0-2
99eb880
- Fixed #1792789 - kitty fails to build
99eb880
5f2daf8
* Tue Jan 28 2020 Artem Polishchuk <ego.cordatus@gmail.com> - 0.16.0-1
5f2daf8
- Update to 0.16.0
5f2daf8
66fa275
* Thu Jan 02 2020 Artem Polishchuk <ego.cordatus@gmail.com> - 0.15.1-1
66fa275
- Update to 0.15.1
66fa275
c5cb8bd
* Wed Nov 27 2019 Artem Polishchuk <ego.cordatus@gmail.com> - 0.15.0-1
c5cb8bd
- Update to 0.15.0
c5cb8bd
33f72ec
* Sun Oct 20 2019 Artem Polishchuk <ego.cordatus@gmail.com> - 0.14.6-12
91033f9
- Update to 0.14.6
91033f9
- Spec file fixes
91033f9
- Thanks to Vitaly Zaitsev <vitaly@easycoding.org>
91033f9
91033f9
* Fri Jul 12 2019 eskse <eskse@users.noreply.github.com> 0.14.2-1
91033f9
- Initial version of file