diff --git a/srcpkgs/kitty/patches/cross.patch b/srcpkgs/kitty/patches/cross.patch deleted file mode 100644 index b718adb3e6d..00000000000 --- a/srcpkgs/kitty/patches/cross.patch +++ /dev/null @@ -1,128 +0,0 @@ -From 88a5086f71f44e09539cae9af0cf62697df01f45 Mon Sep 17 00:00:00 2001 -From: Kovid Goyal -Date: Tue, 13 Jun 2023 07:56:16 +0530 -Subject: [PATCH] Add rudimentary support for cross-compilation - -Not really tested, actual cross compilers, feel free to send patches. -Fixes #6354 ---- - -diff --git a/setup.py b/setup.py -index 1d3c76f0f7..2b1ba6fde9 100755 ---- a/setup.py -+++ b/setup.py -@@ -62,6 +62,8 @@ class Options(argparse.Namespace): - sanitize: bool = False - prefix: str = './linux-package' - dir_for_static_binaries: str = 'build/static' -+ skip_code_generation: bool = False -+ clean_for_cross_compile: bool = False - incremental: bool = True - profile: bool = False - libdir_name: str = 'lib' -@@ -841,16 +843,17 @@ def extract_rst_targets() -> Dict[str, Dict[str, str]]: - return cast(Dict[str, Dict[str, str]], m['main']()) - - --def build_ref_map() -> str: -- d = extract_rst_targets() -- h = 'static const char docs_ref_map[] = {\n' + textwrap.fill(', '.join(map(str, bytearray(json.dumps(d).encode('utf-8'))))) + '\n};\n' -+def build_ref_map(skip_generation: bool = False) -> str: - dest = 'kitty/docs_ref_map_generated.h' -- q = '' -- with suppress(FileNotFoundError), open(dest) as f: -- q = f.read() -- if q != h: -- with open(dest, 'w') as f: -- f.write(h) -+ if not skip_generation: -+ d = extract_rst_targets() -+ h = 'static const char docs_ref_map[] = {\n' + textwrap.fill(', '.join(map(str, bytearray(json.dumps(d).encode('utf-8'))))) + '\n};\n' -+ q = '' -+ with suppress(FileNotFoundError), open(dest) as f: -+ q = f.read() -+ if q != h: -+ with open(dest, 'w') as f: -+ f.write(h) - return dest - - -@@ -868,7 +871,7 @@ def build(args: Options, native_optimizations: bool = True, call_init: bool = Tr - if call_init: - init_env_from_args(args, native_optimizations) - sources, headers = find_c_files() -- headers.append(build_ref_map()) -+ headers.append(build_ref_map(args.skip_code_generation)) - compile_c_extension( - kitty_env(), 'kitty/fast_data_types', args.compilation_database, sources, headers - ) -@@ -881,6 +884,9 @@ def safe_makedirs(path: str) -> None: - - - def update_go_generated_files(args: Options, kitty_exe: str) -> None: -+ if args.skip_code_generation: -+ print('Skipping generation of Go files due to command line option', flush=True) -+ return - # update all the various auto-generated go files, if needed - if args.verbose: - print('Updating Go generated files...', flush=True) -@@ -1493,7 +1499,7 @@ def clean_launcher_dir(launcher_dir: str) -> None: - os.remove(x) - - --def clean() -> None: -+def clean(for_cross_compile: bool = False) -> None: - - def safe_remove(*entries: str) -> None: - for x in entries: -@@ -1506,7 +1512,9 @@ def safe_remove(*entries: str) -> None: - safe_remove( - 'build', 'compile_commands.json', 'link_commands.json', - 'linux-package', 'kitty.app', 'asan-launcher', -- 'kitty-profile', 'docs/generated') -+ 'kitty-profile') -+ if not for_cross_compile: -+ safe_remove('docs/generated') - clean_launcher_dir('kitty/launcher') - - def excluded(root: str, d: str) -> bool: -@@ -1521,7 +1529,9 @@ def excluded(root: str, d: str) -> bool: - dirs.remove(d) - for f in files: - ext = f.rpartition('.')[-1] -- if ext in ('so', 'dylib', 'pyc', 'pyo') or f.endswith('_generated.h') or f.endswith('_generated.go') or f.endswith('_generated.bin'): -+ if ext in ('so', 'dylib', 'pyc', 'pyo') or (not for_cross_compile and ( -+ f.endswith('_generated.h') or f.endswith('_generated.go') or f.endswith('_generated.bin')) -+ ): - os.unlink(os.path.join(root, f)) - for x in glob.glob('glfw/wayland-*-protocol.[ch]'): - os.unlink(x) -@@ -1581,6 +1591,19 @@ def option_parser() -> argparse.ArgumentParser: # {{{ - default=Options.dir_for_static_binaries, - help='Where to create the static kitten binary' - ) -+ p.add_argument( -+ '--skip-code-generation', -+ default=Options.skip_code_generation, -+ action='store_true', -+ help='Do not create the *_generated.* source files. This is useful if they' -+ ' have already been generated by a previous build, for example during a two-stage cross compilation.' -+ ) -+ p.add_argument( -+ '--clean-for-cross-compile', -+ default=Options.clean_for_cross_compile, -+ action='store_true', -+ help='Do not clean generated Go source files. Useful for cross-compilation.' -+ ) - p.add_argument( - '--full', - dest='incremental', -@@ -1743,7 +1766,7 @@ def main() -> None: - texe = os.path.abspath(os.path.join(launcher_dir, 'kitty')) - os.execl(texe, texe, '+launch', 'test.py') - if args.action == 'clean': -- clean() -+ clean(for_cross_compile=args.clean_for_cross_compile) - return - - with CompilationDatabase(args.incremental) as cdb: diff --git a/srcpkgs/kitty/template b/srcpkgs/kitty/template index 6ec5e8af4a5..e3714591460 100644 --- a/srcpkgs/kitty/template +++ b/srcpkgs/kitty/template @@ -1,6 +1,6 @@ # Template file for 'kitty' pkgname=kitty -version=0.28.1 +version=0.29.0 revision=1 build_helper="python3" pycompile_dirs="usr/lib/kitty" @@ -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=c11c545ca56adf1c26cfd8f5b4a3ba5f149f00542fbf0fa2c4439bd9bf6f78a5 +checksum=2e2162d12ea76b5562ce66126d456598e355e9042b0e182af363289db4b99665 python_version=3 nopie_files="/usr/bin/kitten"