summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorJanneke Nieuwenhuizen <janneke@gnu.org>2026-02-16 21:13:03 +0100
committerJanneke Nieuwenhuizen <janneke@gnu.org>2026-02-17 07:56:38 +0100
commit7fe040f38a55fa1b3e884a44936022913e08b09b (patch)
tree5f0856be1f186a42f4f152a55c720d9149d147fb /gnu
parent6a3e18991dfe2873dba6f4cbdc2dccb9493eaa12 (diff)
gnu: make-bootstrap: Fix guile-static properly for the Hurd.
This is a follow-up to commit 981af9992881b7395692bd6233722464d173a51f syscalls: Add implementation of statfs for guile-static. As sugguested by Yelninei via IRC. gnu/packages/patches/guile-3.0-linux-syscalls.patch: Update to support the Hurd. Mention this patch hasn't been presented to upstream Guile. Change-Id: I4e2271b1b8acdd4eae95942521c777325e81f7b0
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/patches/guile-3.0-linux-syscalls.patch24
1 files changed, 18 insertions, 6 deletions
diff --git a/gnu/packages/patches/guile-3.0-linux-syscalls.patch b/gnu/packages/patches/guile-3.0-linux-syscalls.patch
index 13921b8b700..d57ed19b10e 100644
--- a/gnu/packages/patches/guile-3.0-linux-syscalls.patch
+++ b/gnu/packages/patches/guile-3.0-linux-syscalls.patch
@@ -1,15 +1,27 @@
-This patch adds bindings to Linux syscalls for which glibc has symbols.
+Upstream status: Not presented upstream.
+
+From 0cca01b3700b7fb427ac2e9b7a612e8b703cc185 Mon Sep 17 00:00:00 2001
+From: Janneke Nieuwenhuizen <janneke@gnu.org>
+Date: Mon, 16 Feb 2026 18:18:27 +0100
+Subject: [PATCH] Add bindings to syscalls for which glibc has symbols.
Using the FFI would have been nice, but that's not an option when using
a statically-linked Guile in an initrd that doesn't have libc.so around.
+---
+ libguile/posix.c | 362 +++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 362 insertions(+)
diff --git a/libguile/posix.c b/libguile/posix.c
+index 78ce03e68..bcc538b9f 100644
--- a/libguile/posix.c
+++ b/libguile/posix.c
-@@ -2375,6 +2375,368 @@ scm_init_popen (void)
+@@ -2595,6 +2595,368 @@ scm_init_popen (void)
}
- #endif /* HAVE_START_CHILD */
+
++#include "libguile/bytevectors.h"
++#include "libguile/foreign.h"
++#include <libguile/variable.h>
+
+/* Linux! */
+#ifdef __linux__
@@ -17,9 +29,6 @@ diff --git a/libguile/posix.c b/libguile/posix.c
+#include <sys/mount.h>
+#include <sys/syscall.h>
+
-+#include "libguile/foreign.h"
-+#include "libguile/bytevectors.h"
-+#include <libguile/variable.h>
+
+SCM_DEFINE (scm_mount, "mount", 3, 2, 0,
+ (SCM source, SCM target, SCM type, SCM flags, SCM data),
@@ -375,3 +384,6 @@ diff --git a/libguile/posix.c b/libguile/posix.c
void
scm_init_posix ()
{
+--
+2.52.0
+