From: Jan Palus Date: Mon, 4 Oct 2021 17:33:21 +0000 (+0200) Subject: upstream fix for build failure with glibc 2.34; rel 2 X-Git-Tag: auto/th/libupnp-1.14.6-2 X-Git-Url: https://git.pld-linux.org/?a=commitdiff_plain;h=refs%2Ftags%2Fauto%2Fth%2Flibupnp-1.14.6-2;p=packages%2Flibupnp.git upstream fix for build failure with glibc 2.34; rel 2 --- 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 +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__) && \ 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