diff --git a/fix-librsync-leap.patch b/fix-librsync-leap.diff similarity index 100% rename from fix-librsync-leap.patch rename to fix-librsync-leap.diff diff --git a/go-buildmode-pie.diff b/go-buildmode-pie.diff new file mode 100644 index 0000000..711bf9b --- /dev/null +++ b/go-buildmode-pie.diff @@ -0,0 +1,11 @@ +--- setup.py 2023-04-21 03:40:01.000000000 -0400 ++++ setup.py.smb 2023-06-29 16:46:28.129796837 -0400 +@@ -914,7 +914,7 @@ + raise SystemExit(f'The version of go on this system ({current_go_version}) is too old. go >= {required_go_version} is needed') + if not for_platform: + update_go_generated_files(args, os.path.join(launcher_dir, appname)) +- cmd = [go, 'build', '-v'] ++ cmd = [go, 'build', '-buildmode=pie', '-v'] + vcs_rev = args.vcs_rev or get_vcs_rev() + ld_flags = [f"-X 'kitty.VCSRevision={vcs_rev}'"] + if for_freeze: diff --git a/kitty-0.28.1.tar.gz b/kitty-0.28.1.tar.gz deleted file mode 100644 index 0ede2c8..0000000 --- a/kitty-0.28.1.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:210bfd7acbb2e9316efcde44c03b78c75ce487d127afb822b43f6e2a35f6a693 -size 7882332 diff --git a/kitty-0.29.1.tar.gz b/kitty-0.29.1.tar.gz new file mode 100644 index 0000000..5f1d863 Binary files /dev/null and b/kitty-0.29.1.tar.gz differ diff --git a/kitty-rpmlintrc b/kitty-rpmlintrc new file mode 100644 index 0000000..fdde116 --- /dev/null +++ b/kitty-rpmlintrc @@ -0,0 +1,3 @@ +addFilter("non-executable-script *"); +addFilter("potential-bashisms /usr/lib64/kitty/shell-integration/ssh/bootstrap-utils.sh"); +addFilter("hidden-file-or-dir /usr/lib64/kitty/shell-integration/zsh/.zshenv"); diff --git a/kitty.changes b/kitty.changes index e867f09..5d84b9c 100644 --- a/kitty.changes +++ b/kitty.changes @@ -1,3 +1,142 @@ +------------------------------------------------------------------- +Wed Jul 19 18:22:58 UTC 2023 - Scott Bradnick + +- Taking step(s) to move to Gitea (https://src.opensuse.org) + +------------------------------------------------------------------- +Mon Jul 17 14:30:33 UTC 2023 - Scott Bradnick + +- Update to 0.29.1 + * A new value for background_image_layout to scale the background image while + preserving its aspect ratio. Also have centered images work even for images + larger than the window size (#6458) + * Fix a regression that caused using unicode placeholders to display images to + break and also partially offscreen images to sometimes be slightly + distorted (#6467) + * macOS: Fix a regression that caused rendering to hang when transitioning to + full screen with macos_colorspace set to default (#6435) + * macOS: Fix a regression causing burn-in of text when resizing semi-transparent + OS windows (#6439) + * macOS: Add a new value titlebar-and-corners for hide_window_decorations that + emulates the behavior of hide_window_decorations yes in older versions of kitty + * macOS: Fix a regression in the previous release that caused + hide_window_decorations = yes to prevent window from being resizable (#6436) + * macOS: Fix a regression that caused the titlebar to be translucent even for + non-translucent windows (#6450) + * GNOME: Fix wayland_titlebar_color not being applied until the color is changed + at least once (#6447) + * Remote control launch: Fix --env not implemented when using --cwd=current with + the SSH kitten (#6438) + * Allow using a custom OS window icon on X11 as well as macOS (#6475) + +------------------------------------------------------------------- +Mon Jul 10 15:55:28 UTC 2023 - Scott Bradnick + +- Adding kitty-rpmlintrc as a source file + +------------------------------------------------------------------- +Mon Jul 10 14:47:10 UTC 2023 - Scott Bradnick + +- Update to 0.29.0 + * Removing wayland-protocols-1.32.diff as it's no longer required + * A new escape code [22J that moves the current contents of the screen + into the scrollback before clearing it + * A new kitten run-shell to allow creating sub-shells with shell integration + enabled + * A new option background_blur to blur the background for transparent + windows (#6135) + * The --hold flag now holds the window open at a shell prompt instead of + asking the user to press a key + * A new option text_fg_override_threshold to force text colors to have high + contrast regardless of color scheme (#6283) + * When resizing OS Windows make the animation less jerky. Also show the + window size in cells during the resize (#6341) + * unicode_input kitten: Fix a regression in 0.28.0 that caused the order of + recent and favorites entries to not be respected (#6214) + * unicode_input kitten: Fix a regression in 0.28.0 that caused editing of + favorites to sometimes hang + * clipboard kitten: Fix a bug causing the last MIME type available on the + clipboard not being recognized when pasting + * clipboard kitten: Dont set clipboard when getting clipboard in filter + mode (#6302) + * Fix regression in 0.28.0 causing color fringing when rendering in + transparent windows on light backgrounds (#6209) + * show_key kitten: In kitty mode show the actual bytes sent by the terminal + rather than a re-encoding of the parsed key event + * hints kitten: Fix a regression in 0.28.0 that broke using sub-groups in + regexp captures (#6228) + * hints kitten: Fix a regression in 0.28.0 that broke using + lookahead/lookbehind in regexp captures (#6265) + * diff kitten: Fix a regression in 0.28.0 that broke using relative paths + as arguments to the kitten (#6325) + * Fix re-using the image id of an animated image for a still image causing + a crash (#6244) + * kitty +open: Ask for permission before executing script files that are not + marked as executable. This prevents accidental execution of script files + via MIME type association from programs that unconditionally “open” + attachments/downloaded files + * edit-in-kitty: Fix running edit-in-kitty with elevated privileges to edit a + restricted file not working (#6245) + * ssh kitten: Fix a regression in 0.28.0 that caused interrupt during setup + to not be handled gracefully (#6254) + * ssh kitten: Allow configuring the ssh kitten to skip some hosts via a new + delegate config directive + * Graphics: Move images up along with text when the window is shrunk + vertically (#6278) + * Fix a regression in 0.28.0 that caused a buffer overflow when clearing the + screen (#6306, #6308) + * Fix a regression in 0.27.0 that broke setting of specific edge + padding/margin via remote control (#6333) + * macOS: Fix window shadows not being drawn for transparent + windows (#2827, #6416) + * Do not echo invalid DECRQSS queries back, behavior inherited from xterm + (CVE-2008-2383). Similarly, fix an echo bug in the file transfer protocol + due to insufficient sanitization of safe strings. + +------------------------------------------------------------------- +Fri Jul 7 15:43:07 UTC 2023 - Scott Bradnick + +- patch file fix-librsync-leap.patch is being deleted as part of a rename +- patch file fix-librsync-leap.diff is being added as part of a rename +- patch optional-disable-docs.patch is being deleted as part of a rename +- patch optional-disable-docs.diff is being added as part of a rename +- patch go-buildmode-pie.diff is being added so that 'go build' includes '-buildmode=pie' + +------------------------------------------------------------------- +Thu Jul 6 16:47:05 UTC 2023 - Scott Bradnick + +- Adding wayland-protocols-1.32.diff patch to account for 'compiler crashes' + from wayland-protocols-devel update (#6422) + * This is patched upstream via 95d1564 and 7d2dc25 +- Removing -Wno-error=switch flag as this was a workaround to deal with + scenario from above + +------------------------------------------------------------------- +Tue Jul 4 20:51:36 UTC 2023 - Scott Bradnick + +- Renaming the following files: + * fix-librsync-leap{.patch -> .diff} + * optional-disable-docs{.patch -> diff} + +------------------------------------------------------------------- +Tue Jul 4 19:58:53 UTC 2023 - Simon Vogl + +- Set -Wno-error=switch flag to prevent compiler crashes for RISCV + and ARM + +------------------------------------------------------------------- +Thu Jun 29 20:22:40 UTC 2023 - Scott Bradnick + +- Cleaning up "wayland-devel obsoletes libwayland-egl-devel" +- Adding 'Recommends: python3-importlib_resources' + +------------------------------------------------------------------- +Tue May 9 09:23:45 UTC 2023 - Max Lin + +- Use python3.11 on Leap 15.5 + * python3.11 is the only python3 > 3.6 version would be shipped + in Leap 15.5 + ------------------------------------------------------------------- Fri Apr 21 09:59:52 UTC 2023 - Simon Vogl diff --git a/kitty.spec b/kitty.spec index fe88d27..c531361 100644 --- a/kitty.spec +++ b/kitty.spec @@ -19,7 +19,7 @@ # sphinx_copybutton not in Factory %bcond_with docs Name: kitty -Version: 0.28.1 +Version: 0.29.1 Release: 0 Summary: A GPU-based terminal emulator License: GPL-3.0-only @@ -27,10 +27,12 @@ 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 -# PATCH-FIX-OPENSUSE optional-disable-docs.patch -- Optionally disable building documentation files -Patch0: optional-disable-docs.patch -# PATCH-FIX-OPENSUSE fix-librsync-leap.patch -- Fix for Leap, as librsync header is missing the stdio.h header for FILE* -Patch1: fix-librsync-leap.patch +Source2: kitty-rpmlintrc +# PATCH-FIX-OPENSUSE optional-disable-docs.diff -- Optionally disable building documentation files +Patch0: optional-disable-docs.diff +# PATCH-FIX-OPENSUSE fix-librsync-leap.diff -- Fix for Leap, as librsync header is missing the stdio.h header for FILE* +Patch1: fix-librsync-leap.diff +Patch2: go-buildmode-pie.diff BuildRequires: ImageMagick-devel BuildRequires: Mesa-libGL-devel BuildRequires: fdupes @@ -46,7 +48,7 @@ BuildRequires: libcanberra-devel BuildRequires: liblcms2-devel BuildRequires: libpng16-compat-devel BuildRequires: librsync-devel -BuildRequires: libwayland-egl-devel +#BuildRequires: libwayland-egl-devel BuildRequires: libxkbcommon-devel BuildRequires: libxkbcommon-x11-devel BuildRequires: openssl-devel @@ -64,8 +66,16 @@ 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 @@ -74,6 +84,9 @@ 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. @@ -81,25 +94,68 @@ 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 -p1 -a 1 +#%%autosetup -p1 -a 1 +%setup -a 1 +%patch0 +%patch1 -p1 +%patch2 %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" +# %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 \ %if !%{with docs} @@ -117,13 +173,23 @@ python3.9 -B \ %{_bindir}/%{name} %{_bindir}/kitten %{_libdir}/%{name} +%exclude %{_libdir}/%{name}/shell-integration %{_datadir}/applications/%{name}{,-open}.desktop %{_datadir}/icons/hicolor/ -%{_datadir}/terminfo/x/xterm-%{name} %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 diff --git a/optional-disable-docs.patch b/optional-disable-docs.diff similarity index 86% rename from optional-disable-docs.patch rename to optional-disable-docs.diff index decb46c..4693b39 100644 --- a/optional-disable-docs.patch +++ b/optional-disable-docs.diff @@ -1,19 +1,17 @@ -Index: kitty-0.27.1/setup.py -=================================================================== ---- kitty-0.27.1.orig/setup.py -+++ kitty-0.27.1/setup.py +--- setup.py.smb 2023-07-10 10:36:07.831578320 -0400 ++++ setup.py 2023-07-10 10:40:20.503925434 -0400 @@ -61,6 +61,7 @@ verbose: int = 0 sanitize: bool = False prefix: str = './linux-package' + no_docs: bool = False dir_for_static_binaries: str = 'build/static' - incremental: bool = True - profile: bool = False -@@ -1085,12 +1086,13 @@ + skip_code_generation: bool = False + clean_for_cross_compile: bool = False +@@ -1158,12 +1159,13 @@ c(base_path, ddir='', rx=exclude, force=True, optimize=optimize, quiet=1, workers=num_workers) - - + + -def create_linux_bundle_gunk(ddir: str, libdir_name: str) -> None: - if not os.path.exists('docs/_build/html'): - make = 'gmake' if is_freebsd else 'make' @@ -30,16 +28,16 @@ Index: kitty-0.27.1/setup.py for (icdir, ext) in {'256x256': 'png', 'scalable': 'svg'}.items(): icdir = os.path.join(ddir, 'share', 'icons', 'hicolor', icdir, 'apps') safe_makedirs(icdir) -@@ -1468,7 +1470,7 @@ +@@ -1541,7 +1543,7 @@ if not for_freeze and not bundle_type.startswith('macos-'): build_static_kittens(args, launcher_dir=launcher_dir) if not is_macos: - create_linux_bundle_gunk(ddir, args.libdir_name) + create_linux_bundle_gunk(ddir, args.libdir_name, args.no_docs) - + if bundle_type.startswith('macos-'): create_macos_bundle_gunk(ddir, for_freeze, args) -@@ -1564,6 +1566,12 @@ +@@ -1644,6 +1646,12 @@ help='Where to create the linux package' ) p.add_argument( diff --git a/vendor.tar.gz b/vendor.tar.gz index fa49026..7bf29c7 100644 Binary files a/vendor.tar.gz and b/vendor.tar.gz differ