summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarius Bakke <mbakke@fastmail.com>2019-12-06 18:21:48 +0100
committerMarius Bakke <mbakke@fastmail.com>2020-01-08 21:56:02 +0100
commit12818a0656817e95a80aace01089042c0b0e7e22 (patch)
tree5171530c3c9bdc703c13205bcfa2e173862981c6
parent46c3a08b2ee8d5abae9f8fb42ff68dbf211dd261 (diff)
gnu: network-manager: Fix build with glibc 2.30.
* gnu/packages/patches/network-manager-gettid.patch: New file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/gnome.scm (network-manager)[source](patches): Add it.
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/gnome.scm3
-rw-r--r--gnu/packages/patches/network-manager-gettid.patch20
3 files changed, 23 insertions, 1 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 234d283ee6..2b17423483 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1197,6 +1197,7 @@ dist_patch_DATA = \
%D%/packages/patches/netsurf-system-utf8proc.patch \
%D%/packages/patches/netsurf-y2038-tests.patch \
%D%/packages/patches/netsurf-longer-test-timeout.patch \
+ %D%/packages/patches/network-manager-gettid.patch \
%D%/packages/patches/nfs-utils-missing-headers.patch \
%D%/packages/patches/ngircd-handle-zombies.patch \
%D%/packages/patches/nm-plugin-path.patch \
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 37873e42bc..464f2ad818 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -5822,7 +5822,8 @@ users.")
(uri (string-append "mirror://gnome/sources/NetworkManager/"
(version-major+minor version) "/"
"NetworkManager-" version ".tar.xz"))
- (patches (search-patches "nm-plugin-path.patch"))
+ (patches (search-patches "nm-plugin-path.patch"
+ "network-manager-gettid.patch"))
(sha256
(base32
"0pnh1wr2p1fqa5pr945fr3lngfc5ccfrmgddqsg55lxnjpv0ggd3"))
diff --git a/gnu/packages/patches/network-manager-gettid.patch b/gnu/packages/patches/network-manager-gettid.patch
new file mode 100644
index 0000000000..d50b5f8102
--- /dev/null
+++ b/gnu/packages/patches/network-manager-gettid.patch
@@ -0,0 +1,20 @@
+glibc 2.30 added gettid() which conflicts with the implementation in
+NetworkManager. Remove for 1.17.1 and later versions.
+
+Adapted from upstream:
+https://gitlab.freedesktop.org/NetworkManager/NetworkManager/commit/10276322bde8f015e48ac06f6a7509f514eb46f0
+
+--- a/src/systemd/sd-adapt/nm-sd-adapt.h
++++ b/src/systemd/sd-adapt/nm-sd-adapt.h
+@@ -181,9 +181,10 @@
+ #endif
+ }
+
+-static inline pid_t gettid(void) {
++static inline pid_t _nm_gettid(void) {
+ return (pid_t) syscall(SYS_gettid);
+ }
++#define gettid() _nm_gettid ()
+
+ /* we build with C11 and thus <uchar.h> provides char32_t,char16_t. */
+ #define HAVE_CHAR32_T 1