aboutsummaryrefslogtreecommitdiff
path: root/lang
diff options
context:
space:
mode:
authorDave Cottlehuber <dch@FreeBSD.org>2021-03-29 09:23:43 +0000
committerDave Cottlehuber <dch@FreeBSD.org>2021-03-29 09:23:43 +0000
commit8b21b008487d845b232fcfab9b72d9eddeffeb41 (patch)
tree1c7c2cf50f36de47e46dba615e260878cb41918e /lang
parentb53465e8253df7353cf1bc7e65aeec0eeba2d7f2 (diff)
downloadports-8b21b008487d845b232fcfab9b72d9eddeffeb41.tar.gz
ports-8b21b008487d845b232fcfab9b72d9eddeffeb41.zip
lang/zig: backport syslog functions from master
These will eventually land in zig 0.8.0 Sponsored by: SkunkWerks, GmbH
Notes
Notes: svn path=/head/; revision=569453
Diffstat (limited to 'lang')
-rw-r--r--lang/zig/Makefile1
-rw-r--r--lang/zig/files/patch-lib_std_c.zig23
-rw-r--r--lang/zig/files/patch-lib_std_os_bits.zig25
-rw-r--r--lang/zig/files/patch-lib_std_os_bits_freebsd.zig24
4 files changed, 73 insertions, 0 deletions
diff --git a/lang/zig/Makefile b/lang/zig/Makefile
index f0bdd2cdfadb..e8eff92644a7 100644
--- a/lang/zig/Makefile
+++ b/lang/zig/Makefile
@@ -2,6 +2,7 @@
PORTNAME= zig
DISTVERSION= 0.7.1
+PORTREVISION= 1
CATEGORIES= lang
MASTER_SITES= https://ziglang.org/download/${DISTVERSION}/ \
https://ziglang.org/builds/
diff --git a/lang/zig/files/patch-lib_std_c.zig b/lang/zig/files/patch-lib_std_c.zig
new file mode 100644
index 000000000000..84b2483eaf76
--- /dev/null
+++ b/lang/zig/files/patch-lib_std_c.zig
@@ -0,0 +1,23 @@
+--- lib/std/c.zig.orig 2020-12-13 19:14:58 UTC
++++ lib/std/c.zig
+@@ -346,3 +346,20 @@ pub extern "c" fn prctl(option: c_int, ...) c_int;
+
+ pub extern "c" fn getrlimit(resource: rlimit_resource, rlim: *rlimit) c_int;
+ pub extern "c" fn setrlimit(resource: rlimit_resource, rlim: *const rlimit) c_int;
++
++pub extern "c" fn fmemopen(noalias buf: ?*c_void, size: usize, noalias mode: [*:0]const u8) ?*FILE;
++
++pub extern "c" fn syslog(priority: c_int, message: [*:0]const u8, ...) void;
++pub extern "c" fn openlog(ident: [*:0]const u8, logopt: c_int, facility: c_int) void;
++pub extern "c" fn closelog() void;
++pub extern "c" fn setlogmask(maskpri: c_int) c_int;
++
++pub const max_align_t = if (std.Target.current.abi == .msvc)
++ f64
++else if (std.Target.current.isDarwin())
++ c_longdouble
++else
++ extern struct {
++ a: c_longlong,
++ b: c_longdouble,
++ };
diff --git a/lang/zig/files/patch-lib_std_os_bits.zig b/lang/zig/files/patch-lib_std_os_bits.zig
new file mode 100644
index 000000000000..12dfc199a802
--- /dev/null
+++ b/lang/zig/files/patch-lib_std_os_bits.zig
@@ -0,0 +1,25 @@
+--- lib/std/os/bits.zig.orig 2020-12-13 19:14:58 UTC
++++ lib/std/os/bits.zig
+@@ -34,3 +34,22 @@ pub const iovec_const = extern struct {
+ iov_base: [*]const u8,
+ iov_len: usize,
+ };
++
++// syslog
++
++/// system is unusable
++pub const LOG_EMERG = 0;
++/// action must be taken immediately
++pub const LOG_ALERT = 1;
++/// critical conditions
++pub const LOG_CRIT = 2;
++/// error conditions
++pub const LOG_ERR = 3;
++/// warning conditions
++pub const LOG_WARNING = 4;
++/// normal but significant condition
++pub const LOG_NOTICE = 5;
++/// informational
++pub const LOG_INFO = 6;
++/// debug-level messages
++pub const LOG_DEBUG = 7;
diff --git a/lang/zig/files/patch-lib_std_os_bits_freebsd.zig b/lang/zig/files/patch-lib_std_os_bits_freebsd.zig
new file mode 100644
index 000000000000..e0a77a1f879e
--- /dev/null
+++ b/lang/zig/files/patch-lib_std_os_bits_freebsd.zig
@@ -0,0 +1,24 @@
+--- lib/std/os/bits/freebsd.zig.orig 2020-12-13 19:14:58 UTC
++++ lib/std/os/bits/freebsd.zig
+@@ -15,6 +15,7 @@ pub const gid_t = u32;
+ pub const mode_t = c_uint;
+
+ pub const socklen_t = u32;
++pub const suseconds_t = c_long;
+
+ /// Renamed from `kevent` to `Kevent` to avoid conflict with function name.
+ pub const Kevent = extern struct {
+@@ -159,6 +160,13 @@ pub const libc_stat = extern struct {
+ pub const timespec = extern struct {
+ tv_sec: isize,
+ tv_nsec: isize,
++};
++
++pub const timeval = extern struct {
++ /// seconds
++ tv_sec: time_t,
++ /// microseconds
++ tv_usec: suseconds_t,
+ };
+
+ pub const dirent = extern struct {