From ead99f6d34c73b85e92757cb74f8f1079a7cd572 Mon Sep 17 00:00:00 2001 From: Fredrik Fornwall Date: Tue, 2 Jul 2024 12:25:42 +0200 Subject: [PATCH] enhance(main/libuv): Check for TERMUX_EXEC__PROC_SELF_EXE This fixes running e.g. neovim under `termux-exec` with updated `targetSdk`. --- packages/libuv/build.sh | 1 + .../libuv/src-unix-procfs-exepath.c.patch | 22 +++++++++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 packages/libuv/src-unix-procfs-exepath.c.patch diff --git a/packages/libuv/build.sh b/packages/libuv/build.sh index 055fdafe738f1b..f5efeb22bed159 100644 --- a/packages/libuv/build.sh +++ b/packages/libuv/build.sh @@ -4,6 +4,7 @@ TERMUX_PKG_LICENSE="MIT, BSD 2-Clause, ISC, BSD 3-Clause" TERMUX_PKG_LICENSE_FILE="LICENSE" TERMUX_PKG_MAINTAINER="@termux" TERMUX_PKG_VERSION="1.48.0" +TERMUX_PKG_REVISION=1 TERMUX_PKG_SRCURL=https://dist.libuv.org/dist/v${TERMUX_PKG_VERSION}/libuv-v${TERMUX_PKG_VERSION}.tar.gz TERMUX_PKG_SHA256=7f1db8ac368d89d1baf163bac1ea5fe5120697a73910c8ae6b2fffb3551d59fb TERMUX_PKG_AUTO_UPDATE=true diff --git a/packages/libuv/src-unix-procfs-exepath.c.patch b/packages/libuv/src-unix-procfs-exepath.c.patch new file mode 100644 index 00000000000000..d96c8933e87493 --- /dev/null +++ b/packages/libuv/src-unix-procfs-exepath.c.patch @@ -0,0 +1,22 @@ +diff -u -r ../libuv-v1.48.0/src/unix/procfs-exepath.c ./src/unix/procfs-exepath.c +--- ../libuv-v1.48.0/src/unix/procfs-exepath.c 2024-02-07 20:20:07.000000000 +0000 ++++ ./src/unix/procfs-exepath.c 2024-07-02 10:04:51.745846344 +0000 +@@ -26,6 +26,18 @@ + #include + + int uv_exepath(char* buffer, size_t* size) { ++#ifdef __ANDROID__ ++ char* termux_self_exe = getenv("TERMUX_EXEC__PROC_SELF_EXE"); ++ if (termux_self_exe) { ++ size_t n = strlen(termux_self_exe); ++ if (*size > n) { ++ memcpy(buffer, termux_self_exe, n); ++ buffer[n] = '\0'; ++ *size = n; ++ return 0; ++ } ++ } ++#endif + ssize_t n; + + if (buffer == NULL || size == NULL || *size == 0)