summaryrefslogtreecommitdiff
path: root/subprojects
diff options
context:
space:
mode:
Diffstat (limited to 'subprojects')
-rw-r--r--subprojects/libev.wrap13
-rw-r--r--subprojects/packagefiles/libev/libev_aki_sleep.diff37
-rw-r--r--subprojects/packagefiles/libev/meson.build2
3 files changed, 52 insertions, 0 deletions
diff --git a/subprojects/libev.wrap b/subprojects/libev.wrap
new file mode 100644
index 0000000..21430df
--- /dev/null
+++ b/subprojects/libev.wrap
@@ -0,0 +1,13 @@
+[wrap-file]
+directory = libev-4.33
+
+source_url = http://dist.schmorp.de/libev/libev-4.33.tar.gz
+source_filename = libev-4.33.tar.gz
+source_hash = 507eb7b8d1015fbec5b935f34ebed15bf346bed04a11ab82b8eee848c4205aea
+
+patch_directory = libev
+
+diff_files = libev/libev_aki_sleep.diff
+
+[provide]
+dependency_names = libev
diff --git a/subprojects/packagefiles/libev/libev_aki_sleep.diff b/subprojects/packagefiles/libev/libev_aki_sleep.diff
new file mode 100644
index 0000000..ef1efec
--- /dev/null
+++ b/subprojects/packagefiles/libev/libev_aki_sleep.diff
@@ -0,0 +1,37 @@
+--- ev.c 2020-03-18 08:27:32.000000000 -0400
++++ ../ev.c 2023-09-21 16:15:10.219097499 -0400
+@@ -216,6 +216,8 @@
+
+ #include <signal.h>
+
++#include "../../src/util/thread/thread.h"
++
+ #ifdef EV_H
+ # include EV_H
+ #else
+@@ -2216,24 +2218,7 @@
+ {
+ if (delay > EV_TS_CONST (0.))
+ {
+-#if EV_USE_NANOSLEEP
+- struct timespec ts;
+-
+- EV_TS_SET (ts, delay);
+- nanosleep (&ts, 0);
+-#elif defined _WIN32
+- /* maybe this should round up, as ms is very low resolution */
+- /* compared to select (µs) or nanosleep (ns) */
+- Sleep ((unsigned long)(EV_TS_TO_MSEC (delay)));
+-#else
+- struct timeval tv;
+-
+- /* here we rely on sys/time.h + sys/types.h + unistd.h providing select */
+- /* something not guaranteed by newer posix versions, but guaranteed */
+- /* by older ones */
+- EV_TV_SET (tv, delay);
+- select (0, 0, 0, 0, &tv);
+-#endif
++ aki_thread_sleep (delay);
+ }
+ }
+
diff --git a/subprojects/packagefiles/libev/meson.build b/subprojects/packagefiles/libev/meson.build
new file mode 100644
index 0000000..c8a370f
--- /dev/null
+++ b/subprojects/packagefiles/libev/meson.build
@@ -0,0 +1,2 @@
+project('libev', 'c', version: '4.33')
+ev = declare_dependency(include_directories: include_directories('.'))