From cd43daeff30865ef9eee14969cc530860ffce57b Mon Sep 17 00:00:00 2001 From: termux-pacman-bot Date: Fri, 21 Apr 2023 20:01:20 +0000 Subject: [PATCH] fix(main/blink): fix path for /tmp --- packages/blink/build.sh | 15 ++++++++++++++ packages/blink/fix-tmpdir.patch | 36 +++++++++++++++++++++++++++++++++ 2 files changed, 51 insertions(+) create mode 100644 packages/blink/build.sh create mode 100644 packages/blink/fix-tmpdir.patch diff --git a/packages/blink/build.sh b/packages/blink/build.sh new file mode 100644 index 0000000000..560a966a0d --- /dev/null +++ b/packages/blink/build.sh @@ -0,0 +1,15 @@ +TERMUX_PKG_HOMEPAGE=https://github.com/jart/blink +TERMUX_PKG_DESCRIPTION="Tiny x86-64 Linux emulator" +TERMUX_PKG_LICENSE="ISC" +TERMUX_PKG_MAINTAINER="@termux" +TERMUX_PKG_VERSION=2023.04.20-git +TERMUX_PKG_REVISION=1 +_COMMIT=8b17fedd4d089fa2166267acc8487ed2d1f91fe5 +TERMUX_PKG_SRCURL=https://github.com/jart/blink/archive/${_COMMIT}.tar.gz +TERMUX_PKG_SHA256=2b2aa38f9202443d7cd4b2ed4df2c30da8cdff34fde1dc66a5a4126e96012566 +TERMUX_PKG_BUILD_IN_SRC=true + +termux_step_configure() { + LDFLAGS+=" -lm" + ./configure --prefix="$TERMUX_PREFIX" +} diff --git a/packages/blink/fix-tmpdir.patch b/packages/blink/fix-tmpdir.patch new file mode 100644 index 0000000000..6277c8c47b --- /dev/null +++ b/packages/blink/fix-tmpdir.patch @@ -0,0 +1,36 @@ +diff -uNr blink-8b17fedd4d089fa2166267acc8487ed2d1f91fe5/blink/logcpu.c blink-8b17fedd4d089fa2166267acc8487ed2d1f91fe5.mod/blink/logcpu.c +--- blink-8b17fedd4d089fa2166267acc8487ed2d1f91fe5/blink/logcpu.c 2023-04-20 08:56:39.000000000 +0300 ++++ blink-8b17fedd4d089fa2166267acc8487ed2d1f91fe5.mod/blink/logcpu.c 2023-04-21 22:45:38.202964172 +0300 +@@ -26,7 +26,7 @@ + // use cosmopolitan/tool/build/fastdiff.c + void LogCpu(struct Machine *m) { + static FILE *f; +- if (!f) f = fopen("/tmp/cpu.log", "w"); ++ if (!f) f = fopen("@TERMUX_PREFIX@/tmp/cpu.log", "w"); + fprintf(f, + "\n" + "IP %" PRIx64 "\n" +diff -uNr blink-8b17fedd4d089fa2166267acc8487ed2d1f91fe5/blink/map.c blink-8b17fedd4d089fa2166267acc8487ed2d1f91fe5.mod/blink/map.c +--- blink-8b17fedd4d089fa2166267acc8487ed2d1f91fe5/blink/map.c 2023-04-20 08:56:39.000000000 +0300 ++++ blink-8b17fedd4d089fa2166267acc8487ed2d1f91fe5.mod/blink/map.c 2023-04-21 22:44:52.589560916 +0300 +@@ -64,7 +64,7 @@ + _Static_assert(!(MAP_ANONYMOUS_ & MAP_SHARED), ""); + _Static_assert(!(MAP_ANONYMOUS_ & MAP_PRIVATE), ""); + int tfd; +- char path[] = "/tmp/blink.dat.XXXXXX"; ++ char path[] = "@TERMUX_PREFIX@/tmp/blink.dat.XXXXXX"; + if (~flags & MAP_ANONYMOUS_) { + res = VfsMmap(addr, length, prot, flags, fd, offset); + } else if ((tfd = mkstemp(path)) != -1) { +diff -uNr blink-8b17fedd4d089fa2166267acc8487ed2d1f91fe5/blink/path.c blink-8b17fedd4d089fa2166267acc8487ed2d1f91fe5.mod/blink/path.c +--- blink-8b17fedd4d089fa2166267acc8487ed2d1f91fe5/blink/path.c 2023-04-20 08:56:39.000000000 +0300 ++++ blink-8b17fedd4d089fa2166267acc8487ed2d1f91fe5.mod/blink/path.c 2023-04-21 22:45:14.310229138 +0300 +@@ -154,7 +154,7 @@ + m->system->dis = &g_dis; + LoadDebugSymbols(m->system); + DisLoadElf(&g_dis, &m->system->elf); +- g_cod = VfsOpen(AT_FDCWD_LINUX, "/tmp/blink.s", ++ g_cod = VfsOpen(AT_FDCWD_LINUX, "@TERMUX_PREFIX@/tmp/blink.s", + O_WRONLY | O_CREAT | O_TRUNC | O_CLOEXEC, 0644); + g_cod = VfsFcntl(g_cod, F_DUPFD_CLOEXEC, kMinBlinkFd); + #endif