mirror of
https://git.FreeBSD.org/ports.git
synced 2024-11-18 00:10:04 +00:00
devel/glib20: Enable GNetworkMonitor with Netlink backend
Sponsored by: Future Crew, LLC
This commit is contained in:
parent
df7422d81a
commit
622023b5f6
@ -1,5 +1,6 @@
|
||||
PORTNAME= glib
|
||||
DISTVERSION= 2.80.5
|
||||
PORTREVISION= 1
|
||||
PORTEPOCH= 2
|
||||
CATEGORIES= devel
|
||||
MASTER_SITES= GNOME
|
||||
|
76
devel/glib20/files/patch-networkmonitor-netlink
Normal file
76
devel/glib20/files/patch-networkmonitor-netlink
Normal file
@ -0,0 +1,76 @@
|
||||
From 02172bda73663f63b603956a180c6c6fc6a3d187 Mon Sep 17 00:00:00 2001
|
||||
From: Gleb Popov <6yearold@gmail.com>
|
||||
Date: Tue, 29 Oct 2024 21:18:36 +0300
|
||||
Subject: [PATCH] Enable GNetworkMonitorNetlink on FreeBSD
|
||||
|
||||
https://gitlab.gnome.org/GNOME/glib/-/merge_requests/4376
|
||||
|
||||
---
|
||||
gio/gnetworkmonitornetlink.c | 8 ++++++++
|
||||
meson.build | 4 +++-
|
||||
2 files changed, 11 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/gio/gnetworkmonitornetlink.c b/gio/gnetworkmonitornetlink.c
|
||||
index bf51d31f99..adaa77d38b 100644
|
||||
--- a/gio/gnetworkmonitornetlink.c
|
||||
+++ ./gio/gnetworkmonitornetlink.c
|
||||
@@ -38,8 +38,14 @@
|
||||
|
||||
/* must come at the end to pick system includes from
|
||||
* gnetworkingprivate.h */
|
||||
+#ifdef HAVE_LINUX_NETLINK_H
|
||||
#include <linux/netlink.h>
|
||||
#include <linux/rtnetlink.h>
|
||||
+#endif
|
||||
+#ifdef HAVE_NETLINK_NETLINK_H
|
||||
+#include <netlink/netlink.h>
|
||||
+#include <netlink/netlink_route.h>
|
||||
+#endif
|
||||
|
||||
static GInitableIface *initable_parent_iface;
|
||||
static void g_network_monitor_netlink_iface_init (GNetworkMonitorInterface *iface);
|
||||
@@ -124,6 +130,7 @@ g_network_monitor_netlink_initable_init (GInitable *initable,
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
+#ifdef SO_PASSCRED
|
||||
if (!g_socket_set_option (nl->priv->sock, SOL_SOCKET, SO_PASSCRED,
|
||||
TRUE, NULL))
|
||||
{
|
||||
@@ -133,6 +140,7 @@ g_network_monitor_netlink_initable_init (GInitable *initable,
|
||||
g_strerror (errsv));
|
||||
return FALSE;
|
||||
}
|
||||
+#endif
|
||||
|
||||
/* Request the current state */
|
||||
if (!request_dump (nl, error))
|
||||
diff --git a/meson.build b/meson.build
|
||||
index 69e4b036ea..7da293881e 100644
|
||||
--- a/meson.build
|
||||
+++ ./meson.build
|
||||
@@ -400,10 +400,12 @@ headers = [
|
||||
'inttypes.h',
|
||||
'libproc.h',
|
||||
'limits.h',
|
||||
+ 'linux/netlink.h',
|
||||
'locale.h',
|
||||
'mach/mach_time.h',
|
||||
'memory.h',
|
||||
'mntent.h',
|
||||
+ 'netlink/netlink.h',
|
||||
'poll.h',
|
||||
'pwd.h',
|
||||
'sched.h',
|
||||
@@ -461,7 +463,7 @@ if cc.check_header('malloc.h')
|
||||
glib_conf_prefix = glib_conf_prefix + '#define HAVE_MALLOC_H 1\n'
|
||||
endif
|
||||
|
||||
-if cc.check_header('linux/netlink.h')
|
||||
+if glib_conf.has('HAVE_LINUX_NETLINK_H') or glib_conf.has('HAVE_NETLINK_NETLINK_H')
|
||||
glib_conf.set('HAVE_NETLINK', 1)
|
||||
endif
|
||||
|
||||
--
|
||||
GitLab
|
||||
|
Loading…
Reference in New Issue
Block a user