- Adding 'BuildRequires: symbols-only-nerd-fonts' as it's looked for at build

time
- Explicitly setting go1.22 (Base version required to build)
- Update to 0.36.0:
  * Support OpenType Variable fonts (#3711)
  * A new choose-fonts kitten that provides a UI with font previews to ease
    selection of fonts. Also has support for font features and variable fonts
  * Allow animating the blinking of the cursor. See cursor_blink_interval for
    how to configure it
  * Add NERD fonts builtin so that users don’t have to install them to use
    NERD symbols in kitty. The builtin font is used only if the symbols are
    not available in some system font
  * launch command: A new launch --bias option to adjust the size of newly
    created windows declaratively (#7634)
  * A new option second_transparent_bg to make a second background color
    semi-transparent via background_opacity. Useful for things like cursor
    line highlight in editors (#7646)
  * A new notify kitten to show desktop notifications from the command line
    with support for icons, buttons and more.
  * Desktop notifications protocol: Add support for icons, buttons, closing of
    notifications, expiry of notifications, updating of notifications and
    querying if the terminal emulator supports the
    protocol (#7657, #7658, #7659)
  * A new option filter_notification to filter out or perform arbitrary
    actions on desktop notifications based on sophisticated criteria (#7670)
  * A new protocol to allow terminal applications to change colors in the
    terminal more robustly than with the legacy XTerm protocol (Setting and
    querying colors)
  * Sessions: A new command focus_matching_window to shift focus to a specific
    window, useful when creating complex layouts with splits (#7635)

OBS-URL: https://build.opensuse.org/package/show/X11:terminals/kitty?expand=0&rev=157
This commit is contained in:
Scott Bradnick 2024-08-17 20:23:20 +00:00 committed by Git OBS Bridge
commit 61d0617c81
10 changed files with 2790 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.osc

4
_service Normal file
View File

@ -0,0 +1,4 @@
<services>
<service name="go_modules" mode="manual">
</service>
</services>

View File

@ -0,0 +1,28 @@
--- setup.py.smb 2024-01-19 09:43:25.073225511 -0500
+++ setup.py 2024-01-19 10:26:09.830214118 -0500
@@ -980,7 +980,7 @@
if args.skip_building_kitten:
print('Skipping building of the kitten binary because of a command line option. Build is incomplete', file=sys.stderr)
return ''
- cmd = [go, 'build', '-v']
+ cmd = [go, 'build', '-buildmode=pie', '-v']
vcs_rev = args.vcs_rev or get_vcs_rev()
ld_flags: List[str] = []
binary_data_flags = [f"-X kitty.VCSRevision={vcs_rev}"]
@@ -1165,13 +1165,14 @@
base = Path(ddir)
in_src_launcher = base / (f'{libdir_name}/kitty/kitty/launcher/kitty')
launcher = base / 'bin/kitty'
- skip_docs = False
+ skip_docs = True
if not os.path.exists('docs/_build/html'):
kitten_exe = os.path.join(os.path.dirname(str(launcher)), 'kitten')
if os.path.exists(kitten_exe):
os.environ['KITTEN_EXE_FOR_DOCS'] = kitten_exe
make = 'gmake' if is_freebsd else 'make'
- run_tool([make, 'docs'])
+ if not skip_docs:
+ run_tool([make, 'docs'])
else:
if args.skip_building_kitten:
skip_docs = True

3
kitty-0.35.2.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:35ecf63999a056ff691abab94a6f82328f4e432c8e229a69d02c25466be4398f
size 8116620

3
kitty-0.36.0.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:9fee443b310b9240e8412e0a48c6146c982de4ff6afafc8f5b0d28b123ae5279
size 8582355

4
kitty-rpmlintrc Normal file
View File

@ -0,0 +1,4 @@
addFilter("non-executable-script *");
#addFilter("python-bytecode-inconsistent-mtime *");
addFilter("potential-bashisms /usr/lib64/kitty/shell-integration/ssh/bootstrap-utils.sh");
addFilter("hidden-file-or-dir /usr/lib64/kitty/shell-integration/zsh/.zshenv");

2525
kitty.changes Normal file

File diff suppressed because it is too large Load Diff

196
kitty.spec Normal file
View File

@ -0,0 +1,196 @@
#
# spec file for package kitty
#
# Copyright (c) 2024 SUSE LLC
#
# 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/
#
# sphinx_copybutton not in Factory
%bcond_with docs
Name: kitty
Version: 0.36.0
Release: 0
Summary: A GPU-based terminal emulator
License: GPL-3.0-only
Group: System/X11/Terminals
URL: https://github.com/kovidgoyal/kitty
Source: https://github.com/kovidgoyal/kitty/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
Source1: vendor.tar.gz
Source2: kitty-rpmlintrc
Patch0: buildmode-and-skip_docs.diff
BuildRequires: ImageMagick-devel
BuildRequires: Mesa-libGL-devel
BuildRequires: fdupes
BuildRequires: fontconfig-devel
BuildRequires: freetype2-devel
### Avoiding any 'have choice for go' issues ...
BuildRequires: go1.22
#BuildRequires: go >= 1.22
#BuildRequires: golang-packaging
#####
BuildRequires: harfbuzz-devel >= 1.5.0
BuildRequires: libXcursor-devel
BuildRequires: libXi-devel
BuildRequires: libXinerama-devel
BuildRequires: libXrandr-devel
BuildRequires: libcanberra-devel
BuildRequires: liblcms2-devel
BuildRequires: libpng16-compat-devel
BuildRequires: librsync-devel
BuildRequires: libxkbcommon-devel
BuildRequires: libxkbcommon-x11-devel
BuildRequires: ncurses-devel
BuildRequires: openssl-devel
BuildRequires: pkgconfig
BuildRequires: symbols-only-nerd-fonts
BuildRequires: terminfo
BuildRequires: wayland-devel
BuildRequires: wayland-protocols-devel
BuildRequires: xxhash-devel
BuildRequires: zlib-devel
BuildRequires: pkgconfig(dbus-1)
BuildRequires: pkgconfig(simde)
# Python requirements for Factory and Leap
%if 0%{?suse_version} > 1500
BuildRequires: python3-devel >= 3.7
BuildRequires: python3-sphinxext-opengraph
%else
# Leap still provides python3.6 kitty requires at least 3.7
%if 0%{?sle_version} > 150400
BuildRequires: python311-devel
%else
%if 0%{?sle_version} > 150300
BuildRequires: python310-devel
%else
BuildRequires: python39-devel
%endif
%endif
%endif
# Optional documentation requirements
%if %{with docs}
BuildRequires: python3-Sphinx >= 1.7
BuildRequires: python3-importlib-resources
BuildRequires: python3-readthedocs-sphinx-ext
BuildRequires: python3-sphinx-inline-tabs
BuildRequires: python3-sphinxcontrib-copybutton
%endif
Recommends: %{name}-shell-integration
Recommends: %{name}-terminfo
Recommends: python3-importlib_resources
%description
A terminal emulator that uses OpenGL for rendering.
Supports terminal features like: graphics, Unicode,
true-color, OpenType ligatures, mouse protocol, focus tracking,
bracketed paste and so on, and which can be controlled by scripts.
%package terminfo
Summary: The terminfo file for the Kitty terminal
BuildArch: noarch
%description terminfo
Provides 'xterm-kitty' terminfo file(s) for the Kitty terminal; this package can be installed on its own to provide file(s) instead of the full kitty package on remote systems.
%package shell-integration
Summary: The shell-integation file(s) for the Kitty terminal
%description shell-integration
shell-integration [bash,fish,zsh] file(s) for the Kitty terminal; this package can be installed on its own to provide file(s) instead of the full kitty package on remote systems.
%prep
%autosetup -p0 -a 1
%if 0%{?suse_version} > 1500
find . -type f -exec sed -i 's@#!/usr/bin/env python3$@#!%{_bindir}/python3@' {} +
find . -type f -exec sed -i 's@#!/usr/bin/env python$@#!%{_bindir}/python@' {} +
%else
%if 0%{?sle_version} > 150400
find . -type f -exec sed -i 's@#!/usr/bin/env python3$@#!%{_bindir}/python3.11@' {} +
find . -type f -exec sed -i 's@#!/usr/bin/env python$@#!%{_bindir}/python3.11@' {} +
%else
%if 0%{?sle_version} > 150300
find . -type f -exec sed -i 's@#!/usr/bin/env python3$@#!%{_bindir}/python3.10@' {} +
find . -type f -exec sed -i 's@#!/usr/bin/env python$@#!%{_bindir}/python3.10@' {} +
%else
find . -type f -exec sed -i 's@#!/usr/bin/env python3$@#!%{_bindir}/python3.9@' {} +
find . -type f -exec sed -i 's@#!/usr/bin/env python$@#!%{_bindir}/python3.9@' {} +
%endif
%endif
%endif
%build
%install
# yes they have a makefile, no they dont use it properly
# no they dont have a make install
# we used to have this in the build section but since rpm 4.16 buildroot is cleaned
#
# See: https://build.opensuse.org/request/show/1096854
# Set -Wno-error=switch flag to prevent compiler crashes
#export CFLAGS="${CFLAGS:-%%optflags} -Wno-error=switch"
#export CXXFLAGS="${CXXFLAGS:-%%optflags} -Wno-error=switch"
#
### This might have been fixed as part of #gh/kovidgoyal/kitty/7026
#%%ifarch i586
#export CFLAGS="${CFLAGS:-%%optflags} -fcf-protection=none"
#%%endif
#####
%if 0%{?suse_version} > 1500
python3 \
%else
%if 0%{?sle_version} > 150400
python3.11 -B \
%else
%if 0%{?sle_version} > 150300
python3.10 -B \
%else
python3.9 -B \
%endif
%endif
%endif
setup.py \
--verbose \
linux-package \
--prefix %{buildroot}%{_prefix} \
--libdir-name %{_lib} \
--extra-include-dirs %{_prefix}/include/libxkbcommon
%fdupes %{buildroot}%{_libdir}/%{name}
%files
%license LICENSE
%doc CHANGELOG.rst README.asciidoc
%{_bindir}/%{name}
%{_bindir}/kitten
%{_libdir}/%{name}
%exclude %{_libdir}/%{name}/shell-integration
%{_datadir}/applications/%{name}{,-open}.desktop
%{_datadir}/icons/hicolor/
%if %{with docs}
%{_mandir}/man1/%{name}.1%{?ext_man}
%{_datadir}/doc/%{name}
%{_mandir}/man5/kitty.conf.5%{?ext_man}
%endif
%files terminfo
%license LICENSE
%doc CHANGELOG.rst README.asciidoc
%{_datadir}/terminfo/x/xterm-%{name}
%files shell-integration
%license LICENSE
%doc CHANGELOG.rst README.asciidoc
%{_libdir}/%{name}/shell-integration
%changelog

3
vendor.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c7cd39d23d5e0ba93dcfd26a3acbb936fc8cbf46d73862eccf52d1b33df0cc01
size 2809444