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 @@
1This patch adds bindings to Linux syscalls for which glibc has symbols. 1Upstream status: Not presented upstream.
2
3From 0cca01b3700b7fb427ac2e9b7a612e8b703cc185 Mon Sep 17 00:00:00 2001
4From: Janneke Nieuwenhuizen <janneke@gnu.org>
5Date: Mon, 16 Feb 2026 18:18:27 +0100
6Subject: [PATCH] Add bindings to syscalls for which glibc has symbols.
2 7
3Using the FFI would have been nice, but that's not an option when using 8Using the FFI would have been nice, but that's not an option when using
4a statically-linked Guile in an initrd that doesn't have libc.so around. 9a statically-linked Guile in an initrd that doesn't have libc.so around.
10---
11 libguile/posix.c | 362 +++++++++++++++++++++++++++++++++++++++++++++++
12 1 file changed, 362 insertions(+)
5 13
6diff --git a/libguile/posix.c b/libguile/posix.c 14diff --git a/libguile/posix.c b/libguile/posix.c
15index 78ce03e68..bcc538b9f 100644
7--- a/libguile/posix.c 16--- a/libguile/posix.c
8+++ b/libguile/posix.c 17+++ b/libguile/posix.c
9@@ -2375,6 +2375,368 @@ scm_init_popen (void) 18@@ -2595,6 +2595,368 @@ scm_init_popen (void)
10 } 19 }
11 #endif /* HAVE_START_CHILD */
12 20
21
22+#include "libguile/bytevectors.h"
23+#include "libguile/foreign.h"
24+#include <libguile/variable.h>
13+ 25+
14+/* Linux! */ 26+/* Linux! */
15+#ifdef __linux__ 27+#ifdef __linux__
@@ -17,9 +29,6 @@ diff --git a/libguile/posix.c b/libguile/posix.c
17+#include <sys/mount.h> 29+#include <sys/mount.h>
18+#include <sys/syscall.h> 30+#include <sys/syscall.h>
19+ 31+
20+#include "libguile/foreign.h"
21+#include "libguile/bytevectors.h"
22+#include <libguile/variable.h>
23+ 32+
24+SCM_DEFINE (scm_mount, "mount", 3, 2, 0, 33+SCM_DEFINE (scm_mount, "mount", 3, 2, 0,
25+ (SCM source, SCM target, SCM type, SCM flags, SCM data), 34+ (SCM source, SCM target, SCM type, SCM flags, SCM data),
@@ -375,3 +384,6 @@ diff --git a/libguile/posix.c b/libguile/posix.c
375 void 384 void
376 scm_init_posix () 385 scm_init_posix ()
377 { 386 {
387--
3882.52.0
389