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.
This commit is contained in:
Marius Bakke 2019-12-06 18:21:48 +01:00
parent 46c3a08b2e
commit 12818a0656
No known key found for this signature in database
GPG key ID: A2A06DF2A33A54FA
3 changed files with 23 additions and 1 deletions

View file

@ -1197,6 +1197,7 @@ dist_patch_DATA = \
%D%/packages/patches/netsurf-system-utf8proc.patch \ %D%/packages/patches/netsurf-system-utf8proc.patch \
%D%/packages/patches/netsurf-y2038-tests.patch \ %D%/packages/patches/netsurf-y2038-tests.patch \
%D%/packages/patches/netsurf-longer-test-timeout.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/nfs-utils-missing-headers.patch \
%D%/packages/patches/ngircd-handle-zombies.patch \ %D%/packages/patches/ngircd-handle-zombies.patch \
%D%/packages/patches/nm-plugin-path.patch \ %D%/packages/patches/nm-plugin-path.patch \

View file

@ -5822,7 +5822,8 @@ users.")
(uri (string-append "mirror://gnome/sources/NetworkManager/" (uri (string-append "mirror://gnome/sources/NetworkManager/"
(version-major+minor version) "/" (version-major+minor version) "/"
"NetworkManager-" version ".tar.xz")) "NetworkManager-" version ".tar.xz"))
(patches (search-patches "nm-plugin-path.patch")) (patches (search-patches "nm-plugin-path.patch"
"network-manager-gettid.patch"))
(sha256 (sha256
(base32 (base32
"0pnh1wr2p1fqa5pr945fr3lngfc5ccfrmgddqsg55lxnjpv0ggd3")) "0pnh1wr2p1fqa5pr945fr3lngfc5ccfrmgddqsg55lxnjpv0ggd3"))

View file

@ -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