summaryrefslogtreecommitdiff
path: root/meta-openembedded/meta-oe/recipes-devtools
diff options
context:
space:
mode:
Diffstat (limited to 'meta-openembedded/meta-oe/recipes-devtools')
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-Add-RISCV-support-to-GetProgramCounter.patch29
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-Fix-build-on-riscv32.patch74
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-Remove-maes-option-from-cross-compilation.patch53
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-absl-always-use-asm-sgidefs.h.patch38
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0002-Add-forgotten-ABSL_HAVE_VDSO_SUPPORT-conditional.patch35
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0003-Add-fPIC-option.patch27
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb58
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/build/0001-Riscv-Add-risc-v-Android-config-header.patch359
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/core/0013-adb-Support-riscv64.patch189
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb6
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/autoconf-2.13/autoconf-2.13-native_2.13.bb67
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/autoconf-2.13/autoconf-2.13/0001-Add-config.guess-config.sub-install-to-destdir.patch67
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad_git.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/cgdb/cgdb_0.7.1.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/cjson/cjson_1.7.13.bb21
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/cloc/cloc_1.84.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/concurrencykit/concurrencykit_git.bb1
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/cpuid/cpuid_20200211.bb (renamed from meta-openembedded/meta-oe/recipes-devtools/cpuid/cpuid_20180519.bb)6
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/dnf-plugin-tui/dnf-plugin-tui_git.bb5
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/doxygen/doxygen/doxygen-native-only-check-python3.patch433
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/doxygen/doxygen_1.8.17.bb1
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/flatbuffers/flatbuffers/0001-Add-detection-of-strtoull_l-function.patch38
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/flatbuffers/flatbuffers_1.12.0.bb (renamed from meta-openembedded/meta-oe/recipes-devtools/flatbuffers/flatbuffers_1.11.0.bb)13
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins/0002-Make-libgit2-version-preprocessor-conditionals-compatible.patch55
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.36.bb1
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/geany/geany_1.36.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/glade/glade_3.22.2.bb (renamed from meta-openembedded/meta-oe/recipes-devtools/glade/glade_3.22.1.bb)6
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/grpc/grpc/0001-CMakeLists.txt-Fix-grpc_cpp_plugin-path-during-cross.patch45
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/grpc/grpc/0001-CMakeLists.txt-Fix-libraries-installation-for-Linux.patch177
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/grpc/grpc_1.24.3.bb67
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/guider/guider_3.9.6.bb6
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/jq/jq_1.6.bb6
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc_1.3.0.bb (renamed from meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc_1.2.0.bb)2
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/lapack/lapack_3.9.0.bb (renamed from meta-openembedded/meta-oe/recipes-devtools/lapack/lapack_3.8.0.bb)6
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/libgee/libgee_0.20.3.bb (renamed from meta-openembedded/meta-oe/recipes-devtools/libgee/libgee_0.20.2.bb)4
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace_git.bb3
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/lua/lua_5.3.5.bb1
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/luajit/luajit/clang.patch4
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/luajit/luajit_git.bb (renamed from meta-openembedded/meta-oe/recipes-devtools/luajit/luajit_2.0.5.bb)16
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/luaposix/luaposix/0001-fix-avoid-race-condition-between-test-and-mkdir.patch75
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/luaposix/luaposix_33.4.0.bb21
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/nanopb/nanopb_0.4.0.bb4
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/nlohmann-fifo/nlohmann-fifo_git.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json/0001-Templatize-basic_json-ctor-from-json_ref.patch99
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json/0001-typo-fix.patch43
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.7.3.bb5
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0001-Disable-running-gyp-files-for-bundled-deps.patch25
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0001-build-allow-passing-multiple-libs-to-pkg_config.patch41
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0001-deps-V8-backport-3f8dc4b2e5ba.patch194
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0002-Using-native-binaries.patch71
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0002-Using-native-torque.patch36
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0002-build-allow-use-of-system-installed-brotli.patch66
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0003-Install-both-binaries-and-use-libdir.patch17
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0004-Make-compatibility-with-gcc-4.8.patch69
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0004-v8-don-t-override-ARM-CFLAGS.patch (renamed from meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0007-v8-don-t-override-ARM-CFLAGS.patch)16
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0005-Link-atomic-library.patch20
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/big-endian.patch18
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/mips-warnings.patch19
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_12.14.1.bb (renamed from meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_10.17.0.bb)48
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/octave/octave_4.4.1.bb4
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/openocd/openocd_git.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/pcimem/pcimem_2.0.bb17
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/perl/libdbi-perl_1.643.bb (renamed from meta-openembedded/meta-oe/recipes-devtools/perl/libdbi-perl_1.642.bb)4
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/perl/libio-pty-perl_1.14.bb (renamed from meta-openembedded/meta-oe/recipes-devtools/perl/libio-pty-perl_1.12.bb)4
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/perl/libjson-perl_4.02000.bb22
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/perl/libperlio-gzip-perl_0.20.bb30
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/php/php/0001-Use-pkg-config-for-libxml2-detection.patch23
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/php/php/0001-acinclude.m4-skip-binconfig-check-for-libxml.patch56
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/php/php/0001-configure.ac-don-t-include-build-libtool.m4.patch30
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/php/php/0001-main-php_ini.c-build-empty-php_load_zend_extension_c.patch63
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/php/php/0001-opcache-config.m4-enable-opcache.patch179
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/php/php/0001-php-don-t-use-broken-wrapper-for-mkdir.patch11
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/php/php/0001-php.m4-don-t-unset-cache-variables.patch (renamed from meta-openembedded/meta-oe/recipes-devtools/php/php/0001-acinclude.m4-don-t-unset-cache-variables.patch)23
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/php/php/0048-Use-pkg-config-for-FreeType2-detection.patch53
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/php/php/70_mod_php5.conf12
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/php/php/CVE-2019-6978.patch192
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/php/php/iconv.patch36
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/php/php/imap-fix-autofoo.patch36
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/php/php/phar-makefile.patch18
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/php/php/php_exec_native.patch20
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/php/php_7.4.4.bb (renamed from meta-openembedded/meta-oe/recipes-devtools/php/php_7.3.11.bb)31
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/ply/ply_git.bb15
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf-c_1.3.3.bb (renamed from meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf-c_1.3.2.bb)6
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.11.4.bb (renamed from meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.10.1.bb)4
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/pugixml/pugixml_1.10.bb7
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/python/python-cpuset_1.6.bb18
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/python/python-distutils-extra.bb7
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/python/python-futures_3.3.0.bb13
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/python/python-jsmin_2.2.2.bb11
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/python/python-pygobject/0001-python-pyobject-fix-install-dir.patch121
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/python/python-pygobject_3.34.0.bb39
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/python/python-pytoml.inc12
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/python/python-pytoml_0.1.21.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/python/python-six_1.13.0.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/python/python-which_1.1.0.bb19
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/sip/sip_4.19.19.bb11
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/uftrace/uftrace_0.9.4.bb (renamed from meta-openembedded/meta-oe/recipes-devtools/uftrace/uftrace_0.9.3.bb)4
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/yasm/yasm_git.bb2
98 files changed, 2822 insertions, 1153 deletions
diff --git a/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-Add-RISCV-support-to-GetProgramCounter.patch b/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-Add-RISCV-support-to-GetProgramCounter.patch
new file mode 100644
index 000000000..95ec070f6
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-Add-RISCV-support-to-GetProgramCounter.patch
@@ -0,0 +1,29 @@
+From 983eeae0792946fe5c090f95164c892ec6db5cc4 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 16 Feb 2020 16:22:53 -0800
+Subject: [PATCH] Add RISCV support to GetProgramCounter()
+
+Identify PC register from signal context
+
+Upstream-Status: Submitted [https://github.com/abseil/abseil-cpp/pull/621]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ absl/debugging/internal/examine_stack.cc | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/absl/debugging/internal/examine_stack.cc b/absl/debugging/internal/examine_stack.cc
+index 4739fbc..fb77450 100644
+--- a/absl/debugging/internal/examine_stack.cc
++++ b/absl/debugging/internal/examine_stack.cc
+@@ -53,6 +53,8 @@ void* GetProgramCounter(void* vuc) {
+ return reinterpret_cast<void*>(context->uc_mcontext.gp_regs[32]);
+ #elif defined(__powerpc__)
+ return reinterpret_cast<void*>(context->uc_mcontext.regs->nip);
++#elif defined(__riscv)
++ return reinterpret_cast<void*>(context->uc_mcontext.__gregs[REG_PC]);
+ #elif defined(__s390__) && !defined(__s390x__)
+ return reinterpret_cast<void*>(context->uc_mcontext.psw.addr & 0x7fffffff);
+ #elif defined(__s390__) && defined(__s390x__)
+--
+2.25.0
+
diff --git a/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-Fix-build-on-riscv32.patch b/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-Fix-build-on-riscv32.patch
new file mode 100644
index 000000000..e7c9b43c2
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-Fix-build-on-riscv32.patch
@@ -0,0 +1,74 @@
+From 04e28fdda03b545a0f7b446a784ec2fa7249cbb8 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 29 Apr 2020 15:37:40 -0700
+Subject: [PATCH] Fix build on riscv32
+
+Define __NR_mmap in terms of __NR_mmap2 and __NR_futex interms of
+__NR_futex_time64 for rv32, since there calls dont exist for rv32
+
+Also recognise rv32 as a new 32bit platform
+
+Upstream-Status: Submitted [https://github.com/abseil/abseil-cpp/pull/675]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ absl/base/internal/direct_mmap.h | 5 +++++
+ absl/base/internal/spinlock_linux.inc | 4 ++++
+ absl/synchronization/internal/waiter.cc | 4 ++++
+ 3 files changed, 13 insertions(+)
+
+diff --git a/absl/base/internal/direct_mmap.h b/absl/base/internal/direct_mmap.h
+index 5618867..90cfeca 100644
+--- a/absl/base/internal/direct_mmap.h
++++ b/absl/base/internal/direct_mmap.h
+@@ -26,6 +26,10 @@
+
+ #ifdef __linux__
+
++#if !defined(__NR_mmap) && defined(__riscv) && __riscv_xlen == 32
++# define __NR_mmap __NR_mmap2
++#endif
++
+ #include <sys/types.h>
+ #ifdef __BIONIC__
+ #include <sys/syscall.h>
+@@ -72,6 +76,7 @@ inline void* DirectMmap(void* start, size_t length, int prot, int flags, int fd,
+ #if defined(__i386__) || defined(__ARM_ARCH_3__) || defined(__ARM_EABI__) || \
+ (defined(__mips__) && _MIPS_SIM == _MIPS_SIM_ABI32) || \
+ (defined(__PPC__) && !defined(__PPC64__)) || \
++ (defined(__riscv) && __riscv_xlen == 32) || \
+ (defined(__s390__) && !defined(__s390x__))
+ // On these architectures, implement mmap with mmap2.
+ static int pagesize = 0;
+diff --git a/absl/base/internal/spinlock_linux.inc b/absl/base/internal/spinlock_linux.inc
+index 323edd6..3dca444 100644
+--- a/absl/base/internal/spinlock_linux.inc
++++ b/absl/base/internal/spinlock_linux.inc
+@@ -14,6 +14,10 @@
+ //
+ // This file is a Linux-specific part of spinlock_wait.cc
+
++#if !defined(__NR_futex) && defined(__riscv) && __riscv_xlen == 32
++# define __NR_futex __NR_futex_time64
++#endif
++
+ #include <linux/futex.h>
+ #include <sys/syscall.h>
+ #include <unistd.h>
+diff --git a/absl/synchronization/internal/waiter.cc b/absl/synchronization/internal/waiter.cc
+index 2949f5a..7411042 100644
+--- a/absl/synchronization/internal/waiter.cc
++++ b/absl/synchronization/internal/waiter.cc
+@@ -24,6 +24,10 @@
+ #include <unistd.h>
+ #endif
+
++#if !defined(__NR_futex) && defined(__riscv) && __riscv_xlen == 32
++# define __NR_futex __NR_futex_time64
++#endif
++
+ #ifdef __linux__
+ #include <linux/futex.h>
+ #include <sys/syscall.h>
+--
+2.26.2
+
diff --git a/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-Remove-maes-option-from-cross-compilation.patch b/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-Remove-maes-option-from-cross-compilation.patch
new file mode 100644
index 000000000..4c41cd890
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-Remove-maes-option-from-cross-compilation.patch
@@ -0,0 +1,53 @@
+From 70926666f7c5c35add363e3bcade6eaabace7206 Mon Sep 17 00:00:00 2001
+From: Sinan Kaya <sinan.kaya@microsoft.com>
+Date: Mon, 3 Feb 2020 03:25:57 +0000
+Subject: [PATCH] Remove maes option from cross-compilation
+
+---
+ absl/copts/GENERATED_AbseilCopts.cmake | 4 ----
+ absl/copts/GENERATED_copts.bzl | 4 ----
+ absl/copts/copts.py | 4 ----
+ 3 files changed, 12 deletions(-)
+
+diff --git a/absl/copts/GENERATED_AbseilCopts.cmake b/absl/copts/GENERATED_AbseilCopts.cmake
+index 01bd40b..af99694 100644
+--- a/absl/copts/GENERATED_AbseilCopts.cmake
++++ b/absl/copts/GENERATED_AbseilCopts.cmake
+@@ -230,7 +230,3 @@ list(APPEND ABSL_RANDOM_HWAES_MSVC_X64_FLAGS
+ "/Ob2"
+ )
+
+-list(APPEND ABSL_RANDOM_HWAES_X64_FLAGS
+- "-maes"
+- "-msse4.1"
+-)
+diff --git a/absl/copts/GENERATED_copts.bzl b/absl/copts/GENERATED_copts.bzl
+index 82f332f..9a548d1 100644
+--- a/absl/copts/GENERATED_copts.bzl
++++ b/absl/copts/GENERATED_copts.bzl
+@@ -231,7 +231,3 @@ ABSL_RANDOM_HWAES_MSVC_X64_FLAGS = [
+ "/Ob2",
+ ]
+
+-ABSL_RANDOM_HWAES_X64_FLAGS = [
+- "-maes",
+- "-msse4.1",
+-]
+diff --git a/absl/copts/copts.py b/absl/copts/copts.py
+index 068abce..c2f70fb 100644
+--- a/absl/copts/copts.py
++++ b/absl/copts/copts.py
+@@ -203,10 +203,6 @@ COPT_VARS = {
+ # to improve performance of some random bit generators.
+ "ABSL_RANDOM_HWAES_ARM64_FLAGS": ["-march=armv8-a+crypto"],
+ "ABSL_RANDOM_HWAES_ARM32_FLAGS": ["-mfpu=neon"],
+- "ABSL_RANDOM_HWAES_X64_FLAGS": [
+- "-maes",
+- "-msse4.1",
+- ],
+ "ABSL_RANDOM_HWAES_MSVC_X64_FLAGS": [
+ "/O2", # Maximize speed
+ "/Ob2", # Aggressive inlining
+--
+2.23.0
+
diff --git a/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-absl-always-use-asm-sgidefs.h.patch b/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-absl-always-use-asm-sgidefs.h.patch
new file mode 100644
index 000000000..6bb59d933
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-absl-always-use-asm-sgidefs.h.patch
@@ -0,0 +1,38 @@
+From 14229e8c6f42a96e4d725124193ceefa54e5e1a4 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 9 Apr 2020 13:06:27 -0700
+Subject: [PATCH] absl: always use <asm/sgidefs.h>
+
+Fixes mips/musl build, since sgidefs.h is not present on all C libraries
+but on linux asm/sgidefs.h is there and contains same definitions, using
+that makes it portable.
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ absl/base/internal/direct_mmap.h | 6 +-----
+ 1 file changed, 1 insertion(+), 5 deletions(-)
+
+diff --git a/absl/base/internal/direct_mmap.h b/absl/base/internal/direct_mmap.h
+index 2e5e422..c515325 100644
+--- a/absl/base/internal/direct_mmap.h
++++ b/absl/base/internal/direct_mmap.h
+@@ -41,13 +41,9 @@
+
+ #ifdef __mips__
+ // Include definitions of the ABI currently in use.
+-#ifdef __BIONIC__
+-// Android doesn't have sgidefs.h, but does have asm/sgidefs.h, which has the
++// bionic/musl C libs don't have sgidefs.h, but do have asm/sgidefs.h, which has the
+ // definitions we need.
+ #include <asm/sgidefs.h>
+-#else
+-#include <sgidefs.h>
+-#endif // __BIONIC__
+ #endif // __mips__
+
+ // SYS_mmap and SYS_munmap are not defined in Android.
+--
+2.26.0
+
diff --git a/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0002-Add-forgotten-ABSL_HAVE_VDSO_SUPPORT-conditional.patch b/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0002-Add-forgotten-ABSL_HAVE_VDSO_SUPPORT-conditional.patch
new file mode 100644
index 000000000..fab4a738e
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0002-Add-forgotten-ABSL_HAVE_VDSO_SUPPORT-conditional.patch
@@ -0,0 +1,35 @@
+From 9384735383a0b8688e3f05ed23a53f18863eae20 Mon Sep 17 00:00:00 2001
+From: Sinan Kaya <sinan.kaya@microsoft.com>
+Date: Tue, 11 Feb 2020 11:36:00 -0500
+Subject: [PATCH] Add forgotten ABSL_HAVE_VDSO_SUPPORT conditional
+
+Signed-off-by: Sinan Kaya <sinan.kaya@microsoft.com>
+---
+ absl/debugging/internal/stacktrace_x86-inl.inc | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/absl/debugging/internal/stacktrace_x86-inl.inc b/absl/debugging/internal/stacktrace_x86-inl.inc
+index ff0fd31..28607c3 100644
+--- a/absl/debugging/internal/stacktrace_x86-inl.inc
++++ b/absl/debugging/internal/stacktrace_x86-inl.inc
+@@ -171,6 +171,7 @@ static void **NextStackFrame(void **old_fp, const void *uc) {
+ static const unsigned char *kernel_rt_sigreturn_address = nullptr;
+ static const unsigned char *kernel_vsyscall_address = nullptr;
+ if (num_push_instructions == -1) {
++#ifdef ABSL_HAVE_VDSO_SUPPORT
+ absl::debugging_internal::VDSOSupport vdso;
+ if (vdso.IsPresent()) {
+ absl::debugging_internal::VDSOSupport::SymbolInfo
+@@ -199,6 +200,9 @@ static void **NextStackFrame(void **old_fp, const void *uc) {
+ } else {
+ num_push_instructions = 0;
+ }
++#else
++ num_push_instructions = 0;
++#endif
+ }
+ if (num_push_instructions != 0 && kernel_rt_sigreturn_address != nullptr &&
+ old_fp[1] == kernel_rt_sigreturn_address) {
+--
+2.20.1.windows.1
+
diff --git a/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0003-Add-fPIC-option.patch b/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0003-Add-fPIC-option.patch
new file mode 100644
index 000000000..bb78813a7
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0003-Add-fPIC-option.patch
@@ -0,0 +1,27 @@
+From d7160d647c8f8847f3ea8d7b0eb222936962c1af Mon Sep 17 00:00:00 2001
+From: Sinan Kaya <sinan.kaya@microsoft.com>
+Date: Tue, 11 Feb 2020 11:58:02 -0500
+Subject: [PATCH] Add fPIC option
+
+Signed-off-by: Sinan Kaya <sinan.kaya@microsoft.com>
+---
+ CMakeLists.txt | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 74a3a4c..4f837b3 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -79,6 +79,9 @@ option(ABSL_USE_GOOGLETEST_HEAD
+
+ option(ABSL_RUN_TESTS "If ON, Abseil tests will be run." OFF)
+
++# link fails on arm64 and x86-64 without this
++add_compile_options(-fPIC)
++
+ if(${ABSL_RUN_TESTS})
+ # enable CTest. This will set BUILD_TESTING to ON unless otherwise specified
+ # on the command line
+--
+2.20.1.windows.1
+
diff --git a/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb b/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb
new file mode 100644
index 000000000..e874e4a5e
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb
@@ -0,0 +1,58 @@
+SUMMARY = "Abseil is a cpp library like STL"
+DESCRIPTION = "Abseil provides pieces missing from the C++ standard. Contains \
+additional useful libraries like algorithm, container, debugging, hash, memory, \
+meta, numeric, strings, synchronization, time, types and utility"
+HOMEPAGE = "https://abseil.io/"
+SECTION = "libs"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=df52c6edb7adc22e533b2bacc3bd3915"
+
+PV = "20190808+git${SRCPV}"
+SRCREV = "aa844899c937bde5d2b24f276b59997e5b668bde"
+BRANCH = "lts_2019_08_08"
+SRC_URI = "git://github.com/abseil/abseil-cpp;branch=${BRANCH} \
+ file://0001-Remove-maes-option-from-cross-compilation.patch \
+ file://0002-Add-forgotten-ABSL_HAVE_VDSO_SUPPORT-conditional.patch \
+ file://0003-Add-fPIC-option.patch \
+ file://0001-Add-RISCV-support-to-GetProgramCounter.patch \
+ file://0001-absl-always-use-asm-sgidefs.h.patch \
+ file://0001-Fix-build-on-riscv32.patch \
+ "
+
+S = "${WORKDIR}/git"
+
+DEPENDS_append_libc-musl = " libexecinfo "
+
+ASNEEDED_class-native = ""
+ASNEEDED_class-nativesdk = ""
+
+inherit cmake
+
+BBCLASSEXTEND = "native nativesdk"
+ALLOW_EMPTY_${PN} = "1"
+
+python () {
+ arch = d.getVar("TARGET_ARCH")
+
+ if arch == "aarch64":
+ tunes = d.getVar("TUNE_FEATURES")
+ if not tunes:
+ raise bb.parse.SkipPackage("%s-%s Needs support for crypto on armv8" % (pkgn, pkgv))
+ return
+ pkgn = d.getVar("PN")
+ pkgv = d.getVar("PV")
+ if "crypto" not in tunes:
+ raise bb.parse.SkipPackage("%s-%s Needs support for crypto on armv8" % (pkgn, pkgv))
+
+ if arch == "x86_64":
+ tunes = d.getVar("TUNE_FEATURES")
+ if not tunes:
+ raise bb.parse.SkipPackage("%s-%s Needs support for corei7 on x86_64" % (pkgn, pkgv))
+ return
+ pkgn = d.getVar("PN")
+ pkgv = d.getVar("PV")
+ if "corei7" not in tunes:
+ raise bb.parse.SkipPackage("%s-%s Needs support for corei7 on x86_64" % (pkgn, pkgv))
+
+}
+
diff --git a/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/build/0001-Riscv-Add-risc-v-Android-config-header.patch b/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/build/0001-Riscv-Add-risc-v-Android-config-header.patch
new file mode 100644
index 000000000..57c443b70
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/build/0001-Riscv-Add-risc-v-Android-config-header.patch
@@ -0,0 +1,359 @@
+From 82dce13ea7b5b31c63851bd67f66072413917e73 Mon Sep 17 00:00:00 2001
+From: Chenxi Mao <maochenxi@eswin.com>
+Date: Mon, 20 Apr 2020 15:32:40 +0800
+Subject: [PATCH 1/1] Riscv: Add risc-v Android config header
+
+---
+ .../arch/linux-riscv64/AndroidConfig.h | 340 ++++++++++++++++++
+ 1 file changed, 340 insertions(+)
+ create mode 100644 core/combo/include/arch/linux-riscv64/AndroidConfig.h
+
+diff --git a/core/combo/include/arch/linux-riscv64/AndroidConfig.h b/core/combo/include/arch/linux-riscv64/AndroidConfig.h
+new file mode 100644
+index 0000000000..bcbda8f87f
+--- /dev/null
++++ b/core/combo/include/arch/linux-riscv64/AndroidConfig.h
+@@ -0,0 +1,340 @@
++/*
++ * Copyright (C) 2013 The Android Open Source Project
++ *
++ * Licensed under the Apache License, Version 2.0 (the "License");
++ * you may not use this file except in compliance with the License.
++ * You may obtain a copy of the License at
++ *
++ * http://www.apache.org/licenses/LICENSE-2.0
++ *
++ * Unless required by applicable law or agreed to in writing, software
++ * distributed under the License is distributed on an "AS IS" BASIS,
++ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
++ * See the License for the specific language governing permissions and
++ * limitations under the License.
++ */
++
++/*
++ * Android config -- "android-aarch64". Used for ARM aarch64 device builds.
++ */
++#ifndef _ANDROID_CONFIG_H
++#define _ANDROID_CONFIG_H
++
++/*
++ * ===========================================================================
++ * !!! IMPORTANT !!!
++ * ===========================================================================
++ *
++ * This file is included by ALL C/C++ source files. Don't put anything in
++ * here unless you are absolutely certain it can't go anywhere else.
++ *
++ * Any C++ stuff must be wrapped with "#ifdef __cplusplus". Do not use "//"
++ * comments.
++ */
++
++/*
++ * Threading model. Choose one:
++ *
++ * HAVE_PTHREADS - use the pthreads library.
++ * HAVE_WIN32_THREADS - use Win32 thread primitives.
++ * -- combine HAVE_CREATETHREAD, HAVE_CREATEMUTEX, and HAVE__BEGINTHREADEX
++ */
++#define HAVE_PTHREADS
++
++/*
++ * Do we have pthread_setname_np()?
++ *
++ * (HAVE_PTHREAD_SETNAME_NP is used by WebKit to enable a function with
++ * the same name but different parameters, so we can't use that here.)
++ */
++#define HAVE_ANDROID_PTHREAD_SETNAME_NP
++
++/*
++ * Do we have the futex syscall?
++ */
++#define HAVE_FUTEX
++
++/*
++ * Process creation model. Choose one:
++ *
++ * HAVE_FORKEXEC - use fork() and exec()
++ * HAVE_WIN32_PROC - use CreateProcess()
++ */
++#define HAVE_FORKEXEC
++
++/*
++ * Process out-of-memory adjustment. Set if running on Linux,
++ * where we can write to /proc/<pid>/oom_adj to modify the out-of-memory
++ * badness adjustment.
++ */
++#define HAVE_OOM_ADJ
++
++/*
++ * IPC model. Choose one:
++ *
++ * HAVE_SYSV_IPC - use the classic SysV IPC mechanisms (semget, shmget).
++ * HAVE_MACOSX_IPC - use Macintosh IPC mechanisms (sem_open, mmap).
++ * HAVE_WIN32_IPC - use Win32 IPC (CreateSemaphore, CreateFileMapping).
++ * HAVE_ANDROID_IPC - use Android versions (?, mmap).
++ */
++#define HAVE_ANDROID_IPC
++
++/*
++ * Memory-mapping model. Choose one:
++ *
++ * HAVE_POSIX_FILEMAP - use the Posix sys/mmap.h
++ * HAVE_WIN32_FILEMAP - use Win32 filemaps
++ */
++#define HAVE_POSIX_FILEMAP
++
++/*
++ * Define this if you have <termio.h>
++ */
++#define HAVE_TERMIO_H 1
++
++/*
++ * Define this if you have <sys/sendfile.h>
++ */
++#define HAVE_SYS_SENDFILE_H 1
++
++/*
++ * Define this if you build against MSVCRT.DLL
++ */
++/* #define HAVE_MS_C_RUNTIME */
++
++/*
++ * Define this if you have sys/uio.h
++ */
++#define HAVE_SYS_UIO_H 1
++
++/*
++ * Define this if your platforms implements symbolic links
++ * in its filesystems
++ */
++#define HAVE_SYMLINKS
++
++/*
++ * Define this if we have localtime_r().
++ */
++/* #define HAVE_LOCALTIME_R 1 */
++
++/*
++ * Define this if we have gethostbyname_r().
++ */
++/* #define HAVE_GETHOSTBYNAME_R */
++
++/*
++ * Define this if we have ioctl().
++ */
++#define HAVE_IOCTL
++
++/*
++ * Define this if we want to use WinSock.
++ */
++/* #define HAVE_WINSOCK */
++
++/*
++ * Define this if have clock_gettime() and friends
++ */
++#define HAVE_POSIX_CLOCKS
++
++/*
++ * Define this if we have linux style epoll()
++ */
++#define HAVE_EPOLL
++
++/*
++ * Endianness of the target machine. Choose one:
++ *
++ * HAVE_ENDIAN_H -- have endian.h header we can include.
++ * HAVE_LITTLE_ENDIAN -- we are little endian.
++ * HAVE_BIG_ENDIAN -- we are big endian.
++ */
++#define HAVE_ENDIAN_H
++#define HAVE_LITTLE_ENDIAN
++
++#define _FILE_OFFSET_BITS 64
++/* #define _LARGEFILE_SOURCE 1 */
++
++/*
++ * Define if platform has off64_t (and lseek64 and other xxx64 functions)
++ */
++#define HAVE_OFF64_T
++
++/*
++ * Defined if we have the backtrace() call for retrieving a stack trace.
++ * Needed for CallStack to operate; if not defined, CallStack is
++ * non-functional.
++ */
++#define HAVE_BACKTRACE 0
++
++/*
++ * Defined if we have the cxxabi.h header for demangling C++ symbols. If
++ * not defined, stack crawls will be displayed with raw mangled symbols
++ */
++#define HAVE_CXXABI 0
++
++/*
++ * Defined if we have the gettid() system call.
++ */
++#define HAVE_GETTID
++
++/*
++ * Defined if we have the sched_setscheduler() call
++ */
++#define HAVE_SCHED_SETSCHEDULER
++
++/*
++ * Add any extra platform-specific defines here.
++ */
++#ifndef __linux__
++#define __linux__
++#endif
++
++/*
++ * Define if we have <malloc.h> header
++ */
++#define HAVE_MALLOC_H
++
++/*
++ * Define if we're running on *our* linux on device or emulator.
++ */
++#define HAVE_ANDROID_OS 1
++
++/*
++ * Define if we have Linux-style non-filesystem Unix Domain Sockets
++ */
++#define HAVE_LINUX_LOCAL_SOCKET_NAMESPACE 1
++
++/*
++ * Define if we have Linux's inotify in <sys/inotify.h>.
++ */
++#define HAVE_INOTIFY 1
++
++/*
++ * Define if we have madvise() in <sys/mman.h>
++ */
++#define HAVE_MADVISE 1
++
++/*
++ * Define if tm struct has tm_gmtoff field
++ */
++#define HAVE_TM_GMTOFF 1
++
++/*
++ * Define if dirent struct has d_type field
++ */
++#define HAVE_DIRENT_D_TYPE 1
++
++/*
++ * Define if libc includes Android system properties implementation.
++ */
++#define HAVE_LIBC_SYSTEM_PROPERTIES 1
++
++/*
++ * Define if system provides a system property server (should be
++ * mutually exclusive with HAVE_LIBC_SYSTEM_PROPERTIES).
++ */
++/* #define HAVE_SYSTEM_PROPERTY_SERVER */
++
++/*
++ * What CPU architecture does this platform use?
++ */
++#define ARCH_AARCH64
++
++/*
++ * Define if the size of enums is as short as possible,
++ */
++/* #define HAVE_SHORT_ENUMS */
++
++/*
++ * sprintf() format string for shared library naming.
++ */
++#define OS_SHARED_LIB_FORMAT_STR "lib%s.so"
++
++/*
++ * type for the third argument to mincore().
++ */
++#define MINCORE_POINTER_TYPE unsigned char *
++
++/*
++ * The default path separator for the platform
++ */
++#define OS_PATH_SEPARATOR '/'
++
++/*
++ * Is the filesystem case sensitive?
++ */
++#define OS_CASE_SENSITIVE
++
++/*
++ * Define if <sys/socket.h> exists.
++ */
++#define HAVE_SYS_SOCKET_H 1
++
++/*
++ * Define if the strlcpy() function exists on the system.
++ */
++#define HAVE_STRLCPY 1
++
++/*
++ * Define if the open_memstream() function exists on the system.
++ */
++/* #define HAVE_OPEN_MEMSTREAM 1 */
++
++/*
++ * Define if the BSD funopen() function exists on the system.
++ */
++#define HAVE_FUNOPEN 1
++
++/*
++ * Define if prctl() exists
++ */
++#define HAVE_PRCTL 1
++
++/*
++ * Define if writev() exists
++ */
++#define HAVE_WRITEV 1
++
++/*
++ * Define if <stdint.h> exists.
++ */
++#define HAVE_STDINT_H 1
++
++/*
++ * Define if <stdbool.h> exists.
++ */
++#define HAVE_STDBOOL_H 1
++
++/*
++ * Define if <sched.h> exists.
++ */
++#define HAVE_SCHED_H 1
++
++/*
++ * Define if pread() exists
++ */
++#define HAVE_PREAD 1
++
++/*
++ * Define if we have st_mtim in struct stat
++ */
++#define HAVE_STAT_ST_MTIM 1
++
++/*
++ * Define if printf() supports %zd for size_t arguments
++ */
++#define HAVE_PRINTF_ZD 1
++
++/*
++ * Define to 1 if <stdlib.h> provides qsort_r() with a BSD style function prototype.
++ */
++#define HAVE_BSD_QSORT_R 0
++
++/*
++ * Define to 1 if <stdlib.h> provides qsort_r() with a GNU style function prototype.
++ */
++#define HAVE_GNU_QSORT_R 0
++
++#endif /* _ANDROID_CONFIG_H */
+--
+2.17.1
+
diff --git a/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/core/0013-adb-Support-riscv64.patch b/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/core/0013-adb-Support-riscv64.patch
new file mode 100644
index 000000000..a8434afba
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/core/0013-adb-Support-riscv64.patch
@@ -0,0 +1,189 @@
+From 48ddf4fb999931942c359350fb31cd557514e1c6 Mon Sep 17 00:00:00 2001
+From: Chenxi Mao <maochenxi@eswin.com>
+Date: Mon, 20 Apr 2020 15:27:22 +0800
+Subject: [PATCH 1/1] adb: Support riscv64
+
+---
+ include/cutils/atomic-inline.h | 2 +
+ include/cutils/atomic-riscv64.h | 156 ++++++++++++++++++++++++++++++++
+ 2 files changed, 158 insertions(+)
+ create mode 100644 include/cutils/atomic-riscv64.h
+
+diff --git a/include/cutils/atomic-inline.h b/include/cutils/atomic-inline.h
+index a31e913579..b5dc38209c 100644
+--- a/include/cutils/atomic-inline.h
++++ b/include/cutils/atomic-inline.h
+@@ -55,6 +55,8 @@ extern "C" {
+ #include <cutils/atomic-mips64.h>
+ #elif defined(__mips__)
+ #include <cutils/atomic-mips.h>
++#elif defined(__riscv) && __riscv_xlen == 64
++#include <cutils/atomic-riscv64.h>
+ #else
+ #error atomic operations are unsupported
+ #endif
+diff --git a/include/cutils/atomic-riscv64.h b/include/cutils/atomic-riscv64.h
+new file mode 100644
+index 0000000000..2664db5a86
+--- /dev/null
++++ b/include/cutils/atomic-riscv64.h
+@@ -0,0 +1,156 @@
++/*
++ * Copyright (C) 2014 The Android Open Source Project
++ * All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ * * Redistributions of source code must retain the above copyright
++ * notice, this list of conditions and the following disclaimer.
++ * * Redistributions in binary form must reproduce the above copyright
++ * notice, this list of conditions and the following disclaimer in
++ * the documentation and/or other materials provided with the
++ * distribution.
++ *
++ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
++ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
++ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
++ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
++ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
++ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
++ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
++ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
++ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
++ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
++ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
++ * SUCH DAMAGE.
++ */
++
++#ifndef ANDROID_CUTILS_ATOMIC_RISCV64_H
++#define ANDROID_CUTILS_ATOMIC_RISCV64_H
++
++#include <stdint.h>
++
++#ifndef ANDROID_ATOMIC_INLINE
++#define ANDROID_ATOMIC_INLINE inline __attribute__((always_inline))
++#endif
++
++/*
++ TODOAArch64: Revisit the below functions and check for potential
++ optimizations using assembly code or otherwise.
++*/
++
++extern ANDROID_ATOMIC_INLINE
++void android_compiler_barrier(void)
++{
++ __asm__ __volatile__ ("" : : : "memory");
++}
++
++extern ANDROID_ATOMIC_INLINE
++void android_memory_barrier(void)
++{
++ __asm__ __volatile__ ("fence rw,rw" : : : "memory");
++}
++
++extern ANDROID_ATOMIC_INLINE
++int32_t android_atomic_acquire_load(volatile const int32_t *ptr)
++{
++ int32_t value = *ptr;
++ android_memory_barrier();
++ return value;
++}
++
++extern ANDROID_ATOMIC_INLINE
++int32_t android_atomic_release_load(volatile const int32_t *ptr)
++{
++ android_memory_barrier();
++ return *ptr;
++}
++
++extern ANDROID_ATOMIC_INLINE
++void android_atomic_acquire_store(int32_t value, volatile int32_t *ptr)
++{
++ *ptr = value;
++ android_memory_barrier();
++}
++
++extern ANDROID_ATOMIC_INLINE
++void android_atomic_release_store(int32_t value, volatile int32_t *ptr)
++{
++ android_memory_barrier();
++ *ptr = value;
++}
++
++extern ANDROID_ATOMIC_INLINE
++int android_atomic_cas(int32_t old_value, int32_t new_value,
++ volatile int32_t *ptr)
++{
++ return __sync_val_compare_and_swap(ptr, old_value, new_value) != old_value;
++}
++
++extern ANDROID_ATOMIC_INLINE
++int android_atomic_acquire_cas(int32_t old_value, int32_t new_value,
++ volatile int32_t *ptr)
++{
++ int status = android_atomic_cas(old_value, new_value, ptr);
++ android_memory_barrier();
++ return status;
++}
++
++extern ANDROID_ATOMIC_INLINE
++int android_atomic_release_cas(int32_t old_value, int32_t new_value,
++ volatile int32_t *ptr)
++{
++ android_memory_barrier();
++ return android_atomic_cas(old_value, new_value, ptr);
++}
++
++extern ANDROID_ATOMIC_INLINE
++int32_t android_atomic_add(int32_t increment, volatile int32_t *ptr)
++{
++ int32_t prev, status;
++ android_memory_barrier();
++ do {
++ prev = *ptr;
++ status = android_atomic_cas(prev, prev + increment, ptr);
++ } while (__builtin_expect(status != 0, 0));
++ return prev;
++}
++
++extern ANDROID_ATOMIC_INLINE
++int32_t android_atomic_inc(volatile int32_t *addr)
++{
++ return android_atomic_add(1, addr);
++}
++
++extern ANDROID_ATOMIC_INLINE
++int32_t android_atomic_dec(volatile int32_t *addr)
++{
++ return android_atomic_add(-1, addr);
++}
++
++extern ANDROID_ATOMIC_INLINE
++int32_t android_atomic_and(int32_t value, volatile int32_t *ptr)
++{
++ int32_t prev, status;
++ android_memory_barrier();
++ do {
++ prev = *ptr;
++ status = android_atomic_cas(prev, prev & value, ptr);
++ } while (__builtin_expect(status != 0, 0));
++ return prev;
++}
++
++extern ANDROID_ATOMIC_INLINE
++int32_t android_atomic_or(int32_t value, volatile int32_t *ptr)
++{
++ int32_t prev, status;
++ android_memory_barrier();
++ do {
++ prev = *ptr;
++ status = android_atomic_cas(prev, prev | value, ptr);
++ } while (__builtin_expect(status != 0, 0));
++ return prev;
++}
++
++#endif /* ANDROID_CUTILS_ATOMIC_RISCV_H */
+--
+2.17.1
+
diff --git a/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb b/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb
index c0d08db17..fb6125e2a 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb
@@ -38,11 +38,13 @@ SRC_URI = " \
file://core/0011-Remove-bionic-specific-calls.patch;patchdir=system/core \
file://core/0012-Fix-implicit-declaration-of-stlcat-strlcopy-function.patch;patchdir=system/core \
file://core/adb_libssl_11.diff;patchdir=system/core \
+ file://core/0013-adb-Support-riscv64.patch;patchdir=system/core \
file://extras/0001-ext4_utils-remove-selinux-extensions.patch;patchdir=system/extras \
file://extras/0002-ext4_utils-add-o-argument-to-preserve-ownership.patch;patchdir=system/extras \
file://libselinux/0001-Remove-bionic-specific-calls.patch;patchdir=external/libselinux \
file://libselinux/0001-libselinux-Do-not-define-gettid-if-glibc-2.30-is-use.patch;patchdir=external/libselinux \
file://android-tools-adbd.service \
+ file://build/0001-Riscv-Add-risc-v-Android-config-header.patch;patchdir=build \
file://gitignore \
file://adb.mk;subdir=${BPN} \
file://adbd.mk;subdir=${BPN} \
@@ -61,6 +63,7 @@ ARM_INSTRUCTION_SET_armv5 = "arm"
COMPATIBLE_HOST_powerpc = "(null)"
COMPATIBLE_HOST_powerpc64 = "(null)"
+COMPATIBLE_HOST_powerpc64le = "(null)"
inherit systemd
@@ -93,6 +96,9 @@ do_compile() {
aarch64)
export android_arch=linux-arm64
;;
+ riscv64)
+ export android_arch=linux-riscv64
+ ;;
mips|mipsel)
export android_arch=linux-mips
;;
diff --git a/meta-openembedded/meta-oe/recipes-devtools/autoconf-2.13/autoconf-2.13-native_2.13.bb b/meta-openembedded/meta-oe/recipes-devtools/autoconf-2.13/autoconf-2.13-native_2.13.bb
new file mode 100644
index 000000000..a54a7331d
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/autoconf-2.13/autoconf-2.13-native_2.13.bb
@@ -0,0 +1,67 @@
+SUMMARY = "A GNU tool that produce shell scripts to automatically configure software"
+DESCRIPTION = "Autoconf is an extensible package of M4 macros that produce shell scripts to automatically \
+configure software source code packages. Autoconf creates a configuration script for a package from a template \
+file that lists the operating system features that the package can use, in the form of M4 macro calls."
+SECTION = "devel"
+
+HOMEPAGE = "http://www.gnu.org/software/autoconf/"
+
+LICENSE = "GPLv3"
+LICENSE = "GPLv2 & GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=361b6b837cad26c6900a926b62aada5f"
+
+SRC_URI = " \
+ ${GNU_MIRROR}/autoconf/autoconf-${PV}.tar.gz \
+ file://0001-Add-config.guess-config.sub-install-to-destdir.patch \
+"
+
+S = "${WORKDIR}/${BPN}"
+SRC_URI[md5sum] = "9de56d4a161a723228220b0f425dc711"
+SRC_URI[sha256sum] = "f0611136bee505811e9ca11ca7ac188ef5323a8e2ef19cffd3edb3cf08fd791e"
+
+inherit native texinfo
+
+DEPENDS += "m4-native gnu-config-native"
+RDEPENDS_${PN} = "m4-native gnu-config-native"
+
+PERL = "${USRBINPATH}/perl"
+
+CACHED_CONFIGUREVARS += "ac_cv_path_PERL='${PERL}'"
+
+CONFIGUREOPTS = " \
+ --build=${BUILD_SYS} \
+ --host=${HOST_SYS} \
+ --target=${TARGET_SYS} \
+ --prefix=${prefix} \
+ --exec_prefix=${exec_prefix} \
+ --bindir=${bindir} \
+ --sbindir=${sbindir} \
+ --libexecdir=${libexecdir} \
+ --datadir=${datadir} \
+ --sysconfdir=${sysconfdir} \
+ --sharedstatedir=${sharedstatedir} \
+ --localstatedir=${localstatedir} \
+ --libdir=${libdir} \
+ --includedir=${includedir} \
+ --oldincludedir=${oldincludedir} \
+ --infodir=${infodir} \
+ --mandir=${mandir} \
+ --disable-silent-rules \
+"
+
+EXTRA_OECONF += "ac_cv_path_M4=m4 ac_cv_prog_TEST_EMACS=no"
+
+do_configure() {
+ ./configure ${CONFIGUREOPTS}
+}
+
+do_install() {
+ oe_runmake 'DESTDIR=${D}' install
+
+ # avoid conflicts with standard autotools
+ ver="213"
+ for file in `find ${D}${bindir} -type f`; do
+ mv $file $file$ver
+ done
+ mv ${D}${datadir}/autoconf ${D}${datadir}/autoconf213
+}
diff --git a/meta-openembedded/meta-oe/recipes-devtools/autoconf-2.13/autoconf-2.13/0001-Add-config.guess-config.sub-install-to-destdir.patch b/meta-openembedded/meta-oe/recipes-devtools/autoconf-2.13/autoconf-2.13/0001-Add-config.guess-config.sub-install-to-destdir.patch
new file mode 100644
index 000000000..f6e9ecb9a
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/autoconf-2.13/autoconf-2.13/0001-Add-config.guess-config.sub-install-to-destdir.patch
@@ -0,0 +1,67 @@
+From 3d3e23f7b14e87849405a4e109a69b76696615fc Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Wed, 11 Dec 2019 23:18:19 +0100
+Subject: [PATCH] Add config.guess config.sub / install to destdir
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Upstream-Status: Inappropriate [Configuration]
+
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+---
+ Makefile.in | 18 +++++++++---------
+ 1 file changed, 9 insertions(+), 9 deletions(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index a6c94d4..4b1b708 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -137,23 +137,23 @@ installcheck: all install
+ cd testsuite && ${MAKE} AUTOCONF=${bindir}/autoconf $@
+
+ installdirs:
+- $(SHELL) ${srcdir}/mkinstalldirs $(bindir) $(infodir) $(acdatadir)
++ $(SHELL) ${srcdir}/mkinstalldirs ${DESTDIR}$(bindir) ${DESTDIR}$(infodir) ${DESTDIR}$(acdatadir)
+
+ install: all $(M4FILES) acconfig.h installdirs install-info
+ for p in $(ASCRIPTS); do \
+- $(INSTALL_PROGRAM) $$p $(bindir)/`echo $$p|sed '$(transform)'`; \
++ $(INSTALL_PROGRAM) $$p ${DESTDIR}$(bindir)/`echo $$p|sed '$(transform)'`; \
+ done
+ for i in $(M4FROZEN); do \
+- $(INSTALL_DATA) $$i $(acdatadir)/$$i; \
++ $(INSTALL_DATA) $$i ${DESTDIR}$(acdatadir)/$$i; \
+ done
+ for i in $(M4FILES) acconfig.h; do \
+- $(INSTALL_DATA) $(srcdir)/$$i $(acdatadir)/$$i; \
++ $(INSTALL_DATA) $(srcdir)/$$i ${DESTDIR}$(acdatadir)/$$i; \
+ done
+ -if test -f autoscan; then \
+- $(INSTALL_PROGRAM) autoscan $(bindir)/`echo autoscan|sed '$(transform)'`; \
++ $(INSTALL_PROGRAM) autoscan ${DESTDIR}$(bindir)/`echo autoscan|sed '$(transform)'`; \
+ for i in acfunctions acheaders acidentifiers acprograms \
+- acmakevars; do \
+- $(INSTALL_DATA) $(srcdir)/$$i $(acdatadir)/$$i; \
++ acmakevars config.guess config.sub; do \
++ $(INSTALL_DATA) $(srcdir)/$$i ${DESTDIR}$(acdatadir)/$$i; \
+ done; \
+ else :; fi
+
+@@ -161,11 +161,11 @@ install: all $(M4FILES) acconfig.h installdirs install-info
+ install-info: info installdirs
+ if test -f autoconf.info; then \
+ for i in *.info*; do \
+- $(INSTALL_DATA) $$i $(infodir)/$$i; \
++ $(INSTALL_DATA) $$i ${DESTDIR}$(infodir)/$$i; \
+ done; \
+ else \
+ for i in $(srcdir)/*.info*; do \
+- $(INSTALL_DATA) $$i $(infodir)/`echo $$i | sed 's|^$(srcdir)/||'`; \
++ $(INSTALL_DATA) $$i ${DESTDIR}$(infodir)/`echo $$i | sed 's|^$(srcdir)/||'`; \
+ done; \
+ fi
+
+--
+2.21.0
+
diff --git a/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad_git.bb b/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad_git.bb
index ff5acbeac..daf262ed6 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad_git.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad_git.bb
@@ -49,6 +49,8 @@ S = "${WORKDIR}/git"
CXXFLAGS += "-D_GNU_SOURCE"
COMPATIBLE_HOST_powerpc = "null"
+COMPATIBLE_HOST_riscv64 = "null"
+COMPATIBLE_HOST_riscv32 = "null"
do_install_append() {
install -d ${D}${includedir}
diff --git a/meta-openembedded/meta-oe/recipes-devtools/cgdb/cgdb_0.7.1.bb b/meta-openembedded/meta-oe/recipes-devtools/cgdb/cgdb_0.7.1.bb
index 57e364e1c..9d373fc98 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/cgdb/cgdb_0.7.1.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/cgdb/cgdb_0.7.1.bb
@@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
DEPENDS = "flex-native readline ncurses"
-inherit autotools
+inherit autotools texinfo
SRC_URI = "http://cgdb.me/files/${BP}.tar.gz \
file://0001-Avoid-use-of-mips-which-is-reserved-on-mips.patch \
diff --git a/meta-openembedded/meta-oe/recipes-devtools/cjson/cjson_1.7.13.bb b/meta-openembedded/meta-oe/recipes-devtools/cjson/cjson_1.7.13.bb
new file mode 100644
index 000000000..e6174821f
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/cjson/cjson_1.7.13.bb
@@ -0,0 +1,21 @@
+DESCRIPTION = "Ultralightweight JSON parser in ANSI C"
+AUTHOR = "Dave Gamble"
+HOMEPAGE = "https://github.com/DaveGamble/cJSON"
+SECTION = "libs"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=218947f77e8cb8e2fa02918dc41c50d0"
+
+SRC_URI = "git://github.com/DaveGamble/cJSON.git"
+SRCREV = "39853e5148dad8dc5d32ea2b00943cf4a0c6f120"
+
+S = "${WORKDIR}/git"
+
+inherit cmake pkgconfig
+
+EXTRA_OECMAKE += "\
+ -DENABLE_CJSON_UTILS=On \
+ -DENABLE_CUSTOM_COMPILER_FLAGS=OFF \
+ -DBUILD_SHARED_AND_STATIC_LIBS=On \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/cloc/cloc_1.84.bb b/meta-openembedded/meta-oe/recipes-devtools/cloc/cloc_1.84.bb
index f9ecd0ee4..3e46c726c 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/cloc/cloc_1.84.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/cloc/cloc_1.84.bb
@@ -9,6 +9,8 @@ SRC_URI = "https://github.com/AlDanial/cloc/releases/download/${PV}/${BP}.tar.gz
SRC_URI[md5sum] = "a52f3843825377cfa4e4b3b30a567ab4"
SRC_URI[sha256sum] = "c3f0a6bd2319110418ccb3e55a7a1b6d0edfd7528bfd2ae5d530938abe90f254"
+UPSTREAM_CHECK_URI = "https://github.com/AlDanial/${BPN}/releases"
+
do_configure[noexec] = "1"
do_compile[noexec] = "1"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/concurrencykit/concurrencykit_git.bb b/meta-openembedded/meta-oe/recipes-devtools/concurrencykit/concurrencykit_git.bb
index 19767c311..8c6cf7db2 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/concurrencykit/concurrencykit_git.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/concurrencykit/concurrencykit_git.bb
@@ -21,6 +21,7 @@ COMPATIBLE_HOST = "(i.86|x86_64|powerpc|powerpc64).*-linux*"
inherit autotools-brokensep
PLAT_powerpc64 = "ppc64"
+PLAT_powerpc64le = "ppc64"
PLAT ?= "${HOST_ARCH}"
do_configure () {
diff --git a/meta-openembedded/meta-oe/recipes-devtools/cpuid/cpuid_20180519.bb b/meta-openembedded/meta-oe/recipes-devtools/cpuid/cpuid_20200211.bb
index 533a00026..56462a913 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/cpuid/cpuid_20180519.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/cpuid/cpuid_20200211.bb
@@ -8,11 +8,13 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263"
SRC_URI = "http://www.etallen.com/${BPN}/${BP}.src.tar.gz \
"
-SRC_URI[md5sum] = "b3b4e44ef49575043a91def0207dcc76"
-SRC_URI[sha256sum] = "967823be36f23cbc972eb0aa882d069c1d155a5978990ac3bcf425e6a2e7ff9a"
+SRC_URI[md5sum] = "c3dda40aee78bd187929f454a3c75f35"
+SRC_URI[sha256sum] = "a570ca23ce5543fb6974abcbbde0261ea7dbfea40f4e7335b4870274315e521b"
COMPATIBLE_HOST = "(i.86|x86_64).*-linux"
+inherit perlnative
+
# The install rule from the Makefile has hardcoded paths, so we duplicate
# the actions to accommodate different paths.
do_install () {
diff --git a/meta-openembedded/meta-oe/recipes-devtools/dnf-plugin-tui/dnf-plugin-tui_git.bb b/meta-openembedded/meta-oe/recipes-devtools/dnf-plugin-tui/dnf-plugin-tui_git.bb
index a8367b5d9..406494ebb 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/dnf-plugin-tui/dnf-plugin-tui_git.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/dnf-plugin-tui/dnf-plugin-tui_git.bb
@@ -4,8 +4,8 @@ LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
SRC_URI = "git://github.com/ubinux/dnf-plugin-tui.git;branch=master "
-SRCREV = "31d6866d5eda02be9a6bfb1fca9e9095b12eecd1"
-PV = "1.0"
+SRCREV = "c5416adeb210154dc4ccc4c3e1c5297d83ebd41e"
+PV = "1.1"
SRC_URI_append_class-target = "file://oe-remote.repo.sample"
@@ -37,3 +37,4 @@ RDEPENDS_${PN} += " \
"
BBCLASSEXTEND = "nativesdk"
+PNBLACKLIST[dnf-plugin-tui] ?= "${@bb.utils.contains('PACKAGE_CLASSES', 'package_rpm', '', 'does not build correctly without package_rpm in PACKAGE_CLASSES', d)}"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/doxygen/doxygen/doxygen-native-only-check-python3.patch b/meta-openembedded/meta-oe/recipes-devtools/doxygen/doxygen/doxygen-native-only-check-python3.patch
new file mode 100644
index 000000000..a9650c232
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/doxygen/doxygen/doxygen-native-only-check-python3.patch
@@ -0,0 +1,433 @@
+It fails to compile doxygen-native when /usr/bin/python is a link to python3 on
+build host:
+
+| Failed to import the site module
+| Traceback (most recent call last):
+| File "/usr/lib64/python3.6/site.py", line 564, in <module>
+| main()
+| File "/usr/lib64/python3.6/site.py", line 550, in main
+| known_paths = addusersitepackages(known_paths)
+| File "/usr/lib64/python3.6/site.py", line 282, in addusersitepackages
+| user_site = getusersitepackages()
+| File "/usr/lib64/python3.6/site.py", line 258, in getusersitepackages
+| user_base = getuserbase() # this will also set USER_BASE
+| File "/usr/lib64/python3.6/site.py", line 248, in getuserbase
+| USER_BASE = get_config_var('userbase')
+| File "/usr/lib64/python3.6/sysconfig.py", line 604, in get_config_var
+| return get_config_vars().get(name)
+| File "/usr/lib64/python3.6/sysconfig.py", line 553, in get_config_vars
+| _init_posix(_CONFIG_VARS)
+| File "/usr/lib64/python3.6/sysconfig.py", line 424, in _init_posix
+| _temp = __import__(name, globals(), locals(), ['build_time_vars'], 0)
+| ModuleNotFoundError: No module named '_sysconfigdata'
+
+Replace find_package PythonInterp with Python3 to fix this issue that
+it uses python3 from python3-native. And it also replaces the result
+variable PYTHON_EXECUTABLE with Python3_EXECUTABLE.
+
+This patch is only needded by doxygen-native.
+
+Upstream-Status: Inappropriate[oe specific]
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+---
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 969ae58..604400f 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -93,7 +93,7 @@ else ()
+ endif ()
+
+ find_program(DOT NAMES dot)
+-find_package(PythonInterp REQUIRED)
++find_package(Python3 REQUIRED)
+ find_package(FLEX REQUIRED)
+ find_package(BISON REQUIRED)
+ if (BISON_VERSION VERSION_LESS 2.7)
+diff --git a/addon/doxywizard/CMakeLists.txt b/addon/doxywizard/CMakeLists.txt
+index 6aacd8b..fa197e9 100644
+--- a/addon/doxywizard/CMakeLists.txt
++++ b/addon/doxywizard/CMakeLists.txt
+@@ -58,7 +58,7 @@ set_source_files_properties(${GENERATED_SRC_WIZARD}/settings.h PROPERTIES GENERA
+
+ # generate version.cpp
+ add_custom_command(
+- COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/src/version.py ${VERSION} > ${GENERATED_SRC_WIZARD}/version.cpp
++ COMMAND ${Python3_EXECUTABLE} ${CMAKE_SOURCE_DIR}/src/version.py ${VERSION} > ${GENERATED_SRC_WIZARD}/version.cpp
+ DEPENDS ${CMAKE_SOURCE_DIR}/VERSION ${CMAKE_SOURCE_DIR}/src/version.py
+ OUTPUT ${GENERATED_SRC_WIZARD}/version.cpp
+ )
+@@ -66,7 +66,7 @@ set_source_files_properties(${GENERATED_SRC_WIZARD}/version.cpp PROPERTIES GENER
+
+ # generate configdoc.cpp
+ add_custom_command(
+-COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/src/configgen.py -wiz ${CMAKE_SOURCE_DIR}/src/config.xml > ${GENERATED_SRC_WIZARD}/configdoc.cpp
++COMMAND ${Python3_EXECUTABLE} ${CMAKE_SOURCE_DIR}/src/configgen.py -wiz ${CMAKE_SOURCE_DIR}/src/config.xml > ${GENERATED_SRC_WIZARD}/configdoc.cpp
+ OUTPUT ${GENERATED_SRC_WIZARD}/configdoc.cpp
+ )
+ set_source_files_properties(${GENERATED_SRC_WIZARD}/configdoc.cpp PROPERTIES GENERATED 1)
+@@ -74,7 +74,7 @@ set_source_files_properties(${GENERATED_SRC_WIZARD}/configdoc.cpp PROPERTIES GEN
+ set(LEX_FILES config_doxyw)
+ foreach(lex_file ${LEX_FILES})
+ add_custom_command(
+- COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/src/scan_states.py ${CMAKE_SOURCE_DIR}/addon/doxywizard/${lex_file}.l > ${GENERATED_SRC_WIZARD}/${lex_file}.l.h
++ COMMAND ${Python3_EXECUTABLE} ${CMAKE_SOURCE_DIR}/src/scan_states.py ${CMAKE_SOURCE_DIR}/addon/doxywizard/${lex_file}.l > ${GENERATED_SRC_WIZARD}/${lex_file}.l.h
+ DEPENDS ${CMAKE_SOURCE_DIR}/src/scan_states.py ${CMAKE_SOURCE_DIR}/addon/doxywizard/${lex_file}.l
+ OUTPUT ${GENERATED_SRC_WIZARD}/${lex_file}.l.h
+ )
+diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt
+index 032c16a..332f1b2 100644
+--- a/doc/CMakeLists.txt
++++ b/doc/CMakeLists.txt
+@@ -132,7 +132,7 @@ configure_file(${CMAKE_SOURCE_DIR}/doc/doxyindexer.1 ${PROJECT_BINARY_DIR}/
+
+ # doc/language.doc (see tag Doxyfile:INPUT)
+ add_custom_command(
+- COMMAND ${PYTHON_EXECUTABLE} translator.py ${CMAKE_SOURCE_DIR}
++ COMMAND ${Python3_EXECUTABLE} translator.py ${CMAKE_SOURCE_DIR}
+ DEPENDS ${PROJECT_BINARY_DIR}/doc/maintainers.txt ${PROJECT_BINARY_DIR}/doc/language.tpl ${PROJECT_BINARY_DIR}/doc/translator.py
+ OUTPUT language.doc
+ WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/doc
+@@ -141,7 +141,7 @@ set_source_files_properties(language.doc PROPERTIES GENERATED 1)
+
+ # doc/config.doc (see tag Doxyfile:INPUT)
+ add_custom_command(
+- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/src/configgen.py -doc ${TOP}/src/config.xml > config.doc
++ COMMAND ${Python3_EXECUTABLE} ${TOP}/src/configgen.py -doc ${TOP}/src/config.xml > config.doc
+ DEPENDS ${TOP}/src/config.xml ${TOP}/src/configgen.py
+ OUTPUT config.doc
+ WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/doc/
+@@ -192,7 +192,7 @@ add_custom_target(docs_chm
+ COMMAND ${CMAKE_COMMAND} -E echo " for file in files:" >> ${PROJECT_BINARY_DIR}/chm/doxygen_manual_examples_chm.py
+ COMMAND ${CMAKE_COMMAND} -E echo " if file.endswith('.html') or file.endswith('.png') or file.endswith('.css') or file.endswith('.gif'):" >> ${PROJECT_BINARY_DIR}/chm/doxygen_manual_examples_chm.py
+ COMMAND ${CMAKE_COMMAND} -E echo " print(os.path.join(root, file))" >> ${PROJECT_BINARY_DIR}/chm/doxygen_manual_examples_chm.py
+- COMMAND ${CMAKE_COMMAND} -E chdir ${PROJECT_BINARY_DIR}/chm ${PYTHON_EXECUTABLE} ${PROJECT_BINARY_DIR}/chm/doxygen_manual_examples_chm.py >> ${PROJECT_BINARY_DIR}/chm/doxygen_manual.hhp
++ COMMAND ${CMAKE_COMMAND} -E chdir ${PROJECT_BINARY_DIR}/chm ${Python3_EXECUTABLE} ${PROJECT_BINARY_DIR}/chm/doxygen_manual_examples_chm.py >> ${PROJECT_BINARY_DIR}/chm/doxygen_manual.hhp
+ COMMAND ${CMAKE_COMMAND} -E chdir ${PROJECT_BINARY_DIR}/chm "${HTML_HELP_COMPILER}" doxygen_manual.hhp || echo > nul
+ COMMAND ${CMAKE_COMMAND} -E rename ${PROJECT_BINARY_DIR}/chm/index.chm ${PROJECT_BINARY_DIR}/chm/doxygen_manual.chm
+ DEPENDS ${PROJECT_BINARY_DIR}/doc/language.doc ${PROJECT_BINARY_DIR}/doc/config.doc
+diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt
+index 967f3d4..a8d1aad 100644
+--- a/examples/CMakeLists.txt
++++ b/examples/CMakeLists.txt
+@@ -52,196 +52,196 @@ add_custom_target(examples
+
+ add_custom_command(
+ COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen class.cfg
+- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/class/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/class/latex/refman_doc.tex
++ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/class/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/class/latex/refman_doc.tex
+ DEPENDS doxygen class.h class.cfg ${TOP}/examples/strip_example.py
+ OUTPUT ${PROJECT_BINARY_DIR}/html/examples/class/html/index.html ${PROJECT_BINARY_DIR}/html/examples/class/latex/refman_doc.tex
+ )
+
+ add_custom_command(
+ COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen define.cfg
+- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/define/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/define/latex/refman_doc.tex
++ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/define/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/define/latex/refman_doc.tex
+ DEPENDS doxygen define.h define.cfg ${TOP}/examples/strip_example.py
+ OUTPUT ${PROJECT_BINARY_DIR}/html/examples/define/html/index.html ${PROJECT_BINARY_DIR}/html/examples/define/latex/refman_doc.tex
+ )
+
+ add_custom_command(
+ COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen enum.cfg
+- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/enum/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/enum/latex/refman_doc.tex
++ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/enum/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/enum/latex/refman_doc.tex
+ DEPENDS doxygen enum.h enum.cfg ${TOP}/examples/strip_example.py
+ OUTPUT ${PROJECT_BINARY_DIR}/html/examples/enum/html/index.html ${PROJECT_BINARY_DIR}/html/examples/enum/latex/refman_doc.tex
+ )
+
+ add_custom_command(
+ COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen file.cfg
+- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/file/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/file/latex/refman_doc.tex
++ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/file/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/file/latex/refman_doc.tex
+ DEPENDS doxygen file.h file.cfg ${TOP}/examples/strip_example.py
+ OUTPUT ${PROJECT_BINARY_DIR}/html/examples/file/html/index.html ${PROJECT_BINARY_DIR}/html/examples/file/latex/refman_doc.tex
+ )
+
+ add_custom_command(
+ COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen func.cfg
+- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/func/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/func/latex/refman_doc.tex
++ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/func/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/func/latex/refman_doc.tex
+ DEPENDS doxygen func.h func.cfg ${TOP}/examples/strip_example.py
+ OUTPUT ${PROJECT_BINARY_DIR}/html/examples/func/html/index.html ${PROJECT_BINARY_DIR}/html/examples/func/latex/refman_doc.tex
+ )
+
+ add_custom_command(
+ COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen javadoc-banner.cfg
+- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/javadoc-banner/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/javadoc-banner/latex/refman_doc.tex
++ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/javadoc-banner/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/javadoc-banner/latex/refman_doc.tex
+ DEPENDS doxygen javadoc-banner.h javadoc-banner.cfg ${TOP}/examples/strip_example.py
+ OUTPUT ${PROJECT_BINARY_DIR}/html/examples/javadoc-banner/html/index.html ${PROJECT_BINARY_DIR}/html/examples/javadoc-banner/latex/refman_doc.tex
+ )
+
+ add_custom_command(
+ COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen page.cfg
+- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/page/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/page/latex/refman_doc.tex
++ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/page/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/page/latex/refman_doc.tex
+ DEPENDS doxygen page.doc page.cfg ${TOP}/examples/strip_example.py
+ OUTPUT ${PROJECT_BINARY_DIR}/html/examples/page/html/index.html ${PROJECT_BINARY_DIR}/html/examples/page/latex/refman_doc.tex
+ )
+
+ add_custom_command(
+ COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen relates.cfg
+- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/relates/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/relates/latex/refman_doc.tex
++ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/relates/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/relates/latex/refman_doc.tex
+ DEPENDS doxygen relates.cpp relates.cfg ${TOP}/examples/strip_example.py
+ OUTPUT ${PROJECT_BINARY_DIR}/html/examples/relates/html/index.html ${PROJECT_BINARY_DIR}/html/examples/relates/latex/refman_doc.tex
+ )
+
+ add_custom_command(
+ COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen author.cfg
+- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/author/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/author/latex/refman_doc.tex
++ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/author/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/author/latex/refman_doc.tex
+ DEPENDS doxygen author.cpp author.cfg ${TOP}/examples/strip_example.py
+ OUTPUT ${PROJECT_BINARY_DIR}/html/examples/author/html/index.html ${PROJECT_BINARY_DIR}/html/examples/author/latex/refman_doc.tex
+ )
+
+ add_custom_command(
+ COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen par.cfg
+- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/par/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/par/latex/refman_doc.tex
++ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/par/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/par/latex/refman_doc.tex
+ DEPENDS doxygen par.cpp par.cfg ${TOP}/examples/strip_example.py
+ OUTPUT ${PROJECT_BINARY_DIR}/html/examples/par/html/index.html ${PROJECT_BINARY_DIR}/html/examples/par/latex/refman_doc.tex
+ )
+
+ add_custom_command(
+ COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen overload.cfg
+- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/overload/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/overload/latex/refman_doc.tex
++ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/overload/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/overload/latex/refman_doc.tex
+ DEPENDS doxygen overload.cpp overload.cfg ${TOP}/examples/strip_example.py
+ OUTPUT ${PROJECT_BINARY_DIR}/html/examples/overload/html/index.html ${PROJECT_BINARY_DIR}/html/examples/overload/latex/refman_doc.tex
+ )
+
+ add_custom_command(
+ COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen example.cfg
+- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/example/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/example/latex/refman_doc.tex
++ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/example/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/example/latex/refman_doc.tex
+ DEPENDS doxygen example.cpp example_test.cpp example.cfg ${TOP}/examples/strip_example.py
+ OUTPUT ${PROJECT_BINARY_DIR}/html/examples/example/html/index.html ${PROJECT_BINARY_DIR}/html/examples/example/latex/refman_doc.tex
+ )
+
+ add_custom_command(
+ COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen include.cfg
+- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/include/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/include/latex/refman_doc.tex
++ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/include/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/include/latex/refman_doc.tex
+ DEPENDS doxygen include.cpp include_test.cpp include.cfg ${TOP}/examples/strip_example.py
+ OUTPUT ${PROJECT_BINARY_DIR}/html/examples/include/html/index.html ${PROJECT_BINARY_DIR}/html/examples/include/latex/refman_doc.tex
+ )
+
+ add_custom_command(
+ COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen qtstyle.cfg
+- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/qtstyle/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/qtstyle/latex/refman_doc.tex
++ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/qtstyle/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/qtstyle/latex/refman_doc.tex
+ DEPENDS doxygen qtstyle.cpp qtstyle.cfg ${TOP}/examples/strip_example.py
+ OUTPUT ${PROJECT_BINARY_DIR}/html/examples/qtstyle/html/index.html ${PROJECT_BINARY_DIR}/html/examples/qtstyle/latex/refman_doc.tex
+ )
+
+ add_custom_command(
+ COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen jdstyle.cfg
+- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/jdstyle/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/jdstyle/latex/refman_doc.tex
++ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/jdstyle/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/jdstyle/latex/refman_doc.tex
+ DEPENDS doxygen jdstyle.cpp jdstyle.cfg ${TOP}/examples/strip_example.py
+ OUTPUT ${PROJECT_BINARY_DIR}/html/examples/jdstyle/html/index.html ${PROJECT_BINARY_DIR}/html/examples/jdstyle/latex/refman_doc.tex
+ )
+
+ add_custom_command(
+ COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen structcmd.cfg
+- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/structcmd/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/structcmd/latex/refman_doc.tex
++ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/structcmd/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/structcmd/latex/refman_doc.tex
+ DEPENDS doxygen structcmd.h structcmd.cfg ${TOP}/examples/strip_example.py
+ OUTPUT ${PROJECT_BINARY_DIR}/html/examples/structcmd/html/index.html ${PROJECT_BINARY_DIR}/html/examples/structcmd/latex/refman_doc.tex
+ )
+
+ add_custom_command(
+ COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen autolink.cfg
+- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/autolink/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/autolink/latex/refman_doc.tex
++ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/autolink/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/autolink/latex/refman_doc.tex
+ DEPENDS doxygen autolink.cpp autolink.cfg ${TOP}/examples/strip_example.py
+ OUTPUT ${PROJECT_BINARY_DIR}/html/examples/autolink/html/index.html ${PROJECT_BINARY_DIR}/html/examples/autolink/latex/refman_doc.tex
+ )
+
+ add_custom_command(
+ COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen tag.cfg
+- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/tag/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/tag/latex/refman_doc.tex
++ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/tag/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/tag/latex/refman_doc.tex
+ DEPENDS doxygen tag.cpp tag.cfg ${PROJECT_BINARY_DIR}/html/examples/example/html/index.html ${TOP}/examples/strip_example.py
+ OUTPUT ${PROJECT_BINARY_DIR}/html/examples/tag/html/index.html ${PROJECT_BINARY_DIR}/html/examples/tag/latex/refman_doc.tex
+ )
+
+ add_custom_command(
+ COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen restypedef.cfg
+- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/restypedef/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/restypedef/latex/refman_doc.tex
++ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/restypedef/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/restypedef/latex/refman_doc.tex
+ DEPENDS doxygen restypedef.cpp restypedef.cfg ${TOP}/examples/strip_example.py
+ OUTPUT ${PROJECT_BINARY_DIR}/html/examples/restypedef/html/index.html ${PROJECT_BINARY_DIR}/html/examples/restypedef/latex/refman_doc.tex
+ )
+
+ add_custom_command(
+ COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen afterdoc.cfg
+- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/afterdoc/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/afterdoc/latex/refman_doc.tex
++ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/afterdoc/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/afterdoc/latex/refman_doc.tex
+ DEPENDS doxygen afterdoc.h afterdoc.cfg ${TOP}/examples/strip_example.py
+ OUTPUT ${PROJECT_BINARY_DIR}/html/examples/afterdoc/html/index.html ${PROJECT_BINARY_DIR}/html/examples/afterdoc/latex/refman_doc.tex
+ )
+
+ add_custom_command(
+ COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen templ.cfg
+- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/template/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/template/latex/refman_doc.tex
++ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/template/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/template/latex/refman_doc.tex
+ DEPENDS doxygen templ.cpp templ.cfg ${TOP}/examples/strip_example.py
+ OUTPUT ${PROJECT_BINARY_DIR}/html/examples/template/html/index.html ${PROJECT_BINARY_DIR}/html/examples/template/latex/refman_doc.tex
+ )
+
+ add_custom_command(
+ COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen group.cfg
+- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/group/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/group/latex/refman_doc.tex
++ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/group/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/group/latex/refman_doc.tex
+ DEPENDS doxygen group.cpp group.cfg ${TOP}/examples/strip_example.py
+ OUTPUT ${PROJECT_BINARY_DIR}/html/examples/group/html/index.html ${PROJECT_BINARY_DIR}/html/examples/group/latex/refman_doc.tex
+ )
+
+ add_custom_command(
+ COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen memgrp.cfg
+- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/memgrp/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/memgrp/latex/refman_doc.tex
++ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/memgrp/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/memgrp/latex/refman_doc.tex
+ DEPENDS doxygen memgrp.cpp memgrp.cfg ${TOP}/examples/strip_example.py
+ OUTPUT ${PROJECT_BINARY_DIR}/html/examples/memgrp/html/index.html ${PROJECT_BINARY_DIR}/html/examples/memgrp/latex/refman_doc.tex
+ )
+
+ add_custom_command(
+ COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen pyexample.cfg
+- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/pyexample/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/pyexample/latex/refman_doc.tex
++ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/pyexample/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/pyexample/latex/refman_doc.tex
+ DEPENDS doxygen pyexample.py pyexample.cfg ${TOP}/examples/strip_example.py
+ OUTPUT ${PROJECT_BINARY_DIR}/html/examples/pyexample/html/index.html ${PROJECT_BINARY_DIR}/html/examples/pyexample/latex/refman_doc.tex
+ )
+
+ add_custom_command(
+ COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen tclexample.cfg
+- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/tclexample/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/tclexample/latex/refman_doc.tex
++ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/tclexample/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/tclexample/latex/refman_doc.tex
+ DEPENDS doxygen tclexample.tcl tclexample.cfg ${TOP}/examples/strip_example.py
+ OUTPUT ${PROJECT_BINARY_DIR}/html/examples/tclexample/html/index.html ${PROJECT_BINARY_DIR}/html/examples/tclexample/latex/refman_doc.tex
+ )
+
+ add_custom_command(
+ COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen mux.cfg
+- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/mux/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/mux/latex/refman_doc.tex
++ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/mux/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/mux/latex/refman_doc.tex
+ DEPENDS doxygen mux.vhdl mux.cfg ${TOP}/examples/strip_example.py
+ OUTPUT ${PROJECT_BINARY_DIR}/html/examples/mux/html/index.html ${PROJECT_BINARY_DIR}/html/examples/mux/latex/refman_doc.tex
+ )
+
+ add_custom_command(
+ COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen manual.cfg
+- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/manual/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/manual/latex/refman_doc.tex
++ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/manual/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/manual/latex/refman_doc.tex
+ DEPENDS doxygen manual.c manual.cfg ${TOP}/examples/strip_example.py
+ OUTPUT ${PROJECT_BINARY_DIR}/html/examples/manual/html/index.html ${PROJECT_BINARY_DIR}/html/examples/manual/latex/refman_doc.tex
+ )
+
+ add_custom_command(
+ COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen docstring.cfg
+- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/docstring/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/docstring/latex/refman_doc.tex
++ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/docstring/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/docstring/latex/refman_doc.tex
+ DEPENDS doxygen docstring.py docstring.cfg ${TOP}/examples/strip_example.py
+ OUTPUT ${PROJECT_BINARY_DIR}/html/examples/docstring/html/index.html ${PROJECT_BINARY_DIR}/html/examples/docstring/latex/refman_doc.tex
+ )
+@@ -249,7 +249,7 @@ add_custom_command(
+ if (DOT)
+ add_custom_command(
+ COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen diagrams.cfg
+- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/diagrams/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/diagrams/latex/refman_doc.tex
++ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/diagrams/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/diagrams/latex/refman_doc.tex
+ DEPENDS doxygen diagrams_a.h diagrams_b.h diagrams_c.h diagrams_d.h diagrams_e.h diagrams.cfg ${TOP}/examples/strip_example.py
+ OUTPUT ${PROJECT_BINARY_DIR}/html/examples/diagrams/html/index.html ${PROJECT_BINARY_DIR}/html/examples/diagrams/latex/refman_doc.tex
+ )
+diff --git a/libmscgen/CMakeLists.txt b/libmscgen/CMakeLists.txt
+index 079fcfc..e6d86f6 100644
+--- a/libmscgen/CMakeLists.txt
++++ b/libmscgen/CMakeLists.txt
+@@ -7,7 +7,7 @@ include_directories(
+ set(LEX_FILES mscgen_lexer)
+ foreach(lex_file ${LEX_FILES})
+ add_custom_command(
+- COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/src/scan_states.py ${CMAKE_SOURCE_DIR}/libmscgen/${lex_file}.l > ${GENERATED_SRC}/${lex_file}.l.h
++ COMMAND ${Python3_EXECUTABLE} ${CMAKE_SOURCE_DIR}/src/scan_states.py ${CMAKE_SOURCE_DIR}/libmscgen/${lex_file}.l > ${GENERATED_SRC}/${lex_file}.l.h
+ DEPENDS ${CMAKE_SOURCE_DIR}/src/scan_states.py ${CMAKE_SOURCE_DIR}/libmscgen/${lex_file}.l
+ OUTPUT ${GENERATED_SRC}/${lex_file}.l.h
+ )
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 23460d0..58f679a 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -35,7 +35,7 @@ set_source_files_properties(${GENERATED_SRC}/settings.h PROPERTIES GENERATED 1)
+
+ # configvalues.h
+ add_custom_command(
+- COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/src/configgen.py -maph ${CMAKE_SOURCE_DIR}/src/config.xml > ${GENERATED_SRC}/configvalues.h
++ COMMAND ${Python3_EXECUTABLE} ${CMAKE_SOURCE_DIR}/src/configgen.py -maph ${CMAKE_SOURCE_DIR}/src/config.xml > ${GENERATED_SRC}/configvalues.h
+ DEPENDS ${CMAKE_SOURCE_DIR}/src/config.xml ${CMAKE_SOURCE_DIR}/src/configgen.py
+ OUTPUT ${GENERATED_SRC}/configvalues.h
+ )
+@@ -47,7 +47,7 @@ add_custom_target(
+
+ # configvalues.cpp
+ add_custom_command(
+- COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/src/configgen.py -maps ${CMAKE_SOURCE_DIR}/src/config.xml > ${GENERATED_SRC}/configvalues.cpp
++ COMMAND ${Python3_EXECUTABLE} ${CMAKE_SOURCE_DIR}/src/configgen.py -maps ${CMAKE_SOURCE_DIR}/src/config.xml > ${GENERATED_SRC}/configvalues.cpp
+ DEPENDS ${CMAKE_SOURCE_DIR}/src/config.xml ${CMAKE_SOURCE_DIR}/src/configgen.py
+ OUTPUT ${GENERATED_SRC}/configvalues.cpp
+ )
+@@ -55,7 +55,7 @@ set_source_files_properties(${GENERATED_SRC}/configvalues.cpp PROPERTIES GENERAT
+
+ # configoptions.cpp
+ add_custom_command(
+- COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/src/configgen.py -cpp ${CMAKE_SOURCE_DIR}/src/config.xml > ${GENERATED_SRC}/configoptions.cpp
++ COMMAND ${Python3_EXECUTABLE} ${CMAKE_SOURCE_DIR}/src/configgen.py -cpp ${CMAKE_SOURCE_DIR}/src/config.xml > ${GENERATED_SRC}/configoptions.cpp
+ DEPENDS ${CMAKE_SOURCE_DIR}/src/config.xml ${CMAKE_SOURCE_DIR}/src/configgen.py
+ OUTPUT ${GENERATED_SRC}/configoptions.cpp
+ )
+@@ -86,7 +86,7 @@ file(GLOB RESOURCES ${CMAKE_SOURCE_DIR}/templates/*/*)
+ # resources.cpp
+ add_custom_command(
+ COMMENT "Generating ${GENERATED_SRC}/resources.cpp"
+- COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/src/res2cc_cmd.py ${CMAKE_SOURCE_DIR}/templates ${GENERATED_SRC}/resources.cpp
++ COMMAND ${Python3_EXECUTABLE} ${CMAKE_SOURCE_DIR}/src/res2cc_cmd.py ${CMAKE_SOURCE_DIR}/templates ${GENERATED_SRC}/resources.cpp
+ DEPENDS ${RESOURCES}
+ OUTPUT ${GENERATED_SRC}/resources.cpp
+ )
+@@ -94,7 +94,7 @@ set_source_files_properties(${GENERATED_SRC}/resources.cpp PROPERTIES GENERATED
+
+ # layout_default.xml
+ add_custom_command(
+- COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/src/to_c_cmd.py < ${CMAKE_SOURCE_DIR}/src/layout_default.xml > ${GENERATED_SRC}/layout_default.xml.h
++ COMMAND ${Python3_EXECUTABLE} ${CMAKE_SOURCE_DIR}/src/to_c_cmd.py < ${CMAKE_SOURCE_DIR}/src/layout_default.xml > ${GENERATED_SRC}/layout_default.xml.h
+ DEPENDS ${CMAKE_SOURCE_DIR}/src/layout_default.xml
+ OUTPUT ${GENERATED_SRC}/layout_default.xml.h
+ )
+@@ -124,7 +124,7 @@ foreach(lex_file ${LEX_FILES})
+ set(LEX_FILES_H ${LEX_FILES_H} " " ${GENERATED_SRC}/${lex_file}.l.h CACHE INTERNAL "Stores generated files")
+ set(LEX_FILES_CPP ${LEX_FILES_CPP} " " ${GENERATED_SRC}/${lex_file}.cpp CACHE INTERNAL "Stores generated files")
+ add_custom_command(
+- COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/src/scan_states.py ${CMAKE_SOURCE_DIR}/src/${lex_file}.l > ${GENERATED_SRC}/${lex_file}.l.h
++ COMMAND ${Python3_EXECUTABLE} ${CMAKE_SOURCE_DIR}/src/scan_states.py ${CMAKE_SOURCE_DIR}/src/${lex_file}.l > ${GENERATED_SRC}/${lex_file}.l.h
+ DEPENDS ${CMAKE_SOURCE_DIR}/src/scan_states.py ${CMAKE_SOURCE_DIR}/src/${lex_file}.l
+ OUTPUT ${GENERATED_SRC}/${lex_file}.l.h
+ )
+diff --git a/testing/CMakeLists.txt b/testing/CMakeLists.txt
+index 40cb40b..a301acd 100644
+--- a/testing/CMakeLists.txt
++++ b/testing/CMakeLists.txt
+@@ -1,9 +1,9 @@
+ add_custom_target(tests
+ COMMENT "Running doxygen tests..."
+- COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/testing/runtests.py --doxygen ${PROJECT_BINARY_DIR}/bin/doxygen --inputdir ${CMAKE_SOURCE_DIR}/testing --outputdir ${PROJECT_BINARY_DIR}/testing
++ COMMAND ${Python3_EXECUTABLE} ${CMAKE_SOURCE_DIR}/testing/runtests.py --doxygen ${PROJECT_BINARY_DIR}/bin/doxygen --inputdir ${CMAKE_SOURCE_DIR}/testing --outputdir ${PROJECT_BINARY_DIR}/testing
+ DEPENDS doxygen
+ )
+ add_test(NAME suite
+- COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/testing/runtests.py --doxygen $<TARGET_FILE:doxygen> --inputdir ${CMAKE_SOURCE_DIR}/testing --outputdir ${PROJECT_BINARY_DIR}/testing
++ COMMAND ${Python3_EXECUTABLE} ${CMAKE_SOURCE_DIR}/testing/runtests.py --doxygen $<TARGET_FILE:doxygen> --inputdir ${CMAKE_SOURCE_DIR}/testing --outputdir ${PROJECT_BINARY_DIR}/testing
+ )
+
diff --git a/meta-openembedded/meta-oe/recipes-devtools/doxygen/doxygen_1.8.17.bb b/meta-openembedded/meta-oe/recipes-devtools/doxygen/doxygen_1.8.17.bb
index 7a4eee32c..45de71826 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/doxygen/doxygen_1.8.17.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/doxygen/doxygen_1.8.17.bb
@@ -9,6 +9,7 @@ DEPENDS = "flex-native bison-native"
SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.src.tar.gz \
file://0001-build-don-t-look-for-Iconv.patch \
"
+SRC_URI_append_class-native = " file://doxygen-native-only-check-python3.patch"
SRC_URI[md5sum] = "7997a15c73a8bd6d003eaba5c2ee2b47"
SRC_URI[sha256sum] = "2cba988af2d495541cbbe5541b3bee0ee11144dcb23a81eada19f5501fd8b599"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/flatbuffers/0001-Add-detection-of-strtoull_l-function.patch b/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/flatbuffers/0001-Add-detection-of-strtoull_l-function.patch
deleted file mode 100644
index f3e82101b..000000000
--- a/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/flatbuffers/0001-Add-detection-of-strtoull_l-function.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From bff7ffbc5130cd46caf33b76b4bb0593fcd15066 Mon Sep 17 00:00:00 2001
-From: Vladimir Glavnyy <31897320+vglavnyy@users.noreply.github.com>
-Date: Fri, 10 May 2019 00:15:29 +0700
-Subject: [PATCH] Add detection of strtoull_l function (#5333) (#5337)
-
-Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
-[Retrieved from:
-https://github.com/google/flatbuffers/commit/bff7ffbc5130cd46caf33b76b4bb0593fcd15066]
----
- CMakeLists.txt | 12 +++++++++---
- 1 file changed, 9 insertions(+), 3 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 0640c37b5..30be238fe 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -42,12 +42,18 @@ if(DEFINED FLATBUFFERS_MAX_PARSING_DEPTH)
- message(STATUS "FLATBUFFERS_MAX_PARSING_DEPTH: ${FLATBUFFERS_MAX_PARSING_DEPTH}")
- endif()
-
--# Auto-detect locale-narrow 'strtod_l' function.
-+# Auto-detect locale-narrow 'strtod_l' and 'strtoull_l' functions.
- if(NOT DEFINED FLATBUFFERS_LOCALE_INDEPENDENT)
-+ set(FLATBUFFERS_LOCALE_INDEPENDENT 0)
- if(MSVC)
-- check_cxx_symbol_exists(_strtof_l stdlib.h FLATBUFFERS_LOCALE_INDEPENDENT)
-+ check_cxx_symbol_exists(_strtof_l stdlib.h FLATBUFFERS_HAS_STRTOF_L)
-+ check_cxx_symbol_exists(_strtoui64_l stdlib.h FLATBUFFERS_HAS_STRTOULL_L)
- else()
-- check_cxx_symbol_exists(strtof_l stdlib.h FLATBUFFERS_LOCALE_INDEPENDENT)
-+ check_cxx_symbol_exists(strtof_l stdlib.h FLATBUFFERS_HAS_STRTOF_L)
-+ check_cxx_symbol_exists(strtoull_l stdlib.h FLATBUFFERS_HAS_STRTOULL_L)
-+ endif()
-+ if(FLATBUFFERS_HAS_STRTOF_L AND FLATBUFFERS_HAS_STRTOULL_L)
-+ set(FLATBUFFERS_LOCALE_INDEPENDENT 1)
- endif()
- endif()
- add_definitions(-DFLATBUFFERS_LOCALE_INDEPENDENT=$<BOOL:${FLATBUFFERS_LOCALE_INDEPENDENT}>)
diff --git a/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/flatbuffers_1.11.0.bb b/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/flatbuffers_1.12.0.bb
index 529441de1..1abfc8819 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/flatbuffers_1.11.0.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/flatbuffers_1.12.0.bb
@@ -8,17 +8,14 @@ PACKAGE_BEFORE_PN = "${PN}-compiler"
RDEPENDS_${PN}-compiler = "${PN}"
RDEPENDS_${PN}-dev += "${PN}-compiler"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=a873c5645c184d51e0f9b34e1d7cf559"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57"
-SRCREV = "9e7e8cbe9f675123dd41b7c62868acad39188cae"
+SRCREV = "6df40a2471737b27271bdd9b900ab5f3aec746c7"
-SRC_URI = "git://github.com/google/flatbuffers.git \
- file://0001-Add-detection-of-strtoull_l-function.patch \
- "
+SRC_URI = "git://github.com/google/flatbuffers.git"
-# Make sure C++11 is used, required for example for GCC 4.9
-CXXFLAGS += "-std=c++11 -fPIC"
-BUILD_CXXFLAGS += "-std=c++11 -fPIC"
+CXXFLAGS += "-fPIC"
+BUILD_CXXFLAGS += "-fPIC"
# BUILD_TYPE=Release is required, otherwise flatc is not installed
EXTRA_OECMAKE += "\
diff --git a/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins/0002-Make-libgit2-version-preprocessor-conditionals-compatible.patch b/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins/0002-Make-libgit2-version-preprocessor-conditionals-compatible.patch
new file mode 100644
index 000000000..25e5ac4ea
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins/0002-Make-libgit2-version-preprocessor-conditionals-compatible.patch
@@ -0,0 +1,55 @@
+From 9497d829e1b207eb83575dc6f617feecfb89bc16 Mon Sep 17 00:00:00 2001
+From: Dominik Schmidt <dominik@schm1dt.ch>
+Date: Sun, 23 Feb 2020 19:15:30 +0100
+Subject: [PATCH] Make libgit2 version preprocessor conditionals compatible
+ with libgit2-0.99
+
+LIBGIT2_SOVERSION is defined as string literal, e.g. "0.99",
+from libgit2-0.99 and beyond. Arithmetic checks against this
+variable whill hence fail. This patch switches the checks to
+compare against the LIBGIT2_VER_* family, which should be more stable.
+---
+ git-changebar/src/gcb-plugin.c | 6 +++---
+ workbench/src/plugin_main.c | 2 +-
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/git-changebar/src/gcb-plugin.c b/git-changebar/src/gcb-plugin.c
+index b7083199..a911815f 100644
+--- a/git-changebar/src/gcb-plugin.c
++++ b/git-changebar/src/gcb-plugin.c
+@@ -32,11 +32,11 @@
+ #include <geany.h>
+ #include <document.h>
+
+-#if ! defined (LIBGIT2_SOVERSION) || LIBGIT2_SOVERSION < 22
++#if ! defined (LIBGIT2_VER_MINOR) || ( (LIBGIT2_VER_MAJOR == 0) && (LIBGIT2_VER_MINOR < 22) )
+ # define git_libgit2_init git_threads_init
+ # define git_libgit2_shutdown git_threads_shutdown
+ #endif
+-#if ! defined (LIBGIT2_SOVERSION) || LIBGIT2_SOVERSION < 23
++#if ! defined (LIBGIT2_VER_MINOR) || ( (LIBGIT2_VER_MAJOR == 0) && (LIBGIT2_VER_MINOR < 23) )
+ /* 0.23 added @p binary_cb */
+ # define git_diff_buffers(old_buffer, old_len, old_as_path, \
+ new_buffer, new_len, new_as_path, options, \
+@@ -45,7 +45,7 @@
+ new_buffer, new_len, new_as_path, options, \
+ file_cb, hunk_cb, line_cb, payload)
+ #endif
+-#if ! defined (LIBGIT2_SOVERSION) || LIBGIT2_SOVERSION < 28
++#if ! defined (LIBGIT2_VER_MINOR) || ( (LIBGIT2_VER_MAJOR == 0) && (LIBGIT2_VER_MINOR < 28) )
+ # define git_buf_dispose git_buf_free
+ # define git_error_last giterr_last
+ #endif
+diff --git a/workbench/src/plugin_main.c b/workbench/src/plugin_main.c
+index 6fa6fc84..25ecdf6d 100644
+--- a/workbench/src/plugin_main.c
++++ b/workbench/src/plugin_main.c
+@@ -36,7 +36,7 @@
+ #include "tm_control.h"
+
+
+-#if ! defined (LIBGIT2_SOVERSION) || LIBGIT2_SOVERSION < 22
++#if ! defined (LIBGIT2_VER_MINOR) || ( (LIBGIT2_VER_MAJOR == 0) && (LIBGIT2_VER_MINOR < 22))
+ # define git_libgit2_init git_threads_init
+ # define git_libgit2_shutdown git_threads_shutdown
+ #endif
diff --git a/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.36.bb b/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.36.bb
index a6a0b17dd..3cf260573 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.36.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.36.bb
@@ -31,6 +31,7 @@ REQUIRED_DISTRO_FEATURES = "x11"
SRC_URI = " \
https://plugins.geany.org/${BPN}/${BP}.tar.bz2 \
file://0001-Use-pkg-config-to-find-gpgme.patch \
+ file://0002-Make-libgit2-version-preprocessor-conditionals-compatible.patch \
"
SRC_URI[md5sum] = "91fb4634953702f914d9105da7048a33"
SRC_URI[sha256sum] = "ebe18dd699292174622e8cb8745b020ada8a5be3b604ab980af36e8518df7ce6"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/geany/geany_1.36.bb b/meta-openembedded/meta-oe/recipes-devtools/geany/geany_1.36.bb
index 17e16bf56..8282091b3 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/geany/geany_1.36.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/geany/geany_1.36.bb
@@ -5,7 +5,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=bd7b2c994af21d318bd2cd3b3f80c2d5"
DEPENDS = "gtk+3 libxml-parser-perl-native python3-docutils-native intltool-native"
-inherit features_check autotools pkgconfig perlnative gettext
+inherit features_check autotools pkgconfig perlnative gettext mime-xdg
REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/glade/glade_3.22.1.bb b/meta-openembedded/meta-oe/recipes-devtools/glade/glade_3.22.2.bb
index cdd7057b3..3d539b232 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/glade/glade_3.22.1.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/glade/glade_3.22.2.bb
@@ -9,15 +9,15 @@ DEPENDS = "gtk+ gtk+3 glib-2.0 libxml2 intltool-native \
"
-inherit features_check autotools pkgconfig gnomebase gobject-introspection
+inherit features_check autotools pkgconfig gnomebase gobject-introspection mime-xdg
REQUIRED_DISTRO_FEATURES = "x11"
SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/glade/3.22/glade-${PV}.tar.xz \
file://remove-yelp-help-rules-var.patch \
"
-SRC_URI[md5sum] = "226802cf3b06861240524805aa6fe6ff"
-SRC_URI[sha256sum] = "dff89a2ef2eaf000ff2a46979978d03cb9202cb04668e01d0ea5c5bb5547e39a"
+SRC_URI[md5sum] = "c074fa378c8f1ad80d20133c4ae6f42d"
+SRC_URI[sha256sum] = "edefa6eb24b4d15bd52589121dc109bc08c286157c41288deb74dd9cc3f26a21"
EXTRA_OECONF += "--disable-man-pages"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc/0001-CMakeLists.txt-Fix-grpc_cpp_plugin-path-during-cross.patch b/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc/0001-CMakeLists.txt-Fix-grpc_cpp_plugin-path-during-cross.patch
new file mode 100644
index 000000000..6cad53396
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc/0001-CMakeLists.txt-Fix-grpc_cpp_plugin-path-during-cross.patch
@@ -0,0 +1,45 @@
+From 6d606f1101c1a172fb6d738d6f1865aa61849e68 Mon Sep 17 00:00:00 2001
+From: Alexey Firago <alexey_firago@mentor.com>
+Date: Fri, 20 Oct 2017 00:04:19 +0300
+Subject: [PATCH] CMakeLists.txt: Fix grpc_cpp_plugin path during cross-compiling or native build
+
+Signed-off-by: Alexey Firago <alexey_firago@mentor.com>
+Signed-off-by: Hiram Lew <lew@avast.com>
+Signed-off-by: Jan Kaisrlik <jan.kaisrlik@avast.com>
+---
+ CMakeLists.txt | 9 ++++++++-
+ templates/CMakeLists.txt.template | 9 ++++++++-
+ 2 files changed, 16 insertions(+), 2 deletions(-)
+
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -193,6 +193,13 @@ function(protobuf_generate_grpc_cpp)
+ return()
+ endif()
+
++ #if cross-compiling or nativesdk, find host plugin
++ if(CMAKE_CROSSCOMPILING)
++ find_program(gRPC_CPP_PLUGIN grpc_cpp_plugin)
++ else()
++ set(gRPC_CPP_PLUGIN $<TARGET_FILE:grpc_cpp_plugin>)
++ endif()
++
+ set(_protobuf_include_path -I . -I ${_gRPC_PROTOBUF_WELLKNOWN_INCLUDE_DIR})
+ foreach(FIL ${ARGN})
+ get_filename_component(ABS_FIL ${FIL} ABSOLUTE)
+--- a/templates/CMakeLists.txt.template
++++ b/templates/CMakeLists.txt.template
+@@ -233,6 +233,13 @@
+ return()
+ endif()
+
++ #if cross-compiling or nativesdk, find host plugin
++ if(CMAKE_CROSSCOMPILING)
++ find_program(gRPC_CPP_PLUGIN grpc_cpp_plugin)
++ else()
++ set(gRPC_CPP_PLUGIN $<TARGET_FILE:grpc_cpp_plugin>)
++ endif()
++
+ set(_protobuf_include_path -I . -I <%text>${_gRPC_PROTOBUF_WELLKNOWN_INCLUDE_DIR}</%text>)
+ foreach(FIL <%text>${ARGN}</%text>)
+ get_filename_component(ABS_FIL <%text>${FIL}</%text> ABSOLUTE)
diff --git a/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc/0001-CMakeLists.txt-Fix-libraries-installation-for-Linux.patch b/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc/0001-CMakeLists.txt-Fix-libraries-installation-for-Linux.patch
new file mode 100644
index 000000000..e517355d3
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc/0001-CMakeLists.txt-Fix-libraries-installation-for-Linux.patch
@@ -0,0 +1,177 @@
+From 2279e30be5796e9b185545543ea54fe68633cbdd Mon Sep 17 00:00:00 2001
+From: Alexey Firago <alexey_firago@mentor.com>
+Date: Mon, 30 Oct 2017 23:24:49 +0300
+Subject: [PATCH] CMakeLists.txt: Fix libraries installation for Linux
+
+* Set libs versions as in Makefile
+
+Signed-off-by: Alexey Firago <alexey_firago@mentor.com>
+
+---
+ CMakeLists.txt | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 59 insertions(+)
+
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -30,6 +30,15 @@ set(PACKAGE_TARNAME "${PACKAGE_NAME}-$
+ set(PACKAGE_BUGREPORT "https://github.com/grpc/grpc/issues/")
+ project(${PACKAGE_NAME} C CXX)
+
++set (CORE_VERSION_MAJOR "6")
++set (CORE_VERSION "6.0.0")
++
++set (CPP_VERSION_MAJOR "1")
++set (CPP_VERSION "${PACKAGE_VERSION}")
++
++set (CSHARP_VERSION_MAJOR "1")
++set (CSHARP_VERSION "${PACKAGE_VERSION}")
++
+ set(gRPC_INSTALL_BINDIR "bin" CACHE STRING "Installation directory for executables")
+ set(gRPC_INSTALL_LIBDIR "lib" CACHE STRING "Installation directory for libraries")
+ set(gRPC_INSTALL_INCLUDEDIR "include" CACHE STRING "Installation directory for headers")
+@@ -777,6 +786,10 @@ if(WIN32 AND MSVC)
+ endif()
+ endif()
+
++if(_gRPC_PLATFORM_LINUX)
++ set_property(TARGET address_sorting PROPERTY VERSION ${CORE_VERSION})
++ set_property(TARGET address_sorting PROPERTY SOVERSION ${CORE_VERSION_MAJOR})
++endif()
+
+ target_include_directories(address_sorting
+ PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
+@@ -903,6 +916,10 @@ if(WIN32 AND MSVC)
+ endif()
+ endif()
+
++if(_gRPC_PLATFORM_LINUX)
++ set_property(TARGET gpr PROPERTY VERSION ${CORE_VERSION})
++ set_property(TARGET gpr PROPERTY SOVERSION ${CORE_VERSION_MAJOR})
++endif()
+
+ target_include_directories(gpr
+ PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
+@@ -1367,6 +1384,10 @@ if(WIN32 AND MSVC)
+ endif()
+ endif()
+
++if(_gRPC_PLATFORM_LINUX)
++ set_property(TARGET grpc PROPERTY VERSION ${CORE_VERSION})
++ set_property(TARGET grpc PROPERTY SOVERSION ${CORE_VERSION_MAJOR})
++endif()
+
+ target_include_directories(grpc
+ PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
+@@ -1782,6 +1803,10 @@ if(WIN32 AND MSVC)
+ endif()
+ endif()
+
++if(_gRPC_PLATFORM_LINUX)
++ set_property(TARGET grpc_cronet PROPERTY VERSION ${CORE_VERSION})
++ set_property(TARGET grpc_cronet PROPERTY SOVERSION ${CORE_VERSION_MAJOR})
++endif()
+
+ target_include_directories(grpc_cronet
+ PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
+@@ -2869,6 +2894,10 @@ if(WIN32 AND MSVC)
+ endif()
+ endif()
+
++if(_gRPC_PLATFORM_LINUX)
++ set_property(TARGET grpc_unsecure PROPERTY VERSION ${CORE_VERSION})
++ set_property(TARGET grpc_unsecure PROPERTY SOVERSION ${CORE_VERSION_MAJOR})
++endif()
+
+ target_include_directories(grpc_unsecure
+ PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
+@@ -3206,6 +3235,10 @@ if(WIN32 AND MSVC)
+ endif()
+ endif()
+
++if(_gRPC_PLATFORM_LINUX)
++ set_property(TARGET grpc++ PROPERTY VERSION ${CPP_VERSION})
++ set_property(TARGET grpc++ PROPERTY SOVERSION ${CPP_VERSION_MAJOR})
++endif()
+
+ target_include_directories(grpc++
+ PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
+@@ -3589,6 +3622,11 @@ protobuf_generate_grpc_cpp(
+ src/proto/grpc/status/status.proto
+ )
+
++if(_gRPC_PLATFORM_LINUX)
++ set_property(TARGET grpc++_error_details PROPERTY VERSION ${CPP_VERSION})
++ set_property(TARGET grpc++_error_details PROPERTY SOVERSION ${CPP_VERSION_MAJOR})
++endif()
++
+ target_include_directories(grpc++_error_details
+ PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
+ PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
+@@ -3727,6 +3765,11 @@ protobuf_generate_grpc_cpp(
+ src/proto/grpc/reflection/v1alpha/reflection.proto
+ )
+
++if(_gRPC_PLATFORM_LINUX)
++ set_property(TARGET grpc++_reflection PROPERTY VERSION ${CPP_VERSION})
++ set_property(TARGET grpc++_reflection PROPERTY SOVERSION ${CPP_VERSION_MAJOR})
++endif()
++
+ target_include_directories(grpc++_reflection
+ PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
+ PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
+@@ -3816,6 +3859,10 @@ target_link_libraries(grpc++_test_config
+ ${_gRPC_GFLAGS_LIBRARIES}
+ )
+
++if(_gRPC_PLATFORM_LINUX)
++ set_property(TARGET grpc++_cronet PROPERTY VERSION ${CPP_VERSION})
++ set_property(TARGET grpc++_cronet PROPERTY SOVERSION ${CPP_VERSION_MAJOR})
++endif()
+
+ endif (gRPC_BUILD_TESTS)
+ if (gRPC_BUILD_TESTS)
+@@ -4307,6 +4354,10 @@ if(WIN32 AND MSVC)
+ endif()
+ endif()
+
++if(_gRPC_PLATFORM_LINUX)
++ set_property(TARGET grpc++_unsecure PROPERTY VERSION ${CPP_VERSION})
++ set_property(TARGET grpc++_unsecure PROPERTY SOVERSION ${CPP_VERSION_MAJOR})
++endif()
+
+ target_include_directories(grpc++_unsecure
+ PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
+@@ -4745,6 +4796,10 @@ if(WIN32 AND MSVC)
+ endif()
+ endif()
+
++if(_gRPC_PLATFORM_LINUX)
++ set_property(TARGET grpc_plugin_support PROPERTY VERSION ${CORE_VERSION})
++ set_property(TARGET grpc_plugin_support PROPERTY SOVERSION ${CORE_VERSION_MAJOR})
++endif()
+
+ target_include_directories(grpc_plugin_support
+ PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
+@@ -4813,6 +4868,11 @@ protobuf_generate_grpc_cpp(
+ src/proto/grpc/channelz/channelz.proto
+ )
+
++if(_gRPC_PLATFORM_LINUX)
++ set_property(TARGET grpcpp_channelz PROPERTY VERSION ${CPP_VERSION})
++ set_property(TARGET grpcpp_channelz PROPERTY SOVERSION ${CPP_VERSION_MAJOR})
++endif()
++
+ target_include_directories(grpcpp_channelz
+ PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
+ PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
+@@ -5367,6 +5427,10 @@ if(WIN32 AND MSVC)
+ endif()
+ endif()
+
++if(_gRPC_PLATFORM_LINUX)
++ set_property(TARGET grpc_csharp_ext PROPERTY VERSION ${CSHARP_VERSION})
++ set_property(TARGET grpc_csharp_ext PROPERTY SOVERSION ${CSHARP_VERSION_MAJOR})
++endif()
+
+ target_include_directories(grpc_csharp_ext
+ PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
diff --git a/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc_1.24.3.bb b/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc_1.24.3.bb
new file mode 100644
index 000000000..752562eb3
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc_1.24.3.bb
@@ -0,0 +1,67 @@
+DESCRIPTION = "A high performance, open source, general-purpose RPC framework. \
+Provides gRPC libraries for multiple languages written on top of shared C core library \
+(C++, Node.js, Python, Ruby, Objective-C, PHP, C#)"
+HOMEPAGE = "https://github.com/grpc/grpc"
+SECTION = "libs"
+LICENSE = "Apache-2"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+DEPENDS = "gflags c-ares protobuf protobuf-native protobuf-c protobuf-c-native openssl libnsl2"
+DEPENDS_append_class-target = " googletest grpc-native "
+DEPENDS_append_class-nativesdk = " grpc-native "
+
+S = "${WORKDIR}/git"
+SRCREV_grpc = "2de2e8dd8921e1f7d043e01faf7fe8a291fbb072"
+SRCREV_upb = "9effcbcb27f0a665f9f345030188c0b291e32482"
+BRANCH = "v1.24.x"
+SRC_URI = "git://github.com/grpc/grpc.git;protocol=https;name=grpc;branch=${BRANCH} \
+ git://github.com/protocolbuffers/upb;name=upb;destsuffix=git/third_party/upb \
+ file://0001-CMakeLists.txt-Fix-libraries-installation-for-Linux.patch \
+ "
+SRC_URI_append_class-target = " file://0001-CMakeLists.txt-Fix-grpc_cpp_plugin-path-during-cross.patch \
+ "
+SRC_URI_append_class-nativesdk = " file://0001-CMakeLists.txt-Fix-grpc_cpp_plugin-path-during-cross.patch"
+
+# Fixes build with older compilers 4.8 especially on ubuntu 14.04
+CXXFLAGS_append_class-native = " -Wl,--no-as-needed"
+
+inherit cmake pkgconfig
+
+EXTRA_OECMAKE = " \
+ -DgRPC_CARES_PROVIDER=package \
+ -DgRPC_ZLIB_PROVIDER=package \
+ -DgRPC_SSL_PROVIDER=package \
+ -DgRPC_PROTOBUF_PROVIDER=package \
+ -DgRPC_GFLAGS_PROVIDER=package \
+ -DgRPC_INSTALL=ON \
+ -DCMAKE_CROSSCOMPILING=ON \
+ -DBUILD_SHARED_LIBS=ON \
+ -DgRPC_INSTALL_LIBDIR=${baselib} \
+ -DgRPC_INSTALL_CMAKEDIR=${baselib}/cmake/${BPN} \
+ "
+
+do_configure_prepend_mipsarch() {
+ sed -i -e "s/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} rt m pthread)/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} atomic rt m pthread)/g" ${S}/CMakeLists.txt
+}
+
+do_configure_prepend_powerpc() {
+ sed -i -e "s/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} rt m pthread)/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} atomic rt m pthread)/g" ${S}/CMakeLists.txt
+}
+
+do_configure_prepend_riscv64() {
+ sed -i -e "s/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} rt m pthread)/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} atomic rt m pthread)/g" ${S}/CMakeLists.txt
+}
+
+do_configure_prepend_riscv32() {
+ sed -i -e "s/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} rt m pthread)/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} atomic rt m pthread)/g" ${S}/CMakeLists.txt
+}
+
+do_configure_prepend_toolchain-clang_x86() {
+ sed -i -e "s/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} rt m pthread)/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} atomic rt m pthread)/g" ${S}/CMakeLists.txt
+}
+
+BBCLASSEXTEND = "native nativesdk"
+
+SYSROOT_DIRS_BLACKLIST_append_class-target = "${baselib}/cmake/grpc"
+
+FILES_${PN}-dev += "${bindir}"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/guider/guider_3.9.6.bb b/meta-openembedded/meta-oe/recipes-devtools/guider/guider_3.9.6.bb
index 0057db661..f05900216 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/guider/guider_3.9.6.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/guider/guider_3.9.6.bb
@@ -16,7 +16,7 @@ SRCREV = "fef25c41efb9bde0614ea477d0b90bd9565ae0b4"
S = "${WORKDIR}/git"
R = "${RECIPE_SYSROOT}"
-inherit distutils
+inherit ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-python2", "distutils", "", d)}
GUIDER_OBJ = "guider.pyc"
GUIDER_SCRIPT = "guider"
@@ -33,3 +33,7 @@ do_install() {
RDEPENDS_${PN} = "python-ctypes python-shell \
python-json python-subprocess"
+python() {
+ if 'meta-python2' not in d.getVar('BBFILE_COLLECTIONS').split():
+ raise bb.parse.SkipRecipe('Requires meta-python2 to be present.')
+}
diff --git a/meta-openembedded/meta-oe/recipes-devtools/jq/jq_1.6.bb b/meta-openembedded/meta-oe/recipes-devtools/jq/jq_1.6.bb
index 0086eae5c..bfaeed5fe 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/jq/jq_1.6.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/jq/jq_1.6.bb
@@ -8,8 +8,10 @@ SECTION = "utils"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=15d03e360fa7399f76d5a4359fc72cbf"
-SRC_URI = "https://github.com/stedolan/${BPN}/releases/download/${BP}/${BP}.tar.gz \
-"
+SRC_URI = "https://github.com/stedolan/${BPN}/releases/download/${BP}/${BP}.tar.gz"
+
+UPSTREAM_CHECK_URI = "https://github.com/stedolan/${BPN}/releases"
+UPSTREAM_CHECK_REGEX = "jq\-(?P<pver>(\d+\.\d+))(?!_\d+).tar.gz"
SRC_URI[md5sum] = "e68fbd6a992e36f1ac48c99bbf825d6b"
SRC_URI[sha256sum] = "5de8c8e29aaa3fb9cc6b47bb27299f271354ebb72514e3accadc7d38b5bbaa72"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc_1.2.0.bb b/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc_1.3.0.bb
index dbf44d796..ca9675ed6 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc_1.2.0.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc_1.3.0.bb
@@ -10,7 +10,7 @@ SECTION = "libs"
DEPENDS = "curl jsoncpp libmicrohttpd hiredis"
SRC_URI = "git://github.com/cinemast/libjson-rpc-cpp"
-SRCREV = "4ed5b00dcc409405a19e6d8c6478f703153430e1"
+SRCREV = "c696f6932113b81cd20cd4a34fdb1808e773f23e"
S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/lapack/lapack_3.8.0.bb b/meta-openembedded/meta-oe/recipes-devtools/lapack/lapack_3.9.0.bb
index 7544744b3..62d4df5e0 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/lapack/lapack_3.8.0.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/lapack/lapack_3.9.0.bb
@@ -13,9 +13,9 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=930f8aa500a47c7dab0f8efb5a1c9a40"
DEPENDS = "libgfortran"
-SRC_URI = "http://www.netlib.org/lapack/lapack-${PV}.tar.gz"
-SRC_URI[md5sum] = "96591affdbf58c450d45c1daa540dbd2"
-SRC_URI[sha256sum] = "deb22cc4a6120bff72621155a9917f485f96ef8319ac074a7afbc68aab88bcf6"
+SRCREV = "6acc99d5f39130be7cec00fb835606042101a970"
+SRC_URI = "git://github.com/Reference-LAPACK/lapack.git;protocol=https"
+S = "${WORKDIR}/git"
EXTRA_OECMAKE = " -DBUILD_SHARED_LIBS=ON "
OECMAKE_GENERATOR = "Unix Makefiles"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/libgee/libgee_0.20.2.bb b/meta-openembedded/meta-oe/recipes-devtools/libgee/libgee_0.20.3.bb
index a048e4832..576eff6d5 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/libgee/libgee_0.20.2.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/libgee/libgee_0.20.3.bb
@@ -18,5 +18,5 @@ do_configure_prepend() {
done
}
-SRC_URI[archive.md5sum] = "45db478f2b300ada8e039ebc6c9458de"
-SRC_URI[archive.sha256sum] = "9e035c4b755f46bfae70ba81cdcf8328b03f554373cec8c816e8b5680f85353c"
+SRC_URI[archive.md5sum] = "e574b3952b93d219b5ec7c74c5892c33"
+SRC_URI[archive.sha256sum] = "d0b5edefc88cbca5f1709d19fa62aef490922c6577a14ac4e7b085507911a5de"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace_git.bb b/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace_git.bb
index 6b66c2529..5710943d7 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace_git.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace_git.bb
@@ -38,6 +38,9 @@ PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)}"
PACKAGECONFIG[unwind] = "--with-libunwind,--without-libunwind,libunwind"
PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux,libselinux"
+COMPATIBLE_HOST_riscv64 = "null"
+COMPATIBLE_HOST_riscv32 = "null"
+
do_configure_prepend () {
( cd ${S}; ./autogen.sh )
}
diff --git a/meta-openembedded/meta-oe/recipes-devtools/lua/lua_5.3.5.bb b/meta-openembedded/meta-oe/recipes-devtools/lua/lua_5.3.5.bb
index ae41e627f..a23a4a5da 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/lua/lua_5.3.5.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/lua/lua_5.3.5.bb
@@ -35,6 +35,7 @@ EXTRA_OEMAKE = "'CC=${CC} -fPIC' 'MYCFLAGS=${CFLAGS} -fPIC' MYLDFLAGS='${LDFLAGS
do_configure_prepend() {
sed -i -e s:/usr/local:${prefix}:g src/luaconf.h
+ sed -i -e s:lib/lua/:${baselib}/lua/:g src/luaconf.h
}
do_compile () {
diff --git a/meta-openembedded/meta-oe/recipes-devtools/luajit/luajit/clang.patch b/meta-openembedded/meta-oe/recipes-devtools/luajit/luajit/clang.patch
index c39ef6fd4..807cc4417 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/luajit/luajit/clang.patch
+++ b/meta-openembedded/meta-oe/recipes-devtools/luajit/luajit/clang.patch
@@ -8,8 +8,8 @@ Index: LuaJIT-2.0.5/src/lj_arch.h
===================================================================
--- LuaJIT-2.0.5.orig/src/lj_arch.h
+++ LuaJIT-2.0.5/src/lj_arch.h
-@@ -313,7 +313,7 @@
- #error "Need at least GCC 4.2 or newer"
+@@ -436,7 +436,7 @@
+ #endif
#endif
#elif !LJ_TARGET_PS3
-#if (__GNUC__ < 4) || ((__GNUC__ == 4) && __GNUC_MINOR__ < 3)
diff --git a/meta-openembedded/meta-oe/recipes-devtools/luajit/luajit_2.0.5.bb b/meta-openembedded/meta-oe/recipes-devtools/luajit/luajit_git.bb
index 08a0470b0..cc9039416 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/luajit/luajit_2.0.5.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/luajit/luajit_git.bb
@@ -1,14 +1,14 @@
SUMMARY = "Just-In-Time Compiler for Lua"
LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=10a96c93403affcc34765f4c2612bc22"
+LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=d739bb9250a55c124a545b588fd76771"
HOMEPAGE = "http://luajit.org"
-PV .= "+git${SRCPV}"
-SRCREV = "02b521981a1ab919ff2cd4d9bcaee80baf77dce2"
-SRC_URI = "git://luajit.org/git/luajit-2.0.git;protocol=http \
+PV = "2.1.0~beta3"
+SRCREV = "0ad60ccbc3768fa8e3e726858adf261950edbc22"
+SRC_URI = "git://luajit.org/git/luajit-2.0.git;protocol=http;branch=v2.1 \
file://0001-Do-not-strip-automatically-this-leaves-the-stripping.patch \
file://clang.patch \
-"
+ "
S = "${WORKDIR}/git"
@@ -90,9 +90,11 @@ FILES_${PN}-dev += "${libdir}/libluajit-5.1.a \
"
FILES_luajit-common = "${datadir}/${BPN}-${PV}"
-# Aarch64/mips64/ppc/ppc64 is not supported in this release
-COMPATIBLE_HOST_aarch64 = "null"
+# mips64/ppc/ppc64/riscv64 is not supported in this release
COMPATIBLE_HOST_mipsarchn32 = "null"
COMPATIBLE_HOST_mipsarchn64 = "null"
COMPATIBLE_HOST_powerpc = "null"
COMPATIBLE_HOST_powerpc64 = "null"
+COMPATIBLE_HOST_powerpc64le = "null"
+COMPATIBLE_HOST_riscv64 = "null"
+COMPATIBLE_HOST_riscv32 = "null"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/luaposix/luaposix/0001-fix-avoid-race-condition-between-test-and-mkdir.patch b/meta-openembedded/meta-oe/recipes-devtools/luaposix/luaposix/0001-fix-avoid-race-condition-between-test-and-mkdir.patch
new file mode 100644
index 000000000..d8a9e3d2b
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/luaposix/luaposix/0001-fix-avoid-race-condition-between-test-and-mkdir.patch
@@ -0,0 +1,75 @@
+From 4dfca036c96071bd2a2c80ff84719c6d37858373 Mon Sep 17 00:00:00 2001
+From: Haseeb Ashraf <Haseeb_Ashraf@mentor.com>
+Date: Fri, 17 Apr 2020 14:36:50 +0500
+Subject: [PATCH 1/1] fix: avoid race condition between test and mkdir
+
+when building in parallel the race condition, when the directory
+is tested for existence and it is created, can break the build
+
+Signed-off-by: Haseeb Ashraf <Haseeb_Ashraf@mentor.com>
+---
+ Makefile.in | 6 +++---
+ build-aux/rockspecs.mk | 2 +-
+ local.mk | 2 +-
+ 3 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index 9b51ef3..4722525 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -1637,7 +1637,7 @@ distclean-tags:
+
+ distdir: $(DISTFILES)
+ $(am__remove_distdir)
+- test -d "$(distdir)" || mkdir "$(distdir)"
++ $(MKDIR_P) "$(distdir)"
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+@@ -1975,7 +1975,7 @@ clean-local:
+ rm -f $(posix_submodules)
+
+ $(allhtml): $(EXTRA_ext_posix_posix_la_SOURCES) $(ext_posix_posix_la_SOURCES)
+- test -d $(builddir)/doc || mkdir $(builddir)/doc
++ $(MKDIR_P) $(builddir)/doc
+ @HAVE_LDOC_TRUE@ $(LDOC) -c build-aux/config.ld -d $(abs_srcdir)/doc .
+ @HAVE_LDOC_FALSE@ $(MKDIR_P) doc
+ @HAVE_LDOC_FALSE@ touch doc/index.html doc/ldoc.css
+@@ -1983,7 +1983,7 @@ $(allhtml): $(EXTRA_ext_posix_posix_la_SOURCES) $(ext_posix_posix_la_SOURCES)
+ doc: $(allhtml)
+
+ $(luarocks_config): Makefile.am
+- @test -d build-aux || mkdir build-aux
++ @$(MKDIR_P) build-aux
+ $(AM_V_GEN){ \
+ $(set_LUA_BINDIR); \
+ echo 'rocks_trees = { "$(abs_srcdir)/luarocks" }'; \
+diff --git a/build-aux/rockspecs.mk b/build-aux/rockspecs.mk
+index ebd1dbf..c8fbdbc 100644
+--- a/build-aux/rockspecs.mk
++++ b/build-aux/rockspecs.mk
+@@ -62,7 +62,7 @@ LUA_INCDIR = `cd $$LUA_BINDIR/../include && pwd`
+ LUA_LIBDIR = `cd $$LUA_BINDIR/../lib && pwd`
+
+ $(luarocks_config): Makefile.am
+- @test -d build-aux || mkdir build-aux
++ @$(MKDIR_P) build-aux
+ $(AM_V_GEN){ \
+ $(set_LUA_BINDIR); \
+ echo 'rocks_trees = { "$(abs_srcdir)/luarocks" }'; \
+diff --git a/local.mk b/local.mk
+index d391ef7..80b22ce 100644
+--- a/local.mk
++++ b/local.mk
+@@ -255,7 +255,7 @@ dist_examples_DATA += \
+ allhtml = $(dist_doc_DATA) $(dist_examples_DATA) $(dist_modules_DATA) $(dist_classes_DATA)
+
+ $(allhtml): $(EXTRA_ext_posix_posix_la_SOURCES) $(ext_posix_posix_la_SOURCES)
+- test -d $(builddir)/doc || mkdir $(builddir)/doc
++ $(MKDIR_P) $(builddir)/doc
+ if HAVE_LDOC
+ $(LDOC) -c build-aux/config.ld -d $(abs_srcdir)/doc .
+ else
+--
+2.17.1
+
diff --git a/meta-openembedded/meta-oe/recipes-devtools/luaposix/luaposix_33.4.0.bb b/meta-openembedded/meta-oe/recipes-devtools/luaposix/luaposix_33.4.0.bb
new file mode 100644
index 000000000..1bee9fe0b
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/luaposix/luaposix_33.4.0.bb
@@ -0,0 +1,21 @@
+DESCRIPTION = "luaposix is a POSIX binding for Lua."
+LICENSE = "MIT"
+HOMEPAGE = "https://github.com/luaposix/luaposix"
+LIC_FILES_CHKSUM = "file://COPYING;md5=7dd2aad04bb7ca212e69127ba8d58f9f"
+
+DEPENDS += "lua-native lua"
+
+SRC_URI = "git://github.com/luaposix/luaposix.git;branch=release \
+ file://0001-fix-avoid-race-condition-between-test-and-mkdir.patch \
+"
+SRCREV = "8e4902ed81c922ed8f76a7ed85be1eaa3fd7e66d"
+S = "${WORKDIR}/git"
+LUA_VERSION = "5.3"
+
+inherit autotools pkgconfig
+
+do_install() {
+ oe_runmake 'DESTDIR=${D}' 'luadir=${datadir}/lua/${LUA_VERSION}' 'luaexecdir=${libdir}/lua/${LUA_VERSION}' install
+}
+
+FILES_${PN} = "${datadir}/lua/${LUA_VERSION} ${libdir}/lua/${LUA_VERSION}"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/nanopb/nanopb_0.4.0.bb b/meta-openembedded/meta-oe/recipes-devtools/nanopb/nanopb_0.4.0.bb
index aedd53a7a..21d110aee 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/nanopb/nanopb_0.4.0.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/nanopb/nanopb_0.4.0.bb
@@ -9,7 +9,7 @@ SRCREV = "70f0de9877b1ce12abc0229d5df84db6349fcbfc"
S = "${WORKDIR}/git"
-inherit cmake pythonnative
+inherit cmake python3native
do_install_append() {
install -Dm 0755 ${S}/generator/nanopb_generator.py ${D}${bindir}/nanopb_generator.py
@@ -26,3 +26,5 @@ RDEPENDS_${PN} += "\
"
BBCLASSEXTEND = "native nativesdk"
+
+PNBLACKLIST[nanopb] = "Needs forward porting to use python3"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/nlohmann-fifo/nlohmann-fifo_git.bb b/meta-openembedded/meta-oe/recipes-devtools/nlohmann-fifo/nlohmann-fifo_git.bb
index 326a4abfb..a97eb53c1 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/nlohmann-fifo/nlohmann-fifo_git.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/nlohmann-fifo/nlohmann-fifo_git.bb
@@ -10,6 +10,8 @@ PV = "1.0.0+git${SRCPV}"
SRCREV = "0dfbf5dacbb15a32c43f912a7e66a54aae39d0f9"
+UPSTREAM_CHECK_COMMITS = "1"
+
S = "${WORKDIR}/git"
# nlohmann-fifo is a header only C++ library, so the main package will be empty.
diff --git a/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json/0001-Templatize-basic_json-ctor-from-json_ref.patch b/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json/0001-Templatize-basic_json-ctor-from-json_ref.patch
new file mode 100644
index 000000000..aea48b60a
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json/0001-Templatize-basic_json-ctor-from-json_ref.patch
@@ -0,0 +1,99 @@
+From ec955f08b47ab7cb81f6e4a4c3e7b331ddf50f71 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Art=C3=B6m=20Bakri=20Al-Sarmini?= <3sz3tt+git@gmail.com>
+Date: Sun, 12 Apr 2020 22:32:39 +0300
+Subject: [PATCH] Templatize basic_json ctor from json_ref
+
+Upstream-Status: Backport [https://github.com/nlohmann/json/commit/ec955f08b47ab7cb81f6e4a4c3e7b331ddf50f71]
+Signed-off-by: Andrew Geissler <geissonator@gmail.com>
+
+---
+ include/nlohmann/detail/meta/type_traits.hpp | 13 ++++++++++++
+ include/nlohmann/json.hpp | 8 ++++----
+ single_include/nlohmann/json.hpp | 21 ++++++++++++++++----
+ 3 files changed, 34 insertions(+), 8 deletions(-)
+
+diff --git a/include/nlohmann/detail/meta/type_traits.hpp b/include/nlohmann/detail/meta/type_traits.hpp
+index 280f6953..dd0b3084 100644
+--- a/include/nlohmann/detail/meta/type_traits.hpp
++++ b/include/nlohmann/detail/meta/type_traits.hpp
+@@ -41,6 +41,19 @@ template<typename> struct is_basic_json : std::false_type {};
+ NLOHMANN_BASIC_JSON_TPL_DECLARATION
+ struct is_basic_json<NLOHMANN_BASIC_JSON_TPL> : std::true_type {};
+
++//////////////////////
++// jspn_ref helpers //
++//////////////////////
++
++template <typename>
++class json_ref;
++
++template<typename>
++struct is_json_ref : std::false_type {};
++
++template <typename T>
++struct is_json_ref<json_ref<T>> : std::true_type {};
++
+ //////////////////////////
+ // aliases for detected //
+ //////////////////////////
+diff --git a/include/nlohmann/json.hpp b/include/nlohmann/json.hpp
+index 336d69fe..0598efc8 100644
+--- a/include/nlohmann/json.hpp
++++ b/include/nlohmann/json.hpp
+@@ -1773,10 +1773,10 @@ class basic_json
+ // other constructors and destructor //
+ ///////////////////////////////////////
+
+- /// @private
+- basic_json(const detail::json_ref<basic_json>& ref)
+- : basic_json(ref.moved_or_copied())
+- {}
++ template <typename JsonRef,
++ detail::enable_if_t<detail::conjunction<detail::is_json_ref<JsonRef>,
++ std::is_same<typename JsonRef::value_type, basic_json>>::value, int> = 0 >
++ basic_json(const JsonRef& ref) : basic_json(ref.moved_or_copied()) {}
+
+ /*!
+ @brief copy constructor
+diff --git a/single_include/nlohmann/json.hpp b/single_include/nlohmann/json.hpp
+index 09464f3b..8927180e 100644
+--- a/single_include/nlohmann/json.hpp
++++ b/single_include/nlohmann/json.hpp
+@@ -2794,6 +2794,19 @@ template<typename> struct is_basic_json : std::false_type {};
+ NLOHMANN_BASIC_JSON_TPL_DECLARATION
+ struct is_basic_json<NLOHMANN_BASIC_JSON_TPL> : std::true_type {};
+
++//////////////////////
++// jspn_ref helpers //
++//////////////////////
++
++template <typename>
++class json_ref;
++
++template<typename>
++struct is_json_ref : std::false_type {};
++
++template <typename T>
++struct is_json_ref<json_ref<T>> : std::true_type {};
++
+ //////////////////////////
+ // aliases for detected //
+ //////////////////////////
+@@ -16632,10 +16645,10 @@ class basic_json
+ // other constructors and destructor //
+ ///////////////////////////////////////
+
+- /// @private
+- basic_json(const detail::json_ref<basic_json>& ref)
+- : basic_json(ref.moved_or_copied())
+- {}
++ template <typename JsonRef,
++ detail::enable_if_t<detail::conjunction<detail::is_json_ref<JsonRef>,
++ std::is_same<typename JsonRef::value_type, basic_json>>::value, int> = 0 >
++ basic_json(const JsonRef& ref) : basic_json(ref.moved_or_copied()) {}
+
+ /*!
+ @brief copy constructor
+--
+2.21.0 (Apple Git-122)
+
diff --git a/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json/0001-typo-fix.patch b/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json/0001-typo-fix.patch
new file mode 100644
index 000000000..6af4e9740
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json/0001-typo-fix.patch
@@ -0,0 +1,43 @@
+From 70be9751cd60e622ce6463f41d47c02fc2d83cbc Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Art=C3=B6m=20Bakri=20Al-Sarmini?= <3sz3tt+git@gmail.com>
+Date: Sun, 12 Apr 2020 23:42:26 +0300
+Subject: [PATCH] typo fix
+
+Upstream-Status: Backport [https://github.com/nlohmann/json/commit/70be9751cd60e622ce6463f41d47c02fc2d83cbc]
+
+Signed-off-by: Andrew Geissler <geissonator@gmail.com>
+
+---
+ include/nlohmann/detail/meta/type_traits.hpp | 2 +-
+ single_include/nlohmann/json.hpp | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/include/nlohmann/detail/meta/type_traits.hpp b/include/nlohmann/detail/meta/type_traits.hpp
+index dd0b3084..13e92cb4 100644
+--- a/include/nlohmann/detail/meta/type_traits.hpp
++++ b/include/nlohmann/detail/meta/type_traits.hpp
+@@ -42,7 +42,7 @@ NLOHMANN_BASIC_JSON_TPL_DECLARATION
+ struct is_basic_json<NLOHMANN_BASIC_JSON_TPL> : std::true_type {};
+
+ //////////////////////
+-// jspn_ref helpers //
++// json_ref helpers //
+ //////////////////////
+
+ template <typename>
+diff --git a/single_include/nlohmann/json.hpp b/single_include/nlohmann/json.hpp
+index 8927180e..294e7509 100644
+--- a/single_include/nlohmann/json.hpp
++++ b/single_include/nlohmann/json.hpp
+@@ -2795,7 +2795,7 @@ NLOHMANN_BASIC_JSON_TPL_DECLARATION
+ struct is_basic_json<NLOHMANN_BASIC_JSON_TPL> : std::true_type {};
+
+ //////////////////////
+-// jspn_ref helpers //
++// json_ref helpers //
+ //////////////////////
+
+ template <typename>
+--
+2.21.0 (Apple Git-122)
+
diff --git a/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.7.3.bb b/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.7.3.bb
index 86fe673b4..5766194d2 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.7.3.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.7.3.bb
@@ -4,7 +4,10 @@ SECTION = "libs"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE.MIT;md5=f5f7c71504da070bcf4f090205ce1080"
-SRC_URI = "git://github.com/nlohmann/json.git;nobranch=1"
+SRC_URI = "git://github.com/nlohmann/json.git;nobranch=1 \
+ file://0001-Templatize-basic_json-ctor-from-json_ref.patch \
+ file://0001-typo-fix.patch \
+ "
SRCREV = "e7b3b40b5a95bc74b9a7f662830a27c49ffc01b4"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0001-Disable-running-gyp-files-for-bundled-deps.patch b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0001-Disable-running-gyp-files-for-bundled-deps.patch
index 5d0dc03b6..4dd121f48 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0001-Disable-running-gyp-files-for-bundled-deps.patch
+++ b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0001-Disable-running-gyp-files-for-bundled-deps.patch
@@ -4,23 +4,22 @@ Date: Thu, 27 Apr 2017 14:25:42 +0200
Subject: [PATCH] Disable running gyp on shared deps
---
- Makefile | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile b/Makefile
-index a98772f..f5663e2 100644
+index 0947300f24..6c98691984 100644
--- a/Makefile
+++ b/Makefile
-@@ -123,8 +123,8 @@ with-code-cache:
- test-code-cache: with-code-cache
- $(PYTHON) tools/test.py $(PARALLEL_ARGS) --mode=$(BUILDTYPE_LOWER) code-cache
+@@ -141,7 +141,7 @@ test-code-cache: with-code-cache
+ echo "'test-code-cache' target is a noop"
--out/Makefile: common.gypi deps/uv/uv.gyp deps/http_parser/http_parser.gyp \
-- deps/zlib/zlib.gyp deps/v8/gypfiles/toolchain.gypi \
-+out/Makefile: common.gypi deps/http_parser/http_parser.gyp \
-+ deps/v8/gypfiles/toolchain.gypi \
- deps/v8/gypfiles/features.gypi deps/v8/gypfiles/v8.gyp node.gyp \
- config.gypi
+ out/Makefile: config.gypi common.gypi node.gyp \
+- deps/uv/uv.gyp deps/http_parser/http_parser.gyp deps/zlib/zlib.gyp \
++ deps/http_parser/http_parser.gyp \
+ tools/v8_gypfiles/toolchain.gypi tools/v8_gypfiles/features.gypi \
+ tools/v8_gypfiles/inspector.gypi tools/v8_gypfiles/v8.gyp
$(PYTHON) tools/gyp_node.py -f make
--
-2.19.2
+2.20.1
+
diff --git a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0001-build-allow-passing-multiple-libs-to-pkg_config.patch b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0001-build-allow-passing-multiple-libs-to-pkg_config.patch
new file mode 100644
index 000000000..13edf229b
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0001-build-allow-passing-multiple-libs-to-pkg_config.patch
@@ -0,0 +1,41 @@
+From fdaa0e3bef93c5c72a7258b5f1e30718e7d81f9b Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andr=C3=A9=20Draszik?= <git@andred.net>
+Date: Mon, 2 Mar 2020 12:17:09 +0000
+Subject: [PATCH 1/2] build: allow passing multiple libs to pkg_config
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Sometimes it's necessary to pass multiple library names to pkg-config,
+e.g. the brotli shared libraries can be pulled in with
+ pkg-config libbrotlienc libbrotlidec
+
+Update the code to handle both, strings (as used so far), and lists
+of strings.
+
+Signed-off-by: André Draszik <git@andred.net>
+---
+Upstream-Status: Submitted [https://github.com/nodejs/node/pull/32046]
+ configure.py | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/configure.py b/configure.py
+index beb08df088..e3f78f2fed 100755
+--- a/configure.py
++++ b/configure.py
+@@ -680,7 +680,11 @@ def pkg_config(pkg):
+ retval = ()
+ for flag in ['--libs-only-l', '--cflags-only-I',
+ '--libs-only-L', '--modversion']:
+- args += [flag, pkg]
++ args += [flag]
++ if isinstance(pkg, list):
++ args += pkg
++ else:
++ args += [pkg]
+ try:
+ proc = subprocess.Popen(shlex.split(pkg_config) + args,
+ stdout=subprocess.PIPE)
+--
+2.25.0
+
diff --git a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0001-deps-V8-backport-3f8dc4b2e5ba.patch b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0001-deps-V8-backport-3f8dc4b2e5ba.patch
new file mode 100644
index 000000000..07dbdfe56
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0001-deps-V8-backport-3f8dc4b2e5ba.patch
@@ -0,0 +1,194 @@
+From 836311710ca8d49fdf4d619e3a738a445c413605 Mon Sep 17 00:00:00 2001
+From: Ujjwal Sharma <ryzokuken@disroot.org>
+Date: Wed, 22 Apr 2020 12:20:17 +0530
+Subject: [PATCH] deps: V8: backport 3f8dc4b2e5ba
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Original commit message:
+
+ [intl] Remove soon-to-be removed getAllFieldPositions
+
+ Needed to land ICU67.1 soon.
+
+ Bug: v8:10393
+ Change-Id: I3c7737ca600d6ccfdc46ffaddfb318ce60bc7618
+ Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2136489
+ Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
+ Commit-Queue: Frank Tang <ftang@chromium.org>
+ Cr-Commit-Position: refs/heads/master@{#67027}
+
+Refs: https://github.com/v8/v8/commit/3f8dc4b2e5baf77b463334c769af85b79d8c1463
+
+PR-URL: https://github.com/nodejs/node/pull/32993
+Reviewed-By: Michaël Zasso <targos@protonmail.com>
+Reviewed-By: Matheus Marchini <mat@mmarchini.me>
+Reviewed-By: Steven R Loomis <srloomis@us.ibm.com>
+Reviewed-By: Richard Lau <riclau@uk.ibm.com>
+---
+ common.gypi | 2 +-
+ deps/v8/src/objects/js-number-format.cc | 72 +++++++++++++------------
+ 2 files changed, 38 insertions(+), 36 deletions(-)
+
+diff --git a/common.gypi b/common.gypi
+index b86e5e0..a7b37e6 100644
+--- a/common.gypi
++++ b/common.gypi
+@@ -38,7 +38,7 @@
+
+ # Reset this number to 0 on major V8 upgrades.
+ # Increment by one for each non-official patch applied to deps/v8.
+- 'v8_embedder_string': '-node.16',
++ 'v8_embedder_string': '-node.17',
+
+ ##### V8 defaults for Node.js #####
+
+diff --git a/deps/v8/src/objects/js-number-format.cc b/deps/v8/src/objects/js-number-format.cc
+index d1e3ef4..757c665 100644
+--- a/deps/v8/src/objects/js-number-format.cc
++++ b/deps/v8/src/objects/js-number-format.cc
+@@ -1252,42 +1252,31 @@ MaybeHandle<JSNumberFormat> JSNumberFormat::New(Isolate* isolate,
+ }
+
+ namespace {
+-Maybe<icu::UnicodeString> IcuFormatNumber(
++Maybe<bool> IcuFormatNumber(
+ Isolate* isolate,
+ const icu::number::LocalizedNumberFormatter& number_format,
+- Handle<Object> numeric_obj, icu::FieldPositionIterator* fp_iter) {
++ Handle<Object> numeric_obj, icu::number::FormattedNumber* formatted) {
+ // If it is BigInt, handle it differently.
+ UErrorCode status = U_ZERO_ERROR;
+- icu::number::FormattedNumber formatted;
+ if (numeric_obj->IsBigInt()) {
+ Handle<BigInt> big_int = Handle<BigInt>::cast(numeric_obj);
+ Handle<String> big_int_string;
+ ASSIGN_RETURN_ON_EXCEPTION_VALUE(isolate, big_int_string,
+ BigInt::ToString(isolate, big_int),
+- Nothing<icu::UnicodeString>());
+- formatted = number_format.formatDecimal(
++ Nothing<bool>());
++ *formatted = number_format.formatDecimal(
+ {big_int_string->ToCString().get(), big_int_string->length()}, status);
+ } else {
+ double number = numeric_obj->Number();
+- formatted = number_format.formatDouble(number, status);
++ *formatted = number_format.formatDouble(number, status);
+ }
+ if (U_FAILURE(status)) {
+ // This happen because of icu data trimming trim out "unit".
+ // See https://bugs.chromium.org/p/v8/issues/detail?id=8641
+- THROW_NEW_ERROR_RETURN_VALUE(isolate,
+- NewTypeError(MessageTemplate::kIcuError),
+- Nothing<icu::UnicodeString>());
+- }
+- if (fp_iter) {
+- formatted.getAllFieldPositions(*fp_iter, status);
++ THROW_NEW_ERROR_RETURN_VALUE(
++ isolate, NewTypeError(MessageTemplate::kIcuError), Nothing<bool>());
+ }
+- icu::UnicodeString result = formatted.toString(status);
+- if (U_FAILURE(status)) {
+- THROW_NEW_ERROR_RETURN_VALUE(isolate,
+- NewTypeError(MessageTemplate::kIcuError),
+- Nothing<icu::UnicodeString>());
+- }
+- return Just(result);
++ return Just(true);
+ }
+
+ } // namespace
+@@ -1298,10 +1287,16 @@ MaybeHandle<String> JSNumberFormat::FormatNumeric(
+ Handle<Object> numeric_obj) {
+ DCHECK(numeric_obj->IsNumeric());
+
+- Maybe<icu::UnicodeString> maybe_format =
+- IcuFormatNumber(isolate, number_format, numeric_obj, nullptr);
++ icu::number::FormattedNumber formatted;
++ Maybe<bool> maybe_format =
++ IcuFormatNumber(isolate, number_format, numeric_obj, &formatted);
+ MAYBE_RETURN(maybe_format, Handle<String>());
+- return Intl::ToString(isolate, maybe_format.FromJust());
++ UErrorCode status = U_ZERO_ERROR;
++ icu::UnicodeString result = formatted.toString(status);
++ if (U_FAILURE(status)) {
++ THROW_NEW_ERROR(isolate, NewTypeError(MessageTemplate::kIcuError), String);
++ }
++ return Intl::ToString(isolate, result);
+ }
+
+ namespace {
+@@ -1414,12 +1409,18 @@ std::vector<NumberFormatSpan> FlattenRegionsToParts(
+ }
+
+ namespace {
+-Maybe<int> ConstructParts(Isolate* isolate, const icu::UnicodeString& formatted,
+- icu::FieldPositionIterator* fp_iter,
++Maybe<int> ConstructParts(Isolate* isolate,
++ icu::number::FormattedNumber* formatted,
+ Handle<JSArray> result, int start_index,
+ Handle<Object> numeric_obj, bool style_is_unit) {
++ UErrorCode status = U_ZERO_ERROR;
++ icu::UnicodeString formatted_text = formatted->toString(status);
++ if (U_FAILURE(status)) {
++ THROW_NEW_ERROR_RETURN_VALUE(
++ isolate, NewTypeError(MessageTemplate::kIcuError), Nothing<int>());
++ }
+ DCHECK(numeric_obj->IsNumeric());
+- int32_t length = formatted.length();
++ int32_t length = formatted_text.length();
+ int index = start_index;
+ if (length == 0) return Just(index);
+
+@@ -1428,13 +1429,14 @@ Maybe<int> ConstructParts(Isolate* isolate, const icu::UnicodeString& formatted,
+ // other region covers some part of the formatted string. It's possible
+ // there's another field with exactly the same begin and end as this backdrop,
+ // in which case the backdrop's field_id of -1 will give it lower priority.
+- regions.push_back(NumberFormatSpan(-1, 0, formatted.length()));
++ regions.push_back(NumberFormatSpan(-1, 0, formatted_text.length()));
+
+ {
+- icu::FieldPosition fp;
+- while (fp_iter->next(fp)) {
+- regions.push_back(NumberFormatSpan(fp.getField(), fp.getBeginIndex(),
+- fp.getEndIndex()));
++ icu::ConstrainedFieldPosition cfp;
++ cfp.constrainCategory(UFIELD_CATEGORY_NUMBER);
++ while (formatted->nextPosition(cfp, status)) {
++ regions.push_back(
++ NumberFormatSpan(cfp.getField(), cfp.getStart(), cfp.getLimit()));
+ }
+ }
+
+@@ -1456,7 +1458,7 @@ Maybe<int> ConstructParts(Isolate* isolate, const icu::UnicodeString& formatted,
+ Handle<String> substring;
+ ASSIGN_RETURN_ON_EXCEPTION_VALUE(
+ isolate, substring,
+- Intl::ToString(isolate, formatted, part.begin_pos, part.end_pos),
++ Intl::ToString(isolate, formatted_text, part.begin_pos, part.end_pos),
+ Nothing<int>());
+ Intl::AddElement(isolate, result, index, field_type_string, substring);
+ ++index;
+@@ -1476,14 +1478,14 @@ MaybeHandle<JSArray> JSNumberFormat::FormatToParts(
+ number_format->icu_number_formatter().raw();
+ CHECK_NOT_NULL(fmt);
+
+- icu::FieldPositionIterator fp_iter;
+- Maybe<icu::UnicodeString> maybe_format =
+- IcuFormatNumber(isolate, *fmt, numeric_obj, &fp_iter);
++ icu::number::FormattedNumber formatted;
++ Maybe<bool> maybe_format =
++ IcuFormatNumber(isolate, *fmt, numeric_obj, &formatted);
+ MAYBE_RETURN(maybe_format, Handle<JSArray>());
+
+ Handle<JSArray> result = factory->NewJSArray(0);
+ Maybe<int> maybe_format_to_parts = ConstructParts(
+- isolate, maybe_format.FromJust(), &fp_iter, result, 0, numeric_obj,
++ isolate, &formatted, result, 0, numeric_obj,
+ number_format->style() == JSNumberFormat::Style::UNIT);
+ MAYBE_RETURN(maybe_format_to_parts, Handle<JSArray>());
+
+--
+2.26.2
+
diff --git a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0002-Using-native-binaries.patch b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0002-Using-native-binaries.patch
new file mode 100644
index 000000000..b5142dc9c
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0002-Using-native-binaries.patch
@@ -0,0 +1,71 @@
+From 6c3ac20477a4bac643088f24df3c042e627fafa9 Mon Sep 17 00:00:00 2001
+From: Guillaume Burel <guillaume.burel@stormshield.eu>
+Date: Fri, 3 Jan 2020 11:25:54 +0100
+Subject: [PATCH] Using native binaries
+
+---
+ node.gyp | 4 ++--
+ tools/v8_gypfiles/v8.gyp | 11 ++++-------
+ 2 files changed, 6 insertions(+), 9 deletions(-)
+
+diff --git a/node.gyp b/node.gyp
+index 8f4dc518..d9389190 100644
+--- a/node.gyp
++++ b/node.gyp
+@@ -446,7 +446,7 @@
+ '<(SHARED_INTERMEDIATE_DIR)/node_code_cache.cc',
+ ],
+ 'action': [
+- '<@(_inputs)',
++ 'mkcodecache',
+ '<@(_outputs)',
+ ],
+ },
+@@ -471,7 +471,7 @@
+ '<(SHARED_INTERMEDIATE_DIR)/node_snapshot.cc',
+ ],
+ 'action': [
+- '<@(_inputs)',
++ 'node_mksnapshot',
+ '<@(_outputs)',
+ ],
+ },
+diff --git a/tools/v8_gypfiles/v8.gyp b/tools/v8_gypfiles/v8.gyp
+index a506a67d..c91f7dde 100644
+--- a/tools/v8_gypfiles/v8.gyp
++++ b/tools/v8_gypfiles/v8.gyp
+@@ -140,7 +140,8 @@
+ '<@(torque_outputs)',
+ ],
+ 'action': [
+- '<@(_inputs)',
++ 'torque',
++ '<@(torque_files)',
+ '-o', '<(torque_output_root)/torque-generated',
+ '-v8-root', '<(V8_ROOT)'
+ ],
+@@ -247,9 +248,7 @@
+ '<(generate_bytecode_builtins_list_output)',
+ ],
+ 'action': [
+- 'python',
+- '<(V8_ROOT)/tools/run.py',
+- '<@(_inputs)',
++ 'bytecode_builtins_list_generator',
+ '<@(_outputs)',
+ ],
+ },
+@@ -1396,9 +1395,7 @@
+ '<(SHARED_INTERMEDIATE_DIR)/src/regexp/special-case.cc',
+ ],
+ 'action': [
+- 'python',
+- '<(V8_ROOT)/tools/run.py',
+- '<@(_inputs)',
++ 'gen-regexp-special-case',
+ '<@(_outputs)',
+ ],
+ },
+--
+2.20.1
+
diff --git a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0002-Using-native-torque.patch b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0002-Using-native-torque.patch
deleted file mode 100644
index e9035f9eb..000000000
--- a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0002-Using-native-torque.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 4bbee5e3d58bc4911999f3ec2cc5aab8ded6717b Mon Sep 17 00:00:00 2001
-From: "Winker Matthias (TT-CA/ENG1)" <Matthias.Winker@de.bosch.com>
-Date: Tue, 11 Dec 2018 10:44:29 +0100
-Subject: [PATCH] Using native torque
-
----
- deps/v8/gypfiles/v8.gyp | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/deps/v8/gypfiles/v8.gyp b/deps/v8/gypfiles/v8.gyp
-index 8c78f02255..434168844e 100644
---- a/deps/v8/gypfiles/v8.gyp
-+++ b/deps/v8/gypfiles/v8.gyp
-@@ -2831,7 +2831,6 @@
- {
- 'action_name': 'run_torque',
- 'inputs': [ # Order matters.
-- '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)torque<(EXECUTABLE_SUFFIX)',
- '../src/builtins/base.tq',
- '../src/builtins/array.tq',
- '../src/builtins/typed-array.tq',
-@@ -2845,7 +2844,10 @@
- '<(SHARED_INTERMEDIATE_DIR)/torque-generated/builtins-typed-array-from-dsl-gen.cc',
- '<(SHARED_INTERMEDIATE_DIR)/torque-generated/builtins-typed-array-from-dsl-gen.h',
- ],
-- 'action': ['<@(_inputs)', '-o', '<(SHARED_INTERMEDIATE_DIR)/torque-generated'],
-+ 'action': [
-+ 'torque',
-+ '<@(_inputs)',
-+ '-o', '<(SHARED_INTERMEDIATE_DIR)/torque-generated'],
- },
- ],
- }, # torque
---
-2.19.2
-
diff --git a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0002-build-allow-use-of-system-installed-brotli.patch b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0002-build-allow-use-of-system-installed-brotli.patch
new file mode 100644
index 000000000..fc038f3aa
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0002-build-allow-use-of-system-installed-brotli.patch
@@ -0,0 +1,66 @@
+From f0f927feee8cb1fb173835d5c3f6beb6bf7d5e54 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andr=C3=A9=20Draszik?= <git@andred.net>
+Date: Mon, 2 Mar 2020 12:17:35 +0000
+Subject: [PATCH 2/2] build: allow use of system-installed brotli
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+brotli is available as a shared library since 2016, so it makes sense
+to allow its use as a system-installed version.
+
+Some of the infrastructure was in place already (node.gyp and
+node.gypi), but some bits in the configure script here were missing.
+
+Add them, keeping the default as before, to use the bundled version.
+
+Refs: https://github.com/google/brotli/pull/421
+Signed-off-by: André Draszik <git@andred.net>
+---
+Upstream-Status: Submitted [https://github.com/nodejs/node/pull/32046]
+ configure.py | 22 ++++++++++++++++++++++
+ 1 file changed, 22 insertions(+)
+
+diff --git a/configure.py b/configure.py
+index e3f78f2fed..0190e31b41 100755
+--- a/configure.py
++++ b/configure.py
+@@ -301,6 +301,27 @@ shared_optgroup.add_option('--shared-zlib-libpath',
+ dest='shared_zlib_libpath',
+ help='a directory to search for the shared zlib DLL')
+
++shared_optgroup.add_option('--shared-brotli',
++ action='store_true',
++ dest='shared_brotli',
++ help='link to a shared brotli DLL instead of static linking')
++
++shared_optgroup.add_option('--shared-brotli-includes',
++ action='store',
++ dest='shared_brotli_includes',
++ help='directory containing brotli header files')
++
++shared_optgroup.add_option('--shared-brotli-libname',
++ action='store',
++ dest='shared_brotli_libname',
++ default='brotlidec,brotlienc',
++ help='alternative lib name to link to [default: %default]')
++
++shared_optgroup.add_option('--shared-brotli-libpath',
++ action='store',
++ dest='shared_brotli_libpath',
++ help='a directory to search for the shared brotli DLL')
++
+ shared_optgroup.add_option('--shared-cares',
+ action='store_true',
+ dest='shared_cares',
+@@ -1692,6 +1713,7 @@ configure_napi(output)
+ configure_library('zlib', output)
+ configure_library('http_parser', output)
+ configure_library('libuv', output)
++configure_library('brotli', output, pkgname=['libbrotlidec', 'libbrotlienc'])
+ configure_library('cares', output, pkgname='libcares')
+ configure_library('nghttp2', output, pkgname='libnghttp2')
+ configure_v8(output)
+--
+2.25.0
+
diff --git a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0003-Install-both-binaries-and-use-libdir.patch b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0003-Install-both-binaries-and-use-libdir.patch
index 7aa70fec9..599f742b2 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0003-Install-both-binaries-and-use-libdir.patch
+++ b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0003-Install-both-binaries-and-use-libdir.patch
@@ -15,17 +15,16 @@ Stolen from [1]
Upstream-Status: Pending
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
-
---
configure.py | 7 +++++++
tools/install.py | 31 ++++++++++++++-----------------
2 files changed, 21 insertions(+), 17 deletions(-)
diff --git a/configure.py b/configure.py
-index cfd4207..eb26f7d 100755
+index 20cce214db..e2d78a2a51 100755
--- a/configure.py
+++ b/configure.py
-@@ -552,6 +552,12 @@ parser.add_option('--shared',
+@@ -559,6 +559,12 @@ parser.add_option('--shared',
help='compile shared library for embedding node in another project. ' +
'(This mode is not officially supported for regular applications)')
@@ -38,19 +37,19 @@ index cfd4207..eb26f7d 100755
parser.add_option('--without-v8-platform',
action='store_true',
dest='without_v8_platform',
-@@ -1095,6 +1101,7 @@ def configure_node(o):
- if options.code_cache_path:
- o['variables']['node_code_cache_path'] = options.code_cache_path
+@@ -1103,6 +1109,7 @@ def configure_node(o):
+ if o['variables']['want_separate_host_toolset'] == 0:
+ o['variables']['node_code_cache'] = 'yes' # For testing
o['variables']['node_shared'] = b(options.shared)
+ o['variables']['libdir'] = options.libdir
node_module_version = getmoduleversion.get_version()
if sys.platform == 'darwin':
diff --git a/tools/install.py b/tools/install.py
-index 028c32e..bf443c4 100755
+index 655802980a..fe4723bf15 100755
--- a/tools/install.py
+++ b/tools/install.py
-@@ -117,26 +117,23 @@ def subdir_files(path, dest, action):
+@@ -121,26 +121,23 @@ def subdir_files(path, dest, action):
def files(action):
is_windows = sys.platform == 'win32'
@@ -92,5 +91,5 @@ index 028c32e..bf443c4 100755
if 'true' == variables.get('node_use_dtrace'):
action(['out/Release/node.d'], 'lib/dtrace/node.d')
--
-2.23.0
+2.20.1
diff --git a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0004-Make-compatibility-with-gcc-4.8.patch b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0004-Make-compatibility-with-gcc-4.8.patch
deleted file mode 100644
index 925c085e9..000000000
--- a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0004-Make-compatibility-with-gcc-4.8.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-Implement function as wrapper for std::make_unique
-method to be compatible with gcc < 4.9 .
-"error::make_unique is not a member of 'std'"
-
-Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
-Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
-
-diff -Naur node-v10.15.1/src/cares_wrap.cc node-v10.15.1/src/cares_wrap.cc
---- node-v10.15.1/src/cares_wrap.cc 2019-01-29 08:20:50.000000000 +0100
-+++ node-v10.15.1/src/cares_wrap.cc 2019-02-21 16:22:25.489131665 +0100
-@@ -52,6 +52,16 @@
- # define AI_V4MAPPED 0
- #endif
-
-+#ifndef __cpp_lib_make_unique
-+namespace std {
-+ /// make_unique implementation
-+ template<typename T, typename... Args>
-+ std::unique_ptr<T> make_unique(Args&&... args) {
-+ return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
-+ }
-+}
-+#endif
-+
- namespace node {
- namespace cares_wrap {
-
-diff -Naur node-v10.15.1/src/inspector_agent.cc node-v10.15.1/src/inspector_agent.cc
---- node-v10.15.1/src/inspector_agent.cc 2019-01-29 08:20:50.000000000 +0100
-+++ node-v10.15.1/src/inspector_agent.cc 2019-02-21 16:22:09.000185992 +0100
-@@ -24,6 +24,16 @@
- #include <pthread.h>
- #endif // __POSIX__
-
-+#ifndef __cpp_lib_make_unique
-+namespace std {
-+ /// make_unique implementation
-+ template<typename T, typename... Args>
-+ std::unique_ptr<T> make_unique(Args&&... args) {
-+ return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
-+ }
-+}
-+#endif
-+
- namespace node {
- namespace inspector {
- namespace {
-
-diff --git a/src/inspector/main_thread_interface.cc b/src/inspector/main_thread_interface.cc
-index e374c0fd70..05d7d8c60f 100644
---- a/src/inspector/main_thread_interface.cc
-+++ b/src/inspector/main_thread_interface.cc
-@@ -6,6 +6,16 @@
- #include <functional>
- #include <unicode/unistr.h>
-
-+#ifndef __cpp_lib_make_unique
-+namespace std {
-+ /// make_unique implementation
-+ template<typename T, typename... Args>
-+ std::unique_ptr<T> make_unique(Args&&... args) {
-+ return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
-+ }
-+}
-+#endif
-+
- namespace node {
- namespace inspector {
- namespace {
diff --git a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0007-v8-don-t-override-ARM-CFLAGS.patch b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0004-v8-don-t-override-ARM-CFLAGS.patch
index eb2cbfb8b..97ed972ce 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0007-v8-don-t-override-ARM-CFLAGS.patch
+++ b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0004-v8-don-t-override-ARM-CFLAGS.patch
@@ -24,14 +24,14 @@ problems have been noted during compilation or runtime.
Upstream-Status: Inappropriate [oe-specific]
Signed-off-by: André Draszik <git@andred.net>
---
- deps/v8/gypfiles/toolchain.gypi | 52 ++-------------------------------
+ tools/v8_gypfiles/toolchain.gypi | 52 ++------------------------------
1 file changed, 2 insertions(+), 50 deletions(-)
-diff --git a/deps/v8/gypfiles/toolchain.gypi b/deps/v8/gypfiles/toolchain.gypi
-index 910a212..1390b15 100644
---- a/deps/v8/gypfiles/toolchain.gypi
-+++ b/deps/v8/gypfiles/toolchain.gypi
-@@ -199,31 +199,7 @@
+diff --git a/tools/v8_gypfiles/toolchain.gypi b/tools/v8_gypfiles/toolchain.gypi
+index 264b3e478e..0b41848145 100644
+--- a/tools/v8_gypfiles/toolchain.gypi
++++ b/tools/v8_gypfiles/toolchain.gypi
+@@ -211,31 +211,7 @@
'target_conditions': [
['_toolset=="host"', {
'conditions': [
@@ -64,7 +64,7 @@ index 910a212..1390b15 100644
# Host not built with an Arm CXX compiler (simulator build).
'conditions': [
[ 'arm_float_abi=="hard"', {
-@@ -242,31 +218,7 @@
+@@ -254,31 +230,7 @@
}], # _toolset=="host"
['_toolset=="target"', {
'conditions': [
@@ -98,5 +98,5 @@ index 910a212..1390b15 100644
'conditions': [
[ 'arm_float_abi=="hard"', {
--
-2.23.0.rc1
+2.20.1
diff --git a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0005-Link-atomic-library.patch b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0005-Link-atomic-library.patch
deleted file mode 100644
index 66ff18b4a..000000000
--- a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0005-Link-atomic-library.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-Link atomic library to fix missing undefined referrences
-like "undefined reference to `__atomic_fetch_add_8'"
-
-Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
-
-diff -Naur node-v10.15.1/deps/v8/gypfiles/v8.gyp node-v10.15.1/deps/v8/gypfiles/v8.gyp
---- node-v10.15.1/deps/v8/gypfiles/v8.gyp 2019-02-13 09:02:21.000000000 +0100
-+++ node-v10.15.1/deps/v8/gypfiles/v8.gyp 2019-02-15 21:27:11.755679660 +0100
-@@ -452,6 +452,11 @@
- '<(DEPTH)',
- '<(SHARED_INTERMEDIATE_DIR)'
- ],
-+ 'link_settings': {
-+ 'libraries': [
-+ '-latomic'
-+ ],
-+ },
- 'sources': [
- '<@(inspector_all_sources)',
- '../include//v8-inspector-protocol.h',
diff --git a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/big-endian.patch b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/big-endian.patch
new file mode 100644
index 000000000..529381842
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/big-endian.patch
@@ -0,0 +1,18 @@
+
+https://github.com/v8/v8/commit/878ccb33bd3cf0e6dc018ff8d15843f585ac07be
+
+did some automated cleanups but it missed big-endian code.
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+--- a/deps/v8/src/runtime/runtime-utils.h
++++ b/deps/v8/src/runtime/runtime-utils.h
+@@ -126,7 +126,7 @@ static inline ObjectPair MakePair(Object
+ #if defined(V8_TARGET_LITTLE_ENDIAN)
+ return x.ptr() | (static_cast<ObjectPair>(y.ptr()) << 32);
+ #elif defined(V8_TARGET_BIG_ENDIAN)
+- return y->ptr() | (static_cast<ObjectPair>(x->ptr()) << 32);
++ return y.ptr() | (static_cast<ObjectPair>(x.ptr()) << 32);
+ #else
+ #error Unknown endianness
+ #endif
diff --git a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/mips-warnings.patch b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/mips-warnings.patch
new file mode 100644
index 000000000..1a773f23d
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/mips-warnings.patch
@@ -0,0 +1,19 @@
+Add explicit static cast to fix narrowing warning
+
+Fixes
+deps/v8/src/codegen/mips/assembler-mips.cc:3556:44: error: non-constant-expression cannot be narrowed from type 'int' to 'size_t' (aka 'unsigned int') in initializer list [-Wc++11-narrowing]
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+--- a/deps/v8/src/codegen/mips/assembler-mips.cc
++++ b/deps/v8/src/codegen/mips/assembler-mips.cc
+@@ -3553,7 +3553,7 @@ void Assembler::GrowBuffer() {
+ reloc_info_writer.last_pc() + pc_delta);
+
+ // Relocate runtime entries.
+- Vector<byte> instructions{buffer_start_, pc_offset()};
++ Vector<byte> instructions{buffer_start_, static_cast<size_t>(pc_offset())};
+ Vector<const byte> reloc_info{reloc_info_writer.pos(), reloc_size};
+ for (RelocIterator it(instructions, reloc_info, 0); !it.done(); it.next()) {
+ RelocInfo::Mode rmode = it.rinfo()->rmode();
diff --git a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_10.17.0.bb b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_12.14.1.bb
index 71a47636b..9f9f320aa 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_10.17.0.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_12.14.1.bb
@@ -1,12 +1,12 @@
DESCRIPTION = "nodeJS Evented I/O for V8 JavaScript"
HOMEPAGE = "http://nodejs.org"
LICENSE = "MIT & BSD & Artistic-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=be980eb7ccafe287cb438076a65e888c"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=be4d5107c64dc3d7c57e3797e1a0674b"
DEPENDS = "openssl"
DEPENDS_append_class-target = " nodejs-native"
-inherit pkgconfig pythonnative
+inherit pkgconfig python3native
COMPATIBLE_MACHINE_armv4 = "(!.*armv4).*"
COMPATIBLE_MACHINE_armv5 = "(!.*armv5).*"
@@ -18,16 +18,19 @@ COMPATIBLE_HOST_riscv32 = "null"
SRC_URI = "http://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz \
file://0001-Disable-running-gyp-files-for-bundled-deps.patch \
file://0003-Install-both-binaries-and-use-libdir.patch \
- file://0004-Make-compatibility-with-gcc-4.8.patch \
- file://0007-v8-don-t-override-ARM-CFLAGS.patch \
+ file://0004-v8-don-t-override-ARM-CFLAGS.patch \
+ file://big-endian.patch \
+ file://0001-build-allow-passing-multiple-libs-to-pkg_config.patch \
+ file://0002-build-allow-use-of-system-installed-brotli.patch \
+ file://mips-warnings.patch \
+ file://0001-deps-V8-backport-3f8dc4b2e5ba.patch \
"
SRC_URI_append_class-target = " \
- file://0002-Using-native-torque.patch \
- file://0005-Link-atomic-library.patch \
+ file://0002-Using-native-binaries.patch \
"
-SRC_URI[md5sum] = "d5a56d0abf764a91f627f0690cd4b9f3"
-SRC_URI[sha256sum] = "412667d76bd5273c07cb69c215998109fd5bb35c874654f93e6a0132d666c58e"
+SRC_URI[md5sum] = "1c78a75f5c95321f533ecccca695e814"
+SRC_URI[sha256sum] = "877b4b842318b0e09bc754faf7343f2f097f0fc4f88ab9ae57cf9944e88e7adb"
S = "${WORKDIR}/node-v${PV}"
@@ -52,9 +55,9 @@ ARCHFLAGS_arm = "${@bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', '-
GYP_DEFINES_append_mipsel = " mips_arch_variant='r1' "
ARCHFLAGS ?= ""
-PACKAGECONFIG ??= "ares icu libuv zlib"
+PACKAGECONFIG ??= "ares brotli icu libuv zlib"
PACKAGECONFIG[ares] = "--shared-cares,,c-ares"
-PACKAGECONFIG[gyp] = ",,gyp-py2-native"
+PACKAGECONFIG[brotli] = "--shared-brotli,,brotli"
PACKAGECONFIG[icu] = "--with-intl=system-icu,--without-intl,icu"
PACKAGECONFIG[libuv] = "--shared-libuv,,libuv"
PACKAGECONFIG[nghttp2] = "--shared-nghttp2,,nghttp2"
@@ -83,8 +86,8 @@ python do_unpack() {
shutil.rmtree(d.getVar('S') + '/deps/openssl', True)
if 'ares' in d.getVar('PACKAGECONFIG'):
shutil.rmtree(d.getVar('S') + '/deps/cares', True)
- if 'gyp' in d.getVar('PACKAGECONFIG'):
- shutil.rmtree(d.getVar('S') + '/tools/gyp', True)
+ if 'brotli' in d.getVar('PACKAGECONFIG'):
+ shutil.rmtree(d.getVar('S') + '/deps/brotli', True)
if 'libuv' in d.getVar('PACKAGECONFIG'):
shutil.rmtree(d.getVar('S') + '/deps/uv', True)
if 'nghttp2' in d.getVar('PACKAGECONFIG'):
@@ -98,7 +101,9 @@ do_configure () {
export LD="${CXX}"
GYP_DEFINES="${GYP_DEFINES}" export GYP_DEFINES
# $TARGET_ARCH settings don't match --dest-cpu settings
- ./configure --prefix=${prefix} --without-snapshot --shared-openssl \
+ python3 configure.py --prefix=${prefix} --cross-compiling --without-snapshot --shared-openssl \
+ --without-dtrace \
+ --without-etw \
--dest-cpu="${@map_nodejs_arch(d.getVar('TARGET_ARCH'), d)}" \
--dest-os=linux \
--libdir=${D}${libdir} \
@@ -113,6 +118,10 @@ do_compile () {
do_install () {
oe_runmake install DESTDIR=${D}
+
+ # wasn't updated since 2009 and is the only thing requiring python2 in runtime
+ # ERROR: nodejs-12.14.1-r0 do_package_qa: QA Issue: /usr/lib/node_modules/npm/node_modules/node-gyp/gyp/samples/samples contained in package nodejs-npm requires /usr/bin/python, but no providers found in RDEPENDS_nodejs-npm? [file-rdeps]
+ rm -f ${D}${exec_prefix}/lib/node_modules/npm/node_modules/node-gyp/gyp/samples/samples
}
do_install_append_class-native() {
@@ -129,9 +138,15 @@ do_install_append_class-native() {
# npm-cli.js continues to use old shebang
sed "1s^.*^#\!/usr/bin/env node^g" -i ${D}${exec_prefix}/lib/node_modules/npm/bin/npm-cli.js
- # Install the native torque to provide it within sysroot for the target compilation
+ # Install the native binaries to provide it within sysroot for the target compilation
install -d ${D}${bindir}
install -m 0755 ${S}/out/Release/torque ${D}${bindir}/torque
+ install -m 0755 ${S}/out/Release/bytecode_builtins_list_generator ${D}${bindir}/bytecode_builtins_list_generator
+ if ${@bb.utils.contains('PACKAGECONFIG','icu','true','false',d)}; then
+ install -m 0755 ${S}/out/Release/gen-regexp-special-case ${D}${bindir}/gen-regexp-special-case
+ fi
+ install -m 0755 ${S}/out/Release/mkcodecache ${D}${bindir}/mkcodecache
+ install -m 0755 ${S}/out/Release/node_mksnapshot ${D}${bindir}/node_mksnapshot
}
do_install_append_class-target() {
@@ -140,11 +155,10 @@ do_install_append_class-target() {
PACKAGES =+ "${PN}-npm"
FILES_${PN}-npm = "${exec_prefix}/lib/node_modules ${bindir}/npm ${bindir}/npx"
-RDEPENDS_${PN}-npm = "bash python-core python-shell python-datetime python-subprocess python-textutils \
- python-compiler python-misc python-multiprocessing"
+RDEPENDS_${PN}-npm = "bash python3-core python3-shell python3-datetime \
+ python3-misc python3-multiprocessing"
PACKAGES =+ "${PN}-systemtap"
FILES_${PN}-systemtap = "${datadir}/systemtap"
-
BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/octave/octave_4.4.1.bb b/meta-openembedded/meta-oe/recipes-devtools/octave/octave_4.4.1.bb
index 71d24504f..ec3e8258a 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/octave/octave_4.4.1.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/octave/octave_4.4.1.bb
@@ -7,11 +7,11 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464"
DEPENDS = "gperf-native texinfo lapack pcre readline"
-inherit autotools pkgconfig texinfo gettext
+inherit autotools pkgconfig texinfo gettext mime-xdg
EXTRA_OECONF = "--disable-java --disable-docs"
-SRC_URI = "${GNU_MIRROR}/octave/${PN}-${PV}.tar.gz \
+SRC_URI = "${GNU_MIRROR}/octave/${BPN}-${PV}.tar.gz \
file://fix-blas-library-integer-size.patch \
"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd_git.bb b/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd_git.bb
index e95f1cfa5..f01b224fa 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd_git.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd_git.bb
@@ -16,7 +16,7 @@ SRCREV_FORMAT = "openocd"
SRCREV_openocd = "ded67990255cc1e63c77832ffd6e6bef9120873d"
SRCREV_git2cl = "8373c9f74993e218a08819cbcdbab3f3564bbeba"
SRCREV_jimtcl = "dc4ba7770d580800634f90b67a24e077b4a26d98"
-SRCREV_libjaylink = "cfccbc9d6763733f1d14dff3c2dc5b75aaef136b"
+SRCREV_libjaylink = "3322dfa5e7aa56f5b12b7f2197e3e6b850b7b66e"
PV = "0.10+gitr${SRCPV}"
S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/pcimem/pcimem_2.0.bb b/meta-openembedded/meta-oe/recipes-devtools/pcimem/pcimem_2.0.bb
new file mode 100644
index 000000000..107d5a8b7
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/pcimem/pcimem_2.0.bb
@@ -0,0 +1,17 @@
+SUMMARY = "Simple program to read & write to a pci device from userspace"
+HOMEPAGE = "https://github.com/billfarrow/pcimem"
+BUGTRACKER = "https://github.com/billfarrow/pcimem/issues"
+SECTION = "devel"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+COMPATIBLE_HOST = "(x86_64|aarch64|arm)"
+
+SRCREV = "09724edb1783a98da2b7ae53c5aaa87493aabc9b"
+SRC_URI = "git://github.com/billfarrow/pcimem.git "
+
+S = "${WORKDIR}/git"
+
+do_install() {
+ install -D -m 0755 ${B}/pcimem ${D}${bindir}/pcimem
+}
diff --git a/meta-openembedded/meta-oe/recipes-devtools/perl/libdbi-perl_1.642.bb b/meta-openembedded/meta-oe/recipes-devtools/perl/libdbi-perl_1.643.bb
index 7532b3fa2..75fad46bf 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/perl/libdbi-perl_1.642.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/perl/libdbi-perl_1.643.bb
@@ -10,8 +10,8 @@ LICENSE = "Artistic-1.0 | GPL-1.0+"
LIC_FILES_CHKSUM = "file://LICENSE;md5=10982c7148e0a012c0fd80534522f5c5"
SRC_URI = "http://search.cpan.org/CPAN/authors/id/T/TI/TIMB/DBI-${PV}.tar.gz"
-SRC_URI[md5sum] = "f2ba18b5cea1c8cb322a62be0a847f3d"
-SRC_URI[sha256sum] = "3f2025023a56286cebd15cb495e36ccd9b456c3cc229bf2ce1f69e9ebfc27f5d"
+SRC_URI[md5sum] = "352f80b1e23769c116082a90905d7398"
+SRC_URI[sha256sum] = "8a2b993db560a2c373c174ee976a51027dd780ec766ae17620c20393d2e836fa"
S = "${WORKDIR}/DBI-${PV}"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/perl/libio-pty-perl_1.12.bb b/meta-openembedded/meta-oe/recipes-devtools/perl/libio-pty-perl_1.14.bb
index b1a95e577..1ab21d1dc 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/perl/libio-pty-perl_1.12.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/perl/libio-pty-perl_1.14.bb
@@ -5,8 +5,8 @@ LIC_FILES_CHKSUM = "file://META.yml;beginline=11;endline=12;md5=b2562f94907eeb42
SRC_URI = "http://www.cpan.org/modules/by-module/IO/IO-Tty-${PV}.tar.gz"
-SRC_URI[md5sum] = "11695a1a516b3bd1b90ce75ff0ce3e6d"
-SRC_URI[sha256sum] = "a2ef8770d3309178203f8c8ac25e623e63cf76e97830fd3be280ade1a555290d"
+SRC_URI[md5sum] = "70bcec4b1b19838ed209fb96a13f3e89"
+SRC_URI[sha256sum] = "51f3e4e311128bdb2c6a15f02c51376cb852ccf9df9bebe8dfbb5f9561eb95b5"
S = "${WORKDIR}/IO-Tty-${PV}"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/perl/libjson-perl_4.02000.bb b/meta-openembedded/meta-oe/recipes-devtools/perl/libjson-perl_4.02000.bb
new file mode 100644
index 000000000..4e5a8a6ff
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/perl/libjson-perl_4.02000.bb
@@ -0,0 +1,22 @@
+SUMMARY = "Perl module to decode/encode json files"
+DESCRIPTION = "This package contains the JSON.pm module with friends. \
+The module implements JSON encode/decode."
+
+HOMEPAGE = "https://metacpan.org/pod/JSON"
+SECTION = "libs"
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+LIC_FILES_CHKSUM = "file://README;beginline=1171;endline=1176;md5=3be2cb8159d094768e67386c453e8bbe"
+
+DEPENDS += "perl"
+
+SRC_URI = "git://github.com/makamaka/JSON.git;protocol=https"
+
+SRCREV = "42a6324df654e92419512cee80c0b49155d9e56d"
+
+S = "${WORKDIR}/git"
+
+inherit cpan
+
+RDEPENDS_${PN} += "perl"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/perl/libperlio-gzip-perl_0.20.bb b/meta-openembedded/meta-oe/recipes-devtools/perl/libperlio-gzip-perl_0.20.bb
new file mode 100644
index 000000000..ffe7a7d99
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/perl/libperlio-gzip-perl_0.20.bb
@@ -0,0 +1,30 @@
+SUMMARY = "Perl module to manipulate and access gzip files"
+DESCRIPTION = "This package contains the gzip.pm module with friends. \
+The module implements perlio layer for gzip."
+
+HOMEPAGE = "https://metacpan.org/pod/PerlIO::gzip"
+SECTION = "libs"
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+LIC_FILES_CHKSUM = "file://README;beginline=55;endline=61;md5=bc3da2dec1fbea59ac91172c5e0eb837"
+
+DEPENDS += "perl"
+
+SRC_URI = "https://cpan.metacpan.org/authors/id/N/NW/NWCLARK/PerlIO-gzip-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "0393eae5d0b23df6cf40ed44af7d711c"
+SRC_URI[sha256sum] = "4848679a3f201e3f3b0c5f6f9526e602af52923ffa471a2a3657db786bd3bdc5"
+
+S = "${WORKDIR}/PerlIO-gzip-${PV}"
+
+EXTRA_CPANFLAGS = "EXPATLIBPATH=${STAGING_LIBDIR} EXPATINCPATH=${STAGING_INCDIR}"
+
+inherit cpan
+
+do_compile() {
+ export LIBC="$(find ${STAGING_DIR_TARGET}/${base_libdir}/ -name 'libc-*.so')"
+ cpan_do_compile
+}
+
+RDEPENDS_${PN} += "perl perl-module-perlio"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-Use-pkg-config-for-libxml2-detection.patch b/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-Use-pkg-config-for-libxml2-detection.patch
deleted file mode 100644
index ccc6d4ede..000000000
--- a/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-Use-pkg-config-for-libxml2-detection.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-Use pkg-config for libxml2 detection.
-
-xml2-config does not work. Use pkgconfig to set CPPFLAGS and LIBS.
-
-Upstream-Status: Inappropriate [configuration]
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- configure.in | 15 ++-------------
- 1 file changed, 2 insertions(+), 13 deletions(-)
---- a/acinclude.m4
-+++ b/acinclude.m4
-@@ -2481,8 +2481,8 @@ AC_DEFUN([PHP_SETUP_LIBXML], [
- LIBXML_VERSION=`expr [$]1 \* 1000000 + [$]2 \* 1000 + [$]3`
- if test "$LIBXML_VERSION" -ge "2006011"; then
- found_libxml=yes
-- LIBXML_LIBS=`$XML2_CONFIG --libs`
-- LIBXML_INCS=`$XML2_CONFIG --cflags`
-+ LIBXML_LIBS=`pkg-config --libs libxml-2.0`
-+ LIBXML_INCS=`pkg-config --cflags libxml-2.0`
- else
- AC_MSG_ERROR([libxml2 version 2.6.11 or greater required.])
- fi
diff --git a/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-acinclude.m4-skip-binconfig-check-for-libxml.patch b/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-acinclude.m4-skip-binconfig-check-for-libxml.patch
deleted file mode 100644
index 15329261b..000000000
--- a/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-acinclude.m4-skip-binconfig-check-for-libxml.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From a2d146b8dd9d02f523d1e205d79792626a71dec3 Mon Sep 17 00:00:00 2001
-From: Anuj Mittal <anuj.mittal@intel.com>
-Date: Mon, 2 Apr 2018 15:27:09 +0800
-Subject: [PATCH] acinclude.m4: skip binconfig check for libxml
-
-We want libxml flags to be picked up using pkg-config instead of the
-xml2-config file.
-
-Upstream-Status: Inappropriate [OE-specific]
-
-Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
-
----
- acinclude.m4 | 29 -----------------------------
- 1 file changed, 29 deletions(-)
-
-diff --git a/acinclude.m4 b/acinclude.m4
-index d42d708..d32766a 100644
---- a/acinclude.m4
-+++ b/acinclude.m4
-@@ -2525,35 +2525,6 @@ dnl
- AC_DEFUN([PHP_SETUP_LIBXML], [
- found_libxml=no
-
-- dnl First try to find xml2-config
-- AC_CACHE_CHECK([for xml2-config path], ac_cv_php_xml2_config_path,
-- [
-- for i in $PHP_LIBXML_DIR /usr/local /usr; do
-- if test -x "$i/bin/xml2-config"; then
-- ac_cv_php_xml2_config_path="$i/bin/xml2-config"
-- break
-- fi
-- done
-- ])
--
-- if test -x "$ac_cv_php_xml2_config_path"; then
-- XML2_CONFIG="$ac_cv_php_xml2_config_path"
-- libxml_full_version=`$XML2_CONFIG --version`
-- ac_IFS=$IFS
-- IFS="."
-- set $libxml_full_version
-- IFS=$ac_IFS
-- LIBXML_VERSION=`expr [$]1 \* 1000000 + [$]2 \* 1000 + [$]3`
-- if test "$LIBXML_VERSION" -ge "2006011"; then
-- found_libxml=yes
-- LIBXML_LIBS=`$XML2_CONFIG --libs`
-- LIBXML_INCS=`$XML2_CONFIG --cflags`
-- else
-- AC_MSG_ERROR([libxml2 version 2.6.11 or greater required.])
-- fi
-- fi
--
-- dnl If xml2-config fails, try pkg-config
- if test "$found_libxml" = "no"; then
- if test -z "$PKG_CONFIG"; then
- AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
diff --git a/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-configure.ac-don-t-include-build-libtool.m4.patch b/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-configure.ac-don-t-include-build-libtool.m4.patch
new file mode 100644
index 000000000..2861366a6
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-configure.ac-don-t-include-build-libtool.m4.patch
@@ -0,0 +1,30 @@
+From f5a34e771532b8433f307b679500c26af328ba35 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Fri, 17 Apr 2020 15:01:57 +0800
+Subject: [PATCH] configure.ac: don't include build/libtool.m4
+
+we delete build/libtool.m4 before do_configure,
+we will use libtool.m4 under ACLOCALDIR
+
+Upstream-Status: Inappropriate [oe-specific]
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ configure.ac | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 06c6a27..f85144e 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -6,7 +6,6 @@ dnl ----------------------------------------------------------------------------
+ m4_include([build/ax_check_compile_flag.m4])
+ m4_include([build/ax_func_which_gethostbyname_r.m4])
+ m4_include([build/ax_gcc_func_attribute.m4])
+-m4_include([build/libtool.m4])
+ m4_include([build/php_cxx_compile_stdcxx.m4])
+ m4_include([build/php.m4])
+ m4_include([build/pkg.m4])
+--
+2.7.4
+
diff --git a/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-main-php_ini.c-build-empty-php_load_zend_extension_c.patch b/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-main-php_ini.c-build-empty-php_load_zend_extension_c.patch
deleted file mode 100644
index fce9738f5..000000000
--- a/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-main-php_ini.c-build-empty-php_load_zend_extension_c.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-From 2842aa2a078eb1cad55540b61e7edf111395150d Mon Sep 17 00:00:00 2001
-From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
-Date: Mon, 26 Feb 2018 19:30:55 +0100
-Subject: [PATCH] main/php_ini.c: build empty php_load_zend_extension_cb() when
- !HAVE_LIBDL
-
-Commit 0782a7fc6314c8bd3cbfd57f12d0479bf9cc8dc7 ("Fixed bug #74866
-extension_dir = "./ext" now use current directory for base") modified
-the php_load_zend_extension_cb() function to use php_load_shlib(), and
-pass a handle to the newly introduced zend_load_extension_handle()
-function instead of passing the extension path to
-zend_load_extension().
-
-While doing so, it introduced a call to php_load_shlib() from code
-that is built even when HAVE_LIBDL is not defined. However,
-php_load_shlib() is not implemented when HAVE_LIBDL is not defined,
-for obvious reasons.
-
-It turns out that zend_load_extension_handle() anyway doesn't do
-anything when ZEND_EXTENSIONS_SUPPORT is defined to 0, and
-ZEND_EXTENSIONS_SUPPORT is not defined when HAVE_LIBDL is not defined
-(Zend/zend_portability.h).
-
-Fixes the following build failure when building on a system that
-doesn't have libdl:
-
-main/php_ini.o: In function `php_load_zend_extension_cb':
-php_ini.c:(.text+0x478): undefined reference to `php_load_shlib'
-php_ini.c:(.text+0x4b0): undefined reference to `php_load_shlib'
-collect2: error: ld returned 1 exit status
-
-Upstream-Status: Backport [http://git.php.net/?p=php-src.git;a=commit;h=2842aa2a078eb1cad55540b61e7edf111395150d]
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
-Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
----
- main/php_ini.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/main/php_ini.c b/main/php_ini.c
-index ba58eb1..fca263e 100644
---- a/main/php_ini.c
-+++ b/main/php_ini.c
-@@ -350,6 +350,7 @@ static void php_load_php_extension_cb(void *arg)
-
- /* {{{ php_load_zend_extension_cb
- */
-+#ifdef HAVE_LIBDL
- static void php_load_zend_extension_cb(void *arg)
- {
- char *filename = *((char **) arg);
-@@ -409,6 +410,9 @@ static void php_load_zend_extension_cb(void *arg)
- efree(libpath);
- }
- }
-+#else
-+static void php_load_zend_extension_cb(void *arg) { }
-+#endif
- /* }}} */
-
- /* {{{ php_init_config
---
-2.7.4
-
diff --git a/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-opcache-config.m4-enable-opcache.patch b/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-opcache-config.m4-enable-opcache.patch
index 34f433f40..1f3e683a0 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-opcache-config.m4-enable-opcache.patch
+++ b/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-opcache-config.m4-enable-opcache.patch
@@ -1,30 +1,33 @@
-From 8de5ba69d20d049b8ca983a9470c7303142ec0b3 Mon Sep 17 00:00:00 2001
-From: Changqing Li <changqing.li@windriver.com>
-Date: Sun, 28 Apr 2019 16:55:13 +0800
-Subject: [PATCH] From fb139d9707dabe1684b472a08a6eb5761ede4a3a Mon Sep 17
- 00:00:00 2001 From: Changqing Li <changqing.li@windriver.com> Date: Tue, 12
- Feb 2019 14:56:16 +0800 Subject: [PATCH] opcache/config.m4: enable opcache
+From a74b42098aededd296ec6a3cd4cf5a17e59d6f29 Mon Sep 17 00:00:00 2001
+From: Claude Bing <cbing@cybernetics.com>
+Date: Fri, 8 May 2020 10:15:32 -0400
+Subject: [PATCH] opcache/config.m4: enable opcache
-We can't use AC_TRY_RUN to run programs in a cross compile environment. Set
-the variables directly instead since we know that we'd be running on latest
+We can't use AC_TRY_RUN to run programs in a cross compile environment.
+Set
+the variables directly instead since we know that we'd be running on
+latest
enough linux kernel.
Upstream-Status: Inappropriate [Configuration]
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
-update patch to version 7.3.4
+update patch to version 7.4.4
Signed-off-by: Changqing Li <changqing.li@windriver.com>
+
+fix issue linking with librt
+Signed-off-by: Claude Bing <cbing@cybernetics.com>
---
- ext/opcache/config.m4 | 312 +-------------------------------------------------
- 1 file changed, 6 insertions(+), 306 deletions(-)
+ ext/opcache/config.m4 | 195 +-----------------------------------------
+ 1 file changed, 4 insertions(+), 191 deletions(-)
diff --git a/ext/opcache/config.m4 b/ext/opcache/config.m4
-index 4810217..22c3d61 100644
+index 6c40cafc1c..6569aa9e1c 100644
--- a/ext/opcache/config.m4
+++ b/ext/opcache/config.m4
-@@ -27,319 +27,19 @@ if test "$PHP_OPCACHE" != "no"; then
- AC_CHECK_HEADERS([unistd.h sys/uio.h])
+@@ -23,201 +23,14 @@ if test "$PHP_OPCACHE" != "no"; then
+ AC_CHECK_FUNCS([mprotect])
AC_MSG_CHECKING(for sysvipc shared memory support)
- AC_RUN_IFELSE([AC_LANG_SOURCE([[
@@ -95,9 +98,8 @@ index 4810217..22c3d61 100644
- AC_DEFINE(HAVE_SHM_IPC, 1, [Define if you have SysV IPC SHM support])
- msg=yes],[msg=no],[msg=no])
- AC_MSG_RESULT([$msg])
--
+ AC_DEFINE(HAVE_SHM_IPC, 1, [Define if you have SysV IPC SHM support])
-+
+
AC_MSG_CHECKING(for mmap() using MAP_ANON shared memory support)
- AC_RUN_IFELSE([AC_LANG_SOURCE([[
-#include <sys/types.h>
@@ -114,7 +116,8 @@ index 4810217..22c3d61 100644
-#ifndef MAP_FAILED
-# define MAP_FAILED ((void*)-1)
-#endif
--
++ AC_DEFINE(HAVE_SHM_MMAP_ANON, 1, [Define if you have mmap(MAP_ANON) SHM support])
+
-int main() {
- pid_t pid;
- int status;
@@ -149,64 +152,8 @@ index 4810217..22c3d61 100644
- AC_DEFINE(HAVE_SHM_MMAP_ANON, 1, [Define if you have mmap(MAP_ANON) SHM support])
- msg=yes],[msg=no],[msg=no])
- AC_MSG_RESULT([$msg])
-+ AC_DEFINE(HAVE_SHM_MMAP_ANON, 1, [Define if you have mmap(MAP_ANON) SHM support])
-
- AC_MSG_CHECKING(for mmap() using /dev/zero shared memory support)
-- AC_RUN_IFELSE([AC_LANG_SOURCE([[
--#include <sys/types.h>
--#include <sys/wait.h>
--#include <sys/mman.h>
--#include <sys/stat.h>
--#include <fcntl.h>
--#include <unistd.h>
--#include <string.h>
--
--#ifndef MAP_FAILED
--# define MAP_FAILED ((void*)-1)
--#endif
--
--int main() {
-- pid_t pid;
-- int status;
-- int fd;
-- char *shm;
--
-- fd = open("/dev/zero", O_RDWR, S_IRUSR | S_IWUSR);
-- if (fd == -1) {
-- return 1;
-- }
--
-- shm = mmap(NULL, 4096, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
-- if (shm == MAP_FAILED) {
-- return 2;
-- }
-
-- strcpy(shm, "hello");
--
-- pid = fork();
-- if (pid < 0) {
-- return 5;
-- } else if (pid == 0) {
-- strcpy(shm, "bye");
-- return 6;
-- }
-- if (wait(&status) != pid) {
-- return 7;
-- }
-- if (!WIFEXITED(status) || WEXITSTATUS(status) != 6) {
-- return 8;
-- }
-- if (strcmp(shm, "bye") != 0) {
-- return 9;
-- }
-- return 0;
--}
--]])],[dnl
-- AC_DEFINE(HAVE_SHM_MMAP_ZERO, 1, [Define if you have mmap("/dev/zero") SHM support])
-- msg=yes],[msg=no],[msg=no])
-- AC_MSG_RESULT([$msg])
-+ AC_DEFINE(HAVE_SHM_MMAP_ZERO, 1, [Define if you have mmap("/dev/zero") SHM support])
-
+- PHP_CHECK_FUNC_LIB(shm_open, rt)
AC_MSG_CHECKING(for mmap() using shm_open() shared memory support)
- AC_RUN_IFELSE([AC_LANG_SOURCE([[
-#include <sys/types.h>
@@ -230,7 +177,7 @@ index 4810217..22c3d61 100644
- char *shm;
- char tmpname[4096];
-
-- sprintf(tmpname,"test.shm.%dXXXXXX", getpid());
+- sprintf(tmpname,"/opcache.test.shm.%dXXXXXX", getpid());
- if (mktemp(tmpname) == NULL) {
- return 1;
- }
@@ -273,82 +220,18 @@ index 4810217..22c3d61 100644
-}
-]])],[dnl
- AC_DEFINE(HAVE_SHM_MMAP_POSIX, 1, [Define if you have POSIX mmap() SHM support])
-- msg=yes],[msg=no],[msg=no])
-- AC_MSG_RESULT([$msg])
+- AC_MSG_RESULT([yes])
+- PHP_CHECK_LIBRARY(rt, shm_unlink, [PHP_ADD_LIBRARY(rt,1,OPCACHE_SHARED_LIBADD)])
+- ],[
+- AC_MSG_RESULT([no])
+- ],[
+- AC_MSG_RESULT([no])
+- ])
+ AC_DEFINE(HAVE_SHM_MMAP_POSIX, 1, [Define if you have POSIX mmap() SHM support])
-
- AC_MSG_CHECKING(for mmap() using regular file shared memory support)
-- AC_RUN_IFELSE([AC_LANG_SOURCE([[
--#include <sys/types.h>
--#include <sys/wait.h>
--#include <sys/mman.h>
--#include <sys/stat.h>
--#include <fcntl.h>
--#include <unistd.h>
--#include <string.h>
--#include <stdlib.h>
--#include <stdio.h>
--
--#ifndef MAP_FAILED
--# define MAP_FAILED ((void*)-1)
--#endif
--
--int main() {
-- pid_t pid;
-- int status;
-- int fd;
-- char *shm;
-- char tmpname[4096];
--
-- sprintf(tmpname,"test.shm.%dXXXXXX", getpid());
-- if (mktemp(tmpname) == NULL) {
-- return 1;
-- }
-- fd = open(tmpname, O_RDWR | O_CREAT, S_IRUSR | S_IWUSR);
-- if (fd == -1) {
-- return 2;
-- }
-- if (ftruncate(fd, 4096) < 0) {
-- close(fd);
-- unlink(tmpname);
-- return 3;
-- }
--
-- shm = mmap(NULL, 4096, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
-- if (shm == MAP_FAILED) {
-- return 4;
-- }
-- unlink(tmpname);
-- close(fd);
--
-- strcpy(shm, "hello");
--
-- pid = fork();
-- if (pid < 0) {
-- return 5;
-- } else if (pid == 0) {
-- strcpy(shm, "bye");
-- return 6;
-- }
-- if (wait(&status) != pid) {
-- return 7;
-- }
-- if (!WIFEXITED(status) || WEXITSTATUS(status) != 6) {
-- return 8;
-- }
-- if (strcmp(shm, "bye") != 0) {
-- return 9;
-- }
-- return 0;
--}
--]])],[dnl
-- AC_DEFINE(HAVE_SHM_MMAP_FILE, 1, [Define if you have mmap() SHM support])
-- msg=yes],[msg=no],[msg=no])
-- AC_MSG_RESULT([$msg])
-+ AC_DEFINE(HAVE_SHM_MMAP_FILE, 1, [Define if you have mmap() SHM support])
++ PHP_CHECK_LIBRARY(rt, shm_unlink, [PHP_ADD_LIBRARY(rt,1,OPCACHE_SHARED_LIBADD)])
PHP_NEW_EXTENSION(opcache,
ZendAccelerator.c \
--
-2.7.4
+2.17.1
diff --git a/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-php-don-t-use-broken-wrapper-for-mkdir.patch b/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-php-don-t-use-broken-wrapper-for-mkdir.patch
index 2f7d58155..d68737366 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-php-don-t-use-broken-wrapper-for-mkdir.patch
+++ b/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-php-don-t-use-broken-wrapper-for-mkdir.patch
@@ -4,17 +4,20 @@ Date: Thu, 3 Nov 2011 14:27:15 +0100
Subject: [PATCH 2/8] php: don't use broken wrapper for mkdir
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
+
+update patch to version 7.4.4
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
---
Upstream-Status: Inappropriate
- Makefile.global | 2 +-
+ build/Makefile.global | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/Makefile.global b/Makefile.global
+diff --git a/build/Makefile.global b/build/Makefile.global
index ff858c2..ae554b4 100644
---- a/Makefile.global
-+++ b/Makefile.global
+--- a/build/Makefile.global
++++ b/build/Makefile.global
@@ -1,4 +1,4 @@
-mkinstalldirs = $(top_srcdir)/build/shtool mkdir -p
+mkinstalldirs = mkdir -p
diff --git a/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-acinclude.m4-don-t-unset-cache-variables.patch b/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-php.m4-don-t-unset-cache-variables.patch
index 51dbe269c..0d721ec50 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-acinclude.m4-don-t-unset-cache-variables.patch
+++ b/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-php.m4-don-t-unset-cache-variables.patch
@@ -1,7 +1,4 @@
-From d2679c89c0b15b90e5360b4863258a7955e5f4e5 Mon Sep 17 00:00:00 2001
-From: Changqing Li <changqing.li@windriver.com>
-Date: Tue, 12 Feb 2019 15:59:19 +0800
-Subject: [PATCH] acinclude.m4: don't unset cache variables
+php.m4: don't unset cache variables
Unsetting prevents cache variable from being passed to configure.
@@ -9,17 +6,17 @@ Upstream-Status: Inappropriate [OE-specific]
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
-update patch to version 7.3.2
+update this patch to 7.4.4, acinclude.m4 move to build/php.m4
Signed-off-by: Changqing Li <changqing.li@windriver.com>
---
- acinclude.m4 | 4 ----
+ build/php.m4 | 4 ----
1 file changed, 4 deletions(-)
-diff --git a/acinclude.m4 b/acinclude.m4
-index 25f900d..2641969 100644
---- a/acinclude.m4
-+++ b/acinclude.m4
-@@ -1921,8 +1921,6 @@ define([phpshift],[ifelse(index([$@],[,]),-1,,[substr([$@],incr(index([$@],[,]))
+diff --git a/build/php.m4 b/build/php.m4
+index 5c45d13..218ec47 100644
+--- a/build/php.m4
++++ b/build/php.m4
+@@ -1587,8 +1587,6 @@ dnl PHP_CHECK_FUNC_LIB
dnl
AC_DEFUN([PHP_CHECK_FUNC_LIB],[
ifelse($2,,:,[
@@ -28,8 +25,8 @@ index 25f900d..2641969 100644
unset found
AC_CHECK_LIB($2, $1, [found=yes], [
AC_CHECK_LIB($2, __$1, [found=yes], [found=no])
-@@ -1954,8 +1952,6 @@ dnl in the default libraries and as a fall back in the specified library.
- dnl Defines HAVE_func and HAVE_library if found and adds the library to LIBS.
+@@ -1620,8 +1618,6 @@ dnl and as a fall back in the specified library. Defines HAVE_func and
+ dnl HAVE_library if found and adds the library to LIBS.
dnl
AC_DEFUN([PHP_CHECK_FUNC],[
- unset ac_cv_func_$1
diff --git a/meta-openembedded/meta-oe/recipes-devtools/php/php/0048-Use-pkg-config-for-FreeType2-detection.patch b/meta-openembedded/meta-oe/recipes-devtools/php/php/0048-Use-pkg-config-for-FreeType2-detection.patch
deleted file mode 100644
index f36ddac26..000000000
--- a/meta-openembedded/meta-oe/recipes-devtools/php/php/0048-Use-pkg-config-for-FreeType2-detection.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From: =?utf-8?b?T25kxZllaiBTdXLDvQ==?= <ondrej@sury.org>
-Date: Mon, 22 Oct 2018 06:54:31 +0000
-Subject: Use pkg-config for FreeType2 detection
-
----
- ext/gd/config.m4 | 30 +++++++++++++++++++-----------
- 1 file changed, 19 insertions(+), 11 deletions(-)
-
-diff --git a/ext/gd/config.m4 b/ext/gd/config.m4
-index 498d870..d28c6ae 100644
---- a/ext/gd/config.m4
-+++ b/ext/gd/config.m4
-@@ -184,21 +184,29 @@ AC_DEFUN([PHP_GD_XPM],[
- AC_DEFUN([PHP_GD_FREETYPE2],[
- if test "$PHP_FREETYPE_DIR" != "no"; then
-
-- for i in $PHP_FREETYPE_DIR /usr/local /usr; do
-- if test -f "$i/bin/freetype-config"; then
-- FREETYPE2_DIR=$i
-- FREETYPE2_CONFIG="$i/bin/freetype-config"
-- break
-+ if test -z "$PKG_CONFIG"; then
-+ AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
-+ fi
-+ if test -x "$PKG_CONFIG" && $PKG_CONFIG --exists freetype2 ; then
-+ FREETYPE2_CFLAGS=`$PKG_CONFIG --cflags freetype2`
-+ FREETYPE2_LIBS=`$PKG_CONFIG --libs freetype2`
-+ else
-+ for i in $PHP_FREETYPE_DIR /usr/local /usr; do
-+ if test -f "$i/bin/freetype-config"; then
-+ FREETYPE2_DIR=$i
-+ FREETYPE2_CONFIG="$i/bin/freetype-config"
-+ break
-+ fi
-+ done
-+
-+ if test -z "$FREETYPE2_DIR"; then
-+ AC_MSG_ERROR([freetype-config not found.])
- fi
-- done
-
-- if test -z "$FREETYPE2_DIR"; then
-- AC_MSG_ERROR([freetype-config not found.])
-+ FREETYPE2_CFLAGS=`$FREETYPE2_CONFIG --cflags`
-+ FREETYPE2_LIBS=`$FREETYPE2_CONFIG --libs`
- fi
-
-- FREETYPE2_CFLAGS=`$FREETYPE2_CONFIG --cflags`
-- FREETYPE2_LIBS=`$FREETYPE2_CONFIG --libs`
--
- PHP_EVAL_INCLINE($FREETYPE2_CFLAGS)
- PHP_EVAL_LIBLINE($FREETYPE2_LIBS, GD_SHARED_LIBADD)
- AC_DEFINE(HAVE_LIBFREETYPE,1,[ ])
diff --git a/meta-openembedded/meta-oe/recipes-devtools/php/php/70_mod_php5.conf b/meta-openembedded/meta-oe/recipes-devtools/php/php/70_mod_php5.conf
deleted file mode 100644
index 1de6fb11a..000000000
--- a/meta-openembedded/meta-oe/recipes-devtools/php/php/70_mod_php5.conf
+++ /dev/null
@@ -1,12 +0,0 @@
-# vim: ft=apache sw=4 ts=4
-<IfDefine PHP5>
- # Load the module first
- <IfModule !sapi_apache2.c>
- LoadModule php5_module lib/apache2/modules/libphp5.so
- </IfModule>
-
- # Set it to handle the files
- AddHandler php5-script .php .phtml .php3 .php4 .php5
- AddType application/x-httpd-php-source .phps
- DirectoryIndex index.html index.html.var index.php index.phtml
-</IfDefine>
diff --git a/meta-openembedded/meta-oe/recipes-devtools/php/php/CVE-2019-6978.patch b/meta-openembedded/meta-oe/recipes-devtools/php/php/CVE-2019-6978.patch
deleted file mode 100644
index b7cdfd964..000000000
--- a/meta-openembedded/meta-oe/recipes-devtools/php/php/CVE-2019-6978.patch
+++ /dev/null
@@ -1,192 +0,0 @@
-From 089f7c0bc28d399b0420aa6ef058e4c1c120b2ae Mon Sep 17 00:00:00 2001
-From: "Christoph M. Becker" <cmbecker69@gmx.de>
-Date: Sat, 19 Jan 2019 10:35:39 +0100
-Subject: [PATCH] Sync with upstream
-
-Even though libgd/libgd#492 is not a relevant bug fix for PHP, since
-the binding doesn't use the `gdImage*Ptr()` functions at all, we're
-porting the fix to stay in sync here.
----
- ext/gd/libgd/gd_gif_out.c | 20 +++++++++++++++++---
- ext/gd/libgd/gd_jpeg.c | 17 ++++++++++++++---
- ext/gd/libgd/gd_wbmp.c | 18 +++++++++++++++---
- 3 files changed, 46 insertions(+), 9 deletions(-)
-
-Upstream-Status: Backport [http://git.php.net/?p=php-src.git;a=commit;h=089f7c0bc28d399b0420aa6ef058e4c1c120b2ae]
-CVE: CVE-2019-6978
-
-Signed-off-by: Trevor Gamblin <trevor.gamblin@windriver.com>
-
-diff --git a/ext/gd/libgd/gd_gif_out.c b/ext/gd/libgd/gd_gif_out.c
-index 1f2a6b936a..2e1f38af70 100644
---- a/ext/gd/libgd/gd_gif_out.c
-+++ b/ext/gd/libgd/gd_gif_out.c
-@@ -97,12 +97,18 @@ static void cl_hash (register count_int chsize, GifCtx *ctx);
- static void char_init (GifCtx *ctx);
- static void char_out (int c, GifCtx *ctx);
- static void flush_char (GifCtx *ctx);
-+
-+static int _gdImageGifCtx(gdImagePtr im, gdIOCtxPtr out);
-+
- void * gdImageGifPtr (gdImagePtr im, int *size)
- {
- void *rv;
- gdIOCtx *out = gdNewDynamicCtx (2048, NULL);
-- gdImageGifCtx (im, out);
-- rv = gdDPExtractData (out, size);
-+ if (!_gdImageGifCtx(im, out)) {
-+ rv = gdDPExtractData(out, size);
-+ } else {
-+ rv = NULL;
-+ }
- out->gd_free (out);
- return rv;
- }
-@@ -115,6 +121,12 @@ void gdImageGif (gdImagePtr im, FILE * outFile)
- }
-
- void gdImageGifCtx(gdImagePtr im, gdIOCtxPtr out)
-+{
-+ _gdImageGifCtx(im, out);
-+}
-+
-+/* returns 0 on success, 1 on failure */
-+static int _gdImageGifCtx(gdImagePtr im, gdIOCtxPtr out)
- {
- gdImagePtr pim = 0, tim = im;
- int interlace, BitsPerPixel;
-@@ -125,7 +137,7 @@ void gdImageGifCtx(gdImagePtr im, gdIOCtxPtr out)
- based temporary image. */
- pim = gdImageCreatePaletteFromTrueColor(im, 1, 256);
- if (!pim) {
-- return;
-+ return 1;
- }
- tim = pim;
- }
-@@ -138,6 +150,8 @@ void gdImageGifCtx(gdImagePtr im, gdIOCtxPtr out)
- /* Destroy palette based temporary image. */
- gdImageDestroy( pim);
- }
-+
-+ return 0;
- }
-
- static int
-diff --git a/ext/gd/libgd/gd_jpeg.c b/ext/gd/libgd/gd_jpeg.c
-index 8cf71fcbc9..ef46c4a22c 100644
---- a/ext/gd/libgd/gd_jpeg.c
-+++ b/ext/gd/libgd/gd_jpeg.c
-@@ -132,6 +132,7 @@ const char * gdJpegGetVersionString()
- }
- }
-
-+static int _gdImageJpegCtx(gdImagePtr im, gdIOCtx *outfile, int quality);
-
- /*
- * Write IM to OUTFILE as a JFIF-formatted JPEG image, using quality
-@@ -153,8 +154,11 @@ void *gdImageJpegPtr (gdImagePtr im, int *size, int quality)
- {
- void *rv;
- gdIOCtx *out = gdNewDynamicCtx (2048, NULL);
-- gdImageJpegCtx (im, out, quality);
-- rv = gdDPExtractData (out, size);
-+ if (!_gdImageJpegCtx(im, out, quality)) {
-+ rv = gdDPExtractData(out, size);
-+ } else {
-+ rv = NULL;
-+ }
- out->gd_free (out);
-
- return rv;
-@@ -163,6 +167,12 @@ void *gdImageJpegPtr (gdImagePtr im, int *size, int quality)
- void jpeg_gdIOCtx_dest (j_compress_ptr cinfo, gdIOCtx * outfile);
-
- void gdImageJpegCtx (gdImagePtr im, gdIOCtx * outfile, int quality)
-+{
-+ _gdImageJpegCtx(im, outfile, quality);
-+}
-+
-+/* returns 0 on success, 1 on failure */
-+static int _gdImageJpegCtx(gdImagePtr im, gdIOCtx *outfile, int quality)
- {
- struct jpeg_compress_struct cinfo;
- struct jpeg_error_mgr jerr;
-@@ -184,7 +194,7 @@ void gdImageJpegCtx (gdImagePtr im, gdIOCtx * outfile, int quality)
- if (row) {
- gdFree (row);
- }
-- return;
-+ return 1;
- }
-
- cinfo.err->error_exit = fatal_jpeg_error;
-@@ -277,6 +287,7 @@ void gdImageJpegCtx (gdImagePtr im, gdIOCtx * outfile, int quality)
- jpeg_finish_compress (&cinfo);
- jpeg_destroy_compress (&cinfo);
- gdFree (row);
-+ return 0;
- }
-
- gdImagePtr gdImageCreateFromJpeg (FILE * inFile)
-diff --git a/ext/gd/libgd/gd_wbmp.c b/ext/gd/libgd/gd_wbmp.c
-index 55ced3443d..fd9edad2ca 100644
---- a/ext/gd/libgd/gd_wbmp.c
-+++ b/ext/gd/libgd/gd_wbmp.c
-@@ -82,6 +82,7 @@ int gd_getin (void *in)
- return (gdGetC((gdIOCtx *) in));
- }
-
-+static int _gdImageWBMPCtx(gdImagePtr image, int fg, gdIOCtx *out);
-
- /* gdImageWBMPCtx
- ** --------------
-@@ -93,6 +94,12 @@ int gd_getin (void *in)
- ** out: the stream where to write
- */
- void gdImageWBMPCtx (gdImagePtr image, int fg, gdIOCtx * out)
-+{
-+ _gdImageWBMPCtx(image, fg, out);
-+}
-+
-+/* returns 0 on success, 1 on failure */
-+static int _gdImageWBMPCtx(gdImagePtr image, int fg, gdIOCtx *out)
- {
- int x, y, pos;
- Wbmp *wbmp;
-@@ -100,7 +107,7 @@ void gdImageWBMPCtx (gdImagePtr image, int fg, gdIOCtx * out)
- /* create the WBMP */
- if ((wbmp = createwbmp (gdImageSX (image), gdImageSY (image), WBMP_WHITE)) == NULL) {
- gd_error("Could not create WBMP");
-- return;
-+ return 1;
- }
-
- /* fill up the WBMP structure */
-@@ -116,7 +123,9 @@ void gdImageWBMPCtx (gdImagePtr image, int fg, gdIOCtx * out)
-
- /* write the WBMP to a gd file descriptor */
- if (writewbmp (wbmp, &gd_putout, out)) {
-+ freewbmp(wbmp);
- gd_error("Could not save WBMP");
-+ return 1;
- }
- /* des submitted this bugfix: gdFree the memory. */
- freewbmp(wbmp);
-@@ -204,8 +213,11 @@ void * gdImageWBMPPtr (gdImagePtr im, int *size, int fg)
- {
- void *rv;
- gdIOCtx *out = gdNewDynamicCtx(2048, NULL);
-- gdImageWBMPCtx(im, fg, out);
-- rv = gdDPExtractData(out, size);
-+ if (!_gdImageWBMPCtx(im, fg, out)) {
-+ rv = gdDPExtractData(out, size);
-+ } else {
-+ rv = NULL;
-+ }
- out->gd_free(out);
-
- return rv;
---
-2.17.1
-
diff --git a/meta-openembedded/meta-oe/recipes-devtools/php/php/iconv.patch b/meta-openembedded/meta-oe/recipes-devtools/php/php/iconv.patch
index ecf7d8720..9ec8a89b5 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/php/php/iconv.patch
+++ b/meta-openembedded/meta-oe/recipes-devtools/php/php/iconv.patch
@@ -1,32 +1,33 @@
-From 17cc5645f3acf943a5a06465d09d0ebcfea987bd Mon Sep 17 00:00:00 2001
-From: Koen Kooi <koen@dominion.thruhere.net>
-Date: Wed, 2 Nov 2011 16:54:57 +0100
-Subject: [PATCH] Upstream-Status: Pending
+Subject: [PATCH] From 17cc5645f3acf943a5a06465d09d0ebcfea987bd Mon Sep 17
+ 00:00:00 2001 From: Koen Kooi <koen@dominion.thruhere.net> Date: Wed, 2 Nov
+ 2011 16:54:57 +0100 Subject: [PATCH] Upstream-Status: Pending
+update patch to version 7.4.4
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
---
- acinclude.m4 | 3 ++-
+ build/php.m4 | 3 ++-
ext/iconv/config.m4 | 2 +-
2 files changed, 3 insertions(+), 2 deletions(-)
-diff --git a/acinclude.m4 b/acinclude.m4
-index d32766a..ad5166e 100644
---- a/acinclude.m4
-+++ b/acinclude.m4
-@@ -2445,7 +2445,8 @@ AC_DEFUN([PHP_SETUP_ICONV], [
- dnl Check libc first if no path is provided in --with-iconv
- dnl
+diff --git a/build/php.m4 b/build/php.m4
+index 7392876..5c45d13 100644
+--- a/build/php.m4
++++ b/build/php.m4
+@@ -1950,7 +1950,8 @@ AC_DEFUN([PHP_SETUP_ICONV], [
+ echo > ext/iconv/php_iconv_supports_errno.h
+ dnl Check libc first if no path is provided in --with-iconv.
- if test "$PHP_ICONV" = "yes"; then
+ dnl must check against no, not against yes as PHP_ICONV can also include a path, which implies yes
+ if test "$PHP_ICONV" != "no"; then
- dnl Reset LIBS temporarily as it may have already been included
- dnl -liconv in.
+ dnl Reset LIBS temporarily as it may have already been included -liconv in.
LIBS_save="$LIBS"
+ LIBS=
diff --git a/ext/iconv/config.m4 b/ext/iconv/config.m4
-index 6a05697..973e750 100644
+index fe9b47a..b6b632f 100644
--- a/ext/iconv/config.m4
+++ b/ext/iconv/config.m4
-@@ -15,7 +15,7 @@ if test "$PHP_ICONV" != "no"; then
+@@ -14,7 +14,7 @@ if test "$PHP_ICONV" != "no"; then
if test "$iconv_avail" != "no"; then
if test -z "$ICONV_DIR"; then
@@ -35,3 +36,6 @@ index 6a05697..973e750 100644
if test -f "$i/include/iconv.h" || test -f "$i/include/giconv.h"; then
PHP_ICONV_PREFIX="$i"
break
+--
+2.7.4
+
diff --git a/meta-openembedded/meta-oe/recipes-devtools/php/php/imap-fix-autofoo.patch b/meta-openembedded/meta-oe/recipes-devtools/php/php/imap-fix-autofoo.patch
index 16359af9f..ebe5f6a93 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/php/php/imap-fix-autofoo.patch
+++ b/meta-openembedded/meta-oe/recipes-devtools/php/php/imap-fix-autofoo.patch
@@ -1,32 +1,19 @@
-From c084c8349d1780980e232cb28b60a109e3d89438 Mon Sep 17 00:00:00 2001
-From: Koen Kooi <koen@dominion.thruhere.net>
-Date: Wed, 2 Nov 2011 16:54:57 +0100
-Subject: [PATCH] Upstream-Status: Pending
+Subject: [PATCH] From c084c8349d1780980e232cb28b60a109e3d89438 Mon Sep 17
+ 00:00:00 2001 From: Koen Kooi <koen@dominion.thruhere.net> Date: Wed, 2 Nov
+ 2011 16:54:57 +0100 Subject: [PATCH] Upstream-Status: Pending
+update patch to version 7.4.4
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
---
- acinclude.m4 | 2 +-
ext/imap/config.m4 | 10 ++--------
- 2 files changed, 3 insertions(+), 9 deletions(-)
+ 1 file changed, 2 insertions(+), 8 deletions(-)
-diff --git a/acinclude.m4 b/acinclude.m4
-index ad5166e..f6a55ec 100644
---- a/acinclude.m4
-+++ b/acinclude.m4
-@@ -2350,7 +2350,7 @@ AC_DEFUN([PHP_SETUP_OPENSSL],[
- PHP_OPENSSL_DIR="/usr/local/ssl /usr/local /usr /usr/local/openssl"
- fi
-
-- for i in $PHP_OPENSSL_DIR; do
-+ for i in $PHP_OPENSSL_DIR $PHP_OPENSSL_DIR/usr; do
- if test -r $i/include/openssl/evp.h; then
- OPENSSL_INCDIR=$i/include
- fi
diff --git a/ext/imap/config.m4 b/ext/imap/config.m4
-index badb6e2..8ff803c 100644
+index 5086a31..0e938bd 100644
--- a/ext/imap/config.m4
+++ b/ext/imap/config.m4
-@@ -109,7 +109,7 @@ if test "$PHP_IMAP" != "no"; then
- PHP_NEW_EXTENSION(imap, php_imap.c, $ext_shared)
+@@ -110,7 +110,7 @@ if test "$PHP_IMAP" != "no"; then
+ PHP_NEW_EXTENSION(imap, php_imap.c, $ext_shared,, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1)
AC_DEFINE(HAVE_IMAP,1,[ ])
- for i in $PHP_IMAP /usr/local /usr; do
@@ -34,7 +21,7 @@ index badb6e2..8ff803c 100644
IMAP_INC_CHK()
el[]IMAP_INC_CHK(/include/c-client)
el[]IMAP_INC_CHK(/include/imap)
-@@ -198,13 +198,7 @@ if test "$PHP_IMAP" != "no"; then
+@@ -199,13 +199,7 @@ if test "$PHP_IMAP" != "no"; then
AC_MSG_ERROR(Cannot find rfc822.h. Please check your c-client installation.)
fi
@@ -49,3 +36,6 @@ index badb6e2..8ff803c 100644
IMAP_LIB=$lib
IMAP_LIB_CHK($PHP_LIBDIR)
IMAP_LIB_CHK(c-client)
+--
+2.7.4
+
diff --git a/meta-openembedded/meta-oe/recipes-devtools/php/php/phar-makefile.patch b/meta-openembedded/meta-oe/recipes-devtools/php/php/phar-makefile.patch
index 336cf0d62..eb73bc440 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/php/php/phar-makefile.patch
+++ b/meta-openembedded/meta-oe/recipes-devtools/php/php/phar-makefile.patch
@@ -1,24 +1,25 @@
-From 08962a56f69963e01892d98ca5b75de8354bd3f5 Mon Sep 17 00:00:00 2001
-From: Koen Kooi <koen@dominion.thruhere.net>
-Date: Wed, 2 Nov 2011 16:54:57 +0100
-Subject: [PATCH] Fix phar packaging
+Subject: [PATCH] From 08962a56f69963e01892d98ca5b75de8354bd3f5 Mon Sep 17
+ 00:00:00 2001 From: Koen Kooi <koen@dominion.thruhere.net> Date: Wed, 2 Nov
+ 2011 16:54:57 +0100 Subject: [PATCH] Fix phar packaging
Inherited from OE-Classic, with some additions to fix host paths leaking
into the target package.
Upstream-Status: Inappropriate [config]
+update patch to version 7.4.4
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
---
ext/phar/Makefile.frag | 17 +++--------------
1 file changed, 3 insertions(+), 14 deletions(-)
diff --git a/ext/phar/Makefile.frag b/ext/phar/Makefile.frag
-index 0e3713f..22f7898 100644
+index 6442f33..6145412 100644
--- a/ext/phar/Makefile.frag
+++ b/ext/phar/Makefile.frag
@@ -10,20 +10,9 @@ pharcmd: $(builddir)/phar.php $(builddir)/phar.phar
- PHP_PHARCMD_SETTINGS = -n -d 'open_basedir=' -d 'output_buffering=0' -d 'memory_limit=-1' -d phar.readonly=0 -d 'safe_mode=0'
+ PHP_PHARCMD_SETTINGS = -n -d 'open_basedir=' -d 'output_buffering=0' -d 'memory_limit=-1' -d phar.readonly=0
PHP_PHARCMD_EXECUTABLE = ` \
- if test -x "$(top_builddir)/$(SAPI_CLI_PATH)"; then \
- $(top_srcdir)/build/shtool echo -n -- "$(top_builddir)/$(SAPI_CLI_PATH) -n"; \
@@ -34,9 +35,12 @@ index 0e3713f..22f7898 100644
- $(top_srcdir)/build/shtool echo -n -- "$(PHP_EXECUTABLE)"; \
- fi;`
-PHP_PHARCMD_BANG = `$(top_srcdir)/build/shtool echo -n -- "$(INSTALL_ROOT)$(bindir)/$(program_prefix)php$(program_suffix)$(EXEEXT)";`
-+ $(top_srcdir)/build/shtool echo -n -- "$(PHP_EXECUTABLE)"; `
++ $(top_srcdir)/build/shtool echo -n -- "$(PHP_EXECUTABLE)"; `
+
+PHP_PHARCMD_BANG = `$(top_srcdir)/build/shtool echo -n -- "$(bindir)/$(program_prefix)php$(program_suffix)$(EXEEXT)";`
$(builddir)/phar/phar.inc: $(srcdir)/phar/phar.inc
-@test -d $(builddir)/phar || mkdir $(builddir)/phar
+--
+2.7.4
+
diff --git a/meta-openembedded/meta-oe/recipes-devtools/php/php/php_exec_native.patch b/meta-openembedded/meta-oe/recipes-devtools/php/php/php_exec_native.patch
index 80409000d..4aec4812f 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/php/php/php_exec_native.patch
+++ b/meta-openembedded/meta-oe/recipes-devtools/php/php/php_exec_native.patch
@@ -1,22 +1,26 @@
-From d251b5aa3d23803d016ca16818e2e1d2f2b70a02 Mon Sep 17 00:00:00 2001
-From: Koen Kooi <koen@dominion.thruhere.net>
-Date: Wed, 2 Nov 2011 16:54:57 +0100
-Subject: [PATCH] Upstream-Status: Inappriate
+Subject: [PATCH] rom d251b5aa3d23803d016ca16818e2e1d2f2b70a02 Mon Sep 17
+ 00:00:00 2001 From: Koen Kooi <koen@dominion.thruhere.net> Date: Wed, 2 Nov
+ 2011 16:54:57 +0100 Subject: [PATCH] Upstream-Status: Inappriate
+update patch to version 7.4.4
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
---
sapi/cli/config.m4 | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sapi/cli/config.m4 b/sapi/cli/config.m4
-index 2168151..20a81db 100644
+index 917d45f..aaf1e27 100644
--- a/sapi/cli/config.m4
+++ b/sapi/cli/config.m4
-@@ -50,7 +50,7 @@ if test "$PHP_CLI" != "no"; then
+@@ -47,7 +47,7 @@ if test "$PHP_CLI" != "no"; then
esac
- dnl Set executable for tests
+ dnl Set executable for tests.
- PHP_EXECUTABLE="\$(top_builddir)/\$(SAPI_CLI_PATH)"
+ PHP_EXECUTABLE="${PHP_NATIVE_DIR}/php"
PHP_SUBST(PHP_EXECUTABLE)
- dnl Expose to Makefile
+ dnl Expose to Makefile.
+--
+2.7.4
+
diff --git a/meta-openembedded/meta-oe/recipes-devtools/php/php_7.3.11.bb b/meta-openembedded/meta-oe/recipes-devtools/php/php_7.4.4.bb
index e7fb847fa..f74533c1d 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/php/php_7.3.11.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/php/php_7.4.4.bb
@@ -3,7 +3,7 @@ HOMEPAGE = "http://www.php.net"
SECTION = "console/network"
LICENSE = "PHP-3.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=fb07bfc51f6d5e0c30b65d9701233b2e"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=7e571b888d585b31f9ef5edcc647fa30"
BBCLASSEXTEND = "native"
DEPENDS = "zlib bzip2 libxml2 virtual/libiconv php-native lemon-native"
@@ -13,11 +13,9 @@ PHP_MAJOR_VERSION = "${@d.getVar('PV').split('.')[0]}"
SRC_URI = "http://php.net/distributions/php-${PV}.tar.bz2 \
file://0001-php-don-t-use-broken-wrapper-for-mkdir.patch \
- file://0001-acinclude.m4-don-t-unset-cache-variables.patch \
- file://0048-Use-pkg-config-for-FreeType2-detection.patch \
- file://0001-Use-pkg-config-for-libxml2-detection.patch \
file://debian-php-fixheader.patch \
- file://CVE-2019-6978.patch \
+ file://0001-configure.ac-don-t-include-build-libtool.m4.patch \
+ file://0001-php.m4-don-t-unset-cache-variables.patch \
"
SRC_URI_append_class-target = " \
@@ -34,10 +32,10 @@ SRC_URI_append_class-target = " \
file://xfail_two_bug_tests.patch \
"
S = "${WORKDIR}/php-${PV}"
-SRC_URI[md5sum] = "21b710b4126d4d54714de9693a6c7b0d"
-SRC_URI[sha256sum] = "92d1ff4b13c7093635f1ec338a5e6891ca99b10e65fbcadd527e5bb84d11b5e7"
+SRC_URI[md5sum] = "262c258a3b8b5699fcca89a64e58758c"
+SRC_URI[sha256sum] = "308e8f4182ec8a2767b0b1b8e1e7c69fb149b37cfb98ee4a37475e082fa9829f"
-inherit autotools pkgconfig pythonnative gettext
+inherit autotools pkgconfig python3native gettext
# phpize is not scanned for absolute paths by default (but php-config is).
#
@@ -55,7 +53,6 @@ COMMON_EXTRA_OECONF = "--enable-sockets \
--libdir=${PHP_LIBDIR} \
"
EXTRA_OECONF = "--enable-mbstring \
- --enable-wddx \
--enable-fpm \
--with-libdir=${baselib} \
--with-gettext=${STAGING_LIBDIR}/.. \
@@ -84,7 +81,7 @@ PACKAGECONFIG ??= "mysql sqlite3 imap opcache openssl \
"
PACKAGECONFIG_class-native = ""
-PACKAGECONFIG[zip] = "--enable-zip --with-libzip=${STAGING_EXECPREFIXDIR},,libzip"
+PACKAGECONFIG[zip] = "--with-zip --with-zlib-dir=${STAGING_EXECPREFIXDIR},,libzip"
PACKAGECONFIG[mysql] = "--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
@@ -96,7 +93,7 @@ PACKAGECONFIG[sqlite3] = "--with-sqlite3=${STAGING_LIBDIR}/.. \
,--without-sqlite3 --without-pdo-sqlite \
,sqlite3"
PACKAGECONFIG[pgsql] = "--with-pgsql=${STAGING_DIR_TARGET}${exec_prefix},--without-pgsql,postgresql"
-PACKAGECONFIG[soap] = "--enable-libxml --enable-soap, --disable-soap, libxml2"
+PACKAGECONFIG[soap] = "--enable-soap, --disable-soap, libxml2"
PACKAGECONFIG[apache2] = "--with-apxs2=${STAGING_BINDIR_CROSS}/apxs,,apache2-native apache2"
PACKAGECONFIG[pam] = ",,libpam"
PACKAGECONFIG[imap] = "--with-imap=${STAGING_DIR_HOST} \
@@ -107,11 +104,19 @@ PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
PACKAGECONFIG[opcache] = "--enable-opcache,--disable-opcache"
PACKAGECONFIG[openssl] = "--with-openssl,--without-openssl,openssl"
PACKAGECONFIG[valgrind] = "--with-valgrind=${STAGING_DIR_TARGET}/usr,--with-valgrind=no,valgrind"
+PACKAGECONFIG[mbregex] = "--enable-mbregex, --disable-mbregex, oniguruma"
+PACKAGECONFIG[mbstring] = "--enable-mbstring,,"
export PHP_NATIVE_DIR = "${STAGING_BINDIR_NATIVE}"
export PHP_PEAR_PHP_BIN = "${STAGING_BINDIR_NATIVE}/php"
CFLAGS += " -D_GNU_SOURCE -g -DPTYS_ARE_GETPT -DPTYS_ARE_SEARCHED -I${STAGING_INCDIR}/apache2"
+# Adding these flags enables dynamic library support, which is disabled by
+# default when cross compiling
+# See https://bugs.php.net/bug.php?id=60109
+CFLAGS += " -DHAVE_LIBDL "
+LDFLAGS += " -ldl "
+
EXTRA_OEMAKE = "INSTALL_ROOT=${D}"
acpaths = ""
@@ -149,16 +154,12 @@ do_install_prepend_class-target() {
# fixme
do_install_append_class-target() {
install -d ${D}${sysconfdir}/
- if [ -d ${RECIPE_SYSROOT_NATIVE}${sysconfdir} ];then
- install -m 0644 ${RECIPE_SYSROOT_NATIVE}${sysconfdir}/pear.conf ${D}${sysconfdir}/
- fi
rm -rf ${D}/${TMPDIR}
rm -rf ${D}/.registry
rm -rf ${D}/.channels
rm -rf ${D}/.[a-z]*
rm -rf ${D}/var
rm -f ${D}/${sysconfdir}/php-fpm.conf.default
- sed -i 's:${STAGING_DIR_NATIVE}::g' ${D}${sysconfdir}/pear.conf
install -m 0644 ${WORKDIR}/php-fpm.conf ${D}/${sysconfdir}/php-fpm.conf
install -d ${D}/${sysconfdir}/apache2/conf.d
install -m 0644 ${WORKDIR}/php-fpm-apache.conf ${D}/${sysconfdir}/apache2/conf.d/php-fpm.conf
diff --git a/meta-openembedded/meta-oe/recipes-devtools/ply/ply_git.bb b/meta-openembedded/meta-oe/recipes-devtools/ply/ply_git.bb
new file mode 100644
index 000000000..7d693b36d
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/ply/ply_git.bb
@@ -0,0 +1,15 @@
+SUMMARY = "Ply: A light-weight dynamic tracer for eBPF"
+HOMEPAGE = "https://github.com/iovisor/ply"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+DEPENDS += "bison-native"
+
+SRC_URI = "git://github.com/iovisor/ply"
+SRCREV = "aa5b9ac31307ec1acece818be334ef801c802a12"
+
+S = "${WORKDIR}/git"
+
+inherit autotools-brokensep
+
+COMPATIBLE_HOST = "(x86_64.*|aarch64.*|arm.*|powerpc.*)-linux"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf-c_1.3.2.bb b/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf-c_1.3.3.bb
index b92f82dec..bb8aecded 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf-c_1.3.2.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf-c_1.3.3.bb
@@ -12,7 +12,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=cb901168715f4782a2b06c3ddaefa558"
DEPENDS = "protobuf-native protobuf"
-SRCREV = "1390409f4ee4e26d0635310995b516eb702c3f9e"
+SRCREV = "f20a3fa131c275a0e795d99a28f94b4dbbb5af26"
SRC_URI = "git://github.com/protobuf-c/protobuf-c.git \
file://0001-avoid-race-condition.patch \
@@ -20,10 +20,6 @@ SRC_URI = "git://github.com/protobuf-c/protobuf-c.git \
S = "${WORKDIR}/git"
-#make sure c++11 is used
-CXXFLAGS += "-std=c++11"
-BUILD_CXXFLAGS += "-std=c++11"
-
inherit autotools pkgconfig
PACKAGE_BEFORE_PN = "${PN}-compiler"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.10.1.bb b/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.11.4.bb
index 58526f131..4d6c5b255 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.10.1.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.11.4.bb
@@ -10,9 +10,9 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=37b5762e07f0af8c74ce80a8bda4266b"
DEPENDS = "zlib"
DEPENDS_append_class-target = " protobuf-native"
-SRCREV = "d09d649aea36f02c03f8396ba39a8d4db8a607e4"
+SRCREV = "d0bfd5221182da1a7cc280f3337b5e41a89539cf"
-SRC_URI = "git://github.com/google/protobuf.git;branch=3.10.x \
+SRC_URI = "git://github.com/google/protobuf.git;branch=3.11.x \
file://run-ptest \
file://0001-protobuf-fix-configure-error.patch \
file://0001-Makefile.am-include-descriptor.cc-when-building-libp.patch \
diff --git a/meta-openembedded/meta-oe/recipes-devtools/pugixml/pugixml_1.10.bb b/meta-openembedded/meta-oe/recipes-devtools/pugixml/pugixml_1.10.bb
index d48ad3751..9a814de23 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/pugixml/pugixml_1.10.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/pugixml/pugixml_1.10.bb
@@ -13,8 +13,13 @@ SRC_URI = "https://github.com/zeux/${BPN}/releases/download/v${PV}/${BP}.tar.gz"
SRC_URI[md5sum] = "f97237e9908201c6d8536210747b66af"
SRC_URI[sha256sum] = "55f399fbb470942410d348584dc953bcaec926415d3462f471ef350f29b5870a"
+UPSTREAM_CHECK_URI = "https://github.com/zeux/${BPN}/releases"
+
inherit cmake
-EXTRA_OECMAKE += "-DBUILD_SHARED_LIBS=ON \
+EXTRA_OECMAKE += "-DBUILD_PKGCONFIG=ON \
+ -DBUILD_SHARED_LIBS=ON \
-DCMAKE_BUILD_TYPE=Release \
"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/python/python-cpuset_1.6.bb b/meta-openembedded/meta-oe/recipes-devtools/python/python-cpuset_1.6.bb
deleted file mode 100644
index 1255a51f7..000000000
--- a/meta-openembedded/meta-oe/recipes-devtools/python/python-cpuset_1.6.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "Cpuset is a Python application to make using the cpusets facilities in the Linux kernel easier"
-SECTION = "devel/python"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-
-S = "${WORKDIR}/git"
-SRCREV = "6c46d71a1c6ee711063153b9f7787280128f7252"
-SRC_URI = "git://github.com/lpechacek/cpuset.git;protocol=https;"
-
-inherit distutils
-
-RDEPENDS_${PN} = "\
- python-core \
- python-re \
- python-logging \
- python-textutils \
- python-unixadmin \
- "
diff --git a/meta-openembedded/meta-oe/recipes-devtools/python/python-distutils-extra.bb b/meta-openembedded/meta-oe/recipes-devtools/python/python-distutils-extra.bb
deleted file mode 100644
index eb84f7436..000000000
--- a/meta-openembedded/meta-oe/recipes-devtools/python/python-distutils-extra.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-require python-distutils-extra.inc
-
-inherit setuptools
-
-RDEPENDS_${PN} = "\
- python-distutils \
-"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/python/python-futures_3.3.0.bb b/meta-openembedded/meta-oe/recipes-devtools/python/python-futures_3.3.0.bb
deleted file mode 100644
index 1636f7371..000000000
--- a/meta-openembedded/meta-oe/recipes-devtools/python/python-futures_3.3.0.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-DESCRIPTION = "The concurrent.futures module provides a high-level interface for asynchronously executing callables."
-SECTION = "devel/python"
-LICENSE = "PSF"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=834d982f973c48b6d662b5944c5ab567"
-HOMEPAGE = "https://github.com/agronholm/pythonfutures"
-DEPENDS = "python"
-
-SRC_URI[md5sum] = "b43a39ae1475e3fd6940f2b4f7214675"
-SRC_URI[sha256sum] = "7e033af76a5e35f58e56da7a91e687706faf4e7bdfb2cbc3f2cca6b9bcda9794"
-
-inherit pypi setuptools
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/python/python-jsmin_2.2.2.bb b/meta-openembedded/meta-oe/recipes-devtools/python/python-jsmin_2.2.2.bb
deleted file mode 100644
index d00d1e2a0..000000000
--- a/meta-openembedded/meta-oe/recipes-devtools/python/python-jsmin_2.2.2.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-DESCRIPTION = "JavaScript minifier."
-HOMEPAGE = "https://github.com/tikitu/jsmin/"
-SECTION = "devel/python"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3a3301ce2ad647e172f4a1016c67324d"
-
-inherit setuptools pypi
-SRC_URI[md5sum] = "00e7a3179a4591aab2ee707b3214e2fd"
-SRC_URI[sha256sum] = "b6df99b2cd1c75d9d342e4335b535789b8da9107ec748212706ef7bbe5c2553b"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/python/python-pygobject/0001-python-pyobject-fix-install-dir.patch b/meta-openembedded/meta-oe/recipes-devtools/python/python-pygobject/0001-python-pyobject-fix-install-dir.patch
deleted file mode 100644
index 848cda5aa..000000000
--- a/meta-openembedded/meta-oe/recipes-devtools/python/python-pygobject/0001-python-pyobject-fix-install-dir.patch
+++ /dev/null
@@ -1,121 +0,0 @@
-From 8b4648d5bc50cb1c14961ed38bf97d5a693f5237 Mon Sep 17 00:00:00 2001
-From: Changqing Li <changqing.li@windriver.com>
-Date: Mon, 24 Jun 2019 14:51:52 +0800
-Subject: [PATCH] python-pyobject: fix the wrong install dir for python2
-
-* after upgrade to 3.32.1, pygobject switch to build with meson, and
- default python option is python3, switch to python2
-
-* default install dir get by python.install_sources and
-python.get_install_dir is get from python's sysconfig info,
-not like python3, for python2, the install dir include the basedir of
-recipe-sysroot-native, add stagedir option for user to config
-correct install dir.
-
-Upstream-Status: Inappropriate [oe-specific]
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- gi/meson.build | 7 +++----
- gi/overrides/meson.build | 4 ++--
- gi/repository/meson.build | 4 ++--
- meson.build | 4 +++-
- meson_options.txt | 1 +
- pygtkcompat/meson.build | 4 ++--
- 6 files changed, 13 insertions(+), 11 deletions(-)
-
-diff --git a/gi/meson.build b/gi/meson.build
-index c1afd68..249c23d 100644
---- a/gi/meson.build
-+++ b/gi/meson.build
-@@ -60,9 +60,8 @@ python_sources = [
- 'types.py',
- ]
-
--python.install_sources(python_sources,
-- pure : false,
-- subdir : 'gi'
-+install_data(python_sources,
-+ install_dir: join_paths(stagedir, 'gi')
- )
-
- # https://github.com/mesonbuild/meson/issues/4117
-@@ -76,7 +75,7 @@ giext = python.extension_module('_gi', sources,
- dependencies : [python_ext_dep, glib_dep, gi_dep, ffi_dep],
- include_directories: include_directories('..'),
- install: true,
-- subdir : 'gi',
-+ install_dir: join_paths(stagedir, 'gi'),
- c_args: pyext_c_args + main_c_args
- )
-
-diff --git a/gi/overrides/meson.build b/gi/overrides/meson.build
-index 6ff073f..964fef1 100644
---- a/gi/overrides/meson.build
-+++ b/gi/overrides/meson.build
-@@ -10,6 +10,6 @@ python_sources = [
- 'keysyms.py',
- '__init__.py']
-
--python.install_sources(python_sources,
-- subdir : join_paths('gi', 'overrides')
-+install_data(python_sources,
-+ install_dir: join_paths(stagedir, 'gi', 'overrides')
- )
-diff --git a/gi/repository/meson.build b/gi/repository/meson.build
-index fdc136b..fc88adf 100644
---- a/gi/repository/meson.build
-+++ b/gi/repository/meson.build
-@@ -1,5 +1,5 @@
- python_sources = ['__init__.py']
-
--python.install_sources(python_sources,
-- subdir : join_paths('gi', 'repository')
-+install_data(python_sources,
-+ install_dir: join_paths(stagedir, 'gi', 'repository')
- )
-diff --git a/meson.build b/meson.build
-index d27a005..ecd55d5 100644
---- a/meson.build
-+++ b/meson.build
-@@ -165,12 +165,14 @@ else
- py_version = pygobject_version
- endif
-
-+stagedir = get_option('stagedir')
-+
- pkginfo_conf = configuration_data()
- pkginfo_conf.set('VERSION', py_version)
- configure_file(input : 'PKG-INFO.in',
- output : 'PyGObject-@0@.egg-info'.format(py_version),
- configuration : pkginfo_conf,
-- install_dir : python.get_install_dir(pure : false))
-+ install_dir : stagedir)
-
- subdir('gi')
- subdir('pygtkcompat')
-diff --git a/meson_options.txt b/meson_options.txt
-index 5dd4cbc..21def16 100644
---- a/meson_options.txt
-+++ b/meson_options.txt
-@@ -1,3 +1,4 @@
- option('python', type : 'string', value : 'python3')
- option('pycairo', type : 'boolean', value : true, description : 'build with pycairo integration')
- option('tests', type : 'boolean', value : true, description : 'build unit tests')
-+option('stagedir', type : 'string', value : '')
-diff --git a/pygtkcompat/meson.build b/pygtkcompat/meson.build
-index 9e43c44..ef3322d 100644
---- a/pygtkcompat/meson.build
-+++ b/pygtkcompat/meson.build
-@@ -3,6 +3,6 @@ python_sources = [
- 'generictreemodel.py',
- 'pygtkcompat.py']
-
--python.install_sources(python_sources,
-- subdir : 'pygtkcompat'
-+install_data(python_sources,
-+ install_dir: join_paths(stagedir, 'pygtkcompat')
- )
---
-2.7.4
-
diff --git a/meta-openembedded/meta-oe/recipes-devtools/python/python-pygobject_3.34.0.bb b/meta-openembedded/meta-oe/recipes-devtools/python/python-pygobject_3.34.0.bb
deleted file mode 100644
index 0cbd07f66..000000000
--- a/meta-openembedded/meta-oe/recipes-devtools/python/python-pygobject_3.34.0.bb
+++ /dev/null
@@ -1,39 +0,0 @@
-SUMMARY = "Python GObject bindings"
-HOMEPAGE = "http://www.pygtk.org/"
-SECTION = "devel/python"
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=a916467b91076e631dd8edb7424769c7"
-
-GNOMEBASEBUILDCLASS = "meson"
-inherit gnomebase gobject-introspection distutils-base upstream-version-is-even
-
-DEPENDS += "python glib-2.0"
-
-SRCNAME = "pygobject"
-SRC_URI = " \
- http://ftp.gnome.org/pub/GNOME/sources/${SRCNAME}/${@gnome_verdir("${PV}")}/${SRCNAME}-${PV}.tar.xz \
- file://0001-python-pyobject-fix-install-dir.patch \
-"
-
-SRC_URI[md5sum] = "ca1dc4f31c1d6d283758e8f315a88ab6"
-SRC_URI[sha256sum] = "87e2c9aa785f352ef111dcc5f63df9b85cf6e05e52ff04f803ffbebdacf5271a"
-
-S = "${WORKDIR}/${SRCNAME}-${PV}"
-
-UNKNOWN_CONFIGURE_WHITELIST = "introspection"
-
-PACKAGECONFIG ??= "stagedir"
-
-PACKAGECONFIG[cairo] = "-Dpycairo=true,-Dpycairo=false, cairo python-pycairo, python-pycairo"
-PACKAGECONFIG[tests] = "-Dtests=true, -Dtests=false, , "
-PACKAGECONFIG[python] = "-Dpython=python3, -Dpython=python2, , "
-PACKAGECONFIG[stagedir] = "-Dstagedir=${PYTHON_SITEPACKAGES_DIR}, -Dstagedir="", , "
-
-BBCLASSEXTEND = "native"
-RDEPENDS_${PN} = "python-pkgutil"
-RDEPENDS_${PN}_class-native = ""
-
-do_install_append() {
- # Remove files that clash with python3-pygobject; their content is same
- rm -r ${D}${includedir}/pygobject-3.0/pygobject.h ${D}${libdir}/pkgconfig
-}
diff --git a/meta-openembedded/meta-oe/recipes-devtools/python/python-pytoml.inc b/meta-openembedded/meta-oe/recipes-devtools/python/python-pytoml.inc
deleted file mode 100644
index 180531d75..000000000
--- a/meta-openembedded/meta-oe/recipes-devtools/python/python-pytoml.inc
+++ /dev/null
@@ -1,12 +0,0 @@
-SUMMARY = "A TOML-0.4.0 parser/writer for Python"
-HOMEPAGE = "https://pypi.python.org/pypi/pytoml/"
-SECTION = "devel/python"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=cfff423699bdaef24331933ac4f56078"
-
-SRC_URI[md5sum] = "e59dd36a559dd2a876e4c149c69e947b"
-SRC_URI[sha256sum] = "8eecf7c8d0adcff3b375b09fe403407aa9b645c499e5ab8cac670ac4a35f61e7"
-
-inherit pypi
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/python/python-pytoml_0.1.21.bb b/meta-openembedded/meta-oe/recipes-devtools/python/python-pytoml_0.1.21.bb
deleted file mode 100644
index 88fa95317..000000000
--- a/meta-openembedded/meta-oe/recipes-devtools/python/python-pytoml_0.1.21.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools
-require python-pytoml.inc
diff --git a/meta-openembedded/meta-oe/recipes-devtools/python/python-six_1.13.0.bb b/meta-openembedded/meta-oe/recipes-devtools/python/python-six_1.13.0.bb
deleted file mode 100644
index af26e83d6..000000000
--- a/meta-openembedded/meta-oe/recipes-devtools/python/python-six_1.13.0.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools
-require recipes-devtools/python/python-six.inc
diff --git a/meta-openembedded/meta-oe/recipes-devtools/python/python-which_1.1.0.bb b/meta-openembedded/meta-oe/recipes-devtools/python/python-which_1.1.0.bb
deleted file mode 100644
index 901fdc763..000000000
--- a/meta-openembedded/meta-oe/recipes-devtools/python/python-which_1.1.0.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-DESCRIPTION = "which.py -- a portable GNU which replacement"
-HOMEPAGE = "http://code.google.com/p/which/"
-SECTION = "devel/python"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=030b09798681482b9ad12ac47be496ea"
-
-inherit setuptools pypi python-dir
-
-SRCREV = "425bdeeb2d87c36e2313dc4b8d69ff2bb5a02ee9"
-PYPI_SRC_URI = "git://github.com/trentm/which"
-
-S = "${WORKDIR}/git"
-
-do_install_append() {
- rmdir -p --ignore-fail-on-non-empty ${D}${STAGING_BINDIR_NATIVE}
- rmdir -p --ignore-fail-on-non-empty ${D}${datadir}
-}
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/sip/sip_4.19.19.bb b/meta-openembedded/meta-oe/recipes-devtools/sip/sip_4.19.19.bb
deleted file mode 100644
index 3da15b842..000000000
--- a/meta-openembedded/meta-oe/recipes-devtools/sip/sip_4.19.19.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-require sip.inc
-
-DEPENDS = "python"
-
-inherit python-dir pythonnative
-
-PACKAGES += "python-sip"
-
-FILES_python-sip = "${libdir}/${PYTHON_DIR}/site-packages/"
-FILES_${PN}-dbg += "${libdir}/${PYTHON_DIR}/site-packages/.debug"
-
diff --git a/meta-openembedded/meta-oe/recipes-devtools/uftrace/uftrace_0.9.3.bb b/meta-openembedded/meta-oe/recipes-devtools/uftrace/uftrace_0.9.4.bb
index dba607c15..a3d060218 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/uftrace/uftrace_0.9.3.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/uftrace/uftrace_0.9.4.bb
@@ -10,8 +10,8 @@ DEPENDS_append_libc-musl = " argp-standalone"
inherit autotools
-# v0.9.3
-SRCREV = "e77780e7524c0a97f25313b205837191bbe9712a"
+PV .= "+git${SRCPV}"
+SRCREV = "d648bbffedef529220896283fb59e35531c13804"
SRC_URI = "git://github.com/namhyung/${BPN} \
"
S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/yasm/yasm_git.bb b/meta-openembedded/meta-oe/recipes-devtools/yasm/yasm_git.bb
index dc4fbf7f5..53856263f 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/yasm/yasm_git.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/yasm/yasm_git.bb
@@ -13,7 +13,7 @@ SRC_URI = "git://github.com/yasm/yasm.git"
S = "${WORKDIR}/git"
-inherit autotools gettext pythonnative
+inherit autotools gettext python3native
CACHED_CONFIGUREVARS = "CCLD_FOR_BUILD='${CC_FOR_BUILD}'"