From 17cec847b8ec57accfae94ca67223aedc4cefa34 Mon Sep 17 00:00:00 2001 From: classabbyamp Date: Thu, 14 Mar 2024 03:12:38 -0400 Subject: [PATCH] kitty: update to 0.33.0. --- srcpkgs/kitty/patches/arm.patch | 31 ++++++++++++++ srcpkgs/kitty/patches/gcc.patch | 65 ++++++++++++++++++++++++++++++ srcpkgs/kitty/patches/osc-52.patch | 41 +++++++++++++++++++ srcpkgs/kitty/template | 6 +-- 4 files changed, 140 insertions(+), 3 deletions(-) create mode 100644 srcpkgs/kitty/patches/arm.patch create mode 100644 srcpkgs/kitty/patches/gcc.patch create mode 100644 srcpkgs/kitty/patches/osc-52.patch diff --git a/srcpkgs/kitty/patches/arm.patch b/srcpkgs/kitty/patches/arm.patch new file mode 100644 index 00000000000..0305013fd6d --- /dev/null +++ b/srcpkgs/kitty/patches/arm.patch @@ -0,0 +1,31 @@ +From a839af04dc16e0aff8da935ca5b83af932828979 Mon Sep 17 00:00:00 2001 +From: Kovid Goyal +Date: Thu, 14 Mar 2024 11:13:54 +0530 +Subject: [PATCH] Fix #7219 + +--- + kitty/simd-string.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/kitty/simd-string.c b/kitty/simd-string.c +index c7b1994612c..926630d3ca3 100644 +--- a/kitty/simd-string.c ++++ b/kitty/simd-string.c +@@ -200,7 +200,7 @@ init_simd(void *x) { + #ifdef __APPLE__ + #ifdef __arm64__ + // simde takes care of NEON on Apple Silicon +- // ARM has only 128 bit registers buy using the avx2 code is still slightly faster ++ // ARM has only 128 bit registers but using the avx2 code is still slightly faster + has_sse4_2 = true; has_avx2 = true; + #else + do_check(); +@@ -217,6 +217,8 @@ init_simd(void *x) { + // basic AVX2 and SSE4.2 intrinsics, so hopefully they work on ARM + // ARM has only 128 bit registers buy using the avx2 code is still slightly faster + has_sse4_2 = true; has_avx2 = true; ++#elif defined(__ARM_ARCH_7__) || defined(__ARM_ARCH_7A__) || defined(__ARM_ARCH_7R__) || defined(__ARM_ARCH_7M__) || defined(__ARM_ARCH_7S__) || defined(__ARM_ARCH_6__) || defined(__ARM_ARCH_6J__) || defined(__ARM_ARCH_6K__) || defined(__ARM_ARCH_6Z__) || defined(__ARM_ARCH_6ZK__) ++ // armv6 or armv7 have no __builtin_cpu_supports so assume no SIMD we dont really support these platforms anyway + #else + do_check(); + #endif diff --git a/srcpkgs/kitty/patches/gcc.patch b/srcpkgs/kitty/patches/gcc.patch new file mode 100644 index 00000000000..9e615c5ddf4 --- /dev/null +++ b/srcpkgs/kitty/patches/gcc.patch @@ -0,0 +1,65 @@ +From 3950632517249f36d7d4675be9699df60efc8397 Mon Sep 17 00:00:00 2001 +From: Kovid Goyal +Date: Thu, 14 Mar 2024 10:48:27 +0530 +Subject: [PATCH] Switch to detecting clang rather than gcc + +gcc makes it impossible to detect that it is gcc via --version +so instead detect clang and assume gcc if not clang. + +Fixes #7218 +--- + glfw/glfw.py | 5 ++--- + setup.py | 8 ++++---- + 2 files changed, 6 insertions(+), 7 deletions(-) + +diff --git a/glfw/glfw.py b/glfw/glfw.py +index 336fb2a4096..8605ec65d38 100755 +--- a/glfw/glfw.py ++++ b/glfw/glfw.py +@@ -46,7 +46,6 @@ class BinaryArch(NamedTuple): + isa: ISA = ISA.AMD64 + + +- + class Env: + + cc: List[str] = [] +@@ -89,8 +88,8 @@ def cc_version_string(self) -> str: + return self._cc_version_string + + @property +- def is_gcc(self) -> bool: +- return 'gcc' in self.cc_version_string.split(maxsplit=1)[0].lower() ++ def is_clang(self) -> bool: ++ return 'clang' in self.cc_version_string.split(maxsplit=1)[0].lower() + + def copy(self) -> 'Env': + ans = Env(self.cc, list(self.cppflags), list(self.cflags), list(self.ldflags), dict(self.library_paths), list(self.ldpaths), self.ccver) +diff --git a/setup.py b/setup.py +index a005cff8c24..e26e2f4a99c 100755 +--- a/setup.py ++++ b/setup.py +@@ -701,11 +701,11 @@ def get_source_specific_cflags(env: Env, src: str) -> List[str]: + ans.append('-msse4.2' if '128' in src else '-mavx2') + if '256' in src: + # We have manual vzeroupper so prevent compiler from emitting it causing duplicates +- if env.is_gcc: +- ans.append('-mno-vzeroupper') +- else: ++ if env.is_clang: + ans.append('-mllvm') + ans.append('-x86-use-vzeroupper=0') ++ else: ++ ans.append('-mno-vzeroupper') + elif env.binary_arch.isa != ISA.ARM64: + ans.append('-DKITTY_NO_SIMD') + elif src.startswith('3rdparty/base64/lib/arch/'): +@@ -1170,7 +1170,7 @@ def build_launcher(args: Options, launcher_dir: str = '.', bundle_type: str = 's + sanitize_args = get_sanitize_args(env.cc, env.ccver) + cflags.extend(sanitize_args) + ldflags.extend(sanitize_args) +- libs += ['-lasan'] if not is_macos and env.is_gcc else [] ++ libs += ['-lasan'] if not is_macos and not env.is_clang else [] + else: + cflags.append('-g') + if args.profile: diff --git a/srcpkgs/kitty/patches/osc-52.patch b/srcpkgs/kitty/patches/osc-52.patch new file mode 100644 index 00000000000..c61ff785ea8 --- /dev/null +++ b/srcpkgs/kitty/patches/osc-52.patch @@ -0,0 +1,41 @@ +From 5a9cf825647c4d98b143dc855210ea2471392bce Mon Sep 17 00:00:00 2001 +From: Kovid Goyal +Date: Wed, 13 Mar 2024 09:43:28 +0530 +Subject: [PATCH] Fix requesting data from clipboard via OSC 52 getting it from + primary selection instead + +Fixes #7213 +--- + docs/changelog.rst | 5 +++++ + kitty/clipboard.py | 2 +- + 2 files changed, 6 insertions(+), 1 deletion(-) + +diff --git a/docs/changelog.rst b/docs/changelog.rst +index 8ae2cdd6834..e1460103d76 100644 +--- a/docs/changelog.rst ++++ b/docs/changelog.rst +@@ -47,6 +47,11 @@ rsync algorithm to speed up repeated transfers of large files. + Detailed list of changes + ------------------------------------- + ++0.33.1 [future] ++~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++ ++- Fix a regression in the previous release that caused requesting data from the clipboard via OSC 52 to instead return data from the primary selection (:iss:`7213`) ++ + 0.33.0 [2024-03-12] + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +diff --git a/kitty/clipboard.py b/kitty/clipboard.py +index 033c73b030e..f195eb87b8e 100644 +--- a/kitty/clipboard.py ++++ b/kitty/clipboard.py +@@ -406,7 +406,7 @@ def parse_osc_5522(self, data: memoryview) -> None: + def parse_osc_52(self, data: memoryview, is_partial: bool = False) -> None: + idx = find_in_memoryview(data, ord(b';')) + if idx > -1: +- where = str(data[idx:], "utf-8", 'replace') ++ where = str(data[:idx], "utf-8", 'replace') + data = data[idx+1:] + else: + where = str(data, "utf-8", 'replace') diff --git a/srcpkgs/kitty/template b/srcpkgs/kitty/template index ff96e161522..dab6fcfba08 100644 --- a/srcpkgs/kitty/template +++ b/srcpkgs/kitty/template @@ -1,6 +1,6 @@ # Template file for 'kitty' pkgname=kitty -version=0.32.2 +version=0.33.0 revision=1 build_helper="python3" pycompile_dirs="usr/lib/kitty" @@ -8,7 +8,7 @@ hostmakedepends="go pkg-config python3 wayland-devel wayland-protocols" makedepends="gettext-devel glfw-devel harfbuzz-devel libxkbcommon-devel python3-devel wayland-devel wayland-protocols libcanberra-devel openssl-devel dbus-devel libXcursor-devel libXrandr-devel libXi-devel - fontconfig-devel libxcb-devel lcms2-devel xxHash-devel" + fontconfig-devel libxcb-devel lcms2-devel xxHash-devel simde" depends="kitty-terminfo-${version}_${revision} kitty-shell-integration-${version}_${revision} kitty-kitten-${version}_${revision}" short_desc="Modern, hackable, featureful, OpenGL based terminal emulator" @@ -17,7 +17,7 @@ license="GPL-3.0-only" homepage="https://sw.kovidgoyal.net/kitty/" changelog="https://sw.kovidgoyal.net/kitty/changelog.html" distfiles="https://github.com/kovidgoyal/kitty/releases/download/v${version}/kitty-${version}.tar.xz" -checksum=d4bb54f7bfc16e274d60326323555b63733915c3e32d2ef711fd9860404bd6f2 +checksum=5b11b4edddba41269824df9049d60e22ffc35551446161018dfaf5cd22f77297 python_version=3 nopie_files="/usr/bin/kitten"