summary refs log tree commit diff
path: root/gnu/packages/patches
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2023-06-06 23:50:38 +0200
committerLudovic Courtès <ludo@gnu.org>2023-06-14 22:53:55 +0200
commit49119eee2b1d46945d6ca9ba12355ffa0f8859b3 (patch)
tree6b79a4c37fabb078c7829c164783b9fbad3007ae /gnu/packages/patches
parent09449ef6f6359c9621e512b323bc37d43a366e24 (diff)
downloadguix-49119eee2b1d46945d6ca9ba12355ffa0f8859b3.tar.gz
gnu: guile-fibers: Add 1.3.1.
* gnu/packages/guile-xyz.scm (guile-fibers-1.3): New variable.
(guile-fibers-1.1): Inherit from it.
* gnu/packages/patches/guile-fibers-libevent-32-bit.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
Diffstat (limited to 'gnu/packages/patches')
-rw-r--r--gnu/packages/patches/guile-fibers-libevent-32-bit.patch18
1 files changed, 18 insertions, 0 deletions
diff --git a/gnu/packages/patches/guile-fibers-libevent-32-bit.patch b/gnu/packages/patches/guile-fibers-libevent-32-bit.patch
new file mode 100644
index 0000000000..a1cc99fdbe
--- /dev/null
+++ b/gnu/packages/patches/guile-fibers-libevent-32-bit.patch
@@ -0,0 +1,18 @@
+This fixes a bug with the libevent backend on 32-bit platforms:
+
+  https://github.com/wingo/fibers/issues/86
+
+diff --git a/extensions/libevent.c b/extensions/libevent.c
+index 4f44de9..52c9d73 100644
+--- a/extensions/libevent.c
++++ b/extensions/libevent.c
+@@ -215,7 +215,8 @@ run_event_loop (void *p)
+     microsec = -1;
+   else if (data->timeout >= 0)
+     {
+-      microsec = data->timeout / time_units_per_microsec;
++      microsec = (time_units_per_microsec == 0)
++	? 0 : data->timeout / time_units_per_microsec;
+       tv.tv_sec = 0;
+       tv.tv_usec = microsec;
+     }