Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
From 52a918c82bddeef58a842d112bcb42c6f33883ab Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Patrick=20B=C3=B6ker?= <patrick.boeker@posteo.de>
Date: Mon, 22 Dec 2025 20:12:04 +0100
Subject: [PATCH] Fix building MoarVM with a system provided libuv

---
src/io/procops.c | 17 ++++++++++++++---
1 file changed, 14 insertions(+), 3 deletions(-)

diff --git a/src/io/procops.c b/src/io/procops.c
index de8dd90b4..71d04d20f 100644
--- a/src/io/procops.c
+++ b/src/io/procops.c
@@ -773,13 +773,17 @@ static MVMint64 get_pipe_fd(MVMThreadContext *tc, uv_pipe_t *pipe) {
return 0;
}
static void spawn_setup(MVMThreadContext *tc, uv_loop_t *loop, MVMObject *async_task, void *data) {
- MVMint64 spawn_result;
+ MVMint64 spawn_result = 0;
char *error_str = NULL;

/* Process info setup. */
uv_process_t *process = MVM_calloc(1, sizeof(uv_process_t));
+#ifdef MVM_HAS_LIBUV_PTY
uv_process_options2_t process_options = {0};
process_options.version = UV_PROCESS_OPTIONS_VERSION;
+#else
+ uv_process_options_t process_options = {0};
+#endif
uv_stdio_container_t process_stdio[3];

#ifdef MVM_DO_PTY_OURSELF
@@ -804,13 +808,13 @@ static void spawn_setup(MVMThreadContext *tc, uv_loop_t *loop, MVMObject *async_
goto spawn_setup_error;
#endif

- process_options.pty_cols =
+ int cols =
MVM_repr_exists_key(tc, si->callbacks, tc->instance->str_consts.pty_cols)
? MVM_repr_get_int(tc, MVM_repr_at_key_o(tc,
si->callbacks,
tc->instance->str_consts.pty_cols))
: 80;
- process_options.pty_rows =
+ int rows =
MVM_repr_exists_key(tc, si->callbacks, tc->instance->str_consts.pty_rows)
? MVM_repr_get_int(tc, MVM_repr_at_key_o(tc,
si->callbacks,
@@ -818,6 +822,9 @@ static void spawn_setup(MVMThreadContext *tc, uv_loop_t *loop, MVMObject *async_
: 24;

#ifdef MVM_HAS_LIBUV_PTY
+
+ process_options.pty_cols = cols;
+ process_options.pty_rows = rows;
uv_pipe_t *pipe = MVM_malloc(sizeof(uv_pipe_t));
uv_pipe_init(loop, pipe, 0);
pipe->data = si;
@@ -995,7 +1002,11 @@ static void spawn_setup(MVMThreadContext *tc, uv_loop_t *loop, MVMObject *async_

/* Attach data, spawn, report any error. */
process->data = si;
+#ifdef MVM_HAS_LIBUV_PTY
spawn_result = uv_spawn2(loop, process, &process_options);
+#else
+ spawn_result = uv_spawn(loop, process, &process_options);
+#endif

#ifdef MVM_DO_PTY_OURSELF
if (pty_mode)
--
2.50.0

6 changes: 3 additions & 3 deletions srcpkgs/MoarVM/template
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Template file for 'MoarVM'
pkgname=MoarVM
version=2025.06
version=2025.12
revision=1
build_style=configure
configure_script="perl Configure.pl"
Expand All @@ -15,8 +15,8 @@ license="Artistic-2.0"
homepage="https://moarvm.org"
changelog="https://github.com/MoarVM/MoarVM/raw/master/docs/ChangeLog"
distfiles="https://moarvm.org/releases/MoarVM-${version}.tar.gz"
checksum=e8d6b00cdb3f99022ade2a843a7a8ec87f66a38bb5655f85d50351c6b3b8d257
checksum=23291b5fa7557c80d4ad3254d8e8bd51b3380989a1575b3d264dbe72a1cad1c0
nocross=yes
shlib_provides="libmoar.so"

CFLAGS="-I${XBPS_CROSS_BASE}/usr/include/mimalloc-2.1"
CFLAGS="-I${XBPS_CROSS_BASE}/usr/include/mimalloc-2.2"
6 changes: 3 additions & 3 deletions srcpkgs/nqp/template
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
# Template file for 'nqp'
pkgname=nqp
version=2025.06.1
version=2025.12
revision=1
build_style=configure
make_check_target=test
configure_script="perl Configure.pl"
configure_args="--prefix=/usr --backends=moar"
hostmakedepends="git perl"
makedepends="MoarVM libffi-devel libtommath-devel libuv-devel mimalloc-devel"
depends="MoarVM-${version%.*}_${revision}"
depends="MoarVM-${version}_${revision}"
short_desc="Lightweight Raku-like environment for virtual machines"
maintainer="Andy Weidenbaum <atweiden@tutanota.de>"
license="Artistic-2.0"
homepage="https://github.com/Raku/nqp"
distfiles="https://rakudo.org/dl/nqp/nqp-${version}.tar.gz"
checksum=e6dfdfccf9e306ef03858c0b0929e7730034320cc893a9321fe6420d2d503353
checksum=074147578bfc0d2f91a6702270517803ff4e960e9f175dfe14b00eee6febc0c6
case "$XBPS_TARGET_MACHINE" in
arm*|aarch64*) disable_parallel_build=yes;;
esac
Expand Down
8 changes: 6 additions & 2 deletions srcpkgs/rakudo/template
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Template file for 'rakudo'
pkgname=rakudo
version=2025.06.1
version=2025.12
revision=1
build_style=configure
make_check_target=test
Expand Down Expand Up @@ -32,7 +32,7 @@ license="Artistic-2.0"
homepage="https://rakudo.org"
changelog="https://github.com/rakudo/rakudo/raw/master/docs/ChangeLog"
distfiles="https://rakudo.org/dl/rakudo/rakudo-${version}.tar.gz"
checksum=121d56574795d00ac5adaaf5b3d6f823fd05a3eab0b42f1d3696b13cce5ccb79
checksum=6c2a3ee2b1a4336d19e20976f616ea49c99a10b24e0c218ca47e6bac41f4f484
case "$XBPS_TARGET_MACHINE" in
arm*|aarch64*) disable_parallel_build=yes;;
esac
Expand All @@ -42,6 +42,10 @@ provides="raku-${version}_${revision}"
post_extract() {
# remove failing test
rm --force t/09-moar/01-profilers.t
# remove failing test on i686
if [ "${XBPS_TARGET_WORDSIZE}" -eq 32 ]; then
rm --force t/04-nativecall/26-varargs.t
fi
}

post_install() {
Expand Down