[packages/libupnp] upstream fix for build failure with glibc 2.34; rel 2

atler atler at pld-linux.org
Mon Oct 4 19:34:08 CEST 2021


commit ffe2af3a2e40cf4af005ebc849183a829c48b19f
Author: Jan Palus <atler at pld-linux.org>
Date:   Mon Oct 4 19:33:21 2021 +0200

    upstream fix for build failure with glibc 2.34; rel 2

 ithread.patch | 68 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 libupnp.spec  |  4 +++-
 2 files changed, 71 insertions(+), 1 deletion(-)
---
diff --git a/libupnp.spec b/libupnp.spec
index 9867993..47dd0b7 100644
--- a/libupnp.spec
+++ b/libupnp.spec
@@ -2,13 +2,14 @@ Summary:	The Universal Plug and Play (UPnP) SDK for Linux
 Summary(pl.UTF-8):	Pakiet programistyczny Universal Plug and Play (UPnP) dla Linuksa
 Name:		libupnp
 Version:	1.14.6
-Release:	1
+Release:	2
 License:	BSD
 Group:		Libraries
 Source0:	https://downloads.sourceforge.net/pupnp/%{name}-%{version}.tar.bz2
 # Source0-md5:	05c2393eee4fbf81c9e1b116b9554039
 Patch0:		%{name}-opt.patch
 Patch1:		%{name}-openssl.patch
+Patch2:		ithread.patch
 URL:		http://pupnp.sourceforge.net/
 BuildRequires:	autoconf >= 2.60
 BuildRequires:	automake >= 1:1.8
@@ -76,6 +77,7 @@ Dokumentacja API bibliotek upnp.
 %setup -q
 %patch0 -p1
 %patch1 -p1
+%patch2 -p1
 
 # LFS is required in library clients (including examples)
 %{__sed} -i -e '/^Cflags/ s/$/ -D_FILE_OFFSET_BITS=64/' libupnp.pc.in
diff --git a/ithread.patch b/ithread.patch
new file mode 100644
index 0000000..04d6ac6
--- /dev/null
+++ b/ithread.patch
@@ -0,0 +1,68 @@
+From c0b552973c5db6dbe4dd0bdc47496da3d7af9606 Mon Sep 17 00:00:00 2001
+From: Marcelo Roberto Jimenez <marcelo.jimenez at gmail.com>
+Date: Sun, 1 Aug 2021 20:44:13 -0300
+Subject: [PATCH] ithread: Remove references to
+ pthread_mutexattr_{g,s}etkind_np
+
+---
+ upnp/inc/ithread.h | 33 ++++++++++++++-------------------
+ 1 file changed, 14 insertions(+), 19 deletions(-)
+
+diff --git a/upnp/inc/ithread.h b/upnp/inc/ithread.h
+index f6800ea9..2087466b 100644
+--- a/upnp/inc/ithread.h
++++ b/upnp/inc/ithread.h
+@@ -304,11 +304,8 @@ static UPNP_INLINE int ithread_cleanup_thread(void)
+  *      Returns EINVAL if the kind is not supported.
+  *      See man page for pthread_mutexattr_setkind_np
+  *****************************************************************************/
+-#if defined(PTHREAD_MUTEX_RECURSIVE) || defined(__DragonFly__)
+-	#define ithread_mutexattr_setkind_np pthread_mutexattr_settype
+-#else
+-	#define ithread_mutexattr_setkind_np pthread_mutexattr_setkind_np
+-#endif /* UPNP_USE_RWLOCK */
++#define ithread_mutexattr_setkind_np pthread_mutexattr_settype
++#define ithread_mutexattr_settype pthread_mutexattr_settype
+ 
+ /****************************************************************************
+  * Function: ithread_mutexattr_getkind_np
+@@ -329,11 +326,8 @@ static UPNP_INLINE int ithread_cleanup_thread(void)
+  *      Always returns 0.
+  *      See man page for pthread_mutexattr_getkind_np
+  *****************************************************************************/
+-#if defined(PTHREAD_MUTEX_RECURSIVE) || defined(__DragonFly__)
+-	#define ithread_mutexattr_getkind_np pthread_mutexattr_gettype
+-#else
+-	#define ithread_mutexattr_getkind_np pthread_mutexattr_getkind_np
+-#endif /* UPNP_USE_RWLOCK */
++#define ithread_mutexattr_getkind_np pthread_mutexattr_gettype
++#define ithread_mutexattr_gettype pthread_mutexattr_gettype
+ 
+ /****************************************************************************
+  * Function: ithread_mutex_init
+@@ -898,15 +892,16 @@ static UPNP_INLINE int ithread_cleanup_thread(void)
+ #ifdef _WIN32
+ 	#define imillisleep Sleep
+ #else
+-#if _POSIX_C_SOURCE < 200809L
+-	#define imillisleep(x) usleep(1000 * x)
+-#else
+-	#define imillisleep(x) \
+-		do { \
+-			const struct timespec req = {0, x * 1000 * 1000}; \
+-			nanosleep(&req, NULL); \
+-		} while(0)
+-#endif
++	#if _POSIX_C_SOURCE < 200809L
++		#define imillisleep(x) usleep(1000 * x)
++	#else
++		#define imillisleep(x) \
++			do { \
++				const struct timespec req = { \
++					0, x * 1000 * 1000}; \
++				nanosleep(&req, NULL); \
++			} while (0)
++	#endif
+ #endif
+ 
+ #if !defined(PTHREAD_MUTEX_RECURSIVE) && !defined(__DragonFly__) && \
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/libupnp.git/commitdiff/ffe2af3a2e40cf4af005ebc849183a829c48b19f



More information about the pld-cvs-commit mailing list