pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/audio/pulseaudio pulseaudio: build fix for linux with ...



details:   https://anonhg.NetBSD.org/pkgsrc/rev/4c21628ff05c
branches:  trunk
changeset: 380821:4c21628ff05c
user:      maya <maya%pkgsrc.org@localhost>
date:      Tue May 22 18:16:42 2018 +0000

description:
pulseaudio: build fix for linux with recent glibc

avoid defining a duplicate symbol already found in glibc.
from upstream commit:
https://github.com/pulseaudio/pulseaudio/commit/dfb0460fb4743aec047cdf755a660a9ac2d0f3fb

>From Nia Alarie in PR pkg/53305

diffstat:

 audio/pulseaudio/distinfo                                     |   5 +-
 audio/pulseaudio/patches/patch-configure.ac                   |  22 ++++++-
 audio/pulseaudio/patches/patch-src_pulsecore_memfd-wrappers.h |  30 +++++++++++
 3 files changed, 50 insertions(+), 7 deletions(-)

diffs (113 lines):

diff -r 7ac1d32e5564 -r 4c21628ff05c audio/pulseaudio/distinfo
--- a/audio/pulseaudio/distinfo Tue May 22 17:32:50 2018 +0000
+++ b/audio/pulseaudio/distinfo Tue May 22 18:16:42 2018 +0000
@@ -1,14 +1,15 @@
-$NetBSD: distinfo,v 1.63 2017/10/02 19:21:15 ryoon Exp $
+$NetBSD: distinfo,v 1.64 2018/05/22 18:16:42 maya Exp $
 
 SHA1 (pulseaudio-11.1.tar.xz) = 53bde72b6bfe715c19b1519db8845f7a58346b67
 RMD160 (pulseaudio-11.1.tar.xz) = bb625751165be83c3ff4cbb0b22c5a28007e61fe
 SHA512 (pulseaudio-11.1.tar.xz) = 8863d8d7aede0d9a4d158e84e7bece91747c335f9ac98c7b21fafe76b762f8817e1125307aa46e561e540d2c40525e91f51a55ec34ac55d58fd5980199856a7a
 Size (pulseaudio-11.1.tar.xz) = 1648924 bytes
 SHA1 (patch-aa) = d99611639f360bb274a2a24636a3cce122cb10fc
-SHA1 (patch-configure.ac) = ceb209d48d7e484b21c2f00282b32440dafee7d5
+SHA1 (patch-configure.ac) = ec7b610376aa3504dc9244de83e3d7d053819ee3
 SHA1 (patch-src_Makefile.am) = debe40be5d1155f6cb0d5ae90119dece4e090b02
 SHA1 (patch-src_modules_module-detect.c) = f202194b03a2023959d772392d58297f963f0ada
 SHA1 (patch-src_modules_oss_module-oss.c) = 399ac178ae832619253ce8dd985edbed23db86e7
+SHA1 (patch-src_pulsecore_memfd-wrappers.h) = e39b3bff363bb5f8a4f21f879d56cd6f3df460ac
 SHA1 (patch-src_pulsecore_mix__neon.c) = 6f6d33d38024d65045d637d48276e1ba92b81342
 SHA1 (patch-src_pulsecore_svolume__mmx.c) = c34d153e3bfdb812eb7bd70fa330a9ec674c2dc2
 SHA1 (patch-src_pulsecore_svolume__sse.c) = 47c97c1af947133f2a7b330aed38792bb0e7ef09
diff -r 7ac1d32e5564 -r 4c21628ff05c audio/pulseaudio/patches/patch-configure.ac
--- a/audio/pulseaudio/patches/patch-configure.ac       Tue May 22 17:32:50 2018 +0000
+++ b/audio/pulseaudio/patches/patch-configure.ac       Tue May 22 18:16:42 2018 +0000
@@ -1,4 +1,4 @@
-$NetBSD: patch-configure.ac,v 1.9 2017/09/08 02:27:44 ryoon Exp $
+$NetBSD: patch-configure.ac,v 1.10 2018/05/22 18:16:42 maya Exp $
 
 * Don't assume sys/capability.h is guaranteed present on Linux.
 * Fix NetBSD detection for libatomics_ops check.
@@ -7,8 +7,10 @@
 * Install default config files in example directory; pkgsrc config
   file framework will install them in the right place.
 * Avoid hardcoded SDK paths on Darwin.
+* Check for memfd_create instead of assuming libc does not define it.
+  (Will be included in next release after 11.1)
 
---- configure.ac.orig  2016-06-22 06:53:09.000000000 +0000
+--- configure.ac.orig  2017-09-05 10:46:23.000000000 +0000
 +++ configure.ac
 @@ -21,7 +21,7 @@
  
@@ -27,7 +29,17 @@
          os_is_linux=1
      ;;
      freebsd*)
-@@ -1041,7 +1040,7 @@ AS_IF([test "x$HAVE_DBUS" = "x1"], AC_DE
+@@ -607,6 +606,9 @@ AS_IF([test "x$enable_memfd" = "xyes" &&
+     [AC_MSG_ERROR([*** Your Linux kernel does not support memfd shared memory.
+                   *** Use linux v3.17 or higher for such a feature.])])
+ 
++AS_IF([test "x$HAVE_MEMFD" = "x1"],
++    AC_CHECK_FUNCS([memfd_create]))
++
+ AC_SUBST(HAVE_MEMFD)
+ AM_CONDITIONAL([HAVE_MEMFD], [test "x$HAVE_MEMFD" = x1])
+ AS_IF([test "x$HAVE_MEMFD" = "x1"], AC_DEFINE([HAVE_MEMFD], 1, [Have memfd shared memory.]))
+@@ -1031,7 +1033,7 @@ AS_IF([test "x$HAVE_DBUS" = "x1"], AC_DE
  
  PA_MACHINE_ID="${sysconfdir}/machine-id"
  AX_DEFINE_DIR(PA_MACHINE_ID, PA_MACHINE_ID, [D-Bus machine-id file])
@@ -36,7 +48,7 @@
  AX_DEFINE_DIR(PA_MACHINE_ID_FALLBACK, PA_MACHINE_ID_FALLBACK,
              [Fallback machine-id file])
  
-@@ -1364,9 +1363,9 @@ fi
+@@ -1330,9 +1332,9 @@ fi
  
  PA_SYSTEM_RUNTIME_PATH="${localstatedir}/run/pulse"
  AX_DEFINE_DIR(PA_SYSTEM_RUNTIME_PATH, PA_SYSTEM_RUNTIME_PATH, [System runtime dir])
@@ -48,7 +60,7 @@
  AX_DEFINE_DIR(PA_SYSTEM_STATE_PATH, PA_SYSTEM_STATE_PATH, [System state dir])
  
  PA_BINARY=${bindir}/pulseaudio${EXEEXT}
-@@ -1378,8 +1377,9 @@ AX_DEFINE_DIR(PACTL_BINARY, PACTL_BINARY
+@@ -1344,8 +1346,9 @@ AX_DEFINE_DIR(PACTL_BINARY, PACTL_BINARY
  AC_SUBST(PA_SOEXT, [.so])
  AC_DEFINE(PA_SOEXT, [".so"], [Shared object extension])
  
diff -r 7ac1d32e5564 -r 4c21628ff05c audio/pulseaudio/patches/patch-src_pulsecore_memfd-wrappers.h
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/audio/pulseaudio/patches/patch-src_pulsecore_memfd-wrappers.h     Tue May 22 18:16:42 2018 +0000
@@ -0,0 +1,30 @@
+$NetBSD: patch-src_pulsecore_memfd-wrappers.h,v 1.1 2018/05/22 18:16:42 maya Exp $
+
+If glibc provides memfd_create, pulseaudio must not define it,
+otherwise building fails due to conflict between the two implementations
+of the same function.
+
+memfd_create is included in >=glibc-2.27.
+
+Bug: https://bugs.freedesktop.org/show_bug.cgi?id=104733
+Commit: https://github.com/pulseaudio/pulseaudio/commit/dfb0460fb4743aec047cdf755a660a9ac2d0f3fb
+
+--- src/pulsecore/memfd-wrappers.h.orig        2016-08-23 12:50:11.000000000 +0000
++++ src/pulsecore/memfd-wrappers.h
+@@ -20,7 +20,7 @@
+   License along with PulseAudio; if not, see <http://www.gnu.org/licenses/>.
+ ***/
+ 
+-#ifdef HAVE_MEMFD
++#if defined(HAVE_MEMFD) && !defined(HAVE_MEMFD_CREATE)
+ 
+ #include <sys/syscall.h>
+ #include <fcntl.h>
+@@ -63,6 +63,6 @@ static inline int memfd_create(const cha
+ #define F_SEAL_WRITE    0x0008  /* prevent writes */
+ #endif
+ 
+-#endif /* HAVE_MEMFD */
++#endif /* HAVE_MEMFD && !HAVE_MEMFD_CREATE */
+ 
+ #endif



Home | Main Index | Thread Index | Old Index