diff options
author | Ludovic Courtès <ludo@gnu.org> | 2015-07-24 00:55:08 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2015-07-24 01:19:57 +0200 |
commit | 7e96eb1a0803d8e4efb7d4147a446ed78a429206 (patch) | |
tree | 7b6f2486d868d5994fc70483301e9232dcc79bb8 /gnu/packages/patches/guile-linux-syscalls.patch | |
parent | 7c0a91049b8eb0eaae301af673161d839f03f491 (diff) | |
download | guix-7e96eb1a0803d8e4efb7d4147a446ed78a429206.tar guix-7e96eb1a0803d8e4efb7d4147a446ed78a429206.tar.gz |
gnu: guile-static: Add 'umount' procedure.
* gnu/packages/patches/guile-linux-syscalls.patch: Add 'umount' subr.
Diffstat (limited to 'gnu/packages/patches/guile-linux-syscalls.patch')
-rw-r--r-- | gnu/packages/patches/guile-linux-syscalls.patch | 28 |
1 files changed, 27 insertions, 1 deletions
diff --git a/gnu/packages/patches/guile-linux-syscalls.patch b/gnu/packages/patches/guile-linux-syscalls.patch index ac74d021d7..69970a3e60 100644 --- a/gnu/packages/patches/guile-linux-syscalls.patch +++ b/gnu/packages/patches/guile-linux-syscalls.patch @@ -5,7 +5,7 @@ a statically-linked Guile in an initrd that doesn't have libc.so around. --- guile-2.0.11/libguile/posix.c.orig 2014-02-28 15:01:27.000000000 -0500 +++ guile-2.0.11/libguile/posix.c 2015-06-21 14:28:23.624251038 -0400 -@@ -2245,6 +2245,269 @@ +@@ -2245,6 +2245,295 @@ } #endif @@ -58,6 +58,32 @@ a statically-linked Guile in an initrd that doesn't have libc.so around. +} +#undef FUNC_NAME + ++SCM_DEFINE (scm_umount, "umount", 1, 0, 0, ++ (SCM target), ++ "Unmount the file system on @var{target}.") ++#define FUNC_NAME s_scm_umount ++{ ++ int err; ++ char *c_target; ++ ++ c_target = scm_to_locale_string (target); ++ ++ err = umount (c_target); ++ if (err != 0) ++ err = errno; ++ ++ free (c_target); ++ ++ if (err != 0) ++ { ++ errno = err; ++ SCM_SYSERROR; ++ } ++ ++ return SCM_UNSPECIFIED; ++} ++#undef FUNC_NAME ++ +/* Linux's module installation syscall. See `kernel/module.c' in Linux; + the function itself is part of the GNU libc. + |