[Buildroot] [git commit] openal: don't download patches from Github

Peter Korsgaard peter at korsgaard.com
Sun Jul 2 22:05:18 UTC 2017


commit: https://git.buildroot.net/buildroot/commit/?id=50368ac2ab63dff420a99ef2182803466a2b741f
branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/master

Patches downloaded from Github are not stable, so bring them in the
tree.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
Signed-off-by: Peter Korsgaard <peter at korsgaard.com>
---
 .../0001-Build-NEON-code-with-mfpu-neon.patch      | 29 ++++++++++
 ...heck-for-run-time-NEON-support-by-reading.patch | 67 ++++++++++++++++++++++
 ...003-Properly-check-if-proc-cpuinfo-opened.patch | 24 ++++++++
 ...k-if-mfpu-neon-is-available-for-compiling.patch | 47 +++++++++++++++
 ...tch => 0005-Fix-detection-of-C11-atomics.patch} |  0
 package/openal/openal.hash                         |  4 --
 package/openal/openal.mk                           |  5 --
 7 files changed, 167 insertions(+), 9 deletions(-)

diff --git a/package/openal/0001-Build-NEON-code-with-mfpu-neon.patch b/package/openal/0001-Build-NEON-code-with-mfpu-neon.patch
new file mode 100644
index 0000000..090fdfc
--- /dev/null
+++ b/package/openal/0001-Build-NEON-code-with-mfpu-neon.patch
@@ -0,0 +1,29 @@
+From 27916ce3db023454a0295ee63ea196fbc246674c Mon Sep 17 00:00:00 2001
+From: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
+Date: Tue, 6 Sep 2016 22:19:14 +0200
+Subject: [PATCH] Build NEON code with -mfpu=neon
+
+The ARM-specific NEON code needs to be built with -mfpu=neon to avoid
+build failures when a difference FPU is used by default by the
+compiler.
+
+Fixes issue #54.
+
+[Upstream commit: https://github.com/kcat/openal-soft/commit/27916ce3db023454a0295ee63ea196fbc246674c]
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
+---
+ CMakeLists.txt | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index d8f15153..d92bbb7d 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -767,6 +767,7 @@ IF(HAVE_ARM_NEON_H)
+         SET(HAVE_NEON 1)
+         SET(ALC_OBJS  ${ALC_OBJS} Alc/mixer_neon.c)
+         SET(CPU_EXTS "${CPU_EXTS}, Neon")
++        SET_SOURCE_FILES_PROPERTIES(Alc/mixer_neon.c PROPERTIES COMPILE_FLAGS -mfpu=neon)
+     ENDIF()
+ ENDIF()
+ IF(ALSOFT_REQUIRE_NEON AND NOT HAVE_NEON)
diff --git a/package/openal/0002-Check-for-run-time-NEON-support-by-reading.patch b/package/openal/0002-Check-for-run-time-NEON-support-by-reading.patch
new file mode 100644
index 0000000..0f61a27
--- /dev/null
+++ b/package/openal/0002-Check-for-run-time-NEON-support-by-reading.patch
@@ -0,0 +1,67 @@
+From a52cfc804813aef8e4b304e20cf843fa6907af6c Mon Sep 17 00:00:00 2001
+From: Chris Robinson <chris.kcat at gmail.com>
+Date: Wed, 7 Sep 2016 09:57:40 -0700
+Subject: [PATCH] Check for run-time NEON support by reading /proc/cpuinfo
+
+Less than ideal since documentations warn it may not list 'neon' even if it's
+really supported. However, the "proper" APIs to check for NEON extensions don't
+seem to exist in my toolchain.
+
+[Upstream commit: https://github.com/kcat/openal-soft/commit/a52cfc804813aef8e4b304e20cf843fa6907afc6]
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
+---
+ Alc/helpers.c | 34 ++++++++++++++++++++++++++++++++--
+ 1 file changed, 32 insertions(+), 2 deletions(-)
+
+diff --git a/Alc/helpers.c b/Alc/helpers.c
+index 9b6c7894..4ffda46c 100644
+--- a/Alc/helpers.c
++++ b/Alc/helpers.c
+@@ -32,6 +32,7 @@
+ #include <time.h>
+ #include <errno.h>
+ #include <stdarg.h>
++#include <ctype.h>
+ #ifdef HAVE_MALLOC_H
+ #include <malloc.h>
+ #endif
+@@ -232,8 +233,37 @@ void FillCPUCaps(ALuint capfilter)
+ #endif
+ #endif
+ #ifdef HAVE_NEON
+-    /* Assume Neon support if compiled with it */
+-    caps |= CPU_CAP_NEON;
++    FILE *file = fopen("/proc/cpuinfo", "rt");
++    if(file)
++        ERR("Failed to open /proc/cpuinfo, cannot check for NEON support\n");
++    else
++    {
++        char buf[256];
++        while(fgets(buf, sizeof(buf), file) != NULL)
++        {
++            char *str;
++
++            if(strncmp(buf, "Features\t:", 10) != 0)
++                continue;
++
++            TRACE("Got features string:%s\n", buf+10);
++
++            str = buf;
++            while((str=strstr(str, "neon")) != NULL)
++            {
++                if(isspace(*(str-1)) && (str[4] == 0 || isspace(str[4])))
++                {
++                    caps |= CPU_CAP_NEON;
++                    break;
++                }
++                str++;
++            }
++            break;
++        }
++
++        fclose(file);
++        file = NULL;
++    }
+ #endif
+ 
+     TRACE("Extensions:%s%s%s%s%s%s\n",
diff --git a/package/openal/0003-Properly-check-if-proc-cpuinfo-opened.patch b/package/openal/0003-Properly-check-if-proc-cpuinfo-opened.patch
new file mode 100644
index 0000000..60a93c0
--- /dev/null
+++ b/package/openal/0003-Properly-check-if-proc-cpuinfo-opened.patch
@@ -0,0 +1,24 @@
+From c3c283a0b5d0130afafaa2a5b6ce6fbc30b6e6a1 Mon Sep 17 00:00:00 2001
+From: Chris Robinson <chris.kcat at gmail.com>
+Date: Thu, 8 Sep 2016 02:02:09 -0700
+Subject: [PATCH] Properly check if /proc/cpuinfo opened
+
+[Upstream commit: https://github.com/kcat/openal-soft/commit/c3c283a0b5d0130afafaa2a5b6ce6fbc30b6e6a1]
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
+---
+ Alc/helpers.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Alc/helpers.c b/Alc/helpers.c
+index 4ffda46c..26ed535a 100644
+--- a/Alc/helpers.c
++++ b/Alc/helpers.c
+@@ -234,7 +234,7 @@ void FillCPUCaps(ALuint capfilter)
+ #endif
+ #ifdef HAVE_NEON
+     FILE *file = fopen("/proc/cpuinfo", "rt");
+-    if(file)
++    if(!file)
+         ERR("Failed to open /proc/cpuinfo, cannot check for NEON support\n");
+     else
+     {
diff --git a/package/openal/0004-Check-if-mfpu-neon-is-available-for-compiling.patch b/package/openal/0004-Check-if-mfpu-neon-is-available-for-compiling.patch
new file mode 100644
index 0000000..893a6d3
--- /dev/null
+++ b/package/openal/0004-Check-if-mfpu-neon-is-available-for-compiling.patch
@@ -0,0 +1,47 @@
+From 46b3e1d08ca10e809eb2e20b6371812958b97e1f Mon Sep 17 00:00:00 2001
+From: Chris Robinson <chris.kcat at gmail.com>
+Date: Mon, 12 Sep 2016 11:31:59 -0700
+Subject: [PATCH] Check if -mfpu=neon is available for compiling the NEON mixer
+
+[Upstream commit: https://github.com/kcat/openal-soft/commit/46b3e1d08ca10e809eb2e20b6371812958b97e1f]
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
+---
+ CMakeLists.txt | 10 +++++++++-
+ 1 file changed, 9 insertions(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index d92bbb7d..0d3bb5cd 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -364,6 +364,7 @@ SET(SSE_SWITCH "")
+ SET(SSE2_SWITCH "")
+ SET(SSE3_SWITCH "")
+ SET(SSE4_1_SWITCH "")
++SET(FPU_NEON_SWITCH "")
+ IF(NOT MSVC)
+     CHECK_C_COMPILER_FLAG(-msse HAVE_MSSE_SWITCH)
+     IF(HAVE_MSSE_SWITCH)
+@@ -381,6 +382,10 @@ IF(NOT MSVC)
+     IF(HAVE_MSSE4_1_SWITCH)
+         SET(SSE4_1_SWITCH "-msse4.1")
+     ENDIF()
++    CHECK_C_COMPILER_FLAG(-mfpu=neon HAVE_MFPU_NEON_SWITCH)
++    IF(HAVE_MFPU_NEON_SWITCH)
++        SET(FPU_NEON_SWITCH "-mfpu=neon")
++    ENDIF()
+ ENDIF()
+ 
+ CHECK_C_SOURCE_COMPILES("int foo(const char *str, ...) __attribute__((format(printf, 1, 2)));
+@@ -766,8 +771,11 @@ IF(HAVE_ARM_NEON_H)
+     IF(ALSOFT_CPUEXT_NEON)
+         SET(HAVE_NEON 1)
+         SET(ALC_OBJS  ${ALC_OBJS} Alc/mixer_neon.c)
++        IF(FPU_NEON_SWITCH)
++            SET_SOURCE_FILES_PROPERTIES(Alc/mixer_neon.c PROPERTIES
++                                        COMPILE_FLAGS "${FPU_NEON_SWITCH}")
++        ENDIF()
+         SET(CPU_EXTS "${CPU_EXTS}, Neon")
+-        SET_SOURCE_FILES_PROPERTIES(Alc/mixer_neon.c PROPERTIES COMPILE_FLAGS -mfpu=neon)
+     ENDIF()
+ ENDIF()
+ IF(ALSOFT_REQUIRE_NEON AND NOT HAVE_NEON)
diff --git a/package/openal/0001-Fix-detection-of-C11-atomics.patch b/package/openal/0005-Fix-detection-of-C11-atomics.patch
similarity index 100%
rename from package/openal/0001-Fix-detection-of-C11-atomics.patch
rename to package/openal/0005-Fix-detection-of-C11-atomics.patch
diff --git a/package/openal/openal.hash b/package/openal/openal.hash
index 45f1421..260f1b7 100644
--- a/package/openal/openal.hash
+++ b/package/openal/openal.hash
@@ -1,6 +1,2 @@
 # Locally calculated
 sha256	a341f8542f1f0b8c65241a17da13d073f18ec06658e1a1606a8ecc8bbc2b3314	openal-soft-1.17.2.tar.bz2
-sha256	9c9040269376aba77b1277bbae0f055aee535e14ad4a3ab4e66e39830504e83f	27916ce3db023454a0295ee63ea196fbc246674c.patch
-sha256	4621f6b79d4bbac5ce423f227c92ad1e4f833d7e1f2ff1cc3b5f03721f75b933	a52cfc804813aef8e4b304e20cf843fa6907af6c.patch
-sha256	f442da31b4001a5133f2762a5bc1e780b11d5e2d9f21b257f54695ee6d87d997	c3c283a0b5d0130afafaa2a5b6ce6fbc30b6e6a1.patch
-sha256	3691c1a327b87d5fb487841459fd00d3baaa79808ecb5e3b33b349363663640f	46b3e1d08ca10e809eb2e20b6371812958b97e1f.patch
diff --git a/package/openal/openal.mk b/package/openal/openal.mk
index 72ebee2..55bf544 100644
--- a/package/openal/openal.mk
+++ b/package/openal/openal.mk
@@ -7,11 +7,6 @@
 OPENAL_VERSION = 1.17.2
 OPENAL_SOURCE = openal-soft-$(OPENAL_VERSION).tar.bz2
 OPENAL_SITE = http://kcat.strangesoft.net/openal-releases
-OPENAL_PATCH = \
-	https://github.com/kcat/openal-soft/commit/27916ce3db023454a0295ee63ea196fbc246674c.patch \
-	https://github.com/kcat/openal-soft/commit/a52cfc804813aef8e4b304e20cf843fa6907af6c.patch \
-	https://github.com/kcat/openal-soft/commit/c3c283a0b5d0130afafaa2a5b6ce6fbc30b6e6a1.patch \
-	https://github.com/kcat/openal-soft/commit/46b3e1d08ca10e809eb2e20b6371812958b97e1f.patch
 OPENAL_LICENSE = LGPL-2.0+
 OPENAL_LICENSE_FILES = COPYING
 OPENAL_INSTALL_STAGING = YES


More information about the buildroot mailing list