Download raw body.
update editors/kakoune
On Sun, May 12, 2024 at 12:02:50PM +0200, Solene Rapenne wrote:
> New version of kakoune available:
>
> - gzip_man=no in MAKE_ENV didn't work anymore, I patched Makefile
> - tests were not working, I reported it upstream who made a fix
> - compilation didn't work due to quotes being lost, upstream made fix
>
> I plan to commit it soon, but I'd like some feedback if possible
Built it and running it, looks good. The solutions are reasonable.
There is a file from openrct2 included, apparently by accident. Just
make sure that's removed from the diff that gets committed.
>
> diff --git a/editors/kakoune/Makefile b/editors/kakoune/Makefile
> index 218164067da..17480e4ccb7 100644
> --- a/editors/kakoune/Makefile
> +++ b/editors/kakoune/Makefile
> @@ -1,6 +1,6 @@
> COMMENT = modal code editor with a focus on interactivity
>
> -V = 2023.08.05
> +V = 2024.05.09
> DISTNAME = kakoune-${V}
>
> CATEGORIES = editors
> @@ -18,7 +18,7 @@ PERMIT_PACKAGE = Yes
>
> # -std=c++2a
> COMPILER = base-clang
> -MAKE_ENV = CXX="${CXX}" CXXFLAGS="${CXXFLAGS}" gzip_man=no
> +MAKE_ENV = CXX="${CXX}" CXXFLAGS="${CXXFLAGS}"
> FAKE_FLAGS = PREFIX="${TRUEPREFIX}"
> # some tests fail without en_US.UTF-8
> TEST_ENV = LC_CTYPE="en_US.UTF-8"
> diff --git a/editors/kakoune/distinfo b/editors/kakoune/distinfo
> index 42f8dafa9a2..079e7825106 100644
> --- a/editors/kakoune/distinfo
> +++ b/editors/kakoune/distinfo
> @@ -1,2 +1,2 @@
> -SHA256 (kakoune-2023.08.05.tar.bz2) = PkUVHgrd01AN4taim1qs8iZ8QrslbUSnguc977Kc2lw=
> -SIZE (kakoune-2023.08.05.tar.bz2) = 568612
> +SHA256 (kakoune-2024.05.09.tar.bz2) = IZC939OvWQwFk8OFNwiJdlR1BvR71utsDiI1Db0Woik=
> +SIZE (kakoune-2024.05.09.tar.bz2) = 588121
> diff --git a/editors/kakoune/patches/patch-Makefile b/editors/kakoune/patches/patch-Makefile
> new file mode 100644
> index 00000000000..013516f9446
> --- /dev/null
> +++ b/editors/kakoune/patches/patch-Makefile
> @@ -0,0 +1,56 @@
> +Partial changes from 7be22f1ec28677ca0bb30316c6893ab4436734b1
> +
> +- escape KAK_BIN_PATH
> +- test target
> +
> +Index: Makefile
> +--- Makefile.orig
> ++++ Makefile
> +@@ -5,7 +5,7 @@ CXX = c++
> +
> + debug = no
> + static = no
> +-gzip_man = yes
> ++gzip_man = no
> + # to get format compatible with GitHub archive use "gzip -S .gz" here
> + compress_bin = bzip2
> +
> +@@ -13,10 +13,8 @@ compress-suffix-bzip2 = bz2
> + compress-suffix-zstd = zst
> +
> + CPPFLAGS-debug-yes = -DKAK_DEBUG
> +-CXXFLAGS-debug-yes = -O0 -g3
> + tag-debug-yes = .debug
> +
> +-CXXFLAGS-debug-no = -O3 -g3
> + tag-debug-no = .opt
> +
> + CXXFLAGS-sanitize-address = -fsanitize=address
> +@@ -40,7 +38,7 @@ bindir = $(DESTDIR)$(PREFIX)/bin
> + libexecdir = $(DESTDIR)$(PREFIX)/libexec/kak
> + sharedir = $(DESTDIR)$(PREFIX)/share/kak
> + docdir = $(DESTDIR)$(PREFIX)/share/doc/kak
> +-mandir = $(DESTDIR)$(PREFIX)/share/man/man1
> ++mandir = $(DESTDIR)$(PREFIX)/man/man1
> +
> + # Both Cygwin and MSYS2 have "_NT" in their uname.
> + os = $(shell uname | sed 's/.*_NT.*/Windows/')
> +@@ -54,7 +52,7 @@ LDFLAGS-os-FreeBSD = -L/usr/local/lib
> +
> + LIBS-os-Haiku = -lnetwork -lbe
> +
> +-CPPFLAGS-os-OpenBSD = -DKAK_BIN_PATH="$(bindir)/kak" -I/usr/local/include
> ++CPPFLAGS-os-OpenBSD = -DKAK_BIN_PATH=\"$(bindir)/kak\" -I/usr/local/include
> + LDFLAGS-os-OpenBSD = -L/usr/local/lib
> + mandir-os-OpenBSD = $(DESTDIR)$(PREFIX)/man/man1
> +
> +@@ -136,6 +134,9 @@ doc/kak.1.gz: doc/kak.1
> +
> + check: test
> + test: src/kak
> ++ if [ $(os) = OpenBSD ]; then \
> ++ export KAKOUNE_RUNTIME=$$PWD/share/kak; \
> ++ fi && \
> + cd test && ./run
> +
> + TAGS: tags
> diff --git a/editors/kakoune/patches/patch-src_Makefile b/editors/kakoune/patches/patch-src_Makefile
> deleted file mode 100644
> index 84c865e9398..00000000000
> --- a/editors/kakoune/patches/patch-src_Makefile
> +++ /dev/null
> @@ -1,17 +0,0 @@
> -Remove optimization flags for debug or release builds
> -
> -Index: src/Makefile
> ---- src/Makefile.orig
> -+++ src/Makefile
> -@@ -12,11 +12,9 @@ endif
> -
> - ifeq ($(debug),yes)
> - CPPFLAGS += -DKAK_DEBUG
> -- CXXFLAGS += -O0
> - suffix := .debug
> - else
> - ifeq ($(debug),no)
> -- CXXFLAGS += -O3
> - suffix := .opt
> - else
> - $(error debug should be either yes or no)
> diff --git a/editors/kakoune/patches/patch-src_ranges_hh b/editors/kakoune/patches/patch-src_ranges_hh
> deleted file mode 100644
> index 5145755cd7e..00000000000
> --- a/editors/kakoune/patches/patch-src_ranges_hh
> +++ /dev/null
> @@ -1,66 +0,0 @@
> -From 344d31f42b8ced12626d4f87a22ffa5a671668fd Mon Sep 17 00:00:00 2001
> -From: Johannes Altmanninger <aclopte@gmail.com>
> -Date: Tue, 9 May 2023 10:44:08 +0200
> -Subject: [PATCH] Work around clang not inferring default args of template
> - template args
> -
> -Index: src/ranges.hh
> ---- src/ranges.hh.orig
> -+++ src/ranges.hh
> -@@ -8,6 +8,11 @@
> - #include <tuple>
> -
> - #include "constexpr_utils.hh"
> -+#if __clang_major__ >= 16
> -+#include "memory.hh"
> -+#include "meta.hh"
> -+#include "vector.hh"
> -+#endif
> -
> - namespace Kakoune
> - {
> -@@ -638,6 +643,35 @@ auto gather()
> - }};
> - }
> -
> -+#if __clang_major__ >= 16
> -+
> -+template <template <typename T,
> -+ MemoryDomain domain = memory_domain(Meta::Type<T>{})>
> -+ class Container>
> -+auto gather()
> -+{
> -+ return ViewFactory{[](auto&& range) {
> -+ using std::begin; using std::end;
> -+ using ValueType = std::remove_cv_t<std::remove_reference_t<decltype(*begin(range))>>;
> -+ return Container<ValueType>(begin(range), end(range));
> -+ }};
> -+}
> -+
> -+template <template <typename T,
> -+ MemoryDomain domain = MemoryDomain::Undefined,
> -+ template<typename, MemoryDomain> class C = Vector>
> -+ class Container>
> -+auto gather()
> -+{
> -+ return ViewFactory{[](auto&& range) {
> -+ using std::begin; using std::end;
> -+ using ValueType = std::remove_cv_t<std::remove_reference_t<decltype(*begin(range))>>;
> -+ return Container<ValueType>(begin(range), end(range));
> -+ }};
> -+}
> -+
> -+#else
> -+
> - template<template <typename Element> class Container>
> - auto gather()
> - {
> -@@ -647,6 +681,8 @@ auto gather()
> - return Container<ValueType>(begin(range), end(range));
> - }};
> - }
> -+
> -+#endif
> -
> - template<typename ExceptionType, bool exact_size, size_t... Indexes>
> - auto elements()
> diff --git a/editors/kakoune/pkg/PLIST b/editors/kakoune/pkg/PLIST
> index 00757023846..0f8a8744751 100644
> --- a/editors/kakoune/pkg/PLIST
> +++ b/editors/kakoune/pkg/PLIST
> @@ -72,6 +72,7 @@ share/kak/rc/filetype/cue.kak
> share/kak/rc/filetype/d.kak
> share/kak/rc/filetype/dart.kak
> share/kak/rc/filetype/dhall.kak
> +share/kak/rc/filetype/diff-parse.pl
> share/kak/rc/filetype/diff.kak
> share/kak/rc/filetype/dockerfile.kak
> share/kak/rc/filetype/elixir.kak
> @@ -93,6 +94,8 @@ share/kak/rc/filetype/github.kak
> share/kak/rc/filetype/gluon.kak
> share/kak/rc/filetype/go.kak
> share/kak/rc/filetype/graphql.kak
> +share/kak/rc/filetype/gren.kak
> +share/kak/rc/filetype/groovy.kak
> share/kak/rc/filetype/haml.kak
> share/kak/rc/filetype/hare.kak
> share/kak/rc/filetype/haskell.kak
> @@ -126,10 +129,12 @@ share/kak/rc/filetype/nim.kak
> share/kak/rc/filetype/ninja.kak
> share/kak/rc/filetype/nix.kak
> share/kak/rc/filetype/ocaml.kak
> +share/kak/rc/filetype/odin.kak
> share/kak/rc/filetype/pascal.kak
> share/kak/rc/filetype/perl.kak
> share/kak/rc/filetype/php.kak
> share/kak/rc/filetype/pony.kak
> +share/kak/rc/filetype/prolog.kak
> share/kak/rc/filetype/protobuf.kak
> share/kak/rc/filetype/pug.kak
> share/kak/rc/filetype/purescript.kak
> @@ -150,6 +155,7 @@ share/kak/rc/filetype/svelte.kak
> share/kak/rc/filetype/swift.kak
> share/kak/rc/filetype/systemd.kak
> share/kak/rc/filetype/taskpaper.kak
> +share/kak/rc/filetype/tcl.kak
> share/kak/rc/filetype/terraform.kak
> share/kak/rc/filetype/toml.kak
> share/kak/rc/filetype/troff.kak
> @@ -173,16 +179,21 @@ share/kak/rc/tools/git.kak
> share/kak/rc/tools/go/
> share/kak/rc/tools/go/gopls.kak
> share/kak/rc/tools/grep.kak
> +share/kak/rc/tools/jump.kak
> share/kak/rc/tools/lint.asciidoc
> share/kak/rc/tools/lint.kak
> share/kak/rc/tools/make.kak
> share/kak/rc/tools/man.kak
> +share/kak/rc/tools/menu.kak
> +share/kak/rc/tools/patch-range.pl
> +share/kak/rc/tools/patch.kak
> share/kak/rc/tools/python/
> share/kak/rc/tools/python/jedi.kak
> share/kak/rc/tools/rust/
> share/kak/rc/tools/rust/racer.kak
> share/kak/rc/tools/spell.kak
> share/kak/rc/windowing/
> +share/kak/rc/windowing/appleterminal.kak
> share/kak/rc/windowing/detection.kak
> share/kak/rc/windowing/iterm.kak
> share/kak/rc/windowing/kitty.kak
> diff --git a/games/openrct2/patches/patch-src_openrct2_core_String_cpp b/games/openrct2/patches/patch-src_openrct2_core_String_cpp
> new file mode 100644
> index 00000000000..a67f3643ffe
> --- /dev/null
> +++ b/games/openrct2/patches/patch-src_openrct2_core_String_cpp
> @@ -0,0 +1,12 @@
> +Index: src/openrct2/core/String.cpp
> +--- src/openrct2/core/String.cpp.orig
> ++++ src/openrct2/core/String.cpp
> +@@ -15,7 +15,7 @@
> + #include <stdexcept>
> + #include <vector>
> + #ifndef _WIN32
> +-# ifndef __FreeBSD__
> ++# ifndef __OpenBSD__
> + # include <alloca.h>
> + # endif
> + # include <unicode/ucnv.h>
>
update editors/kakoune